{"version":3,"file":"static/js/298.70f2c9a1.js","mappings":"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AChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,WAAY,WAChD,SAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,WAAY,WAChD,SAAY,WAAY,WAAY,WAAY,SAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,WAAY,WAChD,SAAY,WAAY,WAAY,WAAY,SAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,UAAY,WAAY,WAAY,WAChD,UAAY,WAAY,WAAY,WAAY,UAChD,WAAY,WAAY,WAAY,UAAY,WAChD,WAAY,WAAY,UAAY,WAAY,WAChD,WAAY,WAAY,WAAY,WAAY,WAChD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,GACA,GACA,GACA,GACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGEC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEC,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7DC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,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,KAGEC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEC,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,EAA4B,CAC9B,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,GACA,IACA,EACA,GACA,GACA,IACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,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CnBF,EAAME,GAAY,EAAE,IACf,IAAIC,EAAW,EAAGA,GAAYH,IAAOG,EACxCjE,EAAUW,GACZqD,GAAsB,GAExBhwF,EAAM,MAAQyqF,EAAGxod,GACjB+pd,EAAUS,GAAMuD,GAAY,GAAKzF,EAASvqF,KAC1CgsF,EAAU1B,EAAQtqF,IAClB/9X,GAAAA,CAAAA,OA5CQ,IA8CN4td,GACF7D,EAAUU,GAELH,CAAAA,CAAAA,SA8HA2D,EAAWvP,GAClBA,EAAU3hc,KAAKye,IAAIze,KAAKyP,IAAIkyb,EAAS,GAAI,KAErCqJ,GAAkBrJ,IAAAA,SA1qBCj9C,GAAAA,IAAAA,IACnBysD,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,IAGOlud,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAAC,IACxBwc,EAAIwrc,GAAQkG,EAAIlud,GAAKyha,EAAK,IAAM,KACpCjlZ,EAAIO,KAAKye,IAAIze,KAAKyP,IAAIhQ,EAAG,GAAI,KAC7Byrc,EAAOe,EAAOhpd,IAAMwc,CAAAA,CAAAA,IAAAA,IAElB2xc,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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,GAAGxgc,IADV3Q,CAAAA,CAAAA,IAIjBkkc,GAAK,GACPiB,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,UAEFD,GAAK,GACLF,GAAK,GACLM,GAAK,EACLv4F,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,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AK,IAAK,IAC1BgE,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,GAClBT,GAAK,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpEpD,GAAK,CACH,GACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,GACA,GACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,KAEF8C,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFX,GAAK,EACLsC,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,KAEFxJ,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFxB,GAAK,KACLuN,GAAK,CACH,CAAC,IAAK,IAAK,IAAK,GAChB,CAAC,IAAK,IAAK,IAAK,IAAK,GACrB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,GAC1B,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAE1DC,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAA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AK,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,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,I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ske,GACvB5B,GAEFe,EAtYM,EAuYNzje,EAAOgle,EAAShle,EAAMske,EAAmBC,KAGzCd,EAzYM,EA0YNzje,EAAOgle,EAAShle,EAAMske,EAAmBC,GACzCvke,EAAOqke,EAAcrke,EAAMske,SAExB,GAAI7B,GAAeC,IAAaC,GAAgBC,EAErDa,EA/YQ,EAgZRzje,EAAOgle,EAAShle,EAAMske,EAAmBC,GACzCvke,EAAOqke,EAAcrke,EAAMske,QACtB,IAAK7B,IAAgBE,GAAgBD,EAAWE,EAAW,CAAC,IAE7DuC,EAA0BtC,EAC1BH,GAEFe,EAvZM,EAwZNzje,EAAOgle,EAAShle,EAAMske,EAAmBC,GACzCd,EA1ZM,EA2ZNZ,GAAAA,EACA7ie,EAAOgle,EAAShle,EAAMske,EAAmBC,GACzC1B,EAAuBsC,IAGvB1B,EAhaM,EAiaNzje,EAAOgle,EAAShle,EAAMske,EAAmBC,GACzCvke,EAAOqke,EAAcrke,EAAMske,GAC3Bb,EAlaM,EAmaNZ,GAAAA,EACA7ie,EAAOgle,EAAShle,EAAMske,EAAmBC,GACzC1B,EAAuBsC,EACvBnle,EAAOqke,EAAcrke,EAAMske,GAAAA,OAxC7Bb,EA/XQ,EAgYRzje,EAAOgle,EAAShle,EAAMske,EAAmBC,QAdzCd,EAAOf,EAjXC,EADA,EAmXR1ie,EAAOgle,EAAShle,EAAMske,EAAmBC,GAAAA,OAuDpCvke,CAAC,EAADA,KAcJsie,eAAe3id,WAAa,SAAS7yB,GACpCA,IACF21e,EAAc31e,EAAQs4e,cACtBzC,EAAe71e,EAAQu4e,eACvB3C,EAAW51e,EAAQw4e,WACnB1C,EAAY91e,EAAQy4e,YACpB1C,EAAuB/1e,EAAQ04e,oBAAAA,EAAAA,KAI9BlD,eAAe3id,WAAW7yB,GACxBoF,KAAKowe,cAAc,EAAdA,IAGVS,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,KA8jBE0C,EAAa,IAAI3gF,EAAMw9E,eAAe,CAAE8C,eAAc,IAoC1DtgF,EAAMvgM,IAAIviJ,OAAOz0E,KAAK,CAAC,kBAlCE,SAASiV,GAAAA,IAC5BxC,EAAOwC,EAAKxC,KAGZlT,GAFI0V,EAAK8nB,EACL9nB,EAAK+nB,EACC/nB,EAAK1V,SAAW,CAAC,GAG3B+pc,GAFQr0b,EAAKw6a,MACNlwb,EAAQkjQ,KACL,OAEdljQ,EAAQs4e,cAC2B,kBAA1Bt4e,EAAQs4e,eAA8Bt4e,EAAQs4e,cACvDK,EAAW9ld,WAAW7yB,GAEuB,mBAAzCoK,OAAO2N,UAAU/R,SAASgS,KAAK9E,GAA4B,CAAC,IAC1D7S,EAAI,EAAE,IACV0pc,EAAU,GACL1pc,EAAI,EAAGA,EAAI6S,EAAK5S,OAAQD,GAAK,EACgB,mBAA5C+J,OAAO2N,UAAU/R,SAASgS,KAAK9E,EAAK7S,IACtC0pc,EAAQtpc,KAAK,CACXk4e,EAAWP,cAAclle,EAAK7S,GAAG,IACjC6S,EAAK7S,GAAG,GACR6S,EAAK7S,GAAG,KAGV0pc,EAAQtpc,KAAK,CAACk4e,EAAWP,cAAclle,EAAK7S,MAGhDqV,EAAKxC,KAAO62b,CAAAA,MAEZr0b,EAAKxC,KAAOyle,EAAWP,c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","sources":["node_modules/expo-font/src/Font.types.ts","node_modules/expo-font/src/ExpoFontLoader.web.ts","node_modules/expo-asset/src/AssetSourceResolver.ts","node_modules/expo-asset/src/PlatformUtils.web.ts","node_modules/expo-asset/src/AssetSources.ts","node_modules/expo-asset/src/resolveAssetSource.ts","node_modules/expo-asset/src/AssetUris.ts","node_modules/expo-asset/src/Asset.ts","node_modules/expo-asset/src/LocalAssets.web.ts","node_modules/expo-asset/src/ImageAssets.ts","node_modules/expo-font/src/FontLoader.web.ts","node_modules/expo-font/src/Font.ts","node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/lib/ensure-native-module-available.js","node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/lib/create-icon-source-cache.js","node_modules/react-native-web/dist/exports/TouchableHighlight/index.js","node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/lib/icon-button.js","node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/lib/create-icon-set.js","node_modules/@expo/vector-icons/MaterialCommunityIcons.js","node_modules/@expo/vector-icons/src/createIconSet.tsx","node_modules/@expo/vector-icons/src/MaterialCommunityIcons.ts","node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/lib/object-utils.js","node_modules/@react-native-async-storage/async-storage/lib/module/AsyncStorage.ts","node_modules/@react-native-async-storage/async-storage/lib/module/hooks.ts","node_modules/@react-native-async-storage/async-storage/lib/module/index.ts","node_modules/@react-native/assets-registry/registry.js","node_modules/@react-native/normalize-color/index.js","node_modules/@react-navigation/routers/src/CommonActions.tsx","node_modules/@react-navigation/core/src/createNavigationContainerRef.tsx","node_modules/@react-navigation/core/src/EnsureSingleNavigator.tsx","node_modules/@react-navigation/core/src/findFocusedRoute.tsx","node_modules/@react-navigation/core/src/NavigationBuilderContext.tsx","node_modules/@react-navigation/core/src/NavigationContainerRefContext.tsx","node_modules/@react-navigation/core/src/NavigationContext.tsx","node_modules/@react-navigation/core/src/NavigationRouteContext.tsx","node_modules/@react-navigation/core/src/NavigationStateContext.tsx","node_modules/@react-navigation/core/src/UnhandledActionContext.tsx","node_modules/@react-navigation/core/src/useChildListeners.tsx","node_modules/@react-navigation/core/src/useEventEmitter.tsx","node_modules/@react-navigation/core/src/useKeyedChildListeners.tsx","node_modules/@react-navigation/core/src/useOptionsGetters.tsx","node_modules/@react-navigation/core/src/useScheduleUpdate.tsx","node_modules/@react-navigation/core/src/useSyncState.tsx","node_modules/@react-navigation/core/src/BaseNavigationContainer.tsx","node_modules/@react-navigation/core/src/Group.tsx","node_modules/@react-navigation/core/src/Screen.tsx","node_modules/@react-navigation/core/src/createNavigatorFactory.tsx","node_modules/@react-navigation/core/src/CurrentRenderContext.tsx","node_modules/@react-navigation/core/src/getActionFromState.tsx","node_modules/@react-navigation/core/src/useRouteCache.tsx","node_modules/@react-navigation/core/src/getFocusedRouteNameFromRoute.tsx","node_modules/@react-navigation/core/src/fromEntries.tsx","node_modules/@react-navigation/core/src/validatePathConfig.tsx","node_modules/@react-navigation/core/src/getPathFromState.tsx","node_modules/@react-navigation/core/src/getStateFromPath.tsx","node_modules/@react-navigation/core/src/NavigationHelpersContext.tsx","node_modules/@react-navigation/core/src/PreventRemoveContext.tsx","node_modules/@react-navigation/core/src/PreventRemoveProvider.tsx","node_modules/@react-navigation/core/src/types.tsx","node_modules/@react-navigation/core/src/useNavigation.tsx","node_modules/@react-navigation/core/src/useFocusEffect.tsx","node_modules/@react-navigation/core/src/useIsFocused.tsx","node_modules/@react-navigation/core/src/isArrayEqual.tsx","node_modules/@react-navigation/core/src/useComponent.tsx","node_modules/@react-navigation/core/src/StaticContainer.tsx","node_modules/@react-navigation/core/src/SceneView.tsx","node_modules/@react-navigation/core/src/useDescriptors.tsx","node_modules/@react-navigation/core/src/useNavigationCache.tsx","node_modules/@react-navigation/core/src/useOnPreventRemove.tsx","node_modules/@react-navigation/core/src/useOnAction.tsx","node_modules/@react-navigation/core/src/useNavigationBuilder.tsx","node_modules/@react-navigation/core/src/useRegisterNavigator.tsx","node_modules/@react-navigation/core/src/isRecordEqual.tsx","node_modules/@react-navigation/core/src/useFocusEvents.tsx","node_modules/@react-navigation/core/src/useOnRouteFocus.tsx","node_modules/@react-navigation/core/src/useNavigationHelpers.tsx","node_modules/@react-navigation/core/src/useFocusedListenersChildrenAdapter.tsx","node_modules/@react-navigation/core/src/useOnGetState.tsx","node_modules/@react-navigation/core/src/useCurrentRender.tsx","node_modules/@react-navigation/core/src/useNavigationContainerRef.tsx","node_modules/@react-navigation/core/src/useNavigationState.tsx","node_modules/@react-navigation/core/src/usePreventRemoveContext.tsx","node_modules/@react-navigation/core/src/useRoute.tsx","node_modules/@react-navigation/core/src/usePreventRemove.tsx","node_modules/@react-navigation/routers/src/BaseRouter.tsx","node_modules/@react-navigation/routers/src/TabRouter.tsx","node_modules/@react-navigation/routers/src/DrawerRouter.tsx","node_modules/@react-navigation/routers/src/StackRouter.tsx","node_modules/@react-navigation/core/node_modules/react-is/cjs/react-is.production.min.js","node_modules/@react-navigation/core/node_modules/react-is/index.js","node_modules/@react-navigation/elements/src/getNamedContext.tsx","node_modules/@react-navigation/elements/src/Header/HeaderBackContext.tsx","node_modules/@react-navigation/elements/src/SafeAreaProviderCompat.tsx","node_modules/@react-navigation/elements/src/Header/getHeaderTitle.tsx","node_modules/@react-navigation/native/src/theming/useTheme.tsx","node_modules/@react-navigation/elements/src/Background.tsx","node_modules/@react-navigation/elements/src/Header/getDefaultHeaderHeight.tsx","node_modules/@react-navigation/elements/src/Header/HeaderHeightContext.tsx","node_modules/@react-navigation/elements/src/Header/HeaderShownContext.tsx","node_modules/@react-navigation/elements/src/Screen.tsx","node_modules/@react-navigation/elements/src/Header/HeaderBackground.tsx","node_modules/@react-navigation/elements/src/Header/HeaderTitle.tsx","node_modules/@react-navigation/elements/src/Header/Header.tsx","node_modules/@react-navigation/elements/src/MaskedView.tsx","node_modules/@react-navigation/elements/src/PlatformPressable.tsx","node_modules/@react-navigation/elements/src/Header/HeaderBackButton.tsx","node_modules/@react-navigation/native-stack/src/views/NativeStackView.tsx","node_modules/@react-navigation/native-stack/src/navigators/createNativeStackNavigator.tsx","node_modules/@react-navigation/native/src/LinkingContext.tsx","node_modules/@react-navigation/native/src/theming/ThemeProvider.tsx","node_modules/@react-navigation/native/src/createMemoryHistory.tsx","node_modules/@react-navigation/native/src/ServerContext.tsx","node_modules/@react-navigation/native/src/useLinking.tsx","node_modules/@react-navigation/native/src/NavigationContainer.tsx","node_modules/@react-navigation/native/src/useDocumentTitle.tsx","node_modules/@react-navigation/native/src/useThenable.tsx","node_modules/@react-navigation/native/src/theming/DefaultTheme.tsx","node_modules/@react-navigation/native/src/theming/ThemeContext.tsx","node_modules/react-native-web/dist/exports/NativeEventEmitter/index.js","node_modules/expo-modules-core/src/EventEmitter.ts","node_modules/expo-modules-core/src/NativeModulesProxy.ts","node_modules/expo-modules-core/src/environment/browser.web.ts","node_modules/expo-modules-core/src/Platform.ts","node_modules/expo-modules-core/src/errors/CodedError.ts","node_modules/expo-modules-core/src/errors/UnavailabilityError.ts","node_modules/expo-modules-core/src/NativeViewManagerAdapter.tsx","node_modules/expo-modules-core/src/sweet/NativeErrorManager.ts","node_modules/expo-modules-core/src/sweet/setUpErrorManager.fx.ts","node_modules/expo-modules-core/src/PermissionsInterface.ts","node_modules/expo-modules-core/src/deprecate.ts","node_modules/expo-modules-core/src/requireNativeModule.ts","node_modules/expo-modules-core/src/PermissionsHook.ts","node_modules/expo-modules-core/src/index.ts","node_modules/expo-secure-store/src/ExpoSecureStore.web.ts","node_modules/expo-secure-store/src/SecureStore.ts","node_modules/expo-status-bar/src/ExpoStatusBar.tsx","node_modules/react-native-web/dist/exports/unmountComponentAtNode/index.js","node_modules/react-native-web/dist/exports/AppRegistry/AppContainer.js","node_modules/react-native-web/dist/exports/render/index.js","node_modules/react-native-web/dist/exports/AppRegistry/index.js","node_modules/react-native-web/dist/exports/AppRegistry/renderApplication.js","node_modules/expo/src/launch/registerRootComponent.tsx","node_modules/expo/AppEntry.js","node_modules/expo/src/Expo.fx.web.tsx","node_modules/react-native-gesture-handler/lib/module/State.ts","node_modules/react-native-gesture-handler/lib/module/TouchEventType.ts","node_modules/react-native-gesture-handler/lib/module/utils.ts","node_modules/react-native-gesture-handler/lib/module/handlers/handlersRegistry.ts","node_modules/react-native-gesture-handler/lib/module/web/tools/NodeManager.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/gestureStateManager.web.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/eventReceiver.ts","node_modules/react-native-gesture-handler/lib/module/EnableNewWebImplementation.ts","node_modules/react-native-gesture-handler/lib/module/web/interfaces.ts","node_modules/react-native-gesture-handler/lib/module/PointerType.ts","node_modules/react-native-gesture-handler/lib/module/web/constants.ts","node_modules/react-native-gesture-handler/lib/module/web/tools/CircularBuffer.ts","node_modules/react-native-gesture-handler/lib/module/web/tools/LeastSquareSolver.ts","node_modules/react-native-gesture-handler/lib/module/web/tools/VelocityTracker.ts","node_modules/react-native-gesture-handler/lib/module/web/tools/PointerTracker.ts","node_modules/react-native-gesture-handler/lib/module/web/tools/GestureHandlerOrchestrator.ts","node_modules/react-native-gesture-handler/lib/module/web/tools/InteractionManager.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestureHandlerCommon.ts","node_modules/react-native-gesture-handler/lib/module/web/handlers/GestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web/handlers/PanGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web/handlers/TapGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web/handlers/LongPressGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web/detectors/ScaleGestureDetector.ts","node_modules/react-native-gesture-handler/lib/module/web/handlers/PinchGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web/detectors/RotationGestureDetector.ts","node_modules/react-native-gesture-handler/lib/module/web/handlers/RotationGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/Directions.ts","node_modules/react-native-gesture-handler/lib/module/web/tools/Vector.ts","node_modules/react-native-gesture-handler/lib/module/web/utils.ts","node_modules/react-native-gesture-handler/lib/module/web/handlers/FlingGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web/handlers/NativeViewGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web/handlers/ManualGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web/handlers/HoverGestureHandler.ts","node_modules/@egjs/hammerjs/src/utils/assign.js","node_modules/@egjs/hammerjs/src/browser.js","node_modules/@egjs/hammerjs/src/utils/utils-consts.js","node_modules/@egjs/hammerjs/src/utils/prefixed.js","node_modules/@egjs/hammerjs/src/touchactionjs/get-touchaction-props.js","node_modules/@egjs/hammerjs/src/touchactionjs/touchaction-Consts.js","node_modules/@egjs/hammerjs/src/inputjs/input-consts.js","node_modules/@egjs/hammerjs/src/utils/each.js","node_modules/@egjs/hammerjs/src/utils/bool-or-fn.js","node_modules/@egjs/hammerjs/src/utils/in-str.js","node_modules/@egjs/hammerjs/src/touchactionjs/touchaction-constructor.js","node_modules/@egjs/hammerjs/src/touchactionjs/clean-touch-actions.js","node_modules/@egjs/hammerjs/src/utils/has-parent.js","node_modules/@egjs/hammerjs/src/inputjs/get-center.js","node_modules/@egjs/hammerjs/src/inputjs/simple-clone-input-data.js","node_modules/@egjs/hammerjs/src/inputjs/get-distance.js","node_modules/@egjs/hammerjs/src/inputjs/get-angle.js","node_modules/@egjs/hammerjs/src/inputjs/get-direction.js","node_modules/@egjs/hammerjs/src/inputjs/get-velocity.js","node_modules/@egjs/hammerjs/src/inputjs/compute-input-data.js","node_modules/@egjs/hammerjs/src/inputjs/compute-delta-xy.js","node_modules/@egjs/hammerjs/src/inputjs/get-scale.js","node_modules/@egjs/hammerjs/src/inputjs/get-rotation.js","node_modules/@egjs/hammerjs/src/inputjs/compute-interval-input-data.js","node_modules/@egjs/hammerjs/src/inputjs/input-handler.js","node_modules/@egjs/hammerjs/src/utils/split-str.js","node_modules/@egjs/hammerjs/src/utils/add-event-listeners.js","node_modules/@egjs/hammerjs/src/utils/remove-event-listeners.js","node_modules/@egjs/hammerjs/src/utils/get-window-for-element.js","node_modules/@egjs/hammerjs/src/inputjs/input-constructor.js","node_modules/@egjs/hammerjs/src/utils/in-array.js","node_modules/@egjs/hammerjs/src/input/pointerevent.js","node_modules/@egjs/hammerjs/src/utils/to-array.js","node_modules/@egjs/hammerjs/src/utils/unique-array.js","node_modules/@egjs/hammerjs/src/input/touch.js","node_modules/@egjs/hammerjs/src/input/mouse.js","node_modules/@egjs/hammerjs/src/input/touchmouse.js","node_modules/@egjs/hammerjs/src/utils/invoke-array-arg.js","node_modules/@egjs/hammerjs/src/recognizerjs/recognizer-consts.js","node_modules/@egjs/hammerjs/src/utils/unique-id.js","node_modules/@egjs/hammerjs/src/recognizerjs/get-recognizer-by-name-if-manager.js","node_modules/@egjs/hammerjs/src/recognizerjs/state-str.js","node_modules/@egjs/hammerjs/src/recognizerjs/recognizer-constructor.js","node_modules/@egjs/hammerjs/src/recognizers/tap.js","node_modules/@egjs/hammerjs/src/recognizers/attribute.js","node_modules/@egjs/hammerjs/src/recognizerjs/direction-str.js","node_modules/@egjs/hammerjs/src/recognizers/pan.js","node_modules/@egjs/hammerjs/src/recognizers/swipe.js","node_modules/@egjs/hammerjs/src/recognizers/pinch.js","node_modules/@egjs/hammerjs/src/recognizers/rotate.js","node_modules/@egjs/hammerjs/src/recognizers/press.js","node_modules/@egjs/hammerjs/src/defaults.js","node_modules/@egjs/hammerjs/src/manager.js","node_modules/@egjs/hammerjs/src/inputjs/create-input-instance.js","node_modules/@egjs/hammerjs/src/input/singletouch.js","node_modules/@egjs/hammerjs/src/utils/deprecate.js","node_modules/@egjs/hammerjs/src/utils/extend.js","node_modules/@egjs/hammerjs/src/utils/merge.js","node_modules/@egjs/hammerjs/src/utils/inherit.js","node_modules/@egjs/hammerjs/src/utils/bind-fn.js","node_modules/@egjs/hammerjs/src/hammer.js","node_modules/@egjs/hammerjs/src/index.js","node_modules/react-native-gesture-handler/lib/module/web_hammer/constants.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/NodeManager.ts","node_modules/react-native-gesture-handler/lib/module/ghQueueMicrotask.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/GestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/utils.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/DiscreteGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/PressGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/NativeViewGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/DraggingGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/PanGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/TapGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/LongPressGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/IndiscreteGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/PinchGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/RotationGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/Errors.ts","node_modules/react-native-gesture-handler/lib/module/web_hammer/FlingGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/web/Gestures.ts","node_modules/react-native-gesture-handler/lib/module/web/tools/EventManager.ts","node_modules/react-native-gesture-handler/lib/module/web/tools/PointerEventManager.ts","node_modules/react-native-gesture-handler/lib/module/web/tools/TouchEventManager.ts","node_modules/react-native-gesture-handler/lib/module/web/tools/KeyboardEventManager.ts","node_modules/react-native-gesture-handler/lib/module/web/tools/GestureHandlerWebDelegate.ts","node_modules/react-native-gesture-handler/lib/module/RNGestureHandlerModule.web.ts","node_modules/react-native-gesture-handler/lib/module/GestureHandlerRootViewContext.ts","node_modules/react-native-gesture-handler/lib/module/components/GestureHandlerRootView.web.tsx","node_modules/react-native-gesture-handler/lib/module/components/gestureHandlerRootHOC.tsx","node_modules/react-native-gesture-handler/lib/module/handlers/getNextHandlerTag.ts","node_modules/react-native-gesture-handler/lib/module/handlers/utils.ts","node_modules/react-native-gesture-handler/lib/module/ActionType.ts","node_modules/react-native-gesture-handler/lib/module/handlers/createHandler.tsx","node_modules/react-native-gesture-handler/lib/module/handlers/TapGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/PlatformConstants.web.ts","node_modules/react-native-gesture-handler/lib/module/handlers/ForceTouchGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/handlers/LongPressGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/handlers/PanGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/handlers/PinchGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/handlers/RotationGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/handlers/FlingGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/handlers/NativeViewGestureHandler.ts","node_modules/react-native-gesture-handler/lib/module/handlers/createNativeWrapper.tsx","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/gesture.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/reanimatedWrapper.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/GestureDetector/useAnimatedGesture.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/hoverGesture.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/GestureDetector/utils.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/GestureDetector/attachHandlers.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/GestureDetector/needsToReattach.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/GestureDetector/dropHandlers.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/GestureDetector/Wrap.tsx","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/GestureDetector/updateHandlers.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/GestureDetector/index.tsx","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/GestureDetector/useViewRefHandler.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/flingGesture.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/forceTouchGesture.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/gestureComposition.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/longPressGesture.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/panGesture.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/pinchGesture.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/rotationGesture.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/tapGesture.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/nativeGesture.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/manualGesture.ts","node_modules/react-native-gesture-handler/lib/module/handlers/gestures/gestureObjects.ts","node_modules/react-native-gesture-handler/lib/module/components/GestureHandlerButton.web.tsx","node_modules/react-native-gesture-handler/lib/module/components/GestureButtons.tsx","node_modules/react-native-web/dist/modules/UnimplementedView/index.js","node_modules/react-native-gesture-handler/lib/module/components/touchables/TouchableNativeFeedback.tsx","node_modules/react-native-gesture-handler/lib/module/components/touchables/GenericTouchable.tsx","node_modules/react-native-gesture-handler/lib/module/components/touchables/TouchableWithoutFeedback.tsx","node_modules/react-native-gesture-handler/lib/module/components/touchables/TouchableOpacity.tsx","node_modules/react-native-gesture-handler/lib/module/components/touchables/TouchableHighlight.tsx","node_modules/react-native-web/dist/modules/multiplyStyleLengthValue/index.js","node_modules/react-native-web/dist/exports/Switch/index.js","node_modules/react-native-gesture-handler/lib/module/components/GestureComponents.web.tsx","node_modules/react-native-gesture-handler/lib/module/components/Swipeable.tsx","node_modules/react-native-gesture-handler/lib/module/components/Pressable/utils.ts","node_modules/react-native-gesture-handler/lib/module/components/Pressable/Pressable.tsx","node_modules/react-native-web/dist/exports/Keyboard/index.js","node_modules/react-native-web/dist/exports/StatusBar/index.js","node_modules/react-native-gesture-handler/lib/module/components/DrawerLayout.tsx","node_modules/react-native-gesture-handler/lib/module/init.ts","node_modules/react-native-paper/src/components/Dialog/DialogActions.tsx","node_modules/react-native-paper/src/components/Dialog/DialogContent.tsx","node_modules/react-native-paper/src/components/Dialog/DialogIcon.tsx","node_modules/react-native-paper/src/components/Dialog/DialogScrollArea.tsx","node_modules/react-native-paper/src/components/Dialog/DialogTitle.tsx","node_modules/react-native-paper/src/components/Dialog/Dialog.tsx","node_modules/react-native-paper/src/components/Divider.tsx","node_modules/react-native-paper/src/components/Searchbar.tsx","node_modules/react-native-paper/src/components/Checkbox/utils.ts","node_modules/react-native-paper/src/components/Checkbox/CheckboxAndroid.tsx","node_modules/react-native-paper/src/components/Checkbox/CheckboxIOS.tsx","node_modules/react-native-paper/src/components/Checkbox/Checkbox.tsx","node_modules/react-native-paper/src/components/Checkbox/CheckboxItem.tsx","node_modules/react-native-paper/src/components/Checkbox/index.ts","node_modules/react-native-paper-select/lib/module/components/checkBox.tsx","node_modules/react-native-paper-select/lib/module/module/paperSelect.tsx","node_modules/react-native-paper/src/components/ActivityIndicator.tsx","node_modules/react-native-paper/src/components/Appbar/utils.ts","node_modules/react-native-paper/src/components/Appbar/AppbarContent.tsx","node_modules/react-native-paper/src/components/Appbar/Appbar.tsx","node_modules/react-native-paper/src/components/Appbar/AppbarAction.tsx","node_modules/react-native-paper/src/components/Appbar/AppbarBackIcon.tsx","node_modules/react-native-paper/src/components/Appbar/AppbarBackAction.tsx","node_modules/react-native-paper/src/components/Appbar/AppbarHeader.tsx","node_modules/react-native-paper/src/components/Appbar/index.ts","node_modules/react-native-paper/src/components/Button/utils.tsx","node_modules/react-native-paper/src/components/Button/Button.tsx","node_modules/react-native-paper/src/components/Card/CardActions.tsx","node_modules/react-native-paper/src/components/Card/CardContent.tsx","node_modules/react-native-paper/src/components/Card/utils.tsx","node_modules/react-native-paper/src/components/Card/CardCover.tsx","node_modules/react-native-paper/src/components/Typography/v2/Caption.tsx","node_modules/react-native-paper/src/components/Card/CardTitle.tsx","node_modules/react-native-paper/src/components/Card/Card.tsx","node_modules/react-native-paper/src/components/HelperText/HelperText.tsx","node_modules/react-native-paper/src/components/HelperText/utils.ts","node_modules/react-native-paper/src/components/Icon.tsx","node_modules/react-native-paper/src/components/IconButton/utils.ts","node_modules/react-native-paper/src/components/CrossFadeIcon.tsx","node_modules/react-native-paper/src/components/IconButton/IconButton.tsx","node_modules/react-native-paper/src/components/MaterialCommunityIcon.tsx","node_modules/react-native-paper/src/utils/BackHandler/BackHandler.tsx","node_modules/react-native-paper/src/utils/useAnimatedValue.tsx","node_modules/react-native-paper/src/utils/useLazyRef.tsx","node_modules/react-native-paper/src/components/Modal.tsx","node_modules/react-native-paper/src/components/Portal/PortalConsumer.tsx","node_modules/react-native-paper/src/components/Portal/Portal.tsx","node_modules/react-native-paper/src/components/Portal/PortalManager.tsx","node_modules/react-native-paper/src/components/Portal/PortalHost.tsx","node_modules/react-native-paper/src/components/Surface.tsx","node_modules/react-native-paper/src/components/TextInput/Adornment/enums.tsx","node_modules/react-native-paper/src/components/TextInput/constants.tsx","node_modules/react-native-paper/src/components/TextInput/helpers.tsx","node_modules/react-native-paper/src/components/TextInput/Adornment/TextInputAffix.tsx","node_modules/react-native-paper/src/components/TextInput/Adornment/utils.ts","node_modules/react-native-paper/src/components/TextInput/Adornment/TextInputIcon.tsx","node_modules/react-native-paper/src/components/TextInput/Addons/Underline.tsx","node_modules/react-native-paper/src/components/TextInput/Adornment/TextInputAdornment.tsx","node_modules/react-native-paper/src/components/TextInput/Label/InputLabel.tsx","node_modules/react-native-web/dist/exports/useWindowDimensions/index.js","node_modules/react-native-paper/src/components/TextInput/TextInputFlat.tsx","node_modules/react-native-paper/src/components/TextInput/Addons/Outline.tsx","node_modules/react-native-paper/src/components/TextInput/Label/LabelBackground.tsx","node_modules/react-native-paper/src/components/TextInput/TextInputOutlined.tsx","node_modules/react-native-paper/src/utils/roundLayoutSize.ts","node_modules/react-native-paper/src/components/TextInput/TextInput.tsx","node_modules/react-native-paper/src/components/TouchableRipple/Pressable.tsx","node_modules/react-native-paper/src/components/TouchableRipple/utils.ts","node_modules/react-native-paper/src/components/TouchableRipple/TouchableRipple.tsx","node_modules/react-native-paper/src/components/Typography/AnimatedText.tsx","node_modules/react-native-paper/src/components/Typography/Text.tsx","node_modules/react-native-paper/src/components/Typography/v2/Paragraph.tsx","node_modules/react-native-paper/src/components/Typography/v2/Text.tsx","node_modules/react-native-paper/src/components/Typography/v2/StyledText.tsx","node_modules/react-native-paper/src/components/Typography/v2/Title.tsx","node_modules/react-native-web/dist/exports/AccessibilityInfo/index.js","node_modules/react-native-web/dist/exports/Appearance/index.js","node_modules/react-native-paper/src/core/SafeAreaProviderCompat.tsx","node_modules/react-native-paper/src/core/PaperProvider.tsx","node_modules/react-native-paper/src/core/settings.tsx","node_modules/react-native-paper/src/styles/themes/v3/DarkTheme.tsx","node_modules/react-native-paper/src/core/theming.tsx","node_modules/react-native-paper/src/styles/fonts.tsx","node_modules/react-native-paper/src/styles/overlay.tsx","node_modules/react-native-paper/src/styles/shadow.tsx","node_modules/react-native-paper/src/styles/themes/v2/DarkTheme.tsx","node_modules/react-native-paper/src/styles/themes/v2/LightTheme.tsx","node_modules/react-native-paper/src/styles/themes/v2/colors.tsx","node_modules/react-native-paper/src/styles/themes/v3/LightTheme.tsx","node_modules/react-native-paper/src/styles/themes/v3/tokens.tsx","node_modules/react-native-paper/src/utils/addEventListener.tsx","node_modules/react-native-paper/src/utils/forwardRef.tsx","node_modules/react-native-paper/src/utils/hasTouchHandler.tsx","node_modules/react-native-paper/src/utils/splitStyles.ts","node_modules/react-native-reanimated/lib/module/propsAllowlists.ts","node_modules/react-native-reanimated/lib/module/PlatformChecker.ts","node_modules/react-native-reanimated/lib/module/commonTypes.ts","node_modules/react-native-reanimated/lib/module/mockedRequestAnimationFrame.ts","node_modules/react-native-reanimated/lib/module/js-reanimated/JSReanimated.ts","node_modules/react-native-reanimated/lib/module/js-reanimated/webUtils.web.ts","node_modules/react-native-reanimated/lib/module/js-reanimated/index.ts","node_modules/react-native-reanimated/lib/module/shareableMappingCache.ts","node_modules/react-native-reanimated/lib/module/shareables.ts","node_modules/react-native-reanimated/lib/module/errors.ts","node_modules/react-native-reanimated/lib/module/threads.ts","node_modules/react-native-reanimated/lib/module/initializers.ts","node_modules/react-native-reanimated/lib/module/valueSetter.ts","node_modules/react-native-reanimated/lib/module/mutables.ts","node_modules/react-native-reanimated/lib/module/Sensor.ts","node_modules/react-native-reanimated/lib/module/SensorContainer.ts","node_modules/react-native-reanimated/lib/module/isSharedValue.ts","node_modules/react-native-reanimated/lib/module/mappers.ts","node_modules/react-native-reanimated/lib/module/runtimes.ts","node_modules/react-native-reanimated/lib/module/core.ts","node_modules/react-native-reanimated/lib/module/ConfigHelper.ts","node_modules/react-native-reanimated/lib/module/platform-specific/RNRenderer.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/animationBuilder/commonTypes.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/sharedTransitions/SharedTransition.web.ts","node_modules/react-native-reanimated/lib/module/fabricUtils.web.ts","node_modules/react-native-reanimated/lib/module/PropsRegistry.ts","node_modules/react-native-reanimated/lib/module/Colors.ts","node_modules/react-native-reanimated/lib/module/animation/transformationMatrix/matrixUtils.tsx","node_modules/react-native-reanimated/lib/module/ReducedMotion.ts","node_modules/react-native-reanimated/lib/module/animation/util.ts","node_modules/react-native-reanimated/lib/module/animationBuilder.tsx","node_modules/react-native-reanimated/lib/module/component/LayoutAnimationConfig.tsx","node_modules/react-native-reanimated/lib/module/createAnimatedComponent/JSPropsUpdater.web.ts","node_modules/react-native-reanimated/lib/module/createAnimatedComponent/utils.ts","node_modules/react-native-reanimated/lib/module/createAnimatedComponent/setAndForwardRef.ts","node_modules/react-native-reanimated/lib/module/ViewDescriptorsSet.ts","node_modules/react-native-reanimated/lib/module/UpdateProps.ts","node_modules/react-native-reanimated/lib/module/createAnimatedComponent/InlinePropManager.ts","node_modules/react-native-reanimated/lib/module/WorkletEventHandler.ts","node_modules/react-native-reanimated/lib/module/createAnimatedComponent/PropsFilter.tsx","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/componentStyle.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/Easing.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/animationParser.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/animation/Bounce.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/animation/Fade.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/animation/Flip.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/animation/Lightspeed.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/animation/Pinwheel.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/animation/Roll.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/animation/Rotate.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/animation/Slide.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/animation/Stretch.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/animation/Zoom.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/config.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/domUtils.ts","node_modules/react-native-reanimated/lib/module/Bezier.ts","node_modules/react-native-reanimated/lib/module/Easing.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/transition/Curved.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/transition/EntryExit.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/createAnimation.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/transition/Linear.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/transition/Sequenced.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/transition/Fading.web.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/transition/Jumping.web.ts","node_modules/react-native-reanimated/lib/module/animation/timing.ts","node_modules/react-native-reanimated/lib/module/animation/sequence.ts","node_modules/react-native-reanimated/lib/module/animation/delay.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/animationBuilder/Keyframe.ts","node_modules/react-native-reanimated/lib/module/UpdateLayoutAnimations.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/componentUtils.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/web/animationsManager.ts","node_modules/react-native-reanimated/lib/module/createAnimatedComponent/getViewInfo.ts","node_modules/react-native-reanimated/lib/module/createAnimatedComponent/NativeEventsManager.ts","node_modules/react-native-reanimated/lib/module/createAnimatedComponent/createAnimatedComponent.tsx","node_modules/react-native-reanimated/lib/module/component/Text.ts","node_modules/react-native-reanimated/lib/module/component/View.ts","node_modules/react-native-reanimated/lib/module/hook/useSharedValue.ts","node_modules/react-native-reanimated/lib/module/hook/useAnimatedRef.ts","node_modules/react-native-reanimated/lib/module/hook/useEvent.ts","node_modules/react-native-reanimated/lib/module/hook/useScrollViewOffset.ts","node_modules/react-native-reanimated/lib/module/component/ScrollView.tsx","node_modules/react-native-reanimated/lib/module/component/Image.ts","node_modules/react-native-reanimated/lib/module/component/FlatList.tsx","node_modules/react-native-reanimated/lib/module/hook/utils.ts","node_modules/react-native-reanimated/lib/module/hook/useAnimatedStyle.ts","node_modules/react-native-reanimated/lib/module/hook/useAnimatedProps.ts","node_modules/react-native-reanimated/lib/module/hook/useHandler.ts","node_modules/react-native-reanimated/lib/module/hook/useWorkletCallback.ts","node_modules/react-native-reanimated/lib/module/hook/useReducedMotion.ts","node_modules/react-native-reanimated/lib/module/hook/useAnimatedGestureHandler.ts","node_modules/react-native-reanimated/lib/module/hook/useAnimatedReaction.ts","node_modules/react-native-reanimated/lib/module/hook/useAnimatedScrollHandler.ts","node_modules/react-native-reanimated/lib/module/hook/useDerivedValue.ts","node_modules/react-native-reanimated/lib/module/hook/useAnimatedSensor.ts","node_modules/react-native-reanimated/lib/module/frameCallback/FrameCallbackRegistryUI.ts","node_modules/react-native-reanimated/lib/module/frameCallback/FrameCallbackRegistryJS.ts","node_modules/react-native-reanimated/lib/module/hook/useFrameCallback.ts","node_modules/react-native-reanimated/lib/module/hook/useAnimatedKeyboard.ts","node_modules/react-native-reanimated/lib/module/hook/useComposedEventHandler.ts","node_modules/react-native-reanimated/lib/module/animation/clamp.ts","node_modules/react-native-reanimated/lib/module/animation/decay/utils.ts","node_modules/react-native-reanimated/lib/module/animation/decay/rubberBandDecay.ts","node_modules/react-native-reanimated/lib/module/animation/decay/rigidDecay.ts","node_modules/react-native-reanimated/lib/module/animation/decay/decay.ts","node_modules/react-native-reanimated/lib/module/animation/repeat.ts","node_modules/react-native-reanimated/lib/module/animation/springUtils.ts","node_modules/react-native-reanimated/lib/module/animation/spring.ts","node_modules/react-native-reanimated/lib/module/interpolation.ts","node_modules/react-native-reanimated/lib/module/interpolateColor.ts","node_modules/react-native-reanimated/lib/module/platformFunctions/measure.web.ts","node_modules/react-native-reanimated/lib/module/platformFunctions/dispatchCommand.web.ts","node_modules/react-native-reanimated/lib/module/platformFunctions/scrollTo.web.ts","node_modules/react-native-reanimated/lib/module/platformFunctions/setGestureState.web.ts","node_modules/react-native-reanimated/lib/module/platformFunctions/setNativeProps.web.ts","node_modules/react-native-reanimated/lib/module/platformFunctions/getRelativeCoords.ts","node_modules/react-native-reanimated/lib/module/PropAdapters.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/animationBuilder/BaseAnimationBuilder.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultAnimations/Flip.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultAnimations/Stretch.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultAnimations/Fade.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultAnimations/Slide.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultAnimations/Zoom.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultAnimations/Bounce.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultAnimations/Lightspeed.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultAnimations/Pinwheel.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultAnimations/Rotate.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultAnimations/Roll.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultTransitions/LinearTransition.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultTransitions/FadingTransition.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultTransitions/SequencedTransition.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultTransitions/JumpingTransition.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultTransitions/CurvedTransition.ts","node_modules/react-native-reanimated/lib/module/layoutReanimation/defaultTransitions/EntryExitTransition.ts","node_modules/react-native-reanimated/lib/module/pluginUtils.ts","node_modules/react-native-reanimated/lib/module/jestUtils.web.ts","node_modules/react-native-reanimated/lib/module/component/PerformanceMonitor.tsx","node_modules/react-native-reanimated/lib/module/component/ReducedMotionConfig.tsx","node_modules/react-native-reanimated/lib/module/screenTransition/styleUpdater.ts","node_modules/react-native-reanimated/lib/module/screenTransition/RNScreensTurboModule.ts","node_modules/react-native-reanimated/lib/module/screenTransition/swipeSimulator.ts","node_modules/react-native-reanimated/lib/module/screenTransition/animationManager.ts","node_modules/react-native-reanimated/lib/module/screenTransition/presets.ts","node_modules/react-native-reanimated/lib/module/index.ts","node_modules/react-native-safe-area-context/src/InitialWindow.ts","node_modules/react-native-safe-area-context/src/NativeSafeAreaProvider.web.tsx","node_modules/react-native-safe-area-context/src/SafeAreaContext.tsx","node_modules/react-native-web/dist/exports/ActivityIndicator/index.js","node_modules/react-native-web/dist/exports/Alert/index.js","node_modules/react-native-web/dist/vendor/react-native/Utilities/Platform.js","node_modules/react-native-web/dist/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js","node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedHelper.js","node_modules/react-native-web/dist/vendor/react-native/TurboModule/TurboModuleRegistry.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedNode.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedWithChildren.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedInterpolation.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValue.js","node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedEvent.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTransform.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedStyle.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js","node_modules/react-native-web/dist/vendor/react-native/Animated/useAnimatedProps.js","node_modules/react-native-web/dist/vendor/react-native/Utilities/useRefEffect.js","node_modules/react-native-web/dist/vendor/react-native/Animated/createAnimatedComponent.js","node_modules/react-native-web/dist/vendor/react-native/Utilities/useMergeRefs.js","node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedFlatList.js","node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedImage.js","node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedScrollView.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedSectionList/index.js","node_modules/react-native-web/dist/vendor/react-native/SectionList/index.js","node_modules/react-native-web/dist/exports/SectionList/index.js","node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedSectionList.js","node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedText.js","node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedView.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedAddition.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDivision.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedModulo.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedMultiplication.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedSubtraction.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTracking.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValueXY.js","node_modules/react-native-web/dist/vendor/react-native/Animated/animations/Animation.js","node_modules/react-native-web/dist/vendor/react-native/Animated/animations/DecayAnimation.js","node_modules/react-native-web/dist/vendor/react-native/Animated/SpringConfig.js","node_modules/react-native-web/dist/vendor/react-native/Animated/animations/SpringAnimation.js","node_modules/react-native-web/dist/vendor/react-native/Animated/animations/TimingAnimation.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedColor.js","node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedImplementation.js","node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedMock.js","node_modules/react-native-web/dist/vendor/react-native/Animated/Animated.js","node_modules/react-native-web/dist/exports/Animated/index.js","node_modules/react-native-web/dist/exports/Button/index.js","node_modules/react-native-web/dist/exports/DeviceEventEmitter/index.js","node_modules/react-native-web/dist/exports/Dimensions/index.js","node_modules/react-native-web/dist/vendor/react-native/Animated/Easing.js","node_modules/react-native-web/dist/vendor/react-native/Animated/bezier.js","node_modules/react-native-web/dist/exports/Easing/index.js","node_modules/react-native-web/dist/vendor/react-native/deepDiffer/index.js","node_modules/react-native-web/node_modules/memoize-one/dist/memoize-one.esm.js","node_modules/react-native-web/dist/vendor/react-native/FlatList/index.js","node_modules/react-native-web/dist/exports/FlatList/index.js","node_modules/react-native-web/dist/exports/I18nManager/index.js","node_modules/react-native-web/dist/modules/AssetRegistry/index.js","node_modules/react-native-web/dist/modules/ImageLoader/index.js","node_modules/react-native-web/dist/exports/Image/index.js","node_modules/react-native-web/dist/exports/InteractionManager/TaskQueue.js","node_modules/react-native-web/dist/modules/requestIdleCallback/index.js","node_modules/react-native-web/dist/exports/InteractionManager/index.js","node_modules/react-native-web/dist/exports/Linking/index.js","node_modules/react-native-web/dist/exports/Modal/ModalPortal.js","node_modules/react-native-web/dist/exports/Modal/ModalAnimation.js","node_modules/react-native-web/dist/exports/Modal/ModalContent.js","node_modules/react-native-web/dist/exports/Modal/ModalFocusTrap.js","node_modules/react-native-web/dist/exports/Modal/index.js","node_modules/react-native-web/dist/exports/NativeModules/index.js","node_modules/react-native-web/dist/exports/PixelRatio/index.js","node_modules/react-native-web/dist/exports/Platform/index.js","node_modules/react-native-web/dist/modules/addEventListener/index.js","node_modules/react-native-web/dist/modules/modality/index.js","node_modules/react-native-web/dist/modules/useEvent/index.js","node_modules/react-native-web/dist/modules/useHover/index.js","node_modules/react-native-web/dist/exports/Pressable/index.js","node_modules/react-native-web/dist/exports/ScrollView/ScrollViewBase.js","node_modules/react-native-web/dist/exports/ScrollView/index.js","node_modules/react-native-web/dist/exports/StyleSheet/compiler/createReactDOMStyle.js","node_modules/react-native-web/dist/modules/isWebColor/index.js","node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeColor.js","node_modules/react-native-web/dist/exports/StyleSheet/compiler/unitlessNumbers.js","node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeValueWithProperty.js","node_modules/react-native-web/dist/exports/StyleSheet/dom/createCSSStyleSheet.js","node_modules/react-native-web/dist/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js","node_modules/react-native-web/dist/exports/StyleSheet/dom/index.js","node_modules/react-native-web/dist/exports/StyleSheet/compiler/hash.js","node_modules/react-native-web/dist/exports/StyleSheet/compiler/hyphenateStyleName.js","node_modules/react-native-web/dist/modules/prefixStyles/static.js","node_modules/react-native-web/dist/modules/prefixStyles/index.js","node_modules/react-native-web/dist/exports/StyleSheet/compiler/index.js","node_modules/react-native-web/dist/exports/StyleSheet/index.js","node_modules/react-native-web/dist/exports/StyleSheet/preprocess.js","node_modules/react-native-web/dist/exports/Text/TextAncestorContext.js","node_modules/react-native-web/dist/exports/Text/index.js","node_modules/react-native-web/dist/exports/TextInput/index.js","node_modules/react-native-web/dist/exports/TouchableOpacity/index.js","node_modules/react-native-web/dist/modules/unitlessNumbers/index.js","node_modules/react-native-web/dist/modules/setValueForStyles/dangerousStyleValue.js","node_modules/react-native-web/dist/modules/setValueForStyles/index.js","node_modules/react-native-web/dist/exports/UIManager/index.js","node_modules/react-native-web/dist/exports/View/index.js","node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAriaRole.js","node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.js","node_modules/react-native-web/dist/modules/AccessibilityUtil/index.js","node_modules/react-native-web/dist/modules/AccessibilityUtil/isDisabled.js","node_modules/react-native-web/dist/modules/createDOMProps/index.js","node_modules/react-native-web/dist/exports/createElement/index.js","node_modules/react-native-web/dist/exports/findNodeHandle/index.js","node_modules/react-native-web/dist/exports/processColor/index.js","node_modules/react-native-web/dist/modules/TextInputState/index.js","node_modules/react-native-web/dist/modules/canUseDom/index.js","node_modules/react-native-web/dist/modules/dismissKeyboard/index.js","node_modules/react-native-web/dist/modules/forwardedProps/index.js","node_modules/react-native-web/dist/modules/mergeRefs/index.js","node_modules/react-native-web/dist/modules/pick/index.js","node_modules/react-native-web/dist/modules/useElementLayout/index.js","node_modules/react-native-web/dist/modules/useLayoutEffect/index.js","node_modules/react-native-web/dist/modules/useLocale/isLocaleRTL.js","node_modules/react-native-web/dist/modules/useLocale/index.js","node_modules/react-native-web/dist/modules/useMergeRefs/index.js","node_modules/react-native-web/dist/modules/usePlatformMethods/index.js","node_modules/react-native-web/dist/modules/usePressEvents/PressResponder.js","node_modules/react-native-web/dist/modules/usePressEvents/index.js","node_modules/react-native-web/dist/modules/getBoundingClientRect/index.js","node_modules/react-native-web/dist/modules/useResponderEvents/createResponderEvent.js","node_modules/react-native-web/dist/modules/useResponderEvents/ResponderEventTypes.js","node_modules/react-native-web/dist/modules/useResponderEvents/utils.js","node_modules/react-native-web/dist/modules/isSelectionValid/index.js","node_modules/react-native-web/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js","node_modules/react-native-web/dist/modules/useResponderEvents/ResponderSystem.js","node_modules/react-native-web/dist/modules/useResponderEvents/index.js","node_modules/react-native-web/dist/modules/useStable/index.js","node_modules/react-native-web/dist/modules/warnOnce/index.js","node_modules/react-native-web/dist/vendor/react-native/EventEmitter/NativeEventEmitter.js","node_modules/react-native-web/dist/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js","node_modules/react-native-web/dist/vendor/react-native/Utilities/clamp.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizeUtils/index.js","node_modules/react-native-web/dist/exports/RefreshControl/index.js","node_modules/react-native-web/dist/vendor/react-native/Batchinator/index.js","node_modules/react-native-web/dist/vendor/react-native/infoLog/index.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/CellRenderMask.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/ChildListCollection.js","node_modules/react-native-web/dist/vendor/react-native/FillRateHelper/index.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/StateSafePureComponent.js","node_modules/react-native-web/dist/vendor/react-native/ViewabilityHelper/index.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/index.js","node_modules/react-native-web/dist/vendor/react-native/vendor/emitter/EventEmitter.js","webpack://web/./node_modules/bootstrap/dist/css/bootstrap.css?07c1","node_modules/@callstack/react-theme-provider/src/createThemeProvider.js","node_modules/@callstack/react-theme-provider/src/createTheming.js","node_modules/@callstack/react-theme-provider/src/createWithTheme.js","node_modules/@callstack/react-theme-provider/src/index.js","node_modules/@callstack/react-theme-provider/node_modules/deepmerge/dist/umd.js","node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","node_modules/stylis/src/Utility.js","node_modules/stylis/src/Tokenizer.js","node_modules/stylis/src/Enum.js","node_modules/stylis/src/Serializer.js","node_modules/stylis/src/Parser.js","node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","node_modules/stylis/src/Middleware.js","node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js","node_modules/@emotion/react/_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js","node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","node_modules/@emotion/react/dist/emotion-react.browser.esm.js","node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","node_modules/@emotion/hash/dist/emotion-hash.esm.js","node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","node_modules/@mui/base/Portal/Portal.js","node_modules/@mui/base/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js","node_modules/@mui/base/node_modules/@mui/utils/esm/composeClasses/composeClasses.js","node_modules/@mui/base/node_modules/@mui/utils/esm/ownerDocument/ownerDocument.js","node_modules/@mui/base/node_modules/@mui/utils/esm/ownerWindow/ownerWindow.js","node_modules/@mui/base/node_modules/@mui/utils/esm/setRef.js","node_modules/@mui/base/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js","node_modules/@mui/base/node_modules/@mui/utils/esm/useForkRef/useForkRef.js","node_modules/@mui/base/utils/appendOwnerState.js","node_modules/@mui/base/utils/extractEventHandlers.js","node_modules/@mui/base/utils/isHostComponent.js","node_modules/@mui/base/utils/omitEventHandlers.js","node_modules/@mui/base/utils/useSlotProps.js","node_modules/@mui/base/utils/resolveComponentProps.js","node_modules/@mui/base/utils/mergeSlotProps.js","node_modules/@mui/icons-material/AccessTime.js","node_modules/@mui/icons-material/ArrowBack.js","node_modules/@mui/icons-material/ArrowDownward.js","node_modules/@mui/icons-material/ArrowUpward.js","node_modules/@mui/icons-material/Article.js","node_modules/@mui/icons-material/CalendarMonth.js","node_modules/@mui/icons-material/Cancel.js","node_modules/@mui/icons-material/Check.js","node_modules/@mui/icons-material/Gavel.js","node_modules/@mui/icons-material/LibraryAdd.js","node_modules/@mui/icons-material/LocalAtm.js","node_modules/@mui/icons-material/LocationOn.js","node_modules/@mui/icons-material/LockReset.js","node_modules/@mui/icons-material/Logout.js","node_modules/@mui/icons-material/Menu.js","node_modules/@mui/icons-material/Phone.js","node_modules/@mui/icons-material/PictureAsPdf.js","node_modules/@mui/icons-material/PriceChange.js","node_modules/@mui/icons-material/PriceCheck.js","node_modules/@mui/icons-material/Print.js","node_modules/@mui/icons-material/RemoveDone.js","node_modules/@mui/icons-material/Summarize.js","node_modules/@mui/icons-material/Visibility.js","node_modules/@mui/icons-material/VisibilityOff.js","node_modules/@mui/icons-material/WatchLater.js","node_modules/@mui/icons-material/WhatsApp.js","node_modules/@mui/icons-material/YouTube.js","node_modules/@mui/icons-material/utils/createSvgIcon.js","node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","node_modules/@mui/utils/node_modules/@babel/runtime/helpers/esm/extends.js","node_modules/@mui/utils/resolveProps/resolveProps.js","node_modules/@mui/utils/ClassNameGenerator/ClassNameGenerator.js","node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js","node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js","node_modules/@mui/lab/LoadingButton/LoadingButton.js","node_modules/@mui/utils/composeClasses/composeClasses.js","node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","node_modules/@mui/material/Alert/alertClasses.js","node_modules/@mui/material/internal/svg-icons/SuccessOutlined.js","node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.js","node_modules/@mui/material/internal/svg-icons/ErrorOutline.js","node_modules/@mui/material/internal/svg-icons/InfoOutlined.js","node_modules/@mui/material/internal/svg-icons/Close.js","node_modules/@mui/material/Alert/Alert.js","node_modules/@mui/material/internal/svg-icons/Person.js","node_modules/@mui/material/Avatar/avatarClasses.js","node_modules/@mui/material/Avatar/Avatar.js","node_modules/@mui/material/Backdrop/backdropClasses.js","node_modules/@mui/material/Backdrop/Backdrop.js","node_modules/@mui/material/Button/buttonClasses.js","node_modules/@mui/material/Button/Button.js","node_modules/react-transition-group/esm/utils/ChildMapping.js","node_modules/react-transition-group/esm/TransitionGroup.js","node_modules/@mui/material/ButtonBase/Ripple.js","node_modules/@mui/material/ButtonBase/touchRippleClasses.js","node_modules/@mui/material/ButtonBase/TouchRipple.js","node_modules/@mui/material/ButtonBase/buttonBaseClasses.js","node_modules/@mui/material/ButtonBase/ButtonBase.js","node_modules/@mui/material/ButtonGroup/buttonGroupClasses.js","node_modules/@mui/material/ButtonGroup/ButtonGroup.js","node_modules/@mui/material/node_modules/@mui/utils/esm/getValidReactChildren.js","node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.js","node_modules/@mui/material/ButtonGroup/ButtonGroupContext.js","node_modules/@mui/material/CardActions/cardActionsClasses.js","node_modules/@mui/material/CardActions/CardActions.js","node_modules/@mui/material/internal/switchBaseClasses.js","node_modules/@mui/material/internal/SwitchBase.js","node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","node_modules/@mui/material/internal/svg-icons/CheckBox.js","node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","node_modules/@mui/material/Checkbox/checkboxClasses.js","node_modules/@mui/material/Checkbox/Checkbox.js","node_modules/@mui/material/internal/svg-icons/Cancel.js","node_modules/@mui/material/Chip/chipClasses.js","node_modules/@mui/material/Chip/Chip.js","node_modules/@mui/material/CircularProgress/circularProgressClasses.js","node_modules/@mui/material/CircularProgress/CircularProgress.js","node_modules/@mui/material/Collapse/collapseClasses.js","node_modules/@mui/material/Collapse/Collapse.js","node_modules/@mui/material/Dialog/dialogClasses.js","node_modules/@mui/material/Dialog/DialogContext.js","node_modules/@mui/material/Dialog/Dialog.js","node_modules/@mui/material/Fade/Fade.js","node_modules/@mui/material/FormControl/FormControlContext.js","node_modules/@mui/material/FormControl/useFormControl.js","node_modules/@mui/material/Grid/GridContext.js","node_modules/@mui/material/Grid/gridClasses.js","node_modules/@mui/material/Grid/Grid.js","node_modules/@mui/material/Grow/Grow.js","node_modules/@mui/material/IconButton/iconButtonClasses.js","node_modules/@mui/material/IconButton/IconButton.js","node_modules/@mui/base/TextareaAutosize/TextareaAutosize.js","node_modules/@mui/base/node_modules/@mui/utils/esm/debounce/debounce.js","node_modules/@mui/material/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js","node_modules/@mui/material/GlobalStyles/GlobalStyles.js","node_modules/@mui/material/InputBase/utils.js","node_modules/@mui/material/InputBase/inputBaseClasses.js","node_modules/@mui/material/InputBase/InputBase.js","node_modules/@mui/material/FormControl/formControlState.js","node_modules/@mui/material/Input/inputClasses.js","node_modules/@mui/material/Input/Input.js","node_modules/@mui/material/List/ListContext.js","node_modules/@mui/material/List/listClasses.js","node_modules/@mui/material/List/List.js","node_modules/@mui/material/utils/getScrollbarSize.js","node_modules/@mui/material/node_modules/@mui/utils/esm/getScrollbarSize.js","node_modules/@mui/material/MenuList/MenuList.js","node_modules/@mui/material/Popover/popoverClasses.js","node_modules/@mui/material/Popover/Popover.js","node_modules/@mui/material/Menu/menuClasses.js","node_modules/@mui/material/Menu/Menu.js","node_modules/@mui/material/Divider/dividerClasses.js","node_modules/@mui/material/ListItemIcon/listItemIconClasses.js","node_modules/@mui/material/ListItemText/listItemTextClasses.js","node_modules/@mui/material/MenuItem/menuItemClasses.js","node_modules/@mui/material/MenuItem/MenuItem.js","node_modules/@mui/base/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js","node_modules/@mui/base/node_modules/@mui/utils/esm/createChainedFunction.js","node_modules/@mui/base/unstable_useModal/ModalManager.js","node_modules/@mui/base/node_modules/@mui/utils/esm/getScrollbarSize.js","node_modules/@mui/base/unstable_useModal/useModal.js","node_modules/@mui/base/FocusTrap/FocusTrap.js","node_modules/@mui/material/Modal/modalClasses.js","node_modules/@mui/material/Modal/Modal.js","node_modules/@mui/material/styles/getOverlayAlpha.js","node_modules/@mui/material/Paper/paperClasses.js","node_modules/@mui/material/Paper/Paper.js","node_modules/@mui/material/Slide/Slide.js","node_modules/@mui/material/Table/TableContext.js","node_modules/@mui/material/Table/tableClasses.js","node_modules/@mui/material/Table/Table.js","node_modules/@popperjs/core/lib/dom-utils/getWindow.js","node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","node_modules/@popperjs/core/lib/utils/math.js","node_modules/@popperjs/core/lib/utils/userAgent.js","node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","node_modules/@popperjs/core/lib/enums.js","node_modules/@popperjs/core/lib/utils/orderModifiers.js","node_modules/@popperjs/core/lib/utils/debounce.js","node_modules/@popperjs/core/lib/dom-utils/contains.js","node_modules/@popperjs/core/lib/utils/rectToClientRect.js","node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","node_modules/@popperjs/core/lib/utils/getBasePlacement.js","node_modules/@popperjs/core/lib/utils/getVariation.js","node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","node_modules/@popperjs/core/lib/utils/computeOffsets.js","node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","node_modules/@popperjs/core/lib/utils/expandToHashMap.js","node_modules/@popperjs/core/lib/utils/detectOverflow.js","node_modules/@popperjs/core/lib/createPopper.js","node_modules/@popperjs/core/lib/utils/mergeByName.js","node_modules/@popperjs/core/lib/modifiers/eventListeners.js","node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","node_modules/@popperjs/core/lib/modifiers/computeStyles.js","node_modules/@popperjs/core/lib/modifiers/applyStyles.js","node_modules/@popperjs/core/lib/modifiers/offset.js","node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","node_modules/@popperjs/core/lib/modifiers/flip.js","node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","node_modules/@popperjs/core/lib/utils/within.js","node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","node_modules/@popperjs/core/lib/utils/getAltAxis.js","node_modules/@popperjs/core/lib/modifiers/arrow.js","node_modules/@popperjs/core/lib/modifiers/hide.js","node_modules/@popperjs/core/lib/popper-lite.js","node_modules/@popperjs/core/lib/popper.js","node_modules/@mui/base/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js","node_modules/@mui/base/Popper/popperClasses.js","node_modules/@mui/base/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js","node_modules/@mui/base/utils/ClassNameConfigurator.js","node_modules/@mui/base/Popper/Popper.js","node_modules/@mui/material/Popper/Popper.js","node_modules/@mui/material/Tooltip/tooltipClasses.js","node_modules/@mui/material/Tooltip/Tooltip.js","node_modules/@mui/material/Typography/typographyClasses.js","node_modules/@mui/material/Typography/Typography.js","node_modules/@mui/material/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js","node_modules/@mui/material/node_modules/@mui/system/esm/breakpoints.js","node_modules/@mui/material/node_modules/@mui/system/esm/colorManipulator.js","node_modules/@mui/material/node_modules/@mui/system/esm/createTheme/createBreakpoints.js","node_modules/@mui/material/node_modules/@mui/system/esm/createTheme/shape.js","node_modules/@mui/material/node_modules/@mui/system/esm/createTheme/createTheme.js","node_modules/@mui/material/node_modules/@mui/system/esm/createTheme/createSpacing.js","node_modules/@mui/material/node_modules/@mui/system/esm/merge.js","node_modules/@mui/material/node_modules/@mui/system/esm/spacing.js","node_modules/@mui/material/node_modules/@mui/system/esm/memoize.js","node_modules/@mui/material/node_modules/@mui/system/esm/style.js","node_modules/@mui/material/node_modules/@mui/system/esm/compose.js","node_modules/@mui/material/node_modules/@mui/system/esm/borders.js","node_modules/@mui/material/node_modules/@mui/system/esm/cssGrid.js","node_modules/@mui/material/node_modules/@mui/system/esm/palette.js","node_modules/@mui/material/node_modules/@mui/system/esm/sizing.js","node_modules/@mui/material/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","node_modules/@mui/material/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js","node_modules/@mui/material/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","node_modules/@mui/material/node_modules/@mui/system/esm/useTheme.js","node_modules/@mui/material/node_modules/@mui/system/esm/useThemeWithoutDefault.js","node_modules/@mui/material/node_modules/@mui/utils/esm/capitalize/capitalize.js","node_modules/@mui/material/node_modules/@mui/utils/esm/deepmerge.js","node_modules/@mui/material/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js","node_modules/@mui/material/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js","node_modules/@mui/material/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js","node_modules/@mui/material/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js","node_modules/@mui/material/node_modules/@mui/utils/esm/ownerDocument/ownerDocument.js","node_modules/@mui/material/node_modules/@mui/utils/esm/resolveProps.js","node_modules/@mui/material/node_modules/@mui/utils/esm/setRef.js","node_modules/@mui/material/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js","node_modules/@mui/material/node_modules/@mui/utils/esm/useId/useId.js","node_modules/@mui/material/styles/createTransitions.js","node_modules/@mui/material/colors/common.js","node_modules/@mui/material/colors/grey.js","node_modules/@mui/material/colors/purple.js","node_modules/@mui/material/colors/red.js","node_modules/@mui/material/colors/orange.js","node_modules/@mui/material/colors/blue.js","node_modules/@mui/material/colors/lightBlue.js","node_modules/@mui/material/colors/green.js","node_modules/@mui/material/styles/createPalette.js","node_modules/@mui/material/styles/createTypography.js","node_modules/@mui/material/styles/shadows.js","node_modules/@mui/material/styles/zIndex.js","node_modules/@mui/material/styles/createTheme.js","node_modules/@mui/material/styles/createMixins.js","node_modules/@mui/material/styles/defaultTheme.js","node_modules/@mui/material/styles/identifier.js","node_modules/@mui/material/node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js","node_modules/@mui/material/node_modules/@mui/system/esm/propsToClassKey.js","node_modules/@mui/material/node_modules/@mui/system/esm/createStyled.js","node_modules/@mui/material/styles/styled.js","node_modules/@mui/material/node_modules/@mui/styled-engine/index.js","node_modules/@mui/material/styles/useTheme.js","node_modules/@mui/material/node_modules/@mui/system/esm/useThemeProps/useThemeProps.js","node_modules/@mui/material/node_modules/@mui/system/esm/useThemeProps/getThemeProps.js","node_modules/@mui/material/styles/useThemeProps.js","node_modules/@mui/material/transitions/utils.js","node_modules/@mui/material/utils/capitalize.js","node_modules/@mui/material/SvgIcon/svgIconClasses.js","node_modules/@mui/material/SvgIcon/SvgIcon.js","node_modules/@mui/material/utils/createSvgIcon.js","node_modules/@mui/material/utils/debounce.js","node_modules/@mui/material/node_modules/@mui/utils/esm/debounce/debounce.js","node_modules/@mui/material/utils/createChainedFunction.js","node_modules/@mui/material/node_modules/@mui/utils/esm/createChainedFunction.js","node_modules/@mui/material/utils/deprecatedPropType.js","node_modules/@mui/material/node_modules/@mui/utils/esm/deprecatedPropType.js","node_modules/@mui/material/utils/isMuiElement.js","node_modules/@mui/material/node_modules/@mui/utils/esm/isMuiElement.js","node_modules/@mui/material/utils/requirePropFactory.js","node_modules/@mui/material/node_modules/@mui/utils/esm/requirePropFactory.js","node_modules/@mui/material/utils/setRef.js","node_modules/@mui/material/utils/unsupportedProp.js","node_modules/@mui/material/node_modules/@mui/utils/esm/unsupportedProp.js","node_modules/@mui/material/utils/index.js","node_modules/@mui/material/utils/ownerDocument.js","node_modules/@mui/material/utils/ownerWindow.js","node_modules/@mui/material/node_modules/@mui/utils/esm/ownerWindow/ownerWindow.js","node_modules/@mui/material/utils/useControlled.js","node_modules/@mui/material/node_modules/@mui/utils/esm/useControlled/useControlled.js","node_modules/@mui/material/utils/useEnhancedEffect.js","node_modules/@mui/material/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js","node_modules/@mui/material/utils/useEventCallback.js","node_modules/@mui/material/utils/useForkRef.js","node_modules/@mui/material/node_modules/@mui/utils/esm/useForkRef/useForkRef.js","node_modules/@mui/material/utils/useId.js","node_modules/@mui/material/node_modules/@mui/utils/esm/useIsFocusVisible.js","node_modules/@mui/material/utils/useIsFocusVisible.js","node_modules/aws-sdk/clients/acm.js","node_modules/aws-sdk/clients/amp.js","node_modules/aws-sdk/clients/apigateway.js","node_modules/aws-sdk/clients/applicationautoscaling.js","node_modules/aws-sdk/clients/athena.js","node_modules/aws-sdk/clients/autoscaling.js","node_modules/aws-sdk/clients/browser_default.js","node_modules/aws-sdk/clients/cloudformation.js","node_modules/aws-sdk/clients/cloudfront.js","node_modules/aws-sdk/clients/cloudhsm.js","node_modules/aws-sdk/clients/cloudhsmv2.js","node_modules/aws-sdk/clients/cloudtrail.js","node_modules/aws-sdk/clients/cloudwatch.js","node_modules/aws-sdk/clients/cloudwatchevents.js","node_modules/aws-sdk/clients/cloudwatchlogs.js","node_modules/aws-sdk/clients/codebuild.js","node_modules/aws-sdk/clients/codecommit.js","node_modules/aws-sdk/clients/codedeploy.js","node_modules/aws-sdk/clients/codepipeline.js","node_modules/aws-sdk/clients/cognitoidentity.js","node_modules/aws-sdk/clients/cognitoidentityserviceprovider.js","node_modules/aws-sdk/clients/cognitosync.js","node_modules/aws-sdk/clients/comprehend.js","node_modules/aws-sdk/clients/comprehendmedical.js","node_modules/aws-sdk/clients/configservice.js","node_modules/aws-sdk/clients/connect.js","node_modules/aws-sdk/clients/costexplorer.js","node_modules/aws-sdk/clients/cur.js","node_modules/aws-sdk/clients/devicefarm.js","node_modules/aws-sdk/clients/directconnect.js","node_modules/aws-sdk/clients/dynamodb.js","node_modules/aws-sdk/clients/dynamodbstreams.js","node_modules/aws-sdk/clients/ec2.js","node_modules/aws-sdk/clients/ecr.js","node_modules/aws-sdk/clients/ecs.js","node_modules/aws-sdk/clients/efs.js","node_modules/aws-sdk/clients/elasticache.js","node_modules/aws-sdk/clients/elasticbeanstalk.js","node_modules/aws-sdk/clients/elastictranscoder.js","node_modules/aws-sdk/clients/elb.js","node_modules/aws-sdk/clients/elbv2.js","node_modules/aws-sdk/clients/emr.js","node_modules/aws-sdk/clients/firehose.js","node_modules/aws-sdk/clients/forecastqueryservice.js","node_modules/aws-sdk/clients/forecastservice.js","node_modules/aws-sdk/clients/gamelift.js","node_modules/aws-sdk/clients/iam.js","node_modules/aws-sdk/clients/inspector.js","node_modules/aws-sdk/clients/iot.js","node_modules/aws-sdk/clients/iotanalytics.js","node_modules/aws-sdk/clients/iotdata.js","node_modules/aws-sdk/clients/kinesis.js","node_modules/aws-sdk/clients/kinesisvideo.js","node_modules/aws-sdk/clients/kinesisvideoarchivedmedia.js","node_modules/aws-sdk/clients/kinesisvideomedia.js","node_modules/aws-sdk/clients/kinesisvideosignalingchannels.js","node_modules/aws-sdk/clients/kms.js","node_modules/aws-sdk/clients/lambda.js","node_modules/aws-sdk/clients/lexmodelbuildingservice.js","node_modules/aws-sdk/clients/lexruntime.js","node_modules/aws-sdk/clients/lexruntimev2.js","node_modules/aws-sdk/clients/location.js","node_modules/aws-sdk/clients/machinelearning.js","node_modules/aws-sdk/clients/marketplacecatalog.js","node_modules/aws-sdk/clients/marketplacecommerceanalytics.js","node_modules/aws-sdk/clients/mediastoredata.js","node_modules/aws-sdk/clients/mobileanalytics.js","node_modules/aws-sdk/clients/mturk.js","node_modules/aws-sdk/clients/opsworks.js","node_modules/aws-sdk/clients/personalize.js","node_modules/aws-sdk/clients/personalizeevents.js","node_modules/aws-sdk/clients/personalizeruntime.js","node_modules/aws-sdk/clients/polly.js","node_modules/aws-sdk/clients/pricing.js","node_modules/aws-sdk/clients/rds.js","node_modules/aws-sdk/clients/redshift.js","node_modules/aws-sdk/clients/rekognition.js","node_modules/aws-sdk/clients/resourcegroups.js","node_modules/aws-sdk/clients/route53.js","node_modules/aws-sdk/clients/route53domains.js","node_modules/aws-sdk/clients/s3.js","node_modules/aws-sdk/clients/secretsmanager.js","node_modules/aws-sdk/clients/servicecatalog.js","node_modules/aws-sdk/clients/ses.js","node_modules/aws-sdk/clients/sns.js","node_modules/aws-sdk/clients/sqs.js","node_modules/aws-sdk/clients/ssm.js","node_modules/aws-sdk/clients/storagegateway.js","node_modules/aws-sdk/clients/sts.js","node_modules/aws-sdk/clients/translate.js","node_modules/aws-sdk/clients/waf.js","node_modules/aws-sdk/clients/workdocs.js","node_modules/aws-sdk/clients/xray.js","node_modules/aws-sdk/lib/api_loader.js","node_modules/aws-sdk/lib/browser.js","node_modules/aws-sdk/lib/browserCryptoLib.js","node_modules/aws-sdk/lib/browserHashUtils.js","node_modules/aws-sdk/lib/browserHmac.js","node_modules/aws-sdk/lib/browserMd5.js","node_modules/aws-sdk/lib/browserSha1.js","node_modules/aws-sdk/lib/browserSha256.js","node_modules/aws-sdk/lib/browser_loader.js","node_modules/aws-sdk/lib/cloudfront/signer.js","node_modules/aws-sdk/lib/config.js","node_modules/aws-sdk/lib/config_regional_endpoint.js","node_modules/aws-sdk/lib/core.js","node_modules/aws-sdk/lib/credentials.js","node_modules/aws-sdk/lib/credentials/chainable_temporary_credentials.js","node_modules/aws-sdk/lib/credentials/cognito_identity_credentials.js","node_modules/aws-sdk/lib/credentials/credential_provider_chain.js","node_modules/aws-sdk/lib/credentials/saml_credentials.js","node_modules/aws-sdk/lib/credentials/temporary_credentials.js","node_modules/aws-sdk/lib/credentials/web_identity_credentials.js","node_modules/aws-sdk/lib/discover_endpoint.js","node_modules/aws-sdk/lib/dynamodb/converter.js","node_modules/aws-sdk/lib/dynamodb/document_client.js","node_modules/aws-sdk/lib/dynamodb/numberValue.js","node_modules/aws-sdk/lib/dynamodb/set.js","node_modules/aws-sdk/lib/dynamodb/translator.js","node_modules/aws-sdk/lib/dynamodb/types.js","node_modules/aws-sdk/lib/event-stream/buffered-create-event-stream.js","node_modules/aws-sdk/lib/event-stream/event-message-chunker.js","node_modules/aws-sdk/lib/event-stream/int64.js","node_modules/aws-sdk/lib/event-stream/parse-event.js","node_modules/aws-sdk/lib/event-stream/parse-message.js","node_modules/aws-sdk/lib/event-stream/split-message.js","node_modules/aws-sdk/lib/event_listeners.js","node_modules/aws-sdk/lib/http.js","node_modules/aws-sdk/lib/http/xhr.js","node_modules/aws-sdk/lib/json/builder.js","node_modules/aws-sdk/lib/json/parser.js","node_modules/aws-sdk/lib/maintenance_mode_message.js","node_modules/aws-sdk/lib/model/api.js","node_modules/aws-sdk/lib/model/collection.js","node_modules/aws-sdk/lib/model/operation.js","node_modules/aws-sdk/lib/model/paginator.js","node_modules/aws-sdk/lib/model/resource_waiter.js","node_modules/aws-sdk/lib/model/shape.js","node_modules/aws-sdk/lib/param_validator.js","node_modules/aws-sdk/lib/polly/presigner.js","node_modules/aws-sdk/lib/protocol/helpers.js","node_modules/aws-sdk/lib/protocol/json.js","node_modules/aws-sdk/lib/protocol/query.js","node_modules/aws-sdk/lib/protocol/rest.js","node_modules/aws-sdk/lib/protocol/rest_json.js","node_modules/aws-sdk/lib/protocol/rest_xml.js","node_modules/aws-sdk/lib/query/query_param_serializer.js","node_modules/aws-sdk/lib/rds/signer.js","node_modules/aws-sdk/lib/realclock/browserClock.js","node_modules/aws-sdk/lib/region/utils.js","node_modules/aws-sdk/lib/region_config.js","node_modules/aws-sdk/lib/request.js","node_modules/aws-sdk/lib/resource_waiter.js","node_modules/aws-sdk/lib/response.js","node_modules/aws-sdk/lib/s3/managed_upload.js","node_modules/aws-sdk/lib/sequential_executor.js","node_modules/aws-sdk/lib/service.js","node_modules/aws-sdk/lib/services/apigateway.js","node_modules/aws-sdk/lib/services/cloudfront.js","node_modules/aws-sdk/lib/services/dynamodb.js","node_modules/aws-sdk/lib/services/ec2.js","node_modules/aws-sdk/lib/services/iotdata.js","node_modules/aws-sdk/lib/services/lambda.js","node_modules/aws-sdk/lib/services/machinelearning.js","node_modules/aws-sdk/lib/services/polly.js","node_modules/aws-sdk/lib/services/rds.js","node_modules/aws-sdk/lib/services/rdsutil.js","node_modules/aws-sdk/lib/services/route53.js","node_modules/aws-sdk/lib/services/s3.js","node_modules/aws-sdk/lib/services/s3util.js","node_modules/aws-sdk/lib/services/sqs.js","node_modules/aws-sdk/lib/services/sts.js","node_modules/aws-sdk/lib/signers/bearer.js","node_modules/aws-sdk/lib/signers/presign.js","node_modules/aws-sdk/lib/signers/request_signer.js","node_modules/aws-sdk/lib/signers/s3.js","node_modules/aws-sdk/lib/signers/v2.js","node_modules/aws-sdk/lib/signers/v3.js","node_modules/aws-sdk/lib/signers/v3https.js","node_modules/aws-sdk/lib/signers/v4.js","node_modules/aws-sdk/lib/signers/v4_credentials.js","node_modules/aws-sdk/lib/state_machine.js","node_modules/aws-sdk/lib/util.js","node_modules/aws-sdk/lib/xml/browser_parser.js","node_modules/aws-sdk/lib/xml/builder.js","node_modules/aws-sdk/lib/xml/escape-attribute.js","node_modules/aws-sdk/lib/xml/escape-element.js","node_modules/aws-sdk/lib/xml/xml-node.js","node_modules/aws-sdk/lib/xml/xml-text.js","node_modules/aws-sdk/node_modules/uuid/dist/bytesToUuid.js","node_modules/aws-sdk/node_modules/uuid/dist/index.js","node_modules/aws-sdk/node_modules/uuid/dist/md5-browser.js","node_modules/aws-sdk/node_modules/uuid/dist/rng-browser.js","node_modules/aws-sdk/node_modules/uuid/dist/sha1-browser.js","node_modules/aws-sdk/node_modules/uuid/dist/v1.js","node_modules/aws-sdk/node_modules/uuid/dist/v3.js","node_modules/aws-sdk/node_modules/uuid/dist/v35.js","node_modules/aws-sdk/node_modules/uuid/dist/v4.js","node_modules/aws-sdk/node_modules/uuid/dist/v5.js","node_modules/aws-sdk/vendor/endpoint-cache/index.js","node_modules/aws-sdk/vendor/endpoint-cache/utils/LRU.js","node_modules/base64-js/index.js","node_modules/buffer/index.js","node_modules/call-bind/callBound.js","node_modules/call-bind/index.js","node_modules/color-convert/conversions.js","node_modules/color-convert/index.js","node_modules/color-convert/node_modules/color-name/index.js","node_modules/color-convert/route.js","node_modules/color-name/index.js","node_modules/color-string/index.js","node_modules/color/index.js","node_modules/compare-versions/index.js","node_modules/cookie/index.js","node_modules/css-in-js-utils/es/assignStyle.js","node_modules/css-in-js-utils/es/camelCaseProperty.js","node_modules/css-in-js-utils/es/hyphenateProperty.js","node_modules/css-in-js-utils/es/cssifyDeclaration.js","node_modules/css-in-js-utils/es/cssifyObject.js","node_modules/css-in-js-utils/es/isPrefixedProperty.js","node_modules/css-in-js-utils/es/isPrefixedValue.js","node_modules/css-in-js-utils/es/isUnitlessProperty.js","node_modules/css-in-js-utils/es/unprefixProperty.js","node_modules/css-in-js-utils/es/normalizeProperty.js","node_modules/css-in-js-utils/es/resolveArrayValue.js","node_modules/css-in-js-utils/es/unprefixValue.js","node_modules/css-in-js-utils/lib/hyphenateProperty.js","node_modules/css-in-js-utils/lib/isPrefixedValue.js","node_modules/decode-uri-component/index.js","node_modules/define-data-property/index.js","node_modules/emailjs-com/es/store/store.js","node_modules/emailjs-com/es/methods/init/init.js","node_modules/emailjs-com/es/utils/validateParams.js","node_modules/emailjs-com/es/models/EmailJSResponseStatus.js","node_modules/emailjs-com/es/api/sendPost.js","node_modules/emailjs-com/es/methods/send/send.js","node_modules/emailjs-com/es/methods/sendForm/sendForm.js","node_modules/emailjs-com/es/index.js","node_modules/escape-string-regexp/index.js","node_modules/events/events.js","node_modules/fast-deep-equal/index.js","node_modules/fbjs/lib/emptyFunction.js","node_modules/fbjs/lib/invariant.js","node_modules/fbjs/lib/warning.js","node_modules/filter-obj/index.js","node_modules/fontfaceobserver/fontfaceobserver.standalone.js","node_modules/for-each/index.js","node_modules/function-bind/implementation.js","node_modules/function-bind/index.js","node_modules/get-intrinsic/index.js","node_modules/gopd/index.js","node_modules/has-property-descriptors/index.js","node_modules/has-proto/index.js","node_modules/has-symbols/index.js","node_modules/has-symbols/shams.js","node_modules/has-tostringtag/shams.js","node_modules/hasown/index.js","node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","node_modules/hoist-non-react-statics/node_modules/react-is/index.js","node_modules/hyphenate-style-name/index.js","node_modules/ieee754/index.js","node_modules/inherits/inherits_browser.js","node_modules/inline-style-prefixer/lib/createPrefixer.js","node_modules/inline-style-prefixer/lib/plugins/backgroundClip.js","node_modules/inline-style-prefixer/lib/plugins/crossFade.js","node_modules/inline-style-prefixer/lib/plugins/cursor.js","node_modules/inline-style-prefixer/lib/plugins/filter.js","node_modules/inline-style-prefixer/lib/plugins/imageSet.js","node_modules/inline-style-prefixer/lib/plugins/logical.js","node_modules/inline-style-prefixer/lib/plugins/position.js","node_modules/inline-style-prefixer/lib/plugins/sizing.js","node_modules/inline-style-prefixer/lib/plugins/transition.js","node_modules/inline-style-prefixer/lib/utils/addNewValuesOnly.js","node_modules/inline-style-prefixer/lib/utils/capitalizeString.js","node_modules/inline-style-prefixer/lib/utils/isObject.js","node_modules/inline-style-prefixer/lib/utils/prefixProperty.js","node_modules/inline-style-prefixer/lib/utils/prefixValue.js","node_modules/invariant/browser.js","node_modules/is-arguments/index.js","node_modules/is-callable/index.js","node_modules/is-generator-function/index.js","node_modules/is-plain-obj/index.js","node_modules/is-typed-array/index.js","node_modules/isarray/index.js","node_modules/jmespath/jmespath.js","node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js","node_modules/fflate/esm/browser.js","node_modules/jspdf/src/libs/globalObject.js","node_modules/jspdf/src/libs/console.js","node_modules/jspdf/src/libs/FileSaver.js","node_modules/jspdf/src/libs/AtobBtoa.js","node_modules/jspdf/src/libs/rgbcolor.js","node_modules/jspdf/src/libs/md5.js","node_modules/jspdf/src/libs/rc4.js","node_modules/jspdf/src/libs/pdfsecurity.js","node_modules/jspdf/src/libs/pdfname.js","node_modules/jspdf/src/jspdf.js","node_modules/jspdf/src/modules/acroform.js","node_modules/jspdf/src/libs/fontFace.js","node_modules/jspdf/src/modules/addimage.js","node_modules/jspdf/src/modules/annotations.js","node_modules/jspdf/src/modules/arabic.js","node_modules/jspdf/src/modules/autoprint.js","node_modules/jspdf/src/modules/canvas.js","node_modules/jspdf/src/modules/cell.js","node_modules/jspdf/src/modules/javascript.js","node_modules/jspdf/src/modules/fileloading.js","node_modules/jspdf/src/modules/context2d.js","node_modules/jspdf/src/modules/filters.js","node_modules/jspdf/src/modules/html.js","node_modules/jspdf/src/modules/outline.js","node_modules/jspdf/src/modules/jpeg_support.js","node_modules/jspdf/src/libs/png.js","node_modules/jspdf/src/modules/split_text_to_size.js","node_modules/jspdf/src/libs/omggif.js","node_modules/jspdf/src/libs/JPEGEncoder.js","node_modules/jspdf/src/libs/BMPDecoder.js","node_modules/jspdf/src/libs/WebPDecoder.js","node_modules/jspdf/src/modules/png_support.js","node_modules/jspdf/src/modules/gif_support.js","node_modules/jspdf/src/modules/bmp_support.js","node_modules/jspdf/src/modules/webp_support.js","node_modules/jspdf/src/modules/rgba_support.js","node_modules/jspdf/src/modules/setlanguage.js","node_modules/jspdf/src/modules/standard_fonts_metrics.js","node_modules/jspdf/src/modules/ttfsupport.js","node_modules/jspdf/src/modules/svg.js","node_modules/jspdf/src/modules/total_pages.js","node_modules/jspdf/src/modules/viewerpreferences.js","node_modules/jspdf/src/modules/xmp_metadata.js","node_modules/jspdf/src/modules/utf8.js","node_modules/jspdf/src/modules/vfs.js","node_modules/jspdf/src/libs/bidiEngine.js","node_modules/jspdf/src/libs/ttffont.js","node_modules/merge-options/index.js","node_modules/mixpanel-react-native/javascript/mixpanel-constants.js","node_modules/mixpanel-react-native/javascript/mixpanel-config.js","node_modules/mixpanel-react-native/javascript/mixpanel-logger.js","node_modules/mixpanel-react-native/javascript/mixpanel-storage.js","node_modules/mixpanel-react-native/javascript/mixpanel-persistent.js","node_modules/mixpanel-react-native/javascript/mixpanel-queue.js","node_modules/mixpanel-react-native/javascript/mixpanel-network.js","node_modules/mixpanel-react-native/javascript/mixpanel-utils.js","node_modules/mixpanel-react-native/javascript/mixpanel-core.js","node_modules/mixpanel-react-native/javascript/mixpanel-main.js","node_modules/mixpanel-react-native/index.js","node_modules/mixpanel-react-native/node_modules/uuid/index.js","node_modules/mixpanel-react-native/node_modules/uuid/lib/bytesToUuid.js","node_modules/mixpanel-react-native/node_modules/uuid/lib/rng-browser.js","node_modules/mixpanel-react-native/node_modules/uuid/v1.js","node_modules/mixpanel-react-native/node_modules/uuid/v4.js","node_modules/moment/locale/af.js","node_modules/moment/locale/ar-dz.js","node_modules/moment/locale/ar-kw.js","node_modules/moment/locale/ar-ly.js","node_modules/moment/locale/ar-ma.js","node_modules/moment/locale/ar-ps.js","node_modules/moment/locale/ar-sa.js","node_modules/moment/locale/ar-tn.js","node_modules/moment/locale/ar.js","node_modules/moment/locale/az.js","node_modules/moment/locale/be.js","node_modules/moment/locale/bg.js","node_modules/moment/locale/bm.js","node_modules/moment/locale/bn-bd.js","node_modules/moment/locale/bn.js","node_modules/moment/locale/bo.js","node_modules/moment/locale/br.js","node_modules/moment/locale/bs.js","node_modules/moment/locale/ca.js","node_modules/moment/locale/cs.js","node_modules/moment/locale/cv.js","node_modules/moment/locale/cy.js","node_modules/moment/locale/da.js","node_modules/moment/locale/de-at.js","node_modules/moment/locale/de-ch.js","node_modules/moment/locale/de.js","node_modules/moment/locale/dv.js","node_modules/moment/locale/el.js","node_modules/moment/locale/en-au.js","node_modules/moment/locale/en-ca.js","node_modules/moment/locale/en-gb.js","node_modules/moment/locale/en-ie.js","node_modules/moment/locale/en-il.js","node_modules/moment/locale/en-in.js","node_modules/moment/locale/en-nz.js","node_modules/moment/locale/en-sg.js","node_modules/moment/locale/eo.js","node_modules/moment/locale/es-do.js","node_modules/moment/locale/es-mx.js","node_modules/moment/locale/es-us.js","node_modules/moment/locale/es.js","node_modules/moment/locale/et.js","node_modules/moment/locale/eu.js","node_modules/moment/locale/fa.js","node_modules/moment/locale/fi.js","node_modules/moment/locale/fil.js","node_modules/moment/locale/fo.js","node_modules/moment/locale/fr-ca.js","node_modules/moment/locale/fr-ch.js","node_modules/moment/locale/fr.js","node_modules/moment/locale/fy.js","node_modules/moment/locale/ga.js","node_modules/moment/locale/gd.js","node_modules/moment/locale/gl.js","node_modules/moment/locale/gom-deva.js","node_modules/moment/locale/gom-latn.js","node_modules/moment/locale/gu.js","node_modules/moment/locale/he.js","node_modules/moment/locale/hi.js","node_modules/moment/locale/hr.js","node_modules/moment/locale/hu.js","node_modules/moment/locale/hy-am.js","node_modules/moment/locale/id.js","node_modules/moment/locale/is.js","node_modules/moment/locale/it-ch.js","node_modules/moment/locale/it.js","node_modules/moment/locale/ja.js","node_modules/moment/locale/jv.js","node_modules/moment/locale/ka.js","node_modules/moment/locale/kk.js","node_modules/moment/locale/km.js","node_modules/moment/locale/kn.js","node_modules/moment/locale/ko.js","node_modules/moment/locale/ku-kmr.js","node_modules/moment/locale/ku.js","node_modules/moment/locale/ky.js","node_modules/moment/locale/lb.js","node_modules/moment/locale/lo.js","node_modules/moment/locale/lt.js","node_modules/moment/locale/lv.js","node_modules/moment/locale/me.js","node_modules/moment/locale/mi.js","node_modules/moment/locale/mk.js","node_modules/moment/locale/ml.js","node_modules/moment/locale/mn.js","node_modules/moment/locale/mr.js","node_modules/moment/locale/ms-my.js","node_modules/moment/locale/ms.js","node_modules/moment/locale/mt.js","node_modules/moment/locale/my.js","node_modules/moment/locale/nb.js","node_modules/moment/locale/ne.js","node_modules/moment/locale/nl-be.js","node_modules/moment/locale/nl.js","node_modules/moment/locale/nn.js","node_modules/moment/locale/oc-lnc.js","node_modules/moment/locale/pa-in.js","node_modules/moment/locale/pl.js","node_modules/moment/locale/pt-br.js","node_modules/moment/locale/pt.js","node_modules/moment/locale/ro.js","node_modules/moment/locale/ru.js","node_modules/moment/locale/sd.js","node_modules/moment/locale/se.js","node_modules/moment/locale/si.js","node_modules/moment/locale/sk.js","node_modules/moment/locale/sl.js","node_modules/moment/locale/sq.js","node_modules/moment/locale/sr-cyrl.js","node_modules/moment/locale/sr.js","node_modules/moment/locale/ss.js","node_modules/moment/locale/sv.js","node_modules/moment/locale/sw.js","node_modules/moment/locale/ta.js","node_modules/moment/locale/te.js","node_modules/moment/locale/tet.js","node_modules/moment/locale/tg.js","node_modules/moment/locale/th.js","node_modules/moment/locale/tk.js","node_modules/moment/locale/tl-ph.js","node_modules/moment/locale/tlh.js","node_modules/moment/locale/tr.js","node_modules/moment/locale/tzl.js","node_modules/moment/locale/tzm-latn.js","node_modules/moment/locale/tzm.js","node_modules/moment/locale/ug-cn.js","node_modules/moment/locale/uk.js","node_modules/moment/locale/ur.js","node_modules/moment/locale/uz-latn.js","node_modules/moment/locale/uz.js","node_modules/moment/locale/vi.js","node_modules/moment/locale/x-pseudo.js","node_modules/moment/locale/yo.js","node_modules/moment/locale/zh-cn.js","node_modules/moment/locale/zh-hk.js","node_modules/moment/locale/zh-mo.js","node_modules/moment/locale/zh-tw.js","node_modules/moment/moment.js","node_modules/nullthrows/nullthrows.js","node_modules/property-expr/index.js","node_modules/query-string/index.js","node_modules/querystring/decode.js","node_modules/querystring/encode.js","node_modules/querystring/index.js","node_modules/@restart/hooks/esm/useCommittedRef.js","node_modules/@restart/hooks/esm/useEventCallback.js","node_modules/@restart/hooks/esm/useUpdateEffect.js","node_modules/@restart/hooks/esm/useWillUnmount.js","node_modules/@restart/hooks/esm/useUpdatedRef.js","node_modules/@restart/hooks/esm/useTimeout.js","node_modules/@restart/hooks/esm/useMounted.js","node_modules/@restart/hooks/esm/useIsomorphicEffect.js","node_modules/@restart/hooks/esm/useResizeObserver.js","node_modules/@restart/ui/esm/Button.js","node_modules/@restart/ui/esm/Anchor.js","node_modules/uncontrollable/lib/esm/utils.js","node_modules/uncontrollable/lib/esm/hook.js","node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","node_modules/react-bootstrap/esm/ThemeProvider.js","node_modules/react-bootstrap/esm/CarouselCaption.js","node_modules/react-bootstrap/esm/CarouselItem.js","node_modules/react-bootstrap/esm/ElementChildren.js","node_modules/dom-helpers/esm/ownerWindow.js","node_modules/dom-helpers/esm/ownerDocument.js","node_modules/dom-helpers/esm/hyphenate.js","node_modules/dom-helpers/esm/hyphenateStyle.js","node_modules/dom-helpers/esm/isTransform.js","node_modules/dom-helpers/esm/css.js","node_modules/dom-helpers/esm/getComputedStyle.js","node_modules/dom-helpers/esm/canUseDOM.js","node_modules/dom-helpers/esm/addEventListener.js","node_modules/dom-helpers/esm/removeEventListener.js","node_modules/dom-helpers/esm/listen.js","node_modules/dom-helpers/esm/transitionEnd.js","node_modules/dom-helpers/esm/triggerEvent.js","node_modules/react-bootstrap/esm/transitionEndListener.js","node_modules/@restart/hooks/esm/useMergedRefs.js","node_modules/react-bootstrap/esm/TransitionWrapper.js","node_modules/react-bootstrap/esm/safeFindDOMNode.js","node_modules/react-bootstrap/esm/Carousel.js","node_modules/react-bootstrap/esm/triggerBrowserReflow.js","node_modules/universal-cookie/es6/utils.js","node_modules/universal-cookie/es6/index.js","node_modules/react-cookie/es6/Cookies.js","node_modules/universal-cookie/es6/Cookies.js","node_modules/react-cookie/es6/CookiesContext.js","node_modules/react-cookie/es6/useCookies.js","node_modules/react-cookie/es6/utils.js","node_modules/react-dom/cjs/react-dom.production.min.js","node_modules/react-dom/client.js","node_modules/react-dom/index.js","node_modules/react-is/cjs/react-is.production.min.js","node_modules/react-is/index.js","node_modules/react-query/es/core/focusManager.js","node_modules/react-query/es/core/hydration.js","node_modules/react-query/es/core/infiniteQueryBehavior.js","node_modules/react-query/es/core/infiniteQueryObserver.js","node_modules/react-query/es/core/logger.js","node_modules/react-query/es/core/mutation.js","node_modules/react-query/es/core/mutationCache.js","node_modules/react-query/es/core/mutationObserver.js","node_modules/react-query/es/core/notifyManager.js","node_modules/react-query/es/core/onlineManager.js","node_modules/react-query/es/core/queriesObserver.js","node_modules/react-query/es/core/query.js","node_modules/react-query/es/core/queryCache.js","node_modules/react-query/es/core/queryClient.js","node_modules/react-query/es/core/queryObserver.js","node_modules/react-query/es/core/retryer.js","node_modules/react-query/es/core/subscribable.js","node_modules/react-query/es/core/utils.js","node_modules/react-query/es/react/Hydrate.js","node_modules/react-query/es/react/QueryClientProvider.js","node_modules/react-query/es/react/QueryErrorResetBoundary.js","node_modules/react-query/es/react/reactBatchedUpdates.js","node_modules/react-query/es/react/setBatchUpdatesFn.js","node_modules/react-query/es/react/logger.js","node_modules/react-query/es/react/setLogger.js","node_modules/react-query/es/react/useBaseQuery.js","node_modules/react-query/es/react/useInfiniteQuery.js","node_modules/react-query/es/react/useIsFetching.js","node_modules/react-query/es/react/useIsMutating.js","node_modules/react-query/es/react/useMutation.js","node_modules/react-query/es/react/useQueries.js","node_modules/react-query/es/react/useQuery.js","node_modules/react-query/es/react/utils.js","node_modules/react-transition-group/esm/config.js","node_modules/react-transition-group/esm/Transition.js","node_modules/react-transition-group/esm/utils/reflow.js","node_modules/react-transition-group/esm/TransitionGroupContext.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/scheduler/cjs/scheduler.production.min.js","node_modules/scheduler/index.js","node_modules/set-function-length/index.js","node_modules/simple-swizzle/index.js","node_modules/simple-swizzle/node_modules/is-arrayish/index.js","node_modules/split-on-first/index.js","node_modules/strict-uri-encode/index.js","node_modules/styleq/dist/styleq.js","node_modules/styleq/dist/transform-localize-style.js","node_modules/tiny-case/index.js","node_modules/toposort/index.js","node_modules/url/node_modules/punycode/punycode.js","node_modules/url/url.js","node_modules/use-latest-callback/lib/src/index.js","node_modules/use-latest-callback/lib/src/useIsomorphicLayoutEffect.js","node_modules/util/support/isBufferBrowser.js","node_modules/util/support/types.js","node_modules/util/util.js","node_modules/which-typed-array/index.js","node_modules/yup/index.esm.js","node_modules/@babel/runtime/helpers/interopRequireDefault.js","node_modules/available-typed-arrays/index.js","node_modules/classnames/index.js","node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","node_modules/@babel/runtime/helpers/esm/classCallCheck.js","node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","node_modules/@babel/runtime/helpers/esm/construct.js","node_modules/@babel/runtime/helpers/esm/createClass.js","node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js","node_modules/@babel/runtime/helpers/esm/defineProperty.js","node_modules/@babel/runtime/helpers/esm/extends.js","node_modules/@babel/runtime/helpers/esm/get.js","node_modules/@babel/runtime/helpers/esm/superPropBase.js","node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","node_modules/@babel/runtime/helpers/esm/inherits.js","node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","node_modules/@babel/runtime/helpers/esm/objectSpread2.js","node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","node_modules/@babel/runtime/helpers/esm/slicedToArray.js","node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArray.js","node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","node_modules/@babel/runtime/helpers/esm/toPrimitive.js","node_modules/@babel/runtime/helpers/esm/typeof.js","node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","node_modules/@hookform/resolvers/src/validateFieldsNatively.ts","node_modules/@hookform/resolvers/src/toNestErrors.ts","node_modules/@hookform/resolvers/yup/src/yup.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/helpers/cookies.js","node_modules/axios/lib/core/buildFullPath.js","node_modules/axios/lib/helpers/isAbsoluteURL.js","node_modules/axios/lib/helpers/combineURLs.js","node_modules/axios/lib/helpers/isURLSameOrigin.js","node_modules/axios/lib/helpers/speedometer.js","node_modules/axios/lib/adapters/xhr.js","node_modules/axios/lib/adapters/adapters.js","node_modules/axios/lib/helpers/null.js","node_modules/axios/lib/core/settle.js","node_modules/axios/lib/helpers/parseProtocol.js","node_modules/axios/lib/core/dispatchRequest.js","node_modules/axios/lib/core/mergeConfig.js","node_modules/axios/lib/env/data.js","node_modules/axios/lib/helpers/validator.js","node_modules/axios/lib/core/Axios.js","node_modules/axios/lib/cancel/CancelToken.js","node_modules/axios/lib/helpers/HttpStatusCode.js","node_modules/axios/lib/axios.js","node_modules/axios/lib/helpers/spread.js","node_modules/axios/lib/helpers/isAxiosError.js","node_modules/clsx/dist/clsx.mjs","node_modules/nanoid/non-secure/index.js","node_modules/react-hook-form/src/utils/isCheckBoxInput.ts","node_modules/react-hook-form/src/utils/isDateObject.ts","node_modules/react-hook-form/src/utils/isNullOrUndefined.ts","node_modules/react-hook-form/src/utils/isObject.ts","node_modules/react-hook-form/src/logic/getEventValue.ts","node_modules/react-hook-form/src/logic/isNameInFieldArray.ts","node_modules/react-hook-form/src/logic/getNodeParentName.ts","node_modules/react-hook-form/src/utils/isPlainObject.ts","node_modules/react-hook-form/src/utils/isWeb.ts","node_modules/react-hook-form/src/utils/cloneObject.ts","node_modules/react-hook-form/src/utils/compact.ts","node_modules/react-hook-form/src/utils/isUndefined.ts","node_modules/react-hook-form/src/utils/get.ts","node_modules/react-hook-form/src/utils/isBoolean.ts","node_modules/react-hook-form/src/constants.ts","node_modules/react-hook-form/src/useFormContext.tsx","node_modules/react-hook-form/src/logic/getProxyFormState.ts","node_modules/react-hook-form/src/utils/isEmptyObject.ts","node_modules/react-hook-form/src/logic/shouldRenderFormState.ts","node_modules/react-hook-form/src/utils/convertToArrayPayload.ts","node_modules/react-hook-form/src/logic/shouldSubscribeByName.ts","node_modules/react-hook-form/src/useSubscribe.ts","node_modules/react-hook-form/src/useFormState.ts","node_modules/react-hook-form/src/utils/isString.ts","node_modules/react-hook-form/src/logic/generateWatchOutput.ts","node_modules/react-hook-form/src/useWatch.ts","node_modules/react-hook-form/src/utils/isKey.ts","node_modules/react-hook-form/src/utils/stringToPath.ts","node_modules/react-hook-form/src/utils/set.ts","node_modules/react-hook-form/src/useController.ts","node_modules/react-hook-form/src/controller.tsx","node_modules/react-hook-form/src/form.tsx","node_modules/react-hook-form/src/logic/appendErrors.ts","node_modules/react-hook-form/src/logic/generateId.ts","node_modules/react-hook-form/src/logic/getFocusFieldName.ts","node_modules/react-hook-form/src/logic/getValidationModes.ts","node_modules/react-hook-form/src/logic/isWatched.ts","node_modules/react-hook-form/src/logic/iterateFieldsByAction.ts","node_modules/react-hook-form/src/logic/updateFieldArrayRootError.ts","node_modules/react-hook-form/src/utils/isFileInput.ts","node_modules/react-hook-form/src/utils/isFunction.ts","node_modules/react-hook-form/src/utils/isHTMLElement.ts","node_modules/react-hook-form/src/utils/isMessage.ts","node_modules/react-hook-form/src/utils/isRadioInput.ts","node_modules/react-hook-form/src/utils/isRegex.ts","node_modules/react-hook-form/src/logic/getCheckboxValue.ts","node_modules/react-hook-form/src/logic/getRadioValue.ts","node_modules/react-hook-form/src/logic/getValidateError.ts","node_modules/react-hook-form/src/logic/getValueAndMessage.ts","node_modules/react-hook-form/src/logic/validateField.ts","node_modules/react-hook-form/src/utils/append.ts","node_modules/react-hook-form/src/utils/fillEmptyArray.ts","node_modules/react-hook-form/src/utils/insert.ts","node_modules/react-hook-form/src/utils/move.ts","node_modules/react-hook-form/src/utils/prepend.ts","node_modules/react-hook-form/src/utils/remove.ts","node_modules/react-hook-form/src/utils/swap.ts","node_modules/react-hook-form/src/utils/unset.ts","node_modules/react-hook-form/src/utils/update.ts","node_modules/react-hook-form/src/useFieldArray.ts","node_modules/react-hook-form/src/utils/createSubject.ts","node_modules/react-hook-form/src/utils/isPrimitive.ts","node_modules/react-hook-form/src/utils/deepEqual.ts","node_modules/react-hook-form/src/utils/isMultipleSelect.ts","node_modules/react-hook-form/src/utils/isRadioOrCheckbox.ts","node_modules/react-hook-form/src/utils/live.ts","node_modules/react-hook-form/src/utils/objectHasFunction.ts","node_modules/react-hook-form/src/logic/getDirtyFields.ts","node_modules/react-hook-form/src/logic/getFieldValueAs.ts","node_modules/react-hook-form/src/logic/getFieldValue.ts","node_modules/react-hook-form/src/logic/getResolverOptions.ts","node_modules/react-hook-form/src/logic/getRuleValue.ts","node_modules/react-hook-form/src/logic/hasValidation.ts","node_modules/react-hook-form/src/logic/schemaErrorLookup.ts","node_modules/react-hook-form/src/logic/skipValidation.ts","node_modules/react-hook-form/src/logic/unsetEmptyArray.ts","node_modules/react-hook-form/src/logic/createFormControl.ts","node_modules/react-hook-form/src/useForm.ts"],"sourcesContent":["import { Asset } from 'expo-asset';\n\n// @needsAudit\n/**\n * The different types of assets you can provide to the [`loadAsync()`](#loadAsync) function.\n * A font source can be a URI, a module ID, or an Expo Asset.\n */\nexport type FontSource = string | number | Asset | FontResource;\n\n// @needsAudit\n/**\n * An object used to dictate the resource that is loaded into the provided font namespace when used\n * with [`loadAsync`](#loadasync).\n */\nexport type FontResource = {\n uri?: string | number;\n /**\n * Sets the [`font-display`](#fontdisplay) property for a given typeface in the browser.\n * @platform web\n */\n display?: FontDisplay;\n default?: string;\n};\n\n// @needsAudit\n/**\n * Sets the [font-display](https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display)\n * for a given typeface. The default font value on web is `FontDisplay.AUTO`.\n * Even though setting the `fontDisplay` does nothing on native platforms, the default behavior\n * emulates `FontDisplay.SWAP` on flagship devices like iOS, Samsung, Pixel, etc. Default\n * functionality varies on One Plus devices. In the browser this value is set in the generated\n * `@font-face` CSS block and not as a style property meaning you cannot dynamically change this\n * value based on the element it's used in.\n * @platform web\n */\nexport enum FontDisplay {\n /**\n * __(Default)__ The font display strategy is defined by the user agent or platform.\n * This generally defaults to the text being invisible until the font is loaded.\n * Good for buttons or banners that require a specific treatment.\n */\n AUTO = 'auto',\n /**\n * Fallback text is rendered immediately with a default font while the desired font is loaded.\n * This is good for making the content appear to load instantly and is usually preferred.\n */\n SWAP = 'swap',\n /**\n * The text will be invisible until the font has loaded. If the font fails to load then nothing\n * will appear - it's best to turn this off when debugging missing text.\n */\n BLOCK = 'block',\n /**\n * Splits the behavior between `SWAP` and `BLOCK`.\n * There will be a [100ms timeout](https://developers.google.com/web/updates/2016/02/font-display?hl=en)\n * where the text with a custom font is invisible, after that the text will either swap to the\n * styled text or it'll show the unstyled text and continue to load the custom font. This is good\n * for buttons that need a custom font but should also be quickly available to screen-readers.\n */\n FALLBACK = 'fallback',\n /**\n * This works almost identically to `FALLBACK`, the only difference is that the browser will\n * decide to load the font based on slow connection speed or critical resource demand.\n */\n OPTIONAL = 'optional',\n}\n\n// @needsAudit\n/**\n * Object used to query fonts for unloading.\n */\nexport type UnloadFontOptions = Pick;\n","import { CodedError, Platform } from 'expo-modules-core';\nimport FontObserver from 'fontfaceobserver';\n\nimport { UnloadFontOptions } from './Font';\nimport { FontDisplay, FontResource } from './Font.types';\n\nfunction getFontFaceStyleSheet(): CSSStyleSheet | null {\n if (!Platform.isDOMAvailable) {\n return null;\n }\n const styleSheet = getStyleElement();\n return styleSheet.sheet ? (styleSheet.sheet as CSSStyleSheet) : null;\n}\n\ntype RuleItem = { rule: CSSFontFaceRule; index: number };\n\nfunction getFontFaceRules(): RuleItem[] {\n const sheet = getFontFaceStyleSheet();\n if (sheet) {\n // @ts-ignore: rule iterator\n const rules = [...sheet.cssRules];\n\n const items: RuleItem[] = [];\n\n for (let i = 0; i < rules.length; i++) {\n const rule = rules[i];\n if (rule instanceof CSSFontFaceRule) {\n items.push({ rule, index: i });\n }\n }\n return items;\n }\n return [];\n}\n\nfunction getFontFaceRulesMatchingResource(\n fontFamilyName: string,\n options?: UnloadFontOptions\n): RuleItem[] {\n const rules = getFontFaceRules();\n return rules.filter(({ rule }) => {\n return (\n rule.style.fontFamily === fontFamilyName &&\n (options && options.display ? options.display === (rule.style as any).fontDisplay : true)\n );\n });\n}\n\nexport default {\n get name(): string {\n return 'ExpoFontLoader';\n },\n\n async unloadAllAsync(): Promise {\n if (!Platform.isDOMAvailable) return;\n\n const element = document.getElementById(ID);\n if (element && element instanceof HTMLStyleElement) {\n document.removeChild(element);\n }\n },\n\n async unloadAsync(fontFamilyName: string, options?: UnloadFontOptions): Promise {\n const sheet = getFontFaceStyleSheet();\n if (!sheet) return;\n const items = getFontFaceRulesMatchingResource(fontFamilyName, options);\n for (const item of items) {\n sheet.deleteRule(item.index);\n }\n },\n\n async loadAsync(fontFamilyName: string, resource: FontResource): Promise {\n if (!Platform.isDOMAvailable) {\n return;\n }\n\n const canInjectStyle = document.head && typeof document.head.appendChild === 'function';\n if (!canInjectStyle) {\n throw new CodedError(\n 'ERR_WEB_ENVIRONMENT',\n `The browser's \\`document.head\\` element doesn't support injecting fonts.`\n );\n }\n\n const style = _createWebStyle(fontFamilyName, resource);\n document.head!.appendChild(style);\n\n if (!isFontLoadingListenerSupported()) {\n return;\n }\n\n return new FontObserver(fontFamilyName, { display: resource.display }).load();\n },\n};\n\nconst ID = 'expo-generated-fonts';\n\nfunction getStyleElement(): HTMLStyleElement {\n const element = document.getElementById(ID);\n if (element && element instanceof HTMLStyleElement) {\n return element;\n }\n const styleElement = document.createElement('style');\n styleElement.id = ID;\n styleElement.type = 'text/css';\n return styleElement;\n}\n\nfunction _createWebStyle(fontFamily: string, resource: FontResource): HTMLStyleElement {\n const fontStyle = `@font-face {\n font-family: ${fontFamily};\n src: url(${resource.uri});\n font-display: ${resource.display || FontDisplay.AUTO};\n }`;\n\n const styleElement = getStyleElement();\n // @ts-ignore: TypeScript does not define HTMLStyleElement::styleSheet. This is just for IE and\n // possibly can be removed if it's unnecessary on IE 11.\n if (styleElement.styleSheet) {\n const styleElementIE = styleElement as any;\n styleElementIE.styleSheet.cssText = styleElementIE.styleSheet.cssText\n ? styleElementIE.styleSheet.cssText + fontStyle\n : fontStyle;\n } else {\n const textNode = document.createTextNode(fontStyle);\n styleElement.appendChild(textNode);\n }\n return styleElement;\n}\n\nfunction isFontLoadingListenerSupported(): boolean {\n const { userAgent } = window.navigator;\n // WebKit is broken https://github.com/bramstein/fontfaceobserver/issues/95\n const isIOS = !!userAgent.match(/iPad|iPhone/i);\n const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n // Edge is broken https://github.com/bramstein/fontfaceobserver/issues/109#issuecomment-333356795\n const isEdge = userAgent.includes('Edge');\n // Internet Explorer\n const isIE = userAgent.includes('Trident');\n // Firefox\n const isFirefox = userAgent.includes('Firefox');\n return !isSafari && !isIOS && !isEdge && !isIE && !isFirefox;\n}\n","import type { PackagerAsset } from '@react-native/assets-registry/registry';\nimport { Platform } from 'expo-modules-core';\nimport { PixelRatio } from 'react-native';\n\nexport type ResolvedAssetSource = {\n __packager_asset: boolean;\n width?: number;\n height?: number;\n uri: string;\n scale: number;\n};\n\n// Returns the Metro dev server-specific asset location.\nfunction getScaledAssetPath(asset): string {\n const scale = AssetSourceResolver.pickScale(asset.scales, PixelRatio.get());\n const scaleSuffix = scale === 1 ? '' : '@' + scale + 'x';\n const type = !asset.type ? '' : `.${asset.type}`;\n if (__DEV__) {\n return asset.httpServerLocation + '/' + asset.name + scaleSuffix + type;\n } else {\n return asset.httpServerLocation.replace(/\\.\\.\\//g, '_') + '/' + asset.name + scaleSuffix + type;\n }\n}\n\nexport default class AssetSourceResolver {\n serverUrl: string;\n // where the jsbundle is being run from\n // NOTE(EvanBacon): Never defined on web.\n jsbundleUrl?: string | null;\n // the asset to resolve\n asset: PackagerAsset;\n\n constructor(\n serverUrl: string | undefined | null,\n jsbundleUrl: string | undefined | null,\n asset: PackagerAsset\n ) {\n this.serverUrl = serverUrl || 'https://expo.dev';\n this.jsbundleUrl = null;\n this.asset = asset;\n }\n\n // Always true for web runtimes\n isLoadedFromServer(): boolean {\n return true;\n }\n\n // Always false for web runtimes\n isLoadedFromFileSystem(): boolean {\n return false;\n }\n\n defaultAsset(): ResolvedAssetSource {\n return this.assetServerURL();\n }\n\n /**\n * @returns absolute remote URL for the hosted asset.\n */\n assetServerURL(): ResolvedAssetSource {\n const fromUrl = new URL(getScaledAssetPath(this.asset), this.serverUrl);\n fromUrl.searchParams.set('platform', Platform.OS);\n fromUrl.searchParams.set('hash', this.asset.hash);\n return this.fromSource(\n // Relative on web\n fromUrl.toString().replace(fromUrl.origin, '')\n );\n }\n\n fromSource(source: string): ResolvedAssetSource {\n return {\n __packager_asset: true,\n width: this.asset.width ?? undefined,\n height: this.asset.height ?? undefined,\n uri: source,\n scale: AssetSourceResolver.pickScale(this.asset.scales, PixelRatio.get()),\n };\n }\n\n static pickScale(scales: number[], deviceScale: number): number {\n for (let i = 0; i < scales.length; i++) {\n if (scales[i] >= deviceScale) {\n return scales[i];\n }\n }\n return scales[scales.length - 1] || 1;\n }\n}\n","export const IS_MANAGED_ENV = false;\nexport const IS_ENV_WITH_UPDATES_ENABLED = false;\nexport const IS_ENV_WITHOUT_UPDATES_ENABLED = false;\n\n// Compute manifest base URL if available\nexport const manifestBaseUrl = null;\n\nexport async function downloadAsync(uri, hash, type, name): Promise {\n return uri;\n}\n\nexport function getManifest() {\n return {};\n}\n\nexport function getManifest2() {\n return {};\n}\n","import type { PackagerAsset } from '@react-native/assets-registry/registry';\nimport { Platform } from 'expo-modules-core';\nimport { PixelRatio } from 'react-native';\n\nimport AssetSourceResolver from './AssetSourceResolver';\nimport { getManifest, getManifest2, manifestBaseUrl } from './PlatformUtils';\n\n// @docsMissing\nexport type AssetMetadata = Pick<\n PackagerAsset,\n 'httpServerLocation' | 'name' | 'hash' | 'type' | 'scales' | 'width' | 'height'\n> & {\n uri?: string;\n fileHashes?: string[];\n fileUris?: string[];\n};\n\nexport type AssetSource = {\n uri: string;\n hash: string;\n};\n\n// Fast lookup check if asset map has any overrides in the manifest.\n// This value will always be either null or an absolute URL, e.g. `https://expo.dev/`\nconst assetMapOverride = getManifest().assetMapOverride;\n\n/**\n * Selects the best file for the given asset (ex: choosing the best scale for images) and returns\n * a { uri, hash } pair for the specific asset file.\n *\n * If the asset isn't an image with multiple scales, the first file is selected.\n */\nexport function selectAssetSource(meta: AssetMetadata): AssetSource {\n // Override with the asset map in manifest if available\n if (assetMapOverride && assetMapOverride.hasOwnProperty(meta.hash)) {\n meta = { ...meta, ...assetMapOverride[meta.hash] };\n }\n\n // This logic is based on that of AssetSourceResolver, with additional support for file hashes and\n // explicitly provided URIs\n const scale = AssetSourceResolver.pickScale(meta.scales, PixelRatio.get());\n const index = meta.scales.findIndex((s) => s === scale);\n const hash = meta.fileHashes ? meta.fileHashes[index] || meta.fileHashes[0] : meta.hash;\n\n // Allow asset processors to directly provide the URL to load\n const uri = meta.fileUris ? meta.fileUris[index] || meta.fileUris[0] : meta.uri;\n if (uri) {\n return { uri: resolveUri(uri), hash };\n }\n\n // Check if the assetUrl was overridden in the manifest\n const assetUrlOverride = getManifest().assetUrlOverride;\n if (assetUrlOverride) {\n const uri = pathJoin(assetUrlOverride, hash);\n return { uri: resolveUri(uri), hash };\n }\n\n const fileScale = scale === 1 ? '' : `@${scale}x`;\n const fileExtension = meta.type ? `.${encodeURIComponent(meta.type)}` : '';\n const suffix = `/${encodeURIComponent(meta.name)}${fileScale}${fileExtension}`;\n const params = new URLSearchParams({\n platform: Platform.OS,\n hash: meta.hash,\n });\n\n // For assets with a specified absolute URL, we use the existing origin instead of prepending the\n // development server or production CDN URL origin\n if (/^https?:\\/\\//.test(meta.httpServerLocation)) {\n const uri = meta.httpServerLocation + suffix + '?' + params;\n return { uri, hash };\n }\n\n // For assets during development using manifest2, we use the development server's URL origin\n const manifest2 = getManifest2();\n\n const devServerUrl = manifest2?.extra?.expoGo?.developer\n ? 'http://' + manifest2.extra.expoGo.debuggerHost\n : // For assets during development, we use the development server's URL origin\n getManifest().developer\n ? getManifest().bundleUrl\n : null;\n if (devServerUrl) {\n const baseUrl = new URL(meta.httpServerLocation + suffix, devServerUrl);\n\n baseUrl.searchParams.set('platform', Platform.OS);\n baseUrl.searchParams.set('hash', meta.hash);\n return {\n uri: baseUrl.href,\n hash,\n };\n }\n\n // Production CDN URIs are based on each asset file hash\n return {\n uri: `https://classic-assets.eascdn.net/~assets/${encodeURIComponent(hash)}`,\n hash,\n };\n}\n\n/**\n * Resolves the given URI to an absolute URI. If the given URI is already an absolute URI, it is\n * simply returned. Otherwise, if it is a relative URI, it is resolved relative to the manifest's\n * base URI.\n */\nexport function resolveUri(uri: string): string {\n // `manifestBaseUrl` is always an absolute URL or `null`.\n return manifestBaseUrl ? new URL(uri, manifestBaseUrl).href : uri;\n}\n\n// A very cheap path canonicalization like path.join but without depending on a `path` polyfill.\nexport function pathJoin(...paths: string[]): string {\n // Start by simply combining paths, without worrying about \"..\" or \".\"\n const combined = paths\n .map((part, index) => {\n if (index === 0) {\n return part.trim().replace(/\\/*$/, '');\n }\n return part.trim().replace(/(^\\/*|\\/*$)/g, '');\n })\n .filter((part) => part.length > 0)\n .join('/')\n .split('/');\n\n // Handle \"..\" and \".\" in paths\n const resolved: string[] = [];\n for (const part of combined) {\n if (part === '..') {\n resolved.pop(); // Remove the last element from the result\n } else if (part !== '.') {\n resolved.push(part);\n }\n }\n\n return resolved.join('/');\n}\n","import { getAssetByID } from '@react-native/assets-registry/registry';\n\nimport AssetSourceResolver, { ResolvedAssetSource } from './AssetSourceResolver';\n\nlet _customSourceTransformer;\n\nexport function setCustomSourceTransformer(\n transformer: (resolver: AssetSourceResolver) => ResolvedAssetSource\n): void {\n _customSourceTransformer = transformer;\n}\n\n/**\n * `source` is either a number (opaque type returned by require('./foo.png'))\n * or an `ImageSource` like { uri: '' }\n */\nexport default function resolveAssetSource(source: any): ResolvedAssetSource | null {\n if (typeof source === 'object') {\n return source;\n }\n\n const asset = getAssetByID(source);\n if (!asset) {\n return null;\n }\n\n const resolver = new AssetSourceResolver(\n // Doesn't matter since this is removed on web\n 'https://expo.dev',\n null,\n asset\n );\n if (_customSourceTransformer) {\n return _customSourceTransformer(resolver);\n }\n return resolver.defaultAsset();\n}\n\nObject.defineProperty(resolveAssetSource, 'setCustomSourceTransformer', {\n get() {\n return setCustomSourceTransformer;\n },\n});\n\nexport const { pickScale } = AssetSourceResolver;\n","export function getFilename(url: string): string {\n const { pathname } = new URL(url);\n return pathname.substring(pathname.lastIndexOf('/') + 1);\n}\n\nexport function getFileExtension(url: string): string {\n const filename = getFilename(url);\n const dotIndex = filename.lastIndexOf('.');\n // Ignore leading dots for hidden files\n return dotIndex > 0 ? filename.substring(dotIndex) : '';\n}\n\n/**\n * Returns the base URL from a manifest's URL. For example, given a manifest hosted at\n * https://example.com/app/manifest.json, the base URL would be https://example.com/app/. Query\n * parameters and fragments also are removed.\n *\n * For an Expo-hosted project with a manifest hosted at https://exp.host/@user/project/index.exp, the\n * base URL would be https://exp.host/@user/project.\n *\n * We also normalize the \"exp\" protocol to \"http\" to handle internal URLs with the Expo schemes used\n * to tell the OS to open the URLs in the the Expo client.\n */\nexport function getManifestBaseUrl(manifestUrl: string): string {\n const urlObject = new URL(manifestUrl);\n\n let nextProtocol = urlObject.protocol;\n // Change the scheme to http(s) if it is exp(s)\n if (nextProtocol === 'exp:') {\n nextProtocol = 'http:';\n } else if (nextProtocol === 'exps:') {\n nextProtocol = 'https:';\n }\n urlObject.protocol = nextProtocol;\n\n // Trim filename, query parameters, and fragment, if any\n const directory = urlObject.pathname.substring(0, urlObject.pathname.lastIndexOf('/') + 1);\n urlObject.pathname = directory;\n urlObject.search = '';\n urlObject.hash = '';\n\n // The URL spec doesn't allow for changing the protocol to `http` or `https`\n // without a port set so instead, we'll just swap the protocol manually.\n return urlObject.protocol !== nextProtocol\n ? urlObject.href.replace(urlObject.protocol, nextProtocol)\n : urlObject.href;\n}\n","import { getAssetByID } from '@react-native/assets-registry/registry';\nimport { Platform } from 'expo-modules-core';\n\nimport { AssetMetadata, selectAssetSource } from './AssetSources';\nimport * as AssetUris from './AssetUris';\nimport * as ImageAssets from './ImageAssets';\nimport { getLocalAssetUri } from './LocalAssets';\nimport { downloadAsync, IS_ENV_WITH_UPDATES_ENABLED } from './PlatformUtils';\nimport resolveAssetSource from './resolveAssetSource';\n\n// @docsMissing\nexport type AssetDescriptor = {\n name: string;\n type: string;\n hash?: string | null;\n uri: string;\n width?: number | null;\n height?: number | null;\n};\n\ntype DownloadPromiseCallbacks = {\n resolve: () => void;\n reject: (error: Error) => void;\n};\n\nexport { AssetMetadata };\n\n// @needsAudit\n/**\n * The `Asset` class represents an asset in your app. It gives metadata about the asset (such as its\n * name and type) and provides facilities to load the asset data.\n */\nexport class Asset {\n /**\n * @private\n */\n static byHash = {};\n /**\n * @private\n */\n static byUri = {};\n\n /**\n * The name of the asset file without the extension. Also without the part from `@` onward in the\n * filename (used to specify scale factor for images).\n */\n name: string;\n /**\n * The extension of the asset filename.\n */\n type: string;\n /**\n * The MD5 hash of the asset's data.\n */\n hash: string | null = null;\n /**\n * A URI that points to the asset's data on the remote server. When running the published version\n * of your app, this refers to the location on Expo's asset server where Expo has stored your\n * asset. When running the app from Expo CLI during development, this URI points to Expo CLI's\n * server running on your computer and the asset is served directly from your computer. If you\n * are not using Classic Updates (legacy), this field should be ignored as we ensure your assets\n * are on device before before running your application logic.\n */\n uri: string;\n /**\n * If the asset has been downloaded (by calling [`downloadAsync()`](#downloadasync)), the\n * `file://` URI pointing to the local file on the device that contains the asset data.\n */\n localUri: string | null = null;\n /**\n * If the asset is an image, the width of the image data divided by the scale factor. The scale\n * factor is the number after `@` in the filename, or `1` if not present.\n */\n width: number | null = null;\n /**\n * If the asset is an image, the height of the image data divided by the scale factor. The scale factor is the number after `@` in the filename, or `1` if not present.\n */\n height: number | null = null;\n // @docsMissing\n downloading: boolean = false;\n // @docsMissing\n downloaded: boolean = false;\n\n /**\n * @private\n */\n _downloadCallbacks: DownloadPromiseCallbacks[] = [];\n\n constructor({ name, type, hash = null, uri, width, height }: AssetDescriptor) {\n this.name = name;\n this.type = type;\n this.hash = hash;\n this.uri = uri;\n\n if (typeof width === 'number') {\n this.width = width;\n }\n if (typeof height === 'number') {\n this.height = height;\n }\n\n if (hash) {\n this.localUri = getLocalAssetUri(hash, type);\n if (this.localUri) {\n this.downloaded = true;\n }\n }\n\n if (Platform.OS === 'web') {\n if (!name) {\n this.name = AssetUris.getFilename(uri);\n }\n if (!type) {\n this.type = AssetUris.getFileExtension(uri);\n }\n }\n }\n\n // @needsAudit\n /**\n * A helper that wraps `Asset.fromModule(module).downloadAsync` for convenience.\n * @param moduleId An array of `require('path/to/file')` or external network URLs. Can also be\n * just one module or URL without an Array.\n * @return Returns a Promise that fulfills with an array of `Asset`s when the asset(s) has been\n * saved to disk.\n * @example\n * ```ts\n * const [{ localUri }] = await Asset.loadAsync(require('./assets/snack-icon.png'));\n * ```\n */\n static loadAsync(moduleId: number | number[] | string | string[]): Promise {\n const moduleIds = Array.isArray(moduleId) ? moduleId : [moduleId];\n return Promise.all(moduleIds.map((moduleId) => Asset.fromModule(moduleId).downloadAsync()));\n }\n\n // @needsAudit\n /**\n * Returns the [`Asset`](#asset) instance representing an asset given its module or URL.\n * @param virtualAssetModule The value of `require('path/to/file')` for the asset or external\n * network URL\n * @return The [`Asset`](#asset) instance for the asset.\n */\n static fromModule(virtualAssetModule: number | string): Asset {\n if (typeof virtualAssetModule === 'string') {\n return Asset.fromURI(virtualAssetModule);\n }\n\n const meta = getAssetByID(virtualAssetModule);\n if (!meta) {\n throw new Error(`Module \"${virtualAssetModule}\" is missing from the asset registry`);\n }\n\n // Outside of the managed env we need the moduleId to initialize the asset\n // because resolveAssetSource depends on it\n if (!IS_ENV_WITH_UPDATES_ENABLED) {\n // null-check is performed above with `getAssetByID`.\n const { uri } = resolveAssetSource(virtualAssetModule)!;\n\n const asset = new Asset({\n name: meta.name,\n type: meta.type,\n hash: meta.hash,\n uri,\n width: meta.width,\n height: meta.height,\n });\n\n // TODO: FileSystem should probably support 'downloading' from drawable\n // resources But for now it doesn't (it only supports raw resources) and\n // React Native's Image works fine with drawable resource names for\n // images.\n if (Platform.OS === 'android' && !uri.includes(':') && (meta.width || meta.height)) {\n asset.localUri = asset.uri;\n asset.downloaded = true;\n }\n\n Asset.byHash[meta.hash] = asset;\n return asset;\n }\n\n return Asset.fromMetadata(meta);\n }\n\n // @docsMissing\n static fromMetadata(meta: AssetMetadata): Asset {\n // The hash of the whole asset, not to be confused with the hash of a specific file returned\n // from `selectAssetSource`\n const metaHash = meta.hash;\n if (Asset.byHash[metaHash]) {\n return Asset.byHash[metaHash];\n }\n\n const { uri, hash } = selectAssetSource(meta);\n const asset = new Asset({\n name: meta.name,\n type: meta.type,\n hash,\n uri,\n width: meta.width,\n height: meta.height,\n });\n Asset.byHash[metaHash] = asset;\n return asset;\n }\n\n // @docsMissing\n static fromURI(uri: string): Asset {\n if (Asset.byUri[uri]) {\n return Asset.byUri[uri];\n }\n\n // Possibly a Base64-encoded URI\n let type = '';\n if (uri.indexOf(';base64') > -1) {\n type = uri.split(';')[0].split('/')[1];\n } else {\n const extension = AssetUris.getFileExtension(uri);\n type = extension.startsWith('.') ? extension.substring(1) : extension;\n }\n\n const asset = new Asset({\n name: '',\n type,\n hash: null,\n uri,\n });\n\n Asset.byUri[uri] = asset;\n\n return asset;\n }\n\n // @needsAudit\n /**\n * Downloads the asset data to a local file in the device's cache directory. Once the returned\n * promise is fulfilled without error, the [`localUri`](#assetlocaluri) field of this asset points\n * to a local file containing the asset data. The asset is only downloaded if an up-to-date local\n * file for the asset isn't already present due to an earlier download. The downloaded `Asset`\n * will be returned when the promise is resolved.\n * @return Returns a Promise which fulfills with an `Asset` instance.\n */\n async downloadAsync(): Promise {\n if (this.downloaded) {\n return this;\n }\n if (this.downloading) {\n await new Promise((resolve, reject) => {\n this._downloadCallbacks.push({ resolve, reject });\n });\n return this;\n }\n this.downloading = true;\n\n try {\n if (Platform.OS === 'web') {\n if (ImageAssets.isImageType(this.type)) {\n const { width, height, name } = await ImageAssets.getImageInfoAsync(this.uri);\n this.width = width;\n this.height = height;\n this.name = name;\n } else {\n this.name = AssetUris.getFilename(this.uri);\n }\n }\n this.localUri = await downloadAsync(this.uri, this.hash, this.type, this.name);\n\n this.downloaded = true;\n this._downloadCallbacks.forEach(({ resolve }) => resolve());\n } catch (e) {\n this._downloadCallbacks.forEach(({ reject }) => reject(e));\n throw e;\n } finally {\n this.downloading = false;\n this._downloadCallbacks = [];\n }\n return this;\n }\n}\n","export function getLocalAssetUri(hash: string, type: string | null): string | null {\n // noop on web\n return null;\n}\n","/* eslint-env browser */\nimport { Platform } from 'expo-modules-core';\n\nimport { getFilename } from './AssetUris';\n\ntype ImageInfo = {\n name: string;\n width: number;\n height: number;\n};\n\nexport function isImageType(type: string): boolean {\n return /^(jpeg|jpg|gif|png|bmp|webp|heic)$/i.test(type);\n}\n\nexport function getImageInfoAsync(url: string): Promise {\n if (!Platform.isDOMAvailable) {\n return Promise.resolve({ name: getFilename(url), width: 0, height: 0 });\n }\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onerror = reject;\n img.onload = () => {\n resolve({\n name: getFilename(url),\n width: img.naturalWidth,\n height: img.naturalHeight,\n });\n };\n img.src = url;\n });\n}\n","import { Asset } from 'expo-asset';\nimport { CodedError } from 'expo-modules-core';\n\nimport ExpoFontLoader from './ExpoFontLoader';\nimport { FontResource, FontSource, FontDisplay } from './Font.types';\n\nfunction uriFromFontSource(asset: any): string | null {\n if (typeof asset === 'string') {\n return asset || null;\n } else if (typeof asset === 'object') {\n return asset.uri || asset.localUri || asset.default || null;\n } else if (typeof asset === 'number') {\n return uriFromFontSource(Asset.fromModule(asset));\n }\n return null;\n}\n\nfunction displayFromFontSource(asset: any): FontDisplay | undefined {\n return asset.display || FontDisplay.AUTO;\n}\n\nexport function fontFamilyNeedsScoping(name: string): boolean {\n return false;\n}\n\nexport function getAssetForSource(source: FontSource): Asset | FontResource {\n const uri = uriFromFontSource(source);\n const display = displayFromFontSource(source);\n\n if (!uri || typeof uri !== 'string') {\n throwInvalidSourceError(uri);\n }\n\n return {\n uri: uri!,\n display,\n };\n}\n\nfunction throwInvalidSourceError(source: any): never {\n let type: string = typeof source;\n if (type === 'object') type = JSON.stringify(source, null, 2);\n throw new CodedError(\n `ERR_FONT_SOURCE`,\n `Expected font asset of type \\`string | FontResource | Asset\\` instead got: ${type}`\n );\n}\n\nexport async function loadSingleFontAsync(\n name: string,\n input: Asset | FontResource\n): Promise {\n if (typeof input !== 'object' || typeof input.uri !== 'string' || (input as any).downloadAsync) {\n throwInvalidSourceError(input);\n }\n\n await ExpoFontLoader.loadAsync(name, input);\n}\n\nexport function getNativeFontName(name: string): string {\n return name;\n}\n","import { CodedError, UnavailabilityError } from 'expo-modules-core';\n\nimport ExpoFontLoader from './ExpoFontLoader';\nimport { FontDisplay, FontSource, FontResource, UnloadFontOptions } from './Font.types';\nimport {\n getAssetForSource,\n loadSingleFontAsync,\n fontFamilyNeedsScoping,\n getNativeFontName,\n} from './FontLoader';\n\nconst loaded: { [name: string]: boolean } = {};\nconst loadPromises: { [name: string]: Promise } = {};\n\n// @needsAudit\n// note(brentvatne): at some point we may want to warn if this is called outside of a managed app.\n/**\n * Used to transform font family names to the scoped name. This does not need to\n * be called in standalone or bare apps but it will return unscoped font family\n * names if it is called in those contexts.\n *\n * @param fontFamily Name of font to process.\n * @returns Returns a name processed for use with the [current workflow](https://docs.expo.dev/archive/managed-vs-bare/).\n */\nexport function processFontFamily(fontFamily: string | null): string | null {\n if (!fontFamily || !fontFamilyNeedsScoping(fontFamily)) {\n return fontFamily;\n }\n\n if (!isLoaded(fontFamily)) {\n if (__DEV__) {\n if (isLoading(fontFamily)) {\n console.error(\n `You started loading the font \"${fontFamily}\", but used it before it finished loading. You need to wait for Font.loadAsync to complete before using the font.`\n );\n } else {\n console.error(\n `fontFamily \"${fontFamily}\" is not a system font and has not been loaded through Font.loadAsync.\\n\n- If you intended to use a system font, make sure you typed the name correctly and that it is supported by your device operating system.\\n\n- If this is a custom font, be sure to load it with Font.loadAsync.`\n );\n }\n }\n\n return 'System';\n }\n\n return `ExpoFont-${getNativeFontName(fontFamily)}`;\n}\n\n// @needsAudit\n/**\n * Synchronously detect if the font for `fontFamily` has finished loading.\n *\n * @param fontFamily The name used to load the `FontResource`.\n * @return Returns `true` if the font has fully loaded.\n */\nexport function isLoaded(fontFamily: string): boolean {\n return fontFamily in loaded;\n}\n\n// @needsAudit\n/**\n * Synchronously detect if the font for `fontFamily` is still being loaded.\n *\n * @param fontFamily The name used to load the `FontResource`.\n * @returns Returns `true` if the font is still loading.\n */\nexport function isLoading(fontFamily: string): boolean {\n return fontFamily in loadPromises;\n}\n\n// @needsAudit\n/**\n * Highly efficient method for loading fonts from static or remote resources which can then be used\n * with the platform's native text elements. In the browser this generates a `@font-face` block in\n * a shared style sheet for fonts. No CSS is needed to use this method.\n *\n * @param fontFamilyOrFontMap string or map of values that can be used as the [`fontFamily`](https://reactnative.dev/docs/text#style)\n * style prop with React Native Text elements.\n * @param source the font asset that should be loaded into the `fontFamily` namespace.\n *\n * @return Returns a promise that fulfils when the font has loaded. Often you may want to wrap the\n * method in a `try/catch/finally` to ensure the app continues if the font fails to load.\n */\nexport async function loadAsync(\n fontFamilyOrFontMap: string | Record,\n source?: FontSource\n): Promise {\n if (typeof fontFamilyOrFontMap === 'object') {\n if (source) {\n throw new CodedError(\n `ERR_FONT_API`,\n `No fontFamily can be used for the provided source: ${source}. The second argument of \\`loadAsync()\\` can only be used with a \\`string\\` value as the first argument.`\n );\n }\n const fontMap = fontFamilyOrFontMap;\n const names = Object.keys(fontMap);\n await Promise.all(names.map((name) => loadFontInNamespaceAsync(name, fontMap[name])));\n return;\n }\n\n return await loadFontInNamespaceAsync(fontFamilyOrFontMap, source);\n}\n\nasync function loadFontInNamespaceAsync(\n fontFamily: string,\n source?: FontSource | null\n): Promise {\n if (!source) {\n throw new CodedError(\n `ERR_FONT_SOURCE`,\n `Cannot load null or undefined font source: { \"${fontFamily}\": ${source} }. Expected asset of type \\`FontSource\\` for fontFamily of name: \"${fontFamily}\"`\n );\n }\n\n if (loaded[fontFamily]) {\n return;\n }\n\n if (loadPromises.hasOwnProperty(fontFamily)) {\n return loadPromises[fontFamily];\n }\n\n // Important: we want all callers that concurrently try to load the same font to await the same\n // promise. If we're here, we haven't created the promise yet. To ensure we create only one\n // promise in the program, we need to create the promise synchronously without yielding the event\n // loop from this point.\n\n const asset = getAssetForSource(source);\n loadPromises[fontFamily] = (async () => {\n try {\n await loadSingleFontAsync(fontFamily, asset);\n loaded[fontFamily] = true;\n } finally {\n delete loadPromises[fontFamily];\n }\n })();\n\n await loadPromises[fontFamily];\n}\n\n// @needsAudit\n/**\n * Unloads all the custom fonts. This is used for testing.\n */\nexport async function unloadAllAsync(): Promise {\n if (!ExpoFontLoader.unloadAllAsync) {\n throw new UnavailabilityError('expo-font', 'unloadAllAsync');\n }\n\n if (Object.keys(loadPromises).length) {\n throw new CodedError(\n `ERR_UNLOAD`,\n `Cannot unload fonts while they're still loading: ${Object.keys(loadPromises).join(', ')}`\n );\n }\n\n for (const fontFamily of Object.keys(loaded)) {\n delete loaded[fontFamily];\n }\n\n await ExpoFontLoader.unloadAllAsync();\n}\n\n// @needsAudit\n/**\n * Unload custom fonts matching the `fontFamily`s and display values provided.\n * Because fonts are automatically unloaded on every platform this is mostly used for testing.\n *\n * @param fontFamilyOrFontMap The name or names of the custom fonts that will be unloaded.\n * @param options When `fontFamilyOrFontMap` is a string, this should be the font source used to load\n * the custom font originally.\n */\nexport async function unloadAsync(\n fontFamilyOrFontMap: string | Record,\n options?: UnloadFontOptions\n): Promise {\n if (!ExpoFontLoader.unloadAsync) {\n throw new UnavailabilityError('expo-font', 'unloadAsync');\n }\n if (typeof fontFamilyOrFontMap === 'object') {\n if (options) {\n throw new CodedError(\n `ERR_FONT_API`,\n `No fontFamily can be used for the provided options: ${options}. The second argument of \\`unloadAsync()\\` can only be used with a \\`string\\` value as the first argument.`\n );\n }\n const fontMap = fontFamilyOrFontMap;\n const names = Object.keys(fontMap);\n await Promise.all(names.map((name) => unloadFontInNamespaceAsync(name, fontMap[name])));\n return;\n }\n\n return await unloadFontInNamespaceAsync(fontFamilyOrFontMap, options);\n}\n\nasync function unloadFontInNamespaceAsync(\n fontFamily: string,\n options?: UnloadFontOptions | null\n): Promise {\n if (!loaded[fontFamily]) {\n return;\n } else {\n delete loaded[fontFamily];\n }\n\n // Important: we want all callers that concurrently try to load the same font to await the same\n // promise. If we're here, we haven't created the promise yet. To ensure we create only one\n // promise in the program, we need to create the promise synchronously without yielding the event\n // loop from this point.\n\n const nativeFontName = getNativeFontName(fontFamily);\n\n if (!nativeFontName) {\n throw new CodedError(`ERR_FONT_FAMILY`, `Cannot unload an empty name`);\n }\n\n await ExpoFontLoader.unloadAsync(nativeFontName, options);\n}\n\nexport { FontDisplay, FontSource, FontResource, UnloadFontOptions };\n","import { Platform, NativeModules } from 'react-native';\n\nconst NativeIconAPI =\n NativeModules.RNVectorIconsManager || NativeModules.RNVectorIconsModule;\n\nexport default function ensureNativeModuleAvailable() {\n if (!NativeIconAPI) {\n if (Platform.OS === 'android') {\n throw new Error(\n 'RNVectorIconsModule not available, did you properly integrate the module? Try running `react-native link react-native-vector-icons` and recompiling.'\n );\n }\n throw new Error(\n 'RNVectorIconsManager not available, did you add the library to your project and link with libRNVectorIcons.a? Try running `react-native link react-native-vector-icons` and recompiling.'\n );\n }\n}\n","const TYPE_VALUE = 'value';\nconst TYPE_ERROR = 'error';\n\nexport default function createIconSourceCache() {\n const cache = new Map();\n\n const setValue = (key, value) =>\n cache.set(key, { type: TYPE_VALUE, data: value });\n\n const setError = (key, error) =>\n cache.set(key, { type: TYPE_ERROR, data: error });\n\n const has = key => cache.has(key);\n\n const get = key => {\n if (!cache.has(key)) {\n return undefined;\n }\n const { type, data } = cache.get(key);\n if (type === TYPE_ERROR) {\n throw data;\n }\n return data;\n };\n\n return { setValue, setError, has, get };\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n */\n\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"activeOpacity\", \"children\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onHideUnderlay\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"onShowUnderlay\", \"rejectResponderTermination\", \"style\", \"testOnly_pressed\", \"underlayColor\"];\nimport * as React from 'react';\nimport { useCallback, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport { warnOnce } from '../../modules/warnOnce';\nfunction createExtraStyles(activeOpacity, underlayColor) {\n return {\n child: {\n opacity: activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.85\n },\n underlay: {\n backgroundColor: underlayColor === undefined ? 'black' : underlayColor\n }\n };\n}\nfunction hasPressHandler(props) {\n return props.onPress != null || props.onPressIn != null || props.onPressOut != null || props.onLongPress != null;\n}\n\n/**\n * A wrapper for making views respond properly to touches.\n * On press down, the opacity of the wrapped view is decreased, which allows\n * the underlay color to show through, darkening or tinting the view.\n *\n * The underlay comes from wrapping the child in a new View, which can affect\n * layout, and sometimes cause unwanted visual artifacts if not used correctly,\n * for example if the backgroundColor of the wrapped view isn't explicitly set\n * to an opaque color.\n *\n * TouchableHighlight must have one child (not zero or more than one).\n * If you wish to have several child components, wrap them in a View.\n */\nfunction TouchableHighlight(props, forwardedRef) {\n warnOnce('TouchableHighlight', 'TouchableHighlight is deprecated. Please use Pressable.');\n var activeOpacity = props.activeOpacity,\n children = props.children,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onHideUnderlay = props.onHideUnderlay,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n onShowUnderlay = props.onShowUnderlay,\n rejectResponderTermination = props.rejectResponderTermination,\n style = props.style,\n testOnly_pressed = props.testOnly_pressed,\n underlayColor = props.underlayColor,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var _useState = useState(testOnly_pressed === true ? createExtraStyles(activeOpacity, underlayColor) : null),\n extraStyles = _useState[0],\n setExtraStyles = _useState[1];\n var showUnderlay = useCallback(() => {\n if (!hasPressHandler(props)) {\n return;\n }\n setExtraStyles(createExtraStyles(activeOpacity, underlayColor));\n if (onShowUnderlay != null) {\n onShowUnderlay();\n }\n }, [activeOpacity, onShowUnderlay, props, underlayColor]);\n var hideUnderlay = useCallback(() => {\n if (testOnly_pressed === true) {\n return;\n }\n if (hasPressHandler(props)) {\n setExtraStyles(null);\n if (onHideUnderlay != null) {\n onHideUnderlay();\n }\n }\n }, [onHideUnderlay, props, testOnly_pressed]);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n onPressStart(event) {\n showUnderlay();\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressEnd(event) {\n hideUnderlay();\n if (onPressOut != null) {\n onPressOut(event);\n }\n }\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, showUnderlay, hideUnderlay]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var child = React.Children.only(children);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n pointerEvents: disabled ? 'box-none' : undefined,\n ref: setRef,\n style: [styles.root, style, !disabled && styles.actionable, extraStyles && extraStyles.underlay]\n }), /*#__PURE__*/React.cloneElement(child, {\n style: [child.props.style, extraStyles && extraStyles.child]\n }));\n}\nvar styles = StyleSheet.create({\n root: {\n userSelect: 'none'\n },\n actionable: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedTouchableHighlight = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(TouchableHighlight));\nMemoedTouchableHighlight.displayName = 'TouchableHighlight';\nexport default MemoedTouchableHighlight;","import React, { PureComponent } from 'react';\nimport { StyleSheet, Text, TouchableHighlight, View } from 'react-native';\nimport { pick, omit } from './object-utils';\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n justifyContent: 'flex-start',\n alignItems: 'center',\n padding: 8,\n },\n touchable: {\n overflow: 'hidden',\n },\n icon: {\n marginRight: 10,\n },\n text: {\n fontWeight: '600',\n backgroundColor: 'transparent',\n },\n});\n\nconst IOS7_BLUE = '#007AFF';\n\nconst TEXT_PROP_NAMES = [\n 'ellipsizeMode',\n 'numberOfLines',\n 'textBreakStrategy',\n 'selectable',\n 'suppressHighlighting',\n 'allowFontScaling',\n 'adjustsFontSizeToFit',\n 'minimumFontScale',\n];\n\nconst TOUCHABLE_PROP_NAMES = [\n 'accessible',\n 'accessibilityLabel',\n 'accessibilityHint',\n 'accessibilityComponentType',\n 'accessibilityRole',\n 'accessibilityStates',\n 'accessibilityTraits',\n 'onFocus',\n 'onBlur',\n 'disabled',\n 'onPress',\n 'onPressIn',\n 'onPressOut',\n 'onLayout',\n 'onLongPress',\n 'nativeID',\n 'testID',\n 'delayPressIn',\n 'delayPressOut',\n 'delayLongPress',\n 'activeOpacity',\n 'underlayColor',\n 'selectionColor',\n 'onShowUnderlay',\n 'onHideUnderlay',\n 'hasTVPreferredFocus',\n 'tvParallaxProperties',\n];\n\nexport default function createIconButtonComponent(Icon) {\n return class IconButton extends PureComponent {\n static defaultProps = {\n backgroundColor: IOS7_BLUE,\n borderRadius: 5,\n color: 'white',\n size: 20,\n };\n\n render() {\n const { style, iconStyle, children, ...restProps } = this.props;\n\n const iconProps = pick(\n restProps,\n TEXT_PROP_NAMES,\n 'style',\n 'name',\n 'size',\n 'color'\n );\n const touchableProps = pick(restProps, TOUCHABLE_PROP_NAMES);\n const props = omit(\n restProps,\n Object.keys(iconProps),\n Object.keys(touchableProps),\n 'iconStyle',\n 'borderRadius',\n 'backgroundColor'\n );\n iconProps.style = iconStyle ? [styles.icon, iconStyle] : styles.icon;\n\n const colorStyle = pick(this.props, 'color');\n const blockStyle = pick(this.props, 'backgroundColor', 'borderRadius');\n\n return (\n \n \n \n {typeof children === 'string' ? (\n \n {children}\n \n ) : (\n children\n )}\n \n \n );\n }\n };\n}\n","import React, { PureComponent } from 'react';\nimport {\n NativeModules,\n Platform,\n PixelRatio,\n processColor,\n Text,\n} from 'react-native';\n\nimport ensureNativeModuleAvailable from './ensure-native-module-available';\nimport createIconSourceCache from './create-icon-source-cache';\nimport createIconButtonComponent from './icon-button';\n\nexport const NativeIconAPI =\n NativeModules.RNVectorIconsManager || NativeModules.RNVectorIconsModule;\n\nexport const DEFAULT_ICON_SIZE = 12;\nexport const DEFAULT_ICON_COLOR = 'black';\n\nexport default function createIconSet(\n glyphMap,\n fontFamily,\n fontFile,\n fontStyle\n) {\n // Android doesn't care about actual fontFamily name, it will only look in fonts folder.\n const fontBasename = fontFile\n ? fontFile.replace(/\\.(otf|ttf)$/, '')\n : fontFamily;\n\n const fontReference = Platform.select({\n windows: `/Assets/${fontFile}#${fontFamily}`,\n android: fontBasename,\n web: fontBasename,\n default: fontFamily,\n });\n\n class Icon extends PureComponent {\n root = null;\n\n static defaultProps = {\n size: DEFAULT_ICON_SIZE,\n allowFontScaling: false,\n };\n\n setNativeProps(nativeProps) {\n if (this.root) {\n this.root.setNativeProps(nativeProps);\n }\n }\n\n handleRef = ref => {\n this.root = ref;\n };\n\n render() {\n const { name, size, color, style, children, ...props } = this.props;\n\n let glyph = name ? glyphMap[name] || '?' : '';\n if (typeof glyph === 'number') {\n glyph = String.fromCodePoint(glyph);\n }\n\n const styleDefaults = {\n fontSize: size,\n color,\n };\n\n const styleOverrides = {\n fontFamily: fontReference,\n fontWeight: 'normal',\n fontStyle: 'normal',\n };\n\n props.style = [styleDefaults, style, styleOverrides, fontStyle || {}];\n props.ref = this.handleRef;\n\n return (\n \n {glyph}\n {children}\n \n );\n }\n }\n\n const imageSourceCache = createIconSourceCache();\n\n function resolveGlyph(name) {\n const glyph = glyphMap[name] || '?';\n if (typeof glyph === 'number') {\n return String.fromCodePoint(glyph);\n }\n return glyph;\n }\n\n function getImageSourceSync(\n name,\n size = DEFAULT_ICON_SIZE,\n color = DEFAULT_ICON_COLOR\n ) {\n ensureNativeModuleAvailable();\n\n const glyph = resolveGlyph(name);\n const processedColor = processColor(color);\n const cacheKey = `${glyph}:${size}:${processedColor}`;\n\n if (imageSourceCache.has(cacheKey)) {\n return imageSourceCache.get(cacheKey);\n }\n try {\n const imagePath = NativeIconAPI.getImageForFontSync(\n fontReference,\n glyph,\n size,\n processedColor\n );\n const value = { uri: imagePath, scale: PixelRatio.get() };\n imageSourceCache.setValue(cacheKey, value);\n return value;\n } catch (error) {\n imageSourceCache.setError(cacheKey, error);\n throw error;\n }\n }\n\n async function getImageSource(\n name,\n size = DEFAULT_ICON_SIZE,\n color = DEFAULT_ICON_COLOR\n ) {\n ensureNativeModuleAvailable();\n\n const glyph = resolveGlyph(name);\n const processedColor = processColor(color);\n const cacheKey = `${glyph}:${size}:${processedColor}`;\n\n if (imageSourceCache.has(cacheKey)) {\n return imageSourceCache.get(cacheKey);\n }\n try {\n const imagePath = await NativeIconAPI.getImageForFont(\n fontReference,\n glyph,\n size,\n processedColor\n );\n const value = { uri: imagePath, scale: PixelRatio.get() };\n imageSourceCache.setValue(cacheKey, value);\n return value;\n } catch (error) {\n imageSourceCache.setError(cacheKey, error);\n throw error;\n }\n }\n\n async function loadFont(file = fontFile) {\n if (Platform.OS === 'ios') {\n ensureNativeModuleAvailable();\n if (!file) {\n throw new Error('Unable to load font, because no file was specified. ');\n }\n await NativeIconAPI.loadFontWithFileName(...file.split('.'));\n }\n }\n\n function hasIcon(name) {\n return Object.prototype.hasOwnProperty.call(glyphMap, name);\n }\n\n function getRawGlyphMap() {\n return glyphMap;\n }\n\n function getFontFamily() {\n return fontReference;\n }\n\n Icon.Button = createIconButtonComponent(Icon);\n Icon.getImageSource = getImageSource;\n Icon.getImageSourceSync = getImageSourceSync;\n Icon.loadFont = loadFont;\n Icon.hasIcon = hasIcon;\n Icon.getRawGlyphMap = getRawGlyphMap;\n Icon.getFontFamily = getFontFamily;\n\n return Icon;\n}\n","import MaterialCommunityIcons from './build/MaterialCommunityIcons';\nexport default MaterialCommunityIcons;\n","import * as Font from \"expo-font\";\nimport React, { ComponentClass } from \"react\";\nimport {\n Text,\n TextProps,\n TouchableHighlightProps,\n ViewProps,\n OpaqueColorValue,\n TextStyle,\n ViewStyle,\n} from \"react-native\";\n\nimport createIconSet from \"./vendor/react-native-vector-icons/lib/create-icon-set\";\nimport createIconButtonComponent from \"./vendor/react-native-vector-icons/lib/icon-button\";\n\nexport {\n DEFAULT_ICON_COLOR,\n DEFAULT_ICON_SIZE,\n} from \"./vendor/react-native-vector-icons/lib/create-icon-set\";\n\nexport interface IconProps extends TextProps {\n /**\n * Size of the icon, can also be passed as fontSize in the style object.\n *\n * @default 12\n */\n size?: number;\n\n /**\n * Name of the icon to show\n *\n * See Icon Explorer app\n * {@link https://expo.github.io/vector-icons/}\n */\n name: GLYPHS;\n\n /**\n * Color of the icon. Can be a string or OpaqueColorValue (returned from\n * PlatformColor(..))\n *\n */\n color?: string | OpaqueColorValue;\n}\n\nexport interface IconButtonProps\n extends IconProps,\n ViewProps,\n TouchableHighlightProps {\n /**\n * Text and icon color\n * Use iconStyle or nest a Text component if you need different colors.\n * Can be a string or OpaqueColorValue (returned from PlatformColor(..))\n *\n * @default 'white'\n */\n color?: string | OpaqueColorValue;\n\n /**\n * Border radius of the button\n * Set to 0 to disable.\n *\n * @default 5\n */\n borderRadius?: number;\n\n /**\n * Styles applied to the icon only\n * Good for setting margins or a different color.\n *\n * @default {marginRight: 10}\n */\n iconStyle?: TextStyle;\n\n /**\n * Style prop inherited from TextProps and TouchableWithoutFeedbackProperties\n * Only exist here so we can have ViewStyle or TextStyle\n *\n */\n style?: ViewStyle | TextStyle;\n\n /**\n * Background color of the button. Can be a string or OpaqueColorValue (returned from\n * PlatformColor(..))\n *\n * @default '#007AFF'\n */\n backgroundColor?: string | OpaqueColorValue;\n}\n\nexport type GlyphMap = { [K in G]: number | string };\n\nexport interface Icon {\n defaultProps: any;\n Button: ComponentClass>;\n glyphMap: GlyphMap;\n getRawGlyphMap: () => GlyphMap;\n getFontFamily: () => FN;\n loadFont: () => Promise;\n font: { [x: string]: any };\n new (props: IconProps): React.Component>;\n}\n\nexport default function (\n glyphMap: GlyphMap,\n fontName: FN,\n expoAssetId,\n fontStyle?: any\n): Icon {\n const font = { [fontName]: expoAssetId };\n const RNVIconComponent = createIconSet(glyphMap, fontName, null, fontStyle);\n\n return class Icon extends React.Component> {\n static defaultProps = RNVIconComponent.defaultProps;\n static Button = createIconButtonComponent(Icon);\n static glyphMap = glyphMap;\n static getRawGlyphMap = () => glyphMap;\n static getFontFamily = () => fontName;\n static loadFont = () => Font.loadAsync(font);\n static font = font;\n\n _mounted = false;\n _icon?: any;\n\n state = {\n fontIsLoaded: Font.isLoaded(fontName),\n };\n\n async componentDidMount() {\n this._mounted = true;\n if (!this.state.fontIsLoaded) {\n await Font.loadAsync(font);\n this._mounted && this.setState({ fontIsLoaded: true });\n }\n }\n\n componentWillUnmount() {\n this._mounted = false;\n }\n\n setNativeProps(props) {\n if (this._icon) {\n this._icon.setNativeProps(props);\n }\n }\n\n render() {\n if (__DEV__ && this.props.name && !(this.props.name in glyphMap)) {\n console.warn(\n `\"${this.props.name}\" is not a valid icon name for family \"${fontName}\"`\n );\n }\n\n if (!this.state.fontIsLoaded) {\n return ;\n }\n\n return (\n {\n this._icon = view;\n }}\n {...this.props}\n />\n );\n }\n };\n}\n","import createIconSet from './createIconSet';\nimport font from './vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\nimport glyphMap from './vendor/react-native-vector-icons/glyphmaps/MaterialCommunityIcons.json';\n\nexport default createIconSet(glyphMap, 'material-community', font);\n","const pick = (obj, ...keys) =>\n keys\n .flat()\n .filter(key => Object.prototype.hasOwnProperty.call(obj, key))\n .reduce((acc, key) => {\n acc[key] = obj[key];\n return acc;\n }, {});\n\nconst omit = (obj, ...keysToOmit) => {\n const keysToOmitSet = new Set(keysToOmit.flat());\n return Object.getOwnPropertyNames(obj)\n .filter(key => !keysToOmitSet.has(key))\n .reduce((acc, key) => {\n acc[key] = obj[key];\n return acc;\n }, {});\n};\n\nmodule.exports = { pick, omit };\n","/**\n * Copyright (c) Nicolas Gallagher.\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\nimport mergeOptions from \"merge-options\";\nimport type {\n AsyncStorageStatic,\n MultiCallback,\n MultiGetCallback,\n} from \"./types\";\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype OnMultiResult = Function;\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype OnResult = Function;\n\nconst merge = mergeOptions.bind({\n concatArrays: true,\n ignoreUndefined: true,\n});\n\nfunction mergeLocalStorageItem(key: string, value: string) {\n const oldValue = window.localStorage.getItem(key);\n if (oldValue) {\n const oldObject = JSON.parse(oldValue);\n const newObject = JSON.parse(value);\n const nextValue = JSON.stringify(merge(oldObject, newObject));\n window.localStorage.setItem(key, nextValue);\n } else {\n window.localStorage.setItem(key, value);\n }\n}\n\nfunction createPromise(\n getValue: () => Result,\n callback?: Callback\n): Promise {\n return new Promise((resolve, reject) => {\n try {\n const value = getValue();\n callback?.(null, value);\n resolve(value);\n } catch (err) {\n callback?.(err);\n reject(err);\n }\n });\n}\n\nfunction createPromiseAll<\n ReturnType,\n Result,\n ResultProcessor extends OnMultiResult\n>(\n promises: Promise[],\n callback?: MultiCallback | MultiGetCallback,\n processResult?: ResultProcessor\n): Promise {\n return Promise.all(promises).then(\n (result) => {\n const value = processResult?.(result) ?? null;\n callback?.(null, value);\n return Promise.resolve(value);\n },\n (errors) => {\n callback?.(errors);\n return Promise.reject(errors);\n }\n );\n}\n\nconst AsyncStorage: AsyncStorageStatic = {\n /**\n * Fetches `key` value.\n */\n getItem: (key, callback) => {\n return createPromise(() => window.localStorage.getItem(key), callback);\n },\n\n /**\n * Sets `value` for `key`.\n */\n setItem: (key, value, callback) => {\n return createPromise(\n () => window.localStorage.setItem(key, value),\n callback\n );\n },\n\n /**\n * Removes a `key`\n */\n removeItem: (key, callback) => {\n return createPromise(() => window.localStorage.removeItem(key), callback);\n },\n\n /**\n * Merges existing value with input value, assuming they are stringified JSON.\n */\n mergeItem: (key, value, callback) => {\n return createPromise(() => mergeLocalStorageItem(key, value), callback);\n },\n\n /**\n * Erases *all* AsyncStorage for the domain.\n */\n clear: (callback) => {\n return createPromise(() => window.localStorage.clear(), callback);\n },\n\n /**\n * Gets *all* keys known to the app, for all callers, libraries, etc.\n */\n getAllKeys: (callback) => {\n return createPromise(() => {\n const numberOfKeys = window.localStorage.length;\n const keys: string[] = [];\n for (let i = 0; i < numberOfKeys; i += 1) {\n const key = window.localStorage.key(i) || \"\";\n keys.push(key);\n }\n return keys;\n }, callback);\n },\n\n /**\n * (stub) Flushes any pending requests using a single batch call to get the data.\n */\n flushGetRequests: () => undefined,\n\n /**\n * multiGet resolves to an array of key-value pair arrays that matches the\n * input format of multiSet.\n *\n * multiGet(['k1', 'k2']) -> [['k1', 'val1'], ['k2', 'val2']]\n */\n multiGet: (keys, callback) => {\n const promises = keys.map((key) => AsyncStorage.getItem(key));\n const processResult = (result: string[]) =>\n result.map((value, i) => [keys[i], value]);\n return createPromiseAll(promises, callback, processResult);\n },\n\n /**\n * Takes an array of key-value array pairs.\n * multiSet([['k1', 'val1'], ['k2', 'val2']])\n */\n multiSet: (keyValuePairs, callback) => {\n const promises = keyValuePairs.map((item) =>\n AsyncStorage.setItem(item[0], item[1])\n );\n return createPromiseAll(promises, callback);\n },\n\n /**\n * Delete all the keys in the `keys` array.\n */\n multiRemove: (keys, callback) => {\n const promises = keys.map((key) => AsyncStorage.removeItem(key));\n return createPromiseAll(promises, callback);\n },\n\n /**\n * Takes an array of key-value array pairs and merges them with existing\n * values, assuming they are stringified JSON.\n *\n * multiMerge([['k1', 'val1'], ['k2', 'val2']])\n */\n multiMerge: (keyValuePairs, callback) => {\n const promises = keyValuePairs.map((item) =>\n AsyncStorage.mergeItem(item[0], item[1])\n );\n return createPromiseAll(promises, callback);\n },\n};\n\nexport default AsyncStorage;\n","import AsyncStorage from \"./AsyncStorage\";\nimport type { AsyncStorageHook } from \"./types\";\n\nexport function useAsyncStorage(key: string): AsyncStorageHook {\n return {\n getItem: (...args) => AsyncStorage.getItem(key, ...args),\n setItem: (...args) => AsyncStorage.setItem(key, ...args),\n mergeItem: (...args) => AsyncStorage.mergeItem(key, ...args),\n removeItem: (...args) => AsyncStorage.removeItem(key, ...args),\n };\n}\n","import AsyncStorage from \"./AsyncStorage\";\n\nexport { useAsyncStorage } from \"./hooks\";\n\nexport type { AsyncStorageStatic } from \"./types\";\n\nexport default AsyncStorage;\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @flow strict\n * @format\n */\n\n'use strict';\n\nexport type PackagerAsset = {\n +__packager_asset: boolean,\n +fileSystemLocation: string,\n +httpServerLocation: string,\n +width: ?number,\n +height: ?number,\n +scales: Array,\n +hash: string,\n +name: string,\n +type: string,\n ...\n};\n\nconst assets: Array = [];\n\nfunction registerAsset(asset: PackagerAsset): number {\n // `push` returns new array length, so the first asset will\n // get id 1 (not 0) to make the value truthy\n return assets.push(asset);\n}\n\nfunction getAssetByID(assetId: number): PackagerAsset {\n return assets[assetId - 1];\n}\n\nmodule.exports = {registerAsset, getAssetByID};\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n * @noflow\n */\n\n/* eslint no-bitwise: 0 */\n\n'use strict';\n\nfunction normalizeColor(color) {\n if (typeof color === 'number') {\n if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {\n return color;\n }\n return null;\n }\n\n if (typeof color !== 'string') {\n return null;\n }\n\n const matchers = getMatchers();\n let match;\n\n // Ordered based on occurrences on Facebook codebase\n if ((match = matchers.hex6.exec(color))) {\n return parseInt(match[1] + 'ff', 16) >>> 0;\n }\n\n const colorFromKeyword = normalizeKeyword(color);\n if (colorFromKeyword != null) {\n return colorFromKeyword;\n }\n\n if ((match = matchers.rgb.exec(color))) {\n return (\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) | // b\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers.rgba.exec(color))) {\n // rgba(R G B / A) notation\n if (match[6] !== undefined) {\n return (\n ((parse255(match[6]) << 24) | // r\n (parse255(match[7]) << 16) | // g\n (parse255(match[8]) << 8) | // b\n parse1(match[9])) >>> // a\n 0\n );\n }\n\n // rgba(R, G, B, A) notation\n return (\n ((parse255(match[2]) << 24) | // r\n (parse255(match[3]) << 16) | // g\n (parse255(match[4]) << 8) | // b\n parse1(match[5])) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hex3.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n 'ff', // a\n 16,\n ) >>> 0\n );\n }\n\n // https://drafts.csswg.org/css-color-4/#hex-notation\n if ((match = matchers.hex8.exec(color))) {\n return parseInt(match[1], 16) >>> 0;\n }\n\n if ((match = matchers.hex4.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n match[4] +\n match[4], // a\n 16,\n ) >>> 0\n );\n }\n\n if ((match = matchers.hsl.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]), // l\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hsla.exec(color))) {\n // hsla(H S L / A) notation\n if (match[6] !== undefined) {\n return (\n (hslToRgb(\n parse360(match[6]), // h\n parsePercentage(match[7]), // s\n parsePercentage(match[8]), // l\n ) |\n parse1(match[9])) >>> // a\n 0\n );\n }\n\n // hsla(H, S, L, A) notation\n return (\n (hslToRgb(\n parse360(match[2]), // h\n parsePercentage(match[3]), // s\n parsePercentage(match[4]), // l\n ) |\n parse1(match[5])) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hwb.exec(color))) {\n return (\n (hwbToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // w\n parsePercentage(match[3]), // b\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n\n return (\n (Math.round(r * 255) << 24) |\n (Math.round(g * 255) << 16) |\n (Math.round(b * 255) << 8)\n );\n}\n\nfunction hwbToRgb(h, w, b) {\n if (w + b >= 1) {\n const gray = Math.round((w * 255) / (w + b));\n\n return (gray << 24) | (gray << 16) | (gray << 8);\n }\n\n const red = hue2rgb(0, 1, h + 1 / 3) * (1 - w - b) + w;\n const green = hue2rgb(0, 1, h) * (1 - w - b) + w;\n const blue = hue2rgb(0, 1, h - 1 / 3) * (1 - w - b) + w;\n\n return (\n (Math.round(red * 255) << 24) |\n (Math.round(green * 255) << 16) |\n (Math.round(blue * 255) << 8)\n );\n}\n\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,?\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nfunction callWithSlashSeparator(...args) {\n return (\n '\\\\(\\\\s*(' +\n args.slice(0, args.length - 1).join(')\\\\s*,?\\\\s*(') +\n ')\\\\s*/\\\\s*(' +\n args[args.length - 1] +\n ')\\\\s*\\\\)'\n );\n}\n\nfunction commaSeparatedCall(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nlet cachedMatchers;\n\nfunction getMatchers() {\n if (cachedMatchers === undefined) {\n cachedMatchers = {\n rgb: new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER)),\n rgba: new RegExp(\n 'rgba(' +\n commaSeparatedCall(NUMBER, NUMBER, NUMBER, NUMBER) +\n '|' +\n callWithSlashSeparator(NUMBER, NUMBER, NUMBER, NUMBER) +\n ')',\n ),\n hsl: new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\n hsla: new RegExp(\n 'hsla(' +\n commaSeparatedCall(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) +\n '|' +\n callWithSlashSeparator(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) +\n ')',\n ),\n hwb: new RegExp('hwb' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\n hex3: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex4: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#([0-9a-fA-F]{6})$/,\n hex8: /^#([0-9a-fA-F]{8})$/,\n };\n }\n return cachedMatchers;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) {\n return 0;\n }\n if (int > 255) {\n return 255;\n }\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (((int % 360) + 360) % 360) / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) {\n return 0;\n }\n if (num > 1) {\n return 255;\n }\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n // parseFloat conveniently ignores the final %\n const int = parseFloat(str);\n if (int < 0) {\n return 0;\n }\n if (int > 100) {\n return 1;\n }\n return int / 100;\n}\n\nfunction normalizeKeyword(name) {\n // prettier-ignore\n switch (name) {\n case 'transparent': return 0x00000000;\n // http://www.w3.org/TR/css3-color/#svg-color\n case 'aliceblue': return 0xf0f8ffff;\n case 'antiquewhite': return 0xfaebd7ff;\n case 'aqua': return 0x00ffffff;\n case 'aquamarine': return 0x7fffd4ff;\n case 'azure': return 0xf0ffffff;\n case 'beige': return 0xf5f5dcff;\n case 'bisque': return 0xffe4c4ff;\n case 'black': return 0x000000ff;\n case 'blanchedalmond': return 0xffebcdff;\n case 'blue': return 0x0000ffff;\n case 'blueviolet': return 0x8a2be2ff;\n case 'brown': return 0xa52a2aff;\n case 'burlywood': return 0xdeb887ff;\n case 'burntsienna': return 0xea7e5dff;\n case 'cadetblue': return 0x5f9ea0ff;\n case 'chartreuse': return 0x7fff00ff;\n case 'chocolate': return 0xd2691eff;\n case 'coral': return 0xff7f50ff;\n case 'cornflowerblue': return 0x6495edff;\n case 'cornsilk': return 0xfff8dcff;\n case 'crimson': return 0xdc143cff;\n case 'cyan': return 0x00ffffff;\n case 'darkblue': return 0x00008bff;\n case 'darkcyan': return 0x008b8bff;\n case 'darkgoldenrod': return 0xb8860bff;\n case 'darkgray': return 0xa9a9a9ff;\n case 'darkgreen': return 0x006400ff;\n case 'darkgrey': return 0xa9a9a9ff;\n case 'darkkhaki': return 0xbdb76bff;\n case 'darkmagenta': return 0x8b008bff;\n case 'darkolivegreen': return 0x556b2fff;\n case 'darkorange': return 0xff8c00ff;\n case 'darkorchid': return 0x9932ccff;\n case 'darkred': return 0x8b0000ff;\n case 'darksalmon': return 0xe9967aff;\n case 'darkseagreen': return 0x8fbc8fff;\n case 'darkslateblue': return 0x483d8bff;\n case 'darkslategray': return 0x2f4f4fff;\n case 'darkslategrey': return 0x2f4f4fff;\n case 'darkturquoise': return 0x00ced1ff;\n case 'darkviolet': return 0x9400d3ff;\n case 'deeppink': return 0xff1493ff;\n case 'deepskyblue': return 0x00bfffff;\n case 'dimgray': return 0x696969ff;\n case 'dimgrey': return 0x696969ff;\n case 'dodgerblue': return 0x1e90ffff;\n case 'firebrick': return 0xb22222ff;\n case 'floralwhite': return 0xfffaf0ff;\n case 'forestgreen': return 0x228b22ff;\n case 'fuchsia': return 0xff00ffff;\n case 'gainsboro': return 0xdcdcdcff;\n case 'ghostwhite': return 0xf8f8ffff;\n case 'gold': return 0xffd700ff;\n case 'goldenrod': return 0xdaa520ff;\n case 'gray': return 0x808080ff;\n case 'green': return 0x008000ff;\n case 'greenyellow': return 0xadff2fff;\n case 'grey': return 0x808080ff;\n case 'honeydew': return 0xf0fff0ff;\n case 'hotpink': return 0xff69b4ff;\n case 'indianred': return 0xcd5c5cff;\n case 'indigo': return 0x4b0082ff;\n case 'ivory': return 0xfffff0ff;\n case 'khaki': return 0xf0e68cff;\n case 'lavender': return 0xe6e6faff;\n case 'lavenderblush': return 0xfff0f5ff;\n case 'lawngreen': return 0x7cfc00ff;\n case 'lemonchiffon': return 0xfffacdff;\n case 'lightblue': return 0xadd8e6ff;\n case 'lightcoral': return 0xf08080ff;\n case 'lightcyan': return 0xe0ffffff;\n case 'lightgoldenrodyellow': return 0xfafad2ff;\n case 'lightgray': return 0xd3d3d3ff;\n case 'lightgreen': return 0x90ee90ff;\n case 'lightgrey': return 0xd3d3d3ff;\n case 'lightpink': return 0xffb6c1ff;\n case 'lightsalmon': return 0xffa07aff;\n case 'lightseagreen': return 0x20b2aaff;\n case 'lightskyblue': return 0x87cefaff;\n case 'lightslategray': return 0x778899ff;\n case 'lightslategrey': return 0x778899ff;\n case 'lightsteelblue': return 0xb0c4deff;\n case 'lightyellow': return 0xffffe0ff;\n case 'lime': return 0x00ff00ff;\n case 'limegreen': return 0x32cd32ff;\n case 'linen': return 0xfaf0e6ff;\n case 'magenta': return 0xff00ffff;\n case 'maroon': return 0x800000ff;\n case 'mediumaquamarine': return 0x66cdaaff;\n case 'mediumblue': return 0x0000cdff;\n case 'mediumorchid': return 0xba55d3ff;\n case 'mediumpurple': return 0x9370dbff;\n case 'mediumseagreen': return 0x3cb371ff;\n case 'mediumslateblue': return 0x7b68eeff;\n case 'mediumspringgreen': return 0x00fa9aff;\n case 'mediumturquoise': return 0x48d1ccff;\n case 'mediumvioletred': return 0xc71585ff;\n case 'midnightblue': return 0x191970ff;\n case 'mintcream': return 0xf5fffaff;\n case 'mistyrose': return 0xffe4e1ff;\n case 'moccasin': return 0xffe4b5ff;\n case 'navajowhite': return 0xffdeadff;\n case 'navy': return 0x000080ff;\n case 'oldlace': return 0xfdf5e6ff;\n case 'olive': return 0x808000ff;\n case 'olivedrab': return 0x6b8e23ff;\n case 'orange': return 0xffa500ff;\n case 'orangered': return 0xff4500ff;\n case 'orchid': return 0xda70d6ff;\n case 'palegoldenrod': return 0xeee8aaff;\n case 'palegreen': return 0x98fb98ff;\n case 'paleturquoise': return 0xafeeeeff;\n case 'palevioletred': return 0xdb7093ff;\n case 'papayawhip': return 0xffefd5ff;\n case 'peachpuff': return 0xffdab9ff;\n case 'peru': return 0xcd853fff;\n case 'pink': return 0xffc0cbff;\n case 'plum': return 0xdda0ddff;\n case 'powderblue': return 0xb0e0e6ff;\n case 'purple': return 0x800080ff;\n case 'rebeccapurple': return 0x663399ff;\n case 'red': return 0xff0000ff;\n case 'rosybrown': return 0xbc8f8fff;\n case 'royalblue': return 0x4169e1ff;\n case 'saddlebrown': return 0x8b4513ff;\n case 'salmon': return 0xfa8072ff;\n case 'sandybrown': return 0xf4a460ff;\n case 'seagreen': return 0x2e8b57ff;\n case 'seashell': return 0xfff5eeff;\n case 'sienna': return 0xa0522dff;\n case 'silver': return 0xc0c0c0ff;\n case 'skyblue': return 0x87ceebff;\n case 'slateblue': return 0x6a5acdff;\n case 'slategray': return 0x708090ff;\n case 'slategrey': return 0x708090ff;\n case 'snow': return 0xfffafaff;\n case 'springgreen': return 0x00ff7fff;\n case 'steelblue': return 0x4682b4ff;\n case 'tan': return 0xd2b48cff;\n case 'teal': return 0x008080ff;\n case 'thistle': return 0xd8bfd8ff;\n case 'tomato': return 0xff6347ff;\n case 'turquoise': return 0x40e0d0ff;\n case 'violet': return 0xee82eeff;\n case 'wheat': return 0xf5deb3ff;\n case 'white': return 0xffffffff;\n case 'whitesmoke': return 0xf5f5f5ff;\n case 'yellow': return 0xffff00ff;\n case 'yellowgreen': return 0x9acd32ff;\n }\n return null;\n}\n\nmodule.exports = normalizeColor;\n","import type { NavigationState, PartialState, Route } from './types';\n\ntype ResetState =\n | PartialState\n | NavigationState\n | (Omit & {\n routes: Omit, 'key'>[];\n });\n\nexport type Action =\n | {\n type: 'GO_BACK';\n source?: string;\n target?: string;\n }\n | {\n type: 'NAVIGATE';\n payload:\n | {\n key: string;\n name?: undefined;\n params?: object;\n path?: string;\n merge?: boolean;\n }\n | {\n name: string;\n key?: string;\n params?: object;\n path?: string;\n merge?: boolean;\n };\n source?: string;\n target?: string;\n }\n | {\n type: 'RESET';\n payload: ResetState | undefined;\n source?: string;\n target?: string;\n }\n | {\n type: 'SET_PARAMS';\n payload: { params?: object };\n source?: string;\n target?: string;\n };\n\nexport function goBack(): Action {\n return { type: 'GO_BACK' };\n}\n\nexport function navigate(\n options:\n | { key: string; params?: object; path?: string; merge?: boolean }\n | {\n name: string;\n key?: string;\n params?: object;\n path?: string;\n merge?: boolean;\n }\n): Action;\n// eslint-disable-next-line no-redeclare\nexport function navigate(name: string, params?: object): Action;\n// eslint-disable-next-line no-redeclare\nexport function navigate(...args: any): Action {\n if (typeof args[0] === 'string') {\n return { type: 'NAVIGATE', payload: { name: args[0], params: args[1] } };\n } else {\n const payload = args[0] || {};\n\n if (!payload.hasOwnProperty('key') && !payload.hasOwnProperty('name')) {\n throw new Error(\n 'You need to specify name or key when calling navigate with an object as the argument. See https://reactnavigation.org/docs/navigation-actions#navigate for usage.'\n );\n }\n\n return { type: 'NAVIGATE', payload };\n }\n}\n\nexport function reset(state: ResetState | undefined): Action {\n return { type: 'RESET', payload: state };\n}\n\nexport function setParams(params: object): Action {\n return { type: 'SET_PARAMS', payload: { params } };\n}\n","import { CommonActions } from '@react-navigation/routers';\n\nimport type {\n NavigationContainerEventMap,\n NavigationContainerRef,\n NavigationContainerRefWithCurrent,\n} from './types';\n\nexport const NOT_INITIALIZED_ERROR =\n \"The 'navigation' object hasn't been initialized yet. This might happen if you don't have a navigator mounted, or if the navigator hasn't finished mounting. See https://reactnavigation.org/docs/navigating-without-navigation-prop#handling-initialization for more details.\";\n\nexport default function createNavigationContainerRef<\n ParamList extends {} = ReactNavigation.RootParamList\n>(): NavigationContainerRefWithCurrent {\n const methods = [\n ...Object.keys(CommonActions),\n 'addListener',\n 'removeListener',\n 'resetRoot',\n 'dispatch',\n 'isFocused',\n 'canGoBack',\n 'getRootState',\n 'getState',\n 'getParent',\n 'getCurrentRoute',\n 'getCurrentOptions',\n ] as const;\n\n const listeners: Record void)[]> = {};\n\n const removeListener = (\n event: string,\n callback: (...args: any[]) => void\n ) => {\n if (listeners[event]) {\n listeners[event] = listeners[event].filter((cb) => cb !== callback);\n }\n };\n\n let current: NavigationContainerRef | null = null;\n\n const ref: NavigationContainerRefWithCurrent = {\n get current() {\n return current;\n },\n set current(value: NavigationContainerRef | null) {\n current = value;\n\n if (value != null) {\n Object.entries(listeners).forEach(([event, callbacks]) => {\n callbacks.forEach((callback) => {\n value.addListener(\n event as keyof NavigationContainerEventMap,\n callback\n );\n });\n });\n }\n },\n isReady: () => {\n if (current == null) {\n return false;\n }\n\n return current.isReady();\n },\n ...methods.reduce((acc, name) => {\n acc[name] = (...args: any[]) => {\n if (current == null) {\n switch (name) {\n case 'addListener': {\n const [event, callback] = args;\n\n listeners[event] = listeners[event] || [];\n listeners[event].push(callback);\n\n return () => removeListener(event, callback);\n }\n case 'removeListener': {\n const [event, callback] = args;\n\n removeListener(event, callback);\n break;\n }\n default:\n console.error(NOT_INITIALIZED_ERROR);\n }\n } else {\n // @ts-expect-error: this is ok\n return current[name](...args);\n }\n };\n return acc;\n }, {}),\n };\n\n return ref;\n}\n","import * as React from 'react';\n\ntype Props = {\n children: React.ReactNode;\n};\n\nconst MULTIPLE_NAVIGATOR_ERROR = `Another navigator is already registered for this container. You likely have multiple navigators under a single \"NavigationContainer\" or \"Screen\". Make sure each navigator is under a separate \"Screen\" container. See https://reactnavigation.org/docs/nesting-navigators for a guide on nesting.`;\n\nexport const SingleNavigatorContext = React.createContext<\n | {\n register(key: string): void;\n unregister(key: string): void;\n }\n | undefined\n>(undefined);\n\n/**\n * Component which ensures that there's only one navigator nested under it.\n */\nexport default function EnsureSingleNavigator({ children }: Props) {\n const navigatorKeyRef = React.useRef();\n\n const value = React.useMemo(\n () => ({\n register(key: string) {\n const currentKey = navigatorKeyRef.current;\n\n if (currentKey !== undefined && key !== currentKey) {\n throw new Error(MULTIPLE_NAVIGATOR_ERROR);\n }\n\n navigatorKeyRef.current = key;\n },\n unregister(key: string) {\n const currentKey = navigatorKeyRef.current;\n\n if (key !== currentKey) {\n return;\n }\n\n navigatorKeyRef.current = undefined;\n },\n }),\n []\n );\n\n return (\n \n {children}\n \n );\n}\n","import type { InitialState } from '@react-navigation/routers';\n\nexport default function findFocusedRoute(state: InitialState) {\n let current: InitialState | undefined = state;\n\n while (current?.routes[current.index ?? 0].state != null) {\n current = current.routes[current.index ?? 0].state;\n }\n\n const route = current?.routes[current?.index ?? 0];\n\n return route;\n}\n","import type {\n NavigationAction,\n NavigationState,\n ParamListBase,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationHelpers } from './types';\n\nexport type ListenerMap = {\n action: ChildActionListener;\n focus: FocusedNavigationListener;\n};\n\nexport type KeyedListenerMap = {\n getState: GetStateListener;\n beforeRemove: ChildBeforeRemoveListener;\n};\n\nexport type AddListener = (\n type: T,\n listener: ListenerMap[T]\n) => void;\n\nexport type AddKeyedListener = (\n type: T,\n key: string,\n listener: KeyedListenerMap[T]\n) => void;\n\nexport type ChildActionListener = (\n action: NavigationAction,\n visitedNavigators?: Set\n) => boolean;\n\nexport type FocusedNavigationCallback = (\n navigation: NavigationHelpers\n) => T;\n\nexport type FocusedNavigationListener = (\n callback: FocusedNavigationCallback\n) => {\n handled: boolean;\n result: T;\n};\n\nexport type GetStateListener = () => NavigationState;\n\nexport type ChildBeforeRemoveListener = (action: NavigationAction) => boolean;\n\n/**\n * Context which holds the required helpers needed to build nested navigators.\n */\nconst NavigationBuilderContext = React.createContext<{\n onAction?: (\n action: NavigationAction,\n visitedNavigators?: Set\n ) => boolean;\n addListener?: AddListener;\n addKeyedListener?: AddKeyedListener;\n onRouteFocus?: (key: string) => void;\n onDispatchAction: (action: NavigationAction, noop: boolean) => void;\n onOptionsChange: (options: object) => void;\n stackRef?: React.MutableRefObject;\n}>({\n onDispatchAction: () => undefined,\n onOptionsChange: () => undefined,\n});\n\nexport default NavigationBuilderContext;\n","import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationContainerRef } from './types';\n\n/**\n * Context which holds the route prop for a screen.\n */\nconst NavigationContainerRefContext = React.createContext<\n NavigationContainerRef | undefined\n>(undefined);\n\nexport default NavigationContainerRefContext;\n","import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationProp } from './types';\n\n/**\n * Context which holds the navigation prop for a screen.\n */\nconst NavigationContext = React.createContext<\n NavigationProp | undefined\n>(undefined);\n\nexport default NavigationContext;\n","import type { Route } from '@react-navigation/routers';\nimport * as React from 'react';\n\n/**\n * Context which holds the route prop for a screen.\n */\nconst NavigationRouteContext = React.createContext | undefined>(\n undefined\n);\n\nexport default NavigationRouteContext;\n","import type { NavigationState, PartialState } from '@react-navigation/routers';\nimport * as React from 'react';\n\nconst MISSING_CONTEXT_ERROR =\n \"Couldn't find a navigation context. Have you wrapped your app with 'NavigationContainer'? See https://reactnavigation.org/docs/getting-started for setup instructions.\";\n\nexport default React.createContext<{\n isDefault?: true;\n state?: NavigationState | PartialState;\n getKey: () => string | undefined;\n setKey: (key: string) => void;\n getState: () => NavigationState | PartialState | undefined;\n setState: (\n state: NavigationState | PartialState | undefined\n ) => void;\n getIsInitial: () => boolean;\n addOptionsGetter?: (\n key: string,\n getter: () => object | undefined | null\n ) => void;\n}>({\n isDefault: true,\n\n get getKey(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get setKey(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get getState(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get setState(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get getIsInitial(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n});\n","import type { NavigationAction } from '@react-navigation/routers';\nimport * as React from 'react';\n\nconst UnhandledActionContext = React.createContext<\n ((action: NavigationAction) => void) | undefined\n>(undefined);\n\nexport default UnhandledActionContext;\n","import * as React from 'react';\n\nimport type { ListenerMap } from './NavigationBuilderContext';\n\n/**\n * Hook which lets child navigators add action listeners.\n */\nexport default function useChildListeners() {\n const { current: listeners } = React.useRef<{\n [K in keyof ListenerMap]: ListenerMap[K][];\n }>({\n action: [],\n focus: [],\n });\n\n const addListener = React.useCallback(\n (type: T, listener: ListenerMap[T]) => {\n listeners[type].push(listener);\n\n let removed = false;\n return () => {\n const index = listeners[type].indexOf(listener);\n\n if (!removed && index > -1) {\n removed = true;\n listeners[type].splice(index, 1);\n }\n };\n },\n [listeners]\n );\n\n return {\n listeners,\n addListener,\n };\n}\n","import * as React from 'react';\n\nimport type { EventArg, EventConsumer, EventEmitter } from './types';\n\nexport type NavigationEventEmitter> =\n EventEmitter & {\n create: (target: string) => EventConsumer;\n };\n\ntype Listeners = ((e: any) => void)[];\n\n/**\n * Hook to manage the event system used by the navigator to notify screens of various events.\n */\nexport default function useEventEmitter>(\n listen?: (e: any) => void\n): NavigationEventEmitter {\n const listenRef = React.useRef(listen);\n\n React.useEffect(() => {\n listenRef.current = listen;\n });\n\n const listeners = React.useRef>>(\n Object.create(null)\n );\n\n const create = React.useCallback((target: string) => {\n const removeListener = (type: string, callback: (data: any) => void) => {\n const callbacks = listeners.current[type]\n ? listeners.current[type][target]\n : undefined;\n\n if (!callbacks) {\n return;\n }\n\n const index = callbacks.indexOf(callback);\n\n if (index > -1) {\n callbacks.splice(index, 1);\n }\n };\n\n const addListener = (type: string, callback: (data: any) => void) => {\n listeners.current[type] = listeners.current[type] || {};\n listeners.current[type][target] = listeners.current[type][target] || [];\n listeners.current[type][target].push(callback);\n\n let removed = false;\n return () => {\n // Prevent removing other listeners when unsubscribing same listener multiple times\n if (!removed) {\n removed = true;\n removeListener(type, callback);\n }\n };\n };\n\n return {\n addListener,\n removeListener,\n };\n }, []);\n\n const emit = React.useCallback(\n ({\n type,\n data,\n target,\n canPreventDefault,\n }: {\n type: string;\n data?: any;\n target?: string;\n canPreventDefault?: boolean;\n }) => {\n const items = listeners.current[type] || {};\n\n // Copy the current list of callbacks in case they are mutated during execution\n const callbacks =\n target !== undefined\n ? items[target]?.slice()\n : ([] as Listeners)\n .concat(...Object.keys(items).map((t) => items[t]))\n .filter((cb, i, self) => self.lastIndexOf(cb) === i);\n\n const event: EventArg = {\n get type() {\n return type;\n },\n };\n\n if (target !== undefined) {\n Object.defineProperty(event, 'target', {\n enumerable: true,\n get() {\n return target;\n },\n });\n }\n\n if (data !== undefined) {\n Object.defineProperty(event, 'data', {\n enumerable: true,\n get() {\n return data;\n },\n });\n }\n\n if (canPreventDefault) {\n let defaultPrevented = false;\n\n Object.defineProperties(event, {\n defaultPrevented: {\n enumerable: true,\n get() {\n return defaultPrevented;\n },\n },\n preventDefault: {\n enumerable: true,\n value() {\n defaultPrevented = true;\n },\n },\n });\n }\n\n listenRef.current?.(event);\n\n callbacks?.forEach((cb) => cb(event));\n\n return event as any;\n },\n []\n );\n\n return React.useMemo(() => ({ create, emit }), [create, emit]);\n}\n","import * as React from 'react';\n\nimport type { KeyedListenerMap } from './NavigationBuilderContext';\n\n/**\n * Hook which lets child navigators add getters to be called for obtaining rehydrated state.\n */\nexport default function useKeyedChildListeners() {\n const { current: keyedListeners } = React.useRef<{\n [K in keyof KeyedListenerMap]: Record<\n string,\n KeyedListenerMap[K] | undefined\n >;\n }>(\n Object.assign(Object.create(null), {\n getState: {},\n beforeRemove: {},\n })\n );\n\n const addKeyedListener = React.useCallback(\n (\n type: T,\n key: string,\n listener: KeyedListenerMap[T]\n ) => {\n // @ts-expect-error: according to ref stated above you can use `key` to index type\n keyedListeners[type][key] = listener;\n\n return () => {\n // @ts-expect-error: according to ref stated above you can use `key` to index type\n keyedListeners[type][key] = undefined;\n };\n },\n [keyedListeners]\n );\n\n return {\n keyedListeners,\n addKeyedListener,\n };\n}\n","import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext from './NavigationBuilderContext';\nimport NavigationStateContext from './NavigationStateContext';\nimport type { NavigationProp } from './types';\n\ntype Options = {\n key?: string;\n navigation?: NavigationProp;\n options?: object | undefined;\n};\n\nexport default function useOptionsGetters({\n key,\n options,\n navigation,\n}: Options) {\n const optionsRef = React.useRef(options);\n const optionsGettersFromChildRef = React.useRef<\n Record object | undefined | null>\n >({});\n\n const { onOptionsChange } = React.useContext(NavigationBuilderContext);\n const { addOptionsGetter: parentAddOptionsGetter } = React.useContext(\n NavigationStateContext\n );\n\n const optionsChangeListener = React.useCallback(() => {\n const isFocused = navigation?.isFocused() ?? true;\n const hasChildren = Object.keys(optionsGettersFromChildRef.current).length;\n\n if (isFocused && !hasChildren) {\n onOptionsChange(optionsRef.current ?? {});\n }\n }, [navigation, onOptionsChange]);\n\n React.useEffect(() => {\n optionsRef.current = options;\n optionsChangeListener();\n\n return navigation?.addListener('focus', optionsChangeListener);\n }, [navigation, options, optionsChangeListener]);\n\n const getOptionsFromListener = React.useCallback(() => {\n for (let key in optionsGettersFromChildRef.current) {\n if (optionsGettersFromChildRef.current.hasOwnProperty(key)) {\n const result = optionsGettersFromChildRef.current[key]?.();\n\n // null means unfocused route\n if (result !== null) {\n return result;\n }\n }\n }\n\n return null;\n }, []);\n\n const getCurrentOptions = React.useCallback(() => {\n const isFocused = navigation?.isFocused() ?? true;\n\n if (!isFocused) {\n return null;\n }\n\n const optionsFromListener = getOptionsFromListener();\n\n if (optionsFromListener !== null) {\n return optionsFromListener;\n }\n\n return optionsRef.current;\n }, [navigation, getOptionsFromListener]);\n\n React.useEffect(() => {\n return parentAddOptionsGetter?.(key!, getCurrentOptions);\n }, [getCurrentOptions, parentAddOptionsGetter, key]);\n\n const addOptionsGetter = React.useCallback(\n (key: string, getter: () => object | undefined | null) => {\n optionsGettersFromChildRef.current[key] = getter;\n optionsChangeListener();\n\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete optionsGettersFromChildRef.current[key];\n optionsChangeListener();\n };\n },\n [optionsChangeListener]\n );\n\n return {\n addOptionsGetter,\n getCurrentOptions,\n };\n}\n","import * as React from 'react';\n\nconst MISSING_CONTEXT_ERROR = \"Couldn't find a schedule context.\";\n\nexport const ScheduleUpdateContext = React.createContext<{\n scheduleUpdate: (callback: () => void) => void;\n flushUpdates: () => void;\n}>({\n scheduleUpdate() {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n flushUpdates() {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n});\n\n/**\n * When screen config changes, we want to update the navigator in the same update phase.\n * However, navigation state is in the root component and React won't let us update it from a child.\n * This is a workaround for that, the scheduled update is stored in the ref without actually calling setState.\n * It lets all subsequent updates access the latest state so it stays correct.\n * Then we call setState during after the component updates.\n */\nexport default function useScheduleUpdate(callback: () => void) {\n const { scheduleUpdate, flushUpdates } = React.useContext(\n ScheduleUpdateContext\n );\n\n scheduleUpdate(callback);\n\n React.useEffect(flushUpdates);\n}\n","import * as React from 'react';\n\nconst UNINTIALIZED_STATE = {};\n\n/**\n * This is definitely not compatible with concurrent mode, but we don't have a solution for sync state yet.\n */\nexport default function useSyncState(initialState?: (() => T) | T) {\n const stateRef = React.useRef(UNINTIALIZED_STATE as any);\n const isSchedulingRef = React.useRef(false);\n const isMountedRef = React.useRef(true);\n\n React.useEffect(() => {\n isMountedRef.current = true;\n\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n\n if (stateRef.current === UNINTIALIZED_STATE) {\n stateRef.current =\n // @ts-expect-error: initialState is a function, but TypeScript doesn't think so\n typeof initialState === 'function' ? initialState() : initialState;\n }\n\n const [trackingState, setTrackingState] = React.useState(stateRef.current);\n\n const getState = React.useCallback(() => stateRef.current, []);\n\n const setState = React.useCallback((state: T) => {\n if (state === stateRef.current || !isMountedRef.current) {\n return;\n }\n\n stateRef.current = state;\n\n if (!isSchedulingRef.current) {\n setTrackingState(state);\n }\n }, []);\n\n const scheduleUpdate = React.useCallback((callback: () => void) => {\n isSchedulingRef.current = true;\n\n try {\n callback();\n } finally {\n isSchedulingRef.current = false;\n }\n }, []);\n\n const flushUpdates = React.useCallback(() => {\n if (!isMountedRef.current) {\n return;\n }\n\n // Make sure that the tracking state is up-to-date.\n // We call it unconditionally, but React should skip the update if state is unchanged.\n setTrackingState(stateRef.current);\n }, []);\n\n // If we're rendering and the tracking state is out of date, update it immediately\n // This will make sure that our updates are applied as early as possible.\n if (trackingState !== stateRef.current) {\n setTrackingState(stateRef.current);\n }\n\n const state = stateRef.current;\n\n React.useDebugValue(state);\n\n return [state, getState, setState, scheduleUpdate, flushUpdates] as const;\n}\n","import {\n CommonActions,\n InitialState,\n NavigationAction,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport checkDuplicateRouteNames from './checkDuplicateRouteNames';\nimport checkSerializable from './checkSerializable';\nimport { NOT_INITIALIZED_ERROR } from './createNavigationContainerRef';\nimport EnsureSingleNavigator from './EnsureSingleNavigator';\nimport findFocusedRoute from './findFocusedRoute';\nimport NavigationBuilderContext from './NavigationBuilderContext';\nimport NavigationContainerRefContext from './NavigationContainerRefContext';\nimport NavigationContext from './NavigationContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport NavigationStateContext from './NavigationStateContext';\nimport type {\n NavigationContainerEventMap,\n NavigationContainerProps,\n NavigationContainerRef,\n} from './types';\nimport UnhandledActionContext from './UnhandledActionContext';\nimport useChildListeners from './useChildListeners';\nimport useEventEmitter from './useEventEmitter';\nimport useKeyedChildListeners from './useKeyedChildListeners';\nimport useOptionsGetters from './useOptionsGetters';\nimport { ScheduleUpdateContext } from './useScheduleUpdate';\nimport useSyncState from './useSyncState';\n\ntype State = NavigationState | PartialState | undefined;\n\nconst serializableWarnings: string[] = [];\nconst duplicateNameWarnings: string[] = [];\n\n/**\n * Remove `key` and `routeNames` from the state objects recursively to get partial state.\n *\n * @param state Initial state object.\n */\nconst getPartialState = (\n state: InitialState | undefined\n): PartialState | undefined => {\n if (state === undefined) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { key, routeNames, ...partialState } = state;\n\n return {\n ...partialState,\n stale: true,\n routes: state.routes.map((route) => {\n if (route.state === undefined) {\n return route as Route & {\n state?: PartialState;\n };\n }\n\n return { ...route, state: getPartialState(route.state) };\n }),\n };\n};\n\n/**\n * Container component which holds the navigation state.\n * This should be rendered at the root wrapping the whole app.\n *\n * @param props.initialState Initial state object for the navigation tree.\n * @param props.onStateChange Callback which is called with the latest navigation state when it changes.\n * @param props.children Child elements to render the content.\n * @param props.ref Ref object which refers to the navigation object containing helper methods.\n */\nconst BaseNavigationContainer = React.forwardRef(\n function BaseNavigationContainer(\n {\n initialState,\n onStateChange,\n onUnhandledAction,\n independent,\n children,\n }: NavigationContainerProps,\n ref?: React.Ref>\n ) {\n const parent = React.useContext(NavigationStateContext);\n\n if (!parent.isDefault && !independent) {\n throw new Error(\n \"Looks like you have nested a 'NavigationContainer' inside another. Normally you need only one container at the root of the app, so this was probably an error. If this was intentional, pass 'independent={true}' explicitly. Note that this will make the child navigators disconnected from the parent and you won't be able to navigate between them.\"\n );\n }\n\n const [state, getState, setState, scheduleUpdate, flushUpdates] =\n useSyncState(() =>\n getPartialState(initialState == null ? undefined : initialState)\n );\n\n const isFirstMountRef = React.useRef(true);\n\n const navigatorKeyRef = React.useRef();\n\n const getKey = React.useCallback(() => navigatorKeyRef.current, []);\n\n const setKey = React.useCallback((key: string) => {\n navigatorKeyRef.current = key;\n }, []);\n\n const { listeners, addListener } = useChildListeners();\n\n const { keyedListeners, addKeyedListener } = useKeyedChildListeners();\n\n const dispatch = React.useCallback(\n (\n action:\n | NavigationAction\n | ((state: NavigationState) => NavigationAction)\n ) => {\n if (listeners.focus[0] == null) {\n console.error(NOT_INITIALIZED_ERROR);\n } else {\n listeners.focus[0]((navigation) => navigation.dispatch(action));\n }\n },\n [listeners.focus]\n );\n\n const canGoBack = React.useCallback(() => {\n if (listeners.focus[0] == null) {\n return false;\n }\n\n const { result, handled } = listeners.focus[0]((navigation) =>\n navigation.canGoBack()\n );\n\n if (handled) {\n return result;\n } else {\n return false;\n }\n }, [listeners.focus]);\n\n const resetRoot = React.useCallback(\n (state?: PartialState | NavigationState) => {\n const target = state?.key ?? keyedListeners.getState.root?.().key;\n\n if (target == null) {\n console.error(NOT_INITIALIZED_ERROR);\n } else {\n listeners.focus[0]((navigation) =>\n navigation.dispatch({\n ...CommonActions.reset(state),\n target,\n })\n );\n }\n },\n [keyedListeners.getState, listeners.focus]\n );\n\n const getRootState = React.useCallback(() => {\n return keyedListeners.getState.root?.();\n }, [keyedListeners.getState]);\n\n const getCurrentRoute = React.useCallback(() => {\n const state = getRootState();\n\n if (state == null) {\n return undefined;\n }\n\n const route = findFocusedRoute(state);\n\n return route as Route | undefined;\n }, [getRootState]);\n\n const emitter = useEventEmitter();\n\n const { addOptionsGetter, getCurrentOptions } = useOptionsGetters({});\n\n const navigation: NavigationContainerRef = React.useMemo(\n () => ({\n ...Object.keys(CommonActions).reduce((acc, name) => {\n acc[name] = (...args: any[]) =>\n // @ts-expect-error: this is ok\n dispatch(CommonActions[name](...args));\n return acc;\n }, {}),\n ...emitter.create('root'),\n dispatch,\n resetRoot,\n isFocused: () => true,\n canGoBack,\n getParent: () => undefined,\n getState: () => stateRef.current,\n getRootState,\n getCurrentRoute,\n getCurrentOptions,\n isReady: () => listeners.focus[0] != null,\n }),\n [\n canGoBack,\n dispatch,\n emitter,\n getCurrentOptions,\n getCurrentRoute,\n getRootState,\n listeners.focus,\n resetRoot,\n ]\n );\n\n React.useImperativeHandle(ref, () => navigation, [navigation]);\n\n const onDispatchAction = React.useCallback(\n (action: NavigationAction, noop: boolean) => {\n emitter.emit({\n type: '__unsafe_action__',\n data: { action, noop, stack: stackRef.current },\n });\n },\n [emitter]\n );\n\n const lastEmittedOptionsRef = React.useRef();\n\n const onOptionsChange = React.useCallback(\n (options: object) => {\n if (lastEmittedOptionsRef.current === options) {\n return;\n }\n\n lastEmittedOptionsRef.current = options;\n\n emitter.emit({\n type: 'options',\n data: { options },\n });\n },\n [emitter]\n );\n\n const stackRef = React.useRef();\n\n const builderContext = React.useMemo(\n () => ({\n addListener,\n addKeyedListener,\n onDispatchAction,\n onOptionsChange,\n stackRef,\n }),\n [addListener, addKeyedListener, onDispatchAction, onOptionsChange]\n );\n\n const scheduleContext = React.useMemo(\n () => ({ scheduleUpdate, flushUpdates }),\n [scheduleUpdate, flushUpdates]\n );\n\n const isInitialRef = React.useRef(true);\n\n const getIsInitial = React.useCallback(() => isInitialRef.current, []);\n\n const context = React.useMemo(\n () => ({\n state,\n getState,\n setState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n }),\n [\n state,\n getState,\n setState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n ]\n );\n\n const onStateChangeRef = React.useRef(onStateChange);\n const stateRef = React.useRef(state);\n\n React.useEffect(() => {\n isInitialRef.current = false;\n onStateChangeRef.current = onStateChange;\n stateRef.current = state;\n });\n\n React.useEffect(() => {\n const hydratedState = getRootState();\n\n if (process.env.NODE_ENV !== 'production') {\n if (hydratedState !== undefined) {\n const serializableResult = checkSerializable(hydratedState);\n\n if (!serializableResult.serializable) {\n const { location, reason } = serializableResult;\n\n let path = '';\n let pointer: Record = hydratedState;\n let params = false;\n\n for (let i = 0; i < location.length; i++) {\n const curr = location[i];\n const prev = location[i - 1];\n\n pointer = pointer[curr];\n\n if (!params && curr === 'state') {\n continue;\n } else if (!params && curr === 'routes') {\n if (path) {\n path += ' > ';\n }\n } else if (\n !params &&\n typeof curr === 'number' &&\n prev === 'routes'\n ) {\n path += pointer?.name;\n } else if (!params) {\n path += ` > ${curr}`;\n params = true;\n } else {\n if (typeof curr === 'number' || /^[0-9]+$/.test(curr)) {\n path += `[${curr}]`;\n } else if (/^[a-z$_]+$/i.test(curr)) {\n path += `.${curr}`;\n } else {\n path += `[${JSON.stringify(curr)}]`;\n }\n }\n }\n\n const message = `Non-serializable values were found in the navigation state. Check:\\n\\n${path} (${reason})\\n\\nThis can break usage such as persisting and restoring state. This might happen if you passed non-serializable values such as function, class instances etc. in params. If you need to use components with callbacks in your options, you can use 'navigation.setOptions' instead. See https://reactnavigation.org/docs/troubleshooting#i-get-the-warning-non-serializable-values-were-found-in-the-navigation-state for more details.`;\n\n if (!serializableWarnings.includes(message)) {\n serializableWarnings.push(message);\n console.warn(message);\n }\n }\n\n const duplicateRouteNamesResult =\n checkDuplicateRouteNames(hydratedState);\n\n if (duplicateRouteNamesResult.length) {\n const message = `Found screens with the same name nested inside one another. Check:\\n${duplicateRouteNamesResult.map(\n (locations) => `\\n${locations.join(', ')}`\n )}\\n\\nThis can cause confusing behavior during navigation. Consider using unique names for each screen instead.`;\n\n if (!duplicateNameWarnings.includes(message)) {\n duplicateNameWarnings.push(message);\n console.warn(message);\n }\n }\n }\n }\n\n emitter.emit({ type: 'state', data: { state } });\n\n if (!isFirstMountRef.current && onStateChangeRef.current) {\n onStateChangeRef.current(hydratedState);\n }\n\n isFirstMountRef.current = false;\n }, [getRootState, emitter, state]);\n\n const defaultOnUnhandledAction = React.useCallback(\n (action: NavigationAction) => {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n const payload: Record | undefined = action.payload;\n\n let message = `The action '${action.type}'${\n payload ? ` with payload ${JSON.stringify(action.payload)}` : ''\n } was not handled by any navigator.`;\n\n switch (action.type) {\n case 'NAVIGATE':\n case 'PUSH':\n case 'REPLACE':\n case 'JUMP_TO':\n if (payload?.name) {\n message += `\\n\\nDo you have a screen named '${payload.name}'?\\n\\nIf you're trying to navigate to a screen in a nested navigator, see https://reactnavigation.org/docs/nesting-navigators#navigating-to-a-screen-in-a-nested-navigator.`;\n } else {\n message += `\\n\\nYou need to pass the name of the screen to navigate to.\\n\\nSee https://reactnavigation.org/docs/navigation-actions for usage.`;\n }\n\n break;\n case 'GO_BACK':\n case 'POP':\n case 'POP_TO_TOP':\n message += `\\n\\nIs there any screen to go back to?`;\n break;\n case 'OPEN_DRAWER':\n case 'CLOSE_DRAWER':\n case 'TOGGLE_DRAWER':\n message += `\\n\\nIs your screen inside a Drawer navigator?`;\n break;\n }\n\n message += `\\n\\nThis is a development-only warning and won't be shown in production.`;\n\n console.error(message);\n },\n []\n );\n\n let element = (\n \n \n \n \n \n {children}\n \n \n \n \n \n );\n\n if (independent) {\n // We need to clear any existing contexts for nested independent container to work correctly\n element = (\n \n \n {element}\n \n \n );\n }\n\n return element;\n }\n);\n\nexport default BaseNavigationContainer;\n","import type { ParamListBase } from '@react-navigation/routers';\n\nimport type { RouteGroupConfig } from './types';\n\n/**\n * Empty component used for grouping screen configs.\n */\nexport default function Group<\n ParamList extends ParamListBase,\n ScreenOptions extends {}\n>(_: RouteGroupConfig) {\n /* istanbul ignore next */\n return null;\n}\n","import type { NavigationState, ParamListBase } from '@react-navigation/routers';\n\nimport type { EventMapBase, RouteConfig } from './types';\n\n/**\n * Empty component used for specifying route configuration.\n */\nexport default function Screen<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n>(_: RouteConfig) {\n /* istanbul ignore next */\n return null;\n}\n","import type { NavigationState, ParamListBase } from '@react-navigation/routers';\nimport type * as React from 'react';\n\nimport Group from './Group';\nimport Screen from './Screen';\nimport type { EventMapBase, TypedNavigator } from './types';\n\n/**\n * Higher order component to create a `Navigator` and `Screen` pair.\n * Custom navigators should wrap the navigator component in `createNavigator` before exporting.\n *\n * @param Navigator The navigtor component to wrap.\n * @returns Factory method to create a `Navigator` and `Screen` pair.\n */\nexport default function createNavigatorFactory<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase,\n NavigatorComponent extends React.ComponentType\n>(Navigator: NavigatorComponent) {\n return function (): TypedNavigator<\n ParamList,\n State,\n ScreenOptions,\n EventMap,\n typeof Navigator\n > {\n if (arguments[0] !== undefined) {\n throw new Error(\n \"Creating a navigator doesn't take an argument. Maybe you are trying to use React Navigation 4 API? See https://reactnavigation.org/docs/hello-react-navigation for the latest API and guides.\"\n );\n }\n\n return {\n Navigator,\n Group,\n Screen,\n };\n };\n}\n","import * as React from 'react';\n\n/**\n * Context which holds the values for the current navigation tree.\n * Intended for use in SSR. This is not safe to use on the client.\n */\nconst CurrentRenderContext = React.createContext<\n { options?: object } | undefined\n>(undefined);\n\nexport default CurrentRenderContext;\n","import type {\n CommonActions,\n NavigationState,\n ParamListBase,\n PartialRoute,\n PartialState,\n Route,\n} from '@react-navigation/routers';\n\nimport type { NavigatorScreenParams, PathConfig, PathConfigMap } from './types';\n\ntype ConfigItem = {\n initialRouteName?: string;\n screens?: Record;\n};\n\ntype Options = {\n initialRouteName?: string;\n screens: PathConfigMap;\n};\n\ntype NavigateAction = {\n type: 'NAVIGATE';\n payload: {\n name: string;\n params?: NavigatorScreenParams;\n path?: string;\n };\n};\n\nexport default function getActionFromState(\n state: PartialState,\n options?: Options\n): NavigateAction | CommonActions.Action | undefined {\n // Create a normalized configs object which will be easier to use\n const normalizedConfig = options\n ? createNormalizedConfigItem(options as PathConfig | string)\n : {};\n\n const routes =\n state.index != null ? state.routes.slice(0, state.index + 1) : state.routes;\n\n if (routes.length === 0) {\n return undefined;\n }\n\n if (\n !(\n (routes.length === 1 && routes[0].key === undefined) ||\n (routes.length === 2 &&\n routes[0].key === undefined &&\n routes[0].name === normalizedConfig?.initialRouteName &&\n routes[1].key === undefined)\n )\n ) {\n return {\n type: 'RESET',\n payload: state,\n };\n }\n\n const route = state.routes[state.index ?? state.routes.length - 1];\n\n let current: PartialState | undefined = route?.state;\n let config: ConfigItem | undefined = normalizedConfig?.screens?.[route?.name];\n let params = { ...route.params } as NavigatorScreenParams<\n ParamListBase,\n NavigationState\n >;\n\n let payload = route\n ? { name: route.name, path: route.path, params }\n : undefined;\n\n while (current) {\n if (current.routes.length === 0) {\n return undefined;\n }\n\n const routes =\n current.index != null\n ? current.routes.slice(0, current.index + 1)\n : current.routes;\n\n const route: Route | PartialRoute> =\n routes[routes.length - 1];\n\n // Explicitly set to override existing value when merging params\n Object.assign(params, {\n initial: undefined,\n screen: undefined,\n params: undefined,\n state: undefined,\n });\n\n if (routes.length === 1 && routes[0].key === undefined) {\n params.initial = true;\n params.screen = route.name;\n } else if (\n routes.length === 2 &&\n routes[0].key === undefined &&\n routes[0].name === config?.initialRouteName &&\n routes[1].key === undefined\n ) {\n params.initial = false;\n params.screen = route.name;\n } else {\n params.state = current;\n break;\n }\n\n if (route.state) {\n params.params = { ...route.params };\n params = params.params as NavigatorScreenParams<\n ParamListBase,\n NavigationState\n >;\n } else {\n params.path = route.path;\n params.params = route.params;\n }\n\n current = route.state;\n config = config?.screens?.[route.name];\n }\n\n if (!payload) {\n return;\n }\n\n // Try to construct payload for a `NAVIGATE` action from the state\n // This lets us preserve the navigation state and not lose it\n return {\n type: 'NAVIGATE',\n payload,\n };\n}\n\nconst createNormalizedConfigItem = (config: PathConfig | string) =>\n typeof config === 'object' && config != null\n ? {\n initialRouteName: config.initialRouteName,\n screens:\n config.screens != null\n ? createNormalizedConfigs(config.screens)\n : undefined,\n }\n : {};\n\nconst createNormalizedConfigs = (options: PathConfigMap) =>\n Object.entries(options).reduce>((acc, [k, v]) => {\n acc[k] = createNormalizedConfigItem(v);\n return acc;\n }, {});\n","import type {\n NavigationState,\n ParamListBase,\n Route,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { RouteProp } from './types';\n\ntype RouteCache = Map, RouteProp>;\n\n/**\n * Utilites such as `getFocusedRouteNameFromRoute` need to access state.\n * So we need a way to suppress the warning for those use cases.\n * This is fine since they are internal utilities and this is not public API.\n */\nexport const CHILD_STATE = Symbol('CHILD_STATE');\n\n/**\n * Hook to cache route props for each screen in the navigator.\n * This lets add warnings and modifications to the route object but keep references between renders.\n */\nexport default function useRouteCache(\n routes: State['routes']\n) {\n // Cache object which holds route objects for each screen\n const cache = React.useMemo(() => ({ current: new Map() as RouteCache }), []);\n\n if (process.env.NODE_ENV === 'production') {\n // We don't want the overhead of creating extra maps every render in prod\n return routes;\n }\n\n cache.current = routes.reduce((acc, route) => {\n const previous = cache.current.get(route);\n\n if (previous) {\n // If a cached route object already exists, reuse it\n acc.set(route, previous);\n } else {\n const { state, ...proxy } = route;\n\n Object.defineProperty(proxy, CHILD_STATE, {\n enumerable: false,\n value: state,\n });\n\n acc.set(route, proxy);\n }\n\n return acc;\n }, new Map() as RouteCache);\n\n return Array.from(cache.current.values());\n}\n","import type { Route } from '@react-navigation/routers';\n\nimport { CHILD_STATE } from './useRouteCache';\n\nexport default function getFocusedRouteNameFromRoute(\n route: Partial>\n): string | undefined {\n // @ts-expect-error: this isn't in type definitions coz we want this private\n const state = route[CHILD_STATE] ?? route.state;\n const params = route.params as { screen?: unknown } | undefined;\n\n const routeName = state\n ? // Get the currently active route name in the nested navigator\n state.routes[\n // If we have a partial state without index, for tab/drawer, first screen will be focused one, and last for stack\n // The type property will only exist for rehydrated state and not for state from deep link\n state.index ??\n (typeof state.type === 'string' && state.type !== 'stack'\n ? 0\n : state.routes.length - 1)\n ].name\n : // If state doesn't exist, we need to default to `screen` param if available\n typeof params?.screen === 'string'\n ? params.screen\n : undefined;\n\n return routeName;\n}\n","// Object.fromEntries is not available in older iOS versions\nexport default function fromEntries(\n entries: (readonly [K, V])[]\n) {\n return entries.reduce((acc, [k, v]) => {\n if (acc.hasOwnProperty(k)) {\n throw new Error(`A value for key '${k}' already exists in the object.`);\n }\n\n acc[k] = v;\n return acc;\n }, {} as Record);\n}\n","const formatToList = (items: string[]) =>\n items.map((key) => `- ${key}`).join('\\n');\n\nexport default function validatePathConfig(config: any, root = true) {\n const validKeys = ['initialRouteName', 'screens'];\n\n if (!root) {\n validKeys.push('path', 'exact', 'stringify', 'parse');\n }\n\n const invalidKeys = Object.keys(config).filter(\n (key) => !validKeys.includes(key)\n );\n\n if (invalidKeys.length) {\n throw new Error(\n `Found invalid properties in the configuration:\\n${formatToList(\n invalidKeys\n )}\\n\\nDid you forget to specify them under a 'screens' property?\\n\\nYou can only specify the following properties:\\n${formatToList(\n validKeys\n )}\\n\\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.`\n );\n }\n\n if (config.screens) {\n Object.entries(config.screens).forEach(([_, value]) => {\n if (typeof value !== 'string') {\n validatePathConfig(value, false);\n }\n });\n }\n}\n","import type {\n NavigationState,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as queryString from 'query-string';\n\nimport fromEntries from './fromEntries';\nimport type { PathConfig, PathConfigMap } from './types';\nimport validatePathConfig from './validatePathConfig';\n\ntype Options = {\n initialRouteName?: string;\n screens: PathConfigMap;\n};\n\ntype State = NavigationState | Omit, 'stale'>;\n\ntype StringifyConfig = Record string>;\n\ntype ConfigItem = {\n pattern?: string;\n stringify?: StringifyConfig;\n screens?: Record;\n};\n\nconst getActiveRoute = (state: State): { name: string; params?: object } => {\n const route =\n typeof state.index === 'number'\n ? state.routes[state.index]\n : state.routes[state.routes.length - 1];\n\n if (route.state) {\n return getActiveRoute(route.state);\n }\n\n return route;\n};\n\n/**\n * Utility to serialize a navigation state object to a path string.\n *\n * @example\n * ```js\n * getPathFromState(\n * {\n * routes: [\n * {\n * name: 'Chat',\n * params: { author: 'Jane', id: 42 },\n * },\n * ],\n * },\n * {\n * screens: {\n * Chat: {\n * path: 'chat/:author/:id',\n * stringify: { author: author => author.toLowerCase() }\n * }\n * }\n * }\n * )\n * ```\n *\n * @param state Navigation state to serialize.\n * @param options Extra options to fine-tune how to serialize the path.\n * @returns Path representing the state, e.g. /foo/bar?count=42.\n */\nexport default function getPathFromState(\n state: State,\n options?: Options\n): string {\n if (state == null) {\n throw Error(\n \"Got 'undefined' for the navigation state. You must pass a valid state object.\"\n );\n }\n\n if (options) {\n validatePathConfig(options);\n }\n\n // Create a normalized configs object which will be easier to use\n const configs: Record = options?.screens\n ? createNormalizedConfigs(options?.screens)\n : {};\n\n let path = '/';\n let current: State | undefined = state;\n\n const allParams: Record = {};\n\n while (current) {\n let index = typeof current.index === 'number' ? current.index : 0;\n let route = current.routes[index] as Route & {\n state?: State;\n };\n\n let pattern: string | undefined;\n\n let focusedParams: Record | undefined;\n let focusedRoute = getActiveRoute(state);\n let currentOptions = configs;\n\n // Keep all the route names that appeared during going deeper in config in case the pattern is resolved to undefined\n let nestedRouteNames = [];\n\n let hasNext = true;\n\n while (route.name in currentOptions && hasNext) {\n pattern = currentOptions[route.name].pattern;\n\n nestedRouteNames.push(route.name);\n\n if (route.params) {\n const stringify = currentOptions[route.name]?.stringify;\n\n const currentParams = fromEntries(\n Object.entries(route.params).map(([key, value]) => [\n key,\n stringify?.[key] ? stringify[key](value) : String(value),\n ])\n );\n\n if (pattern) {\n Object.assign(allParams, currentParams);\n }\n\n if (focusedRoute === route) {\n // If this is the focused route, keep the params for later use\n // We save it here since it's been stringified already\n focusedParams = { ...currentParams };\n\n pattern\n ?.split('/')\n .filter((p) => p.startsWith(':'))\n // eslint-disable-next-line no-loop-func\n .forEach((p) => {\n const name = getParamName(p);\n\n // Remove the params present in the pattern since we'll only use the rest for query string\n if (focusedParams) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete focusedParams[name];\n }\n });\n }\n }\n\n // If there is no `screens` property or no nested state, we return pattern\n if (!currentOptions[route.name].screens || route.state === undefined) {\n hasNext = false;\n } else {\n index =\n typeof route.state.index === 'number'\n ? route.state.index\n : route.state.routes.length - 1;\n\n const nextRoute = route.state.routes[index];\n const nestedConfig = currentOptions[route.name].screens;\n\n // if there is config for next route name, we go deeper\n if (nestedConfig && nextRoute.name in nestedConfig) {\n route = nextRoute as Route & { state?: State };\n currentOptions = nestedConfig;\n } else {\n // If not, there is no sense in going deeper in config\n hasNext = false;\n }\n }\n }\n\n if (pattern === undefined) {\n pattern = nestedRouteNames.join('/');\n }\n\n if (currentOptions[route.name] !== undefined) {\n path += pattern\n .split('/')\n .map((p) => {\n const name = getParamName(p);\n\n // We don't know what to show for wildcard patterns\n // Showing the route name seems ok, though whatever we show here will be incorrect\n // Since the page doesn't actually exist\n if (p === '*') {\n return route.name;\n }\n\n // If the path has a pattern for a param, put the param in the path\n if (p.startsWith(':')) {\n const value = allParams[name];\n\n if (value === undefined && p.endsWith('?')) {\n // Optional params without value assigned in route.params should be ignored\n return '';\n }\n\n return encodeURIComponent(value);\n }\n\n return encodeURIComponent(p);\n })\n .join('/');\n } else {\n path += encodeURIComponent(route.name);\n }\n\n if (!focusedParams) {\n focusedParams = focusedRoute.params;\n }\n\n if (route.state) {\n path += '/';\n } else if (focusedParams) {\n for (let param in focusedParams) {\n if (focusedParams[param] === 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete focusedParams[param];\n }\n }\n\n const query = queryString.stringify(focusedParams, { sort: false });\n\n if (query) {\n path += `?${query}`;\n }\n }\n\n current = route.state;\n }\n\n // Remove multiple as well as trailing slashes\n path = path.replace(/\\/+/g, '/');\n path = path.length > 1 ? path.replace(/\\/$/, '') : path;\n\n return path;\n}\n\nconst getParamName = (pattern: string) =>\n pattern.replace(/^:/, '').replace(/\\?$/, '');\n\nconst joinPaths = (...paths: string[]): string =>\n ([] as string[])\n .concat(...paths.map((p) => p.split('/')))\n .filter(Boolean)\n .join('/');\n\nconst createConfigItem = (\n config: PathConfig | string,\n parentPattern?: string\n): ConfigItem => {\n if (typeof config === 'string') {\n // If a string is specified as the value of the key(e.g. Foo: '/path'), use it as the pattern\n const pattern = parentPattern ? joinPaths(parentPattern, config) : config;\n\n return { pattern };\n }\n\n // If an object is specified as the value (e.g. Foo: { ... }),\n // It can have `path` property and `screens` prop which has nested configs\n let pattern: string | undefined;\n\n if (config.exact && config.path === undefined) {\n throw new Error(\n \"A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.\"\n );\n }\n\n pattern =\n config.exact !== true\n ? joinPaths(parentPattern || '', config.path || '')\n : config.path || '';\n\n const screens = config.screens\n ? createNormalizedConfigs(config.screens, pattern)\n : undefined;\n\n return {\n // Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc.\n pattern: pattern?.split('/').filter(Boolean).join('/'),\n stringify: config.stringify,\n screens,\n };\n};\n\nconst createNormalizedConfigs = (\n options: PathConfigMap,\n pattern?: string\n): Record =>\n fromEntries(\n Object.entries(options).map(([name, c]) => {\n const result = createConfigItem(c, pattern);\n\n return [name, result];\n })\n );\n","import type {\n InitialState,\n NavigationState,\n PartialState,\n} from '@react-navigation/routers';\nimport escape from 'escape-string-regexp';\nimport * as queryString from 'query-string';\n\nimport findFocusedRoute from './findFocusedRoute';\nimport type { PathConfigMap } from './types';\nimport validatePathConfig from './validatePathConfig';\n\ntype Options = {\n initialRouteName?: string;\n screens: PathConfigMap;\n};\n\ntype ParseConfig = Record any>;\n\ntype RouteConfig = {\n screen: string;\n regex?: RegExp;\n path: string;\n pattern: string;\n routeNames: string[];\n parse?: ParseConfig;\n};\n\ntype InitialRouteConfig = {\n initialRouteName: string;\n parentScreens: string[];\n};\n\ntype ResultState = PartialState & {\n state?: ResultState;\n};\n\ntype ParsedRoute = {\n name: string;\n path?: string;\n params?: Record | undefined;\n};\n\n/**\n * Utility to parse a path string to initial state object accepted by the container.\n * This is useful for deep linking when we need to handle the incoming URL.\n *\n * @example\n * ```js\n * getStateFromPath(\n * '/chat/jane/42',\n * {\n * screens: {\n * Chat: {\n * path: 'chat/:author/:id',\n * parse: { id: Number }\n * }\n * }\n * }\n * )\n * ```\n * @param path Path string to parse and convert, e.g. /foo/bar?count=42.\n * @param options Extra options to fine-tune how to parse the path.\n */\nexport default function getStateFromPath(\n path: string,\n options?: Options\n): ResultState | undefined {\n if (options) {\n validatePathConfig(options);\n }\n\n let initialRoutes: InitialRouteConfig[] = [];\n\n if (options?.initialRouteName) {\n initialRoutes.push({\n initialRouteName: options.initialRouteName,\n parentScreens: [],\n });\n }\n\n const screens = options?.screens;\n\n let remaining = path\n .replace(/\\/+/g, '/') // Replace multiple slash (//) with single ones\n .replace(/^\\//, '') // Remove extra leading slash\n .replace(/\\?.*$/, ''); // Remove query params which we will handle later\n\n // Make sure there is a trailing slash\n remaining = remaining.endsWith('/') ? remaining : `${remaining}/`;\n\n if (screens === undefined) {\n // When no config is specified, use the path segments as route names\n const routes = remaining\n .split('/')\n .filter(Boolean)\n .map((segment) => {\n const name = decodeURIComponent(segment);\n return { name };\n });\n\n if (routes.length) {\n return createNestedStateObject(path, routes, initialRoutes);\n }\n\n return undefined;\n }\n\n // Create a normalized configs array which will be easier to use\n const configs = ([] as RouteConfig[])\n .concat(\n ...Object.keys(screens).map((key) =>\n createNormalizedConfigs(\n key,\n screens as PathConfigMap,\n [],\n initialRoutes,\n []\n )\n )\n )\n .sort((a, b) => {\n // Sort config so that:\n // - the most exhaustive ones are always at the beginning\n // - patterns with wildcard are always at the end\n\n // If 2 patterns are same, move the one with less route names up\n // This is an error state, so it's only useful for consistent error messages\n if (a.pattern === b.pattern) {\n return b.routeNames.join('>').localeCompare(a.routeNames.join('>'));\n }\n\n // If one of the patterns starts with the other, it's more exhaustive\n // So move it up\n if (a.pattern.startsWith(b.pattern)) {\n return -1;\n }\n\n if (b.pattern.startsWith(a.pattern)) {\n return 1;\n }\n\n const aParts = a.pattern.split('/');\n const bParts = b.pattern.split('/');\n\n for (let i = 0; i < Math.max(aParts.length, bParts.length); i++) {\n // if b is longer, b get higher priority\n if (aParts[i] == null) {\n return 1;\n }\n // if a is longer, a get higher priority\n if (bParts[i] == null) {\n return -1;\n }\n const aWildCard = aParts[i] === '*' || aParts[i].startsWith(':');\n const bWildCard = bParts[i] === '*' || bParts[i].startsWith(':');\n // if both are wildcard we compare next component\n if (aWildCard && bWildCard) {\n continue;\n }\n // if only a is wild card, b get higher priority\n if (aWildCard) {\n return 1;\n }\n // if only b is wild card, a get higher priority\n if (bWildCard) {\n return -1;\n }\n }\n return bParts.length - aParts.length;\n });\n\n // Check for duplicate patterns in the config\n configs.reduce>((acc, config) => {\n if (acc[config.pattern]) {\n const a = acc[config.pattern].routeNames;\n const b = config.routeNames;\n\n // It's not a problem if the path string omitted from a inner most screen\n // For example, it's ok if a path resolves to `A > B > C` or `A > B`\n const intersects =\n a.length > b.length\n ? b.every((it, i) => a[i] === it)\n : a.every((it, i) => b[i] === it);\n\n if (!intersects) {\n throw new Error(\n `Found conflicting screens with the same pattern. The pattern '${\n config.pattern\n }' resolves to both '${a.join(' > ')}' and '${b.join(\n ' > '\n )}'. Patterns must be unique and cannot resolve to more than one screen.`\n );\n }\n }\n\n return Object.assign(acc, {\n [config.pattern]: config,\n });\n }, {});\n\n if (remaining === '/') {\n // We need to add special handling of empty path so navigation to empty path also works\n // When handling empty path, we should only look at the root level config\n const match = configs.find(\n (config) =>\n config.path === '' &&\n config.routeNames.every(\n // Make sure that none of the parent configs have a non-empty path defined\n (name) => !configs.find((c) => c.screen === name)?.path\n )\n );\n\n if (match) {\n return createNestedStateObject(\n path,\n match.routeNames.map((name) => ({ name })),\n initialRoutes,\n configs\n );\n }\n\n return undefined;\n }\n\n let result: PartialState | undefined;\n let current: PartialState | undefined;\n\n // We match the whole path against the regex instead of segments\n // This makes sure matches such as wildcard will catch any unmatched routes, even if nested\n const { routes, remainingPath } = matchAgainstConfigs(\n remaining,\n configs.map((c) => ({\n ...c,\n // Add `$` to the regex to make sure it matches till end of the path and not just beginning\n regex: c.regex ? new RegExp(c.regex.source + '$') : undefined,\n }))\n );\n\n if (routes !== undefined) {\n // This will always be empty if full path matched\n current = createNestedStateObject(path, routes, initialRoutes, configs);\n remaining = remainingPath;\n result = current;\n }\n\n if (current == null || result == null) {\n return undefined;\n }\n\n return result;\n}\n\nconst joinPaths = (...paths: string[]): string =>\n ([] as string[])\n .concat(...paths.map((p) => p.split('/')))\n .filter(Boolean)\n .join('/');\n\nconst matchAgainstConfigs = (remaining: string, configs: RouteConfig[]) => {\n let routes: ParsedRoute[] | undefined;\n let remainingPath = remaining;\n\n // Go through all configs, and see if the next path segment matches our regex\n for (const config of configs) {\n if (!config.regex) {\n continue;\n }\n\n const match = remainingPath.match(config.regex);\n\n // If our regex matches, we need to extract params from the path\n if (match) {\n const matchedParams = config.pattern\n ?.split('/')\n .filter((p) => p.startsWith(':'))\n .reduce>(\n (acc, p, i) =>\n Object.assign(acc, {\n // The param segments appear every second item starting from 2 in the regex match result\n [p]: match![(i + 1) * 2].replace(/\\//, ''),\n }),\n {}\n );\n\n routes = config.routeNames.map((name) => {\n const config = configs.find((c) => c.screen === name);\n const params = config?.path\n ?.split('/')\n .filter((p) => p.startsWith(':'))\n .reduce>((acc, p) => {\n const value = matchedParams[p];\n\n if (value) {\n const key = p.replace(/^:/, '').replace(/\\?$/, '');\n acc[key] = config.parse?.[key] ? config.parse[key](value) : value;\n }\n\n return acc;\n }, {});\n\n if (params && Object.keys(params).length) {\n return { name, params };\n }\n\n return { name };\n });\n\n remainingPath = remainingPath.replace(match[1], '');\n\n break;\n }\n }\n\n return { routes, remainingPath };\n};\n\nconst createNormalizedConfigs = (\n screen: string,\n routeConfig: PathConfigMap,\n routeNames: string[] = [],\n initials: InitialRouteConfig[],\n parentScreens: string[],\n parentPattern?: string\n): RouteConfig[] => {\n const configs: RouteConfig[] = [];\n\n routeNames.push(screen);\n\n parentScreens.push(screen);\n\n // @ts-expect-error: we can't strongly typecheck this for now\n const config = routeConfig[screen];\n\n if (typeof config === 'string') {\n // If a string is specified as the value of the key(e.g. Foo: '/path'), use it as the pattern\n const pattern = parentPattern ? joinPaths(parentPattern, config) : config;\n\n configs.push(createConfigItem(screen, routeNames, pattern, config));\n } else if (typeof config === 'object') {\n let pattern: string | undefined;\n\n // if an object is specified as the value (e.g. Foo: { ... }),\n // it can have `path` property and\n // it could have `screens` prop which has nested configs\n if (typeof config.path === 'string') {\n if (config.exact && config.path === undefined) {\n throw new Error(\n \"A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.\"\n );\n }\n\n pattern =\n config.exact !== true\n ? joinPaths(parentPattern || '', config.path || '')\n : config.path || '';\n\n configs.push(\n createConfigItem(\n screen,\n routeNames,\n pattern!,\n config.path,\n config.parse\n )\n );\n }\n\n if (config.screens) {\n // property `initialRouteName` without `screens` has no purpose\n if (config.initialRouteName) {\n initials.push({\n initialRouteName: config.initialRouteName,\n parentScreens,\n });\n }\n\n Object.keys(config.screens).forEach((nestedConfig) => {\n const result = createNormalizedConfigs(\n nestedConfig,\n config.screens as PathConfigMap,\n routeNames,\n initials,\n [...parentScreens],\n pattern ?? parentPattern\n );\n\n configs.push(...result);\n });\n }\n }\n\n routeNames.pop();\n\n return configs;\n};\n\nconst createConfigItem = (\n screen: string,\n routeNames: string[],\n pattern: string,\n path: string,\n parse?: ParseConfig\n): RouteConfig => {\n // Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc.\n pattern = pattern.split('/').filter(Boolean).join('/');\n\n const regex = pattern\n ? new RegExp(\n `^(${pattern\n .split('/')\n .map((it) => {\n if (it.startsWith(':')) {\n return `(([^/]+\\\\/)${it.endsWith('?') ? '?' : ''})`;\n }\n\n return `${it === '*' ? '.*' : escape(it)}\\\\/`;\n })\n .join('')})`\n )\n : undefined;\n\n return {\n screen,\n regex,\n pattern,\n path,\n // The routeNames array is mutated, so copy it to keep the current state\n routeNames: [...routeNames],\n parse,\n };\n};\n\nconst findParseConfigForRoute = (\n routeName: string,\n flatConfig: RouteConfig[]\n): ParseConfig | undefined => {\n for (const config of flatConfig) {\n if (routeName === config.routeNames[config.routeNames.length - 1]) {\n return config.parse;\n }\n }\n\n return undefined;\n};\n\n// Try to find an initial route connected with the one passed\nconst findInitialRoute = (\n routeName: string,\n parentScreens: string[],\n initialRoutes: InitialRouteConfig[]\n): string | undefined => {\n for (const config of initialRoutes) {\n if (parentScreens.length === config.parentScreens.length) {\n let sameParents = true;\n for (let i = 0; i < parentScreens.length; i++) {\n if (parentScreens[i].localeCompare(config.parentScreens[i]) !== 0) {\n sameParents = false;\n break;\n }\n }\n if (sameParents) {\n return routeName !== config.initialRouteName\n ? config.initialRouteName\n : undefined;\n }\n }\n }\n return undefined;\n};\n\n// returns state object with values depending on whether\n// it is the end of state and if there is initialRoute for this level\nconst createStateObject = (\n initialRoute: string | undefined,\n route: ParsedRoute,\n isEmpty: boolean\n): InitialState => {\n if (isEmpty) {\n if (initialRoute) {\n return {\n index: 1,\n routes: [{ name: initialRoute }, route],\n };\n } else {\n return {\n routes: [route],\n };\n }\n } else {\n if (initialRoute) {\n return {\n index: 1,\n routes: [{ name: initialRoute }, { ...route, state: { routes: [] } }],\n };\n } else {\n return {\n routes: [{ ...route, state: { routes: [] } }],\n };\n }\n }\n};\n\nconst createNestedStateObject = (\n path: string,\n routes: ParsedRoute[],\n initialRoutes: InitialRouteConfig[],\n flatConfig?: RouteConfig[]\n) => {\n let state: InitialState;\n let route = routes.shift() as ParsedRoute;\n const parentScreens: string[] = [];\n\n let initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);\n\n parentScreens.push(route.name);\n\n state = createStateObject(initialRoute, route, routes.length === 0);\n\n if (routes.length > 0) {\n let nestedState = state;\n\n while ((route = routes.shift() as ParsedRoute)) {\n initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);\n\n const nestedStateIndex =\n nestedState.index || nestedState.routes.length - 1;\n\n nestedState.routes[nestedStateIndex].state = createStateObject(\n initialRoute,\n route,\n routes.length === 0\n );\n\n if (routes.length > 0) {\n nestedState = nestedState.routes[nestedStateIndex]\n .state as InitialState;\n }\n\n parentScreens.push(route.name);\n }\n }\n\n route = findFocusedRoute(state) as ParsedRoute;\n route.path = path;\n\n const params = parseQueryParams(\n path,\n flatConfig ? findParseConfigForRoute(route.name, flatConfig) : undefined\n );\n\n if (params) {\n route.params = { ...route.params, ...params };\n }\n\n return state;\n};\n\nconst parseQueryParams = (\n path: string,\n parseConfig?: Record any>\n) => {\n const query = path.split('?')[1];\n const params = queryString.parse(query);\n\n if (parseConfig) {\n Object.keys(params).forEach((name) => {\n if (\n Object.hasOwnProperty.call(parseConfig, name) &&\n typeof params[name] === 'string'\n ) {\n params[name] = parseConfig[name](params[name] as string);\n }\n });\n }\n\n return Object.keys(params).length ? params : undefined;\n};\n","import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationHelpers } from './types';\n\n/**\n * Context which holds the navigation helpers of the parent navigator.\n * Navigators should use this context in their view component.\n */\nconst NavigationHelpersContext = React.createContext<\n NavigationHelpers | undefined\n>(undefined);\n\nexport default NavigationHelpersContext;\n","import * as React from 'react';\n\n/**\n * A type of an object that have a route key as an object key\n * and a value whether to prevent that route.\n */\nexport type PreventedRoutes = Record;\n\nconst PreventRemoveContext = React.createContext<\n | {\n preventedRoutes: PreventedRoutes;\n setPreventRemove: (\n id: string,\n routeKey: string,\n preventRemove: boolean\n ) => void;\n }\n | undefined\n>(undefined);\n\nexport default PreventRemoveContext;\n","import { nanoid } from 'nanoid/non-secure';\nimport * as React from 'react';\nimport useLatestCallback from 'use-latest-callback';\n\nimport NavigationHelpersContext from './NavigationHelpersContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport PreventRemoveContext, { PreventedRoutes } from './PreventRemoveContext';\n\ntype Props = {\n children: React.ReactNode;\n};\n\ntype PreventedRoutesMap = Map<\n string,\n {\n routeKey: string;\n preventRemove: boolean;\n }\n>;\n\n/**\n * Util function to transform map of prevented routes to a simpler object.\n */\nconst transformPreventedRoutes = (\n preventedRoutesMap: PreventedRoutesMap\n): PreventedRoutes => {\n const preventedRoutesToTransform = [...preventedRoutesMap.values()];\n\n const preventedRoutes = preventedRoutesToTransform.reduce(\n (acc, { routeKey, preventRemove }) => {\n acc[routeKey] = {\n preventRemove: acc[routeKey]?.preventRemove || preventRemove,\n };\n return acc;\n },\n {}\n );\n\n return preventedRoutes;\n};\n\n/**\n * Component used for managing which routes have to be prevented from removal in native-stack.\n */\nexport default function PreventRemoveProvider({ children }: Props) {\n const [parentId] = React.useState(() => nanoid());\n const [preventedRoutesMap, setPreventedRoutesMap] =\n React.useState(new Map());\n\n const navigation = React.useContext(NavigationHelpersContext);\n const route = React.useContext(NavigationRouteContext);\n\n const preventRemoveContextValue = React.useContext(PreventRemoveContext);\n // take `setPreventRemove` from parent context - if exist it means we're in a nested context\n const setParentPrevented = preventRemoveContextValue?.setPreventRemove;\n\n const setPreventRemove = useLatestCallback(\n (id: string, routeKey: string, preventRemove: boolean): void => {\n if (\n preventRemove &&\n (navigation == null ||\n navigation\n ?.getState()\n .routes.every((route) => route.key !== routeKey))\n ) {\n throw new Error(\n `Couldn't find a route with the key ${routeKey}. Is your component inside NavigationContent?`\n );\n }\n\n setPreventedRoutesMap((prevPrevented) => {\n // values haven't changed - do nothing\n if (\n routeKey === prevPrevented.get(id)?.routeKey &&\n preventRemove === prevPrevented.get(id)?.preventRemove\n ) {\n return prevPrevented;\n }\n\n const nextPrevented = new Map(prevPrevented);\n\n if (preventRemove) {\n nextPrevented.set(id, {\n routeKey,\n preventRemove,\n });\n } else {\n nextPrevented.delete(id);\n }\n\n return nextPrevented;\n });\n }\n );\n\n const isPrevented = [...preventedRoutesMap.values()].some(\n ({ preventRemove }) => preventRemove\n );\n\n React.useEffect(() => {\n if (route?.key !== undefined && setParentPrevented !== undefined) {\n // when route is defined (and setParentPrevented) it means we're in a nested stack\n // route.key then will be the route key of parent\n setParentPrevented(parentId, route.key, isPrevented);\n return () => {\n setParentPrevented(parentId, route.key, false);\n };\n }\n\n return;\n }, [parentId, isPrevented, route?.key, setParentPrevented]);\n\n const value = React.useMemo(\n () => ({\n setPreventRemove,\n preventedRoutes: transformPreventedRoutes(preventedRoutesMap),\n }),\n [setPreventRemove, preventedRoutesMap]\n );\n\n return (\n \n {children}\n \n );\n}\n","import type {\n DefaultRouterOptions,\n InitialState,\n NavigationAction,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport type * as React from 'react';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace ReactNavigation {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface RootParamList {}\n }\n}\n\ntype Keyof = Extract;\n\nexport type DefaultNavigatorOptions<\n ParamList extends ParamListBase,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n> = DefaultRouterOptions> & {\n /**\n * Optional ID for the navigator. Can be used with `navigation.getParent(id)` to refer to a parent.\n */\n id?: string;\n /**\n * Children React Elements to extract the route configuration from.\n * Only `Screen`, `Group` and `React.Fragment` are supported as children.\n */\n children: React.ReactNode;\n /**\n * Event listeners for all the screens in the navigator.\n */\n screenListeners?:\n | ScreenListeners\n | ((props: {\n route: RouteProp;\n navigation: any;\n }) => ScreenListeners);\n /**\n * Default options for all screens under this navigator.\n */\n screenOptions?:\n | ScreenOptions\n | ((props: {\n route: RouteProp;\n navigation: any;\n }) => ScreenOptions);\n};\n\nexport type EventMapBase = Record<\n string,\n { data?: any; canPreventDefault?: boolean }\n>;\n\nexport type EventMapCore = {\n focus: { data: undefined };\n blur: { data: undefined };\n state: { data: { state: State } };\n beforeRemove: { data: { action: NavigationAction }; canPreventDefault: true };\n};\n\nexport type EventArg<\n EventName extends string,\n CanPreventDefault extends boolean | undefined = false,\n Data = undefined\n> = {\n /**\n * Type of the event (e.g. `focus`, `blur`)\n */\n readonly type: EventName;\n readonly target?: string;\n} & (CanPreventDefault extends true\n ? {\n /**\n * Whether `event.preventDefault()` was called on this event object.\n */\n readonly defaultPrevented: boolean;\n /**\n * Prevent the default action which happens on this event.\n */\n preventDefault(): void;\n }\n : {}) &\n (undefined extends Data\n ? { readonly data?: Readonly }\n : { readonly data: Readonly });\n\nexport type EventListenerCallback<\n EventMap extends EventMapBase,\n EventName extends keyof EventMap\n> = (\n e: EventArg<\n Extract,\n EventMap[EventName]['canPreventDefault'],\n EventMap[EventName]['data']\n >\n) => void;\n\nexport type EventConsumer = {\n /**\n * Subscribe to events from the parent navigator.\n *\n * @param type Type of the event (e.g. `focus`, `blur`)\n * @param callback Callback listener which is executed upon receiving the event.\n */\n addListener>(\n type: EventName,\n callback: EventListenerCallback\n ): () => void;\n removeListener>(\n type: EventName,\n callback: EventListenerCallback\n ): void;\n};\n\nexport type EventEmitter = {\n /**\n * Emit an event to child screens.\n *\n * @param options.type Type of the event (e.g. `focus`, `blur`)\n * @param [options.data] Optional information regarding the event.\n * @param [options.target] Key of the target route which should receive the event.\n * If not specified, all routes receive the event.\n */\n emit>(\n options: {\n type: EventName;\n target?: string;\n } & (EventMap[EventName]['canPreventDefault'] extends true\n ? { canPreventDefault: true }\n : {}) &\n (undefined extends EventMap[EventName]['data']\n ? { data?: EventMap[EventName]['data'] }\n : { data: EventMap[EventName]['data'] })\n ): EventArg<\n EventName,\n EventMap[EventName]['canPreventDefault'],\n EventMap[EventName]['data']\n >;\n};\n\nexport class PrivateValueStore {\n /**\n * UGLY HACK! DO NOT USE THE TYPE!!!\n *\n * TypeScript requires a type to be used to be able to infer it.\n * The type should exist as its own without any operations such as union.\n * So we need to figure out a way to store this type in a property.\n * The problem with a normal property is that it shows up in intelliSense.\n * Adding private keyword works, but the annotation is stripped away in declaration.\n * Turns out if we use an empty string, it doesn't show up in intelliSense.\n */\n protected ''?: T;\n}\n\ntype NavigationHelpersCommon<\n ParamList extends ParamListBase,\n State extends NavigationState = NavigationState\n> = {\n /**\n * Dispatch an action or an update function to the router.\n * The update function will receive the current state,\n *\n * @param action Action object or update function.\n */\n dispatch(\n action: NavigationAction | ((state: State) => NavigationAction)\n ): void;\n\n /**\n * Navigate to a route in current navigation tree.\n *\n * @param name Name of the route to navigate to.\n * @param [params] Params object for the route.\n */\n navigate(\n ...args: // this first condition allows us to iterate over a union type\n // This is to avoid getting a union of all the params from `ParamList[RouteName]`,\n // which will get our types all mixed up if a union RouteName is passed in.\n RouteName extends unknown\n ? // This condition checks if the params are optional,\n // which means it's either undefined or a union with undefined\n undefined extends ParamList[RouteName]\n ?\n | [screen: RouteName] // if the params are optional, we don't have to provide it\n | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n : never\n ): void;\n\n /**\n * Navigate to a route in current navigation tree.\n *\n * @param route Object with `key` or `name` for the route to navigate to, and a `params` object.\n */\n navigate(\n options: RouteName extends unknown\n ?\n | { key: string; params?: ParamList[RouteName]; merge?: boolean }\n | {\n name: RouteName;\n key?: string;\n params: ParamList[RouteName];\n merge?: boolean;\n }\n : never\n ): void;\n\n /**\n * Reset the navigation state to the provided state.\n *\n * @param state Navigation state object.\n */\n reset(state: PartialState | State): void;\n\n /**\n * Go back to the previous route in history.\n */\n goBack(): void;\n\n /**\n * Check if the screen is focused. The method returns `true` if focused, `false` otherwise.\n * Note that this method doesn't re-render screen when the focus changes. So don't use it in `render`.\n * To get notified of focus changes, use `addListener('focus', cb)` and `addListener('blur', cb)`.\n * To conditionally render content based on focus state, use the `useIsFocused` hook.\n */\n isFocused(): boolean;\n\n /**\n * Check if dispatching back action will be handled by navigation.\n * Note that this method doesn't re-render screen when the result changes. So don't use it in `render`.\n */\n canGoBack(): boolean;\n\n /**\n * Returns the name of the navigator specified in the `name` prop.\n * If no name is specified, returns `undefined`.\n */\n getId(): string | undefined;\n\n /**\n * Returns the navigation helpers from a parent navigator based on the ID.\n * If an ID is provided, the navigation helper from the parent navigator with matching ID (including current) will be returned.\n * If no ID is provided, the navigation helper from the immediate parent navigator will be returned.\n *\n * @param id Optional ID of a parent navigator.\n */\n getParent | undefined>(id?: string): T;\n\n /**\n * Returns the navigator's state.\n * Note that this method doesn't re-render screen when the result changes. So don't use it in `render`.\n */\n getState(): State;\n} & PrivateValueStore<[ParamList, unknown, unknown]>;\n\nexport type NavigationHelpers<\n ParamList extends ParamListBase,\n EventMap extends EventMapBase = {}\n> = NavigationHelpersCommon &\n EventEmitter & {\n /**\n * Update the param object for the route.\n * The new params will be shallow merged with the old one.\n *\n * @param params Params object for the current route.\n */\n setParams(\n params: Partial\n ): void;\n };\n\nexport type NavigationContainerProps = {\n /**\n * Initial navigation state for the child navigators.\n */\n initialState?: InitialState;\n /**\n * Callback which is called with the latest navigation state when it changes.\n */\n onStateChange?: (state: NavigationState | undefined) => void;\n /**\n * Callback which is called when an action is not handled.\n */\n onUnhandledAction?: (action: NavigationAction) => void;\n /**\n * Whether this navigation container should be independent of parent containers.\n * If this is not set to `true`, this container cannot be nested inside another container.\n * Setting it to `true` disconnects any children navigators from parent container.\n */\n independent?: boolean;\n /**\n * Children elements to render.\n */\n children: React.ReactNode;\n};\n\nexport type NavigationProp<\n ParamList extends {},\n RouteName extends keyof ParamList = Keyof,\n NavigatorID extends string | undefined = undefined,\n State extends NavigationState = NavigationState,\n ScreenOptions extends {} = {},\n EventMap extends EventMapBase = {}\n> = Omit, 'getParent'> & {\n /**\n * Returns the navigation prop from a parent navigator based on the ID.\n * If an ID is provided, the navigation prop from the parent navigator with matching ID (including current) will be returned.\n * If no ID is provided, the navigation prop from the immediate parent navigator will be returned.\n *\n * @param id Optional ID of a parent navigator.\n */\n getParent | undefined>(id?: NavigatorID): T;\n\n /**\n * Update the param object for the route.\n * The new params will be shallow merged with the old one.\n *\n * @param params Params object for the current route.\n */\n setParams(\n params: ParamList[RouteName] extends undefined\n ? undefined\n : Partial\n ): void;\n\n /**\n * Update the options for the route.\n * The options object will be shallow merged with default options object.\n *\n * @param options Options object for the route.\n */\n setOptions(options: Partial): void;\n} & EventConsumer> &\n PrivateValueStore<[ParamList, RouteName, EventMap]>;\n\nexport type RouteProp<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList = Keyof\n> = Route, ParamList[RouteName]>;\n\nexport type CompositeNavigationProp<\n A extends NavigationProp,\n B extends NavigationHelpersCommon\n> = Omit> &\n NavigationProp<\n /**\n * Param list from both navigation objects needs to be combined\n * For example, we should be able to navigate to screens in both A and B\n */\n (A extends NavigationHelpersCommon ? T : never) &\n (B extends NavigationHelpersCommon ? U : never),\n /**\n * The route name should refer to the route name specified in the first type\n * Ideally it should work for any of them, but it's not possible to infer that way\n */\n A extends NavigationProp ? R : string,\n /**\n * ID from both navigation objects needs to be combined for `getParent`\n */\n | (A extends NavigationProp ? I : never)\n | (B extends NavigationProp ? J : never),\n /**\n * The type of state should refer to the state specified in the first type\n */\n A extends NavigationProp ? S : NavigationState,\n /**\n * Screen options from both navigation objects needs to be combined\n * This allows typechecking `setOptions`\n */\n (A extends NavigationProp ? O : {}) &\n (B extends NavigationProp ? P : {}),\n /**\n * Event consumer config should refer to the config specified in the first type\n * This allows typechecking `addListener`/`removeListener`\n */\n A extends NavigationProp ? E : {}\n >;\n\nexport type CompositeScreenProps<\n A extends {\n navigation: NavigationProp<\n ParamListBase,\n string,\n string | undefined,\n any,\n any,\n any\n >;\n route: RouteProp;\n },\n B extends {\n navigation: NavigationHelpersCommon;\n }\n> = {\n navigation: CompositeNavigationProp;\n route: A['route'];\n};\n\nexport type Descriptor<\n ScreenOptions extends {},\n Navigation extends NavigationProp,\n Route extends RouteProp\n> = {\n /**\n * Render the component associated with this route.\n */\n render(): JSX.Element;\n\n /**\n * Options for the route.\n */\n options: ScreenOptions;\n\n /**\n * Route object for the screen\n */\n route: Route;\n\n /**\n * Navigation object for the screen\n */\n navigation: Navigation;\n};\n\nexport type ScreenListeners<\n State extends NavigationState,\n EventMap extends EventMapBase\n> = Partial<{\n [EventName in keyof (EventMap & EventMapCore)]: EventListenerCallback<\n EventMap,\n EventName\n >;\n}>;\n\ntype ScreenComponentType<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList\n> =\n | React.ComponentType<{\n route: RouteProp;\n navigation: any;\n }>\n | React.ComponentType<{}>;\n\nexport type RouteConfigComponent<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList\n> =\n | {\n /**\n * React component to render for this screen.\n */\n component: ScreenComponentType;\n getComponent?: never;\n children?: never;\n }\n | {\n /**\n * Lazily get a React component to render for this screen.\n */\n getComponent: () => ScreenComponentType;\n component?: never;\n children?: never;\n }\n | {\n /**\n * Render callback to render content of this screen.\n */\n children: (props: {\n route: RouteProp;\n navigation: any;\n }) => React.ReactNode;\n component?: never;\n getComponent?: never;\n };\n\nexport type RouteConfig<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n> = {\n /**\n * Optional key for this screen. This doesn't need to be unique.\n * If the key changes, existing screens with this name will be removed or reset.\n * Useful when we have some common screens and have conditional rendering.\n */\n navigationKey?: string;\n\n /**\n * Route name of this screen.\n */\n name: RouteName;\n\n /**\n * Navigator options for this screen.\n */\n options?:\n | ScreenOptions\n | ((props: {\n route: RouteProp;\n navigation: any;\n }) => ScreenOptions);\n\n /**\n * Event listeners for this screen.\n */\n listeners?:\n | ScreenListeners\n | ((props: {\n route: RouteProp;\n navigation: any;\n }) => ScreenListeners);\n\n /**\n * Function to return an unique ID for this screen.\n * Receives an object with the route params.\n * For a given screen name, there will always be only one screen corresponding to an ID.\n * If `undefined` is returned, it acts same as no `getId` being specified.\n */\n getId?: ({ params }: { params: ParamList[RouteName] }) => string | undefined;\n\n /**\n * Initial params object for the route.\n */\n initialParams?: Partial;\n} & RouteConfigComponent;\n\nexport type RouteGroupConfig<\n ParamList extends ParamListBase,\n ScreenOptions extends {}\n> = {\n /**\n * Optional key for the screens in this group.\n * If the key changes, all existing screens in this group will be removed or reset.\n */\n navigationKey?: string;\n\n /**\n * Navigator options for this screen.\n */\n screenOptions?:\n | ScreenOptions\n | ((props: {\n route: RouteProp;\n navigation: any;\n }) => ScreenOptions);\n /**\n * Children React Elements to extract the route configuration from.\n * Only `Screen`, `Group` and `React.Fragment` are supported as children.\n */\n children: React.ReactNode;\n};\n\nexport type NavigationContainerEventMap = {\n /**\n * Event which fires when the navigation state changes.\n */\n state: {\n data: {\n /**\n * The updated state object after the state change.\n */\n state: NavigationState | PartialState | undefined;\n };\n };\n /**\n * Event which fires when current options changes.\n */\n options: { data: { options: object } };\n /**\n * Event which fires when an action is dispatched.\n * Only intended for debugging purposes, don't use it for app logic.\n * This event will be emitted before state changes have been applied.\n */\n __unsafe_action__: {\n data: {\n /**\n * The action object which was dispatched.\n */\n action: NavigationAction;\n /**\n * Whether the action was a no-op, i.e. resulted any state changes.\n */\n noop: boolean;\n /**\n * Stack trace of the action, this will only be available during development.\n */\n stack: string | undefined;\n };\n };\n};\n\nexport type NavigationContainerRef =\n NavigationHelpers &\n EventConsumer & {\n /**\n * Reset the navigation state of the root navigator to the provided state.\n *\n * @param state Navigation state object.\n */\n resetRoot(state?: PartialState | NavigationState): void;\n /**\n * Get the rehydrated navigation state of the navigation tree.\n */\n getRootState(): NavigationState;\n /**\n * Get the currently focused navigation route.\n */\n getCurrentRoute(): Route | undefined;\n /**\n * Get the currently focused route's options.\n */\n getCurrentOptions(): object | undefined;\n /**\n * Whether the navigation container is ready to handle actions.\n */\n isReady(): boolean;\n };\n\nexport type NavigationContainerRefWithCurrent =\n NavigationContainerRef & {\n current: NavigationContainerRef | null;\n };\n\nexport type TypedNavigator<\n ParamList extends ParamListBase,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase,\n Navigator extends React.ComponentType\n> = {\n /**\n * Navigator component which manages the child screens.\n */\n Navigator: React.ComponentType<\n Omit<\n React.ComponentProps,\n keyof DefaultNavigatorOptions\n > &\n DefaultNavigatorOptions\n >;\n /**\n * Component used for grouping multiple route configuration.\n */\n Group: React.ComponentType>;\n /**\n * Component used for specifying route configuration.\n */\n Screen: (\n _: RouteConfig\n ) => null;\n};\n\nexport type NavigatorScreenParams<\n ParamList,\n State extends NavigationState = NavigationState\n> =\n | {\n screen?: never;\n params?: never;\n initial?: never;\n path?: string;\n state: PartialState | State | undefined;\n }\n | {\n [RouteName in keyof ParamList]: undefined extends ParamList[RouteName]\n ? {\n screen: RouteName;\n params?: ParamList[RouteName];\n initial?: boolean;\n path?: string;\n state?: never;\n }\n : {\n screen: RouteName;\n params: ParamList[RouteName];\n initial?: boolean;\n path?: string;\n state?: never;\n };\n }[keyof ParamList];\n\nexport type PathConfig = {\n path?: string;\n exact?: boolean;\n parse?: Record any>;\n stringify?: Record string>;\n screens?: PathConfigMap;\n initialRouteName?: keyof ParamList;\n};\n\nexport type PathConfigMap = {\n [RouteName in keyof ParamList]?: NonNullable<\n ParamList[RouteName]\n > extends NavigatorScreenParams\n ? string | PathConfig\n : string | Omit, 'screens' | 'initialRouteName'>;\n};\n","import * as React from 'react';\n\nimport NavigationContainerRefContext from './NavigationContainerRefContext';\nimport NavigationContext from './NavigationContext';\nimport type { NavigationProp } from './types';\n\n/**\n * Hook to access the navigation prop of the parent screen anywhere.\n *\n * @returns Navigation prop of the parent screen.\n */\nexport default function useNavigation<\n T = NavigationProp\n>(): T {\n const root = React.useContext(NavigationContainerRefContext);\n const navigation = React.useContext(NavigationContext);\n\n if (navigation === undefined && root === undefined) {\n throw new Error(\n \"Couldn't find a navigation object. Is your component inside NavigationContainer?\"\n );\n }\n\n // FIXME: Figure out a better way to do this\n return (navigation ?? root) as unknown as T;\n}\n","import * as React from 'react';\n\nimport useNavigation from './useNavigation';\n\ntype EffectCallback = () => undefined | void | (() => void);\n\n/**\n * Hook to run an effect in a focused screen, similar to `React.useEffect`.\n * This can be used to perform side-effects such as fetching data or subscribing to events.\n * The passed callback should be wrapped in `React.useCallback` to avoid running the effect too often.\n *\n * @param callback Memoized callback containing the effect, should optionally return a cleanup function.\n */\nexport default function useFocusEffect(effect: EffectCallback) {\n const navigation = useNavigation();\n\n if (arguments[1] !== undefined) {\n const message =\n \"You passed a second argument to 'useFocusEffect', but it only accepts one argument. \" +\n \"If you want to pass a dependency array, you can use 'React.useCallback':\\n\\n\" +\n 'useFocusEffect(\\n' +\n ' React.useCallback(() => {\\n' +\n ' // Your code here\\n' +\n ' }, [depA, depB])\\n' +\n ');\\n\\n' +\n 'See usage guide: https://reactnavigation.org/docs/use-focus-effect';\n\n console.error(message);\n }\n\n React.useEffect(() => {\n let isFocused = false;\n let cleanup: undefined | void | (() => void);\n\n const callback = () => {\n const destroy = effect();\n\n if (destroy === undefined || typeof destroy === 'function') {\n return destroy;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n let message =\n 'An effect function must not return anything besides a function, which is used for clean-up.';\n\n if (destroy === null) {\n message +=\n \" You returned 'null'. If your effect does not require clean-up, return 'undefined' (or nothing).\";\n } else if (typeof (destroy as any).then === 'function') {\n message +=\n \"\\n\\nIt looks like you wrote 'useFocusEffect(async () => ...)' or returned a Promise. \" +\n 'Instead, write the async function inside your effect ' +\n 'and call it immediately:\\n\\n' +\n 'useFocusEffect(\\n' +\n ' React.useCallback(() => {\\n' +\n ' async function fetchData() {\\n' +\n ' // You can await here\\n' +\n ' const response = await MyAPI.getData(someId);\\n' +\n ' // ...\\n' +\n ' }\\n\\n' +\n ' fetchData();\\n' +\n ' }, [someId])\\n' +\n ');\\n\\n' +\n 'See usage guide: https://reactnavigation.org/docs/use-focus-effect';\n } else {\n message += ` You returned '${JSON.stringify(destroy)}'.`;\n }\n\n console.error(message);\n }\n };\n\n // We need to run the effect on intial render/dep changes if the screen is focused\n if (navigation.isFocused()) {\n cleanup = callback();\n isFocused = true;\n }\n\n const unsubscribeFocus = navigation.addListener('focus', () => {\n // If callback was already called for focus, avoid calling it again\n // The focus event may also fire on intial render, so we guard against runing the effect twice\n if (isFocused) {\n return;\n }\n\n if (cleanup !== undefined) {\n cleanup();\n }\n\n cleanup = callback();\n isFocused = true;\n });\n\n const unsubscribeBlur = navigation.addListener('blur', () => {\n if (cleanup !== undefined) {\n cleanup();\n }\n\n cleanup = undefined;\n isFocused = false;\n });\n\n return () => {\n if (cleanup !== undefined) {\n cleanup();\n }\n\n unsubscribeFocus();\n unsubscribeBlur();\n };\n }, [effect, navigation]);\n}\n","import * as React from 'react';\nimport { useState } from 'react';\n\nimport useNavigation from './useNavigation';\n\n/**\n * Hook to get the current focus state of the screen. Returns a `true` if screen is focused, otherwise `false`.\n * This can be used if a component needs to render something based on the focus state.\n */\nexport default function useIsFocused(): boolean {\n const navigation = useNavigation();\n const [isFocused, setIsFocused] = useState(navigation.isFocused);\n\n const valueToReturn = navigation.isFocused();\n\n if (isFocused !== valueToReturn) {\n // If the value has changed since the last render, we need to update it.\n // This could happen if we missed an update from the event listeners during re-render.\n // React will process this update immediately, so the old subscription value won't be committed.\n // It is still nice to avoid returning a mismatched value though, so let's override the return value.\n // This is the same logic as in https://github.com/facebook/react/tree/master/packages/use-subscription\n setIsFocused(valueToReturn);\n }\n\n React.useEffect(() => {\n const unsubscribeFocus = navigation.addListener('focus', () =>\n setIsFocused(true)\n );\n\n const unsubscribeBlur = navigation.addListener('blur', () =>\n setIsFocused(false)\n );\n\n return () => {\n unsubscribeFocus();\n unsubscribeBlur();\n };\n }, [navigation]);\n\n React.useDebugValue(valueToReturn);\n\n return valueToReturn;\n}\n","/**\n * Compare two arrays with primitive values as the content.\n * We need to make sure that both values and order match.\n */\nexport default function isArrayEqual(a: any[], b: any[]) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n return a.every((it, index) => it === b[index]);\n}\n","import * as React from 'react';\n\ntype Render = (children: React.ReactNode) => JSX.Element;\n\ntype Props = {\n render: Render;\n children: React.ReactNode;\n};\n\nconst NavigationContent = ({ render, children }: Props) => {\n return render(children);\n};\n\nexport default function useComponent(render: Render) {\n const renderRef = React.useRef(render);\n\n // Normally refs shouldn't be mutated in render\n // But we return a component which will be rendered\n // So it's just for immediate consumption\n renderRef.current = render;\n\n React.useEffect(() => {\n renderRef.current = null;\n });\n\n return React.useRef(({ children }: { children: React.ReactNode }) => {\n const render = renderRef.current;\n\n if (render === null) {\n throw new Error(\n 'The returned component must be rendered in the same render phase as the hook.'\n );\n }\n\n return {children};\n }).current;\n}\n","import * as React from 'react';\n\n/**\n * Component which prevents updates for children if no props changed\n */\nfunction StaticContainer(props: any) {\n return props.children;\n}\n\nexport default React.memo(StaticContainer, (prevProps: any, nextProps: any) => {\n const prevPropKeys = Object.keys(prevProps);\n const nextPropKeys = Object.keys(nextProps);\n\n if (prevPropKeys.length !== nextPropKeys.length) {\n return false;\n }\n\n for (const key of prevPropKeys) {\n if (key === 'children') {\n continue;\n }\n\n if (prevProps[key] !== nextProps[key]) {\n return false;\n }\n }\n\n return true;\n});\n","import type {\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport EnsureSingleNavigator from './EnsureSingleNavigator';\nimport NavigationStateContext from './NavigationStateContext';\nimport StaticContainer from './StaticContainer';\nimport type { NavigationProp, RouteConfigComponent } from './types';\nimport useOptionsGetters from './useOptionsGetters';\n\ntype Props = {\n screen: RouteConfigComponent & { name: string };\n navigation: NavigationProp<\n ParamListBase,\n string,\n string | undefined,\n State,\n ScreenOptions\n >;\n route: Route;\n routeState: NavigationState | PartialState | undefined;\n getState: () => State;\n setState: (state: State) => void;\n options: object;\n clearOptions: () => void;\n};\n\n/**\n * Component which takes care of rendering the screen for a route.\n * It provides all required contexts and applies optimizations when applicable.\n */\nexport default function SceneView<\n State extends NavigationState,\n ScreenOptions extends {}\n>({\n screen,\n route,\n navigation,\n routeState,\n getState,\n setState,\n options,\n clearOptions,\n}: Props) {\n const navigatorKeyRef = React.useRef();\n const getKey = React.useCallback(() => navigatorKeyRef.current, []);\n\n const { addOptionsGetter } = useOptionsGetters({\n key: route.key,\n options,\n navigation,\n });\n\n const setKey = React.useCallback((key: string) => {\n navigatorKeyRef.current = key;\n }, []);\n\n const getCurrentState = React.useCallback(() => {\n const state = getState();\n const currentRoute = state.routes.find((r) => r.key === route.key);\n\n return currentRoute ? currentRoute.state : undefined;\n }, [getState, route.key]);\n\n const setCurrentState = React.useCallback(\n (child: NavigationState | PartialState | undefined) => {\n const state = getState();\n\n setState({\n ...state,\n routes: state.routes.map((r) =>\n r.key === route.key ? { ...r, state: child } : r\n ),\n });\n },\n [getState, route.key, setState]\n );\n\n const isInitialRef = React.useRef(true);\n\n React.useEffect(() => {\n isInitialRef.current = false;\n });\n\n // Clear options set by this screen when it is unmounted\n React.useEffect(() => {\n return clearOptions;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const getIsInitial = React.useCallback(() => isInitialRef.current, []);\n\n const context = React.useMemo(\n () => ({\n state: routeState,\n getState: getCurrentState,\n setState: setCurrentState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n }),\n [\n routeState,\n getCurrentState,\n setCurrentState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n ]\n );\n\n const ScreenComponent = screen.getComponent\n ? screen.getComponent()\n : screen.component;\n\n return (\n \n \n \n {ScreenComponent !== undefined ? (\n \n ) : screen.children !== undefined ? (\n screen.children({ navigation, route })\n ) : null}\n \n \n \n );\n}\n","import type {\n NavigationAction,\n NavigationState,\n ParamListBase,\n Router,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext, {\n AddKeyedListener,\n AddListener,\n} from './NavigationBuilderContext';\nimport NavigationContext from './NavigationContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport SceneView from './SceneView';\nimport type {\n Descriptor,\n EventMapBase,\n NavigationHelpers,\n NavigationProp,\n RouteConfig,\n RouteProp,\n} from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\nimport useNavigationCache from './useNavigationCache';\nimport useRouteCache from './useRouteCache';\n\nexport type ScreenConfigWithParent<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n> = {\n keys: (string | undefined)[];\n options: (ScreenOptionsOrCallback | undefined)[] | undefined;\n props: RouteConfig;\n};\n\ntype ScreenOptionsOrCallback =\n | ScreenOptions\n | ((props: {\n route: RouteProp;\n navigation: any;\n }) => ScreenOptions);\n\ntype Options<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n> = {\n state: State;\n screens: Record<\n string,\n ScreenConfigWithParent\n >;\n navigation: NavigationHelpers;\n screenOptions?: ScreenOptionsOrCallback;\n defaultScreenOptions?:\n | ScreenOptions\n | ((props: {\n route: RouteProp;\n navigation: any;\n options: ScreenOptions;\n }) => ScreenOptions);\n onAction: (action: NavigationAction) => boolean;\n getState: () => State;\n setState: (state: State) => void;\n addListener: AddListener;\n addKeyedListener: AddKeyedListener;\n onRouteFocus: (key: string) => void;\n router: Router;\n emitter: NavigationEventEmitter;\n};\n\n/**\n * Hook to create descriptor objects for the child routes.\n *\n * A descriptor object provides 3 things:\n * - Helper method to render a screen\n * - Options specified by the screen for the navigator\n * - Navigation object intended for the route\n */\nexport default function useDescriptors<\n State extends NavigationState,\n ActionHelpers extends Record void>,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n>({\n state,\n screens,\n navigation,\n screenOptions,\n defaultScreenOptions,\n onAction,\n getState,\n setState,\n addListener,\n addKeyedListener,\n onRouteFocus,\n router,\n emitter,\n}: Options) {\n const [options, setOptions] = React.useState>({});\n const { onDispatchAction, onOptionsChange, stackRef } = React.useContext(\n NavigationBuilderContext\n );\n\n const context = React.useMemo(\n () => ({\n navigation,\n onAction,\n addListener,\n addKeyedListener,\n onRouteFocus,\n onDispatchAction,\n onOptionsChange,\n stackRef,\n }),\n [\n navigation,\n onAction,\n addListener,\n addKeyedListener,\n onRouteFocus,\n onDispatchAction,\n onOptionsChange,\n stackRef,\n ]\n );\n\n const navigations = useNavigationCache({\n state,\n getState,\n navigation,\n setOptions,\n router,\n emitter,\n });\n\n const routes = useRouteCache(state.routes);\n\n return routes.reduce<\n Record<\n string,\n Descriptor<\n ScreenOptions,\n NavigationProp<\n ParamListBase,\n string,\n string | undefined,\n State,\n ScreenOptions,\n EventMap\n > &\n ActionHelpers,\n RouteProp\n >\n >\n >((acc, route, i) => {\n const config = screens[route.name];\n const screen = config.props;\n const navigation = navigations[route.key];\n\n const optionsList = [\n // The default `screenOptions` passed to the navigator\n screenOptions,\n // The `screenOptions` props passed to `Group` elements\n ...((config.options\n ? config.options.filter(Boolean)\n : []) as ScreenOptionsOrCallback[]),\n // The `options` prop passed to `Screen` elements,\n screen.options,\n // The options set via `navigation.setOptions`\n options[route.key],\n ];\n\n const customOptions = optionsList.reduce(\n (acc, curr) =>\n Object.assign(\n acc,\n // @ts-expect-error: we check for function but TS still complains\n typeof curr !== 'function' ? curr : curr({ route, navigation })\n ),\n {} as ScreenOptions\n );\n\n const mergedOptions = {\n ...(typeof defaultScreenOptions === 'function'\n ? // @ts-expect-error: ts gives incorrect error here\n defaultScreenOptions({\n route,\n navigation,\n options: customOptions,\n })\n : defaultScreenOptions),\n ...customOptions,\n };\n\n const clearOptions = () =>\n setOptions((o) => {\n if (route.key in o) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [route.key]: _, ...rest } = o;\n return rest;\n }\n\n return o;\n });\n\n acc[route.key] = {\n route,\n // @ts-expect-error: it's missing action helpers, fix later\n navigation,\n render() {\n return (\n \n \n \n \n \n \n \n );\n },\n options: mergedOptions as ScreenOptions,\n };\n\n return acc;\n }, {});\n}\n","import {\n CommonActions,\n NavigationAction,\n NavigationState,\n ParamListBase,\n Router,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext from './NavigationBuilderContext';\nimport type { NavigationHelpers, NavigationProp } from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\n\ntype Options<\n State extends NavigationState,\n EventMap extends Record\n> = {\n state: State;\n getState: () => State;\n navigation: NavigationHelpers &\n Partial>;\n setOptions: (\n cb: (options: Record) => Record\n ) => void;\n router: Router;\n emitter: NavigationEventEmitter;\n};\n\ntype NavigationCache<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends Record\n> = Record<\n string,\n NavigationProp<\n ParamListBase,\n string,\n string | undefined,\n State,\n ScreenOptions,\n EventMap\n >\n>;\n\n/**\n * Hook to cache navigation objects for each screen in the navigator.\n * It's important to cache them to make sure navigation objects don't change between renders.\n * This lets us apply optimizations like `React.memo` to minimize re-rendering screens.\n */\nexport default function useNavigationCache<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends Record\n>({\n state,\n getState,\n navigation,\n setOptions,\n router,\n emitter,\n}: Options) {\n const { stackRef } = React.useContext(NavigationBuilderContext);\n\n // Cache object which holds navigation objects for each screen\n // We use `React.useMemo` instead of `React.useRef` coz we want to invalidate it when deps change\n // In reality, these deps will rarely change, if ever\n const cache = React.useMemo(\n () => ({ current: {} as NavigationCache }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [getState, navigation, setOptions, router, emitter]\n );\n\n const actions = {\n ...router.actionCreators,\n ...CommonActions,\n };\n\n cache.current = state.routes.reduce<\n NavigationCache\n >((acc, route) => {\n const previous = cache.current[route.key];\n\n type Thunk =\n | NavigationAction\n | ((state: State) => NavigationAction | null | undefined);\n\n if (previous) {\n // If a cached navigation object already exists, reuse it\n acc[route.key] = previous;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { emit, ...rest } = navigation;\n\n const dispatch = (thunk: Thunk) => {\n const action = typeof thunk === 'function' ? thunk(getState()) : thunk;\n\n if (action != null) {\n navigation.dispatch({ source: route.key, ...action });\n }\n };\n\n const withStack = (callback: () => void) => {\n let isStackSet = false;\n\n try {\n if (\n process.env.NODE_ENV !== 'production' &&\n stackRef &&\n !stackRef.current\n ) {\n // Capture the stack trace for devtools\n stackRef.current = new Error().stack;\n isStackSet = true;\n }\n\n callback();\n } finally {\n if (isStackSet && stackRef) {\n stackRef.current = undefined;\n }\n }\n };\n\n const helpers = Object.keys(actions).reduce void>>(\n (acc, name) => {\n acc[name] = (...args: any) =>\n withStack(() =>\n // @ts-expect-error: name is a valid key, but TypeScript is dumb\n dispatch(actions[name](...args))\n );\n\n return acc;\n },\n {}\n );\n\n acc[route.key] = {\n ...rest,\n ...helpers,\n // FIXME: too much work to fix the types for now\n ...(emitter.create(route.key) as any),\n dispatch: (thunk: Thunk) => withStack(() => dispatch(thunk)),\n getParent: (id?: string) => {\n if (id !== undefined && id === rest.getId()) {\n // If the passed id is the same as the current navigation id,\n // we return the cached navigation object for the relevant route\n return acc[route.key];\n }\n\n return rest.getParent(id);\n },\n setOptions: (options: object) =>\n setOptions((o) => ({\n ...o,\n [route.key]: { ...o[route.key], ...options },\n })),\n isFocused: () => {\n const state = getState();\n\n if (state.routes[state.index].key !== route.key) {\n return false;\n }\n\n // If the current screen is focused, we also need to check if parent navigator is focused\n // This makes sure that we return the focus state in the whole tree, not just this navigator\n return navigation ? navigation.isFocused() : true;\n },\n };\n }\n\n return acc;\n }, {});\n\n return cache.current;\n}\n","import type {\n NavigationAction,\n NavigationState,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext, {\n ChildBeforeRemoveListener,\n} from './NavigationBuilderContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport type { EventMapCore } from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\n\ntype Options = {\n getState: () => NavigationState;\n emitter: NavigationEventEmitter>;\n beforeRemoveListeners: Record;\n};\n\nconst VISITED_ROUTE_KEYS = Symbol('VISITED_ROUTE_KEYS');\n\nexport const shouldPreventRemove = (\n emitter: NavigationEventEmitter>,\n beforeRemoveListeners: Record,\n currentRoutes: { key: string }[],\n nextRoutes: { key?: string | undefined }[],\n action: NavigationAction\n) => {\n const nextRouteKeys = nextRoutes.map((route) => route.key);\n\n // Call these in reverse order so last screens handle the event first\n const removedRoutes = currentRoutes\n .filter((route) => !nextRouteKeys.includes(route.key))\n .reverse();\n\n const visitedRouteKeys: Set =\n // @ts-expect-error: add this property to mark that we've already emitted this action\n action[VISITED_ROUTE_KEYS] ?? new Set();\n\n const beforeRemoveAction = {\n ...action,\n [VISITED_ROUTE_KEYS]: visitedRouteKeys,\n };\n\n for (const route of removedRoutes) {\n if (visitedRouteKeys.has(route.key)) {\n // Skip if we've already emitted this action for this screen\n continue;\n }\n\n // First, we need to check if any child screens want to prevent it\n const isPrevented = beforeRemoveListeners[route.key]?.(beforeRemoveAction);\n\n if (isPrevented) {\n return true;\n }\n\n visitedRouteKeys.add(route.key);\n\n const event = emitter.emit({\n type: 'beforeRemove',\n target: route.key,\n data: { action: beforeRemoveAction },\n canPreventDefault: true,\n });\n\n if (event.defaultPrevented) {\n return true;\n }\n }\n\n return false;\n};\n\nexport default function useOnPreventRemove({\n getState,\n emitter,\n beforeRemoveListeners,\n}: Options) {\n const { addKeyedListener } = React.useContext(NavigationBuilderContext);\n const route = React.useContext(NavigationRouteContext);\n const routeKey = route?.key;\n\n React.useEffect(() => {\n if (routeKey) {\n return addKeyedListener?.('beforeRemove', routeKey, (action) => {\n const state = getState();\n\n return shouldPreventRemove(\n emitter,\n beforeRemoveListeners,\n state.routes,\n [],\n action\n );\n });\n }\n }, [addKeyedListener, beforeRemoveListeners, emitter, getState, routeKey]);\n}\n","import type {\n NavigationAction,\n NavigationState,\n PartialState,\n Router,\n RouterConfigOptions,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext, {\n ChildActionListener,\n ChildBeforeRemoveListener,\n} from './NavigationBuilderContext';\nimport type { EventMapCore } from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\nimport useOnPreventRemove, { shouldPreventRemove } from './useOnPreventRemove';\n\ntype Options = {\n router: Router;\n key?: string;\n getState: () => NavigationState;\n setState: (state: NavigationState | PartialState) => void;\n actionListeners: ChildActionListener[];\n beforeRemoveListeners: Record;\n routerConfigOptions: RouterConfigOptions;\n emitter: NavigationEventEmitter>;\n};\n\n/**\n * Hook to handle actions for a navigator, including state updates and bubbling.\n *\n * Bubbling an action is achieved in 2 ways:\n * 1. To bubble action to parent, we expose the action handler in context and then access the parent context\n * 2. To bubble action to child, child adds event listeners subscribing to actions from parent\n *\n * When the action handler handles as action, it returns `true`, otherwise `false`.\n */\nexport default function useOnAction({\n router,\n getState,\n setState,\n key,\n actionListeners,\n beforeRemoveListeners,\n routerConfigOptions,\n emitter,\n}: Options) {\n const {\n onAction: onActionParent,\n onRouteFocus: onRouteFocusParent,\n addListener: addListenerParent,\n onDispatchAction,\n } = React.useContext(NavigationBuilderContext);\n\n const routerConfigOptionsRef =\n React.useRef(routerConfigOptions);\n\n React.useEffect(() => {\n routerConfigOptionsRef.current = routerConfigOptions;\n });\n\n const onAction = React.useCallback(\n (\n action: NavigationAction,\n visitedNavigators: Set = new Set()\n ) => {\n const state = getState();\n\n // Since actions can bubble both up and down, they could come to the same navigator again\n // We keep track of navigators which have already tried to handle the action and return if it's already visited\n if (visitedNavigators.has(state.key)) {\n return false;\n }\n\n visitedNavigators.add(state.key);\n\n if (typeof action.target !== 'string' || action.target === state.key) {\n let result = router.getStateForAction(\n state,\n action,\n routerConfigOptionsRef.current\n );\n\n // If a target is specified and set to current navigator, the action shouldn't bubble\n // So instead of `null`, we use the state object for such cases to signal that action was handled\n result =\n result === null && action.target === state.key ? state : result;\n\n if (result !== null) {\n onDispatchAction(action, state === result);\n\n if (state !== result) {\n const isPrevented = shouldPreventRemove(\n emitter,\n beforeRemoveListeners,\n state.routes,\n result.routes,\n action\n );\n\n if (isPrevented) {\n return true;\n }\n\n setState(result);\n }\n\n if (onRouteFocusParent !== undefined) {\n // Some actions such as `NAVIGATE` also want to bring the navigated route to focus in the whole tree\n // This means we need to focus all of the parent navigators of this navigator as well\n const shouldFocus = router.shouldActionChangeFocus(action);\n\n if (shouldFocus && key !== undefined) {\n onRouteFocusParent(key);\n }\n }\n\n return true;\n }\n }\n\n if (onActionParent !== undefined) {\n // Bubble action to the parent if the current navigator didn't handle it\n if (onActionParent(action, visitedNavigators)) {\n return true;\n }\n }\n\n // If the action wasn't handled by current navigator or a parent navigator, let children handle it\n for (let i = actionListeners.length - 1; i >= 0; i--) {\n const listener = actionListeners[i];\n\n if (listener(action, visitedNavigators)) {\n return true;\n }\n }\n\n return false;\n },\n [\n actionListeners,\n beforeRemoveListeners,\n emitter,\n getState,\n key,\n onActionParent,\n onDispatchAction,\n onRouteFocusParent,\n router,\n setState,\n ]\n );\n\n useOnPreventRemove({\n getState,\n emitter,\n beforeRemoveListeners,\n });\n\n React.useEffect(\n () => addListenerParent?.('action', onAction),\n [addListenerParent, onAction]\n );\n\n return onAction;\n}\n","import {\n CommonActions,\n DefaultRouterOptions,\n NavigationAction,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n Router,\n RouterConfigOptions,\n RouterFactory,\n} from '@react-navigation/routers';\nimport * as React from 'react';\nimport { isValidElementType } from 'react-is';\n\nimport Group from './Group';\nimport isArrayEqual from './isArrayEqual';\nimport isRecordEqual from './isRecordEqual';\nimport NavigationHelpersContext from './NavigationHelpersContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport NavigationStateContext from './NavigationStateContext';\nimport PreventRemoveProvider from './PreventRemoveProvider';\nimport Screen from './Screen';\nimport {\n DefaultNavigatorOptions,\n EventMapBase,\n EventMapCore,\n NavigatorScreenParams,\n PrivateValueStore,\n RouteConfig,\n RouteProp,\n} from './types';\nimport useChildListeners from './useChildListeners';\nimport useComponent from './useComponent';\nimport useCurrentRender from './useCurrentRender';\nimport useDescriptors, { ScreenConfigWithParent } from './useDescriptors';\nimport useEventEmitter from './useEventEmitter';\nimport useFocusedListenersChildrenAdapter from './useFocusedListenersChildrenAdapter';\nimport useFocusEvents from './useFocusEvents';\nimport useKeyedChildListeners from './useKeyedChildListeners';\nimport useNavigationHelpers from './useNavigationHelpers';\nimport useOnAction from './useOnAction';\nimport useOnGetState from './useOnGetState';\nimport useOnRouteFocus from './useOnRouteFocus';\nimport useRegisterNavigator from './useRegisterNavigator';\nimport useScheduleUpdate from './useScheduleUpdate';\n\n// This is to make TypeScript compiler happy\n// eslint-disable-next-line babel/no-unused-expressions\nPrivateValueStore;\n\ntype NavigationBuilderOptions = {\n /**\n * Default options specified by the navigator.\n * It receives the custom options in the arguments if a function is specified.\n */\n defaultScreenOptions?:\n | ScreenOptions\n | ((props: {\n route: RouteProp;\n navigation: any;\n options: ScreenOptions;\n }) => ScreenOptions);\n};\n\ntype NavigatorRoute = {\n key: string;\n params?: NavigatorScreenParams;\n};\n\nconst isValidKey = (key: unknown) =>\n key === undefined || (typeof key === 'string' && key !== '');\n\n/**\n * Extract route config object from React children elements.\n *\n * @param children React Elements to extract the config from.\n */\nconst getRouteConfigsFromChildren = <\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n>(\n children: React.ReactNode,\n groupKey?: string,\n groupOptions?: ScreenConfigWithParent<\n State,\n ScreenOptions,\n EventMap\n >['options']\n) => {\n const configs = React.Children.toArray(children).reduce<\n ScreenConfigWithParent[]\n >((acc, child) => {\n if (React.isValidElement(child)) {\n if (child.type === Screen) {\n // We can only extract the config from `Screen` elements\n // If something else was rendered, it's probably a bug\n\n if (!isValidKey(child.props.navigationKey)) {\n throw new Error(\n `Got an invalid 'navigationKey' prop (${JSON.stringify(\n child.props.navigationKey\n )}) for the screen '${\n child.props.name\n }'. It must be a non-empty string or 'undefined'.`\n );\n }\n\n acc.push({\n keys: [groupKey, child.props.navigationKey],\n options: groupOptions,\n props: child.props as RouteConfig<\n ParamListBase,\n string,\n State,\n ScreenOptions,\n EventMap\n >,\n });\n return acc;\n }\n\n if (child.type === React.Fragment || child.type === Group) {\n if (!isValidKey(child.props.navigationKey)) {\n throw new Error(\n `Got an invalid 'navigationKey' prop (${JSON.stringify(\n child.props.navigationKey\n )}) for the group. It must be a non-empty string or 'undefined'.`\n );\n }\n\n // When we encounter a fragment or group, we need to dive into its children to extract the configs\n // This is handy to conditionally define a group of screens\n acc.push(\n ...getRouteConfigsFromChildren(\n child.props.children,\n child.props.navigationKey,\n child.type !== Group\n ? groupOptions\n : groupOptions != null\n ? [...groupOptions, child.props.screenOptions]\n : [child.props.screenOptions]\n )\n );\n return acc;\n }\n }\n\n throw new Error(\n `A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found ${\n React.isValidElement(child)\n ? `'${\n typeof child.type === 'string' ? child.type : child.type?.name\n }'${\n child.props != null &&\n typeof child.props === 'object' &&\n 'name' in child.props &&\n child.props?.name\n ? ` for the screen '${child.props.name}'`\n : ''\n }`\n : typeof child === 'object'\n ? JSON.stringify(child)\n : `'${String(child)}'`\n }). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.`\n );\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n configs.forEach((config) => {\n const { name, children, component, getComponent } = config.props;\n\n if (typeof name !== 'string' || !name) {\n throw new Error(\n `Got an invalid name (${JSON.stringify(\n name\n )}) for the screen. It must be a non-empty string.`\n );\n }\n\n if (\n children != null ||\n component !== undefined ||\n getComponent !== undefined\n ) {\n if (children != null && component !== undefined) {\n throw new Error(\n `Got both 'component' and 'children' props for the screen '${name}'. You must pass only one of them.`\n );\n }\n\n if (children != null && getComponent !== undefined) {\n throw new Error(\n `Got both 'getComponent' and 'children' props for the screen '${name}'. You must pass only one of them.`\n );\n }\n\n if (component !== undefined && getComponent !== undefined) {\n throw new Error(\n `Got both 'component' and 'getComponent' props for the screen '${name}'. You must pass only one of them.`\n );\n }\n\n if (children != null && typeof children !== 'function') {\n throw new Error(\n `Got an invalid value for 'children' prop for the screen '${name}'. It must be a function returning a React Element.`\n );\n }\n\n if (component !== undefined && !isValidElementType(component)) {\n throw new Error(\n `Got an invalid value for 'component' prop for the screen '${name}'. It must be a valid React Component.`\n );\n }\n\n if (getComponent !== undefined && typeof getComponent !== 'function') {\n throw new Error(\n `Got an invalid value for 'getComponent' prop for the screen '${name}'. It must be a function returning a React Component.`\n );\n }\n\n if (typeof component === 'function') {\n if (component.name === 'component') {\n // Inline anonymous functions passed in the `component` prop will have the name of the prop\n // It's relatively safe to assume that it's not a component since it should also have PascalCase name\n // We won't catch all scenarios here, but this should catch a good chunk of incorrect use.\n console.warn(\n `Looks like you're passing an inline function for 'component' prop for the screen '${name}' (e.g. component={() => }). Passing an inline function will cause the component state to be lost on re-render and cause perf issues since it's re-created every render. You can pass the function as children to 'Screen' instead to achieve the desired behaviour.`\n );\n } else if (/^[a-z]/.test(component.name)) {\n console.warn(\n `Got a component with the name '${component.name}' for the screen '${name}'. React Components must start with an uppercase letter. If you're passing a regular function and not a component, pass it as children to 'Screen' instead. Otherwise capitalize your component's name.`\n );\n }\n }\n } else {\n throw new Error(\n `Couldn't find a 'component', 'getComponent' or 'children' prop for the screen '${name}'. This can happen if you passed 'undefined'. You likely forgot to export your component from the file it's defined in, or mixed up default import and named import when importing.`\n );\n }\n });\n }\n\n return configs;\n};\n\n/**\n * Hook for building navigators.\n *\n * @param createRouter Factory method which returns router object.\n * @param options Options object containing `children` and additional options for the router.\n * @returns An object containing `state`, `navigation`, `descriptors` objects.\n */\nexport default function useNavigationBuilder<\n State extends NavigationState,\n RouterOptions extends DefaultRouterOptions,\n ActionHelpers extends Record void>,\n ScreenOptions extends {},\n EventMap extends Record\n>(\n createRouter: RouterFactory,\n options: DefaultNavigatorOptions<\n ParamListBase,\n State,\n ScreenOptions,\n EventMap\n > &\n NavigationBuilderOptions &\n RouterOptions\n) {\n const navigatorKey = useRegisterNavigator();\n\n const route = React.useContext(NavigationRouteContext) as\n | NavigatorRoute\n | undefined;\n\n const { children, screenListeners, ...rest } = options;\n const { current: router } = React.useRef>(\n createRouter({\n ...(rest as unknown as RouterOptions),\n ...(route?.params &&\n route.params.state == null &&\n route.params.initial !== false &&\n typeof route.params.screen === 'string'\n ? { initialRouteName: route.params.screen }\n : null),\n })\n );\n\n const routeConfigs = getRouteConfigsFromChildren<\n State,\n ScreenOptions,\n EventMap\n >(children);\n\n const screens = routeConfigs.reduce<\n Record>\n >((acc, config) => {\n if (config.props.name in acc) {\n throw new Error(\n `A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`\n );\n }\n\n acc[config.props.name] = config;\n return acc;\n }, {});\n\n const routeNames = routeConfigs.map((config) => config.props.name);\n const routeKeyList = routeNames.reduce>(\n (acc, curr) => {\n acc[curr] = screens[curr].keys.map((key) => key ?? '').join(':');\n return acc;\n },\n {}\n );\n const routeParamList = routeNames.reduce>(\n (acc, curr) => {\n const { initialParams } = screens[curr].props;\n acc[curr] = initialParams;\n return acc;\n },\n {}\n );\n const routeGetIdList = routeNames.reduce<\n RouterConfigOptions['routeGetIdList']\n >(\n (acc, curr) =>\n Object.assign(acc, {\n [curr]: screens[curr].props.getId,\n }),\n {}\n );\n\n if (!routeNames.length) {\n throw new Error(\n \"Couldn't find any screens for the navigator. Have you defined any screens as its children?\"\n );\n }\n\n const isStateValid = React.useCallback(\n (state: NavigationState | PartialState) =>\n state.type === undefined || state.type === router.type,\n [router.type]\n );\n\n const isStateInitialized = React.useCallback(\n (state: NavigationState | PartialState | undefined) =>\n state !== undefined && state.stale === false && isStateValid(state),\n [isStateValid]\n );\n\n const {\n state: currentState,\n getState: getCurrentState,\n setState: setCurrentState,\n setKey,\n getKey,\n getIsInitial,\n } = React.useContext(NavigationStateContext);\n\n const stateCleanedUp = React.useRef(false);\n\n const cleanUpState = React.useCallback(() => {\n setCurrentState(undefined);\n stateCleanedUp.current = true;\n }, [setCurrentState]);\n\n const setState = React.useCallback(\n (state: NavigationState | PartialState | undefined) => {\n if (stateCleanedUp.current) {\n // State might have been already cleaned up due to unmount\n // We do not want to expose API allowing to override this\n // This would lead to old data preservation on main navigator unmount\n return;\n }\n setCurrentState(state);\n },\n [setCurrentState]\n );\n\n const [initializedState, isFirstStateInitialization] = React.useMemo(() => {\n const initialRouteParamList = routeNames.reduce<\n Record\n >((acc, curr) => {\n const { initialParams } = screens[curr].props;\n const initialParamsFromParams =\n route?.params?.state == null &&\n route?.params?.initial !== false &&\n route?.params?.screen === curr\n ? route.params.params\n : undefined;\n\n acc[curr] =\n initialParams !== undefined || initialParamsFromParams !== undefined\n ? {\n ...initialParams,\n ...initialParamsFromParams,\n }\n : undefined;\n\n return acc;\n }, {});\n\n // If the current state isn't initialized on first render, we initialize it\n // We also need to re-initialize it if the state passed from parent was changed (maybe due to reset)\n // Otherwise assume that the state was provided as initial state\n // So we need to rehydrate it to make it usable\n if (\n (currentState === undefined || !isStateValid(currentState)) &&\n route?.params?.state == null\n ) {\n return [\n router.getInitialState({\n routeNames,\n routeParamList: initialRouteParamList,\n routeGetIdList,\n }),\n true,\n ];\n } else {\n return [\n router.getRehydratedState(\n route?.params?.state ?? (currentState as PartialState),\n {\n routeNames,\n routeParamList: initialRouteParamList,\n routeGetIdList,\n }\n ),\n false,\n ];\n }\n // We explicitly don't include routeNames, route.params etc. in the dep list\n // below. We want to avoid forcing a new state to be calculated in those cases\n // Instead, we handle changes to these in the nextState code below. Note\n // that some changes to routeConfigs are explicitly ignored, such as changes\n // to initialParams\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentState, router, isStateValid]);\n\n const previousRouteKeyListRef = React.useRef(routeKeyList);\n\n React.useEffect(() => {\n previousRouteKeyListRef.current = routeKeyList;\n });\n\n const previousRouteKeyList = previousRouteKeyListRef.current;\n\n let state =\n // If the state isn't initialized, or stale, use the state we initialized instead\n // The state won't update until there's a change needed in the state we have initalized locally\n // So it'll be `undefined` or stale until the first navigation event happens\n isStateInitialized(currentState)\n ? (currentState as State)\n : (initializedState as State);\n\n let nextState: State = state;\n\n if (\n !isArrayEqual(state.routeNames, routeNames) ||\n !isRecordEqual(routeKeyList, previousRouteKeyList)\n ) {\n // When the list of route names change, the router should handle it to remove invalid routes\n nextState = router.getStateForRouteNamesChange(state, {\n routeNames,\n routeParamList,\n routeGetIdList,\n routeKeyChanges: Object.keys(routeKeyList).filter(\n (name) =>\n previousRouteKeyList.hasOwnProperty(name) &&\n routeKeyList[name] !== previousRouteKeyList[name]\n ),\n });\n }\n\n const previousNestedParamsRef = React.useRef(route?.params);\n\n React.useEffect(() => {\n previousNestedParamsRef.current = route?.params;\n }, [route?.params]);\n\n if (route?.params) {\n const previousParams = previousNestedParamsRef.current;\n\n let action: CommonActions.Action | undefined;\n\n if (\n typeof route.params.state === 'object' &&\n route.params.state != null &&\n route.params !== previousParams\n ) {\n // If the route was updated with new state, we should reset to it\n action = CommonActions.reset(route.params.state);\n } else if (\n typeof route.params.screen === 'string' &&\n ((route.params.initial === false && isFirstStateInitialization) ||\n route.params !== previousParams)\n ) {\n // If the route was updated with new screen name and/or params, we should navigate there\n action = CommonActions.navigate({\n name: route.params.screen,\n params: route.params.params,\n path: route.params.path,\n });\n }\n\n // The update should be limited to current navigator only, so we call the router manually\n const updatedState = action\n ? router.getStateForAction(nextState, action, {\n routeNames,\n routeParamList,\n routeGetIdList,\n })\n : null;\n\n nextState =\n updatedState !== null\n ? router.getRehydratedState(updatedState, {\n routeNames,\n routeParamList,\n routeGetIdList,\n })\n : nextState;\n }\n\n const shouldUpdate = state !== nextState;\n\n useScheduleUpdate(() => {\n if (shouldUpdate) {\n // If the state needs to be updated, we'll schedule an update\n setState(nextState);\n }\n });\n\n // The up-to-date state will come in next render, but we don't need to wait for it\n // We can't use the outdated state since the screens have changed, which will cause error due to mismatched config\n // So we override the state object we return to use the latest state as soon as possible\n state = nextState;\n\n React.useEffect(() => {\n setKey(navigatorKey);\n\n if (!getIsInitial()) {\n // If it's not initial render, we need to update the state\n // This will make sure that our container gets notifier of state changes due to new mounts\n // This is necessary for proper screen tracking, URL updates etc.\n setState(nextState);\n }\n\n return () => {\n // We need to clean up state for this navigator on unmount\n // We do it in a timeout because we need to detect if another navigator mounted in the meantime\n // For example, if another navigator has started rendering, we should skip cleanup\n // Otherwise, our cleanup step will cleanup state for the other navigator and re-initialize it\n setTimeout(() => {\n if (getCurrentState() !== undefined && getKey() === navigatorKey) {\n cleanUpState();\n }\n }, 0);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // We initialize this ref here to avoid a new getState getting initialized\n // whenever initializedState changes. We want getState to have access to the\n // latest initializedState, but don't need it to change when that happens\n const initializedStateRef = React.useRef();\n initializedStateRef.current = initializedState;\n\n const getState = React.useCallback((): State => {\n const currentState = getCurrentState();\n\n return isStateInitialized(currentState)\n ? (currentState as State)\n : (initializedStateRef.current as State);\n }, [getCurrentState, isStateInitialized]);\n\n const emitter = useEventEmitter>((e) => {\n let routeNames = [];\n\n let route: Route | undefined;\n\n if (e.target) {\n route = state.routes.find((route) => route.key === e.target);\n\n if (route?.name) {\n routeNames.push(route.name);\n }\n } else {\n route = state.routes[state.index];\n routeNames.push(\n ...Object.keys(screens).filter((name) => route?.name === name)\n );\n }\n\n if (route == null) {\n return;\n }\n\n const navigation = descriptors[route.key].navigation;\n\n const listeners = ([] as (((e: any) => void) | undefined)[])\n .concat(\n // Get an array of listeners for all screens + common listeners on navigator\n ...[\n screenListeners,\n ...routeNames.map((name) => {\n const { listeners } = screens[name].props;\n return listeners;\n }),\n ].map((listeners) => {\n const map =\n typeof listeners === 'function'\n ? listeners({ route: route as any, navigation })\n : listeners;\n\n return map\n ? Object.keys(map)\n .filter((type) => type === e.type)\n .map((type) => map?.[type])\n : undefined;\n })\n )\n // We don't want same listener to be called multiple times for same event\n // So we remove any duplicate functions from the array\n .filter((cb, i, self) => cb && self.lastIndexOf(cb) === i);\n\n listeners.forEach((listener) => listener?.(e));\n });\n\n useFocusEvents({ state, emitter });\n\n React.useEffect(() => {\n emitter.emit({ type: 'state', data: { state } });\n }, [emitter, state]);\n\n const { listeners: childListeners, addListener } = useChildListeners();\n\n const { keyedListeners, addKeyedListener } = useKeyedChildListeners();\n\n const onAction = useOnAction({\n router,\n getState,\n setState,\n key: route?.key,\n actionListeners: childListeners.action,\n beforeRemoveListeners: keyedListeners.beforeRemove,\n routerConfigOptions: {\n routeNames,\n routeParamList,\n routeGetIdList,\n },\n emitter,\n });\n\n const onRouteFocus = useOnRouteFocus({\n router,\n key: route?.key,\n getState,\n setState,\n });\n\n const navigation = useNavigationHelpers<\n State,\n ActionHelpers,\n NavigationAction,\n EventMap\n >({\n id: options.id,\n onAction,\n getState,\n emitter,\n router,\n });\n\n useFocusedListenersChildrenAdapter({\n navigation,\n focusedListeners: childListeners.focus,\n });\n\n useOnGetState({\n getState,\n getStateListeners: keyedListeners.getState,\n });\n\n const descriptors = useDescriptors<\n State,\n ActionHelpers,\n ScreenOptions,\n EventMap\n >({\n state,\n screens,\n navigation,\n screenOptions: options.screenOptions,\n defaultScreenOptions: options.defaultScreenOptions,\n onAction,\n getState,\n setState,\n onRouteFocus,\n addListener,\n addKeyedListener,\n router,\n // @ts-expect-error: this should have both core and custom events, but too much work right now\n emitter,\n });\n\n useCurrentRender({\n state,\n navigation,\n descriptors,\n });\n\n const NavigationContent = useComponent((children: React.ReactNode) => (\n \n {children}\n \n ));\n\n return {\n state,\n navigation,\n descriptors,\n NavigationContent,\n };\n}\n","import { nanoid } from 'nanoid/non-secure';\nimport * as React from 'react';\n\nimport { SingleNavigatorContext } from './EnsureSingleNavigator';\n\n/**\n * Register a navigator in the parent context (either a navigation container or a screen).\n * This is used to prevent multiple navigators under a single container or screen.\n */\nexport default function useRegisterNavigator() {\n const [key] = React.useState(() => nanoid());\n const container = React.useContext(SingleNavigatorContext);\n\n if (container === undefined) {\n throw new Error(\n \"Couldn't register the navigator. Have you wrapped your app with 'NavigationContainer'?\\n\\nThis can also happen if there are multiple copies of '@react-navigation' packages installed.\"\n );\n }\n\n React.useEffect(() => {\n const { register, unregister } = container;\n\n register(key);\n\n return () => unregister(key);\n }, [container, key]);\n\n return key;\n}\n","/**\n * Compare two records with primitive values as the content.\n */\nexport default function isRecordEqual(\n a: Record,\n b: Record\n) {\n if (a === b) {\n return true;\n }\n\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n\n return aKeys.every((key) => a[key] === b[key]);\n}\n","import type { NavigationState } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationContext from './NavigationContext';\nimport type { EventMapCore } from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\n\ntype Options = {\n state: State;\n emitter: NavigationEventEmitter>;\n};\n\n/**\n * Hook to take care of emitting `focus` and `blur` events.\n */\nexport default function useFocusEvents({\n state,\n emitter,\n}: Options) {\n const navigation = React.useContext(NavigationContext);\n const lastFocusedKeyRef = React.useRef();\n\n const currentFocusedKey = state.routes[state.index].key;\n\n // When the parent screen changes its focus state, we also need to change child's focus\n // Coz the child screen can't be focused if the parent screen is out of focus\n React.useEffect(\n () =>\n navigation?.addListener('focus', () => {\n lastFocusedKeyRef.current = currentFocusedKey;\n emitter.emit({ type: 'focus', target: currentFocusedKey });\n }),\n [currentFocusedKey, emitter, navigation]\n );\n\n React.useEffect(\n () =>\n navigation?.addListener('blur', () => {\n lastFocusedKeyRef.current = undefined;\n emitter.emit({ type: 'blur', target: currentFocusedKey });\n }),\n [currentFocusedKey, emitter, navigation]\n );\n\n React.useEffect(() => {\n const lastFocusedKey = lastFocusedKeyRef.current;\n\n lastFocusedKeyRef.current = currentFocusedKey;\n\n // We wouldn't have `lastFocusedKey` on initial mount\n // Fire focus event for the current route on mount if there's no parent navigator\n if (lastFocusedKey === undefined && !navigation) {\n emitter.emit({ type: 'focus', target: currentFocusedKey });\n }\n\n // We should only emit events when the focused key changed and navigator is focused\n // When navigator is not focused, screens inside shouldn't receive focused status either\n if (\n lastFocusedKey === currentFocusedKey ||\n !(navigation ? navigation.isFocused() : true)\n ) {\n return;\n }\n\n if (lastFocusedKey === undefined) {\n // Only fire events after initial mount\n return;\n }\n\n emitter.emit({ type: 'blur', target: lastFocusedKey });\n emitter.emit({ type: 'focus', target: currentFocusedKey });\n }, [currentFocusedKey, emitter, navigation]);\n}\n","import type {\n NavigationAction,\n NavigationState,\n Router,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext from './NavigationBuilderContext';\n\ntype Options = {\n router: Router;\n getState: () => NavigationState;\n setState: (state: NavigationState) => void;\n key?: string;\n};\n\n/**\n * Hook to handle focus actions for a route.\n * Focus action needs to be treated specially, coz when a nested route is focused,\n * the parent navigators also needs to be focused.\n */\nexport default function useOnRouteFocus({\n router,\n getState,\n key: sourceRouteKey,\n setState,\n}: Options) {\n const { onRouteFocus: onRouteFocusParent } = React.useContext(\n NavigationBuilderContext\n );\n\n return React.useCallback(\n (key: string) => {\n const state = getState();\n const result = router.getStateForRouteFocus(state, key);\n\n if (result !== state) {\n setState(result);\n }\n\n if (onRouteFocusParent !== undefined && sourceRouteKey !== undefined) {\n onRouteFocusParent(sourceRouteKey);\n }\n },\n [getState, onRouteFocusParent, router, setState, sourceRouteKey]\n );\n}\n","import {\n CommonActions,\n NavigationAction,\n NavigationState,\n ParamListBase,\n Router,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationContext from './NavigationContext';\nimport { NavigationHelpers, PrivateValueStore } from './types';\nimport UnhandledActionContext from './UnhandledActionContext';\nimport type { NavigationEventEmitter } from './useEventEmitter';\n\n// This is to make TypeScript compiler happy\n// eslint-disable-next-line babel/no-unused-expressions\nPrivateValueStore;\n\ntype Options = {\n id: string | undefined;\n onAction: (action: NavigationAction) => boolean;\n getState: () => State;\n emitter: NavigationEventEmitter;\n router: Router;\n};\n\n/**\n * Navigation object with helper methods to be used by a navigator.\n * This object includes methods for common actions as well as methods the parent screen's navigation object.\n */\nexport default function useNavigationHelpers<\n State extends NavigationState,\n ActionHelpers extends Record void>,\n Action extends NavigationAction,\n EventMap extends Record\n>({\n id: navigatorId,\n onAction,\n getState,\n emitter,\n router,\n}: Options) {\n const onUnhandledAction = React.useContext(UnhandledActionContext);\n const parentNavigationHelpers = React.useContext(NavigationContext);\n\n return React.useMemo(() => {\n const dispatch = (op: Action | ((state: State) => Action)) => {\n const action = typeof op === 'function' ? op(getState()) : op;\n\n const handled = onAction(action);\n\n if (!handled) {\n onUnhandledAction?.(action);\n }\n };\n\n const actions = {\n ...router.actionCreators,\n ...CommonActions,\n };\n\n const helpers = Object.keys(actions).reduce((acc, name) => {\n // @ts-expect-error: name is a valid key, but TypeScript is dumb\n acc[name] = (...args: any) => dispatch(actions[name](...args));\n return acc;\n }, {} as ActionHelpers);\n\n const navigationHelpers = {\n ...parentNavigationHelpers,\n ...helpers,\n dispatch,\n emit: emitter.emit,\n isFocused: parentNavigationHelpers\n ? parentNavigationHelpers.isFocused\n : () => true,\n canGoBack: () => {\n const state = getState();\n\n return (\n router.getStateForAction(state, CommonActions.goBack() as Action, {\n routeNames: state.routeNames,\n routeParamList: {},\n routeGetIdList: {},\n }) !== null ||\n parentNavigationHelpers?.canGoBack() ||\n false\n );\n },\n getId: () => navigatorId,\n getParent: (id?: string) => {\n if (id !== undefined) {\n let current = navigationHelpers;\n\n while (current && id !== current.getId()) {\n current = current.getParent();\n }\n\n return current;\n }\n\n return parentNavigationHelpers;\n },\n getState,\n } as NavigationHelpers & ActionHelpers;\n\n return navigationHelpers;\n }, [\n navigatorId,\n emitter.emit,\n getState,\n onAction,\n onUnhandledAction,\n parentNavigationHelpers,\n router,\n ]);\n}\n","import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext, {\n FocusedNavigationCallback,\n FocusedNavigationListener,\n} from './NavigationBuilderContext';\nimport type { NavigationHelpers } from './types';\n\ntype Options = {\n navigation: NavigationHelpers;\n focusedListeners: FocusedNavigationListener[];\n};\n\n/**\n * Hook for passing focus callback to children\n */\nexport default function useFocusedListenersChildrenAdapter({\n navigation,\n focusedListeners,\n}: Options) {\n const { addListener } = React.useContext(NavigationBuilderContext);\n\n const listener = React.useCallback(\n (callback: FocusedNavigationCallback) => {\n if (navigation.isFocused()) {\n for (const listener of focusedListeners) {\n const { handled, result } = listener(callback);\n\n if (handled) {\n return { handled, result };\n }\n }\n\n return { handled: true, result: callback(navigation) };\n } else {\n return { handled: false, result: null };\n }\n },\n [focusedListeners, navigation]\n );\n\n React.useEffect(\n () => addListener?.('focus', listener),\n [addListener, listener]\n );\n}\n","import type { NavigationState } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport isArrayEqual from './isArrayEqual';\nimport NavigationBuilderContext, {\n GetStateListener,\n} from './NavigationBuilderContext';\nimport NavigationRouteContext from './NavigationRouteContext';\n\ntype Options = {\n getState: () => NavigationState;\n getStateListeners: Record;\n};\n\nexport default function useOnGetState({\n getState,\n getStateListeners,\n}: Options) {\n const { addKeyedListener } = React.useContext(NavigationBuilderContext);\n const route = React.useContext(NavigationRouteContext);\n const key = route ? route.key : 'root';\n\n const getRehydratedState = React.useCallback(() => {\n const state = getState();\n\n // Avoid returning new route objects if we don't need to\n const routes = state.routes.map((route) => {\n const childState = getStateListeners[route.key]?.();\n\n if (route.state === childState) {\n return route;\n }\n\n return { ...route, state: childState };\n });\n\n if (isArrayEqual(state.routes, routes)) {\n return state;\n }\n\n return { ...state, routes };\n }, [getState, getStateListeners]);\n\n React.useEffect(() => {\n return addKeyedListener?.('getState', key, getRehydratedState);\n }, [addKeyedListener, getRehydratedState, key]);\n}\n","import type { NavigationState, ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport CurrentRenderContext from './CurrentRenderContext';\nimport type {\n Descriptor,\n NavigationHelpers,\n NavigationProp,\n RouteProp,\n} from './types';\n\ntype Options = {\n state: NavigationState;\n navigation: NavigationHelpers;\n descriptors: Record<\n string,\n Descriptor, RouteProp>\n >;\n};\n\n/**\n * Write the current options, so that server renderer can get current values\n * Mutating values like this is not safe in async mode, but it doesn't apply to SSR\n */\nexport default function useCurrentRender({\n state,\n navigation,\n descriptors,\n}: Options) {\n const current = React.useContext(CurrentRenderContext);\n\n if (current && navigation.isFocused()) {\n current.options = descriptors[state.routes[state.index].key].options;\n }\n}\n","import * as React from 'react';\n\nimport createNavigationContainerRef from './createNavigationContainerRef';\nimport type { NavigationContainerRefWithCurrent } from './types';\n\nexport default function useNavigationContainerRef<\n ParamList extends {} = ReactNavigation.RootParamList\n>(): NavigationContainerRefWithCurrent {\n const navigation =\n React.useRef | null>(null);\n\n if (navigation.current == null) {\n navigation.current = createNavigationContainerRef();\n }\n\n return navigation.current;\n}\n","import type { NavigationState, ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationProp } from './types';\nimport useNavigation from './useNavigation';\n\ntype Selector = (\n state: NavigationState\n) => T;\n\n/**\n * Hook to get a value from the current navigation state using a selector.\n *\n * @param selector Selector function to get a value from the state.\n */\nexport default function useNavigationState(\n selector: Selector\n): T {\n const navigation = useNavigation>();\n\n // We don't care about the state value, we run the selector again at the end\n // The state is only to make sure that there's a re-render when we have a new value\n const [, setResult] = React.useState(() => selector(navigation.getState()));\n\n // We store the selector in a ref to avoid re-subscribing listeners every render\n const selectorRef = React.useRef(selector);\n\n React.useEffect(() => {\n selectorRef.current = selector;\n });\n\n React.useEffect(() => {\n const unsubscribe = navigation.addListener('state', (e) => {\n setResult(selectorRef.current(e.data.state));\n });\n\n return unsubscribe;\n }, [navigation]);\n\n return selector(navigation.getState());\n}\n","import * as React from 'react';\n\nimport PreventRemoveContext from './PreventRemoveContext';\n\nexport default function usePreventRemoveContext() {\n const value = React.useContext(PreventRemoveContext);\n\n if (value == null) {\n throw new Error(\n \"Couldn't find the prevent remove context. Is your component inside NavigationContent?\"\n );\n }\n\n return value;\n}\n","import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationRouteContext from './NavigationRouteContext';\nimport type { RouteProp } from './types';\n\n/**\n * Hook to access the route prop of the parent screen anywhere.\n *\n * @returns Route prop of the parent screen.\n */\nexport default function useRoute>(): T {\n const route = React.useContext(NavigationRouteContext);\n\n if (route === undefined) {\n throw new Error(\n \"Couldn't find a route object. Is your component inside a screen in a navigator?\"\n );\n }\n\n return route as T;\n}\n","import type { NavigationAction } from '@react-navigation/routers';\nimport { nanoid } from 'nanoid/non-secure';\nimport * as React from 'react';\nimport useLatestCallback from 'use-latest-callback';\n\nimport type { EventListenerCallback, EventMapCore } from './types';\nimport useNavigation from './useNavigation';\nimport usePreventRemoveContext from './usePreventRemoveContext';\nimport useRoute from './useRoute';\n\n/**\n * Hook to prevent screen from being removed. Can be used to prevent users from leaving the screen.\n *\n * @param preventRemove Boolean indicating whether to prevent screen from being removed.\n * @param callback Function which is executed when screen was prevented from being removed.\n */\nexport default function usePreventRemove(\n preventRemove: boolean,\n callback: (options: { data: { action: NavigationAction } }) => void\n) {\n const [id] = React.useState(() => nanoid());\n\n const navigation = useNavigation();\n const { key: routeKey } = useRoute();\n\n const { setPreventRemove } = usePreventRemoveContext();\n\n React.useEffect(() => {\n setPreventRemove(id, routeKey, preventRemove);\n return () => {\n setPreventRemove(id, routeKey, false);\n };\n }, [setPreventRemove, id, routeKey, preventRemove]);\n\n const beforeRemoveListener = useLatestCallback<\n EventListenerCallback, 'beforeRemove'>\n >((e) => {\n if (!preventRemove) {\n return;\n }\n\n e.preventDefault();\n\n callback({ data: e.data });\n });\n\n React.useEffect(\n () => navigation?.addListener('beforeRemove', beforeRemoveListener),\n [navigation, beforeRemoveListener]\n );\n}\n","import { nanoid } from 'nanoid/non-secure';\n\nimport type {\n CommonNavigationAction,\n NavigationState,\n PartialState,\n} from './types';\n\n/**\n * Base router object that can be used when writing custom routers.\n * This provides few helper methods to handle common actions such as `RESET`.\n */\nconst BaseRouter = {\n getStateForAction(\n state: State,\n action: CommonNavigationAction\n ): State | PartialState | null {\n switch (action.type) {\n case 'SET_PARAMS': {\n const index = action.source\n ? state.routes.findIndex((r) => r.key === action.source)\n : state.index;\n\n if (index === -1) {\n return null;\n }\n\n return {\n ...state,\n routes: state.routes.map((r, i) =>\n i === index\n ? { ...r, params: { ...r.params, ...action.payload.params } }\n : r\n ),\n };\n }\n\n case 'RESET': {\n const nextState = action.payload as State | PartialState;\n\n if (\n nextState.routes.length === 0 ||\n nextState.routes.some(\n (route: { name: string }) => !state.routeNames.includes(route.name)\n )\n ) {\n return null;\n }\n\n if (nextState.stale === false) {\n if (\n state.routeNames.length !== nextState.routeNames.length ||\n nextState.routeNames.some(\n (name) => !state.routeNames.includes(name)\n )\n ) {\n return null;\n }\n\n return {\n ...nextState,\n routes: nextState.routes.map((route) =>\n route.key ? route : { ...route, key: `${route.name}-${nanoid()}` }\n ),\n };\n }\n\n return nextState;\n }\n\n default:\n return null;\n }\n },\n\n shouldActionChangeFocus(action: CommonNavigationAction) {\n return action.type === 'NAVIGATE';\n },\n};\n\nexport default BaseRouter;\n","import { nanoid } from 'nanoid/non-secure';\n\nimport BaseRouter from './BaseRouter';\nimport type {\n CommonNavigationAction,\n DefaultRouterOptions,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n Router,\n} from './types';\n\nexport type TabActionType = {\n type: 'JUMP_TO';\n payload: { name: string; params?: object };\n source?: string;\n target?: string;\n};\n\nexport type BackBehavior =\n | 'initialRoute'\n | 'firstRoute'\n | 'history'\n | 'order'\n | 'none';\n\nexport type TabRouterOptions = DefaultRouterOptions & {\n backBehavior?: BackBehavior;\n};\n\nexport type TabNavigationState = Omit<\n NavigationState,\n 'history'\n> & {\n /**\n * Type of the router, in this case, it's tab.\n */\n type: 'tab';\n /**\n * List of previously visited route keys.\n */\n history: { type: 'route'; key: string }[];\n};\n\nexport type TabActionHelpers = {\n /**\n * Jump to an existing tab.\n *\n * @param name Name of the route for the tab.\n * @param [params] Params object for the route.\n */\n jumpTo>(\n ...args: undefined extends ParamList[RouteName]\n ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n ): void;\n};\n\nconst TYPE_ROUTE = 'route' as const;\n\nexport const TabActions = {\n jumpTo(name: string, params?: object): TabActionType {\n return { type: 'JUMP_TO', payload: { name, params } };\n },\n};\n\nconst getRouteHistory = (\n routes: Route[],\n index: number,\n backBehavior: BackBehavior,\n initialRouteName: string | undefined\n) => {\n const history = [{ type: TYPE_ROUTE, key: routes[index].key }];\n let initialRouteIndex;\n\n switch (backBehavior) {\n case 'order':\n for (let i = index; i > 0; i--) {\n history.unshift({ type: TYPE_ROUTE, key: routes[i - 1].key });\n }\n break;\n case 'firstRoute':\n if (index !== 0) {\n history.unshift({\n type: TYPE_ROUTE,\n key: routes[0].key,\n });\n }\n break;\n case 'initialRoute':\n initialRouteIndex = routes.findIndex(\n (route) => route.name === initialRouteName\n );\n initialRouteIndex = initialRouteIndex === -1 ? 0 : initialRouteIndex;\n\n if (index !== initialRouteIndex) {\n history.unshift({\n type: TYPE_ROUTE,\n key: routes[initialRouteIndex].key,\n });\n }\n break;\n case 'history':\n // The history will fill up on navigation\n break;\n }\n\n return history;\n};\n\nconst changeIndex = (\n state: TabNavigationState,\n index: number,\n backBehavior: BackBehavior,\n initialRouteName: string | undefined\n) => {\n let history;\n\n if (backBehavior === 'history') {\n const currentKey = state.routes[index].key;\n\n history = state.history\n .filter((it) => (it.type === 'route' ? it.key !== currentKey : false))\n .concat({ type: TYPE_ROUTE, key: currentKey });\n } else {\n history = getRouteHistory(\n state.routes,\n index,\n backBehavior,\n initialRouteName\n );\n }\n\n return {\n ...state,\n index,\n history,\n };\n};\n\nexport default function TabRouter({\n initialRouteName,\n backBehavior = 'firstRoute',\n}: TabRouterOptions) {\n const router: Router<\n TabNavigationState,\n TabActionType | CommonNavigationAction\n > = {\n ...BaseRouter,\n\n type: 'tab',\n\n getInitialState({ routeNames, routeParamList }) {\n const index =\n initialRouteName !== undefined && routeNames.includes(initialRouteName)\n ? routeNames.indexOf(initialRouteName)\n : 0;\n\n const routes = routeNames.map((name) => ({\n name,\n key: `${name}-${nanoid()}`,\n params: routeParamList[name],\n }));\n\n const history = getRouteHistory(\n routes,\n index,\n backBehavior,\n initialRouteName\n );\n\n return {\n stale: false,\n type: 'tab',\n key: `tab-${nanoid()}`,\n index,\n routeNames,\n history,\n routes,\n };\n },\n\n getRehydratedState(partialState, { routeNames, routeParamList }) {\n let state = partialState;\n\n if (state.stale === false) {\n return state;\n }\n\n const routes = routeNames.map((name) => {\n const route = (\n state as PartialState>\n ).routes.find((r) => r.name === name);\n\n return {\n ...route,\n name,\n key:\n route && route.name === name && route.key\n ? route.key\n : `${name}-${nanoid()}`,\n params:\n routeParamList[name] !== undefined\n ? {\n ...routeParamList[name],\n ...(route ? route.params : undefined),\n }\n : route\n ? route.params\n : undefined,\n } as Route;\n });\n\n const index = Math.min(\n Math.max(routeNames.indexOf(state.routes[state?.index ?? 0]?.name), 0),\n routes.length - 1\n );\n\n const history =\n state.history?.filter((it) => routes.find((r) => r.key === it.key)) ??\n [];\n\n return changeIndex(\n {\n stale: false,\n type: 'tab',\n key: `tab-${nanoid()}`,\n index,\n routeNames,\n history,\n routes,\n },\n index,\n backBehavior,\n initialRouteName\n );\n },\n\n getStateForRouteNamesChange(\n state,\n { routeNames, routeParamList, routeKeyChanges }\n ) {\n const routes = routeNames.map(\n (name) =>\n state.routes.find(\n (r) => r.name === name && !routeKeyChanges.includes(r.name)\n ) || {\n name,\n key: `${name}-${nanoid()}`,\n params: routeParamList[name],\n }\n );\n\n const index = Math.max(\n 0,\n routeNames.indexOf(state.routes[state.index].name)\n );\n\n let history = state.history.filter(\n // Type will always be 'route' for tabs, but could be different in a router extending this (e.g. drawer)\n (it) => it.type !== 'route' || routes.find((r) => r.key === it.key)\n );\n\n if (!history.length) {\n history = getRouteHistory(\n routes,\n index,\n backBehavior,\n initialRouteName\n );\n }\n\n return {\n ...state,\n history,\n routeNames,\n routes,\n index,\n };\n },\n\n getStateForRouteFocus(state, key) {\n const index = state.routes.findIndex((r) => r.key === key);\n\n if (index === -1 || index === state.index) {\n return state;\n }\n\n return changeIndex(state, index, backBehavior, initialRouteName);\n },\n\n getStateForAction(state, action, { routeParamList, routeGetIdList }) {\n switch (action.type) {\n case 'JUMP_TO':\n case 'NAVIGATE': {\n let index = -1;\n\n if (action.type === 'NAVIGATE' && action.payload.key) {\n index = state.routes.findIndex(\n (route) => route.key === action.payload.key\n );\n } else {\n index = state.routes.findIndex(\n (route) => route.name === action.payload.name\n );\n }\n\n if (index === -1) {\n return null;\n }\n\n return changeIndex(\n {\n ...state,\n routes: state.routes.map((route, i) => {\n if (i !== index) {\n return route;\n }\n\n const getId = routeGetIdList[route.name];\n\n const currentId = getId?.({ params: route.params });\n const nextId = getId?.({ params: action.payload.params });\n\n const key =\n currentId === nextId\n ? route.key\n : `${route.name}-${nanoid()}`;\n\n let params;\n\n if (\n action.type === 'NAVIGATE' &&\n action.payload.merge &&\n currentId === nextId\n ) {\n params =\n action.payload.params !== undefined ||\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...route.params,\n ...action.payload.params,\n }\n : route.params;\n } else {\n params =\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...action.payload.params,\n }\n : action.payload.params;\n }\n\n const path =\n action.type === 'NAVIGATE' && action.payload.path != null\n ? action.payload.path\n : route.path;\n\n return params !== route.params || path !== route.path\n ? { ...route, key, path, params }\n : route;\n }),\n },\n index,\n backBehavior,\n initialRouteName\n );\n }\n\n case 'GO_BACK': {\n if (state.history.length === 1) {\n return null;\n }\n\n const previousKey = state.history[state.history.length - 2].key;\n const index = state.routes.findIndex(\n (route) => route.key === previousKey\n );\n\n if (index === -1) {\n return null;\n }\n\n return {\n ...state,\n history: state.history.slice(0, -1),\n index,\n };\n }\n\n default:\n return BaseRouter.getStateForAction(state, action);\n }\n },\n\n shouldActionChangeFocus(action) {\n return action.type === 'NAVIGATE';\n },\n\n actionCreators: TabActions,\n };\n\n return router;\n}\n","import { nanoid } from 'nanoid/non-secure';\n\nimport TabRouter, {\n TabActionHelpers,\n TabActions,\n TabActionType,\n TabNavigationState,\n TabRouterOptions,\n} from './TabRouter';\nimport type {\n CommonNavigationAction,\n ParamListBase,\n PartialState,\n Router,\n} from './types';\nexport type DrawerStatus = 'open' | 'closed';\n\nexport type DrawerActionType =\n | TabActionType\n | {\n type: 'OPEN_DRAWER' | 'CLOSE_DRAWER' | 'TOGGLE_DRAWER';\n source?: string;\n target?: string;\n };\n\nexport type DrawerRouterOptions = TabRouterOptions & {\n defaultStatus?: DrawerStatus;\n};\n\nexport type DrawerNavigationState = Omit<\n TabNavigationState,\n 'type' | 'history'\n> & {\n /**\n * Type of the router, in this case, it's drawer.\n */\n type: 'drawer';\n /**\n * Default status of the drawer.\n */\n default: DrawerStatus;\n /**\n * List of previously visited route keys and drawer open status.\n */\n history: (\n | { type: 'route'; key: string }\n | { type: 'drawer'; status: DrawerStatus }\n )[];\n};\n\nexport type DrawerActionHelpers =\n TabActionHelpers & {\n /**\n * Open the drawer sidebar.\n */\n openDrawer(): void;\n\n /**\n * Close the drawer sidebar.\n */\n closeDrawer(): void;\n\n /**\n * Open the drawer sidebar if closed, or close if opened.\n */\n toggleDrawer(): void;\n };\n\nexport const DrawerActions = {\n ...TabActions,\n openDrawer(): DrawerActionType {\n return { type: 'OPEN_DRAWER' };\n },\n closeDrawer(): DrawerActionType {\n return { type: 'CLOSE_DRAWER' };\n },\n toggleDrawer(): DrawerActionType {\n return { type: 'TOGGLE_DRAWER' };\n },\n};\n\nexport default function DrawerRouter({\n defaultStatus = 'closed',\n ...rest\n}: DrawerRouterOptions): Router<\n DrawerNavigationState,\n DrawerActionType | CommonNavigationAction\n> {\n const router = TabRouter(rest) as unknown as Router<\n DrawerNavigationState,\n TabActionType | CommonNavigationAction\n >;\n\n const isDrawerInHistory = (\n state:\n | DrawerNavigationState\n | PartialState>\n ) => Boolean(state.history?.some((it) => it.type === 'drawer'));\n\n const addDrawerToHistory = (\n state: DrawerNavigationState\n ): DrawerNavigationState => {\n if (isDrawerInHistory(state)) {\n return state;\n }\n\n return {\n ...state,\n history: [\n ...state.history,\n {\n type: 'drawer',\n status: defaultStatus === 'open' ? 'closed' : 'open',\n },\n ],\n };\n };\n\n const removeDrawerFromHistory = (\n state: DrawerNavigationState\n ): DrawerNavigationState => {\n if (!isDrawerInHistory(state)) {\n return state;\n }\n\n return {\n ...state,\n history: state.history.filter((it) => it.type !== 'drawer'),\n };\n };\n\n const openDrawer = (\n state: DrawerNavigationState\n ): DrawerNavigationState => {\n if (defaultStatus === 'open') {\n return removeDrawerFromHistory(state);\n }\n\n return addDrawerToHistory(state);\n };\n\n const closeDrawer = (\n state: DrawerNavigationState\n ): DrawerNavigationState => {\n if (defaultStatus === 'open') {\n return addDrawerToHistory(state);\n }\n\n return removeDrawerFromHistory(state);\n };\n\n return {\n ...router,\n\n type: 'drawer',\n\n getInitialState({ routeNames, routeParamList, routeGetIdList }) {\n const state = router.getInitialState({\n routeNames,\n routeParamList,\n routeGetIdList,\n });\n\n return {\n ...state,\n default: defaultStatus,\n stale: false,\n type: 'drawer',\n key: `drawer-${nanoid()}`,\n };\n },\n\n getRehydratedState(\n partialState,\n { routeNames, routeParamList, routeGetIdList }\n ) {\n if (partialState.stale === false) {\n return partialState;\n }\n\n let state = router.getRehydratedState(partialState, {\n routeNames,\n routeParamList,\n routeGetIdList,\n });\n\n if (isDrawerInHistory(partialState)) {\n // Re-sync the drawer entry in history to correct it if it was wrong\n state = removeDrawerFromHistory(state);\n state = addDrawerToHistory(state);\n }\n\n return {\n ...state,\n default: defaultStatus,\n type: 'drawer',\n key: `drawer-${nanoid()}`,\n };\n },\n\n getStateForRouteFocus(state, key) {\n const result = router.getStateForRouteFocus(state, key);\n\n return closeDrawer(result);\n },\n\n getStateForAction(state, action, options) {\n switch (action.type) {\n case 'OPEN_DRAWER':\n return openDrawer(state);\n\n case 'CLOSE_DRAWER':\n return closeDrawer(state);\n\n case 'TOGGLE_DRAWER':\n if (isDrawerInHistory(state)) {\n return removeDrawerFromHistory(state);\n }\n\n return addDrawerToHistory(state);\n\n case 'JUMP_TO':\n case 'NAVIGATE': {\n const result = router.getStateForAction(state, action, options);\n\n if (result != null && result.index !== state.index) {\n return closeDrawer(result as DrawerNavigationState);\n }\n\n return result;\n }\n\n case 'GO_BACK':\n if (isDrawerInHistory(state)) {\n return removeDrawerFromHistory(state);\n }\n\n return router.getStateForAction(state, action, options);\n\n default:\n return router.getStateForAction(state, action, options);\n }\n },\n\n actionCreators: DrawerActions,\n };\n}\n","import { nanoid } from 'nanoid/non-secure';\n\nimport BaseRouter from './BaseRouter';\nimport type {\n CommonNavigationAction,\n DefaultRouterOptions,\n NavigationState,\n ParamListBase,\n Route,\n Router,\n} from './types';\n\nexport type StackActionType =\n | {\n type: 'REPLACE';\n payload: { name: string; key?: string | undefined; params?: object };\n source?: string;\n target?: string;\n }\n | {\n type: 'PUSH';\n payload: { name: string; params?: object };\n source?: string;\n target?: string;\n }\n | {\n type: 'POP';\n payload: { count: number };\n source?: string;\n target?: string;\n }\n | {\n type: 'POP_TO_TOP';\n source?: string;\n target?: string;\n };\n\nexport type StackRouterOptions = DefaultRouterOptions;\n\nexport type StackNavigationState =\n NavigationState & {\n /**\n * Type of the router, in this case, it's stack.\n */\n type: 'stack';\n };\n\nexport type StackActionHelpers = {\n /**\n * Replace the current route with a new one.\n *\n * @param name Route name of the new route.\n * @param [params] Params object for the new route.\n */\n replace(\n ...args: undefined extends ParamList[RouteName]\n ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n ): void;\n\n /**\n * Push a new screen onto the stack.\n *\n * @param name Name of the route for the tab.\n * @param [params] Params object for the route.\n */\n push(\n ...args: undefined extends ParamList[RouteName]\n ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n ): void;\n\n /**\n * Pop a screen from the stack.\n */\n pop(count?: number): void;\n\n /**\n * Pop to the first route in the stack, dismissing all other screens.\n */\n popToTop(): void;\n};\n\nexport const StackActions = {\n replace(name: string, params?: object): StackActionType {\n return { type: 'REPLACE', payload: { name, params } };\n },\n push(name: string, params?: object): StackActionType {\n return { type: 'PUSH', payload: { name, params } };\n },\n pop(count: number = 1): StackActionType {\n return { type: 'POP', payload: { count } };\n },\n popToTop(): StackActionType {\n return { type: 'POP_TO_TOP' };\n },\n};\n\nexport default function StackRouter(options: StackRouterOptions) {\n const router: Router<\n StackNavigationState,\n CommonNavigationAction | StackActionType\n > = {\n ...BaseRouter,\n\n type: 'stack',\n\n getInitialState({ routeNames, routeParamList }) {\n const initialRouteName =\n options.initialRouteName !== undefined &&\n routeNames.includes(options.initialRouteName)\n ? options.initialRouteName\n : routeNames[0];\n\n return {\n stale: false,\n type: 'stack',\n key: `stack-${nanoid()}`,\n index: 0,\n routeNames,\n routes: [\n {\n key: `${initialRouteName}-${nanoid()}`,\n name: initialRouteName,\n params: routeParamList[initialRouteName],\n },\n ],\n };\n },\n\n getRehydratedState(partialState, { routeNames, routeParamList }) {\n let state = partialState;\n\n if (state.stale === false) {\n return state;\n }\n\n const routes = state.routes\n .filter((route) => routeNames.includes(route.name))\n .map(\n (route) =>\n ({\n ...route,\n key: route.key || `${route.name}-${nanoid()}`,\n params:\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...route.params,\n }\n : route.params,\n } as Route)\n );\n\n if (routes.length === 0) {\n const initialRouteName =\n options.initialRouteName !== undefined\n ? options.initialRouteName\n : routeNames[0];\n\n routes.push({\n key: `${initialRouteName}-${nanoid()}`,\n name: initialRouteName,\n params: routeParamList[initialRouteName],\n });\n }\n\n return {\n stale: false,\n type: 'stack',\n key: `stack-${nanoid()}`,\n index: routes.length - 1,\n routeNames,\n routes,\n };\n },\n\n getStateForRouteNamesChange(\n state,\n { routeNames, routeParamList, routeKeyChanges }\n ) {\n const routes = state.routes.filter(\n (route) =>\n routeNames.includes(route.name) &&\n !routeKeyChanges.includes(route.name)\n );\n\n if (routes.length === 0) {\n const initialRouteName =\n options.initialRouteName !== undefined &&\n routeNames.includes(options.initialRouteName)\n ? options.initialRouteName\n : routeNames[0];\n\n routes.push({\n key: `${initialRouteName}-${nanoid()}`,\n name: initialRouteName,\n params: routeParamList[initialRouteName],\n });\n }\n\n return {\n ...state,\n routeNames,\n routes,\n index: Math.min(state.index, routes.length - 1),\n };\n },\n\n getStateForRouteFocus(state, key) {\n const index = state.routes.findIndex((r) => r.key === key);\n\n if (index === -1 || index === state.index) {\n return state;\n }\n\n return {\n ...state,\n index,\n routes: state.routes.slice(0, index + 1),\n };\n },\n\n getStateForAction(state, action, options) {\n const { routeParamList } = options;\n\n switch (action.type) {\n case 'REPLACE': {\n const index =\n action.target === state.key && action.source\n ? state.routes.findIndex((r) => r.key === action.source)\n : state.index;\n\n if (index === -1) {\n return null;\n }\n\n const { name, key, params } = action.payload;\n\n if (!state.routeNames.includes(name)) {\n return null;\n }\n\n return {\n ...state,\n routes: state.routes.map((route, i) =>\n i === index\n ? {\n key: key !== undefined ? key : `${name}-${nanoid()}`,\n name,\n params:\n routeParamList[name] !== undefined\n ? {\n ...routeParamList[name],\n ...params,\n }\n : params,\n }\n : route\n ),\n };\n }\n\n case 'PUSH':\n if (state.routeNames.includes(action.payload.name)) {\n const getId = options.routeGetIdList[action.payload.name];\n const id = getId?.({ params: action.payload.params });\n\n const route = id\n ? state.routes.find(\n (route) =>\n route.name === action.payload.name &&\n id === getId?.({ params: route.params })\n )\n : undefined;\n\n let routes: Route[];\n\n if (route) {\n routes = state.routes.filter((r) => r.key !== route.key);\n routes.push({\n ...route,\n params:\n routeParamList[action.payload.name] !== undefined\n ? {\n ...routeParamList[action.payload.name],\n ...action.payload.params,\n }\n : action.payload.params,\n });\n } else {\n routes = [\n ...state.routes,\n {\n key: `${action.payload.name}-${nanoid()}`,\n name: action.payload.name,\n params:\n routeParamList[action.payload.name] !== undefined\n ? {\n ...routeParamList[action.payload.name],\n ...action.payload.params,\n }\n : action.payload.params,\n },\n ];\n }\n\n return {\n ...state,\n index: routes.length - 1,\n routes,\n };\n }\n\n return null;\n\n case 'POP': {\n const index =\n action.target === state.key && action.source\n ? state.routes.findIndex((r) => r.key === action.source)\n : state.index;\n\n if (index > 0) {\n const count = Math.max(index - action.payload.count + 1, 1);\n const routes = state.routes\n .slice(0, count)\n .concat(state.routes.slice(index + 1));\n\n return {\n ...state,\n index: routes.length - 1,\n routes,\n };\n }\n\n return null;\n }\n\n case 'POP_TO_TOP':\n return router.getStateForAction(\n state,\n {\n type: 'POP',\n payload: { count: state.routes.length - 1 },\n },\n options\n );\n\n case 'NAVIGATE':\n if (\n action.payload.name !== undefined &&\n !state.routeNames.includes(action.payload.name)\n ) {\n return null;\n }\n\n if (action.payload.key || action.payload.name) {\n // If the route already exists, navigate to that\n let index = -1;\n\n const getId =\n // `getId` and `key` can't be used together\n action.payload.key === undefined &&\n action.payload.name !== undefined\n ? options.routeGetIdList[action.payload.name]\n : undefined;\n const id = getId?.({ params: action.payload.params });\n\n if (id) {\n index = state.routes.findIndex(\n (route) =>\n route.name === action.payload.name &&\n id === getId?.({ params: route.params })\n );\n } else if (\n (state.routes[state.index].name === action.payload.name &&\n action.payload.key === undefined) ||\n state.routes[state.index].key === action.payload.key\n ) {\n index = state.index;\n } else {\n for (let i = state.routes.length - 1; i >= 0; i--) {\n if (\n (state.routes[i].name === action.payload.name &&\n action.payload.key === undefined) ||\n state.routes[i].key === action.payload.key\n ) {\n index = i;\n break;\n }\n }\n }\n\n if (\n index === -1 &&\n action.payload.key &&\n action.payload.name === undefined\n ) {\n return null;\n }\n\n if (index === -1 && action.payload.name !== undefined) {\n const routes = [\n ...state.routes,\n {\n key:\n action.payload.key ?? `${action.payload.name}-${nanoid()}`,\n name: action.payload.name,\n path: action.payload.path,\n params:\n routeParamList[action.payload.name] !== undefined\n ? {\n ...routeParamList[action.payload.name],\n ...action.payload.params,\n }\n : action.payload.params,\n },\n ];\n\n return {\n ...state,\n routes,\n index: routes.length - 1,\n };\n }\n\n const route = state.routes[index];\n\n let params;\n\n if (action.payload.merge) {\n params =\n action.payload.params !== undefined ||\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...route.params,\n ...action.payload.params,\n }\n : route.params;\n } else {\n params =\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...action.payload.params,\n }\n : action.payload.params;\n }\n\n return {\n ...state,\n index,\n routes: [\n ...state.routes.slice(0, index),\n params !== route.params ||\n (action.payload.path && action.payload.path !== route.path)\n ? {\n ...route,\n path: action.payload.path ?? route.path,\n params,\n }\n : state.routes[index],\n ],\n };\n }\n\n return null;\n\n case 'GO_BACK':\n if (state.index > 0) {\n return router.getStateForAction(\n state,\n {\n type: 'POP',\n payload: { count: 1 },\n target: action.target,\n source: action.source,\n },\n options\n );\n }\n\n return null;\n\n default:\n return BaseRouter.getStateForAction(state, action);\n }\n },\n\n actionCreators: StackActions,\n };\n\n return router;\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import * as React from 'react';\n\nconst contexts = '__react_navigation__elements_contexts';\n\ndeclare global {\n var __react_navigation__elements_contexts: Map>;\n}\n\n// We use a global variable to keep our contexts so that we can reuse same contexts across packages\nglobal[contexts] = global[contexts] ?? new Map>();\n\nexport default function getNamedContext(\n name: string,\n initialValue: T\n): React.Context {\n let context = global[contexts].get(name);\n\n if (context) {\n return context;\n }\n\n context = React.createContext(initialValue);\n context.displayName = name;\n\n global[contexts].set(name, context);\n\n return context;\n}\n","import getNamedContext from '../getNamedContext';\n\nconst HeaderBackContext = getNamedContext<{ title: string } | undefined>(\n 'HeaderBackContext',\n undefined\n);\n\nexport default HeaderBackContext;\n","import * as React from 'react';\nimport {\n Dimensions,\n Platform,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\nimport {\n initialWindowMetrics,\n SafeAreaInsetsContext,\n SafeAreaProvider,\n} from 'react-native-safe-area-context';\n\ntype Props = {\n children: React.ReactNode;\n style?: StyleProp;\n};\n\nconst { width = 0, height = 0 } = Dimensions.get('window');\n\n// To support SSR on web, we need to have empty insets for initial values\n// Otherwise there can be mismatch between SSR and client output\n// We also need to specify empty values to support tests environments\nconst initialMetrics =\n Platform.OS === 'web' || initialWindowMetrics == null\n ? {\n frame: { x: 0, y: 0, width, height },\n insets: { top: 0, left: 0, right: 0, bottom: 0 },\n }\n : initialWindowMetrics;\n\nexport default function SafeAreaProviderCompat({ children, style }: Props) {\n return (\n \n {(insets) => {\n if (insets) {\n // If we already have insets, don't wrap the stack in another safe area provider\n // This avoids an issue with updates at the cost of potentially incorrect values\n // https://github.com/react-navigation/react-navigation/issues/174\n return {children};\n }\n\n return (\n \n {children}\n \n );\n }}\n \n );\n}\n\nSafeAreaProviderCompat.initialMetrics = initialMetrics;\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n","import type { HeaderOptions } from '../types';\n\nexport default function getHeaderTitle(\n options: { title?: string; headerTitle?: HeaderOptions['headerTitle'] },\n fallback: string\n): string {\n return typeof options.headerTitle === 'string'\n ? options.headerTitle\n : options.title !== undefined\n ? options.title\n : fallback;\n}\n","import * as React from 'react';\n\nimport ThemeContext from './ThemeContext';\n\nexport default function useTheme() {\n const theme = React.useContext(ThemeContext);\n\n return theme;\n}\n","import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport { View, ViewProps } from 'react-native';\n\ntype Props = ViewProps & {\n children: React.ReactNode;\n};\n\nexport default function Background({ style, ...rest }: Props) {\n const { colors } = useTheme();\n\n return (\n \n );\n}\n","import { Platform } from 'react-native';\n\nimport type { Layout } from '../types';\n\nexport default function getDefaultHeaderHeight(\n layout: Layout,\n modalPresentation: boolean,\n statusBarHeight: number\n): number {\n let headerHeight;\n\n const isLandscape = layout.width > layout.height;\n\n if (Platform.OS === 'ios') {\n if (Platform.isPad || Platform.isTV) {\n if (modalPresentation) {\n headerHeight = 56;\n } else {\n headerHeight = 50;\n }\n } else {\n if (isLandscape) {\n headerHeight = 32;\n } else {\n if (modalPresentation) {\n headerHeight = 56;\n } else {\n headerHeight = 44;\n }\n }\n }\n } else if (Platform.OS === 'android') {\n headerHeight = 56;\n } else {\n headerHeight = 64;\n }\n\n return headerHeight + statusBarHeight;\n}\n","import getNamedContext from '../getNamedContext';\n\nconst HeaderHeightContext = getNamedContext(\n 'HeaderHeightContext',\n undefined\n);\n\nexport default HeaderHeightContext;\n","import getNamedContext from '../getNamedContext';\n\nconst HeaderShownContext = getNamedContext('HeaderShownContext', false);\n\nexport default HeaderShownContext;\n","import {\n NavigationContext,\n NavigationProp,\n NavigationRouteContext,\n ParamListBase,\n RouteProp,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport Background from './Background';\nimport getDefaultHeaderHeight from './Header/getDefaultHeaderHeight';\nimport HeaderHeightContext from './Header/HeaderHeightContext';\nimport HeaderShownContext from './Header/HeaderShownContext';\n\ntype Props = {\n focused: boolean;\n modal?: boolean;\n navigation: NavigationProp;\n route: RouteProp;\n header: React.ReactNode;\n headerShown?: boolean;\n headerStatusBarHeight?: number;\n headerTransparent?: boolean;\n style?: StyleProp;\n children: React.ReactNode;\n};\n\nexport default function Screen(props: Props) {\n const dimensions = useSafeAreaFrame();\n const insets = useSafeAreaInsets();\n\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n\n const {\n focused,\n modal = false,\n header,\n headerShown = true,\n headerTransparent,\n headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top,\n navigation,\n route,\n children,\n style,\n } = props;\n\n const [headerHeight, setHeaderHeight] = React.useState(() =>\n getDefaultHeaderHeight(dimensions, modal, headerStatusBarHeight)\n );\n\n return (\n \n \n \n \n {children}\n \n \n \n {headerShown ? (\n \n \n {\n const { height } = e.nativeEvent.layout;\n\n setHeaderHeight(height);\n }}\n style={headerTransparent ? styles.absolute : null}\n >\n {header}\n \n \n \n ) : null}\n \n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n flexDirection: 'column-reverse',\n },\n // This is necessary to avoid applying 'column-reverse' to screen content\n content: {\n flex: 1,\n },\n absolute: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n","import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n Animated,\n Platform,\n StyleProp,\n StyleSheet,\n ViewProps,\n ViewStyle,\n} from 'react-native';\n\ntype Props = Omit & {\n style?: Animated.WithAnimatedValue>;\n children?: React.ReactNode;\n};\n\nexport default function HeaderBackground({ style, ...rest }: Props) {\n const { colors } = useTheme();\n\n return (\n \n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n ...Platform.select({\n android: {\n elevation: 4,\n },\n ios: {\n shadowOpacity: 0.85,\n shadowRadius: 0,\n shadowOffset: {\n width: 0,\n height: StyleSheet.hairlineWidth,\n },\n },\n default: {\n borderBottomWidth: StyleSheet.hairlineWidth,\n },\n }),\n },\n});\n","import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n Animated,\n Platform,\n StyleProp,\n StyleSheet,\n TextProps,\n TextStyle,\n} from 'react-native';\n\ntype Props = Omit & {\n tintColor?: string;\n style?: Animated.WithAnimatedValue>;\n};\n\nexport default function HeaderTitle({ tintColor, style, ...rest }: Props) {\n const { colors } = useTheme();\n\n return (\n \n );\n}\n\nconst styles = StyleSheet.create({\n title: Platform.select({\n ios: {\n fontSize: 17,\n fontWeight: '600',\n },\n android: {\n fontSize: 20,\n fontFamily: 'sans-serif-medium',\n fontWeight: 'normal',\n },\n default: {\n fontSize: 18,\n fontWeight: '500',\n },\n }),\n});\n","import * as React from 'react';\nimport { Animated, Platform, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport type { HeaderOptions, Layout } from '../types';\nimport getDefaultHeaderHeight from './getDefaultHeaderHeight';\nimport HeaderBackground from './HeaderBackground';\nimport HeaderShownContext from './HeaderShownContext';\nimport HeaderTitle from './HeaderTitle';\n\ntype Props = HeaderOptions & {\n /**\n * Whether the header is in a modal\n */\n modal?: boolean;\n /**\n * Layout of the screen.\n */\n layout?: Layout;\n /**\n * Title text for the header.\n */\n title: string;\n};\n\nconst warnIfHeaderStylesDefined = (styles: Record) => {\n Object.keys(styles).forEach((styleProp) => {\n const value = styles[styleProp];\n\n if (styleProp === 'position' && value === 'absolute') {\n console.warn(\n \"position: 'absolute' is not supported on headerStyle. If you would like to render content under the header, use the 'headerTransparent' option.\"\n );\n } else if (value !== undefined) {\n console.warn(\n `${styleProp} was given a value of ${value}, this has no effect on headerStyle.`\n );\n }\n });\n};\n\nexport default function Header(props: Props) {\n const insets = useSafeAreaInsets();\n const frame = useSafeAreaFrame();\n\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n\n // On models with Dynamic Island the status bar height is smaller than the safe area top inset.\n const hasDynamicIsland = Platform.OS === 'ios' && insets.top > 50;\n const statusBarHeight = hasDynamicIsland ? insets.top - 5 : insets.top;\n\n const {\n layout = frame,\n modal = false,\n title,\n headerTitle: customTitle,\n headerTitleAlign = Platform.select({\n ios: 'center',\n default: 'left',\n }),\n headerLeft,\n headerLeftLabelVisible,\n headerTransparent,\n headerTintColor,\n headerBackground,\n headerRight,\n headerTitleAllowFontScaling: titleAllowFontScaling,\n headerTitleStyle: titleStyle,\n headerLeftContainerStyle: leftContainerStyle,\n headerRightContainerStyle: rightContainerStyle,\n headerTitleContainerStyle: titleContainerStyle,\n headerBackgroundContainerStyle: backgroundContainerStyle,\n headerStyle: customHeaderStyle,\n headerShadowVisible,\n headerPressColor,\n headerPressOpacity,\n headerStatusBarHeight = isParentHeaderShown ? 0 : statusBarHeight,\n } = props;\n\n const defaultHeight = getDefaultHeaderHeight(\n layout,\n modal,\n headerStatusBarHeight\n );\n\n const {\n height = defaultHeight,\n minHeight,\n maxHeight,\n backgroundColor,\n borderBottomColor,\n borderBottomEndRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderBottomStartRadius,\n borderBottomWidth,\n borderColor,\n borderEndColor,\n borderEndWidth,\n borderLeftColor,\n borderLeftWidth,\n borderRadius,\n borderRightColor,\n borderRightWidth,\n borderStartColor,\n borderStartWidth,\n borderStyle,\n borderTopColor,\n borderTopEndRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n borderTopStartRadius,\n borderTopWidth,\n borderWidth,\n // @ts-expect-error: web support for shadow\n boxShadow,\n elevation,\n shadowColor,\n shadowOffset,\n shadowOpacity,\n shadowRadius,\n opacity,\n transform,\n ...unsafeStyles\n } = StyleSheet.flatten(customHeaderStyle || {}) as ViewStyle;\n\n if (process.env.NODE_ENV !== 'production') {\n warnIfHeaderStylesDefined(unsafeStyles);\n }\n\n const safeStyles: ViewStyle = {\n backgroundColor,\n borderBottomColor,\n borderBottomEndRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderBottomStartRadius,\n borderBottomWidth,\n borderColor,\n borderEndColor,\n borderEndWidth,\n borderLeftColor,\n borderLeftWidth,\n borderRadius,\n borderRightColor,\n borderRightWidth,\n borderStartColor,\n borderStartWidth,\n borderStyle,\n borderTopColor,\n borderTopEndRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n borderTopStartRadius,\n borderTopWidth,\n borderWidth,\n // @ts-expect-error: boxShadow is only for Web\n boxShadow,\n elevation,\n shadowColor,\n shadowOffset,\n shadowOpacity,\n shadowRadius,\n opacity,\n transform,\n };\n\n // Setting a property to undefined triggers default style\n // So we need to filter them out\n // Users can use `null` instead\n for (const styleProp in safeStyles) {\n // @ts-expect-error: typescript wrongly complains that styleProp cannot be used to index safeStyles\n if (safeStyles[styleProp] === undefined) {\n // @ts-expect-error\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete safeStyles[styleProp];\n }\n }\n\n const backgroundStyle = [\n safeStyles,\n headerShadowVisible === false && {\n elevation: 0,\n shadowOpacity: 0,\n borderBottomWidth: 0,\n },\n ];\n\n const leftButton = headerLeft\n ? headerLeft({\n tintColor: headerTintColor,\n pressColor: headerPressColor,\n pressOpacity: headerPressOpacity,\n labelVisible: headerLeftLabelVisible,\n })\n : null;\n\n const rightButton = headerRight\n ? headerRight({\n tintColor: headerTintColor,\n pressColor: headerPressColor,\n pressOpacity: headerPressOpacity,\n })\n : null;\n\n const headerTitle =\n typeof customTitle !== 'function'\n ? (props: React.ComponentProps) => (\n \n )\n : customTitle;\n\n return (\n \n \n {headerBackground ? (\n headerBackground({ style: backgroundStyle })\n ) : headerTransparent ? null : (\n \n )}\n \n \n \n \n \n {leftButton}\n \n \n {headerTitle({\n children: title,\n allowFontScaling: titleAllowFontScaling,\n tintColor: headerTintColor,\n style: titleStyle,\n })}\n \n \n {rightButton}\n \n \n \n \n );\n}\n\nconst styles = StyleSheet.create({\n content: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'stretch',\n },\n title: {\n marginHorizontal: 16,\n justifyContent: 'center',\n },\n left: {\n justifyContent: 'center',\n alignItems: 'flex-start',\n },\n right: {\n justifyContent: 'center',\n alignItems: 'flex-end',\n },\n expand: {\n flexGrow: 1,\n flexBasis: 0,\n },\n});\n","/**\n * Use a stub for MaskedView on all Platforms that don't support it.\n */\nimport type * as React from 'react';\n\ntype Props = {\n maskElement: React.ReactElement;\n children: React.ReactElement;\n};\n\nexport default function MaskedView({ children }: Props) {\n return children;\n}\n","import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n Animated,\n Easing,\n GestureResponderEvent,\n Platform,\n Pressable,\n PressableProps,\n StyleProp,\n ViewStyle,\n} from 'react-native';\n\nexport type Props = Omit & {\n pressColor?: string;\n pressOpacity?: number;\n style?: Animated.WithAnimatedValue>;\n children: React.ReactNode;\n};\n\nconst AnimatedPressable = Animated.createAnimatedComponent(Pressable);\n\nconst ANDROID_VERSION_LOLLIPOP = 21;\nconst ANDROID_SUPPORTS_RIPPLE =\n Platform.OS === 'android' && Platform.Version >= ANDROID_VERSION_LOLLIPOP;\n\n/**\n * PlatformPressable provides an abstraction on top of Pressable to handle platform differences.\n */\nexport default function PlatformPressable({\n onPressIn,\n onPressOut,\n android_ripple,\n pressColor,\n pressOpacity = 0.3,\n style,\n ...rest\n}: Props) {\n const { dark } = useTheme();\n const [opacity] = React.useState(() => new Animated.Value(1));\n\n const animateTo = (toValue: number, duration: number) => {\n if (ANDROID_SUPPORTS_RIPPLE) {\n return;\n }\n\n Animated.timing(opacity, {\n toValue,\n duration,\n easing: Easing.inOut(Easing.quad),\n useNativeDriver: true,\n }).start();\n };\n\n const handlePressIn = (e: GestureResponderEvent) => {\n animateTo(pressOpacity, 0);\n onPressIn?.(e);\n };\n\n const handlePressOut = (e: GestureResponderEvent) => {\n animateTo(1, 200);\n onPressOut?.(e);\n };\n\n return (\n \n );\n}\n","import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n Animated,\n I18nManager,\n Image,\n LayoutChangeEvent,\n Platform,\n StyleSheet,\n View,\n} from 'react-native';\n\nimport MaskedView from '../MaskedView';\nimport PlatformPressable from '../PlatformPressable';\nimport type { HeaderBackButtonProps } from '../types';\n\nexport default function HeaderBackButton({\n disabled,\n allowFontScaling,\n backImage,\n label,\n labelStyle,\n labelVisible = Platform.OS === 'ios',\n onLabelLayout,\n onPress,\n pressColor,\n pressOpacity,\n screenLayout,\n tintColor: customTintColor,\n titleLayout,\n truncatedLabel = 'Back',\n accessibilityLabel = label && label !== 'Back' ? `${label}, back` : 'Go back',\n testID,\n style,\n}: HeaderBackButtonProps) {\n const { colors } = useTheme();\n\n const [initialLabelWidth, setInitialLabelWidth] = React.useState<\n undefined | number\n >(undefined);\n\n const tintColor =\n customTintColor !== undefined\n ? customTintColor\n : Platform.select({\n ios: colors.primary,\n default: colors.text,\n });\n\n const handleLabelLayout = (e: LayoutChangeEvent) => {\n onLabelLayout?.(e);\n\n setInitialLabelWidth(e.nativeEvent.layout.x + e.nativeEvent.layout.width);\n };\n\n const shouldTruncateLabel = () => {\n return (\n !label ||\n (initialLabelWidth &&\n titleLayout &&\n screenLayout &&\n (screenLayout.width - titleLayout.width) / 2 < initialLabelWidth + 26)\n );\n };\n\n const renderBackImage = () => {\n if (backImage) {\n return backImage({ tintColor });\n } else {\n return (\n \n );\n }\n };\n\n const renderLabel = () => {\n const leftLabelText = shouldTruncateLabel() ? truncatedLabel : label;\n\n if (!labelVisible || leftLabelText === undefined) {\n return null;\n }\n\n const labelElement = (\n \n \n {leftLabelText}\n \n \n );\n\n if (backImage || Platform.OS !== 'ios') {\n // When a custom backimage is specified, we can't mask the label\n // Otherwise there might be weird effect due to our mask not being the same as the image\n return labelElement;\n }\n\n return (\n \n \n \n \n }\n >\n {labelElement}\n \n );\n };\n\n const handlePress = () => onPress && requestAnimationFrame(onPress);\n\n return (\n \n \n {renderBackImage()}\n {renderLabel()}\n \n \n );\n}\n\nconst androidRipple = {\n borderless: true,\n foreground: Platform.OS === 'android' && Platform.Version >= 23,\n radius: 20,\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n minWidth: StyleSheet.hairlineWidth, // Avoid collapsing when title is long\n ...Platform.select({\n ios: null,\n default: {\n marginVertical: 3,\n marginHorizontal: 11,\n },\n }),\n },\n disabled: {\n opacity: 0.5,\n },\n label: {\n fontSize: 17,\n // Title and back label are a bit different width due to title being bold\n // Adjusting the letterSpacing makes them coincide better\n letterSpacing: 0.35,\n },\n labelWrapper: {\n // These styles will make sure that the label doesn't fill the available space\n // Otherwise it messes with the measurement of the label\n flexDirection: 'row',\n alignItems: 'flex-start',\n },\n icon: Platform.select({\n ios: {\n height: 21,\n width: 13,\n marginLeft: 8,\n marginRight: 22,\n marginVertical: 12,\n resizeMode: 'contain',\n transform: [{ scaleX: I18nManager.getConstants().isRTL ? -1 : 1 }],\n },\n default: {\n height: 24,\n width: 24,\n margin: 3,\n resizeMode: 'contain',\n transform: [{ scaleX: I18nManager.getConstants().isRTL ? -1 : 1 }],\n },\n }),\n iconWithLabel:\n Platform.OS === 'ios'\n ? {\n marginRight: 6,\n }\n : {},\n iconMaskContainer: {\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'center',\n },\n iconMaskFillerRect: {\n flex: 1,\n backgroundColor: '#000',\n },\n iconMask: {\n height: 21,\n width: 13,\n marginLeft: -14.5,\n marginVertical: 12,\n alignSelf: 'center',\n resizeMode: 'contain',\n transform: [{ scaleX: I18nManager.getConstants().isRTL ? -1 : 1 }],\n },\n});\n","import {\n getHeaderTitle,\n Header,\n HeaderBackButton,\n HeaderBackContext,\n SafeAreaProviderCompat,\n Screen,\n} from '@react-navigation/elements';\nimport type {\n ParamListBase,\n StackNavigationState,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Image, StyleSheet, View } from 'react-native';\n\nimport type {\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n} from '../types';\n\ntype Props = {\n state: StackNavigationState;\n // This is used for the native implementation of the stack.\n // eslint-disable-next-line react/no-unused-prop-types\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nconst TRANSPARENT_PRESENTATIONS = [\n 'transparentModal',\n 'containedTransparentModal',\n];\n\nexport default function NativeStackView({ state, descriptors }: Props) {\n const parentHeaderBack = React.useContext(HeaderBackContext);\n\n return (\n \n \n {state.routes.map((route, i) => {\n const isFocused = state.index === i;\n const previousKey = state.routes[i - 1]?.key;\n const nextKey = state.routes[i + 1]?.key;\n const previousDescriptor = previousKey\n ? descriptors[previousKey]\n : undefined;\n const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;\n const { options, navigation, render } = descriptors[route.key];\n\n const headerBack = previousDescriptor\n ? {\n title: getHeaderTitle(\n previousDescriptor.options,\n previousDescriptor.route.name\n ),\n }\n : parentHeaderBack;\n\n const canGoBack = headerBack !== undefined;\n\n const {\n header,\n headerShown,\n headerTintColor,\n headerBackImageSource,\n headerLeft,\n headerRight,\n headerTitle,\n headerTitleAlign,\n headerTitleStyle,\n headerStyle,\n headerShadowVisible,\n headerTransparent,\n headerBackground,\n headerBackTitle,\n presentation,\n contentStyle,\n } = options;\n\n const nextPresentation = nextDescriptor?.options.presentation;\n\n return (\n \n headerLeft({\n tintColor,\n canGoBack,\n label: headerBackTitle,\n })\n : headerLeft === undefined && canGoBack\n ? ({ tintColor }) => (\n (\n \n )\n : undefined\n }\n onPress={navigation.goBack}\n canGoBack={canGoBack}\n />\n )\n : headerLeft\n }\n headerRight={\n typeof headerRight === 'function'\n ? ({ tintColor }) =>\n headerRight({ tintColor, canGoBack })\n : headerRight\n }\n headerTitle={\n typeof headerTitle === 'function'\n ? ({ children, tintColor }) =>\n headerTitle({ children, tintColor })\n : headerTitle\n }\n headerTitleAlign={headerTitleAlign}\n headerTitleStyle={headerTitleStyle}\n headerTransparent={headerTransparent}\n headerShadowVisible={headerShadowVisible}\n headerBackground={headerBackground}\n headerStyle={headerStyle}\n />\n )\n }\n style={[\n StyleSheet.absoluteFill,\n {\n display:\n isFocused ||\n (nextPresentation != null &&\n TRANSPARENT_PRESENTATIONS.includes(nextPresentation))\n ? 'flex'\n : 'none',\n },\n presentation != null &&\n TRANSPARENT_PRESENTATIONS.includes(presentation)\n ? { backgroundColor: 'transparent' }\n : null,\n ]}\n >\n \n \n {render()}\n \n \n \n );\n })}\n \n \n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n contentContainer: {\n flex: 1,\n },\n backImage: {\n height: 24,\n width: 24,\n margin: 3,\n resizeMode: 'contain',\n },\n});\n","import {\n createNavigatorFactory,\n EventArg,\n ParamListBase,\n StackActionHelpers,\n StackActions,\n StackNavigationState,\n StackRouter,\n StackRouterOptions,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\n\nimport type {\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigatorProps,\n} from '../types';\nimport NativeStackView from '../views/NativeStackView';\n\nfunction NativeStackNavigator({\n id,\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n ...rest\n}: NativeStackNavigatorProps) {\n const { state, descriptors, navigation, NavigationContent } =\n useNavigationBuilder<\n StackNavigationState,\n StackRouterOptions,\n StackActionHelpers,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n >(StackRouter, {\n id,\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n });\n\n React.useEffect(\n () =>\n // @ts-expect-error: there may not be a tab navigator in parent\n navigation?.addListener?.('tabPress', (e: any) => {\n const isFocused = navigation.isFocused();\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n if (\n state.index > 0 &&\n isFocused &&\n !(e as EventArg<'tabPress', true>).defaultPrevented\n ) {\n // When user taps on already focused tab and we're inside the tab,\n // reset the stack to replicate native behaviour\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key,\n });\n }\n });\n }),\n [navigation, state.index, state.key]\n );\n\n return (\n \n \n \n );\n}\n\nexport default createNavigatorFactory<\n StackNavigationState,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap,\n typeof NativeStackNavigator\n>(NativeStackNavigator);\n","import type { ParamListBase } from '@react-navigation/core';\nimport * as React from 'react';\n\nimport type { LinkingOptions } from './types';\n\nconst LinkingContext = React.createContext<{\n options: LinkingOptions | undefined;\n}>({ options: undefined });\n\nLinkingContext.displayName = 'LinkingContext';\n\nexport default LinkingContext;\n","import * as React from 'react';\n\nimport type { Theme } from '../types';\nimport ThemeContext from './ThemeContext';\n\ntype Props = {\n value: Theme;\n children: React.ReactNode;\n};\n\nexport default function ThemeProvider({ value, children }: Props) {\n return (\n {children}\n );\n}\n","import type { NavigationState } from '@react-navigation/core';\nimport { nanoid } from 'nanoid/non-secure';\n\ntype HistoryRecord = {\n // Unique identifier for this record to match it with window.history.state\n id: string;\n // Navigation state object for the history entry\n state: NavigationState;\n // Path of the history entry\n path: string;\n};\n\nexport default function createMemoryHistory() {\n let index = 0;\n let items: HistoryRecord[] = [];\n\n // Pending callbacks for `history.go(n)`\n // We might modify the callback stored if it was interrupted, so we have a ref to identify it\n const pending: { ref: unknown; cb: (interrupted?: boolean) => void }[] = [];\n\n const interrupt = () => {\n // If another history operation was performed we need to interrupt existing ones\n // This makes sure that calls such as `history.replace` after `history.go` don't happen\n // Since otherwise it won't be correct if something else has changed\n pending.forEach((it) => {\n const cb = it.cb;\n it.cb = () => cb(true);\n });\n };\n\n const history = {\n get index(): number {\n // We store an id in the state instead of an index\n // Index could get out of sync with in-memory values if page reloads\n const id = window.history.state?.id;\n\n if (id) {\n const index = items.findIndex((item) => item.id === id);\n\n return index > -1 ? index : 0;\n }\n\n return 0;\n },\n\n get(index: number) {\n return items[index];\n },\n\n backIndex({ path }: { path: string }) {\n // We need to find the index from the element before current to get closest path to go back to\n for (let i = index - 1; i >= 0; i--) {\n const item = items[i];\n\n if (item.path === path) {\n return i;\n }\n }\n\n return -1;\n },\n\n push({ path, state }: { path: string; state: NavigationState }) {\n interrupt();\n\n const id = nanoid();\n\n // When a new entry is pushed, all the existing entries after index will be inaccessible\n // So we remove any existing entries after the current index to clean them up\n items = items.slice(0, index + 1);\n\n items.push({ path, state, id });\n index = items.length - 1;\n\n // We pass empty string for title because it's ignored in all browsers except safari\n // We don't store state object in history.state because:\n // - browsers have limits on how big it can be, and we don't control the size\n // - while not recommended, there could be non-serializable data in state\n window.history.pushState({ id }, '', path);\n },\n\n replace({ path, state }: { path: string; state: NavigationState }) {\n interrupt();\n\n const id = window.history.state?.id ?? nanoid();\n\n // Need to keep the hash part of the path if there was no previous history entry\n // or the previous history entry had the same path\n let pathWithHash = path;\n\n if (!items.length || items.findIndex((item) => item.id === id) < 0) {\n // There are two scenarios for creating an array with only one history record:\n // - When loaded id not found in the items array, this function by default will replace\n // the first item. We need to keep only the new updated object, otherwise it will break\n // the page when navigating forward in history.\n // - This is the first time any state modifications are done\n // So we need to push the entry as there's nothing to replace\n pathWithHash = pathWithHash + location.hash;\n items = [{ path: pathWithHash, state, id }];\n index = 0;\n } else {\n if (items[index].path === path) {\n pathWithHash = pathWithHash + location.hash;\n }\n items[index] = { path, state, id };\n }\n\n window.history.replaceState({ id }, '', pathWithHash);\n },\n\n // `history.go(n)` is asynchronous, there are couple of things to keep in mind:\n // - it won't do anything if we can't go `n` steps, the `popstate` event won't fire.\n // - each `history.go(n)` call will trigger a separate `popstate` event with correct location.\n // - the `popstate` event fires before the next frame after calling `history.go(n)`.\n // This method differs from `history.go(n)` in the sense that it'll go back as many steps it can.\n go(n: number) {\n interrupt();\n\n // To guard against unexpected navigation out of the app we will assume that browser history is only as deep as the length of our memory\n // history. If we don't have an item to navigate to then update our index and navigate as far as we can without taking the user out of the app.\n const nextIndex = index + n;\n const lastItemIndex = items.length - 1;\n if (n < 0 && !items[nextIndex]) {\n // Attempted to navigate beyond the first index. Negating the current index will align the browser history with the first item.\n n = -index;\n index = 0;\n } else if (n > 0 && nextIndex > lastItemIndex) {\n // Attempted to navigate past the last index. Calculate how many indices away from the last index and go there.\n n = lastItemIndex - index;\n index = lastItemIndex;\n } else {\n index = nextIndex;\n }\n\n if (n === 0) {\n return;\n }\n\n // When we call `history.go`, `popstate` will fire when there's history to go back to\n // So we need to somehow handle following cases:\n // - There's history to go back, `history.go` is called, and `popstate` fires\n // - `history.go` is called multiple times, we need to resolve on respective `popstate`\n // - No history to go back, but `history.go` was called, browser has no API to detect it\n return new Promise((resolve, reject) => {\n const done = (interrupted?: boolean) => {\n clearTimeout(timer);\n\n if (interrupted) {\n reject(new Error('History was changed during navigation.'));\n return;\n }\n\n // There seems to be a bug in Chrome regarding updating the title\n // If we set a title just before calling `history.go`, the title gets lost\n // However the value of `document.title` is still what we set it to\n // It's just not displayed in the tab bar\n // To update the tab bar, we need to reset the title to something else first (e.g. '')\n // And set the title to what it was before so it gets applied\n // It won't work without setting it to empty string coz otherwise title isn't changing\n // Which means that the browser won't do anything after setting the title\n const { title } = window.document;\n\n window.document.title = '';\n window.document.title = title;\n\n resolve();\n };\n\n pending.push({ ref: done, cb: done });\n\n // If navigation didn't happen within 100ms, assume that it won't happen\n // This may not be accurate, but hopefully it won't take so much time\n // In Chrome, navigation seems to happen instantly in next microtask\n // But on Firefox, it seems to take much longer, around 50ms from our testing\n // We're using a hacky timeout since there doesn't seem to be way to know for sure\n const timer = setTimeout(() => {\n const index = pending.findIndex((it) => it.ref === done);\n\n if (index > -1) {\n pending[index].cb();\n pending.splice(index, 1);\n }\n }, 100);\n\n const onPopState = () => {\n const id = window.history.state?.id;\n const currentIndex = items.findIndex((item) => item.id === id);\n\n // Fix createMemoryHistory.index variable's value\n // as it may go out of sync when navigating in the browser.\n index = Math.max(currentIndex, 0);\n\n const last = pending.pop();\n\n window.removeEventListener('popstate', onPopState);\n last?.cb();\n };\n\n window.addEventListener('popstate', onPopState);\n window.history.go(n);\n });\n },\n\n // The `popstate` event is triggered when history changes, except `pushState` and `replaceState`\n // If we call `history.go(n)` ourselves, we don't want it to trigger the listener\n // Here we normalize it so that only external changes (e.g. user pressing back/forward) trigger the listener\n listen(listener: () => void) {\n const onPopState = () => {\n if (pending.length) {\n // This was triggered by `history.go(n)`, we shouldn't call the listener\n return;\n }\n\n listener();\n };\n\n window.addEventListener('popstate', onPopState);\n\n return () => window.removeEventListener('popstate', onPopState);\n },\n };\n\n return history;\n}\n","import * as React from 'react';\n\nexport type ServerContextType = {\n location?: {\n pathname: string;\n search: string;\n };\n};\n\nconst ServerContext = React.createContext(\n undefined\n);\n\nexport default ServerContext;\n","import {\n findFocusedRoute,\n getActionFromState as getActionFromStateDefault,\n getPathFromState as getPathFromStateDefault,\n getStateFromPath as getStateFromPathDefault,\n NavigationContainerRef,\n NavigationState,\n ParamListBase,\n} from '@react-navigation/core';\nimport isEqual from 'fast-deep-equal';\nimport * as React from 'react';\n\nimport createMemoryHistory from './createMemoryHistory';\nimport ServerContext from './ServerContext';\nimport type { LinkingOptions } from './types';\n\ntype ResultState = ReturnType;\n\n/**\n * Find the matching navigation state that changed between 2 navigation states\n * e.g.: a -> b -> c -> d and a -> b -> c -> e -> f, if history in b changed, b is the matching state\n */\nconst findMatchingState = (\n a: T | undefined,\n b: T | undefined\n): [T | undefined, T | undefined] => {\n if (a === undefined || b === undefined || a.key !== b.key) {\n return [undefined, undefined];\n }\n\n // Tab and drawer will have `history` property, but stack will have history in `routes`\n const aHistoryLength = a.history ? a.history.length : a.routes.length;\n const bHistoryLength = b.history ? b.history.length : b.routes.length;\n\n const aRoute = a.routes[a.index];\n const bRoute = b.routes[b.index];\n\n const aChildState = aRoute.state as T | undefined;\n const bChildState = bRoute.state as T | undefined;\n\n // Stop here if this is the state object that changed:\n // - history length is different\n // - focused routes are different\n // - one of them doesn't have child state\n // - child state keys are different\n if (\n aHistoryLength !== bHistoryLength ||\n aRoute.key !== bRoute.key ||\n aChildState === undefined ||\n bChildState === undefined ||\n aChildState.key !== bChildState.key\n ) {\n return [a, b];\n }\n\n return findMatchingState(aChildState, bChildState);\n};\n\n/**\n * Run async function in series as it's called.\n */\nexport const series = (cb: () => Promise) => {\n let queue = Promise.resolve();\n const callback = () => {\n queue = queue.then(cb);\n };\n return callback;\n};\n\nlet linkingHandlers: Symbol[] = [];\n\ntype Options = LinkingOptions & {\n independent?: boolean;\n};\n\nexport default function useLinking(\n ref: React.RefObject>,\n {\n independent,\n enabled = true,\n config,\n getStateFromPath = getStateFromPathDefault,\n getPathFromState = getPathFromStateDefault,\n getActionFromState = getActionFromStateDefault,\n }: Options\n) {\n React.useEffect(() => {\n if (process.env.NODE_ENV === 'production') {\n return undefined;\n }\n\n if (independent) {\n return undefined;\n }\n\n if (enabled !== false && linkingHandlers.length) {\n console.error(\n [\n 'Looks like you have configured linking in multiple places. This is likely an error since deep links should only be handled in one place to avoid conflicts. Make sure that:',\n \"- You don't have multiple NavigationContainers in the app each with 'linking' enabled\",\n '- Only a single instance of the root component is rendered',\n ]\n .join('\\n')\n .trim()\n );\n }\n\n const handler = Symbol();\n\n if (enabled !== false) {\n linkingHandlers.push(handler);\n }\n\n return () => {\n const index = linkingHandlers.indexOf(handler);\n\n if (index > -1) {\n linkingHandlers.splice(index, 1);\n }\n };\n }, [enabled, independent]);\n\n const [history] = React.useState(createMemoryHistory);\n\n // We store these options in ref to avoid re-creating getInitialState and re-subscribing listeners\n // This lets user avoid wrapping the items in `React.useCallback` or `React.useMemo`\n // Not re-creating `getInitialState` is important coz it makes it easier for the user to use in an effect\n const enabledRef = React.useRef(enabled);\n const configRef = React.useRef(config);\n const getStateFromPathRef = React.useRef(getStateFromPath);\n const getPathFromStateRef = React.useRef(getPathFromState);\n const getActionFromStateRef = React.useRef(getActionFromState);\n\n React.useEffect(() => {\n enabledRef.current = enabled;\n configRef.current = config;\n getStateFromPathRef.current = getStateFromPath;\n getPathFromStateRef.current = getPathFromState;\n getActionFromStateRef.current = getActionFromState;\n });\n\n const server = React.useContext(ServerContext);\n\n const getInitialState = React.useCallback(() => {\n let value: ResultState | undefined;\n\n if (enabledRef.current) {\n const location =\n server?.location ??\n (typeof window !== 'undefined' ? window.location : undefined);\n\n const path = location ? location.pathname + location.search : undefined;\n\n if (path) {\n value = getStateFromPathRef.current(path, configRef.current);\n }\n }\n\n const thenable = {\n then(onfulfilled?: (state: ResultState | undefined) => void) {\n return Promise.resolve(onfulfilled ? onfulfilled(value) : value);\n },\n catch() {\n return thenable;\n },\n };\n\n return thenable as PromiseLike;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const previousIndexRef = React.useRef(undefined);\n const previousStateRef = React.useRef(undefined);\n const pendingPopStatePathRef = React.useRef(undefined);\n\n React.useEffect(() => {\n previousIndexRef.current = history.index;\n\n return history.listen(() => {\n const navigation = ref.current;\n\n if (!navigation || !enabled) {\n return;\n }\n\n const path = location.pathname + location.search;\n const index = history.index;\n\n const previousIndex = previousIndexRef.current ?? 0;\n\n previousIndexRef.current = index;\n pendingPopStatePathRef.current = path;\n\n // When browser back/forward is clicked, we first need to check if state object for this index exists\n // If it does we'll reset to that state object\n // Otherwise, we'll handle it like a regular deep link\n const record = history.get(index);\n\n if (record?.path === path && record?.state) {\n navigation.resetRoot(record.state);\n return;\n }\n\n const state = getStateFromPathRef.current(path, configRef.current);\n\n // We should only dispatch an action when going forward\n // Otherwise the action will likely add items to history, which would mess things up\n if (state) {\n // Make sure that the routes in the state exist in the root navigator\n // Otherwise there's an error in the linking configuration\n const rootState = navigation.getRootState();\n\n if (state.routes.some((r) => !rootState?.routeNames.includes(r.name))) {\n console.warn(\n \"The navigation state parsed from the URL contains routes not present in the root navigator. This usually means that the linking configuration doesn't match the navigation structure. See https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.\"\n );\n return;\n }\n\n if (index > previousIndex) {\n const action = getActionFromStateRef.current(\n state,\n configRef.current\n );\n\n if (action !== undefined) {\n try {\n navigation.dispatch(action);\n } catch (e) {\n // Ignore any errors from deep linking.\n // This could happen in case of malformed links, navigation object not being initialized etc.\n console.warn(\n `An error occurred when trying to handle the link '${path}': ${\n typeof e === 'object' && e != null && 'message' in e\n ? e.message\n : e\n }`\n );\n }\n } else {\n navigation.resetRoot(state);\n }\n } else {\n navigation.resetRoot(state);\n }\n } else {\n // if current path didn't return any state, we should revert to initial state\n navigation.resetRoot(state);\n }\n });\n }, [enabled, history, ref]);\n\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n\n const getPathForRoute = (\n route: ReturnType,\n state: NavigationState\n ): string => {\n // If the `route` object contains a `path`, use that path as long as `route.name` and `params` still match\n // This makes sure that we preserve the original URL for wildcard routes\n if (route?.path) {\n const stateForPath = getStateFromPathRef.current(\n route.path,\n configRef.current\n );\n\n if (stateForPath) {\n const focusedRoute = findFocusedRoute(stateForPath);\n\n if (\n focusedRoute &&\n focusedRoute.name === route.name &&\n isEqual(focusedRoute.params, route.params)\n ) {\n return route.path;\n }\n }\n }\n\n return getPathFromStateRef.current(state, configRef.current);\n };\n\n if (ref.current) {\n // We need to record the current metadata on the first render if they aren't set\n // This will allow the initial state to be in the history entry\n const state = ref.current.getRootState();\n\n if (state) {\n const route = findFocusedRoute(state);\n const path = getPathForRoute(route, state);\n\n if (previousStateRef.current === undefined) {\n previousStateRef.current = state;\n }\n\n history.replace({ path, state });\n }\n }\n\n const onStateChange = async () => {\n const navigation = ref.current;\n\n if (!navigation || !enabled) {\n return;\n }\n\n const previousState = previousStateRef.current;\n const state = navigation.getRootState();\n\n // root state may not available, for example when root navigators switch inside the container\n if (!state) {\n return;\n }\n\n const pendingPath = pendingPopStatePathRef.current;\n const route = findFocusedRoute(state);\n const path = getPathForRoute(route, state);\n\n previousStateRef.current = state;\n pendingPopStatePathRef.current = undefined;\n\n // To detect the kind of state change, we need to:\n // - Find the common focused navigation state in previous and current state\n // - If only the route keys changed, compare history/routes.length to check if we go back/forward/replace\n // - If no common focused navigation state found, it's a replace\n const [previousFocusedState, focusedState] = findMatchingState(\n previousState,\n state\n );\n\n if (\n previousFocusedState &&\n focusedState &&\n // We should only handle push/pop if path changed from what was in last `popstate`\n // Otherwise it's likely a change triggered by `popstate`\n path !== pendingPath\n ) {\n const historyDelta =\n (focusedState.history\n ? focusedState.history.length\n : focusedState.routes.length) -\n (previousFocusedState.history\n ? previousFocusedState.history.length\n : previousFocusedState.routes.length);\n\n if (historyDelta > 0) {\n // If history length is increased, we should pushState\n // Note that path might not actually change here, for example, drawer open should pushState\n history.push({ path, state });\n } else if (historyDelta < 0) {\n // If history length is decreased, i.e. entries were removed, we want to go back\n\n const nextIndex = history.backIndex({ path });\n const currentIndex = history.index;\n\n try {\n if (nextIndex !== -1 && nextIndex < currentIndex) {\n // An existing entry for this path exists and it's less than current index, go back to that\n await history.go(nextIndex - currentIndex);\n } else {\n // We couldn't find an existing entry to go back to, so we'll go back by the delta\n // This won't be correct if multiple routes were pushed in one go before\n // Usually this shouldn't happen and this is a fallback for that\n await history.go(historyDelta);\n }\n\n // Store the updated state as well as fix the path if incorrect\n history.replace({ path, state });\n } catch (e) {\n // The navigation was interrupted\n }\n } else {\n // If history length is unchanged, we want to replaceState\n history.replace({ path, state });\n }\n } else {\n // If no common navigation state was found, assume it's a replace\n // This would happen if the user did a reset/conditionally changed navigators\n history.replace({ path, state });\n }\n };\n\n // We debounce onStateChange coz we don't want multiple state changes to be handled at one time\n // This could happen since `history.go(n)` is asynchronous\n // If `pushState` or `replaceState` were called before `history.go(n)` completes, it'll mess stuff up\n return ref.current?.addListener('state', series(onStateChange));\n }, [enabled, history, ref]);\n\n return {\n getInitialState,\n };\n}\n","import {\n BaseNavigationContainer,\n getActionFromState,\n getPathFromState,\n getStateFromPath,\n NavigationContainerProps,\n NavigationContainerRef,\n ParamListBase,\n validatePathConfig,\n} from '@react-navigation/core';\nimport * as React from 'react';\n\nimport LinkingContext from './LinkingContext';\nimport DefaultTheme from './theming/DefaultTheme';\nimport ThemeProvider from './theming/ThemeProvider';\nimport type { DocumentTitleOptions, LinkingOptions, Theme } from './types';\nimport useBackButton from './useBackButton';\nimport useDocumentTitle from './useDocumentTitle';\nimport useLinking from './useLinking';\nimport useThenable from './useThenable';\n\ndeclare global {\n var REACT_NAVIGATION_DEVTOOLS: WeakMap<\n NavigationContainerRef,\n { readonly linking: LinkingOptions }\n >;\n}\n\nglobal.REACT_NAVIGATION_DEVTOOLS = new WeakMap();\n\ntype Props = NavigationContainerProps & {\n theme?: Theme;\n linking?: LinkingOptions;\n fallback?: React.ReactNode;\n documentTitle?: DocumentTitleOptions;\n onReady?: () => void;\n};\n\n/**\n * Container component which holds the navigation state designed for React Native apps.\n * This should be rendered at the root wrapping the whole app.\n *\n * @param props.initialState Initial state object for the navigation tree. When deep link handling is enabled, this will override deep links when specified. Make sure that you don't specify an `initialState` when there's a deep link (`Linking.getInitialURL()`).\n * @param props.onReady Callback which is called after the navigation tree mounts.\n * @param props.onStateChange Callback which is called with the latest navigation state when it changes.\n * @param props.theme Theme object for the navigators.\n * @param props.linking Options for deep linking. Deep link handling is enabled when this prop is provided, unless `linking.enabled` is `false`.\n * @param props.fallback Fallback component to render until we have finished getting initial state when linking is enabled. Defaults to `null`.\n * @param props.documentTitle Options to configure the document title on Web. Updating document title is handled by default unless `documentTitle.enabled` is `false`.\n * @param props.children Child elements to render the content.\n * @param props.ref Ref object which refers to the navigation object containing helper methods.\n */\nfunction NavigationContainerInner(\n {\n theme = DefaultTheme,\n linking,\n fallback = null,\n documentTitle,\n onReady,\n ...rest\n }: Props,\n ref?: React.Ref | null>\n) {\n const isLinkingEnabled = linking ? linking.enabled !== false : false;\n\n if (linking?.config) {\n validatePathConfig(linking.config);\n }\n\n const refContainer =\n React.useRef>(null);\n\n useBackButton(refContainer);\n useDocumentTitle(refContainer, documentTitle);\n\n const { getInitialState } = useLinking(refContainer, {\n independent: rest.independent,\n enabled: isLinkingEnabled,\n prefixes: [],\n ...linking,\n });\n\n // Add additional linking related info to the ref\n // This will be used by the devtools\n React.useEffect(() => {\n if (refContainer.current) {\n REACT_NAVIGATION_DEVTOOLS.set(refContainer.current, {\n get linking() {\n return {\n ...linking,\n enabled: isLinkingEnabled,\n prefixes: linking?.prefixes ?? [],\n getStateFromPath: linking?.getStateFromPath ?? getStateFromPath,\n getPathFromState: linking?.getPathFromState ?? getPathFromState,\n getActionFromState:\n linking?.getActionFromState ?? getActionFromState,\n };\n },\n });\n }\n });\n\n const [isResolved, initialState] = useThenable(getInitialState);\n\n React.useImperativeHandle(ref, () => refContainer.current);\n\n const linkingContext = React.useMemo(() => ({ options: linking }), [linking]);\n\n const isReady = rest.initialState != null || !isLinkingEnabled || isResolved;\n\n const onReadyRef = React.useRef(onReady);\n\n React.useEffect(() => {\n onReadyRef.current = onReady;\n });\n\n React.useEffect(() => {\n if (isReady) {\n onReadyRef.current?.();\n }\n }, [isReady]);\n\n if (!isReady) {\n // This is temporary until we have Suspense for data-fetching\n // Then the fallback will be handled by a parent `Suspense` component\n return fallback as React.ReactElement;\n }\n\n return (\n \n \n \n \n \n );\n}\n\nconst NavigationContainer = React.forwardRef(NavigationContainerInner) as <\n RootParamList extends {} = ReactNavigation.RootParamList\n>(\n props: Props & {\n ref?: React.Ref>;\n }\n) => React.ReactElement;\n\nexport default NavigationContainer;\n","import type {\n NavigationContainerRef,\n ParamListBase,\n} from '@react-navigation/core';\nimport * as React from 'react';\n\nimport type { DocumentTitleOptions } from './types';\n\n/**\n * Set the document title for the active screen\n */\nexport default function useDocumentTitle(\n ref: React.RefObject>,\n {\n enabled = true,\n formatter = (options, route) => options?.title ?? route?.name,\n }: DocumentTitleOptions = {}\n) {\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n\n const navigation = ref.current;\n\n if (navigation) {\n const title = formatter(\n navigation.getCurrentOptions(),\n navigation.getCurrentRoute()\n );\n\n document.title = title;\n }\n\n return navigation?.addListener('options', (e) => {\n const title = formatter(e.data.options, navigation?.getCurrentRoute());\n\n document.title = title;\n });\n });\n}\n","import * as React from 'react';\n\nexport default function useThenable(create: () => PromiseLike) {\n const [promise] = React.useState(create);\n\n let initialState: [boolean, T | undefined] = [false, undefined];\n\n // Check if our thenable is synchronous\n promise.then((result) => {\n initialState = [true, result];\n });\n\n const [state, setState] = React.useState(initialState);\n const [resolved] = state;\n\n React.useEffect(() => {\n let cancelled = false;\n\n const resolve = async () => {\n let result;\n\n try {\n result = await promise;\n } finally {\n if (!cancelled) {\n setState([true, result]);\n }\n }\n };\n\n if (!resolved) {\n resolve();\n }\n\n return () => {\n cancelled = true;\n };\n }, [promise, resolved]);\n\n return state;\n}\n","import type { Theme } from '../types';\n\nconst DefaultTheme: Theme = {\n dark: false,\n colors: {\n primary: 'rgb(0, 122, 255)',\n background: 'rgb(242, 242, 242)',\n card: 'rgb(255, 255, 255)',\n text: 'rgb(28, 28, 30)',\n border: 'rgb(216, 216, 216)',\n notification: 'rgb(255, 59, 48)',\n },\n};\n\nexport default DefaultTheme;\n","import * as React from 'react';\n\nimport type { Theme } from '../types';\nimport DefaultTheme from './DefaultTheme';\n\nconst ThemeContext = React.createContext(DefaultTheme);\n\nThemeContext.displayName = 'ThemeContext';\n\nexport default ThemeContext;\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport NativeEventEmitter from '../../vendor/react-native/EventEmitter/NativeEventEmitter';\nexport default NativeEventEmitter;","import invariant from 'invariant';\nimport { NativeEventEmitter, NativeModules, Platform } from 'react-native';\n\nconst nativeEmitterSubscriptionKey = '@@nativeEmitterSubscription@@';\n\ntype NativeModule = {\n __expo_module_name__?: string;\n startObserving?: () => void;\n stopObserving?: () => void;\n addListener: (eventName: string) => void;\n removeListeners: (count: number) => void;\n};\n\n// @needsAudit\nexport type Subscription = {\n /**\n * A method to unsubscribe the listener.\n */\n remove: () => void;\n};\n\nexport class EventEmitter {\n _listenerCount = 0;\n _nativeModule: NativeModule;\n _eventEmitter: NativeEventEmitter;\n\n constructor(nativeModule: NativeModule) {\n // Expo modules installed through the JSI don't have `addListener` and `removeListeners` set,\n // so if someone wants to use them with `EventEmitter`, make sure to provide these functions\n // as they are required by `NativeEventEmitter`. This is only temporary — in the future\n // JSI modules will have event emitter built in.\n if (nativeModule.__expo_module_name__ && NativeModules.EXReactNativeEventEmitter) {\n nativeModule.addListener = (...args) =>\n NativeModules.EXReactNativeEventEmitter.addProxiedListener(\n nativeModule.__expo_module_name__,\n ...args\n );\n nativeModule.removeListeners = (...args) =>\n NativeModules.EXReactNativeEventEmitter.removeProxiedListeners(\n nativeModule.__expo_module_name__,\n ...args\n );\n }\n this._nativeModule = nativeModule;\n this._eventEmitter = new NativeEventEmitter(nativeModule as any);\n }\n\n addListener(eventName: string, listener: (event: T) => void): Subscription {\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.startObserving) {\n this._nativeModule.startObserving();\n }\n\n this._listenerCount++;\n const nativeEmitterSubscription = this._eventEmitter.addListener(eventName, listener);\n const subscription = {\n [nativeEmitterSubscriptionKey]: nativeEmitterSubscription,\n remove: () => {\n this.removeSubscription(subscription);\n },\n };\n return subscription;\n }\n\n removeAllListeners(eventName: string): void {\n // @ts-ignore: the EventEmitter interface has been changed in react-native@0.64.0\n const removedListenerCount = this._eventEmitter.listenerCount\n ? // @ts-ignore: this is available since 0.64\n this._eventEmitter.listenerCount(eventName)\n : // @ts-ignore: this is available in older versions\n this._eventEmitter.listeners(eventName).length;\n this._eventEmitter.removeAllListeners(eventName);\n this._listenerCount -= removedListenerCount;\n invariant(\n this._listenerCount >= 0,\n `EventEmitter must have a non-negative number of listeners`\n );\n\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.stopObserving) {\n this._nativeModule.stopObserving();\n }\n }\n\n removeSubscription(subscription: Subscription): void {\n const nativeEmitterSubscription = subscription[nativeEmitterSubscriptionKey];\n if (!nativeEmitterSubscription) {\n return;\n }\n\n if ('remove' in nativeEmitterSubscription) {\n // `react-native-web@0.17.1` doesn't support `removeSubscription`\n nativeEmitterSubscription.remove();\n } else if ('removeSubscription' in this._eventEmitter) {\n this._eventEmitter.removeSubscription(nativeEmitterSubscription!);\n }\n this._listenerCount--;\n\n // Ensure that the emitter's internal state remains correct even if `removeSubscription` is\n // called again with the same subscription\n delete subscription[nativeEmitterSubscriptionKey];\n\n // Release closed-over references to the emitter\n subscription.remove = () => {};\n\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.stopObserving) {\n this._nativeModule.stopObserving();\n }\n }\n\n emit(eventName: string, ...params: any[]): void {\n this._eventEmitter.emit(eventName, ...params);\n }\n}\n","import { ProxyNativeModule } from './NativeModulesProxy.types';\n\n// We default to an empty object shim wherever we don't have an environment-specific implementation\nexport default {} as { [moduleName: string]: ProxyNativeModule };\n","declare global {\n // Add IE-specific interface to Window\n interface Window {\n attachEvent(event: string, listener: EventListener): boolean;\n }\n}\n\n// Used for delegating node actions when browser APIs aren't available\n// like in SSR websites.\nexport const isDOMAvailable = typeof window !== 'undefined' && !!window.document?.createElement;\nexport const canUseEventListeners =\n isDOMAvailable && !!(window.addEventListener || window.attachEvent);\nexport const canUseViewport = isDOMAvailable && !!window.screen;\nexport const isAsyncDebugging = false;\n","import { Platform as ReactNativePlatform, PlatformOSType } from 'react-native';\n\nimport {\n isDOMAvailable,\n canUseEventListeners,\n canUseViewport,\n isAsyncDebugging,\n} from './environment/browser';\n\nexport type PlatformSelectOSType = PlatformOSType | 'native' | 'electron' | 'default';\n\nexport type PlatformSelect = (specifics: { [platform in PlatformSelectOSType]?: T }) => T;\n\nconst Platform = {\n /**\n * Denotes the currently running platform.\n * Can be one of ios, android, web.\n */\n OS: ReactNativePlatform.OS,\n /**\n * Returns the value with the matching platform.\n * Object keys can be any of ios, android, native, web, default.\n *\n * @ios ios, native, default\n * @android android, native, default\n * @web web, default\n */\n select: ReactNativePlatform.select as PlatformSelect,\n /**\n * Denotes if the DOM API is available in the current environment.\n * The DOM is not available in native React runtimes and Node.js.\n */\n isDOMAvailable,\n /**\n * Denotes if the current environment can attach event listeners\n * to the window. This will return false in native React\n * runtimes and Node.js.\n */\n canUseEventListeners,\n /**\n * Denotes if the current environment can inspect properties of the\n * screen on which the current window is being rendered. This will\n * return false in native React runtimes and Node.js.\n */\n canUseViewport,\n /**\n * If the JavaScript is being executed in a remote JavaScript environment.\n * When `true`, synchronous native invocations cannot be executed.\n */\n isAsyncDebugging,\n};\n\nexport default Platform;\n","/**\n * A general error class that should be used for all errors in Expo modules.\n * Guarantees a `code` field that can be used to differentiate between different\n * types of errors without further subclassing Error.\n */\nexport class CodedError extends Error {\n code: string;\n info?: any;\n\n constructor(code: string, message: string) {\n super(message);\n this.code = code;\n }\n}\n","import Platform from '../Platform';\nimport { CodedError } from './CodedError';\n\n/**\n * A class for errors to be thrown when a property is accessed which is\n * unavailable, unsupported, or not currently implemented on the running\n * platform.\n */\nexport class UnavailabilityError extends CodedError {\n constructor(moduleName: string, propertyName: string) {\n super(\n 'ERR_UNAVAILABLE',\n `The method or property ${moduleName}.${propertyName} is not available on ${Platform.OS}, are you sure you've linked all the native dependencies properly?`\n );\n }\n}\n","import React from 'react';\n\nimport { UnavailabilityError } from './errors/UnavailabilityError';\n\nexport function requireNativeViewManager

(viewName: string): React.ComponentType

{\n throw new UnavailabilityError('expo-modules-core', 'requireNativeViewManager');\n}\n","import NativeModulesProxy from '../NativeModulesProxy';\nexport default NativeModulesProxy.ExpoModulesCoreErrorManager;\n","import { EventEmitter } from '../EventEmitter';\nimport Platform from '../Platform';\nimport { CodedError } from '../errors/CodedError';\nimport NativeErrorManager from './NativeErrorManager';\n\nif (__DEV__ && Platform.OS === 'android' && NativeErrorManager) {\n const onNewException = 'ExpoModulesCoreErrorManager.onNewException';\n const eventEmitter = new EventEmitter(NativeErrorManager);\n\n eventEmitter.addListener(onNewException, ({ message }: { message: string }) => {\n console.error(message);\n });\n}\n\n// We have to export `CodedError` via global object to use in later in the C++ code.\nglobalThis.ExpoModulesCore_CodedError = CodedError;\n","export enum PermissionStatus {\n /**\n * User has granted the permission.\n */\n GRANTED = 'granted',\n /**\n * User hasn't granted or denied the permission yet.\n */\n UNDETERMINED = 'undetermined',\n /**\n * User has denied the permission.\n */\n DENIED = 'denied',\n}\n\n/**\n * Permission expiration time. Currently, all permissions are granted permanently.\n */\nexport type PermissionExpiration = 'never' | number;\n\n/**\n * An object obtained by permissions get and request functions.\n */\nexport interface PermissionResponse {\n /**\n * Determines the status of the permission.\n */\n status: PermissionStatus;\n /**\n * Determines time when the permission expires.\n */\n expires: PermissionExpiration;\n /**\n * A convenience boolean that indicates if the permission is granted.\n */\n granted: boolean;\n /**\n * Indicates if user can be asked again for specific permission.\n * If not, one should be directed to the Settings app\n * in order to enable/disable the permission.\n */\n canAskAgain: boolean;\n}\n","import compareVersions from 'compare-versions';\n\nimport { CodedError } from './errors/CodedError';\n\nconst postedWarnings: { [key: string]: boolean } = {};\n\n/**\n * Used for deprecating values and throwing an error if a given version of Expo has passed.\n */\nexport default function deprecate(\n library: string,\n deprecatedAPI: string,\n options: {\n replacement?: string;\n currentVersion?: string;\n versionToRemove?: string;\n } = {}\n): void {\n const { currentVersion, versionToRemove, replacement } = options;\n const code = codeFromLibrary(library);\n const key = `${code}:${deprecatedAPI}:${replacement}`;\n if (!postedWarnings[key]) {\n postedWarnings[key] = true;\n }\n\n if (\n !currentVersion ||\n !versionToRemove ||\n compareVersions(currentVersion, versionToRemove) >= 0\n ) {\n let message = `\\`${deprecatedAPI}\\` has been removed`;\n if (versionToRemove) {\n message = `${message} as of version \"${versionToRemove}\"`;\n }\n if (replacement && replacement.length) {\n message = `${message} please migrate to: \\`${replacement}\\``;\n }\n\n throw new CodedError(`ERR_DEPRECATED_API`, prependLibrary(library, message));\n }\n\n let message = `\\`${deprecatedAPI}\\` has been deprecated`;\n if (replacement && replacement.length) {\n message = `${message} in favor of \\`${replacement}\\``;\n }\n if (versionToRemove && versionToRemove.length) {\n message = `${message} and will be removed in version \"${versionToRemove}\"`;\n }\n console.warn(prependLibrary(library, message));\n}\n\nfunction prependLibrary(library: string, message: string): string {\n return `${library}: ${message}`;\n}\n\n/**\n * Transform format:\n * Expo.AR -> EXPO_AR\n * expo-ar -> EXPO_AR\n */\nfunction codeFromLibrary(library: string): string {\n const code = library.replace(/[-.]/g, '_').toUpperCase();\n return code;\n}\n","import NativeModulesProxy from './NativeModulesProxy';\n\ntype ExpoObject = {\n modules:\n | undefined\n | {\n [key: string]: any;\n };\n};\n\ndeclare global {\n // eslint-disable-next-line no-var\n var expo: ExpoObject | undefined;\n\n /**\n * @deprecated `global.ExpoModules` is deprecated, use `global.expo.modules` instead.\n */\n // eslint-disable-next-line no-var\n var ExpoModules:\n | undefined\n | {\n [key: string]: any;\n };\n}\n\n/**\n * Imports the native module registered with given name. In the first place it tries to load\n * the module installed through the JSI host object and then falls back to the bridge proxy module.\n * Notice that the modules loaded from the proxy may not support some features like synchronous functions.\n *\n * @param moduleName Name of the requested native module.\n * @returns Object representing the native module.\n * @throws Error when there is no native module with given name.\n */\nexport function requireNativeModule(moduleName: string): ModuleType {\n const nativeModule: ModuleType =\n globalThis.expo?.modules?.[moduleName] ??\n globalThis.ExpoModules?.[moduleName] ??\n NativeModulesProxy[moduleName];\n\n if (!nativeModule) {\n throw new Error(`Cannot find native module '${moduleName}'`);\n }\n return nativeModule;\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { PermissionResponse } from './PermissionsInterface';\n\n// These types are identical, but improves the readability for suggestions in editors\ntype RequestPermissionMethod = () => Promise;\ntype GetPermissionMethod = () => Promise;\n\ninterface PermissionHookMethods {\n /** The permission method that requests the user to grant permission. */\n requestMethod: (options?: Options) => Promise;\n /** The permission method that only fetches the current permission status. */\n getMethod: (options?: Options) => Promise;\n}\n\ninterface PermissionHookBehavior {\n /** If the hook should automatically fetch the current permission status, without asking the user. */\n get?: boolean;\n /** If the hook should automatically request the user to grant permission. */\n request?: boolean;\n}\n\nexport type PermissionHookOptions = PermissionHookBehavior & Options;\n\n/**\n * Get or request permission for protected functionality within the app.\n * It uses separate permission requesters to interact with a single permission.\n * By default, the hook will only retrieve the permission status.\n */\nfunction usePermission(\n methods: PermissionHookMethods,\n options?: PermissionHookOptions\n): [Permission | null, RequestPermissionMethod, GetPermissionMethod] {\n const isMounted = useRef(true);\n const [status, setStatus] = useState(null);\n const { get = true, request = false, ...permissionOptions } = options || {};\n\n const getPermission = useCallback(async () => {\n const response = await methods.getMethod(\n Object.keys(permissionOptions).length > 0 ? (permissionOptions as Options) : undefined\n );\n if (isMounted.current) setStatus(response);\n return response;\n }, [methods.getMethod]);\n\n const requestPermission = useCallback(async () => {\n const response = await methods.requestMethod(\n Object.keys(permissionOptions).length > 0 ? (permissionOptions as Options) : undefined\n );\n if (isMounted.current) setStatus(response);\n return response;\n }, [methods.requestMethod]);\n\n useEffect(\n function runMethods() {\n if (request) requestPermission();\n if (!request && get) getPermission();\n },\n [get, request, requestPermission, getPermission]\n );\n\n // Workaround for unmounting components receiving state updates\n useEffect(function didMount() {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return [status, requestPermission, getPermission];\n}\n\n/**\n * Create a new permission hook with the permission methods built-in.\n * This can be used to quickly create specific permission hooks in every module.\n */\nexport function createPermissionHook(\n methods: PermissionHookMethods\n) {\n return (options?: PermissionHookOptions) =>\n usePermission(methods, options);\n}\n","import { DeviceEventEmitter } from 'react-native';\n\nimport { EventEmitter, Subscription } from './EventEmitter';\nimport NativeModulesProxy from './NativeModulesProxy';\nimport { ProxyNativeModule } from './NativeModulesProxy.types';\nimport { requireNativeViewManager } from './NativeViewManagerAdapter';\nimport Platform from './Platform';\nimport SyntheticPlatformEmitter from './SyntheticPlatformEmitter';\nimport { CodedError } from './errors/CodedError';\nimport { UnavailabilityError } from './errors/UnavailabilityError';\n\nimport './sweet/setUpErrorManager.fx';\n\nexport { default as deprecate } from './deprecate';\n\nexport {\n DeviceEventEmitter,\n EventEmitter,\n NativeModulesProxy,\n ProxyNativeModule,\n Platform,\n Subscription,\n SyntheticPlatformEmitter,\n requireNativeViewManager,\n // Errors\n CodedError,\n UnavailabilityError,\n};\n\nexport * from './requireNativeModule';\nexport * from './TypedArrays.types';\n\n/**\n * @deprecated renamed to `DeviceEventEmitter`\n */\nexport const RCTDeviceEventEmitter = DeviceEventEmitter;\n\nexport * from './PermissionsInterface';\nexport * from './PermissionsHook';\n","export default {\n get name(): string {\n return 'ExpoSecureStore';\n },\n};\n","import { UnavailabilityError } from 'expo-modules-core';\n\nimport ExpoSecureStore from './ExpoSecureStore';\n\nexport type KeychainAccessibilityConstant = number;\n\n// @needsAudit\n/**\n * The data in the keychain item cannot be accessed after a restart until the device has been\n * unlocked once by the user. This may be useful if you need to access the item when the phone\n * is locked.\n */\nexport const AFTER_FIRST_UNLOCK: KeychainAccessibilityConstant = ExpoSecureStore.AFTER_FIRST_UNLOCK;\n\n// @needsAudit\n/**\n * Similar to `AFTER_FIRST_UNLOCK`, except the entry is not migrated to a new device when restoring\n * from a backup.\n */\nexport const AFTER_FIRST_UNLOCK_THIS_DEVICE_ONLY: KeychainAccessibilityConstant =\n ExpoSecureStore.AFTER_FIRST_UNLOCK_THIS_DEVICE_ONLY;\n\n// @needsAudit\n/**\n * The data in the keychain item can always be accessed regardless of whether the device is locked.\n * This is the least secure option.\n */\nexport const ALWAYS: KeychainAccessibilityConstant = ExpoSecureStore.ALWAYS;\n\n// @needsAudit\n/**\n * Similar to `WHEN_UNLOCKED_THIS_DEVICE_ONLY`, except the user must have set a passcode in order to\n * store an entry. If the user removes their passcode, the entry will be deleted.\n */\nexport const WHEN_PASSCODE_SET_THIS_DEVICE_ONLY: KeychainAccessibilityConstant =\n ExpoSecureStore.WHEN_PASSCODE_SET_THIS_DEVICE_ONLY;\n\n// @needsAudit\n/**\n * Similar to `ALWAYS`, except the entry is not migrated to a new device when restoring from a backup.\n */\nexport const ALWAYS_THIS_DEVICE_ONLY: KeychainAccessibilityConstant =\n ExpoSecureStore.ALWAYS_THIS_DEVICE_ONLY;\n\n// @needsAudit\n/**\n * The data in the keychain item can be accessed only while the device is unlocked by the user.\n */\nexport const WHEN_UNLOCKED: KeychainAccessibilityConstant = ExpoSecureStore.WHEN_UNLOCKED;\n\n// @needsAudit\n/**\n * Similar to `WHEN_UNLOCKED`, except the entry is not migrated to a new device when restoring from\n * a backup.\n */\nexport const WHEN_UNLOCKED_THIS_DEVICE_ONLY: KeychainAccessibilityConstant =\n ExpoSecureStore.WHEN_UNLOCKED_THIS_DEVICE_ONLY;\n\nconst VALUE_BYTES_LIMIT = 2048;\n\n// @needsAudit\nexport type SecureStoreOptions = {\n /**\n * - iOS: The item's service, equivalent to `kSecAttrService`\n * - Android: Equivalent of the public/private key pair `Alias`\n * > If the item is set with the `keychainService` option, it will be required to later fetch the value.\n */\n keychainService?: string;\n /**\n * Option responsible for enabling the usage of the user authentication methods available on the device while\n * accessing data stored in SecureStore.\n * - iOS: Equivalent to `kSecAccessControlBiometryCurrentSet`\n * - Android: Equivalent to `setUserAuthenticationRequired(true)` (requires API 23).\n * Complete functionality is unlocked only with a freshly generated key - this would not work in tandem with the `keychainService`\n * value used for the others non-authenticated operations.\n */\n requireAuthentication?: boolean;\n /**\n * Custom message displayed to the user while `requireAuthentication` option is turned on.\n */\n authenticationPrompt?: string;\n /**\n * Specifies when the stored entry is accessible, using iOS's `kSecAttrAccessible` property.\n * @see Apple's documentation on [keychain item accessibility](https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/02concepts/concepts.html).\n * @default SecureStore.WHEN_UNLOCKED\n * @platform ios\n */\n keychainAccessible?: KeychainAccessibilityConstant;\n};\n\n// @needsAudit\n/**\n * Returns whether the SecureStore API is enabled on the current device. This does not check the app\n * permissions.\n *\n * @return Promise which fulfils witch `boolean`, indicating whether the SecureStore API is available\n * on the current device. Currently this resolves `true` on iOS and Android only.\n */\nexport async function isAvailableAsync(): Promise {\n return !!ExpoSecureStore.getValueWithKeyAsync;\n}\n\n// @needsAudit\n/**\n * Delete the value associated with the provided key.\n *\n * @param key The key that was used to store the associated value.\n * @param options An [`SecureStoreOptions`](#securestoreoptions) object.\n *\n * @return A promise that will reject if the value couldn't be deleted.\n */\nexport async function deleteItemAsync(\n key: string,\n options: SecureStoreOptions = {}\n): Promise {\n _ensureValidKey(key);\n\n if (!ExpoSecureStore.deleteValueWithKeyAsync) {\n throw new UnavailabilityError('SecureStore', 'deleteItemAsync');\n }\n await ExpoSecureStore.deleteValueWithKeyAsync(key, options);\n}\n\n// @needsAudit\n/**\n * Fetch the stored value associated with the provided key.\n *\n * @param key The key that was used to store the associated value.\n * @param options An [`SecureStoreOptions`](#securestoreoptions) object.\n *\n * @return A promise that resolves to the previously stored value, or `null` if there is no entry\n * for the given key. The promise will reject if an error occurred while retrieving the value.\n */\nexport async function getItemAsync(\n key: string,\n options: SecureStoreOptions = {}\n): Promise {\n _ensureValidKey(key);\n return await ExpoSecureStore.getValueWithKeyAsync(key, options);\n}\n\n// @needsAudit\n/**\n * Store a key–value pair.\n *\n * @param key The key to associate with the stored value. Keys may contain alphanumeric characters\n * `.`, `-`, and `_`.\n * @param value The value to store. Size limit is 2048 bytes.\n * @param options An [`SecureStoreOptions`](#securestoreoptions) object.\n *\n * @return A promise that will reject if value cannot be stored on the device.\n */\nexport async function setItemAsync(\n key: string,\n value: string,\n options: SecureStoreOptions = {}\n): Promise {\n _ensureValidKey(key);\n if (!_isValidValue(value)) {\n throw new Error(\n `Invalid value provided to SecureStore. Values must be strings; consider JSON-encoding your values if they are serializable.`\n );\n }\n if (!ExpoSecureStore.setValueWithKeyAsync) {\n throw new UnavailabilityError('SecureStore', 'setItemAsync');\n }\n await ExpoSecureStore.setValueWithKeyAsync(value, key, options);\n}\n\nfunction _ensureValidKey(key: string) {\n if (!_isValidKey(key)) {\n throw new Error(\n `Invalid key provided to SecureStore. Keys must not be empty and contain only alphanumeric characters, \".\", \"-\", and \"_\".`\n );\n }\n}\n\nfunction _isValidKey(key: string) {\n return typeof key === 'string' && /^[\\w.-]+$/.test(key);\n}\n\nfunction _isValidValue(value: string) {\n if (typeof value !== 'string') {\n return false;\n }\n if (_byteCount(value) > VALUE_BYTES_LIMIT) {\n console.warn(\n 'Provided value to SecureStore is larger than 2048 bytes. An attempt to store such a value will throw an error in SDK 35.'\n );\n }\n return true;\n}\n\n// copy-pasted from https://stackoverflow.com/a/39488643\nfunction _byteCount(value: string) {\n let bytes = 0;\n\n for (let i = 0; i < value.length; i++) {\n const codePoint = value.charCodeAt(i);\n\n // Lone surrogates cannot be passed to encodeURI\n if (codePoint >= 0xd800 && codePoint < 0xe000) {\n if (codePoint < 0xdc00 && i + 1 < value.length) {\n const next = value.charCodeAt(i + 1);\n\n if (next >= 0xdc00 && next < 0xe000) {\n bytes += 4;\n i++;\n continue;\n }\n }\n }\n\n bytes += codePoint < 0x80 ? 1 : codePoint < 0x800 ? 2 : 3;\n }\n\n return bytes;\n}\n","import { StatusBarProps } from './StatusBar.types';\n\n// @needsAudit\n/**\n * A component that allows you to configure your status bar without directly calling imperative\n * methods like `setBarStyle`.\n *\n * You will likely have multiple `StatusBar` components mounted in the same app at the same time.\n * For example, if you have multiple screens in your app, you may end up using one per screen.\n * The props of each `StatusBar` component will be merged in the order that they were mounted.\n * This component is built on top of the [StatusBar](https://reactnative.dev/docs/statusbar)\n * component exported from React Native, and it provides defaults that work better for Expo users.\n */\nexport default function ExpoStatusBar(props: StatusBarProps) {\n // StatusBar does nothing on web currently\n return null;\n}\n","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport { unmountComponentAtNode } from 'react-dom';\nexport default unmountComponentAtNode;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar RootTagContext = /*#__PURE__*/React.createContext(null);\nvar AppContainer = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var children = props.children,\n WrapperComponent = props.WrapperComponent;\n var innerView = /*#__PURE__*/React.createElement(View, {\n children: children,\n key: 1,\n style: styles.appContainer\n });\n if (WrapperComponent) {\n innerView = /*#__PURE__*/React.createElement(WrapperComponent, null, innerView);\n }\n return /*#__PURE__*/React.createElement(RootTagContext.Provider, {\n value: props.rootTag\n }, /*#__PURE__*/React.createElement(View, {\n ref: forwardedRef,\n style: styles.appContainer\n }, innerView));\n});\nAppContainer.displayName = 'AppContainer';\nexport default AppContainer;\nvar styles = StyleSheet.create({\n appContainer: {\n flex: 1,\n pointerEvents: 'box-none'\n }\n});","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport { hydrate as domLegacyHydrate, render as domLegacyRender } from 'react-dom';\nimport { createRoot as domCreateRoot, hydrateRoot as domHydrateRoot } from 'react-dom/client';\nimport unmountComponentAtNode from '../unmountComponentAtNode';\nimport { createSheet } from '../StyleSheet/dom';\nexport function hydrate(element, root) {\n createSheet(root);\n return domHydrateRoot(root, element);\n}\nexport function render(element, root) {\n createSheet(root);\n var reactRoot = domCreateRoot(root);\n reactRoot.render(element);\n return reactRoot;\n}\nexport function hydrateLegacy(element, root, callback) {\n createSheet(root);\n domLegacyHydrate(element, root, callback);\n return {\n unmount: function unmount() {\n return unmountComponentAtNode(root);\n }\n };\n}\nexport default function renderLegacy(element, root, callback) {\n createSheet(root);\n domLegacyRender(element, root, callback);\n return {\n unmount: function unmount() {\n return unmountComponentAtNode(root);\n }\n };\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport invariant from 'fbjs/lib/invariant';\nimport unmountComponentAtNode from '../unmountComponentAtNode';\nimport renderApplication, { getApplication as _getApplication } from './renderApplication';\nvar emptyObject = {};\nvar runnables = {};\nvar componentProviderInstrumentationHook = component => component();\nvar wrapperComponentProvider;\n\n/**\n * `AppRegistry` is the JS entry point to running all React Native apps.\n */\nexport default class AppRegistry {\n static getAppKeys() {\n return Object.keys(runnables);\n }\n static getApplication(appKey, appParameters) {\n invariant(runnables[appKey] && runnables[appKey].getApplication, \"Application \" + appKey + \" has not been registered. \" + 'This is either due to an import error during initialization or failure to call AppRegistry.registerComponent.');\n return runnables[appKey].getApplication(appParameters);\n }\n static registerComponent(appKey, componentProvider) {\n runnables[appKey] = {\n getApplication: appParameters => _getApplication(componentProviderInstrumentationHook(componentProvider), appParameters ? appParameters.initialProps : emptyObject, wrapperComponentProvider && wrapperComponentProvider(appParameters)),\n run: appParameters => renderApplication(componentProviderInstrumentationHook(componentProvider), wrapperComponentProvider && wrapperComponentProvider(appParameters), appParameters.callback, {\n hydrate: appParameters.hydrate || false,\n initialProps: appParameters.initialProps || emptyObject,\n mode: appParameters.mode || 'concurrent',\n rootTag: appParameters.rootTag\n })\n };\n return appKey;\n }\n static registerConfig(config) {\n config.forEach(_ref => {\n var appKey = _ref.appKey,\n component = _ref.component,\n run = _ref.run;\n if (run) {\n AppRegistry.registerRunnable(appKey, run);\n } else {\n invariant(component, 'No component provider passed in');\n AppRegistry.registerComponent(appKey, component);\n }\n });\n }\n\n // TODO: fix style sheet creation when using this method\n static registerRunnable(appKey, run) {\n runnables[appKey] = {\n run\n };\n return appKey;\n }\n static runApplication(appKey, appParameters) {\n var isDevelopment = process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test';\n if (isDevelopment) {\n var params = _objectSpread({}, appParameters);\n params.rootTag = \"#\" + params.rootTag.id;\n console.log(\"Running application \\\"\" + appKey + \"\\\" with appParams:\\n\", params, \"\\nDevelopment-level warnings: \" + (isDevelopment ? 'ON' : 'OFF') + \".\" + (\"\\nPerformance optimizations: \" + (isDevelopment ? 'OFF' : 'ON') + \".\"));\n }\n invariant(runnables[appKey] && runnables[appKey].run, \"Application \\\"\" + appKey + \"\\\" has not been registered. \" + 'This is either due to an import error during initialization or failure to call AppRegistry.registerComponent.');\n return runnables[appKey].run(appParameters);\n }\n static setComponentProviderInstrumentationHook(hook) {\n componentProviderInstrumentationHook = hook;\n }\n static setWrapperComponentProvider(provider) {\n wrapperComponentProvider = provider;\n }\n static unmountApplicationComponentAtRootTag(rootTag) {\n unmountComponentAtNode(rootTag);\n }\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport AppContainer from './AppContainer';\nimport invariant from 'fbjs/lib/invariant';\nimport renderLegacy, { hydrateLegacy, render, hydrate } from '../render';\nimport StyleSheet from '../StyleSheet';\nimport React from 'react';\nexport default function renderApplication(RootComponent, WrapperComponent, callback, options) {\n var shouldHydrate = options.hydrate,\n initialProps = options.initialProps,\n mode = options.mode,\n rootTag = options.rootTag;\n var renderFn = shouldHydrate ? mode === 'concurrent' ? hydrate : hydrateLegacy : mode === 'concurrent' ? render : renderLegacy;\n invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);\n return renderFn( /*#__PURE__*/React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n ref: callback,\n rootTag: rootTag\n }, /*#__PURE__*/React.createElement(RootComponent, initialProps)), rootTag);\n}\nexport function getApplication(RootComponent, initialProps, WrapperComponent) {\n var element = /*#__PURE__*/React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n rootTag: {}\n }, /*#__PURE__*/React.createElement(RootComponent, initialProps));\n // Don't escape CSS text\n var getStyleElement = props => {\n var sheet = StyleSheet.getSheet();\n return /*#__PURE__*/React.createElement(\"style\", _extends({}, props, {\n dangerouslySetInnerHTML: {\n __html: sheet.textContent\n },\n id: sheet.id\n }));\n };\n return {\n element,\n getStyleElement\n };\n}","import 'expo/build/Expo.fx';\n\nimport * as React from 'react';\nimport { AppRegistry, Platform } from 'react-native';\n\nimport { createRoot } from './createRoot';\n\ntype InitialProps = {\n exp: {\n notification?: any;\n manifestString?: string;\n [key: string]: any;\n };\n shell?: boolean;\n shellManifestUrl?: string;\n [key: string]: any;\n};\n\nexport default function registerRootComponent

(\n component: React.ComponentType

\n): void {\n let qualifiedComponent = component;\n\n if (process.env.NODE_ENV !== 'production') {\n const { withDevTools } = require('./withDevTools') as typeof import('./withDevTools');\n qualifiedComponent = withDevTools(component);\n }\n\n if (Platform.OS !== 'web') {\n AppRegistry.registerComponent('main', () => qualifiedComponent);\n } else if (\n // Skip querying the DOM if we're in a Node.js environment.\n typeof document !== 'undefined'\n ) {\n let tag = document.getElementById('root');\n\n if (!tag) {\n tag = document.getElementById('main');\n if (process.env.NODE_ENV !== 'production') {\n // This block will be removed in production\n if (tag) {\n console.warn(\n 'Mounting the root React component to an HTML element with id \"main\" is deprecated. Use id \"root\" instead.'\n );\n }\n }\n }\n\n if (!tag) {\n throw new Error(\n 'Required HTML element with id \"root\" was not found in the document HTML. This is required for mounting the root React component.'\n );\n }\n\n const rootTag = createRoot(tag);\n rootTag.render(React.createElement(qualifiedComponent));\n }\n}\n","import registerRootComponent from 'expo/build/launch/registerRootComponent';\n\nimport App from '../../App';\n\nregisterRootComponent(App);\n","// When users dangerously import a file inside of react-native, it breaks the web alias.\n// This is one of the most common, and cryptic web errors that users encounter.\n// This conditional side-effect provides a more helpful error message for debugging.\n// Use a wrapper `__DEV__` to remove this entire block in production.\nif (__DEV__) {\n if (\n // Skip mocking if someone is shimming this value out.\n !('__fbBatchedBridgeConfig' in global)\n ) {\n Object.defineProperty(global, '__fbBatchedBridgeConfig', {\n get() {\n throw new Error(\n \"Your web project is importing a module from 'react-native' instead of 'react-native-web'. Learn more: https://expo.fyi/fb-batched-bridge-config-web\"\n );\n },\n });\n }\n}\n","// TODO use State from RNModule\n\nexport const State = {\n UNDETERMINED: 0,\n FAILED: 1,\n BEGAN: 2,\n CANCELLED: 3,\n ACTIVE: 4,\n END: 5,\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; it can be used as a type and as a value\nexport type State = typeof State[keyof typeof State];\n","export const TouchEventType = {\n UNDETERMINED: 0,\n TOUCHES_DOWN: 1,\n TOUCHES_MOVE: 2,\n TOUCHES_UP: 3,\n TOUCHES_CANCELLED: 4,\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; it can be used as a type and as a value\nexport type TouchEventType = typeof TouchEventType[keyof typeof TouchEventType];\n","export function toArray(object: T | T[]): T[] {\n if (!Array.isArray(object)) {\n return [object];\n }\n\n return object;\n}\n\nexport type withPrevAndCurrentMapFn = (\n previous: Transformed | null,\n current: T\n) => Transformed;\nexport function withPrevAndCurrent(\n array: T[],\n mapFn: withPrevAndCurrentMapFn\n): Transformed[] {\n const previousArr: (null | Transformed)[] = [null];\n const currentArr = [...array];\n const transformedArr: Transformed[] = [];\n currentArr.forEach((current, i) => {\n // This type cast is fine and solves problem mentioned in https://github.com/software-mansion/react-native-gesture-handler/pull/2867 (namely that `previous` can be undefined).\n // Unfortunately, linter on our CI does not allow this type of casting as it is unnecessary. To bypass that we use eslint-disable.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const previous = previousArr[i] as Transformed | null;\n const transformed = mapFn(previous, current);\n previousArr.push(transformed);\n transformedArr.push(transformed);\n });\n return transformedArr;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function hasProperty(object: object, key: string) {\n return Object.prototype.hasOwnProperty.call(object, key);\n}\n\nexport function isJestEnv(): boolean {\n // @ts-ignore Do not use `@types/node` because it will prioritise Node types over RN types which breaks the types (ex. setTimeout) in React Native projects.\n return hasProperty(global, 'process') && !!process.env.JEST_WORKER_ID;\n}\n\nexport function tagMessage(msg: string) {\n return `[react-native-gesture-handler] ${msg}`;\n}\n\n// Helper method to check whether Fabric is enabled, however global.nativeFabricUIManager\n// may not be initialized before the first render\nexport function isFabric(): boolean {\n // @ts-expect-error nativeFabricUIManager is not yet included in the RN types\n return !!global?.nativeFabricUIManager;\n}\n\nexport function isRemoteDebuggingEnabled(): boolean {\n // react-native-reanimated checks if in remote debugging in the same way\n // @ts-ignore global is available but node types are not included\n const localGlobal = global as any;\n return (\n (!localGlobal.nativeCallSyncHook || !!localGlobal.__REMOTEDEV__) &&\n !localGlobal.RN$Bridgeless\n );\n}\n\n/**\n * Recursively compares two objects for deep equality.\n *\n * **Note:** This function does not support cyclic references.\n *\n * @param obj1 - The first object to compare.\n * @param obj2 - The second object to compare.\n * @returns `true` if the objects are deeply equal, `false` otherwise.\n */\nexport function deepEqual(obj1: any, obj2: any) {\n if (obj1 === obj2) {\n return true;\n }\n\n if (\n typeof obj1 !== 'object' ||\n typeof obj2 !== 'object' ||\n obj1 === null ||\n obj2 === null\n ) {\n return false;\n }\n\n const keys1 = Object.keys(obj1);\n const keys2 = Object.keys(obj2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (const key of keys1) {\n if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) {\n return false;\n }\n }\n\n return true;\n}\n\nexport const INT32_MAX = 2 ** 31 - 1;\n","import { isJestEnv } from '../utils';\nimport { GestureType } from './gestures/gesture';\nimport { GestureEvent, HandlerStateChangeEvent } from './gestureHandlerCommon';\n\nexport const handlerIDToTag: Record = {};\nconst gestures = new Map();\nconst oldHandlers = new Map();\nconst testIDs = new Map();\n\nexport function registerHandler(\n handlerTag: number,\n handler: GestureType,\n testID?: string\n) {\n gestures.set(handlerTag, handler);\n if (isJestEnv() && testID) {\n testIDs.set(testID, handlerTag);\n }\n}\n\nexport function registerOldGestureHandler(\n handlerTag: number,\n handler: GestureHandlerCallbacks\n) {\n oldHandlers.set(handlerTag, handler);\n}\n\nexport function unregisterHandler(handlerTag: number, testID?: string) {\n gestures.delete(handlerTag);\n if (isJestEnv() && testID) {\n testIDs.delete(testID);\n }\n}\n\nexport function findHandler(handlerTag: number) {\n return gestures.get(handlerTag);\n}\n\nexport function findOldGestureHandler(handlerTag: number) {\n return oldHandlers.get(handlerTag);\n}\n\nexport function findHandlerByTestID(testID: string) {\n const handlerTag = testIDs.get(testID);\n if (handlerTag !== undefined) {\n return findHandler(handlerTag) ?? null;\n }\n return null;\n}\n\nexport interface GestureHandlerCallbacks {\n onGestureEvent: (event: GestureEvent) => void;\n onGestureStateChange: (event: HandlerStateChangeEvent) => void;\n}\n","import { ValueOf } from '../../typeUtils';\nimport { Gestures } from '../Gestures';\nimport type IGestureHandler from '../handlers/IGestureHandler';\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport default abstract class NodeManager {\n private static gestures: Record<\n number,\n InstanceType>\n > = {};\n\n public static getHandler(tag: number): IGestureHandler {\n if (tag in this.gestures) {\n return this.gestures[tag] as IGestureHandler;\n }\n\n throw new Error(`No handler for tag ${tag}`);\n }\n\n public static createGestureHandler(\n handlerTag: number,\n handler: InstanceType>\n ): void {\n if (handlerTag in this.gestures) {\n throw new Error(\n `Handler with tag ${handlerTag} already exists. Please ensure that no Gesture instance is used across multiple GestureDetectors.`\n );\n }\n\n this.gestures[handlerTag] = handler;\n this.gestures[handlerTag].setTag(handlerTag);\n }\n\n public static dropGestureHandler(handlerTag: number): void {\n if (!(handlerTag in this.gestures)) {\n return;\n }\n\n this.gestures[handlerTag].onDestroy();\n\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this.gestures[handlerTag];\n }\n\n public static getNodes() {\n return { ...this.gestures };\n }\n}\n","import NodeManager from '../../web/tools/NodeManager';\nimport { GestureStateManagerType } from './gestureStateManager';\n\nexport const GestureStateManager = {\n create(handlerTag: number): GestureStateManagerType {\n return {\n begin: () => {\n NodeManager.getHandler(handlerTag).begin();\n },\n\n activate: () => {\n NodeManager.getHandler(handlerTag).activate(true);\n },\n\n fail: () => {\n NodeManager.getHandler(handlerTag).fail();\n },\n\n end: () => {\n NodeManager.getHandler(handlerTag).end();\n },\n };\n },\n};\n","import { DeviceEventEmitter, EmitterSubscription } from 'react-native';\nimport { State } from '../../State';\nimport { TouchEventType } from '../../TouchEventType';\nimport {\n GestureTouchEvent,\n GestureUpdateEvent,\n GestureStateChangeEvent,\n} from '../gestureHandlerCommon';\nimport { findHandler, findOldGestureHandler } from '../handlersRegistry';\nimport { BaseGesture } from './gesture';\nimport {\n GestureStateManager,\n GestureStateManagerType,\n} from './gestureStateManager';\n\nlet gestureHandlerEventSubscription: EmitterSubscription | null = null;\nlet gestureHandlerStateChangeEventSubscription: EmitterSubscription | null =\n null;\n\nconst gestureStateManagers: Map = new Map<\n number,\n GestureStateManagerType\n>();\n\nconst lastUpdateEvent: (GestureUpdateEvent | undefined)[] = [];\n\nfunction isStateChangeEvent(\n event: GestureUpdateEvent | GestureStateChangeEvent | GestureTouchEvent\n): event is GestureStateChangeEvent {\n // @ts-ignore oldState doesn't exist on GestureTouchEvent and that's the point\n return event.oldState != null;\n}\n\nfunction isTouchEvent(\n event: GestureUpdateEvent | GestureStateChangeEvent | GestureTouchEvent\n): event is GestureTouchEvent {\n return event.eventType != null;\n}\n\nexport function onGestureHandlerEvent(\n event: GestureUpdateEvent | GestureStateChangeEvent | GestureTouchEvent\n) {\n const handler = findHandler(event.handlerTag) as BaseGesture<\n Record\n >;\n\n if (handler) {\n if (isStateChangeEvent(event)) {\n if (\n event.oldState === State.UNDETERMINED &&\n event.state === State.BEGAN\n ) {\n handler.handlers.onBegin?.(event);\n } else if (\n (event.oldState === State.BEGAN ||\n event.oldState === State.UNDETERMINED) &&\n event.state === State.ACTIVE\n ) {\n handler.handlers.onStart?.(event);\n lastUpdateEvent[handler.handlers.handlerTag] = event;\n } else if (event.oldState !== event.state && event.state === State.END) {\n if (event.oldState === State.ACTIVE) {\n handler.handlers.onEnd?.(event, true);\n }\n handler.handlers.onFinalize?.(event, true);\n lastUpdateEvent[handler.handlers.handlerTag] = undefined;\n } else if (\n (event.state === State.FAILED || event.state === State.CANCELLED) &&\n event.oldState !== event.state\n ) {\n if (event.oldState === State.ACTIVE) {\n handler.handlers.onEnd?.(event, false);\n }\n handler.handlers.onFinalize?.(event, false);\n gestureStateManagers.delete(event.handlerTag);\n lastUpdateEvent[handler.handlers.handlerTag] = undefined;\n }\n } else if (isTouchEvent(event)) {\n if (!gestureStateManagers.has(event.handlerTag)) {\n gestureStateManagers.set(\n event.handlerTag,\n GestureStateManager.create(event.handlerTag)\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const manager = gestureStateManagers.get(event.handlerTag)!;\n\n switch (event.eventType) {\n case TouchEventType.TOUCHES_DOWN:\n handler.handlers?.onTouchesDown?.(event, manager);\n break;\n case TouchEventType.TOUCHES_MOVE:\n handler.handlers?.onTouchesMove?.(event, manager);\n break;\n case TouchEventType.TOUCHES_UP:\n handler.handlers?.onTouchesUp?.(event, manager);\n break;\n case TouchEventType.TOUCHES_CANCELLED:\n handler.handlers?.onTouchesCancelled?.(event, manager);\n break;\n }\n } else {\n handler.handlers.onUpdate?.(event);\n\n if (handler.handlers.onChange && handler.handlers.changeEventCalculator) {\n handler.handlers.onChange?.(\n handler.handlers.changeEventCalculator?.(\n event,\n lastUpdateEvent[handler.handlers.handlerTag]\n )\n );\n\n lastUpdateEvent[handler.handlers.handlerTag] = event;\n }\n }\n } else {\n const oldHandler = findOldGestureHandler(event.handlerTag);\n if (oldHandler) {\n const nativeEvent = { nativeEvent: event };\n if (isStateChangeEvent(event)) {\n oldHandler.onGestureStateChange(nativeEvent);\n } else {\n oldHandler.onGestureEvent(nativeEvent);\n }\n return;\n }\n }\n}\n\nexport function startListening() {\n stopListening();\n\n gestureHandlerEventSubscription = DeviceEventEmitter.addListener(\n 'onGestureHandlerEvent',\n onGestureHandlerEvent\n );\n\n gestureHandlerStateChangeEventSubscription = DeviceEventEmitter.addListener(\n 'onGestureHandlerStateChange',\n onGestureHandlerEvent\n );\n}\n\nexport function stopListening() {\n if (gestureHandlerEventSubscription) {\n gestureHandlerEventSubscription.remove();\n gestureHandlerEventSubscription = null;\n }\n\n if (gestureHandlerStateChangeEventSubscription) {\n gestureHandlerStateChangeEventSubscription.remove();\n gestureHandlerStateChangeEventSubscription = null;\n }\n}\n","import { Platform } from 'react-native';\n\nlet useNewWebImplementation = true;\nlet getWasCalled = false;\n\nexport function enableExperimentalWebImplementation(\n _shouldEnable = true\n): void {\n // NO-OP since the new implementation is now the default\n}\n\nexport function enableLegacyWebImplementation(\n shouldUseLegacyImplementation = true\n): void {\n if (\n Platform.OS !== 'web' ||\n useNewWebImplementation === !shouldUseLegacyImplementation\n ) {\n return;\n }\n\n if (getWasCalled) {\n console.error(\n 'Some parts of this application have already started using the new gesture handler implementation. No changes will be applied. You can try enabling legacy implementation earlier.'\n );\n return;\n }\n\n useNewWebImplementation = !shouldUseLegacyImplementation;\n}\n\nexport function isNewWebImplementationEnabled(): boolean {\n getWasCalled = true;\n return useNewWebImplementation;\n}\n","import {\n UserSelect,\n ActiveCursor,\n MouseButton,\n TouchAction,\n} from '../handlers/gestureHandlerCommon';\nimport { Directions } from '../Directions';\nimport { State } from '../State';\nimport { PointerType } from '../PointerType';\n\nexport interface HitSlop {\n left?: number;\n right?: number;\n top?: number;\n bottom?: number;\n horizontal?: number;\n vertical?: number;\n width?: number;\n height?: number;\n}\n\nexport interface Handler {\n handlerTag: number;\n}\n\ntype ConfigArgs =\n | number\n | boolean\n | HitSlop\n | UserSelect\n | TouchAction\n | ActiveCursor\n | Directions\n | Handler[]\n | null\n | undefined;\n\nexport interface Config extends Record {\n enabled: boolean;\n simultaneousHandlers?: Handler[] | null;\n waitFor?: Handler[] | null;\n blocksHandlers?: Handler[] | null;\n hitSlop?: HitSlop;\n shouldCancelWhenOutside?: boolean;\n userSelect?: UserSelect;\n activeCursor?: ActiveCursor;\n mouseButton?: MouseButton;\n enableContextMenu?: boolean;\n touchAction?: TouchAction;\n manualActivation?: boolean;\n\n activateAfterLongPress?: number;\n failOffsetXStart?: number;\n failOffsetYStart?: number;\n failOffsetXEnd?: number;\n failOffsetYEnd?: number;\n activeOffsetXStart?: number;\n activeOffsetXEnd?: number;\n activeOffsetYStart?: number;\n activeOffsetYEnd?: number;\n minPointers?: number;\n maxPointers?: number;\n minDist?: number;\n minDistSq?: number;\n minVelocity?: number;\n minVelocityX?: number;\n minVelocityY?: number;\n minVelocitySq?: number;\n maxDist?: number;\n maxDistSq?: number;\n numberOfPointers?: number;\n minDurationMs?: number;\n numberOfTaps?: number;\n maxDurationMs?: number;\n maxDelayMs?: number;\n maxDeltaX?: number;\n maxDeltaY?: number;\n shouldActivateOnStart?: boolean;\n disallowInterruption?: boolean;\n direction?: Directions;\n}\n\ntype NativeEventArgs = number | State | boolean | undefined;\ninterface NativeEvent extends Record {\n numberOfPointers: number;\n state: State;\n pointerInside: boolean | undefined;\n handlerTag: number;\n target: number;\n oldState?: State;\n pointerType: PointerType;\n}\n\nexport interface Point {\n x: number;\n y: number;\n}\n\nexport interface PointerData {\n id: number;\n x: number;\n y: number;\n absoluteX: number;\n absoluteY: number;\n}\n\ntype TouchNativeArgs = number | State | TouchEventType | PointerData[];\n\ninterface NativeTouchEvent extends Record {\n handlerTag: number;\n state: State;\n eventType: TouchEventType;\n changedTouches: PointerData[];\n allTouches: PointerData[];\n numberOfTouches: number;\n pointerType: PointerType;\n}\n\nexport interface ResultEvent extends Record {\n nativeEvent: NativeEvent;\n timeStamp: number;\n}\n\nexport interface ResultTouchEvent\n extends Record {\n nativeEvent: NativeTouchEvent;\n timeStamp: number;\n}\n\nexport interface PropsRef {\n onGestureHandlerEvent: () => void;\n onGestureHandlerStateChange: () => void;\n}\n\nexport interface AdaptedEvent {\n x: number;\n y: number;\n offsetX: number;\n offsetY: number;\n pointerId: number;\n eventType: EventTypes;\n pointerType: PointerType;\n time: number;\n button?: MouseButton;\n allTouches?: TouchList;\n changedTouches?: TouchList;\n touchEventType?: TouchEventType;\n}\n\nexport enum EventTypes {\n DOWN,\n ADDITIONAL_POINTER_DOWN,\n UP,\n ADDITIONAL_POINTER_UP,\n MOVE,\n ENTER,\n LEAVE,\n CANCEL,\n}\n\nexport enum TouchEventType {\n UNDETERMINED,\n DOWN,\n MOVE,\n UP,\n CANCELLED,\n}\n","export enum PointerType {\n TOUCH,\n STYLUS,\n MOUSE,\n KEY,\n OTHER,\n}\n","export const DEFAULT_TOUCH_SLOP = 15;\nexport const MINIMAL_RECOGNIZABLE_MAGNITUDE = 0.1;\n","export default class CircularBuffer {\n private bufferSize: number;\n private buffer: T[];\n private index: number;\n private actualSize: number;\n\n constructor(size: number) {\n this.bufferSize = size;\n this.buffer = new Array(size);\n this.index = 0;\n this.actualSize = 0;\n }\n\n public get size(): number {\n return this.actualSize;\n }\n\n public push(element: T): void {\n this.buffer[this.index] = element;\n this.index = (this.index + 1) % this.bufferSize;\n this.actualSize = Math.min(this.actualSize + 1, this.bufferSize);\n }\n\n public get(at: number): T {\n if (this.actualSize === this.bufferSize) {\n let index = (this.index + at) % this.bufferSize;\n if (index < 0) {\n index += this.bufferSize;\n }\n\n return this.buffer[index];\n } else {\n return this.buffer[at];\n }\n }\n\n public clear(): void {\n this.buffer = new Array(this.bufferSize);\n this.index = 0;\n this.actualSize = 0;\n }\n}\n","// Implementation taken from Flutter's LeastSquareSolver\n// https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/gestures/lsq_solver.dart\n\nclass Vector {\n private offset: number;\n private length: number;\n private elements: number[];\n\n constructor(length: number) {\n this.offset = 0;\n this.length = length;\n this.elements = new Array(length);\n }\n\n public static fromVOL(\n values: number[],\n offset: number,\n length: number\n ): Vector {\n const result = new Vector(0);\n\n result.offset = offset;\n result.length = length;\n result.elements = values;\n\n return result;\n }\n\n public get(index: number): number {\n return this.elements[this.offset + index];\n }\n\n public set(index: number, value: number): void {\n this.elements[this.offset + index] = value;\n }\n\n public dot(other: Vector): number {\n let result = 0;\n for (let i = 0; i < this.length; i++) {\n result += this.get(i) * other.get(i);\n }\n return result;\n }\n\n public norm() {\n return Math.sqrt(this.dot(this));\n }\n}\n\nclass Matrix {\n private columns: number;\n private elements: number[];\n\n constructor(rows: number, columns: number) {\n this.columns = columns;\n this.elements = new Array(rows * columns);\n }\n\n public get(row: number, column: number): number {\n return this.elements[row * this.columns + column];\n }\n\n public set(row: number, column: number, value: number): void {\n this.elements[row * this.columns + column] = value;\n }\n\n public getRow(row: number): Vector {\n return Vector.fromVOL(this.elements, row * this.columns, this.columns);\n }\n}\n\n// An nth degree polynomial fit to a dataset.\nclass PolynomialFit {\n // The polynomial coefficients of the fit.\n //\n // For each `i`, the element `coefficients[i]` is the coefficient of\n // the `i`-th power of the variable.\n public coefficients: number[];\n\n // Creates a polynomial fit of the given degree.\n //\n // There are n + 1 coefficients in a fit of degree n.\n constructor(degree: number) {\n this.coefficients = new Array(degree + 1);\n }\n}\n\nconst precisionErrorTolerance = 1e-10;\n\n// Uses the least-squares algorithm to fit a polynomial to a set of data.\nexport default class LeastSquareSolver {\n // The x-coordinates of each data point.\n private x: number[];\n // The y-coordinates of each data point.\n private y: number[];\n // The weight to use for each data point.\n private w: number[];\n\n // Creates a least-squares solver.\n //\n // The [x], [y], and [w] arguments must not be null.\n constructor(x: number[], y: number[], w: number[]) {\n this.x = x;\n this.y = y;\n this.w = w;\n }\n\n // Fits a polynomial of the given degree to the data points.\n //\n // When there is not enough data to fit a curve null is returned.\n public solve(degree: number): PolynomialFit | null {\n if (degree > this.x.length) {\n // Not enough data to fit a curve.\n return null;\n }\n\n const result = new PolynomialFit(degree);\n\n // Shorthands for the purpose of notation equivalence to original C++ code.\n const m = this.x.length;\n const n = degree + 1;\n\n // Expand the X vector to a matrix A, pre-multiplied by the weights.\n const a = new Matrix(n, m);\n for (let h = 0; h < m; h++) {\n a.set(0, h, this.w[h]);\n\n for (let i = 1; i < n; i++) {\n a.set(i, h, a.get(i - 1, h) * this.x[h]);\n }\n }\n\n // Apply the Gram-Schmidt process to A to obtain its QR decomposition.\n\n // Orthonormal basis, column-major ordVectorer.\n const q = new Matrix(n, m);\n // Upper triangular matrix, row-major order.\n const r = new Matrix(n, m);\n\n for (let j = 0; j < n; j += 1) {\n for (let h = 0; h < m; h += 1) {\n q.set(j, h, a.get(j, h));\n }\n for (let i = 0; i < j; i += 1) {\n const dot = q.getRow(j).dot(q.getRow(i));\n for (let h = 0; h < m; h += 1) {\n q.set(j, h, q.get(j, h) - dot * q.get(i, h));\n }\n }\n\n const norm = q.getRow(j).norm();\n if (norm < precisionErrorTolerance) {\n // Vectors are linearly dependent or zero so no solution.\n return null;\n }\n\n const inverseNorm = 1.0 / norm;\n for (let h = 0; h < m; h += 1) {\n q.set(j, h, q.get(j, h) * inverseNorm);\n }\n for (let i = 0; i < n; i += 1) {\n r.set(j, i, i < j ? 0.0 : q.getRow(j).dot(a.getRow(i)));\n }\n }\n\n // Solve R B = Qt W Y to find B. This is easy because R is upper triangular.\n // We just work from bottom-right to top-left calculating B's coefficients.\n const wy = new Vector(m);\n for (let h = 0; h < m; h += 1) {\n wy.set(h, this.y[h] * this.w[h]);\n }\n for (let i = n - 1; i >= 0; i -= 1) {\n result.coefficients[i] = q.getRow(i).dot(wy);\n for (let j = n - 1; j > i; j -= 1) {\n result.coefficients[i] -= r.get(i, j) * result.coefficients[j];\n }\n result.coefficients[i] /= r.get(i, i);\n }\n\n return result;\n }\n}\n","import { AdaptedEvent } from '../interfaces';\nimport CircularBuffer from './CircularBuffer';\nimport LeastSquareSolver from './LeastSquareSolver';\n\nexport default class VelocityTracker {\n private assumePointerMoveStoppedMilliseconds = 40;\n private historySize = 20;\n private horizonMilliseconds = 300;\n private minSampleSize = 3;\n\n private samples: CircularBuffer;\n\n constructor() {\n this.samples = new CircularBuffer(this.historySize);\n }\n\n public add(event: AdaptedEvent): void {\n this.samples.push(event);\n }\n\n // Returns an estimate of the velocity of the object being tracked by the\n // tracker given the current information available to the tracker.\n //\n // Information is added using [addPosition].\n //\n // Returns null if there is no data on which to base an estimate.\n private getVelocityEstimate(): [number, number] | null {\n const x = [];\n const y = [];\n const w = [];\n const time = [];\n\n let sampleCount = 0;\n let index = this.samples.size - 1;\n const newestSample = this.samples.get(index);\n if (!newestSample) {\n return null;\n }\n\n let previousSample = newestSample;\n\n // Starting with the most recent PointAtTime sample, iterate backwards while\n // the samples represent continuous motion.\n while (sampleCount < this.samples.size) {\n const sample = this.samples.get(index);\n\n const age = newestSample.time - sample.time;\n const delta = Math.abs(sample.time - previousSample.time);\n previousSample = sample;\n\n if (\n age > this.horizonMilliseconds ||\n delta > this.assumePointerMoveStoppedMilliseconds\n ) {\n break;\n }\n\n x.push(sample.x);\n y.push(sample.y);\n w.push(1);\n time.push(-age);\n\n sampleCount++;\n index--;\n }\n\n if (sampleCount >= this.minSampleSize) {\n const xSolver = new LeastSquareSolver(time, x, w);\n const xFit = xSolver.solve(2);\n\n if (xFit !== null) {\n const ySolver = new LeastSquareSolver(time, y, w);\n const yFit = ySolver.solve(2);\n\n if (yFit !== null) {\n const xVelocity = xFit.coefficients[1] * 1000;\n const yVelocity = yFit.coefficients[1] * 1000;\n\n return [xVelocity, yVelocity];\n }\n }\n }\n\n return null;\n }\n\n public getVelocity(): [number, number] {\n const estimate = this.getVelocityEstimate();\n if (estimate !== null) {\n return estimate;\n }\n return [0, 0];\n }\n\n public reset(): void {\n this.samples.clear();\n }\n}\n","import { AdaptedEvent, Point } from '../interfaces';\nimport VelocityTracker from './VelocityTracker';\n\nexport interface TrackerElement {\n abosoluteCoords: Point;\n relativeCoords: Point;\n timestamp: number;\n velocityX: number;\n velocityY: number;\n}\n\nconst MAX_POINTERS = 20;\n\nexport default class PointerTracker {\n private velocityTracker = new VelocityTracker();\n private trackedPointers: Map = new Map<\n number,\n TrackerElement\n >();\n\n private touchEventsIds: Map = new Map();\n\n private lastMovedPointerId: number;\n\n private cachedAbsoluteAverages: { x: number; y: number } = { x: 0, y: 0 };\n private cachedRelativeAverages: { x: number; y: number } = { x: 0, y: 0 };\n\n public constructor() {\n this.lastMovedPointerId = NaN;\n\n for (let i = 0; i < MAX_POINTERS; ++i) {\n this.touchEventsIds.set(i, NaN);\n }\n }\n\n public addToTracker(event: AdaptedEvent): void {\n if (this.trackedPointers.has(event.pointerId)) {\n return;\n }\n\n this.lastMovedPointerId = event.pointerId;\n\n const newElement: TrackerElement = {\n abosoluteCoords: { x: event.x, y: event.y },\n relativeCoords: { x: event.offsetX, y: event.offsetY },\n timestamp: event.time,\n velocityX: 0,\n velocityY: 0,\n };\n\n this.trackedPointers.set(event.pointerId, newElement);\n this.mapTouchEventId(event.pointerId);\n\n this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();\n this.cachedRelativeAverages = this.getRelativeCoordsAverage();\n }\n\n public removeFromTracker(pointerId: number): void {\n this.trackedPointers.delete(pointerId);\n this.removeMappedTouchId(pointerId);\n }\n\n public track(event: AdaptedEvent): void {\n const element: TrackerElement = this.trackedPointers.get(\n event.pointerId\n ) as TrackerElement;\n\n if (!element) {\n return;\n }\n\n this.lastMovedPointerId = event.pointerId;\n\n this.velocityTracker.add(event);\n const [velocityX, velocityY] = this.velocityTracker.getVelocity();\n\n element.velocityX = velocityX;\n element.velocityY = velocityY;\n\n element.abosoluteCoords = { x: event.x, y: event.y };\n element.relativeCoords = { x: event.offsetX, y: event.offsetY };\n\n this.trackedPointers.set(event.pointerId, element);\n\n this.cachedAbsoluteAverages = this.getAbsoluteCoordsAverage();\n this.cachedRelativeAverages = this.getRelativeCoordsAverage();\n }\n\n // Mapping TouchEvents ID\n private mapTouchEventId(id: number): void {\n for (const [mappedId, touchId] of this.touchEventsIds) {\n if (isNaN(touchId)) {\n this.touchEventsIds.set(mappedId, id);\n break;\n }\n }\n }\n\n private removeMappedTouchId(id: number): void {\n const mappedId: number = this.getMappedTouchEventId(id);\n if (!isNaN(mappedId)) {\n this.touchEventsIds.set(mappedId, NaN);\n }\n }\n\n public getMappedTouchEventId(touchEventId: number): number {\n for (const [key, value] of this.touchEventsIds.entries()) {\n if (value === touchEventId) {\n return key;\n }\n }\n\n return NaN;\n }\n\n public getVelocity(pointerId: number) {\n return {\n x: this.trackedPointers.get(pointerId)?.velocityX as number,\n y: this.trackedPointers.get(pointerId)?.velocityY as number,\n };\n }\n\n public getLastAbsoluteCoords(pointerId?: number) {\n if (pointerId !== undefined) {\n return {\n x: this.trackedPointers.get(pointerId)?.abosoluteCoords.x as number,\n y: this.trackedPointers.get(pointerId)?.abosoluteCoords.y as number,\n };\n } else {\n return {\n x: this.trackedPointers.get(this.lastMovedPointerId)?.abosoluteCoords\n .x as number,\n y: this.trackedPointers.get(this.lastMovedPointerId)?.abosoluteCoords\n .y as number,\n };\n }\n }\n\n public getLastRelativeCoords(pointerId?: number) {\n if (pointerId !== undefined) {\n return {\n x: this.trackedPointers.get(pointerId)?.relativeCoords.x as number,\n y: this.trackedPointers.get(pointerId)?.relativeCoords.y as number,\n };\n } else {\n return {\n x: this.trackedPointers.get(this.lastMovedPointerId)?.relativeCoords\n .x as number,\n y: this.trackedPointers.get(this.lastMovedPointerId)?.relativeCoords\n .y as number,\n };\n }\n }\n\n // Some handlers use these methods to send average values in native event.\n // This may happen when pointers have already been removed from tracker (i.e. pointerup event).\n // In situation when NaN would be sent as a response, we return cached value.\n // That prevents handlers from crashing\n\n public getAbsoluteCoordsAverage() {\n const coordsSum = this.getAbsoluteCoordsSum();\n\n const avgX = coordsSum.x / this.trackedPointers.size;\n const avgY = coordsSum.y / this.trackedPointers.size;\n\n const averages = {\n x: isNaN(avgX) ? this.cachedAbsoluteAverages.x : avgX,\n y: isNaN(avgY) ? this.cachedAbsoluteAverages.y : avgY,\n };\n\n return averages;\n }\n\n public getRelativeCoordsAverage() {\n const coordsSum = this.getRelativeCoordsSum();\n\n const avgX = coordsSum.x / this.trackedPointers.size;\n const avgY = coordsSum.y / this.trackedPointers.size;\n\n const averages = {\n x: isNaN(avgX) ? this.cachedRelativeAverages.x : avgX,\n y: isNaN(avgY) ? this.cachedRelativeAverages.y : avgY,\n };\n\n return averages;\n }\n\n public getAbsoluteCoordsSum(ignoredPointer?: number) {\n const sum = { x: 0, y: 0 };\n\n this.trackedPointers.forEach((value, key) => {\n if (key !== ignoredPointer) {\n sum.x += value.abosoluteCoords.x;\n sum.y += value.abosoluteCoords.y;\n }\n });\n\n return sum;\n }\n\n public getRelativeCoordsSum(ignoredPointer?: number) {\n const sum = { x: 0, y: 0 };\n\n this.trackedPointers.forEach((value, key) => {\n if (key !== ignoredPointer) {\n sum.x += value.relativeCoords.x;\n sum.y += value.relativeCoords.y;\n }\n });\n\n return sum;\n }\n\n public getTrackedPointersCount(): number {\n return this.trackedPointers.size;\n }\n\n public getTrackedPointersID(): number[] {\n const keys: number[] = [];\n\n this.trackedPointers.forEach((_value, key) => {\n keys.push(key);\n });\n\n return keys;\n }\n\n public getData(): Map {\n return this.trackedPointers;\n }\n\n public resetTracker(): void {\n this.velocityTracker.reset();\n this.trackedPointers.clear();\n this.lastMovedPointerId = NaN;\n\n for (let i = 0; i < MAX_POINTERS; ++i) {\n this.touchEventsIds.set(i, NaN);\n }\n }\n\n public static shareCommonPointers(\n stPointers: number[],\n ndPointers: number[]\n ): boolean {\n return stPointers.some((pointerId) => ndPointers.includes(pointerId));\n }\n}\n","import { PointerType } from '../../PointerType';\nimport { State } from '../../State';\n\nimport type IGestureHandler from '../handlers/IGestureHandler';\nimport PointerTracker from './PointerTracker';\n\nexport default class GestureHandlerOrchestrator {\n private static instance: GestureHandlerOrchestrator;\n\n private gestureHandlers: IGestureHandler[] = [];\n private awaitingHandlers: IGestureHandler[] = [];\n private awaitingHandlersTags: Set = new Set();\n\n private handlingChangeSemaphore = 0;\n private activationIndex = 0;\n\n // Private beacuse of Singleton\n // eslint-disable-next-line no-useless-constructor, @typescript-eslint/no-empty-function\n private constructor() {}\n\n private scheduleFinishedHandlersCleanup(): void {\n if (this.handlingChangeSemaphore === 0) {\n this.cleanupFinishedHandlers();\n }\n }\n\n private cleanHandler(handler: IGestureHandler): void {\n handler.reset();\n handler.setActive(false);\n handler.setAwaiting(false);\n handler.setActivationIndex(Number.MAX_VALUE);\n }\n\n public removeHandlerFromOrchestrator(handler: IGestureHandler): void {\n const indexInGestureHandlers = this.gestureHandlers.indexOf(handler);\n const indexInAwaitingHandlers = this.awaitingHandlers.indexOf(handler);\n\n if (indexInGestureHandlers >= 0) {\n this.gestureHandlers.splice(indexInGestureHandlers, 1);\n }\n\n if (indexInAwaitingHandlers >= 0) {\n this.awaitingHandlers.splice(indexInAwaitingHandlers, 1);\n this.awaitingHandlersTags.delete(handler.getTag());\n }\n }\n\n private cleanupFinishedHandlers(): void {\n const handlersToRemove = new Set();\n\n for (let i = this.gestureHandlers.length - 1; i >= 0; --i) {\n const handler = this.gestureHandlers[i];\n\n if (this.isFinished(handler.getState()) && !handler.isAwaiting()) {\n this.cleanHandler(handler);\n handlersToRemove.add(handler);\n }\n }\n\n this.gestureHandlers = this.gestureHandlers.filter(\n (handler) => !handlersToRemove.has(handler)\n );\n }\n\n private hasOtherHandlerToWaitFor(handler: IGestureHandler): boolean {\n const hasToWaitFor = (otherHandler: IGestureHandler) => {\n return (\n !this.isFinished(otherHandler.getState()) &&\n this.shouldHandlerWaitForOther(handler, otherHandler)\n );\n };\n\n return this.gestureHandlers.some(hasToWaitFor);\n }\n\n private shouldBeCancelledByFinishedHandler(\n handler: IGestureHandler\n ): boolean {\n const shouldBeCancelled = (otherHandler: IGestureHandler) => {\n return (\n this.shouldHandlerWaitForOther(handler, otherHandler) &&\n otherHandler.getState() === State.END\n );\n };\n\n return this.gestureHandlers.some(shouldBeCancelled);\n }\n\n private tryActivate(handler: IGestureHandler): void {\n if (this.shouldBeCancelledByFinishedHandler(handler)) {\n handler.cancel();\n return;\n }\n\n if (this.hasOtherHandlerToWaitFor(handler)) {\n this.addAwaitingHandler(handler);\n return;\n }\n\n const handlerState = handler.getState();\n\n if (handlerState === State.CANCELLED || handlerState === State.FAILED) {\n return;\n }\n\n if (this.shouldActivate(handler)) {\n this.makeActive(handler);\n return;\n }\n\n if (handlerState === State.ACTIVE) {\n handler.fail();\n return;\n }\n\n if (handlerState === State.BEGAN) {\n handler.cancel();\n }\n }\n\n private shouldActivate(handler: IGestureHandler): boolean {\n const shouldBeCancelledBy = (otherHandler: IGestureHandler) => {\n return this.shouldHandlerBeCancelledBy(handler, otherHandler);\n };\n\n return !this.gestureHandlers.some(shouldBeCancelledBy);\n }\n\n private cleanupAwaitingHandlers(handler: IGestureHandler): void {\n const shouldWait = (otherHandler: IGestureHandler) => {\n return (\n !otherHandler.isAwaiting() &&\n this.shouldHandlerWaitForOther(otherHandler, handler)\n );\n };\n\n for (const otherHandler of this.awaitingHandlers) {\n if (shouldWait(otherHandler)) {\n this.cleanHandler(otherHandler);\n this.awaitingHandlersTags.delete(otherHandler.getTag());\n }\n }\n\n this.awaitingHandlers = this.awaitingHandlers.filter((otherHandler) =>\n this.awaitingHandlersTags.has(otherHandler.getTag())\n );\n }\n\n public onHandlerStateChange(\n handler: IGestureHandler,\n newState: State,\n oldState: State,\n sendIfDisabled?: boolean\n ): void {\n if (!handler.isEnabled() && !sendIfDisabled) {\n return;\n }\n\n this.handlingChangeSemaphore += 1;\n\n if (this.isFinished(newState)) {\n for (const otherHandler of this.awaitingHandlers) {\n if (\n !this.shouldHandlerWaitForOther(otherHandler, handler) ||\n !this.awaitingHandlersTags.has(otherHandler.getTag())\n ) {\n continue;\n }\n\n if (newState !== State.END) {\n this.tryActivate(otherHandler);\n continue;\n }\n\n otherHandler.cancel();\n\n if (otherHandler.getState() === State.END) {\n // Handle edge case, where discrete gestures end immediately after activation thus\n // their state is set to END and when the gesture they are waiting for activates they\n // should be cancelled, however `cancel` was never sent as gestures were already in the END state.\n // Send synthetic BEGAN -> CANCELLED to properly handle JS logic\n otherHandler.sendEvent(State.CANCELLED, State.BEGAN);\n }\n\n otherHandler.setAwaiting(false);\n }\n }\n\n if (newState === State.ACTIVE) {\n this.tryActivate(handler);\n } else if (oldState === State.ACTIVE || oldState === State.END) {\n if (handler.isActive()) {\n handler.sendEvent(newState, oldState);\n } else if (\n oldState === State.ACTIVE &&\n (newState === State.CANCELLED || newState === State.FAILED)\n ) {\n handler.sendEvent(newState, State.BEGAN);\n }\n } else if (\n oldState !== State.UNDETERMINED ||\n newState !== State.CANCELLED\n ) {\n handler.sendEvent(newState, oldState);\n }\n\n this.handlingChangeSemaphore -= 1;\n\n this.scheduleFinishedHandlersCleanup();\n\n if (!this.awaitingHandlers.includes(handler)) {\n this.cleanupAwaitingHandlers(handler);\n }\n }\n\n private makeActive(handler: IGestureHandler): void {\n const currentState = handler.getState();\n\n handler.setActive(true);\n handler.setShouldResetProgress(true);\n handler.setActivationIndex(this.activationIndex++);\n\n for (let i = this.gestureHandlers.length - 1; i >= 0; --i) {\n if (this.shouldHandlerBeCancelledBy(this.gestureHandlers[i], handler)) {\n this.gestureHandlers[i].cancel();\n }\n }\n\n for (const otherHandler of this.awaitingHandlers) {\n if (this.shouldHandlerBeCancelledBy(otherHandler, handler)) {\n otherHandler.setAwaiting(false);\n }\n }\n\n handler.sendEvent(State.ACTIVE, State.BEGAN);\n\n if (currentState !== State.ACTIVE) {\n handler.sendEvent(State.END, State.ACTIVE);\n if (currentState !== State.END) {\n handler.sendEvent(State.UNDETERMINED, State.END);\n }\n }\n\n if (!handler.isAwaiting()) {\n return;\n }\n\n handler.setAwaiting(false);\n\n this.awaitingHandlers = this.awaitingHandlers.filter(\n (otherHandler) => otherHandler !== handler\n );\n }\n\n private addAwaitingHandler(handler: IGestureHandler): void {\n if (this.awaitingHandlers.includes(handler)) {\n return;\n }\n\n this.awaitingHandlers.push(handler);\n this.awaitingHandlersTags.add(handler.getTag());\n\n handler.setAwaiting(true);\n handler.setActivationIndex(this.activationIndex++);\n }\n\n public recordHandlerIfNotPresent(handler: IGestureHandler): void {\n if (this.gestureHandlers.includes(handler)) {\n return;\n }\n\n this.gestureHandlers.push(handler);\n\n handler.setActive(false);\n handler.setAwaiting(false);\n handler.setActivationIndex(Number.MAX_SAFE_INTEGER);\n }\n\n private shouldHandlerWaitForOther(\n handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n return (\n handler !== otherHandler &&\n (handler.shouldWaitForHandlerFailure(otherHandler) ||\n otherHandler.shouldRequireToWaitForFailure(handler))\n );\n }\n\n private canRunSimultaneously(\n gh1: IGestureHandler,\n gh2: IGestureHandler\n ): boolean {\n return (\n gh1 === gh2 ||\n gh1.shouldRecognizeSimultaneously(gh2) ||\n gh2.shouldRecognizeSimultaneously(gh1)\n );\n }\n\n private shouldHandlerBeCancelledBy(\n handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n if (this.canRunSimultaneously(handler, otherHandler)) {\n return false;\n }\n\n if (handler.isAwaiting() || handler.getState() === State.ACTIVE) {\n // For now it always returns false\n return handler.shouldBeCancelledByOther(otherHandler);\n }\n\n const handlerPointers: number[] = handler.getTrackedPointersID();\n const otherPointers: number[] = otherHandler.getTrackedPointersID();\n\n if (\n !PointerTracker.shareCommonPointers(handlerPointers, otherPointers) &&\n handler.getDelegate().getView() !== otherHandler.getDelegate().getView()\n ) {\n return this.checkOverlap(handler, otherHandler);\n }\n\n return true;\n }\n\n private checkOverlap(\n handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n // If handlers don't have common pointers, default return value is false.\n // However, if at least on pointer overlaps with both handlers, we return true\n // This solves issue in overlapping parents example\n\n // TODO: Find better way to handle that issue, for example by activation order and handler cancelling\n\n const isPointerWithinBothBounds = (pointer: number) => {\n const point = handler.getTracker().getLastAbsoluteCoords(pointer);\n\n return (\n handler.getDelegate().isPointerInBounds(point) &&\n otherHandler.getDelegate().isPointerInBounds(point)\n );\n };\n\n const handlerPointers: number[] = handler.getTrackedPointersID();\n const otherPointers: number[] = otherHandler.getTrackedPointersID();\n\n return (\n handlerPointers.some(isPointerWithinBothBounds) ||\n otherPointers.some(isPointerWithinBothBounds)\n );\n }\n\n private isFinished(state: State): boolean {\n return (\n state === State.END || state === State.FAILED || state === State.CANCELLED\n );\n }\n\n // This function is called when handler receives touchdown event\n // If handler is using mouse or pen as a pointer and any handler receives touch event,\n // mouse/pen event dissappears - it doesn't send onPointerCancel nor onPointerUp (and others)\n // This became a problem because handler was left at active state without any signal to end or fail\n // To handle this, when new touch event is received, we loop through active handlers and check which type of\n // pointer they're using. If there are any handler with mouse/pen as a pointer, we cancel them\n public cancelMouseAndPenGestures(currentHandler: IGestureHandler): void {\n this.gestureHandlers.forEach((handler: IGestureHandler) => {\n if (\n handler.getPointerType() !== PointerType.MOUSE &&\n handler.getPointerType() !== PointerType.STYLUS\n ) {\n return;\n }\n\n if (handler !== currentHandler) {\n handler.cancel();\n } else {\n // Handler that received touch event should have its pointer tracker reset\n // This allows handler to smoothly change from mouse/pen to touch\n // The drawback is, that when we try to use mouse/pen one more time, it doesn't send onPointerDown at the first time\n // so it is required to click two times to get handler to work\n //\n // However, handler will receive manually created onPointerEnter that is triggered in EventManager in onPointerMove method.\n // There may be possibility to use that fact to make handler respond properly to first mouse click\n handler.getTracker().resetTracker();\n }\n });\n }\n\n public static getInstance(): GestureHandlerOrchestrator {\n if (!GestureHandlerOrchestrator.instance) {\n GestureHandlerOrchestrator.instance = new GestureHandlerOrchestrator();\n }\n\n return GestureHandlerOrchestrator.instance;\n }\n}\n","import type IGestureHandler from '../handlers/IGestureHandler';\nimport { State } from '../../State';\nimport { Config, Handler } from '../interfaces';\n\nexport default class InteractionManager {\n private static instance: InteractionManager;\n private readonly waitForRelations: Map = new Map();\n private readonly simultaneousRelations: Map = new Map();\n private readonly blocksHandlersRelations: Map = new Map();\n\n // Private becaues of singleton\n // eslint-disable-next-line no-useless-constructor, @typescript-eslint/no-empty-function\n private constructor() {}\n\n public configureInteractions(handler: IGestureHandler, config: Config) {\n this.dropRelationsForHandlerWithTag(handler.getTag());\n\n if (config.waitFor) {\n const waitFor: number[] = [];\n config.waitFor.forEach((otherHandler: Handler): void => {\n // New API reference\n if (typeof otherHandler === 'number') {\n waitFor.push(otherHandler);\n } else {\n // Old API reference\n waitFor.push(otherHandler.handlerTag);\n }\n });\n\n this.waitForRelations.set(handler.getTag(), waitFor);\n }\n\n if (config.simultaneousHandlers) {\n const simultaneousHandlers: number[] = [];\n config.simultaneousHandlers.forEach((otherHandler: Handler): void => {\n if (typeof otherHandler === 'number') {\n simultaneousHandlers.push(otherHandler);\n } else {\n simultaneousHandlers.push(otherHandler.handlerTag);\n }\n });\n\n this.simultaneousRelations.set(handler.getTag(), simultaneousHandlers);\n }\n\n if (config.blocksHandlers) {\n const blocksHandlers: number[] = [];\n config.blocksHandlers.forEach((otherHandler: Handler): void => {\n if (typeof otherHandler === 'number') {\n blocksHandlers.push(otherHandler);\n } else {\n blocksHandlers.push(otherHandler.handlerTag);\n }\n });\n\n this.blocksHandlersRelations.set(handler.getTag(), blocksHandlers);\n }\n }\n\n public shouldWaitForHandlerFailure(\n handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n const waitFor: number[] | undefined = this.waitForRelations.get(\n handler.getTag()\n );\n\n return (\n waitFor?.find((tag: number) => {\n return tag === otherHandler.getTag();\n }) !== undefined\n );\n }\n\n public shouldRecognizeSimultaneously(\n handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n const simultaneousHandlers: number[] | undefined =\n this.simultaneousRelations.get(handler.getTag());\n\n return (\n simultaneousHandlers?.find((tag: number) => {\n return tag === otherHandler.getTag();\n }) !== undefined\n );\n }\n\n public shouldRequireHandlerToWaitForFailure(\n handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n const waitFor: number[] | undefined = this.blocksHandlersRelations.get(\n handler.getTag()\n );\n\n return (\n waitFor?.find((tag: number) => {\n return tag === otherHandler.getTag();\n }) !== undefined\n );\n }\n\n public shouldHandlerBeCancelledBy(\n _handler: IGestureHandler,\n otherHandler: IGestureHandler\n ): boolean {\n // We check constructor name instead of using `instanceof` in order do avoid circular dependencies\n const isNativeHandler =\n otherHandler.constructor.name === 'NativeViewGestureHandler';\n const isActive = otherHandler.getState() === State.ACTIVE;\n const isButton = otherHandler.isButton?.() === true;\n\n return isNativeHandler && isActive && !isButton;\n }\n\n public dropRelationsForHandlerWithTag(handlerTag: number): void {\n this.waitForRelations.delete(handlerTag);\n this.simultaneousRelations.delete(handlerTag);\n this.blocksHandlersRelations.delete(handlerTag);\n }\n\n public reset() {\n this.waitForRelations.clear();\n this.simultaneousRelations.clear();\n this.blocksHandlersRelations.clear();\n }\n\n public static getInstance(): InteractionManager {\n if (!this.instance) {\n this.instance = new InteractionManager();\n }\n\n return this.instance;\n }\n}\n","// Previous types exported gesture handlers as classes which creates an interface and variable, both named the same as class.\n// Without those types, we'd introduce breaking change, forcing users to prefix every handler type specification with typeof\n// e.g. React.createRef -> React.createRef.\n// See https://www.typescriptlang.org/docs/handbook/classes.html#constructor-functions for reference.\nimport * as React from 'react';\n\nimport { State } from '../State';\nimport { TouchEventType } from '../TouchEventType';\nimport { ValueOf } from '../typeUtils';\nimport { PointerType } from '../PointerType';\n\nconst commonProps = [\n 'id',\n 'enabled',\n 'shouldCancelWhenOutside',\n 'hitSlop',\n 'cancelsTouchesInView',\n 'userSelect',\n 'activeCursor',\n 'mouseButton',\n 'enableContextMenu',\n 'touchAction',\n] as const;\n\nconst componentInteractionProps = [\n 'waitFor',\n 'simultaneousHandlers',\n 'blocksHandlers',\n] as const;\n\nexport const baseGestureHandlerProps = [\n ...commonProps,\n ...componentInteractionProps,\n 'onBegan',\n 'onFailed',\n 'onCancelled',\n 'onActivated',\n 'onEnded',\n 'onGestureEvent',\n 'onHandlerStateChange',\n] as const;\n\nexport const baseGestureHandlerWithDetectorProps = [\n ...commonProps,\n 'needsPointerData',\n 'manualActivation',\n];\n\nexport interface GestureEventPayload {\n handlerTag: number;\n numberOfPointers: number;\n state: ValueOf;\n pointerType: PointerType;\n}\nexport interface HandlerStateChangeEventPayload extends GestureEventPayload {\n oldState: ValueOf;\n}\n\nexport type HitSlop =\n | number\n | null\n | undefined\n | Partial<\n Record<\n 'left' | 'right' | 'top' | 'bottom' | 'vertical' | 'horizontal',\n number\n >\n >\n | Record<'width' | 'left', number>\n | Record<'width' | 'right', number>\n | Record<'height' | 'top', number>\n | Record<'height' | 'bottom', number>;\n\nexport type UserSelect = 'none' | 'auto' | 'text';\nexport type ActiveCursor =\n | 'auto'\n | 'default'\n | 'none'\n | 'context-menu'\n | 'help'\n | 'pointer'\n | 'progress'\n | 'wait'\n | 'cell'\n | 'crosshair'\n | 'text'\n | 'vertical-text'\n | 'alias'\n | 'copy'\n | 'move'\n | 'no-drop'\n | 'not-allowed'\n | 'grab'\n | 'grabbing'\n | 'e-resize'\n | 'n-resize'\n | 'ne-resize'\n | 'nw-resize'\n | 's-resize'\n | 'se-resize'\n | 'sw-resize'\n | 'w-resize'\n | 'ew-resize'\n | 'ns-resize'\n | 'nesw-resize'\n | 'nwse-resize'\n | 'col-resize'\n | 'row-resize'\n | 'all-scroll'\n | 'zoom-in'\n | 'zoom-out';\n\nexport enum MouseButton {\n LEFT = 1,\n RIGHT = 2,\n MIDDLE = 4,\n BUTTON_4 = 8,\n BUTTON_5 = 16,\n ALL = 31,\n}\n\nexport type TouchAction =\n | 'auto'\n | 'none'\n | 'pan-x'\n | 'pan-left'\n | 'pan-right'\n | 'pan-y'\n | 'pan-up'\n | 'pan-down'\n | 'pinch-zoom'\n | 'manipulation'\n | 'inherit'\n | 'initial'\n | 'revert'\n | 'revert-layer'\n | 'unset';\n\n// TODO(TS) events in handlers\n\nexport interface GestureEvent> {\n nativeEvent: Readonly;\n}\nexport interface HandlerStateChangeEvent<\n ExtraEventPayloadT = Record\n> {\n nativeEvent: Readonly;\n}\n\nexport type TouchData = {\n id: number;\n x: number;\n y: number;\n absoluteX: number;\n absoluteY: number;\n};\n\nexport type GestureTouchEvent = {\n handlerTag: number;\n numberOfTouches: number;\n state: ValueOf;\n eventType: TouchEventType;\n allTouches: TouchData[];\n changedTouches: TouchData[];\n pointerType: PointerType;\n};\n\nexport type GestureUpdateEvent> =\n GestureEventPayload & GestureEventPayloadT;\n\nexport type GestureStateChangeEvent<\n GestureStateChangeEventPayloadT = Record\n> = HandlerStateChangeEventPayload & GestureStateChangeEventPayloadT;\n\nexport type CommonGestureConfig = {\n enabled?: boolean;\n shouldCancelWhenOutside?: boolean;\n hitSlop?: HitSlop;\n userSelect?: UserSelect;\n activeCursor?: ActiveCursor;\n mouseButton?: MouseButton;\n enableContextMenu?: boolean;\n touchAction?: TouchAction;\n};\n\n// Events payloads are types instead of interfaces due to TS limitation.\n// See https://github.com/microsoft/TypeScript/issues/15300 for more info.\nexport type BaseGestureHandlerProps<\n ExtraEventPayloadT extends Record = Record\n> = CommonGestureConfig & {\n id?: string;\n waitFor?: React.Ref | React.Ref[];\n simultaneousHandlers?: React.Ref | React.Ref[];\n blocksHandlers?: React.Ref | React.Ref[];\n testID?: string;\n cancelsTouchesInView?: boolean;\n // TODO(TS) - fix event types\n onBegan?: (event: HandlerStateChangeEvent) => void;\n onFailed?: (event: HandlerStateChangeEvent) => void;\n onCancelled?: (event: HandlerStateChangeEvent) => void;\n onActivated?: (event: HandlerStateChangeEvent) => void;\n onEnded?: (event: HandlerStateChangeEvent) => void;\n\n // TODO(TS) consider using NativeSyntheticEvent\n onGestureEvent?: (event: GestureEvent) => void;\n onHandlerStateChange?: (\n event: HandlerStateChangeEvent\n ) => void;\n // Implicit `children` prop has been removed in @types/react^18.0.0\n children?: React.ReactNode;\n};\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { State } from '../../State';\nimport {\n Config,\n AdaptedEvent,\n PropsRef,\n ResultEvent,\n PointerData,\n ResultTouchEvent,\n TouchEventType,\n EventTypes,\n} from '../interfaces';\nimport EventManager from '../tools/EventManager';\nimport GestureHandlerOrchestrator from '../tools/GestureHandlerOrchestrator';\nimport InteractionManager from '../tools/InteractionManager';\nimport PointerTracker, { TrackerElement } from '../tools/PointerTracker';\nimport IGestureHandler from './IGestureHandler';\nimport { MouseButton } from '../../handlers/gestureHandlerCommon';\nimport { PointerType } from '../../PointerType';\nimport { GestureHandlerDelegate } from '../tools/GestureHandlerDelegate';\n\nexport default abstract class GestureHandler implements IGestureHandler {\n private lastSentState: State | null = null;\n protected currentState: State = State.UNDETERMINED;\n\n protected shouldCancelWhenOutside = false;\n protected hasCustomActivationCriteria = false;\n protected enabled = false;\n\n private viewRef!: number;\n private propsRef!: React.RefObject;\n private handlerTag!: number;\n protected config: Config = { enabled: false };\n\n protected tracker: PointerTracker = new PointerTracker();\n\n // Orchestrator properties\n protected activationIndex = 0;\n protected awaiting = false;\n protected active = false;\n protected shouldResetProgress = false;\n protected pointerType: PointerType = PointerType.MOUSE;\n\n protected delegate: GestureHandlerDelegate;\n\n public constructor(\n delegate: GestureHandlerDelegate\n ) {\n this.delegate = delegate;\n }\n\n //\n // Initializing handler\n //\n\n protected init(viewRef: number, propsRef: React.RefObject) {\n this.propsRef = propsRef;\n this.viewRef = viewRef;\n\n this.currentState = State.UNDETERMINED;\n\n this.delegate.init(viewRef, this);\n }\n\n public attachEventManager(manager: EventManager): void {\n manager.setOnPointerDown(this.onPointerDown.bind(this));\n manager.setOnPointerAdd(this.onPointerAdd.bind(this));\n manager.setOnPointerUp(this.onPointerUp.bind(this));\n manager.setOnPointerRemove(this.onPointerRemove.bind(this));\n manager.setOnPointerMove(this.onPointerMove.bind(this));\n manager.setOnPointerEnter(this.onPointerEnter.bind(this));\n manager.setOnPointerLeave(this.onPointerLeave.bind(this));\n manager.setOnPointerCancel(this.onPointerCancel.bind(this));\n manager.setOnPointerOutOfBounds(this.onPointerOutOfBounds.bind(this));\n manager.setOnPointerMoveOver(this.onPointerMoveOver.bind(this));\n manager.setOnPointerMoveOut(this.onPointerMoveOut.bind(this));\n\n manager.registerListeners();\n }\n\n //\n // Resetting handler\n //\n\n protected onCancel(): void {}\n protected onReset(): void {}\n protected resetProgress(): void {}\n\n public reset(): void {\n this.tracker.resetTracker();\n this.onReset();\n this.resetProgress();\n this.delegate.reset();\n this.currentState = State.UNDETERMINED;\n }\n\n //\n // State logic\n //\n\n public moveToState(newState: State, sendIfDisabled?: boolean) {\n if (this.currentState === newState) {\n return;\n }\n\n const oldState = this.currentState;\n this.currentState = newState;\n\n if (\n this.tracker.getTrackedPointersCount() > 0 &&\n this.config.needsPointerData &&\n this.isFinished()\n ) {\n this.cancelTouches();\n }\n\n GestureHandlerOrchestrator.getInstance().onHandlerStateChange(\n this,\n newState,\n oldState,\n sendIfDisabled\n );\n\n this.onStateChange(newState, oldState);\n\n if (!this.enabled && this.isFinished()) {\n this.currentState = State.UNDETERMINED;\n }\n }\n\n protected onStateChange(_newState: State, _oldState: State): void {}\n\n public begin(): void {\n if (!this.checkHitSlop()) {\n return;\n }\n\n if (this.currentState === State.UNDETERMINED) {\n this.moveToState(State.BEGAN);\n }\n }\n\n /**\n * @param {boolean} sendIfDisabled - Used when handler becomes disabled. With this flag orchestrator will be forced to send fail event\n */\n public fail(sendIfDisabled?: boolean): void {\n if (\n this.currentState === State.ACTIVE ||\n this.currentState === State.BEGAN\n ) {\n // Here the order of calling the delegate and moveToState is important.\n // At this point we can use currentState as previuos state, because immediately after changing cursor we call moveToState method.\n this.delegate.onFail();\n\n this.moveToState(State.FAILED, sendIfDisabled);\n }\n\n this.resetProgress();\n }\n\n /**\n * @param {boolean} sendIfDisabled - Used when handler becomes disabled. With this flag orchestrator will be forced to send cancel event\n */\n public cancel(sendIfDisabled?: boolean): void {\n if (\n this.currentState === State.ACTIVE ||\n this.currentState === State.UNDETERMINED ||\n this.currentState === State.BEGAN\n ) {\n this.onCancel();\n\n // Same as above - order matters\n this.delegate.onCancel();\n\n this.moveToState(State.CANCELLED, sendIfDisabled);\n }\n }\n\n public activate(force = false) {\n if (\n (this.config.manualActivation !== true || force) &&\n (this.currentState === State.UNDETERMINED ||\n this.currentState === State.BEGAN)\n ) {\n this.delegate.onActivate();\n this.moveToState(State.ACTIVE);\n }\n }\n\n public end() {\n if (\n this.currentState === State.BEGAN ||\n this.currentState === State.ACTIVE\n ) {\n // Same as above - order matters\n this.delegate.onEnd();\n\n this.moveToState(State.END);\n }\n\n this.resetProgress();\n }\n\n //\n // Methods for orchestrator\n //\n\n public isAwaiting(): boolean {\n return this.awaiting;\n }\n public setAwaiting(value: boolean): void {\n this.awaiting = value;\n }\n\n public isActive(): boolean {\n return this.active;\n }\n public setActive(value: boolean): void {\n this.active = value;\n }\n\n public getShouldResetProgress(): boolean {\n return this.shouldResetProgress;\n }\n public setShouldResetProgress(value: boolean): void {\n this.shouldResetProgress = value;\n }\n\n public getActivationIndex(): number {\n return this.activationIndex;\n }\n public setActivationIndex(value: number): void {\n this.activationIndex = value;\n }\n\n public shouldWaitForHandlerFailure(handler: IGestureHandler): boolean {\n if (handler === this) {\n return false;\n }\n\n return InteractionManager.getInstance().shouldWaitForHandlerFailure(\n this,\n handler\n );\n }\n\n public shouldRequireToWaitForFailure(handler: IGestureHandler): boolean {\n if (handler === this) {\n return false;\n }\n\n return InteractionManager.getInstance().shouldRequireHandlerToWaitForFailure(\n this,\n handler\n );\n }\n\n public shouldRecognizeSimultaneously(handler: IGestureHandler): boolean {\n if (handler === this) {\n return true;\n }\n\n return InteractionManager.getInstance().shouldRecognizeSimultaneously(\n this,\n handler\n );\n }\n\n public shouldBeCancelledByOther(handler: IGestureHandler): boolean {\n if (handler === this) {\n return false;\n }\n\n return InteractionManager.getInstance().shouldHandlerBeCancelledBy(\n this,\n handler\n );\n }\n\n //\n // Event actions\n //\n\n protected onPointerDown(event: AdaptedEvent): void {\n GestureHandlerOrchestrator.getInstance().recordHandlerIfNotPresent(this);\n this.pointerType = event.pointerType;\n\n if (this.pointerType === PointerType.TOUCH) {\n GestureHandlerOrchestrator.getInstance().cancelMouseAndPenGestures(this);\n }\n\n // TODO: Bring back touch events along with introducing `handleDown` method that will handle handler specific stuff\n }\n // Adding another pointer to existing ones\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n }\n protected onPointerUp(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n }\n // Removing pointer, when there is more than one pointers\n protected onPointerRemove(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n }\n protected onPointerMove(event: AdaptedEvent): void {\n this.tryToSendMoveEvent(false, event);\n }\n protected onPointerLeave(event: AdaptedEvent): void {\n if (this.shouldCancelWhenOutside) {\n switch (this.currentState) {\n case State.ACTIVE:\n this.cancel();\n break;\n case State.BEGAN:\n this.fail();\n break;\n }\n return;\n }\n\n this.tryToSendTouchEvent(event);\n }\n protected onPointerEnter(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n }\n protected onPointerCancel(event: AdaptedEvent): void {\n this.tryToSendTouchEvent(event);\n\n this.cancel();\n this.reset();\n }\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n this.tryToSendMoveEvent(true, event);\n }\n protected onPointerMoveOver(_event: AdaptedEvent): void {\n // Used only by hover gesture handler atm\n }\n protected onPointerMoveOut(_event: AdaptedEvent): void {\n // Used only by hover gesture handler atm\n }\n private tryToSendMoveEvent(out: boolean, event: AdaptedEvent): void {\n if ((out && this.shouldCancelWhenOutside) || !this.enabled) {\n return;\n }\n\n if (this.active) {\n this.sendEvent(this.currentState, this.currentState);\n }\n\n this.tryToSendTouchEvent(event);\n }\n\n protected tryToSendTouchEvent(event: AdaptedEvent): void {\n if (this.config.needsPointerData) {\n this.sendTouchEvent(event);\n }\n }\n\n public sendTouchEvent(event: AdaptedEvent): void {\n if (!this.enabled) {\n return;\n }\n\n const { onGestureHandlerEvent }: PropsRef = this.propsRef\n .current as PropsRef;\n\n const touchEvent: ResultTouchEvent | undefined =\n this.transformTouchEvent(event);\n\n if (touchEvent) {\n invokeNullableMethod(onGestureHandlerEvent, touchEvent);\n }\n }\n\n //\n // Events Sending\n //\n\n public sendEvent = (newState: State, oldState: State): void => {\n const { onGestureHandlerEvent, onGestureHandlerStateChange }: PropsRef =\n this.propsRef.current as PropsRef;\n\n const resultEvent: ResultEvent = this.transformEventData(\n newState,\n oldState\n );\n\n // In the new API oldState field has to be undefined, unless we send event state changed\n // Here the order is flipped to avoid workarounds such as making backup of the state and setting it to undefined first, then changing it back\n // Flipping order with setting oldState to undefined solves issue, when events were being sent twice instead of once\n // However, this may cause trouble in the future (but for now we don't know that)\n\n if (this.lastSentState !== newState) {\n this.lastSentState = newState;\n invokeNullableMethod(onGestureHandlerStateChange, resultEvent);\n }\n if (this.currentState === State.ACTIVE) {\n resultEvent.nativeEvent.oldState = undefined;\n invokeNullableMethod(onGestureHandlerEvent, resultEvent);\n }\n };\n\n private transformEventData(newState: State, oldState: State): ResultEvent {\n return {\n nativeEvent: {\n numberOfPointers: this.tracker.getTrackedPointersCount(),\n state: newState,\n pointerInside: this.delegate.isPointerInBounds(\n this.tracker.getAbsoluteCoordsAverage()\n ),\n ...this.transformNativeEvent(),\n handlerTag: this.handlerTag,\n target: this.viewRef,\n oldState: newState !== oldState ? oldState : undefined,\n pointerType: this.pointerType,\n },\n timeStamp: Date.now(),\n };\n }\n\n private transformTouchEvent(\n event: AdaptedEvent\n ): ResultTouchEvent | undefined {\n const rect = this.delegate.measureView();\n\n const all: PointerData[] = [];\n const changed: PointerData[] = [];\n\n const trackerData = this.tracker.getData();\n\n // This if handles edge case where all pointers have been cancelled\n // When pointercancel is triggered, reset method is called. This means that tracker will be reset after first pointer being cancelled\n // The problem is, that handler will receive another pointercancel event from the rest of the pointers\n // To avoid crashing, we don't send event if tracker tracks no pointers, i.e. has been reset\n if (trackerData.size === 0 || !trackerData.has(event.pointerId)) {\n return;\n }\n\n trackerData.forEach((element: TrackerElement, key: number): void => {\n const id: number = this.tracker.getMappedTouchEventId(key);\n\n all.push({\n id: id,\n x: element.abosoluteCoords.x - rect.pageX,\n y: element.abosoluteCoords.y - rect.pageY,\n absoluteX: element.abosoluteCoords.x,\n absoluteY: element.abosoluteCoords.y,\n });\n });\n\n // Each pointer sends its own event, so we want changed touches to contain only the pointer that has changed.\n // However, if the event is cancel, we want to cancel all pointers to avoid crashes\n if (event.eventType !== EventTypes.CANCEL) {\n changed.push({\n id: this.tracker.getMappedTouchEventId(event.pointerId),\n x: event.x - rect.pageX,\n y: event.y - rect.pageY,\n absoluteX: event.x,\n absoluteY: event.y,\n });\n } else {\n trackerData.forEach((element: TrackerElement, key: number): void => {\n const id: number = this.tracker.getMappedTouchEventId(key);\n\n changed.push({\n id: id,\n x: element.abosoluteCoords.x - rect.pageX,\n y: element.abosoluteCoords.y - rect.pageY,\n absoluteX: element.abosoluteCoords.x,\n absoluteY: element.abosoluteCoords.y,\n });\n });\n }\n\n let eventType: TouchEventType = TouchEventType.UNDETERMINED;\n\n switch (event.eventType) {\n case EventTypes.DOWN:\n case EventTypes.ADDITIONAL_POINTER_DOWN:\n eventType = TouchEventType.DOWN;\n break;\n case EventTypes.UP:\n case EventTypes.ADDITIONAL_POINTER_UP:\n eventType = TouchEventType.UP;\n break;\n case EventTypes.MOVE:\n eventType = TouchEventType.MOVE;\n break;\n case EventTypes.CANCEL:\n eventType = TouchEventType.CANCELLED;\n break;\n }\n\n // Here, when we receive up event, we want to decrease number of touches\n // That's because we want handler to send information that there's one pointer less\n // However, we still want this pointer to be present in allTouches array, so that its data can be accessed\n let numberOfTouches: number = all.length;\n\n if (\n event.eventType === EventTypes.UP ||\n event.eventType === EventTypes.ADDITIONAL_POINTER_UP\n ) {\n --numberOfTouches;\n }\n\n return {\n nativeEvent: {\n handlerTag: this.handlerTag,\n state: this.currentState,\n eventType: event.touchEventType ?? eventType,\n changedTouches: changed,\n allTouches: all,\n numberOfTouches: numberOfTouches,\n pointerType: this.pointerType,\n },\n timeStamp: Date.now(),\n };\n }\n\n private cancelTouches(): void {\n const rect = this.delegate.measureView();\n\n const all: PointerData[] = [];\n const changed: PointerData[] = [];\n\n const trackerData = this.tracker.getData();\n\n if (trackerData.size === 0) {\n return;\n }\n\n trackerData.forEach((element: TrackerElement, key: number): void => {\n const id: number = this.tracker.getMappedTouchEventId(key);\n\n all.push({\n id: id,\n x: element.abosoluteCoords.x - rect.pageX,\n y: element.abosoluteCoords.y - rect.pageY,\n absoluteX: element.abosoluteCoords.x,\n absoluteY: element.abosoluteCoords.y,\n });\n\n changed.push({\n id: id,\n x: element.abosoluteCoords.x - rect.pageX,\n y: element.abosoluteCoords.y - rect.pageY,\n absoluteX: element.abosoluteCoords.x,\n absoluteY: element.abosoluteCoords.y,\n });\n });\n\n const cancelEvent: ResultTouchEvent = {\n nativeEvent: {\n handlerTag: this.handlerTag,\n state: this.currentState,\n eventType: TouchEventType.CANCELLED,\n changedTouches: changed,\n allTouches: all,\n numberOfTouches: all.length,\n pointerType: this.pointerType,\n },\n timeStamp: Date.now(),\n };\n\n const { onGestureHandlerEvent }: PropsRef = this.propsRef\n .current as PropsRef;\n\n invokeNullableMethod(onGestureHandlerEvent, cancelEvent);\n }\n\n protected transformNativeEvent(): Record {\n // Those properties are shared by most handlers and if not this method will be overriden\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n const lastRelativeCoords = this.tracker.getRelativeCoordsAverage();\n\n return {\n x: lastRelativeCoords.x,\n y: lastRelativeCoords.y,\n absoluteX: lastCoords.x,\n absoluteY: lastCoords.y,\n };\n }\n\n //\n // Handling config\n //\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n this.config = { enabled: enabled, ...props };\n this.enabled = enabled;\n\n this.delegate.onEnabledChange(enabled);\n\n if (this.config.shouldCancelWhenOutside !== undefined) {\n this.setShouldCancelWhenOutside(this.config.shouldCancelWhenOutside);\n }\n\n this.validateHitSlops();\n\n if (this.enabled) {\n return;\n }\n\n switch (this.currentState) {\n case State.ACTIVE:\n this.fail(true);\n break;\n case State.UNDETERMINED:\n GestureHandlerOrchestrator.getInstance().removeHandlerFromOrchestrator(\n this\n );\n break;\n default:\n this.cancel(true);\n break;\n }\n }\n\n protected checkCustomActivationCriteria(criterias: string[]): void {\n for (const key in this.config) {\n if (criterias.indexOf(key) >= 0) {\n this.hasCustomActivationCriteria = true;\n }\n }\n }\n\n private validateHitSlops(): void {\n if (!this.config.hitSlop) {\n return;\n }\n\n if (\n this.config.hitSlop.left !== undefined &&\n this.config.hitSlop.right !== undefined &&\n this.config.hitSlop.width !== undefined\n ) {\n throw new Error(\n 'HitSlop Error: Cannot define left, right and width at the same time'\n );\n }\n\n if (\n this.config.hitSlop.width !== undefined &&\n this.config.hitSlop.left === undefined &&\n this.config.hitSlop.right === undefined\n ) {\n throw new Error(\n 'HitSlop Error: When width is defined, either left or right has to be defined'\n );\n }\n\n if (\n this.config.hitSlop.height !== undefined &&\n this.config.hitSlop.top !== undefined &&\n this.config.hitSlop.bottom !== undefined\n ) {\n throw new Error(\n 'HitSlop Error: Cannot define top, bottom and height at the same time'\n );\n }\n\n if (\n this.config.hitSlop.height !== undefined &&\n this.config.hitSlop.top === undefined &&\n this.config.hitSlop.bottom === undefined\n ) {\n throw new Error(\n 'HitSlop Error: When height is defined, either top or bottom has to be defined'\n );\n }\n }\n\n private checkHitSlop(): boolean {\n if (!this.config.hitSlop) {\n return true;\n }\n\n const { width, height } = this.delegate.measureView();\n\n let left = 0;\n let top = 0;\n let right: number = width;\n let bottom: number = height;\n\n if (this.config.hitSlop.horizontal !== undefined) {\n left -= this.config.hitSlop.horizontal;\n right += this.config.hitSlop.horizontal;\n }\n\n if (this.config.hitSlop.vertical !== undefined) {\n top -= this.config.hitSlop.vertical;\n bottom += this.config.hitSlop.vertical;\n }\n\n if (this.config.hitSlop.left !== undefined) {\n left = -this.config.hitSlop.left;\n }\n\n if (this.config.hitSlop.right !== undefined) {\n right = width + this.config.hitSlop.right;\n }\n\n if (this.config.hitSlop.top !== undefined) {\n top = -this.config.hitSlop.top;\n }\n\n if (this.config.hitSlop.bottom !== undefined) {\n bottom = width + this.config.hitSlop.bottom;\n }\n if (this.config.hitSlop.width !== undefined) {\n if (this.config.hitSlop.left !== undefined) {\n right = left + this.config.hitSlop.width;\n } else if (this.config.hitSlop.right !== undefined) {\n left = right - this.config.hitSlop.width;\n }\n }\n\n if (this.config.hitSlop.height !== undefined) {\n if (this.config.hitSlop.top !== undefined) {\n bottom = top + this.config.hitSlop.height;\n } else if (this.config.hitSlop.bottom !== undefined) {\n top = bottom - this.config.hitSlop.height;\n }\n }\n\n const rect = this.delegate.measureView();\n const { x, y } = this.tracker.getLastAbsoluteCoords();\n const offsetX: number = x - rect.pageX;\n const offsetY: number = y - rect.pageY;\n\n return (\n offsetX >= left && offsetX <= right && offsetY >= top && offsetY <= bottom\n );\n }\n\n public isButtonInConfig(mouseButton: MouseButton | undefined) {\n return (\n !mouseButton ||\n (!this.config.mouseButton && mouseButton === MouseButton.LEFT) ||\n (this.config.mouseButton && mouseButton & this.config.mouseButton)\n );\n }\n\n protected resetConfig(): void {}\n\n public onDestroy(): void {\n this.delegate.destroy(this.config);\n }\n\n //\n // Getters and setters\n //\n\n public getTag(): number {\n return this.handlerTag;\n }\n\n public setTag(tag: number): void {\n this.handlerTag = tag;\n }\n\n public getConfig() {\n return this.config;\n }\n\n public getDelegate(): GestureHandlerDelegate {\n return this.delegate;\n }\n\n public getTracker(): PointerTracker {\n return this.tracker;\n }\n\n public getTrackedPointersID(): number[] {\n return this.tracker.getTrackedPointersID();\n }\n\n public getState(): State {\n return this.currentState;\n }\n\n public isEnabled(): boolean {\n return this.enabled;\n }\n\n private isFinished(): boolean {\n return (\n this.currentState === State.END ||\n this.currentState === State.FAILED ||\n this.currentState === State.CANCELLED\n );\n }\n\n protected setShouldCancelWhenOutside(shouldCancel: boolean) {\n this.shouldCancelWhenOutside = shouldCancel;\n }\n\n protected getShouldCancelWhenOutside(): boolean {\n return this.shouldCancelWhenOutside;\n }\n\n public getPointerType(): PointerType {\n return this.pointerType;\n }\n}\n\nfunction invokeNullableMethod(\n method:\n | ((event: ResultEvent | ResultTouchEvent) => void)\n | { __getHandler: () => (event: ResultEvent | ResultTouchEvent) => void }\n | { __nodeConfig: { argMapping: unknown[] } },\n event: ResultEvent | ResultTouchEvent\n): void {\n if (!method) {\n return;\n }\n\n if (typeof method === 'function') {\n method(event);\n return;\n }\n\n if ('__getHandler' in method && typeof method.__getHandler === 'function') {\n const handler = method.__getHandler();\n invokeNullableMethod(handler, event);\n return;\n }\n\n if (!('__nodeConfig' in method)) {\n return;\n }\n\n const { argMapping }: { argMapping: unknown } = method.__nodeConfig;\n if (!Array.isArray(argMapping)) {\n return;\n }\n\n for (const [index, [key, value]] of argMapping.entries()) {\n if (!(key in event.nativeEvent)) {\n continue;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const nativeValue = event.nativeEvent[key];\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (value?.setValue) {\n // Reanimated API\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n value.setValue(nativeValue);\n } else {\n // RN Animated API\n method.__nodeConfig.argMapping[index] = [key, nativeValue];\n }\n }\n\n return;\n}\n","import { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent, Config } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\n\nconst DEFAULT_MIN_POINTERS = 1;\nconst DEFAULT_MAX_POINTERS = 10;\nconst DEFAULT_MIN_DIST_SQ = DEFAULT_TOUCH_SLOP * DEFAULT_TOUCH_SLOP;\n\nexport default class PanGestureHandler extends GestureHandler {\n private readonly customActivationProperties: string[] = [\n 'activeOffsetXStart',\n 'activeOffsetXEnd',\n 'failOffsetXStart',\n 'failOffsetXEnd',\n 'activeOffsetYStart',\n 'activeOffsetYEnd',\n 'failOffsetYStart',\n 'failOffsetYEnd',\n 'minVelocityX',\n 'minVelocityY',\n 'minVelocity',\n ];\n\n public velocityX = 0;\n public velocityY = 0;\n\n private minDistSq = DEFAULT_MIN_DIST_SQ;\n\n private activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n private activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetXStart = Number.MIN_SAFE_INTEGER;\n private failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n private activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n private activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n private failOffsetYStart = Number.MIN_SAFE_INTEGER;\n private failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n private minVelocityX = Number.MAX_SAFE_INTEGER;\n private minVelocityY = Number.MAX_SAFE_INTEGER;\n private minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n private minPointers = DEFAULT_MIN_POINTERS;\n private maxPointers = DEFAULT_MAX_POINTERS;\n\n private startX = 0;\n private startY = 0;\n private offsetX = 0;\n private offsetY = 0;\n private lastX = 0;\n private lastY = 0;\n\n private activateAfterLongPress = 0;\n private activationTimeout = 0;\n\n public init(ref: number, propsRef: React.RefObject): void {\n super.init(ref, propsRef);\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n this.resetConfig();\n\n super.updateGestureConfig({ enabled: enabled, ...props });\n this.checkCustomActivationCriteria(this.customActivationProperties);\n\n if (this.config.minDist !== undefined) {\n this.minDistSq = this.config.minDist * this.config.minDist;\n } else if (this.hasCustomActivationCriteria) {\n this.minDistSq = Number.MAX_SAFE_INTEGER;\n }\n\n if (this.config.minPointers !== undefined) {\n this.minPointers = this.config.minPointers;\n }\n\n if (this.config.maxPointers !== undefined) {\n this.maxPointers = this.config.maxPointers;\n }\n\n if (this.config.minVelocity !== undefined) {\n this.minVelocityX = this.config.minVelocity;\n this.minVelocityY = this.config.minVelocity;\n }\n\n if (this.config.minVelocityX !== undefined) {\n this.minVelocityX = this.config.minVelocityX;\n }\n\n if (this.config.minVelocityY !== undefined) {\n this.minVelocityY = this.config.minVelocityY;\n }\n\n if (this.config.activateAfterLongPress !== undefined) {\n this.activateAfterLongPress = this.config.activateAfterLongPress;\n }\n\n if (this.config.activeOffsetXStart !== undefined) {\n this.activeOffsetXStart = this.config.activeOffsetXStart;\n\n if (this.config.activeOffsetXEnd === undefined) {\n this.activeOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetXEnd !== undefined) {\n this.activeOffsetXEnd = this.config.activeOffsetXEnd;\n\n if (this.config.activeOffsetXStart === undefined) {\n this.activeOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXStart !== undefined) {\n this.failOffsetXStart = this.config.failOffsetXStart;\n\n if (this.config.failOffsetXEnd === undefined) {\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetXEnd !== undefined) {\n this.failOffsetXEnd = this.config.failOffsetXEnd;\n\n if (this.config.failOffsetXStart === undefined) {\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYStart !== undefined) {\n this.activeOffsetYStart = this.config.activeOffsetYStart;\n\n if (this.config.activeOffsetYEnd === undefined) {\n this.activeOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.activeOffsetYEnd !== undefined) {\n this.activeOffsetYEnd = this.config.activeOffsetYEnd;\n\n if (this.config.activeOffsetYStart === undefined) {\n this.activeOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYStart !== undefined) {\n this.failOffsetYStart = this.config.failOffsetYStart;\n\n if (this.config.failOffsetYEnd === undefined) {\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n }\n }\n\n if (this.config.failOffsetYEnd !== undefined) {\n this.failOffsetYEnd = this.config.failOffsetYEnd;\n\n if (this.config.failOffsetYStart === undefined) {\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n }\n }\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n\n this.activeOffsetXStart = -Number.MAX_SAFE_INTEGER;\n this.activeOffsetXEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetXStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetXEnd = Number.MAX_SAFE_INTEGER;\n\n this.activeOffsetYStart = Number.MAX_SAFE_INTEGER;\n this.activeOffsetYEnd = Number.MIN_SAFE_INTEGER;\n this.failOffsetYStart = Number.MIN_SAFE_INTEGER;\n this.failOffsetYEnd = Number.MAX_SAFE_INTEGER;\n\n this.minVelocityX = Number.MAX_SAFE_INTEGER;\n this.minVelocityY = Number.MAX_SAFE_INTEGER;\n this.minVelocitySq = Number.MAX_SAFE_INTEGER;\n\n this.minDistSq = DEFAULT_MIN_DIST_SQ;\n\n this.minPointers = DEFAULT_MIN_POINTERS;\n this.maxPointers = DEFAULT_MAX_POINTERS;\n\n this.activateAfterLongPress = 0;\n }\n\n protected transformNativeEvent() {\n const translationX: number = this.getTranslationX();\n const translationY: number = this.getTranslationY();\n\n return {\n ...super.transformNativeEvent(),\n translationX: isNaN(translationX) ? 0 : translationX,\n translationY: isNaN(translationY) ? 0 : translationY,\n velocityX: this.velocityX,\n velocityY: this.velocityY,\n };\n }\n\n private getTranslationX(): number {\n return this.lastX - this.startX + this.offsetX;\n }\n private getTranslationY(): number {\n return this.lastY - this.startY + this.offsetY;\n }\n\n private clearActivationTimeout(): void {\n clearTimeout(this.activationTimeout);\n }\n\n // Events Handling\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n this.tryBegin(event);\n this.checkBegan();\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.tryBegin(event);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (this.tracker.getTrackedPointersCount() > this.maxPointers) {\n if (this.currentState === State.ACTIVE) {\n this.cancel();\n } else {\n this.fail();\n }\n } else {\n this.checkBegan();\n }\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n if (this.currentState === State.ACTIVE) {\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n }\n\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.tracker.getTrackedPointersCount() === 0) {\n this.clearActivationTimeout();\n }\n\n if (this.currentState === State.ACTIVE) {\n this.end();\n } else {\n this.resetProgress();\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n if (\n !(\n this.currentState === State.ACTIVE &&\n this.tracker.getTrackedPointersCount() < this.minPointers\n )\n ) {\n this.checkBegan();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.checkBegan();\n\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.getShouldCancelWhenOutside()) {\n return;\n }\n\n this.tracker.track(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n\n this.checkBegan();\n\n if (this.currentState === State.ACTIVE) {\n super.onPointerOutOfBounds(event);\n }\n }\n\n private shouldActivate(): boolean {\n const dx: number = this.getTranslationX();\n\n if (\n this.activeOffsetXStart !== Number.MAX_SAFE_INTEGER &&\n dx < this.activeOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetXEnd !== Number.MIN_SAFE_INTEGER &&\n dx > this.activeOffsetXEnd\n ) {\n return true;\n }\n\n const dy: number = this.getTranslationY();\n\n if (\n this.activeOffsetYStart !== Number.MAX_SAFE_INTEGER &&\n dy < this.activeOffsetYStart\n ) {\n return true;\n }\n\n if (\n this.activeOffsetYEnd !== Number.MIN_SAFE_INTEGER &&\n dy > this.activeOffsetYEnd\n ) {\n return true;\n }\n\n const distanceSq: number = dx * dx + dy * dy;\n\n if (\n this.minDistSq !== Number.MAX_SAFE_INTEGER &&\n distanceSq >= this.minDistSq\n ) {\n return true;\n }\n\n const vx: number = this.velocityX;\n\n if (\n this.minVelocityX !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityX < 0 && vx <= this.minVelocityX) ||\n (this.minVelocityX >= 0 && this.minVelocityX <= vx))\n ) {\n return true;\n }\n\n const vy: number = this.velocityY;\n if (\n this.minVelocityY !== Number.MAX_SAFE_INTEGER &&\n ((this.minVelocityY < 0 && vy <= this.minVelocityY) ||\n (this.minVelocityY >= 0 && this.minVelocityY <= vy))\n ) {\n return true;\n }\n\n const velocitySq: number = vx * vx + vy * vy;\n\n return (\n this.minVelocitySq !== Number.MAX_SAFE_INTEGER &&\n velocitySq >= this.minVelocitySq\n );\n }\n\n private shouldFail(): boolean {\n const dx: number = this.getTranslationX();\n const dy: number = this.getTranslationY();\n const distanceSq = dx * dx + dy * dy;\n\n if (this.activateAfterLongPress > 0 && distanceSq > DEFAULT_MIN_DIST_SQ) {\n this.clearActivationTimeout();\n return true;\n }\n\n if (\n this.failOffsetXStart !== Number.MIN_SAFE_INTEGER &&\n dx < this.failOffsetXStart\n ) {\n return true;\n }\n\n if (\n this.failOffsetXEnd !== Number.MAX_SAFE_INTEGER &&\n dx > this.failOffsetXEnd\n ) {\n return true;\n }\n\n if (\n this.failOffsetYStart !== Number.MIN_SAFE_INTEGER &&\n dy < this.failOffsetYStart\n ) {\n return true;\n }\n\n return (\n this.failOffsetYEnd !== Number.MAX_SAFE_INTEGER &&\n dy > this.failOffsetYEnd\n );\n }\n\n private tryBegin(event: AdaptedEvent): void {\n if (\n this.currentState === State.UNDETERMINED &&\n this.tracker.getTrackedPointersCount() >= this.minPointers\n ) {\n this.resetProgress();\n this.offsetX = 0;\n this.offsetY = 0;\n this.velocityX = 0;\n this.velocityY = 0;\n\n this.begin();\n\n if (this.activateAfterLongPress > 0) {\n this.activationTimeout = setTimeout(() => {\n this.activate();\n }, this.activateAfterLongPress);\n }\n } else {\n const velocity = this.tracker.getVelocity(event.pointerId);\n this.velocityX = velocity.x;\n this.velocityY = velocity.y;\n }\n }\n\n private checkBegan(): void {\n if (this.currentState === State.BEGAN) {\n if (this.shouldFail()) {\n this.fail();\n } else if (this.shouldActivate()) {\n this.activate();\n }\n }\n }\n\n public activate(force = false): void {\n if (this.currentState !== State.ACTIVE) {\n this.resetProgress();\n }\n\n super.activate(force);\n }\n\n protected onCancel(): void {\n this.clearActivationTimeout();\n }\n\n protected onReset(): void {\n this.clearActivationTimeout();\n }\n\n protected resetProgress(): void {\n if (this.currentState === State.ACTIVE) {\n return;\n }\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n }\n}\n","import { State } from '../../State';\nimport { AdaptedEvent, Config, EventTypes } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\n\nconst DEFAULT_MAX_DURATION_MS = 500;\nconst DEFAULT_MAX_DELAY_MS = 500;\nconst DEFAULT_NUMBER_OF_TAPS = 1;\nconst DEFAULT_MIN_NUMBER_OF_POINTERS = 1;\n\nexport default class TapGestureHandler extends GestureHandler {\n private maxDeltaX = Number.MIN_SAFE_INTEGER;\n private maxDeltaY = Number.MIN_SAFE_INTEGER;\n private maxDistSq = Number.MIN_SAFE_INTEGER;\n private maxDurationMs = DEFAULT_MAX_DURATION_MS;\n private maxDelayMs = DEFAULT_MAX_DELAY_MS;\n\n private numberOfTaps = DEFAULT_NUMBER_OF_TAPS;\n private minNumberOfPointers = DEFAULT_MIN_NUMBER_OF_POINTERS;\n private currentMaxNumberOfPointers = 1;\n\n private startX = 0;\n private startY = 0;\n private offsetX = 0;\n private offsetY = 0;\n private lastX = 0;\n private lastY = 0;\n\n private waitTimeout: number | undefined;\n private delayTimeout: number | undefined;\n\n private tapsSoFar = 0;\n\n public init(ref: number, propsRef: React.RefObject): void {\n super.init(ref, propsRef);\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n super.updateGestureConfig({ enabled: enabled, ...props });\n\n if (this.config.numberOfTaps !== undefined) {\n this.numberOfTaps = this.config.numberOfTaps;\n }\n\n if (this.config.maxDurationMs !== undefined) {\n this.maxDurationMs = this.config.maxDurationMs;\n }\n\n if (this.config.maxDelayMs !== undefined) {\n this.maxDelayMs = this.config.maxDelayMs;\n }\n\n if (this.config.maxDeltaX !== undefined) {\n this.maxDeltaX = this.config.maxDeltaX;\n }\n\n if (this.config.maxDeltaY !== undefined) {\n this.maxDeltaY = this.config.maxDeltaY;\n }\n\n if (this.config.maxDist !== undefined) {\n this.maxDistSq = this.config.maxDist * this.config.maxDist;\n }\n\n if (this.config.minPointers !== undefined) {\n this.minNumberOfPointers = this.config.minPointers;\n }\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n\n this.maxDeltaX = Number.MIN_SAFE_INTEGER;\n this.maxDeltaY = Number.MIN_SAFE_INTEGER;\n this.maxDistSq = Number.MIN_SAFE_INTEGER;\n this.maxDurationMs = DEFAULT_MAX_DURATION_MS;\n this.maxDelayMs = DEFAULT_MAX_DELAY_MS;\n this.numberOfTaps = DEFAULT_NUMBER_OF_TAPS;\n this.minNumberOfPointers = DEFAULT_MIN_NUMBER_OF_POINTERS;\n }\n\n private clearTimeouts(): void {\n clearTimeout(this.waitTimeout);\n clearTimeout(this.delayTimeout);\n }\n\n private startTap(): void {\n this.clearTimeouts();\n\n this.waitTimeout = setTimeout(() => this.fail(), this.maxDurationMs);\n }\n\n private endTap(): void {\n this.clearTimeouts();\n\n if (\n ++this.tapsSoFar === this.numberOfTaps &&\n this.currentMaxNumberOfPointers >= this.minNumberOfPointers\n ) {\n this.activate();\n } else {\n this.delayTimeout = setTimeout(() => this.fail(), this.maxDelayMs);\n }\n }\n\n // Handling Events\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.trySettingPosition(event);\n\n this.startX = event.x;\n this.startY = event.y;\n\n this.lastX = event.x;\n this.lastY = event.y;\n\n this.updateState(event);\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n super.onPointerAdd(event);\n this.tracker.addToTracker(event);\n this.trySettingPosition(event);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY - this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = lastCoords.x;\n this.startY = lastCoords.y;\n\n this.updateState(event);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.tracker.removeFromTracker(event.pointerId);\n\n this.updateState(event);\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n this.offsetX += this.lastX - this.startX;\n this.offsetY += this.lastY = this.startY;\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.startX = this.lastX;\n this.startY = this.lastY;\n\n this.updateState(event);\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.trySettingPosition(event);\n this.tracker.track(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.updateState(event);\n\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n this.trySettingPosition(event);\n this.tracker.track(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.lastX = lastCoords.x;\n this.lastY = lastCoords.y;\n\n this.updateState(event);\n\n super.onPointerOutOfBounds(event);\n }\n\n private updateState(event: AdaptedEvent): void {\n if (\n this.currentMaxNumberOfPointers < this.tracker.getTrackedPointersCount()\n ) {\n this.currentMaxNumberOfPointers = this.tracker.getTrackedPointersCount();\n }\n\n if (this.shouldFail()) {\n this.fail();\n return;\n }\n\n switch (this.currentState) {\n case State.UNDETERMINED:\n if (event.eventType === EventTypes.DOWN) {\n this.begin();\n }\n this.startTap();\n break;\n case State.BEGAN:\n if (event.eventType === EventTypes.UP) {\n this.endTap();\n }\n if (event.eventType === EventTypes.DOWN) {\n this.startTap();\n }\n break;\n default:\n break;\n }\n }\n\n private trySettingPosition(event: AdaptedEvent): void {\n if (this.currentState !== State.UNDETERMINED) {\n return;\n }\n\n this.offsetX = 0;\n this.offsetY = 0;\n this.startX = event.x;\n this.startY = event.y;\n }\n\n private shouldFail(): boolean {\n const dx = this.lastX - this.startX + this.offsetX;\n\n if (\n this.maxDeltaX !== Number.MIN_SAFE_INTEGER &&\n Math.abs(dx) > this.maxDeltaX\n ) {\n return true;\n }\n\n const dy = this.lastY - this.startY + this.offsetY;\n if (\n this.maxDeltaY !== Number.MIN_SAFE_INTEGER &&\n Math.abs(dy) > this.maxDeltaY\n ) {\n return true;\n }\n\n const distSq = dy * dy + dx * dx;\n\n return (\n this.maxDistSq !== Number.MIN_SAFE_INTEGER && distSq > this.maxDistSq\n );\n }\n\n public activate(): void {\n super.activate();\n\n this.end();\n }\n\n protected onCancel(): void {\n this.resetProgress();\n this.clearTimeouts();\n }\n\n protected resetProgress(): void {\n this.clearTimeouts();\n this.tapsSoFar = 0;\n this.currentMaxNumberOfPointers = 0;\n }\n}\n","import { State } from '../../State';\nimport { AdaptedEvent, Config } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\n\nconst DEFAULT_MIN_DURATION_MS = 500;\nconst DEFAULT_MAX_DIST_DP = 10;\nconst SCALING_FACTOR = 10;\n\nexport default class LongPressGestureHandler extends GestureHandler {\n private minDurationMs = DEFAULT_MIN_DURATION_MS;\n private defaultMaxDistSq = DEFAULT_MAX_DIST_DP * SCALING_FACTOR;\n\n private maxDistSq = this.defaultMaxDistSq;\n private numberOfPointers = 1;\n private startX = 0;\n private startY = 0;\n\n private startTime = 0;\n private previousTime = 0;\n\n private activationTimeout: number | undefined;\n\n public init(ref: number, propsRef: React.RefObject) {\n if (this.config.enableContextMenu === undefined) {\n this.config.enableContextMenu = false;\n }\n\n super.init(ref, propsRef);\n }\n\n protected transformNativeEvent() {\n return {\n ...super.transformNativeEvent(),\n duration: Date.now() - this.startTime,\n };\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n super.updateGestureConfig({ enabled: enabled, ...props });\n\n if (this.config.minDurationMs !== undefined) {\n this.minDurationMs = this.config.minDurationMs;\n }\n\n if (this.config.maxDist !== undefined) {\n this.maxDistSq = this.config.maxDist * this.config.maxDist;\n }\n\n if (this.config.numberOfPointers !== undefined) {\n this.numberOfPointers = this.config.numberOfPointers;\n }\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n this.minDurationMs = DEFAULT_MIN_DURATION_MS;\n this.maxDistSq = this.defaultMaxDistSq;\n }\n\n protected onStateChange(_newState: State, _oldState: State): void {\n clearTimeout(this.activationTimeout);\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.startX = event.x;\n this.startY = event.y;\n\n this.tryBegin();\n this.tryActivate();\n\n this.tryToSendTouchEvent(event);\n }\n protected onPointerAdd(event: AdaptedEvent): void {\n super.onPointerAdd(event);\n this.tracker.addToTracker(event);\n\n if (this.tracker.getTrackedPointersCount() > this.numberOfPointers) {\n this.fail();\n return;\n }\n\n const absoluteCoordsAverage = this.tracker.getAbsoluteCoordsAverage();\n\n this.startX = absoluteCoordsAverage.x;\n this.startY = absoluteCoordsAverage.y;\n\n this.tryActivate();\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n super.onPointerMove(event);\n this.tracker.track(event);\n this.checkDistanceFail();\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.currentState === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n\n if (\n this.tracker.getTrackedPointersCount() < this.numberOfPointers &&\n this.getState() !== State.ACTIVE\n ) {\n this.fail();\n }\n }\n\n private tryBegin(): void {\n if (this.currentState !== State.UNDETERMINED) {\n return;\n }\n\n this.previousTime = Date.now();\n this.startTime = this.previousTime;\n\n this.begin();\n }\n\n private tryActivate(): void {\n if (this.tracker.getTrackedPointersCount() !== this.numberOfPointers) {\n return;\n }\n\n if (this.minDurationMs > 0) {\n this.activationTimeout = setTimeout(() => {\n this.activate();\n }, this.minDurationMs);\n } else if (this.minDurationMs === 0) {\n this.activate();\n }\n }\n\n private checkDistanceFail(): void {\n const absoluteCoordsAverage = this.tracker.getAbsoluteCoordsAverage();\n\n const dx = absoluteCoordsAverage.x - this.startX;\n const dy = absoluteCoordsAverage.y - this.startY;\n const distSq = dx * dx + dy * dy;\n\n if (distSq <= this.maxDistSq) {\n return;\n }\n\n if (this.currentState === State.ACTIVE) {\n this.cancel();\n } else {\n this.fail();\n }\n }\n}\n","import { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent, EventTypes } from '../interfaces';\n\nimport PointerTracker from '../tools/PointerTracker';\n\nexport interface ScaleGestureListener {\n onScaleBegin: (detector: ScaleGestureDetector) => boolean;\n onScale: (detector: ScaleGestureDetector) => boolean;\n onScaleEnd: (detector: ScaleGestureDetector) => void;\n}\n\nexport default class ScaleGestureDetector implements ScaleGestureListener {\n public onScaleBegin: (detector: ScaleGestureDetector) => boolean;\n public onScale: (detector: ScaleGestureDetector) => boolean;\n public onScaleEnd: (detector: ScaleGestureDetector) => void;\n\n private focusX!: number;\n private focusY!: number;\n\n private currentSpan!: number;\n private prevSpan!: number;\n private initialSpan!: number;\n\n private currentTime!: number;\n private prevTime!: number;\n\n private inProgress = false;\n\n private spanSlop: number;\n private minSpan: number;\n\n public constructor(callbacks: ScaleGestureListener) {\n this.onScaleBegin = callbacks.onScaleBegin;\n this.onScale = callbacks.onScale;\n this.onScaleEnd = callbacks.onScaleEnd;\n\n this.spanSlop = DEFAULT_TOUCH_SLOP * 2;\n this.minSpan = 0;\n }\n\n public onTouchEvent(event: AdaptedEvent, tracker: PointerTracker): boolean {\n this.currentTime = event.time;\n\n const action: EventTypes = event.eventType;\n const numOfPointers = tracker.getTrackedPointersCount();\n\n const streamComplete: boolean =\n action === EventTypes.UP ||\n action === EventTypes.ADDITIONAL_POINTER_UP ||\n action === EventTypes.CANCEL;\n\n if (action === EventTypes.DOWN || streamComplete) {\n if (this.inProgress) {\n this.onScaleEnd(this);\n this.inProgress = false;\n this.initialSpan = 0;\n }\n\n if (streamComplete) {\n return true;\n }\n }\n\n const configChanged: boolean =\n action === EventTypes.DOWN ||\n action === EventTypes.ADDITIONAL_POINTER_UP ||\n action === EventTypes.ADDITIONAL_POINTER_DOWN;\n\n const pointerUp = action === EventTypes.ADDITIONAL_POINTER_UP;\n\n const ignoredPointer: number | undefined = pointerUp\n ? event.pointerId\n : undefined;\n\n // Determine focal point\n\n const div: number = pointerUp ? numOfPointers - 1 : numOfPointers;\n\n const coordsSum = tracker.getAbsoluteCoordsSum();\n\n const focusX = coordsSum.x / div;\n const focusY = coordsSum.y / div;\n\n // Determine average deviation from focal point\n\n let devSumX = 0;\n let devSumY = 0;\n\n tracker.getData().forEach((value, key) => {\n if (key === ignoredPointer) {\n return;\n }\n\n devSumX += Math.abs(value.abosoluteCoords.x - focusX);\n devSumY += Math.abs(value.abosoluteCoords.y - focusY);\n });\n\n const devX: number = devSumX / div;\n const devY: number = devSumY / div;\n\n const spanX: number = devX * 2;\n const spanY: number = devY * 2;\n\n const span = Math.hypot(spanX, spanY);\n\n // Begin/end events\n const wasInProgress: boolean = this.inProgress;\n this.focusX = focusX;\n this.focusY = focusY;\n\n if (this.inProgress && (span < this.minSpan || configChanged)) {\n this.onScaleEnd(this);\n this.inProgress = false;\n this.initialSpan = span;\n }\n\n if (configChanged) {\n this.initialSpan = this.prevSpan = this.currentSpan = span;\n }\n\n if (\n !this.inProgress &&\n span >= this.minSpan &&\n (wasInProgress || Math.abs(span - this.initialSpan) > this.spanSlop)\n ) {\n this.prevSpan = this.currentSpan = span;\n this.prevTime = this.currentTime;\n this.inProgress = this.onScaleBegin(this);\n }\n\n // Handle motion\n if (action !== EventTypes.MOVE) {\n return true;\n }\n\n this.currentSpan = span;\n\n if (this.inProgress && !this.onScale(this)) {\n return true;\n }\n\n this.prevSpan = this.currentSpan;\n this.prevTime = this.currentTime;\n\n return true;\n }\n\n public getCurrentSpan(): number {\n return this.currentSpan;\n }\n\n public getFocusX(): number {\n return this.focusX;\n }\n\n public getFocusY(): number {\n return this.focusY;\n }\n\n public getTimeDelta(): number {\n return this.currentTime - this.prevTime;\n }\n\n public getScaleFactor(numOfPointers: number): number {\n if (numOfPointers < 2) {\n return 1;\n }\n\n return this.prevSpan > 0 ? this.currentSpan / this.prevSpan : 1;\n }\n}\n","import { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent, Config } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nimport ScaleGestureDetector, {\n ScaleGestureListener,\n} from '../detectors/ScaleGestureDetector';\n\nexport default class PinchGestureHandler extends GestureHandler {\n private scale = 1;\n private velocity = 0;\n\n private startingSpan = 0;\n private spanSlop = DEFAULT_TOUCH_SLOP;\n\n private scaleDetectorListener: ScaleGestureListener = {\n onScaleBegin: (detector: ScaleGestureDetector): boolean => {\n this.startingSpan = detector.getCurrentSpan();\n return true;\n },\n onScale: (detector: ScaleGestureDetector): boolean => {\n const prevScaleFactor: number = this.scale;\n this.scale *= detector.getScaleFactor(\n this.tracker.getTrackedPointersCount()\n );\n\n const delta = detector.getTimeDelta();\n if (delta > 0) {\n this.velocity = (this.scale - prevScaleFactor) / delta;\n }\n\n if (\n Math.abs(this.startingSpan - detector.getCurrentSpan()) >=\n this.spanSlop &&\n this.currentState === State.BEGAN\n ) {\n this.activate();\n }\n return true;\n },\n onScaleEnd: (\n _detector: ScaleGestureDetector\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n ): void => {},\n };\n\n private scaleGestureDetector: ScaleGestureDetector = new ScaleGestureDetector(\n this.scaleDetectorListener\n );\n\n public init(ref: number, propsRef: React.RefObject) {\n super.init(ref, propsRef);\n\n this.setShouldCancelWhenOutside(false);\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n super.updateGestureConfig({ enabled: enabled, ...props });\n }\n\n protected transformNativeEvent() {\n return {\n focalX: this.scaleGestureDetector.getFocusX(),\n focalY: this.scaleGestureDetector.getFocusY(),\n velocity: this.velocity,\n scale: this.scale,\n };\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.tryBegin();\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n if (this.currentState !== State.ACTIVE) {\n return;\n }\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n\n if (this.currentState === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n this.tracker.removeFromTracker(event.pointerId);\n\n if (\n this.currentState === State.ACTIVE &&\n this.tracker.getTrackedPointersCount() < 2\n ) {\n this.end();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n if (this.tracker.getTrackedPointersCount() < 2) {\n return;\n }\n this.tracker.track(event);\n\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n super.onPointerMove(event);\n }\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.tracker.getTrackedPointersCount() < 2) {\n return;\n }\n this.tracker.track(event);\n\n this.scaleGestureDetector.onTouchEvent(event, this.tracker);\n super.onPointerOutOfBounds(event);\n }\n\n private tryBegin(): void {\n if (this.currentState !== State.UNDETERMINED) {\n return;\n }\n\n this.resetProgress();\n this.begin();\n }\n\n public activate(force?: boolean): void {\n if (this.currentState !== State.ACTIVE) {\n this.resetProgress();\n }\n\n super.activate(force);\n }\n\n protected onReset(): void {\n this.resetProgress();\n }\n\n protected resetProgress(): void {\n if (this.currentState === State.ACTIVE) {\n return;\n }\n this.velocity = 0;\n this.scale = 1;\n }\n}\n","import { AdaptedEvent, EventTypes } from '../interfaces';\nimport PointerTracker from '../tools/PointerTracker';\n\nexport interface RotationGestureListener {\n onRotationBegin: (detector: RotationGestureDetector) => boolean;\n onRotation: (detector: RotationGestureDetector) => boolean;\n onRotationEnd: (detector: RotationGestureDetector) => void;\n}\n\nexport default class RotationGestureDetector\n implements RotationGestureListener\n{\n onRotationBegin: (detector: RotationGestureDetector) => boolean;\n onRotation: (detector: RotationGestureDetector) => boolean;\n onRotationEnd: (detector: RotationGestureDetector) => void;\n\n private currentTime = 0;\n private previousTime = 0;\n\n private previousAngle = 0;\n private rotation = 0;\n\n private anchorX = 0;\n private anchorY = 0;\n\n private isInProgress = false;\n\n private keyPointers: number[] = [NaN, NaN];\n\n constructor(callbacks: RotationGestureListener) {\n this.onRotationBegin = callbacks.onRotationBegin;\n this.onRotation = callbacks.onRotation;\n this.onRotationEnd = callbacks.onRotationEnd;\n }\n\n private updateCurrent(event: AdaptedEvent, tracker: PointerTracker): void {\n this.previousTime = this.currentTime;\n this.currentTime = event.time;\n\n const [firstPointerID, secondPointerID] = this.keyPointers;\n\n const firstPointerCoords = tracker.getLastAbsoluteCoords(firstPointerID);\n const secondPointerCoords = tracker.getLastAbsoluteCoords(secondPointerID);\n\n const vectorX: number = secondPointerCoords.x - firstPointerCoords.x;\n const vectorY: number = secondPointerCoords.y - firstPointerCoords.y;\n\n this.anchorX = (firstPointerCoords.x + secondPointerCoords.x) / 2;\n this.anchorY = (firstPointerCoords.y + secondPointerCoords.y) / 2;\n\n // Angle diff should be positive when rotating in clockwise direction\n const angle: number = -Math.atan2(vectorY, vectorX);\n\n this.rotation = Number.isNaN(this.previousAngle)\n ? 0\n : this.previousAngle - angle;\n\n this.previousAngle = angle;\n\n if (this.rotation > Math.PI) {\n this.rotation -= Math.PI;\n } else if (this.rotation < -Math.PI) {\n this.rotation += Math.PI;\n }\n\n if (this.rotation > Math.PI / 2) {\n this.rotation -= Math.PI;\n } else if (this.rotation < -Math.PI / 2) {\n this.rotation += Math.PI;\n }\n }\n\n private finish(): void {\n if (!this.isInProgress) {\n return;\n }\n\n this.isInProgress = false;\n this.keyPointers = [NaN, NaN];\n this.onRotationEnd(this);\n }\n\n private setKeyPointers(tracker: PointerTracker): void {\n if (this.keyPointers[0] && this.keyPointers[1]) {\n return;\n }\n\n const pointerIDs: IterableIterator = tracker.getData().keys();\n\n this.keyPointers[0] = pointerIDs.next().value as number;\n this.keyPointers[1] = pointerIDs.next().value as number;\n }\n\n public onTouchEvent(event: AdaptedEvent, tracker: PointerTracker): boolean {\n switch (event.eventType) {\n case EventTypes.DOWN:\n this.isInProgress = false;\n break;\n\n case EventTypes.ADDITIONAL_POINTER_DOWN:\n if (this.isInProgress) {\n break;\n }\n this.isInProgress = true;\n\n this.previousTime = event.time;\n this.previousAngle = NaN;\n\n this.setKeyPointers(tracker);\n\n this.updateCurrent(event, tracker);\n this.onRotationBegin(this);\n break;\n\n case EventTypes.MOVE:\n if (!this.isInProgress) {\n break;\n }\n\n this.updateCurrent(event, tracker);\n this.onRotation(this);\n\n break;\n\n case EventTypes.ADDITIONAL_POINTER_UP:\n if (!this.isInProgress) {\n break;\n }\n\n if (this.keyPointers.indexOf(event.pointerId) >= 0) {\n this.finish();\n }\n\n break;\n\n case EventTypes.UP:\n if (this.isInProgress) {\n this.finish();\n }\n break;\n }\n\n return true;\n }\n\n public getTimeDelta(): number {\n return this.currentTime + this.previousTime;\n }\n\n public getAnchorX(): number {\n return this.anchorX;\n }\n\n public getAnchorY(): number {\n return this.anchorY;\n }\n\n public getRotation(): number {\n return this.rotation;\n }\n\n public reset(): void {\n this.keyPointers = [NaN, NaN];\n this.isInProgress = false;\n }\n}\n","import { State } from '../../State';\nimport { AdaptedEvent, Config } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nimport RotationGestureDetector, {\n RotationGestureListener,\n} from '../detectors/RotationGestureDetector';\n\nconst ROTATION_RECOGNITION_THRESHOLD = Math.PI / 36;\n\nexport default class RotationGestureHandler extends GestureHandler {\n private rotation = 0;\n private velocity = 0;\n\n private cachedAnchorX = 0;\n private cachedAnchorY = 0;\n\n private rotationGestureListener: RotationGestureListener = {\n onRotationBegin: (_detector: RotationGestureDetector): boolean => true,\n onRotation: (detector: RotationGestureDetector): boolean => {\n const previousRotation: number = this.rotation;\n this.rotation += detector.getRotation();\n\n const delta = detector.getTimeDelta();\n\n if (delta > 0) {\n this.velocity = (this.rotation - previousRotation) / delta;\n }\n\n if (\n Math.abs(this.rotation) >= ROTATION_RECOGNITION_THRESHOLD &&\n this.currentState === State.BEGAN\n ) {\n this.activate();\n }\n\n return true;\n },\n onRotationEnd: (_detector: RotationGestureDetector): void => {\n this.end();\n },\n };\n\n private rotationGestureDetector: RotationGestureDetector =\n new RotationGestureDetector(this.rotationGestureListener);\n\n public init(ref: number, propsRef: React.RefObject): void {\n super.init(ref, propsRef);\n\n this.setShouldCancelWhenOutside(false);\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n super.updateGestureConfig({ enabled: enabled, ...props });\n }\n\n protected transformNativeEvent() {\n return {\n rotation: this.rotation ? this.rotation : 0,\n anchorX: this.getAnchorX(),\n anchorY: this.getAnchorY(),\n velocity: this.velocity ? this.velocity : 0,\n };\n }\n\n public getAnchorX(): number {\n const anchorX = this.rotationGestureDetector.getAnchorX();\n\n return anchorX ? anchorX : this.cachedAnchorX;\n }\n\n public getAnchorY(): number {\n const anchorY = this.rotationGestureDetector.getAnchorY();\n\n return anchorY ? anchorY : this.cachedAnchorY;\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n\n this.tryBegin();\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n if (this.tracker.getTrackedPointersCount() < 2) {\n return;\n }\n\n if (this.getAnchorX()) {\n this.cachedAnchorX = this.getAnchorX();\n }\n if (this.getAnchorY()) {\n this.cachedAnchorY = this.getAnchorY();\n }\n\n this.tracker.track(event);\n\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n if (this.tracker.getTrackedPointersCount() < 2) {\n return;\n }\n\n if (this.getAnchorX()) {\n this.cachedAnchorX = this.getAnchorX();\n }\n if (this.getAnchorY()) {\n this.cachedAnchorY = this.getAnchorY();\n }\n\n this.tracker.track(event);\n\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n super.onPointerOutOfBounds(event);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n\n if (this.currentState !== State.ACTIVE) {\n return;\n }\n\n if (this.currentState === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.rotationGestureDetector.onTouchEvent(event, this.tracker);\n this.tracker.removeFromTracker(event.pointerId);\n }\n\n protected tryBegin(): void {\n if (this.currentState !== State.UNDETERMINED) {\n return;\n }\n\n this.begin();\n }\n\n public activate(_force?: boolean): void {\n super.activate();\n }\n\n protected onReset(): void {\n if (this.currentState === State.ACTIVE) {\n return;\n }\n\n this.rotation = 0;\n this.velocity = 0;\n this.rotationGestureDetector.reset();\n }\n}\n","const RIGHT = 1;\nconst LEFT = 2;\nconst UP = 4;\nconst DOWN = 8;\n\n// Public interface\nexport const Directions = {\n RIGHT: RIGHT,\n LEFT: LEFT,\n UP: UP,\n DOWN: DOWN,\n} as const;\n\n// Internal interface\nexport const DiagonalDirections = {\n UP_RIGHT: UP | RIGHT,\n DOWN_RIGHT: DOWN | RIGHT,\n UP_LEFT: UP | LEFT,\n DOWN_LEFT: DOWN | LEFT,\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; it can be used as a type and as a value\nexport type Directions = typeof Directions[keyof typeof Directions];\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type DiagonalDirections =\n typeof DiagonalDirections[keyof typeof DiagonalDirections];\n","import { DiagonalDirections, Directions } from '../../Directions';\nimport { MINIMAL_RECOGNIZABLE_MAGNITUDE } from '../constants';\nimport PointerTracker from './PointerTracker';\n\nexport default class Vector {\n private readonly x;\n private readonly y;\n private readonly unitX;\n private readonly unitY;\n private readonly _magnitude;\n\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n\n this._magnitude = Math.hypot(this.x, this.y);\n const isMagnitudeSufficient =\n this._magnitude > MINIMAL_RECOGNIZABLE_MAGNITUDE;\n\n this.unitX = isMagnitudeSufficient ? this.x / this._magnitude : 0;\n this.unitY = isMagnitudeSufficient ? this.y / this._magnitude : 0;\n }\n\n static fromDirection(direction: Directions | DiagonalDirections): Vector {\n return DirectionToVectorMappings.get(direction) ?? new Vector(0, 0);\n }\n\n static fromVelocity(tracker: PointerTracker, pointerId: number) {\n const velocity = tracker.getVelocity(pointerId);\n return new Vector(velocity.x, velocity.y);\n }\n\n get magnitude() {\n return this._magnitude;\n }\n\n computeSimilarity(vector: Vector) {\n return this.unitX * vector.unitX + this.unitY * vector.unitY;\n }\n\n isSimilar(vector: Vector, threshold: number) {\n return this.computeSimilarity(vector) > threshold;\n }\n}\n\nconst DirectionToVectorMappings = new Map<\n Directions | DiagonalDirections,\n Vector\n>([\n [Directions.LEFT, new Vector(-1, 0)],\n [Directions.RIGHT, new Vector(1, 0)],\n [Directions.UP, new Vector(0, -1)],\n [Directions.DOWN, new Vector(0, 1)],\n\n [DiagonalDirections.UP_RIGHT, new Vector(1, -1)],\n [DiagonalDirections.DOWN_RIGHT, new Vector(1, 1)],\n [DiagonalDirections.UP_LEFT, new Vector(-1, -1)],\n [DiagonalDirections.DOWN_LEFT, new Vector(-1, 1)],\n]);\n","import { PointerType } from '../PointerType';\nimport { Point } from './interfaces';\n\nexport function isPointerInBounds(view: HTMLElement, { x, y }: Point): boolean {\n const rect: DOMRect = view.getBoundingClientRect();\n\n return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;\n}\n\nexport const PointerTypeMapping = new Map([\n ['mouse', PointerType.MOUSE],\n ['touch', PointerType.TOUCH],\n ['pen', PointerType.STYLUS],\n ['none', PointerType.OTHER],\n]);\n\nexport const degToRad = (degrees: number) => (degrees * Math.PI) / 180;\n\nexport const coneToDeviation = (degrees: number) =>\n Math.cos(degToRad(degrees / 2));\n\nexport function calculateViewScale(view: HTMLElement) {\n const styles = getComputedStyle(view);\n\n const resultScales = {\n scaleX: 1,\n scaleY: 1,\n };\n\n // Get scales from scale property\n if (styles.scale !== undefined && styles.scale !== 'none') {\n const scales = styles.scale.split(' ');\n\n if (scales[0]) {\n resultScales.scaleX = parseFloat(scales[0]);\n }\n\n resultScales.scaleY = scales[1]\n ? parseFloat(scales[1])\n : parseFloat(scales[0]);\n }\n\n // Get scales from transform property\n const matrixElements = new RegExp(/matrix\\((.+)\\)/).exec(\n styles.transform\n )?.[1];\n\n if (matrixElements) {\n const matrixElementsArray = matrixElements.split(', ');\n\n resultScales.scaleX *= parseFloat(matrixElementsArray[0]);\n resultScales.scaleY *= parseFloat(matrixElementsArray[3]);\n }\n\n return resultScales;\n}\n","import { State } from '../../State';\nimport { DiagonalDirections, Directions } from '../../Directions';\nimport { AdaptedEvent, Config } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nimport Vector from '../tools/Vector';\nimport { coneToDeviation } from '../utils';\n\nconst DEFAULT_MAX_DURATION_MS = 800;\nconst DEFAULT_MIN_VELOCITY = 700;\nconst DEFAULT_ALIGNMENT_CONE = 30;\nconst DEFAULT_DIRECTION = Directions.RIGHT;\nconst DEFAULT_NUMBER_OF_TOUCHES_REQUIRED = 1;\n\nconst AXIAL_DEVIATION_COSINE = coneToDeviation(DEFAULT_ALIGNMENT_CONE);\nconst DIAGONAL_DEVIATION_COSINE = coneToDeviation(90 - DEFAULT_ALIGNMENT_CONE);\n\nexport default class FlingGestureHandler extends GestureHandler {\n private numberOfPointersRequired = DEFAULT_NUMBER_OF_TOUCHES_REQUIRED;\n private direction: Directions = DEFAULT_DIRECTION;\n\n private maxDurationMs = DEFAULT_MAX_DURATION_MS;\n private minVelocity = DEFAULT_MIN_VELOCITY;\n private delayTimeout!: number;\n\n private maxNumberOfPointersSimultaneously = 0;\n private keyPointer = NaN;\n\n public init(ref: number, propsRef: React.RefObject): void {\n super.init(ref, propsRef);\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n super.updateGestureConfig({ enabled: enabled, ...props });\n\n if (this.config.direction) {\n this.direction = this.config.direction;\n }\n\n if (this.config.numberOfPointers) {\n this.numberOfPointersRequired = this.config.numberOfPointers;\n }\n }\n\n private startFling(): void {\n this.begin();\n\n this.maxNumberOfPointersSimultaneously = 1;\n\n this.delayTimeout = setTimeout(() => this.fail(), this.maxDurationMs);\n }\n\n private tryEndFling(): boolean {\n const velocityVector = Vector.fromVelocity(this.tracker, this.keyPointer);\n\n const getAlignment = (\n direction: Directions | DiagonalDirections,\n minimalAlignmentCosine: number\n ) => {\n return (\n (direction & this.direction) === direction &&\n velocityVector.isSimilar(\n Vector.fromDirection(direction),\n minimalAlignmentCosine\n )\n );\n };\n\n const axialDirectionsList = Object.values(Directions);\n const diagonalDirectionsList = Object.values(DiagonalDirections);\n\n // List of alignments to all activated directions\n const axialAlignmentList = axialDirectionsList.map((direction) =>\n getAlignment(direction, AXIAL_DEVIATION_COSINE)\n );\n\n const diagonalAlignmentList = diagonalDirectionsList.map((direction) =>\n getAlignment(direction, DIAGONAL_DEVIATION_COSINE)\n );\n\n const isAligned =\n axialAlignmentList.some(Boolean) || diagonalAlignmentList.some(Boolean);\n\n const isFast = velocityVector.magnitude > this.minVelocity;\n\n if (\n this.maxNumberOfPointersSimultaneously ===\n this.numberOfPointersRequired &&\n isAligned &&\n isFast\n ) {\n clearTimeout(this.delayTimeout);\n this.activate();\n\n return true;\n }\n\n return false;\n }\n\n private endFling() {\n if (!this.tryEndFling()) {\n this.fail();\n }\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n if (!this.isButtonInConfig(event.button)) {\n return;\n }\n\n this.tracker.addToTracker(event);\n this.keyPointer = event.pointerId;\n\n super.onPointerDown(event);\n this.newPointerAction();\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.newPointerAction();\n }\n\n private newPointerAction(): void {\n if (this.currentState === State.UNDETERMINED) {\n this.startFling();\n }\n\n if (this.currentState !== State.BEGAN) {\n return;\n }\n\n this.tryEndFling();\n\n if (\n this.tracker.getTrackedPointersCount() >\n this.maxNumberOfPointersSimultaneously\n ) {\n this.maxNumberOfPointersSimultaneously =\n this.tracker.getTrackedPointersCount();\n }\n }\n\n private pointerMoveAction(event: AdaptedEvent): void {\n this.tracker.track(event);\n\n if (this.currentState !== State.BEGAN) {\n return;\n }\n\n this.tryEndFling();\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.pointerMoveAction(event);\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n this.pointerMoveAction(event);\n super.onPointerOutOfBounds(event);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.onUp(event);\n\n this.keyPointer = NaN;\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.onUp(event);\n }\n\n private onUp(event: AdaptedEvent): void {\n if (this.currentState === State.BEGAN) {\n this.endFling();\n }\n\n this.tracker.removeFromTracker(event.pointerId);\n }\n\n public activate(force?: boolean): void {\n super.activate(force);\n this.end();\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n this.numberOfPointersRequired = DEFAULT_NUMBER_OF_TOUCHES_REQUIRED;\n this.direction = DEFAULT_DIRECTION;\n }\n}\n","import { Platform } from 'react-native';\nimport { State } from '../../State';\nimport { DEFAULT_TOUCH_SLOP } from '../constants';\nimport { AdaptedEvent, Config } from '../interfaces';\n\nimport GestureHandler from './GestureHandler';\nexport default class NativeViewGestureHandler extends GestureHandler {\n private buttonRole!: boolean;\n\n // TODO: Implement logic for activation on start\n // @ts-ignore Logic yet to be implemented\n private shouldActivateOnStart = false;\n private disallowInterruption = false;\n\n private startX = 0;\n private startY = 0;\n private minDistSq = DEFAULT_TOUCH_SLOP * DEFAULT_TOUCH_SLOP;\n\n public init(ref: number, propsRef: React.RefObject): void {\n super.init(ref, propsRef);\n\n this.setShouldCancelWhenOutside(true);\n\n if (Platform.OS !== 'web') {\n return;\n }\n\n const view = this.delegate.getView() as HTMLElement;\n\n this.restoreViewStyles(view);\n this.buttonRole = view.getAttribute('role') === 'button';\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n super.updateGestureConfig({ enabled: enabled, ...props });\n\n if (this.config.shouldActivateOnStart !== undefined) {\n this.shouldActivateOnStart = this.config.shouldActivateOnStart;\n }\n if (this.config.disallowInterruption !== undefined) {\n this.disallowInterruption = this.config.disallowInterruption;\n }\n\n const view = this.delegate.getView() as HTMLElement;\n this.restoreViewStyles(view);\n }\n\n private restoreViewStyles(view: HTMLElement) {\n if (!view) {\n return;\n }\n\n view.style['touchAction'] = 'auto';\n // @ts-ignore Turns on defualt touch behavior on Safari\n view.style['WebkitTouchCallout'] = 'auto';\n }\n\n protected resetConfig(): void {\n super.resetConfig();\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n this.newPointerAction();\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n this.newPointerAction();\n }\n\n private newPointerAction(): void {\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n this.startX = lastCoords.x;\n this.startY = lastCoords.y;\n\n if (this.currentState !== State.UNDETERMINED) {\n return;\n }\n\n this.begin();\n if (this.buttonRole) {\n this.activate();\n }\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n\n const lastCoords = this.tracker.getAbsoluteCoordsAverage();\n const dx = this.startX - lastCoords.x;\n const dy = this.startY - lastCoords.y;\n const distSq = dx * dx + dy * dy;\n\n if (distSq >= this.minDistSq) {\n if (this.buttonRole && this.currentState === State.ACTIVE) {\n this.cancel();\n } else if (!this.buttonRole && this.currentState === State.BEGAN) {\n this.activate();\n }\n }\n }\n\n protected onPointerLeave(): void {\n if (\n this.currentState === State.BEGAN ||\n this.currentState === State.ACTIVE\n ) {\n this.cancel();\n }\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.onUp(event);\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.onUp(event);\n }\n\n private onUp(event: AdaptedEvent): void {\n this.tracker.removeFromTracker(event.pointerId);\n\n if (this.tracker.getTrackedPointersCount() === 0) {\n if (this.currentState === State.ACTIVE) {\n this.end();\n } else {\n this.fail();\n }\n }\n }\n\n public shouldRecognizeSimultaneously(handler: GestureHandler): boolean {\n if (super.shouldRecognizeSimultaneously(handler)) {\n return true;\n }\n\n if (\n handler instanceof NativeViewGestureHandler &&\n handler.getState() === State.ACTIVE &&\n handler.disallowsInterruption()\n ) {\n return false;\n }\n\n const canBeInterrupted = !this.disallowInterruption;\n\n if (\n this.currentState === State.ACTIVE &&\n handler.getState() === State.ACTIVE &&\n canBeInterrupted\n ) {\n return false;\n }\n\n return (\n this.currentState === State.ACTIVE &&\n canBeInterrupted &&\n handler.getTag() > 0\n );\n }\n\n public shouldBeCancelledByOther(_handler: GestureHandler): boolean {\n return !this.disallowInterruption;\n }\n\n public disallowsInterruption(): boolean {\n return this.disallowInterruption;\n }\n\n public isButton(): boolean {\n return this.buttonRole;\n }\n}\n","import { AdaptedEvent, Config } from '../interfaces';\nimport GestureHandler from './GestureHandler';\n\nexport default class ManualGestureHandler extends GestureHandler {\n public init(ref: number, propsRef: React.RefObject) {\n super.init(ref, propsRef);\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n super.updateGestureConfig({ enabled: enabled, ...props });\n }\n\n protected onPointerDown(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerDown(event);\n this.begin();\n\n this.tryToSendTouchEvent(event);\n }\n\n protected onPointerAdd(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerAdd(event);\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n super.onPointerMove(event);\n }\n\n protected onPointerOutOfBounds(event: AdaptedEvent): void {\n this.tracker.track(event);\n super.onPointerOutOfBounds(event);\n }\n\n protected onPointerUp(event: AdaptedEvent): void {\n super.onPointerUp(event);\n this.tracker.removeFromTracker(event.pointerId);\n }\n\n protected onPointerRemove(event: AdaptedEvent): void {\n super.onPointerRemove(event);\n this.tracker.removeFromTracker(event.pointerId);\n }\n}\n","import { State } from '../../State';\nimport { AdaptedEvent, Config } from '../interfaces';\nimport GestureHandlerOrchestrator from '../tools/GestureHandlerOrchestrator';\nimport GestureHandler from './GestureHandler';\n\nexport default class HoverGestureHandler extends GestureHandler {\n public init(ref: number, propsRef: React.RefObject) {\n super.init(ref, propsRef);\n }\n\n public updateGestureConfig({ enabled = true, ...props }: Config): void {\n super.updateGestureConfig({ enabled: enabled, ...props });\n }\n\n protected onPointerMoveOver(event: AdaptedEvent): void {\n GestureHandlerOrchestrator.getInstance().recordHandlerIfNotPresent(this);\n\n this.tracker.addToTracker(event);\n super.onPointerMoveOver(event);\n\n if (this.getState() === State.UNDETERMINED) {\n this.begin();\n this.activate();\n }\n }\n\n protected onPointerMoveOut(event: AdaptedEvent): void {\n this.tracker.addToTracker(event);\n super.onPointerMoveOut(event);\n\n this.end();\n }\n\n protected onPointerMove(event: AdaptedEvent): void {\n this.tracker.track(event);\n super.onPointerMove(event);\n }\n\n protected onPointerCancel(event: AdaptedEvent): void {\n super.onPointerCancel(event);\n this.reset();\n }\n}\n","/**\n * @private\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nlet assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n let output = Object(target);\n for (let index = 1; index < arguments.length; index++) {\n const source = arguments[index];\n if (source !== undefined && source !== null) {\n for (const nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\nexport default assign;","/* eslint-disable no-new-func, no-nested-ternary */\n\nlet win;\n\nif (typeof window === \"undefined\") {\n\t// window is undefined in node.js\n\twin = {};\n} else {\n\twin = window;\n}\n/* eslint-enable no-new-func, no-nested-ternary */\n\nexport {win as window};\n","\nconst VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nconst TEST_ELEMENT = typeof document === \"undefined\" ? {style: {}} : document.createElement('div');\n\nconst TYPE_FUNCTION = 'function';\n\nconst { round, abs } = Math;\nconst { now } = Date;\n\nexport {\n VENDOR_PREFIXES,\n TEST_ELEMENT,\n TYPE_FUNCTION,\n round,\n abs,\n now\n};\n","import { VENDOR_PREFIXES } from './utils-consts';\n/**\n * @private\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nexport default function prefixed(obj, property) {\n let prefix;\n let prop;\n let camelProp = property[0].toUpperCase() + property.slice(1);\n\n let i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n","import prefixed from '../utils/prefixed';\nimport { TEST_ELEMENT } from '../utils/utils-consts';\nimport {window} from '../browser';\n\nexport const PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nexport const NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\nexport default function getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n let touchMap = {};\n let cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach((val) => {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n return touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n","import getTouchActionProps from './get-touchaction-props';\n\n\n\n// magical touchAction value\nconst TOUCH_ACTION_COMPUTE = 'compute';\nconst TOUCH_ACTION_AUTO = 'auto';\nconst TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nconst TOUCH_ACTION_NONE = 'none';\nconst TOUCH_ACTION_PAN_X = 'pan-x';\nconst TOUCH_ACTION_PAN_Y = 'pan-y';\nconst TOUCH_ACTION_MAP = getTouchActionProps();\n\nexport {\n TOUCH_ACTION_AUTO,\n TOUCH_ACTION_COMPUTE,\n TOUCH_ACTION_MANIPULATION,\n TOUCH_ACTION_NONE,\n TOUCH_ACTION_PAN_X,\n TOUCH_ACTION_PAN_Y,\n TOUCH_ACTION_MAP\n};\n","import prefixed from '../utils/prefixed';\nimport {window} from \"../browser\";\n\nconst MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nconst SUPPORT_TOUCH = ('ontouchstart' in window);\nconst SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nconst SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nconst INPUT_TYPE_TOUCH = 'touch';\nconst INPUT_TYPE_PEN = 'pen';\nconst INPUT_TYPE_MOUSE = 'mouse';\nconst INPUT_TYPE_KINECT = 'kinect';\n\nconst COMPUTE_INTERVAL = 25;\n\nconst INPUT_START = 1;\nconst INPUT_MOVE = 2;\nconst INPUT_END = 4;\nconst INPUT_CANCEL = 8;\n\nconst DIRECTION_NONE = 1;\nconst DIRECTION_LEFT = 2;\nconst DIRECTION_RIGHT = 4;\nconst DIRECTION_UP = 8;\nconst DIRECTION_DOWN = 16;\n\nconst DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nconst DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nconst DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nconst PROPS_XY = ['x', 'y'];\nconst PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\nexport {\n MOBILE_REGEX,\n SUPPORT_ONLY_TOUCH,\n SUPPORT_POINTER_EVENTS,\n SUPPORT_TOUCH,\n INPUT_TYPE_KINECT,\n INPUT_TYPE_MOUSE,\n INPUT_TYPE_PEN,\n INPUT_TYPE_TOUCH,\n COMPUTE_INTERVAL,\n INPUT_START,\n INPUT_MOVE,\n INPUT_END,\n INPUT_CANCEL,\n DIRECTION_NONE,\n DIRECTION_LEFT,\n DIRECTION_RIGHT,\n DIRECTION_UP,\n DIRECTION_DOWN,\n DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL,\n DIRECTION_ALL,\n PROPS_XY,\n PROPS_CLIENT_XY\n};\n","/**\n * @private\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nexport default function each(obj, iterator, context) {\n let i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n","import { TYPE_FUNCTION } from './utils-consts';\n/**\n * @private\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nexport default function boolOrFn(val, args) {\n if (typeof val === TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n","/**\n * @private\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nexport default function inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n","import {\n TOUCH_ACTION_COMPUTE,\n TOUCH_ACTION_MAP,\n TOUCH_ACTION_NONE,\n TOUCH_ACTION_PAN_X,\n TOUCH_ACTION_PAN_Y\n} from './touchaction-Consts';\nimport {\n NATIVE_TOUCH_ACTION,\n PREFIXED_TOUCH_ACTION,\n} from \"./get-touchaction-props\";\nimport {\n DIRECTION_VERTICAL,\n DIRECTION_HORIZONTAL\n} from '../inputjs/input-consts';\nimport each from '../utils/each';\nimport boolOrFn from '../utils/bool-or-fn';\nimport inStr from '../utils/in-str';\nimport cleanTouchActions from './clean-touch-actions';\n\n/**\n * @private\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nexport default class TouchAction {\n constructor(manager, value) {\n this.manager = manager;\n this.set(value);\n }\n\n /**\n * @private\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set(value) {\n // find out the touch-action by the event handlers\n if (value === TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n }\n\n /**\n * @private\n * just re-set the touchAction value\n */\n update() {\n this.set(this.manager.options.touchAction);\n }\n\n /**\n * @private\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute() {\n let actions = [];\n each(this.manager.recognizers, (recognizer) => {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n }\n\n /**\n * @private\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults(input) {\n let { srcEvent } = input;\n let direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n let { actions } = this;\n let hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n let hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n let hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n // do not prevent defaults if this is a tap gesture\n let isTapPointer = input.pointers.length === 1;\n let isTapMovement = input.distance < 2;\n let isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n }\n\n /**\n * @private\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n}\n","import inStr from '../utils/in-str';\nimport {\n TOUCH_ACTION_NONE,\n TOUCH_ACTION_PAN_X,\n TOUCH_ACTION_PAN_Y,\n TOUCH_ACTION_MANIPULATION,\n TOUCH_ACTION_AUTO\n} from './touchaction-Consts';\n\n/**\n * @private\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nexport default function cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n let hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n let hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n","/**\n * @private\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nexport default function hasParent(node, parent) {\n while (node) {\n if (node === parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n","import { round } from '../utils/utils-consts';\n\n/**\n * @private\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nexport default function getCenter(pointers) {\n let pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n let x = 0;\n let y = 0;\n let i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n","import { now,round } from '../utils/utils-consts';\nimport getCenter from './get-center';\n\n/**\n * @private\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nexport default function simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n let pointers = [];\n let i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n","import { PROPS_XY } from './input-consts';\n\n/**\n * @private\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nexport default function getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n let x = p2[props[0]] - p1[props[0]];\n let y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n","import { PROPS_XY } from './input-consts';\n\n/**\n * @private\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nexport default function getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n let x = p2[props[0]] - p1[props[0]];\n let y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n","import { abs } from '../utils/utils-consts';\nimport { DIRECTION_NONE,DIRECTION_LEFT,DIRECTION_RIGHT,DIRECTION_UP,DIRECTION_DOWN } from './input-consts';\n\n/**\n * @private\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nexport default function getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n","/**\n * @private\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nexport default function getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n","import { now } from '../utils/utils-consts';\nimport { abs } from '../utils/utils-consts';\nimport hasParent from '../utils/has-parent';\nimport simpleCloneInputData from './simple-clone-input-data';\nimport getCenter from './get-center';\nimport getDistance from './get-distance';\nimport getAngle from './get-angle';\nimport getDirection from './get-direction';\nimport computeDeltaXY from './compute-delta-xy';\nimport getVelocity from './get-velocity';\nimport getScale from './get-scale';\nimport getRotation from './get-rotation';\nimport computeIntervalInputData from './compute-interval-input-data';\n\n/**\n* @private\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nexport default function computeInputData(manager, input) {\n let { session } = manager;\n let { pointers } = input;\n let { length:pointersLength } = pointers;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n let { firstInput, firstMultiple } = session;\n let offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n let center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n let overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n let target = manager.element;\n const srcEvent = input.srcEvent;\n let srcEventTarget;\n\n if (srcEvent.composedPath) {\n srcEventTarget = srcEvent.composedPath()[0];\n } else if (srcEvent.path) {\n srcEventTarget = srcEvent.path[0];\n } else {\n srcEventTarget = srcEvent.target;\n }\n\n if (hasParent(srcEventTarget, target)) {\n target = srcEventTarget;\n }\n input.target = target;\n}\n","import { INPUT_START, INPUT_END } from './input-consts';\n\nexport default function computeDeltaXY(session, input) {\n let { center } = input;\n // let { offsetDelta:offset = {}, prevDelta = {}, prevInput = {} } = session;\n // jscs throwing error on defalut destructured values and without defaults tests fail\n let offset = session.offsetDelta || {};\n let prevDelta = session.prevDelta || {};\n let prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n","import { PROPS_CLIENT_XY } from './input-consts';\nimport getDistance from './get-distance';\n/**\n * @private\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nexport default function getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n","import getAngle from './get-angle';\nimport { PROPS_CLIENT_XY } from './input-consts';\n\n/**\n * @private\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nexport default function getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n","import { INPUT_CANCEL,COMPUTE_INTERVAL } from './input-consts';\nimport { abs } from '../utils/utils-consts';\nimport getVelocity from './get-velocity';\nimport getDirection from './get-direction';\n\n/**\n * @private\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nexport default function computeIntervalInputData(session, input) {\n let last = session.lastInterval || input;\n let deltaTime = input.timeStamp - last.timeStamp;\n let velocity;\n let velocityX;\n let velocityY;\n let direction;\n\n if (input.eventType !== INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n let deltaX = input.deltaX - last.deltaX;\n let deltaY = input.deltaY - last.deltaY;\n\n let v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n","import { INPUT_START,INPUT_END,INPUT_CANCEL } from './input-consts';\nimport computeInputData from './compute-input-data';\n\n/**\n * @private\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nexport default function inputHandler(manager, eventType, input) {\n let pointersLen = input.pointers.length;\n let changedPointersLen = input.changedPointers.length;\n let isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n let isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n","/**\n * @private\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\n\nexport default function splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n","import each from './each';\nimport splitStr from './split-str';\n/**\n * @private\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nexport default function addEventListeners(target, types, handler) {\n each(splitStr(types), (type) => {\n target.addEventListener(type, handler, false);\n });\n}\n","import each from './each';\nimport splitStr from './split-str';\n/**\n * @private\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nexport default function removeEventListeners(target, types, handler) {\n each(splitStr(types), (type) => {\n target.removeEventListener(type, handler, false);\n });\n}\n","/**\n * @private\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nexport default function getWindowForElement(element) {\n let doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n","import boolOrFn from '../utils/bool-or-fn';\nimport addEventListeners from '../utils/add-event-listeners';\nimport removeEventListeners from '../utils/remove-event-listeners';\nimport getWindowForElement from '../utils/get-window-for-element';\n\n/**\n * @private\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nexport default class Input {\n constructor(manager, callback) {\n let self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n }\n /**\n * @private\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler() { }\n\n /**\n * @private\n * bind the events\n */\n init() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n\n /**\n * @private\n * unbind the events\n */\n destroy() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n}\n","/**\n * @private\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nexport default function inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n let i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {// do not use === here, test fails\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n","import {\n INPUT_START,\n INPUT_END,\n INPUT_CANCEL,\n INPUT_MOVE,\n INPUT_TYPE_TOUCH,\n INPUT_TYPE_MOUSE,\n INPUT_TYPE_PEN,\n INPUT_TYPE_KINECT\n} from '../inputjs/input-consts';\nimport {window} from \"../browser\";\nimport Input from '../inputjs/input-constructor';\nimport inArray from '../utils/in-array';\n\nconst POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nconst IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nlet POINTER_ELEMENT_EVENTS = 'pointerdown';\nlet POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * @private\n * Pointer events input\n * @constructor\n * @extends Input\n */\nexport default class PointerEventInput extends Input {\n constructor() {\n var proto = PointerEventInput.prototype;\n\n proto.evEl = POINTER_ELEMENT_EVENTS;\n proto.evWin = POINTER_WINDOW_EVENTS;\n super(...arguments);\n this.store = (this.manager.session.pointerEvents = []);\n }\n\n /**\n * @private\n * handle mouse events\n * @param {Object} ev\n */\n handler(ev) {\n let { store } = this;\n let removePointer = false;\n\n let eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n let eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n let pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n let isTouch = (pointerType === INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n let storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n}\n","/**\n * @private\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nexport default function toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n","import inArray from './in-array';\n\n/**\n * @private\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nexport default function uniqueArray(src, key, sort) {\n let results = [];\n let values = [];\n let i = 0;\n\n while (i < src.length) {\n let val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort((a, b) => {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n","import {\n INPUT_START,\n INPUT_MOVE,\n INPUT_END,\n INPUT_CANCEL,\n INPUT_TYPE_TOUCH\n} from '../inputjs/input-consts';\nimport Input from '../inputjs/input-constructor';\nimport toArray from '../utils/to-array';\nimport hasParent from '../utils/has-parent';\nimport uniqueArray from '../utils/unique-array';\n\nconst TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nconst TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * @private\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nexport default class TouchInput extends Input {\n constructor() {\n TouchInput.prototype.evTarget = TOUCH_TARGET_EVENTS;\n super(...arguments);\n this.targetIds = {};\n // this.evTarget = TOUCH_TARGET_EVENTS;\n }\n handler(ev) {\n let type = TOUCH_INPUT_MAP[ev.type];\n let touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n}\n\n/**\n * @private\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n let allTouches = toArray(ev.touches);\n let { targetIds } = this;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n let i;\n let targetTouches;\n let changedTouches = toArray(ev.changedTouches);\n let changedTargetTouches = [];\n let { target } = this;\n\n // get target touches from touches\n targetTouches = allTouches.filter((touch) => {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n","import {\n INPUT_START,\n INPUT_MOVE,\n INPUT_END,\n INPUT_TYPE_MOUSE\n} from '../inputjs/input-consts';\nimport Input from '../inputjs/input-constructor';\n\nconst MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nconst MOUSE_ELEMENT_EVENTS = 'mousedown';\nconst MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * @private\n * Mouse events input\n * @constructor\n * @extends Input\n */\nexport default class MouseInput extends Input {\n constructor() {\n var proto = MouseInput.prototype;\n proto.evEl = MOUSE_ELEMENT_EVENTS;\n proto.evWin = MOUSE_WINDOW_EVENTS;\n\n super(...arguments);\n this.pressed = false; // mousedown state\n }\n\n /**\n * @private\n * handle mouse events\n * @param {Object} ev\n */\n handler(ev) {\n let eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n}\n","import Input from \"../inputjs/input-constructor\";\nimport TouchInput from \"./touch\";\nimport MouseInput from \"./mouse\";\nimport {\n\tINPUT_START,\n\tINPUT_END,\n\tINPUT_CANCEL,\n\tINPUT_TYPE_TOUCH,\n\tINPUT_TYPE_MOUSE,\n} from \"../inputjs/input-consts\";\n\n/**\n * @private\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nconst DEDUP_TIMEOUT = 2500;\nconst DEDUP_DISTANCE = 25;\n\nfunction setLastTouch(eventData) {\n\tconst { changedPointers: [touch] } = eventData;\n\n\tif (touch.identifier === this.primaryTouch) {\n\t\tconst lastTouch = { x: touch.clientX, y: touch.clientY };\n\t\tconst lts = this.lastTouches;\n\n\t\tthis.lastTouches.push(lastTouch);\n\n\n\t\tconst removeLastTouch = function() {\n\t\t\tconst i = lts.indexOf(lastTouch);\n\n\t\t\tif (i > -1) {\n\t\t\t\tlts.splice(i, 1);\n\t\t\t}\n\t\t};\n\n\t\tsetTimeout(removeLastTouch, DEDUP_TIMEOUT);\n\t}\n}\n\n\nfunction recordTouches(eventType, eventData) {\n\tif (eventType & INPUT_START) {\n\t\tthis.primaryTouch = eventData.changedPointers[0].identifier;\n\t\tsetLastTouch.call(this, eventData);\n\t} else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n\t\tsetLastTouch.call(this, eventData);\n\t}\n}\nfunction isSyntheticEvent(eventData) {\n\tconst x = eventData.srcEvent.clientX;\n\tconst y = eventData.srcEvent.clientY;\n\n\tfor (let i = 0; i < this.lastTouches.length; i++) {\n\t\tconst t = this.lastTouches[i];\n\t\tconst dx = Math.abs(x - t.x);\n\t\tconst dy = Math.abs(y - t.y);\n\n\t\tif (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\n\nexport default class TouchMouseInput extends Input {\n\tconstructor(manager, callback) {\n\t\tsuper(manager, callback);\n\n\t\tthis.touch = new TouchInput(this.manager, this.handler);\n\t\tthis.mouse = new MouseInput(this.manager, this.handler);\n\t\tthis.primaryTouch = null;\n\t\tthis.lastTouches = [];\n\t}\n\n\t/**\n\t * @private\n\t * handle mouse and touch events\n\t * @param {Hammer} manager\n\t * @param {String} inputEvent\n\t * @param {Object} inputData\n\t */\n\thandler = (manager, inputEvent, inputData) => {\n\t\tconst isTouch = (inputData.pointerType === INPUT_TYPE_TOUCH);\n\t\tconst isMouse = (inputData.pointerType === INPUT_TYPE_MOUSE);\n\n\t\tif (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n\t\t\treturn;\n\t\t}\n\n\t\t// when we're in a touch event, record touches to de-dupe synthetic mouse event\n\t\tif (isTouch) {\n\t\t\trecordTouches.call(this, inputEvent, inputData);\n\t\t} else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.callback(manager, inputEvent, inputData);\n\t}\n\n\t/**\n\t * @private\n\t * remove the event listeners\n\t */\n\tdestroy() {\n\t\tthis.touch.destroy();\n\t\tthis.mouse.destroy();\n\t}\n}\n","import each from './each';\n/**\n * @private\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nexport default function invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n","const STATE_POSSIBLE = 1;\nconst STATE_BEGAN = 2;\nconst STATE_CHANGED = 4;\nconst STATE_ENDED = 8;\nconst STATE_RECOGNIZED = STATE_ENDED;\nconst STATE_CANCELLED = 16;\nconst STATE_FAILED = 32;\n\nexport {\n STATE_POSSIBLE,\n STATE_BEGAN,\n STATE_CHANGED,\n STATE_ENDED,\n STATE_RECOGNIZED,\n STATE_CANCELLED,\n STATE_FAILED\n};\n","/**\n * @private\n * get a unique id\n * @returns {number} uniqueId\n */\nlet _uniqueId = 1;\nexport default function uniqueId() {\n return _uniqueId++;\n}\n","/**\n * @private\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nexport default function getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n let { manager } = recognizer;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n","import {\n STATE_CANCELLED,\n STATE_ENDED,\n STATE_CHANGED,\n STATE_BEGAN\n} from './recognizer-consts';\n\n/**\n * @private\n * get a usable string, used as event postfix\n * @param {constant} state\n * @returns {String} state\n */\nexport default function stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n","import {\n STATE_POSSIBLE,\n STATE_ENDED,\n STATE_FAILED,\n STATE_RECOGNIZED,\n STATE_CANCELLED,\n STATE_BEGAN,\n STATE_CHANGED\n} from './recognizer-consts';\nimport assign from '../utils/assign';\nimport uniqueId from '../utils/unique-id';\nimport invokeArrayArg from '../utils/invoke-array-arg';\nimport inArray from '../utils/in-array';\nimport boolOrFn from '../utils/bool-or-fn';\nimport getRecognizerByNameIfManager from './get-recognizer-by-name-if-manager';\nimport stateStr from './state-str';\n\n/**\n * @private\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\n\n/**\n * @private\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nexport default class Recognizer {\n constructor(options = {}) {\n this.options = {\n enable: true,\n ...options,\n };\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.state = STATE_POSSIBLE;\n this.simultaneous = {};\n this.requireFail = [];\n }\n\n /**\n * @private\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n }\n\n /**\n * @private\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n let { simultaneous } = this;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n }\n\n /**\n * @private\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n }\n\n /**\n * @private\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n let { requireFail } = this;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n }\n\n /**\n * @private\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n let index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n }\n\n /**\n * @private\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures() {\n return this.requireFail.length > 0;\n }\n\n /**\n * @private\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n }\n\n /**\n * @private\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit(input) {\n let self = this;\n let { state } = this;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n }\n\n /**\n * @private\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n }\n\n /**\n * @private\n * can we emit?\n * @returns {boolean}\n */\n canEmit() {\n let i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n }\n\n /**\n * @private\n * update the recognizer\n * @param {Object} inputData\n */\n recognize(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n let inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n }\n\n /**\n * @private\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {constant} STATE\n */\n\n /* jshint ignore:start */\n process(inputData) { }\n /* jshint ignore:end */\n\n /**\n * @private\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction() { }\n\n /**\n * @private\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset() { }\n}","import Recognizer from '../recognizerjs/recognizer-constructor';\nimport { TOUCH_ACTION_MANIPULATION } from '../touchactionjs/touchaction-Consts';\nimport {INPUT_START,INPUT_END } from '../inputjs/input-consts';\nimport {\n STATE_RECOGNIZED,\n STATE_BEGAN,\n STATE_FAILED\n} from '../recognizerjs/recognizer-consts';\nimport getDistance from '../inputjs/get-distance';\n\n/**\n * @private\n * A tap is recognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nexport default class TapRecognizer extends Recognizer {\n constructor(options = {}) {\n super({\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10, // a multi-tap can be a bit off the initial position\n ...options,\n });\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n }\n\n getTouchAction() {\n return [TOUCH_ACTION_MANIPULATION];\n }\n\n process(input) {\n let { options } = this;\n\n let validPointers = input.pointers.length === options.pointers;\n let validMovement = input.distance < options.threshold;\n let validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType !== INPUT_END) {\n return this.failTimeout();\n }\n\n let validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n let validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n let tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeout(() => {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n }\n\n failTimeout() {\n this._timer = setTimeout(() => {\n this.state = STATE_FAILED;\n }, this.options.interval);\n return STATE_FAILED;\n }\n\n reset() {\n clearTimeout(this._timer);\n }\n\n emit() {\n if (this.state === STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n}\n","import Recognizer from '../recognizerjs/recognizer-constructor';\nimport {\n STATE_BEGAN,\n STATE_CHANGED,\n STATE_CANCELLED,\n STATE_ENDED,\n STATE_FAILED\n} from '../recognizerjs/recognizer-consts';\nimport {\n INPUT_CANCEL,\n INPUT_END\n} from '../inputjs/input-consts';\n\n/**\n * @private\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nexport default class AttrRecognizer extends Recognizer {\n constructor(options = {}) {\n super({\n pointers: 1,\n ...options,\n });\n }\n\n /**\n * @private\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest(input) {\n let optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n }\n\n /**\n * @private\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process(input) {\n let { state } = this;\n let { eventType } = input;\n\n let isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n let isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n}\n","import {\n DIRECTION_LEFT,\n DIRECTION_RIGHT,\n DIRECTION_UP,\n DIRECTION_DOWN\n} from '../inputjs/input-consts';\n\n/**\n * @private\n * direction cons to string\n * @param {constant} direction\n * @returns {String}\n */\nexport default function directionStr(direction) {\n if (direction === DIRECTION_DOWN) {\n return 'down';\n } else if (direction === DIRECTION_UP) {\n return 'up';\n } else if (direction === DIRECTION_LEFT) {\n return 'left';\n } else if (direction === DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n","import AttrRecognizer from './attribute';\nimport {\n DIRECTION_ALL,\n DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL,\n DIRECTION_NONE,\n DIRECTION_UP,\n DIRECTION_DOWN,\n DIRECTION_LEFT,\n DIRECTION_RIGHT\n} from '../inputjs/input-consts';\nimport { STATE_BEGAN } from '../recognizerjs/recognizer-consts';\nimport { TOUCH_ACTION_PAN_X,TOUCH_ACTION_PAN_Y } from '../touchactionjs/touchaction-Consts';\nimport directionStr from '../recognizerjs/direction-str';\n\n/**\n * @private\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nexport default class PanRecognizer extends AttrRecognizer {\n constructor(options = {}) {\n super({\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL,\n ...options,\n });\n this.pX = null;\n this.pY = null;\n }\n\n getTouchAction() {\n let { options:{ direction } } = this;\n let actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n }\n\n directionTest(input) {\n let { options } = this;\n let hasMoved = true;\n let { distance } = input;\n let { direction } = input;\n let x = input.deltaX;\n let y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x !== this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y !== this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n }\n\n attrTest(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) && // replace with a super call\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n }\n\n emit(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n let direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n super.emit(input);\n }\n}\n","import AttrRecognizer from '../recognizers/attribute';\nimport { abs } from '../utils/utils-consts';\nimport { DIRECTION_HORIZONTAL,DIRECTION_VERTICAL } from '../inputjs/input-consts';\nimport PanRecognizer from './pan';\nimport { INPUT_END } from '../inputjs/input-consts';\nimport directionStr from '../recognizerjs/direction-str';\n\n/**\n * @private\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nexport default class SwipeRecognizer extends AttrRecognizer {\n constructor(options = {}) {\n super({\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1,\n ...options,\n });\n }\n\n getTouchAction() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n }\n\n attrTest(input) {\n let { direction } = this.options;\n let velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return super.attrTest(input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers === this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n }\n\n emit(input) {\n let direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n}\n","import AttrRecognizer from './attribute';\nimport { TOUCH_ACTION_NONE } from '../touchactionjs/touchaction-Consts';\nimport { STATE_BEGAN } from '../recognizerjs/recognizer-consts';\n\n/**\n * @private\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nexport default class PinchRecognizer extends AttrRecognizer {\n constructor(options = {}) {\n super({\n event: 'pinch',\n threshold: 0,\n pointers: 2,\n ...options,\n });\n }\n\n getTouchAction() {\n return [TOUCH_ACTION_NONE];\n }\n\n attrTest(input) {\n return super.attrTest(input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n }\n\n emit(input) {\n if (input.scale !== 1) {\n let inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n super.emit(input);\n }\n}\n","import AttrRecognizer from './attribute';\nimport { TOUCH_ACTION_NONE } from '../touchactionjs/touchaction-Consts';\nimport { STATE_BEGAN } from '../recognizerjs/recognizer-consts';\n\n/**\n * @private\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nexport default class RotateRecognizer extends AttrRecognizer {\n constructor(options = {}) {\n super( {\n event: 'rotate',\n threshold: 0,\n pointers: 2,\n ...options,\n });\n }\n\n getTouchAction() {\n return [TOUCH_ACTION_NONE];\n }\n\n attrTest(input) {\n return super.attrTest(input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n}","import Recognizer from '../recognizerjs/recognizer-constructor';\nimport {\n STATE_RECOGNIZED,\n STATE_FAILED\n} from '../recognizerjs/recognizer-consts';\nimport { now } from '../utils/utils-consts';\nimport { TOUCH_ACTION_AUTO } from '../touchactionjs/touchaction-Consts';\nimport {\n INPUT_START,\n INPUT_END,\n INPUT_CANCEL\n} from '../inputjs/input-consts';\n\n/**\n * @private\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nexport default class PressRecognizer extends Recognizer {\n constructor(options = {}) {\n super({\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9, // a minimal movement is ok, but keep it low\n ...options,\n });\n this._timer = null;\n this._input = null;\n }\n\n getTouchAction() {\n return [TOUCH_ACTION_AUTO];\n }\n\n process(input) {\n let { options } = this;\n let validPointers = input.pointers.length === options.pointers;\n let validMovement = input.distance < options.threshold;\n let validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeout(() => {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n }\n\n reset() {\n clearTimeout(this._timer);\n }\n\n emit(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(`${this.options.event}up`, input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n}\n\n","import { TOUCH_ACTION_COMPUTE } from \"./touchactionjs/touchaction-Consts\";\nimport TapRecognizer from \"./recognizers/tap\";\nimport PanRecognizer from \"./recognizers/pan\";\nimport SwipeRecognizer from \"./recognizers/swipe\";\nimport PinchRecognizer from \"./recognizers/pinch\";\nimport RotateRecognizer from \"./recognizers/rotate\";\nimport PressRecognizer from \"./recognizers/press\";\nimport {DIRECTION_HORIZONTAL} from \"./inputjs/input-consts\";\n\nexport default {\n\t/**\n\t * @private\n\t * set if DOM events are being triggered.\n\t * But this is slower and unused by simple implementations, so disabled by default.\n\t * @type {Boolean}\n\t * @default false\n\t */\n\tdomEvents: false,\n\n\t/**\n\t * @private\n\t * The value for the touchAction property/fallback.\n\t * When set to `compute` it will magically set the correct value based on the added recognizers.\n\t * @type {String}\n\t * @default compute\n\t */\n\ttouchAction: TOUCH_ACTION_COMPUTE,\n\n\t/**\n\t * @private\n\t * @type {Boolean}\n\t * @default true\n\t */\n\tenable: true,\n\n\t/**\n\t * @private\n\t * EXPERIMENTAL FEATURE -- can be removed/changed\n\t * Change the parent input target element.\n\t * If Null, then it is being set the to main element.\n\t * @type {Null|EventTarget}\n\t * @default null\n\t */\n\tinputTarget: null,\n\n\t/**\n\t * @private\n\t * force an input class\n\t * @type {Null|Function}\n\t * @default null\n\t */\n\tinputClass: null,\n\n\t/**\n\t * @private\n\t * Some CSS properties can be used to improve the working of Hammer.\n\t * Add them to this method and they will be set when creating a new Manager.\n\t * @namespace\n\t */\n\tcssProps: {\n\t\t/**\n\t\t * @private\n\t\t * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n\t\t * @type {String}\n\t\t * @default 'none'\n\t\t */\n\t\tuserSelect: \"none\",\n\n\t\t/**\n\t\t * @private\n\t\t * Disable the Windows Phone grippers when pressing an element.\n\t\t * @type {String}\n\t\t * @default 'none'\n\t\t */\n\t\ttouchSelect: \"none\",\n\n\t\t/**\n\t\t * @private\n\t\t * Disables the default callout shown when you touch and hold a touch target.\n\t\t * On iOS, when you touch and hold a touch target such as a link, Safari displays\n\t\t * a callout containing information about the link. This property allows you to disable that callout.\n\t\t * @type {String}\n\t\t * @default 'none'\n\t\t */\n\t\ttouchCallout: \"none\",\n\n\t\t/**\n\t\t * @private\n\t\t * Specifies whether zooming is enabled. Used by IE10>\n\t\t * @type {String}\n\t\t * @default 'none'\n\t\t */\n\t\tcontentZooming: \"none\",\n\n\t\t/**\n\t\t * @private\n\t\t * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n\t\t * @type {String}\n\t\t * @default 'none'\n\t\t */\n\t\tuserDrag: \"none\",\n\n\t\t/**\n\t\t * @private\n\t\t * Overrides the highlight color shown when the user taps a link or a JavaScript\n\t\t * clickable element in iOS. This property obeys the alpha value, if specified.\n\t\t * @type {String}\n\t\t * @default 'rgba(0,0,0,0)'\n\t\t */\n\t\ttapHighlightColor: \"rgba(0,0,0,0)\",\n\t},\n};\n\n/**\n * @private\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * This is separated with other defaults because of tree-shaking.\n * @type {Array}\n */\nexport const preset = [\n [RotateRecognizer, { enable: false }],\n [PinchRecognizer, { enable: false }, ['rotate']],\n [SwipeRecognizer, { direction: DIRECTION_HORIZONTAL }],\n [PanRecognizer, { direction: DIRECTION_HORIZONTAL }, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, { event: 'doubletap', taps: 2 }, ['tap']],\n [PressRecognizer]\n];\n","import assign from \"./utils/assign\";\nimport TouchAction from \"./touchactionjs/touchaction-constructor\";\nimport createInputInstance from \"./inputjs/create-input-instance\";\nimport each from \"./utils/each\";\nimport inArray from \"./utils/in-array\";\nimport invokeArrayArg from \"./utils/invoke-array-arg\";\nimport splitStr from \"./utils/split-str\";\nimport prefixed from \"./utils/prefixed\";\nimport Recognizer from \"./recognizerjs/recognizer-constructor\";\nimport {\n STATE_BEGAN,\n STATE_ENDED,\n STATE_CHANGED,\n STATE_RECOGNIZED,\n} from \"./recognizerjs/recognizer-consts\";\nimport defaults from \"./defaults\";\n\nconst STOP = 1;\nconst FORCED_STOP = 2;\n\n\n/**\n * @private\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n const { element } = manager;\n\n if (!element.style) {\n return;\n }\n let prop;\n\n each(manager.options.cssProps, (value, name) => {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || \"\";\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * @private\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n const gestureEvent = document.createEvent(\"Event\");\n\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\n\n/**\n* @private\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nexport default class Manager {\n constructor(element, options) {\n this.options = assign({}, defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, item => {\n const recognizer = this.add(new (item[0])(item[1]));\n\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n }\n\n\t/**\n\t * @private\n\t * set options\n\t * @param {Object} options\n\t * @returns {Manager}\n\t */\n set(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n }\n\n\t/**\n\t * @private\n\t * stop recognizing for this session.\n\t * This session will be discarded, when a new [input]start event is fired.\n\t * When forced, the recognizer cycle is stopped immediately.\n\t * @param {Boolean} [force]\n\t */\n stop(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n }\n\n\t/**\n\t * @private\n\t * run the recognizers!\n\t * called by the inputHandler function on every movement of the pointers (touches)\n\t * it walks through all the recognizers and tries to detect the gesture that is being made\n\t * @param {Object} inputData\n\t */\n recognize(inputData) {\n const { session } = this;\n\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n let recognizer;\n const { recognizers } = this;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n let { curRecognizer } = session;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n session.curRecognizer = null;\n curRecognizer = null;\n }\n\n let i = 0;\n\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && (// 1\n !curRecognizer || recognizer === curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n session.curRecognizer = recognizer;\n curRecognizer = recognizer;\n }\n i++;\n }\n }\n\n\t/**\n\t * @private\n\t * get a recognizer by its event name.\n\t * @param {Recognizer|String} recognizer\n\t * @returns {Recognizer|Null}\n\t */\n get(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n const { recognizers } = this;\n\n for (let i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event === recognizer) {\n return recognizers[i];\n }\n }\n return null;\n }\n\n\t/**\n\t * @private add a recognizer to the manager\n\t * existing recognizers with the same event name will be removed\n\t * @param {Recognizer} recognizer\n\t * @returns {Recognizer|Manager}\n\t */\n add(recognizer) {\n if (invokeArrayArg(recognizer, \"add\", this)) {\n return this;\n }\n\n // remove existing\n const existing = this.get(recognizer.options.event);\n\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n }\n\n\t/**\n\t * @private\n\t * remove a recognizer by name or instance\n\t * @param {Recognizer|String} recognizer\n\t * @returns {Manager}\n\t */\n remove(recognizer) {\n if (invokeArrayArg(recognizer, \"remove\", this)) {\n return this;\n }\n\n const targetRecognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n const { recognizers } = this;\n const index = inArray(recognizers, targetRecognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n }\n\n\t/**\n\t * @private\n\t * bind event\n\t * @param {String} events\n\t * @param {Function} handler\n\t * @returns {EventEmitter} this\n\t */\n on(events, handler) {\n if (events === undefined || handler === undefined) {\n return this;\n }\n\n const { handlers } = this;\n\n each(splitStr(events), event => {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n }\n\n\t/**\n\t * @private unbind event, leave emit blank to remove all handlers\n\t * @param {String} events\n\t * @param {Function} [handler]\n\t * @returns {EventEmitter} this\n\t */\n off(events, handler) {\n if (events === undefined) {\n return this;\n }\n\n const { handlers } = this;\n\n each(splitStr(events), event => {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n }\n\n\t/**\n\t * @private emit event to the listeners\n\t * @param {String} event\n\t * @param {Object} data\n\t */\n emit(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n const handlers = this.handlers[event] && this.handlers[event].slice();\n\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function () {\n data.srcEvent.preventDefault();\n };\n\n let i = 0;\n\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n }\n\n\t/**\n\t * @private\n\t * destroy the manager and unbinds all events\n\t * it doesn't unbind dom events, that is the user own responsibility\n\t */\n destroy() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n}\n","import { SUPPORT_POINTER_EVENTS,SUPPORT_ONLY_TOUCH,SUPPORT_TOUCH } from './input-consts';\nimport inputHandler from './input-handler';\nimport PointerEventInput from '../input/pointerevent';\nimport TouchInput from '../input/touch';\nimport MouseInput from '../input/mouse';\nimport TouchMouseInput from '../input/touchmouse';\n\n/**\n * @private\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nexport default function createInputInstance(manager) {\n let Type;\n // let inputClass = manager.options.inputClass;\n let { options:{ inputClass } } = manager;\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n","import {\n INPUT_START,\n INPUT_MOVE,\n INPUT_END,\n INPUT_CANCEL,\n INPUT_TYPE_TOUCH\n} from '../inputjs/input-consts';\nimport Input from '../inputjs/input-constructor';\nimport toArray from '../utils/to-array';\nimport uniqueArray from '../utils/unique-array';\n\nconst SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nconst SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nconst SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * @private\n * Touch events input\n * @constructor\n * @extends Input\n */\nexport default class SingleTouchInput extends Input {\n constructor() {\n var proto = SingleTouchInput.prototype;\n proto.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n proto.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n\n super(...arguments);\n this.started = false;\n }\n\n handler(ev) {\n let type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n let touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n}\n\n/**\n * @private\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n let all = toArray(ev.touches);\n let changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n","/**\n * @private\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nexport default function deprecate(method, name, message) {\n let deprecationMessage = `DEPRECATED METHOD: ${name}\\n${message} AT \\n`;\n return function() {\n let e = new Error('get-stack-trace');\n let stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n let log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n","import deprecate from './deprecate';\n/**\n * @private\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nconst extend = deprecate((dest, src, merge) => {\n let keys = Object.keys(src);\n let i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\nexport default extend;\n","import deprecate from './deprecate';\nimport extend from './extend';\n/**\n * @private\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nconst merge = deprecate((dest, src) => {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\nexport default merge;\n","import assign from './assign';\n/**\n * @private\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nexport default function inherit(child, base, properties) {\n let baseP = base.prototype;\n let childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n","/**\n * @private\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nexport default function bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n","import Manager from \"./manager\";\nimport defaults, { preset } from \"./defaults\";\nimport assign from './utils/assign';\nimport {\n INPUT_START,\n INPUT_MOVE,\n INPUT_END,\n INPUT_CANCEL,\n DIRECTION_NONE,\n DIRECTION_LEFT,\n DIRECTION_RIGHT,\n DIRECTION_UP,\n DIRECTION_DOWN,\n DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL,\n DIRECTION_ALL,\n} from \"./inputjs/input-consts\";\nimport {\n STATE_POSSIBLE,\n STATE_BEGAN,\n STATE_CHANGED,\n STATE_ENDED,\n STATE_RECOGNIZED,\n STATE_CANCELLED,\n STATE_FAILED,\n} from \"./recognizerjs/recognizer-consts\";\n\nimport Input from \"./inputjs/input-constructor\";\nimport TouchAction from \"./touchactionjs/touchaction-constructor\";\nimport TouchInput from \"./input/touch\";\nimport MouseInput from \"./input/mouse\";\nimport PointerEventInput from \"./input/pointerevent\";\nimport SingleTouchInput from \"./input/singletouch\";\nimport TouchMouseInput from \"./input/touchmouse\";\n\nimport Recognizer from \"./recognizerjs/recognizer-constructor\";\nimport AttrRecognizer from \"./recognizers/attribute\";\nimport TapRecognizer from \"./recognizers/tap\";\nimport PanRecognizer from \"./recognizers/pan\";\nimport SwipeRecognizer from \"./recognizers/swipe\";\nimport PinchRecognizer from \"./recognizers/pinch\";\nimport RotateRecognizer from \"./recognizers/rotate\";\nimport PressRecognizer from \"./recognizers/press\";\n\nimport addEventListeners from \"./utils/add-event-listeners\";\nimport removeEventListeners from \"./utils/remove-event-listeners\";\nimport each from \"./utils/each\";\nimport merge from \"./utils/merge\";\nimport extend from \"./utils/extend\";\nimport inherit from \"./utils/inherit\";\nimport bindFn from \"./utils/bind-fn\";\nimport prefixed from \"./utils/prefixed\";\nimport toArray from \"./utils/to-array\";\nimport uniqueArray from \"./utils/unique-array\";\nimport splitStr from \"./utils/split-str\";\nimport inArray from \"./utils/in-array\";\nimport boolOrFn from \"./utils/bool-or-fn\";\nimport hasParent from \"./utils/has-parent\";\n/**\n * @private\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nexport default class Hammer {\n\t/**\n * @private\n * @const {string}\n */\n\tstatic VERSION = \"#__VERSION__#\";\n\tstatic DIRECTION_ALL = DIRECTION_ALL;\n\tstatic DIRECTION_DOWN = DIRECTION_DOWN;\n\tstatic DIRECTION_LEFT = DIRECTION_LEFT;\n\tstatic DIRECTION_RIGHT = DIRECTION_RIGHT;\n\tstatic DIRECTION_UP = DIRECTION_UP;\n\tstatic DIRECTION_HORIZONTAL = DIRECTION_HORIZONTAL;\n\tstatic DIRECTION_VERTICAL = DIRECTION_VERTICAL;\n\tstatic DIRECTION_NONE = DIRECTION_NONE;\n\tstatic DIRECTION_DOWN = DIRECTION_DOWN;\n\tstatic INPUT_START = INPUT_START;\n\tstatic INPUT_MOVE = INPUT_MOVE;\n static INPUT_END = INPUT_END;\n\tstatic INPUT_CANCEL = INPUT_CANCEL;\n\tstatic STATE_POSSIBLE = STATE_POSSIBLE;\n\tstatic STATE_BEGAN = STATE_BEGAN;\n\tstatic STATE_CHANGED = STATE_CHANGED;\n\tstatic STATE_ENDED = STATE_ENDED;\n\tstatic STATE_RECOGNIZED = STATE_RECOGNIZED;\n\tstatic STATE_CANCELLED = STATE_CANCELLED;\n\tstatic STATE_FAILED = STATE_FAILED;\n\tstatic Manager = Manager;\n\tstatic Input = Input;\n\tstatic TouchAction = TouchAction;\n\tstatic TouchInput = TouchInput;\n\tstatic MouseInput = MouseInput;\n\tstatic PointerEventInput = PointerEventInput;\n\tstatic TouchMouseInput = TouchMouseInput;\n\tstatic SingleTouchInput = SingleTouchInput;\n\tstatic Recognizer = Recognizer;\n\tstatic AttrRecognizer = AttrRecognizer;\n\tstatic Tap = TapRecognizer;\n\tstatic Pan = PanRecognizer;\n\tstatic Swipe = SwipeRecognizer;\n\tstatic Pinch = PinchRecognizer;\n\tstatic Rotate = RotateRecognizer;\n\tstatic Press = PressRecognizer;\n\tstatic on = addEventListeners;\n\tstatic off = removeEventListeners;\n\tstatic each = each;\n\tstatic merge = merge;\n\tstatic extend = extend;\n\tstatic bindFn = bindFn;\n\tstatic assign = assign;\n\tstatic inherit = inherit;\n\tstatic bindFn = bindFn;\n\tstatic prefixed = prefixed;\n\tstatic toArray = toArray;\n\tstatic inArray = inArray;\n\tstatic uniqueArray = uniqueArray;\n\tstatic splitStr = splitStr;\n\tstatic boolOrFn = boolOrFn;\n\tstatic hasParent = hasParent;\n\tstatic addEventListeners = addEventListeners;\n\tstatic removeEventListeners = removeEventListeners;\n\tstatic defaults = assign({}, defaults, { preset });\n\tconstructor(element, options = {}) {\n\t\treturn new Manager(element, {\n\t\t\trecognizers: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n ...preset\n\t\t\t],\n\t\t\t...options,\n\t\t});\n\t}\n}\n","\nimport Hammer from \"./hammer\";\nimport assign from \"./utils/assign\";\n\nimport {\n INPUT_START,\n INPUT_MOVE,\n INPUT_END,\n INPUT_CANCEL,\n DIRECTION_NONE,\n DIRECTION_LEFT,\n DIRECTION_RIGHT,\n DIRECTION_UP,\n DIRECTION_DOWN,\n DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL,\n DIRECTION_ALL,\n} from \"./inputjs/input-consts\";\nimport {\n STATE_POSSIBLE,\n STATE_BEGAN,\n STATE_CHANGED,\n STATE_ENDED,\n STATE_RECOGNIZED,\n STATE_CANCELLED,\n STATE_FAILED,\n} from \"./recognizerjs/recognizer-consts\";\n\nimport Manager from \"./manager\";\nimport Input from \"./inputjs/input-constructor\";\nimport TouchAction from \"./touchactionjs/touchaction-constructor\";\nimport TouchInput from \"./input/touch\";\nimport MouseInput from \"./input/mouse\";\nimport PointerEventInput from \"./input/pointerevent\";\nimport SingleTouchInput from \"./input/singletouch\";\nimport TouchMouseInput from \"./input/touchmouse\";\n\nimport Recognizer from \"./recognizerjs/recognizer-constructor\";\nimport AttrRecognizer from \"./recognizers/attribute\";\nimport TapRecognizer from \"./recognizers/tap\";\nimport PanRecognizer from \"./recognizers/pan\";\nimport SwipeRecognizer from \"./recognizers/swipe\";\nimport PinchRecognizer from \"./recognizers/pinch\";\nimport RotateRecognizer from \"./recognizers/rotate\";\nimport PressRecognizer from \"./recognizers/press\";\n\nimport addEventListeners from \"./utils/add-event-listeners\";\nimport removeEventListeners from \"./utils/remove-event-listeners\";\nimport each from \"./utils/each\";\nimport merge from \"./utils/merge\";\nimport extend from \"./utils/extend\";\nimport inherit from \"./utils/inherit\";\nimport bindFn from \"./utils/bind-fn\";\nimport prefixed from \"./utils/prefixed\";\nimport toArray from \"./utils/to-array\";\nimport uniqueArray from \"./utils/unique-array\";\nimport splitStr from \"./utils/split-str\";\nimport inArray from \"./utils/in-array\";\nimport boolOrFn from \"./utils/bool-or-fn\";\nimport hasParent from \"./utils/has-parent\";\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\n\nconst defaults = Hammer.defaults;\n\nexport {\n Hammer as default,\n INPUT_START,\n INPUT_MOVE,\n INPUT_END,\n INPUT_CANCEL,\n STATE_POSSIBLE,\n STATE_BEGAN,\n STATE_CHANGED,\n STATE_ENDED,\n STATE_RECOGNIZED,\n STATE_CANCELLED,\n STATE_FAILED,\n\n DIRECTION_NONE,\n DIRECTION_LEFT,\n DIRECTION_RIGHT,\n DIRECTION_UP,\n DIRECTION_DOWN,\n DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL,\n DIRECTION_ALL,\n Manager,\n Input,\n TouchAction,\n TouchInput,\n MouseInput,\n PointerEventInput,\n TouchMouseInput,\n SingleTouchInput,\n Recognizer,\n AttrRecognizer,\n TapRecognizer as Tap,\n PanRecognizer as Pan,\n SwipeRecognizer as Swipe,\n PinchRecognizer as Pinch,\n RotateRecognizer as Rotate,\n PressRecognizer as Press,\n addEventListeners as on,\n removeEventListeners as off,\n each,\n merge,\n extend,\n assign,\n inherit,\n bindFn,\n prefixed,\n toArray,\n inArray,\n uniqueArray,\n splitStr,\n boolOrFn,\n hasParent,\n addEventListeners,\n removeEventListeners,\n defaults,\n};\n","import Hammer from '@egjs/hammerjs';\n\nimport { State } from '../State';\n\nexport const CONTENT_TOUCHES_DELAY = 240;\nexport const CONTENT_TOUCHES_QUICK_TAP_END_DELAY = 50;\nexport const MULTI_FINGER_PAN_MAX_PINCH_THRESHOLD = 0.1;\nexport const MULTI_FINGER_PAN_MAX_ROTATION_THRESHOLD = 7;\nexport const DEG_RAD = Math.PI / 180;\n\n// Map Hammer values to RNGH\nexport const EventMap = {\n [Hammer.INPUT_START]: State.BEGAN,\n [Hammer.INPUT_MOVE]: State.ACTIVE,\n [Hammer.INPUT_END]: State.END,\n [Hammer.INPUT_CANCEL]: State.FAILED,\n} as const;\n\nexport const Direction = {\n RIGHT: 1,\n LEFT: 2,\n UP: 4,\n DOWN: 8,\n};\n\nexport const DirectionMap = {\n [Hammer.DIRECTION_RIGHT]: Direction.RIGHT,\n [Hammer.DIRECTION_LEFT]: Direction.LEFT,\n [Hammer.DIRECTION_UP]: Direction.UP,\n [Hammer.DIRECTION_DOWN]: Direction.DOWN,\n};\n\nexport const HammerInputNames = {\n [Hammer.INPUT_START]: 'START',\n [Hammer.INPUT_MOVE]: 'MOVE',\n [Hammer.INPUT_END]: 'END',\n [Hammer.INPUT_CANCEL]: 'CANCEL',\n};\nexport const HammerDirectionNames = {\n [Hammer.DIRECTION_HORIZONTAL]: 'HORIZONTAL',\n [Hammer.DIRECTION_UP]: 'UP',\n [Hammer.DIRECTION_DOWN]: 'DOWN',\n [Hammer.DIRECTION_VERTICAL]: 'VERTICAL',\n [Hammer.DIRECTION_NONE]: 'NONE',\n [Hammer.DIRECTION_ALL]: 'ALL',\n [Hammer.DIRECTION_RIGHT]: 'RIGHT',\n [Hammer.DIRECTION_LEFT]: 'LEFT',\n};\n","export const gestures: Record = {};\n\nexport function getHandler(tag: number) {\n if (tag in gestures) {\n return gestures[tag];\n }\n\n throw new Error(`No handler for tag ${tag}`);\n}\n\nexport function createGestureHandler(handlerTag: number, handler: any) {\n if (handlerTag in gestures) {\n throw new Error(`Handler with tag ${handlerTag} already exists`);\n }\n gestures[handlerTag] = handler;\n // @ts-ignore no types for web handlers yet\n gestures[handlerTag].handlerTag = handlerTag;\n}\n\nexport function dropGestureHandler(handlerTag: number) {\n // Since React 18, there are cases where componentWillUnmount gets called twice in a row\n // so skip this if the tag was already removed.\n if (!(handlerTag in gestures)) {\n return;\n }\n getHandler(handlerTag).destroy();\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete gestures[handlerTag];\n}\n\nexport function getNodes() {\n return { ...gestures };\n}\n","// We check for typeof requestAnimationFrame because of SSR\n// Functions are bound to null to avoid issues with scope when using Metro inline requires.\nexport const ghQueueMicrotask =\n typeof setImmediate === 'function'\n ? setImmediate.bind(null)\n : typeof requestAnimationFrame === 'function'\n ? requestAnimationFrame.bind(null)\n : queueMicrotask.bind(null);\n","/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport Hammer from '@egjs/hammerjs';\nimport { findNodeHandle } from 'react-native';\n\nimport { State } from '../State';\nimport { EventMap } from './constants';\nimport * as NodeManager from './NodeManager';\nimport { ghQueueMicrotask } from '../ghQueueMicrotask';\n\n// TODO(TS) Replace with HammerInput if https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50438/files is merged\nexport type HammerInputExt = Omit;\n\nexport type Config = Partial<{\n enabled: boolean;\n minPointers: number;\n maxPointers: number;\n minDist: number;\n minDistSq: number;\n minVelocity: number;\n minVelocitySq: number;\n maxDist: number;\n maxDistSq: number;\n failOffsetXStart: number;\n failOffsetYStart: number;\n failOffsetXEnd: number;\n failOffsetYEnd: number;\n activeOffsetXStart: number;\n activeOffsetXEnd: number;\n activeOffsetYStart: number;\n activeOffsetYEnd: number;\n waitFor: any[] | null;\n simultaneousHandlers: any[] | null;\n}>;\n\ntype NativeEvent = ReturnType;\n\nlet gestureInstances = 0;\n\nabstract class GestureHandler {\n public handlerTag: any;\n public isGestureRunning = false;\n public view: number | null = null;\n protected hasCustomActivationCriteria: boolean;\n protected hasGestureFailed = false;\n protected hammer: HammerManager | null = null;\n protected initialRotation: number | null = null;\n protected __initialX: any;\n protected __initialY: any;\n protected config: Config = {};\n protected previousState: State = State.UNDETERMINED;\n private pendingGestures: Record = {};\n private oldState: State = State.UNDETERMINED;\n private lastSentState: State | null = null;\n private gestureInstance: number;\n private _stillWaiting: any;\n private propsRef: any;\n private ref: any;\n\n abstract get name(): string;\n\n get id() {\n return `${this.name}${this.gestureInstance}`;\n }\n\n // a simple way to check if GestureHandler is NativeViewGestureHandler, since importing it\n // here to use instanceof would cause import cycle\n get isNative() {\n return false;\n }\n\n get isDiscrete() {\n return false;\n }\n\n get shouldEnableGestureOnSetup(): boolean {\n throw new Error('Must override GestureHandler.shouldEnableGestureOnSetup');\n }\n\n constructor() {\n this.gestureInstance = gestureInstances++;\n this.hasCustomActivationCriteria = false;\n }\n\n getConfig() {\n return this.config;\n }\n\n onWaitingEnded(_gesture: this) {}\n\n removePendingGesture(id: string) {\n delete this.pendingGestures[id];\n }\n\n addPendingGesture(gesture: this) {\n this.pendingGestures[gesture.id] = gesture;\n }\n\n isGestureEnabledForEvent(\n _config: any,\n _recognizer: any,\n _event: any\n ): { failed?: boolean; success?: boolean } {\n return { success: true };\n }\n\n get NativeGestureClass(): RecognizerStatic {\n throw new Error('Must override GestureHandler.NativeGestureClass');\n }\n\n updateHasCustomActivationCriteria(_config: Config) {\n return true;\n }\n\n clearSelfAsPending = () => {\n if (Array.isArray(this.config.waitFor)) {\n for (const gesture of this.config.waitFor) {\n gesture.removePendingGesture(this.id);\n }\n }\n };\n\n updateGestureConfig({ enabled = true, ...props }) {\n this.clearSelfAsPending();\n\n this.config = this.ensureConfig({ enabled, ...props });\n this.hasCustomActivationCriteria = this.updateHasCustomActivationCriteria(\n this.config\n );\n if (Array.isArray(this.config.waitFor)) {\n for (const gesture of this.config.waitFor) {\n gesture.addPendingGesture(this);\n }\n }\n\n if (this.hammer) {\n this.sync();\n }\n return this.config;\n }\n\n destroy = () => {\n this.clearSelfAsPending();\n\n if (this.hammer) {\n this.hammer.stop(false);\n this.hammer.destroy();\n }\n this.hammer = null;\n };\n\n isPointInView = ({ x, y }: { x: number; y: number }) => {\n // @ts-ignore FIXME(TS)\n const rect = this.view!.getBoundingClientRect();\n const pointerInside =\n x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;\n return pointerInside;\n };\n\n getState(type: keyof typeof EventMap): State {\n // @ts-ignore TODO(TS) check if this is needed\n if (type == 0) {\n return 0;\n }\n return EventMap[type];\n }\n\n transformEventData(event: HammerInputExt) {\n const { eventType, maxPointers: numberOfPointers } = event;\n // const direction = DirectionMap[ev.direction];\n const changedTouch = event.changedPointers[0];\n const pointerInside = this.isPointInView({\n x: changedTouch.clientX,\n y: changedTouch.clientY,\n });\n\n // TODO(TS) Remove cast after https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50966 is merged.\n const state = this.getState(eventType as 1 | 2 | 4 | 8);\n if (state !== this.previousState) {\n this.oldState = this.previousState;\n this.previousState = state;\n }\n\n return {\n nativeEvent: {\n numberOfPointers,\n state,\n pointerInside,\n ...this.transformNativeEvent(event),\n // onHandlerStateChange only\n handlerTag: this.handlerTag,\n target: this.ref,\n // send oldState only when the state was changed, or is different than ACTIVE\n // GestureDetector relies on the presence of `oldState` to differentiate between\n // update events and state change events\n oldState:\n state !== this.previousState || state != 4\n ? this.oldState\n : undefined,\n },\n timeStamp: Date.now(),\n };\n }\n\n transformNativeEvent(_event: HammerInputExt) {\n return {};\n }\n\n sendEvent = (nativeEvent: HammerInputExt) => {\n const { onGestureHandlerEvent, onGestureHandlerStateChange } =\n this.propsRef.current;\n\n const event = this.transformEventData(nativeEvent);\n\n invokeNullableMethod(onGestureHandlerEvent, event);\n if (this.lastSentState !== event.nativeEvent.state) {\n this.lastSentState = event.nativeEvent.state as State;\n invokeNullableMethod(onGestureHandlerStateChange, event);\n }\n };\n\n cancelPendingGestures(event: HammerInputExt) {\n for (const gesture of Object.values(this.pendingGestures)) {\n if (gesture && gesture.isGestureRunning) {\n gesture.hasGestureFailed = true;\n gesture.cancelEvent(event);\n }\n }\n }\n\n notifyPendingGestures() {\n for (const gesture of Object.values(this.pendingGestures)) {\n if (gesture) {\n gesture.onWaitingEnded(this);\n }\n }\n }\n\n // FIXME event is undefined in runtime when firstly invoked (see Draggable example), check other functions taking event as input\n onGestureEnded(event: HammerInputExt) {\n this.isGestureRunning = false;\n this.cancelPendingGestures(event);\n }\n\n forceInvalidate(event: HammerInputExt) {\n if (this.isGestureRunning) {\n this.hasGestureFailed = true;\n this.cancelEvent(event);\n }\n }\n\n cancelEvent(event: HammerInputExt) {\n this.notifyPendingGestures();\n this.sendEvent({\n ...event,\n eventType: Hammer.INPUT_CANCEL,\n isFinal: true,\n });\n this.onGestureEnded(event);\n }\n\n onRawEvent({ isFirst }: HammerInputExt) {\n if (isFirst) {\n this.hasGestureFailed = false;\n }\n }\n\n shouldUseTouchEvents(config: Config) {\n return (\n config.simultaneousHandlers?.some((handler) => handler.isNative) ?? false\n );\n }\n\n setView(ref: Parameters['0'], propsRef: any) {\n if (ref == null) {\n this.destroy();\n this.view = null;\n return;\n }\n\n // @ts-ignore window doesn't exist on global type as we don't want to use Node types\n const SUPPORTS_TOUCH = 'ontouchstart' in window;\n this.propsRef = propsRef;\n this.ref = ref;\n\n this.view = findNodeHandle(ref);\n\n // When the browser starts handling the gesture (e.g. scrolling), it sends a pointercancel event and stops\n // sending additional pointer events. This is not the case with touch events, so if the gesture is simultaneous\n // with a NativeGestureHandler, we need to check if touch events are supported and use them if possible.\n this.hammer =\n SUPPORTS_TOUCH && this.shouldUseTouchEvents(this.config)\n ? new Hammer.Manager(this.view as any, {\n inputClass: Hammer.TouchInput,\n })\n : new Hammer.Manager(this.view as any);\n\n this.oldState = State.UNDETERMINED;\n this.previousState = State.UNDETERMINED;\n this.lastSentState = null;\n\n const { NativeGestureClass } = this;\n // @ts-ignore TODO(TS)\n const gesture = new NativeGestureClass(this.getHammerConfig());\n this.hammer.add(gesture);\n\n this.hammer.on('hammer.input', (ev: HammerInput) => {\n if (!this.config.enabled) {\n this.hasGestureFailed = false;\n this.isGestureRunning = false;\n return;\n }\n\n this.onRawEvent(ev as unknown as HammerInputExt);\n\n // TODO: Bacon: Check against something other than null\n // The isFirst value is not called when the first rotation is calculated.\n if (this.initialRotation === null && ev.rotation !== 0) {\n this.initialRotation = ev.rotation;\n }\n if (ev.isFinal) {\n // in favor of a willFail otherwise the last frame of the gesture will be captured.\n setTimeout(() => {\n this.initialRotation = null;\n this.hasGestureFailed = false;\n });\n }\n });\n\n this.setupEvents();\n this.sync();\n }\n\n setupEvents() {\n // TODO(TS) Hammer types aren't exactly that what we get in runtime\n if (!this.isDiscrete) {\n this.hammer!.on(`${this.name}start`, (event: HammerInput) =>\n this.onStart(event as unknown as HammerInputExt)\n );\n this.hammer!.on(\n `${this.name}end ${this.name}cancel`,\n (event: HammerInput) => {\n this.onGestureEnded(event as unknown as HammerInputExt);\n }\n );\n }\n this.hammer!.on(this.name, (ev: HammerInput) =>\n this.onGestureActivated(ev as unknown as HammerInputExt)\n ); // TODO(TS) remove cast after https://github.com/DefinitelyTyped/DefinitelyTyped/pull/50438 is merged\n }\n\n onStart({ deltaX, deltaY, rotation }: HammerInputExt) {\n // Reset the state for the next gesture\n this.oldState = State.UNDETERMINED;\n this.previousState = State.UNDETERMINED;\n this.lastSentState = null;\n\n this.isGestureRunning = true;\n this.__initialX = deltaX;\n this.__initialY = deltaY;\n this.initialRotation = rotation;\n }\n\n onGestureActivated(ev: HammerInputExt) {\n this.sendEvent(ev);\n }\n\n onSuccess() {}\n\n _getPendingGestures() {\n if (Array.isArray(this.config.waitFor) && this.config.waitFor.length) {\n // Get the list of gestures that this gesture is still waiting for.\n // Use `=== false` in case a ref that isn't a gesture handler is used.\n const stillWaiting = this.config.waitFor.filter(\n ({ hasGestureFailed }) => hasGestureFailed === false\n );\n return stillWaiting;\n }\n return [];\n }\n\n getHammerConfig() {\n const pointers =\n this.config.minPointers === this.config.maxPointers\n ? this.config.minPointers\n : 0;\n return {\n pointers,\n };\n }\n\n sync = () => {\n const gesture = this.hammer!.get(this.name);\n if (!gesture) return;\n\n const enable = (recognizer: any, inputData: any) => {\n if (!this.config.enabled) {\n this.isGestureRunning = false;\n this.hasGestureFailed = false;\n return false;\n }\n\n // Prevent events before the system is ready.\n if (\n !inputData ||\n !recognizer.options ||\n typeof inputData.maxPointers === 'undefined'\n ) {\n return this.shouldEnableGestureOnSetup;\n }\n\n if (this.hasGestureFailed) {\n return false;\n }\n\n if (!this.isDiscrete) {\n if (this.isGestureRunning) {\n return true;\n }\n // The built-in hammer.js \"waitFor\" doesn't work across multiple views.\n // Only process if there are views to wait for.\n this._stillWaiting = this._getPendingGestures();\n // This gesture should continue waiting.\n if (this._stillWaiting.length) {\n // Check to see if one of the gestures you're waiting for has started.\n // If it has then the gesture should fail.\n for (const gesture of this._stillWaiting) {\n // When the target gesture has started, this gesture must force fail.\n if (!gesture.isDiscrete && gesture.isGestureRunning) {\n this.hasGestureFailed = true;\n this.isGestureRunning = false;\n return false;\n }\n }\n // This gesture shouldn't start until the others have finished.\n return false;\n }\n }\n\n // Use default behaviour\n if (!this.hasCustomActivationCriteria) {\n return true;\n }\n\n const deltaRotation =\n this.initialRotation == null\n ? 0\n : inputData.rotation - this.initialRotation;\n // @ts-ignore FIXME(TS)\n const { success, failed } = this.isGestureEnabledForEvent(\n this.getConfig(),\n recognizer,\n {\n ...inputData,\n deltaRotation,\n }\n );\n\n if (failed) {\n this.simulateCancelEvent(inputData);\n this.hasGestureFailed = true;\n }\n return success;\n };\n\n const params = this.getHammerConfig();\n // @ts-ignore FIXME(TS)\n gesture.set({ ...params, enable });\n };\n\n simulateCancelEvent(_inputData: any) {}\n\n // Validate the props\n ensureConfig(config: Config): Required {\n const props = { ...config };\n\n // TODO(TS) We use ! to assert that if property is present then value is not empty (null, undefined)\n if ('minDist' in config) {\n props.minDist = config.minDist;\n props.minDistSq = props.minDist! * props.minDist!;\n }\n if ('minVelocity' in config) {\n props.minVelocity = config.minVelocity;\n props.minVelocitySq = props.minVelocity! * props.minVelocity!;\n }\n if ('maxDist' in config) {\n props.maxDist = config.maxDist;\n props.maxDistSq = config.maxDist! * config.maxDist!;\n }\n if ('waitFor' in config) {\n props.waitFor = asArray(config.waitFor)\n .map(({ handlerTag }: { handlerTag: number }) =>\n NodeManager.getHandler(handlerTag)\n )\n .filter((v) => v);\n } else {\n props.waitFor = null;\n }\n if ('simultaneousHandlers' in config) {\n const shouldUseTouchEvents = this.shouldUseTouchEvents(this.config);\n props.simultaneousHandlers = asArray(config.simultaneousHandlers)\n .map((handler: number | GestureHandler) => {\n if (typeof handler === 'number') {\n return NodeManager.getHandler(handler);\n } else {\n return NodeManager.getHandler(handler.handlerTag);\n }\n })\n .filter((v) => v);\n\n if (shouldUseTouchEvents !== this.shouldUseTouchEvents(props)) {\n ghQueueMicrotask(() => {\n // if the undelying event API needs to be changed, we need to unmount and mount\n // the hammer instance again.\n this.destroy();\n this.setView(this.ref, this.propsRef);\n });\n }\n } else {\n props.simultaneousHandlers = null;\n }\n\n const configProps = [\n 'minPointers',\n 'maxPointers',\n 'minDist',\n 'maxDist',\n 'maxDistSq',\n 'minVelocitySq',\n 'minDistSq',\n 'minVelocity',\n 'failOffsetXStart',\n 'failOffsetYStart',\n 'failOffsetXEnd',\n 'failOffsetYEnd',\n 'activeOffsetXStart',\n 'activeOffsetXEnd',\n 'activeOffsetYStart',\n 'activeOffsetYEnd',\n ] as const;\n configProps.forEach((prop: typeof configProps[number]) => {\n if (typeof props[prop] === 'undefined') {\n props[prop] = Number.NaN;\n }\n });\n return props as Required; // TODO(TS) how to convince TS that props are filled?\n }\n}\n\n// TODO(TS) investigate this method\n// Used for sending data to a callback or AnimatedEvent\nfunction invokeNullableMethod(\n method:\n | ((event: NativeEvent) => void)\n | { __getHandler: () => (event: NativeEvent) => void }\n | { __nodeConfig: { argMapping: any } },\n event: NativeEvent\n) {\n if (method) {\n if (typeof method === 'function') {\n method(event);\n } else {\n // For use with reanimated's AnimatedEvent\n if (\n '__getHandler' in method &&\n typeof method.__getHandler === 'function'\n ) {\n const handler = method.__getHandler();\n invokeNullableMethod(handler, event);\n } else {\n if ('__nodeConfig' in method) {\n const { argMapping } = method.__nodeConfig;\n if (Array.isArray(argMapping)) {\n for (const [index, [key, value]] of argMapping.entries()) {\n if (key in event.nativeEvent) {\n // @ts-ignore fix method type\n const nativeValue = event.nativeEvent[key];\n if (value && value.setValue) {\n // Reanimated API\n value.setValue(nativeValue);\n } else {\n // RN Animated API\n method.__nodeConfig.argMapping[index] = [key, nativeValue];\n }\n }\n }\n }\n }\n }\n }\n }\n}\n\nfunction asArray(value: T | T[]) {\n // TODO(TS) use config.waitFor type\n return value == null ? [] : Array.isArray(value) ? value : [value];\n}\n\nexport default GestureHandler;\n","// TODO(TS) remove if not necessary after rewrite\nexport const isnan = (v: unknown) => Number.isNaN(v);\n\n// TODO(TS) remove if not necessary after rewrite\nexport const isValidNumber = (v: unknown) =>\n typeof v === 'number' && !Number.isNaN(v);\n\nexport const TEST_MIN_IF_NOT_NAN = (value: number, limit: number): boolean =>\n !isnan(limit) &&\n ((limit < 0 && value <= limit) || (limit >= 0 && value >= limit));\nexport const VEC_LEN_SQ = ({ x = 0, y = 0 } = {}) => x * x + y * y;\nexport const TEST_MAX_IF_NOT_NAN = (value: number, max: number) =>\n !isnan(max) && ((max < 0 && value < max) || (max >= 0 && value > max));\n\nexport function fireAfterInterval(\n method: () => void,\n interval?: number | boolean\n) {\n if (!interval) {\n method();\n return null;\n }\n return setTimeout(() => method(), interval as number);\n}\n","/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport GestureHandler from './GestureHandler';\nimport { TEST_MAX_IF_NOT_NAN } from './utils';\n\nabstract class DiscreteGestureHandler extends GestureHandler {\n get isDiscrete() {\n return true;\n }\n\n get shouldEnableGestureOnSetup() {\n return true;\n }\n\n shouldFailUnderCustomCriteria(\n { x, y, deltaX, deltaY }: any,\n { maxDeltaX, maxDeltaY, maxDistSq, shouldCancelWhenOutside }: any\n ) {\n if (shouldCancelWhenOutside) {\n if (!this.isPointInView({ x, y })) {\n return true;\n }\n }\n return (\n TEST_MAX_IF_NOT_NAN(Math.abs(deltaX), maxDeltaX) ||\n TEST_MAX_IF_NOT_NAN(Math.abs(deltaY), maxDeltaY) ||\n TEST_MAX_IF_NOT_NAN(\n Math.abs(deltaY * deltaY + deltaX * deltaX),\n maxDistSq\n )\n );\n }\n\n transformNativeEvent({ center: { x, y } }: any) {\n // @ts-ignore FIXME(TS)\n const rect = this.view!.getBoundingClientRect();\n\n return {\n absoluteX: x,\n absoluteY: y,\n x: x - rect.left,\n y: y - rect.top,\n };\n }\n\n isGestureEnabledForEvent(\n {\n minPointers,\n maxPointers,\n maxDeltaX,\n maxDeltaY,\n maxDistSq,\n shouldCancelWhenOutside,\n }: any,\n _recognizer: any,\n { maxPointers: pointerLength, center, deltaX, deltaY }: any\n ) {\n const validPointerCount =\n pointerLength >= minPointers && pointerLength <= maxPointers;\n\n if (\n this.shouldFailUnderCustomCriteria(\n { ...center, deltaX, deltaY },\n {\n maxDeltaX,\n maxDeltaY,\n maxDistSq,\n shouldCancelWhenOutside,\n }\n ) ||\n // A user probably won't land a multi-pointer tap on the first tick (so we cannot just cancel each time)\n // but if the gesture is running and the user adds or subtracts another pointer then it should fail.\n (!validPointerCount && this.isGestureRunning)\n ) {\n return { failed: true };\n }\n\n return { success: validPointerCount };\n }\n}\n\nexport default DiscreteGestureHandler;\n","import Hammer from '@egjs/hammerjs';\n\nimport { State } from '../State';\nimport {\n CONTENT_TOUCHES_DELAY,\n CONTENT_TOUCHES_QUICK_TAP_END_DELAY,\n HammerInputNames,\n} from './constants';\nimport DiscreteGestureHandler from './DiscreteGestureHandler';\nimport { Config, HammerInputExt } from './GestureHandler';\nimport { fireAfterInterval, isValidNumber, isnan } from './utils';\n\nclass PressGestureHandler extends DiscreteGestureHandler {\n private visualFeedbackTimer: any;\n private initialEvent: HammerInputExt | null = null;\n get name() {\n return 'press';\n }\n\n get minDurationMs() {\n // @ts-ignore FIXME(TS)\n return isnan(this.config.minDurationMs) ? 5 : this.config.minDurationMs;\n }\n\n get maxDist() {\n return isnan(this.config.maxDist) ? 9 : this.config.maxDist;\n }\n\n get NativeGestureClass() {\n return Hammer.Press;\n }\n\n shouldDelayTouches = true;\n\n simulateCancelEvent(inputData: HammerInputExt) {\n // Long press never starts so we can't rely on the running event boolean.\n this.hasGestureFailed = true;\n this.cancelEvent(inputData);\n }\n\n updateHasCustomActivationCriteria({\n shouldCancelWhenOutside,\n maxDistSq,\n }: Config & { shouldCancelWhenOutside: boolean }) {\n return shouldCancelWhenOutside || !isValidNumber(maxDistSq);\n }\n\n getState(type: keyof typeof HammerInputNames): State {\n return {\n [Hammer.INPUT_START]: State.BEGAN,\n [Hammer.INPUT_MOVE]: State.ACTIVE,\n [Hammer.INPUT_END]: State.END,\n [Hammer.INPUT_CANCEL]: State.CANCELLED,\n }[type];\n }\n\n getConfig() {\n if (!this.hasCustomActivationCriteria) {\n // Default config\n // If no params have been defined then this config should emulate the native gesture as closely as possible.\n return {\n shouldCancelWhenOutside: true,\n maxDistSq: 10,\n };\n }\n return this.config;\n }\n\n getHammerConfig() {\n return {\n ...super.getHammerConfig(),\n // threshold: this.maxDist,\n time: this.minDurationMs,\n };\n }\n\n onGestureActivated(ev: HammerInputExt) {\n this.onGestureStart(ev);\n }\n\n shouldDelayTouchForEvent({ pointerType }: HammerInputExt) {\n // Don't disable event for mouse input\n return this.shouldDelayTouches && pointerType === 'touch';\n }\n\n onGestureStart(ev: HammerInputExt) {\n this.isGestureRunning = true;\n clearTimeout(this.visualFeedbackTimer);\n this.initialEvent = ev;\n this.visualFeedbackTimer = fireAfterInterval(() => {\n this.sendGestureStartedEvent(this.initialEvent as HammerInputExt);\n this.initialEvent = null;\n }, this.shouldDelayTouchForEvent(ev) && CONTENT_TOUCHES_DELAY);\n }\n\n sendGestureStartedEvent(ev: HammerInputExt) {\n clearTimeout(this.visualFeedbackTimer);\n this.visualFeedbackTimer = null;\n this.sendEvent({\n ...ev,\n eventType: Hammer.INPUT_MOVE,\n isFirst: true,\n });\n }\n\n forceInvalidate(event: HammerInputExt) {\n super.forceInvalidate(event);\n clearTimeout(this.visualFeedbackTimer);\n this.visualFeedbackTimer = null;\n this.initialEvent = null;\n }\n\n onRawEvent(ev: HammerInputExt) {\n super.onRawEvent(ev);\n if (this.isGestureRunning) {\n if (ev.isFinal) {\n let timeout;\n if (this.visualFeedbackTimer) {\n // Aesthetic timing for a quick tap.\n // We haven't activated the tap right away to emulate iOS `delaysContentTouches`\n // Now we must send the initial activation event and wait a set amount of time before firing the end event.\n timeout = CONTENT_TOUCHES_QUICK_TAP_END_DELAY;\n this.sendGestureStartedEvent(this.initialEvent as HammerInputExt);\n this.initialEvent = null;\n }\n fireAfterInterval(() => {\n this.sendEvent({\n ...ev,\n eventType: Hammer.INPUT_END,\n isFinal: true,\n });\n // @ts-ignore -- this should explicitly support undefined\n this.onGestureEnded();\n }, timeout);\n } else {\n this.sendEvent({\n ...ev,\n eventType: Hammer.INPUT_MOVE,\n isFinal: false,\n });\n }\n }\n }\n\n updateGestureConfig({\n shouldActivateOnStart = false,\n disallowInterruption = false,\n shouldCancelWhenOutside = true,\n minDurationMs = Number.NaN,\n maxDist = Number.NaN,\n minPointers = 1,\n maxPointers = 1,\n ...props\n }) {\n return super.updateGestureConfig({\n shouldActivateOnStart,\n disallowInterruption,\n shouldCancelWhenOutside,\n minDurationMs,\n maxDist,\n minPointers,\n maxPointers,\n ...props,\n });\n }\n}\nexport default PressGestureHandler;\n","import DiscreteGestureHandler from './DiscreteGestureHandler';\nimport { HammerInputExt } from './GestureHandler';\nimport * as NodeManager from './NodeManager';\nimport PressGestureHandler from './PressGestureHandler';\nimport { TEST_MIN_IF_NOT_NAN, VEC_LEN_SQ } from './utils';\n\nclass NativeViewGestureHandler extends PressGestureHandler {\n get isNative() {\n return true;\n }\n\n onRawEvent(ev: HammerInputExt) {\n super.onRawEvent(ev);\n if (!ev.isFinal) {\n // if (this.ref instanceof ScrollView) {\n if (TEST_MIN_IF_NOT_NAN(VEC_LEN_SQ({ x: ev.deltaX, y: ev.deltaY }), 10)) {\n // @ts-ignore FIXME(TS) config type\n if (this.config.disallowInterruption) {\n const gestures = Object.values(NodeManager.getNodes()).filter(\n (gesture) => {\n const { handlerTag, view, isGestureRunning } = gesture;\n return (\n // Check if this gesture isn't self\n handlerTag !== this.handlerTag &&\n // Ensure the gesture needs to be cancelled\n isGestureRunning &&\n // ScrollView can cancel discrete gestures like taps and presses\n gesture instanceof DiscreteGestureHandler &&\n // Ensure a view exists and is a child of the current view\n view &&\n // @ts-ignore FIXME(TS) view type\n this.view.contains(view)\n );\n }\n );\n // Cancel all of the gestures that passed the filter\n for (const gesture of gestures) {\n // TODO: Bacon: Send some cached event.\n gesture.forceInvalidate(ev);\n }\n }\n }\n }\n }\n}\n\nexport default NativeViewGestureHandler;\n","/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport GestureHandler, { HammerInputExt } from './GestureHandler';\nimport { PixelRatio } from 'react-native';\n\nabstract class DraggingGestureHandler extends GestureHandler {\n get shouldEnableGestureOnSetup() {\n return true;\n }\n\n transformNativeEvent({\n deltaX,\n deltaY,\n velocityX,\n velocityY,\n center: { x, y },\n }: HammerInputExt) {\n // @ts-ignore FIXME(TS)\n const rect = this.view!.getBoundingClientRect();\n const ratio = PixelRatio.get();\n return {\n translationX: deltaX - (this.__initialX || 0),\n translationY: deltaY - (this.__initialY || 0),\n absoluteX: x,\n absoluteY: y,\n velocityX: velocityX * ratio,\n velocityY: velocityY * ratio,\n x: x - rect.left,\n y: y - rect.top,\n };\n }\n}\n\nexport default DraggingGestureHandler;\n","import Hammer from '@egjs/hammerjs';\n\nimport {\n EventMap,\n MULTI_FINGER_PAN_MAX_PINCH_THRESHOLD,\n MULTI_FINGER_PAN_MAX_ROTATION_THRESHOLD,\n} from './constants';\nimport DraggingGestureHandler from './DraggingGestureHandler';\nimport { isValidNumber, isnan, TEST_MIN_IF_NOT_NAN, VEC_LEN_SQ } from './utils';\nimport { State } from '../State';\n\nimport { Config, HammerInputExt } from './GestureHandler';\nclass PanGestureHandler extends DraggingGestureHandler {\n get name() {\n return 'pan';\n }\n\n get NativeGestureClass() {\n return Hammer.Pan;\n }\n\n getHammerConfig() {\n return {\n ...super.getHammerConfig(),\n direction: this.getDirection(),\n };\n }\n\n getState(type: keyof typeof EventMap) {\n const nextState = super.getState(type);\n // Ensure that the first state sent is `BEGAN` and not `ACTIVE`\n if (\n this.previousState === State.UNDETERMINED &&\n nextState === State.ACTIVE\n ) {\n return State.BEGAN;\n }\n return nextState;\n }\n\n getDirection() {\n const config = this.getConfig();\n const {\n activeOffsetXStart,\n activeOffsetXEnd,\n activeOffsetYStart,\n activeOffsetYEnd,\n minDist,\n } = config;\n let directions: number[] = [];\n let horizontalDirections = [];\n\n if (!isnan(minDist)) {\n return Hammer.DIRECTION_ALL;\n }\n\n if (!isnan(activeOffsetXStart)) {\n horizontalDirections.push(Hammer.DIRECTION_LEFT);\n }\n if (!isnan(activeOffsetXEnd)) {\n horizontalDirections.push(Hammer.DIRECTION_RIGHT);\n }\n if (horizontalDirections.length === 2) {\n horizontalDirections = [Hammer.DIRECTION_HORIZONTAL];\n }\n\n directions = directions.concat(horizontalDirections);\n let verticalDirections = [];\n\n if (!isnan(activeOffsetYStart)) {\n verticalDirections.push(Hammer.DIRECTION_UP);\n }\n if (!isnan(activeOffsetYEnd)) {\n verticalDirections.push(Hammer.DIRECTION_DOWN);\n }\n\n if (verticalDirections.length === 2) {\n verticalDirections = [Hammer.DIRECTION_VERTICAL];\n }\n\n directions = directions.concat(verticalDirections);\n\n if (!directions.length) {\n return Hammer.DIRECTION_NONE;\n }\n if (\n directions[0] === Hammer.DIRECTION_HORIZONTAL &&\n directions[1] === Hammer.DIRECTION_VERTICAL\n ) {\n return Hammer.DIRECTION_ALL;\n }\n if (horizontalDirections.length && verticalDirections.length) {\n return Hammer.DIRECTION_ALL;\n }\n\n return directions[0];\n }\n\n getConfig() {\n if (!this.hasCustomActivationCriteria) {\n // Default config\n // If no params have been defined then this config should emulate the native gesture as closely as possible.\n return {\n minDistSq: 10,\n };\n }\n return this.config;\n }\n\n shouldFailUnderCustomCriteria(\n { deltaX, deltaY }: HammerInputExt,\n criteria: any\n ) {\n return (\n (!isnan(criteria.failOffsetXStart) &&\n deltaX < criteria.failOffsetXStart) ||\n (!isnan(criteria.failOffsetXEnd) && deltaX > criteria.failOffsetXEnd) ||\n (!isnan(criteria.failOffsetYStart) &&\n deltaY < criteria.failOffsetYStart) ||\n (!isnan(criteria.failOffsetYEnd) && deltaY > criteria.failOffsetYEnd)\n );\n }\n\n shouldActivateUnderCustomCriteria(\n { deltaX, deltaY, velocity }: any,\n criteria: any\n ) {\n return (\n (!isnan(criteria.activeOffsetXStart) &&\n deltaX < criteria.activeOffsetXStart) ||\n (!isnan(criteria.activeOffsetXEnd) &&\n deltaX > criteria.activeOffsetXEnd) ||\n (!isnan(criteria.activeOffsetYStart) &&\n deltaY < criteria.activeOffsetYStart) ||\n (!isnan(criteria.activeOffsetYEnd) &&\n deltaY > criteria.activeOffsetYEnd) ||\n TEST_MIN_IF_NOT_NAN(\n VEC_LEN_SQ({ x: deltaX, y: deltaY }),\n criteria.minDistSq\n ) ||\n TEST_MIN_IF_NOT_NAN(velocity.x, criteria.minVelocityX) ||\n TEST_MIN_IF_NOT_NAN(velocity.y, criteria.minVelocityY) ||\n TEST_MIN_IF_NOT_NAN(VEC_LEN_SQ(velocity), criteria.minVelocitySq)\n );\n }\n\n shouldMultiFingerPanFail({\n pointerLength,\n scale,\n deltaRotation,\n }: {\n deltaRotation: number;\n pointerLength: number;\n scale: number;\n }) {\n if (pointerLength <= 1) {\n return false;\n }\n\n // Test if the pan had too much pinching or rotating.\n const deltaScale = Math.abs(scale - 1);\n const absDeltaRotation = Math.abs(deltaRotation);\n if (deltaScale > MULTI_FINGER_PAN_MAX_PINCH_THRESHOLD) {\n // > If the threshold doesn't seem right.\n // You can log the value which it failed at here:\n return true;\n }\n if (absDeltaRotation > MULTI_FINGER_PAN_MAX_ROTATION_THRESHOLD) {\n // > If the threshold doesn't seem right.\n // You can log the value which it failed at here:\n return true;\n }\n\n return false;\n }\n\n updateHasCustomActivationCriteria(\n criteria: Config & { minVelocityX?: number; minVelocityY?: number }\n ) {\n return (\n isValidNumber(criteria.minDistSq) ||\n isValidNumber(criteria.minVelocityX) ||\n isValidNumber(criteria.minVelocityY) ||\n isValidNumber(criteria.minVelocitySq) ||\n isValidNumber(criteria.activeOffsetXStart) ||\n isValidNumber(criteria.activeOffsetXEnd) ||\n isValidNumber(criteria.activeOffsetYStart) ||\n isValidNumber(criteria.activeOffsetYEnd)\n );\n }\n\n isGestureEnabledForEvent(\n props: any,\n _recognizer: any,\n inputData: HammerInputExt & { deltaRotation: number }\n ) {\n if (this.shouldFailUnderCustomCriteria(inputData, props)) {\n return { failed: true };\n }\n\n const velocity = { x: inputData.velocityX, y: inputData.velocityY };\n if (\n this.hasCustomActivationCriteria &&\n this.shouldActivateUnderCustomCriteria(\n { deltaX: inputData.deltaX, deltaY: inputData.deltaY, velocity },\n props\n )\n ) {\n if (\n this.shouldMultiFingerPanFail({\n pointerLength: inputData.maxPointers,\n scale: inputData.scale,\n deltaRotation: inputData.deltaRotation,\n })\n ) {\n return {\n failed: true,\n };\n }\n return { success: true };\n }\n return { success: false };\n }\n}\n\nexport default PanGestureHandler;\n","import Hammer from '@egjs/hammerjs';\n\nimport DiscreteGestureHandler from './DiscreteGestureHandler';\nimport { HammerInputExt } from './GestureHandler';\nimport { isnan } from './utils';\n\nclass TapGestureHandler extends DiscreteGestureHandler {\n private _shouldFireEndEvent: HammerInputExt | null = null;\n private _timer: any;\n private _multiTapTimer: any; // TODO unused?\n get name() {\n return 'tap';\n }\n\n get NativeGestureClass() {\n return Hammer.Tap;\n }\n\n get maxDelayMs() {\n // @ts-ignore TODO(TS) trace down config\n return isnan(this.config.maxDelayMs) ? 300 : this.config.maxDelayMs;\n }\n\n simulateCancelEvent(inputData: HammerInputExt) {\n if (this.isGestureRunning) {\n this.cancelEvent(inputData);\n }\n }\n\n onGestureActivated(ev: HammerInputExt) {\n if (this.isGestureRunning) {\n this.onSuccessfulTap(ev);\n }\n }\n\n onSuccessfulTap = (ev: HammerInputExt) => {\n if (this._getPendingGestures().length) {\n this._shouldFireEndEvent = ev;\n return;\n }\n if (ev.eventType === Hammer.INPUT_END) {\n this.sendEvent({ ...ev, eventType: Hammer.INPUT_MOVE });\n }\n // When handler gets activated it will turn into State.END immediately.\n this.sendEvent({ ...ev, isFinal: true });\n this.onGestureEnded(ev);\n };\n\n onRawEvent(ev: HammerInput) {\n super.onRawEvent(ev);\n\n // Attempt to create a touch-down event by checking if a valid tap hasn't started yet, then validating the input.\n if (\n !this.hasGestureFailed &&\n !this.isGestureRunning &&\n // Prevent multi-pointer events from misfiring.\n !ev.isFinal\n ) {\n // Tap Gesture start event\n const gesture = this.hammer!.get(this.name);\n // @ts-ignore TODO(TS) trace down config\n if (gesture.options.enable(gesture, ev)) {\n clearTimeout(this._multiTapTimer);\n\n this.onStart(ev);\n this.sendEvent(ev);\n }\n }\n if (ev.isFinal && ev.maxPointers > 1) {\n setTimeout(() => {\n // Handle case where one finger presses slightly\n // after the first finger on a multi-tap event\n if (this.isGestureRunning) {\n this.cancelEvent(ev);\n }\n });\n }\n\n if (this.hasGestureFailed) {\n return;\n }\n // Hammer doesn't send a `cancel` event for taps.\n // Manually fail the event.\n if (ev.isFinal) {\n // Handle case where one finger presses slightly\n // after the first finger on a multi-tap event\n if (ev.maxPointers > 1) {\n setTimeout(() => {\n if (this.isGestureRunning) {\n this.cancelEvent(ev);\n }\n });\n }\n\n // Clear last timer\n clearTimeout(this._timer);\n // Create time out for multi-taps.\n this._timer = setTimeout(() => {\n this.hasGestureFailed = true;\n this.cancelEvent(ev);\n }, this.maxDelayMs);\n } else if (!this.hasGestureFailed && !this.isGestureRunning) {\n // Tap Gesture start event\n const gesture = this.hammer!.get(this.name);\n // @ts-ignore TODO(TS) trace down config\n if (gesture.options.enable(gesture, ev)) {\n clearTimeout(this._multiTapTimer);\n\n this.onStart(ev);\n this.sendEvent(ev);\n }\n }\n }\n\n getHammerConfig() {\n return {\n ...super.getHammerConfig(),\n event: this.name,\n // @ts-ignore TODO(TS) trace down config\n taps: isnan(this.config.numberOfTaps) ? 1 : this.config.numberOfTaps,\n interval: this.maxDelayMs,\n time:\n // @ts-ignore TODO(TS) trace down config\n isnan(this.config.maxDurationMs) || this.config.maxDurationMs == null\n ? 250\n : // @ts-ignore TODO(TS) trace down config\n this.config.maxDurationMs,\n };\n }\n\n updateGestureConfig({\n shouldCancelWhenOutside = true,\n maxDeltaX = Number.NaN,\n maxDeltaY = Number.NaN,\n numberOfTaps = 1,\n minDurationMs = 525,\n maxDelayMs = Number.NaN,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars -- TODO possibly forgotten to use in updateGestureConfig?\n maxDurationMs = Number.NaN,\n maxDist = 2,\n minPointers = 1,\n maxPointers = 1,\n ...props\n }) {\n return super.updateGestureConfig({\n shouldCancelWhenOutside,\n numberOfTaps,\n maxDeltaX,\n maxDeltaY,\n minDurationMs,\n maxDelayMs,\n maxDist,\n minPointers,\n maxPointers,\n ...props,\n });\n }\n\n onGestureEnded(...props: any) {\n clearTimeout(this._timer);\n // @ts-ignore TODO(TS) check how onGestureEnded works\n super.onGestureEnded(...props);\n }\n\n onWaitingEnded(_gesture: any) {\n if (this._shouldFireEndEvent) {\n this.onSuccessfulTap(this._shouldFireEndEvent);\n this._shouldFireEndEvent = null;\n }\n }\n}\nexport default TapGestureHandler;\n","/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport Hammer from '@egjs/hammerjs';\n\nimport { State } from '../State';\nimport PressGestureHandler from './PressGestureHandler';\nimport { isnan, isValidNumber } from './utils';\nimport { Config } from './GestureHandler';\nimport { HammerInputNames } from './constants';\n\nclass LongPressGestureHandler extends PressGestureHandler {\n get minDurationMs(): number {\n // @ts-ignore FIXNE(TS)\n return isnan(this.config.minDurationMs) ? 251 : this.config.minDurationMs;\n }\n\n get maxDist() {\n // @ts-ignore FIXNE(TS)\n return isnan(this.config.maxDist) ? 9 : this.config.maxDist;\n }\n\n updateHasCustomActivationCriteria({ maxDistSq }: Config) {\n return !isValidNumber(maxDistSq);\n }\n\n getConfig() {\n if (!this.hasCustomActivationCriteria) {\n // Default config\n // If no params have been defined then this config should emulate the native gesture as closely as possible.\n return {\n shouldCancelWhenOutside: true,\n maxDistSq: 10,\n };\n }\n return this.config;\n }\n\n getHammerConfig() {\n return {\n ...super.getHammerConfig(),\n // threshold: this.maxDist,\n time: this.minDurationMs,\n };\n }\n\n getState(type: keyof typeof HammerInputNames) {\n return {\n [Hammer.INPUT_START]: State.ACTIVE,\n [Hammer.INPUT_MOVE]: State.ACTIVE,\n [Hammer.INPUT_END]: State.END,\n [Hammer.INPUT_CANCEL]: State.FAILED,\n }[type];\n }\n}\n\nexport default LongPressGestureHandler;\n","import GestureHandler from './GestureHandler';\n\n/**\n * The base class for **Rotation** and **Pinch** gesture handlers.\n */\nabstract class IndiscreteGestureHandler extends GestureHandler {\n get shouldEnableGestureOnSetup() {\n return false;\n }\n\n updateGestureConfig({ minPointers = 2, maxPointers = 2, ...props }) {\n return super.updateGestureConfig({\n minPointers,\n maxPointers,\n ...props,\n });\n }\n\n isGestureEnabledForEvent(\n { minPointers, maxPointers }: any,\n _recognizer: any,\n { maxPointers: pointerLength }: any\n ) {\n if (pointerLength > maxPointers) {\n return { failed: true };\n }\n const validPointerCount = pointerLength >= minPointers;\n return {\n success: validPointerCount,\n };\n }\n}\nexport default IndiscreteGestureHandler;\n","import Hammer from '@egjs/hammerjs';\nimport { HammerInputExt } from './GestureHandler';\n\nimport IndiscreteGestureHandler from './IndiscreteGestureHandler';\n\nclass PinchGestureHandler extends IndiscreteGestureHandler {\n get name() {\n return 'pinch';\n }\n\n get NativeGestureClass() {\n return Hammer.Pinch;\n }\n\n transformNativeEvent({ scale, velocity, center }: HammerInputExt) {\n return {\n focalX: center.x,\n focalY: center.y,\n velocity,\n scale,\n };\n }\n}\n\nexport default PinchGestureHandler;\n","import Hammer from '@egjs/hammerjs';\n\nimport { DEG_RAD } from './constants';\nimport { HammerInputExt } from './GestureHandler';\nimport IndiscreteGestureHandler from './IndiscreteGestureHandler';\n\nclass RotationGestureHandler extends IndiscreteGestureHandler {\n get name() {\n return 'rotate';\n }\n\n get NativeGestureClass() {\n return Hammer.Rotate;\n }\n\n transformNativeEvent({ rotation, velocity, center }: HammerInputExt) {\n return {\n rotation: (rotation - (this.initialRotation ?? 0)) * DEG_RAD,\n anchorX: center.x,\n anchorY: center.y,\n velocity,\n };\n }\n}\nexport default RotationGestureHandler;\n","export class GesturePropError extends Error {\n constructor(name: string, value: unknown, expectedType: string) {\n super(\n `Invalid property \\`${name}: ${value}\\` expected \\`${expectedType}\\``\n );\n }\n}\n","/* eslint-disable eslint-comments/no-unlimited-disable */\n/* eslint-disable */\nimport Hammer from '@egjs/hammerjs';\n\nimport { Direction } from './constants';\nimport { GesturePropError } from './Errors';\nimport DraggingGestureHandler from './DraggingGestureHandler';\nimport { isnan } from './utils';\nimport { HammerInputExt } from './GestureHandler';\n\nclass FlingGestureHandler extends DraggingGestureHandler {\n get name() {\n return 'swipe';\n }\n\n get NativeGestureClass() {\n return Hammer.Swipe;\n }\n\n onGestureActivated(event: HammerInputExt) {\n this.sendEvent({\n ...event,\n eventType: Hammer.INPUT_MOVE,\n isFinal: false,\n isFirst: true,\n });\n this.isGestureRunning = false;\n this.hasGestureFailed = false;\n this.sendEvent({\n ...event,\n eventType: Hammer.INPUT_END,\n isFinal: true,\n });\n }\n\n onRawEvent(ev: HammerInputExt) {\n super.onRawEvent(ev);\n if (this.hasGestureFailed) {\n return;\n }\n // Hammer doesn't send a `cancel` event for taps.\n // Manually fail the event.\n if (ev.isFinal) {\n setTimeout(() => {\n if (this.isGestureRunning) {\n this.cancelEvent(ev);\n }\n });\n } else if (!this.hasGestureFailed && !this.isGestureRunning) {\n // Tap Gesture start event\n const gesture = this.hammer!.get(this.name);\n // @ts-ignore FIXME(TS)\n if (gesture.options.enable(gesture, ev)) {\n this.onStart(ev);\n this.sendEvent(ev);\n }\n }\n }\n\n getHammerConfig() {\n return {\n // @ts-ignore FIXME(TS)\n pointers: this.config.numberOfPointers,\n direction: this.getDirection(),\n };\n }\n\n getTargetDirections(direction: number) {\n const directions = [];\n if (direction & Direction.RIGHT) {\n directions.push(Hammer.DIRECTION_RIGHT);\n }\n if (direction & Direction.LEFT) {\n directions.push(Hammer.DIRECTION_LEFT);\n }\n if (direction & Direction.UP) {\n directions.push(Hammer.DIRECTION_UP);\n }\n if (direction & Direction.DOWN) {\n directions.push(Hammer.DIRECTION_DOWN);\n }\n // const hammerDirection = directions.reduce((a, b) => a | b, 0);\n return directions;\n }\n\n getDirection() {\n // @ts-ignore FIXME(TS)\n const { direction } = this.getConfig();\n\n let directions = [];\n if (direction & Direction.RIGHT) {\n directions.push(Hammer.DIRECTION_HORIZONTAL);\n }\n if (direction & Direction.LEFT) {\n directions.push(Hammer.DIRECTION_HORIZONTAL);\n }\n if (direction & Direction.UP) {\n directions.push(Hammer.DIRECTION_VERTICAL);\n }\n if (direction & Direction.DOWN) {\n directions.push(Hammer.DIRECTION_VERTICAL);\n }\n directions = [...new Set(directions)];\n\n if (directions.length === 0) return Hammer.DIRECTION_NONE;\n if (directions.length === 1) return directions[0];\n return Hammer.DIRECTION_ALL;\n }\n\n isGestureEnabledForEvent(\n { numberOfPointers }: any,\n _recognizer: any,\n { maxPointers: pointerLength }: any\n ) {\n const validPointerCount = pointerLength === numberOfPointers;\n if (!validPointerCount && this.isGestureRunning) {\n return { failed: true };\n }\n return { success: validPointerCount };\n }\n\n updateGestureConfig({ numberOfPointers = 1, direction, ...props }: any) {\n if (isnan(direction) || typeof direction !== 'number') {\n throw new GesturePropError('direction', direction, 'number');\n }\n return super.updateGestureConfig({\n numberOfPointers,\n direction,\n ...props,\n });\n }\n}\n\nexport default FlingGestureHandler;\n","// Gesture Handlers\nimport PanGestureHandler from './handlers/PanGestureHandler';\nimport TapGestureHandler from './handlers/TapGestureHandler';\nimport LongPressGestureHandler from './handlers/LongPressGestureHandler';\nimport PinchGestureHandler from './handlers/PinchGestureHandler';\nimport RotationGestureHandler from './handlers/RotationGestureHandler';\nimport FlingGestureHandler from './handlers/FlingGestureHandler';\nimport NativeViewGestureHandler from './handlers/NativeViewGestureHandler';\nimport ManualGestureHandler from './handlers/ManualGestureHandler';\nimport HoverGestureHandler from './handlers/HoverGestureHandler';\n\n// Hammer Handlers\nimport HammerNativeViewGestureHandler from '../web_hammer/NativeViewGestureHandler';\nimport HammerPanGestureHandler from '../web_hammer/PanGestureHandler';\nimport HammerTapGestureHandler from '../web_hammer/TapGestureHandler';\nimport HammerLongPressGestureHandler from '../web_hammer/LongPressGestureHandler';\nimport HammerPinchGestureHandler from '../web_hammer/PinchGestureHandler';\nimport HammerRotationGestureHandler from '../web_hammer/RotationGestureHandler';\nimport HammerFlingGestureHandler from '../web_hammer/FlingGestureHandler';\n\nexport const Gestures = {\n NativeViewGestureHandler,\n PanGestureHandler,\n TapGestureHandler,\n LongPressGestureHandler,\n PinchGestureHandler,\n RotationGestureHandler,\n FlingGestureHandler,\n ManualGestureHandler,\n HoverGestureHandler,\n};\n\nexport const HammerGestures = {\n NativeViewGestureHandler: HammerNativeViewGestureHandler,\n PanGestureHandler: HammerPanGestureHandler,\n TapGestureHandler: HammerTapGestureHandler,\n LongPressGestureHandler: HammerLongPressGestureHandler,\n PinchGestureHandler: HammerPinchGestureHandler,\n RotationGestureHandler: HammerRotationGestureHandler,\n FlingGestureHandler: HammerFlingGestureHandler,\n};\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { AdaptedEvent, EventTypes, TouchEventType } from '../interfaces';\n\ntype PointerEventCallback = (event: AdaptedEvent) => void;\n\nexport default abstract class EventManager {\n protected readonly view: T;\n protected pointersInBounds: number[] = [];\n protected activePointersCounter: number;\n\n constructor(view: T) {\n this.view = view;\n this.activePointersCounter = 0;\n }\n\n public abstract registerListeners(): void;\n public abstract unregisterListeners(): void;\n\n protected abstract mapEvent(\n event: Event,\n eventType: EventTypes,\n index?: number,\n touchEventType?: TouchEventType\n ): AdaptedEvent;\n\n protected onPointerDown(_event: AdaptedEvent): void {}\n protected onPointerAdd(_event: AdaptedEvent): void {}\n protected onPointerUp(_event: AdaptedEvent): void {}\n protected onPointerRemove(_event: AdaptedEvent): void {}\n protected onPointerMove(_event: AdaptedEvent): void {}\n protected onPointerLeave(_event: AdaptedEvent): void {} // Called only when pointer is pressed (or touching)\n protected onPointerEnter(_event: AdaptedEvent): void {} // Called only when pointer is pressed (or touching)\n protected onPointerCancel(_event: AdaptedEvent): void {\n // When pointer cancel is triggered and there are more pointers on the view, only one pointer is cancelled\n // Because we want all pointers to be cancelled by that event, we are doing it manually by reseting handler and changing activePointersCounter to 0\n // Events that correspond to removing the pointer (pointerup, touchend) have condition, that they don't perform any action when activePointersCounter\n // is equal to 0. This prevents counter from going to negative values, when pointers are removed from view after one of them has been cancelled\n }\n protected onPointerOutOfBounds(_event: AdaptedEvent): void {}\n protected onPointerMoveOver(_event: AdaptedEvent): void {}\n protected onPointerMoveOut(_event: AdaptedEvent): void {}\n\n public setOnPointerDown(callback: PointerEventCallback): void {\n this.onPointerDown = callback;\n }\n public setOnPointerAdd(callback: PointerEventCallback): void {\n this.onPointerAdd = callback;\n }\n public setOnPointerUp(callback: PointerEventCallback): void {\n this.onPointerUp = callback;\n }\n public setOnPointerRemove(callback: PointerEventCallback): void {\n this.onPointerRemove = callback;\n }\n public setOnPointerMove(callback: PointerEventCallback): void {\n this.onPointerMove = callback;\n }\n public setOnPointerLeave(callback: PointerEventCallback): void {\n this.onPointerLeave = callback;\n }\n public setOnPointerEnter(callback: PointerEventCallback): void {\n this.onPointerEnter = callback;\n }\n public setOnPointerCancel(callback: PointerEventCallback): void {\n this.onPointerCancel = callback;\n }\n public setOnPointerOutOfBounds(callback: PointerEventCallback): void {\n this.onPointerOutOfBounds = callback;\n }\n public setOnPointerMoveOver(callback: PointerEventCallback): void {\n this.onPointerMoveOver = callback;\n }\n public setOnPointerMoveOut(callback: PointerEventCallback): void {\n this.onPointerMoveOut = callback;\n }\n\n protected markAsInBounds(pointerId: number): void {\n if (this.pointersInBounds.indexOf(pointerId) >= 0) {\n return;\n }\n\n this.pointersInBounds.push(pointerId);\n }\n\n protected markAsOutOfBounds(pointerId: number): void {\n const index: number = this.pointersInBounds.indexOf(pointerId);\n\n if (index < 0) {\n return;\n }\n\n this.pointersInBounds.splice(index, 1);\n }\n\n public resetManager(): void {\n // Reseting activePointersCounter is necessary to make gestures such as pinch work properly\n // There are gestures that end when there is still one active pointer (like pinch/rotation)\n // When these gestures end, they are reset, but they still receive events from pointer that is active\n // This causes trouble, since only onPointerDown registers gesture in orchestrator, and while gestures receive\n // Events from active pointer after they finished, next pointerdown event will be registered as additional pointer, not the first one\n // This casues trouble like gestures getting stuck in END state, even though they should have gone to UNDETERMINED\n\n this.activePointersCounter = 0;\n this.pointersInBounds = [];\n }\n}\n","import EventManager from './EventManager';\nimport { MouseButton } from '../../handlers/gestureHandlerCommon';\nimport { AdaptedEvent, EventTypes, Point } from '../interfaces';\nimport {\n PointerTypeMapping,\n calculateViewScale,\n isPointerInBounds,\n} from '../utils';\nimport { PointerType } from '../../PointerType';\n\nconst POINTER_CAPTURE_EXCLUDE_LIST = new Set(['SELECT', 'INPUT']);\nconst PointerTypes = {\n Touch: 'touch',\n Stylus: 'pen',\n};\n\nexport default class PointerEventManager extends EventManager {\n private trackedPointers = new Set();\n private readonly mouseButtonsMapper = new Map();\n private lastPosition: Point;\n\n constructor(view: HTMLElement) {\n super(view);\n\n this.mouseButtonsMapper.set(0, MouseButton.LEFT);\n this.mouseButtonsMapper.set(1, MouseButton.MIDDLE);\n this.mouseButtonsMapper.set(2, MouseButton.RIGHT);\n this.mouseButtonsMapper.set(3, MouseButton.BUTTON_4);\n this.mouseButtonsMapper.set(4, MouseButton.BUTTON_5);\n\n this.lastPosition = {\n x: -Infinity,\n y: -Infinity,\n };\n }\n\n private pointerDownCallback = (event: PointerEvent) => {\n if (event.pointerType === PointerTypes.Touch) {\n return;\n }\n if (!isPointerInBounds(this.view, { x: event.clientX, y: event.clientY })) {\n return;\n }\n\n const adaptedEvent: AdaptedEvent = this.mapEvent(event, EventTypes.DOWN);\n const target = event.target as HTMLElement;\n\n if (!POINTER_CAPTURE_EXCLUDE_LIST.has(target.tagName)) {\n target.setPointerCapture(adaptedEvent.pointerId);\n }\n\n this.markAsInBounds(adaptedEvent.pointerId);\n this.trackedPointers.add(adaptedEvent.pointerId);\n\n if (++this.activePointersCounter > 1) {\n adaptedEvent.eventType = EventTypes.ADDITIONAL_POINTER_DOWN;\n this.onPointerAdd(adaptedEvent);\n } else {\n this.onPointerDown(adaptedEvent);\n }\n };\n\n private pointerUpCallback = (event: PointerEvent) => {\n if (event.pointerType === PointerTypes.Touch) {\n return;\n }\n\n // When we call reset on gesture handlers, it also resets their event managers\n // In some handlers (like RotationGestureHandler) reset is called before all pointers leave view\n // This means, that activePointersCounter will be set to 0, while there are still remaining pointers on view\n // Removing them will end in activePointersCounter going below 0, therefore handlers won't behave properly\n if (this.activePointersCounter === 0) {\n return;\n }\n\n const adaptedEvent: AdaptedEvent = this.mapEvent(event, EventTypes.UP);\n const target = event.target as HTMLElement;\n\n if (!POINTER_CAPTURE_EXCLUDE_LIST.has(target.tagName)) {\n target.releasePointerCapture(adaptedEvent.pointerId);\n }\n\n this.markAsOutOfBounds(adaptedEvent.pointerId);\n this.trackedPointers.delete(adaptedEvent.pointerId);\n\n if (--this.activePointersCounter > 0) {\n adaptedEvent.eventType = EventTypes.ADDITIONAL_POINTER_UP;\n this.onPointerRemove(adaptedEvent);\n } else {\n this.onPointerUp(adaptedEvent);\n }\n };\n\n private pointerMoveCallback = (event: PointerEvent) => {\n if (event.pointerType === PointerTypes.Touch) {\n return;\n }\n\n // Stylus triggers `pointermove` event when it detects changes in pressure. Since it is very sensitive to those changes,\n // it constantly sends events, even though there was no change in position. To fix that we check whether\n // pointer has actually moved and if not, we do not send event.\n if (\n event.pointerType === PointerTypes.Stylus &&\n event.x === this.lastPosition.x &&\n event.y === this.lastPosition.y\n ) {\n return;\n }\n\n const adaptedEvent: AdaptedEvent = this.mapEvent(event, EventTypes.MOVE);\n const target = event.target as HTMLElement;\n\n // You may be wondering why are we setting pointer capture here, when we\n // already set it in `pointerdown` handler. Well, that's a great question,\n // for which I don't have an answer. Specification (https://www.w3.org/TR/pointerevents2/#dom-element-setpointercapture)\n // says that the requirement for `setPointerCapture` to work is that pointer\n // must be in 'active buttons state`, otherwise it will fail silently, which\n // is lovely. Obviously, when `pointerdown` is fired, one of the buttons\n // (when using mouse) is pressed, but that doesn't mean that `setPointerCapture`\n // will succeed, for some reason. Since it fails silently, we don't actually know\n // if it worked or not (there's `gotpointercapture` event, but the complexity of\n // incorporating it here seems stupid), so we just call it again here, every time\n // pointer moves until it succeeds.\n // God, I do love web development.\n if (\n !target.hasPointerCapture(event.pointerId) &&\n !POINTER_CAPTURE_EXCLUDE_LIST.has(target.tagName)\n ) {\n target.setPointerCapture(event.pointerId);\n }\n\n const inBounds: boolean = isPointerInBounds(this.view, {\n x: adaptedEvent.x,\n y: adaptedEvent.y,\n });\n\n const pointerIndex: number = this.pointersInBounds.indexOf(\n adaptedEvent.pointerId\n );\n\n if (inBounds) {\n if (pointerIndex < 0) {\n adaptedEvent.eventType = EventTypes.ENTER;\n this.onPointerEnter(adaptedEvent);\n this.markAsInBounds(adaptedEvent.pointerId);\n } else {\n this.onPointerMove(adaptedEvent);\n }\n } else {\n if (pointerIndex >= 0) {\n adaptedEvent.eventType = EventTypes.LEAVE;\n this.onPointerLeave(adaptedEvent);\n this.markAsOutOfBounds(adaptedEvent.pointerId);\n } else {\n this.onPointerOutOfBounds(adaptedEvent);\n }\n }\n\n this.lastPosition.x = event.x;\n this.lastPosition.y = event.y;\n };\n\n private pointerCancelCallback = (event: PointerEvent) => {\n if (event.pointerType === PointerTypes.Touch) {\n return;\n }\n\n const adaptedEvent: AdaptedEvent = this.mapEvent(event, EventTypes.CANCEL);\n\n this.onPointerCancel(adaptedEvent);\n this.markAsOutOfBounds(adaptedEvent.pointerId);\n this.activePointersCounter = 0;\n this.trackedPointers.clear();\n };\n\n private pointerEnterCallback = (event: PointerEvent) => {\n if (event.pointerType === PointerTypes.Touch) {\n return;\n }\n\n const adaptedEvent: AdaptedEvent = this.mapEvent(event, EventTypes.ENTER);\n\n this.onPointerMoveOver(adaptedEvent);\n };\n\n private pointerLeaveCallback = (event: PointerEvent) => {\n if (event.pointerType === PointerTypes.Touch) {\n return;\n }\n\n const adaptedEvent: AdaptedEvent = this.mapEvent(event, EventTypes.LEAVE);\n\n this.onPointerMoveOut(adaptedEvent);\n };\n\n private lostPointerCaptureCallback = (event: PointerEvent) => {\n const adaptedEvent: AdaptedEvent = this.mapEvent(event, EventTypes.CANCEL);\n\n if (this.trackedPointers.has(adaptedEvent.pointerId)) {\n // In some cases the `pointerup` event is not fired, but `lostpointercapture` is.\n // Here we simulate the `pointercancel` event to make sure the gesture handler stops tracking it.\n this.onPointerCancel(adaptedEvent);\n\n this.activePointersCounter = 0;\n this.trackedPointers.clear();\n }\n };\n\n public registerListeners(): void {\n this.view.addEventListener('pointerdown', this.pointerDownCallback);\n this.view.addEventListener('pointerup', this.pointerUpCallback);\n this.view.addEventListener('pointermove', this.pointerMoveCallback);\n this.view.addEventListener('pointercancel', this.pointerCancelCallback);\n\n // onPointerEnter and onPointerLeave are triggered by a custom logic responsible for\n // handling shouldCancelWhenOutside flag, and are unreliable unless the pointer is down.\n // We therefore use pointerenter and pointerleave events to handle the hover gesture,\n // mapping them to onPointerMoveOver and onPointerMoveOut respectively.\n this.view.addEventListener('pointerenter', this.pointerEnterCallback);\n this.view.addEventListener('pointerleave', this.pointerLeaveCallback);\n this.view.addEventListener(\n 'lostpointercapture',\n this.lostPointerCaptureCallback\n );\n }\n\n public unregisterListeners(): void {\n this.view.removeEventListener('pointerdown', this.pointerDownCallback);\n this.view.removeEventListener('pointerup', this.pointerUpCallback);\n this.view.removeEventListener('pointermove', this.pointerMoveCallback);\n this.view.removeEventListener('pointercancel', this.pointerCancelCallback);\n this.view.removeEventListener('pointerenter', this.pointerEnterCallback);\n this.view.removeEventListener('pointerleave', this.pointerLeaveCallback);\n this.view.removeEventListener(\n 'lostpointercapture',\n this.lostPointerCaptureCallback\n );\n }\n\n protected mapEvent(event: PointerEvent, eventType: EventTypes): AdaptedEvent {\n const rect = this.view.getBoundingClientRect();\n const { scaleX, scaleY } = calculateViewScale(this.view);\n\n return {\n x: event.clientX,\n y: event.clientY,\n offsetX: (event.clientX - rect.left) / scaleX,\n offsetY: (event.clientY - rect.top) / scaleY,\n pointerId: event.pointerId,\n eventType: eventType,\n pointerType:\n PointerTypeMapping.get(event.pointerType) ?? PointerType.OTHER,\n button: this.mouseButtonsMapper.get(event.button),\n time: event.timeStamp,\n };\n }\n\n public resetManager(): void {\n super.resetManager();\n this.trackedPointers.clear();\n }\n}\n","import { AdaptedEvent, EventTypes, TouchEventType } from '../interfaces';\nimport EventManager from './EventManager';\nimport { calculateViewScale, isPointerInBounds } from '../utils';\nimport { PointerType } from '../../PointerType';\n\nexport default class TouchEventManager extends EventManager {\n private touchStartCallback = (event: TouchEvent): void => {\n for (let i = 0; i < event.changedTouches.length; ++i) {\n const adaptedEvent: AdaptedEvent = this.mapEvent(\n event,\n EventTypes.DOWN,\n i,\n TouchEventType.DOWN\n );\n\n // Here we skip stylus, because in case of anything different than touch we want to handle it by using PointerEvents\n // If we leave stylus to send touch events, handlers will receive every action twice\n if (\n !isPointerInBounds(this.view, {\n x: adaptedEvent.x,\n y: adaptedEvent.y,\n }) ||\n // @ts-ignore touchType field does exist\n event.changedTouches[i].touchType === 'stylus'\n ) {\n continue;\n }\n\n this.markAsInBounds(adaptedEvent.pointerId);\n\n if (++this.activePointersCounter > 1) {\n adaptedEvent.eventType = EventTypes.ADDITIONAL_POINTER_DOWN;\n this.onPointerAdd(adaptedEvent);\n } else {\n this.onPointerDown(adaptedEvent);\n }\n }\n };\n\n private touchMoveCallback = (event: TouchEvent): void => {\n for (let i = 0; i < event.changedTouches.length; ++i) {\n const adaptedEvent: AdaptedEvent = this.mapEvent(\n event,\n EventTypes.MOVE,\n i,\n TouchEventType.MOVE\n );\n // @ts-ignore touchType field does exist\n if (event.changedTouches[i].touchType === 'stylus') {\n continue;\n }\n\n const inBounds: boolean = isPointerInBounds(this.view, {\n x: adaptedEvent.x,\n y: adaptedEvent.y,\n });\n\n const pointerIndex: number = this.pointersInBounds.indexOf(\n adaptedEvent.pointerId\n );\n\n if (inBounds) {\n if (pointerIndex < 0) {\n adaptedEvent.eventType = EventTypes.ENTER;\n this.onPointerEnter(adaptedEvent);\n this.markAsInBounds(adaptedEvent.pointerId);\n } else {\n this.onPointerMove(adaptedEvent);\n }\n } else {\n if (pointerIndex >= 0) {\n adaptedEvent.eventType = EventTypes.LEAVE;\n this.onPointerLeave(adaptedEvent);\n this.markAsOutOfBounds(adaptedEvent.pointerId);\n } else {\n this.onPointerOutOfBounds(adaptedEvent);\n }\n }\n }\n };\n\n private touchEndCallback = (event: TouchEvent): void => {\n for (let i = 0; i < event.changedTouches.length; ++i) {\n // When we call reset on gesture handlers, it also resets their event managers\n // In some handlers (like RotationGestureHandler) reset is called before all pointers leave view\n // This means, that activePointersCounter will be set to 0, while there are still remaining pointers on view\n // Removing them will end in activePointersCounter going below 0, therefore handlers won't behave properly\n if (this.activePointersCounter === 0) {\n break;\n }\n\n // @ts-ignore touchType field does exist\n if (event.changedTouches[i].touchType === 'stylus') {\n continue;\n }\n\n const adaptedEvent: AdaptedEvent = this.mapEvent(\n event,\n EventTypes.UP,\n i,\n TouchEventType.UP\n );\n\n this.markAsOutOfBounds(adaptedEvent.pointerId);\n\n if (--this.activePointersCounter > 0) {\n adaptedEvent.eventType = EventTypes.ADDITIONAL_POINTER_UP;\n this.onPointerRemove(adaptedEvent);\n } else {\n this.onPointerUp(adaptedEvent);\n }\n }\n };\n\n private touchCancelCallback = (event: TouchEvent): void => {\n for (let i = 0; i < event.changedTouches.length; ++i) {\n const adaptedEvent: AdaptedEvent = this.mapEvent(\n event,\n EventTypes.CANCEL,\n i,\n TouchEventType.CANCELLED\n );\n\n // @ts-ignore touchType field does exist\n if (event.changedTouches[i].touchType === 'stylus') {\n continue;\n }\n\n this.onPointerCancel(adaptedEvent);\n this.markAsOutOfBounds(adaptedEvent.pointerId);\n this.activePointersCounter = 0;\n }\n };\n\n public registerListeners(): void {\n this.view.addEventListener('touchstart', this.touchStartCallback);\n this.view.addEventListener('touchmove', this.touchMoveCallback);\n this.view.addEventListener('touchend', this.touchEndCallback);\n this.view.addEventListener('touchcancel', this.touchCancelCallback);\n }\n\n public unregisterListeners(): void {\n this.view.removeEventListener('touchstart', this.touchStartCallback);\n this.view.removeEventListener('touchmove', this.touchMoveCallback);\n this.view.removeEventListener('touchend', this.touchEndCallback);\n this.view.removeEventListener('touchcancel', this.touchCancelCallback);\n }\n\n protected mapEvent(\n event: TouchEvent,\n eventType: EventTypes,\n index: number,\n touchEventType: TouchEventType\n ): AdaptedEvent {\n const rect = this.view.getBoundingClientRect();\n const clientX = event.changedTouches[index].clientX;\n const clientY = event.changedTouches[index].clientY;\n\n const { scaleX, scaleY } = calculateViewScale(this.view);\n\n return {\n x: clientX,\n y: clientY,\n offsetX: (clientX - rect.left) / scaleX,\n offsetY: (clientY - rect.top) / scaleY,\n pointerId: event.changedTouches[index].identifier,\n eventType: eventType,\n pointerType: PointerType.TOUCH,\n time: event.timeStamp,\n allTouches: event.touches,\n changedTouches: event.changedTouches,\n touchEventType: touchEventType,\n };\n }\n}\n","import { AdaptedEvent, EventTypes } from '../interfaces';\nimport EventManager from './EventManager';\nimport { PointerType } from '../../PointerType';\n\nexport default class KeyboardEventManager extends EventManager {\n private activationKeys = ['Enter', ' '];\n private cancelationKeys = ['Tab'];\n private isPressed = false;\n\n private keyDownCallback = (event: KeyboardEvent): void => {\n if (this.cancelationKeys.indexOf(event.key) !== -1 && this.isPressed) {\n this.dispatchEvent(event, EventTypes.CANCEL);\n return;\n }\n\n if (this.activationKeys.indexOf(event.key) === -1) {\n return;\n }\n\n this.dispatchEvent(event, EventTypes.DOWN);\n };\n\n private keyUpCallback = (event: KeyboardEvent): void => {\n if (this.activationKeys.indexOf(event.key) === -1 || !this.isPressed) {\n return;\n }\n\n this.dispatchEvent(event, EventTypes.UP);\n };\n\n private dispatchEvent(event: KeyboardEvent, eventType: EventTypes) {\n if (!(event.target instanceof HTMLElement)) {\n return;\n }\n\n const adaptedEvent = this.mapEvent(event, eventType);\n\n switch (eventType) {\n case EventTypes.UP:\n this.isPressed = false;\n this.onPointerUp(adaptedEvent);\n break;\n case EventTypes.DOWN:\n this.isPressed = true;\n this.onPointerDown(adaptedEvent);\n break;\n case EventTypes.CANCEL:\n this.isPressed = false;\n this.onPointerCancel(adaptedEvent);\n break;\n }\n }\n\n public registerListeners(): void {\n this.view.addEventListener('keydown', this.keyDownCallback);\n this.view.addEventListener('keyup', this.keyUpCallback);\n }\n\n public unregisterListeners(): void {\n this.view.addEventListener('keydown', this.keyDownCallback);\n this.view.addEventListener('keyup', this.keyUpCallback);\n }\n\n protected mapEvent(\n event: KeyboardEvent,\n eventType: EventTypes\n ): AdaptedEvent {\n const viewRect = (event.target as HTMLElement).getBoundingClientRect();\n\n const viewportPosition = {\n x: viewRect?.x + viewRect?.width / 2,\n y: viewRect?.y + viewRect?.height / 2,\n };\n\n const relativePosition = {\n x: viewRect?.width / 2,\n y: viewRect?.height / 2,\n };\n\n return {\n x: viewportPosition.x,\n y: viewportPosition.y,\n offsetX: relativePosition.x,\n offsetY: relativePosition.y,\n pointerId: 0,\n eventType: eventType,\n pointerType: PointerType.KEY,\n time: event.timeStamp,\n };\n }\n}\n","import { findNodeHandle } from 'react-native';\nimport type IGestureHandler from '../handlers/IGestureHandler';\nimport {\n GestureHandlerDelegate,\n MeasureResult,\n} from './GestureHandlerDelegate';\nimport PointerEventManager from './PointerEventManager';\nimport TouchEventManager from './TouchEventManager';\nimport { State } from '../../State';\nimport { isPointerInBounds } from '../utils';\nimport EventManager from './EventManager';\nimport { Config } from '../interfaces';\nimport { MouseButton } from '../../handlers/gestureHandlerCommon';\nimport KeyboardEventManager from './KeyboardEventManager';\n\ninterface DefaultViewStyles {\n userSelect: string;\n touchAction: string;\n}\n\nexport class GestureHandlerWebDelegate\n implements GestureHandlerDelegate\n{\n private isInitialized = false;\n private view!: HTMLElement;\n private gestureHandler!: IGestureHandler;\n private eventManagers: EventManager[] = [];\n private defaultViewStyles: DefaultViewStyles = {\n userSelect: '',\n touchAction: '',\n };\n\n getView(): HTMLElement {\n return this.view;\n }\n\n init(viewRef: number, handler: IGestureHandler): void {\n if (!viewRef) {\n throw new Error(\n `Cannot find HTML Element for handler ${handler.getTag()}`\n );\n }\n\n this.isInitialized = true;\n\n this.gestureHandler = handler;\n this.view = findNodeHandle(viewRef) as unknown as HTMLElement;\n\n this.defaultViewStyles = {\n userSelect: this.view.style.userSelect,\n touchAction: this.view.style.touchAction,\n };\n\n const config = handler.getConfig();\n\n this.setUserSelect(config.enabled);\n this.setTouchAction(config.enabled);\n this.setContextMenu(config.enabled);\n\n this.eventManagers.push(new PointerEventManager(this.view));\n this.eventManagers.push(new TouchEventManager(this.view));\n this.eventManagers.push(new KeyboardEventManager(this.view));\n\n this.eventManagers.forEach((manager) =>\n this.gestureHandler.attachEventManager(manager)\n );\n }\n\n isPointerInBounds({ x, y }: { x: number; y: number }): boolean {\n return isPointerInBounds(this.view, { x, y });\n }\n\n measureView(): MeasureResult {\n const rect = this.view.getBoundingClientRect();\n\n return {\n pageX: rect.left,\n pageY: rect.top,\n width: rect.width,\n height: rect.height,\n };\n }\n\n reset(): void {\n this.eventManagers.forEach((manager: EventManager) =>\n manager.resetManager()\n );\n }\n\n tryResetCursor() {\n const config = this.gestureHandler.getConfig();\n\n if (\n config.activeCursor &&\n config.activeCursor !== 'auto' &&\n this.gestureHandler.getState() === State.ACTIVE\n ) {\n this.view.style.cursor = 'auto';\n }\n }\n\n private shouldDisableContextMenu(config: Config) {\n return (\n (config.enableContextMenu === undefined &&\n this.gestureHandler.isButtonInConfig(MouseButton.RIGHT)) ||\n config.enableContextMenu === false\n );\n }\n\n private addContextMenuListeners(config: Config): void {\n if (this.shouldDisableContextMenu(config)) {\n this.view.addEventListener('contextmenu', this.disableContextMenu);\n } else if (config.enableContextMenu) {\n this.view.addEventListener('contextmenu', this.enableContextMenu);\n }\n }\n\n private removeContextMenuListeners(config: Config): void {\n if (this.shouldDisableContextMenu(config)) {\n this.view.removeEventListener('contextmenu', this.disableContextMenu);\n } else if (config.enableContextMenu) {\n this.view.removeEventListener('contextmenu', this.enableContextMenu);\n }\n }\n\n private disableContextMenu(this: void, e: MouseEvent): void {\n e.preventDefault();\n }\n\n private enableContextMenu(this: void, e: MouseEvent): void {\n e.stopPropagation();\n }\n\n private setUserSelect(isHandlerEnabled: boolean) {\n const { userSelect } = this.gestureHandler.getConfig();\n\n this.view.style['userSelect'] = isHandlerEnabled\n ? userSelect ?? 'none'\n : this.defaultViewStyles.userSelect;\n\n this.view.style['webkitUserSelect'] = isHandlerEnabled\n ? userSelect ?? 'none'\n : this.defaultViewStyles.userSelect;\n }\n\n private setTouchAction(isHandlerEnabled: boolean) {\n const { touchAction } = this.gestureHandler.getConfig();\n\n this.view.style['touchAction'] = isHandlerEnabled\n ? touchAction ?? 'none'\n : this.defaultViewStyles.touchAction;\n\n // @ts-ignore This one disables default events on Safari\n this.view.style['WebkitTouchCallout'] = isHandlerEnabled\n ? touchAction ?? 'none'\n : this.defaultViewStyles.touchAction;\n }\n\n private setContextMenu(isHandlerEnabled: boolean) {\n const config = this.gestureHandler.getConfig();\n\n if (isHandlerEnabled) {\n this.addContextMenuListeners(config);\n } else {\n this.removeContextMenuListeners(config);\n }\n }\n\n onEnabledChange(enabled: boolean): void {\n if (!this.isInitialized) {\n return;\n }\n\n this.setUserSelect(enabled);\n this.setTouchAction(enabled);\n this.setContextMenu(enabled);\n }\n\n onBegin(): void {\n // no-op for now\n }\n\n onActivate(): void {\n const config = this.gestureHandler.getConfig();\n\n if (\n (!this.view.style.cursor || this.view.style.cursor === 'auto') &&\n config.activeCursor\n ) {\n this.view.style.cursor = config.activeCursor;\n }\n }\n\n onEnd(): void {\n this.tryResetCursor();\n }\n\n onCancel(): void {\n this.tryResetCursor();\n }\n\n onFail(): void {\n this.tryResetCursor();\n }\n\n public destroy(config: Config): void {\n this.removeContextMenuListeners(config);\n\n this.eventManagers.forEach((manager) => {\n manager.unregisterListeners();\n });\n }\n}\n","import React from 'react';\n\nimport type { ActionType } from './ActionType';\nimport { isNewWebImplementationEnabled } from './EnableNewWebImplementation';\nimport { Gestures, HammerGestures } from './web/Gestures';\nimport type { Config } from './web/interfaces';\nimport InteractionManager from './web/tools/InteractionManager';\nimport NodeManager from './web/tools/NodeManager';\nimport * as HammerNodeManager from './web_hammer/NodeManager';\nimport { GestureHandlerWebDelegate } from './web/tools/GestureHandlerWebDelegate';\n\nexport default {\n handleSetJSResponder(tag: number, blockNativeResponder: boolean) {\n console.warn('handleSetJSResponder: ', tag, blockNativeResponder);\n },\n handleClearJSResponder() {\n console.warn('handleClearJSResponder: ');\n },\n createGestureHandler(\n handlerName: keyof typeof Gestures,\n handlerTag: number,\n config: T\n ) {\n if (isNewWebImplementationEnabled()) {\n if (!(handlerName in Gestures)) {\n throw new Error(\n `react-native-gesture-handler: ${handlerName} is not supported on web.`\n );\n }\n\n const GestureClass = Gestures[handlerName];\n NodeManager.createGestureHandler(\n handlerTag,\n new GestureClass(new GestureHandlerWebDelegate())\n );\n InteractionManager.getInstance().configureInteractions(\n NodeManager.getHandler(handlerTag),\n config as unknown as Config\n );\n } else {\n if (!(handlerName in HammerGestures)) {\n throw new Error(\n `react-native-gesture-handler: ${handlerName} is not supported on web.`\n );\n }\n\n // @ts-ignore If it doesn't exist, the error is thrown\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const GestureClass = HammerGestures[handlerName];\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n HammerNodeManager.createGestureHandler(handlerTag, new GestureClass());\n }\n\n this.updateGestureHandler(handlerTag, config as unknown as Config);\n },\n attachGestureHandler(\n handlerTag: number,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n newView: any,\n _actionType: ActionType,\n propsRef: React.RefObject\n ) {\n if (\n !(newView instanceof HTMLElement || newView instanceof React.Component)\n ) {\n return;\n }\n\n if (isNewWebImplementationEnabled()) {\n // @ts-ignore Types should be HTMLElement or React.Component\n NodeManager.getHandler(handlerTag).init(newView, propsRef);\n } else {\n // @ts-ignore Types should be HTMLElement or React.Component\n HammerNodeManager.getHandler(handlerTag).setView(newView, propsRef);\n }\n },\n updateGestureHandler(handlerTag: number, newConfig: Config) {\n if (isNewWebImplementationEnabled()) {\n NodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);\n\n InteractionManager.getInstance().configureInteractions(\n NodeManager.getHandler(handlerTag),\n newConfig\n );\n } else {\n HammerNodeManager.getHandler(handlerTag).updateGestureConfig(newConfig);\n }\n },\n getGestureHandlerNode(handlerTag: number) {\n if (isNewWebImplementationEnabled()) {\n return NodeManager.getHandler(handlerTag);\n } else {\n return HammerNodeManager.getHandler(handlerTag);\n }\n },\n dropGestureHandler(handlerTag: number) {\n if (isNewWebImplementationEnabled()) {\n NodeManager.dropGestureHandler(handlerTag);\n } else {\n HammerNodeManager.dropGestureHandler(handlerTag);\n }\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n flushOperations() {},\n};\n","import React from 'react';\n\nexport default React.createContext(false);\n","import * as React from 'react';\nimport { PropsWithChildren } from 'react';\nimport { View, ViewProps, StyleSheet } from 'react-native';\nimport GestureHandlerRootViewContext from '../GestureHandlerRootViewContext';\n\nexport interface GestureHandlerRootViewProps\n extends PropsWithChildren {}\n\nexport default function GestureHandlerRootView({\n style,\n ...rest\n}: GestureHandlerRootViewProps) {\n return (\n \n \n \n );\n}\n\nconst styles = StyleSheet.create({\n container: { flex: 1 },\n});\n","import * as React from 'react';\nimport { StyleSheet, StyleProp, ViewStyle } from 'react-native';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport GestureHandlerRootView from './GestureHandlerRootView';\n\nexport default function gestureHandlerRootHOC

(\n Component: React.ComponentType

,\n containerStyles?: StyleProp\n): React.ComponentType

{\n function Wrapper(props: P) {\n return (\n \n \n \n );\n }\n\n Wrapper.displayName = `gestureHandlerRootHOC(${\n Component.displayName || Component.name\n })`;\n\n // @ts-ignore - hoistNonReactStatics uses old version of @types/react\n hoistNonReactStatics(Wrapper, Component);\n\n return Wrapper;\n}\n\nconst styles = StyleSheet.create({\n container: { flex: 1 },\n});\n","let handlerTag = 1;\n\nexport function getNextHandlerTag(): number {\n return handlerTag++;\n}\n","import * as React from 'react';\nimport { Platform, findNodeHandle as findNodeHandleRN } from 'react-native';\nimport { handlerIDToTag } from './handlersRegistry';\nimport { toArray } from '../utils';\nimport RNGestureHandlerModule from '../RNGestureHandlerModule';\nimport { ghQueueMicrotask } from '../ghQueueMicrotask';\n\nfunction isConfigParam(param: unknown, name: string) {\n // param !== Object(param) returns false if `param` is a function\n // or an object and returns true if `param` is null\n return (\n param !== undefined &&\n (param !== Object(param) ||\n !('__isNative' in (param as Record))) &&\n name !== 'onHandlerStateChange' &&\n name !== 'onGestureEvent'\n );\n}\n\nexport function filterConfig(\n props: Record,\n validProps: string[],\n defaults: Record = {}\n) {\n const filteredConfig = { ...defaults };\n for (const key of validProps) {\n let value = props[key];\n if (isConfigParam(value, key)) {\n if (key === 'simultaneousHandlers' || key === 'waitFor') {\n value = transformIntoHandlerTags(props[key]);\n } else if (key === 'hitSlop' && typeof value !== 'object') {\n value = { top: value, left: value, bottom: value, right: value };\n }\n filteredConfig[key] = value;\n }\n }\n return filteredConfig;\n}\nfunction transformIntoHandlerTags(handlerIDs: any) {\n handlerIDs = toArray(handlerIDs);\n\n if (Platform.OS === 'web') {\n return handlerIDs\n .map(({ current }: { current: any }) => current)\n .filter((handle: any) => handle);\n }\n // converts handler string IDs into their numeric tags\n return handlerIDs\n .map(\n (handlerID: any) =>\n handlerIDToTag[handlerID] || handlerID.current?.handlerTag || -1\n )\n .filter((handlerTag: number) => handlerTag > 0);\n}\n\nexport function findNodeHandle(\n node: null | number | React.Component | React.ComponentClass\n): null | number | React.Component | React.ComponentClass {\n if (Platform.OS === 'web') {\n return node;\n }\n return findNodeHandleRN(node);\n}\nlet flushOperationsScheduled = false;\n\nexport function scheduleFlushOperations() {\n if (!flushOperationsScheduled) {\n flushOperationsScheduled = true;\n ghQueueMicrotask(() => {\n RNGestureHandlerModule.flushOperations();\n\n flushOperationsScheduled = false;\n });\n }\n}\n","export const ActionType = {\n REANIMATED_WORKLET: 1,\n NATIVE_ANIMATED_EVENT: 2,\n JS_FUNCTION_OLD_API: 3,\n JS_FUNCTION_NEW_API: 4,\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; it can be used as a type and as a value\nexport type ActionType = typeof ActionType[keyof typeof ActionType];\n","import * as React from 'react';\nimport {\n Platform,\n UIManager,\n DeviceEventEmitter,\n EmitterSubscription,\n} from 'react-native';\nimport { customDirectEventTypes } from './customDirectEventTypes';\nimport RNGestureHandlerModule from '../RNGestureHandlerModule';\nimport { State } from '../State';\nimport { handlerIDToTag, registerOldGestureHandler } from './handlersRegistry';\nimport { getNextHandlerTag } from './getNextHandlerTag';\n\nimport {\n BaseGestureHandlerProps,\n GestureEvent,\n HandlerStateChangeEvent,\n} from './gestureHandlerCommon';\nimport { filterConfig, findNodeHandle, scheduleFlushOperations } from './utils';\nimport { ValueOf } from '../typeUtils';\nimport { deepEqual, isFabric, isJestEnv, tagMessage } from '../utils';\nimport { ActionType } from '../ActionType';\nimport { PressabilityDebugView } from './PressabilityDebugView';\nimport GestureHandlerRootViewContext from '../GestureHandlerRootViewContext';\nimport { ghQueueMicrotask } from '../ghQueueMicrotask';\n\nconst UIManagerAny = UIManager as any;\n\ncustomDirectEventTypes.topGestureHandlerEvent = {\n registrationName: 'onGestureHandlerEvent',\n};\n\nconst customGHEventsConfigFabricAndroid = {\n topOnGestureHandlerEvent: { registrationName: 'onGestureHandlerEvent' },\n topOnGestureHandlerStateChange: {\n registrationName: 'onGestureHandlerStateChange',\n },\n};\n\nconst customGHEventsConfig = {\n onGestureHandlerEvent: { registrationName: 'onGestureHandlerEvent' },\n onGestureHandlerStateChange: {\n registrationName: 'onGestureHandlerStateChange',\n },\n\n // When using React Native Gesture Handler for Animated.event with useNativeDriver: true\n // on Android with Fabric enabled, the native part still sends the native events to JS\n // but prefixed with \"top\". We cannot simply rename the events above so they are prefixed\n // with \"top\" instead of \"on\" because in such case Animated.events would not be registered.\n // That's why we need to register another pair of event names.\n // The incoming events will be queued but never handled.\n // Without this piece of code below, you'll get the following JS error:\n // Unsupported top level event type \"topOnGestureHandlerEvent\" dispatched\n ...(isFabric() &&\n Platform.OS === 'android' &&\n customGHEventsConfigFabricAndroid),\n};\n\n// Add gesture specific events to genericDirectEventTypes object exported from UIManager\n// native module.\n// Once new event types are registered with react it is possible to dispatch these\n// events to all kind of native views.\nUIManagerAny.genericDirectEventTypes = {\n ...UIManagerAny.genericDirectEventTypes,\n ...customGHEventsConfig,\n};\n// In newer versions of RN the `genericDirectEventTypes` is located in the object\n// returned by UIManager.getViewManagerConfig('getConstants') or in older RN UIManager.getConstants(), we need to add it there as well to make\n// it compatible with RN 61+\nconst UIManagerConstants =\n UIManagerAny.getViewManagerConfig?.('getConstants') ??\n UIManagerAny.getConstants?.();\n\nif (UIManagerConstants) {\n UIManagerConstants.genericDirectEventTypes = {\n ...UIManagerConstants.genericDirectEventTypes,\n ...customGHEventsConfig,\n };\n}\n\n// Wrap JS responder calls and notify gesture handler manager\nconst {\n setJSResponder: oldSetJSResponder = () => {\n // no-op\n },\n clearJSResponder: oldClearJSResponder = () => {\n // no-op\n },\n} = UIManagerAny;\nUIManagerAny.setJSResponder = (tag: number, blockNativeResponder: boolean) => {\n RNGestureHandlerModule.handleSetJSResponder(tag, blockNativeResponder);\n oldSetJSResponder(tag, blockNativeResponder);\n};\nUIManagerAny.clearJSResponder = () => {\n RNGestureHandlerModule.handleClearJSResponder();\n oldClearJSResponder();\n};\n\nlet allowTouches = true;\nconst DEV_ON_ANDROID = __DEV__ && Platform.OS === 'android';\n// Toggled inspector blocks touch events in order to allow inspecting on Android\n// This needs to be a global variable in order to set initial state for `allowTouches` property in Handler component\nif (DEV_ON_ANDROID) {\n DeviceEventEmitter.addListener('toggleElementInspector', () => {\n allowTouches = !allowTouches;\n });\n}\n\ntype HandlerProps> = Readonly<\n React.PropsWithChildren>\n>;\nfunction hasUnresolvedRefs>(\n props: HandlerProps\n) {\n // TODO(TS) - add type for extract arg\n const extract = (refs: any | any[]) => {\n if (!Array.isArray(refs)) {\n return refs && refs.current === null;\n }\n return refs.some((r) => r && r.current === null);\n };\n return extract(props['simultaneousHandlers']) || extract(props['waitFor']);\n}\n\nconst stateToPropMappings = {\n [State.UNDETERMINED]: undefined,\n [State.BEGAN]: 'onBegan',\n [State.FAILED]: 'onFailed',\n [State.CANCELLED]: 'onCancelled',\n [State.ACTIVE]: 'onActivated',\n [State.END]: 'onEnded',\n} as const;\n\ntype CreateHandlerArgs> =\n Readonly<{\n name: string;\n allowedProps: Readonly[]>;\n config: Readonly>;\n transformProps?: (props: HandlerPropsT) => HandlerPropsT;\n customNativeProps?: Readonly;\n }>;\n\n// TODO(TS) fix event types\ntype InternalEventHandlers = {\n onGestureHandlerEvent?: (event: any) => void;\n onGestureHandlerStateChange?: (event: any) => void;\n};\n\ntype AttachGestureHandlerWeb = (\n handlerTag: number,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n newView: any,\n _actionType: ActionType,\n propsRef: React.RefObject\n) => void;\n\nconst UNRESOLVED_REFS_RETRY_LIMIT = 1;\n\n// TODO(TS) - make sure that BaseGestureHandlerProps doesn't need other generic parameter to work with custom properties.\nexport default function createHandler<\n T extends BaseGestureHandlerProps,\n U extends Record\n>({\n name,\n allowedProps = [],\n config = {},\n transformProps,\n customNativeProps = [],\n}: CreateHandlerArgs): React.ComponentType> {\n interface HandlerState {\n allowTouches: boolean;\n }\n class Handler extends React.Component<\n T & InternalEventHandlers,\n HandlerState\n > {\n static displayName = name;\n static contextType = GestureHandlerRootViewContext;\n\n private handlerTag: number;\n private config: Record;\n private propsRef: React.MutableRefObject;\n private isMountedRef: React.MutableRefObject;\n private viewNode: any;\n private viewTag?: number;\n private inspectorToggleListener?: EmitterSubscription;\n\n constructor(props: T & InternalEventHandlers) {\n super(props);\n this.handlerTag = getNextHandlerTag();\n this.config = {};\n this.propsRef = React.createRef();\n this.isMountedRef = React.createRef();\n this.state = { allowTouches };\n if (props.id) {\n if (handlerIDToTag[props.id] !== undefined) {\n throw new Error(`Handler with ID \"${props.id}\" already registered`);\n }\n handlerIDToTag[props.id] = this.handlerTag;\n }\n }\n\n componentDidMount() {\n const props: HandlerProps = this.props;\n this.isMountedRef.current = true;\n\n if (DEV_ON_ANDROID) {\n this.inspectorToggleListener = DeviceEventEmitter.addListener(\n 'toggleElementInspector',\n () => {\n this.setState((_) => ({ allowTouches }));\n this.update(UNRESOLVED_REFS_RETRY_LIMIT);\n }\n );\n }\n if (hasUnresolvedRefs(props)) {\n // If there are unresolved refs (e.g. \".current\" has not yet been set)\n // passed as `simultaneousHandlers` or `waitFor`, we enqueue a call to\n // _update method that will try to update native handler props using\n // queueMicrotask. This makes it so update() function gets called after all\n // react components are mounted and we expect the missing ref object to\n // be resolved by then.\n ghQueueMicrotask(() => {\n this.update(UNRESOLVED_REFS_RETRY_LIMIT);\n });\n }\n\n this.createGestureHandler(\n filterConfig(\n transformProps ? transformProps(this.props) : this.props,\n [...allowedProps, ...customNativeProps],\n config\n )\n );\n\n this.attachGestureHandler(findNodeHandle(this.viewNode) as number); // TODO(TS) - check if this can be null\n }\n\n componentDidUpdate() {\n const viewTag = findNodeHandle(this.viewNode);\n if (this.viewTag !== viewTag) {\n this.attachGestureHandler(viewTag as number); // TODO(TS) - check interaction between _viewTag & findNodeHandle\n }\n this.update(UNRESOLVED_REFS_RETRY_LIMIT);\n }\n\n componentWillUnmount() {\n this.inspectorToggleListener?.remove();\n this.isMountedRef.current = false;\n RNGestureHandlerModule.dropGestureHandler(this.handlerTag);\n scheduleFlushOperations();\n // We can't use this.props.id directly due to TS generic type narrowing bug, see https://github.com/microsoft/TypeScript/issues/13995 for more context\n const handlerID: string | undefined = this.props.id;\n if (handlerID) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete handlerIDToTag[handlerID];\n }\n }\n\n private onGestureHandlerEvent = (event: GestureEvent) => {\n if (event.nativeEvent.handlerTag === this.handlerTag) {\n if (typeof this.props.onGestureEvent === 'function') {\n this.props.onGestureEvent?.(event);\n }\n } else {\n this.props.onGestureHandlerEvent?.(event);\n }\n };\n\n // TODO(TS) - make sure this is right type for event\n private onGestureHandlerStateChange = (\n event: HandlerStateChangeEvent\n ) => {\n if (event.nativeEvent.handlerTag === this.handlerTag) {\n if (typeof this.props.onHandlerStateChange === 'function') {\n this.props.onHandlerStateChange?.(event);\n }\n\n const state: ValueOf = event.nativeEvent.state;\n const stateEventName = stateToPropMappings[state];\n const eventHandler = stateEventName && this.props[stateEventName];\n if (eventHandler && typeof eventHandler === 'function') {\n eventHandler(event);\n }\n } else {\n this.props.onGestureHandlerStateChange?.(event);\n }\n };\n\n private refHandler = (node: any) => {\n this.viewNode = node;\n\n const child = React.Children.only(this.props.children);\n // TODO(TS) fix ref type\n const { ref }: any = child;\n if (ref !== null) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n };\n\n private createGestureHandler = (\n newConfig: Readonly>\n ) => {\n this.config = newConfig;\n\n RNGestureHandlerModule.createGestureHandler(\n name,\n this.handlerTag,\n newConfig\n );\n };\n\n private attachGestureHandler = (newViewTag: number) => {\n this.viewTag = newViewTag;\n\n if (Platform.OS === 'web') {\n // Typecast due to dynamic resolution, attachGestureHandler should have web version signature in this branch\n (\n RNGestureHandlerModule.attachGestureHandler as AttachGestureHandlerWeb\n )(\n this.handlerTag,\n newViewTag,\n ActionType.JS_FUNCTION_OLD_API, // ignored on web\n this.propsRef\n );\n } else {\n registerOldGestureHandler(this.handlerTag, {\n onGestureEvent: this.onGestureHandlerEvent,\n onGestureStateChange: this.onGestureHandlerStateChange,\n });\n\n const actionType = (() => {\n const onGestureEvent = this.props?.onGestureEvent;\n const isGestureHandlerWorklet =\n onGestureEvent &&\n ('current' in onGestureEvent ||\n 'workletEventHandler' in onGestureEvent);\n const onHandlerStateChange = this.props?.onHandlerStateChange;\n const isStateChangeHandlerWorklet =\n onHandlerStateChange &&\n ('current' in onHandlerStateChange ||\n 'workletEventHandler' in onHandlerStateChange);\n const isReanimatedHandler =\n isGestureHandlerWorklet || isStateChangeHandlerWorklet;\n if (isReanimatedHandler) {\n // Reanimated worklet\n return ActionType.REANIMATED_WORKLET;\n } else if (onGestureEvent && '__isNative' in onGestureEvent) {\n // Animated.event with useNativeDriver: true\n return ActionType.NATIVE_ANIMATED_EVENT;\n } else {\n // JS callback or Animated.event with useNativeDriver: false\n return ActionType.JS_FUNCTION_OLD_API;\n }\n })();\n\n RNGestureHandlerModule.attachGestureHandler(\n this.handlerTag,\n newViewTag,\n actionType\n );\n }\n\n scheduleFlushOperations();\n };\n\n private updateGestureHandler = (\n newConfig: Readonly>\n ) => {\n this.config = newConfig;\n\n RNGestureHandlerModule.updateGestureHandler(this.handlerTag, newConfig);\n scheduleFlushOperations();\n };\n\n private update(remainingTries: number) {\n if (!this.isMountedRef.current) {\n return;\n }\n\n const props: HandlerProps = this.props;\n\n // When ref is set via a function i.e. `ref={(r) => refObject.current = r}` instead of\n // `ref={refObject}` it's possible that it won't be resolved in time. Seems like trying\n // again is easy enough fix.\n if (hasUnresolvedRefs(props) && remainingTries > 0) {\n ghQueueMicrotask(() => {\n this.update(remainingTries - 1);\n });\n } else {\n const newConfig = filterConfig(\n transformProps ? transformProps(this.props) : this.props,\n [...allowedProps, ...customNativeProps],\n config\n );\n if (!deepEqual(this.config, newConfig)) {\n this.updateGestureHandler(newConfig);\n }\n }\n }\n\n setNativeProps(updates: any) {\n const mergedProps = { ...this.props, ...updates };\n const newConfig = filterConfig(\n transformProps ? transformProps(mergedProps) : mergedProps,\n [...allowedProps, ...customNativeProps],\n config\n );\n this.updateGestureHandler(newConfig);\n }\n\n render() {\n if (__DEV__ && !this.context && !isJestEnv() && Platform.OS !== 'web') {\n throw new Error(\n name +\n ' must be used as a descendant of GestureHandlerRootView. Otherwise the gestures will not be recognized. See https://docs.swmansion.com/react-native-gesture-handler/docs/installation for more details.'\n );\n }\n\n let gestureEventHandler = this.onGestureHandlerEvent;\n // Another instance of https://github.com/microsoft/TypeScript/issues/13995\n type OnGestureEventHandlers = {\n onGestureEvent?: BaseGestureHandlerProps['onGestureEvent'];\n onGestureHandlerEvent?: InternalEventHandlers['onGestureHandlerEvent'];\n };\n const { onGestureEvent, onGestureHandlerEvent }: OnGestureEventHandlers =\n this.props;\n if (onGestureEvent && typeof onGestureEvent !== 'function') {\n // If it's not a method it should be an native Animated.event\n // object. We set it directly as the handler for the view\n // In this case nested handlers are not going to be supported\n if (onGestureHandlerEvent) {\n throw new Error(\n 'Nesting touch handlers with native animated driver is not supported yet'\n );\n }\n gestureEventHandler = onGestureEvent;\n } else {\n if (\n onGestureHandlerEvent &&\n typeof onGestureHandlerEvent !== 'function'\n ) {\n throw new Error(\n 'Nesting touch handlers with native animated driver is not supported yet'\n );\n }\n }\n\n let gestureStateEventHandler = this.onGestureHandlerStateChange;\n // Another instance of https://github.com/microsoft/TypeScript/issues/13995\n type OnGestureStateChangeHandlers = {\n onHandlerStateChange?: BaseGestureHandlerProps['onHandlerStateChange'];\n onGestureHandlerStateChange?: InternalEventHandlers['onGestureHandlerStateChange'];\n };\n const {\n onHandlerStateChange,\n onGestureHandlerStateChange,\n }: OnGestureStateChangeHandlers = this.props;\n if (onHandlerStateChange && typeof onHandlerStateChange !== 'function') {\n // If it's not a method it should be an native Animated.event\n // object. We set it directly as the handler for the view\n // In this case nested handlers are not going to be supported\n if (onGestureHandlerStateChange) {\n throw new Error(\n 'Nesting touch handlers with native animated driver is not supported yet'\n );\n }\n gestureStateEventHandler = onHandlerStateChange;\n } else {\n if (\n onGestureHandlerStateChange &&\n typeof onGestureHandlerStateChange !== 'function'\n ) {\n throw new Error(\n 'Nesting touch handlers with native animated driver is not supported yet'\n );\n }\n }\n const events = {\n onGestureHandlerEvent: this.state.allowTouches\n ? gestureEventHandler\n : undefined,\n onGestureHandlerStateChange: this.state.allowTouches\n ? gestureStateEventHandler\n : undefined,\n };\n\n this.propsRef.current = events;\n\n let child: any = null;\n try {\n child = React.Children.only(this.props.children);\n } catch (e) {\n throw new Error(\n tagMessage(\n `${name} got more than one view as a child. If you want the gesture to work on multiple views, wrap them with a common parent and attach the gesture to that view.`\n )\n );\n }\n\n let grandChildren = child.props.children;\n if (\n __DEV__ &&\n child.type &&\n (child.type === 'RNGestureHandlerButton' ||\n child.type.name === 'View' ||\n child.type.displayName === 'View')\n ) {\n grandChildren = React.Children.toArray(grandChildren);\n grandChildren.push(\n \n );\n }\n\n return React.cloneElement(\n child,\n {\n ref: this.refHandler,\n collapsable: false,\n ...(isJestEnv()\n ? {\n handlerType: name,\n handlerTag: this.handlerTag,\n }\n : {}),\n testID: this.props.testID ?? child.props.testID,\n ...events,\n },\n grandChildren\n );\n }\n }\n return Handler;\n}\n","import type { TapGestureHandlerEventPayload } from './GestureHandlerEventPayload';\nimport createHandler from './createHandler';\nimport {\n BaseGestureHandlerProps,\n baseGestureHandlerProps,\n} from './gestureHandlerCommon';\n\nexport const tapGestureHandlerProps = [\n 'maxDurationMs',\n 'maxDelayMs',\n 'numberOfTaps',\n 'maxDeltaX',\n 'maxDeltaY',\n 'maxDist',\n 'minPointers',\n] as const;\n\nexport interface TapGestureConfig {\n /**\n * Minimum number of pointers (fingers) required to be placed before the\n * handler activates. Should be a positive integer.\n * The default value is 1.\n */\n minPointers?: number;\n\n /**\n * Maximum time, expressed in milliseconds, that defines how fast a finger\n * must be released after a touch. The default value is 500.\n */\n maxDurationMs?: number;\n\n /**\n * Maximum time, expressed in milliseconds, that can pass before the next tap\n * if many taps are required. The default value is 500.\n */\n maxDelayMs?: number;\n\n /**\n * Number of tap gestures required to activate the handler. The default value\n * is 1.\n */\n numberOfTaps?: number;\n\n /**\n * Maximum distance, expressed in points, that defines how far the finger is\n * allowed to travel along the X axis during a tap gesture. If the finger\n * travels further than the defined distance along the X axis and the handler\n * hasn't yet activated, it will fail to recognize the gesture.\n */\n maxDeltaX?: number;\n\n /**\n * Maximum distance, expressed in points, that defines how far the finger is\n * allowed to travel along the Y axis during a tap gesture. If the finger\n * travels further than the defined distance along the Y axis and the handler\n * hasn't yet activated, it will fail to recognize the gesture.\n */\n maxDeltaY?: number;\n\n /**\n * Maximum distance, expressed in points, that defines how far the finger is\n * allowed to travel during a tap gesture. If the finger travels further than\n * the defined distance and the handler hasn't yet\n * activated, it will fail to recognize the gesture.\n */\n maxDist?: number;\n}\n\nexport interface TapGestureHandlerProps\n extends BaseGestureHandlerProps,\n TapGestureConfig {}\n\nexport const tapHandlerName = 'TapGestureHandler';\n\nexport type TapGestureHandler = typeof TapGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of gestureHandlerCommon.ts file\nexport const TapGestureHandler = createHandler<\n TapGestureHandlerProps,\n TapGestureHandlerEventPayload\n>({\n name: tapHandlerName,\n allowedProps: [\n ...baseGestureHandlerProps,\n ...tapGestureHandlerProps,\n ] as const,\n config: {\n shouldCancelWhenOutside: true,\n },\n});\n","export default {\n get forceTouchAvailable() {\n return false;\n },\n};\n","import React, { PropsWithChildren } from 'react';\nimport { tagMessage } from '../utils';\nimport PlatformConstants from '../PlatformConstants';\nimport createHandler from './createHandler';\nimport {\n BaseGestureHandlerProps,\n baseGestureHandlerProps,\n} from './gestureHandlerCommon';\nimport type { ForceTouchGestureHandlerEventPayload } from './GestureHandlerEventPayload';\n\nexport const forceTouchGestureHandlerProps = [\n 'minForce',\n 'maxForce',\n 'feedbackOnActivation',\n] as const;\n\n// implicit `children` prop has been removed in @types/react^18.0.0\nclass ForceTouchFallback extends React.Component> {\n static forceTouchAvailable = false;\n componentDidMount() {\n console.warn(\n tagMessage(\n 'ForceTouchGestureHandler is not available on this platform. Please use ForceTouchGestureHandler.forceTouchAvailable to conditionally render other components that would provide a fallback behavior specific to your usecase'\n )\n );\n }\n render() {\n return this.props.children;\n }\n}\n\nexport interface ForceTouchGestureConfig {\n /**\n *\n * A minimal pressure that is required before handler can activate. Should be a\n * value from range `[0.0, 1.0]`. Default is `0.2`.\n */\n minForce?: number;\n\n /**\n * A maximal pressure that could be applied for handler. If the pressure is\n * greater, handler fails. Should be a value from range `[0.0, 1.0]`.\n */\n maxForce?: number;\n\n /**\n * Boolean value defining if haptic feedback has to be performed on\n * activation.\n */\n feedbackOnActivation?: boolean;\n}\n\nexport interface ForceTouchGestureHandlerProps\n extends BaseGestureHandlerProps,\n ForceTouchGestureConfig {}\n\nexport type ForceTouchGestureHandler = typeof ForceTouchGestureHandler & {\n forceTouchAvailable: boolean;\n};\n\nexport const forceTouchHandlerName = 'ForceTouchGestureHandler';\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of gestureHandlerCommon.ts file\nexport const ForceTouchGestureHandler = PlatformConstants?.forceTouchAvailable\n ? createHandler<\n ForceTouchGestureHandlerProps,\n ForceTouchGestureHandlerEventPayload\n >({\n name: forceTouchHandlerName,\n allowedProps: [\n ...baseGestureHandlerProps,\n ...forceTouchGestureHandlerProps,\n ] as const,\n config: {},\n })\n : ForceTouchFallback;\n\n(ForceTouchGestureHandler as ForceTouchGestureHandler).forceTouchAvailable =\n PlatformConstants?.forceTouchAvailable || false;\n","import { LongPressGestureHandlerEventPayload } from './GestureHandlerEventPayload';\nimport createHandler from './createHandler';\nimport {\n BaseGestureHandlerProps,\n baseGestureHandlerProps,\n} from './gestureHandlerCommon';\n\nexport const longPressGestureHandlerProps = [\n 'minDurationMs',\n 'maxDist',\n 'numberOfPointers',\n] as const;\n\nexport interface LongPressGestureConfig {\n /**\n * Minimum time, expressed in milliseconds, that a finger must remain pressed on\n * the corresponding view. The default value is 500.\n */\n minDurationMs?: number;\n\n /**\n * Maximum distance, expressed in points, that defines how far the finger is\n * allowed to travel during a long press gesture. If the finger travels\n * further than the defined distance and the handler hasn't yet activated, it\n * will fail to recognize the gesture. The default value is 10.\n */\n maxDist?: number;\n\n /**\n * Determine exact number of points required to handle the long press gesture.\n */\n numberOfPointers?: number;\n}\n\nexport interface LongPressGestureHandlerProps\n extends BaseGestureHandlerProps,\n LongPressGestureConfig {}\n\nexport const longPressHandlerName = 'LongPressGestureHandler';\n\nexport type LongPressGestureHandler = typeof LongPressGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of gestureHandlerCommon.ts file\nexport const LongPressGestureHandler = createHandler<\n LongPressGestureHandlerProps,\n LongPressGestureHandlerEventPayload\n>({\n name: longPressHandlerName,\n allowedProps: [\n ...baseGestureHandlerProps,\n ...longPressGestureHandlerProps,\n ] as const,\n config: {\n shouldCancelWhenOutside: true,\n },\n});\n","import type { PanGestureHandlerEventPayload } from './GestureHandlerEventPayload';\nimport createHandler from './createHandler';\nimport {\n BaseGestureHandlerProps,\n baseGestureHandlerProps,\n} from './gestureHandlerCommon';\n\nexport const panGestureHandlerProps = [\n 'activeOffsetY',\n 'activeOffsetX',\n 'failOffsetY',\n 'failOffsetX',\n 'minDist',\n 'minVelocity',\n 'minVelocityX',\n 'minVelocityY',\n 'minPointers',\n 'maxPointers',\n 'avgTouches',\n 'enableTrackpadTwoFingerGesture',\n 'activateAfterLongPress',\n] as const;\n\nexport const panGestureHandlerCustomNativeProps = [\n 'activeOffsetYStart',\n 'activeOffsetYEnd',\n 'activeOffsetXStart',\n 'activeOffsetXEnd',\n 'failOffsetYStart',\n 'failOffsetYEnd',\n 'failOffsetXStart',\n 'failOffsetXEnd',\n] as const;\n\ninterface CommonPanProperties {\n /**\n * Minimum distance the finger (or multiple finger) need to travel before the\n * handler activates. Expressed in points.\n */\n minDist?: number;\n\n /**\n * Android only.\n */\n avgTouches?: boolean;\n\n /**\n * Enables two-finger gestures on supported devices, for example iPads with\n * trackpads. If not enabled the gesture will require click + drag, with\n * enableTrackpadTwoFingerGesture swiping with two fingers will also trigger\n * the gesture.\n */\n enableTrackpadTwoFingerGesture?: boolean;\n\n /**\n * A number of fingers that is required to be placed before handler can\n * activate. Should be a higher or equal to 0 integer.\n */\n minPointers?: number;\n\n /**\n * When the given number of fingers is placed on the screen and handler hasn't\n * yet activated it will fail recognizing the gesture. Should be a higher or\n * equal to 0 integer.\n */\n maxPointers?: number;\n\n minVelocity?: number;\n minVelocityX?: number;\n minVelocityY?: number;\n activateAfterLongPress?: number;\n}\n\nexport interface PanGestureConfig extends CommonPanProperties {\n activeOffsetYStart?: number;\n activeOffsetYEnd?: number;\n activeOffsetXStart?: number;\n activeOffsetXEnd?: number;\n failOffsetYStart?: number;\n failOffsetYEnd?: number;\n failOffsetXStart?: number;\n failOffsetXEnd?: number;\n}\n\nexport interface PanGestureHandlerProps\n extends BaseGestureHandlerProps,\n CommonPanProperties {\n /**\n * Range along X axis (in points) where fingers travels without activation of\n * handler. Moving outside of this range implies activation of handler. Range\n * can be given as an array or a single number. If range is set as an array,\n * first value must be lower or equal to 0, a the second one higher or equal\n * to 0. If only one number `p` is given a range of `(-inf, p)` will be used\n * if `p` is higher or equal to 0 and `(-p, inf)` otherwise.\n */\n activeOffsetY?:\n | number\n | [activeOffsetYStart: number, activeOffsetYEnd: number];\n\n /**\n * Range along X axis (in points) where fingers travels without activation of\n * handler. Moving outside of this range implies activation of handler. Range\n * can be given as an array or a single number. If range is set as an array,\n * first value must be lower or equal to 0, a the second one higher or equal\n * to 0. If only one number `p` is given a range of `(-inf, p)` will be used\n * if `p` is higher or equal to 0 and `(-p, inf)` otherwise.\n */\n activeOffsetX?:\n | number\n | [activeOffsetXStart: number, activeOffsetXEnd: number];\n\n /**\n * When the finger moves outside this range (in points) along Y axis and\n * handler hasn't yet activated it will fail recognizing the gesture. Range\n * can be given as an array or a single number. If range is set as an array,\n * first value must be lower or equal to 0, a the second one higher or equal\n * to 0. If only one number `p` is given a range of `(-inf, p)` will be used\n * if `p` is higher or equal to 0 and `(-p, inf)` otherwise.\n */\n failOffsetY?: number | [failOffsetYStart: number, failOffsetYEnd: number];\n\n /**\n * When the finger moves outside this range (in points) along X axis and\n * handler hasn't yet activated it will fail recognizing the gesture. Range\n * can be given as an array or a single number. If range is set as an array,\n * first value must be lower or equal to 0, a the second one higher or equal\n * to 0. If only one number `p` is given a range of `(-inf, p)` will be used\n * if `p` is higher or equal to 0 and `(-p, inf)` otherwise.\n */\n failOffsetX?: number | [failOffsetXStart: number, failOffsetXEnd: number];\n}\n\nexport const panHandlerName = 'PanGestureHandler';\n\nexport type PanGestureHandler = typeof PanGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of gestureHandlerCommon.ts file\nexport const PanGestureHandler = createHandler<\n PanGestureHandlerProps,\n PanGestureHandlerEventPayload\n>({\n name: panHandlerName,\n allowedProps: [\n ...baseGestureHandlerProps,\n ...panGestureHandlerProps,\n ] as const,\n config: {},\n transformProps: managePanProps,\n customNativeProps: panGestureHandlerCustomNativeProps,\n});\n\nfunction validatePanGestureHandlerProps(props: PanGestureHandlerProps) {\n if (\n Array.isArray(props.activeOffsetX) &&\n (props.activeOffsetX[0] > 0 || props.activeOffsetX[1] < 0)\n ) {\n throw new Error(\n `First element of activeOffsetX should be negative, a the second one should be positive`\n );\n }\n\n if (\n Array.isArray(props.activeOffsetY) &&\n (props.activeOffsetY[0] > 0 || props.activeOffsetY[1] < 0)\n ) {\n throw new Error(\n `First element of activeOffsetY should be negative, a the second one should be positive`\n );\n }\n\n if (\n Array.isArray(props.failOffsetX) &&\n (props.failOffsetX[0] > 0 || props.failOffsetX[1] < 0)\n ) {\n throw new Error(\n `First element of failOffsetX should be negative, a the second one should be positive`\n );\n }\n\n if (\n Array.isArray(props.failOffsetY) &&\n (props.failOffsetY[0] > 0 || props.failOffsetY[1] < 0)\n ) {\n throw new Error(\n `First element of failOffsetY should be negative, a the second one should be positive`\n );\n }\n\n if (props.minDist && (props.failOffsetX || props.failOffsetY)) {\n throw new Error(\n `It is not supported to use minDist with failOffsetX or failOffsetY, use activeOffsetX and activeOffsetY instead`\n );\n }\n\n if (props.minDist && (props.activeOffsetX || props.activeOffsetY)) {\n throw new Error(\n `It is not supported to use minDist with activeOffsetX or activeOffsetY`\n );\n }\n}\n\nfunction transformPanGestureHandlerProps(props: PanGestureHandlerProps) {\n type InternalPanGHKeys =\n | 'activeOffsetXStart'\n | 'activeOffsetXEnd'\n | 'failOffsetXStart'\n | 'failOffsetXEnd'\n | 'activeOffsetYStart'\n | 'activeOffsetYEnd'\n | 'failOffsetYStart'\n | 'failOffsetYEnd';\n type PanGestureHandlerInternalProps = PanGestureHandlerProps &\n Partial>;\n\n const res: PanGestureHandlerInternalProps = { ...props };\n\n if (props.activeOffsetX !== undefined) {\n delete res.activeOffsetX;\n if (Array.isArray(props.activeOffsetX)) {\n res.activeOffsetXStart = props.activeOffsetX[0];\n res.activeOffsetXEnd = props.activeOffsetX[1];\n } else if (props.activeOffsetX < 0) {\n res.activeOffsetXStart = props.activeOffsetX;\n } else {\n res.activeOffsetXEnd = props.activeOffsetX;\n }\n }\n\n if (props.activeOffsetY !== undefined) {\n delete res.activeOffsetY;\n if (Array.isArray(props.activeOffsetY)) {\n res.activeOffsetYStart = props.activeOffsetY[0];\n res.activeOffsetYEnd = props.activeOffsetY[1];\n } else if (props.activeOffsetY < 0) {\n res.activeOffsetYStart = props.activeOffsetY;\n } else {\n res.activeOffsetYEnd = props.activeOffsetY;\n }\n }\n\n if (props.failOffsetX !== undefined) {\n delete res.failOffsetX;\n if (Array.isArray(props.failOffsetX)) {\n res.failOffsetXStart = props.failOffsetX[0];\n res.failOffsetXEnd = props.failOffsetX[1];\n } else if (props.failOffsetX < 0) {\n res.failOffsetXStart = props.failOffsetX;\n } else {\n res.failOffsetXEnd = props.failOffsetX;\n }\n }\n\n if (props.failOffsetY !== undefined) {\n delete res.failOffsetY;\n if (Array.isArray(props.failOffsetY)) {\n res.failOffsetYStart = props.failOffsetY[0];\n res.failOffsetYEnd = props.failOffsetY[1];\n } else if (props.failOffsetY < 0) {\n res.failOffsetYStart = props.failOffsetY;\n } else {\n res.failOffsetYEnd = props.failOffsetY;\n }\n }\n\n return res;\n}\n\nexport function managePanProps(props: PanGestureHandlerProps) {\n if (__DEV__) {\n validatePanGestureHandlerProps(props);\n }\n return transformPanGestureHandlerProps(props);\n}\n","import { PinchGestureHandlerEventPayload } from './GestureHandlerEventPayload';\nimport createHandler from './createHandler';\nimport {\n BaseGestureHandlerProps,\n baseGestureHandlerProps,\n} from './gestureHandlerCommon';\n\nexport interface PinchGestureHandlerProps\n extends BaseGestureHandlerProps {}\n\nexport const pinchHandlerName = 'PinchGestureHandler';\n\nexport type PinchGestureHandler = typeof PinchGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of gestureHandlerCommon.ts file\nexport const PinchGestureHandler = createHandler<\n PinchGestureHandlerProps,\n PinchGestureHandlerEventPayload\n>({\n name: pinchHandlerName,\n allowedProps: baseGestureHandlerProps,\n config: {},\n});\n","import { RotationGestureHandlerEventPayload } from './GestureHandlerEventPayload';\nimport createHandler from './createHandler';\nimport {\n BaseGestureHandlerProps,\n baseGestureHandlerProps,\n} from './gestureHandlerCommon';\n\nexport interface RotationGestureHandlerProps\n extends BaseGestureHandlerProps {}\n\nexport const rotationHandlerName = 'RotationGestureHandler';\n\nexport type RotationGestureHandler = typeof RotationGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of gestureHandlerCommon.ts file\nexport const RotationGestureHandler = createHandler<\n RotationGestureHandlerProps,\n RotationGestureHandlerEventPayload\n>({\n name: rotationHandlerName,\n allowedProps: baseGestureHandlerProps,\n config: {},\n});\n","import type { FlingGestureHandlerEventPayload } from './GestureHandlerEventPayload';\nimport createHandler from './createHandler';\nimport {\n BaseGestureHandlerProps,\n baseGestureHandlerProps,\n} from './gestureHandlerCommon';\n\nexport const flingGestureHandlerProps = [\n 'numberOfPointers',\n 'direction',\n] as const;\n\nexport interface FlingGestureConfig {\n /**\n * Expressed allowed direction of movement. It's possible to pass one or many\n * directions in one parameter:\n *\n * ```js\n * direction={Directions.RIGHT | Directions.LEFT}\n * ```\n *\n * or\n *\n * ```js\n * direction={Directions.DOWN}\n * ```\n */\n direction?: number;\n\n /**\n * Determine exact number of points required to handle the fling gesture.\n */\n numberOfPointers?: number;\n}\n\nexport interface FlingGestureHandlerProps\n extends BaseGestureHandlerProps,\n FlingGestureConfig {}\n\nexport const flingHandlerName = 'FlingGestureHandler';\n\nexport type FlingGestureHandler = typeof FlingGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of gestureHandlerCommon.ts file\nexport const FlingGestureHandler = createHandler<\n FlingGestureHandlerProps,\n FlingGestureHandlerEventPayload\n>({\n name: flingHandlerName,\n allowedProps: [\n ...baseGestureHandlerProps,\n ...flingGestureHandlerProps,\n ] as const,\n config: {},\n});\n","import type { NativeViewGestureHandlerPayload } from './GestureHandlerEventPayload';\nimport createHandler from './createHandler';\nimport {\n BaseGestureHandlerProps,\n baseGestureHandlerProps,\n} from './gestureHandlerCommon';\n\nexport const nativeViewGestureHandlerProps = [\n 'shouldActivateOnStart',\n 'disallowInterruption',\n] as const;\n\nexport interface NativeViewGestureConfig {\n /**\n * Android only.\n *\n * Determines whether the handler should check for an existing touch event on\n * instantiation.\n */\n shouldActivateOnStart?: boolean;\n\n /**\n * When `true`, cancels all other gesture handlers when this\n * `NativeViewGestureHandler` receives an `ACTIVE` state event.\n */\n disallowInterruption?: boolean;\n}\n\nexport interface NativeViewGestureHandlerProps\n extends BaseGestureHandlerProps,\n NativeViewGestureConfig {}\n\nexport const nativeViewProps = [\n ...baseGestureHandlerProps,\n ...nativeViewGestureHandlerProps,\n] as const;\n\nexport const nativeViewHandlerName = 'NativeViewGestureHandler';\n\nexport type NativeViewGestureHandler = typeof NativeViewGestureHandler;\n// eslint-disable-next-line @typescript-eslint/no-redeclare -- backward compatibility; see description on the top of gestureHandlerCommon.ts file\nexport const NativeViewGestureHandler = createHandler<\n NativeViewGestureHandlerProps,\n NativeViewGestureHandlerPayload\n>({\n name: nativeViewHandlerName,\n allowedProps: nativeViewProps,\n config: {},\n});\n","import * as React from 'react';\nimport { useImperativeHandle, useRef } from 'react';\n\nimport {\n NativeViewGestureHandler,\n NativeViewGestureHandlerProps,\n nativeViewProps,\n} from './NativeViewGestureHandler';\n\n/*\n * This array should consist of:\n * - All keys in propTypes from NativeGestureHandler\n * (and all keys in GestureHandlerPropTypes)\n * - 'onGestureHandlerEvent'\n * - 'onGestureHandlerStateChange'\n */\nconst NATIVE_WRAPPER_PROPS_FILTER = [\n ...nativeViewProps,\n 'onGestureHandlerEvent',\n 'onGestureHandlerStateChange',\n] as const;\n\nexport default function createNativeWrapper

(\n Component: React.ComponentType

,\n config: Readonly = {}\n) {\n const ComponentWrapper = React.forwardRef<\n React.ComponentType,\n P & NativeViewGestureHandlerProps\n >((props, ref) => {\n // Filter out props that should be passed to gesture handler wrapper\n const gestureHandlerProps = Object.keys(props).reduce(\n (res, key) => {\n // TS being overly protective with it's types, see https://github.com/microsoft/TypeScript/issues/26255#issuecomment-458013731 for more info\n const allowedKeys: readonly string[] = NATIVE_WRAPPER_PROPS_FILTER;\n if (allowedKeys.includes(key)) {\n // @ts-ignore FIXME(TS)\n res[key] = props[key];\n }\n return res;\n },\n { ...config } // Watch out not to modify config\n );\n const _ref = useRef>();\n const _gestureHandlerRef = useRef>();\n useImperativeHandle(\n ref,\n // @ts-ignore TODO(TS) decide how nulls work in this context\n () => {\n const node = _gestureHandlerRef.current;\n // Add handlerTag for relations config\n if (_ref.current && node) {\n // @ts-ignore FIXME(TS) think about createHandler return type\n _ref.current.handlerTag = node.handlerTag;\n return _ref.current;\n }\n return null;\n },\n [_ref, _gestureHandlerRef]\n );\n return (\n \n \n \n );\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n ComponentWrapper.displayName =\n Component?.displayName ||\n // @ts-ignore if render doesn't exist it will return undefined and go further\n Component?.render?.name ||\n (typeof Component === 'string' && Component) ||\n 'ComponentWrapper';\n\n return ComponentWrapper;\n}\n","import {\n HitSlop,\n CommonGestureConfig,\n GestureTouchEvent,\n GestureStateChangeEvent,\n GestureUpdateEvent,\n ActiveCursor,\n MouseButton,\n} from '../gestureHandlerCommon';\nimport { getNextHandlerTag } from '../getNextHandlerTag';\nimport { GestureStateManagerType } from './gestureStateManager';\nimport type {\n FlingGestureHandlerEventPayload,\n ForceTouchGestureHandlerEventPayload,\n LongPressGestureHandlerEventPayload,\n PanGestureHandlerEventPayload,\n PinchGestureHandlerEventPayload,\n RotationGestureHandlerEventPayload,\n TapGestureHandlerEventPayload,\n NativeViewGestureHandlerPayload,\n} from '../GestureHandlerEventPayload';\nimport { isRemoteDebuggingEnabled } from '../../utils';\n\nexport type GestureType =\n | BaseGesture>\n | BaseGesture>\n | BaseGesture\n | BaseGesture\n | BaseGesture\n | BaseGesture\n | BaseGesture\n | BaseGesture\n | BaseGesture\n | BaseGesture;\n\nexport type GestureRef =\n | number\n | GestureType\n | React.RefObject\n | React.RefObject; // Allow adding a ref to a gesture handler\nexport interface BaseGestureConfig\n extends CommonGestureConfig,\n Record {\n ref?: React.MutableRefObject;\n requireToFail?: GestureRef[];\n simultaneousWith?: GestureRef[];\n blocksHandlers?: GestureRef[];\n needsPointerData?: boolean;\n manualActivation?: boolean;\n runOnJS?: boolean;\n testId?: string;\n cancelsTouchesInView?: boolean;\n}\n\ntype TouchEventHandlerType = (\n event: GestureTouchEvent,\n stateManager: GestureStateManagerType\n) => void;\n\nexport type HandlerCallbacks> = {\n gestureId: number;\n handlerTag: number;\n onBegin?: (event: GestureStateChangeEvent) => void;\n onStart?: (event: GestureStateChangeEvent) => void;\n onEnd?: (\n event: GestureStateChangeEvent,\n success: boolean\n ) => void;\n onFinalize?: (\n event: GestureStateChangeEvent,\n success: boolean\n ) => void;\n onUpdate?: (event: GestureUpdateEvent) => void;\n onChange?: (event: any) => void;\n onTouchesDown?: TouchEventHandlerType;\n onTouchesMove?: TouchEventHandlerType;\n onTouchesUp?: TouchEventHandlerType;\n onTouchesCancelled?: TouchEventHandlerType;\n changeEventCalculator?: (\n current: GestureUpdateEvent>,\n previous?: GestureUpdateEvent>\n ) => GestureUpdateEvent>;\n isWorklet: boolean[];\n};\n\nexport const CALLBACK_TYPE = {\n UNDEFINED: 0,\n BEGAN: 1,\n START: 2,\n UPDATE: 3,\n CHANGE: 4,\n END: 5,\n FINALIZE: 6,\n TOUCHES_DOWN: 7,\n TOUCHES_MOVE: 8,\n TOUCHES_UP: 9,\n TOUCHES_CANCELLED: 10,\n} as const;\n\n// Allow using CALLBACK_TYPE as object and type\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type CALLBACK_TYPE = typeof CALLBACK_TYPE[keyof typeof CALLBACK_TYPE];\n\nexport abstract class Gesture {\n /**\n * Return array of gestures, providing the same interface for creating and updating\n * handlers, no matter which object was used to create gesture instance.\n */\n abstract toGestureArray(): GestureType[];\n\n /**\n * Assign handlerTag to the gesture instance and set ref.current (if a ref is set)\n */\n abstract initialize(): void;\n\n /**\n * Make sure that values of properties defining relations are arrays. Do any necessary\n * preprocessing required to configure relations between handlers. Called just before\n * updating the handler on the native side.\n */\n abstract prepare(): void;\n}\n\nlet nextGestureId = 0;\nexport abstract class BaseGesture<\n EventPayloadT extends Record\n> extends Gesture {\n private gestureId = -1;\n public handlerTag = -1;\n public handlerName = '';\n public config: BaseGestureConfig = {};\n public handlers: HandlerCallbacks = {\n gestureId: -1,\n handlerTag: -1,\n isWorklet: [],\n };\n\n constructor() {\n super();\n\n // Used to check whether the gesture config has been updated when wrapping it\n // with `useMemo`. Since every config will have a unique id, when the dependencies\n // don't change, the config won't be recreated and the id will stay the same.\n // If the id is different, it means that the config has changed and the gesture\n // needs to be updated.\n this.gestureId = nextGestureId++;\n this.handlers.gestureId = this.gestureId;\n }\n\n private addDependency(\n key: 'simultaneousWith' | 'requireToFail' | 'blocksHandlers',\n gesture: Exclude\n ) {\n const value = this.config[key];\n this.config[key] = value\n ? Array().concat(value, gesture)\n : [gesture];\n }\n\n /**\n * Sets a `ref` to the gesture object, allowing for interoperability with the old API.\n * @param ref\n */\n withRef(ref: React.MutableRefObject) {\n this.config.ref = ref;\n return this;\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-types\n protected isWorklet(callback: Function) {\n // @ts-ignore if callback is a worklet, the property will be available, if not then the check will return false\n return callback.__workletHash !== undefined;\n }\n\n /**\n * Set the callback that is being called when given gesture handler starts receiving touches.\n * At the moment of this callback the handler is in `BEGAN` state and we don't know yet if it will recognize the gesture at all.\n * @param callback\n */\n onBegin(callback: (event: GestureStateChangeEvent) => void) {\n this.handlers.onBegin = callback;\n this.handlers.isWorklet[CALLBACK_TYPE.BEGAN] = this.isWorklet(callback);\n return this;\n }\n\n /**\n * Set the callback that is being called when the gesture is recognized by the handler and it transitions to the `ACTIVE` state.\n * @param callback\n */\n onStart(callback: (event: GestureStateChangeEvent) => void) {\n this.handlers.onStart = callback;\n this.handlers.isWorklet[CALLBACK_TYPE.START] = this.isWorklet(callback);\n return this;\n }\n\n /**\n * Set the callback that is being called when the gesture that was recognized by the handler finishes and handler reaches `END` state.\n * It will be called only if the handler was previously in the `ACTIVE` state.\n * @param callback\n */\n onEnd(\n callback: (\n event: GestureStateChangeEvent,\n success: boolean\n ) => void\n ) {\n this.handlers.onEnd = callback;\n // @ts-ignore if callback is a worklet, the property will be available, if not then the check will return false\n this.handlers.isWorklet[CALLBACK_TYPE.END] = this.isWorklet(callback);\n return this;\n }\n\n /**\n * Set the callback that is being called when the handler finalizes handling gesture - the gesture was recognized and has finished or it failed to recognize.\n * @param callback\n */\n onFinalize(\n callback: (\n event: GestureStateChangeEvent,\n success: boolean\n ) => void\n ) {\n this.handlers.onFinalize = callback;\n // @ts-ignore if callback is a worklet, the property will be available, if not then the check will return false\n this.handlers.isWorklet[CALLBACK_TYPE.FINALIZE] = this.isWorklet(callback);\n return this;\n }\n\n /**\n * Set the `onTouchesDown` callback which is called every time a pointer is placed on the screen.\n * @param callback\n */\n onTouchesDown(callback: TouchEventHandlerType) {\n this.config.needsPointerData = true;\n this.handlers.onTouchesDown = callback;\n this.handlers.isWorklet[CALLBACK_TYPE.TOUCHES_DOWN] =\n this.isWorklet(callback);\n\n return this;\n }\n\n /**\n * Set the `onTouchesMove` callback which is called every time a pointer is moved on the screen.\n * @param callback\n */\n onTouchesMove(callback: TouchEventHandlerType) {\n this.config.needsPointerData = true;\n this.handlers.onTouchesMove = callback;\n this.handlers.isWorklet[CALLBACK_TYPE.TOUCHES_MOVE] =\n this.isWorklet(callback);\n\n return this;\n }\n\n /**\n * Set the `onTouchesUp` callback which is called every time a pointer is lifted from the screen.\n * @param callback\n */\n onTouchesUp(callback: TouchEventHandlerType) {\n this.config.needsPointerData = true;\n this.handlers.onTouchesUp = callback;\n this.handlers.isWorklet[CALLBACK_TYPE.TOUCHES_UP] =\n this.isWorklet(callback);\n\n return this;\n }\n\n /**\n * Set the `onTouchesCancelled` callback which is called every time a pointer stops being tracked, for example when the gesture finishes.\n * @param callback\n */\n onTouchesCancelled(callback: TouchEventHandlerType) {\n this.config.needsPointerData = true;\n this.handlers.onTouchesCancelled = callback;\n this.handlers.isWorklet[CALLBACK_TYPE.TOUCHES_CANCELLED] =\n this.isWorklet(callback);\n\n return this;\n }\n\n /**\n * Indicates whether the given handler should be analyzing stream of touch events or not.\n * @param enabled\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#enabledvalue-boolean\n */\n enabled(enabled: boolean) {\n this.config.enabled = enabled;\n return this;\n }\n\n /**\n * When true the handler will cancel or fail recognition (depending on its current state) whenever the finger leaves the area of the connected view.\n * @param value\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#shouldcancelwhenoutsidevalue-boolean\n */\n shouldCancelWhenOutside(value: boolean) {\n this.config.shouldCancelWhenOutside = value;\n return this;\n }\n\n /**\n * This parameter enables control over what part of the connected view area can be used to begin recognizing the gesture.\n * When a negative number is provided the bounds of the view will reduce the area by the given number of points in each of the sides evenly.\n * @param hitSlop\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#hitslopsettings\n */\n hitSlop(hitSlop: HitSlop) {\n this.config.hitSlop = hitSlop;\n return this;\n }\n\n /**\n * #### Web only\n * This parameter allows to specify which `cursor` should be used when gesture activates.\n * Supports all CSS cursor values (e.g. `\"grab\"`, `\"zoom-in\"`). Default value is set to `\"auto\"`.\n * @param activeCursor\n */\n activeCursor(activeCursor: ActiveCursor) {\n this.config.activeCursor = activeCursor;\n return this;\n }\n\n /**\n * #### Web & Android only\n * Allows users to choose which mouse button should handler respond to.\n * Arguments can be combined using `|` operator, e.g. `mouseButton(MouseButton.LEFT | MouseButton.RIGHT)`.\n * Default value is set to `MouseButton.LEFT`.\n * @param mouseButton\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#mousebuttonvalue-mousebutton-web--android-only\n */\n mouseButton(mouseButton: MouseButton) {\n this.config.mouseButton = mouseButton;\n return this;\n }\n\n /**\n * When `react-native-reanimated` is installed, the callbacks passed to the gestures are automatically workletized and run on the UI thread when called.\n * This option allows for changing this behavior: when `true`, all the callbacks will be run on the JS thread instead of the UI thread, regardless of whether they are worklets or not.\n * Defaults to `false`.\n * @param runOnJS\n */\n runOnJS(runOnJS: boolean) {\n this.config.runOnJS = runOnJS;\n return this;\n }\n\n /**\n * Allows gestures across different components to be recognized simultaneously.\n * @param gestures\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/gesture-composition/#simultaneouswithexternalgesture\n */\n simultaneousWithExternalGesture(...gestures: Exclude[]) {\n for (const gesture of gestures) {\n this.addDependency('simultaneousWith', gesture);\n }\n return this;\n }\n\n /**\n * Allows to delay activation of the handler until all handlers passed as arguments to this method fail (or don't begin at all).\n * @param gestures\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/gesture-composition/#requireexternalgesturetofail\n */\n requireExternalGestureToFail(...gestures: Exclude[]) {\n for (const gesture of gestures) {\n this.addDependency('requireToFail', gesture);\n }\n return this;\n }\n\n /**\n * Works similarily to `requireExternalGestureToFail` but the direction of the relation is reversed - instead of being one-to-many relation, it's many-to-one.\n * @param gestures\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/gesture-composition/#blocksexternalgesture\n */\n blocksExternalGesture(...gestures: Exclude[]) {\n for (const gesture of gestures) {\n this.addDependency('blocksHandlers', gesture);\n }\n return this;\n }\n\n /**\n * Sets a `testID` property for gesture object, allowing for querying for it in tests.\n * @param id\n */\n withTestId(id: string) {\n this.config.testId = id;\n return this;\n }\n\n /**\n * #### iOS only\n * When `true`, the handler will cancel touches for native UI components (`UIButton`, `UISwitch`, etc) it's attached to when it becomes `ACTIVE`.\n * Default value is `true`.\n * @param value\n */\n cancelsTouchesInView(value: boolean) {\n this.config.cancelsTouchesInView = value;\n return this;\n }\n\n initialize() {\n this.handlerTag = getNextHandlerTag();\n\n this.handlers = { ...this.handlers, handlerTag: this.handlerTag };\n\n if (this.config.ref) {\n this.config.ref.current = this as GestureType;\n }\n }\n\n toGestureArray(): GestureType[] {\n return [this as GestureType];\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n prepare() {}\n\n get shouldUseReanimated(): boolean {\n // Use Reanimated when runOnJS isn't set explicitly,\n // all defined callbacks are worklets\n // and remote debugging is disabled\n return (\n this.config.runOnJS !== true &&\n !this.handlers.isWorklet.includes(false) &&\n !isRemoteDebuggingEnabled()\n );\n }\n}\n\nexport abstract class ContinousBaseGesture<\n EventPayloadT extends Record,\n EventChangePayloadT extends Record\n> extends BaseGesture {\n /**\n * Set the callback that is being called every time the gesture receives an update while it's active.\n * @param callback\n */\n onUpdate(callback: (event: GestureUpdateEvent) => void) {\n this.handlers.onUpdate = callback;\n this.handlers.isWorklet[CALLBACK_TYPE.UPDATE] = this.isWorklet(callback);\n return this;\n }\n\n /**\n * Set the callback that is being called every time the gesture receives an update while it's active.\n * This callback will receive information about change in value in relation to the last received event.\n * @param callback\n */\n onChange(\n callback: (\n event: GestureUpdateEvent\n ) => void\n ) {\n this.handlers.onChange = callback;\n this.handlers.isWorklet[CALLBACK_TYPE.CHANGE] = this.isWorklet(callback);\n return this;\n }\n\n /**\n * When `true` the handler will not activate by itself even if its activation criteria are met.\n * Instead you can manipulate its state using state manager.\n * @param manualActivation\n */\n manualActivation(manualActivation: boolean) {\n this.config.manualActivation = manualActivation;\n return this;\n }\n}\n","import { ComponentClass } from 'react';\nimport {\n GestureUpdateEvent,\n GestureStateChangeEvent,\n} from '../gestureHandlerCommon';\nimport { tagMessage } from '../../utils';\n\nexport interface SharedValue {\n value: T;\n}\n\nlet Reanimated:\n | {\n default: {\n // Slightly modified definition copied from 'react-native-reanimated'\n // eslint-disable-next-line @typescript-eslint/ban-types\n createAnimatedComponent

(\n component: ComponentClass

,\n options?: unknown\n ): ComponentClass

;\n };\n useEvent: (\n callback: (event: GestureUpdateEvent | GestureStateChangeEvent) => void,\n events: string[],\n rebuild: boolean\n ) => unknown;\n useSharedValue: (value: T) => SharedValue;\n setGestureState: (handlerTag: number, newState: number) => void;\n }\n | undefined;\n\ntry {\n Reanimated = require('react-native-reanimated');\n} catch (e) {\n // When 'react-native-reanimated' is not available we want to quietly continue\n // @ts-ignore TS demands the variable to be initialized\n Reanimated = undefined;\n}\n\nif (!Reanimated?.useSharedValue) {\n // @ts-ignore Make sure the loaded module is actually Reanimated, if it's not\n // reset the module to undefined so we can fallback to the default implementation\n Reanimated = undefined;\n}\n\nif (Reanimated !== undefined && !Reanimated.setGestureState) {\n // The loaded module is Reanimated but it doesn't have the setGestureState defined\n Reanimated.setGestureState = () => {\n 'worklet';\n console.warn(\n tagMessage(\n 'Please use newer version of react-native-reanimated in order to control state of the gestures.'\n )\n );\n };\n}\n\nexport { Reanimated };\n","import { HandlerCallbacks, CALLBACK_TYPE } from '../gesture';\nimport { Reanimated } from '../reanimatedWrapper';\nimport {\n GestureTouchEvent,\n GestureUpdateEvent,\n GestureStateChangeEvent,\n} from '../../gestureHandlerCommon';\nimport {\n GestureStateManager,\n GestureStateManagerType,\n} from '../gestureStateManager';\nimport { State } from '../../../State';\nimport { TouchEventType } from '../../../TouchEventType';\nimport { tagMessage } from '../../../utils';\nimport { AttachedGestureState } from './types';\n\nfunction getHandler(\n type: CALLBACK_TYPE,\n gesture: HandlerCallbacks>\n) {\n 'worklet';\n switch (type) {\n case CALLBACK_TYPE.BEGAN:\n return gesture.onBegin;\n case CALLBACK_TYPE.START:\n return gesture.onStart;\n case CALLBACK_TYPE.UPDATE:\n return gesture.onUpdate;\n case CALLBACK_TYPE.CHANGE:\n return gesture.onChange;\n case CALLBACK_TYPE.END:\n return gesture.onEnd;\n case CALLBACK_TYPE.FINALIZE:\n return gesture.onFinalize;\n case CALLBACK_TYPE.TOUCHES_DOWN:\n return gesture.onTouchesDown;\n case CALLBACK_TYPE.TOUCHES_MOVE:\n return gesture.onTouchesMove;\n case CALLBACK_TYPE.TOUCHES_UP:\n return gesture.onTouchesUp;\n case CALLBACK_TYPE.TOUCHES_CANCELLED:\n return gesture.onTouchesCancelled;\n }\n}\n\nfunction touchEventTypeToCallbackType(\n eventType: TouchEventType\n): CALLBACK_TYPE {\n 'worklet';\n switch (eventType) {\n case TouchEventType.TOUCHES_DOWN:\n return CALLBACK_TYPE.TOUCHES_DOWN;\n case TouchEventType.TOUCHES_MOVE:\n return CALLBACK_TYPE.TOUCHES_MOVE;\n case TouchEventType.TOUCHES_UP:\n return CALLBACK_TYPE.TOUCHES_UP;\n case TouchEventType.TOUCHES_CANCELLED:\n return CALLBACK_TYPE.TOUCHES_CANCELLED;\n }\n return CALLBACK_TYPE.UNDEFINED;\n}\n\nfunction runWorklet(\n type: CALLBACK_TYPE,\n gesture: HandlerCallbacks>,\n event: GestureStateChangeEvent | GestureUpdateEvent | GestureTouchEvent,\n ...args: unknown[]\n) {\n 'worklet';\n const handler = getHandler(type, gesture);\n if (gesture.isWorklet[type]) {\n // @ts-ignore Logic below makes sure the correct event is send to the\n // correct handler.\n handler?.(event, ...args);\n } else if (handler) {\n console.warn(tagMessage('Animated gesture callback must be a worklet'));\n }\n}\n\nfunction isStateChangeEvent(\n event: GestureUpdateEvent | GestureStateChangeEvent | GestureTouchEvent\n): event is GestureStateChangeEvent {\n 'worklet';\n // @ts-ignore Yes, the oldState prop is missing on GestureTouchEvent, that's the point\n return event.oldState != null;\n}\n\nfunction isTouchEvent(\n event: GestureUpdateEvent | GestureStateChangeEvent | GestureTouchEvent\n): event is GestureTouchEvent {\n 'worklet';\n return event.eventType != null;\n}\n\nexport function useAnimatedGesture(\n preparedGesture: AttachedGestureState,\n needsRebuild: boolean\n) {\n if (!Reanimated) {\n return;\n }\n\n // Hooks are called conditionally, but the condition is whether the\n // react-native-reanimated is installed, which shouldn't change while running\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const sharedHandlersCallbacks = Reanimated.useSharedValue<\n HandlerCallbacks>[] | null\n >(null);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const lastUpdateEvent = Reanimated.useSharedValue<\n (GestureUpdateEvent | undefined)[]\n >([]);\n\n // not every gesture needs a state controller, init them lazily\n const stateControllers: GestureStateManagerType[] = [];\n\n const callback = (\n event: GestureStateChangeEvent | GestureUpdateEvent | GestureTouchEvent\n ) => {\n 'worklet';\n\n const currentCallback = sharedHandlersCallbacks.value;\n if (!currentCallback) {\n return;\n }\n\n for (let i = 0; i < currentCallback.length; i++) {\n const gesture = currentCallback[i];\n\n if (event.handlerTag !== gesture.handlerTag) {\n continue;\n }\n\n if (isStateChangeEvent(event)) {\n if (\n event.oldState === State.UNDETERMINED &&\n event.state === State.BEGAN\n ) {\n runWorklet(CALLBACK_TYPE.BEGAN, gesture, event);\n } else if (\n (event.oldState === State.BEGAN ||\n event.oldState === State.UNDETERMINED) &&\n event.state === State.ACTIVE\n ) {\n runWorklet(CALLBACK_TYPE.START, gesture, event);\n lastUpdateEvent.value[gesture.handlerTag] = undefined;\n } else if (\n event.oldState !== event.state &&\n event.state === State.END\n ) {\n if (event.oldState === State.ACTIVE) {\n runWorklet(CALLBACK_TYPE.END, gesture, event, true);\n }\n runWorklet(CALLBACK_TYPE.FINALIZE, gesture, event, true);\n } else if (\n (event.state === State.FAILED || event.state === State.CANCELLED) &&\n event.state !== event.oldState\n ) {\n if (event.oldState === State.ACTIVE) {\n runWorklet(CALLBACK_TYPE.END, gesture, event, false);\n }\n runWorklet(CALLBACK_TYPE.FINALIZE, gesture, event, false);\n }\n } else if (isTouchEvent(event)) {\n if (!stateControllers[i]) {\n stateControllers[i] = GestureStateManager.create(event.handlerTag);\n }\n\n if (event.eventType !== TouchEventType.UNDETERMINED) {\n runWorklet(\n touchEventTypeToCallbackType(event.eventType),\n gesture,\n event,\n stateControllers[i]\n );\n }\n } else {\n runWorklet(CALLBACK_TYPE.UPDATE, gesture, event);\n\n if (gesture.onChange && gesture.changeEventCalculator) {\n runWorklet(\n CALLBACK_TYPE.CHANGE,\n gesture,\n gesture.changeEventCalculator?.(\n event,\n lastUpdateEvent.value[gesture.handlerTag]\n )\n );\n\n lastUpdateEvent.value[gesture.handlerTag] = event;\n }\n }\n }\n };\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const event = Reanimated.useEvent(\n callback,\n ['onGestureHandlerStateChange', 'onGestureHandlerEvent'],\n needsRebuild\n );\n\n preparedGesture.animatedEventHandler = event;\n preparedGesture.animatedHandlers = sharedHandlersCallbacks;\n}\n","import { BaseGestureConfig, ContinousBaseGesture } from './gesture';\nimport { GestureUpdateEvent } from '../gestureHandlerCommon';\n\nexport type HoverGestureHandlerEventPayload = {\n x: number;\n y: number;\n absoluteX: number;\n absoluteY: number;\n};\n\nexport type HoverGestureChangeEventPayload = {\n changeX: number;\n changeY: number;\n};\n\nexport enum HoverEffect {\n NONE = 0,\n LIFT = 1,\n HIGHLIGHT = 2,\n}\n\nexport interface HoverGestureConfig {\n hoverEffect?: HoverEffect;\n}\n\nexport const hoverGestureHandlerProps = ['hoverEffect'] as const;\n\nfunction changeEventCalculator(\n current: GestureUpdateEvent,\n previous?: GestureUpdateEvent\n) {\n 'worklet';\n let changePayload: HoverGestureChangeEventPayload;\n if (previous === undefined) {\n changePayload = {\n changeX: current.x,\n changeY: current.y,\n };\n } else {\n changePayload = {\n changeX: current.x - previous.x,\n changeY: current.y - previous.y,\n };\n }\n\n return { ...current, ...changePayload };\n}\n\nexport class HoverGesture extends ContinousBaseGesture<\n HoverGestureHandlerEventPayload,\n HoverGestureChangeEventPayload\n> {\n public config: BaseGestureConfig & HoverGestureConfig = {};\n\n constructor() {\n super();\n\n this.handlerName = 'HoverGestureHandler';\n }\n\n /**\n * #### iOS only\n * Sets the visual hover effect.\n */\n effect(effect: HoverEffect) {\n this.config.hoverEffect = effect;\n return this;\n }\n\n onChange(\n callback: (\n event: GestureUpdateEvent<\n HoverGestureHandlerEventPayload & HoverGestureChangeEventPayload\n >\n ) => void\n ) {\n // @ts-ignore TS being overprotective, HoverGestureHandlerEventPayload is Record\n this.handlers.changeEventCalculator = changeEventCalculator;\n return super.onChange(callback);\n }\n}\n\nexport type HoverGestureType = InstanceType;\n","import { Platform } from 'react-native';\n\nimport { isJestEnv, tagMessage } from '../../../utils';\nimport { GestureRef, BaseGesture, GestureType } from '../gesture';\n\nimport { flingGestureHandlerProps } from '../../FlingGestureHandler';\nimport { forceTouchGestureHandlerProps } from '../../ForceTouchGestureHandler';\nimport { longPressGestureHandlerProps } from '../../LongPressGestureHandler';\nimport {\n panGestureHandlerProps,\n panGestureHandlerCustomNativeProps,\n} from '../../PanGestureHandler';\nimport { tapGestureHandlerProps } from '../../TapGestureHandler';\nimport { hoverGestureHandlerProps } from '../hoverGesture';\nimport { nativeViewGestureHandlerProps } from '../../NativeViewGestureHandler';\nimport {\n HandlerStateChangeEvent,\n baseGestureHandlerWithDetectorProps,\n} from '../../gestureHandlerCommon';\nimport { isNewWebImplementationEnabled } from '../../../EnableNewWebImplementation';\nimport { getReactNativeVersion } from '../../../getReactNativeVersion';\nimport { RNRenderer } from '../../../RNRenderer';\nimport { useCallback, useRef, useState } from 'react';\nimport { Reanimated } from '../reanimatedWrapper';\nimport { onGestureHandlerEvent } from '../eventReceiver';\nimport { WebEventHandler } from './types';\n\nexport const ALLOWED_PROPS = [\n ...baseGestureHandlerWithDetectorProps,\n ...tapGestureHandlerProps,\n ...panGestureHandlerProps,\n ...panGestureHandlerCustomNativeProps,\n ...longPressGestureHandlerProps,\n ...forceTouchGestureHandlerProps,\n ...flingGestureHandlerProps,\n ...hoverGestureHandlerProps,\n ...nativeViewGestureHandlerProps,\n];\n\nfunction convertToHandlerTag(ref: GestureRef): number {\n if (typeof ref === 'number') {\n return ref;\n } else if (ref instanceof BaseGesture) {\n return ref.handlerTag;\n } else {\n // @ts-ignore in this case it should be a ref either to gesture object or\n // a gesture handler component, in both cases handlerTag property exists\n return ref.current?.handlerTag ?? -1;\n }\n}\n\nfunction extractValidHandlerTags(interactionGroup: GestureRef[] | undefined) {\n return (\n interactionGroup?.map(convertToHandlerTag)?.filter((tag) => tag > 0) ?? []\n );\n}\n\nexport function extractGestureRelations(gesture: GestureType) {\n const requireToFail = extractValidHandlerTags(gesture.config.requireToFail);\n const simultaneousWith = extractValidHandlerTags(\n gesture.config.simultaneousWith\n );\n const blocksHandlers = extractValidHandlerTags(gesture.config.blocksHandlers);\n\n return {\n waitFor: requireToFail,\n simultaneousHandlers: simultaneousWith,\n blocksHandlers: blocksHandlers,\n };\n}\n\nexport function checkGestureCallbacksForWorklets(gesture: GestureType) {\n if (!__DEV__) {\n return;\n }\n // If a gesture is explicitly marked to run on the JS thread there is no need to check\n // if callbacks are worklets as the user is aware they will be ran on the JS thread\n if (gesture.config.runOnJS) {\n return;\n }\n\n const areSomeNotWorklets = gesture.handlers.isWorklet.includes(false);\n const areSomeWorklets = gesture.handlers.isWorklet.includes(true);\n\n // If some of the callbacks are worklets and some are not, and the gesture is not\n // explicitly marked with `.runOnJS(true)` show an error\n if (areSomeNotWorklets && areSomeWorklets) {\n console.error(\n tagMessage(\n `Some of the callbacks in the gesture are worklets and some are not. Either make sure that all calbacks are marked as 'worklet' if you wish to run them on the UI thread or use '.runOnJS(true)' modifier on the gesture explicitly to run all callbacks on the JS thread.`\n )\n );\n }\n\n if (Reanimated === undefined) {\n // If Reanimated is not available, we can't run worklets, so we shouldn't show the warning\n return;\n }\n\n const areAllNotWorklets = !areSomeWorklets && areSomeNotWorklets;\n // If none of the callbacks are worklets and the gesture is not explicitly marked with\n // `.runOnJS(true)` show a warning\n if (areAllNotWorklets && !isJestEnv()) {\n console.warn(\n tagMessage(\n `None of the callbacks in the gesture are worklets. If you wish to run them on the JS thread use '.runOnJS(true)' modifier on the gesture to make this explicit. Otherwise, mark the callbacks as 'worklet' to run them on the UI thread.`\n )\n );\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function validateDetectorChildren(ref: any) {\n // Finds the first native view under the Wrap component and traverses the fiber tree upwards\n // to check whether there is more than one native view as a pseudo-direct child of GestureDetector\n // i.e. this is not ok:\n // Wrap\n // |\n // / \\\n // / \\\n // / \\\n // / \\\n // NativeView NativeView\n //\n // but this is fine:\n // Wrap\n // |\n // NativeView\n // |\n // / \\\n // / \\\n // / \\\n // / \\\n // NativeView NativeView\n if (__DEV__ && Platform.OS !== 'web') {\n const REACT_NATIVE_VERSION = getReactNativeVersion();\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const wrapType =\n REACT_NATIVE_VERSION.minor > 63 || REACT_NATIVE_VERSION.major > 0\n ? // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n ref._reactInternals.elementType\n : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n ref._reactInternalFiber.elementType;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n let instance =\n RNRenderer.findHostInstance_DEPRECATED(\n ref\n )._internalFiberInstanceHandleDEV;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n while (instance && instance.elementType !== wrapType) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (instance.sibling) {\n throw new Error(\n 'GestureDetector has more than one native view as its children. This can happen if you are using a custom component that renders multiple views, like React.Fragment. You should wrap content of GestureDetector with a or .'\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n instance = instance.return;\n }\n }\n}\n\nexport function useForceRender() {\n const [renderState, setRenderState] = useState(false);\n const forceRender = useCallback(() => {\n setRenderState(!renderState);\n }, [renderState, setRenderState]);\n\n return forceRender;\n}\n\nexport function useWebEventHandlers() {\n return useRef({\n onGestureHandlerEvent: (e: HandlerStateChangeEvent) => {\n onGestureHandlerEvent(e.nativeEvent);\n },\n onGestureHandlerStateChange: isNewWebImplementationEnabled()\n ? (e: HandlerStateChangeEvent) => {\n onGestureHandlerEvent(e.nativeEvent);\n }\n : undefined,\n });\n}\n","import React from 'react';\nimport { GestureType, HandlerCallbacks } from '../gesture';\nimport { registerHandler } from '../../handlersRegistry';\nimport RNGestureHandlerModule from '../../../RNGestureHandlerModule';\nimport { filterConfig, scheduleFlushOperations } from '../../utils';\nimport { ComposedGesture } from '../gestureComposition';\nimport { ActionType } from '../../../ActionType';\nimport { Platform } from 'react-native';\nimport type RNGestureHandlerModuleWeb from '../../../RNGestureHandlerModule.web';\nimport { ghQueueMicrotask } from '../../../ghQueueMicrotask';\nimport { AttachedGestureState, WebEventHandler } from './types';\nimport {\n extractGestureRelations,\n checkGestureCallbacksForWorklets,\n ALLOWED_PROPS,\n} from './utils';\n\ninterface AttachHandlersConfig {\n preparedGesture: AttachedGestureState;\n gestureConfig: ComposedGesture | GestureType;\n gesturesToAttach: GestureType[];\n viewTag: number;\n webEventHandlersRef: React.RefObject;\n}\n\nexport function attachHandlers({\n preparedGesture,\n gestureConfig,\n gesturesToAttach,\n viewTag,\n webEventHandlersRef,\n}: AttachHandlersConfig) {\n gestureConfig.initialize();\n\n // Use queueMicrotask to extract handlerTags, because all refs should be initialized\n // when it's ran\n ghQueueMicrotask(() => {\n if (!preparedGesture.isMounted) {\n return;\n }\n gestureConfig.prepare();\n });\n\n for (const handler of gesturesToAttach) {\n checkGestureCallbacksForWorklets(handler);\n RNGestureHandlerModule.createGestureHandler(\n handler.handlerName,\n handler.handlerTag,\n filterConfig(handler.config, ALLOWED_PROPS)\n );\n\n registerHandler(handler.handlerTag, handler, handler.config.testId);\n }\n\n // Use queueMicrotask to extract handlerTags, because all refs should be initialized\n // when it's ran\n ghQueueMicrotask(() => {\n if (!preparedGesture.isMounted) {\n return;\n }\n for (const handler of gesturesToAttach) {\n RNGestureHandlerModule.updateGestureHandler(\n handler.handlerTag,\n filterConfig(\n handler.config,\n ALLOWED_PROPS,\n extractGestureRelations(handler)\n )\n );\n }\n\n scheduleFlushOperations();\n });\n\n for (const gesture of gesturesToAttach) {\n const actionType = gesture.shouldUseReanimated\n ? ActionType.REANIMATED_WORKLET\n : ActionType.JS_FUNCTION_NEW_API;\n\n if (Platform.OS === 'web') {\n (\n RNGestureHandlerModule.attachGestureHandler as typeof RNGestureHandlerModuleWeb.attachGestureHandler\n )(\n gesture.handlerTag,\n viewTag,\n ActionType.JS_FUNCTION_OLD_API, // Ignored on web\n webEventHandlersRef\n );\n } else {\n RNGestureHandlerModule.attachGestureHandler(\n gesture.handlerTag,\n viewTag,\n actionType\n );\n }\n }\n\n preparedGesture.attachedGestures = gesturesToAttach;\n\n if (preparedGesture.animatedHandlers) {\n const isAnimatedGesture = (g: GestureType) => g.shouldUseReanimated;\n\n preparedGesture.animatedHandlers.value = gesturesToAttach\n .filter(isAnimatedGesture)\n .map((g) => g.handlers) as unknown as HandlerCallbacks<\n Record\n >[];\n }\n}\n","import { GestureType } from '../gesture';\nimport { AttachedGestureState } from './types';\n\n// Checks whether the gesture should be reattached to the view, this will happen when:\n// - The number of gestures in the preparedGesture is different than the number of gestures in the gesture\n// - The handlerName is different in any of the gestures\n// - At least one of the gestures changed the thread it runs on\nexport function needsToReattach(\n preparedGesture: AttachedGestureState,\n newGestures: GestureType[]\n) {\n if (newGestures.length !== preparedGesture.attachedGestures.length) {\n return true;\n }\n for (let i = 0; i < newGestures.length; i++) {\n if (\n newGestures[i].handlerName !==\n preparedGesture.attachedGestures[i].handlerName ||\n newGestures[i].shouldUseReanimated !==\n preparedGesture.attachedGestures[i].shouldUseReanimated\n ) {\n return true;\n }\n }\n\n return false;\n}\n","import { unregisterHandler } from '../../handlersRegistry';\nimport RNGestureHandlerModule from '../../../RNGestureHandlerModule';\nimport { scheduleFlushOperations } from '../../utils';\nimport { AttachedGestureState } from './types';\n\nexport function dropHandlers(preparedGesture: AttachedGestureState) {\n for (const handler of preparedGesture.attachedGestures) {\n RNGestureHandlerModule.dropGestureHandler(handler.handlerTag);\n\n unregisterHandler(handler.handlerTag, handler.config.testId);\n }\n\n scheduleFlushOperations();\n}\n","import React from 'react';\nimport { Reanimated } from '../reanimatedWrapper';\nimport { tagMessage } from '../../../utils';\n\nexport class Wrap extends React.Component<{\n onGestureHandlerEvent?: unknown;\n // Implicit `children` prop has been removed in @types/react^18.0.0\n children?: React.ReactNode;\n}> {\n render() {\n try {\n // I don't think that fighting with types over such a simple function is worth it\n // The only thing it does is add 'collapsable: false' to the child component\n // to make sure it is in the native view hierarchy so the detector can find\n // correct viewTag to attach to.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const child: any = React.Children.only(this.props.children);\n return React.cloneElement(\n child,\n { collapsable: false },\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n child.props.children\n );\n } catch (e) {\n throw new Error(\n tagMessage(\n `GestureDetector got more than one view as a child. If you want the gesture to work on multiple views, wrap them with a common parent and attach the gesture to that view.`\n )\n );\n }\n }\n}\n\nexport const AnimatedWrap =\n Reanimated?.default?.createAnimatedComponent(Wrap) ?? Wrap;\n","import React, { useCallback } from 'react';\nimport { findNodeHandle } from 'react-native';\nimport { GestureType } from '../gesture';\nimport { ComposedGesture } from '../gestureComposition';\n\nimport {\n AttachedGestureState,\n GestureDetectorState,\n WebEventHandler,\n} from './types';\nimport { attachHandlers } from './attachHandlers';\nimport { updateHandlers } from './updateHandlers';\nimport { needsToReattach } from './needsToReattach';\nimport { dropHandlers } from './dropHandlers';\nimport { useForceRender, validateDetectorChildren } from './utils';\n\n// Returns a function that's responsible for updating the attached gestures\n// If the view has changed, it will reattach the handlers to the new view\n// If the view remains the same, it will update the handlers with the new config\nexport function useDetectorUpdater(\n state: GestureDetectorState,\n preparedGesture: AttachedGestureState,\n gesturesToAttach: GestureType[],\n gestureConfig: ComposedGesture | GestureType,\n webEventHandlersRef: React.RefObject\n) {\n const forceRender = useForceRender();\n const updateAttachedGestures = useCallback(\n // skipConfigUpdate is used to prevent unnecessary updates when only checking if the view has changed\n (skipConfigUpdate?: boolean) => {\n // If the underlying view has changed we need to reattach handlers to the new view\n const viewTag = findNodeHandle(state.viewRef) as number;\n const didUnderlyingViewChange = viewTag !== state.previousViewTag;\n\n if (\n didUnderlyingViewChange ||\n needsToReattach(preparedGesture, gesturesToAttach)\n ) {\n validateDetectorChildren(state.viewRef);\n dropHandlers(preparedGesture);\n attachHandlers({\n preparedGesture,\n gestureConfig,\n gesturesToAttach,\n webEventHandlersRef,\n viewTag,\n });\n\n if (didUnderlyingViewChange) {\n state.previousViewTag = viewTag;\n state.forceRebuildReanimatedEvent = true;\n forceRender();\n }\n } else if (!skipConfigUpdate) {\n updateHandlers(preparedGesture, gestureConfig, gesturesToAttach);\n }\n },\n [\n forceRender,\n gestureConfig,\n gesturesToAttach,\n preparedGesture,\n state,\n webEventHandlersRef,\n ]\n );\n\n return updateAttachedGestures;\n}\n","import { GestureType, HandlerCallbacks } from '../gesture';\nimport { registerHandler } from '../../handlersRegistry';\nimport RNGestureHandlerModule from '../../../RNGestureHandlerModule';\nimport { filterConfig, scheduleFlushOperations } from '../../utils';\nimport { ComposedGesture } from '../gestureComposition';\nimport { ghQueueMicrotask } from '../../../ghQueueMicrotask';\nimport { AttachedGestureState } from './types';\nimport {\n extractGestureRelations,\n checkGestureCallbacksForWorklets,\n ALLOWED_PROPS,\n} from './utils';\n\nexport function updateHandlers(\n preparedGesture: AttachedGestureState,\n gestureConfig: ComposedGesture | GestureType,\n newGestures: GestureType[]\n) {\n gestureConfig.prepare();\n\n for (let i = 0; i < newGestures.length; i++) {\n const handler = preparedGesture.attachedGestures[i];\n checkGestureCallbacksForWorklets(handler);\n\n // Only update handlerTag when it's actually different, it may be the same\n // if gesture config object is wrapped with useMemo\n if (newGestures[i].handlerTag !== handler.handlerTag) {\n newGestures[i].handlerTag = handler.handlerTag;\n newGestures[i].handlers.handlerTag = handler.handlerTag;\n }\n }\n\n // Use queueMicrotask to extract handlerTags, because when it's ran, all refs should be updated\n // and handlerTags in BaseGesture references should be updated in the loop above (we need to wait\n // in case of external relations)\n ghQueueMicrotask(() => {\n if (!preparedGesture.isMounted) {\n return;\n }\n\n // If amount of gesture configs changes, we need to update the callbacks in shared value\n let shouldUpdateSharedValueIfUsed =\n preparedGesture.attachedGestures.length !== newGestures.length;\n\n for (let i = 0; i < newGestures.length; i++) {\n const handler = preparedGesture.attachedGestures[i];\n\n // If the gestureId is different (gesture isn't wrapped with useMemo or its dependencies changed),\n // we need to update the shared value, assuming the gesture runs on UI thread or the thread changed\n if (\n handler.handlers.gestureId !== newGestures[i].handlers.gestureId &&\n (newGestures[i].shouldUseReanimated || handler.shouldUseReanimated)\n ) {\n shouldUpdateSharedValueIfUsed = true;\n }\n\n handler.config = newGestures[i].config;\n handler.handlers = newGestures[i].handlers;\n\n RNGestureHandlerModule.updateGestureHandler(\n handler.handlerTag,\n filterConfig(\n handler.config,\n ALLOWED_PROPS,\n extractGestureRelations(handler)\n )\n );\n\n registerHandler(handler.handlerTag, handler, handler.config.testId);\n }\n\n if (preparedGesture.animatedHandlers && shouldUpdateSharedValueIfUsed) {\n const newHandlersValue = preparedGesture.attachedGestures\n .filter((g) => g.shouldUseReanimated) // Ignore gestures that shouldn't run on UI\n .map((g) => g.handlers) as unknown as HandlerCallbacks<\n Record\n >[];\n\n preparedGesture.animatedHandlers.value = newHandlersValue;\n }\n\n scheduleFlushOperations();\n });\n}\n","/* eslint-disable react/no-unused-prop-types */\nimport React, {\n useContext,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n} from 'react';\nimport { Platform, findNodeHandle } from 'react-native';\nimport { GestureType } from '../gesture';\nimport { UserSelect, TouchAction } from '../../gestureHandlerCommon';\nimport { ComposedGesture } from '../gestureComposition';\nimport { isJestEnv } from '../../../utils';\n\nimport GestureHandlerRootViewContext from '../../../GestureHandlerRootViewContext';\nimport { AttachedGestureState, GestureDetectorState } from './types';\nimport { useAnimatedGesture } from './useAnimatedGesture';\nimport { attachHandlers } from './attachHandlers';\nimport { needsToReattach } from './needsToReattach';\nimport { dropHandlers } from './dropHandlers';\nimport { useWebEventHandlers } from './utils';\nimport { Wrap, AnimatedWrap } from './Wrap';\nimport { useDetectorUpdater } from './useDetectorUpdater';\nimport { useViewRefHandler } from './useViewRefHandler';\n\nfunction propagateDetectorConfig(\n props: GestureDetectorProps,\n gesture: ComposedGesture | GestureType\n) {\n const keysToPropagate: (keyof GestureDetectorProps)[] = [\n 'userSelect',\n 'enableContextMenu',\n 'touchAction',\n ];\n\n for (const key of keysToPropagate) {\n const value = props[key];\n if (value === undefined) {\n continue;\n }\n\n for (const g of gesture.toGestureArray()) {\n const config = g.config as { [key: string]: unknown };\n config[key] = value;\n }\n }\n}\n\ninterface GestureDetectorProps {\n children?: React.ReactNode;\n /**\n * A gesture object containing the configuration and callbacks.\n * Can be any of:\n * - base gestures (`Tap`, `Pan`, ...)\n * - `ComposedGesture` (`Race`, `Simultaneous`, `Exclusive`)\n */\n gesture: ComposedGesture | GestureType;\n /**\n * #### Web only\n * This parameter allows to specify which `userSelect` property should be applied to underlying view.\n * Possible values are `\"none\" | \"auto\" | \"text\"`. Default value is set to `\"none\"`.\n */\n userSelect?: UserSelect;\n /**\n * #### Web only\n * Specifies whether context menu should be enabled after clicking on underlying view with right mouse button.\n * Default value is set to `false`.\n */\n enableContextMenu?: boolean;\n /**\n * #### Web only\n * This parameter allows to specify which `touchAction` property should be applied to underlying view.\n * Supports all CSS touch-action values (e.g. `\"none\"`, `\"pan-y\"`). Default value is set to `\"none\"`.\n */\n touchAction?: TouchAction;\n}\n\n/**\n * `GestureDetector` is responsible for creating and updating native gesture handlers based on the config of provided gesture.\n *\n * ### Props\n * - `gesture`\n * - `userSelect` (**Web only**)\n * - `enableContextMenu` (**Web only**)\n * - `touchAction` (**Web only**)\n *\n * ### Remarks\n * - Gesture Detector will use first native view in its subtree to recognize gestures, however if this view is used only to group its children it may get automatically collapsed.\n * - Using the same instance of a gesture across multiple Gesture Detectors is not possible.\n *\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/gesture-detector\n */\nexport const GestureDetector = (props: GestureDetectorProps) => {\n const rootViewContext = useContext(GestureHandlerRootViewContext);\n if (__DEV__ && !rootViewContext && !isJestEnv() && Platform.OS !== 'web') {\n throw new Error(\n 'GestureDetector must be used as a descendant of GestureHandlerRootView. Otherwise the gestures will not be recognized. See https://docs.swmansion.com/react-native-gesture-handler/docs/installation for more details.'\n );\n }\n\n // Gesture config should be wrapped with useMemo to prevent unnecessary re-renders\n const gestureConfig = props.gesture;\n propagateDetectorConfig(props, gestureConfig);\n\n const gesturesToAttach = useMemo(\n () => gestureConfig.toGestureArray(),\n [gestureConfig]\n );\n const shouldUseReanimated = gesturesToAttach.some(\n (g) => g.shouldUseReanimated\n );\n\n const webEventHandlersRef = useWebEventHandlers();\n // Store state in ref to prevent unnecessary renders\n const state = useRef({\n firstRender: true,\n viewRef: null,\n previousViewTag: -1,\n forceRebuildReanimatedEvent: false,\n }).current;\n\n const preparedGesture = React.useRef({\n attachedGestures: [],\n animatedEventHandler: null,\n animatedHandlers: null,\n shouldUseReanimated: shouldUseReanimated,\n isMounted: false,\n }).current;\n\n const updateAttachedGestures = useDetectorUpdater(\n state,\n preparedGesture,\n gesturesToAttach,\n gestureConfig,\n webEventHandlersRef\n );\n\n const refHandler = useViewRefHandler(state, updateAttachedGestures);\n\n // Reanimated event should be rebuilt only when gestures are reattached, otherwise\n // config update will be enough as all necessary items are stored in shared values anyway\n const needsToRebuildReanimatedEvent =\n state.firstRender ||\n state.forceRebuildReanimatedEvent ||\n needsToReattach(preparedGesture, gesturesToAttach);\n state.forceRebuildReanimatedEvent = false;\n\n useAnimatedGesture(preparedGesture, needsToRebuildReanimatedEvent);\n\n useLayoutEffect(() => {\n const viewTag = findNodeHandle(state.viewRef) as number;\n preparedGesture.isMounted = true;\n\n attachHandlers({\n preparedGesture,\n gestureConfig,\n gesturesToAttach,\n webEventHandlersRef,\n viewTag,\n });\n\n return () => {\n preparedGesture.isMounted = false;\n dropHandlers(preparedGesture);\n };\n }, []);\n\n useEffect(() => {\n if (state.firstRender) {\n state.firstRender = false;\n } else {\n updateAttachedGestures();\n }\n }, [props]);\n\n if (shouldUseReanimated) {\n return (\n \n {props.children}\n \n );\n } else {\n return {props.children};\n }\n};\n","import { isFabric, tagMessage } from '../../../utils';\nimport { getShadowNodeFromRef } from '../../../getShadowNodeFromRef';\n\nimport { GestureDetectorState } from './types';\nimport React, { useCallback } from 'react';\nimport { findNodeHandle } from 'react-native';\n\ndeclare const global: {\n isFormsStackingContext: (node: unknown) => boolean | null; // JSI function\n};\n\n// Ref handler for the Wrap component attached under the GestureDetector.\n// It's responsible for setting the viewRef on the state and triggering the reattaching of handlers\n// if the view has changed.\nexport function useViewRefHandler(\n state: GestureDetectorState,\n updateAttachedGestures: (skipConfigUpdate?: boolean) => void\n) {\n const refHandler = useCallback(\n (ref: React.Component | null) => {\n if (ref === null) {\n return;\n }\n\n state.viewRef = ref;\n\n // if it's the first render, also set the previousViewTag to prevent reattaching gestures when not needed\n if (state.previousViewTag === -1) {\n state.previousViewTag = findNodeHandle(state.viewRef) as number;\n }\n\n // Pass true as `skipConfigUpdate`. Here we only want to trigger the eventual reattaching of handlers\n // in case the view has changed. If the view doesn't change, the update will be handled by detector.\n if (!state.firstRender) {\n updateAttachedGestures(true);\n }\n\n if (__DEV__ && isFabric() && global.isFormsStackingContext) {\n const node = getShadowNodeFromRef(ref);\n if (global.isFormsStackingContext(node) === false) {\n console.error(\n tagMessage(\n 'GestureDetector has received a child that may get view-flattened. ' +\n '\\nTo prevent it from misbehaving you need to wrap the child with a ``.'\n )\n );\n }\n }\n },\n [state, updateAttachedGestures]\n );\n\n return refHandler;\n}\n","import { BaseGesture, BaseGestureConfig } from './gesture';\nimport { FlingGestureConfig } from '../FlingGestureHandler';\nimport type { FlingGestureHandlerEventPayload } from '../GestureHandlerEventPayload';\n\nexport class FlingGesture extends BaseGesture {\n public config: BaseGestureConfig & FlingGestureConfig = {};\n\n constructor() {\n super();\n\n this.handlerName = 'FlingGestureHandler';\n }\n\n /**\n * Determine exact number of points required to handle the fling gesture.\n * @param pointers\n */\n numberOfPointers(pointers: number) {\n this.config.numberOfPointers = pointers;\n return this;\n }\n\n /**\n * Expressed allowed direction of movement.\n * Expected values are exported as constants in the Directions object.\n * Arguments can be combined using `|` operator. Default value is set to `MouseButton.LEFT`.\n * @param direction\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/fling-gesture/#directionvalue-directions\n */\n direction(direction: number) {\n this.config.direction = direction;\n return this;\n }\n}\n\nexport type FlingGestureType = InstanceType;\n","import { BaseGestureConfig, ContinousBaseGesture } from './gesture';\nimport { ForceTouchGestureConfig } from '../ForceTouchGestureHandler';\nimport type { ForceTouchGestureHandlerEventPayload } from '../GestureHandlerEventPayload';\nimport { GestureUpdateEvent } from '../gestureHandlerCommon';\n\nexport type ForceTouchGestureChangeEventPayload = {\n forceChange: number;\n};\n\nfunction changeEventCalculator(\n current: GestureUpdateEvent,\n previous?: GestureUpdateEvent\n) {\n 'worklet';\n let changePayload: ForceTouchGestureChangeEventPayload;\n if (previous === undefined) {\n changePayload = {\n forceChange: current.force,\n };\n } else {\n changePayload = {\n forceChange: current.force - previous.force,\n };\n }\n\n return { ...current, ...changePayload };\n}\n\nexport class ForceTouchGesture extends ContinousBaseGesture<\n ForceTouchGestureHandlerEventPayload,\n ForceTouchGestureChangeEventPayload\n> {\n public config: BaseGestureConfig & ForceTouchGestureConfig = {};\n\n constructor() {\n super();\n\n this.handlerName = 'ForceTouchGestureHandler';\n }\n\n /**\n * A minimal pressure that is required before gesture can activate.\n * Should be a value from range [0.0, 1.0]. Default is 0.2.\n * @param force\n */\n minForce(force: number) {\n this.config.minForce = force;\n return this;\n }\n\n /**\n * A maximal pressure that could be applied for gesture.\n * If the pressure is greater, gesture fails. Should be a value from range [0.0, 1.0].\n * @param force\n */\n maxForce(force: number) {\n this.config.maxForce = force;\n return this;\n }\n\n /**\n * Value defining if haptic feedback has to be performed on activation.\n * @param value\n */\n feedbackOnActivation(value: boolean) {\n this.config.feedbackOnActivation = value;\n return this;\n }\n\n onChange(\n callback: (\n event: GestureUpdateEvent<\n GestureUpdateEvent<\n ForceTouchGestureHandlerEventPayload &\n ForceTouchGestureChangeEventPayload\n >\n >\n ) => void\n ) {\n // @ts-ignore TS being overprotective, ForceTouchGestureHandlerEventPayload is Record\n this.handlers.changeEventCalculator = changeEventCalculator;\n return super.onChange(callback);\n }\n}\n\nexport type ForceTouchGestureType = InstanceType;\n","import { BaseGesture, Gesture, GestureRef, GestureType } from './gesture';\n\nfunction extendRelation(\n currentRelation: GestureRef[] | undefined,\n extendWith: GestureType[]\n) {\n if (currentRelation === undefined) {\n return [...extendWith];\n } else {\n return [...currentRelation, ...extendWith];\n }\n}\n\nexport class ComposedGesture extends Gesture {\n protected gestures: Gesture[] = [];\n protected simultaneousGestures: GestureType[] = [];\n protected requireGesturesToFail: GestureType[] = [];\n\n constructor(...gestures: Gesture[]) {\n super();\n this.gestures = gestures;\n }\n\n protected prepareSingleGesture(\n gesture: Gesture,\n simultaneousGestures: GestureType[],\n requireGesturesToFail: GestureType[]\n ) {\n if (gesture instanceof BaseGesture) {\n const newConfig = { ...gesture.config };\n\n // No need to extend `blocksHandlers` here, because it's not changed in composition.\n // The same effect is achieved by reversing the order of 2 gestures in `Exclusive`\n newConfig.simultaneousWith = extendRelation(\n newConfig.simultaneousWith,\n simultaneousGestures\n );\n newConfig.requireToFail = extendRelation(\n newConfig.requireToFail,\n requireGesturesToFail\n );\n\n gesture.config = newConfig;\n } else if (gesture instanceof ComposedGesture) {\n gesture.simultaneousGestures = simultaneousGestures;\n gesture.requireGesturesToFail = requireGesturesToFail;\n gesture.prepare();\n }\n }\n\n prepare() {\n for (const gesture of this.gestures) {\n this.prepareSingleGesture(\n gesture,\n this.simultaneousGestures,\n this.requireGesturesToFail\n );\n }\n }\n\n initialize() {\n for (const gesture of this.gestures) {\n gesture.initialize();\n }\n }\n\n toGestureArray(): GestureType[] {\n return this.gestures.flatMap((gesture) => gesture.toGestureArray());\n }\n}\n\nexport class SimultaneousGesture extends ComposedGesture {\n prepare() {\n // This piece of magic works something like this:\n // for every gesture in the array\n const simultaneousArrays = this.gestures.map((gesture) =>\n // we take the array it's in\n this.gestures\n // and make a copy without it\n .filter((x) => x !== gesture)\n // then we flatmap the result to get list of raw (not composed) gestures\n // this way we don't make the gestures simultaneous with themselves, which is\n // important when the gesture is `ExclusiveGesture` - we don't want to make\n // exclusive gestures simultaneous\n .flatMap((x) => x.toGestureArray())\n );\n\n for (let i = 0; i < this.gestures.length; i++) {\n this.prepareSingleGesture(\n this.gestures[i],\n simultaneousArrays[i],\n this.requireGesturesToFail\n );\n }\n }\n}\n\nexport class ExclusiveGesture extends ComposedGesture {\n prepare() {\n // Transforms the array of gestures into array of grouped raw (not composed) gestures\n // i.e. [gesture1, gesture2, ComposedGesture(gesture3, gesture4)] -> [[gesture1], [gesture2], [gesture3, gesture4]]\n const gestureArrays = this.gestures.map((gesture) =>\n gesture.toGestureArray()\n );\n\n let requireToFail: GestureType[] = [];\n\n for (let i = 0; i < this.gestures.length; i++) {\n this.prepareSingleGesture(\n this.gestures[i],\n this.simultaneousGestures,\n this.requireGesturesToFail.concat(requireToFail)\n );\n\n // Every group gets to wait for all groups before it\n requireToFail = requireToFail.concat(gestureArrays[i]);\n }\n }\n}\n\nexport type ComposedGestureType = InstanceType;\nexport type RaceGestureType = ComposedGestureType;\nexport type SimultaneousGestureType = InstanceType;\nexport type ExclusiveGestureType = InstanceType;\n","import { BaseGesture, BaseGestureConfig } from './gesture';\nimport { LongPressGestureConfig } from '../LongPressGestureHandler';\nimport type { LongPressGestureHandlerEventPayload } from '../GestureHandlerEventPayload';\n\nexport class LongPressGesture extends BaseGesture {\n public config: BaseGestureConfig & LongPressGestureConfig = {};\n\n constructor() {\n super();\n\n this.handlerName = 'LongPressGestureHandler';\n this.shouldCancelWhenOutside(true);\n }\n\n /**\n * Minimum time, expressed in milliseconds, that a finger must remain pressed on the corresponding view.\n * The default value is 500.\n * @param duration\n */\n minDuration(duration: number) {\n this.config.minDurationMs = duration;\n return this;\n }\n\n /**\n * Maximum distance, expressed in points, that defines how far the finger is allowed to travel during a long press gesture.\n * @param distance\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/long-press-gesture#maxdistancevalue-number\n */\n maxDistance(distance: number) {\n this.config.maxDist = distance;\n return this;\n }\n\n /**\n * Determine exact number of points required to handle the long press gesture.\n * @param pointers\n */\n numberOfPointers(pointers: number) {\n this.config.numberOfPointers = pointers;\n return this;\n }\n}\n\nexport type LongPressGestureType = InstanceType;\n","import { BaseGestureConfig, ContinousBaseGesture } from './gesture';\nimport { GestureUpdateEvent } from '../gestureHandlerCommon';\nimport { PanGestureConfig } from '../PanGestureHandler';\nimport type { PanGestureHandlerEventPayload } from '../GestureHandlerEventPayload';\n\nexport type PanGestureChangeEventPayload = {\n changeX: number;\n changeY: number;\n};\n\nfunction changeEventCalculator(\n current: GestureUpdateEvent,\n previous?: GestureUpdateEvent\n) {\n 'worklet';\n let changePayload: PanGestureChangeEventPayload;\n if (previous === undefined) {\n changePayload = {\n changeX: current.translationX,\n changeY: current.translationY,\n };\n } else {\n changePayload = {\n changeX: current.translationX - previous.translationX,\n changeY: current.translationY - previous.translationY,\n };\n }\n\n return { ...current, ...changePayload };\n}\n\nexport class PanGesture extends ContinousBaseGesture<\n PanGestureHandlerEventPayload,\n PanGestureChangeEventPayload\n> {\n public config: BaseGestureConfig & PanGestureConfig = {};\n\n constructor() {\n super();\n\n this.handlerName = 'PanGestureHandler';\n }\n\n /**\n * Range along Y axis (in points) where fingers travels without activation of gesture.\n * @param offset\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#activeoffsetyvalue-number--number\n */\n activeOffsetY(\n offset: number | [activeOffsetYStart: number, activeOffsetYEnd: number]\n ) {\n if (Array.isArray(offset)) {\n this.config.activeOffsetYStart = offset[0];\n this.config.activeOffsetYEnd = offset[1];\n } else if (offset < 0) {\n this.config.activeOffsetYStart = offset;\n } else {\n this.config.activeOffsetYEnd = offset;\n }\n return this;\n }\n\n /**\n * Range along X axis (in points) where fingers travels without activation of gesture.\n * @param offset\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#activeoffsetxvalue-number--number\n */\n activeOffsetX(\n offset: number | [activeOffsetXStart: number, activeOffsetXEnd: number]\n ) {\n if (Array.isArray(offset)) {\n this.config.activeOffsetXStart = offset[0];\n this.config.activeOffsetXEnd = offset[1];\n } else if (offset < 0) {\n this.config.activeOffsetXStart = offset;\n } else {\n this.config.activeOffsetXEnd = offset;\n }\n return this;\n }\n\n /**\n * When the finger moves outside this range (in points) along Y axis and gesture hasn't yet activated it will fail recognizing the gesture.\n * @param offset\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#failoffsetyvalue-number--number\n */\n failOffsetY(\n offset: number | [failOffsetYStart: number, failOffsetYEnd: number]\n ) {\n if (Array.isArray(offset)) {\n this.config.failOffsetYStart = offset[0];\n this.config.failOffsetYEnd = offset[1];\n } else if (offset < 0) {\n this.config.failOffsetYStart = offset;\n } else {\n this.config.failOffsetYEnd = offset;\n }\n return this;\n }\n\n /**\n * When the finger moves outside this range (in points) along X axis and gesture hasn't yet activated it will fail recognizing the gesture.\n * @param offset\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture#failoffsetxvalue-number--number\n */\n failOffsetX(\n offset: number | [failOffsetXStart: number, failOffsetXEnd: number]\n ) {\n if (Array.isArray(offset)) {\n this.config.failOffsetXStart = offset[0];\n this.config.failOffsetXEnd = offset[1];\n } else if (offset < 0) {\n this.config.failOffsetXStart = offset;\n } else {\n this.config.failOffsetXEnd = offset;\n }\n return this;\n }\n\n /**\n * A number of fingers that is required to be placed before gesture can activate. Should be a higher or equal to 0 integer.\n * @param minPointers\n */\n minPointers(minPointers: number) {\n this.config.minPointers = minPointers;\n return this;\n }\n\n /**\n * When the given number of fingers is placed on the screen and gesture hasn't yet activated it will fail recognizing the gesture.\n * Should be a higher or equal to 0 integer.\n * @param maxPointers\n */\n maxPointers(maxPointers: number) {\n this.config.maxPointers = maxPointers;\n return this;\n }\n\n /**\n * Minimum distance the finger (or multiple finger) need to travel before the gesture activates.\n * Expressed in points.\n * @param distance\n */\n minDistance(distance: number) {\n this.config.minDist = distance;\n return this;\n }\n\n /**\n * Minimum velocity the finger has to reach in order to activate handler.\n * @param velocity\n */\n minVelocity(velocity: number) {\n this.config.minVelocity = velocity;\n return this;\n }\n\n /**\n * Minimum velocity along X axis the finger has to reach in order to activate handler.\n * @param velocity\n */\n minVelocityX(velocity: number) {\n this.config.minVelocityX = velocity;\n return this;\n }\n\n /**\n * Minimum velocity along Y axis the finger has to reach in order to activate handler.\n * @param velocity\n */\n minVelocityY(velocity: number) {\n this.config.minVelocityY = velocity;\n return this;\n }\n\n /**\n * #### Android only\n * Android, by default, will calculate translation values based on the position of the leading pointer (the first one that was placed on the screen).\n * This modifier allows that behavior to be changed to the one that is default on iOS - the averaged position of all active pointers will be used to calculate the translation values.\n * @param value\n */\n averageTouches(value: boolean) {\n this.config.avgTouches = value;\n return this;\n }\n\n /**\n * #### iOS only\n * Enables two-finger gestures on supported devices, for example iPads with trackpads.\n * @param value\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture/#enabletrackpadtwofingergesturevalue-boolean-ios-only\n */\n enableTrackpadTwoFingerGesture(value: boolean) {\n this.config.enableTrackpadTwoFingerGesture = value;\n return this;\n }\n\n /**\n * Duration in milliseconds of the LongPress gesture before Pan is allowed to activate.\n * @param duration\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture/#activateafterlongpressduration-number\n */\n activateAfterLongPress(duration: number) {\n this.config.activateAfterLongPress = duration;\n return this;\n }\n\n onChange(\n callback: (\n event: GestureUpdateEvent<\n PanGestureHandlerEventPayload & PanGestureChangeEventPayload\n >\n ) => void\n ) {\n // @ts-ignore TS being overprotective, PanGestureHandlerEventPayload is Record\n this.handlers.changeEventCalculator = changeEventCalculator;\n return super.onChange(callback);\n }\n}\n\nexport type PanGestureType = InstanceType;\n","import { ContinousBaseGesture } from './gesture';\nimport type { PinchGestureHandlerEventPayload } from '../GestureHandlerEventPayload';\nimport { GestureUpdateEvent } from '../gestureHandlerCommon';\n\nexport type PinchGestureChangeEventPayload = {\n scaleChange: number;\n};\n\nfunction changeEventCalculator(\n current: GestureUpdateEvent,\n previous?: GestureUpdateEvent\n) {\n 'worklet';\n let changePayload: PinchGestureChangeEventPayload;\n if (previous === undefined) {\n changePayload = {\n scaleChange: current.scale,\n };\n } else {\n changePayload = {\n scaleChange: current.scale / previous.scale,\n };\n }\n\n return { ...current, ...changePayload };\n}\n\nexport class PinchGesture extends ContinousBaseGesture<\n PinchGestureHandlerEventPayload,\n PinchGestureChangeEventPayload\n> {\n constructor() {\n super();\n\n this.handlerName = 'PinchGestureHandler';\n }\n\n onChange(\n callback: (\n event: GestureUpdateEvent<\n PinchGestureHandlerEventPayload & PinchGestureChangeEventPayload\n >\n ) => void\n ) {\n // @ts-ignore TS being overprotective, PinchGestureHandlerEventPayload is Record\n this.handlers.changeEventCalculator = changeEventCalculator;\n return super.onChange(callback);\n }\n}\n\nexport type PinchGestureType = InstanceType;\n","import { ContinousBaseGesture } from './gesture';\nimport type { RotationGestureHandlerEventPayload } from '../GestureHandlerEventPayload';\nimport { GestureUpdateEvent } from '../gestureHandlerCommon';\n\ntype RotationGestureChangeEventPayload = {\n rotationChange: number;\n};\n\nfunction changeEventCalculator(\n current: GestureUpdateEvent,\n previous?: GestureUpdateEvent\n) {\n 'worklet';\n let changePayload: RotationGestureChangeEventPayload;\n if (previous === undefined) {\n changePayload = {\n rotationChange: current.rotation,\n };\n } else {\n changePayload = {\n rotationChange: current.rotation - previous.rotation,\n };\n }\n\n return { ...current, ...changePayload };\n}\n\nexport class RotationGesture extends ContinousBaseGesture<\n RotationGestureHandlerEventPayload,\n RotationGestureChangeEventPayload\n> {\n constructor() {\n super();\n\n this.handlerName = 'RotationGestureHandler';\n }\n\n onChange(\n callback: (\n event: GestureUpdateEvent<\n RotationGestureHandlerEventPayload & RotationGestureChangeEventPayload\n >\n ) => void\n ) {\n // @ts-ignore TS being overprotective, RotationGestureHandlerEventPayload is Record\n this.handlers.changeEventCalculator = changeEventCalculator;\n return super.onChange(callback);\n }\n}\n\nexport type RotationGestureType = InstanceType;\n","import { BaseGestureConfig, BaseGesture } from './gesture';\nimport { TapGestureConfig } from '../TapGestureHandler';\nimport type { TapGestureHandlerEventPayload } from '../GestureHandlerEventPayload';\n\nexport class TapGesture extends BaseGesture {\n public config: BaseGestureConfig & TapGestureConfig = {};\n\n constructor() {\n super();\n\n this.handlerName = 'TapGestureHandler';\n this.shouldCancelWhenOutside(true);\n }\n\n /**\n * Minimum number of pointers (fingers) required to be placed before the gesture activates.\n * Should be a positive integer. The default value is 1.\n * @param minPointers\n */\n minPointers(minPointers: number) {\n this.config.minPointers = minPointers;\n return this;\n }\n\n /**\n * Number of tap gestures required to activate the gesture.\n * The default value is 1.\n * @param count\n */\n numberOfTaps(count: number) {\n this.config.numberOfTaps = count;\n return this;\n }\n\n /**\n * Maximum distance, expressed in points, that defines how far the finger is allowed to travel during a tap gesture.\n * @param maxDist\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/tap-gesture#maxdistancevalue-number\n */\n maxDistance(maxDist: number) {\n this.config.maxDist = maxDist;\n return this;\n }\n\n /**\n * Maximum time, expressed in milliseconds, that defines how fast a finger must be released after a touch.\n * The default value is 500.\n * @param duration\n */\n maxDuration(duration: number) {\n this.config.maxDurationMs = duration;\n return this;\n }\n\n /**\n * Maximum time, expressed in milliseconds, that can pass before the next tap — if many taps are required.\n * The default value is 500.\n * @param delay\n */\n maxDelay(delay: number) {\n this.config.maxDelayMs = delay;\n return this;\n }\n\n /**\n * Maximum distance, expressed in points, that defines how far the finger is allowed to travel along the X axis during a tap gesture.\n * @param delta\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/tap-gesture#maxdeltaxvalue-number\n */\n maxDeltaX(delta: number) {\n this.config.maxDeltaX = delta;\n return this;\n }\n\n /**\n * Maximum distance, expressed in points, that defines how far the finger is allowed to travel along the Y axis during a tap gesture.\n * @param delta\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/tap-gesture#maxdeltayvalue-number\n */\n maxDeltaY(delta: number) {\n this.config.maxDeltaY = delta;\n return this;\n }\n}\n\nexport type TapGestureType = InstanceType;\n","import { BaseGestureConfig, BaseGesture } from './gesture';\nimport { NativeViewGestureConfig } from '../NativeViewGestureHandler';\nimport type { NativeViewGestureHandlerPayload } from '../GestureHandlerEventPayload';\n\nexport class NativeGesture extends BaseGesture {\n public config: BaseGestureConfig & NativeViewGestureConfig = {};\n\n constructor() {\n super();\n\n this.handlerName = 'NativeViewGestureHandler';\n }\n\n /**\n * When true, underlying handler will activate unconditionally when in `BEGAN` or `UNDETERMINED` state.\n * @param value\n */\n shouldActivateOnStart(value: boolean) {\n this.config.shouldActivateOnStart = value;\n return this;\n }\n\n /**\n * When true, cancels all other gesture handlers when this `NativeViewGestureHandler` receives an `ACTIVE` state event.\n * @param value\n */\n disallowInterruption(value: boolean) {\n this.config.disallowInterruption = value;\n return this;\n }\n}\n\nexport type NativeGestureType = InstanceType;\n","import { GestureUpdateEvent } from '../gestureHandlerCommon';\nimport { ContinousBaseGesture } from './gesture';\n\nfunction changeEventCalculator(\n current: GestureUpdateEvent>,\n _previous?: GestureUpdateEvent>\n) {\n 'worklet';\n return current;\n}\n\nexport class ManualGesture extends ContinousBaseGesture<\n Record,\n Record\n> {\n constructor() {\n super();\n\n this.handlerName = 'ManualGestureHandler';\n }\n\n onChange(\n callback: (event: GestureUpdateEvent>) => void\n ) {\n // @ts-ignore TS being overprotective, Record is Record\n this.handlers.changeEventCalculator = changeEventCalculator;\n return super.onChange(callback);\n }\n}\n\nexport type ManualGestureType = InstanceType;\n","import { FlingGesture } from './flingGesture';\nimport { ForceTouchGesture } from './forceTouchGesture';\nimport { Gesture } from './gesture';\nimport {\n ComposedGesture,\n ExclusiveGesture,\n SimultaneousGesture,\n} from './gestureComposition';\nimport { LongPressGesture } from './longPressGesture';\nimport { PanGesture } from './panGesture';\nimport { PinchGesture } from './pinchGesture';\nimport { RotationGesture } from './rotationGesture';\nimport { TapGesture } from './tapGesture';\nimport { NativeGesture } from './nativeGesture';\nimport { ManualGesture } from './manualGesture';\nimport { HoverGesture } from './hoverGesture';\n\n/**\n * `Gesture` is the object that allows you to create and compose gestures.\n *\n * ### Remarks\n * - Consider wrapping your gesture configurations with `useMemo`, as it will reduce the amount of work Gesture Handler has to do under the hood when updating gestures.\n *\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/gesture\n */\nexport const GestureObjects = {\n /**\n * A discrete gesture that recognizes one or many taps.\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/tap-gesture\n */\n Tap: () => {\n return new TapGesture();\n },\n\n /**\n * A continuous gesture that can recognize a panning (dragging) gesture and track its movement.\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pan-gesture\n */\n Pan: () => {\n return new PanGesture();\n },\n\n /**\n * A continuous gesture that recognizes pinch gesture. It allows for tracking the distance between two fingers and use that information to scale or zoom your content.\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/pinch-gesture\n */\n Pinch: () => {\n return new PinchGesture();\n },\n\n /**\n * A continuous gesture that can recognize rotation and track its movement.\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/rotation-gesture\n */\n Rotation: () => {\n return new RotationGesture();\n },\n\n /**\n * A discrete gesture that activates when the movement is sufficiently fast.\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/fling-gesture\n */\n Fling: () => {\n return new FlingGesture();\n },\n\n /**\n * A discrete gesture that activates when the corresponding view is pressed for a sufficiently long time.\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/long-press-gesture\n */\n LongPress: () => {\n return new LongPressGesture();\n },\n\n /**\n * #### iOS only\n * A continuous gesture that recognizes force of a touch. It allows for tracking pressure of touch on some iOS devices.\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/force-touch-gesture\n */\n ForceTouch: () => {\n return new ForceTouchGesture();\n },\n\n /**\n * A gesture that allows other touch handling components to participate in RNGH's gesture system.\n * When used, the other component should be the direct child of a `GestureDetector`.\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/native-gesture\n */\n Native: () => {\n return new NativeGesture();\n },\n\n /**\n * A plain gesture that has no specific activation criteria nor event data set.\n * Its state has to be controlled manually using a state manager.\n * It will not fail when all the pointers are lifted from the screen.\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/manual-gesture\n */\n Manual: () => {\n return new ManualGesture();\n },\n\n /**\n * A continuous gesture that can recognize hovering above the view it's attached to.\n * The hover effect may be activated by moving a mouse or a stylus over the view.\n *\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/gestures/hover-gesture\n */\n Hover: () => {\n return new HoverGesture();\n },\n\n /**\n * Builds a composed gesture consisting of gestures provided as parameters.\n * The first one that becomes active cancels the rest of gestures.\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/gesture-composition/#race\n */\n Race: (...gestures: Gesture[]) => {\n return new ComposedGesture(...gestures);\n },\n\n /**\n * Builds a composed gesture that allows all base gestures to run simultaneously.\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/gesture-composition/#simultaneous\n */\n Simultaneous(...gestures: Gesture[]) {\n return new SimultaneousGesture(...gestures);\n },\n\n /**\n * Builds a composed gesture where only one of the provided gestures can become active.\n * Priority is decided through the order of gestures: the first one has higher priority\n * than the second one, second one has higher priority than the third one, and so on.\n * For example, to make a gesture that recognizes both single and double tap you need\n * to call Exclusive(doubleTap, singleTap).\n * @see https://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/gesture-composition/#exclusive\n */\n Exclusive(...gestures: Gesture[]) {\n return new ExclusiveGesture(...gestures);\n },\n};\n","import * as React from 'react';\nimport { View } from 'react-native';\n\nexport default React.forwardRef((props, ref) => (\n \n));\n","import * as React from 'react';\nimport { Animated, Platform, processColor, StyleSheet } from 'react-native';\n\nimport createNativeWrapper from '../handlers/createNativeWrapper';\nimport GestureHandlerButton from './GestureHandlerButton';\nimport { State } from '../State';\n\nimport {\n GestureEvent,\n HandlerStateChangeEvent,\n} from '../handlers/gestureHandlerCommon';\nimport type { NativeViewGestureHandlerPayload } from '../handlers/GestureHandlerEventPayload';\nimport type {\n BaseButtonWithRefProps,\n BaseButtonProps,\n RectButtonWithRefProps,\n RectButtonProps,\n BorderlessButtonWithRefProps,\n BorderlessButtonProps,\n} from './GestureButtonsProps';\n\nexport const RawButton = createNativeWrapper(GestureHandlerButton, {\n shouldCancelWhenOutside: false,\n shouldActivateOnStart: false,\n});\n\nclass InnerBaseButton extends React.Component {\n static defaultProps = {\n delayLongPress: 600,\n };\n\n private lastActive: boolean;\n private longPressTimeout: ReturnType | undefined;\n private longPressDetected: boolean;\n\n constructor(props: BaseButtonProps) {\n super(props);\n this.lastActive = false;\n this.longPressDetected = false;\n }\n\n private handleEvent = ({\n nativeEvent,\n }: HandlerStateChangeEvent) => {\n const { state, oldState, pointerInside } = nativeEvent;\n const active = pointerInside && state === State.ACTIVE;\n\n if (active !== this.lastActive && this.props.onActiveStateChange) {\n this.props.onActiveStateChange(active);\n }\n\n if (\n !this.longPressDetected &&\n oldState === State.ACTIVE &&\n state !== State.CANCELLED &&\n this.lastActive &&\n this.props.onPress\n ) {\n this.props.onPress(pointerInside);\n }\n\n if (\n !this.lastActive &&\n // NativeViewGestureHandler sends different events based on platform\n state === (Platform.OS !== 'android' ? State.ACTIVE : State.BEGAN) &&\n pointerInside\n ) {\n this.longPressDetected = false;\n if (this.props.onLongPress) {\n this.longPressTimeout = setTimeout(\n this.onLongPress,\n this.props.delayLongPress\n );\n }\n } else if (\n // Cancel longpress timeout if it's set and the finger moved out of the view\n state === State.ACTIVE &&\n !pointerInside &&\n this.longPressTimeout !== undefined\n ) {\n clearTimeout(this.longPressTimeout);\n this.longPressTimeout = undefined;\n } else if (\n // Cancel longpress timeout if it's set and the gesture has finished\n this.longPressTimeout !== undefined &&\n (state === State.END ||\n state === State.CANCELLED ||\n state === State.FAILED)\n ) {\n clearTimeout(this.longPressTimeout);\n this.longPressTimeout = undefined;\n }\n\n this.lastActive = active;\n };\n\n private onLongPress = () => {\n this.longPressDetected = true;\n this.props.onLongPress?.();\n };\n\n // Normally, the parent would execute it's handler first, then forward the\n // event to listeners. However, here our handler is virtually only forwarding\n // events to listeners, so we reverse the order to keep the proper order of\n // the callbacks (from \"raw\" ones to \"processed\").\n private onHandlerStateChange = (\n e: HandlerStateChangeEvent\n ) => {\n this.props.onHandlerStateChange?.(e);\n this.handleEvent(e);\n };\n\n private onGestureEvent = (\n e: GestureEvent\n ) => {\n this.props.onGestureEvent?.(e);\n this.handleEvent(\n e as HandlerStateChangeEvent\n ); // TODO: maybe it is not correct\n };\n\n render() {\n const { rippleColor, ...rest } = this.props;\n\n return (\n \n );\n }\n}\n\nexport const BaseButton = React.forwardRef<\n any,\n Omit\n>((props, ref) => );\n\nconst AnimatedBaseButton = Animated.createAnimatedComponent(BaseButton);\n\nconst btnStyles = StyleSheet.create({\n underlay: {\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n top: 0,\n },\n});\n\nclass InnerRectButton extends React.Component {\n static defaultProps = {\n activeOpacity: 0.105,\n underlayColor: 'black',\n };\n\n private opacity: Animated.Value;\n\n constructor(props: RectButtonProps) {\n super(props);\n this.opacity = new Animated.Value(0);\n }\n\n private onActiveStateChange = (active: boolean) => {\n if (Platform.OS !== 'android') {\n this.opacity.setValue(active ? this.props.activeOpacity! : 0);\n }\n\n this.props.onActiveStateChange?.(active);\n };\n\n render() {\n const { children, style, ...rest } = this.props;\n\n const resolvedStyle = StyleSheet.flatten(style ?? {});\n\n return (\n \n \n {children}\n \n );\n }\n}\n\nexport const RectButton = React.forwardRef<\n any,\n Omit\n>((props, ref) => );\n\nclass InnerBorderlessButton extends React.Component {\n static defaultProps = {\n activeOpacity: 0.3,\n borderless: true,\n };\n\n private opacity: Animated.Value;\n\n constructor(props: BorderlessButtonProps) {\n super(props);\n this.opacity = new Animated.Value(1);\n }\n\n private onActiveStateChange = (active: boolean) => {\n if (Platform.OS !== 'android') {\n this.opacity.setValue(active ? this.props.activeOpacity! : 1);\n }\n\n this.props.onActiveStateChange?.(active);\n };\n\n render() {\n const { children, style, innerRef, ...rest } = this.props;\n\n return (\n \n {children}\n \n );\n }\n}\n\nexport const BorderlessButton = React.forwardRef<\n any,\n Omit\n>((props, ref) => );\n\nexport { default as PureNativeButton } from './GestureHandlerButton';\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport View from '../../exports/View';\nimport React from 'react';\n\n/**\n * Common implementation for a simple stubbed view.\n */\nclass UnimplementedView extends React.Component {\n render() {\n return /*#__PURE__*/React.createElement(View, {\n style: [unimplementedViewStyles, this.props.style]\n }, this.props.children);\n }\n}\nvar unimplementedViewStyles = process.env.NODE_ENV !== 'production' ? {\n alignSelf: 'flex-start',\n borderColor: 'red',\n borderWidth: 1\n} : {};\nexport default UnimplementedView;","import { TouchableNativeFeedback } from 'react-native';\n\nexport default TouchableNativeFeedback;\n","import * as React from 'react';\nimport { Component } from 'react';\nimport { Animated, Platform } from 'react-native';\n\nimport { State } from '../../State';\nimport { BaseButton } from '../GestureButtons';\n\nimport {\n GestureEvent,\n HandlerStateChangeEvent,\n} from '../../handlers/gestureHandlerCommon';\nimport type { NativeViewGestureHandlerPayload } from '../../handlers/GestureHandlerEventPayload';\nimport type { TouchableNativeFeedbackExtraProps } from './TouchableNativeFeedbackProps';\nimport type { GenericTouchableProps } from './GenericTouchableProps';\n\n/**\n * Each touchable is a states' machine which preforms transitions.\n * On very beginning (and on the very end or recognition) touchable is\n * UNDETERMINED. Then it moves to BEGAN. If touchable recognizes that finger\n * travel outside it transits to special MOVED_OUTSIDE state. Gesture recognition\n * finishes in UNDETERMINED state.\n */\nexport const TOUCHABLE_STATE = {\n UNDETERMINED: 0,\n BEGAN: 1,\n MOVED_OUTSIDE: 2,\n} as const;\n\ntype TouchableState = typeof TOUCHABLE_STATE[keyof typeof TOUCHABLE_STATE];\n\ninterface InternalProps {\n extraButtonProps: TouchableNativeFeedbackExtraProps;\n onStateChange?: (oldState: TouchableState, newState: TouchableState) => void;\n}\n\n// TODO: maybe can be better\n// TODO: all clearTimeout have ! added, maybe they shouldn't ?\ntype Timeout = ReturnType | null | undefined;\n\n/**\n * GenericTouchable is not intented to be used as it is.\n * Should be treated as a source for the rest of touchables\n */\n\nexport default class GenericTouchable extends Component<\n GenericTouchableProps & InternalProps\n> {\n static defaultProps = {\n delayLongPress: 600,\n extraButtonProps: {\n rippleColor: 'transparent',\n exclusive: true,\n },\n };\n\n // Timeout handlers\n pressInTimeout: Timeout;\n pressOutTimeout: Timeout;\n longPressTimeout: Timeout;\n\n // This flag is required since recognition of longPress implies not-invoking onPress\n longPressDetected = false;\n\n pointerInside = true;\n\n // State of touchable\n STATE: TouchableState = TOUCHABLE_STATE.UNDETERMINED;\n\n // handlePressIn in called on first touch on traveling inside component.\n // Handles state transition with delay.\n handlePressIn() {\n if (this.props.delayPressIn) {\n this.pressInTimeout = setTimeout(() => {\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n this.pressInTimeout = null;\n }, this.props.delayPressIn);\n } else {\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n }\n if (this.props.onLongPress) {\n const time =\n (this.props.delayPressIn || 0) + (this.props.delayLongPress || 0);\n this.longPressTimeout = setTimeout(this.onLongPressDetected, time);\n }\n }\n // handleMoveOutside in called on traveling outside component.\n // Handles state transition with delay.\n handleMoveOutside() {\n if (this.props.delayPressOut) {\n this.pressOutTimeout =\n this.pressOutTimeout ||\n setTimeout(() => {\n this.moveToState(TOUCHABLE_STATE.MOVED_OUTSIDE);\n this.pressOutTimeout = null;\n }, this.props.delayPressOut);\n } else {\n this.moveToState(TOUCHABLE_STATE.MOVED_OUTSIDE);\n }\n }\n\n // handleGoToUndetermined transits to UNDETERMINED state with proper delay\n handleGoToUndetermined() {\n clearTimeout(this.pressOutTimeout!); // TODO: maybe it can be undefined\n if (this.props.delayPressOut) {\n this.pressOutTimeout = setTimeout(() => {\n if (this.STATE === TOUCHABLE_STATE.UNDETERMINED) {\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n }\n this.moveToState(TOUCHABLE_STATE.UNDETERMINED);\n this.pressOutTimeout = null;\n }, this.props.delayPressOut);\n } else {\n if (this.STATE === TOUCHABLE_STATE.UNDETERMINED) {\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n }\n this.moveToState(TOUCHABLE_STATE.UNDETERMINED);\n }\n }\n\n componentDidMount() {\n this.reset();\n }\n // Reset timeout to prevent memory leaks.\n reset() {\n this.longPressDetected = false;\n this.pointerInside = true;\n clearTimeout(this.pressInTimeout!);\n clearTimeout(this.pressOutTimeout!);\n clearTimeout(this.longPressTimeout!);\n this.pressOutTimeout = null;\n this.longPressTimeout = null;\n this.pressInTimeout = null;\n }\n\n // All states' transitions are defined here.\n moveToState(newState: TouchableState) {\n if (newState === this.STATE) {\n // Ignore dummy transitions\n return;\n }\n if (newState === TOUCHABLE_STATE.BEGAN) {\n // First touch and moving inside\n this.props.onPressIn?.();\n } else if (newState === TOUCHABLE_STATE.MOVED_OUTSIDE) {\n // Moving outside\n this.props.onPressOut?.();\n } else if (newState === TOUCHABLE_STATE.UNDETERMINED) {\n // Need to reset each time on transition to UNDETERMINED\n this.reset();\n if (this.STATE === TOUCHABLE_STATE.BEGAN) {\n // ... and if it happens inside button.\n this.props.onPressOut?.();\n }\n }\n // Finally call lister (used by subclasses)\n this.props.onStateChange?.(this.STATE, newState);\n // ... and make transition.\n this.STATE = newState;\n }\n\n onGestureEvent = ({\n nativeEvent: { pointerInside },\n }: GestureEvent) => {\n if (this.pointerInside !== pointerInside) {\n if (pointerInside) {\n this.onMoveIn();\n } else {\n this.onMoveOut();\n }\n }\n this.pointerInside = pointerInside;\n };\n\n onHandlerStateChange = ({\n nativeEvent,\n }: HandlerStateChangeEvent) => {\n const { state } = nativeEvent;\n if (state === State.CANCELLED || state === State.FAILED) {\n // Need to handle case with external cancellation (e.g. by ScrollView)\n this.moveToState(TOUCHABLE_STATE.UNDETERMINED);\n } else if (\n // This platform check is an implication of slightly different behavior of handlers on different platform.\n // And Android \"Active\" state is achieving on first move of a finger, not on press in.\n // On iOS event on \"Began\" is not delivered.\n state === (Platform.OS !== 'android' ? State.ACTIVE : State.BEGAN) &&\n this.STATE === TOUCHABLE_STATE.UNDETERMINED\n ) {\n // Moving inside requires\n this.handlePressIn();\n } else if (state === State.END) {\n const shouldCallOnPress =\n !this.longPressDetected &&\n this.STATE !== TOUCHABLE_STATE.MOVED_OUTSIDE &&\n this.pressOutTimeout === null;\n this.handleGoToUndetermined();\n if (shouldCallOnPress) {\n // Calls only inside component whether no long press was called previously\n this.props.onPress?.();\n }\n }\n };\n\n onLongPressDetected = () => {\n this.longPressDetected = true;\n // Checked for in the caller of `onLongPressDetected`, but better to check twice\n this.props.onLongPress?.();\n };\n\n componentWillUnmount() {\n // To prevent memory leaks\n this.reset();\n }\n\n onMoveIn() {\n if (this.STATE === TOUCHABLE_STATE.MOVED_OUTSIDE) {\n // This call is not throttled with delays (like in RN's implementation).\n this.moveToState(TOUCHABLE_STATE.BEGAN);\n }\n }\n\n onMoveOut() {\n // Long press should no longer be detected\n clearTimeout(this.longPressTimeout!);\n this.longPressTimeout = null;\n if (this.STATE === TOUCHABLE_STATE.BEGAN) {\n this.handleMoveOutside();\n }\n }\n\n render() {\n const hitSlop =\n (typeof this.props.hitSlop === 'number'\n ? {\n top: this.props.hitSlop,\n left: this.props.hitSlop,\n bottom: this.props.hitSlop,\n right: this.props.hitSlop,\n }\n : this.props.hitSlop) ?? undefined;\n\n const coreProps = {\n accessible: this.props.accessible !== false,\n accessibilityLabel: this.props.accessibilityLabel,\n accessibilityHint: this.props.accessibilityHint,\n accessibilityRole: this.props.accessibilityRole,\n // TODO: check if changed to no 's' correctly, also removed 2 props that are no longer available: `accessibilityComponentType` and `accessibilityTraits`,\n // would be good to check if it is ok for sure, see: https://github.com/facebook/react-native/issues/24016\n accessibilityState: this.props.accessibilityState,\n accessibilityActions: this.props.accessibilityActions,\n onAccessibilityAction: this.props.onAccessibilityAction,\n nativeID: this.props.nativeID,\n onLayout: this.props.onLayout,\n };\n\n return (\n \n \n {this.props.children}\n \n \n );\n }\n}\n","import * as React from 'react';\nimport { PropsWithChildren } from 'react';\nimport GenericTouchable from './GenericTouchable';\nimport type { GenericTouchableProps } from './GenericTouchableProps';\n\nexport type TouchableWithoutFeedbackProps = GenericTouchableProps;\n\nconst TouchableWithoutFeedback = React.forwardRef<\n GenericTouchable,\n PropsWithChildren\n>((props, ref) => );\n\nTouchableWithoutFeedback.defaultProps = GenericTouchable.defaultProps;\n\nexport default TouchableWithoutFeedback;\n","import {\n Animated,\n Easing,\n StyleSheet,\n View,\n TouchableOpacityProps as RNTouchableOpacityProps,\n} from 'react-native';\nimport GenericTouchable, { TOUCHABLE_STATE } from './GenericTouchable';\nimport type { GenericTouchableProps } from './GenericTouchableProps';\nimport * as React from 'react';\nimport { Component } from 'react';\n\nexport type TouchableOpacityProps = RNTouchableOpacityProps &\n GenericTouchableProps & {\n useNativeAnimations?: boolean;\n };\n\n/**\n * TouchableOpacity bases on timing animation which has been used in RN's core\n */\nexport default class TouchableOpacity extends Component {\n static defaultProps = {\n ...GenericTouchable.defaultProps,\n activeOpacity: 0.2,\n };\n\n // Opacity is 1 one by default but could be overwritten\n getChildStyleOpacityWithDefault = () => {\n const childStyle = StyleSheet.flatten(this.props.style) || {};\n return childStyle.opacity == null\n ? 1\n : (childStyle.opacity.valueOf() as number);\n };\n\n opacity = new Animated.Value(this.getChildStyleOpacityWithDefault());\n\n setOpacityTo = (value: number, duration: number) => {\n Animated.timing(this.opacity, {\n toValue: value,\n duration: duration,\n easing: Easing.inOut(Easing.quad),\n useNativeDriver: this.props.useNativeAnimations ?? true,\n }).start();\n };\n\n onStateChange = (_from: number, to: number) => {\n if (to === TOUCHABLE_STATE.BEGAN) {\n this.setOpacityTo(this.props.activeOpacity!, 0);\n } else if (\n to === TOUCHABLE_STATE.UNDETERMINED ||\n to === TOUCHABLE_STATE.MOVED_OUTSIDE\n ) {\n this.setOpacityTo(this.getChildStyleOpacityWithDefault(), 150);\n }\n };\n\n render() {\n const { style = {}, ...rest } = this.props;\n return (\n \n {this.props.children ? this.props.children : }\n \n );\n }\n}\n","import * as React from 'react';\nimport { Component } from 'react';\nimport GenericTouchable, { TOUCHABLE_STATE } from './GenericTouchable';\nimport type { GenericTouchableProps } from './GenericTouchableProps';\nimport {\n StyleSheet,\n View,\n TouchableHighlightProps as RNTouchableHighlightProps,\n ColorValue,\n ViewProps,\n} from 'react-native';\n\ninterface State {\n extraChildStyle: null | {\n opacity?: number;\n };\n extraUnderlayStyle: null | {\n backgroundColor?: ColorValue;\n };\n}\n\nexport type TouchableHighlightProps = RNTouchableHighlightProps &\n GenericTouchableProps;\n\n/**\n * TouchableHighlight follows RN's implementation\n */\nexport default class TouchableHighlight extends Component<\n TouchableHighlightProps,\n State\n> {\n static defaultProps = {\n ...GenericTouchable.defaultProps,\n activeOpacity: 0.85,\n delayPressOut: 100,\n underlayColor: 'black',\n };\n\n constructor(props: TouchableHighlightProps) {\n super(props);\n this.state = {\n extraChildStyle: null,\n extraUnderlayStyle: null,\n };\n }\n\n // Copied from RN\n showUnderlay = () => {\n if (!this.hasPressHandler()) {\n return;\n }\n this.setState({\n extraChildStyle: {\n opacity: this.props.activeOpacity,\n },\n extraUnderlayStyle: {\n backgroundColor: this.props.underlayColor,\n },\n });\n this.props.onShowUnderlay?.();\n };\n\n hasPressHandler = () =>\n this.props.onPress ||\n this.props.onPressIn ||\n this.props.onPressOut ||\n this.props.onLongPress;\n\n hideUnderlay = () => {\n this.setState({\n extraChildStyle: null,\n extraUnderlayStyle: null,\n });\n this.props.onHideUnderlay?.();\n };\n\n renderChildren() {\n if (!this.props.children) {\n return ;\n }\n\n const child = React.Children.only(\n this.props.children\n ) as React.ReactElement; // TODO: not sure if OK but fixes error\n return React.cloneElement(child, {\n style: StyleSheet.compose(child.props.style, this.state.extraChildStyle),\n });\n }\n\n onStateChange = (_from: number, to: number) => {\n if (to === TOUCHABLE_STATE.BEGAN) {\n this.showUnderlay();\n } else if (\n to === TOUCHABLE_STATE.UNDETERMINED ||\n to === TOUCHABLE_STATE.MOVED_OUTSIDE\n ) {\n this.hideUnderlay();\n }\n };\n\n render() {\n const { style = {}, ...rest } = this.props;\n const { extraUnderlayStyle } = this.state;\n return (\n \n {this.renderChildren()}\n \n );\n }\n}\n","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar CSS_UNIT_RE = /^[+-]?\\d*(?:\\.\\d+)?(?:[Ee][+-]?\\d+)?(%|\\w*)/;\nvar getUnit = str => str.match(CSS_UNIT_RE)[1];\nvar isNumeric = n => {\n return !isNaN(parseFloat(n)) && isFinite(n);\n};\nvar multiplyStyleLengthValue = (value, multiple) => {\n if (typeof value === 'string') {\n var number = parseFloat(value) * multiple;\n var unit = getUnit(value);\n return \"\" + number + unit;\n } else if (isNumeric(value)) {\n return value * multiple;\n }\n};\nexport default multiplyStyleLengthValue;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-label\", \"accessibilityLabel\", \"activeThumbColor\", \"activeTrackColor\", \"disabled\", \"onValueChange\", \"style\", \"thumbColor\", \"trackColor\", \"value\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport multiplyStyleLengthValue from '../../modules/multiplyStyleLengthValue';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar emptyObject = {};\nvar thumbDefaultBoxShadow = '0px 1px 3px rgba(0,0,0,0.5)';\nvar thumbFocusedBoxShadow = thumbDefaultBoxShadow + \", 0 0 0 10px rgba(0,0,0,0.1)\";\nvar defaultActiveTrackColor = '#A3D3CF';\nvar defaultTrackColor = '#939393';\nvar defaultDisabledTrackColor = '#D5D5D5';\nvar defaultActiveThumbColor = '#009688';\nvar defaultThumbColor = '#FAFAFA';\nvar defaultDisabledThumbColor = '#BDBDBD';\nvar Switch = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var ariaLabel = props['aria-label'],\n accessibilityLabel = props.accessibilityLabel,\n activeThumbColor = props.activeThumbColor,\n activeTrackColor = props.activeTrackColor,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n onValueChange = props.onValueChange,\n _props$style = props.style,\n style = _props$style === void 0 ? emptyObject : _props$style,\n thumbColor = props.thumbColor,\n trackColor = props.trackColor,\n _props$value = props.value,\n value = _props$value === void 0 ? false : _props$value,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var thumbRef = React.useRef(null);\n function handleChange(event) {\n if (onValueChange != null) {\n onValueChange(event.nativeEvent.target.checked);\n }\n }\n function handleFocusState(event) {\n var isFocused = event.nativeEvent.type === 'focus';\n var boxShadow = isFocused ? thumbFocusedBoxShadow : thumbDefaultBoxShadow;\n if (thumbRef.current != null) {\n thumbRef.current.style.boxShadow = boxShadow;\n }\n }\n var _StyleSheet$flatten = StyleSheet.flatten(style),\n styleHeight = _StyleSheet$flatten.height,\n styleWidth = _StyleSheet$flatten.width;\n var height = styleHeight || '20px';\n var minWidth = multiplyStyleLengthValue(height, 2);\n var width = styleWidth > minWidth ? styleWidth : minWidth;\n var trackBorderRadius = multiplyStyleLengthValue(height, 0.5);\n var trackCurrentColor = function () {\n if (value === true) {\n if (trackColor != null && typeof trackColor === 'object') {\n return trackColor.true;\n } else {\n return activeTrackColor !== null && activeTrackColor !== void 0 ? activeTrackColor : defaultActiveTrackColor;\n }\n } else {\n if (trackColor != null && typeof trackColor === 'object') {\n return trackColor.false;\n } else {\n return trackColor !== null && trackColor !== void 0 ? trackColor : defaultTrackColor;\n }\n }\n }();\n var thumbCurrentColor = value ? activeThumbColor !== null && activeThumbColor !== void 0 ? activeThumbColor : defaultActiveThumbColor : thumbColor !== null && thumbColor !== void 0 ? thumbColor : defaultThumbColor;\n var thumbHeight = height;\n var thumbWidth = thumbHeight;\n var rootStyle = [styles.root, style, disabled && styles.cursorDefault, {\n height,\n width\n }];\n var disabledTrackColor = function () {\n if (value === true) {\n if (typeof activeTrackColor === 'string' && activeTrackColor != null || typeof trackColor === 'object' && trackColor != null && trackColor.true) {\n return trackCurrentColor;\n } else {\n return defaultDisabledTrackColor;\n }\n } else {\n if (typeof trackColor === 'string' && trackColor != null || typeof trackColor === 'object' && trackColor != null && trackColor.false) {\n return trackCurrentColor;\n } else {\n return defaultDisabledTrackColor;\n }\n }\n }();\n var disabledThumbColor = function () {\n if (value === true) {\n if (activeThumbColor == null) {\n return defaultDisabledThumbColor;\n } else {\n return thumbCurrentColor;\n }\n } else {\n if (thumbColor == null) {\n return defaultDisabledThumbColor;\n } else {\n return thumbCurrentColor;\n }\n }\n }();\n var trackStyle = [styles.track, {\n backgroundColor: disabled ? disabledTrackColor : trackCurrentColor,\n borderRadius: trackBorderRadius\n }];\n var thumbStyle = [styles.thumb, value && styles.thumbActive, {\n backgroundColor: disabled ? disabledThumbColor : thumbCurrentColor,\n height: thumbHeight,\n marginStart: value ? multiplyStyleLengthValue(thumbWidth, -1) : 0,\n width: thumbWidth\n }];\n var nativeControl = createElement('input', {\n 'aria-label': ariaLabel || accessibilityLabel,\n checked: value,\n disabled: disabled,\n onBlur: handleFocusState,\n onChange: handleChange,\n onFocus: handleFocusState,\n ref: forwardedRef,\n style: [styles.nativeControl, styles.cursorInherit],\n type: 'checkbox',\n role: 'switch'\n });\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n style: rootStyle\n }), /*#__PURE__*/React.createElement(View, {\n style: trackStyle\n }), /*#__PURE__*/React.createElement(View, {\n ref: thumbRef,\n style: thumbStyle\n }), nativeControl);\n});\nSwitch.displayName = 'Switch';\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n userSelect: 'none'\n },\n cursorDefault: {\n cursor: 'default'\n },\n cursorInherit: {\n cursor: 'inherit'\n },\n track: _objectSpread(_objectSpread({\n forcedColorAdjust: 'none'\n }, StyleSheet.absoluteFillObject), {}, {\n height: '70%',\n margin: 'auto',\n transitionDuration: '0.1s',\n width: '100%'\n }),\n thumb: {\n forcedColorAdjust: 'none',\n alignSelf: 'flex-start',\n borderRadius: '100%',\n boxShadow: thumbDefaultBoxShadow,\n start: '0%',\n transform: 'translateZ(0)',\n transitionDuration: '0.1s'\n },\n thumbActive: {\n insetInlineStart: '100%'\n },\n nativeControl: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n margin: 0,\n appearance: 'none',\n padding: 0,\n width: '100%'\n })\n});\nexport default Switch;","import * as React from 'react';\nimport {\n FlatList as RNFlatList,\n Switch as RNSwitch,\n TextInput as RNTextInput,\n ScrollView as RNScrollView,\n FlatListProps,\n View,\n} from 'react-native';\n\nimport createNativeWrapper from '../handlers/createNativeWrapper';\n\nexport const ScrollView = createNativeWrapper(RNScrollView, {\n disallowInterruption: false,\n});\n\nexport const Switch = createNativeWrapper(RNSwitch, {\n shouldCancelWhenOutside: false,\n shouldActivateOnStart: true,\n disallowInterruption: true,\n});\nexport const TextInput = createNativeWrapper(RNTextInput);\nexport const DrawerLayoutAndroid = () => {\n console.warn('DrawerLayoutAndroid is not supported on web!');\n return ;\n};\n\n// RefreshControl is implemented as a functional component, rendering a View\n// NativeViewGestureHandler needs to set a ref on its child, which cannot be done\n// on functional components\nexport const RefreshControl = createNativeWrapper(View);\n\nexport const FlatList = React.forwardRef(\n (props: FlatListProps, ref: any) => (\n }\n />\n )\n);\n","// Similarily to the DrawerLayout component this deserves to be put in a\n// separate repo. Although, keeping it here for the time being will allow us to\n// move faster and fix possible issues quicker\n\nimport * as React from 'react';\nimport { Component } from 'react';\nimport {\n Animated,\n StyleSheet,\n View,\n I18nManager,\n LayoutChangeEvent,\n StyleProp,\n ViewStyle,\n} from 'react-native';\n\nimport {\n GestureEvent,\n HandlerStateChangeEvent,\n} from '../handlers/gestureHandlerCommon';\nimport {\n PanGestureHandler,\n PanGestureHandlerProps,\n} from '../handlers/PanGestureHandler';\nimport {\n PanGestureHandlerEventPayload,\n TapGestureHandlerEventPayload,\n} from '../handlers/GestureHandlerEventPayload';\nimport { TapGestureHandler } from '../handlers/TapGestureHandler';\nimport { State } from '../State';\n\nconst DRAG_TOSS = 0.05;\n\ntype SwipeableExcludes = Exclude<\n keyof PanGestureHandlerProps,\n 'onGestureEvent' | 'onHandlerStateChange'\n>;\n\n// Animated.AnimatedInterpolation has been converted to a generic type\n// in @types/react-native 0.70. This way we can maintain compatibility\n// with all versions of @types/react-native\ntype AnimatedInterpolation = ReturnType;\n\nexport interface SwipeableProps\n extends Pick {\n /**\n * Enables two-finger gestures on supported devices, for example iPads with\n * trackpads. If not enabled the gesture will require click + drag, with\n * `enableTrackpadTwoFingerGesture` swiping with two fingers will also trigger\n * the gesture.\n */\n enableTrackpadTwoFingerGesture?: boolean;\n\n /**\n * Specifies how much the visual interaction will be delayed compared to the\n * gesture distance. e.g. value of 1 will indicate that the swipeable panel\n * should exactly follow the gesture, 2 means it is going to be two times\n * \"slower\".\n */\n friction?: number;\n\n /**\n * Distance from the left edge at which released panel will animate to the\n * open state (or the open panel will animate into the closed state). By\n * default it's a half of the panel's width.\n */\n leftThreshold?: number;\n\n /**\n * Distance from the right edge at which released panel will animate to the\n * open state (or the open panel will animate into the closed state). By\n * default it's a half of the panel's width.\n */\n rightThreshold?: number;\n\n /**\n * Distance that the panel must be dragged from the left edge to be considered\n * a swipe. The default value is 10.\n */\n dragOffsetFromLeftEdge?: number;\n\n /**\n * Distance that the panel must be dragged from the right edge to be considered\n * a swipe. The default value is 10.\n */\n dragOffsetFromRightEdge?: number;\n\n /**\n * Value indicating if the swipeable panel can be pulled further than the left\n * actions panel's width. It is set to true by default as long as the left\n * panel render method is present.\n */\n overshootLeft?: boolean;\n\n /**\n * Value indicating if the swipeable panel can be pulled further than the\n * right actions panel's width. It is set to true by default as long as the\n * right panel render method is present.\n */\n overshootRight?: boolean;\n\n /**\n * Specifies how much the visual interaction will be delayed compared to the\n * gesture distance at overshoot. Default value is 1, it mean no friction, for\n * a native feel, try 8 or above.\n */\n overshootFriction?: number;\n\n /**\n * @deprecated Use `direction` argument of onSwipeableOpen()\n *\n * Called when left action panel gets open.\n */\n onSwipeableLeftOpen?: () => void;\n\n /**\n * @deprecated Use `direction` argument of onSwipeableOpen()\n *\n * Called when right action panel gets open.\n */\n onSwipeableRightOpen?: () => void;\n\n /**\n * Called when action panel gets open (either right or left).\n */\n onSwipeableOpen?: (direction: 'left' | 'right', swipeable: Swipeable) => void;\n\n /**\n * Called when action panel is closed.\n */\n onSwipeableClose?: (\n direction: 'left' | 'right',\n swipeable: Swipeable\n ) => void;\n\n /**\n * @deprecated Use `direction` argument of onSwipeableWillOpen()\n *\n * Called when left action panel starts animating on open.\n */\n onSwipeableLeftWillOpen?: () => void;\n\n /**\n * @deprecated Use `direction` argument of onSwipeableWillOpen()\n *\n * Called when right action panel starts animating on open.\n */\n onSwipeableRightWillOpen?: () => void;\n\n /**\n * Called when action panel starts animating on open (either right or left).\n */\n onSwipeableWillOpen?: (direction: 'left' | 'right') => void;\n\n /**\n * Called when action panel starts animating on close.\n */\n onSwipeableWillClose?: (direction: 'left' | 'right') => void;\n\n /**\n * Called when action panel starts being shown on dragging to open.\n */\n onSwipeableOpenStartDrag?: (direction: 'left' | 'right') => void;\n\n /**\n * Called when action panel starts being shown on dragging to close.\n */\n onSwipeableCloseStartDrag?: (direction: 'left' | 'right') => void;\n\n /**\n *\n * This map describes the values to use as inputRange for extra interpolation:\n * AnimatedValue: [startValue, endValue]\n *\n * progressAnimatedValue: [0, 1] dragAnimatedValue: [0, +]\n *\n * To support `rtl` flexbox layouts use `flexDirection` styling.\n * */\n renderLeftActions?: (\n progressAnimatedValue: AnimatedInterpolation,\n dragAnimatedValue: AnimatedInterpolation,\n swipeable: Swipeable\n ) => React.ReactNode;\n /**\n *\n * This map describes the values to use as inputRange for extra interpolation:\n * AnimatedValue: [startValue, endValue]\n *\n * progressAnimatedValue: [0, 1] dragAnimatedValue: [0, -]\n *\n * To support `rtl` flexbox layouts use `flexDirection` styling.\n * */\n renderRightActions?: (\n progressAnimatedValue: AnimatedInterpolation,\n dragAnimatedValue: AnimatedInterpolation,\n swipeable: Swipeable\n ) => React.ReactNode;\n\n useNativeAnimations?: boolean;\n\n animationOptions?: Record;\n\n /**\n * Style object for the container (`Animated.View`), for example to override\n * `overflow: 'hidden'`.\n */\n containerStyle?: StyleProp;\n\n /**\n * Style object for the children container (`Animated.View`), for example to\n * apply `flex: 1`\n */\n childrenContainerStyle?: StyleProp;\n}\n\ntype SwipeableState = {\n dragX: Animated.Value;\n rowTranslation: Animated.Value;\n rowState: number;\n leftWidth?: number;\n rightOffset?: number;\n rowWidth?: number;\n};\n\n/**\n * @deprecated use Reanimated version of Swipeable instead\n *\n * This component allows for implementing swipeable rows or similar interaction.\n */\n\nexport default class Swipeable extends Component<\n SwipeableProps,\n SwipeableState\n> {\n static defaultProps = {\n friction: 1,\n overshootFriction: 1,\n useNativeAnimations: true,\n };\n\n constructor(props: SwipeableProps) {\n super(props);\n const dragX = new Animated.Value(0);\n this.state = {\n dragX,\n rowTranslation: new Animated.Value(0),\n rowState: 0,\n leftWidth: undefined,\n rightOffset: undefined,\n rowWidth: undefined,\n };\n this.updateAnimatedEvent(props, this.state);\n\n this.onGestureEvent = Animated.event(\n [{ nativeEvent: { translationX: dragX } }],\n { useNativeDriver: props.useNativeAnimations! }\n );\n }\n\n shouldComponentUpdate(props: SwipeableProps, state: SwipeableState) {\n if (\n this.props.friction !== props.friction ||\n this.props.overshootLeft !== props.overshootLeft ||\n this.props.overshootRight !== props.overshootRight ||\n this.props.overshootFriction !== props.overshootFriction ||\n this.state.leftWidth !== state.leftWidth ||\n this.state.rightOffset !== state.rightOffset ||\n this.state.rowWidth !== state.rowWidth\n ) {\n this.updateAnimatedEvent(props, state);\n }\n\n return true;\n }\n\n private onGestureEvent?: (\n event: GestureEvent\n ) => void;\n private transX?: AnimatedInterpolation;\n private showLeftAction?: AnimatedInterpolation | Animated.Value;\n private leftActionTranslate?: AnimatedInterpolation;\n private showRightAction?: AnimatedInterpolation | Animated.Value;\n private rightActionTranslate?: AnimatedInterpolation;\n\n private updateAnimatedEvent = (\n props: SwipeableProps,\n state: SwipeableState\n ) => {\n const { friction, overshootFriction } = props;\n const { dragX, rowTranslation, leftWidth = 0, rowWidth = 0 } = state;\n const { rightOffset = rowWidth } = state;\n const rightWidth = Math.max(0, rowWidth - rightOffset);\n\n const { overshootLeft = leftWidth > 0, overshootRight = rightWidth > 0 } =\n props;\n\n const transX = Animated.add(\n rowTranslation,\n dragX.interpolate({\n inputRange: [0, friction!],\n outputRange: [0, 1],\n })\n ).interpolate({\n inputRange: [-rightWidth - 1, -rightWidth, leftWidth, leftWidth + 1],\n outputRange: [\n -rightWidth - (overshootRight ? 1 / overshootFriction! : 0),\n -rightWidth,\n leftWidth,\n leftWidth + (overshootLeft ? 1 / overshootFriction! : 0),\n ],\n });\n this.transX = transX;\n this.showLeftAction =\n leftWidth > 0\n ? transX.interpolate({\n inputRange: [-1, 0, leftWidth],\n outputRange: [0, 0, 1],\n })\n : new Animated.Value(0);\n this.leftActionTranslate = this.showLeftAction.interpolate({\n inputRange: [0, Number.MIN_VALUE],\n outputRange: [-10000, 0],\n extrapolate: 'clamp',\n });\n this.showRightAction =\n rightWidth > 0\n ? transX.interpolate({\n inputRange: [-rightWidth, 0, 1],\n outputRange: [1, 0, 0],\n })\n : new Animated.Value(0);\n this.rightActionTranslate = this.showRightAction.interpolate({\n inputRange: [0, Number.MIN_VALUE],\n outputRange: [-10000, 0],\n extrapolate: 'clamp',\n });\n };\n\n private onTapHandlerStateChange = ({\n nativeEvent,\n }: HandlerStateChangeEvent) => {\n if (nativeEvent.oldState === State.ACTIVE) {\n this.close();\n }\n };\n\n private onHandlerStateChange = (\n ev: HandlerStateChangeEvent\n ) => {\n if (ev.nativeEvent.oldState === State.ACTIVE) {\n this.handleRelease(ev);\n }\n\n if (ev.nativeEvent.state === State.ACTIVE) {\n const { velocityX, translationX: dragX } = ev.nativeEvent;\n const { rowState } = this.state;\n const { friction } = this.props;\n\n const translationX = (dragX + DRAG_TOSS * velocityX) / friction!;\n\n const direction =\n rowState === -1\n ? 'right'\n : rowState === 1\n ? 'left'\n : translationX > 0\n ? 'left'\n : 'right';\n\n if (rowState === 0) {\n this.props.onSwipeableOpenStartDrag?.(direction);\n } else {\n this.props.onSwipeableCloseStartDrag?.(direction);\n }\n }\n };\n\n private handleRelease = (\n ev: HandlerStateChangeEvent\n ) => {\n const { velocityX, translationX: dragX } = ev.nativeEvent;\n const { leftWidth = 0, rowWidth = 0, rowState } = this.state;\n const { rightOffset = rowWidth } = this.state;\n const rightWidth = rowWidth - rightOffset;\n const {\n friction,\n leftThreshold = leftWidth / 2,\n rightThreshold = rightWidth / 2,\n } = this.props;\n\n const startOffsetX = this.currentOffset() + dragX / friction!;\n const translationX = (dragX + DRAG_TOSS * velocityX) / friction!;\n\n let toValue = 0;\n if (rowState === 0) {\n if (translationX > leftThreshold) {\n toValue = leftWidth;\n } else if (translationX < -rightThreshold) {\n toValue = -rightWidth;\n }\n } else if (rowState === 1) {\n // Swiped to left\n if (translationX > -leftThreshold) {\n toValue = leftWidth;\n }\n } else {\n // Swiped to right\n if (translationX < rightThreshold) {\n toValue = -rightWidth;\n }\n }\n\n this.animateRow(startOffsetX, toValue, velocityX / friction!);\n };\n\n private animateRow = (\n fromValue: number,\n toValue: number,\n velocityX?:\n | number\n | {\n x: number;\n y: number;\n }\n ) => {\n const { dragX, rowTranslation } = this.state;\n dragX.setValue(0);\n rowTranslation.setValue(fromValue);\n\n this.setState({ rowState: Math.sign(toValue) });\n Animated.spring(rowTranslation, {\n restSpeedThreshold: 1.7,\n restDisplacementThreshold: 0.4,\n velocity: velocityX,\n bounciness: 0,\n toValue,\n useNativeDriver: this.props.useNativeAnimations!,\n ...this.props.animationOptions,\n }).start(({ finished }) => {\n if (finished) {\n if (toValue > 0) {\n this.props.onSwipeableLeftOpen?.();\n this.props.onSwipeableOpen?.('left', this);\n } else if (toValue < 0) {\n this.props.onSwipeableRightOpen?.();\n this.props.onSwipeableOpen?.('right', this);\n } else {\n const closingDirection = fromValue > 0 ? 'left' : 'right';\n this.props.onSwipeableClose?.(closingDirection, this);\n }\n }\n });\n if (toValue > 0) {\n this.props.onSwipeableLeftWillOpen?.();\n this.props.onSwipeableWillOpen?.('left');\n } else if (toValue < 0) {\n this.props.onSwipeableRightWillOpen?.();\n this.props.onSwipeableWillOpen?.('right');\n } else {\n const closingDirection = fromValue > 0 ? 'left' : 'right';\n this.props.onSwipeableWillClose?.(closingDirection);\n }\n };\n\n private onRowLayout = ({ nativeEvent }: LayoutChangeEvent) => {\n this.setState({ rowWidth: nativeEvent.layout.width });\n };\n\n private currentOffset = () => {\n const { leftWidth = 0, rowWidth = 0, rowState } = this.state;\n const { rightOffset = rowWidth } = this.state;\n const rightWidth = rowWidth - rightOffset;\n if (rowState === 1) {\n return leftWidth;\n } else if (rowState === -1) {\n return -rightWidth;\n }\n return 0;\n };\n\n close = () => {\n this.animateRow(this.currentOffset(), 0);\n };\n\n openLeft = () => {\n const { leftWidth = 0 } = this.state;\n this.animateRow(this.currentOffset(), leftWidth);\n };\n\n openRight = () => {\n const { rowWidth = 0 } = this.state;\n const { rightOffset = rowWidth } = this.state;\n const rightWidth = rowWidth - rightOffset;\n this.animateRow(this.currentOffset(), -rightWidth);\n };\n\n reset = () => {\n const { dragX, rowTranslation } = this.state;\n dragX.setValue(0);\n rowTranslation.setValue(0);\n this.setState({ rowState: 0 });\n };\n\n render() {\n const { rowState } = this.state;\n const {\n children,\n renderLeftActions,\n renderRightActions,\n dragOffsetFromLeftEdge = 10,\n dragOffsetFromRightEdge = 10,\n } = this.props;\n\n const left = renderLeftActions && (\n \n {renderLeftActions(this.showLeftAction!, this.transX!, this)}\n \n this.setState({ leftWidth: nativeEvent.layout.x })\n }\n />\n \n );\n\n const right = renderRightActions && (\n \n {renderRightActions(this.showRightAction!, this.transX!, this)}\n \n this.setState({ rightOffset: nativeEvent.layout.x })\n }\n />\n \n );\n\n return (\n \n \n {left}\n {right}\n \n \n {children}\n \n \n \n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n overflow: 'hidden',\n },\n leftActions: {\n ...StyleSheet.absoluteFillObject,\n flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',\n },\n rightActions: {\n ...StyleSheet.absoluteFillObject,\n flexDirection: I18nManager.isRTL ? 'row' : 'row-reverse',\n },\n});\n","import { Insets, ViewStyle } from 'react-native';\nimport { LongPressGestureHandlerEventPayload } from '../../handlers/GestureHandlerEventPayload';\nimport {\n TouchData,\n GestureStateChangeEvent,\n GestureTouchEvent,\n} from '../../handlers/gestureHandlerCommon';\nimport { HoverGestureHandlerEventPayload } from '../../handlers/gestures/hoverGesture';\nimport { InnerPressableEvent, PressableEvent } from './PressableProps';\n\nconst numberAsInset = (value: number): Insets => ({\n left: value,\n right: value,\n top: value,\n bottom: value,\n});\n\nconst addInsets = (a: Insets, b: Insets): Insets => ({\n left: (a.left ?? 0) + (b.left ?? 0),\n right: (a.right ?? 0) + (b.right ?? 0),\n top: (a.top ?? 0) + (b.top ?? 0),\n bottom: (a.bottom ?? 0) + (b.bottom ?? 0),\n});\n\nconst touchDataToPressEvent = (\n data: TouchData,\n timestamp: number,\n targetId: number\n): InnerPressableEvent => ({\n identifier: data.id,\n locationX: data.x,\n locationY: data.y,\n pageX: data.absoluteX,\n pageY: data.absoluteY,\n target: targetId,\n timestamp: timestamp,\n touches: [], // Always empty - legacy compatibility\n changedTouches: [], // Always empty - legacy compatibility\n});\n\nconst gestureToPressEvent = (\n event: GestureStateChangeEvent<\n HoverGestureHandlerEventPayload | LongPressGestureHandlerEventPayload\n >,\n timestamp: number,\n targetId: number\n): InnerPressableEvent => ({\n identifier: event.handlerTag,\n locationX: event.x,\n locationY: event.y,\n pageX: event.absoluteX,\n pageY: event.absoluteY,\n target: targetId,\n timestamp: timestamp,\n touches: [], // Always empty - legacy compatibility\n changedTouches: [], // Always empty - legacy compatibility\n});\n\nconst isTouchWithinInset = (\n dimensions: { width: number; height: number },\n inset: Insets,\n touch?: TouchData\n) =>\n (touch?.x ?? 0) < (inset.right ?? 0) + dimensions.width &&\n (touch?.y ?? 0) < (inset.bottom ?? 0) + dimensions.height &&\n (touch?.x ?? 0) > -(inset.left ?? 0) &&\n (touch?.y ?? 0) > -(inset.top ?? 0);\n\nconst gestureToPressableEvent = (\n event: GestureStateChangeEvent<\n HoverGestureHandlerEventPayload | LongPressGestureHandlerEventPayload\n >\n): PressableEvent => {\n const timestamp = Date.now();\n\n // As far as I can see, there isn't a conventional way of getting targetId with the data we get\n const targetId = 0;\n\n const pressEvent = gestureToPressEvent(event, timestamp, targetId);\n\n return {\n nativeEvent: {\n touches: [pressEvent],\n changedTouches: [pressEvent],\n identifier: pressEvent.identifier,\n locationX: event.x,\n locationY: event.y,\n pageX: event.absoluteX,\n pageY: event.absoluteY,\n target: targetId,\n timestamp: timestamp,\n force: undefined,\n },\n };\n};\n\nconst gestureTouchToPressableEvent = (\n event: GestureTouchEvent\n): PressableEvent => {\n const timestamp = Date.now();\n\n // As far as I can see, there isn't a conventional way of getting targetId with the data we get\n const targetId = 0;\n\n const touchesList = event.allTouches.map((touch: TouchData) =>\n touchDataToPressEvent(touch, timestamp, targetId)\n );\n const changedTouchesList = event.changedTouches.map((touch: TouchData) =>\n touchDataToPressEvent(touch, timestamp, targetId)\n );\n\n return {\n nativeEvent: {\n touches: touchesList,\n changedTouches: changedTouchesList,\n identifier: event.handlerTag,\n locationX: event.allTouches.at(0)?.x ?? -1,\n locationY: event.allTouches.at(0)?.y ?? -1,\n pageX: event.allTouches.at(0)?.absoluteX ?? -1,\n pageY: event.allTouches.at(0)?.absoluteY ?? -1,\n target: targetId,\n timestamp: timestamp,\n force: undefined,\n },\n };\n};\n\ntype StylePropKeys = (keyof ViewStyle)[];\n\n// Source:\n// - From ViewStyle extracted FlexStyle sub-interface which contains all of the box-model manipulating props.\n// - From FlexStyle handpicked those styles, which act on the inner part of the box-model.\nconst innerStyleKeys = new Set([\n 'alignContent',\n 'alignItems',\n 'flexBasis',\n 'flexDirection',\n 'flexWrap',\n 'rowGap',\n 'gap',\n 'columnGap',\n 'justifyContent',\n 'overflow',\n 'padding',\n 'paddingBottom',\n 'paddingEnd',\n 'paddingHorizontal',\n 'paddingLeft',\n 'paddingRight',\n 'paddingStart',\n 'paddingTop',\n 'paddingVertical',\n 'start',\n 'end',\n 'direction', // iOS only\n] as StylePropKeys);\n\nconst splitStyles = (from: ViewStyle): [ViewStyle, ViewStyle] => {\n const outerStyles: Record = {};\n const innerStyles: Record = {};\n\n for (const key in from) {\n if (innerStyleKeys.has(key as keyof ViewStyle)) {\n innerStyles[key] = from[key as keyof ViewStyle];\n } else {\n outerStyles[key] = from[key as keyof ViewStyle];\n }\n }\n\n return [innerStyles, outerStyles];\n};\n\nexport {\n numberAsInset,\n addInsets,\n isTouchWithinInset,\n gestureToPressableEvent,\n gestureTouchToPressableEvent,\n splitStyles,\n};\n","import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { GestureObjects as Gesture } from '../../handlers/gestures/gestureObjects';\nimport { GestureDetector } from '../../handlers/gestures/GestureDetector';\nimport { PressableEvent, PressableProps } from './PressableProps';\nimport {\n Insets,\n Platform,\n StyleProp,\n View,\n ViewStyle,\n processColor,\n StyleSheet,\n} from 'react-native';\nimport NativeButton from '../GestureHandlerButton';\nimport {\n numberAsInset,\n gestureToPressableEvent,\n isTouchWithinInset,\n gestureTouchToPressableEvent,\n addInsets,\n splitStyles,\n} from './utils';\nimport { PressabilityDebugView } from '../../handlers/PressabilityDebugView';\nimport { GestureTouchEvent } from '../../handlers/gestureHandlerCommon';\nimport { INT32_MAX } from '../../utils';\n\nconst DEFAULT_LONG_PRESS_DURATION = 500;\n\nexport default function Pressable(props: PressableProps) {\n const {\n testOnly_pressed,\n hitSlop,\n pressRetentionOffset,\n delayHoverIn,\n onHoverIn,\n delayHoverOut,\n onHoverOut,\n delayLongPress,\n unstable_pressDelay,\n onPress,\n onPressIn,\n onPressOut,\n onLongPress,\n style,\n children,\n android_disableSound,\n android_ripple,\n disabled,\n ...remainingProps\n } = props;\n\n const [pressedState, setPressedState] = useState(testOnly_pressed ?? false);\n\n const pressableRef = useRef(null);\n\n // Disabled when onLongPress has been called\n const isPressCallbackEnabled = useRef(true);\n const hasPassedBoundsChecks = useRef(false);\n const shouldPreventNativeEffects = useRef(false);\n\n const normalizedHitSlop: Insets = useMemo(\n () =>\n typeof hitSlop === 'number' ? numberAsInset(hitSlop) : hitSlop ?? {},\n [hitSlop]\n );\n\n const normalizedPressRetentionOffset: Insets = useMemo(\n () =>\n typeof pressRetentionOffset === 'number'\n ? numberAsInset(pressRetentionOffset)\n : pressRetentionOffset ?? {},\n [pressRetentionOffset]\n );\n\n const hoverInTimeout = useRef(null);\n const hoverOutTimeout = useRef(null);\n\n const hoverGesture = useMemo(\n () =>\n Gesture.Hover()\n .manualActivation(true) // Stops Hover from blocking Native gesture activation on web\n .cancelsTouchesInView(false)\n .onBegin((event) => {\n if (hoverOutTimeout.current) {\n clearTimeout(hoverOutTimeout.current);\n }\n if (delayHoverIn) {\n hoverInTimeout.current = setTimeout(\n () => onHoverIn?.(gestureToPressableEvent(event)),\n delayHoverIn\n );\n return;\n }\n onHoverIn?.(gestureToPressableEvent(event));\n })\n .onFinalize((event) => {\n if (hoverInTimeout.current) {\n clearTimeout(hoverInTimeout.current);\n }\n if (delayHoverOut) {\n hoverOutTimeout.current = setTimeout(\n () => onHoverOut?.(gestureToPressableEvent(event)),\n delayHoverOut\n );\n return;\n }\n onHoverOut?.(gestureToPressableEvent(event));\n }),\n [delayHoverIn, delayHoverOut, onHoverIn, onHoverOut]\n );\n\n const pressDelayTimeoutRef = useRef(null);\n const isTouchPropagationAllowed = useRef(false);\n\n // iOS only: due to varying flow of gestures, events sometimes have to be saved for later use\n const deferredEventPayload = useRef(null);\n\n const pressInHandler = useCallback(\n (event: PressableEvent) => {\n if (handlingOnTouchesDown.current) {\n deferredEventPayload.current = event;\n }\n\n if (!isTouchPropagationAllowed.current) {\n return;\n }\n\n deferredEventPayload.current = null;\n\n onPressIn?.(event);\n isPressCallbackEnabled.current = true;\n pressDelayTimeoutRef.current = null;\n setPressedState(true);\n },\n [onPressIn]\n );\n\n const pressOutHandler = useCallback(\n (event: PressableEvent) => {\n if (\n !hasPassedBoundsChecks.current ||\n event.nativeEvent.touches.length >\n event.nativeEvent.changedTouches.length\n ) {\n return;\n }\n\n if (unstable_pressDelay && pressDelayTimeoutRef.current !== null) {\n // When delay is preemptively finished by lifting touches,\n // we want to immediately activate it's effects - pressInHandler,\n // even though we are located at the pressOutHandler\n clearTimeout(pressDelayTimeoutRef.current);\n pressInHandler(event);\n }\n\n if (deferredEventPayload.current) {\n onPressIn?.(deferredEventPayload.current);\n deferredEventPayload.current = null;\n }\n\n onPressOut?.(event);\n\n if (isPressCallbackEnabled.current) {\n onPress?.(event);\n }\n\n if (longPressTimeoutRef.current) {\n clearTimeout(longPressTimeoutRef.current);\n longPressTimeoutRef.current = null;\n }\n\n isTouchPropagationAllowed.current = false;\n hasPassedBoundsChecks.current = false;\n isPressCallbackEnabled.current = true;\n setPressedState(false);\n },\n [onPress, onPressIn, onPressOut, pressInHandler, unstable_pressDelay]\n );\n\n const handlingOnTouchesDown = useRef(false);\n const onEndHandlingTouchesDown = useRef<(() => void) | null>(null);\n const cancelledMidPress = useRef(false);\n\n const activateLongPress = useCallback(\n (event: GestureTouchEvent) => {\n if (!isTouchPropagationAllowed.current) {\n return;\n }\n\n if (hasPassedBoundsChecks.current) {\n onLongPress?.(gestureTouchToPressableEvent(event));\n isPressCallbackEnabled.current = false;\n }\n\n if (longPressTimeoutRef.current) {\n clearTimeout(longPressTimeoutRef.current);\n longPressTimeoutRef.current = null;\n }\n },\n [onLongPress]\n );\n\n const longPressTimeoutRef = useRef(null);\n const longPressMinDuration =\n (delayLongPress ?? DEFAULT_LONG_PRESS_DURATION) +\n (unstable_pressDelay ?? 0);\n\n const pressAndTouchGesture = useMemo(\n () =>\n Gesture.LongPress()\n .minDuration(INT32_MAX) // Stops long press from blocking native gesture\n .maxDistance(INT32_MAX) // Stops long press from cancelling after set distance\n .cancelsTouchesInView(false)\n .onTouchesDown((event) => {\n handlingOnTouchesDown.current = true;\n pressableRef.current?.measure((_x, _y, width, height) => {\n if (\n !isTouchWithinInset(\n {\n width,\n height,\n },\n normalizedHitSlop,\n event.changedTouches.at(-1)\n ) ||\n hasPassedBoundsChecks.current ||\n cancelledMidPress.current\n ) {\n cancelledMidPress.current = false;\n onEndHandlingTouchesDown.current = null;\n handlingOnTouchesDown.current = false;\n return;\n }\n\n hasPassedBoundsChecks.current = true;\n\n // In case of multiple touches, the first one starts long press gesture\n if (longPressTimeoutRef.current === null) {\n // Start long press gesture timer\n longPressTimeoutRef.current = setTimeout(\n () => activateLongPress(event),\n longPressMinDuration\n );\n }\n\n if (unstable_pressDelay) {\n pressDelayTimeoutRef.current = setTimeout(() => {\n pressInHandler(gestureTouchToPressableEvent(event));\n }, unstable_pressDelay);\n } else {\n pressInHandler(gestureTouchToPressableEvent(event));\n }\n\n onEndHandlingTouchesDown.current?.();\n onEndHandlingTouchesDown.current = null;\n handlingOnTouchesDown.current = false;\n });\n })\n .onTouchesUp((event) => {\n if (handlingOnTouchesDown.current) {\n onEndHandlingTouchesDown.current = () =>\n pressOutHandler(gestureTouchToPressableEvent(event));\n return;\n }\n // On iOS, short taps will make LongPress gesture call onTouchesUp before Native gesture calls onStart\n // This variable ensures that onStart isn't detected as the first gesture since Pressable is pressed.\n if (deferredEventPayload.current !== null) {\n shouldPreventNativeEffects.current = true;\n }\n pressOutHandler(gestureTouchToPressableEvent(event));\n })\n .onTouchesCancelled((event) => {\n isPressCallbackEnabled.current = false;\n\n if (handlingOnTouchesDown.current) {\n cancelledMidPress.current = true;\n onEndHandlingTouchesDown.current = () =>\n pressOutHandler(gestureTouchToPressableEvent(event));\n return;\n }\n\n if (\n !hasPassedBoundsChecks.current ||\n event.allTouches.length > event.changedTouches.length\n ) {\n return;\n }\n\n pressOutHandler(gestureTouchToPressableEvent(event));\n }),\n [\n activateLongPress,\n longPressMinDuration,\n normalizedHitSlop,\n pressInHandler,\n pressOutHandler,\n unstable_pressDelay,\n ]\n );\n\n // RNButton is placed inside ButtonGesture to enable Android's ripple and to capture non-propagating events\n const buttonGesture = useMemo(\n () =>\n Gesture.Native()\n .onBegin(() => {\n // Android sets BEGAN state on press down\n if (Platform.OS === 'android') {\n isTouchPropagationAllowed.current = true;\n }\n })\n .onStart(() => {\n if (Platform.OS === 'web') {\n isTouchPropagationAllowed.current = true;\n }\n\n // iOS sets ACTIVE state on press down\n if (Platform.OS !== 'ios') {\n return;\n }\n\n if (deferredEventPayload.current) {\n isTouchPropagationAllowed.current = true;\n\n if (hasPassedBoundsChecks.current) {\n pressInHandler(deferredEventPayload.current);\n deferredEventPayload.current = null;\n } else {\n pressOutHandler(deferredEventPayload.current);\n isTouchPropagationAllowed.current = false;\n }\n\n return;\n }\n\n if (hasPassedBoundsChecks.current) {\n isTouchPropagationAllowed.current = true;\n return;\n }\n\n if (shouldPreventNativeEffects.current) {\n shouldPreventNativeEffects.current = false;\n return;\n }\n\n isTouchPropagationAllowed.current = true;\n }),\n [pressInHandler, pressOutHandler]\n );\n\n const appliedHitSlop = addInsets(\n normalizedHitSlop,\n normalizedPressRetentionOffset\n );\n\n const isPressableEnabled = disabled !== true;\n\n const gestures = [pressAndTouchGesture, hoverGesture, buttonGesture];\n\n for (const gesture of gestures) {\n gesture.enabled(isPressableEnabled);\n gesture.runOnJS(true);\n gesture.hitSlop(appliedHitSlop);\n gesture.shouldCancelWhenOutside(false);\n\n if (Platform.OS !== 'web') {\n gesture.shouldCancelWhenOutside(true);\n }\n }\n\n // Uses different hitSlop, to activate on hitSlop area instead of pressRetentionOffset area\n buttonGesture.hitSlop(normalizedHitSlop);\n\n const gesture = Gesture.Simultaneous(...gestures);\n\n const defaultRippleColor = android_ripple ? undefined : 'transparent';\n\n // `cursor: 'pointer'` on `RNButton` crashes iOS\n const pointerStyle: StyleProp =\n Platform.OS === 'web' ? { cursor: 'pointer' } : {};\n\n const styleProp =\n typeof style === 'function' ? style({ pressed: pressedState }) : style;\n\n const childrenProp =\n typeof children === 'function'\n ? children({ pressed: pressedState })\n : children;\n\n const flattenedStyles = StyleSheet.flatten(styleProp ?? {});\n\n const [innerStyles, outerStyles] = splitStyles(flattenedStyles);\n\n return (\n \n \n \n {childrenProp}\n {__DEV__ ? (\n \n ) : null}\n \n \n \n );\n}\n","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\n\nimport dismissKeyboard from '../../modules/dismissKeyboard';\nvar Keyboard = {\n addListener() {\n return {\n remove: () => {}\n };\n },\n dismiss() {\n dismissKeyboard();\n },\n removeAllListeners() {},\n removeListener() {}\n};\nexport default Keyboard;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar emptyFunction = () => {};\nfunction StatusBar() {\n return null;\n}\nStatusBar.setBackgroundColor = emptyFunction;\nStatusBar.setBarStyle = emptyFunction;\nStatusBar.setHidden = emptyFunction;\nStatusBar.setNetworkActivityIndicatorVisible = emptyFunction;\nStatusBar.setTranslucent = emptyFunction;\nexport default StatusBar;","// This component is based on RN's DrawerLayoutAndroid API\n//\n// It perhaps deserves to be put in a separate repo, but since it relies on\n// react-native-gesture-handler library which isn't very popular at the moment I\n// decided to keep it here for the time being. It will allow us to move faster\n// and fix issues that may arise in gesture handler library that could be found\n// when using the drawer component\n\nimport * as React from 'react';\nimport { Component } from 'react';\nimport invariant from 'invariant';\nimport {\n Animated,\n StyleSheet,\n View,\n Keyboard,\n StatusBar,\n I18nManager,\n StatusBarAnimation,\n StyleProp,\n ViewStyle,\n LayoutChangeEvent,\n NativeSyntheticEvent,\n} from 'react-native';\n\nimport {\n GestureEvent,\n HandlerStateChangeEvent,\n UserSelect,\n ActiveCursor,\n MouseButton,\n} from '../handlers/gestureHandlerCommon';\nimport { PanGestureHandler } from '../handlers/PanGestureHandler';\nimport type {\n PanGestureHandlerEventPayload,\n TapGestureHandlerEventPayload,\n} from '../handlers/GestureHandlerEventPayload';\nimport { TapGestureHandler } from '../handlers/TapGestureHandler';\nimport { State } from '../State';\n\nconst DRAG_TOSS = 0.05;\n\nconst IDLE: DrawerState = 'Idle';\nconst DRAGGING: DrawerState = 'Dragging';\nconst SETTLING: DrawerState = 'Settling';\n\nexport type DrawerPosition = 'left' | 'right';\n\nexport type DrawerState = 'Idle' | 'Dragging' | 'Settling';\n\nexport type DrawerType = 'front' | 'back' | 'slide';\n\nexport type DrawerLockMode = 'unlocked' | 'locked-closed' | 'locked-open';\n\nexport type DrawerKeyboardDismissMode = 'none' | 'on-drag';\n\n// Animated.AnimatedInterpolation has been converted to a generic type\n// in @types/react-native 0.70. This way we can maintain compatibility\n// with all versions of @types/react-native`\ntype AnimatedInterpolation = ReturnType;\nexport interface DrawerLayoutProps {\n /**\n * This attribute is present in the standard implementation already and is one\n * of the required params. Gesture handler version of DrawerLayout make it\n * possible for the function passed as `renderNavigationView` to take an\n * Animated value as a parameter that indicates the progress of drawer\n * opening/closing animation (progress value is 0 when closed and 1 when\n * opened). This can be used by the drawer component to animated its children\n * while the drawer is opening or closing.\n */\n renderNavigationView: (\n progressAnimatedValue: Animated.Value\n ) => React.ReactNode;\n\n drawerPosition?: DrawerPosition;\n\n drawerWidth?: number;\n\n drawerBackgroundColor?: string;\n\n drawerLockMode?: DrawerLockMode;\n\n keyboardDismissMode?: DrawerKeyboardDismissMode;\n\n /**\n * Called when the drawer is closed.\n */\n onDrawerClose?: () => void;\n\n /**\n * Called when the drawer is opened.\n */\n onDrawerOpen?: () => void;\n\n /**\n * Called when the status of the drawer changes.\n */\n onDrawerStateChanged?: (\n newState: DrawerState,\n drawerWillShow: boolean\n ) => void;\n useNativeAnimations?: boolean;\n\n drawerType?: DrawerType;\n\n /**\n * Defines how far from the edge of the content view the gesture should\n * activate.\n */\n edgeWidth?: number;\n\n minSwipeDistance?: number;\n\n /**\n * When set to true Drawer component will use\n * {@link https://reactnative.dev/docs/statusbar StatusBar} API to hide the OS\n * status bar whenever the drawer is pulled or when its in an \"open\" state.\n */\n hideStatusBar?: boolean;\n\n /**\n * @default 'slide'\n *\n * Can be used when hideStatusBar is set to true and will select the animation\n * used for hiding/showing the status bar. See\n * {@link https://reactnative.dev/docs/statusbar StatusBar} documentation for\n * more details\n */\n statusBarAnimation?: StatusBarAnimation;\n\n /**\n * @default black\n *\n * Color of a semi-transparent overlay to be displayed on top of the content\n * view when drawer gets open. A solid color should be used as the opacity is\n * added by the Drawer itself and the opacity of the overlay is animated (from\n * 0% to 70%).\n */\n overlayColor?: string;\n\n contentContainerStyle?: StyleProp;\n\n drawerContainerStyle?: StyleProp;\n\n /**\n * Enables two-finger gestures on supported devices, for example iPads with\n * trackpads. If not enabled the gesture will require click + drag, with\n * `enableTrackpadTwoFingerGesture` swiping with two fingers will also trigger\n * the gesture.\n */\n enableTrackpadTwoFingerGesture?: boolean;\n\n onDrawerSlide?: (position: number) => void;\n\n onGestureRef?: (ref: PanGestureHandler) => void;\n\n // Implicit `children` prop has been removed in @types/react^18.0.0\n children?:\n | React.ReactNode\n | ((openValue?: AnimatedInterpolation) => React.ReactNode);\n\n /**\n * @default 'none'\n * Defines which userSelect property should be used.\n * Values: 'none'|'text'|'auto'\n */\n userSelect?: UserSelect;\n\n /**\n * @default 'auto'\n * Defines which cursor property should be used when gesture activates.\n * Values: see CSS cursor values\n */\n activeCursor?: ActiveCursor;\n\n /**\n * @default 'MouseButton.LEFT'\n * Allows to choose which mouse button should underlying pan handler react to.\n */\n mouseButton?: MouseButton;\n\n /**\n * @default 'false if MouseButton.RIGHT is specified'\n * Allows to enable/disable context menu.\n */\n enableContextMenu?: boolean;\n}\n\nexport type DrawerLayoutState = {\n dragX: Animated.Value;\n touchX: Animated.Value;\n drawerTranslation: Animated.Value;\n containerWidth: number;\n drawerState: DrawerState;\n drawerOpened: boolean;\n};\n\nexport type DrawerMovementOption = {\n velocity?: number;\n speed?: number;\n};\nexport default class DrawerLayout extends Component<\n DrawerLayoutProps,\n DrawerLayoutState\n> {\n static defaultProps = {\n drawerWidth: 200,\n drawerPosition: 'left',\n useNativeAnimations: true,\n drawerType: 'front',\n edgeWidth: 20,\n minSwipeDistance: 3,\n overlayColor: 'rgba(0, 0, 0, 0.7)',\n drawerLockMode: 'unlocked',\n enableTrackpadTwoFingerGesture: false,\n };\n\n constructor(props: DrawerLayoutProps) {\n super(props);\n\n const dragX = new Animated.Value(0);\n const touchX = new Animated.Value(0);\n const drawerTranslation = new Animated.Value(0);\n\n this.state = {\n dragX,\n touchX,\n drawerTranslation,\n containerWidth: 0,\n drawerState: IDLE,\n drawerOpened: false,\n };\n\n this.updateAnimatedEvent(props, this.state);\n }\n\n shouldComponentUpdate(props: DrawerLayoutProps, state: DrawerLayoutState) {\n if (\n this.props.drawerPosition !== props.drawerPosition ||\n this.props.drawerWidth !== props.drawerWidth ||\n this.props.drawerType !== props.drawerType ||\n this.state.containerWidth !== state.containerWidth\n ) {\n this.updateAnimatedEvent(props, state);\n }\n\n return true;\n }\n\n private openValue?: AnimatedInterpolation;\n private onGestureEvent?: (\n event: GestureEvent\n ) => void;\n private accessibilityIsModalView = React.createRef();\n private pointerEventsView = React.createRef();\n private panGestureHandler = React.createRef();\n private drawerShown = false;\n\n static positions = {\n Left: 'left',\n Right: 'right',\n };\n\n private updateAnimatedEvent = (\n props: DrawerLayoutProps,\n state: DrawerLayoutState\n ) => {\n // Event definition is based on\n const { drawerPosition, drawerWidth, drawerType } = props;\n const {\n dragX: dragXValue,\n touchX: touchXValue,\n drawerTranslation,\n containerWidth,\n } = state;\n\n let dragX = dragXValue;\n let touchX = touchXValue;\n\n if (drawerPosition !== 'left') {\n // Most of the code is written in a way to handle left-side drawer. In\n // order to handle right-side drawer the only thing we need to do is to\n // reverse events coming from gesture handler in a way they emulate\n // left-side drawer gestures. E.g. dragX is simply -dragX, and touchX is\n // calulcated by subtracing real touchX from the width of the container\n // (such that when touch happens at the right edge the value is simply 0)\n dragX = Animated.multiply(\n new Animated.Value(-1),\n dragXValue\n ) as Animated.Value; // TODO(TS): (for all \"as\" in this file) make sure we can map this\n touchX = Animated.add(\n new Animated.Value(containerWidth),\n Animated.multiply(new Animated.Value(-1), touchXValue)\n ) as Animated.Value; // TODO(TS): make sure we can map this;\n touchXValue.setValue(containerWidth);\n } else {\n touchXValue.setValue(0);\n }\n\n // While closing the drawer when user starts gesture outside of its area (in greyed\n // out part of the window), we want the drawer to follow only once finger reaches the\n // edge of the drawer.\n // E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by\n // dots. The touch gesture starts at '*' and moves left, touch path is indicated by\n // an arrow pointing left\n // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // +---------------+ +---------------+ +---------------+ +---------------+\n //\n // For the above to work properly we define animated value that will keep\n // start position of the gesture. Then we use that value to calculate how\n // much we need to subtract from the dragX. If the gesture started on the\n // greyed out area we take the distance from the edge of the drawer to the\n // start position. Otherwise we don't subtract at all and the drawer be\n // pulled back as soon as you start the pan.\n //\n // This is used only when drawerType is \"front\"\n //\n let translationX = dragX;\n if (drawerType === 'front') {\n const startPositionX = Animated.add(\n touchX,\n Animated.multiply(new Animated.Value(-1), dragX)\n );\n\n const dragOffsetFromOnStartPosition = startPositionX.interpolate({\n inputRange: [drawerWidth! - 1, drawerWidth!, drawerWidth! + 1],\n outputRange: [0, 0, 1],\n });\n translationX = Animated.add(\n dragX,\n dragOffsetFromOnStartPosition\n ) as Animated.Value; // TODO: as above\n }\n\n this.openValue = Animated.add(translationX, drawerTranslation).interpolate({\n inputRange: [0, drawerWidth!],\n outputRange: [0, 1],\n extrapolate: 'clamp',\n });\n\n const gestureOptions: {\n useNativeDriver: boolean;\n // TODO: make sure it is correct\n listener?: (\n ev: NativeSyntheticEvent\n ) => void;\n } = {\n useNativeDriver: props.useNativeAnimations!,\n };\n\n if (this.props.onDrawerSlide) {\n gestureOptions.listener = (ev) => {\n const translationX = Math.floor(Math.abs(ev.nativeEvent.translationX));\n const position = translationX / this.state.containerWidth;\n\n this.props.onDrawerSlide?.(position);\n };\n }\n\n this.onGestureEvent = Animated.event(\n [{ nativeEvent: { translationX: dragXValue, x: touchXValue } }],\n gestureOptions\n );\n };\n\n private handleContainerLayout = ({ nativeEvent }: LayoutChangeEvent) => {\n this.setState({ containerWidth: nativeEvent.layout.width });\n };\n\n private emitStateChanged = (\n newState: DrawerState,\n drawerWillShow: boolean\n ) => {\n this.props.onDrawerStateChanged?.(newState, drawerWillShow);\n };\n\n private openingHandlerStateChange = ({\n nativeEvent,\n }: HandlerStateChangeEvent) => {\n if (nativeEvent.oldState === State.ACTIVE) {\n this.handleRelease({ nativeEvent });\n } else if (nativeEvent.state === State.ACTIVE) {\n this.emitStateChanged(DRAGGING, false);\n this.setState({ drawerState: DRAGGING });\n if (this.props.keyboardDismissMode === 'on-drag') {\n Keyboard.dismiss();\n }\n if (this.props.hideStatusBar) {\n StatusBar.setHidden(true, this.props.statusBarAnimation || 'slide');\n }\n }\n };\n\n private onTapHandlerStateChange = ({\n nativeEvent,\n }: HandlerStateChangeEvent) => {\n if (\n this.drawerShown &&\n nativeEvent.oldState === State.ACTIVE &&\n this.props.drawerLockMode !== 'locked-open'\n ) {\n this.closeDrawer();\n }\n };\n\n private handleRelease = ({\n nativeEvent,\n }: HandlerStateChangeEvent) => {\n const { drawerWidth, drawerPosition, drawerType } = this.props;\n const { containerWidth } = this.state;\n let { translationX: dragX, velocityX, x: touchX } = nativeEvent;\n\n if (drawerPosition !== 'left') {\n // See description in _updateAnimatedEvent about why events are flipped\n // for right-side drawer\n dragX = -dragX;\n touchX = containerWidth - touchX;\n velocityX = -velocityX;\n }\n\n const gestureStartX = touchX - dragX;\n let dragOffsetBasedOnStart = 0;\n\n if (drawerType === 'front') {\n dragOffsetBasedOnStart =\n gestureStartX > drawerWidth! ? gestureStartX - drawerWidth! : 0;\n }\n\n const startOffsetX =\n dragX + dragOffsetBasedOnStart + (this.drawerShown ? drawerWidth! : 0);\n const projOffsetX = startOffsetX + DRAG_TOSS * velocityX;\n\n const shouldOpen = projOffsetX > drawerWidth! / 2;\n\n if (shouldOpen) {\n this.animateDrawer(startOffsetX, drawerWidth!, velocityX);\n } else {\n this.animateDrawer(startOffsetX, 0, velocityX);\n }\n };\n\n private updateShowing = (showing: boolean) => {\n this.drawerShown = showing;\n this.accessibilityIsModalView.current?.setNativeProps({\n accessibilityViewIsModal: showing,\n });\n this.pointerEventsView.current?.setNativeProps({\n pointerEvents: showing ? 'auto' : 'none',\n });\n const { drawerPosition, minSwipeDistance, edgeWidth } = this.props;\n const fromLeft = drawerPosition === 'left';\n // gestureOrientation is 1 if the expected gesture is from left to right and\n // -1 otherwise e.g. when drawer is on the left and is closed we expect left\n // to right gesture, thus orientation will be 1.\n const gestureOrientation =\n (fromLeft ? 1 : -1) * (this.drawerShown ? -1 : 1);\n // When drawer is closed we want the hitSlop to be horizontally shorter than\n // the container size by the value of SLOP. This will make it only activate\n // when gesture happens not further than SLOP away from the edge\n const hitSlop = fromLeft\n ? { left: 0, width: showing ? undefined : edgeWidth }\n : { right: 0, width: showing ? undefined : edgeWidth };\n // @ts-ignore internal API, maybe could be fixed in handler types\n this.panGestureHandler.current?.setNativeProps({\n hitSlop,\n activeOffsetX: gestureOrientation * minSwipeDistance!,\n });\n };\n\n private animateDrawer = (\n fromValue: number | null | undefined,\n toValue: number,\n velocity: number,\n speed?: number\n ) => {\n this.state.dragX.setValue(0);\n this.state.touchX.setValue(\n this.props.drawerPosition === 'left' ? 0 : this.state.containerWidth\n );\n\n if (fromValue != null) {\n let nextFramePosition = fromValue;\n if (this.props.useNativeAnimations) {\n // When using native driver, we predict the next position of the\n // animation because it takes one frame of a roundtrip to pass RELEASE\n // event from native driver to JS before we can start animating. Without\n // it, it is more noticable that the frame is dropped.\n if (fromValue < toValue && velocity > 0) {\n nextFramePosition = Math.min(fromValue + velocity / 60.0, toValue);\n } else if (fromValue > toValue && velocity < 0) {\n nextFramePosition = Math.max(fromValue + velocity / 60.0, toValue);\n }\n }\n this.state.drawerTranslation.setValue(nextFramePosition);\n }\n\n const willShow = toValue !== 0;\n this.updateShowing(willShow);\n this.emitStateChanged(SETTLING, willShow);\n this.setState({ drawerState: SETTLING });\n if (this.props.hideStatusBar) {\n StatusBar.setHidden(willShow, this.props.statusBarAnimation || 'slide');\n }\n Animated.spring(this.state.drawerTranslation, {\n velocity,\n bounciness: 0,\n toValue,\n useNativeDriver: this.props.useNativeAnimations!,\n speed: speed ?? undefined,\n }).start(({ finished }) => {\n if (finished) {\n this.emitStateChanged(IDLE, willShow);\n this.setState({ drawerOpened: willShow });\n if (this.state.drawerState !== DRAGGING) {\n // It's possilbe that user started drag while the drawer\n // was settling, don't override state in this case\n this.setState({ drawerState: IDLE });\n }\n if (willShow) {\n this.props.onDrawerOpen?.();\n } else {\n this.props.onDrawerClose?.();\n }\n }\n });\n };\n\n openDrawer = (options: DrawerMovementOption = {}) => {\n this.animateDrawer(\n // TODO: decide if it should be null or undefined is the proper value\n undefined,\n this.props.drawerWidth!,\n options.velocity ? options.velocity : 0,\n options.speed\n );\n\n // We need to force the update, otherwise the overlay is not rerendered and\n // it would not be clickable\n this.forceUpdate();\n };\n\n closeDrawer = (options: DrawerMovementOption = {}) => {\n // TODO: decide if it should be null or undefined is the proper value\n this.animateDrawer(\n undefined,\n 0,\n options.velocity ? options.velocity : 0,\n options.speed\n );\n\n // We need to force the update, otherwise the overlay is not rerendered and\n // it would be still clickable\n this.forceUpdate();\n };\n\n private renderOverlay = () => {\n /* Overlay styles */\n invariant(this.openValue, 'should be set');\n let overlayOpacity;\n\n if (this.state.drawerState !== IDLE) {\n overlayOpacity = this.openValue;\n } else {\n overlayOpacity = this.state.drawerOpened ? 1 : 0;\n }\n\n const dynamicOverlayStyles = {\n opacity: overlayOpacity,\n backgroundColor: this.props.overlayColor,\n };\n\n return (\n \n \n \n );\n };\n\n private renderDrawer = () => {\n const {\n drawerBackgroundColor,\n drawerWidth,\n drawerPosition,\n drawerType,\n drawerContainerStyle,\n contentContainerStyle,\n } = this.props;\n\n const fromLeft = drawerPosition === 'left';\n const drawerSlide = drawerType !== 'back';\n const containerSlide = drawerType !== 'front';\n\n // We rely on row and row-reverse flex directions to position the drawer\n // properly. Apparently for RTL these are flipped which requires us to use\n // the opposite setting for the drawer to appear from left or right\n // according to the drawerPosition prop\n const reverseContentDirection = I18nManager.isRTL ? fromLeft : !fromLeft;\n\n const dynamicDrawerStyles = {\n backgroundColor: drawerBackgroundColor,\n width: drawerWidth,\n };\n const openValue = this.openValue;\n invariant(openValue, 'should be set');\n\n let containerStyles;\n if (containerSlide) {\n const containerTranslateX = openValue.interpolate({\n inputRange: [0, 1],\n outputRange: fromLeft ? [0, drawerWidth!] : [0, -drawerWidth!],\n extrapolate: 'clamp',\n });\n containerStyles = {\n transform: [{ translateX: containerTranslateX }],\n };\n }\n\n let drawerTranslateX: number | AnimatedInterpolation = 0;\n if (drawerSlide) {\n const closedDrawerOffset = fromLeft ? -drawerWidth! : drawerWidth!;\n if (this.state.drawerState !== IDLE) {\n drawerTranslateX = openValue.interpolate({\n inputRange: [0, 1],\n outputRange: [closedDrawerOffset, 0],\n extrapolate: 'clamp',\n });\n } else {\n drawerTranslateX = this.state.drawerOpened ? 0 : closedDrawerOffset;\n }\n }\n const drawerStyles: {\n transform: { translateX: number | AnimatedInterpolation }[];\n flexDirection: 'row-reverse' | 'row';\n } = {\n transform: [{ translateX: drawerTranslateX }],\n flexDirection: reverseContentDirection ? 'row-reverse' : 'row',\n };\n\n return (\n \n \n {typeof this.props.children === 'function'\n ? this.props.children(this.openValue)\n : this.props.children}\n {this.renderOverlay()}\n \n \n \n {this.props.renderNavigationView(this.openValue as Animated.Value)}\n \n \n \n );\n };\n\n private setPanGestureRef = (ref: PanGestureHandler) => {\n // TODO(TS): make sure it is OK taken from\n // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065#issuecomment-596081842\n (\n this.panGestureHandler as React.MutableRefObject\n ).current = ref;\n this.props.onGestureRef?.(ref);\n };\n\n render() {\n const { drawerPosition, drawerLockMode, edgeWidth, minSwipeDistance } =\n this.props;\n\n const fromLeft = drawerPosition === 'left';\n\n // gestureOrientation is 1 if the expected gesture is from left to right and\n // -1 otherwise e.g. when drawer is on the left and is closed we expect left\n // to right gesture, thus orientation will be 1.\n const gestureOrientation =\n (fromLeft ? 1 : -1) * (this.drawerShown ? -1 : 1);\n\n // When drawer is closed we want the hitSlop to be horizontally shorter than\n // the container size by the value of SLOP. This will make it only activate\n // when gesture happens not further than SLOP away from the edge\n const hitSlop = fromLeft\n ? { left: 0, width: this.drawerShown ? undefined : edgeWidth }\n : { right: 0, width: this.drawerShown ? undefined : edgeWidth };\n\n return (\n \n {this.renderDrawer()}\n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n drawerContainer: {\n ...StyleSheet.absoluteFillObject,\n zIndex: 1001,\n flexDirection: 'row',\n },\n containerInFront: {\n ...StyleSheet.absoluteFillObject,\n zIndex: 1002,\n },\n containerOnBack: {\n ...StyleSheet.absoluteFillObject,\n },\n main: {\n flex: 1,\n zIndex: 0,\n overflow: 'hidden',\n },\n overlay: {\n ...StyleSheet.absoluteFillObject,\n zIndex: 1000,\n },\n});\n","import { startListening } from './handlers/gestures/eventReceiver';\nimport RNGestureHandlerModule from './RNGestureHandlerModule';\nimport { isFabric } from './utils';\n\nlet fabricInitialized = false;\n\nexport function initialize() {\n startListening();\n}\n\n// Since isFabric() may give wrong results before the first render, we call this\n// method during render of GestureHandlerRootView\nexport function maybeInitializeFabric() {\n if (isFabric() && !fabricInitialized) {\n RNGestureHandlerModule.install();\n fabricInitialized = true;\n }\n}\n","import * as React from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport type { ThemeProp } from 'src/types';\n\nimport { useInternalTheme } from '../../core/theming';\n\nexport type Props = React.ComponentPropsWithRef & {\n /**\n * Content of the `DialogActions`.\n */\n children: React.ReactNode;\n style?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\n/**\n * A component to show a list of actions in a Dialog.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Button, Dialog, Portal } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [visible, setVisible] = React.useState(false);\n *\n * const hideDialog = () => setVisible(false);\n *\n * return (\n * \n *

\n * \n * \n * \n * \n * \n * \n * );\n * };\n *\n * export default MyComponent;\n * ```\n */\nconst DialogActions = (props: Props) => {\n const { isV3 } = useInternalTheme(props.theme);\n const actionsLength = React.Children.toArray(props.children).length;\n\n return (\n \n {React.Children.map(props.children, (child, i) =>\n React.isValidElement(child)\n ? React.cloneElement(child as React.ReactElement, {\n compact: true,\n uppercase: !isV3,\n style: [\n isV3 && {\n marginRight: i + 1 === actionsLength ? 0 : 8,\n },\n child.props.style,\n ],\n })\n : child\n )}\n \n );\n};\n\nDialogActions.displayName = 'Dialog.Actions';\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-end',\n padding: 8,\n },\n v3Container: {\n flexDirection: 'row',\n flexGrow: 1,\n alignItems: 'center',\n justifyContent: 'flex-end',\n paddingBottom: 24,\n paddingHorizontal: 24,\n },\n});\n\nexport default DialogActions;\n","import * as React from 'react';\nimport { View, ViewStyle, StyleSheet, StyleProp } from 'react-native';\n\nexport type Props = React.ComponentPropsWithRef & {\n /**\n * Content of the `DialogContent`.\n */\n children: React.ReactNode;\n style?: StyleProp;\n};\n\n/**\n * A component to show content in a Dialog.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Dialog, Portal, Text } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [visible, setVisible] = React.useState(false);\n *\n * const hideDialog = () => setVisible(false);\n *\n * return (\n * \n * \n * \n * This is simple dialog\n * \n * \n * \n * );\n * };\n *\n * export default MyComponent;\n * ```\n */\nconst DialogContent = (props: Props) => (\n \n {props.children}\n \n);\n\nDialogContent.displayName = 'Dialog.Content';\n\nconst styles = StyleSheet.create({\n container: {\n paddingBottom: 24,\n paddingHorizontal: 24,\n },\n});\n\nexport default DialogContent;\n","import * as React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport type { ThemeProp } from 'src/types';\n\nimport { useInternalTheme } from '../../core/theming';\nimport Icon, { IconSource } from '../Icon';\n\nexport type Props = {\n /**\n * Custom color for action icon.\n */\n color?: string;\n /**\n * Name of the icon to show.\n */\n icon: IconSource;\n /**\n * Optional icon size.\n */\n size?: number;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\n/**\n * @supported Available in v5.x with theme version 3\n * A component to show an icon in a Dialog.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { StyleSheet } from 'react-native';\n * import { Dialog, Portal, Text } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [visible, setVisible] = React.useState(false);\n *\n * const hideDialog = () => setVisible(false);\n *\n * return (\n * \n * \n * \n * This is a title\n * \n * This is simple dialog\n * \n * \n * \n * );\n * };\n *\n * const styles = StyleSheet.create({\n * title: {\n * textAlign: 'center',\n * },\n * })\n *\n * export default MyComponent;\n * ```\n */\nconst DialogIcon = ({\n size = 24,\n color,\n icon,\n theme: themeOverrides,\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n\n if (!theme.isV3) {\n return null;\n }\n\n //@ts-ignore\n const iconColor = color || theme.colors.secondary;\n\n return (\n \n \n \n );\n};\n\nDialogIcon.displayName = 'Dialog.Icon';\n\nconst styles = StyleSheet.create({\n wrapper: {\n alignItems: 'center',\n justifyContent: 'center',\n paddingTop: 24,\n },\n});\n\nexport default DialogIcon;\n\n// @component-docs ignore-next-line\nexport { DialogIcon };\n","import * as React from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport type { ThemeProp } from 'src/types';\n\nimport { useInternalTheme } from '../../core/theming';\n\nexport type Props = React.ComponentPropsWithRef & {\n /**\n * Content of the `DialogScrollArea`.\n */\n children: React.ReactNode;\n style?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\n/**\n * A component to show a scrollable content in a Dialog. The component only provides appropriate styling.\n * For the scrollable content you can use `ScrollView`, `FlatList` etc. depending on your requirement.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { ScrollView } from 'react-native';\n * import { Dialog, Portal, Text } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [visible, setVisible] = React.useState(false);\n *\n * const hideDialog = () => setVisible(false);\n *\n * return (\n * \n * \n * \n * \n * This is a scrollable area\n * \n * \n * \n * \n * );\n * };\n *\n * export default MyComponent;\n * ```\n */\nconst DialogScrollArea = (props: Props) => {\n const theme = useInternalTheme(props.theme);\n const borderStyles = {\n borderColor: theme.isV3\n ? theme.colors.surfaceVariant\n : 'rgba(0, 0, 0, .12)',\n borderTopWidth: theme.isV3 ? 1 : StyleSheet.hairlineWidth,\n borderBottomWidth: theme.isV3 ? 1 : StyleSheet.hairlineWidth,\n };\n return (\n \n {props.children}\n \n );\n};\n\nDialogScrollArea.displayName = 'Dialog.ScrollArea';\n\nconst styles = StyleSheet.create({\n container: {\n paddingHorizontal: 24,\n flexGrow: 1,\n flexShrink: 1,\n },\n v3Container: {\n marginBottom: 24,\n },\n});\n\nexport default DialogScrollArea;\n","import * as React from 'react';\nimport { StyleProp, StyleSheet, TextStyle } from 'react-native';\n\nimport { useInternalTheme } from '../../core/theming';\nimport type { ThemeProp } from '../../types';\nimport Text from '../Typography/Text';\nimport Title from '../Typography/v2/Title';\n\nexport type Props = React.ComponentPropsWithRef & {\n /**\n * Title text for the `DialogTitle`.\n */\n children: React.ReactNode;\n style?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\n/**\n * A component to show a title in a Dialog.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Dialog, Portal, Text } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [visible, setVisible] = React.useState(false);\n *\n * const hideDialog = () => setVisible(false);\n *\n * return (\n * \n * \n * This is a title\n * \n * This is simple dialog\n * \n * \n * \n * );\n * };\n *\n * export default MyComponent;\n * ```\n */\nconst DialogTitle = ({\n children,\n theme: themeOverrides,\n style,\n ...rest\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const { isV3, colors, fonts } = theme;\n\n const TextComponent = isV3 ? Text : Title;\n\n const headerTextStyle = {\n color: isV3 ? colors.onSurface : colors?.text,\n ...(isV3 ? fonts.headlineSmall : {}),\n };\n\n return (\n \n {children}\n \n );\n};\n\nDialogTitle.displayName = 'Dialog.Title';\n\nconst styles = StyleSheet.create({\n text: {\n marginTop: 22,\n marginBottom: 18,\n marginHorizontal: 24,\n },\n v3Text: {\n marginTop: 16,\n marginBottom: 16,\n },\n});\n\nexport default DialogTitle;\n\n// @component-docs ignore-next-line\nexport { DialogTitle };\n","import * as React from 'react';\nimport {\n Animated,\n Platform,\n StyleProp,\n StyleSheet,\n ViewStyle,\n} from 'react-native';\n\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport DialogActions from './DialogActions';\nimport DialogContent from './DialogContent';\nimport DialogIcon from './DialogIcon';\nimport DialogScrollArea from './DialogScrollArea';\nimport DialogTitle from './DialogTitle';\nimport { useInternalTheme } from '../../core/theming';\nimport overlay from '../../styles/overlay';\nimport type { ThemeProp } from '../../types';\nimport Modal from '../Modal';\n\nexport type Props = {\n /**\n * Determines whether clicking outside the dialog dismiss it.\n */\n dismissable?: boolean;\n /**\n * Determines whether clicking Android hardware back button dismiss dialog.\n */\n dismissableBackButton?: boolean;\n /**\n * Callback that is called when the user dismisses the dialog.\n */\n onDismiss?: () => void;\n /**\n * Determines Whether the dialog is visible.\n */\n visible: boolean;\n /**\n * Content of the `Dialog`.\n */\n children: React.ReactNode;\n style?: Animated.WithAnimatedValue>;\n /**\n * @optional\n */\n theme?: ThemeProp;\n /**\n * testID to be used on tests.\n */\n testID?: string;\n};\n\nconst DIALOG_ELEVATION: number = 24;\n\n/**\n * Dialogs inform users about a specific task and may contain critical information, require decisions, or involve multiple tasks.\n * To render the `Dialog` above other components, you'll need to wrap it with the [`Portal`](../../Portal) component.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { View } from 'react-native';\n * import { Button, Dialog, Portal, PaperProvider, Text } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [visible, setVisible] = React.useState(false);\n *\n * const showDialog = () => setVisible(true);\n *\n * const hideDialog = () => setVisible(false);\n *\n * return (\n * \n * \n * \n * \n * \n * Alert\n * \n * This is simple dialog\n * \n * \n * \n * \n * \n * \n * \n * \n * );\n * };\n *\n * export default MyComponent;\n * ```\n */\nconst Dialog = ({\n children,\n dismissable = true,\n dismissableBackButton = dismissable,\n onDismiss,\n visible = false,\n style,\n theme: themeOverrides,\n testID,\n}: Props) => {\n const { right, left } = useSafeAreaInsets();\n const theme = useInternalTheme(themeOverrides);\n const { isV3, dark, mode, colors, roundness } = theme;\n const borderRadius = (isV3 ? 7 : 1) * roundness;\n\n const backgroundColorV2 =\n dark && mode === 'adaptive'\n ? overlay(DIALOG_ELEVATION, colors?.surface)\n : colors?.surface;\n const backgroundColor = isV3\n ? theme.colors.elevation.level3\n : backgroundColorV2;\n\n return (\n \n {React.Children.toArray(children)\n .filter((child) => child != null && typeof child !== 'boolean')\n .map((child, i) => {\n if (isV3) {\n if (i === 0 && React.isValidElement(child)) {\n return React.cloneElement(child as React.ReactElement, {\n style: [{ marginTop: 24 }, child.props.style],\n });\n }\n }\n\n if (\n i === 0 &&\n React.isValidElement(child) &&\n child.type === DialogContent\n ) {\n // Dialog content is the first item, so we add a top padding\n return React.cloneElement(child as React.ReactElement, {\n style: [{ paddingTop: 24 }, child.props.style],\n });\n }\n\n return child;\n })}\n \n );\n};\n\n// @component ./DialogContent.tsx\nDialog.Content = DialogContent;\n// @component ./DialogActions.tsx\nDialog.Actions = DialogActions;\n// @component ./DialogTitle.tsx\nDialog.Title = DialogTitle;\n// @component ./DialogScrollArea.tsx\nDialog.ScrollArea = DialogScrollArea;\n// @component ./DialogIcon.tsx\nDialog.Icon = DialogIcon;\n\nconst styles = StyleSheet.create({\n container: {\n /**\n * This prevents the shadow from being clipped on Android since Android\n * doesn't support `overflow: visible`.\n * One downside for this fix is that it will disable clicks on the area\n * of the shadow around the dialog, consequently, if you click around the\n * dialog (44 pixel from the top and bottom) it won't be dismissed.\n */\n marginVertical: Platform.OS === 'android' ? 44 : 0,\n elevation: DIALOG_ELEVATION,\n justifyContent: 'flex-start',\n },\n});\n\nexport default Dialog;\n","import * as React from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport color from 'color';\n\nimport { useInternalTheme } from '../core/theming';\nimport { black, white } from '../styles/themes/v2/colors';\nimport type { $RemoveChildren, ThemeProp } from '../types';\n\nexport type Props = $RemoveChildren & {\n /**\n * @renamed Renamed from 'inset' to 'leftInset` in v5.x\n * Whether divider has a left inset.\n */\n leftInset?: boolean;\n /**\n * @supported Available in v5.x with theme version 3\n * Whether divider has a horizontal inset on both sides.\n */\n horizontalInset?: boolean;\n /**\n * @supported Available in v5.x with theme version 3\n * Whether divider should be bolded.\n */\n bold?: boolean;\n style?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\n/**\n * A divider is a thin, lightweight separator that groups content in lists and page layouts.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { View } from 'react-native';\n * import { Divider, Text } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * \n * Lemon\n * \n * Mango\n * \n * \n * );\n *\n * export default MyComponent;\n * ```\n */\nconst Divider = ({\n leftInset,\n horizontalInset = false,\n style,\n theme: themeOverrides,\n bold = false,\n ...rest\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const { dark: isDarkTheme, isV3 } = theme;\n\n const dividerColor = isV3\n ? theme.colors.outlineVariant\n : color(isDarkTheme ? white : black)\n .alpha(0.12)\n .rgb()\n .string();\n\n return (\n \n );\n};\n\nconst styles = StyleSheet.create({\n leftInset: {\n marginLeft: 72,\n },\n v3LeftInset: {\n marginLeft: 16,\n },\n horizontalInset: {\n marginLeft: 16,\n marginRight: 16,\n },\n bold: {\n height: 1,\n },\n});\n\nexport default Divider;\n","import * as React from 'react';\nimport {\n Animated,\n ColorValue,\n GestureResponderEvent,\n I18nManager,\n Platform,\n StyleProp,\n StyleSheet,\n TextInput,\n TextInputProps,\n TextStyle,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport color from 'color';\n\nimport ActivityIndicator from './ActivityIndicator';\nimport Divider from './Divider';\nimport type { IconSource } from './Icon';\nimport IconButton from './IconButton/IconButton';\nimport MaterialCommunityIcon from './MaterialCommunityIcon';\nimport Surface from './Surface';\nimport { useInternalTheme } from '../core/theming';\nimport type { ThemeProp } from '../types';\nimport { forwardRef } from '../utils/forwardRef';\n\ninterface Style {\n marginRight: number;\n}\n\nexport type Props = React.ComponentPropsWithRef & {\n /**\n * Hint text shown when the input is empty.\n */\n placeholder?: string;\n /**\n * The value of the text input.\n */\n value: string;\n /**\n * Callback that is called when the text input's text changes.\n */\n onChangeText?: (query: string) => void;\n /**\n * @supported Available in v5.x with theme version 3\n * Search layout mode, the default value is \"bar\".\n */\n mode?: 'bar' | 'view';\n /**\n * Icon name for the left icon button (see `onIconPress`).\n */\n icon?: IconSource;\n /**\n * Custom color for icon, default will be derived from theme\n */\n iconColor?: string;\n /**\n * Color of the ripple effect.\n */\n rippleColor?: ColorValue;\n /**\n * Callback to execute if we want the left icon to act as button.\n */\n onIconPress?: (e: GestureResponderEvent) => void;\n\n /**\n * Callback to execute if we want to add custom behaviour to close icon button.\n */\n onClearIconPress?: (e: GestureResponderEvent) => void;\n /**\n * Accessibility label for the button. This is read by the screen reader when the user taps the button.\n */\n searchAccessibilityLabel?: string;\n /**\n * Custom icon for clear button, default will be icon close. It's visible when `loading` is set to `false`.\n * In v5.x with theme version 3, `clearIcon` is visible only `right` prop is not defined.\n */\n clearIcon?: IconSource;\n /**\n * Accessibility label for the button. This is read by the screen reader when the user taps the button.\n */\n clearAccessibilityLabel?: string;\n /**\n * @supported Available in v5.x with theme version 3\n * Icon name for the right trailering icon button.\n * Works only when `mode` is set to \"bar\". It won't be displayed if `loading` is set to `true`.\n */\n traileringIcon?: IconSource;\n /**\n * @supported Available in v5.x with theme version 3\n * Custom color for the right trailering icon, default will be derived from theme\n */\n traileringIconColor?: string;\n /**\n * @supported Available in v5.x with theme version 3\n * Color of the trailering icon ripple effect.\n */\n traileringRippleColor?: ColorValue;\n /**\n * @supported Available in v5.x with theme version 3\n * Callback to execute on the right trailering icon button press.\n */\n onTraileringIconPress?: (e: GestureResponderEvent) => void;\n /**\n * Accessibility label for the right trailering icon button. This is read by the screen reader when the user taps the button.\n */\n traileringIconAccessibilityLabel?: string;\n /**\n * @supported Available in v5.x with theme version 3\n * Callback which returns a React element to display on the right side.\n * Works only when `mode` is set to \"bar\".\n */\n right?: (props: {\n color: string;\n style: Style;\n testID: string;\n }) => React.ReactNode;\n /**\n * @supported Available in v5.x with theme version 3\n * Whether to show `Divider` at the bottom of the search.\n * Works only when `mode` is set to \"view\". True by default.\n */\n showDivider?: boolean;\n /**\n * @supported Available in v5.x with theme version 3\n * Changes Searchbar shadow and background on iOS and Android.\n */\n elevation?: 0 | 1 | 2 | 3 | 4 | 5 | Animated.Value;\n /**\n * Set style of the TextInput component inside the searchbar\n */\n inputStyle?: StyleProp;\n style?: Animated.WithAnimatedValue>;\n /**\n * Custom flag for replacing clear button with activity indicator.\n */\n loading?: Boolean;\n /**\n * TestID used for testing purposes\n */\n testID?: string;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\ntype TextInputHandles = Pick<\n TextInput,\n 'setNativeProps' | 'isFocused' | 'clear' | 'blur' | 'focus'\n>;\n\n/**\n * Searchbar is a simple input box where users can type search queries.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Searchbar } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [searchQuery, setSearchQuery] = React.useState('');\n *\n * const onChangeSearch = query => setSearchQuery(query);\n *\n * return (\n * \n * );\n * };\n *\n * export default MyComponent;\n\n * ```\n */\nconst Searchbar = forwardRef(\n (\n {\n icon,\n iconColor: customIconColor,\n rippleColor: customRippleColor,\n onIconPress,\n searchAccessibilityLabel = 'search',\n clearIcon,\n clearAccessibilityLabel = 'clear',\n onClearIconPress,\n traileringIcon,\n traileringIconColor,\n traileringIconAccessibilityLabel,\n traileringRippleColor: customTraileringRippleColor,\n onTraileringIconPress,\n right,\n mode = 'bar',\n showDivider = true,\n inputStyle,\n placeholder,\n elevation = 0,\n style,\n theme: themeOverrides,\n value,\n loading = false,\n testID = 'search-bar',\n ...rest\n }: Props,\n ref\n ) => {\n const theme = useInternalTheme(themeOverrides);\n const root = React.useRef(null);\n\n React.useImperativeHandle(ref, () => {\n const input = root.current;\n\n if (input) {\n return {\n focus: () => input.focus(),\n clear: () => input.clear(),\n setNativeProps: (args: TextInputProps) => input.setNativeProps(args),\n isFocused: () => input.isFocused(),\n blur: () => input.blur(),\n };\n }\n\n const noop = () => {\n throw new Error('TextInput is not available');\n };\n\n return {\n focus: noop,\n clear: noop,\n setNativeProps: noop,\n isFocused: noop,\n blur: noop,\n };\n });\n\n const handleClearPress = (e: any) => {\n root.current?.clear();\n rest.onChangeText?.('');\n onClearIconPress?.(e);\n };\n\n const { roundness, dark, isV3, fonts } = theme;\n\n const placeholderTextColor = isV3\n ? theme.colors.onSurface\n : theme.colors?.placeholder;\n const textColor = isV3 ? theme.colors.onSurfaceVariant : theme.colors.text;\n const md2IconColor = dark\n ? textColor\n : color(textColor).alpha(0.54).rgb().string();\n const iconColor =\n customIconColor || (isV3 ? theme.colors.onSurfaceVariant : md2IconColor);\n const rippleColor =\n customRippleColor || color(textColor).alpha(0.32).rgb().string();\n const traileringRippleColor =\n customTraileringRippleColor ||\n color(textColor).alpha(0.32).rgb().string();\n\n const font = isV3\n ? {\n ...fonts.bodyLarge,\n lineHeight: Platform.select({\n ios: 0,\n default: fonts.bodyLarge.lineHeight,\n }),\n }\n : theme.fonts.regular;\n\n const isBarMode = isV3 && mode === 'bar';\n const shouldRenderTraileringIcon =\n isBarMode &&\n traileringIcon &&\n !loading &&\n (!value || right !== undefined);\n\n return (\n \n (\n \n ))\n }\n theme={theme}\n accessibilityLabel={searchAccessibilityLabel}\n testID={`${testID}-icon`}\n />\n \n {loading ? (\n \n ) : (\n // Clear icon should be always rendered within Searchbar – it's transparent,\n // without touch events, when there is no value. It's done to avoid issues\n // with the abruptly stopping ripple effect and changing bar width on web,\n // when clearing the value.\n \n (\n \n ))\n }\n testID={`${testID}-clear-icon`}\n accessibilityRole=\"button\"\n theme={theme}\n />\n \n )}\n {shouldRenderTraileringIcon ? (\n \n ) : null}\n {isBarMode &&\n right?.({ color: textColor, style: styles.rightStyle, testID })}\n {isV3 && !isBarMode && showDivider && (\n \n )}\n \n );\n }\n);\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n input: {\n flex: 1,\n fontSize: 18,\n paddingLeft: 8,\n alignSelf: 'stretch',\n textAlign: I18nManager.getConstants().isRTL ? 'right' : 'left',\n minWidth: 0,\n },\n barModeInput: {\n paddingLeft: 0,\n minHeight: 56,\n },\n viewModeInput: {\n paddingLeft: 0,\n minHeight: 72,\n },\n elevation: {\n elevation: 4,\n },\n loader: {\n margin: 10,\n },\n v3Loader: {\n marginHorizontal: 16,\n },\n rightStyle: {\n marginRight: 16,\n },\n v3ClearIcon: {\n position: 'absolute',\n right: 0,\n marginLeft: 16,\n },\n v3ClearIconHidden: {\n display: 'none',\n },\n divider: {\n position: 'absolute',\n bottom: 0,\n width: '100%',\n },\n});\n\nexport default Searchbar;\n","import color from 'color';\n\nimport type { InternalTheme } from '../../types';\n\nconst getAndroidCheckedColor = ({\n theme,\n customColor,\n}: {\n theme: InternalTheme;\n customColor?: string;\n}) => {\n if (customColor) {\n return customColor;\n }\n\n if (theme.isV3) {\n return theme.colors.primary;\n }\n\n return theme.colors.accent;\n};\n\nconst getAndroidUncheckedColor = ({\n theme,\n customUncheckedColor,\n}: {\n theme: InternalTheme;\n customUncheckedColor?: string;\n}) => {\n if (customUncheckedColor) {\n return customUncheckedColor;\n }\n\n if (theme.isV3) {\n return theme.colors.onSurfaceVariant;\n }\n\n if (theme.dark) {\n return color(theme.colors.text).alpha(0.7).rgb().string();\n }\n\n return color(theme.colors.text).alpha(0.54).rgb().string();\n};\n\nconst getAndroidRippleColor = ({\n theme,\n checkedColor,\n disabled,\n}: {\n theme: InternalTheme;\n checkedColor: string;\n disabled?: boolean;\n}) => {\n if (disabled) {\n if (theme.isV3) {\n return color(theme.colors.onSurface).alpha(0.16).rgb().string();\n }\n return color(theme.colors.text).alpha(0.16).rgb().string();\n }\n\n return color(checkedColor).fade(0.32).rgb().string();\n};\n\nconst getAndroidControlColor = ({\n theme,\n checked,\n disabled,\n checkedColor,\n uncheckedColor,\n}: {\n theme: InternalTheme;\n checked: boolean;\n checkedColor: string;\n uncheckedColor: string;\n disabled?: boolean;\n}) => {\n if (disabled) {\n if (theme.isV3) {\n return theme.colors.onSurfaceDisabled;\n }\n return theme.colors.disabled;\n }\n\n if (checked) {\n return checkedColor;\n }\n return uncheckedColor;\n};\n\nexport const getAndroidSelectionControlColor = ({\n theme,\n disabled,\n checked,\n customColor,\n customUncheckedColor,\n}: {\n theme: InternalTheme;\n checked: boolean;\n disabled?: boolean;\n customColor?: string;\n customUncheckedColor?: string;\n}) => {\n const checkedColor = getAndroidCheckedColor({ theme, customColor });\n const uncheckedColor = getAndroidUncheckedColor({\n theme,\n customUncheckedColor,\n });\n return {\n rippleColor: getAndroidRippleColor({ theme, checkedColor, disabled }),\n selectionControlColor: getAndroidControlColor({\n theme,\n disabled,\n checked,\n checkedColor,\n uncheckedColor,\n }),\n };\n};\n\nconst getIOSCheckedColor = ({\n theme,\n disabled,\n customColor,\n}: {\n theme: InternalTheme;\n customColor?: string;\n disabled?: boolean;\n}) => {\n if (disabled) {\n if (theme.isV3) {\n return theme.colors.onSurfaceDisabled;\n }\n return theme.colors.disabled;\n }\n\n if (customColor) {\n return customColor;\n }\n\n if (theme.isV3) {\n return theme.colors.primary;\n }\n\n return theme.colors.accent;\n};\n\nconst getIOSRippleColor = ({\n theme,\n checkedColor,\n disabled,\n}: {\n theme: InternalTheme;\n checkedColor: string;\n disabled?: boolean;\n}) => {\n if (disabled) {\n if (theme.isV3) {\n return color(theme.colors.onSurface).alpha(0.16).rgb().string();\n }\n return color(theme.colors.text).alpha(0.16).rgb().string();\n }\n return color(checkedColor).fade(0.32).rgb().string();\n};\n\nexport const getSelectionControlIOSColor = ({\n theme,\n disabled,\n customColor,\n}: {\n theme: InternalTheme;\n disabled?: boolean;\n customColor?: string;\n}) => {\n const checkedColor = getIOSCheckedColor({ theme, disabled, customColor });\n return {\n checkedColor,\n rippleColor: getIOSRippleColor({\n theme,\n checkedColor,\n disabled,\n }),\n };\n};\n","import * as React from 'react';\nimport {\n Animated,\n GestureResponderEvent,\n StyleSheet,\n View,\n} from 'react-native';\n\nimport { getAndroidSelectionControlColor } from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport type { $RemoveChildren, ThemeProp } from '../../types';\nimport MaterialCommunityIcon from '../MaterialCommunityIcon';\nimport TouchableRipple from '../TouchableRipple/TouchableRipple';\n\nexport type Props = $RemoveChildren & {\n /**\n * Status of checkbox.\n */\n status: 'checked' | 'unchecked' | 'indeterminate';\n /**\n * Whether checkbox is disabled.\n */\n disabled?: boolean;\n /**\n * Function to execute on press.\n */\n onPress?: (e: GestureResponderEvent) => void;\n /**\n * Custom color for unchecked checkbox.\n */\n uncheckedColor?: string;\n /**\n * Custom color for checkbox.\n */\n color?: string;\n /**\n * @optional\n */\n theme?: ThemeProp;\n /**\n * testID to be used on tests.\n */\n testID?: string;\n};\n\n// From https://material.io/design/motion/speed.html#duration\nconst ANIMATION_DURATION = 100;\n\n/**\n * Checkboxes allow the selection of multiple options from a set.\n * This component follows platform guidelines for Android, but can be used\n * on any platform.\n */\nconst CheckboxAndroid = ({\n status,\n theme: themeOverrides,\n disabled,\n onPress,\n testID,\n ...rest\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const { current: scaleAnim } = React.useRef(\n new Animated.Value(1)\n );\n const isFirstRendering = React.useRef(true);\n\n const {\n animation: { scale },\n } = theme;\n\n React.useEffect(() => {\n // Do not run animation on very first rendering\n if (isFirstRendering.current) {\n isFirstRendering.current = false;\n return;\n }\n\n const checked = status === 'checked';\n\n Animated.sequence([\n Animated.timing(scaleAnim, {\n toValue: 0.85,\n duration: checked ? ANIMATION_DURATION * scale : 0,\n useNativeDriver: false,\n }),\n Animated.timing(scaleAnim, {\n toValue: 1,\n duration: checked\n ? ANIMATION_DURATION * scale\n : ANIMATION_DURATION * scale * 1.75,\n useNativeDriver: false,\n }),\n ]).start();\n }, [status, scaleAnim, scale]);\n\n const checked = status === 'checked';\n const indeterminate = status === 'indeterminate';\n\n const { rippleColor, selectionControlColor } =\n getAndroidSelectionControlColor({\n theme,\n disabled,\n checked,\n customColor: rest.color,\n customUncheckedColor: rest.uncheckedColor,\n });\n\n const borderWidth = scaleAnim.interpolate({\n inputRange: [0.8, 1],\n outputRange: [7, 0],\n });\n\n const icon = indeterminate\n ? 'minus-box'\n : checked\n ? 'checkbox-marked'\n : 'checkbox-blank-outline';\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nCheckboxAndroid.displayName = 'Checkbox.Android';\n\nconst styles = StyleSheet.create({\n container: {\n borderRadius: 18,\n width: 36,\n height: 36,\n padding: 6,\n },\n fillContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n fill: {\n height: 14,\n width: 14,\n },\n});\n\nexport default CheckboxAndroid;\n\n// @component-docs ignore-next-line\nexport { CheckboxAndroid };\n","import * as React from 'react';\nimport { GestureResponderEvent, StyleSheet, View } from 'react-native';\n\nimport { getSelectionControlIOSColor } from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport type { $RemoveChildren, ThemeProp } from '../../types';\nimport MaterialCommunityIcon from '../MaterialCommunityIcon';\nimport TouchableRipple from '../TouchableRipple/TouchableRipple';\n\nexport type Props = $RemoveChildren & {\n /**\n * Status of checkbox.\n */\n status: 'checked' | 'unchecked' | 'indeterminate';\n /**\n * Whether checkbox is disabled.\n */\n disabled?: boolean;\n /**\n * Function to execute on press.\n */\n onPress?: (e: GestureResponderEvent) => void;\n /**\n * Custom color for checkbox.\n */\n color?: string;\n /**\n * @optional\n */\n theme?: ThemeProp;\n /**\n * testID to be used on tests.\n */\n testID?: string;\n};\n\n/**\n * Checkboxes allow the selection of multiple options from a set.\n * This component follows platform guidelines for iOS, but can be used\n * on any platform.\n */\nconst CheckboxIOS = ({\n status,\n disabled,\n onPress,\n theme: themeOverrides,\n testID,\n ...rest\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const checked = status === 'checked';\n const indeterminate = status === 'indeterminate';\n\n const { checkedColor, rippleColor } = getSelectionControlIOSColor({\n theme,\n disabled,\n customColor: rest.color,\n });\n\n const icon = indeterminate ? 'minus' : 'check';\n const opacity = indeterminate || checked ? 1 : 0;\n\n return (\n \n \n \n \n \n );\n};\n\nCheckboxIOS.displayName = 'Checkbox.IOS';\n\nconst styles = StyleSheet.create({\n container: {\n borderRadius: 18,\n padding: 6,\n },\n});\n\nexport default CheckboxIOS;\n\n// @component-docs ignore-next-line\nexport { CheckboxIOS };\n","import * as React from 'react';\nimport { GestureResponderEvent, Platform } from 'react-native';\n\nimport CheckboxAndroid from './CheckboxAndroid';\nimport CheckboxIOS from './CheckboxIOS';\nimport { useInternalTheme } from '../../core/theming';\nimport type { ThemeProp } from '../../types';\n\nexport type Props = {\n /**\n * Status of checkbox.\n */\n status: 'checked' | 'unchecked' | 'indeterminate';\n /**\n * Whether checkbox is disabled.\n */\n disabled?: boolean;\n /**\n * Function to execute on press.\n */\n onPress?: (e: GestureResponderEvent) => void;\n /**\n * Custom color for unchecked checkbox.\n */\n uncheckedColor?: string;\n /**\n * Custom color for checkbox.\n */\n color?: string;\n /**\n * @optional\n */\n theme?: ThemeProp;\n /**\n * testID to be used on tests.\n */\n testID?: string;\n};\n\n/**\n * Checkboxes allow the selection of multiple options from a set.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Checkbox } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [checked, setChecked] = React.useState(false);\n *\n * return (\n * {\n * setChecked(!checked);\n * }}\n * />\n * );\n * };\n *\n * export default MyComponent;\n * ```\n */\nconst Checkbox = ({ theme: themeOverrides, ...props }: Props) => {\n const theme = useInternalTheme(themeOverrides);\n return Platform.OS === 'ios' ? (\n \n ) : (\n \n );\n};\n\nexport default Checkbox;\n\n// @component-docs ignore-next-line\nconst CheckboxWithTheme = Checkbox;\n// @component-docs ignore-next-line\nexport { CheckboxWithTheme as Checkbox };\n","import * as React from 'react';\nimport {\n ColorValue,\n GestureResponderEvent,\n StyleProp,\n StyleSheet,\n TextStyle,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport Checkbox from './Checkbox';\nimport CheckboxAndroid from './CheckboxAndroid';\nimport CheckboxIOS from './CheckboxIOS';\nimport { useInternalTheme } from '../../core/theming';\nimport type { ThemeProp, MD3TypescaleKey } from '../../types';\nimport TouchableRipple from '../TouchableRipple/TouchableRipple';\nimport Text from '../Typography/Text';\n\nexport type Props = {\n /**\n * Status of checkbox.\n */\n status: 'checked' | 'unchecked' | 'indeterminate';\n /**\n * Whether checkbox is disabled.\n */\n disabled?: boolean;\n /**\n * Label to be displayed on the item.\n */\n label: string;\n /**\n * Function to execute on press.\n */\n onPress?: (e: GestureResponderEvent) => void;\n /**\n * Accessibility label for the touchable. This is read by the screen reader when the user taps the touchable.\n */\n accessibilityLabel?: string;\n /**\n * Custom color for unchecked checkbox.\n */\n uncheckedColor?: string;\n /**\n * Custom color for checkbox.\n */\n color?: string;\n /**\n * Color of the ripple effect.\n */\n rippleColor?: ColorValue;\n /**\n * Additional styles for container View.\n */\n style?: StyleProp;\n /**\n * Specifies the largest possible scale a label font can reach.\n */\n labelMaxFontSizeMultiplier?: number;\n /**\n * Style that is passed to Label element.\n */\n labelStyle?: StyleProp;\n /**\n * @supported Available in v5.x with theme version 3\n *\n * Label text variant defines appropriate text styles for type role and its size.\n * Available variants:\n *\n * Display: `displayLarge`, `displayMedium`, `displaySmall`\n *\n * Headline: `headlineLarge`, `headlineMedium`, `headlineSmall`\n *\n * Title: `titleLarge`, `titleMedium`, `titleSmall`\n *\n * Label: `labelLarge`, `labelMedium`, `labelSmall`\n *\n * Body: `bodyLarge`, `bodyMedium`, `bodySmall`\n */\n labelVariant?: keyof typeof MD3TypescaleKey;\n /**\n * @optional\n */\n theme?: ThemeProp;\n /**\n * testID to be used on tests.\n */\n testID?: string;\n /**\n * Checkbox control position.\n */\n position?: 'leading' | 'trailing';\n /**\n * Whether `` or `` should be used.\n * Left undefined `` will be used.\n */\n mode?: 'android' | 'ios';\n};\n\n/**\n * Checkbox.Item allows you to press the whole row (item) instead of only the Checkbox.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { View } from 'react-native';\n * import { Checkbox } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * \n * \n * \n * );\n *\n * export default MyComponent;\n *```\n */\n\nconst CheckboxItem = ({\n style,\n status,\n label,\n onPress,\n labelStyle,\n theme: themeOverrides,\n testID,\n mode,\n position = 'trailing',\n accessibilityLabel = label,\n disabled,\n labelVariant = 'bodyLarge',\n labelMaxFontSizeMultiplier = 1.5,\n rippleColor,\n ...props\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const checkboxProps = { ...props, status, theme, disabled };\n const isLeading = position === 'leading';\n let checkbox;\n\n if (mode === 'android') {\n checkbox = ;\n } else if (mode === 'ios') {\n checkbox = ;\n } else {\n checkbox = ;\n }\n\n const textColor = theme.isV3 ? theme.colors.onSurface : theme.colors.text;\n const disabledTextColor = theme.isV3\n ? theme.colors.onSurfaceDisabled\n : theme.colors.disabled;\n const textAlign = isLeading ? 'right' : 'left';\n\n const computedStyle = {\n color: disabled ? disabledTextColor : textColor,\n textAlign,\n } as TextStyle;\n\n return (\n \n \n {isLeading && checkbox}\n \n {label}\n \n {!isLeading && checkbox}\n \n \n );\n};\n\nCheckboxItem.displayName = 'Checkbox.Item';\n\nexport default CheckboxItem;\n\n// @component-docs ignore-next-line\nexport { CheckboxItem };\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingVertical: 8,\n paddingHorizontal: 16,\n },\n label: {\n flexShrink: 1,\n flexGrow: 1,\n },\n font: {\n fontSize: 16,\n },\n});\n","import CheckboxComponent from './Checkbox';\nimport CheckboxAndroid from './CheckboxAndroid';\nimport CheckboxIOS from './CheckboxIOS';\nimport CheckboxItem from './CheckboxItem';\n\nconst Checkbox = Object.assign(\n // @component ./Checkbox.tsx\n CheckboxComponent,\n {\n // @component ./CheckboxItem.tsx\n Item: CheckboxItem,\n // @component ./CheckboxAndroid.tsx\n Android: CheckboxAndroid,\n // @component ./CheckboxIOS.tsx\n IOS: CheckboxIOS,\n }\n);\n\nexport default Checkbox;\n","import React, { memo } from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { Checkbox, Text } from 'react-native-paper';\nimport type { PaperSelectCheckboxProps } from 'src/interface/checkbox.interface';\n\ninterface CheckboxPropsFull extends PaperSelectCheckboxProps {\n isChecked: boolean;\n label: string;\n}\n\nconst CheckboxInput = ({\n isChecked,\n label,\n checkboxColor,\n checkboxLabelStyle,\n checkboxUncheckedColor,\n}: CheckboxPropsFull) => (\n \n \n {label.trim()}\n \n);\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n flex: 1,\n marginBottom: 1.5,\n },\n labelStyle: {\n flexDirection: 'row',\n flexShrink: 1,\n },\n});\n\nexport default memo(CheckboxInput);\n","import React, { memo, useRef, useState } from 'react';\nimport {\n View,\n StyleSheet,\n TouchableOpacity,\n Dimensions,\n FlatList,\n} from 'react-native';\nimport {\n TextInput,\n Button,\n Dialog,\n Portal,\n Searchbar,\n ThemeProvider,\n useTheme,\n Text,\n} from 'react-native-paper';\nimport CheckboxInput from '../components/checkBox';\nimport type {\n ListItem,\n PaperSelectProps,\n PaperSelectTextInputProps,\n} from '../interface/paperSelect.interface';\nimport type { InternalTheme } from 'react-native-paper/lib/typescript/src/types';\n\nconst PaperSelect = ({\n // Required props\n label,\n arrayList,\n selectedArrayList,\n multiEnable,\n value,\n onSelection,\n\n // Core props\n disabled = false,\n hideSearchBox = false,\n selectAllEnable = true,\n textInputMode = 'flat',\n theme: themeOverrides,\n inputRef,\n\n // Localization props\n dialogTitle,\n selectAllText = 'Select all',\n searchText = 'Search',\n dialogCloseButtonText = 'Close',\n dialogDoneButtonText = 'Done',\n errorText,\n\n // Style props\n containerStyle,\n textInputStyle,\n textInputOutlineStyle,\n dialogStyle,\n dialogTitleStyle,\n searchStyle,\n dialogCloseButtonStyle,\n dialogDoneButtonStyle,\n errorStyle,\n textColor,\n\n // Component props\n textInputProps: textInputPropOverrides,\n checkboxProps: checkboxPropsOverrides,\n searchbarProps: searchbarPropsOverrides,\n}: PaperSelectProps) => {\n const theme = useTheme(themeOverrides);\n\n const textInputProps: PaperSelectTextInputProps = {\n underlineColor: textInputPropOverrides?.underlineColor || 'black',\n activeUnderlineColor:\n textInputPropOverrides?.activeUnderlineColor || 'black',\n outlineColor: textInputPropOverrides?.outlineColor || 'black',\n activeOutlineColor: textInputPropOverrides?.activeOutlineColor || 'black',\n left: textInputPropOverrides?.left,\n right: textInputPropOverrides?.right ?? (\n \n ),\n };\n\n const { height } = Dimensions.get('window');\n\n // console.log(height);\n\n const [searchKey, setSearchKey] = useState('');\n\n const [arrayHolder, setArrayHolder] = useState>([\n ...arrayList,\n ]);\n const [list, setList] = useState>([...arrayList]);\n const [selectedList, setSelectedList] = useState>([\n ...selectedArrayList,\n ]);\n\n const selfInputRef = useRef(null);\n const selectInputRef = inputRef ?? selfInputRef;\n\n const [visible, setVisible] = useState(false);\n\n const showDialog = () => setVisible(true);\n\n const _hideDialog = () => {\n setSearchKey('');\n var data: Array = [...arrayHolder];\n // console.log(selectedList);\n var selectedData: Array = [...selectedList];\n // console.log(selectedData);\n let finalText: string = '';\n selectedData.forEach((val, index) => {\n data.forEach((el) => {\n if (val._id === el._id) {\n finalText +=\n index !== selectedData.length - 1 ? `${el.value}, ` : `${el.value}`;\n }\n });\n });\n\n onSelection({\n text: finalText,\n selectedList: selectedData,\n });\n\n setVisible(false);\n\n if (selectInputRef && selectInputRef.current) {\n selectInputRef.current.blur();\n }\n };\n\n const _closeDialog = () => {\n setVisible(false);\n setSearchKey('');\n if (selectInputRef && selectInputRef.current) {\n selectInputRef.current.blur();\n }\n };\n\n const _onFocus = () => {\n setArrayHolder([...arrayList]);\n setList([...arrayList]);\n setSelectedList([...selectedArrayList]);\n showDialog();\n };\n\n const _onChecked = (item: any) => {\n var selectedData = [...selectedList];\n // const index = data.findIndex(x => x._id === item._id);\n const indexSelected = selectedData.findIndex((val) => val._id === item._id);\n if (indexSelected > -1) {\n selectedData.splice(indexSelected, 1);\n } else {\n selectedData.push(item);\n }\n setSelectedList([...selectedData]);\n };\n\n const _onCheckedSingle = (item: any) => {\n var selectedData = [...selectedList];\n // const index = data.findIndex(x => x._id === item._id);\n const indexSelected = selectedData.findIndex((val) => val._id === item._id);\n if (indexSelected > -1) {\n // selectedData.splice(indexSelected, 1);\n selectedData = [];\n } else {\n selectedData = [];\n selectedData.push(item);\n }\n // console.log(selectedData);\n setSelectedList([...selectedData]);\n };\n\n const _exists = (item: any) => {\n // console.log(selectedList);\n let _temp = [...selectedList];\n return _temp.find((val: any) => val._id === item._id) ? true : false;\n };\n\n const _isCheckedAll = () => {\n const data = [...list];\n const selectedData = [...selectedList];\n return selectedData.length !== 0 && selectedData.length === data.length;\n };\n\n const _checkAll = () => {\n const data = [...list];\n var selectedData = [...selectedList];\n if (selectedData.length === data.length) {\n selectedData = [];\n } else if (selectedData.length === 0 || selectedData.length > 0) {\n selectedData = data.slice(0);\n }\n\n setSelectedList([...selectedData]);\n };\n\n // const _renderListForMulti = () => {\n // return list.map((item, key) => {\n // return (\n // {\n // _onChecked(item);\n // }}\n // >\n // \n // \n // );\n // });\n // };\n\n const _renderItem = ({ item }: { item: any }) => (\n \n multiEnable === true ? _onChecked(item) : _onCheckedSingle(item)\n }\n >\n \n \n );\n\n // const _renderListForSingle = () => {\n // return list.map((item, key) => {\n // return (\n // {\n // _onCheckedSingle(item);\n // }}\n // >\n // \n // \n // );\n // });\n // };\n\n const _filterFunction = (text: string) => {\n setSearchKey(text);\n const newData = arrayHolder.filter((item) =>\n item.value.toLowerCase().includes(text.toLowerCase())\n );\n setList(newData);\n };\n\n return (\n \n \n \n {errorText ? (\n \n {errorText}\n \n ) : null}\n \n\n \n \n \n \n {dialogTitle ?? label}\n \n \n {!hideSearchBox ? (\n _filterFunction(text)}\n style={[styles.searchbar, searchStyle]}\n />\n ) : null}\n {multiEnable === true && selectAllEnable === true ? (\n {\n _checkAll();\n }}\n >\n \n \n ) : null}\n {/* \n {multiEnable === true\n ? _renderListForMulti()\n : _renderListForSingle()}\n */}\n item._id.toString()}\n keyboardShouldPersistTaps=\"handled\"\n style={\n (styles.dialogScrollView,\n { maxHeight: height - (height * 40) / 100, marginBottom: 8 })\n }\n />\n \n \n \n {dialogCloseButtonText}\n \n \n \n \n \n \n \n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n width: '100%',\n marginBottom: 10,\n },\n dialog: {\n backgroundColor: 'white',\n borderRadius: 5,\n },\n dialogScrollView: {\n width: '100%',\n },\n touchableItem: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n textInput: {\n // backgroundColor: '#fff',\n // color: '#000',\n },\n textInputIcon: {\n justifyContent: 'center',\n alignItems: 'center',\n alignSelf: 'center',\n alignContent: 'center',\n },\n searchbar: {\n borderColor: '#777777',\n backgroundColor: '#F1F1F2',\n borderWidth: 0.25,\n marginBottom: 10,\n marginHorizontal: 8,\n color: '#000',\n marginTop: 12,\n },\n});\n\nexport default memo(PaperSelect);\n","import * as React from 'react';\nimport {\n Animated,\n Easing,\n Platform,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport { useInternalTheme } from '../core/theming';\nimport type { ThemeProp } from '../types';\n\nexport type Props = React.ComponentPropsWithRef & {\n /**\n * Whether to show the indicator or hide it.\n */\n animating?: boolean;\n /**\n * The color of the spinner.\n */\n color?: string;\n /**\n * Size of the indicator.\n */\n size?: 'small' | 'large' | number;\n /**\n * Whether the indicator should hide when not animating.\n */\n hidesWhenStopped?: boolean;\n style?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\nconst DURATION = 2400;\n\n/**\n * Activity indicator is used to present progress of some activity in the app.\n * It can be used as a drop-in for the ActivityIndicator shipped with React Native.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { ActivityIndicator, MD2Colors } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * \n * );\n *\n * export default MyComponent;\n * ```\n */\nconst ActivityIndicator = ({\n animating = true,\n color: indicatorColor,\n hidesWhenStopped = true,\n size: indicatorSize = 'small',\n style,\n theme: themeOverrides,\n ...rest\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const { current: timer } = React.useRef(\n new Animated.Value(0)\n );\n const { current: fade } = React.useRef(\n new Animated.Value(!animating && hidesWhenStopped ? 0 : 1)\n );\n\n const rotation = React.useRef(\n undefined\n );\n\n const {\n animation: { scale },\n } = theme;\n\n const startRotation = React.useCallback(() => {\n // Show indicator\n Animated.timing(fade, {\n duration: 200 * scale,\n toValue: 1,\n isInteraction: false,\n useNativeDriver: true,\n }).start();\n\n // Circular animation in loop\n if (rotation.current) {\n timer.setValue(0);\n // $FlowFixMe\n Animated.loop(rotation.current).start();\n }\n }, [scale, fade, timer]);\n\n const stopRotation = () => {\n if (rotation.current) {\n rotation.current.stop();\n }\n };\n\n React.useEffect(() => {\n if (rotation.current === undefined) {\n // Circular animation in loop\n rotation.current = Animated.timing(timer, {\n duration: DURATION,\n easing: Easing.linear,\n // Animated.loop does not work if useNativeDriver is true on web\n useNativeDriver: Platform.OS !== 'web',\n toValue: 1,\n isInteraction: false,\n });\n }\n\n if (animating) {\n startRotation();\n } else if (hidesWhenStopped) {\n // Hide indicator first and then stop rotation\n Animated.timing(fade, {\n duration: 200 * scale,\n toValue: 0,\n useNativeDriver: true,\n isInteraction: false,\n }).start(stopRotation);\n } else {\n stopRotation();\n }\n }, [animating, fade, hidesWhenStopped, startRotation, scale, timer]);\n\n const color = indicatorColor || theme.colors?.primary;\n const size =\n typeof indicatorSize === 'string'\n ? indicatorSize === 'small'\n ? 24\n : 48\n : indicatorSize\n ? indicatorSize\n : 24;\n\n const frames = (60 * DURATION) / 1000;\n const easing = Easing.bezier(0.4, 0.0, 0.7, 1.0);\n const containerStyle = {\n width: size,\n height: size / 2,\n overflow: 'hidden' as const,\n };\n\n return (\n \n \n {[0, 1].map((index) => {\n // Thanks to https://github.com/n4kz/react-native-indicators for the great work\n const inputRange = Array.from(\n new Array(frames),\n (_, frameIndex) => frameIndex / (frames - 1)\n );\n const outputRange = Array.from(new Array(frames), (_, frameIndex) => {\n let progress = (2 * frameIndex) / (frames - 1);\n const rotation = index ? +(360 - 15) : -(180 - 15);\n\n if (progress > 1.0) {\n progress = 2.0 - progress;\n }\n\n const direction = index ? -1 : +1;\n\n return `${direction * (180 - 30) * easing(progress) + rotation}deg`;\n });\n\n const layerStyle = {\n width: size,\n height: size,\n transform: [\n {\n rotate: timer.interpolate({\n inputRange: [0, 1],\n outputRange: [`${0 + 30 + 15}deg`, `${2 * 360 + 30 + 15}deg`],\n }),\n },\n ],\n };\n\n const viewportStyle = {\n width: size,\n height: size,\n transform: [\n {\n translateY: index ? -size / 2 : 0,\n },\n {\n rotate: timer.interpolate({ inputRange, outputRange }),\n },\n ],\n };\n\n const offsetStyle = index ? { top: size / 2 } : null;\n\n const lineStyle = {\n width: size,\n height: size,\n borderColor: color,\n borderWidth: size / 10,\n borderRadius: size / 2,\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n })}\n \n \n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n justifyContent: 'center',\n alignItems: 'center',\n },\n\n layer: {\n ...StyleSheet.absoluteFillObject,\n\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n\nexport default ActivityIndicator;\n","import React from 'react';\nimport type { ColorValue, StyleProp, ViewStyle } from 'react-native';\nimport { StyleSheet, Animated } from 'react-native';\n\nimport overlay from '../../styles/overlay';\nimport { black, white } from '../../styles/themes/v2/colors';\nimport type { InternalTheme, ThemeProp } from '../../types';\n\nexport type AppbarModes = 'small' | 'medium' | 'large' | 'center-aligned';\n\nconst borderStyleProperties = [\n 'borderRadius',\n 'borderTopLeftRadius',\n 'borderTopRightRadius',\n 'borderBottomRightRadius',\n 'borderBottomLeftRadius',\n];\n\nexport const getAppbarBackgroundColor = (\n theme: InternalTheme,\n elevation: number,\n customBackground?: ColorValue,\n elevated?: boolean\n) => {\n const { isV3, dark: isDarkTheme, mode, colors } = theme;\n const isAdaptiveMode = mode === 'adaptive';\n if (customBackground) {\n return customBackground;\n }\n\n if (!isV3) {\n if (isDarkTheme && isAdaptiveMode) {\n return overlay(elevation, colors?.surface);\n }\n\n return colors.primary;\n }\n\n if (elevated) {\n return theme.colors.elevation.level2;\n }\n\n return colors.surface;\n};\n\nexport const getAppbarColor = ({\n color,\n isDark,\n isV3,\n}: BaseProps & { color: string }) => {\n if (typeof color !== 'undefined') {\n return color;\n }\n\n if (isDark) {\n return white;\n }\n\n if (isV3) {\n return undefined;\n }\n\n return black;\n};\n\nexport const getAppbarBorders = (\n style:\n | Animated.Value\n | Animated.AnimatedInterpolation\n | Animated.WithAnimatedObject\n) => {\n const borders: Record = {};\n\n for (const property of borderStyleProperties) {\n const value = style[property as keyof typeof style];\n if (value) {\n borders[property] = value;\n }\n }\n\n return borders;\n};\n\ntype BaseProps = {\n isDark: boolean;\n isV3: boolean;\n};\n\ntype RenderAppbarContentProps = BaseProps & {\n children: React.ReactNode;\n shouldCenterContent?: boolean;\n isV3: boolean;\n renderOnly?: (string | boolean)[];\n renderExcept?: string[];\n mode?: AppbarModes;\n theme?: ThemeProp;\n};\n\nexport const DEFAULT_APPBAR_HEIGHT = 56;\nconst MD3_DEFAULT_APPBAR_HEIGHT = 64;\n\nexport const modeAppbarHeight = {\n small: MD3_DEFAULT_APPBAR_HEIGHT,\n medium: 112,\n large: 152,\n 'center-aligned': MD3_DEFAULT_APPBAR_HEIGHT,\n};\n\nexport const modeTextVariant = {\n small: 'titleLarge',\n medium: 'headlineSmall',\n large: 'headlineMedium',\n 'center-aligned': 'titleLarge',\n} as const;\n\nexport const renderAppbarContent = ({\n children,\n isDark,\n shouldCenterContent = false,\n isV3,\n renderOnly,\n renderExcept,\n mode = 'small',\n theme,\n}: RenderAppbarContentProps) => {\n return React.Children.toArray(children as React.ReactNode | React.ReactNode[])\n .filter((child) => child != null && typeof child !== 'boolean')\n .filter((child) =>\n // @ts-expect-error: TypeScript complains about the type of type but it doesn't matter\n renderExcept ? !renderExcept.includes(child.type.displayName) : child\n )\n .filter((child) =>\n // @ts-expect-error: TypeScript complains about the type of type but it doesn't matter\n renderOnly ? renderOnly.includes(child.type.displayName) : child\n )\n .map((child, i) => {\n if (\n !React.isValidElement(child) ||\n ![\n 'Appbar.Content',\n 'Appbar.Action',\n 'Appbar.BackAction',\n 'Tooltip',\n ].includes(\n // @ts-expect-error: TypeScript complains about the type of type but it doesn't matter\n child.type.displayName\n )\n ) {\n return child;\n }\n\n const props: {\n color?: string;\n style?: StyleProp;\n mode?: AppbarModes;\n theme?: ThemeProp;\n } = {\n theme,\n color: getAppbarColor({ color: child.props.color, isDark, isV3 }),\n };\n\n // @ts-expect-error: TypeScript complains about the type of type but it doesn't matter\n if (child.type.displayName === 'Appbar.Content') {\n props.mode = mode;\n props.style = [\n isV3\n ? i === 0 && !shouldCenterContent && styles.v3Spacing\n : i !== 0 && styles.v2Spacing,\n shouldCenterContent && styles.centerAlignedContent,\n child.props.style,\n ];\n props.color;\n }\n return React.cloneElement(child, props);\n });\n};\n\nconst styles = StyleSheet.create({\n centerAlignedContent: {\n alignItems: 'center',\n },\n v2Spacing: {\n marginLeft: 8,\n },\n v3Spacing: {\n marginLeft: 12,\n },\n});\n","import * as React from 'react';\nimport {\n AccessibilityRole,\n GestureResponderEvent,\n Platform,\n StyleProp,\n StyleSheet,\n TextStyle,\n Pressable,\n View,\n ViewStyle,\n ViewProps,\n} from 'react-native';\n\nimport color from 'color';\n\nimport { modeTextVariant } from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport { white } from '../../styles/themes/v2/colors';\nimport type { $RemoveChildren, MD3TypescaleKey, ThemeProp } from '../../types';\nimport Text, { TextRef } from '../Typography/Text';\n\ntype TitleString = {\n title: string;\n titleStyle?: StyleProp;\n};\n\ntype TitleElement = { title: React.ReactNode; titleStyle?: never };\n\nexport type Props = $RemoveChildren & {\n // For `title` and `titleStyle` props their types are duplicated due to the generation of documentation.\n // Appropriate type for them are either `TitleString` or `TitleElement`, depends on `title` type.\n /**\n * Text or component for the title.\n */\n title: React.ReactNode;\n /**\n * Style for the title, if `title` is a string.\n */\n titleStyle?: StyleProp;\n /**\n * Reference for the title.\n */\n titleRef?: React.RefObject;\n /**\n * @deprecated Deprecated in v5.x\n * Text for the subtitle.\n */\n subtitle?: React.ReactNode;\n /**\n * @deprecated Deprecated in v5.x\n * Style for the subtitle.\n */\n subtitleStyle?: StyleProp;\n /**\n * Function to execute on press.\n */\n onPress?: (e: GestureResponderEvent) => void;\n /**\n * If true, disable all interactions for this component.\n */\n disabled?: boolean;\n /**\n * Custom color for the text.\n */\n color?: string;\n /**\n * Specifies the largest possible scale a title font can reach.\n */\n titleMaxFontSizeMultiplier?: number;\n /**\n * @internal\n */\n mode?: 'small' | 'medium' | 'large' | 'center-aligned';\n style?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n /**\n * testID to be used on tests.\n */\n testID?: string;\n} & (TitleString | TitleElement);\n\n/**\n * A component used to display a title and optional subtitle in an appbar.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Appbar } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * \n * \n * \n * );\n *\n * export default MyComponent;\n * ```\n */\nconst AppbarContent = ({\n color: titleColor,\n subtitle,\n subtitleStyle,\n onPress,\n disabled,\n style,\n titleRef,\n titleStyle,\n title,\n titleMaxFontSizeMultiplier,\n mode = 'small',\n theme: themeOverrides,\n testID = 'appbar-content',\n ...rest\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const { isV3, colors } = theme;\n\n const titleTextColor = titleColor\n ? titleColor\n : isV3\n ? colors.onSurface\n : white;\n\n const subtitleColor = color(titleTextColor).alpha(0.7).rgb().string();\n\n const modeContainerStyles = {\n small: styles.v3DefaultContainer,\n medium: styles.v3MediumContainer,\n large: styles.v3LargeContainer,\n 'center-aligned': styles.v3DefaultContainer,\n };\n\n const variant = modeTextVariant[mode] as MD3TypescaleKey;\n\n const contentWrapperProps = {\n pointerEvents: 'box-none' as ViewProps['pointerEvents'],\n style: [styles.container, isV3 && modeContainerStyles[mode], style],\n testID,\n ...rest,\n };\n\n const content = (\n <>\n {typeof title === 'string' ? (\n \n {title}\n \n ) : (\n title\n )}\n {!isV3 && subtitle ? (\n \n {subtitle}\n \n ) : null}\n \n );\n\n if (onPress) {\n return (\n // eslint-disable-next-line react-native-a11y/has-accessibility-props\n \n {content}\n \n );\n }\n\n return {content};\n};\n\nAppbarContent.displayName = 'Appbar.Content';\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n paddingHorizontal: 12,\n },\n v3DefaultContainer: {\n paddingHorizontal: 0,\n },\n v3MediumContainer: {\n paddingHorizontal: 0,\n justifyContent: 'flex-end',\n paddingBottom: 24,\n },\n v3LargeContainer: {\n paddingHorizontal: 0,\n paddingTop: 36,\n justifyContent: 'flex-end',\n paddingBottom: 28,\n },\n title: {\n fontSize: Platform.OS === 'ios' ? 17 : 20,\n },\n subtitle: {\n fontSize: Platform.OS === 'ios' ? 11 : 14,\n },\n});\n\nconst iosTouchableRole: readonly AccessibilityRole[] = ['button', 'header'];\nconst touchableRole: AccessibilityRole = Platform.select({\n ios: iosTouchableRole as unknown as 'button',\n default: iosTouchableRole[0],\n});\n\nexport default AppbarContent;\n\n// @component-docs ignore-next-line\nexport { AppbarContent };\n","import * as React from 'react';\nimport {\n Animated,\n Platform,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n ColorValue,\n} from 'react-native';\n\nimport color from 'color';\n\nimport AppbarContent from './AppbarContent';\nimport {\n AppbarModes,\n DEFAULT_APPBAR_HEIGHT,\n getAppbarBackgroundColor,\n modeAppbarHeight,\n renderAppbarContent,\n} from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport type { MD3Elevation, ThemeProp } from '../../types';\nimport Surface from '../Surface';\n\nexport type Props = Omit<\n Partial>,\n 'style'\n> & {\n /**\n * Whether the background color is a dark color. A dark appbar will render light text and vice-versa.\n */\n dark?: boolean;\n /**\n * Content of the `Appbar`.\n */\n children: React.ReactNode;\n /**\n * @supported Available in v5.x with theme version 3\n *\n * Mode of the Appbar.\n * - `small` - Appbar with default height (64).\n * - `medium` - Appbar with medium height (112).\n * - `large` - Appbar with large height (152).\n * - `center-aligned` - Appbar with default height and center-aligned title.\n */\n mode?: 'small' | 'medium' | 'large' | 'center-aligned';\n /**\n * @supported Available in v5.x with theme version 3\n * Whether Appbar background should have the elevation along with primary color pigment.\n */\n elevated?: boolean;\n /**\n * Safe area insets for the Appbar. This can be used to avoid elements like the navigation bar on Android and bottom safe area on iOS.\n */\n safeAreaInsets?: {\n bottom?: number;\n top?: number;\n left?: number;\n right?: number;\n };\n /**\n * @optional\n */\n theme?: ThemeProp;\n style?: Animated.WithAnimatedValue>;\n};\n\n/**\n * A component to display action items in a bar. It can be placed at the top or bottom.\n * The top bar usually contains the screen title, controls such as navigation buttons, menu button etc.\n * The bottom bar usually provides access to a drawer and up to four actions.\n *\n * By default Appbar uses primary color as a background, in dark theme with `adaptive` mode it will use surface colour instead.\n * See [Dark Theme](https://callstack.github.io/react-native-paper/docs/guides/theming#dark-theme) for more informations\n *\n * ## Usage\n * ### Top bar\n * ```js\n * import * as React from 'react';\n * import { Appbar } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * \n * {}} />\n * \n * {}} />\n * {}} />\n * \n * );\n *\n * export default MyComponent;\n * ```\n *\n * ### Bottom bar\n * ```js\n * import * as React from 'react';\n * import { StyleSheet } from 'react-native';\n * import { Appbar, FAB, useTheme } from 'react-native-paper';\n * import { useSafeAreaInsets } from 'react-native-safe-area-context';\n *\n * const BOTTOM_APPBAR_HEIGHT = 80;\n * const MEDIUM_FAB_HEIGHT = 56;\n *\n * const MyComponent = () => {\n * const { bottom } = useSafeAreaInsets();\n * const theme = useTheme();\n *\n * return (\n * \n * {}} />\n * {}} />\n * {}} />\n * {}} />\n * {}}\n * style={[\n * styles.fab,\n * { top: (BOTTOM_APPBAR_HEIGHT - MEDIUM_FAB_HEIGHT) / 2 },\n * ]}\n * />\n * \n * );\n * };\n *\n * const styles = StyleSheet.create({\n * bottom: {\n * backgroundColor: 'aquamarine',\n * position: 'absolute',\n * left: 0,\n * right: 0,\n * bottom: 0,\n * },\n * fab: {\n * position: 'absolute',\n * right: 16,\n * },\n * });\n *\n * export default MyComponent;\n * ```\n */\nconst Appbar = ({\n children,\n dark,\n style,\n mode = 'small',\n elevated,\n safeAreaInsets,\n theme: themeOverrides,\n ...rest\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const { isV3 } = theme;\n const flattenedStyle = StyleSheet.flatten(style);\n const {\n backgroundColor: customBackground,\n elevation = isV3 ? (elevated ? 2 : 0) : 4,\n ...restStyle\n } = (flattenedStyle || {}) as Exclude & {\n elevation?: number;\n backgroundColor?: ColorValue;\n };\n\n const backgroundColor = getAppbarBackgroundColor(\n theme,\n elevation,\n customBackground,\n elevated\n );\n\n const isMode = (modeToCompare: AppbarModes) => {\n return isV3 && mode === modeToCompare;\n };\n\n let isDark = false;\n\n if (typeof dark === 'boolean') {\n isDark = dark;\n } else if (!isV3) {\n isDark =\n backgroundColor === 'transparent'\n ? false\n : typeof backgroundColor === 'string'\n ? !color(backgroundColor).isLight()\n : true;\n }\n\n const isV3CenterAlignedMode = isV3 && isMode('center-aligned');\n\n let shouldCenterContent = false;\n let shouldAddLeftSpacing = false;\n let shouldAddRightSpacing = false;\n if ((!isV3 && Platform.OS === 'ios') || isV3CenterAlignedMode) {\n let hasAppbarContent = false;\n let leftItemsCount = 0;\n let rightItemsCount = 0;\n\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child)) {\n if (child.type === AppbarContent) {\n hasAppbarContent = true;\n } else if (hasAppbarContent) {\n rightItemsCount++;\n } else {\n leftItemsCount++;\n }\n }\n });\n\n shouldCenterContent =\n hasAppbarContent &&\n leftItemsCount < 2 &&\n rightItemsCount < (isV3 ? 3 : 2);\n shouldAddLeftSpacing = shouldCenterContent && leftItemsCount === 0;\n shouldAddRightSpacing = shouldCenterContent && rightItemsCount === 0;\n }\n\n const filterAppbarActions = React.useCallback(\n (isLeading = false) =>\n React.Children.toArray(children).filter((child) =>\n // @ts-expect-error: TypeScript complains about the type of type but it doesn't matter\n isLeading ? child.props.isLeading : !child.props.isLeading\n ),\n [children]\n );\n\n const spacingStyle = isV3 ? styles.v3Spacing : styles.spacing;\n\n const insets = {\n paddingBottom: safeAreaInsets?.bottom,\n paddingTop: safeAreaInsets?.top,\n paddingLeft: safeAreaInsets?.left,\n paddingRight: safeAreaInsets?.right,\n };\n\n return (\n \n {shouldAddLeftSpacing ? : null}\n {(!isV3 || isMode('small') || isMode('center-aligned')) &&\n renderAppbarContent({\n children,\n isDark,\n theme,\n isV3,\n shouldCenterContent: isV3CenterAlignedMode || shouldCenterContent,\n })}\n {(isMode('medium') || isMode('large')) && (\n \n {/* Appbar top row with controls */}\n \n {/* Left side of row container, can contain AppbarBackAction or AppbarAction if it's leading icon */}\n {renderAppbarContent({\n children,\n isDark,\n isV3,\n renderOnly: ['Appbar.BackAction'],\n mode,\n })}\n {renderAppbarContent({\n children: filterAppbarActions(true),\n isDark,\n isV3,\n renderOnly: ['Appbar.Action'],\n mode,\n })}\n {/* Right side of row container, can contain other AppbarAction if they are not leading icons */}\n \n {renderAppbarContent({\n children: filterAppbarActions(false),\n isDark,\n isV3,\n renderExcept: [\n 'Appbar',\n 'Appbar.BackAction',\n 'Appbar.Content',\n 'Appbar.Header',\n ],\n mode,\n })}\n \n \n {/* Middle of the row, can contain only AppbarContent */}\n {renderAppbarContent({\n children,\n isDark,\n isV3,\n renderOnly: ['Appbar.Content'],\n mode,\n })}\n \n )}\n {shouldAddRightSpacing ? : null}\n \n );\n};\n\nconst styles = StyleSheet.create({\n appbar: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingHorizontal: 4,\n },\n spacing: {\n width: 48,\n },\n v3Spacing: {\n width: 52,\n },\n controlsRow: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n rightActionControls: {\n flexDirection: 'row',\n flex: 1,\n justifyContent: 'flex-end',\n },\n columnContainer: {\n flexDirection: 'column',\n flex: 1,\n paddingTop: 8,\n },\n centerAlignedContainer: {\n paddingTop: 0,\n },\n});\n\nexport default Appbar;\n\n// @component-docs ignore-next-line\nexport { Appbar };\n","import * as React from 'react';\nimport type {\n StyleProp,\n ViewStyle,\n View,\n Animated,\n ColorValue,\n} from 'react-native';\n\nimport color from 'color';\nimport type { ThemeProp } from 'src/types';\n\nimport { useInternalTheme } from '../../core/theming';\nimport { black } from '../../styles/themes/v2/colors';\nimport { forwardRef } from '../../utils/forwardRef';\nimport type { IconSource } from '../Icon';\nimport IconButton from '../IconButton/IconButton';\n\nexport type Props = React.ComponentPropsWithoutRef & {\n /**\n * Custom color for action icon.\n */\n color?: string;\n /**\n * Color of the ripple effect.\n */\n rippleColor?: ColorValue;\n /**\n * Name of the icon to show.\n */\n icon: IconSource;\n /**\n * Optional icon size.\n */\n size?: number;\n /**\n * Whether the button is disabled. A disabled button is greyed out and `onPress` is not called on touch.\n */\n disabled?: boolean;\n /**\n * Accessibility label for the button. This is read by the screen reader when the user taps the button.\n */\n accessibilityLabel?: string;\n /**\n * Function to execute on press.\n */\n onPress?: () => void;\n /**\n * @supported Available in v5.x with theme version 3\n *\n * Whether it's the leading button.\n */\n isLeading?: boolean;\n style?: Animated.WithAnimatedValue>;\n ref?: React.RefObject;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\n/**\n * A component used to display an action item in the appbar.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Appbar } from 'react-native-paper';\n * import { Platform } from 'react-native';\n *\n * const MORE_ICON = Platform.OS === 'ios' ? 'dots-horizontal' : 'dots-vertical';\n *\n * const MyComponent = () => (\n * \n * \n * {}} />\n * {}} />\n * \n * );\n *\n * export default MyComponent;\n * ```\n */\nconst AppbarAction = forwardRef(\n (\n {\n size = 24,\n color: iconColor,\n icon,\n disabled,\n onPress,\n accessibilityLabel,\n isLeading,\n theme: themeOverrides,\n rippleColor,\n ...rest\n }: Props,\n ref\n ) => {\n const theme = useInternalTheme(themeOverrides);\n\n const actionIconColor = iconColor\n ? iconColor\n : theme.isV3\n ? isLeading\n ? theme.colors.onSurface\n : theme.colors.onSurfaceVariant\n : color(black).alpha(0.54).rgb().string();\n\n return (\n \n );\n }\n);\n\nAppbarAction.displayName = 'Appbar.Action';\n\nexport default AppbarAction;\n\n// @component-docs ignore-next-line\nexport { AppbarAction };\n","import * as React from 'react';\nimport { Platform, I18nManager, View, Image, StyleSheet } from 'react-native';\n\nimport MaterialCommunityIcon from '../MaterialCommunityIcon';\n\nconst AppbarBackIcon = ({ size, color }: { size: number; color: string }) => {\n const iosIconSize = size - 3;\n\n return Platform.OS === 'ios' ? (\n \n \n \n ) : (\n \n );\n};\n\nconst styles = StyleSheet.create({\n wrapper: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n icon: {\n resizeMode: 'contain',\n },\n});\n\nexport default AppbarBackIcon;\n\n// @component-docs ignore-next-line\nexport { AppbarBackIcon };\n","import * as React from 'react';\nimport type {\n GestureResponderEvent,\n StyleProp,\n ViewStyle,\n View,\n Animated,\n} from 'react-native';\n\nimport type { $Omit } from './../../types';\nimport AppbarAction from './AppbarAction';\nimport AppbarBackIcon from './AppbarBackIcon';\nimport { forwardRef } from '../../utils/forwardRef';\n\nexport type Props = $Omit<\n React.ComponentPropsWithoutRef,\n 'icon'\n> & {\n /**\n * Custom color for back icon.\n */\n color?: string;\n /**\n * Optional icon size.\n */\n size?: number;\n /**\n * Whether the button is disabled. A disabled button is greyed out and `onPress` is not called on touch.\n */\n disabled?: boolean;\n /**\n * Accessibility label for the button. This is read by the screen reader when the user taps the button.\n */\n accessibilityLabel?: string;\n /**\n * Function to execute on press.\n */\n onPress?: (e: GestureResponderEvent) => void;\n style?: Animated.WithAnimatedValue>;\n ref?: React.RefObject;\n};\n\n/**\n * A component used to display a back button in the appbar.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Appbar } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * \n * {}} />\n * \n * );\n *\n * export default MyComponent;\n * ```\n */\nconst AppbarBackAction = forwardRef(\n ({ accessibilityLabel = 'Back', ...rest }: Props, ref) => (\n \n )\n);\n\nAppbarBackAction.displayName = 'Appbar.BackAction';\n\nexport default AppbarBackAction;\n\n// @component-docs ignore-next-line\nexport { AppbarBackAction };\n","import * as React from 'react';\nimport {\n Animated,\n ColorValue,\n Platform,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { Appbar } from './Appbar';\nimport {\n DEFAULT_APPBAR_HEIGHT,\n getAppbarBackgroundColor,\n modeAppbarHeight,\n getAppbarBorders,\n} from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport shadow from '../../styles/shadow';\nimport type { ThemeProp } from '../../types';\n\nexport type Props = React.ComponentProps & {\n /**\n * Whether the background color is a dark color. A dark header will render light text and vice-versa.\n */\n dark?: boolean;\n /**\n * Extra padding to add at the top of header to account for translucent status bar.\n * This is automatically handled on iOS >= 11 including iPhone X using `SafeAreaView`.\n * If you are using Expo, we assume translucent status bar and set a height for status bar automatically.\n * Pass `0` or a custom value to disable the default behaviour, and customize the height.\n */\n statusBarHeight?: number;\n /**\n * Content of the header.\n */\n children: React.ReactNode;\n /**\n * @supported Available in v5.x with theme version 3\n *\n * Mode of the Appbar.\n * - `small` - Appbar with default height (64).\n * - `medium` - Appbar with medium height (112).\n * - `large` - Appbar with large height (152).\n * - `center-aligned` - Appbar with default height and center-aligned title.\n */\n mode?: 'small' | 'medium' | 'large' | 'center-aligned';\n /**\n * @supported Available in v5.x with theme version 3\n * Whether Appbar background should have the elevation along with primary color pigment.\n */\n elevated?: boolean;\n /**\n * @optional\n */\n theme?: ThemeProp;\n style?: Animated.WithAnimatedValue>;\n};\n\n/**\n * A component to use as a header at the top of the screen.\n * It can contain the screen title, controls such as navigation buttons, menu button etc.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Appbar } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const _goBack = () => console.log('Went back');\n *\n * const _handleSearch = () => console.log('Searching');\n *\n * const _handleMore = () => console.log('Shown more');\n *\n * return (\n * \n * \n * \n * \n * \n * \n * );\n * };\n *\n * export default MyComponent;\n * ```\n */\nconst AppbarHeader = ({\n // Don't use default props since we check it to know whether we should use SafeAreaView\n statusBarHeight,\n style,\n dark,\n mode = Platform.OS === 'ios' ? 'center-aligned' : 'small',\n elevated = false,\n theme: themeOverrides,\n testID = 'appbar-header',\n ...rest\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const { isV3 } = theme;\n\n const flattenedStyle = StyleSheet.flatten(style);\n const {\n height = isV3 ? modeAppbarHeight[mode] : DEFAULT_APPBAR_HEIGHT,\n elevation = isV3 ? (elevated ? 2 : 0) : 4,\n backgroundColor: customBackground,\n zIndex = isV3 && elevated ? 1 : 0,\n ...restStyle\n } = (flattenedStyle || {}) as Exclude & {\n height?: number;\n elevation?: number;\n backgroundColor?: ColorValue;\n zIndex?: number;\n };\n\n const borderRadius = getAppbarBorders(restStyle);\n\n const backgroundColor = getAppbarBackgroundColor(\n theme,\n elevation,\n customBackground,\n elevated\n );\n\n const { top, left, right } = useSafeAreaInsets();\n\n return (\n \n \n \n );\n};\n\nAppbarHeader.displayName = 'Appbar.Header';\n\nconst styles = StyleSheet.create({\n appbar: {\n elevation: 0,\n },\n});\n\nexport default AppbarHeader;\n\n// @component-docs ignore-next-line\nexport { AppbarHeader };\n","import AppbarComponent from './Appbar';\nimport AppbarAction from './AppbarAction';\nimport AppbarBackAction from './AppbarBackAction';\nimport AppbarContent from './AppbarContent';\nimport AppbarHeader from './AppbarHeader';\n\nconst Appbar = Object.assign(\n // @component ./Appbar.tsx\n AppbarComponent,\n {\n // @component ./AppbarContent.tsx\n Content: AppbarContent,\n // @component ./AppbarAction.tsx\n Action: AppbarAction,\n // @component ./AppbarBackAction.tsx\n BackAction: AppbarBackAction,\n // @component ./AppbarHeader.tsx\n Header: AppbarHeader,\n }\n);\n\nexport default Appbar;\n","import { StyleSheet } from 'react-native';\n\nimport color from 'color';\n\nimport { black, white } from '../../styles/themes/v2/colors';\nimport type { InternalTheme } from '../../types';\n\nexport type ButtonMode =\n | 'text'\n | 'outlined'\n | 'contained'\n | 'elevated'\n | 'contained-tonal';\n\ntype BaseProps = {\n isMode: (mode: ButtonMode) => boolean;\n theme: InternalTheme;\n disabled?: boolean;\n};\n\nconst isDark = ({\n dark,\n backgroundColor,\n}: {\n dark?: boolean;\n backgroundColor?: string;\n}) => {\n if (typeof dark === 'boolean') {\n return dark;\n }\n\n if (backgroundColor === 'transparent') {\n return false;\n }\n\n if (backgroundColor !== 'transparent') {\n return !color(backgroundColor).isLight();\n }\n\n return false;\n};\n\nconst getButtonBackgroundColor = ({\n isMode,\n theme,\n disabled,\n customButtonColor,\n}: BaseProps & {\n customButtonColor?: string;\n}) => {\n if (customButtonColor && !disabled) {\n return customButtonColor;\n }\n\n if (theme.isV3) {\n if (disabled) {\n if (isMode('outlined') || isMode('text')) {\n return 'transparent';\n }\n\n return theme.colors.surfaceDisabled;\n }\n\n if (isMode('elevated')) {\n return theme.colors.elevation.level1;\n }\n\n if (isMode('contained')) {\n return theme.colors.primary;\n }\n\n if (isMode('contained-tonal')) {\n return theme.colors.secondaryContainer;\n }\n }\n\n if (isMode('contained')) {\n if (disabled) {\n return color(theme.dark ? white : black)\n .alpha(0.12)\n .rgb()\n .string();\n }\n\n return theme.colors.primary;\n }\n\n return 'transparent';\n};\n\nconst getButtonTextColor = ({\n isMode,\n theme,\n disabled,\n customTextColor,\n backgroundColor,\n dark,\n}: BaseProps & {\n customTextColor?: string;\n backgroundColor: string;\n dark?: boolean;\n}) => {\n if (customTextColor && !disabled) {\n return customTextColor;\n }\n\n if (theme.isV3) {\n if (disabled) {\n return theme.colors.onSurfaceDisabled;\n }\n\n if (typeof dark === 'boolean') {\n if (\n isMode('contained') ||\n isMode('contained-tonal') ||\n isMode('elevated')\n ) {\n return isDark({ dark, backgroundColor }) ? white : black;\n }\n }\n\n if (isMode('outlined') || isMode('text') || isMode('elevated')) {\n return theme.colors.primary;\n }\n\n if (isMode('contained')) {\n return theme.colors.onPrimary;\n }\n\n if (isMode('contained-tonal')) {\n return theme.colors.onSecondaryContainer;\n }\n }\n\n if (disabled) {\n return color(theme.dark ? white : black)\n .alpha(0.32)\n .rgb()\n .string();\n }\n\n if (isMode('contained')) {\n return isDark({ dark, backgroundColor }) ? white : black;\n }\n\n return theme.colors.primary;\n};\n\nconst getButtonBorderColor = ({ isMode, disabled, theme }: BaseProps) => {\n if (theme.isV3) {\n if (disabled && isMode('outlined')) {\n return theme.colors.surfaceDisabled;\n }\n\n if (isMode('outlined')) {\n return theme.colors.outline;\n }\n }\n\n if (isMode('outlined')) {\n return color(theme.dark ? white : black)\n .alpha(0.29)\n .rgb()\n .string();\n }\n\n return 'transparent';\n};\n\nconst getButtonBorderWidth = ({\n isMode,\n theme,\n}: Omit) => {\n if (theme.isV3) {\n if (isMode('outlined')) {\n return 1;\n }\n }\n\n if (isMode('outlined')) {\n return StyleSheet.hairlineWidth;\n }\n\n return 0;\n};\n\nexport const getButtonColors = ({\n theme,\n mode,\n customButtonColor,\n customTextColor,\n disabled,\n dark,\n}: {\n theme: InternalTheme;\n mode: ButtonMode;\n customButtonColor?: string;\n customTextColor?: string;\n disabled?: boolean;\n dark?: boolean;\n}) => {\n const isMode = (modeToCompare: ButtonMode) => {\n return mode === modeToCompare;\n };\n\n const backgroundColor = getButtonBackgroundColor({\n isMode,\n theme,\n disabled,\n customButtonColor,\n });\n\n const textColor = getButtonTextColor({\n isMode,\n theme,\n disabled,\n customTextColor,\n backgroundColor,\n dark,\n });\n\n const borderColor = getButtonBorderColor({ isMode, theme, disabled });\n\n const borderWidth = getButtonBorderWidth({ isMode, theme });\n\n return {\n backgroundColor,\n borderColor,\n textColor,\n borderWidth,\n };\n};\n","import * as React from 'react';\nimport {\n Animated,\n ColorValue,\n GestureResponderEvent,\n Platform,\n StyleProp,\n StyleSheet,\n TextStyle,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport color from 'color';\n\nimport { ButtonMode, getButtonColors } from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport type { $Omit, ThemeProp } from '../../types';\nimport { forwardRef } from '../../utils/forwardRef';\nimport hasTouchHandler from '../../utils/hasTouchHandler';\nimport { splitStyles } from '../../utils/splitStyles';\nimport ActivityIndicator from '../ActivityIndicator';\nimport Icon, { IconSource } from '../Icon';\nimport Surface from '../Surface';\nimport TouchableRipple from '../TouchableRipple/TouchableRipple';\nimport Text from '../Typography/Text';\n\nexport type Props = $Omit, 'mode'> & {\n /**\n * Mode of the button. You can change the mode to adjust the styling to give it desired emphasis.\n * - `text` - flat button without background or outline, used for the lowest priority actions, especially when presenting multiple options.\n * - `outlined` - button with an outline without background, typically used for important, but not primary action – represents medium emphasis.\n * - `contained` - button with a background color, used for important action, have the most visual impact and high emphasis.\n * - `elevated` - button with a background color and elevation, used when absolutely necessary e.g. button requires visual separation from a patterned background. @supported Available in v5.x with theme version 3\n * - `contained-tonal` - button with a secondary background color, an alternative middle ground between contained and outlined buttons. @supported Available in v5.x with theme version 3\n */\n mode?: 'text' | 'outlined' | 'contained' | 'elevated' | 'contained-tonal';\n /**\n * Whether the color is a dark color. A dark button will render light text and vice-versa. Only applicable for:\n * * `contained` mode for theme version 2\n * * `contained`, `contained-tonal` and `elevated` modes for theme version 3.\n */\n dark?: boolean;\n /**\n * Use a compact look, useful for `text` buttons in a row.\n */\n compact?: boolean;\n /**\n * @deprecated Deprecated in v5.x - use `buttonColor` or `textColor` instead.\n * Custom text color for flat button, or background color for contained button.\n */\n color?: string;\n /**\n * Custom button's background color.\n */\n buttonColor?: string;\n /**\n * Custom button's text color.\n */\n textColor?: string;\n /**\n * Color of the ripple effect.\n */\n rippleColor?: ColorValue;\n /**\n * Whether to show a loading indicator.\n */\n loading?: boolean;\n /**\n * Icon to display for the `Button`.\n */\n icon?: IconSource;\n /**\n * Whether the button is disabled. A disabled button is greyed out and `onPress` is not called on touch.\n */\n disabled?: boolean;\n /**\n * Label text of the button.\n */\n children: React.ReactNode;\n /**\n * Make the label text uppercased. Note that this won't work if you pass React elements as children.\n */\n uppercase?: boolean;\n /**\n * Accessibility label for the button. This is read by the screen reader when the user taps the button.\n */\n accessibilityLabel?: string;\n /**\n * Accessibility hint for the button. This is read by the screen reader when the user taps the button.\n */\n accessibilityHint?: string;\n /**\n * Function to execute on press.\n */\n onPress?: (e: GestureResponderEvent) => void;\n /**\n * Function to execute as soon as the touchable element is pressed and invoked even before onPress.\n */\n onPressIn?: (e: GestureResponderEvent) => void;\n /**\n * Function to execute as soon as the touch is released even before onPress.\n */\n onPressOut?: (e: GestureResponderEvent) => void;\n /**\n * Function to execute on long press.\n */\n onLongPress?: (e: GestureResponderEvent) => void;\n /**\n * The number of milliseconds a user must touch the element before executing `onLongPress`.\n */\n delayLongPress?: number;\n /**\n * Style of button's inner content.\n * Use this prop to apply custom height and width and to set the icon on the right with `flexDirection: 'row-reverse'`.\n */\n contentStyle?: StyleProp;\n /**\n * Specifies the largest possible scale a text font can reach.\n */\n maxFontSizeMultiplier?: number;\n style?: Animated.WithAnimatedValue>;\n /**\n * Style for the button text.\n */\n labelStyle?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n /**\n * testID to be used on tests.\n */\n testID?: string;\n};\n\n/**\n * A button is component that the user can press to trigger an action.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Button } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * \n * );\n *\n * export default MyComponent;\n * ```\n */\nconst Button = (\n {\n disabled,\n compact,\n mode = 'text',\n dark,\n loading,\n icon,\n buttonColor: customButtonColor,\n textColor: customTextColor,\n rippleColor: customRippleColor,\n children,\n accessibilityLabel,\n accessibilityHint,\n onPress,\n onPressIn,\n onPressOut,\n onLongPress,\n delayLongPress,\n style,\n theme: themeOverrides,\n uppercase: uppercaseProp,\n contentStyle,\n labelStyle,\n testID = 'button',\n accessible,\n maxFontSizeMultiplier,\n ...rest\n }: Props,\n ref: React.ForwardedRef\n) => {\n const theme = useInternalTheme(themeOverrides);\n const isMode = React.useCallback(\n (modeToCompare: ButtonMode) => {\n return mode === modeToCompare;\n },\n [mode]\n );\n const { roundness, isV3, animation } = theme;\n const uppercase = uppercaseProp ?? !theme.isV3;\n\n const hasPassedTouchHandler = hasTouchHandler({\n onPress,\n onPressIn,\n onPressOut,\n onLongPress,\n });\n\n const isElevationEntitled =\n !disabled && (isV3 ? isMode('elevated') : isMode('contained'));\n const initialElevation = isV3 ? 1 : 2;\n const activeElevation = isV3 ? 2 : 8;\n\n const { current: elevation } = React.useRef(\n new Animated.Value(isElevationEntitled ? initialElevation : 0)\n );\n\n React.useEffect(() => {\n elevation.setValue(isElevationEntitled ? initialElevation : 0);\n }, [isElevationEntitled, elevation, initialElevation]);\n\n const handlePressIn = (e: GestureResponderEvent) => {\n onPressIn?.(e);\n if (isV3 ? isMode('elevated') : isMode('contained')) {\n const { scale } = animation;\n Animated.timing(elevation, {\n toValue: activeElevation,\n duration: 200 * scale,\n useNativeDriver:\n Platform.OS === 'web' ||\n Platform.constants.reactNativeVersion.minor <= 72,\n }).start();\n }\n };\n\n const handlePressOut = (e: GestureResponderEvent) => {\n onPressOut?.(e);\n if (isV3 ? isMode('elevated') : isMode('contained')) {\n const { scale } = animation;\n Animated.timing(elevation, {\n toValue: initialElevation,\n duration: 150 * scale,\n useNativeDriver:\n Platform.OS === 'web' ||\n Platform.constants.reactNativeVersion.minor <= 72,\n }).start();\n }\n };\n\n const flattenedStyles = (StyleSheet.flatten(style) || {}) as ViewStyle;\n const [, borderRadiusStyles] = splitStyles(\n flattenedStyles,\n (style) => style.startsWith('border') && style.endsWith('Radius')\n );\n\n const borderRadius = (isV3 ? 5 : 1) * roundness;\n const iconSize = isV3 ? 18 : 16;\n\n const { backgroundColor, borderColor, textColor, borderWidth } =\n getButtonColors({\n customButtonColor,\n customTextColor,\n theme,\n mode,\n disabled,\n dark,\n });\n\n const rippleColor =\n customRippleColor || color(textColor).alpha(0.12).rgb().string();\n\n const touchableStyle = {\n ...borderRadiusStyles,\n borderRadius: borderRadiusStyles.borderRadius ?? borderRadius,\n };\n\n const buttonStyle = {\n backgroundColor,\n borderColor,\n borderWidth,\n ...touchableStyle,\n };\n\n const { color: customLabelColor, fontSize: customLabelSize } =\n StyleSheet.flatten(labelStyle) || {};\n\n const font = isV3 ? theme.fonts.labelLarge : theme.fonts.medium;\n\n const textStyle = {\n color: textColor,\n ...font,\n };\n\n const iconStyle =\n StyleSheet.flatten(contentStyle)?.flexDirection === 'row-reverse'\n ? [\n styles.iconReverse,\n isV3 && styles[`md3IconReverse${compact ? 'Compact' : ''}`],\n isV3 &&\n isMode('text') &&\n styles[`md3IconReverseTextMode${compact ? 'Compact' : ''}`],\n ]\n : [\n styles.icon,\n isV3 && styles[`md3Icon${compact ? 'Compact' : ''}`],\n isV3 &&\n isMode('text') &&\n styles[`md3IconTextMode${compact ? 'Compact' : ''}`],\n ];\n\n return (\n \n \n \n {icon && loading !== true ? (\n \n \n \n ) : null}\n {loading ? (\n \n ) : null}\n \n {children}\n \n \n \n \n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n minWidth: 64,\n borderStyle: 'solid',\n },\n compact: {\n minWidth: 'auto',\n },\n content: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n icon: {\n marginLeft: 12,\n marginRight: -4,\n },\n iconReverse: {\n marginRight: 12,\n marginLeft: -4,\n },\n /* eslint-disable react-native/no-unused-styles */\n md3Icon: {\n marginLeft: 16,\n marginRight: -16,\n },\n md3IconCompact: {\n marginLeft: 8,\n marginRight: 0,\n },\n md3IconReverse: {\n marginLeft: -16,\n marginRight: 16,\n },\n md3IconReverseCompact: {\n marginLeft: 0,\n marginRight: 8,\n },\n md3IconTextMode: {\n marginLeft: 12,\n marginRight: -8,\n },\n md3IconTextModeCompact: {\n marginLeft: 6,\n marginRight: 0,\n },\n md3IconReverseTextMode: {\n marginLeft: -8,\n marginRight: 12,\n },\n md3IconReverseTextModeCompact: {\n marginLeft: 0,\n marginRight: 6,\n },\n /* eslint-enable react-native/no-unused-styles */\n label: {\n textAlign: 'center',\n marginVertical: 9,\n marginHorizontal: 16,\n },\n md2Label: {\n letterSpacing: 1,\n },\n compactLabel: {\n marginHorizontal: 8,\n },\n uppercaseLabel: {\n textTransform: 'uppercase',\n },\n md3Label: {\n marginVertical: 10,\n marginHorizontal: 24,\n },\n md3LabelText: {\n marginHorizontal: 12,\n },\n md3LabelTextAddons: {\n marginHorizontal: 16,\n },\n});\n\nexport default forwardRef(Button);\n","import * as React from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport type { ThemeProp } from 'src/types';\n\nimport { useInternalTheme } from '../../core/theming';\n\nexport type Props = React.ComponentPropsWithRef & {\n /**\n * Items inside the `CardActions`.\n */\n children: React.ReactNode;\n style?: StyleProp;\n theme?: ThemeProp;\n};\n\n/**\n * A component to show a list of actions inside a Card.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Card, Button } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * \n * \n * \n * \n * \n * \n * );\n *\n * export default MyComponent;\n * ```\n */\nconst CardActions = (props: Props) => {\n const { isV3 } = useInternalTheme(props.theme);\n const justifyContent = isV3 ? 'flex-end' : 'flex-start';\n\n return (\n \n {React.Children.map(props.children, (child, i) => {\n return React.isValidElement(child)\n ? React.cloneElement(child as React.ReactElement, {\n compact: !isV3 && child.props.compact !== false,\n mode:\n child.props.mode ||\n (isV3 && (i === 0 ? 'outlined' : 'contained')),\n style: [isV3 && styles.button, child.props.style],\n })\n : child;\n })}\n \n );\n};\n\nCardActions.displayName = 'Card.Actions';\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 8,\n },\n button: {\n marginLeft: 8,\n },\n});\n\nexport default CardActions;\n","import * as React from 'react';\nimport { StyleSheet, StyleProp, View, ViewStyle } from 'react-native';\n\nexport type Props = React.ComponentPropsWithRef & {\n /**\n * Items inside the `Card.Content`.\n */\n children: React.ReactNode;\n /**\n * @internal\n */\n index?: number;\n /**\n * @internal\n */\n total?: number;\n /**\n * @internal\n */\n siblings?: Array;\n style?: StyleProp;\n};\n\n/**\n * A component to show content inside a Card.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Card, Text } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * \n * \n * Card title\n * Card content\n * \n * \n * );\n *\n * export default MyComponent;\n * ```\n */\nconst CardContent = ({ index, total, siblings, style, ...rest }: Props) => {\n const cover = 'withInternalTheme(CardCover)';\n const title = 'withInternalTheme(CardTitle)';\n\n let contentStyle, prev, next;\n\n if (typeof index === 'number' && siblings) {\n prev = siblings[index - 1];\n next = siblings[index + 1];\n }\n\n if (\n (prev === cover && next === cover) ||\n (prev === title && next === title) ||\n total === 1\n ) {\n contentStyle = styles.only;\n } else if (index === 0) {\n if (next === cover || next === title) {\n contentStyle = styles.only;\n } else {\n contentStyle = styles.first;\n }\n } else if (typeof total === 'number' && index === total - 1) {\n if (prev === cover || prev === title) {\n contentStyle = styles.only;\n } else {\n contentStyle = styles.last;\n }\n } else if (prev === cover || prev === title) {\n contentStyle = styles.first;\n } else if (next === cover || next === title) {\n contentStyle = styles.last;\n }\n\n return ;\n};\n\nCardContent.displayName = 'Card.Content';\n\nconst styles = StyleSheet.create({\n container: {\n paddingHorizontal: 16,\n },\n first: {\n paddingTop: 16,\n },\n last: {\n paddingBottom: 16,\n },\n only: {\n paddingVertical: 16,\n },\n});\n\nexport default CardContent;\n","import type { ViewStyle } from 'react-native';\n\nimport color from 'color';\n\nimport { black, white } from '../../styles/themes/v2/colors';\nimport type { InternalTheme } from '../../types';\n\ntype CardMode = 'elevated' | 'outlined' | 'contained';\n\ntype BorderRadiusStyles = Pick<\n ViewStyle,\n Extract\n>;\n\nexport const getCardCoverStyle = ({\n theme,\n index,\n total,\n borderRadiusStyles,\n}: {\n theme: InternalTheme;\n borderRadiusStyles: BorderRadiusStyles;\n index?: number;\n total?: number;\n}) => {\n const { isV3, roundness } = theme;\n\n if (Object.keys(borderRadiusStyles).length > 0) {\n return {\n borderRadius: 3 * roundness,\n ...borderRadiusStyles,\n };\n }\n\n if (isV3) {\n return {\n borderRadius: 3 * roundness,\n };\n }\n\n if (index === 0) {\n if (total === 1) {\n return {\n borderRadius: roundness,\n };\n }\n\n return {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n };\n }\n\n if (typeof total === 'number' && index === total - 1) {\n return {\n borderBottomLeftRadius: roundness,\n };\n }\n\n return undefined;\n};\n\nconst getBorderColor = ({ theme }: { theme: InternalTheme }) => {\n if (theme.isV3) {\n return theme.colors.outline;\n }\n\n if (theme.dark) {\n return color(white).alpha(0.12).rgb().string();\n }\n return color(black).alpha(0.12).rgb().string();\n};\n\nconst getBackgroundColor = ({\n theme,\n isMode,\n}: {\n theme: InternalTheme;\n isMode: (mode: CardMode) => boolean;\n}) => {\n if (theme.isV3) {\n if (isMode('contained')) {\n return theme.colors.surfaceVariant;\n }\n if (isMode('outlined')) {\n return theme.colors.surface;\n }\n }\n return undefined;\n};\n\nexport const getCardColors = ({\n theme,\n mode,\n}: {\n theme: InternalTheme;\n mode: CardMode;\n}) => {\n const isMode = (modeToCompare: CardMode) => {\n return mode === modeToCompare;\n };\n\n return {\n backgroundColor: getBackgroundColor({\n theme,\n isMode,\n }),\n borderColor: getBorderColor({ theme }),\n };\n};\n","import * as React from 'react';\nimport { Image, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\n\nimport { getCardCoverStyle } from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport { grey200 } from '../../styles/themes/v2/colors';\nimport type { ThemeProp } from '../../types';\nimport { splitStyles } from '../../utils/splitStyles';\n\nexport type Props = React.ComponentPropsWithRef & {\n /**\n * @internal\n */\n index?: number;\n /**\n * @internal\n */\n total?: number;\n style?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\n/**\n * A component to show a cover image inside a Card.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Card } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * \n * \n * \n * );\n *\n * export default MyComponent;\n * ```\n *\n * @extends Image props https://reactnative.dev/docs/image#props\n */\nconst CardCover = ({\n index,\n total,\n style,\n theme: themeOverrides,\n ...rest\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n\n const flattenedStyles = (StyleSheet.flatten(style) || {}) as ViewStyle;\n const [, borderRadiusStyles] = splitStyles(\n flattenedStyles,\n (style) => style.startsWith('border') && style.endsWith('Radius')\n );\n\n const coverStyle = getCardCoverStyle({\n theme,\n index,\n total,\n borderRadiusStyles,\n });\n\n return (\n \n \n \n );\n};\n\nCardCover.displayName = 'Card.Cover';\nconst styles = StyleSheet.create({\n container: {\n height: 195,\n backgroundColor: grey200,\n overflow: 'hidden',\n },\n image: {\n flex: 1,\n height: undefined,\n width: undefined,\n padding: 16,\n justifyContent: 'flex-end',\n },\n});\n\nexport default CardCover;\n\n// @component-docs ignore-next-line\nexport { CardCover };\n","import * as React from 'react';\nimport { Text, TextStyle, StyleSheet, StyleProp } from 'react-native';\n\nimport StyledText from './StyledText';\n\nexport type Props = React.ComponentProps & {\n style?: StyleProp;\n children: React.ReactNode;\n};\n\n// @component-group Typography\n\n/**\n * Typography component for showing a caption.\n *\n *
\n * \n *
\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Caption } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * Caption\n * );\n *\n * export default MyComponent;\n * ```\n */\nconst Caption = (props: Props) => (\n \n);\n\nexport default Caption;\n\nconst styles = StyleSheet.create({\n text: {\n fontSize: 12,\n lineHeight: 20,\n marginVertical: 2,\n letterSpacing: 0.4,\n },\n});\n","import * as React from 'react';\nimport {\n StyleProp,\n StyleSheet,\n TextStyle,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport { useInternalTheme } from '../../core/theming';\nimport type { MD3TypescaleKey, ThemeProp } from '../../types';\nimport Text from '../Typography/Text';\nimport Caption from '../Typography/v2/Caption';\nimport Title from '../Typography/v2/Title';\n\nexport type Props = React.ComponentPropsWithRef & {\n /**\n * Text for the title. Note that this will only accept a string or ``-based node.\n */\n title: React.ReactNode;\n /**\n * Style for the title.\n */\n titleStyle?: StyleProp;\n /**\n * Number of lines for the title.\n */\n titleNumberOfLines?: number;\n /**\n * @supported Available in v5.x with theme version 3\n *\n * Title text variant defines appropriate text styles for type role and its size.\n * Available variants:\n *\n * Display: `displayLarge`, `displayMedium`, `displaySmall`\n *\n * Headline: `headlineLarge`, `headlineMedium`, `headlineSmall`\n *\n * Title: `titleLarge`, `titleMedium`, `titleSmall`\n *\n * Label: `labelLarge`, `labelMedium`, `labelSmall`\n *\n * Body: `bodyLarge`, `bodyMedium`, `bodySmall`\n */\n titleVariant?: keyof typeof MD3TypescaleKey;\n /**\n * Text for the subtitle. Note that this will only accept a string or ``-based node.\n */\n subtitle?: React.ReactNode;\n /**\n * Style for the subtitle.\n */\n subtitleStyle?: StyleProp;\n /**\n * Number of lines for the subtitle.\n */\n subtitleNumberOfLines?: number;\n /**\n * @supported Available in v5.x with theme version 3\n *\n * Subtitle text variant defines appropriate text styles for type role and its size.\n * Available variants:\n *\n * Display: `displayLarge`, `displayMedium`, `displaySmall`\n *\n * Headline: `headlineLarge`, `headlineMedium`, `headlineSmall`\n *\n * Title: `titleLarge`, `titleMedium`, `titleSmall`\n *\n * Label: `labelLarge`, `labelMedium`, `labelSmall`\n *\n * Body: `bodyLarge`, `bodyMedium`, `bodySmall`\n */\n subtitleVariant?: keyof typeof MD3TypescaleKey;\n /**\n * Callback which returns a React element to display on the left side.\n */\n left?: (props: { size: number }) => React.ReactNode;\n /**\n * Style for the left element wrapper.\n */\n leftStyle?: StyleProp;\n /**\n * Callback which returns a React element to display on the right side.\n */\n right?: (props: { size: number }) => React.ReactNode;\n /**\n * Style for the right element wrapper.\n */\n rightStyle?: StyleProp;\n /**\n * @internal\n */\n index?: number;\n /**\n * @internal\n */\n total?: number;\n /**\n * Specifies the largest possible scale a title font can reach.\n */\n titleMaxFontSizeMultiplier?: number;\n /**\n * Specifies the largest possible scale a subtitle font can reach.\n */\n subtitleMaxFontSizeMultiplier?: number;\n style?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\nconst LEFT_SIZE = 40;\n\n/**\n * A component to show a title, subtitle and an avatar inside a Card.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Avatar, Card, IconButton } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * }\n * right={(props) => {}} />}\n * />\n * );\n *\n * export default MyComponent;\n * ```\n */\nconst CardTitle = ({\n title,\n titleStyle,\n titleNumberOfLines = 1,\n titleVariant = 'bodyLarge',\n titleMaxFontSizeMultiplier,\n subtitle,\n subtitleStyle,\n subtitleNumberOfLines = 1,\n subtitleVariant = 'bodyMedium',\n subtitleMaxFontSizeMultiplier,\n left,\n leftStyle,\n right,\n rightStyle,\n style,\n theme: themeOverrides,\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const TitleComponent = theme.isV3 ? Text : Title;\n const SubtitleComponent = theme.isV3 ? Text : Caption;\n\n const minHeight = subtitle || left || right ? 72 : 50;\n const marginBottom = subtitle ? 0 : 2;\n\n return (\n \n {left ? (\n \n {left({\n size: LEFT_SIZE,\n })}\n \n ) : null}\n\n \n {title && (\n \n {title}\n \n )}\n {subtitle && (\n \n {subtitle}\n \n )}\n \n {right ? right({ size: 24 }) : null}\n \n );\n};\n\nCardTitle.displayName = 'Card.Title';\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingLeft: 16,\n },\n\n left: {\n justifyContent: 'center',\n marginRight: 16,\n height: LEFT_SIZE,\n width: LEFT_SIZE,\n },\n\n titles: {\n flex: 1,\n flexDirection: 'column',\n justifyContent: 'center',\n },\n\n title: {\n minHeight: 30,\n paddingRight: 16,\n },\n\n subtitle: {\n minHeight: 20,\n marginVertical: 0,\n paddingRight: 16,\n },\n});\n\nexport default CardTitle;\n\n// @component-docs ignore-next-line\nexport { CardTitle };\n","import * as React from 'react';\nimport {\n Animated,\n GestureResponderEvent,\n StyleProp,\n StyleSheet,\n Pressable,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport useLatestCallback from 'use-latest-callback';\n\nimport CardActions from './CardActions';\nimport CardContent from './CardContent';\nimport CardCover from './CardCover';\nimport CardTitle from './CardTitle';\nimport { getCardColors } from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport type { $Omit, ThemeProp } from '../../types';\nimport hasTouchHandler from '../../utils/hasTouchHandler';\nimport { splitStyles } from '../../utils/splitStyles';\nimport Surface from '../Surface';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\ntype OutlinedCardProps = {\n mode: 'outlined';\n elevation?: never;\n};\n\ntype ElevatedCardProps = {\n mode?: 'elevated';\n elevation?: number;\n};\n\ntype ContainedCardProps = {\n mode?: 'contained';\n elevation?: never;\n};\n\ntype HandlePressType = 'in' | 'out';\n\ntype Mode = 'elevated' | 'outlined' | 'contained';\n\nexport type Props = $Omit, 'mode'> & {\n /**\n * Mode of the Card.\n * - `elevated` - Card with elevation.\n * - `contained` - Card without outline and elevation @supported Available in v5.x with theme version 3\n * - `outlined` - Card with an outline.\n */\n mode?: Mode;\n /**\n * Content of the `Card`.\n */\n children: React.ReactNode;\n /**\n * Function to execute on long press.\n */\n onLongPress?: () => void;\n /**\n * Function to execute on press.\n */\n onPress?: (e: GestureResponderEvent) => void;\n /**\n * Function to execute as soon as the touchable element is pressed and invoked even before onPress.\n */\n onPressIn?: (e: GestureResponderEvent) => void;\n /**\n * Function to execute as soon as the touch is released even before onPress.\n */\n onPressOut?: (e: GestureResponderEvent) => void;\n /**\n * The number of milliseconds a user must touch the element before executing `onLongPress`.\n */\n delayLongPress?: number;\n /**\n * If true, disable all interactions for this component.\n */\n disabled?: boolean;\n /**\n * Changes Card shadow and background on iOS and Android.\n */\n elevation?: 0 | 1 | 2 | 3 | 4 | 5 | Animated.Value;\n /**\n * Style of card's inner content.\n */\n contentStyle?: StyleProp;\n style?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n /**\n * Pass down testID from card props to touchable\n */\n testID?: string;\n /**\n * Pass down accessible from card props to touchable\n */\n accessible?: boolean;\n};\n\n/**\n * A card is a sheet of material that serves as an entry point to more detailed information.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Avatar, Button, Card, Text } from 'react-native-paper';\n *\n * const LeftContent = props => \n *\n * const MyComponent = () => (\n * \n * \n * \n * Card title\n * Card content\n * \n * \n * \n * \n * \n * \n * \n * );\n *\n * export default MyComponent;\n * ```\n */\nconst Card = ({\n elevation: cardElevation = 1,\n delayLongPress,\n onPress,\n onLongPress,\n onPressOut,\n onPressIn,\n mode: cardMode = 'elevated',\n children,\n style,\n contentStyle,\n theme: themeOverrides,\n testID = 'card',\n accessible,\n disabled,\n ...rest\n}: (OutlinedCardProps | ElevatedCardProps | ContainedCardProps) & Props) => {\n const theme = useInternalTheme(themeOverrides);\n const isMode = React.useCallback(\n (modeToCompare: Mode) => {\n return cardMode === modeToCompare;\n },\n [cardMode]\n );\n\n const hasPassedTouchHandler = hasTouchHandler({\n onPress,\n onLongPress,\n onPressIn,\n onPressOut,\n });\n\n // Default animated value\n const { current: elevation } = React.useRef(\n new Animated.Value(cardElevation)\n );\n // Dark adaptive animated value, used in case of toggling the theme,\n // it prevents animating the background with native drivers inside Surface\n const { current: elevationDarkAdaptive } = React.useRef(\n new Animated.Value(cardElevation)\n );\n const { animation, dark, mode, roundness, isV3 } = theme;\n\n const prevDarkRef = React.useRef(dark);\n React.useEffect(() => {\n prevDarkRef.current = dark;\n });\n\n const prevDark = prevDarkRef.current;\n const isAdaptiveMode = mode === 'adaptive';\n const animationDuration = 150 * animation.scale;\n\n React.useEffect(() => {\n /**\n * Resets animations values if updating to dark adaptive mode,\n * otherwise, any card that is in the middle of animation while\n * toggling the theme will stay at that animated value until\n * the next press-in\n */\n if (dark && isAdaptiveMode && !prevDark) {\n elevation.setValue(cardElevation);\n elevationDarkAdaptive.setValue(cardElevation);\n }\n }, [\n prevDark,\n dark,\n isAdaptiveMode,\n cardElevation,\n elevation,\n elevationDarkAdaptive,\n ]);\n\n const runElevationAnimation = (pressType: HandlePressType) => {\n const isPressTypeIn = pressType === 'in';\n if (dark && isAdaptiveMode) {\n Animated.timing(elevationDarkAdaptive, {\n toValue: isPressTypeIn ? (isV3 ? 2 : 8) : cardElevation,\n duration: animationDuration,\n useNativeDriver: false,\n }).start();\n } else {\n Animated.timing(elevation, {\n toValue: isPressTypeIn ? (isV3 ? 2 : 8) : cardElevation,\n duration: animationDuration,\n useNativeDriver: false,\n }).start();\n }\n };\n\n const handlePressIn = useLatestCallback((e: GestureResponderEvent) => {\n onPressIn?.(e);\n runElevationAnimation('in');\n });\n\n const handlePressOut = useLatestCallback((e: GestureResponderEvent) => {\n onPressOut?.(e);\n runElevationAnimation('out');\n });\n\n const total = React.Children.count(children);\n const siblings = React.Children.map(children, (child) =>\n React.isValidElement(child) && child.type\n ? (child.type as any).displayName\n : null\n );\n const computedElevation =\n dark && isAdaptiveMode ? elevationDarkAdaptive : elevation;\n\n const { backgroundColor, borderColor: themedBorderColor } = getCardColors({\n theme,\n mode: cardMode,\n });\n\n const flattenedStyles = (StyleSheet.flatten(style) || {}) as ViewStyle;\n\n const { borderColor = themedBorderColor } = flattenedStyles;\n\n const [, borderRadiusStyles] = splitStyles(\n flattenedStyles,\n (style) => style.startsWith('border') && style.endsWith('Radius')\n );\n\n const borderRadiusCombinedStyles = {\n borderRadius: (isV3 ? 3 : 1) * roundness,\n ...borderRadiusStyles,\n };\n\n const content = (\n \n {React.Children.map(children, (child, index) =>\n React.isValidElement(child)\n ? React.cloneElement(child as React.ReactElement, {\n index,\n total,\n siblings,\n borderRadiusStyles,\n })\n : child\n )}\n \n );\n\n return (\n \n {isMode('outlined') && (\n \n )}\n\n {hasPassedTouchHandler ? (\n \n {content}\n \n ) : (\n content\n )}\n \n );\n};\n\n// @component ./CardContent.tsx\nCard.Content = CardContent;\n// @component ./CardActions.tsx\nCard.Actions = CardActions;\n// @component ./CardCover.tsx\nCard.Cover = CardCover;\n// @component ./CardTitle.tsx\nCard.Title = CardTitle;\n\nconst styles = StyleSheet.create({\n innerContainer: {\n flexShrink: 1,\n },\n outline: {\n borderWidth: 1,\n position: 'absolute',\n width: '100%',\n height: '100%',\n zIndex: 2,\n },\n resetElevation: {\n elevation: 0,\n },\n});\n\nexport default Card;\n","import * as React from 'react';\nimport {\n Animated,\n LayoutChangeEvent,\n StyleProp,\n StyleSheet,\n TextStyle,\n} from 'react-native';\n\nimport { getTextColor } from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport type { $Omit, ThemeProp } from '../../types';\nimport AnimatedText from '../Typography/AnimatedText';\n\nexport type Props = $Omit<\n $Omit, 'padding'>,\n 'type'\n> & {\n /**\n * Type of the helper text.\n */\n type: 'error' | 'info';\n /**\n * Text content of the HelperText.\n */\n children: React.ReactNode;\n /**\n * Whether to display the helper text.\n */\n visible?: boolean;\n /**\n * Whether to apply padding to the helper text.\n */\n padding?: 'none' | 'normal';\n /**\n * Whether the text input tied with helper text is disabled.\n */\n disabled?: boolean;\n style?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n /**\n * TestID used for testing purposes\n */\n testID?: string;\n};\n\n/**\n * Helper text is used in conjuction with input elements to provide additional hints for the user.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { View } from 'react-native';\n * import { HelperText, TextInput } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [text, setText] = React.useState('');\n *\n * const onChangeText = text => setText(text);\n *\n * const hasErrors = () => {\n * return !text.includes('@');\n * };\n *\n * return (\n * \n * \n * \n * Email address is invalid!\n * \n * \n * );\n * };\n *\n * export default MyComponent;\n * ```\n */\nconst HelperText = ({\n style,\n type = 'info',\n visible = true,\n theme: themeOverrides,\n onLayout,\n padding = 'normal',\n disabled,\n ...rest\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const { current: shown } = React.useRef(\n new Animated.Value(visible ? 1 : 0)\n );\n\n let { current: textHeight } = React.useRef(0);\n\n const { scale } = theme.animation;\n\n const { maxFontSizeMultiplier = 1.5 } = rest;\n\n React.useEffect(() => {\n if (visible) {\n // show text\n Animated.timing(shown, {\n toValue: 1,\n duration: 150 * scale,\n useNativeDriver: true,\n }).start();\n } else {\n // hide text\n Animated.timing(shown, {\n toValue: 0,\n duration: 180 * scale,\n useNativeDriver: true,\n }).start();\n }\n }, [visible, scale, shown]);\n\n const handleTextLayout = (e: LayoutChangeEvent) => {\n onLayout?.(e);\n textHeight = e.nativeEvent.layout.height;\n };\n\n const textColor = getTextColor({ theme, disabled, type });\n\n return (\n \n {rest.children}\n \n );\n};\n\nconst styles = StyleSheet.create({\n text: {\n fontSize: 12,\n paddingVertical: 4,\n },\n padding: {\n paddingHorizontal: 12,\n },\n});\n\nexport default HelperText;\n","import color from 'color';\n\nimport type { InternalTheme } from '../../types';\n\ntype BaseProps = {\n theme: InternalTheme;\n disabled?: boolean;\n type?: 'error' | 'info';\n};\n\nexport function getTextColor({ theme, disabled, type }: BaseProps) {\n const { colors, dark } = theme;\n\n if (type === 'error') {\n return colors?.error;\n }\n\n if (theme.isV3) {\n if (disabled) {\n return theme.colors.onSurfaceDisabled;\n } else {\n return theme.colors.onSurfaceVariant;\n }\n }\n\n return color(theme?.colors?.text)\n .alpha(dark ? 0.7 : 0.54)\n .rgb()\n .string();\n}\n","import * as React from 'react';\nimport {\n I18nManager,\n Image,\n ImageSourcePropType,\n Platform,\n} from 'react-native';\n\nimport { accessibilityProps } from './MaterialCommunityIcon';\nimport { Consumer as SettingsConsumer } from '../core/settings';\nimport { useInternalTheme } from '../core/theming';\nimport type { ThemeProp } from '../types';\n\ntype IconSourceBase = string | ImageSourcePropType;\n\nexport type IconSource =\n | IconSourceBase\n | Readonly<{ source: IconSourceBase; direction: 'rtl' | 'ltr' | 'auto' }>\n | ((props: IconProps & { color: string }) => React.ReactNode);\n\ntype IconProps = {\n /**\n * Size of icon.\n */\n size: number;\n allowFontScaling?: boolean;\n};\n\nconst isImageSource = (source: any) =>\n // source is an object with uri\n (typeof source === 'object' &&\n source !== null &&\n Object.prototype.hasOwnProperty.call(source, 'uri') &&\n typeof source.uri === 'string') ||\n // source is a module, e.g. - require('image')\n typeof source === 'number' ||\n // image url on web\n (Platform.OS === 'web' &&\n typeof source === 'string' &&\n (source.startsWith('data:image') ||\n /\\.(bmp|jpg|jpeg|png|gif|svg)$/.test(source)));\n\nconst getIconId = (source: any) => {\n if (\n typeof source === 'object' &&\n source !== null &&\n Object.prototype.hasOwnProperty.call(source, 'uri') &&\n typeof source.uri === 'string'\n ) {\n return source.uri;\n }\n\n return source;\n};\n\nexport const isValidIcon = (source: any) =>\n typeof source === 'string' ||\n typeof source === 'function' ||\n isImageSource(source);\n\nexport const isEqualIcon = (a: any, b: any) =>\n a === b || getIconId(a) === getIconId(b);\n\nexport type Props = IconProps & {\n /**\n * Icon to display.\n */\n source: any;\n /**\n * Color of the icon.\n */\n color?: string;\n /**\n * TestID used for testing purposes\n */\n testID?: string;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\n/**\n * An icon component which renders icon from vector library.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Icon, MD3Colors } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * \n * );\n *\n * export default MyComponent;\n * ```\n */\n\nconst Icon = ({\n source,\n color,\n size,\n theme: themeOverrides,\n testID,\n ...rest\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const direction =\n typeof source === 'object' && source.direction && source.source\n ? source.direction === 'auto'\n ? I18nManager.getConstants().isRTL\n ? 'rtl'\n : 'ltr'\n : source.direction\n : null;\n\n const s =\n typeof source === 'object' && source.direction && source.source\n ? source.source\n : source;\n const iconColor =\n color || (theme.isV3 ? theme.colors.onSurface : theme.colors.text);\n\n if (isImageSource(s)) {\n return (\n \n );\n } else if (typeof s === 'string') {\n return (\n \n {({ icon }) => {\n return icon?.({\n name: s,\n color: iconColor,\n size,\n direction,\n testID,\n });\n }}\n \n );\n } else if (typeof s === 'function') {\n return s({ color: iconColor, size, direction, testID });\n }\n\n return null;\n};\n\nexport default Icon;\n","import type { ColorValue } from 'react-native';\n\nimport color from 'color';\n\nimport type { InternalTheme } from '../../types';\n\ntype IconButtonMode = 'outlined' | 'contained' | 'contained-tonal';\n\ntype BaseProps = {\n theme: InternalTheme;\n isMode: (mode: IconButtonMode) => boolean;\n disabled?: boolean;\n selected?: boolean;\n};\n\nconst getBorderColor = ({\n theme,\n disabled,\n}: {\n theme: InternalTheme;\n disabled?: boolean;\n}) => {\n if (theme.isV3) {\n if (disabled) {\n return theme.colors.surfaceDisabled;\n }\n\n return theme.colors.outline;\n }\n\n return undefined;\n};\n\nconst getBackgroundColor = ({\n theme,\n isMode,\n disabled,\n selected,\n customContainerColor,\n}: BaseProps & { customContainerColor?: string }) => {\n if (theme.isV3) {\n if (disabled) {\n if (isMode('contained') || isMode('contained-tonal')) {\n return theme.colors.surfaceDisabled;\n }\n }\n\n if (typeof customContainerColor !== 'undefined') {\n return customContainerColor;\n }\n\n if (isMode('contained')) {\n if (selected) {\n return theme.colors.primary;\n }\n return theme.colors.surfaceVariant;\n }\n\n if (isMode('contained-tonal')) {\n if (selected) {\n return theme.colors.secondaryContainer;\n }\n return theme.colors.surfaceVariant;\n }\n\n if (isMode('outlined')) {\n if (selected) {\n return theme.colors.inverseSurface;\n }\n }\n }\n\n if (typeof customContainerColor !== 'undefined') {\n return customContainerColor;\n }\n\n return undefined;\n};\n\nconst getIconColor = ({\n theme,\n isMode,\n disabled,\n selected,\n customIconColor,\n}: BaseProps & { customIconColor?: string }) => {\n if (theme.isV3) {\n if (disabled) {\n return theme.colors.onSurfaceDisabled;\n }\n\n if (typeof customIconColor !== 'undefined') {\n return customIconColor;\n }\n\n if (isMode('contained')) {\n if (selected) {\n return theme.colors.onPrimary;\n }\n return theme.colors.primary;\n }\n\n if (isMode('contained-tonal')) {\n if (selected) {\n return theme.colors.onSecondaryContainer;\n }\n return theme.colors.onSurfaceVariant;\n }\n\n if (isMode('outlined')) {\n if (selected) {\n return theme.colors.inverseOnSurface;\n }\n return theme.colors.onSurfaceVariant;\n }\n\n if (selected) {\n return theme.colors.primary;\n }\n return theme.colors.onSurfaceVariant;\n }\n\n if (typeof customIconColor !== 'undefined') {\n return customIconColor;\n }\n\n return theme.colors.text;\n};\n\nconst getRippleColor = ({\n theme,\n iconColor,\n customRippleColor,\n}: {\n theme: InternalTheme;\n iconColor: string;\n customRippleColor?: ColorValue;\n}) => {\n if (customRippleColor) {\n return customRippleColor;\n }\n if (theme.isV3) {\n return color(iconColor).alpha(0.12).rgb().string();\n }\n return color(iconColor).alpha(0.32).rgb().string();\n};\n\nexport const getIconButtonColor = ({\n theme,\n disabled,\n mode,\n selected,\n customIconColor,\n customContainerColor,\n customRippleColor,\n}: {\n theme: InternalTheme;\n disabled?: boolean;\n selected?: boolean;\n mode?: IconButtonMode;\n customIconColor?: string;\n customContainerColor?: string;\n customRippleColor?: ColorValue;\n}) => {\n const isMode = (modeToCompare: IconButtonMode) => {\n return mode === modeToCompare;\n };\n\n const baseIconColorProps = {\n theme,\n isMode,\n disabled,\n selected,\n };\n\n const iconColor = getIconColor({\n ...baseIconColorProps,\n customIconColor,\n });\n\n return {\n iconColor,\n backgroundColor: getBackgroundColor({\n ...baseIconColorProps,\n customContainerColor,\n }),\n rippleColor: getRippleColor({ theme, iconColor, customRippleColor }),\n borderColor: getBorderColor({ theme, disabled }),\n };\n};\n","import * as React from 'react';\nimport { Animated, StyleSheet, View } from 'react-native';\n\nimport Icon, { IconSource, isEqualIcon, isValidIcon } from './Icon';\nimport { useInternalTheme } from '../core/theming';\nimport type { ThemeProp } from '../types';\n\ntype Props = {\n /**\n * Icon to display for the `CrossFadeIcon`.\n */\n source: IconSource;\n /**\n * Color of the icon.\n */\n color: string;\n /**\n * Size of the icon.\n */\n size: number;\n /**\n * TestID used for testing purposes\n */\n testID?: string;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\nconst CrossFadeIcon = ({\n color,\n size,\n source,\n theme: themeOverrides,\n testID = 'cross-fade-icon',\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const [currentIcon, setCurrentIcon] = React.useState(\n () => source\n );\n const [previousIcon, setPreviousIcon] = React.useState(\n null\n );\n const { current: fade } = React.useRef(new Animated.Value(1));\n\n const { scale } = theme.animation;\n\n if (currentIcon !== source) {\n setPreviousIcon(() => currentIcon);\n setCurrentIcon(() => source);\n }\n\n React.useEffect(() => {\n if (isValidIcon(previousIcon) && !isEqualIcon(previousIcon, currentIcon)) {\n fade.setValue(1);\n\n Animated.timing(fade, {\n duration: scale * 200,\n toValue: 0,\n useNativeDriver: true,\n }).start();\n }\n }, [currentIcon, previousIcon, fade, scale]);\n\n const opacityPrev = fade;\n const opacityNext = previousIcon\n ? fade.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 0],\n })\n : 1;\n\n const rotatePrev = fade.interpolate({\n inputRange: [0, 1],\n outputRange: ['-90deg', '0deg'],\n });\n\n const rotateNext = previousIcon\n ? fade.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '-180deg'],\n })\n : '0deg';\n\n return (\n \n {previousIcon ? (\n \n \n \n ) : null}\n \n \n \n
\n );\n};\n\nexport default CrossFadeIcon;\n\nconst styles = StyleSheet.create({\n content: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n icon: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n});\n","import * as React from 'react';\nimport {\n GestureResponderEvent,\n StyleProp,\n StyleSheet,\n ViewStyle,\n View,\n Animated,\n ColorValue,\n} from 'react-native';\n\nimport { getIconButtonColor } from './utils';\nimport { useInternalTheme } from '../../core/theming';\nimport type { $RemoveChildren, ThemeProp } from '../../types';\nimport { forwardRef } from '../../utils/forwardRef';\nimport CrossFadeIcon from '../CrossFadeIcon';\nimport Icon, { IconSource } from '../Icon';\nimport Surface from '../Surface';\nimport TouchableRipple from '../TouchableRipple/TouchableRipple';\n\nconst PADDING = 8;\n\ntype IconButtonMode = 'outlined' | 'contained' | 'contained-tonal';\n\nexport type Props = $RemoveChildren & {\n /**\n * Icon to display.\n */\n icon: IconSource;\n /**\n * @supported Available in v5.x with theme version 3\n * Mode of the icon button. By default there is no specified mode - only pressable icon will be rendered.\n */\n mode?: IconButtonMode;\n /**\n * @renamed Renamed from 'color' to 'iconColor' in v5.x\n * Color of the icon.\n */\n iconColor?: string;\n /**\n * Background color of the icon container.\n */\n containerColor?: string;\n /**\n * Color of the ripple effect.\n */\n rippleColor?: ColorValue;\n /**\n * @supported Available in v5.x with theme version 3\n * Whether icon button is selected. A selected button receives alternative combination of icon and container colors.\n */\n selected?: boolean;\n /**\n * Size of the icon.\n */\n size?: number;\n /**\n * Whether the button is disabled. A disabled button is greyed out and `onPress` is not called on touch.\n */\n disabled?: boolean;\n /**\n * Whether an icon change is animated.\n */\n animated?: boolean;\n /**\n * Accessibility label for the button. This is read by the screen reader when the user taps the button.\n */\n accessibilityLabel?: string;\n /**\n * Function to execute on press.\n */\n onPress?: (e: GestureResponderEvent) => void;\n style?: Animated.WithAnimatedValue>;\n ref?: React.RefObject;\n /**\n * TestID used for testing purposes\n */\n testID?: string;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\n/**\n * An icon button is a button which displays only an icon without a label.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { IconButton, MD3Colors } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * console.log('Pressed')}\n * />\n * );\n *\n * export default MyComponent;\n * ```\n *\n * @extends TouchableRipple props https://callstack.github.io/react-native-paper/docs/components/TouchableRipple\n */\nconst IconButton = forwardRef(\n (\n {\n icon,\n iconColor: customIconColor,\n containerColor: customContainerColor,\n rippleColor: customRippleColor,\n size = 24,\n accessibilityLabel,\n disabled,\n onPress,\n selected = false,\n animated = false,\n mode,\n style,\n theme: themeOverrides,\n testID = 'icon-button',\n ...rest\n }: Props,\n ref\n ) => {\n const theme = useInternalTheme(themeOverrides);\n const { isV3 } = theme;\n\n const IconComponent = animated ? CrossFadeIcon : Icon;\n\n const { iconColor, rippleColor, backgroundColor, borderColor } =\n getIconButtonColor({\n theme,\n disabled,\n selected,\n mode,\n customIconColor,\n customContainerColor,\n customRippleColor,\n });\n\n const buttonSize = isV3 ? size + 2 * PADDING : size * 1.5;\n\n const {\n borderWidth = isV3 && mode === 'outlined' && !selected ? 1 : 0,\n borderRadius = buttonSize / 2,\n } = (StyleSheet.flatten(style) || {}) as ViewStyle;\n\n const borderStyles = {\n borderWidth,\n borderRadius,\n borderColor,\n };\n\n return (\n \n \n \n \n \n );\n }\n);\n\nconst styles = StyleSheet.create({\n container: {\n overflow: 'hidden',\n margin: 6,\n elevation: 0,\n },\n touchable: {\n flexGrow: 1,\n justifyContent: 'center',\n alignItems: 'center',\n },\n disabled: {\n opacity: 0.32,\n },\n});\n\nexport default IconButton;\n","import * as React from 'react';\nimport { StyleSheet, Text, Platform, ViewProps, Role } from 'react-native';\n\nimport { black } from '../styles/themes/v2/colors';\n\nexport type IconProps = {\n name: string;\n color?: string;\n size: number;\n direction: 'rtl' | 'ltr';\n allowFontScaling?: boolean;\n testID?: string;\n};\n\ntype AccessibilityProps =\n | {\n role?: Role;\n focusable?: boolean;\n }\n | {\n accessibilityElementsHidden?: boolean;\n importantForAccessibility?: 'auto' | 'yes' | 'no' | 'no-hide-descendants';\n };\n\nlet MaterialCommunityIcons: React.ComponentType<\n React.ComponentProps<\n typeof import('react-native-vector-icons/MaterialCommunityIcons').default\n > & {\n color: string;\n pointerEvents?: ViewProps['pointerEvents'];\n }\n>;\n\ntry {\n // Optionally require vector-icons\n MaterialCommunityIcons =\n require('react-native-vector-icons/MaterialCommunityIcons').default;\n} catch (e) {\n let isErrorLogged = false;\n\n // Fallback component for icons\n MaterialCommunityIcons = ({ name, color, size, ...rest }) => {\n /* eslint-disable no-console */\n if (!isErrorLogged) {\n if (\n !/(Cannot find module|Module not found|Cannot resolve module)/.test(\n (e as any).message\n )\n ) {\n console.error(e);\n }\n\n console.warn(\n `Tried to use the icon '${name}' in a component from 'react-native-paper', but 'react-native-vector-icons/MaterialCommunityIcons' could not be loaded.`,\n `To remove this warning, try installing 'react-native-vector-icons' or use another method to specify icon: https://callstack.github.io/react-native-paper/docs/guides/icons`\n );\n\n isErrorLogged = true;\n }\n\n return (\n \n □\n \n );\n };\n}\n\nexport const accessibilityProps: AccessibilityProps =\n Platform.OS === 'web'\n ? {\n role: 'img',\n focusable: false,\n }\n : {\n accessibilityElementsHidden: true,\n importantForAccessibility:\n 'no-hide-descendants' as 'no-hide-descendants',\n };\n\nconst defaultIcon = ({\n name,\n color = black,\n size,\n direction,\n allowFontScaling,\n testID,\n}: IconProps) => (\n \n);\n\nconst styles = StyleSheet.create({\n // eslint-disable-next-line react-native/no-color-literals\n icon: {\n backgroundColor: 'transparent',\n },\n});\n\nexport default defaultIcon;\n","function emptyFunction() {}\n\nexport const BackHandler = {\n exitApp: emptyFunction,\n addEventListener(): { remove: () => void } {\n return {\n remove: emptyFunction,\n };\n },\n removeEventListener: emptyFunction,\n};\n","import { Animated } from 'react-native';\n\nimport useLazyRef from './useLazyRef';\n\nexport default function useAnimatedValue(initialValue: number) {\n const { current } = useLazyRef(() => new Animated.Value(initialValue));\n\n return current;\n}\n","import * as React from 'react';\n\nexport default function useLazyRef(callback: () => T) {\n const lazyRef = React.useRef();\n\n if (lazyRef.current === undefined) {\n lazyRef.current = callback();\n }\n\n return lazyRef as React.MutableRefObject;\n}\n","import * as React from 'react';\nimport {\n Animated,\n Easing,\n StyleProp,\n StyleSheet,\n Pressable,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport useLatestCallback from 'use-latest-callback';\n\nimport Surface from './Surface';\nimport { useInternalTheme } from '../core/theming';\nimport type { ThemeProp } from '../types';\nimport { addEventListener } from '../utils/addEventListener';\nimport { BackHandler } from '../utils/BackHandler/BackHandler';\nimport useAnimatedValue from '../utils/useAnimatedValue';\n\nexport type Props = {\n /**\n * Determines whether clicking outside the modal dismiss it.\n */\n dismissable?: boolean;\n /**\n * Determines whether clicking Android hardware back button dismiss dialog.\n */\n dismissableBackButton?: boolean;\n /**\n * Callback that is called when the user dismisses the modal.\n */\n onDismiss?: () => void;\n /**\n * Accessibility label for the overlay. This is read by the screen reader when the user taps outside the modal.\n */\n overlayAccessibilityLabel?: string;\n /**\n * Determines Whether the modal is visible.\n */\n visible: boolean;\n /**\n * Content of the `Modal`.\n */\n children: React.ReactNode;\n /**\n * Style for the content of the modal\n */\n contentContainerStyle?: Animated.WithAnimatedValue>;\n /**\n * Style for the wrapper of the modal.\n * Use this prop to change the default wrapper style or to override safe area insets with marginTop and marginBottom.\n */\n style?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n /**\n * testID to be used on tests.\n */\n testID?: string;\n};\n\nconst DEFAULT_DURATION = 220;\nconst AnimatedPressable = Animated.createAnimatedComponent(Pressable);\n\n/**\n * The Modal component is a simple way to present content above an enclosing view.\n * To render the `Modal` above other components, you'll need to wrap it with the [`Portal`](./Portal) component.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Modal, Portal, Text, Button, PaperProvider } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [visible, setVisible] = React.useState(false);\n *\n * const showModal = () => setVisible(true);\n * const hideModal = () => setVisible(false);\n * const containerStyle = {backgroundColor: 'white', padding: 20};\n *\n * return (\n * \n * \n * \n * Example Modal. Click outside this area to dismiss.\n * \n * \n * \n * \n * );\n * };\n *\n * export default MyComponent;\n * ```\n */\nfunction Modal({\n dismissable = true,\n dismissableBackButton = dismissable,\n visible = false,\n overlayAccessibilityLabel = 'Close modal',\n onDismiss = () => {},\n children,\n contentContainerStyle,\n style,\n theme: themeOverrides,\n testID = 'modal',\n}: Props) {\n const theme = useInternalTheme(themeOverrides);\n const visibleRef = React.useRef(visible);\n\n React.useEffect(() => {\n visibleRef.current = visible;\n });\n\n const onDismissCallback = useLatestCallback(onDismiss);\n\n const { scale } = theme.animation;\n\n const { top, bottom } = useSafeAreaInsets();\n\n const opacity = useAnimatedValue(visible ? 1 : 0);\n\n const [rendered, setRendered] = React.useState(visible);\n\n if (visible && !rendered) {\n setRendered(true);\n }\n\n const showModal = React.useCallback(() => {\n Animated.timing(opacity, {\n toValue: 1,\n duration: scale * DEFAULT_DURATION,\n easing: Easing.out(Easing.cubic),\n useNativeDriver: true,\n }).start();\n }, [opacity, scale]);\n\n const hideModal = React.useCallback(() => {\n Animated.timing(opacity, {\n toValue: 0,\n duration: scale * DEFAULT_DURATION,\n easing: Easing.out(Easing.cubic),\n useNativeDriver: true,\n }).start(({ finished }) => {\n if (!finished) {\n return;\n }\n\n if (visible) {\n onDismissCallback();\n }\n\n if (visibleRef.current) {\n showModal();\n } else {\n setRendered(false);\n }\n });\n }, [onDismissCallback, opacity, scale, showModal, visible]);\n\n React.useEffect(() => {\n if (!visible) {\n return undefined;\n }\n\n const onHardwareBackPress = () => {\n if (dismissable || dismissableBackButton) {\n hideModal();\n }\n\n return true;\n };\n\n const subscription = addEventListener(\n BackHandler,\n 'hardwareBackPress',\n onHardwareBackPress\n );\n return () => subscription.remove();\n }, [dismissable, dismissableBackButton, hideModal, visible]);\n\n const prevVisible = React.useRef(null);\n\n React.useEffect(() => {\n if (prevVisible.current !== visible) {\n if (visible) {\n showModal();\n } else {\n hideModal();\n }\n }\n prevVisible.current = visible;\n });\n\n if (!rendered) return null;\n\n return (\n \n \n \n \n {children}\n \n \n \n );\n}\n\nexport default Modal;\n\nconst styles = StyleSheet.create({\n backdrop: {\n flex: 1,\n },\n wrapper: {\n ...StyleSheet.absoluteFillObject,\n justifyContent: 'center',\n },\n // eslint-disable-next-line react-native/no-color-literals\n content: {\n backgroundColor: 'transparent',\n justifyContent: 'center',\n },\n});\n","import * as React from 'react';\n\nimport type { PortalMethods } from './PortalHost';\n\ntype Props = {\n manager: PortalMethods;\n children: React.ReactNode;\n};\n\nexport default class PortalConsumer extends React.Component {\n componentDidMount() {\n this.checkManager();\n\n this.key = this.props.manager.mount(this.props.children);\n }\n\n componentDidUpdate() {\n this.checkManager();\n\n this.props.manager.update(this.key, this.props.children);\n }\n\n componentWillUnmount() {\n this.checkManager();\n\n this.props.manager.unmount(this.key);\n }\n\n private key: any;\n\n private checkManager() {\n if (!this.props.manager) {\n throw new Error(\n 'Looks like you forgot to wrap your root component with `Provider` component from `react-native-paper`.\\n\\n' +\n \"Please read our getting-started guide and make sure you've followed all the required steps.\\n\\n\" +\n 'https://callstack.github.io/react-native-paper/docs/guides/getting-started'\n );\n }\n }\n\n render() {\n return null;\n }\n}\n","import * as React from 'react';\n\nimport type { InternalTheme } from 'src/types';\n\nimport PortalConsumer from './PortalConsumer';\nimport PortalHost, { PortalContext, PortalMethods } from './PortalHost';\nimport {\n Consumer as SettingsConsumer,\n Provider as SettingsProvider,\n} from '../../core/settings';\nimport { ThemeProvider, withInternalTheme } from '../../core/theming';\n\nexport type Props = {\n /**\n * Content of the `Portal`.\n */\n children: React.ReactNode;\n /**\n * @optional\n */\n theme: InternalTheme;\n};\n\n/**\n * Portal allows rendering a component at a different place in the parent tree.\n * You can use it to render content which should appear above other elements, similar to `Modal`.\n * It requires a [`Portal.Host`](PortalHost) component to be rendered somewhere in the parent tree.\n * Note that if you're using the `Provider` component, this already includes a `Portal.Host`.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Portal, Text } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * \n * This is rendered at a different place\n * \n * );\n *\n * export default MyComponent;\n * ```\n */\nclass Portal extends React.Component {\n // @component ./PortalHost.tsx\n static Host = PortalHost;\n\n render() {\n const { children, theme } = this.props;\n\n return (\n \n {(settings) => (\n \n {(manager) => (\n \n \n {children}\n \n \n )}\n \n )}\n \n );\n }\n}\n\nexport default withInternalTheme(Portal);\n","import * as React from 'react';\nimport { View, StyleSheet } from 'react-native';\n\ntype State = {\n portals: Array<{\n key: number;\n children: React.ReactNode;\n }>;\n};\n\n/**\n * Portal host is the component which actually renders all Portals.\n */\nexport default class PortalManager extends React.PureComponent<{}, State> {\n state: State = {\n portals: [],\n };\n\n mount = (key: number, children: React.ReactNode) => {\n this.setState((state) => ({\n portals: [...state.portals, { key, children }],\n }));\n };\n\n update = (key: number, children: React.ReactNode) =>\n this.setState((state) => ({\n portals: state.portals.map((item) => {\n if (item.key === key) {\n return { ...item, children };\n }\n return item;\n }),\n }));\n\n unmount = (key: number) =>\n this.setState((state) => ({\n portals: state.portals.filter((item) => item.key !== key),\n }));\n\n render() {\n return this.state.portals.map(({ key, children }) => (\n \n {children}\n
\n ));\n }\n}\n","import * as React from 'react';\nimport { View, StyleSheet } from 'react-native';\n\nimport PortalManager from './PortalManager';\n\nexport type Props = {\n children: React.ReactNode;\n};\n\ntype Operation =\n | { type: 'mount'; key: number; children: React.ReactNode }\n | { type: 'update'; key: number; children: React.ReactNode }\n | { type: 'unmount'; key: number };\n\nexport type PortalMethods = {\n mount: (children: React.ReactNode) => number;\n update: (key: number, children: React.ReactNode) => void;\n unmount: (key: number) => void;\n};\n\nexport const PortalContext = React.createContext(null as any);\n\n/**\n * Portal host renders all of its children `Portal` elements.\n * For example, you can wrap a screen in `Portal.Host` to render items above the screen.\n * If you're using the `Provider` component, it already includes `Portal.Host`.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Text } from 'react-native';\n * import { Portal } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * \n * Content of the app\n * \n * );\n *\n * export default MyComponent;\n * ```\n *\n * Here any `Portal` elements under `` are rendered alongside `` and will appear above `` like a `Modal`.\n */\nexport default class PortalHost extends React.Component {\n static displayName = 'Portal.Host';\n\n componentDidMount() {\n const manager = this.manager;\n const queue = this.queue;\n\n while (queue.length && manager) {\n const action = queue.pop();\n if (action) {\n // eslint-disable-next-line default-case\n switch (action.type) {\n case 'mount':\n manager.mount(action.key, action.children);\n break;\n case 'update':\n manager.update(action.key, action.children);\n break;\n case 'unmount':\n manager.unmount(action.key);\n break;\n }\n }\n }\n }\n\n private setManager = (manager: PortalManager | undefined | null) => {\n this.manager = manager;\n };\n\n private mount = (children: React.ReactNode) => {\n const key = this.nextKey++;\n\n if (this.manager) {\n this.manager.mount(key, children);\n } else {\n this.queue.push({ type: 'mount', key, children });\n }\n\n return key;\n };\n\n private update = (key: number, children: React.ReactNode) => {\n if (this.manager) {\n this.manager.update(key, children);\n } else {\n const op: Operation = { type: 'mount', key, children };\n const index = this.queue.findIndex(\n (o) => o.type === 'mount' || (o.type === 'update' && o.key === key)\n );\n\n if (index > -1) {\n this.queue[index] = op;\n } else {\n this.queue.push(op as Operation);\n }\n }\n };\n\n private unmount = (key: number) => {\n if (this.manager) {\n this.manager.unmount(key);\n } else {\n this.queue.push({ type: 'unmount', key });\n }\n };\n\n private nextKey = 0;\n private queue: Operation[] = [];\n private manager: PortalManager | null | undefined;\n\n render() {\n return (\n \n {/* Need collapsable=false here to clip the elevations, otherwise they appear above Portal components */}\n \n {this.props.children}\n \n \n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n","import * as React from 'react';\nimport {\n Animated,\n Platform,\n ShadowStyleIOS,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport { useInternalTheme } from '../core/theming';\nimport overlay, { isAnimatedValue } from '../styles/overlay';\nimport shadow from '../styles/shadow';\nimport type { ThemeProp, MD3Elevation } from '../types';\nimport { forwardRef } from '../utils/forwardRef';\nimport { splitStyles } from '../utils/splitStyles';\n\ntype Elevation = 0 | 1 | 2 | 3 | 4 | 5 | Animated.Value;\n\nexport type Props = React.ComponentPropsWithRef & {\n /**\n * Content of the `Surface`.\n */\n children: React.ReactNode;\n style?: Animated.WithAnimatedValue>;\n /**\n * @supported Available in v5.x with theme version 3\n * Changes shadows and background on iOS and Android.\n * Used to create UI hierarchy between components.\n *\n * Note: If `mode` is set to `flat`, Surface doesn't have a shadow.\n *\n * Note: In version 2 the `elevation` prop was accepted via `style` prop i.e. `style={{ elevation: 4 }}`.\n * It's no longer supported with theme version 3 and you should use `elevation` property instead.\n */\n elevation?: Elevation;\n /**\n * @supported Available in v5.x with theme version 3\n * Mode of the Surface.\n * - `elevated` - Surface with a shadow and background color corresponding to set `elevation` value.\n * - `flat` - Surface without a shadow, with the background color corresponding to set `elevation` value.\n */\n mode?: 'flat' | 'elevated';\n /**\n * @optional\n */\n theme?: ThemeProp;\n /**\n * TestID used for testing purposes\n */\n testID?: string;\n ref?: React.RefObject;\n};\n\nconst MD2Surface = forwardRef(\n ({ style, theme: overrideTheme, ...rest }: Omit, ref) => {\n const { elevation = 4 } = (StyleSheet.flatten(style) || {}) as ViewStyle;\n const { dark: isDarkTheme, mode, colors } = useInternalTheme(overrideTheme);\n\n return (\n \n );\n }\n);\n\nconst outerLayerStyleProperties: (keyof ViewStyle)[] = [\n 'position',\n 'alignSelf',\n 'top',\n 'right',\n 'bottom',\n 'left',\n 'start',\n 'end',\n 'flex',\n 'flexShrink',\n 'flexGrow',\n 'width',\n 'height',\n 'transform',\n 'opacity',\n];\n\nconst shadowColor = '#000';\nconst iOSShadowOutputRanges = [\n {\n shadowOpacity: 0.15,\n height: [0, 1, 2, 4, 6, 8],\n shadowRadius: [0, 3, 6, 8, 10, 12],\n },\n {\n shadowOpacity: 0.3,\n height: [0, 1, 1, 1, 2, 4],\n shadowRadius: [0, 1, 2, 3, 3, 4],\n },\n];\nconst inputRange = [0, 1, 2, 3, 4, 5];\nfunction getStyleForShadowLayer(\n elevation: Elevation,\n layer: 0 | 1\n): Animated.WithAnimatedValue {\n if (isAnimatedValue(elevation)) {\n return {\n shadowColor,\n shadowOpacity: elevation.interpolate({\n inputRange: [0, 1],\n outputRange: [0, iOSShadowOutputRanges[layer].shadowOpacity],\n extrapolate: 'clamp',\n }),\n shadowOffset: {\n width: 0,\n height: elevation.interpolate({\n inputRange,\n outputRange: iOSShadowOutputRanges[layer].height,\n }),\n },\n shadowRadius: elevation.interpolate({\n inputRange,\n outputRange: iOSShadowOutputRanges[layer].shadowRadius,\n }),\n };\n }\n\n return {\n shadowColor,\n shadowOpacity: elevation ? iOSShadowOutputRanges[layer].shadowOpacity : 0,\n shadowOffset: {\n width: 0,\n height: iOSShadowOutputRanges[layer].height[elevation],\n },\n shadowRadius: iOSShadowOutputRanges[layer].shadowRadius[elevation],\n };\n}\n\nconst SurfaceIOS = forwardRef<\n View,\n Omit & {\n elevation: Elevation;\n backgroundColor?: string | Animated.AnimatedInterpolation;\n }\n>(\n (\n {\n elevation,\n style,\n backgroundColor,\n testID,\n children,\n mode = 'elevated',\n ...props\n },\n ref\n ) => {\n const [outerLayerViewStyles, innerLayerViewStyles] = React.useMemo(() => {\n const flattenedStyles = (StyleSheet.flatten(style) || {}) as ViewStyle;\n\n const [filteredStyles, outerLayerStyles, borderRadiusStyles] =\n splitStyles(\n flattenedStyles,\n (style) =>\n outerLayerStyleProperties.includes(style) ||\n style.startsWith('margin'),\n (style) => style.startsWith('border') && style.endsWith('Radius')\n );\n\n if (\n process.env.NODE_ENV !== 'production' &&\n filteredStyles.overflow === 'hidden' &&\n elevation !== 0\n ) {\n console.warn(\n 'When setting overflow to hidden on Surface the shadow will not be displayed correctly. Wrap the content of your component in a separate View with the overflow style.'\n );\n }\n\n const bgColor = flattenedStyles.backgroundColor || backgroundColor;\n\n const isElevated = mode === 'elevated';\n\n const outerLayerViewStyles = {\n ...(isElevated && getStyleForShadowLayer(elevation, 0)),\n ...outerLayerStyles,\n ...borderRadiusStyles,\n backgroundColor: bgColor,\n };\n\n const innerLayerViewStyles = {\n ...(isElevated && getStyleForShadowLayer(elevation, 1)),\n ...filteredStyles,\n ...borderRadiusStyles,\n flex: flattenedStyles.height ? 1 : undefined,\n backgroundColor: bgColor,\n };\n\n return [outerLayerViewStyles, innerLayerViewStyles];\n }, [style, elevation, backgroundColor, mode]);\n\n return (\n \n \n {children}\n \n \n );\n }\n);\n\n/**\n * Surface is a basic container that can give depth to an element with elevation shadow.\n * On dark theme with `adaptive` mode, surface is constructed by also placing a semi-transparent white overlay over a component surface.\n * See [Dark Theme](https://callstack.github.io/react-native-paper/docs/guides/theming#dark-theme) for more information.\n * Overlay and shadow can be applied by specifying the `elevation` property both on Android and iOS.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Surface, Text } from 'react-native-paper';\n * import { StyleSheet } from 'react-native';\n *\n * const MyComponent = () => (\n * \n * Surface\n * \n * );\n *\n * export default MyComponent;\n *\n * const styles = StyleSheet.create({\n * surface: {\n * padding: 8,\n * height: 80,\n * width: 80,\n * alignItems: 'center',\n * justifyContent: 'center',\n * },\n * });\n * ```\n */\nconst Surface = forwardRef(\n (\n {\n elevation = 1,\n children,\n theme: overridenTheme,\n style,\n testID = 'surface',\n mode = 'elevated',\n ...props\n }: Props,\n ref\n ) => {\n const theme = useInternalTheme(overridenTheme);\n\n if (!theme.isV3)\n return (\n \n {children}\n \n );\n\n const { colors } = theme;\n\n const inputRange = [0, 1, 2, 3, 4, 5];\n\n const backgroundColor = (() => {\n if (isAnimatedValue(elevation)) {\n return elevation.interpolate({\n inputRange,\n outputRange: inputRange.map((elevation) => {\n return colors.elevation?.[`level${elevation as MD3Elevation}`];\n }),\n });\n }\n\n return colors.elevation?.[`level${elevation}`];\n })();\n\n const isElevated = mode === 'elevated';\n\n if (Platform.OS === 'web') {\n const { pointerEvents = 'auto' } = props;\n return (\n \n {children}\n \n );\n }\n\n if (Platform.OS === 'android') {\n const elevationLevel = [0, 3, 6, 9, 12, 15];\n\n const getElevationAndroid = () => {\n if (isAnimatedValue(elevation)) {\n return elevation.interpolate({\n inputRange,\n outputRange: elevationLevel,\n });\n }\n\n return elevationLevel[elevation];\n };\n\n const { margin, padding, transform, borderRadius } = (StyleSheet.flatten(\n style\n ) || {}) as ViewStyle;\n\n const outerLayerStyles = { margin, padding, transform, borderRadius };\n const sharedStyle = [{ backgroundColor }, style];\n\n return (\n \n {children}\n \n );\n }\n\n return (\n \n {children}\n \n );\n }\n);\n\nexport default Surface;\n","export enum AdornmentType {\n Icon = 'icon',\n Affix = 'affix',\n}\nexport enum AdornmentSide {\n Right = 'right',\n Left = 'left',\n}\nexport enum InputMode {\n Outlined = 'outlined',\n Flat = 'flat',\n}\n","export const MAXIMIZED_LABEL_FONT_SIZE = 16;\nexport const MINIMIZED_LABEL_FONT_SIZE = 12;\nexport const LABEL_WIGGLE_X_OFFSET = 4;\n\nexport const ADORNMENT_SIZE = 24;\nexport const MIN_WIDTH = 100;\n\n//Text input affix offset\nexport const MD2_AFFIX_OFFSET = 12;\nexport const MD3_AFFIX_OFFSET = 16;\n\n// Text input icon\nexport const ICON_SIZE = 24;\nexport const MD2_ICON_OFFSET = 12;\nexport const MD3_ICON_OFFSET = 16;\n\n// Text input common\nexport const MD2_MIN_HEIGHT = 64;\nexport const MD3_MIN_HEIGHT = 56;\nexport const MD3_ADORNMENT_OFFSET = 16;\nexport const MD2_ADORNMENT_OFFSET = 12;\nexport const LABEL_PADDING_TOP_DENSE = 24;\nexport const LABEL_PADDING_TOP = 8;\n\n// Text input flat\nexport const MD2_LABEL_PADDING_TOP = 30;\nexport const MD3_LABEL_PADDING_TOP = 26;\n\nexport const MD2_LABEL_PADDING_HORIZONTAL = 12;\nexport const MD3_LABEL_PADDING_HORIZONTAL = 16;\n\nexport const MD2_FLAT_INPUT_OFFSET = 8;\nexport const MD3_FLAT_INPUT_OFFSET = 16;\n\nexport const MINIMIZED_LABEL_Y_OFFSET = -18;\nexport const MIN_DENSE_HEIGHT_WL = 52;\nexport const MIN_DENSE_HEIGHT = 40;\n\n// Text input outlined\nexport const MD2_INPUT_PADDING_HORIZONTAL = 14;\nexport const MD3_INPUT_PADDING_HORIZONTAL = 16;\n\n// extra space to avoid overlapping input's text and icon\nexport const MD2_OUTLINED_INPUT_OFFSET = 8;\nexport const MD3_OUTLINED_INPUT_OFFSET = 16;\n\nexport const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -6;\nexport const MIN_DENSE_HEIGHT_OUTLINED = 48;\n","import { Platform } from 'react-native';\n\nimport color from 'color';\n\nimport { AdornmentSide, AdornmentType } from './Adornment/enums';\nimport type { AdornmentConfig } from './Adornment/types';\nimport {\n MIN_WIDTH,\n ADORNMENT_SIZE,\n MD2_ADORNMENT_OFFSET,\n MD2_AFFIX_OFFSET,\n MD2_FLAT_INPUT_OFFSET,\n MD2_ICON_OFFSET,\n MD2_INPUT_PADDING_HORIZONTAL,\n MD2_LABEL_PADDING_HORIZONTAL,\n MD2_LABEL_PADDING_TOP,\n MD2_MIN_HEIGHT,\n MD2_OUTLINED_INPUT_OFFSET,\n MD3_ADORNMENT_OFFSET,\n MD3_AFFIX_OFFSET,\n MD3_FLAT_INPUT_OFFSET,\n MD3_ICON_OFFSET,\n MD3_INPUT_PADDING_HORIZONTAL,\n MD3_LABEL_PADDING_HORIZONTAL,\n MD3_LABEL_PADDING_TOP,\n MD3_MIN_HEIGHT,\n MD3_OUTLINED_INPUT_OFFSET,\n} from './constants';\nimport type { TextInputLabelProp } from './types';\nimport type { InternalTheme } from '../../types';\n\ntype PaddingProps = {\n height: number | null;\n labelHalfHeight: number;\n multiline: boolean | null;\n dense: boolean | null;\n topPosition: number;\n fontSize: number;\n lineHeight?: number;\n label?: TextInputLabelProp | null;\n scale: number;\n offset: number;\n isAndroid: boolean;\n styles: { paddingTop: number; paddingBottom: number };\n};\n\ntype AdjProps = PaddingProps & {\n pad: number;\n};\n\nexport type Padding = { paddingTop: number; paddingBottom: number };\n\nexport const calculateLabelTopPosition = (\n labelHeight: number,\n height: number = 0,\n optionalPadding: number = 0\n): number => {\n const customHeight = height > 0 ? height : 0;\n\n return Math.floor((customHeight - labelHeight) / 2 + optionalPadding);\n};\n\nexport const calculateInputHeight = (\n labelHeight: number,\n height: any = 0,\n minHeight: number\n): number => {\n const finalHeight = height > 0 ? height : labelHeight;\n\n if (height > 0) return height;\n return finalHeight < minHeight ? minHeight : finalHeight;\n};\n\nexport const calculatePadding = (props: PaddingProps): number => {\n const { height, multiline = false } = props;\n\n let result = 0;\n\n if (multiline) {\n if (height && multiline) {\n result = calculateTextAreaPadding(props);\n } else {\n result = calculateInputPadding(props);\n }\n }\n\n return Math.max(0, result);\n};\n\nconst calculateTextAreaPadding = (props: PaddingProps) => {\n const { dense } = props;\n\n return dense ? 10 : 20;\n};\n\nconst calculateInputPadding = ({\n topPosition,\n fontSize,\n multiline,\n scale,\n dense,\n offset,\n isAndroid,\n}: PaddingProps): number => {\n const refFontSize = scale * fontSize;\n let result = Math.floor(topPosition / 2);\n\n result =\n result +\n Math.floor((refFontSize - fontSize) / 2) -\n (scale < 1 ? offset / 2 : 0);\n\n if (multiline && isAndroid)\n result = Math.min(dense ? offset / 2 : offset, result);\n\n return result;\n};\n\nexport const adjustPaddingOut = ({\n pad,\n multiline,\n label,\n scale,\n height,\n fontSize,\n lineHeight,\n dense,\n offset,\n isAndroid,\n}: AdjProps): Padding => {\n const fontHeight = lineHeight ?? fontSize;\n const refFontHeight = scale * fontSize;\n let result = pad;\n\n if (height && !multiline) {\n return {\n paddingTop: Math.max(0, (height - fontHeight) / 2),\n paddingBottom: Math.max(0, (height - fontHeight) / 2),\n };\n }\n if (!isAndroid && multiline) {\n if (dense) {\n if (label) {\n result += scale < 1 ? Math.min(offset, (refFontHeight / 2) * scale) : 0;\n } else {\n result += 0;\n }\n }\n if (!dense) {\n if (label) {\n result +=\n scale < 1\n ? Math.min(offset, refFontHeight * scale)\n : Math.min(offset / 2, refFontHeight * scale);\n } else {\n result += scale < 1 ? Math.min(offset / 2, refFontHeight * scale) : 0;\n }\n }\n result = Math.floor(result);\n }\n return { paddingTop: result, paddingBottom: result };\n};\n\nexport const adjustPaddingFlat = ({\n pad,\n scale,\n multiline,\n label,\n height,\n offset,\n dense,\n fontSize,\n isAndroid,\n styles,\n}: AdjProps): Padding => {\n let result = pad;\n let topResult = result;\n let bottomResult = result;\n const { paddingTop, paddingBottom } = styles;\n const refFontSize = scale * fontSize;\n\n if (!multiline) {\n // do not modify padding if input is not multiline\n if (label) {\n // return const style for flat input with label\n return { paddingTop, paddingBottom };\n }\n // return pad for flat input without label\n return { paddingTop: result, paddingBottom: result };\n }\n\n if (label) {\n // add paddings passed from styles\n topResult = paddingTop;\n bottomResult = paddingBottom;\n\n // adjust top padding for iOS\n if (!isAndroid) {\n if (dense) {\n topResult +=\n scale < 1\n ? Math.min(result, refFontSize * scale) - result / 2\n : Math.min(result, refFontSize * scale) - result / 2;\n }\n if (!dense) {\n topResult +=\n scale < 1\n ? Math.min(offset / 2, refFontSize * scale)\n : Math.min(result, refFontSize * scale) - offset / 2;\n }\n }\n topResult = Math.floor(topResult);\n } else {\n if (height) {\n // center text when height is passed\n return {\n paddingTop: Math.max(0, (height - fontSize) / 2),\n paddingBottom: Math.max(0, (height - fontSize) / 2),\n };\n }\n // adjust paddings for iOS if no label\n if (!isAndroid) {\n if (dense) {\n result +=\n scale < 1\n ? Math.min(offset / 2, (fontSize / 2) * scale)\n : Math.min(offset / 2, scale);\n }\n if (!dense) {\n result +=\n scale < 1\n ? Math.min(offset, fontSize * scale)\n : Math.min(fontSize, (offset / 2) * scale);\n }\n\n result = Math.floor(result);\n topResult = result;\n bottomResult = result;\n }\n }\n\n return {\n paddingTop: Math.max(0, topResult),\n paddingBottom: Math.max(0, bottomResult),\n };\n};\n\nexport function calculateFlatAffixTopPosition({\n height,\n paddingTop,\n paddingBottom,\n affixHeight,\n}: {\n height: number;\n paddingTop: number;\n paddingBottom: number;\n affixHeight: number;\n}): number {\n const inputHeightWithoutPadding = height - paddingTop - paddingBottom;\n\n const halfOfTheInputHeightDecreasedByAffixHeight =\n (inputHeightWithoutPadding - affixHeight) / 2;\n\n return paddingTop + halfOfTheInputHeightDecreasedByAffixHeight;\n}\n\nexport function calculateOutlinedIconAndAffixTopPosition({\n height,\n affixHeight,\n labelYOffset,\n}: {\n height: number;\n affixHeight: number;\n labelYOffset: number;\n}): number {\n return (height - affixHeight + labelYOffset) / 2;\n}\n\nexport const calculateFlatInputHorizontalPadding = ({\n adornmentConfig,\n isV3,\n}: {\n adornmentConfig: AdornmentConfig[];\n isV3?: boolean;\n}) => {\n const { LABEL_PADDING_HORIZONTAL, ADORNMENT_OFFSET, FLAT_INPUT_OFFSET } =\n getConstants(isV3);\n\n let paddingLeft = LABEL_PADDING_HORIZONTAL;\n let paddingRight = LABEL_PADDING_HORIZONTAL;\n\n adornmentConfig.forEach(({ type, side }) => {\n if (type === AdornmentType.Icon && side === AdornmentSide.Left) {\n paddingLeft = ADORNMENT_SIZE + ADORNMENT_OFFSET + FLAT_INPUT_OFFSET;\n } else if (side === AdornmentSide.Right) {\n if (type === AdornmentType.Affix) {\n paddingRight = ADORNMENT_SIZE + ADORNMENT_OFFSET + FLAT_INPUT_OFFSET;\n } else if (type === AdornmentType.Icon) {\n paddingRight = ADORNMENT_SIZE + ADORNMENT_OFFSET + FLAT_INPUT_OFFSET;\n }\n }\n });\n\n return { paddingLeft, paddingRight };\n};\n\ntype BaseProps = {\n theme: InternalTheme;\n disabled?: boolean;\n};\n\ntype Mode = 'flat' | 'outlined';\n\nconst getInputTextColor = ({\n theme,\n textColor,\n disabled,\n mode,\n}: BaseProps & { mode: Mode; textColor?: string }) => {\n const isFlat = mode === 'flat';\n if (textColor) {\n return textColor;\n }\n\n if (theme.isV3) {\n if (disabled) {\n return theme.colors.onSurfaceDisabled;\n }\n\n if (isFlat) {\n return theme.colors.onSurfaceVariant;\n }\n\n return theme.colors.onSurface;\n }\n\n if (disabled) {\n return color(theme.colors.text).alpha(0.54).rgb().string();\n }\n\n return theme.colors.text;\n};\n\nconst getActiveColor = ({\n theme,\n disabled,\n error,\n activeUnderlineColor,\n activeOutlineColor,\n mode,\n}: BaseProps & {\n error?: boolean;\n activeUnderlineColor?: string;\n activeOutlineColor?: string;\n mode?: Mode;\n}) => {\n const isFlat = mode === 'flat';\n const modeColor = isFlat ? activeUnderlineColor : activeOutlineColor;\n\n if (error) {\n return theme.colors.error;\n }\n\n if (modeColor) {\n return modeColor;\n }\n\n if (disabled) {\n if (theme.isV3) {\n return theme.colors.onSurfaceDisabled;\n }\n\n return color(theme.colors.text).alpha(0.54).rgb().string();\n }\n\n return theme.colors.primary;\n};\n\nconst getPlaceholderColor = ({ theme, disabled }: BaseProps) => {\n if (theme.isV3) {\n if (disabled) {\n return theme.colors.onSurfaceDisabled;\n }\n\n return theme.colors.onSurfaceVariant;\n }\n\n if (disabled) {\n return theme.colors.disabled;\n }\n\n return theme.colors.placeholder;\n};\n\nconst getSelectionColor = ({\n activeColor,\n customSelectionColor,\n}: {\n activeColor: string;\n customSelectionColor?: string;\n}) => {\n if (typeof customSelectionColor !== 'undefined') {\n return customSelectionColor;\n }\n\n if (Platform.OS === 'android') {\n return color(activeColor).alpha(0.54).rgb().string();\n }\n\n return activeColor;\n};\n\nconst getFlatBackgroundColor = ({ theme, disabled }: BaseProps) => {\n if (theme.isV3) {\n if (disabled) {\n return color(theme.colors.onSurface).alpha(0.04).rgb().string();\n } else {\n return theme.colors.surfaceVariant;\n }\n }\n\n if (disabled) {\n return undefined;\n }\n\n return theme.dark\n ? color(theme.colors?.background).lighten(0.24).rgb().string()\n : color(theme.colors?.background).darken(0.06).rgb().string();\n};\n\nconst getFlatUnderlineColor = ({\n theme,\n disabled,\n underlineColor,\n}: BaseProps & { underlineColor?: string }) => {\n if (!disabled && underlineColor) {\n return underlineColor;\n }\n\n if (theme.isV3) {\n if (disabled) {\n return theme.colors.onSurfaceDisabled;\n }\n\n return theme.colors.onSurface;\n }\n\n if (disabled) {\n return 'transparent';\n }\n\n return theme.colors.disabled;\n};\n\nconst getOutlinedOutlineInputColor = ({\n theme,\n disabled,\n customOutlineColor,\n}: BaseProps & { customOutlineColor?: string }) => {\n const isTransparent = color(customOutlineColor).alpha() === 0;\n\n if (!disabled && customOutlineColor) {\n return customOutlineColor;\n }\n\n if (theme.isV3) {\n if (disabled) {\n if (theme.dark) {\n return 'transparent';\n }\n return theme.colors.surfaceDisabled;\n }\n\n return theme.colors.outline;\n }\n\n if (disabled) {\n if (isTransparent) {\n return customOutlineColor;\n }\n return theme.colors.disabled;\n }\n return theme.colors.placeholder;\n};\n\nexport const getFlatInputColors = ({\n underlineColor,\n activeUnderlineColor,\n customSelectionColor,\n textColor,\n disabled,\n error,\n theme,\n}: {\n underlineColor?: string;\n activeUnderlineColor?: string;\n customSelectionColor?: string;\n textColor?: string;\n disabled?: boolean;\n error?: boolean;\n theme: InternalTheme;\n}) => {\n const baseFlatColorProps = { theme, disabled };\n const activeColor = getActiveColor({\n ...baseFlatColorProps,\n error,\n activeUnderlineColor,\n mode: 'flat',\n });\n\n return {\n inputTextColor: getInputTextColor({\n ...baseFlatColorProps,\n textColor,\n mode: 'flat',\n }),\n activeColor,\n underlineColorCustom: getFlatUnderlineColor({\n ...baseFlatColorProps,\n underlineColor,\n }),\n placeholderColor: getPlaceholderColor(baseFlatColorProps),\n selectionColor: getSelectionColor({ activeColor, customSelectionColor }),\n errorColor: theme.colors.error,\n backgroundColor: getFlatBackgroundColor(baseFlatColorProps),\n };\n};\n\nexport const getOutlinedInputColors = ({\n activeOutlineColor,\n customOutlineColor,\n customSelectionColor,\n textColor,\n disabled,\n error,\n theme,\n}: {\n activeOutlineColor?: string;\n customOutlineColor?: string;\n customSelectionColor?: string;\n textColor?: string;\n disabled?: boolean;\n error?: boolean;\n theme: InternalTheme;\n}) => {\n const baseOutlinedColorProps = { theme, disabled };\n const activeColor = getActiveColor({\n ...baseOutlinedColorProps,\n error,\n activeOutlineColor,\n mode: 'outlined',\n });\n\n return {\n inputTextColor: getInputTextColor({\n ...baseOutlinedColorProps,\n textColor,\n mode: 'outlined',\n }),\n activeColor,\n outlineColor: getOutlinedOutlineInputColor({\n ...baseOutlinedColorProps,\n customOutlineColor,\n }),\n placeholderColor: getPlaceholderColor(baseOutlinedColorProps),\n selectionColor: getSelectionColor({ activeColor, customSelectionColor }),\n errorColor: theme.colors.error,\n };\n};\n\nexport const getConstants = (isV3?: boolean) => {\n // Text input affix\n let AFFIX_OFFSET;\n // Text input icon\n let ICON_OFFSET;\n //Text input flat\n let LABEL_PADDING_TOP;\n let LABEL_PADDING_HORIZONTAL;\n let FLAT_INPUT_OFFSET;\n let MIN_HEIGHT;\n // Text input outlined;\n let INPUT_PADDING_HORIZONTAL;\n let ADORNMENT_OFFSET;\n let OUTLINED_INPUT_OFFSET;\n\n if (isV3) {\n AFFIX_OFFSET = MD3_AFFIX_OFFSET;\n ICON_OFFSET = MD3_ICON_OFFSET;\n LABEL_PADDING_TOP = MD3_LABEL_PADDING_TOP;\n LABEL_PADDING_HORIZONTAL = MD3_LABEL_PADDING_HORIZONTAL;\n FLAT_INPUT_OFFSET = MD3_FLAT_INPUT_OFFSET;\n MIN_HEIGHT = MD3_MIN_HEIGHT;\n INPUT_PADDING_HORIZONTAL = MD3_INPUT_PADDING_HORIZONTAL;\n ADORNMENT_OFFSET = MD3_ADORNMENT_OFFSET;\n OUTLINED_INPUT_OFFSET = MD3_OUTLINED_INPUT_OFFSET;\n } else {\n AFFIX_OFFSET = MD2_AFFIX_OFFSET;\n ICON_OFFSET = MD2_ICON_OFFSET;\n LABEL_PADDING_TOP = MD2_LABEL_PADDING_TOP;\n LABEL_PADDING_HORIZONTAL = MD2_LABEL_PADDING_HORIZONTAL;\n FLAT_INPUT_OFFSET = MD2_FLAT_INPUT_OFFSET;\n MIN_HEIGHT = MD2_MIN_HEIGHT;\n INPUT_PADDING_HORIZONTAL = MD2_INPUT_PADDING_HORIZONTAL;\n ADORNMENT_OFFSET = MD2_ADORNMENT_OFFSET;\n OUTLINED_INPUT_OFFSET = MD2_OUTLINED_INPUT_OFFSET;\n }\n\n return {\n AFFIX_OFFSET,\n ICON_OFFSET,\n LABEL_PADDING_TOP,\n LABEL_PADDING_HORIZONTAL,\n FLAT_INPUT_OFFSET,\n MIN_HEIGHT,\n INPUT_PADDING_HORIZONTAL,\n ADORNMENT_OFFSET,\n OUTLINED_INPUT_OFFSET,\n MIN_WIDTH,\n };\n};\n","import React from 'react';\nimport {\n Animated,\n LayoutChangeEvent,\n StyleProp,\n StyleSheet,\n Text,\n TextStyle,\n ViewStyle,\n} from 'react-native';\n\nimport { AdornmentSide } from './enums';\nimport { getTextColor } from './utils';\nimport { useInternalTheme } from '../../../core/theming';\nimport type { ThemeProp } from '../../../types';\nimport { getConstants } from '../helpers';\n\nexport type Props = {\n /**\n * Text to show.\n */\n text: string;\n onLayout?: (event: LayoutChangeEvent) => void;\n /**\n * Style that is passed to the Text element.\n */\n textStyle?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\ntype ContextState = {\n topPosition: number | null;\n onLayout?: (event: LayoutChangeEvent) => void;\n visible?: Animated.Value;\n textStyle?: StyleProp;\n side: AdornmentSide;\n paddingHorizontal?: number | string;\n maxFontSizeMultiplier?: number | undefined | null;\n testID?: string;\n disabled?: boolean;\n};\n\nconst AffixContext = React.createContext({\n textStyle: { fontFamily: '', color: '' },\n topPosition: null,\n side: AdornmentSide.Left,\n});\n\nconst AffixAdornment: React.FunctionComponent<\n {\n affix: React.ReactNode;\n testID: string;\n } & ContextState\n> = ({\n affix,\n side,\n textStyle,\n topPosition,\n onLayout,\n visible,\n paddingHorizontal,\n maxFontSizeMultiplier,\n testID,\n disabled,\n}) => {\n return (\n \n {affix}\n \n );\n};\n\n/**\n * A component to render a leading / trailing text in the TextInput\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { TextInput } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [text, setText] = React.useState('');\n *\n * return (\n * }\n * />\n * );\n * };\n *\n * export default MyComponent;\n * ```\n */\n\nconst TextInputAffix = ({\n text,\n textStyle: labelStyle,\n theme: themeOverrides,\n onLayout: onTextLayout,\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n const { AFFIX_OFFSET } = getConstants(theme.isV3);\n\n const {\n textStyle,\n onLayout,\n topPosition,\n side,\n visible,\n paddingHorizontal,\n maxFontSizeMultiplier,\n testID,\n disabled,\n } = React.useContext(AffixContext);\n\n const offset =\n typeof paddingHorizontal === 'number' ? paddingHorizontal : AFFIX_OFFSET;\n\n const style = {\n top: topPosition,\n [side]: offset,\n } as ViewStyle;\n\n const textColor = getTextColor({ theme, disabled });\n\n return (\n \n \n {text}\n \n \n );\n};\nTextInputAffix.displayName = 'TextInput.Affix';\n\nconst styles = StyleSheet.create({\n container: {\n position: 'absolute',\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n\nexport default TextInputAffix;\n\n// @component-docs ignore-next-line\nexport { TextInputAffix, AffixAdornment };\n","import color from 'color';\n\nimport type { InternalTheme } from '../../../types';\n\ntype BaseProps = {\n theme: InternalTheme;\n disabled?: boolean;\n};\n\nexport function getTextColor({ theme, disabled }: BaseProps) {\n if (theme.isV3) {\n if (disabled) {\n return theme.colors.onSurfaceDisabled;\n }\n return theme.colors.onSurfaceVariant;\n }\n return color(theme.colors?.text)\n .alpha(theme.dark ? 0.7 : 0.54)\n .rgb()\n .string();\n}\n\nexport function getIconColor({\n theme,\n isTextInputFocused,\n disabled,\n customColor,\n}: BaseProps & {\n isTextInputFocused: boolean;\n customColor?: ((isTextInputFocused: boolean) => string | undefined) | string;\n}) {\n if (typeof customColor === 'function') {\n return customColor(isTextInputFocused);\n }\n if (customColor) {\n return customColor;\n }\n\n if (!theme.isV3) {\n return theme.colors.text;\n }\n\n if (disabled) {\n return theme.colors.onSurfaceDisabled;\n }\n\n return theme.colors.onSurfaceVariant;\n}\n","import React from 'react';\nimport {\n ColorValue,\n GestureResponderEvent,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport { getIconColor } from './utils';\nimport { useInternalTheme } from '../../../core/theming';\nimport type { $Omit, ThemeProp } from '../../../types';\nimport type { IconSource } from '../../Icon';\nimport IconButton from '../../IconButton/IconButton';\nimport { ICON_SIZE } from '../constants';\nimport { getConstants } from '../helpers';\n\nexport type Props = $Omit<\n React.ComponentProps,\n 'icon' | 'theme' | 'color' | 'iconColor'\n> & {\n /**\n * @renamed Renamed from 'name' to 'icon` in v5.x\n * Icon to show.\n */\n icon: IconSource;\n /**\n * Function to execute on press.\n */\n onPress?: (e: GestureResponderEvent) => void;\n /**\n * Whether the TextInput will focus after onPress.\n */\n forceTextInputFocus?: boolean;\n /**\n * Color of the icon or a function receiving a boolean indicating whether the TextInput is focused and returning the color.\n */\n color?: ((isTextInputFocused: boolean) => string | undefined) | string;\n /**\n * Color of the ripple effect.\n */\n rippleColor?: ColorValue;\n style?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\ntype StyleContextType = {\n style: StyleProp;\n isTextInputFocused: boolean;\n forceFocus: () => void;\n testID: string;\n disabled?: boolean;\n};\n\nconst StyleContext = React.createContext({\n style: {},\n isTextInputFocused: false,\n forceFocus: () => {},\n testID: '',\n});\n\nconst IconAdornment: React.FunctionComponent<\n {\n testID: string;\n icon: React.ReactNode;\n topPosition: number;\n side: 'left' | 'right';\n theme?: ThemeProp;\n disabled?: boolean;\n } & Omit\n> = ({\n icon,\n topPosition,\n side,\n isTextInputFocused,\n forceFocus,\n testID,\n theme: themeOverrides,\n disabled,\n}) => {\n const { isV3 } = useInternalTheme(themeOverrides);\n const { ICON_OFFSET } = getConstants(isV3);\n\n const style = {\n top: topPosition,\n [side]: ICON_OFFSET,\n };\n const contextState = {\n style,\n isTextInputFocused,\n forceFocus,\n testID,\n disabled,\n };\n\n return (\n {icon}\n );\n};\n\n/**\n * A component to render a leading / trailing icon in the TextInput\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { TextInput } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [text, setText] = React.useState('');\n *\n * return (\n * }\n * />\n * );\n * };\n *\n * export default MyComponent;\n * ```\n */\n\nconst TextInputIcon = ({\n icon,\n onPress,\n forceTextInputFocus,\n color: customColor,\n theme: themeOverrides,\n rippleColor,\n ...rest\n}: Props) => {\n const { style, isTextInputFocused, forceFocus, testID, disabled } =\n React.useContext(StyleContext);\n\n const onPressWithFocusControl = React.useCallback(\n (e: GestureResponderEvent) => {\n if (forceTextInputFocus && !isTextInputFocused) {\n forceFocus();\n }\n\n onPress?.(e);\n },\n [forceTextInputFocus, forceFocus, isTextInputFocused, onPress]\n );\n\n const theme = useInternalTheme(themeOverrides);\n\n const iconColor = getIconColor({\n theme,\n disabled,\n isTextInputFocused,\n customColor,\n });\n\n return (\n \n \n \n );\n};\nTextInputIcon.displayName = 'TextInput.Icon';\n\nTextInputIcon.defaultProps = {\n forceTextInputFocus: true,\n};\n\nconst styles = StyleSheet.create({\n container: {\n position: 'absolute',\n width: ICON_SIZE,\n height: ICON_SIZE,\n justifyContent: 'center',\n alignItems: 'center',\n },\n iconButton: {\n margin: 0,\n },\n});\n\nexport default TextInputIcon;\n\n// @component-docs ignore-next-line\nexport { IconAdornment };\n","import * as React from 'react';\nimport { Animated, StyleSheet, StyleProp, ViewStyle } from 'react-native';\n\nimport type { ThemeProp } from 'src/types';\n\nimport { useInternalTheme } from '../../../core/theming';\n\ntype UnderlineProps = {\n parentState: {\n focused: boolean;\n };\n error?: boolean;\n colors?: {\n error?: string;\n };\n activeColor: string;\n underlineColorCustom?: string;\n hasActiveOutline?: boolean;\n style?: StyleProp;\n theme?: ThemeProp;\n};\n\nexport const Underline = ({\n parentState,\n error,\n colors,\n activeColor,\n underlineColorCustom,\n hasActiveOutline,\n style,\n theme: themeOverrides,\n}: UnderlineProps) => {\n const { isV3 } = useInternalTheme(themeOverrides);\n\n let backgroundColor = parentState.focused\n ? activeColor\n : underlineColorCustom;\n\n if (error) backgroundColor = colors?.error;\n\n const activeScale = isV3 ? 2 : 1;\n\n return (\n \n );\n};\n\nconst styles = StyleSheet.create({\n underline: {\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n zIndex: 1,\n },\n md3Underline: {\n height: 1,\n },\n});\n","import React from 'react';\nimport type {\n LayoutChangeEvent,\n TextStyle,\n StyleProp,\n Animated,\n} from 'react-native';\n\nimport type { ThemeProp } from 'src/types';\n\nimport { AdornmentSide, AdornmentType, InputMode } from './enums';\nimport TextInputAffix, { AffixAdornment } from './TextInputAffix';\nimport TextInputIcon, { IconAdornment } from './TextInputIcon';\nimport type {\n AdornmentConfig,\n AdornmentStyleAdjustmentForNativeInput,\n} from './types';\nimport { getConstants } from '../helpers';\n\nexport function getAdornmentConfig({\n left,\n right,\n}: {\n left?: React.ReactNode;\n right?: React.ReactNode;\n}): Array {\n let adornmentConfig: any[] = [];\n if (left || right) {\n [\n { side: AdornmentSide.Left, adornment: left },\n { side: AdornmentSide.Right, adornment: right },\n ].forEach(({ side, adornment }) => {\n if (adornment && React.isValidElement(adornment)) {\n let type;\n if (adornment.type === TextInputAffix) {\n type = AdornmentType.Affix;\n } else if (adornment.type === TextInputIcon) {\n type = AdornmentType.Icon;\n }\n adornmentConfig.push({\n side,\n type,\n });\n }\n });\n }\n\n return adornmentConfig;\n}\n\nexport function getAdornmentStyleAdjustmentForNativeInput({\n adornmentConfig,\n leftAffixWidth,\n rightAffixWidth,\n paddingHorizontal,\n inputOffset = 0,\n mode,\n isV3,\n}: {\n inputOffset?: number;\n adornmentConfig: AdornmentConfig[];\n leftAffixWidth: number;\n rightAffixWidth: number;\n mode?: 'outlined' | 'flat';\n paddingHorizontal?: number | string;\n isV3?: boolean;\n}): AdornmentStyleAdjustmentForNativeInput | {} {\n const { OUTLINED_INPUT_OFFSET, ADORNMENT_OFFSET } = getConstants(isV3);\n\n if (adornmentConfig.length) {\n const adornmentStyleAdjustmentForNativeInput = adornmentConfig.map(\n ({ type, side }: AdornmentConfig) => {\n const isLeftSide = side === AdornmentSide.Left;\n const inputModeAdornemntOffset =\n mode === InputMode.Outlined\n ? ADORNMENT_OFFSET + OUTLINED_INPUT_OFFSET\n : ADORNMENT_OFFSET;\n const paddingKey = `padding${captalize(side)}`;\n const affixWidth = isLeftSide ? leftAffixWidth : rightAffixWidth;\n const padding =\n typeof paddingHorizontal === 'number'\n ? paddingHorizontal\n : inputModeAdornemntOffset;\n const offset = affixWidth + padding;\n\n const isAffix = type === AdornmentType.Affix;\n const marginKey = `margin${captalize(side)}`;\n\n return {\n [marginKey]: isAffix ? 0 : offset,\n [paddingKey]: isAffix ? offset : inputOffset,\n };\n }\n );\n const allStyleAdjustmentsMerged =\n adornmentStyleAdjustmentForNativeInput.reduce(\n (mergedStyles, currentStyle) => {\n return {\n ...mergedStyles,\n ...currentStyle,\n };\n },\n {}\n );\n return allStyleAdjustmentsMerged;\n } else {\n return [{}];\n }\n}\n\nconst captalize = (text: string) =>\n text.charAt(0).toUpperCase() + text.slice(1);\n\nexport interface TextInputAdornmentProps {\n forceFocus: () => void;\n adornmentConfig: AdornmentConfig[];\n topPosition: {\n [AdornmentType.Affix]: {\n [AdornmentSide.Left]: number | null;\n [AdornmentSide.Right]: number | null;\n };\n [AdornmentType.Icon]: number;\n };\n onAffixChange: {\n [AdornmentSide.Left]: (event: LayoutChangeEvent) => void;\n [AdornmentSide.Right]: (event: LayoutChangeEvent) => void;\n };\n left?: React.ReactNode;\n right?: React.ReactNode;\n textStyle?: StyleProp;\n visible?: Animated.Value;\n isTextInputFocused: boolean;\n paddingHorizontal?: number | string;\n maxFontSizeMultiplier?: number | undefined | null;\n theme?: ThemeProp;\n disabled?: boolean;\n}\n\nconst TextInputAdornment: React.FunctionComponent = ({\n adornmentConfig,\n left,\n right,\n onAffixChange,\n textStyle,\n visible,\n topPosition,\n isTextInputFocused,\n forceFocus,\n paddingHorizontal,\n maxFontSizeMultiplier,\n theme,\n disabled,\n}) => {\n if (adornmentConfig.length) {\n return (\n <>\n {adornmentConfig.map(({ type, side }: AdornmentConfig) => {\n let inputAdornmentComponent;\n if (side === AdornmentSide.Left) {\n inputAdornmentComponent = left;\n } else if (side === AdornmentSide.Right) {\n inputAdornmentComponent = right;\n }\n\n const commonProps = {\n side: side,\n testID: `${side}-${type}-adornment`,\n isTextInputFocused,\n paddingHorizontal,\n disabled,\n };\n if (type === AdornmentType.Icon) {\n return (\n \n );\n } else if (type === AdornmentType.Affix) {\n return (\n \n );\n } else {\n return null;\n }\n })}\n \n );\n } else {\n return null;\n }\n};\n\nexport default TextInputAdornment;\n","import React from 'react';\nimport {\n Animated,\n ColorValue,\n Platform,\n StyleSheet,\n useWindowDimensions,\n} from 'react-native';\n\nimport AnimatedText from '../../Typography/AnimatedText';\nimport { getConstants } from '../helpers';\nimport type { InputLabelProps } from '../types';\n\nconst InputLabel = (props: InputLabelProps) => {\n const {\n labeled,\n wiggle,\n error,\n focused,\n opacity,\n labelLayoutWidth,\n labelBackground,\n label,\n labelError,\n onLayoutAnimatedText,\n onLabelTextLayout,\n hasActiveOutline,\n activeColor,\n placeholderStyle,\n baseLabelTranslateX,\n baseLabelTranslateY,\n font,\n fontSize,\n lineHeight,\n fontWeight,\n placeholderOpacity,\n wiggleOffsetX,\n labelScale,\n topPosition,\n paddingLeft,\n paddingRight,\n backgroundColor,\n roundness,\n placeholderColor,\n errorColor,\n labelTranslationXOffset,\n maxFontSizeMultiplier,\n testID,\n isV3,\n inputContainerLayout,\n } = props;\n\n const { INPUT_PADDING_HORIZONTAL } = getConstants(isV3);\n const { width } = useWindowDimensions();\n\n const paddingOffset =\n paddingLeft && paddingRight ? { paddingLeft, paddingRight } : {};\n\n const labelTranslationX = {\n transform: [\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [baseLabelTranslateX, labelTranslationXOffset || 0],\n }),\n },\n ],\n };\n\n const labelStyle = {\n ...font,\n fontSize,\n lineHeight,\n fontWeight,\n opacity: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n transform: [\n {\n // Wiggle the label when there's an error\n translateX: wiggle\n ? error.interpolate({\n inputRange: [0, 0.5, 1],\n outputRange: [0, wiggleOffsetX, 0],\n })\n : 0,\n },\n {\n // Move label to top\n translateY:\n baseLabelTranslateY !== 0\n ? labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [baseLabelTranslateY, 0],\n })\n : 0,\n },\n {\n // Make label smaller\n scale:\n labelScale !== 0\n ? labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [labelScale, 1],\n })\n : labeled,\n },\n ],\n };\n\n const commonStyles = [\n placeholderStyle,\n {\n top: topPosition,\n maxWidth: inputContainerLayout.width + INPUT_PADDING_HORIZONTAL / 2,\n },\n labelStyle,\n paddingOffset || {},\n ];\n\n const textColor = (\n labelError && errorColor ? errorColor : placeholderColor\n ) as ColorValue;\n\n return (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n \n {labelBackground?.({\n labeled,\n labelLayoutWidth,\n labelStyle,\n placeholderStyle,\n baseLabelTranslateX,\n topPosition,\n label,\n backgroundColor,\n roundness,\n maxFontSizeMultiplier: maxFontSizeMultiplier,\n testID,\n })}\n \n {label}\n \n \n {label}\n \n \n );\n};\n\nconst styles = StyleSheet.create({\n labelContainer: {\n zIndex: 3,\n },\n});\n\nexport default React.memo(InputLabel);\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 * @format\n * \n */\n\n'use strict';\n\nimport Dimensions from '../Dimensions';\nimport { useEffect, useState } from 'react';\nexport default function useWindowDimensions() {\n var _useState = useState(() => Dimensions.get('window')),\n dims = _useState[0],\n setDims = _useState[1];\n useEffect(() => {\n function handleChange(_ref) {\n var window = _ref.window;\n if (window != null) {\n setDims(window);\n }\n }\n Dimensions.addEventListener('change', handleChange);\n // We might have missed an update between calling `get` in render and\n // `addEventListener` in this handler, so we set it here. If there was\n // no change, React will filter out this update as a no-op.\n setDims(Dimensions.get('window'));\n return () => {\n Dimensions.removeEventListener('change', handleChange);\n };\n }, []);\n return dims;\n}","import * as React from 'react';\nimport {\n I18nManager,\n Platform,\n StyleSheet,\n TextInput as NativeTextInput,\n TextStyle,\n View,\n Animated,\n} from 'react-native';\n\nimport { Underline } from './Addons/Underline';\nimport { AdornmentSide, AdornmentType, InputMode } from './Adornment/enums';\nimport TextInputAdornment, {\n TextInputAdornmentProps,\n} from './Adornment/TextInputAdornment';\nimport {\n getAdornmentConfig,\n getAdornmentStyleAdjustmentForNativeInput,\n} from './Adornment/TextInputAdornment';\nimport {\n ADORNMENT_SIZE,\n LABEL_PADDING_TOP_DENSE,\n LABEL_WIGGLE_X_OFFSET,\n MAXIMIZED_LABEL_FONT_SIZE,\n MINIMIZED_LABEL_FONT_SIZE,\n MINIMIZED_LABEL_Y_OFFSET,\n MIN_DENSE_HEIGHT,\n MIN_DENSE_HEIGHT_WL,\n} from './constants';\nimport {\n adjustPaddingFlat,\n calculateFlatAffixTopPosition,\n calculateFlatInputHorizontalPadding,\n calculateInputHeight,\n calculateLabelTopPosition,\n calculatePadding,\n getConstants,\n getFlatInputColors,\n Padding,\n} from './helpers';\nimport InputLabel from './Label/InputLabel';\nimport type { ChildTextInputProps, RenderProps } from './types';\n\nconst TextInputFlat = ({\n disabled = false,\n editable = true,\n label,\n error = false,\n selectionColor: customSelectionColor,\n cursorColor,\n underlineColor,\n underlineStyle,\n activeUnderlineColor,\n textColor,\n dense,\n style,\n theme,\n render = (props: RenderProps) => ,\n multiline = false,\n parentState,\n innerRef,\n onFocus,\n forceFocus,\n onBlur,\n onChangeText,\n onLayoutAnimatedText,\n onLabelTextLayout,\n onLeftAffixLayoutChange,\n onRightAffixLayoutChange,\n onInputLayout,\n left,\n right,\n placeholderTextColor,\n testID = 'text-input-flat',\n contentStyle,\n ...rest\n}: ChildTextInputProps) => {\n const isAndroid = Platform.OS === 'android';\n const { colors, isV3, roundness } = theme;\n const font = isV3 ? theme.fonts.bodyLarge : theme.fonts.regular;\n const hasActiveOutline = parentState.focused || error;\n\n const { LABEL_PADDING_TOP, FLAT_INPUT_OFFSET, MIN_HEIGHT, MIN_WIDTH } =\n getConstants(isV3);\n\n const {\n fontSize: fontSizeStyle,\n lineHeight: lineHeightStyle,\n fontWeight,\n height,\n paddingHorizontal,\n textAlign,\n ...viewStyle\n } = (StyleSheet.flatten(style) || {}) as TextStyle;\n const fontSize = fontSizeStyle || MAXIMIZED_LABEL_FONT_SIZE;\n const lineHeight = lineHeightStyle || fontSize * 1.2;\n\n const isPaddingHorizontalPassed =\n paddingHorizontal !== undefined && typeof paddingHorizontal === 'number';\n\n const adornmentConfig = getAdornmentConfig({\n left,\n right,\n });\n\n let { paddingLeft, paddingRight } = calculateFlatInputHorizontalPadding({\n adornmentConfig,\n isV3,\n });\n\n if (isPaddingHorizontalPassed) {\n paddingLeft = paddingHorizontal as number;\n paddingRight = paddingHorizontal as number;\n }\n\n const { leftLayout, rightLayout } = parentState;\n\n const rightAffixWidth = right\n ? rightLayout.width || ADORNMENT_SIZE\n : ADORNMENT_SIZE;\n\n const leftAffixWidth = left\n ? leftLayout.width || ADORNMENT_SIZE\n : ADORNMENT_SIZE;\n\n const adornmentStyleAdjustmentForNativeInput =\n getAdornmentStyleAdjustmentForNativeInput({\n adornmentConfig,\n rightAffixWidth,\n leftAffixWidth,\n paddingHorizontal,\n inputOffset: FLAT_INPUT_OFFSET,\n mode: InputMode.Flat,\n isV3,\n });\n\n const {\n inputTextColor,\n activeColor,\n underlineColorCustom,\n placeholderColor,\n errorColor,\n backgroundColor,\n selectionColor,\n } = getFlatInputColors({\n underlineColor,\n activeUnderlineColor,\n customSelectionColor,\n textColor,\n disabled,\n error,\n theme,\n });\n\n const containerStyle = {\n backgroundColor,\n borderTopLeftRadius: theme.roundness,\n borderTopRightRadius: theme.roundness,\n };\n\n const labelScale = MINIMIZED_LABEL_FONT_SIZE / fontSize;\n const fontScale = MAXIMIZED_LABEL_FONT_SIZE / fontSize;\n\n const labelWidth = parentState.labelLayout.width;\n const labelHeight = parentState.labelLayout.height;\n const labelHalfWidth = labelWidth / 2;\n const labelHalfHeight = labelHeight / 2;\n\n const baseLabelTranslateX =\n (I18nManager.getConstants().isRTL ? 1 : -1) *\n (labelHalfWidth - (labelScale * labelWidth) / 2) +\n (1 - labelScale) *\n (I18nManager.getConstants().isRTL ? -1 : 1) *\n paddingLeft;\n\n const minInputHeight = dense\n ? (label ? MIN_DENSE_HEIGHT_WL : MIN_DENSE_HEIGHT) - LABEL_PADDING_TOP_DENSE\n : MIN_HEIGHT - LABEL_PADDING_TOP;\n\n const inputHeight = calculateInputHeight(labelHeight, height, minInputHeight);\n\n const topPosition = calculateLabelTopPosition(\n labelHeight,\n inputHeight,\n multiline && height ? 0 : !height ? minInputHeight / 2 : 0\n );\n\n if (height && typeof height !== 'number') {\n // eslint-disable-next-line\n console.warn('Currently we support only numbers in height prop');\n }\n\n const paddingSettings = {\n height: height ? +height : null,\n labelHalfHeight,\n offset: FLAT_INPUT_OFFSET,\n multiline: multiline ? multiline : null,\n dense: dense ? dense : null,\n topPosition,\n fontSize,\n lineHeight,\n label,\n scale: fontScale,\n isAndroid,\n styles: StyleSheet.flatten(\n dense ? styles.inputFlatDense : styles.inputFlat\n ) as Padding,\n };\n\n const pad = calculatePadding(paddingSettings);\n\n const paddingFlat = adjustPaddingFlat({\n ...paddingSettings,\n pad,\n });\n\n const baseLabelTranslateY =\n -labelHalfHeight - (topPosition + MINIMIZED_LABEL_Y_OFFSET);\n\n const { current: placeholderOpacityAnims } = React.useRef([\n new Animated.Value(0),\n new Animated.Value(1),\n ]);\n\n const placeholderOpacity = hasActiveOutline\n ? parentState.labeled\n : placeholderOpacityAnims[parentState.labelLayout.measured ? 1 : 0];\n\n const minHeight =\n height ||\n (dense ? (label ? MIN_DENSE_HEIGHT_WL : MIN_DENSE_HEIGHT) : MIN_HEIGHT);\n\n const flatHeight =\n inputHeight +\n (!height ? (dense ? LABEL_PADDING_TOP_DENSE : LABEL_PADDING_TOP) : 0);\n\n const iconTopPosition = (flatHeight - ADORNMENT_SIZE) / 2;\n\n const leftAffixTopPosition = leftLayout.height\n ? calculateFlatAffixTopPosition({\n height: flatHeight,\n ...paddingFlat,\n affixHeight: leftLayout.height,\n })\n : null;\n\n const rightAffixTopPosition = rightLayout.height\n ? calculateFlatAffixTopPosition({\n height: flatHeight,\n ...paddingFlat,\n affixHeight: rightLayout.height,\n })\n : null;\n\n const labelProps = {\n label,\n onLayoutAnimatedText,\n onLabelTextLayout,\n placeholderOpacity,\n labelError: error,\n placeholderStyle: styles.placeholder,\n baseLabelTranslateY,\n baseLabelTranslateX,\n font,\n fontSize,\n lineHeight,\n fontWeight,\n labelScale,\n wiggleOffsetX: LABEL_WIGGLE_X_OFFSET,\n topPosition,\n paddingLeft: isAndroid\n ? I18nManager.isRTL\n ? paddingRight\n : paddingLeft\n : paddingLeft,\n paddingRight: isAndroid\n ? I18nManager.isRTL\n ? paddingLeft\n : paddingRight\n : paddingRight,\n hasActiveOutline,\n activeColor,\n placeholderColor,\n errorColor,\n roundness,\n maxFontSizeMultiplier: rest.maxFontSizeMultiplier,\n testID,\n contentStyle,\n inputContainerLayout: parentState.inputContainerLayout,\n labelTextLayout: parentState.labelTextLayout,\n opacity:\n parentState.value || parentState.focused\n ? parentState.labelLayout.measured\n ? 1\n : 0\n : 1,\n isV3,\n };\n\n const affixTopPosition = {\n [AdornmentSide.Left]: leftAffixTopPosition,\n [AdornmentSide.Right]: rightAffixTopPosition,\n };\n const onAffixChange = {\n [AdornmentSide.Left]: onLeftAffixLayoutChange,\n [AdornmentSide.Right]: onRightAffixLayoutChange,\n };\n\n let adornmentProps: TextInputAdornmentProps = {\n paddingHorizontal,\n adornmentConfig,\n forceFocus,\n topPosition: {\n [AdornmentType.Affix]: affixTopPosition,\n [AdornmentType.Icon]: iconTopPosition,\n },\n onAffixChange,\n isTextInputFocused: parentState.focused,\n maxFontSizeMultiplier: rest.maxFontSizeMultiplier,\n disabled,\n };\n if (adornmentConfig.length) {\n adornmentProps = {\n ...adornmentProps,\n left,\n right,\n textStyle: { ...font, fontSize, lineHeight, fontWeight },\n visible: parentState.labeled,\n };\n }\n\n return (\n \n \n \n {!isAndroid && multiline && !!label && !disabled && (\n // Workaround for: https://github.com/callstack/react-native-paper/issues/2799\n // Patch for a multiline TextInput with fixed height, which allow to avoid covering input label with its value.\n \n )}\n {label ? (\n \n ) : null}\n {render?.({\n ...rest,\n ref: innerRef,\n onChangeText,\n placeholder: label ? parentState.placeholder : rest.placeholder,\n editable: !disabled && editable,\n selectionColor,\n cursorColor:\n typeof cursorColor === 'undefined' ? activeColor : cursorColor,\n placeholderTextColor: placeholderTextColor ?? placeholderColor,\n onFocus,\n onBlur,\n underlineColorAndroid: 'transparent',\n multiline,\n style: [\n styles.input,\n !multiline || (multiline && height) ? { height: flatHeight } : {},\n paddingFlat,\n {\n paddingLeft,\n paddingRight,\n ...font,\n fontSize,\n lineHeight,\n fontWeight,\n color: inputTextColor,\n textAlignVertical: multiline ? 'top' : 'center',\n textAlign: textAlign\n ? textAlign\n : I18nManager.getConstants().isRTL\n ? 'right'\n : 'left',\n minWidth: Math.min(\n parentState.labelTextLayout.width + 2 * FLAT_INPUT_OFFSET,\n MIN_WIDTH\n ),\n },\n Platform.OS === 'web' && { outline: 'none' },\n adornmentStyleAdjustmentForNativeInput,\n contentStyle,\n ],\n testID,\n })}\n \n \n \n );\n};\n\nexport default TextInputFlat;\n\nconst styles = StyleSheet.create({\n placeholder: {\n position: 'absolute',\n left: 0,\n },\n labelContainer: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n input: {\n margin: 0,\n },\n inputFlat: {\n paddingTop: 24,\n paddingBottom: 4,\n },\n inputFlatDense: {\n paddingTop: 22,\n paddingBottom: 2,\n },\n patchContainer: {\n height: 24,\n zIndex: 2,\n },\n densePatchContainer: {\n height: 22,\n zIndex: 2,\n },\n});\n","import * as React from 'react';\nimport {\n StyleSheet,\n ColorValue,\n StyleProp,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport { TextInputLabelProp } from '../types';\n\ntype OutlineProps = {\n isV3: boolean;\n activeColor: string;\n backgroundColor: ColorValue;\n hasActiveOutline?: boolean;\n focused?: boolean;\n outlineColor?: string;\n roundness?: number;\n label?: TextInputLabelProp;\n style?: StyleProp;\n};\n\nexport const Outline = ({\n isV3,\n label,\n activeColor,\n backgroundColor,\n hasActiveOutline,\n focused,\n outlineColor,\n roundness,\n style,\n}: OutlineProps) => (\n \n);\n\nconst styles = StyleSheet.create({\n outline: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 6,\n bottom: 0,\n },\n noLabelOutline: {\n top: 0,\n },\n});\n","import * as React from 'react';\nimport { Animated, StyleSheet } from 'react-native';\n\nimport AnimatedText from '../../Typography/AnimatedText';\nimport type { LabelBackgroundProps } from '../types';\n\nconst LabelBackground = ({\n labeled,\n labelLayoutWidth,\n placeholderStyle,\n baseLabelTranslateX,\n topPosition,\n label,\n backgroundColor,\n roundness,\n labelStyle,\n maxFontSizeMultiplier,\n testID,\n}: LabelBackgroundProps) => {\n const opacity = labeled.interpolate({\n inputRange: [0, 0.6],\n outputRange: [1, 0],\n });\n\n const labelTranslationX = {\n translateX: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [-baseLabelTranslateX, 0],\n }),\n };\n\n const labelTextScaleY = {\n scaleY: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [0.2, 1],\n }),\n };\n\n const labelTextTransform = [...labelStyle.transform, labelTextScaleY];\n\n const isRounded = roundness > 6;\n const roundedEdgeCover = isRounded ? (\n \n ) : null;\n\n return [\n roundedEdgeCover,\n \n {typeof label === 'string' ? label : label?.props.children}\n ,\n ];\n};\n\nexport default LabelBackground;\n\nconst styles = StyleSheet.create({\n view: {\n position: 'absolute',\n top: 6,\n left: 10,\n width: 12,\n },\n // eslint-disable-next-line react-native/no-color-literals\n outlinedLabel: {\n position: 'absolute',\n left: 8,\n paddingHorizontal: 0,\n color: 'transparent',\n },\n});\n","import * as React from 'react';\nimport {\n Animated,\n View,\n TextInput as NativeTextInput,\n StyleSheet,\n I18nManager,\n Platform,\n TextStyle,\n ColorValue,\n LayoutChangeEvent,\n} from 'react-native';\n\nimport { Outline } from './Addons/Outline';\nimport { AdornmentType, AdornmentSide } from './Adornment/enums';\nimport TextInputAdornment, {\n getAdornmentConfig,\n getAdornmentStyleAdjustmentForNativeInput,\n TextInputAdornmentProps,\n} from './Adornment/TextInputAdornment';\nimport {\n MAXIMIZED_LABEL_FONT_SIZE,\n MINIMIZED_LABEL_FONT_SIZE,\n LABEL_WIGGLE_X_OFFSET,\n ADORNMENT_SIZE,\n OUTLINE_MINIMIZED_LABEL_Y_OFFSET,\n LABEL_PADDING_TOP,\n MIN_DENSE_HEIGHT_OUTLINED,\n LABEL_PADDING_TOP_DENSE,\n} from './constants';\nimport {\n calculateLabelTopPosition,\n calculateInputHeight,\n calculatePadding,\n adjustPaddingOut,\n Padding,\n calculateOutlinedIconAndAffixTopPosition,\n getOutlinedInputColors,\n getConstants,\n} from './helpers';\nimport InputLabel from './Label/InputLabel';\nimport LabelBackground from './Label/LabelBackground';\nimport type { RenderProps, ChildTextInputProps } from './types';\n\nconst TextInputOutlined = ({\n disabled = false,\n editable = true,\n label,\n error = false,\n selectionColor: customSelectionColor,\n cursorColor,\n underlineColor: _underlineColor,\n outlineColor: customOutlineColor,\n activeOutlineColor,\n outlineStyle,\n textColor,\n dense,\n style,\n theme,\n render = (props: RenderProps) => ,\n multiline = false,\n parentState,\n innerRef,\n onFocus,\n forceFocus,\n onBlur,\n onChangeText,\n onLayoutAnimatedText,\n onLabelTextLayout,\n onLeftAffixLayoutChange,\n onRightAffixLayoutChange,\n onInputLayout,\n onLayout,\n left,\n right,\n placeholderTextColor,\n testID = 'text-input-outlined',\n contentStyle,\n ...rest\n}: ChildTextInputProps) => {\n const adornmentConfig = getAdornmentConfig({ left, right });\n\n const { colors, isV3, roundness } = theme;\n const font = isV3 ? theme.fonts.bodyLarge : theme.fonts.regular;\n const hasActiveOutline = parentState.focused || error;\n\n const { INPUT_PADDING_HORIZONTAL, MIN_HEIGHT, ADORNMENT_OFFSET, MIN_WIDTH } =\n getConstants(isV3);\n\n const {\n fontSize: fontSizeStyle,\n fontWeight,\n lineHeight: lineHeightStyle,\n height,\n backgroundColor = colors?.background,\n textAlign,\n ...viewStyle\n } = (StyleSheet.flatten(style) || {}) as TextStyle;\n const fontSize = fontSizeStyle || MAXIMIZED_LABEL_FONT_SIZE;\n const lineHeight = lineHeightStyle || fontSize * 1.2;\n\n const {\n inputTextColor,\n activeColor,\n outlineColor,\n placeholderColor,\n errorColor,\n selectionColor,\n } = getOutlinedInputColors({\n activeOutlineColor,\n customOutlineColor,\n customSelectionColor,\n textColor,\n disabled,\n error,\n theme,\n });\n\n const densePaddingTop = label ? LABEL_PADDING_TOP_DENSE : 0;\n const paddingTop = label ? LABEL_PADDING_TOP : 0;\n const yOffset = label ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET : 0;\n\n const labelScale = MINIMIZED_LABEL_FONT_SIZE / fontSize;\n const fontScale = MAXIMIZED_LABEL_FONT_SIZE / fontSize;\n\n const labelWidth = parentState.labelLayout.width;\n const labelHeight = parentState.labelLayout.height;\n const labelHalfWidth = labelWidth / 2;\n const labelHalfHeight = labelHeight / 2;\n\n const baseLabelTranslateX =\n (I18nManager.getConstants().isRTL ? 1 : -1) *\n (labelHalfWidth -\n (labelScale * labelWidth) / 2 -\n (fontSize - MINIMIZED_LABEL_FONT_SIZE) * labelScale);\n\n let labelTranslationXOffset = 0;\n const isAdornmentLeftIcon = adornmentConfig.some(\n ({ side, type }) =>\n side === AdornmentSide.Left && type === AdornmentType.Icon\n );\n const isAdornmentRightIcon = adornmentConfig.some(\n ({ side, type }) =>\n side === AdornmentSide.Right && type === AdornmentType.Icon\n );\n\n if (isAdornmentLeftIcon) {\n labelTranslationXOffset =\n (I18nManager.getConstants().isRTL ? -1 : 1) *\n (ADORNMENT_SIZE + ADORNMENT_OFFSET - (isV3 ? 0 : 8));\n }\n\n const minInputHeight =\n (dense ? MIN_DENSE_HEIGHT_OUTLINED : MIN_HEIGHT) - paddingTop;\n\n const inputHeight = calculateInputHeight(labelHeight, height, minInputHeight);\n\n const topPosition = calculateLabelTopPosition(\n labelHeight,\n inputHeight,\n paddingTop\n );\n\n if (height && typeof height !== 'number') {\n // eslint-disable-next-line\n console.warn('Currently we support only numbers in height prop');\n }\n\n const paddingSettings = {\n height: height ? +height : null,\n labelHalfHeight,\n offset: paddingTop,\n multiline: multiline ? multiline : null,\n dense: dense ? dense : null,\n topPosition,\n fontSize,\n lineHeight,\n label,\n scale: fontScale,\n isAndroid: Platform.OS === 'android',\n styles: StyleSheet.flatten(\n dense ? styles.inputOutlinedDense : styles.inputOutlined\n ) as Padding,\n };\n\n const pad = calculatePadding(paddingSettings);\n\n const paddingOut = adjustPaddingOut({ ...paddingSettings, pad });\n\n const baseLabelTranslateY = -labelHalfHeight - (topPosition + yOffset);\n\n const { current: placeholderOpacityAnims } = React.useRef([\n new Animated.Value(0),\n new Animated.Value(1),\n ]);\n\n const placeholderOpacity = hasActiveOutline\n ? parentState.labeled\n : placeholderOpacityAnims[parentState.labelLayout.measured ? 1 : 0];\n\n const placeholderStyle = {\n position: 'absolute',\n left: 0,\n paddingHorizontal: INPUT_PADDING_HORIZONTAL,\n };\n\n const labelBackgroundColor: ColorValue =\n backgroundColor === 'transparent'\n ? theme.colors.background\n : backgroundColor;\n\n const labelProps = {\n label,\n onLayoutAnimatedText,\n onLabelTextLayout,\n placeholderOpacity,\n labelError: error,\n placeholderStyle,\n baseLabelTranslateY,\n baseLabelTranslateX,\n font,\n fontSize,\n lineHeight,\n fontWeight,\n labelScale,\n wiggleOffsetX: LABEL_WIGGLE_X_OFFSET,\n topPosition,\n hasActiveOutline,\n activeColor,\n placeholderColor,\n backgroundColor: labelBackgroundColor,\n errorColor,\n labelTranslationXOffset,\n roundness,\n maxFontSizeMultiplier: rest.maxFontSizeMultiplier,\n testID,\n contentStyle,\n inputContainerLayout: {\n width:\n parentState.inputContainerLayout.width +\n (isAdornmentRightIcon || isAdornmentLeftIcon\n ? INPUT_PADDING_HORIZONTAL\n : 0),\n },\n opacity:\n parentState.value || parentState.focused\n ? parentState.labelLayout.measured\n ? 1\n : 0\n : 1,\n isV3,\n };\n\n const onLayoutChange = React.useCallback(\n (e: LayoutChangeEvent) => {\n onInputLayout(e);\n onLayout?.(e);\n },\n [onLayout, onInputLayout]\n );\n\n const minHeight = (height ||\n (dense ? MIN_DENSE_HEIGHT_OUTLINED : MIN_HEIGHT)) as number;\n\n const outlinedHeight =\n inputHeight + (!height ? (dense ? densePaddingTop / 2 : paddingTop) : 0);\n\n const { leftLayout, rightLayout } = parentState;\n\n const leftAffixTopPosition = calculateOutlinedIconAndAffixTopPosition({\n height: outlinedHeight,\n affixHeight: leftLayout.height || 0,\n labelYOffset: -yOffset,\n });\n\n const rightAffixTopPosition = calculateOutlinedIconAndAffixTopPosition({\n height: outlinedHeight,\n affixHeight: rightLayout.height || 0,\n labelYOffset: -yOffset,\n });\n const iconTopPosition = calculateOutlinedIconAndAffixTopPosition({\n height: outlinedHeight,\n affixHeight: ADORNMENT_SIZE,\n labelYOffset: -yOffset,\n });\n\n const rightAffixWidth = right\n ? rightLayout.width || ADORNMENT_SIZE\n : ADORNMENT_SIZE;\n\n const leftAffixWidth = left\n ? leftLayout.width || ADORNMENT_SIZE\n : ADORNMENT_SIZE;\n\n const adornmentStyleAdjustmentForNativeInput =\n getAdornmentStyleAdjustmentForNativeInput({\n adornmentConfig,\n rightAffixWidth,\n leftAffixWidth,\n mode: 'outlined',\n isV3,\n });\n const affixTopPosition = {\n [AdornmentSide.Left]: leftAffixTopPosition,\n [AdornmentSide.Right]: rightAffixTopPosition,\n };\n const onAffixChange = {\n [AdornmentSide.Left]: onLeftAffixLayoutChange,\n [AdornmentSide.Right]: onRightAffixLayoutChange,\n };\n\n let adornmentProps: TextInputAdornmentProps = {\n adornmentConfig,\n forceFocus,\n topPosition: {\n [AdornmentType.Icon]: iconTopPosition,\n [AdornmentType.Affix]: affixTopPosition,\n },\n onAffixChange,\n isTextInputFocused: parentState.focused,\n maxFontSizeMultiplier: rest.maxFontSizeMultiplier,\n disabled,\n };\n if (adornmentConfig.length) {\n adornmentProps = {\n ...adornmentProps,\n left,\n right,\n textStyle: { ...font, fontSize, lineHeight, fontWeight },\n visible: parentState.labeled,\n };\n }\n\n return (\n \n {/*\n Render the outline separately from the container\n This is so that the label can overlap the outline\n Otherwise the border will cut off the label on Android\n */}\n \n \n {label ? (\n \n ) : null}\n {render?.({\n ...rest,\n ref: innerRef,\n onLayout: onLayoutChange,\n onChangeText,\n placeholder: label ? parentState.placeholder : rest.placeholder,\n editable: !disabled && editable,\n selectionColor,\n cursorColor:\n typeof cursorColor === 'undefined' ? activeColor : cursorColor,\n placeholderTextColor: placeholderTextColor || placeholderColor,\n onFocus,\n onBlur,\n underlineColorAndroid: 'transparent',\n multiline,\n style: [\n styles.input,\n !multiline || (multiline && height) ? { height: inputHeight } : {},\n paddingOut,\n {\n ...font,\n fontSize,\n lineHeight,\n fontWeight,\n color: inputTextColor,\n textAlignVertical: multiline ? 'top' : 'center',\n textAlign: textAlign\n ? textAlign\n : I18nManager.getConstants().isRTL\n ? 'right'\n : 'left',\n paddingHorizontal: INPUT_PADDING_HORIZONTAL,\n minWidth: Math.min(\n parentState.labelTextLayout.width +\n 2 * INPUT_PADDING_HORIZONTAL,\n MIN_WIDTH\n ),\n },\n Platform.OS === 'web' && { outline: 'none' },\n adornmentStyleAdjustmentForNativeInput,\n contentStyle,\n ],\n testID,\n } as RenderProps)}\n \n \n \n );\n};\n\nexport default TextInputOutlined;\n\nconst styles = StyleSheet.create({\n labelContainer: {\n paddingBottom: 0,\n },\n input: {\n margin: 0,\n },\n inputOutlined: {\n paddingTop: 8,\n paddingBottom: 8,\n },\n inputOutlinedDense: {\n paddingTop: 4,\n paddingBottom: 4,\n },\n});\n","export const roundLayoutSize = (size: number): number =>\n Math.round(size * 1000) / 1000;\n","import * as React from 'react';\nimport {\n Animated,\n LayoutChangeEvent,\n StyleProp,\n TextInput as NativeTextInput,\n TextStyle,\n ViewStyle,\n NativeSyntheticEvent,\n TextLayoutEventData,\n} from 'react-native';\n\nimport TextInputAffix, {\n Props as TextInputAffixProps,\n} from './Adornment/TextInputAffix';\nimport TextInputIcon, {\n Props as TextInputIconProps,\n} from './Adornment/TextInputIcon';\nimport TextInputFlat from './TextInputFlat';\nimport TextInputOutlined from './TextInputOutlined';\nimport type { RenderProps, TextInputLabelProp } from './types';\nimport { useInternalTheme } from '../../core/theming';\nimport type { ThemeProp } from '../../types';\nimport { forwardRef } from '../../utils/forwardRef';\nimport { roundLayoutSize } from '../../utils/roundLayoutSize';\n\nconst BLUR_ANIMATION_DURATION = 180;\nconst FOCUS_ANIMATION_DURATION = 150;\n\nexport type Props = React.ComponentPropsWithRef & {\n /**\n * Mode of the TextInput.\n * - `flat` - flat input with an underline.\n * - `outlined` - input with an outline.\n *\n * In `outlined` mode, the background color of the label is derived from `colors?.background` in theme or the `backgroundColor` style.\n * This component render TextInputOutlined or TextInputFlat based on that props\n */\n mode?: 'flat' | 'outlined';\n left?: React.ReactNode;\n right?: React.ReactNode;\n /**\n * If true, user won't be able to interact with the component.\n */\n disabled?: boolean;\n /**\n * The text or component to use for the floating label.\n */\n label?: TextInputLabelProp;\n /**\n * Placeholder for the input.\n */\n placeholder?: string;\n /**\n * Whether to style the TextInput with error style.\n */\n error?: boolean;\n /**\n * Callback that is called when the text input's text changes. Changed text is passed as an argument to the callback handler.\n */\n onChangeText?: Function;\n /**\n * Selection color of the input. On iOS, it sets both the selection color and cursor color.\n * On Android, it sets only the selection color.\n */\n selectionColor?: string;\n /**\n * @platform Android only\n * Cursor (or \"caret\") color of the input on Android.\n * This property has no effect on iOS.\n */\n cursorColor?: string;\n /**\n * Inactive underline color of the input.\n */\n underlineColor?: string;\n /**\n * Active underline color of the input.\n */\n activeUnderlineColor?: string;\n /**\n * Inactive outline color of the input.\n */\n outlineColor?: string;\n /**\n * Active outline color of the input.\n */\n activeOutlineColor?: string;\n /**\n * Color of the text in the input.\n */\n textColor?: string;\n /**\n * Sets min height with densed layout. For `TextInput` in `flat` mode\n * height is `64dp` or in dense layout - `52dp` with label or `40dp` without label.\n * For `TextInput` in `outlined` mode\n * height is `56dp` or in dense layout - `40dp` regardless of label.\n * When you apply `height` prop in style the `dense` prop affects only `paddingVertical` inside `TextInput`\n */\n dense?: boolean;\n /**\n * Whether the input can have multiple lines.\n */\n multiline?: boolean;\n /**\n * @platform Android only\n * The number of lines to show in the input (Android only).\n */\n numberOfLines?: number;\n /**\n * Callback that is called when the text input is focused.\n */\n onFocus?: (args: any) => void;\n /**\n * Callback that is called when the text input is blurred.\n */\n onBlur?: (args: any) => void;\n /**\n *\n * Callback to render a custom input component such as `react-native-text-input-mask`\n * instead of the default `TextInput` component from `react-native`.\n *\n * Example:\n * ```js\n * \n * \n * }\n * />\n * ```\n */\n render?: (props: RenderProps) => React.ReactNode;\n /**\n * Value of the text input.\n */\n value?: string;\n /**\n * Pass `fontSize` prop to modify the font size inside `TextInput`.\n * Pass `height` prop to set `TextInput` height. When `height` is passed,\n * `dense` prop will affect only input's `paddingVertical`.\n * Pass `paddingHorizontal` to modify horizontal padding.\n * This can be used to get MD Guidelines v1 TextInput look.\n */\n style?: StyleProp;\n /**\n * @optional\n */\n theme?: ThemeProp;\n /**\n * testID to be used on tests.\n */\n testID?: string;\n /**\n * Pass custom style directly to the input itself.\n * Overrides input style\n * Example: `paddingLeft`, `backgroundColor`\n */\n contentStyle?: StyleProp;\n /**\n * Pass style to override the default style of outlined wrapper.\n * Overrides style when mode is set to `outlined`\n * Example: `borderRadius`, `borderColor`\n */\n outlineStyle?: StyleProp;\n /**\n * Pass style to override the default style of underlined wrapper.\n * Overrides style when mode is set to `flat`\n * Example: `borderRadius`, `borderColor`\n */\n underlineStyle?: StyleProp;\n};\n\ninterface CompoundedComponent\n extends React.ForwardRefExoticComponent<\n Props & React.RefAttributes\n > {\n Icon: React.FunctionComponent;\n Affix: React.FunctionComponent>;\n}\n\ntype TextInputHandles = Pick<\n NativeTextInput,\n 'focus' | 'clear' | 'blur' | 'isFocused' | 'setNativeProps'\n>;\n\nconst DefaultRenderer = (props: RenderProps) => ;\n\n/**\n * A component to allow users to input text.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { TextInput } from 'react-native-paper';\n *\n * const MyComponent = () => {\n * const [text, setText] = React.useState(\"\");\n *\n * return (\n * setText(text)}\n * />\n * );\n * };\n *\n * export default MyComponent;\n * ```\n *\n * @extends TextInput props https://reactnative.dev/docs/textinput#props\n */\nconst TextInput = forwardRef(\n (\n {\n mode = 'flat',\n dense = false,\n disabled = false,\n error: errorProp = false,\n multiline = false,\n editable = true,\n contentStyle,\n render = DefaultRenderer,\n theme: themeOverrides,\n ...rest\n }: Props,\n ref\n ) => {\n const theme = useInternalTheme(themeOverrides);\n const isControlled = rest.value !== undefined;\n const validInputValue = isControlled ? rest.value : rest.defaultValue;\n\n const { current: labeled } = React.useRef(\n new Animated.Value(validInputValue ? 0 : 1)\n );\n const { current: error } = React.useRef(\n new Animated.Value(errorProp ? 1 : 0)\n );\n const [focused, setFocused] = React.useState(false);\n const [placeholder, setPlaceholder] = React.useState(\n ' '\n );\n const [uncontrolledValue, setUncontrolledValue] = React.useState<\n string | undefined\n >(validInputValue);\n // Use value from props instead of local state when input is controlled\n const value = isControlled ? rest.value : uncontrolledValue;\n\n const [labelTextLayout, setLabelTextLayout] = React.useState({\n width: 33,\n });\n\n const [inputContainerLayout, setInputContainerLayout] = React.useState({\n width: 65,\n });\n\n const [labelLayout, setLabelLayout] = React.useState<{\n measured: boolean;\n width: number;\n height: number;\n }>({\n measured: false,\n width: 0,\n height: 0,\n });\n const [leftLayout, setLeftLayout] = React.useState<{\n height: number | null;\n width: number | null;\n }>({\n width: null,\n height: null,\n });\n const [rightLayout, setRightLayout] = React.useState<{\n height: number | null;\n width: number | null;\n }>({\n width: null,\n height: null,\n });\n\n const timer = React.useRef();\n\n const root = React.useRef();\n\n const { scale } = theme.animation;\n\n React.useImperativeHandle(ref, () => ({\n focus: () => root.current?.focus(),\n clear: () => root.current?.clear(),\n setNativeProps: (args: Object) => root.current?.setNativeProps(args),\n isFocused: () => root.current?.isFocused() || false,\n blur: () => root.current?.blur(),\n forceFocus: () => root.current?.focus(),\n }));\n\n React.useEffect(() => {\n // When the input has an error, we wiggle the label and apply error styles\n if (errorProp) {\n // show error\n Animated.timing(error, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION * scale,\n // To prevent this - https://github.com/callstack/react-native-paper/issues/941\n useNativeDriver: true,\n }).start();\n } else {\n // hide error\n {\n Animated.timing(error, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION * scale,\n // To prevent this - https://github.com/callstack/react-native-paper/issues/941\n useNativeDriver: true,\n }).start();\n }\n }\n }, [errorProp, scale, error]);\n\n React.useEffect(() => {\n // Show placeholder text only if the input is focused, or there's no label\n // We don't show placeholder if there's a label because the label acts as placeholder\n // When focused, the label moves up, so we can show a placeholder\n if (focused || !rest.label) {\n // If the user wants to use the contextMenu, when changing the placeholder, the contextMenu is closed\n // This is a workaround to mitigate this behavior in scenarios where the placeholder is not specified.\n if (rest.placeholder) {\n // Set the placeholder in a delay to offset the label animation\n // If we show it immediately, they'll overlap and look ugly\n timer.current = setTimeout(\n () => setPlaceholder(rest.placeholder),\n 50\n ) as unknown as NodeJS.Timeout;\n }\n } else {\n // hidePlaceholder\n\n // Issue: https://github.com/callstack/react-native-paper/issues/3138\n // Description: Changing the placeholder text value dynamically,\n // within multiline input on iOS, doesn't work properly –\n // the placeholder is not displayed initially.\n // Root cause: Placeholder initial value, which has length 0.\n // More context: The issue was also reproduced in react-native, using its own TextInput.\n // Workaround: Set an empty space character in the default value.\n setPlaceholder(' ');\n }\n\n return () => {\n if (timer.current) {\n clearTimeout(timer.current);\n }\n };\n }, [focused, rest.label, rest.placeholder]);\n\n React.useEffect(() => {\n labeled.stopAnimation();\n // The label should be minimized if the text input is focused, or has text\n // In minimized mode, the label moves up and becomes small\n // workaround for animated regression for react native > 0.61\n // https://github.com/callstack/react-native-paper/pull/1440\n if (value || focused) {\n // minimize label\n Animated.timing(labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION * scale,\n // To prevent this - https://github.com/callstack/react-native-paper/issues/941\n useNativeDriver: true,\n }).start();\n } else {\n // restore label\n Animated.timing(labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION * scale,\n // To prevent this - https://github.com/callstack/react-native-paper/issues/941\n useNativeDriver: true,\n }).start();\n }\n }, [focused, value, labeled, scale]);\n\n const onLeftAffixLayoutChange = React.useCallback(\n (event: LayoutChangeEvent) => {\n const height = roundLayoutSize(event.nativeEvent.layout.height);\n const width = roundLayoutSize(event.nativeEvent.layout.width);\n\n if (width !== leftLayout.width || height !== leftLayout.height) {\n setLeftLayout({\n width,\n height,\n });\n }\n },\n [leftLayout.height, leftLayout.width]\n );\n\n const onRightAffixLayoutChange = React.useCallback(\n (event: LayoutChangeEvent) => {\n const width = roundLayoutSize(event.nativeEvent.layout.width);\n const height = roundLayoutSize(event.nativeEvent.layout.height);\n\n if (width !== rightLayout.width || height !== rightLayout.height) {\n setRightLayout({\n width,\n height,\n });\n }\n },\n [rightLayout.height, rightLayout.width]\n );\n\n const handleFocus = (args: any) => {\n if (disabled || !editable) {\n return;\n }\n\n setFocused(true);\n\n rest.onFocus?.(args);\n };\n\n const handleBlur = (args: Object) => {\n if (!editable) {\n return;\n }\n\n setFocused(false);\n rest.onBlur?.(args);\n };\n\n const handleChangeText = (value: string) => {\n if (!editable || disabled) {\n return;\n }\n\n if (!isControlled) {\n // Keep track of value in local state when input is not controlled\n setUncontrolledValue(value);\n }\n rest.onChangeText?.(value);\n };\n\n const handleLayoutAnimatedText = React.useCallback(\n (e: LayoutChangeEvent) => {\n const width = roundLayoutSize(e.nativeEvent.layout.width);\n const height = roundLayoutSize(e.nativeEvent.layout.height);\n\n if (width !== labelLayout.width || height !== labelLayout.height) {\n setLabelLayout({\n width,\n height,\n measured: true,\n });\n }\n },\n [labelLayout.height, labelLayout.width]\n );\n\n const handleLabelTextLayout = React.useCallback(\n ({ nativeEvent }: NativeSyntheticEvent) => {\n setLabelTextLayout({\n width: nativeEvent.lines.reduce(\n (acc, line) => acc + Math.ceil(line.width),\n 0\n ),\n });\n },\n []\n );\n\n const handleInputContainerLayout = React.useCallback(\n ({ nativeEvent: { layout } }: LayoutChangeEvent) => {\n setInputContainerLayout({\n width: layout.width,\n });\n },\n []\n );\n\n const forceFocus = React.useCallback(() => root.current?.focus(), []);\n\n const { maxFontSizeMultiplier = 1.5 } = rest;\n\n if (mode === 'outlined') {\n return (\n {\n root.current = ref;\n }}\n onFocus={handleFocus}\n forceFocus={forceFocus}\n onBlur={handleBlur}\n onChangeText={handleChangeText}\n onLayoutAnimatedText={handleLayoutAnimatedText}\n onInputLayout={handleInputContainerLayout}\n onLabelTextLayout={handleLabelTextLayout}\n onLeftAffixLayoutChange={onLeftAffixLayoutChange}\n onRightAffixLayoutChange={onRightAffixLayoutChange}\n maxFontSizeMultiplier={maxFontSizeMultiplier}\n contentStyle={contentStyle}\n />\n );\n }\n\n return (\n {\n root.current = ref;\n }}\n onFocus={handleFocus}\n forceFocus={forceFocus}\n onBlur={handleBlur}\n onInputLayout={handleInputContainerLayout}\n onChangeText={handleChangeText}\n onLayoutAnimatedText={handleLayoutAnimatedText}\n onLabelTextLayout={handleLabelTextLayout}\n onLeftAffixLayoutChange={onLeftAffixLayoutChange}\n onRightAffixLayoutChange={onRightAffixLayoutChange}\n maxFontSizeMultiplier={maxFontSizeMultiplier}\n contentStyle={contentStyle}\n />\n );\n }\n) as CompoundedComponent;\n// @component ./Adornment/TextInputIcon.tsx\nTextInput.Icon = TextInputIcon;\n\n// @component ./Adornment/TextInputAffix.tsx\n// @ts-ignore Types of property 'theme' are incompatible.\nTextInput.Affix = TextInputAffix;\n\nexport default TextInput;\n","import type * as React from 'react';\nimport type {\n PressableProps as PressableNativeProps,\n StyleProp,\n View,\n ViewStyle,\n} from 'react-native';\nimport { Pressable as PressableNative } from 'react-native';\n\n// This component is added to support type-safe hover and focus states on web\n// https://necolas.github.io/react-native-web/docs/pressable/\n\nexport type PressableStateCallbackType = {\n hovered: boolean;\n pressed: boolean;\n focused: boolean;\n};\n\nexport type PressableProps = Omit<\n PressableNativeProps,\n 'children' | 'style'\n> & {\n children:\n | React.ReactNode\n | ((state: PressableStateCallbackType) => React.ReactNode)\n | undefined;\n style?:\n | StyleProp\n | ((state: PressableStateCallbackType) => StyleProp)\n | undefined;\n};\n\nexport const Pressable: React.ForwardRefExoticComponent<\n PressableProps & React.RefAttributes\n> = PressableNative as any;\n","import type { ColorValue } from 'react-native';\n\nimport color from 'color';\n\nimport type { InternalTheme } from '../../types';\n\nconst getUnderlayColor = ({\n theme,\n calculatedRippleColor,\n underlayColor,\n}: {\n theme: InternalTheme;\n calculatedRippleColor: ColorValue;\n underlayColor?: string;\n}) => {\n if (underlayColor != null) {\n return underlayColor;\n }\n\n if (theme.isV3) {\n return color(calculatedRippleColor).rgb().string();\n }\n\n return color(calculatedRippleColor).fade(0.5).rgb().string();\n};\n\nconst getRippleColor = ({\n theme,\n rippleColor,\n}: {\n theme: InternalTheme;\n rippleColor?: ColorValue;\n}) => {\n if (rippleColor) {\n return rippleColor;\n }\n\n if (theme.isV3) {\n return color(theme.colors.onSurface).alpha(0.12).rgb().string();\n }\n\n if (theme.dark) {\n return color(theme.colors.text).alpha(0.32).rgb().string();\n }\n return color(theme.colors.text).alpha(0.2).rgb().string();\n};\n\nexport const getTouchableRippleColors = ({\n theme,\n rippleColor,\n underlayColor,\n}: {\n theme: InternalTheme;\n rippleColor?: ColorValue;\n underlayColor?: string;\n}) => {\n const calculatedRippleColor = getRippleColor({ theme, rippleColor });\n return {\n calculatedRippleColor,\n calculatedUnderlayColor: getUnderlayColor({\n theme,\n calculatedRippleColor,\n underlayColor,\n }),\n };\n};\n","import * as React from 'react';\nimport {\n ColorValue,\n GestureResponderEvent,\n Platform,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport color from 'color';\n\nimport type { PressableProps, PressableStateCallbackType } from './Pressable';\nimport { Pressable } from './Pressable';\nimport { getTouchableRippleColors } from './utils';\nimport { Settings, SettingsContext } from '../../core/settings';\nimport { useInternalTheme } from '../../core/theming';\nimport type { ThemeProp } from '../../types';\nimport { forwardRef } from '../../utils/forwardRef';\nimport hasTouchHandler from '../../utils/hasTouchHandler';\n\nexport type Props = PressableProps & {\n /**\n * Whether to render the ripple outside the view bounds.\n */\n borderless?: boolean;\n /**\n * Type of background drawabale to display the feedback (Android).\n * https://reactnative.dev/docs/pressable#rippleconfig\n */\n background?: Object;\n /**\n * Whether to start the ripple at the center (Web).\n */\n centered?: boolean;\n /**\n * Whether to prevent interaction with the touchable.\n */\n disabled?: boolean;\n /**\n * Function to execute on press. If not set, will cause the touchable to be disabled.\n */\n onPress?: (e: GestureResponderEvent) => void;\n /**\n * Function to execute on long press.\n */\n onLongPress?: (e: GestureResponderEvent) => void;\n /**\n * Function to execute immediately when a touch is engaged, before `onPressOut` and `onPress`.\n */\n onPressIn?: (e: GestureResponderEvent) => void;\n /**\n * Function to execute when a touch is released.\n */\n onPressOut?: (e: GestureResponderEvent) => void;\n /**\n * Color of the ripple effect (Android >= 5.0 and Web).\n */\n rippleColor?: ColorValue;\n /**\n * Color of the underlay for the highlight effect (Android < 5.0 and iOS).\n */\n underlayColor?: string;\n /**\n * Content of the `TouchableRipple`.\n */\n children:\n | ((state: PressableStateCallbackType) => React.ReactNode)\n | React.ReactNode;\n style?:\n | StyleProp\n | ((state: PressableStateCallbackType) => StyleProp)\n | undefined;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\n/**\n * A wrapper for views that should respond to touches.\n * Provides a material \"ink ripple\" interaction effect for supported platforms (>= Android Lollipop).\n * On unsupported platforms, it falls back to a highlight effect.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { View } from 'react-native';\n * import { Text, TouchableRipple } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * console.log('Pressed')}\n * rippleColor=\"rgba(0, 0, 0, .32)\"\n * >\n * Press anywhere\n * \n * );\n *\n * export default MyComponent;\n * ```\n *\n * @extends Pressable props https://reactnative.dev/docs/Pressable#props\n */\nconst TouchableRipple = (\n {\n style,\n background: _background,\n borderless = false,\n disabled: disabledProp,\n rippleColor,\n underlayColor: _underlayColor,\n children,\n theme: themeOverrides,\n ...rest\n }: Props,\n ref: React.ForwardedRef\n) => {\n const theme = useInternalTheme(themeOverrides);\n const { calculatedRippleColor } = getTouchableRippleColors({\n theme,\n rippleColor,\n });\n const hoverColor = color(calculatedRippleColor).fade(0.5).rgb().string();\n const { rippleEffectEnabled } = React.useContext(SettingsContext);\n\n const { onPress, onLongPress, onPressIn, onPressOut } = rest;\n\n const handlePressIn = React.useCallback(\n (e: any) => {\n onPressIn?.(e);\n\n if (rippleEffectEnabled) {\n const { centered } = rest;\n\n const button = e.currentTarget;\n const style = window.getComputedStyle(button);\n const dimensions = button.getBoundingClientRect();\n\n let touchX;\n let touchY;\n\n const { changedTouches, touches } = e.nativeEvent;\n const touch = touches?.[0] ?? changedTouches?.[0];\n\n // If centered or it was pressed using keyboard - enter or space\n if (centered || !touch) {\n touchX = dimensions.width / 2;\n touchY = dimensions.height / 2;\n } else {\n touchX = touch.locationX ?? e.pageX;\n touchY = touch.locationY ?? e.pageY;\n }\n\n // Get the size of the button to determine how big the ripple should be\n const size = centered\n ? // If ripple is always centered, we don't need to make it too big\n Math.min(dimensions.width, dimensions.height) * 1.25\n : // Otherwise make it twice as big so clicking on one end spreads ripple to other\n Math.max(dimensions.width, dimensions.height) * 2;\n\n // Create a container for our ripple effect so we don't need to change the parent's style\n const container = document.createElement('span');\n\n container.setAttribute('data-paper-ripple', '');\n\n Object.assign(container.style, {\n position: 'absolute',\n pointerEvents: 'none',\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n borderTopLeftRadius: style.borderTopLeftRadius,\n borderTopRightRadius: style.borderTopRightRadius,\n borderBottomRightRadius: style.borderBottomRightRadius,\n borderBottomLeftRadius: style.borderBottomLeftRadius,\n overflow: centered ? 'visible' : 'hidden',\n });\n\n // Create span to show the ripple effect\n const ripple = document.createElement('span');\n\n Object.assign(ripple.style, {\n position: 'absolute',\n pointerEvents: 'none',\n backgroundColor: calculatedRippleColor,\n borderRadius: '50%',\n\n /* Transition configuration */\n transitionProperty: 'transform opacity',\n transitionDuration: `${Math.min(size * 1.5, 350)}ms`,\n transitionTimingFunction: 'linear',\n transformOrigin: 'center',\n\n /* We'll animate these properties */\n transform: 'translate3d(-50%, -50%, 0) scale3d(0.1, 0.1, 0.1)',\n opacity: '0.5',\n\n // Position the ripple where cursor was\n left: `${touchX}px`,\n top: `${touchY}px`,\n width: `${size}px`,\n height: `${size}px`,\n });\n\n // Finally, append it to DOM\n container.appendChild(ripple);\n button.appendChild(container);\n\n // rAF runs in the same frame as the event handler\n // Use double rAF to ensure the transition class is added in next frame\n // This will make sure that the transition animation is triggered\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n Object.assign(ripple.style, {\n transform: 'translate3d(-50%, -50%, 0) scale3d(1, 1, 1)',\n opacity: '1',\n });\n });\n });\n }\n },\n [onPressIn, rest, rippleEffectEnabled, calculatedRippleColor]\n );\n\n const handlePressOut = React.useCallback(\n (e: any) => {\n onPressOut?.(e);\n\n if (rippleEffectEnabled) {\n const containers = e.currentTarget.querySelectorAll(\n '[data-paper-ripple]'\n ) as HTMLElement[];\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n containers.forEach((container) => {\n const ripple = container.firstChild as HTMLSpanElement;\n\n Object.assign(ripple.style, {\n transitionDuration: '250ms',\n opacity: 0,\n });\n\n // Finally remove the span after the transition\n setTimeout(() => {\n const { parentNode } = container;\n\n if (parentNode) {\n parentNode.removeChild(container);\n }\n }, 500);\n });\n });\n });\n }\n },\n [onPressOut, rippleEffectEnabled]\n );\n\n const hasPassedTouchHandler = hasTouchHandler({\n onPress,\n onLongPress,\n onPressIn,\n onPressOut,\n });\n\n const disabled = disabledProp || !hasPassedTouchHandler;\n\n return (\n [\n styles.touchable,\n borderless && styles.borderless,\n // focused state is not ready yet: https://github.com/necolas/react-native-web/issues/1849\n // state.focused && { backgroundColor: ___ },\n state.hovered && { backgroundColor: hoverColor },\n typeof style === 'function' ? style(state) : style,\n ]}\n >\n {(state) =>\n React.Children.only(\n typeof children === 'function' ? children(state) : children\n )\n }\n \n );\n};\n\n/**\n * Whether ripple effect is supported.\n */\nTouchableRipple.supported = true;\n\nconst styles = StyleSheet.create({\n touchable: {\n position: 'relative',\n ...(Platform.OS === 'web' && {\n cursor: 'pointer',\n transition: '150ms background-color',\n }),\n },\n borderless: {\n overflow: 'hidden',\n },\n});\n\nconst Component = forwardRef(TouchableRipple);\n\nexport default Component as typeof Component & { supported: boolean };\n","import * as React from 'react';\nimport { Animated, I18nManager, StyleSheet, TextStyle } from 'react-native';\n\nimport type { VariantProp } from './types';\nimport { useInternalTheme } from '../../core/theming';\nimport type { ThemeProp } from '../../types';\n\ntype Props = React.ComponentPropsWithRef & {\n /**\n * Variant defines appropriate text styles for type role and its size.\n * Available variants:\n *\n * Display: `displayLarge`, `displayMedium`, `displaySmall`\n *\n * Headline: `headlineLarge`, `headlineMedium`, `headlineSmall`\n *\n * Title: `titleLarge`, `titleMedium`, `titleSmall`\n *\n * Label: `labelLarge`, `labelMedium`, `labelSmall`\n *\n * Body: `bodyLarge`, `bodyMedium`, `bodySmall`\n */\n variant?: VariantProp;\n style?: TextStyle;\n /**\n * @optional\n */\n theme?: ThemeProp;\n};\n\n/**\n * Animated text component which follows styles from the theme.\n *\n * @extends Text props https://reactnative.dev/docs/text#props\n */\nfunction AnimatedText({\n style,\n theme: themeOverrides,\n variant,\n ...rest\n}: Props) {\n const theme = useInternalTheme(themeOverrides);\n const writingDirection = I18nManager.getConstants().isRTL ? 'rtl' : 'ltr';\n\n if (theme.isV3 && variant) {\n const font = theme.fonts[variant];\n if (typeof font !== 'object') {\n throw new Error(\n `Variant ${variant} was not provided properly. Valid variants are ${Object.keys(\n theme.fonts\n ).join(', ')}.`\n );\n }\n\n return (\n \n );\n } else {\n const font = !theme.isV3 ? theme.fonts.regular : theme.fonts.bodyMedium;\n const textStyle = {\n ...font,\n color: theme.isV3 ? theme.colors.onSurface : theme.colors.text,\n };\n return (\n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n text: {\n textAlign: 'left',\n },\n});\n\nexport const customAnimatedText = () =>\n AnimatedText as (props: Props) => JSX.Element;\n\nexport default AnimatedText;\n","import * as React from 'react';\nimport {\n I18nManager,\n StyleProp,\n StyleSheet,\n Text as NativeText,\n TextStyle,\n} from 'react-native';\n\nimport AnimatedText from './AnimatedText';\nimport type { VariantProp } from './types';\nimport StyledText from './v2/StyledText';\nimport { useInternalTheme } from '../../core/theming';\nimport type { ThemeProp } from '../../types';\nimport { forwardRef } from '../../utils/forwardRef';\n\nexport type Props = React.ComponentProps & {\n /**\n * @supported Available in v5.x with theme version 3\n *\n * Variant defines appropriate text styles for type role and its size.\n * Available variants:\n *\n * Display: `displayLarge`, `displayMedium`, `displaySmall`\n *\n * Headline: `headlineLarge`, `headlineMedium`, `headlineSmall`\n *\n * Title: `titleLarge`, `titleMedium`, `titleSmall`\n *\n * Label: `labelLarge`, `labelMedium`, `labelSmall`\n *\n * Body: `bodyLarge`, `bodyMedium`, `bodySmall`\n */\n variant?: VariantProp;\n children: React.ReactNode;\n theme?: ThemeProp;\n style?: StyleProp;\n};\n\nexport type TextRef = React.ForwardedRef<{\n setNativeProps(args: Object): void;\n}>;\n\n// @component-group Typography\n\n/**\n * Typography component showing styles complied with passed `variant` prop and supported by the type system.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Text } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * <>\n * Display Large\n * Display Medium\n * Display small\n *\n * Headline Large\n * Headline Medium\n * Headline Small\n *\n * Title Large\n * Title Medium\n * Title Small\n *\n * Body Large\n * Body Medium\n * Body Small\n *\n * Label Large\n * Label Medium\n * Label Small\n * \n * );\n *\n * export default MyComponent;\n * ```\n *\n * @extends Text props https://reactnative.dev/docs/text#props\n */\nconst Text = (\n { style, variant, theme: initialTheme, ...rest }: Props,\n ref: TextRef\n) => {\n const root = React.useRef(null);\n // FIXME: destructure it in TS 4.6+\n const theme = useInternalTheme(initialTheme);\n const writingDirection = I18nManager.getConstants().isRTL ? 'rtl' : 'ltr';\n\n React.useImperativeHandle(ref, () => ({\n setNativeProps: (args: Object) => root.current?.setNativeProps(args),\n }));\n\n if (theme.isV3 && variant) {\n let font = theme.fonts[variant];\n let textStyle = [font, style];\n\n if (\n React.isValidElement(rest.children) &&\n (rest.children.type === Component ||\n rest.children.type === AnimatedText ||\n rest.children.type === StyledText)\n ) {\n const { props } = rest.children;\n\n // Context: Some components have the built-in `Text` component with a predefined variant,\n // that also accepts `children` as a `React.Node`. This can result in a situation,\n // where another `Text` component is rendered within the built-in `Text` component.\n // By doing that, we assume that user doesn't want to consume pre-defined font properties.\n // Case one: Nested `Text` has different `variant` that specified in parent. For example:\n // \n // Nested\n // \n // Solution: To address the following scenario, the code below overrides the `variant`\n // specified in a parent in favor of children's variant:\n if (props.variant) {\n font = theme.fonts[props.variant as VariantProp];\n textStyle = [style, font];\n }\n\n // Case two: Nested `Text` has specified `styles` which intefere\n // with font properties, from the parent's `variant`. For example:\n // \n // Nested\n // \n // Solution: To address the following scenario, the code below overrides the\n // parent's style with children's style:\n if (!props.variant) {\n textStyle = [style, props.style];\n }\n }\n\n if (typeof font !== 'object') {\n throw new Error(\n `Variant ${variant} was not provided properly. Valid variants are ${Object.keys(\n theme.fonts\n ).join(', ')}.`\n );\n }\n\n return (\n \n );\n } else {\n const font = theme.isV3 ? theme.fonts.default : theme.fonts?.regular;\n const textStyle = {\n ...font,\n color: theme.isV3 ? theme.colors?.onSurface : theme.colors.text,\n };\n return (\n \n );\n }\n};\n\nconst styles = StyleSheet.create({\n text: {\n textAlign: 'left',\n },\n});\n\ntype TextComponent = (\n props: Props & { ref?: React.RefObject }\n) => JSX.Element;\n\nconst Component = forwardRef(Text) as TextComponent;\n\nexport const customText = () => Component as unknown as TextComponent;\n\nexport default Component;\n","import * as React from 'react';\nimport { TextProps, StyleSheet } from 'react-native';\n\nimport StyledText from './StyledText';\n\nexport type Props = TextProps & {\n children: React.ReactNode;\n};\n\n// @component-group Typography\n\n/**\n * Typography component for showing a paragraph.\n *\n *
\n * \n *
\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Paragraph } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * Paragraph\n * );\n *\n * export default MyComponent;\n * ```\n */\nconst Paragraph = (props: Props) => (\n \n);\n\nexport default Paragraph;\n\nconst styles = StyleSheet.create({\n text: {\n fontSize: 14,\n lineHeight: 20,\n marginVertical: 2,\n letterSpacing: 0.25,\n },\n});\n","import * as React from 'react';\nimport {\n StyleProp,\n StyleSheet,\n Text as NativeText,\n TextStyle,\n} from 'react-native';\n\nimport type { MD2Theme } from 'src/types';\n\nimport { useInternalTheme } from '../../../core/theming';\nimport { forwardRef } from '../../../utils/forwardRef';\n\ntype Props = React.ComponentProps & {\n style?: StyleProp;\n /**\n * @optional\n */\n theme?: MD2Theme;\n};\n\n// @component-group Typography\n\n/**\n * Text component which follows styles from the theme.\n *\n * @extends Text props https://reactnative.dev/docs/text#props\n */\nconst Text: React.ForwardRefRenderFunction<{}, Props> = (\n { style, theme: overrideTheme, ...rest }: Props,\n ref\n) => {\n const root = React.useRef(null);\n const theme = useInternalTheme(overrideTheme);\n\n React.useImperativeHandle(ref, () => ({\n setNativeProps: (args: Object) => root.current?.setNativeProps(args),\n }));\n\n return (\n \n );\n};\n\nconst styles = StyleSheet.create({\n text: {\n textAlign: 'left',\n },\n});\n\nexport default forwardRef(Text);\n","import * as React from 'react';\nimport { I18nManager, StyleProp, StyleSheet, TextStyle } from 'react-native';\n\nimport color from 'color';\nimport type { ThemeProp } from 'src/types';\n\nimport Text from './Text';\nimport { useInternalTheme } from '../../../core/theming';\n\ntype Props = React.ComponentProps & {\n alpha?: number;\n family: 'regular' | 'medium' | 'light' | 'thin';\n style?: StyleProp;\n theme?: ThemeProp;\n};\n\nconst StyledText = ({\n alpha = 1,\n family,\n style,\n theme: themeOverrides,\n ...rest\n}: Props) => {\n const theme = useInternalTheme(themeOverrides);\n\n const textColor = color(\n theme.isV3 ? theme.colors.onSurface : theme.colors?.text\n )\n .alpha(alpha)\n .rgb()\n .string();\n const writingDirection = I18nManager.getConstants().isRTL ? 'rtl' : 'ltr';\n\n return (\n \n );\n};\n\nconst styles = StyleSheet.create({\n text: {\n textAlign: 'left',\n },\n});\n\nexport default StyledText;\n","import * as React from 'react';\nimport { Text, StyleSheet } from 'react-native';\n\nimport StyledText from './StyledText';\n\nexport type Props = React.ComponentProps & {\n children: React.ReactNode;\n};\n\n// @component-group Typography\n\n/**\n * Typography component for showing a title.\n *\n *
\n * \n *
\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Title } from 'react-native-paper';\n *\n * const MyComponent = () => (\n * Title\n * );\n *\n * export default MyComponent;\n * ```\n */\nconst Title = (props: Props) => (\n \n);\n\nexport default Title;\n\nconst styles = StyleSheet.create({\n text: {\n fontSize: 20,\n lineHeight: 30,\n marginVertical: 2,\n letterSpacing: 0.15,\n },\n});\n","/**\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport canUseDOM from '../../modules/canUseDom';\nfunction isScreenReaderEnabled() {\n return new Promise((resolve, reject) => {\n resolve(true);\n });\n}\nvar prefersReducedMotionMedia = canUseDOM && typeof window.matchMedia === 'function' ? window.matchMedia('(prefers-reduced-motion: reduce)') : null;\nfunction isReduceMotionEnabled() {\n return new Promise((resolve, reject) => {\n resolve(prefersReducedMotionMedia ? prefersReducedMotionMedia.matches : true);\n });\n}\nfunction addChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.addEventListener != null ? prefersReducedMotionMedia.addEventListener('change', fn) : prefersReducedMotionMedia.addListener(fn);\n }\n}\nfunction removeChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.removeEventListener != null ? prefersReducedMotionMedia.removeEventListener('change', fn) : prefersReducedMotionMedia.removeListener(fn);\n }\n}\nvar handlers = {};\nvar AccessibilityInfo = {\n /**\n * Query whether a screen reader is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a screen reader is enabled and `false` otherwise.\n */\n isScreenReaderEnabled,\n /**\n * Query whether the user prefers reduced motion.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a screen reader is enabled and `false` otherwise.\n */\n isReduceMotionEnabled,\n /**\n * Deprecated\n */\n fetch: isScreenReaderEnabled,\n /**\n * Add an event handler. Supported events: reduceMotionChanged\n */\n addEventListener: function addEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n if (!prefersReducedMotionMedia) {\n return;\n }\n var listener = event => {\n handler(event.matches);\n };\n addChangeListener(listener);\n handlers[handler] = listener;\n }\n return {\n remove: () => AccessibilityInfo.removeEventListener(eventName, handler)\n };\n },\n /**\n * Set accessibility focus to a react component.\n */\n setAccessibilityFocus: function setAccessibilityFocus(reactTag) {},\n /**\n * Post a string to be announced by the screen reader.\n */\n announceForAccessibility: function announceForAccessibility(announcement) {},\n /**\n * Remove an event handler.\n */\n removeEventListener: function removeEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n var listener = handlers[handler];\n if (!listener || !prefersReducedMotionMedia) {\n return;\n }\n removeChangeListener(listener);\n }\n return;\n }\n};\nexport default AccessibilityInfo;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and 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 */\nimport canUseDOM from '../../modules/canUseDom';\nfunction getQuery() {\n return canUseDOM && window.matchMedia != null ? window.matchMedia('(prefers-color-scheme: dark)') : null;\n}\nvar query = getQuery();\nvar listenerMapping = new WeakMap();\nvar Appearance = {\n getColorScheme() {\n return query && query.matches ? 'dark' : 'light';\n },\n addChangeListener(listener) {\n var mappedListener = listenerMapping.get(listener);\n if (!mappedListener) {\n mappedListener = _ref => {\n var matches = _ref.matches;\n listener({\n colorScheme: matches ? 'dark' : 'light'\n });\n };\n listenerMapping.set(listener, mappedListener);\n }\n if (query) {\n query.addListener(mappedListener);\n }\n function remove() {\n var mappedListener = listenerMapping.get(listener);\n if (query && mappedListener) {\n query.removeListener(mappedListener);\n }\n listenerMapping.delete(listener);\n }\n return {\n remove\n };\n }\n};\nexport default Appearance;","/**\n * Ported from @react-navigation https://github.com/react-navigation/react-navigation/blob/main/packages/elements/src/SafeAreaProviderCompat.tsx\n */\nimport * as React from 'react';\nimport {\n Dimensions,\n Platform,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport {\n initialWindowMetrics,\n SafeAreaInsetsContext,\n SafeAreaProvider,\n} from 'react-native-safe-area-context';\n\ntype Props = {\n children: React.ReactNode;\n style?: StyleProp;\n};\n\nconst { width = 0, height = 0 } = Dimensions.get('window');\n\n// To support SSR on web, we need to have empty insets for initial values\n// Otherwise there can be mismatch between SSR and client output\n// We also need to specify empty values to support tests environments\nconst initialMetrics =\n Platform.OS === 'web' || initialWindowMetrics == null\n ? {\n frame: { x: 0, y: 0, width, height },\n insets: { top: 0, left: 0, right: 0, bottom: 0 },\n }\n : initialWindowMetrics;\n\nexport default function SafeAreaProviderCompat({ children, style }: Props) {\n return (\n \n {(insets) => {\n if (insets) {\n // If we already have insets, don't wrap the stack in another safe area provider\n // This avoids an issue with updates at the cost of potentially incorrect values\n // https://github.com/react-navigation/react-navigation/issues/174\n return {children};\n }\n\n return (\n \n {children}\n \n );\n }}\n \n );\n}\n\nSafeAreaProviderCompat.initialMetrics = initialMetrics;\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n","import * as React from 'react';\nimport {\n AccessibilityInfo,\n Appearance,\n ColorSchemeName,\n NativeEventSubscription,\n} from 'react-native';\n\nimport SafeAreaProviderCompat from './SafeAreaProviderCompat';\nimport { Provider as SettingsProvider, Settings } from './settings';\nimport { defaultThemesByVersion, ThemeProvider } from './theming';\nimport MaterialCommunityIcon from '../components/MaterialCommunityIcon';\nimport PortalHost from '../components/Portal/PortalHost';\nimport type { ThemeProp } from '../types';\nimport { addEventListener } from '../utils/addEventListener';\n\nexport type Props = {\n children: React.ReactNode;\n theme?: ThemeProp;\n settings?: Settings;\n};\n\nconst PaperProvider = (props: Props) => {\n const isOnlyVersionInTheme =\n props.theme && Object.keys(props.theme).length === 1 && props.theme.version;\n\n const colorSchemeName =\n ((!props.theme || isOnlyVersionInTheme) && Appearance?.getColorScheme()) ||\n 'light';\n\n const [reduceMotionEnabled, setReduceMotionEnabled] =\n React.useState(false);\n const [colorScheme, setColorScheme] =\n React.useState(colorSchemeName);\n\n const handleAppearanceChange = (\n preferences: Appearance.AppearancePreferences\n ) => {\n const { colorScheme } = preferences;\n setColorScheme(colorScheme);\n };\n\n React.useEffect(() => {\n let subscription: NativeEventSubscription | undefined;\n\n if (!props.theme) {\n subscription = addEventListener(\n AccessibilityInfo,\n 'reduceMotionChanged',\n setReduceMotionEnabled\n );\n }\n return () => {\n if (!props.theme) {\n subscription?.remove();\n }\n };\n }, [props.theme]);\n\n React.useEffect(() => {\n let appearanceSubscription: NativeEventSubscription | undefined;\n if (!props.theme || isOnlyVersionInTheme) {\n appearanceSubscription = Appearance?.addChangeListener(\n handleAppearanceChange\n ) as NativeEventSubscription | undefined;\n }\n return () => {\n if (!props.theme || isOnlyVersionInTheme) {\n if (appearanceSubscription) {\n appearanceSubscription.remove();\n } else {\n // @ts-expect-error: We keep deprecated listener remove method for backwards compat with old RN versions\n Appearance?.removeChangeListener(handleAppearanceChange);\n }\n }\n };\n }, [props.theme, isOnlyVersionInTheme]);\n\n const getTheme = () => {\n const themeVersion = props.theme?.version || 3;\n const scheme = colorScheme || 'light';\n const defaultThemeBase = defaultThemesByVersion[themeVersion][scheme];\n\n const extendedThemeBase = {\n ...defaultThemeBase,\n ...props.theme,\n version: themeVersion,\n animation: {\n ...props.theme?.animation,\n scale: reduceMotionEnabled ? 0 : 1,\n },\n };\n\n return {\n ...extendedThemeBase,\n isV3: extendedThemeBase.version === 3,\n };\n };\n\n const { children, settings } = props;\n\n return (\n \n \n \n {children}\n \n \n \n );\n};\n\nexport default PaperProvider;\n","import * as React from 'react';\n\nimport MaterialCommunityIcon, {\n IconProps,\n} from '../components/MaterialCommunityIcon';\n\nexport type Settings = {\n icon?: ({\n name,\n color,\n size,\n direction,\n testID,\n }: IconProps) => React.ReactNode;\n rippleEffectEnabled?: boolean;\n};\n\nexport const SettingsContext = React.createContext({\n icon: MaterialCommunityIcon,\n rippleEffectEnabled: true,\n});\n\nexport const { Provider, Consumer } = SettingsContext;\n","import color from 'color';\n\nimport { MD3LightTheme } from './LightTheme';\nimport { MD3Colors, tokens } from './tokens';\nimport type { MD3Theme } from '../../../types';\n\nconst { palette, opacity } = tokens.md.ref;\n\nexport const MD3DarkTheme: MD3Theme = {\n ...MD3LightTheme,\n dark: true,\n mode: 'adaptive',\n version: 3,\n isV3: true,\n colors: {\n primary: palette.primary80,\n primaryContainer: palette.primary30,\n secondary: palette.secondary80,\n secondaryContainer: palette.secondary30,\n tertiary: palette.tertiary80,\n tertiaryContainer: palette.tertiary30,\n surface: palette.neutral10,\n surfaceVariant: palette.neutralVariant30,\n surfaceDisabled: color(palette.neutral90)\n .alpha(opacity.level2)\n .rgb()\n .string(),\n background: palette.neutral10,\n error: palette.error80,\n errorContainer: palette.error30,\n onPrimary: palette.primary20,\n onPrimaryContainer: palette.primary90,\n onSecondary: palette.secondary20,\n onSecondaryContainer: palette.secondary90,\n onTertiary: palette.tertiary20,\n onTertiaryContainer: palette.tertiary90,\n onSurface: palette.neutral90,\n onSurfaceVariant: palette.neutralVariant80,\n onSurfaceDisabled: color(palette.neutral90)\n .alpha(opacity.level4)\n .rgb()\n .string(),\n onError: palette.error20,\n onErrorContainer: palette.error80,\n onBackground: palette.neutral90,\n outline: palette.neutralVariant60,\n outlineVariant: palette.neutralVariant30,\n inverseSurface: palette.neutral90,\n inverseOnSurface: palette.neutral20,\n inversePrimary: palette.primary40,\n shadow: palette.neutral0,\n scrim: palette.neutral0,\n backdrop: color(MD3Colors.neutralVariant20).alpha(0.4).rgb().string(),\n elevation: {\n level0: 'transparent',\n // Note: Color values with transparency cause RN to transfer shadows to children nodes\n // instead of View component in Surface. Providing solid background fixes the issue.\n // Opaque color values generated with `palette.primary80` used as background\n level1: 'rgb(37, 35, 42)', // palette.primary80, alpha 0.05\n level2: 'rgb(44, 40, 49)', // palette.primary80, alpha 0.08\n level3: 'rgb(49, 44, 56)', // palette.primary80, alpha 0.11\n level4: 'rgb(51, 46, 58)', // palette.primary80, alpha 0.12\n level5: 'rgb(52, 49, 63)', // palette.primary80, alpha 0.14\n },\n },\n};\n","import type { ComponentType } from 'react';\n\nimport { $DeepPartial, createTheming } from '@callstack/react-theme-provider';\nimport color from 'color';\n\nimport {\n MD2DarkTheme,\n MD2LightTheme,\n MD3DarkTheme,\n MD3LightTheme,\n} from '../styles/themes';\nimport type {\n InternalTheme,\n MD3Theme,\n MD3AndroidColors,\n NavigationTheme,\n} from '../types';\n\nexport const DefaultTheme = MD3LightTheme;\n\nexport const {\n ThemeProvider,\n withTheme,\n useTheme: useAppTheme,\n} = createTheming(MD3LightTheme);\n\nexport function useTheme(overrides?: $DeepPartial) {\n return useAppTheme(overrides);\n}\n\nexport const useInternalTheme = (\n themeOverrides: $DeepPartial | undefined\n) => useAppTheme(themeOverrides);\n\nexport const withInternalTheme = (\n WrappedComponent: ComponentType & C\n) => withTheme(WrappedComponent);\n\nexport const defaultThemesByVersion = {\n 2: {\n light: MD2LightTheme,\n dark: MD2DarkTheme,\n },\n 3: {\n light: MD3LightTheme,\n dark: MD3DarkTheme,\n },\n};\n\nexport const getTheme = <\n Scheme extends boolean = false,\n IsVersion3 extends boolean = true\n>(\n isDark: Scheme = false as Scheme,\n isV3: IsVersion3 = true as IsVersion3\n): (typeof defaultThemesByVersion)[IsVersion3 extends true\n ? 3\n : 2][Scheme extends true ? 'dark' : 'light'] => {\n const themeVersion = isV3 ? 3 : 2;\n const scheme = isDark ? 'dark' : 'light';\n\n return defaultThemesByVersion[themeVersion][scheme];\n};\n\n// eslint-disable-next-line no-redeclare\nexport function adaptNavigationTheme(themes: {\n reactNavigationLight: NavigationTheme;\n materialLight?: MD3Theme;\n}): {\n LightTheme: NavigationTheme;\n};\n// eslint-disable-next-line no-redeclare\nexport function adaptNavigationTheme(themes: {\n reactNavigationDark: NavigationTheme;\n materialDark?: MD3Theme;\n}): {\n DarkTheme: NavigationTheme;\n};\n// eslint-disable-next-line no-redeclare\nexport function adaptNavigationTheme(themes: {\n reactNavigationLight: NavigationTheme;\n reactNavigationDark: NavigationTheme;\n materialLight?: MD3Theme;\n materialDark?: MD3Theme;\n}): { LightTheme: NavigationTheme; DarkTheme: NavigationTheme };\n// eslint-disable-next-line no-redeclare\nexport function adaptNavigationTheme(themes: any) {\n const {\n reactNavigationLight,\n reactNavigationDark,\n materialLight,\n materialDark,\n } = themes;\n\n const getAdaptedTheme = (\n navigationTheme: NavigationTheme,\n MD3Theme: MD3Theme\n ) => {\n return {\n ...navigationTheme,\n colors: {\n ...navigationTheme.colors,\n primary: MD3Theme.colors.primary,\n background: MD3Theme.colors.background,\n card: MD3Theme.colors.elevation.level2,\n text: MD3Theme.colors.onSurface,\n border: MD3Theme.colors.outline,\n notification: MD3Theme.colors.error,\n },\n };\n };\n\n const MD3Themes = {\n light: materialLight || MD3LightTheme,\n dark: materialDark || MD3DarkTheme,\n };\n\n if (reactNavigationLight && reactNavigationDark) {\n const modes = ['light', 'dark'] as const;\n\n const NavigationThemes = {\n light: reactNavigationLight,\n dark: reactNavigationDark,\n };\n\n const { light: adaptedLight, dark: adaptedDark } = modes.reduce(\n (prev, curr) => {\n return {\n ...prev,\n [curr]: getAdaptedTheme(NavigationThemes[curr], MD3Themes[curr]),\n };\n },\n {\n light: reactNavigationLight,\n dark: reactNavigationDark,\n }\n );\n\n return {\n LightTheme: adaptedLight,\n DarkTheme: adaptedDark,\n };\n }\n\n if (reactNavigationDark) {\n return {\n DarkTheme: getAdaptedTheme(reactNavigationDark, MD3Themes.dark),\n };\n }\n\n return {\n LightTheme: getAdaptedTheme(reactNavigationLight, MD3Themes.light),\n };\n}\n\nexport const getDynamicThemeElevations = (scheme: MD3AndroidColors) => {\n const elevationValues = ['transparent', 0.05, 0.08, 0.11, 0.12, 0.14];\n return elevationValues.reduce((elevations, elevationValue, index) => {\n return {\n ...elevations,\n [`level${index}`]:\n index === 0\n ? elevationValue\n : color(scheme.surface)\n .mix(color(scheme.primary), elevationValue as number)\n .rgb()\n .string(),\n };\n }, {});\n};\n","import { Platform, PlatformOSType } from 'react-native';\n\nimport { typescale } from './themes/v3/tokens';\nimport type { Fonts, MD3Type, MD3Typescale, MD3TypescaleKey } from '../types';\n\nexport const fontConfig = {\n web: {\n regular: {\n fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n fontWeight: '400' as '400',\n },\n medium: {\n fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n fontWeight: '500' as '500',\n },\n light: {\n fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n fontWeight: '300' as '300',\n },\n thin: {\n fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n fontWeight: '100' as '100',\n },\n },\n ios: {\n regular: {\n fontFamily: 'System',\n fontWeight: '400' as '400',\n },\n medium: {\n fontFamily: 'System',\n fontWeight: '500' as '500',\n },\n light: {\n fontFamily: 'System',\n fontWeight: '300' as '300',\n },\n thin: {\n fontFamily: 'System',\n fontWeight: '100' as '100',\n },\n },\n default: {\n regular: {\n fontFamily: 'sans-serif',\n fontWeight: 'normal' as 'normal',\n },\n medium: {\n fontFamily: 'sans-serif-medium',\n fontWeight: 'normal' as 'normal',\n },\n light: {\n fontFamily: 'sans-serif-light',\n fontWeight: 'normal' as 'normal',\n },\n thin: {\n fontFamily: 'sans-serif-thin',\n fontWeight: 'normal' as 'normal',\n },\n },\n};\n\ntype MD2FontsConfig = {\n [platform in PlatformOSType | 'default']?: Fonts;\n};\n\ntype MD3FontsConfig =\n | {\n [key in MD3TypescaleKey]: Partial;\n }\n | {\n [key: string]: MD3Type;\n }\n | Partial;\n\nfunction configureV2Fonts(config: MD2FontsConfig): Fonts {\n const fonts = Platform.select({ ...fontConfig, ...config }) as Fonts;\n return fonts;\n}\n\nfunction configureV3Fonts(\n config: MD3FontsConfig\n): MD3Typescale | (MD3Typescale & { [key: string]: MD3Type }) {\n if (!config) {\n return typescale;\n }\n\n const isFlatConfig = Object.keys(config).every(\n (key) => typeof config[key as keyof typeof config] !== 'object'\n );\n\n if (isFlatConfig) {\n return Object.fromEntries(\n Object.entries(typescale).map(([variantName, variantProperties]) => [\n variantName,\n { ...variantProperties, ...config },\n ])\n ) as MD3Typescale;\n }\n\n return Object.assign(\n {},\n typescale,\n ...Object.entries(config).map(([variantName, variantProperties]) => ({\n [variantName]: {\n ...typescale[variantName as MD3TypescaleKey],\n ...variantProperties,\n },\n }))\n );\n}\n\n// eslint-disable-next-line no-redeclare\nexport default function configureFonts(params: { isV3: false }): Fonts;\n// eslint-disable-next-line no-redeclare\nexport default function configureFonts(params: {\n config?: MD2FontsConfig;\n isV3: false;\n}): Fonts;\n// eslint-disable-next-line no-redeclare\nexport default function configureFonts(params?: {\n config?: Partial;\n isV3?: true;\n}): MD3Typescale;\n// eslint-disable-next-line no-redeclare\nexport default function configureFonts(params?: {\n config?: Partial>>;\n isV3?: true;\n}): MD3Typescale;\n// eslint-disable-next-line no-redeclare\nexport default function configureFonts(params: {\n config: Record;\n isV3?: true;\n}): MD3Typescale & { [key: string]: MD3Type };\n// eslint-disable-next-line no-redeclare\nexport default function configureFonts(params?: any) {\n const { isV3 = true, config } = params || {};\n\n if (isV3) {\n return configureV3Fonts(config);\n }\n return configureV2Fonts(config);\n}\n","import { Animated } from 'react-native';\n\nimport color from 'color';\n\nimport { MD2DarkTheme } from './themes/v2/DarkTheme';\n\nexport const isAnimatedValue = (\n it: number | string | Animated.AnimatedInterpolation\n): it is Animated.Value => it instanceof Animated.Value;\n\nexport default function overlay(\n elevation: T,\n surfaceColor: string = MD2DarkTheme.colors?.surface\n): T extends number ? string : Animated.AnimatedInterpolation {\n if (isAnimatedValue(elevation)) {\n const inputRange = [0, 1, 2, 3, 8, 24];\n\n // @ts-expect-error: TS doesn't seem to refine the type correctly\n return elevation.interpolate({\n inputRange,\n outputRange: inputRange.map((elevation) => {\n return calculateColor(surfaceColor, elevation);\n }),\n });\n }\n\n // @ts-expect-error: TS doesn't seem to refine the type correctly\n return calculateColor(surfaceColor, elevation);\n}\n\nfunction calculateColor(surfaceColor: string, elevation: number = 1) {\n let overlayTransparency: number;\n if (elevation >= 1 && elevation <= 24) {\n overlayTransparency = elevationOverlayTransparency[elevation];\n } else if (elevation > 24) {\n overlayTransparency = elevationOverlayTransparency[24];\n } else {\n overlayTransparency = elevationOverlayTransparency[1];\n }\n return color(surfaceColor)\n .mix(color('white'), overlayTransparency * 0.01)\n .hex();\n}\n\nconst elevationOverlayTransparency: Record = {\n 1: 5,\n 2: 7,\n 3: 8,\n 4: 9,\n 5: 10,\n 6: 11,\n 7: 11.5,\n 8: 12,\n 9: 12.5,\n 10: 13,\n 11: 13.5,\n 12: 14,\n 13: 14.25,\n 14: 14.5,\n 15: 14.75,\n 16: 15,\n 17: 15.12,\n 18: 15.24,\n 19: 15.36,\n 20: 15.48,\n 21: 15.6,\n 22: 15.72,\n 23: 15.84,\n 24: 16,\n};\n","import { Animated } from 'react-native';\n\nimport * as MD2Colors from './themes/v2/colors';\nimport { MD3Colors } from './themes/v3/tokens';\n\nconst SHADOW_COLOR = MD2Colors.black;\nconst SHADOW_OPACITY = 0.24;\nconst MD3_SHADOW_OPACITY = 0.3;\nconst MD3_SHADOW_COLOR = MD3Colors.primary0;\n\nexport default function shadow(\n elevation: number | Animated.Value = 0,\n isV3 = false\n) {\n return isV3 ? v3Shadow(elevation) : v2Shadow(elevation);\n}\n\nfunction v2Shadow(elevation: number | Animated.Value = 0) {\n if (elevation instanceof Animated.Value) {\n const inputRange = [0, 1, 2, 3, 8, 24];\n\n return {\n shadowColor: SHADOW_COLOR,\n shadowOffset: {\n width: new Animated.Value(0),\n height: elevation.interpolate({\n inputRange,\n outputRange: [0, 0.5, 0.75, 2, 7, 23],\n }),\n },\n shadowOpacity: elevation.interpolate({\n inputRange: [0, 1],\n outputRange: [0, SHADOW_OPACITY],\n extrapolate: 'clamp',\n }),\n shadowRadius: elevation.interpolate({\n inputRange,\n outputRange: [0, 0.75, 1.5, 3, 8, 24],\n }),\n };\n } else {\n if (elevation === 0) {\n return {};\n }\n\n let height, radius;\n switch (elevation) {\n case 1:\n height = 0.5;\n radius = 0.75;\n break;\n case 2:\n height = 0.75;\n radius = 1.5;\n break;\n default:\n height = elevation - 1;\n radius = elevation;\n }\n\n return {\n shadowColor: SHADOW_COLOR,\n shadowOffset: {\n width: 0,\n height,\n },\n shadowOpacity: SHADOW_OPACITY,\n shadowRadius: radius,\n };\n }\n}\n\nfunction v3Shadow(elevation: number | Animated.Value = 0) {\n const inputRange = [0, 1, 2, 3, 4, 5];\n const shadowHeight = [0, 1, 2, 4, 6, 8];\n const shadowRadius = [0, 3, 6, 8, 10, 12];\n\n if (elevation instanceof Animated.Value) {\n return {\n shadowColor: MD3_SHADOW_COLOR,\n shadowOffset: {\n width: new Animated.Value(0),\n height: elevation.interpolate({\n inputRange,\n outputRange: shadowHeight,\n }),\n },\n shadowOpacity: elevation.interpolate({\n inputRange: [0, 1],\n outputRange: [0, MD3_SHADOW_OPACITY],\n extrapolate: 'clamp',\n }),\n shadowRadius: elevation.interpolate({\n inputRange,\n outputRange: shadowRadius,\n }),\n };\n } else {\n return {\n shadowColor: MD3_SHADOW_COLOR,\n shadowOpacity: elevation ? MD3_SHADOW_OPACITY : 0,\n shadowOffset: {\n width: 0,\n height: shadowHeight[elevation],\n },\n shadowRadius: shadowRadius[elevation],\n };\n }\n}\n","import color from 'color';\n\nimport { black, pinkA100, white } from './colors';\nimport { MD2LightTheme } from './LightTheme';\nimport type { Fonts, MD2Theme } from '../../../types';\nimport configureFonts from '../../fonts';\n\nexport const MD2DarkTheme: MD2Theme = {\n ...MD2LightTheme,\n dark: true,\n mode: 'adaptive',\n version: 2,\n isV3: false,\n colors: {\n ...MD2LightTheme.colors,\n primary: '#BB86FC',\n accent: '#03dac6',\n background: '#121212',\n surface: '#121212',\n error: '#CF6679',\n onSurface: '#FFFFFF',\n text: white,\n disabled: color(white).alpha(0.38).rgb().string(),\n placeholder: color(white).alpha(0.54).rgb().string(),\n backdrop: color(black).alpha(0.5).rgb().string(),\n notification: pinkA100,\n tooltip: 'rgba(230, 225, 229, 1)',\n },\n fonts: configureFonts({ isV3: false }) as Fonts,\n};\n","import color from 'color';\n\nimport { black, pinkA400, white } from './colors';\nimport type { Fonts, MD2Theme } from '../../../types';\nimport configureFonts from '../../fonts';\n\nexport const MD2LightTheme: MD2Theme = {\n dark: false,\n roundness: 4,\n version: 2,\n isV3: false,\n colors: {\n primary: '#6200ee',\n accent: '#03dac4',\n background: '#f6f6f6',\n surface: white,\n error: '#B00020',\n text: black,\n onSurface: '#000000',\n disabled: color(black).alpha(0.26).rgb().string(),\n placeholder: color(black).alpha(0.54).rgb().string(),\n backdrop: color(black).alpha(0.5).rgb().string(),\n notification: pinkA400,\n tooltip: 'rgba(28, 27, 31, 1)',\n },\n fonts: configureFonts({ isV3: false }) as Fonts,\n animation: {\n scale: 1.0,\n },\n};\n","export const transparent = 'rgba(255, 255, 255, 0)';\n\nexport const red50 = '#ffebee';\nexport const red100 = '#ffcdd2';\nexport const red200 = '#ef9a9a';\nexport const red300 = '#e57373';\nexport const red400 = '#ef5350';\nexport const red500 = '#f44336';\nexport const red600 = '#e53935';\nexport const red700 = '#d32f2f';\nexport const red800 = '#c62828';\nexport const red900 = '#b71c1c';\nexport const redA100 = '#ff8a80';\nexport const redA200 = '#ff5252';\nexport const redA400 = '#ff1744';\nexport const redA700 = '#d50000';\n\nexport const pink50 = '#fce4ec';\nexport const pink100 = '#f8bbd0';\nexport const pink200 = '#f48fb1';\nexport const pink300 = '#f06292';\nexport const pink400 = '#ec407a';\nexport const pink500 = '#e91e63';\nexport const pink600 = '#d81b60';\nexport const pink700 = '#c2185b';\nexport const pink800 = '#ad1457';\nexport const pink900 = '#880e4f';\nexport const pinkA100 = '#ff80ab';\nexport const pinkA200 = '#ff4081';\nexport const pinkA400 = '#f50057';\nexport const pinkA700 = '#c51162';\n\nexport const purple50 = '#f3e5f5';\nexport const purple100 = '#e1bee7';\nexport const purple200 = '#ce93d8';\nexport const purple300 = '#ba68c8';\nexport const purple400 = '#ab47bc';\nexport const purple500 = '#9c27b0';\nexport const purple600 = '#8e24aa';\nexport const purple700 = '#7b1fa2';\nexport const purple800 = '#6a1b9a';\nexport const purple900 = '#4a148c';\nexport const purpleA100 = '#ea80fc';\nexport const purpleA200 = '#e040fb';\nexport const purpleA400 = '#d500f9';\nexport const purpleA700 = '#aa00ff';\n\nexport const deepPurple50 = '#ede7f6';\nexport const deepPurple100 = '#d1c4e9';\nexport const deepPurple200 = '#b39ddb';\nexport const deepPurple300 = '#9575cd';\nexport const deepPurple400 = '#7e57c2';\nexport const deepPurple500 = '#673ab7';\nexport const deepPurple600 = '#5e35b1';\nexport const deepPurple700 = '#512da8';\nexport const deepPurple800 = '#4527a0';\nexport const deepPurple900 = '#311b92';\nexport const deepPurpleA100 = '#b388ff';\nexport const deepPurpleA200 = '#7c4dff';\nexport const deepPurpleA400 = '#651fff';\nexport const deepPurpleA700 = '#6200ea';\n\nexport const indigo50 = '#e8eaf6';\nexport const indigo100 = '#c5cae9';\nexport const indigo200 = '#9fa8da';\nexport const indigo300 = '#7986cb';\nexport const indigo400 = '#5c6bc0';\nexport const indigo500 = '#3f51b5';\nexport const indigo600 = '#3949ab';\nexport const indigo700 = '#303f9f';\nexport const indigo800 = '#283593';\nexport const indigo900 = '#1a237e';\nexport const indigoA100 = '#8c9eff';\nexport const indigoA200 = '#536dfe';\nexport const indigoA400 = '#3d5afe';\nexport const indigoA700 = '#304ffe';\n\nexport const blue50 = '#e3f2fd';\nexport const blue100 = '#bbdefb';\nexport const blue200 = '#90caf9';\nexport const blue300 = '#64b5f6';\nexport const blue400 = '#42a5f5';\nexport const blue500 = '#2196f3';\nexport const blue600 = '#1e88e5';\nexport const blue700 = '#1976d2';\nexport const blue800 = '#1565c0';\nexport const blue900 = '#0d47a1';\nexport const blueA100 = '#82b1ff';\nexport const blueA200 = '#448aff';\nexport const blueA400 = '#2979ff';\nexport const blueA700 = '#2962ff';\n\nexport const lightBlue50 = '#e1f5fe';\nexport const lightBlue100 = '#b3e5fc';\nexport const lightBlue200 = '#81d4fa';\nexport const lightBlue300 = '#4fc3f7';\nexport const lightBlue400 = '#29b6f6';\nexport const lightBlue500 = '#03a9f4';\nexport const lightBlue600 = '#039be5';\nexport const lightBlue700 = '#0288d1';\nexport const lightBlue800 = '#0277bd';\nexport const lightBlue900 = '#01579b';\nexport const lightBlueA100 = '#80d8ff';\nexport const lightBlueA200 = '#40c4ff';\nexport const lightBlueA400 = '#00b0ff';\nexport const lightBlueA700 = '#0091ea';\n\nexport const cyan50 = '#e0f7fa';\nexport const cyan100 = '#b2ebf2';\nexport const cyan200 = '#80deea';\nexport const cyan300 = '#4dd0e1';\nexport const cyan400 = '#26c6da';\nexport const cyan500 = '#00bcd4';\nexport const cyan600 = '#00acc1';\nexport const cyan700 = '#0097a7';\nexport const cyan800 = '#00838f';\nexport const cyan900 = '#006064';\nexport const cyanA100 = '#84ffff';\nexport const cyanA200 = '#18ffff';\nexport const cyanA400 = '#00e5ff';\nexport const cyanA700 = '#00b8d4';\n\nexport const teal50 = '#e0f2f1';\nexport const teal100 = '#b2dfdb';\nexport const teal200 = '#80cbc4';\nexport const teal300 = '#4db6ac';\nexport const teal400 = '#26a69a';\nexport const teal500 = '#009688';\nexport const teal600 = '#00897b';\nexport const teal700 = '#00796b';\nexport const teal800 = '#00695c';\nexport const teal900 = '#004d40';\nexport const tealA100 = '#a7ffeb';\nexport const tealA200 = '#64ffda';\nexport const tealA400 = '#1de9b6';\nexport const tealA700 = '#00bfa5';\n\nexport const green50 = '#e8f5e9';\nexport const green100 = '#c8e6c9';\nexport const green200 = '#a5d6a7';\nexport const green300 = '#81c784';\nexport const green400 = '#66bb6a';\nexport const green500 = '#4caf50';\nexport const green600 = '#43a047';\nexport const green700 = '#388e3c';\nexport const green800 = '#2e7d32';\nexport const green900 = '#1b5e20';\nexport const greenA100 = '#b9f6ca';\nexport const greenA200 = '#69f0ae';\nexport const greenA400 = '#00e676';\nexport const greenA700 = '#00c853';\n\nexport const lightGreen50 = '#f1f8e9';\nexport const lightGreen100 = '#dcedc8';\nexport const lightGreen200 = '#c5e1a5';\nexport const lightGreen300 = '#aed581';\nexport const lightGreen400 = '#9ccc65';\nexport const lightGreen500 = '#8bc34a';\nexport const lightGreen600 = '#7cb342';\nexport const lightGreen700 = '#689f38';\nexport const lightGreen800 = '#558b2f';\nexport const lightGreen900 = '#33691e';\nexport const lightGreenA100 = '#ccff90';\nexport const lightGreenA200 = '#b2ff59';\nexport const lightGreenA400 = '#76ff03';\nexport const lightGreenA700 = '#64dd17';\n\nexport const lime50 = '#f9fbe7';\nexport const lime100 = '#f0f4c3';\nexport const lime200 = '#e6ee9c';\nexport const lime300 = '#dce775';\nexport const lime400 = '#d4e157';\nexport const lime500 = '#cddc39';\nexport const lime600 = '#c0ca33';\nexport const lime700 = '#afb42b';\nexport const lime800 = '#9e9d24';\nexport const lime900 = '#827717';\nexport const limeA100 = '#f4ff81';\nexport const limeA200 = '#eeff41';\nexport const limeA400 = '#c6ff00';\nexport const limeA700 = '#aeea00';\n\nexport const yellow50 = '#fffde7';\nexport const yellow100 = '#fff9c4';\nexport const yellow200 = '#fff59d';\nexport const yellow300 = '#fff176';\nexport const yellow400 = '#ffee58';\nexport const yellow500 = '#ffeb3b';\nexport const yellow600 = '#fdd835';\nexport const yellow700 = '#fbc02d';\nexport const yellow800 = '#f9a825';\nexport const yellow900 = '#f57f17';\nexport const yellowA100 = '#ffff8d';\nexport const yellowA200 = '#ffff00';\nexport const yellowA400 = '#ffea00';\nexport const yellowA700 = '#ffd600';\n\nexport const amber50 = '#fff8e1';\nexport const amber100 = '#ffecb3';\nexport const amber200 = '#ffe082';\nexport const amber300 = '#ffd54f';\nexport const amber400 = '#ffca28';\nexport const amber500 = '#ffc107';\nexport const amber600 = '#ffb300';\nexport const amber700 = '#ffa000';\nexport const amber800 = '#ff8f00';\nexport const amber900 = '#ff6f00';\nexport const amberA100 = '#ffe57f';\nexport const amberA200 = '#ffd740';\nexport const amberA400 = '#ffc400';\nexport const amberA700 = '#ffab00';\n\nexport const orange50 = '#fff3e0';\nexport const orange100 = '#ffe0b2';\nexport const orange200 = '#ffcc80';\nexport const orange300 = '#ffb74d';\nexport const orange400 = '#ffa726';\nexport const orange500 = '#ff9800';\nexport const orange600 = '#fb8c00';\nexport const orange700 = '#f57c00';\nexport const orange800 = '#ef6c00';\nexport const orange900 = '#e65100';\nexport const orangeA100 = '#ffd180';\nexport const orangeA200 = '#ffab40';\nexport const orangeA400 = '#ff9100';\nexport const orangeA700 = '#ff6d00';\n\nexport const deepOrange50 = '#fbe9e7';\nexport const deepOrange100 = '#ffccbc';\nexport const deepOrange200 = '#ffab91';\nexport const deepOrange300 = '#ff8a65';\nexport const deepOrange400 = '#ff7043';\nexport const deepOrange500 = '#ff5722';\nexport const deepOrange600 = '#f4511e';\nexport const deepOrange700 = '#e64a19';\nexport const deepOrange800 = '#d84315';\nexport const deepOrange900 = '#bf360c';\nexport const deepOrangeA100 = '#ff9e80';\nexport const deepOrangeA200 = '#ff6e40';\nexport const deepOrangeA400 = '#ff3d00';\nexport const deepOrangeA700 = '#dd2c00';\n\nexport const brown50 = '#efebe9';\nexport const brown100 = '#d7ccc8';\nexport const brown200 = '#bcaaa4';\nexport const brown300 = '#a1887f';\nexport const brown400 = '#8d6e63';\nexport const brown500 = '#795548';\nexport const brown600 = '#6d4c41';\nexport const brown700 = '#5d4037';\nexport const brown800 = '#4e342e';\nexport const brown900 = '#3e2723';\n\nexport const blueGrey50 = '#eceff1';\nexport const blueGrey100 = '#cfd8dc';\nexport const blueGrey200 = '#b0bec5';\nexport const blueGrey300 = '#90a4ae';\nexport const blueGrey400 = '#78909c';\nexport const blueGrey500 = '#607d8b';\nexport const blueGrey600 = '#546e7a';\nexport const blueGrey700 = '#455a64';\nexport const blueGrey800 = '#37474f';\nexport const blueGrey900 = '#263238';\n\nexport const grey50 = '#fafafa';\nexport const grey100 = '#f5f5f5';\nexport const grey200 = '#eeeeee';\nexport const grey300 = '#e0e0e0';\nexport const grey400 = '#bdbdbd';\nexport const grey500 = '#9e9e9e';\nexport const grey600 = '#757575';\nexport const grey700 = '#616161';\nexport const grey800 = '#424242';\nexport const grey900 = '#212121';\n\nexport const black = '#000000';\nexport const white = '#ffffff';\n","import color from 'color';\n\nimport { MD3Colors, tokens } from './tokens';\nimport type { MD3Theme } from '../../../types';\nimport configureFonts from '../../fonts';\n\nconst { palette, opacity } = tokens.md.ref;\n\nexport const MD3LightTheme: MD3Theme = {\n dark: false,\n roundness: 4,\n version: 3,\n isV3: true,\n colors: {\n primary: palette.primary40,\n primaryContainer: palette.primary90,\n secondary: palette.secondary40,\n secondaryContainer: palette.secondary90,\n tertiary: palette.tertiary40,\n tertiaryContainer: palette.tertiary90,\n surface: palette.neutral99,\n surfaceVariant: palette.neutralVariant90,\n surfaceDisabled: color(palette.neutral10)\n .alpha(opacity.level2)\n .rgb()\n .string(),\n background: palette.neutral99,\n error: palette.error40,\n errorContainer: palette.error90,\n onPrimary: palette.primary100,\n onPrimaryContainer: palette.primary10,\n onSecondary: palette.secondary100,\n onSecondaryContainer: palette.secondary10,\n onTertiary: palette.tertiary100,\n onTertiaryContainer: palette.tertiary10,\n onSurface: palette.neutral10,\n onSurfaceVariant: palette.neutralVariant30,\n onSurfaceDisabled: color(palette.neutral10)\n .alpha(opacity.level4)\n .rgb()\n .string(),\n onError: palette.error100,\n onErrorContainer: palette.error10,\n onBackground: palette.neutral10,\n outline: palette.neutralVariant50,\n outlineVariant: palette.neutralVariant80,\n inverseSurface: palette.neutral20,\n inverseOnSurface: palette.neutral95,\n inversePrimary: palette.primary80,\n shadow: palette.neutral0,\n scrim: palette.neutral0,\n backdrop: color(MD3Colors.neutralVariant20).alpha(0.4).rgb().string(),\n elevation: {\n level0: 'transparent',\n // Note: Color values with transparency cause RN to transfer shadows to children nodes\n // instead of View component in Surface. Providing solid background fixes the issue.\n // Opaque color values generated with `palette.primary99` used as background\n level1: 'rgb(247, 243, 249)', // palette.primary40, alpha 0.05\n level2: 'rgb(243, 237, 246)', // palette.primary40, alpha 0.08\n level3: 'rgb(238, 232, 244)', // palette.primary40, alpha 0.11\n level4: 'rgb(236, 230, 243)', // palette.primary40, alpha 0.12\n level5: 'rgb(233, 227, 241)', // palette.primary40, alpha 0.14\n },\n },\n fonts: configureFonts(),\n animation: {\n scale: 1.0,\n },\n};\n","import { Platform } from 'react-native';\n\nimport type { Font } from '../../../types';\n\nconst ref = {\n palette: {\n primary100: 'rgba(255, 255, 255, 1)',\n primary99: 'rgba(255, 251, 254, 1)',\n primary95: 'rgba(246, 237, 255, 1)',\n primary90: 'rgba(234, 221, 255, 1)',\n primary80: 'rgba(208, 188, 255, 1)',\n primary70: 'rgba(182, 157, 248, 1)',\n primary60: 'rgba(154, 130, 219, 1)',\n primary50: 'rgba(127, 103, 190, 1)',\n primary40: 'rgba(103, 80, 164, 1)',\n primary30: 'rgba(79, 55, 139, 1)',\n primary20: 'rgba(56, 30, 114, 1)',\n primary10: 'rgba(33, 0, 93, 1)',\n primary0: 'rgba(0, 0, 0, 1)',\n secondary100: 'rgba(255, 255, 255, 1)',\n secondary99: 'rgba(255, 251, 254, 1)',\n secondary95: 'rgba(246, 237, 255, 1)',\n secondary90: 'rgba(232, 222, 248, 1)',\n secondary80: 'rgba(204, 194, 220, 1)',\n secondary70: 'rgba(176, 167, 192, 1)',\n secondary60: 'rgba(149, 141, 165, 1)',\n secondary50: 'rgba(122, 114, 137, 1)',\n secondary40: 'rgba(98, 91, 113, 1)',\n secondary30: 'rgba(74, 68, 88, 1)',\n secondary20: 'rgba(51, 45, 65, 1)',\n secondary10: 'rgba(29, 25, 43, 1)',\n secondary0: 'rgba(0, 0, 0, 1)',\n tertiary100: 'rgba(255, 255, 255, 1)',\n tertiary99: 'rgba(255, 251, 250, 1)',\n tertiary95: 'rgba(255, 236, 241, 1)',\n tertiary90: 'rgba(255, 216, 228, 1)',\n tertiary80: 'rgba(239, 184, 200, 1)',\n tertiary70: 'rgba(210, 157, 172, 1)',\n tertiary60: 'rgba(181, 131, 146, 1)',\n tertiary50: 'rgba(152, 105, 119, 1)',\n tertiary40: 'rgba(125, 82, 96, 1)',\n tertiary30: 'rgba(99, 59, 72, 1)',\n tertiary20: 'rgba(73, 37, 50, 1)',\n tertiary10: 'rgba(49, 17, 29, 1)',\n tertiary0: 'rgba(0, 0, 0, 1)',\n neutral100: 'rgba(255, 255, 255, 1)',\n neutral99: 'rgba(255, 251, 254, 1)',\n neutral95: 'rgba(244, 239, 244, 1)',\n neutral90: 'rgba(230, 225, 229, 1)',\n neutral80: 'rgba(201, 197, 202, 1)',\n neutral70: 'rgba(174, 170, 174, 1)',\n neutral60: 'rgba(147, 144, 148, 1)',\n neutral50: 'rgba(120, 117, 121, 1)',\n neutral40: 'rgba(96, 93, 98, 1)',\n neutral30: 'rgba(72, 70, 73, 1)',\n neutral20: 'rgba(49, 48, 51, 1)',\n neutral10: 'rgba(28, 27, 31, 1)',\n neutral0: 'rgba(0, 0, 0, 1)',\n neutralVariant100: 'rgba(255, 255, 255, 1)',\n neutralVariant99: 'rgba(255, 251, 254, 1)',\n neutralVariant95: 'rgba(245, 238, 250, 1)',\n neutralVariant90: 'rgba(231, 224, 236, 1)',\n neutralVariant80: 'rgba(202, 196, 208, 1)',\n neutralVariant70: 'rgba(174, 169, 180, 1)',\n neutralVariant60: 'rgba(147, 143, 153, 1)',\n neutralVariant50: 'rgba(121, 116, 126, 1)',\n neutralVariant40: 'rgba(96, 93, 102, 1)',\n neutralVariant30: 'rgba(73, 69, 79, 1)',\n neutralVariant20: 'rgba(50, 47, 55, 1)',\n neutralVariant10: 'rgba(29, 26, 34, 1)',\n neutralVariant0: 'rgba(0, 0, 0, 1)',\n error100: 'rgba(255, 255, 255, 1)',\n error99: 'rgba(255, 251, 249, 1)',\n error95: 'rgba(252, 238, 238, 1)',\n error90: 'rgba(249, 222, 220, 1)',\n error80: 'rgba(242, 184, 181, 1)',\n error70: 'rgba(236, 146, 142, 1)',\n error60: 'rgba(228, 105, 98, 1)',\n error50: 'rgba(220, 54, 46, 1)',\n error40: 'rgba(179, 38, 30, 1)',\n error30: 'rgba(140, 29, 24, 1)',\n error20: 'rgba(96, 20, 16, 1)',\n error10: 'rgba(65, 14, 11, 1)',\n error0: 'rgba(0, 0, 0, 1)',\n },\n\n typeface: {\n brandRegular: Platform.select({\n web: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n ios: 'System',\n default: 'sans-serif',\n }),\n weightRegular: '400' as Font['fontWeight'],\n\n plainMedium: Platform.select({\n web: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n ios: 'System',\n default: 'sans-serif-medium',\n }),\n weightMedium: '500' as Font['fontWeight'],\n },\n\n opacity: {\n level1: 0.08,\n level2: 0.12,\n level3: 0.16,\n level4: 0.38,\n },\n};\n\nconst regularType = {\n fontFamily: ref.typeface.brandRegular,\n letterSpacing: 0,\n fontWeight: ref.typeface.weightRegular,\n};\n\nconst mediumType = {\n fontFamily: ref.typeface.plainMedium,\n letterSpacing: 0.15,\n fontWeight: ref.typeface.weightMedium,\n};\n\nexport const typescale = {\n displayLarge: {\n ...regularType,\n lineHeight: 64,\n fontSize: 57,\n },\n displayMedium: {\n ...regularType,\n lineHeight: 52,\n fontSize: 45,\n },\n displaySmall: {\n ...regularType,\n lineHeight: 44,\n fontSize: 36,\n },\n\n headlineLarge: {\n ...regularType,\n lineHeight: 40,\n fontSize: 32,\n },\n headlineMedium: {\n ...regularType,\n lineHeight: 36,\n fontSize: 28,\n },\n headlineSmall: {\n ...regularType,\n lineHeight: 32,\n fontSize: 24,\n },\n\n titleLarge: {\n ...regularType,\n lineHeight: 28,\n fontSize: 22,\n },\n titleMedium: {\n ...mediumType,\n lineHeight: 24,\n fontSize: 16,\n },\n titleSmall: {\n ...mediumType,\n letterSpacing: 0.1,\n lineHeight: 20,\n fontSize: 14,\n },\n\n labelLarge: {\n ...mediumType,\n letterSpacing: 0.1,\n lineHeight: 20,\n fontSize: 14,\n },\n labelMedium: {\n ...mediumType,\n letterSpacing: 0.5,\n lineHeight: 16,\n fontSize: 12,\n },\n labelSmall: {\n ...mediumType,\n letterSpacing: 0.5,\n lineHeight: 16,\n fontSize: 11,\n },\n\n bodyLarge: {\n ...mediumType,\n fontWeight: ref.typeface.weightRegular,\n fontFamily: ref.typeface.brandRegular,\n lineHeight: 24,\n fontSize: 16,\n },\n bodyMedium: {\n ...mediumType,\n fontWeight: ref.typeface.weightRegular,\n fontFamily: ref.typeface.brandRegular,\n letterSpacing: 0.25,\n lineHeight: 20,\n fontSize: 14,\n },\n bodySmall: {\n ...mediumType,\n fontWeight: ref.typeface.weightRegular,\n fontFamily: ref.typeface.brandRegular,\n letterSpacing: 0.4,\n lineHeight: 16,\n fontSize: 12,\n },\n\n default: {\n ...regularType,\n },\n};\n\nexport const tokens = {\n md: {\n ref,\n sys: {\n typescale,\n },\n },\n};\n\nexport const MD3Colors = ref.palette;\n","import type {\n NativeEventSubscription,\n EmitterSubscription,\n} from 'react-native';\n\nexport function addEventListener<\n T extends {\n addEventListener: (\n ...args: any\n ) => NativeEventSubscription | EmitterSubscription;\n } & { removeEventListener?: (...args: any) => void } & {\n remove?: (...args: any) => void;\n }\n>(Module: T, ...rest: Parameters) {\n const [eventName, handler] = rest;\n\n let removed = false;\n\n const subscription = Module.addEventListener(eventName, handler) ?? {\n remove: () => {\n if (removed) {\n return;\n }\n\n Module.removeEventListener?.(eventName, handler);\n Module.remove?.(eventName, handler);\n removed = true;\n },\n };\n\n return subscription;\n}\n\nexport function addListener<\n T extends {\n addListener: (...args: any) => EmitterSubscription;\n removeEventListener: (...args: any) => void;\n }\n>(Module: T, ...rest: Parameters) {\n const [eventName, handler] = rest;\n\n let removed = false;\n\n const subscription = Module.addListener(eventName, handler) ?? {\n remove: () => {\n if (removed) {\n return;\n }\n\n Module.removeEventListener(eventName, handler);\n removed = true;\n },\n };\n\n return subscription;\n}\n","import * as React from 'react';\nimport type {\n ForwardRefRenderFunction,\n PropsWithoutRef,\n RefAttributes,\n ForwardRefExoticComponent,\n} from 'react';\n\nexport type ForwardRefComponent = ForwardRefExoticComponent<\n PropsWithoutRef

& RefAttributes\n>;\n\n/**\n * TypeScript generated a large union of props from `ViewProps` in\n * `d.ts` files when using `React.forwardRef`. To prevent this\n * `ForwardRefComponent` was created and exported. Use this\n * `forwardRef` instead of `React.forwardRef` so you don't have to\n * import `ForwardRefComponent`.\n * More info: https://github.com/callstack/react-native-paper/pull/3603\n */\nexport const forwardRef: (\n render: ForwardRefRenderFunction\n) => ForwardRefComponent = React.forwardRef;\n","import type { GestureResponderEvent } from 'react-native';\n\nconst touchableEvents = [\n 'onPress',\n 'onLongPress',\n 'onPressIn',\n 'onPressOut',\n] as const;\n\ntype TouchableEventObject = Partial<\n Record<\n (typeof touchableEvents)[number],\n (event: GestureResponderEvent) => void\n >\n>;\n\nexport default function hasTouchHandler(\n touchableEventObject: TouchableEventObject\n) {\n return touchableEvents.some((event) => {\n return Boolean(touchableEventObject[event]);\n });\n}\n","import type { ViewStyle } from 'react-native';\n\ntype FiltersArray = readonly ((style: keyof ViewStyle) => boolean)[];\n\ntype MappedTuple = {\n [Index in keyof Tuple]: ViewStyle;\n} & { length: Tuple['length'] };\n\ntype Style = ViewStyle[keyof ViewStyle];\ntype Entry = [keyof ViewStyle, Style];\n\n/**\n * Utility function to extract styles in separate objects\n *\n * @param styles The style object you want to filter\n * @param filters The filters by which you want to split the styles\n * @returns An array of filtered style objects:\n * - The first style object contains the properties that didn't match any filter\n * - After that there will be a style object for each filter you passed in the same order as the matching filters\n * - A style property will exist in a single style object, the first filter it matched\n */\nexport function splitStyles(\n styles: ViewStyle,\n ...filters: Tuple\n) {\n if (process.env.NODE_ENV !== 'production' && filters.length === 0) {\n console.error('No filters were passed when calling splitStyles');\n }\n\n // `Object.entries` will be used to iterate over the styles and `Object.fromEntries` will be called before returning\n // Entries which match the given filters will be temporarily stored in `newStyles`\n const newStyles = filters.map(() => [] as Entry[]);\n\n // Entries which match no filter\n const rest: Entry[] = [];\n\n // Iterate every style property\n outer: for (const item of Object.entries(styles) as Entry[]) {\n // Check each filter\n for (let i = 0; i < filters.length; i++) {\n // Check if filter matches\n if (filters[i](item[0])) {\n newStyles[i].push(item); // Push to temporary filtered entries array\n continue outer; // Skip to checking next style property\n }\n }\n\n // Adds to rest styles if not filtered\n rest.push(item);\n }\n\n // Put unmatched styles in the beginning\n newStyles.unshift(rest);\n\n // Convert arrays of entries into objects\n return newStyles.map((styles) => Object.fromEntries(styles)) as unknown as [\n ViewStyle,\n ...MappedTuple\n ];\n}\n","'use strict';\ntype AllowlistsHolder = {\n UI_THREAD_PROPS_WHITELIST: Record;\n NATIVE_THREAD_PROPS_WHITELIST: Record;\n};\n\nexport const PropsAllowlists: AllowlistsHolder = {\n /**\n * Styles allowed to be direcly updated in UI thread\n */\n UI_THREAD_PROPS_WHITELIST: {\n opacity: true,\n transform: true,\n /* colors */\n backgroundColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderColor: true,\n borderEndColor: true,\n borderLeftColor: true,\n borderStartColor: true,\n borderTopColor: true,\n /* ios styles */\n shadowOpacity: true,\n shadowRadius: true,\n /* legacy android transform properties */\n scaleX: true,\n scaleY: true,\n translateX: true,\n translateY: true,\n },\n /**\n * Whitelist of view props that can be updated in native thread via UIManagerModule\n */\n NATIVE_THREAD_PROPS_WHITELIST: {\n borderBottomWidth: true,\n borderEndWidth: true,\n borderLeftWidth: true,\n borderRightWidth: true,\n borderStartWidth: true,\n borderTopWidth: true,\n borderWidth: true,\n bottom: true,\n flex: true,\n flexGrow: true,\n flexShrink: true,\n height: true,\n left: true,\n margin: true,\n marginBottom: true,\n marginEnd: true,\n marginHorizontal: true,\n marginLeft: true,\n marginRight: true,\n marginStart: true,\n marginTop: true,\n marginVertical: true,\n maxHeight: true,\n maxWidth: true,\n minHeight: true,\n minWidth: true,\n padding: true,\n paddingBottom: true,\n paddingEnd: true,\n paddingHorizontal: true,\n paddingLeft: true,\n paddingRight: true,\n paddingStart: true,\n paddingTop: true,\n paddingVertical: true,\n right: true,\n start: true,\n top: true,\n width: true,\n zIndex: true,\n borderBottomEndRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderBottomStartRadius: true,\n borderRadius: true,\n borderTopEndRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderTopStartRadius: true,\n elevation: true,\n fontSize: true,\n lineHeight: true,\n textShadowRadius: true,\n textShadowOffset: true,\n letterSpacing: true,\n aspectRatio: true,\n columnGap: true, // iOS only\n end: true, // number or string\n flexBasis: true, // number or string\n gap: true,\n rowGap: true,\n /* strings */\n display: true,\n backfaceVisibility: true,\n overflow: true,\n resizeMode: true,\n fontStyle: true,\n fontWeight: true,\n textAlign: true,\n textDecorationLine: true,\n fontFamily: true,\n textAlignVertical: true,\n fontVariant: true,\n textDecorationStyle: true,\n textTransform: true,\n writingDirection: true,\n alignContent: true,\n alignItems: true,\n alignSelf: true,\n direction: true, // iOS only\n flexDirection: true,\n flexWrap: true,\n justifyContent: true,\n position: true,\n /* text color */\n color: true,\n tintColor: true,\n shadowColor: true,\n placeholderTextColor: true,\n },\n};\n","'use strict';\nimport { Platform } from 'react-native';\n\n// This type is necessary since some libraries tend to do a lib check\n// and this file causes type errors on `global` access.\ntype localGlobal = typeof global & Record;\n\nexport function isJest(): boolean {\n return !!process.env.JEST_WORKER_ID;\n}\n\n// `isChromeDebugger` also returns true in Jest environment, so `isJest()` check should always be performed first\nexport function isChromeDebugger(): boolean {\n return (\n (!(global as localGlobal).nativeCallSyncHook ||\n !!(global as localGlobal).__REMOTEDEV__) &&\n !(global as localGlobal).RN$Bridgeless\n );\n}\n\nexport function isWeb(): boolean {\n return Platform.OS === 'web';\n}\n\nexport function isAndroid(): boolean {\n return Platform.OS === 'android';\n}\n\nfunction isWindows(): boolean {\n return Platform.OS === 'windows';\n}\n\nexport function shouldBeUseWeb() {\n return isJest() || isChromeDebugger() || isWeb() || isWindows();\n}\n\nexport function isFabric() {\n return !!(global as localGlobal)._IS_FABRIC;\n}\n\nexport function isWindowAvailable() {\n // the window object is unavailable when building the server portion of a site that uses SSG\n // this function shouldn't be used to conditionally render components\n // https://www.joshwcomeau.com/react/the-perils-of-rehydration/\n // @ts-ignore Fallback if `window` is undefined.\n return typeof window !== 'undefined';\n}\n","'use strict';\nimport type {\n ViewStyle,\n TextStyle,\n TransformsStyle,\n ImageStyle,\n} from 'react-native';\n\nexport type RequiredKeys = T & Required>;\nexport interface StyleProps extends ViewStyle, TextStyle {\n originX?: number;\n originY?: number;\n [key: string]: any;\n}\n\n/**\n * A value that can be used both on the [JavaScript thread](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#javascript-thread) and the [UI thread](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#ui-thread).\n *\n * Shared values are defined using [useSharedValue](https://docs.swmansion.com/react-native-reanimated/docs/core/useSharedValue) hook. You access and modify shared values by their `.value` property.\n */\nexport interface SharedValue {\n value: Value;\n addListener: (listenerID: number, listener: (value: Value) => void) => void;\n removeListener: (listenerID: number) => void;\n modify: (\n modifier?: (value: T) => T,\n forceUpdate?: boolean\n ) => void;\n}\n\nexport interface Mutable extends SharedValue {\n _isReanimatedSharedValue: true;\n _animation?: AnimationObject | null; // only in Native\n _value: Value;\n}\n\n// The below type is used for HostObjects returned by the JSI API that don't have\n// any accessible fields or methods but can carry data that is accessed from the\n// c++ side. We add a field to the type to make it possible for typescript to recognize\n// which JSI methods accept those types as arguments and to be able to correctly type\n// check other methods that may use them. However, this field is not actually defined\n// nor should be used for anything else as assigning any data to those objects will\n// throw an error.\nexport type ShareableRef = {\n __hostObjectShareableJSRef: T;\n};\n\n// In case of objects with depth or arrays of objects or arrays of arrays etc.\n// we add this utility type that makes it a SharaebleRef of the outermost type.\nexport type FlatShareableRef = T extends ShareableRef\n ? ShareableRef\n : ShareableRef;\n\nexport type MapperRawInputs = unknown[];\n\nexport type MapperOutputs = SharedValue[];\n\nexport type MapperRegistry = {\n start: (\n mapperID: number,\n worklet: () => void,\n inputs: MapperRawInputs,\n outputs?: MapperOutputs\n ) => void;\n stop: (mapperID: number) => void;\n};\n\nexport type WorkletStackDetails = [\n error: Error,\n lineOffset: number,\n columnOffset: number\n];\n\ntype WorkletClosure = Record;\n\ninterface WorkletInitDataCommon {\n code: string;\n}\n\ntype WorkletInitDataRelease = WorkletInitDataCommon;\n\ninterface WorkletInitDataDev extends WorkletInitDataCommon {\n location: string;\n sourceMap: string;\n version: string;\n}\n\ninterface WorkletBaseCommon {\n __closure: WorkletClosure;\n __workletHash: number;\n}\n\ninterface WorkletBaseRelease extends WorkletBaseCommon {\n __initData: WorkletInitDataRelease;\n}\n\ninterface WorkletBaseDev extends WorkletBaseCommon {\n __initData: WorkletInitDataDev;\n /**\n * `__stackDetails` is removed after parsing.\n */\n __stackDetails?: WorkletStackDetails;\n}\n\nexport type WorkletFunction<\n Args extends unknown[] = unknown[],\n ReturnValue = unknown\n> = ((...args: Args) => ReturnValue) & (WorkletBaseRelease | WorkletBaseDev);\n\n/**\n * This function allows you to determine if a given function is a worklet. It only works\n * with Reanimated Babel plugin enabled. Unless you are doing something with internals of\n * Reanimated you shouldn't need to use this function.\n *\n * ### Note\n * Do not call it before the worklet is declared, as it will always return false then. E.g.:\n *\n * ```ts\n * isWorkletFunction(myWorklet); // Will always return false.\n *\n * function myWorklet() {\n * 'worklet';\n * };\n * ```\n *\n * ### Maintainer note\n * This function works well on the JS thread performance-wise, since the JIT can inline it.\n * However, on other threads it will not get optimized and we will get a function call overhead.\n * We want to change it in the future, but it's not feasible at the moment.\n */\nexport function isWorkletFunction<\n Args extends unknown[] = unknown[],\n ReturnValue = unknown,\n BuildType extends WorkletBaseDev | WorkletBaseRelease = WorkletBaseDev\n>(value: unknown): value is WorkletFunction & BuildType {\n 'worklet';\n // Since host objects always return true for `in` operator, we have to use dot notation to check if the property exists.\n // See https://github.com/facebook/hermes/blob/340726ef8cf666a7cce75bc60b02fa56b3e54560/lib/VM/JSObject.cpp#L1276.\n return (\n typeof value === 'function' &&\n !!(value as unknown as Record).__workletHash\n );\n}\n\nexport type AnimatedPropsAdapterFunction = (\n props: Record\n) => void;\n\nexport type AnimatedPropsAdapterWorklet = WorkletFunction<\n [props: Record],\n void\n>;\n\nexport interface NestedObject {\n [key: string]: NestedObjectValues;\n}\n\nexport type NestedObjectValues =\n | T\n | Array>\n | NestedObject;\n\ntype Animatable = number | string | Array;\n\nexport type AnimatableValueObject = { [key: string]: Animatable };\n\nexport type AnimatableValue = Animatable | AnimatableValueObject;\n\nexport interface AnimationObject {\n [key: string]: any;\n callback?: AnimationCallback;\n current?: T;\n toValue?: AnimationObject['current'];\n startValue?: AnimationObject['current'];\n finished?: boolean;\n strippedCurrent?: number;\n cancelled?: boolean;\n reduceMotion?: boolean;\n\n __prefix?: string;\n __suffix?: string;\n onFrame: (animation: any, timestamp: Timestamp) => boolean;\n onStart: (\n nextAnimation: any,\n current: any,\n timestamp: Timestamp,\n previousAnimation: any\n ) => void;\n}\n\nexport interface Animation extends AnimationObject {\n onFrame: (animation: T, timestamp: Timestamp) => boolean;\n onStart: (\n nextAnimation: T,\n current: AnimatableValue,\n timestamp: Timestamp,\n previousAnimation: Animation | null | T\n ) => void;\n}\n\nexport enum SensorType {\n ACCELEROMETER = 1,\n GYROSCOPE = 2,\n GRAVITY = 3,\n MAGNETIC_FIELD = 4,\n ROTATION = 5,\n}\nexport enum IOSReferenceFrame {\n XArbitraryZVertical,\n XArbitraryCorrectedZVertical,\n XMagneticNorthZVertical,\n XTrueNorthZVertical,\n Auto,\n}\n\nexport type SensorConfig = {\n interval: number | 'auto';\n adjustToInterfaceOrientation: boolean;\n iosReferenceFrame: IOSReferenceFrame;\n};\n\nexport type AnimatedSensor = {\n sensor: SharedValue;\n unregister: () => void;\n isAvailable: boolean;\n config: SensorConfig;\n};\n\n/**\n * A function called upon animation completion. If the animation is cancelled, the callback will receive `false` as the argument; otherwise, it will receive `true`.\n */\nexport type AnimationCallback = (\n finished?: boolean,\n current?: AnimatableValue\n) => void;\n\nexport type Timestamp = number;\n\nexport type Value3D = {\n x: number;\n y: number;\n z: number;\n interfaceOrientation: InterfaceOrientation;\n};\n\nexport type ValueRotation = {\n qw: number;\n qx: number;\n qy: number;\n qz: number;\n yaw: number;\n pitch: number;\n roll: number;\n interfaceOrientation: InterfaceOrientation;\n};\n\nexport enum InterfaceOrientation {\n ROTATION_0 = 0,\n ROTATION_90 = 90,\n ROTATION_180 = 180,\n ROTATION_270 = 270,\n}\n\nexport type ShadowNodeWrapper = {\n __hostObjectShadowNodeWrapper: never;\n};\n\nexport enum KeyboardState {\n UNKNOWN = 0,\n OPENING = 1,\n OPEN = 2,\n CLOSING = 3,\n CLOSED = 4,\n}\n\nexport type AnimatedKeyboardInfo = {\n height: SharedValue;\n state: SharedValue;\n};\n\n/**\n * @param x - A number representing X coordinate relative to the parent component.\n * @param y - A number representing Y coordinate relative to the parent component.\n * @param width - A number representing the width of the component.\n * @param height - A number representing the height of the component.\n * @param pageX - A number representing X coordinate relative to the screen.\n * @param pageY - A number representing Y coordinate relative to the screen.\n * @see https://docs.swmansion.com/react-native-reanimated/docs/advanced/measure#returns\n */\nexport interface MeasuredDimensions {\n x: number;\n y: number;\n width: number;\n height: number;\n pageX: number;\n pageY: number;\n}\n\nexport interface AnimatedKeyboardOptions {\n isStatusBarTranslucentAndroid?: boolean;\n}\n\n/**\n * @param System - If the `Reduce motion` accessibility setting is enabled on the device, disable the animation. Otherwise, enable the animation.\n * @param Always - Disable the animation.\n * @param Never - Enable the animation.\n * @see https://docs.swmansion.com/react-native-reanimated/docs/guides/accessibility\n */\nexport enum ReduceMotion {\n System = 'system',\n Always = 'always',\n Never = 'never',\n}\n\nexport type EasingFunction = (t: number) => number;\n\nexport type TransformArrayItem = Extract<\n TransformsStyle['transform'],\n Array\n>[number];\n\ntype MaybeSharedValue =\n | Value\n | (Value extends AnimatableValue ? SharedValue : never);\n\ntype MaybeSharedValueRecursive = Value extends (infer Item)[]\n ? SharedValue | (MaybeSharedValueRecursive | Item)[]\n : Value extends object\n ?\n | SharedValue\n | {\n [Key in keyof Value]:\n | MaybeSharedValueRecursive\n | Value[Key];\n }\n : MaybeSharedValue;\n\ntype DefaultStyle = ViewStyle & ImageStyle & TextStyle;\n\n// Ideally we want AnimatedStyle to not be generic, but there are\n// so many depenedencies on it being generic that it's not feasible at the moment.\nexport type AnimatedStyle\";\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","'use strict';\nconst isOptionObject = require('is-plain-obj');\n\nconst {hasOwnProperty} = Object.prototype;\nconst {propertyIsEnumerable} = Object;\nconst defineProperty = (object, name, value) => Object.defineProperty(object, name, {\n\tvalue,\n\twritable: true,\n\tenumerable: true,\n\tconfigurable: true\n});\n\nconst globalThis = this;\nconst defaultMergeOptions = {\n\tconcatArrays: false,\n\tignoreUndefined: false\n};\n\nconst getEnumerableOwnPropertyKeys = value => {\n\tconst keys = [];\n\n\tfor (const key in value) {\n\t\tif (hasOwnProperty.call(value, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\n\t/* istanbul ignore else */\n\tif (Object.getOwnPropertySymbols) {\n\t\tconst symbols = Object.getOwnPropertySymbols(value);\n\n\t\tfor (const symbol of symbols) {\n\t\t\tif (propertyIsEnumerable.call(value, symbol)) {\n\t\t\t\tkeys.push(symbol);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn keys;\n};\n\nfunction clone(value) {\n\tif (Array.isArray(value)) {\n\t\treturn cloneArray(value);\n\t}\n\n\tif (isOptionObject(value)) {\n\t\treturn cloneOptionObject(value);\n\t}\n\n\treturn value;\n}\n\nfunction cloneArray(array) {\n\tconst result = array.slice(0, 0);\n\n\tgetEnumerableOwnPropertyKeys(array).forEach(key => {\n\t\tdefineProperty(result, key, clone(array[key]));\n\t});\n\n\treturn result;\n}\n\nfunction cloneOptionObject(object) {\n\tconst result = Object.getPrototypeOf(object) === null ? Object.create(null) : {};\n\n\tgetEnumerableOwnPropertyKeys(object).forEach(key => {\n\t\tdefineProperty(result, key, clone(object[key]));\n\t});\n\n\treturn result;\n}\n\n/**\n * @param {*} merged already cloned\n * @param {*} source something to merge\n * @param {string[]} keys keys to merge\n * @param {Object} config Config Object\n * @returns {*} cloned Object\n */\nconst mergeKeys = (merged, source, keys, config) => {\n\tkeys.forEach(key => {\n\t\tif (typeof source[key] === 'undefined' && config.ignoreUndefined) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Do not recurse into prototype chain of merged\n\t\tif (key in merged && merged[key] !== Object.getPrototypeOf(merged)) {\n\t\t\tdefineProperty(merged, key, merge(merged[key], source[key], config));\n\t\t} else {\n\t\t\tdefineProperty(merged, key, clone(source[key]));\n\t\t}\n\t});\n\n\treturn merged;\n};\n\n/**\n * @param {*} merged already cloned\n * @param {*} source something to merge\n * @param {Object} config Config Object\n * @returns {*} cloned Object\n *\n * see [Array.prototype.concat ( ...arguments )](http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.concat)\n */\nconst concatArrays = (merged, source, config) => {\n\tlet result = merged.slice(0, 0);\n\tlet resultIndex = 0;\n\n\t[merged, source].forEach(array => {\n\t\tconst indices = [];\n\n\t\t// `result.concat(array)` with cloning\n\t\tfor (let k = 0; k < array.length; k++) {\n\t\t\tif (!hasOwnProperty.call(array, k)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tindices.push(String(k));\n\n\t\t\tif (array === merged) {\n\t\t\t\t// Already cloned\n\t\t\t\tdefineProperty(result, resultIndex++, array[k]);\n\t\t\t} else {\n\t\t\t\tdefineProperty(result, resultIndex++, clone(array[k]));\n\t\t\t}\n\t\t}\n\n\t\t// Merge non-index keys\n\t\tresult = mergeKeys(result, array, getEnumerableOwnPropertyKeys(array).filter(key => !indices.includes(key)), config);\n\t});\n\n\treturn result;\n};\n\n/**\n * @param {*} merged already cloned\n * @param {*} source something to merge\n * @param {Object} config Config Object\n * @returns {*} cloned Object\n */\nfunction merge(merged, source, config) {\n\tif (config.concatArrays && Array.isArray(merged) && Array.isArray(source)) {\n\t\treturn concatArrays(merged, source, config);\n\t}\n\n\tif (!isOptionObject(source) || !isOptionObject(merged)) {\n\t\treturn clone(source);\n\t}\n\n\treturn mergeKeys(merged, source, getEnumerableOwnPropertyKeys(source), config);\n}\n\nmodule.exports = function (...options) {\n\tconst config = merge(clone(defaultMergeOptions), (this !== globalThis && this) || {}, defaultMergeOptions);\n\tlet merged = {_: {}};\n\n\tfor (const option of options) {\n\t\tif (option === undefined) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!isOptionObject(option)) {\n\t\t\tthrow new TypeError('`' + option + '` is not an Option Object');\n\t\t}\n\n\t\tmerged = merge(merged, {_: option}, config);\n\t}\n\n\treturn merged._;\n};\n","export const MixpanelType = {\n EVENTS: \"/track/\",\n USER: \"/engage/\",\n GROUPS: \"/groups/\",\n};\n\nexport const getQueueKey = (token, type) => `MIXPANEL_${token}_${type}_QUEUE`;\n\nexport const getDeviceIdKey = (token) => `MIXPANEL_${token}_DEVICE_ID`;\nexport const getDistinctIdKey = (token) => `MIXPANEL_${token}_DISTINCT_ID`;\nexport const getUserIdKey = (token) => `MIXPANEL_${token}_USER_ID`;\n\nexport const getOptedOutKey = (token) => `MIXPANEL_${token}_OPT_OUT`;\nexport const getSuperPropertiesKey = (token) =>\n `MIXPANEL_${token}_SUPER_PROPERTIES`;\nexport const getTimeEventsKey = (token) => `MIXPANEL_${token}_TIME_EVENTS`;\nexport const getAppHasOpenedBeforeKey = (token) =>\n `MIXPANEL_${token}_APP_HAS_OPENED_BEFORE`;\n\nexport const defaultServerURL = `https://api.mixpanel.com`;\nexport const defaultBatchSize = 50;\nexport const defaultFlushInterval = 10 * 1000; // 10s\n","import {\n defaultBatchSize,\n defaultFlushInterval,\n defaultServerURL,\n} from \"./mixpanel-constants\";\n\nimport {MixpanelLogger} from \"./mixpanel-logger\";\n\nexport class MixpanelConfig {\n static instance;\n\n static getInstance() {\n if (!MixpanelConfig.instance) {\n MixpanelConfig.instance = new MixpanelConfig();\n }\n return MixpanelConfig.instance;\n }\n\n constructor() {\n if (MixpanelConfig.instance) {\n throw new Error(`Use MixpanelConfig.getInstance()`);\n }\n this._config = {};\n }\n\n setLoggingEnabled(token, loggingEnabled) {\n this._config[token] = {\n ...this._config[token],\n loggingEnabled,\n };\n if (loggingEnabled) {\n console.info(`Mixpanel Logging Enabled`);\n } else {\n console.info(`Mixpanel Logging Disabled`);\n }\n }\n\n getLoggingEnabled(token) {\n return (this._config[token] && this._config[token].loggingEnabled) || false;\n }\n\n setServerURL(token, serverURL) {\n this._config[token] = {\n ...this._config[token],\n serverURL,\n };\n MixpanelLogger.log(token, `Set serverURL: ${serverURL}`);\n }\n\n getServerURL(token) {\n return (\n (this._config[token] && this._config[token].serverURL) || defaultServerURL\n );\n }\n\n setUseIpAddressForGeolocation(token, useIpAddressForGeolocation) {\n this._config[token] = {\n ...this._config[token],\n useIpAddressForGeolocation,\n };\n MixpanelLogger.log(\n token,\n `Set useIpAddressForGeolocation: ${useIpAddressForGeolocation}`\n );\n }\n\n getUseIpAddressForGeolocation(token) {\n return (\n (this._config[token] && this._config[token].useIpAddressForGeolocation) ||\n true\n );\n }\n\n setFlushBatchSize(token, batchSize) {\n this._config[token] = {\n ...this._config[token],\n batchSize,\n };\n MixpanelLogger.log(token, `Set flush batch size: ${batchSize}`);\n }\n\n getFlushBatchSize(token) {\n return (\n (this._config[token] && this._config[token].batchSize) || defaultBatchSize\n );\n }\n\n setFlushInterval(token, flushInterval) {\n this._config[token] = {\n ...this._config[token],\n flushInterval,\n };\n MixpanelLogger.log(token, `Set flush interval: ${flushInterval}`);\n }\n\n getFlushInterval(token) {\n return (\n (this._config[token] && this._config[token].flushInterval) ||\n defaultFlushInterval\n );\n }\n}\n","import {MixpanelConfig} from \"mixpanel-react-native/javascript/mixpanel-config\";\n\nexport class MixpanelLogger {\n static _shouldLog(token) {\n return MixpanelConfig.getInstance().getLoggingEnabled(token);\n }\n\n static _prependPrefix(args) {\n return [\"[Mixpanel]\", ...args];\n }\n\n static log(token, ...args) {\n if (MixpanelLogger._shouldLog(token)) {\n console.log(...MixpanelLogger._prependPrefix(args));\n }\n }\n\n static info(token, ...args) {\n if (MixpanelLogger._shouldLog(token)) {\n console.info(...MixpanelLogger._prependPrefix(args));\n }\n }\n\n static warn(token, ...args) {\n if (MixpanelLogger._shouldLog(token)) {\n console.warn(...MixpanelLogger._prependPrefix(args));\n }\n }\n\n static error(token, ...args) {\n if (MixpanelLogger._shouldLog(token)) {\n console.error(...MixpanelLogger._prependPrefix(args));\n }\n }\n}\n","import {MixpanelLogger} from \"mixpanel-react-native/javascript/mixpanel-logger\";\n\nexport class AsyncStorageAdapter {\n constructor(storage) {\n if (!storage) {\n try {\n this.storage = require(\"@react-native-async-storage/async-storage\");\n } catch {\n console.error(\n \"[@RNC/AsyncStorage]: NativeModule: AsyncStorage is null. Please run 'npm install @react-native-async-storage/async-storage' or follow the Mixpanel guide to set up your own Storage class.\"\n );\n console.error(\"[Mixpanel] Falling back to in-memory storage\");\n this.storage = new InMemoryStorage();\n }\n } else {\n this.storage = storage;\n }\n }\n\n async getItem(key) {\n try {\n return await this.storage.getItem(key);\n } catch {\n MixpanelLogger.error(\"error getting item from storage\");\n return null;\n }\n }\n\n async setItem(key, value) {\n try {\n await this.storage.setItem(key, value);\n } catch {\n MixpanelLogger.error(\"error setting item in storage\");\n }\n }\n\n async removeItem(key) {\n try {\n await this.storage.removeItem(key);\n } catch {\n MixpanelLogger.error(\"error removing item from storage\");\n }\n }\n}\n\nclass InMemoryStorage {\n constructor() {\n this.store = {};\n }\n\n async getItem(key) {\n return this.store.hasOwnProperty(key) ? this.store[key] : null;\n }\n\n async setItem(key, value) {\n this.store[key] = value;\n }\n\n async removeItem(key) {\n delete this.store[key];\n }\n}\n","import {\n getDeviceIdKey,\n getDistinctIdKey,\n getSuperPropertiesKey,\n getTimeEventsKey,\n getOptedOutKey as getOutedOutKey,\n getQueueKey,\n getUserIdKey,\n getAppHasOpenedBeforeKey,\n} from \"./mixpanel-constants\";\n\nimport {AsyncStorageAdapter} from \"./mixpanel-storage\";\nimport uuid from \"uuid\";\nimport {MixpanelLogger} from \"mixpanel-react-native/javascript/mixpanel-logger\";\n\nexport class MixpanelPersistent {\n static instance;\n\n static getInstance(storage) {\n if (!MixpanelPersistent.instance) {\n MixpanelPersistent.instance = new MixpanelPersistent(\n new AsyncStorageAdapter(storage)\n );\n MixpanelPersistent.initializationCompletePromise = MixpanelPersistent.instance.initializationCompletePromise();\n }\n return MixpanelPersistent.instance;\n }\n\n constructor(storageAdapter) {\n if (MixpanelPersistent.instance) {\n throw new Error(`Use MixpanelPersistent.getInstance()`);\n }\n\n this.storageAdapter = storageAdapter;\n this._superProperties = {};\n this._timeEvents = {};\n this._identity = {};\n this._optedOut = {};\n this._appHasOpenedBefore = {};\n }\n\n async initializationCompletePromise(token) {\n Promise.all([\n this.loadIdentity(token),\n this.loadSuperProperties(token),\n this.loadTimeEvents(token),\n this.loadOptOut(token),\n this.loadAppHasOpenedBefore(token),\n ]);\n }\n\n async loadDeviceId(token) {\n await this.storageAdapter\n .getItem(getDeviceIdKey(token))\n .then((deviceId) => {\n if (!this._identity[token]) {\n this._identity[token] = {};\n }\n this._identity[token].deviceId = deviceId;\n });\n if (!this._identity[token].deviceId) {\n this._identity[token].deviceId = uuid.v4();\n await this.storageAdapter.setItem(\n getDeviceIdKey(token),\n this._identity[token].deviceId\n );\n }\n MixpanelLogger.log(token, \"deviceId:\", this._identity[token].deviceId);\n }\n\n async loadDistinctId(token) {\n await this.storageAdapter\n .getItem(getDistinctIdKey(token))\n .then((distinctId) => {\n if (!this._identity[token]) {\n this._identity[token] = {};\n }\n this._identity[token].distinctId = distinctId;\n });\n if (!this._identity[token].distinctId) {\n this._identity[token].distinctId =\n \"$device:\" + this._identity[token].deviceId;\n await this.storageAdapter.setItem(\n getDistinctIdKey(token),\n this._identity[token].distinctId\n );\n }\n MixpanelLogger.log(token, \"distinctId:\", this._identity[token].distinctId);\n }\n\n async loadUserId(token) {\n await this.storageAdapter.getItem(getUserIdKey(token)).then((userId) => {\n if (!this._identity[token]) {\n this._identity[token] = {};\n }\n this._identity[token].userId = userId;\n });\n MixpanelLogger.log(token, \"userId:\", this._identity[token].userId);\n }\n\n async loadIdentity(token) {\n await this.loadDeviceId(token);\n await this.loadDistinctId(token);\n await this.loadUserId(token);\n }\n\n async persistIdentity(token) {\n await this.persistDeviceId(token);\n await this.persistDistinctId(token);\n await this.persistUserId(token);\n }\n\n getDeviceId(token) {\n if (!this._identity[token]) {\n return null;\n }\n return this._identity[token].deviceId;\n }\n\n updateDeviceId(token, deviceId) {\n this._identity[token].deviceId = deviceId;\n }\n\n async persistDeviceId(token) {\n if (!this._identity[token] || this._identity[token].deviceId === null) {\n return;\n }\n await this.storageAdapter.setItem(\n getDeviceIdKey(token),\n this._identity[token].deviceId\n );\n }\n\n getDistinctId(token) {\n if (!this._identity[token]) {\n return null;\n }\n return this._identity[token].distinctId;\n }\n\n updateDistinctId(token, distinctId) {\n this._identity[token].distinctId = distinctId;\n }\n\n async persistDistinctId(token) {\n if (!this._identity[token] || this._identity[token].distinctId === null) {\n return;\n }\n await this.storageAdapter.setItem(\n getDistinctIdKey(token),\n this._identity[token].distinctId\n );\n }\n\n getUserId(token) {\n if (!this._identity[token]) {\n return null;\n }\n return this._identity[token].userId;\n }\n\n updateUserId(token, userId) {\n this._identity[token].userId = userId;\n }\n\n async persistUserId(token) {\n if (!this._identity[token] || this._identity[token].userId === null) {\n return;\n }\n await this.storageAdapter.setItem(\n getUserIdKey(token),\n this._identity[token].userId\n );\n }\n\n async loadSuperProperties(token) {\n const superPropertiesString = await this.storageAdapter.getItem(\n getSuperPropertiesKey(token)\n );\n this._superProperties[token] = superPropertiesString\n ? JSON.parse(superPropertiesString)\n : {};\n }\n\n getSuperProperties(token) {\n return this._superProperties[token];\n }\n\n updateSuperProperties(token, superProperties) {\n this._superProperties = {\n ...this._superProperties,\n [token]: {...superProperties},\n };\n }\n\n async persistSuperProperties(token) {\n if (this._superProperties[token] === null) {\n return;\n }\n await this.storageAdapter.setItem(\n getSuperPropertiesKey(token),\n JSON.stringify(this._superProperties[token])\n );\n }\n\n async loadTimeEvents(token) {\n const timeEventsString = await this.storageAdapter.getItem(\n getTimeEventsKey(token)\n );\n this._timeEvents[token] = timeEventsString\n ? JSON.parse(timeEventsString)\n : {};\n }\n\n getTimeEvents(token) {\n return this._timeEvents[token];\n }\n\n updateTimeEvents(token, timeEvents) {\n this._timeEvents = {...this._timeEvents, [token]: {...timeEvents}};\n }\n\n async persistTimeEvents(token) {\n if (this._timeEvents[token] === null) {\n return;\n }\n await this.storageAdapter.setItem(\n getTimeEventsKey(token),\n JSON.stringify(this._timeEvents[token])\n );\n }\n\n async loadOptOut(token) {\n const optOutString = await this.storageAdapter.getItem(\n getOutedOutKey(token)\n );\n this._optedOut[token] = optOutString === \"true\";\n }\n\n getOptedOut(token) {\n return this._optedOut[token] === true;\n }\n\n updateOptedOut(token, optOut) {\n this._optedOut = {...this._optedOut, [token]: optOut};\n }\n\n async persistOptedOut(token) {\n if (this._optedOut[token] === null) {\n return;\n }\n await this.storageAdapter.setItem(\n getOutedOutKey(token),\n this._optedOut[token].toString()\n );\n }\n\n async loadQueue(token, type) {\n const queueString = await this.storageAdapter.getItem(\n getQueueKey(token, type)\n );\n return queueString ? JSON.parse(queueString) : [];\n }\n\n async saveQueue(token, type, queue) {\n await this.storageAdapter.setItem(\n getQueueKey(token, type),\n JSON.stringify(queue)\n );\n }\n\n async loadAppHasOpenedBefore(token) {\n const appHasOpenedBeforeString = await this.storageAdapter.getItem(\n getAppHasOpenedBeforeKey(token)\n );\n this._appHasOpenedBefore[token] = appHasOpenedBeforeString === \"true\";\n }\n\n getAppHasOpenedBefore(token) {\n return this._appHasOpenedBefore[token] === true;\n }\n\n updateAppHasOpenedBefore(token, appHasOpenedBefore) {\n this._appHasOpenedBefore = {\n ...this._appHasOpenedBefore,\n [token]: appHasOpenedBefore,\n };\n }\n\n async persistAppHasOpenedBefore(token) {\n if (this._appHasOpenedBefore[token] === null) {\n return;\n }\n await this.storageAdapter.setItem(\n getAppHasOpenedBeforeKey(token),\n this._appHasOpenedBefore[token].toString()\n );\n }\n\n async reset(token) {\n await this.storageAdapter.removeItem(getDeviceIdKey(token));\n await this.storageAdapter.removeItem(getDistinctIdKey(token));\n await this.storageAdapter.removeItem(getUserIdKey(token));\n await this.storageAdapter.removeItem(getSuperPropertiesKey(token));\n await this.storageAdapter.removeItem(getTimeEventsKey(token));\n await this.loadIdentity(token);\n await this.loadSuperProperties(token);\n await this.loadTimeEvents(token);\n }\n}\n","import {MixpanelPersistent} from \"./mixpanel-persistent\";\n\nexport const MixpanelQueueManager = (() => {\n let _queues = {};\n const mixpanelPersistent = MixpanelPersistent.getInstance();\n\n const initialize = async (token, type) => {\n if (!_queues[token] || !_queues[token][type]) {\n const queue = await mixpanelPersistent.loadQueue(token, type);\n _queues[token] = {\n ..._queues[token],\n [type]: queue,\n };\n }\n };\n\n const updateQueueInStorage = async (token, type) => {\n if (!_queues[token] || !_queues[token][type]) {\n return;\n }\n await mixpanelPersistent.saveQueue(token, type, _queues[token][type]);\n };\n\n const enqueue = async (token, type, data) => {\n if (!_queues[token] || !_queues[token][type]) {\n _queues[token] = {\n ..._queues[token],\n [type]: [],\n };\n }\n _queues[token][type].push(data);\n await updateQueueInStorage(token, type);\n };\n\n const getQueue = (token, type) => {\n if (!_queues[token] || !_queues[token][type]) {\n return [];\n }\n return [..._queues[token][type]];\n };\n\n const spliceQueue = async (token, type, start, deleteCount) => {\n if (!_queues[token] || !_queues[token][type]) {\n return;\n }\n _queues[token][type].splice(start, deleteCount);\n await updateQueueInStorage(token, type);\n };\n\n const clearQueue = async (token, type) => {\n if (!_queues[token] || !_queues[token][type]) {\n return;\n }\n _queues[token][type] = [];\n await updateQueueInStorage(token, type);\n };\n\n return {\n initialize,\n enqueue,\n getQueue,\n spliceQueue,\n clearQueue,\n };\n})();\n","import {MixpanelLogger} from \"mixpanel-react-native/javascript/mixpanel-logger\";\n\nexport class MixpanelHttpError extends Error {\n constructor(message, errorCode) {\n super(message);\n this.code = errorCode;\n }\n}\n\nexport const MixpanelNetwork = (() => {\n const sendRequest = async ({\n token,\n endpoint,\n data,\n serverURL,\n useIPAddressForGeoLocation,\n retryCount = 0,\n }) => {\n retryCount = retryCount || 0;\n const url = `${serverURL}${endpoint}?ip=${+useIPAddressForGeoLocation}`;\n MixpanelLogger.log(token, `Sending request to: ${url}`);\n\n try {\n const response = await fetch(url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n body: `data=${JSON.stringify(data)}`,\n });\n\n const responseBody = await response.json();\n if (response.status !== 200) {\n throw new MixpanelHttpError(\n `HTTP error! status: ${response.status}`,\n response.status\n );\n }\n\n const message =\n responseBody === 0\n ? `${url} api rejected some items`\n : `Mixpanel batch sent successfully, endpoint: ${endpoint}, data: ${JSON.stringify(\n data\n )}`;\n\n MixpanelLogger.log(token, message);\n } catch (error) {\n if (error.code === 400) {\n // This indicates that the data was invalid and we should not retry\n throw new MixpanelHttpError(\n `HTTP error! status: ${error.code}`,\n error.code\n );\n }\n MixpanelLogger.warn(\n token,\n `API request to ${url} has failed with reason: ${error.message}`\n );\n const maxRetries = 5;\n const backoff = Math.min(2 ** retryCount * 2000, 60000); // Exponential backoff\n if (retryCount < maxRetries) {\n MixpanelLogger.log(token, `Retrying in ${backoff / 1000} seconds...`);\n await new Promise((resolve) => setTimeout(resolve, backoff));\n return sendRequest({\n token,\n endpoint,\n data,\n serverURL,\n useIPAddressForGeoLocation,\n retryCount: retryCount + 1,\n });\n } else {\n MixpanelLogger.warn(token, `Max retries reached. Giving up.`);\n throw new MixpanelHttpError(\n `HTTP error! status: ${error.code}`,\n error.code\n );\n }\n }\n };\n\n return {\n sendRequest,\n };\n})();\n","import {MixpanelType} from \"mixpanel-react-native/javascript/mixpanel-constants\";\n\nexport class SessionMetadata {\n constructor(trackingQueue) {\n this.eventsCounter = 0;\n this.peopleCounter = 0;\n this.sessionID = SessionMetadata.randomId();\n this.sessionStartEpoch = Math.round(Date.now() / 1000);\n this.trackingQueue = trackingQueue;\n }\n\n static randomId() {\n return (\n Math.floor(Math.random() * (1 << 30)).toString(16) +\n Math.floor(Math.random() * (1 << 30)).toString(16)\n ).padStart(16, \"0\");\n }\n\n toDict(type) {\n const dict = {\n $mp_metadata: {\n $mp_event_id: SessionMetadata.randomId(),\n $mp_session_id: this.sessionID,\n $mp_session_seq_id:\n type === MixpanelType.EVENTS\n ? this.eventsCounter\n : this.peopleCounter,\n $mp_session_start_sec: this.sessionStartEpoch,\n },\n };\n if (type === MixpanelType.EVENTS) {\n this.eventsCounter += 1;\n } else {\n this.peopleCounter += 1;\n }\n return dict;\n }\n}\n","import {MixpanelQueueManager} from \"./mixpanel-queue\";\nimport {MixpanelNetwork} from \"./mixpanel-network\";\nimport {SessionMetadata} from \"./mixpanel-utils\";\nimport {MixpanelType} from \"./mixpanel-constants\";\nimport {MixpanelConfig} from \"./mixpanel-config\";\nimport {MixpanelPersistent} from \"./mixpanel-persistent\";\nimport {MixpanelLogger} from \"./mixpanel-logger\";\n\nexport const MixpanelCore = (storage) => {\n const mixpanelPersistent = MixpanelPersistent.getInstance(storage);\n const config = MixpanelConfig.getInstance();\n let isProcessingQueue = false;\n let processQueueInterval = null;\n\n const initialize = async (token) => {\n await MixpanelQueueManager.initialize(token, MixpanelType.EVENTS);\n };\n\n const startProcessingQueue = (token) => {\n if (mixpanelPersistent.getOptedOut(token)) {\n MixpanelLogger.log(\n token,\n `User has opted out of tracking, skipping processing queue.`\n );\n return;\n }\n\n if (isProcessingQueue) {\n MixpanelLogger.log(\n token,\n `Queue is already being processed. Skipping new cycle.`\n );\n return;\n }\n\n isProcessingQueue = true;\n\n processQueueInterval = setInterval(async () => {\n clearInterval(processQueueInterval);\n await processQueue(token, MixpanelType.EVENTS);\n await processQueue(token, MixpanelType.USER);\n await processQueue(token, MixpanelType.GROUPS);\n\n isProcessingQueue = false;\n startProcessingQueue(token);\n }, config.getFlushInterval(token));\n };\n\n const isValidAndSerializable = (token, obj, depth = 1) => {\n try {\n JSON.stringify(obj);\n } catch (error) {\n MixpanelLogger.error(token, `Error in Mixpanel payload: ${error}`);\n return false;\n }\n return true;\n };\n\n const addToMixpanelQueue = async (token, type, data) => {\n if (mixpanelPersistent.getOptedOut(token)) {\n MixpanelLogger.log(\n token,\n `User has opted out of tracking, skipping tracking.`\n );\n return;\n }\n if (!isValidAndSerializable(token, data)) {\n MixpanelLogger.error(\n token,\n `The Mixpanel payload is not valid or not serializable.`\n );\n return;\n }\n const sessionMetadata = new SessionMetadata();\n await MixpanelQueueManager.enqueue(token, type, {\n ...sessionMetadata.toDict(type),\n ...data,\n });\n MixpanelLogger.log(\n token,\n `The mixpanel payload is added to the Mixpanel queue. Payload: '${JSON.stringify(\n {\n ...sessionMetadata.toDict(type),\n ...data,\n }\n )}' Type: '${type}' `\n );\n };\n\n const flush = async (token) => {\n if (mixpanelPersistent.getOptedOut(token)) {\n MixpanelLogger.log(\n token,\n `User has opted out of tracking, do not flush queue.`\n );\n return;\n }\n await processQueue(token, MixpanelType.EVENTS);\n await processQueue(token, MixpanelType.USER);\n await processQueue(token, MixpanelType.GROUPS);\n };\n\n const processQueue = async (token, type) => {\n MixpanelLogger.log(token, `Processing queue for endpoint: ${type}`);\n const processBatch = async () => {\n const queue = MixpanelQueueManager.getQueue(token, type);\n if (queue.length > 0) {\n MixpanelLogger.log(token, `[Flushing queue] endpoint: ${type}`);\n MixpanelLogger.log(\n token,\n `[Flushing queue] queue: ${JSON.stringify(queue)}`\n );\n const batchSize = config.getFlushBatchSize(token);\n const batch = queue.slice(0, batchSize);\n try {\n await MixpanelNetwork.sendRequest({\n token,\n data: batch,\n endpoint: type,\n serverURL: config.getServerURL(token),\n useIPAddressForGeoLocation:\n config.getUseIpAddressForGeolocation(token),\n });\n await MixpanelQueueManager.spliceQueue(token, type, 0, batch.length);\n // Process the next batch if there are more events in the queue\n const queue = MixpanelQueueManager.getQueue(token, type);\n if (queue.length > 0) {\n setTimeout(processBatch, 0);\n }\n } catch (error) {\n handleBatchError(token, error, type, processBatch);\n }\n }\n };\n\n processBatch();\n };\n\n const handleBatchError = (token, error, type, callback) => {\n if (error.code === 400) {\n MixpanelLogger.error(\n token,\n `Bad request received due to corrupted data within the batch. The corrupted data is now being removed from the queue...`\n );\n // Remove the corrupted data from the queue, to avoid the data loss, only remove one event at a time\n MixpanelQueueManager.spliceQueue(token, type, 0, 1).then(() => {\n setTimeout(callback, 0);\n });\n } else {\n MixpanelLogger.error(\n token,\n `Error sending event batch from queue, error: ${error}`\n );\n }\n };\n\n return {\n initialize,\n startProcessingQueue,\n addToMixpanelQueue,\n flush,\n };\n};\n","import {Platform} from \"react-native\";\nimport {MixpanelCore} from \"./mixpanel-core\";\nimport {MixpanelType} from \"./mixpanel-constants\";\nimport {MixpanelConfig} from \"./mixpanel-config\";\nimport {MixpanelPersistent} from \"./mixpanel-persistent\";\nimport {MixpanelLogger} from \"mixpanel-react-native/javascript/mixpanel-logger\";\nimport packageJson from \"mixpanel-react-native/package.json\";\n\nexport default class MixpanelMain {\n constructor(token, trackAutomaticEvents, storage) {\n this.token = token;\n this.config = MixpanelConfig.getInstance();\n this.core = MixpanelCore(storage);\n this.core.initialize(token);\n this.core.startProcessingQueue(token);\n this.mixpanelPersistent = MixpanelPersistent.getInstance();\n }\n\n async initialize(\n token,\n trackAutomaticEvents = false,\n optOutTrackingDefault = false,\n superProperties = null,\n serverURL = \"https://api.mixpanel.com\"\n ) {\n MixpanelLogger.log(token, `Initializing Mixpanel`);\n\n await this.mixpanelPersistent.initializationCompletePromise(token);\n if (optOutTrackingDefault) {\n await this.optOutTracking(token);\n return;\n } else {\n await this.optInTracking(token);\n }\n\n this.setServerURL(token, serverURL);\n await this.registerSuperProperties(token, {\n ...superProperties,\n });\n }\n\n getMetaData() {\n const {OS, Version, constants} = Platform;\n const {Brand, Manufacturer, Model} = constants || {};\n\n let metadata = {\n $os: OS,\n $os_version: Version,\n ...JSON.parse(JSON.stringify(packageJson.metadata)),\n $lib_version: packageJson.version,\n };\n if (OS === \"ios\") {\n metadata = {\n ...metadata,\n $manufacturer: \"Apple\",\n };\n } else if (OS === \"android\") {\n metadata = {\n ...metadata,\n $android_brand: Brand,\n $android_manufacturer: Manufacturer,\n $android_model: Model,\n };\n }\n\n return metadata;\n }\n\n async reset(token) {\n await this.mixpanelPersistent.reset(token);\n }\n\n async track(token, eventName, properties) {\n MixpanelLogger.log(\n token,\n `Track '${eventName}' with properties`,\n properties\n );\n const superProperties = this.mixpanelPersistent.getSuperProperties(token);\n const identityProps = {\n distinct_id: this.mixpanelPersistent.getDistinctId(token),\n $device_id: this.mixpanelPersistent.getDeviceId(token),\n $user_id: this.mixpanelPersistent.getUserId(token),\n };\n const eventElapsedTime = await this.eventElapsedTime(token, eventName);\n const eventProperties = Object.freeze({\n token,\n time: Date.now(),\n ...this.getMetaData(),\n ...superProperties,\n ...properties,\n ...identityProps,\n ...(eventElapsedTime !== null && {\n $duration: eventElapsedTime,\n }),\n });\n\n const eventData = Object.freeze({\n event: eventName,\n properties: eventProperties,\n });\n\n if (eventElapsedTime !== null) {\n let timeEvents = this.mixpanelPersistent.getTimeEvents(token);\n delete timeEvents[eventName];\n this.mixpanelPersistent.updateTimeEvents(token, timeEvents);\n await this.mixpanelPersistent.persistTimeEvents(token);\n }\n await this.core.addToMixpanelQueue(token, MixpanelType.EVENTS, eventData);\n }\n\n setLoggingEnabled(token, loggingEnabled) {\n this.config.setLoggingEnabled(token, loggingEnabled);\n }\n\n setServerURL(token, serverURL) {\n this.config.setServerURL(token, serverURL);\n }\n\n setUseIpAddressForGeolocation(token, useIpAddressForGeolocation) {\n this.config.setUseIpAddressForGeolocation(\n token,\n useIpAddressForGeolocation\n );\n }\n\n setFlushBatchSize(token, flushBatchSize) {\n this.config.setFlushBatchSize(token, flushBatchSize);\n }\n\n flush(token) {\n this.core.flush(token);\n }\n\n async optOutTracking(token) {\n this.mixpanelPersistent.updateOptedOut(token, true);\n await this.mixpanelPersistent.persistOptedOut(token);\n MixpanelLogger.log(token, \"User has opted out of tracking\");\n await this.mixpanelPersistent.reset(token);\n }\n\n async optInTracking(token) {\n this.mixpanelPersistent.updateOptedOut(token, false);\n await this.mixpanelPersistent.persistOptedOut(token);\n MixpanelLogger.log(token, \"User has opted in to tracking\");\n await this.track(token, \"$opt_in\");\n }\n\n hasOptedOutTracking(token) {\n return this.mixpanelPersistent.getOptOut(token);\n }\n\n async identify(token, newDistinctId) {\n MixpanelLogger.log(token, `Identify '${newDistinctId}'`);\n const oldDistinctId = this.mixpanelPersistent.getDistinctId(token);\n if (oldDistinctId === newDistinctId) {\n MixpanelLogger.log(\n token,\n `Distinct Id is already set to ${newDistinctId}, skipping identify.`\n );\n return;\n }\n this.mixpanelPersistent.updateDistinctId(token, newDistinctId);\n this.mixpanelPersistent.updateUserId(token, newDistinctId);\n const deviceId = this.mixpanelPersistent.getDeviceId(token);\n await this.mixpanelPersistent.persistIdentity(token);\n await this.track(token, \"$identify\", {\n distinctId: newDistinctId,\n $user_id: newDistinctId,\n $anon_distinct_id: oldDistinctId,\n $device_id: deviceId,\n });\n }\n\n async alias(token, alias, distinctId) {\n MixpanelLogger.log(token, `Alias '${alias}' to '${distinctId}'`);\n await this.track(token, \"$create_alias\", {\n alias,\n distinct_id: distinctId,\n });\n await this.identify(token, distinctId);\n }\n\n async getDeviceId(token) {\n if (!this.mixpanelPersistent.getDeviceId(token)) {\n await this.mixpanelPersistent.loadIdentity(token);\n }\n return this.identity[token].deviceId;\n }\n\n async getDistinctId(token) {\n if (!this.mixpanelPersistent.getDistinctId(token)) {\n await this.mixpanelPersistent.loadIdentity(token);\n }\n return this.mixpanelPersistent.getDistinctId(token);\n }\n\n async _updateSuperProperties(token, properties) {\n this.mixpanelPersistent.updateSuperProperties(token, properties);\n await this.mixpanelPersistent.persistSuperProperties(token);\n }\n\n async registerSuperProperties(token, properties) {\n MixpanelLogger.log(token, `Register super properties:`, properties);\n const currentSuperProperties = this.mixpanelPersistent.getSuperProperties(\n token\n );\n MixpanelLogger.log(\n token,\n `Current Super Properties:`,\n currentSuperProperties\n );\n const updatedSuperProperties = {\n ...currentSuperProperties,\n ...properties,\n };\n\n this._updateSuperProperties(token, updatedSuperProperties);\n MixpanelLogger.log(\n token,\n `Updated Super Properties:`,\n updatedSuperProperties\n );\n }\n\n async registerSuperPropertiesOnce(token, properties) {\n MixpanelLogger.log(token, `Register super properties once`, properties);\n const currentSuperProperties = this.mixpanelPersistent.getSuperProperties(\n token\n );\n\n const updatedSuperProperties = {\n ...properties,\n ...currentSuperProperties,\n };\n\n this._updateSuperProperties(token, updatedSuperProperties);\n MixpanelLogger.log(\n token,\n `Updated Super Properties:`,\n updatedSuperProperties\n );\n }\n\n async unregisterSuperProperty(token, propertyName) {\n MixpanelLogger.log(token, `Unregister super property '${propertyName}'`);\n let superProperties = this.mixpanelPersistent.getSuperProperties(token);\n delete superProperties[propertyName];\n this._updateSuperProperties(token, superProperties);\n MixpanelLogger.log(token, `Updated Super Properties:`, superProperties);\n }\n\n async getSuperProperties(token) {\n if (!this.mixpanelPersistent.getSuperProperties(token)) {\n await this.mixpanelPersistent.loadSuperProperties(token);\n }\n return this.mixpanelPersistent.getSuperProperties(token);\n }\n\n async clearSuperProperties(token) {\n MixpanelLogger.log(token, `Clear super properties`);\n this._updateSuperProperties(token, {});\n MixpanelLogger.log(token, `Updated Super Properties:`, {});\n }\n\n async timeEvent(token, eventName) {\n const currentTime = Math.round(Date.now() / 1000);\n MixpanelLogger.log(\n token,\n `Add time event '${eventName}' at`,\n new Date(currentTime * 1000).toLocaleString()\n );\n this.mixpanelPersistent.updateTimeEvents(token, {\n ...this.mixpanelPersistent.getTimeEvents(token),\n [eventName]: currentTime,\n });\n await this.mixpanelPersistent.persistTimeEvents(token);\n }\n\n async eventElapsedTime(token, eventName) {\n if (!this.mixpanelPersistent.getTimeEvents(token)) {\n await this.mixpanelPersistent.loadTimeEvents(token);\n }\n const timeEvents = this.mixpanelPersistent.getTimeEvents(token);\n const startTime = timeEvents ? timeEvents[eventName] : undefined;\n\n if (startTime) {\n const duration = Math.round(Date.now() / 1000) - startTime;\n return duration;\n }\n return null;\n }\n\n async sendProfileDataToMixpanel(token, action) {\n const profileData = {\n $token: token,\n $time: Date.now(),\n ...action,\n $distinct_id: this.mixpanelPersistent.getDistinctId(token),\n $device_id: this.mixpanelPersistent.getDeviceId(token),\n $user_id: this.mixpanelPersistent.getUserId(token),\n };\n await this.core.addToMixpanelQueue(token, MixpanelType.USER, profileData);\n }\n\n async sendGroupDataToMixpanel({token, groupKey, groupID, action}) {\n const profileData = {\n $token: token,\n $time: Date.now(),\n $group_key: groupKey,\n $group_id: groupID,\n ...action,\n };\n await this.core.addToMixpanelQueue(token, MixpanelType.GROUPS, profileData);\n }\n\n async set(token, properties) {\n MixpanelLogger.log(token, `Set properties: `, properties);\n await this.sendProfileDataToMixpanel(token, {$set: properties});\n }\n\n async setOnce(token, properties) {\n MixpanelLogger.log(token, `Set once properties: `, properties);\n await this.sendProfileDataToMixpanel(token, {$set_once: properties});\n }\n\n async increment(token, properties) {\n MixpanelLogger.log(token, `Increment properties: `, properties);\n await this.sendProfileDataToMixpanel(token, {$add: properties});\n }\n\n async append(token, nameOrProperties, value) {\n if (typeof nameOrProperties === \"string\" && value !== undefined) {\n MixpanelLogger.log(token, `Append properties: `, {\n [nameOrProperties]: value,\n });\n await this.sendProfileDataToMixpanel(token, {\n $append: {[nameOrProperties]: value},\n });\n } else if (typeof nameOrProperties === \"object\") {\n MixpanelLogger.log(token, `Append properties: `, nameOrProperties);\n await this.sendProfileDataToMixpanel(token, {\n $append: nameOrProperties,\n });\n }\n }\n\n async union(token, nameOrProperties, value) {\n if (typeof nameOrProperties === \"string\" && value !== undefined) {\n MixpanelLogger.log(token, `Union properties: `, {\n [nameOrProperties]: value,\n });\n await this.sendProfileDataToMixpanel(token, {\n $union: {[nameOrProperties]: value},\n });\n } else if (typeof nameOrProperties === \"object\") {\n MixpanelLogger.log(token, `Union properties: `, nameOrProperties);\n await this.sendProfileDataToMixpanel(token, {$union: nameOrProperties});\n }\n }\n\n async remove(token, nameOrProperties, value) {\n if (typeof nameOrProperties === \"string\" && value !== undefined) {\n MixpanelLogger.log(token, `Remove properties: `, {\n [nameOrProperties]: value,\n });\n await this.sendProfileDataToMixpanel(token, {\n $remove: {[nameOrProperties]: value},\n });\n } else if (typeof nameOrProperties === \"object\") {\n MixpanelLogger.log(token, `Remove properties: `, nameOrProperties);\n await this.sendProfileDataToMixpanel(token, {\n $remove: nameOrProperties,\n });\n }\n }\n\n async trackCharge(token, charge, properties) {\n MixpanelLogger.log(token, `Track charge: `, charge, properties);\n await this.append(token, {\n $transactions: {$amount: charge, $time: Date.now(), ...properties},\n });\n }\n\n async clearCharges(token) {\n MixpanelLogger.log(token, `Clear charges`);\n await this.set(token, {\n $transactions: [],\n });\n }\n\n async unset(token, property) {\n MixpanelLogger.log(token, `Unset property: `, property);\n await this.sendProfileDataToMixpanel(token, {$unset: [property]});\n }\n\n async deleteUser(token) {\n MixpanelLogger.log(token, `Delete user`);\n await this.sendProfileDataToMixpanel(token, {$delete: \"null\"});\n }\n\n async groupSetProperties(token, groupKey, groupID, properties) {\n MixpanelLogger.log(\n token,\n `Group set properties: `,\n groupKey,\n groupID,\n properties\n );\n await this.sendGroupDataToMixpanel({\n token,\n groupKey,\n groupID,\n action: {\n $set: properties,\n },\n });\n }\n\n async groupSetPropertyOnce(token, groupKey, groupID, properties) {\n MixpanelLogger.log(\n token,\n `Group set once properties: `,\n groupKey,\n groupID,\n properties\n );\n await this.sendGroupDataToMixpanel({\n token,\n groupKey,\n groupID,\n action: {\n $set_once: properties,\n },\n });\n }\n\n async groupUnsetProperty(token, groupKey, groupID, prop) {\n MixpanelLogger.log(\n token,\n `Group unset property: `,\n groupKey,\n groupID,\n prop\n );\n await this.sendGroupDataToMixpanel({\n token,\n groupKey,\n groupID,\n action: {\n $unset: [prop],\n },\n });\n }\n\n async groupRemovePropertyValue(token, groupKey, groupID, name, value) {\n MixpanelLogger.log(\n token,\n `Group remove property value: `,\n groupKey,\n groupID,\n name,\n value\n );\n await this.sendGroupDataToMixpanel({\n token,\n groupKey,\n groupID,\n action: {\n $remove: {[name]: value},\n },\n });\n }\n\n async groupUnionProperty(token, groupKey, groupID, name, value) {\n MixpanelLogger.log(\n token,\n `Group union property: `,\n groupKey,\n groupID,\n name,\n value\n );\n await this.sendGroupDataToMixpanel({\n token,\n groupKey,\n groupID,\n action: {\n $union: {[name]: value},\n },\n });\n }\n\n async trackWithGroups(token, eventName, properties, groups) {\n MixpanelLogger.log(\n token,\n `Track with groups: `,\n eventName,\n properties,\n groups\n );\n await this.track(token, eventName, {...properties, ...groups});\n }\n\n async setGroup(token, groupKey, groupID) {\n MixpanelLogger.log(token, `Set group: `, groupKey, groupID);\n const properties = {[groupKey]: [groupID]};\n await this.registerSuperProperties(token, properties);\n await this.set(token, properties);\n }\n\n async addGroup(token, groupKey, groupID) {\n MixpanelLogger.log(token, `Add group: `, groupKey, groupID);\n const superProperties = this.mixpanelPersistent.getSuperProperties(token);\n const groupArray = superProperties[groupKey] || [];\n if (!groupArray.includes(groupID)) {\n this.registerSuperProperties(token, {\n [groupKey]: [...groupArray, groupID],\n });\n }\n await this.union(token, {[groupKey]: [groupID]});\n }\n\n async removeGroup(token, groupKey, groupID) {\n MixpanelLogger.log(token, `Remove group: `, groupKey, groupID);\n const superProperties = this.mixpanelPersistent.getSuperProperties(token);\n if (superProperties && superProperties[groupKey]) {\n const filteredGroup = superProperties[groupKey].filter(\n (id) => id !== groupID\n );\n this.registerSuperProperties(token, {[groupKey]: filteredGroup});\n if (filteredGroup.length === 0) {\n this.unregisterSuperProperty(token, groupKey);\n }\n }\n await this.remove(token, {[groupKey]: groupID});\n }\n\n async deleteGroup(token, groupKey, groupID) {\n MixpanelLogger.log(token, `Delete group: `, groupKey, groupID);\n await this.sendGroupDataToMixpanel({\n token,\n groupKey,\n groupID,\n action: {\n $delete: \"null\",\n },\n });\n }\n}\n","\"use strict\";\n\nimport {Platform, NativeModules} from \"react-native\";\nimport packageJson from \"./package.json\";\nconst {MixpanelReactNative} = NativeModules;\nimport MixpanelMain from \"mixpanel-react-native/javascript/mixpanel-main\"\n\nconst DevicePlatform = {\n Unknown: \"Unknown\",\n Android: \"android\",\n iOS: \"ios\",\n};\n\nconst ERROR_MESSAGE = {\n INVALID_OBJECT: \" is not a valid json object\",\n INVALID_STRING: \" is not a valid string\",\n REQUIRED_DOUBLE: \" is not a valid number\",\n};\n\nconst PARAMS = {\n TOKEN: \"token\",\n DISTINCT_ID: \"distinctId\",\n ALIAS: \"alias\",\n EVENT_NAME: \"eventName\",\n GROUP_KEY: \"groupKey\",\n PROPERTIES: \"properties\",\n PROPERTY_NAME: \"propertyName\",\n PROP: \"prop\",\n NAME: \"name\",\n CHARGE: \"charge\",\n PROPERTY_VALUE: \"property value\",\n};\n\nconst DEFAULT_OPT_OUT = false;\n\n/**\n * The primary class for integrating Mixpanel with your app.\n */\nexport class Mixpanel {\n constructor(token, trackAutomaticEvents, useNative = true, storage) {\n if (!StringHelper.isValid(token)) {\n StringHelper.raiseError(PARAMS.TOKEN);\n }\n if (trackAutomaticEvents == null) {\n throw new Error(`trackAutomaticEvents is undefined`);\n }\n this.token = token;\n this.trackAutomaticEvents = trackAutomaticEvents;\n\n if (useNative && MixpanelReactNative) {\n this.mixpanelImpl = MixpanelReactNative;\n return;\n } else if (useNative) {\n console.warn(\n \"MixpanelReactNative is not available; using JavaScript mode. If you prefer not to use the JavaScript mode, please follow the guide in the GitHub repository: https://github.com/mixpanel/mixpanel-react-native.\"\n );\n }\n\n this.mixpanelImpl = new MixpanelMain(token, trackAutomaticEvents, storage);\n }\n\n /**\n * Initializes Mixpanel\n *\n * @param {boolean} optOutTrackingDefault Optional Whether or not Mixpanel can start tracking by default. See optOutTracking()\n * @param {object} superProperties Optional A Map containing the key value pairs of the super properties to register\n * @param {string} serverURL Optional Set the base URL used for Mixpanel API requests. See setServerURL()\n *\n */\n async init(\n optOutTrackingDefault = DEFAULT_OPT_OUT,\n superProperties = {},\n serverURL = \"https://api.mixpanel.com\"\n ) {\n await this.mixpanelImpl.initialize(\n this.token,\n this.trackAutomaticEvents,\n optOutTrackingDefault,\n {...Helper.getMetaData(), ...superProperties},\n serverURL\n );\n }\n\n /**\n * @deprecated since version 1.3.0. To initialize Mixpanel, please use the instance method `init` instead. See the example below:\n *\n *
    \n   * const trackAutomaticEvents = true;\n   * const mixpanel = new Mixpanel('your project token', trackAutomaticEvents);\n   * mixpanel.init();\n   * 
    \n *\n * Initializes Mixpanel and return an instance of Mixpanel the given project token.\n *\n * @param {string} token your project token.\n * @param {boolean} trackAutomaticEvents Whether or not to automatically track common mobile events\n * @param {boolean} Optional Whether or not Mixpanel can start tracking by default. See optOutTracking()\n *\n */\n static async init(\n token,\n trackAutomaticEvents,\n optOutTrackingDefault = DEFAULT_OPT_OUT\n ) {\n await MixpanelReactNative.initialize(\n token,\n trackAutomaticEvents,\n optOutTrackingDefault,\n Helper.getMetaData(),\n \"https://api.mixpanel.com\"\n );\n return new Mixpanel(token, trackAutomaticEvents);\n }\n\n /**\n * Set the base URL used for Mixpanel API requests.\n * Useful if you need to proxy Mixpanel requests. Defaults to https://api.mixpanel.com.\n * To route data to Mixpanel's EU servers, set to https://api-eu.mixpanel.com\n *\n * @param {string} serverURL the base URL used for Mixpanel API requests\n *\n */\n setServerURL(serverURL) {\n this.mixpanelImpl.setServerURL(this.token, serverURL);\n }\n\n /**\n * This allows enabling or disabling of all Mixpanel logs at run time.\n * All logging is disabled by default. Usually, this is only required if\n * you are running into issues with the SDK that you want to debug\n *\n * @param {boolean} loggingEnabled whether to enable logging\n *\n */\n setLoggingEnabled(loggingEnabled) {\n this.mixpanelImpl.setLoggingEnabled(this.token, loggingEnabled);\n }\n\n /**\n * This allows enabling or disabling whether or not Mixpanel flushes events\n * when the app enters the background on iOS. This is set to true by default.\n *\n * @param {boolean} flushOnBackground whether to enable logging\n *\n */\n setFlushOnBackground(flushOnBackground) {\n if (Platform.OS === \"ios\") {\n MixpanelReactNative.setFlushOnBackground(this.token, flushOnBackground);\n } else {\n console.warn(\n \"Mixpanel setFlushOnBackground was called and ignored because this method only works on iOS.\"\n );\n }\n }\n\n /**\n * This controls whether to automatically send the client IP Address as part of event tracking.\n * With an IP address, geo-location is possible down to neighborhoods within a city,\n * although the Mixpanel Dashboard will just show you city level location specificity.\n *\n * @param {boolean} useIpAddressForGeolocation whether to automatically send the client IP Address.\n * Defaults to true.\n *\n */\n setUseIpAddressForGeolocation(useIpAddressForGeolocation) {\n this.mixpanelImpl.setUseIpAddressForGeolocation(\n this.token,\n useIpAddressForGeolocation\n );\n }\n\n /**\n * Set the number of events sent in a single network request to the Mixpanel server.\n * By configuring this value, you can optimize network usage and manage the frequency of communication between the client and the server. The maximum size is 50; any value over 50 will default to 50.\n *\n * @param {integer} flushBatchSize whether to automatically send the client IP Address.\n * Defaults to true.\n *\n */\n setFlushBatchSize(flushBatchSize) {\n this.mixpanelImpl.setFlushBatchSize(this.token, flushBatchSize);\n }\n\n /**\n * Will return true if the user has opted out from tracking.\n *\n * @return {Promise} true if user has opted out from tracking. Defaults to false.\n */\n hasOptedOutTracking() {\n return this.mixpanelImpl.hasOptedOutTracking(this.token);\n }\n\n /**\n * Use this method to opt-in an already opted-out user from tracking. People updates and track\n * calls will be sent to Mixpanel after using this method.\n * This method will internally track an opt-in event to your project.\n *\n */\n optInTracking() {\n this.mixpanelImpl.optInTracking(this.token);\n }\n\n /**\n * Use this method to opt-out a user from tracking. Events and people updates that haven't been\n * flushed yet will be deleted. Use flush() before calling this method if you want\n * to send all the queues to Mixpanel before.\n *\n * This method will also remove any user-related information from the device.\n */\n optOutTracking() {\n this.mixpanelImpl.optOutTracking(this.token);\n }\n\n /**\n * Associate all future calls to track() with the user identified by\n * the given distinct id.\n *\n *

    Calls to track() made before corresponding calls to identify\n * will use an anonymous locally generated distinct id, which means it is best to call identify\n * early to ensure that your Mixpanel funnels and retention analytics can continue to track the\n * user throughout their lifetime. We recommend calling identify when the user authenticates.\n *\n *

    Once identify is called, the local distinct id persists across restarts of\n * your application.\n *\n * @param {string} distinctId a string uniquely identifying this user. Events sent to\n * Mixpanel using the same disinct_id will be considered associated with the\n * same visitor/customer for retention and funnel reporting, so be sure that the given\n * value is globally unique for each individual user you intend to track.\n * @returns {Promise} A promise that resolves when the identify is successful.\n * It does not return any value.\n *\n */\n identify(distinctId) {\n return new Promise((resolve, reject) => {\n if (!StringHelper.isValid(distinctId)) {\n StringHelper.raiseError(PARAMS.DISTINCT_ID);\n reject(new Error(\"Invalid distinctId\"));\n }\n this.mixpanelImpl\n .identify(this.token, distinctId)\n .then(() => {\n resolve();\n })\n .catch((err) => {\n reject(err);\n });\n });\n }\n\n /**\n * @deprecated The alias method creates an alias which Mixpanel will use to remap one id to another.\n * Multiple aliases can point to the same identifier.\n *\n * `mixpane.alias(\"New ID\", mixpane.distinctId)`\n * `mixpane.alias(\"Newer ID\", mixpane.distinctId)`\n *\n *

    This call does not identify the user after. You must still call identify()\n * if you wish the new alias to be used for Events and People.\n *\n * @param {string} alias A unique identifier that you want to use as an identifier for this user.\n * @param {string} distinctId the current distinct_id that alias will be mapped to.\n */\n alias(alias, distinctId) {\n if (!StringHelper.isValid(alias)) {\n StringHelper.raiseError(PARAMS.ALIAS);\n }\n if (!StringHelper.isValid(distinctId)) {\n StringHelper.raiseError(PARAMS.DISTINCT_ID);\n }\n this.mixpanelImpl.alias(this.token, alias, distinctId);\n }\n\n /**\n * Track an event.\n *\n *

    Every call to track eventually results in a data point sent to Mixpanel. These data points\n * are what are measured, counted, and broken down to create your Mixpanel reports. Events\n * have a string name, and an optional set of name/value pairs that describe the properties of\n * that event.\n *\n * @param {string} eventName The name of the event to send\n * @param {object} properties A Map containing the key value pairs of the properties to include in this event.\n * Pass null if no extra properties exist.\n */\n track(eventName, properties) {\n if (!StringHelper.isValid(eventName)) {\n StringHelper.raiseError(PARAMS.EVENT_NAME);\n }\n if (!ObjectHelper.isValidOrUndefined(properties)) {\n ObjectHelper.raiseError(PARAMS.PROPERTIES);\n }\n this.mixpanelImpl.track(this.token, eventName, {\n ...Helper.getMetaData(),\n ...properties,\n });\n }\n\n /**\n * Returns a Mixpanel People object that can be used to set and increment\n * People Analytics properties.\n *\n * @return {People} an instance of People that you can use to update\n * records in Mixpanel People Analytics\n */\n getPeople() {\n if (this.people) {\n return this.people;\n } else {\n this.people = new People(this.token, this.mixpanelImpl);\n return this.people;\n }\n }\n\n /**\n * Track an event with specific groups.\n *\n *

    Every call to track eventually results in a data point sent to Mixpanel. These data points\n * are what are measured, counted, and broken down to create your Mixpanel reports. Events\n * have a string name, and an optional set of name/value pairs that describe the properties of\n * that event. Group key/value pairs are upserted into the property map before tracking.\n *\n * @param {string} eventName The name of the event to send\n * @param {object} properties A Map containing the key value pairs of the properties to include in this event.\n * Pass null if no extra properties exist.\n * @param {object} groups A Map containing the group key value pairs for this event.\n *\n */\n trackWithGroups(eventName, properties, groups) {\n if (!StringHelper.isValid(eventName)) {\n StringHelper.raiseError(PARAMS.EVENT_NAME);\n }\n if (!ObjectHelper.isValidOrUndefined(properties)) {\n ObjectHelper.raiseError(PARAMS.PROPERTIES);\n }\n this.mixpanelImpl.trackWithGroups(\n this.token,\n eventName,\n {\n ...Helper.getMetaData(),\n ...properties,\n },\n groups\n );\n }\n\n /**\n * Set the group this user belongs to.\n *\n * @param {string} groupKey The property name associated with this group type (must already have been set up).\n * @param {object} groupID The group the user belongs to.\n */\n setGroup(groupKey, groupID) {\n if (!StringHelper.isValid(groupKey)) {\n StringHelper.raiseError(PARAMS.GROUP_KEY);\n }\n this.mixpanelImpl.setGroup(this.token, groupKey, groupID);\n }\n\n /**\n * Returns a MixpanelGroup object that can be used to set and increment\n * Group Analytics properties.\n *\n * @param {string} groupKey String identifying the type of group (must be already in use as a group key)\n * @param {object} groupID Object identifying the specific group\n * @return an instance of MixpanelGroup that you can use to update\n * records in Mixpanel Group Analytics\n */\n getGroup(groupKey, groupID) {\n if (this.group) {\n return this.group;\n } else {\n this.group = new MixpanelGroup(\n this.token,\n groupKey,\n groupID,\n this.mixpanelImpl\n );\n return this.group;\n }\n }\n\n /**\n * Add a group to this user's membership for a particular group key\n *\n * @param {string} groupKey The property name associated with this group type (must already have been set up).\n * @param {object} groupID The new group the user belongs to.\n */\n addGroup(groupKey, groupID) {\n if (!StringHelper.isValid(groupKey)) {\n StringHelper.raiseError(PARAMS.GROUP_KEY);\n }\n this.mixpanelImpl.addGroup(this.token, groupKey, groupID);\n }\n\n /**\n * Remove a group from this user's membership for a particular group key\n *\n * @param {string} groupKey The property name associated with this group type (must already have been set up).\n * @param {object} groupID The group value to remove.\n */\n removeGroup(groupKey, groupID) {\n if (!StringHelper.isValid(groupKey)) {\n StringHelper.raiseError(PARAMS.GROUP_KEY);\n }\n this.mixpanelImpl.removeGroup(this.token, groupKey, groupID);\n }\n\n /**\n * Permanently deletes this group's record from Group Analytics.\n *\n * @param {string} groupKey String identifying the type of group (must be already in use as a group key)\n * @param {object} groupID Object identifying the specific group\n *

    Calling deleteGroup deletes an entire record completely. Any future calls\n * to Group Analytics using the same group value will create and store new values.\n */\n deleteGroup(groupKey, groupID) {\n if (!StringHelper.isValid(groupKey)) {\n StringHelper.raiseError(PARAMS.GROUP_KEY);\n }\n this.mixpanelImpl.deleteGroup(this.token, groupKey, groupID);\n }\n\n /**\n * Register properties that will be sent with every subsequent call to track().\n *\n *

    SuperProperties are a collection of properties that will be sent with every event to Mixpanel,\n * and persist beyond the lifetime of your application.\n *\n *

    Setting a superProperty with registerSuperProperties will store a new superProperty,\n * possibly overwriting any existing superProperty with the same name (to set a\n * superProperty only if it is currently unset, use registerSuperPropertiesOnce())\n *\n *

    SuperProperties will persist even if your application is taken completely out of memory.\n * to remove a superProperty, call unregisterSuperProperty() or clearSuperProperties()\n *\n * @param {object} properties A Map containing super properties to register\n */\n registerSuperProperties(properties) {\n if (!ObjectHelper.isValidOrUndefined(properties)) {\n ObjectHelper.raiseError(PARAMS.PROPERTIES);\n }\n this.mixpanelImpl.registerSuperProperties(this.token, properties || {});\n }\n\n /**\n * Register super properties for events, only if no other super property with the\n * same names has already been registered.\n *\n *

    Calling registerSuperPropertiesOnce will never overwrite existing properties.\n *\n * @param {object} properties A Map containing the super properties to register.\n */\n registerSuperPropertiesOnce(properties) {\n if (!ObjectHelper.isValidOrUndefined(properties)) {\n ObjectHelper.raiseError(PARAMS.PROPERTIES);\n }\n this.mixpanelImpl.registerSuperPropertiesOnce(this.token, properties || {});\n }\n\n /**\n * Remove a single superProperty, so that it will not be sent with future calls to track().\n *\n *

    If there is a superProperty registered with the given name, it will be permanently\n * removed from the existing superProperties.\n * To clear all superProperties, use clearSuperProperties()\n *\n * @param {string} propertyName name of the property to unregister\n */\n unregisterSuperProperty(propertyName) {\n if (!StringHelper.isValid(propertyName)) {\n StringHelper.raiseError(PARAMS.PROPERTY_NAME);\n }\n this.mixpanelImpl.unregisterSuperProperty(this.token, propertyName);\n }\n\n /**\n * Returns a json object of the user's current super properties\n *\n *

    SuperProperties are a collection of properties that will be sent with every event to Mixpanel,\n * and persist beyond the lifetime of your application.\n *\n * @return {Promise} Super properties for this Mixpanel instance.\n */\n getSuperProperties() {\n return this.mixpanelImpl.getSuperProperties(this.token);\n }\n\n /**\n * Erase all currently registered superProperties.\n *\n *

    Future tracking calls to Mixpanel will not contain the specific\n * superProperties registered before the clearSuperProperties method was called.\n *\n *

    To remove a single superProperty, use unregisterSuperProperty()\n */\n clearSuperProperties() {\n this.mixpanelImpl.clearSuperProperties(this.token);\n }\n\n /**\n * Begin timing of an event. Calling timeEvent(\"Thing\") will not send an event, but\n * when you eventually call track(\"Thing\"), your tracked event will be sent with a \"$duration\"\n * property, representing the number of seconds between your calls.\n *\n * @param {string} eventName the name of the event to track with timing.\n */\n timeEvent(eventName) {\n if (!StringHelper.isValid(eventName)) {\n StringHelper.raiseError(PARAMS.EVENT_NAME);\n }\n this.mixpanelImpl.timeEvent(this.token, eventName);\n }\n\n /**\n * Retrieves the time elapsed for the named event since timeEvent() was called.\n *\n * @param {string} eventName the name of the event to be tracked that was previously called with timeEvent()\n *\n * @return {Promise} Time elapsed since timeEvent(String) was called for the given eventName.\n */\n eventElapsedTime(eventName) {\n if (!StringHelper.isValid(eventName)) {\n StringHelper.raiseError(PARAMS.EVENT_NAME);\n }\n return this.mixpanelImpl.eventElapsedTime(this.token, eventName);\n }\n\n /**\n Clear super properties and generates a new random distinctId for this instance.\n Useful for clearing data when a user logs out.\n */\n reset() {\n this.mixpanelImpl.reset(this.token);\n }\n\n /**\n * Returns the current distinct id of the user.\n * This is either the id automatically generated by the library or the id that has been passed by a call to identify().\n *\n * example of usage:\n *

    \n   * \n   * const distinctId = await mixpanel.getDistinctId();\n   * \n   * 
    \n *\n * @return {Promise} A Promise to the distinct id associated with Mixpanel event and People Analytics\n *\n */\n getDistinctId() {\n return this.mixpanelImpl.getDistinctId(this.token);\n }\n\n /**\n * Returns the current device id of the device.\n * This id automatically generated by the library and regenerated when logout or reset is called.\n *\n * example of usage:\n *
    \n   * \n   * const deviceId = await mixpanel.getDeviceId();\n   * \n   * 
    \n *\n * @return {Promise} A Promise to the device id\n *\n */\n getDeviceId() {\n return this.mixpanelImpl.getDeviceId(this.token);\n }\n\n /**\n * Push all queued Mixpanel events and People Analytics changes to Mixpanel servers.\n *\n *

    Events and People messages are pushed gradually throughout\n * the lifetime of your application. This means that to ensure that all messages\n * are sent to Mixpanel when your application is shut down, you will\n * need to call flush() to let the Mixpanel library know it should\n * send all remaining messages to the server.\n */\n flush() {\n this.mixpanelImpl.flush(this.token);\n }\n}\n\n/**\n * Core class for using Mixpanel People Analytics features.\n *\n *

    The People object is used to update properties in a user's People Analytics record,\n * and to manage the receipt of push notifications sent via Mixpanel Engage.\n * For this reason, it's important to call identify(String) on the People\n * object before you work with it. Once you call identify, the user identity will\n * persist across stops and starts of your application, until you make another\n * call to identify using a different id.\n *\n */\nexport class People {\n constructor(token, mixpanelImpl) {\n if (!StringHelper.isValid(token)) {\n StringHelper.raiseError(PARAMS.TOKEN);\n }\n this.token = token;\n this.mixpanelImpl = mixpanelImpl;\n }\n\n /**\n * Sets a single property with the given name and value for this user.\n * The given name and value will be assigned to the user in Mixpanel People Analytics,\n * possibly overwriting an existing property with the same name.\n *\n * @param {string} prop The name of the Mixpanel property. This must be a String, for example \"Zip Code\"\n * @param {object} to The value of the Mixpanel property. For \"Zip Code\", this value might be the String \"90210\"\n */\n set(prop, to) {\n let properties = {};\n if (ObjectHelper.isValid(prop)) {\n properties = JSON.parse(JSON.stringify(prop || {}));\n } else {\n if (!StringHelper.isValid(prop)) {\n StringHelper.raiseError(PARAMS.PROP);\n }\n properties[prop] = to;\n }\n this.mixpanelImpl.set(this.token, properties);\n }\n\n /**\n * Works just like set(), except it will not overwrite existing property values. This is useful for properties like \"First login date\".\n *\n * @param {string} prop The name of the Mixpanel property. This must be a String, for example \"Zip Code\"\n * @param {object} to The value of the Mixpanel property. For \"Zip Code\", this value might be the String \"90210\"\n */\n setOnce(prop, to) {\n let properties = {};\n if (ObjectHelper.isValid(prop)) {\n prop = prop || {};\n properties = JSON.parse(JSON.stringify(prop));\n } else {\n if (!StringHelper.isValid(prop)) {\n StringHelper.raiseError(PARAMS.PROP);\n }\n properties[prop] = to;\n }\n this.mixpanelImpl.setOnce(this.token, properties);\n }\n\n /**\n * Add the given amount to an existing property on the identified user. If the user does not already\n * have the associated property, the amount will be added to zero. To reduce a property,\n * provide a negative number for the value.\n *\n * @param {string} prop the People Analytics property that should have its value changed\n * @param {number} by the amount to be added to the current value of the named property\n *\n */\n increment(prop, by) {\n var add = {};\n if (ObjectHelper.isValid(prop)) {\n Object.keys(prop).forEach(function (key) {\n var val = prop[key];\n if (isNaN(parseFloat(val))) {\n throw new Error(\n `${PARAMS.PROPERTY_VALUE}${ERROR_MESSAGE.REQUIRED_DOUBLE}`\n );\n }\n add[key] = val;\n });\n } else {\n by = by || 1;\n if (isNaN(parseFloat(by))) {\n throw new Error(\n `${PARAMS.PROPERTY_VALUE}${ERROR_MESSAGE.REQUIRED_DOUBLE}`\n );\n }\n\n if (!StringHelper.isValid(prop)) {\n StringHelper.raiseError(PARAMS.NAME);\n }\n\n add[prop] = by;\n }\n this.mixpanelImpl.increment(this.token, add);\n }\n\n /**\n * Appends a value to a list-valued property. If the property does not currently exist,\n * it will be created as a list of one element. If the property does exist and doesn't\n * currently have a list value, the append will be ignored.\n * @param {string} name the People Analytics property that should have it's value appended to\n * @param {object} value the new value that will appear at the end of the property's list\n */\n append(name, value) {\n let appendProp = {};\n if (!StringHelper.isValid(name)) {\n StringHelper.raiseError(PARAMS.NAME);\n } else {\n appendProp[name] = value;\n }\n\n if (DevicePlatform.iOS === Helper.getDevicePlatform()) {\n this.mixpanelImpl.append(this.token, appendProp);\n } else {\n this.mixpanelImpl.append(this.token, name, value);\n }\n }\n\n /**\n * Adds values to a list-valued property only if they are not already present in the list.\n * If the property does not currently exist, it will be created with the given list as it's value.\n * If the property exists and is not list-valued, the union will be ignored.\n *\n * @param {string} name name of the list-valued property to set or modify\n * @param {array} value an array of values to add to the property value if not already present\n */\n union(name, value) {\n if (!StringHelper.isValid(name)) {\n StringHelper.raiseError(PARAMS.NAME);\n }\n\n value = Array.isArray(value) ? value : [value];\n\n if (DevicePlatform.iOS === Helper.getDevicePlatform()) {\n this.mixpanelImpl.union(this.token, {[name]: value});\n this.mixpanelImpl.union(this.token, {[name]: value});\n } else {\n this.mixpanelImpl.union(this.token, name, value);\n }\n }\n\n /**\n * Remove value from a list-valued property only if they are already present in the list.\n * If the property does not currently exist, the remove will be ignored.\n * If the property exists and is not list-valued, the remove will be ignored.\n * @param {string} name the People Analytics property that should have it's value removed from\n * @param {object} value the value that will be removed from the property's list\n */\n remove(name, value) {\n let removeProp = {};\n if (!StringHelper.isValid(name)) {\n StringHelper.raiseError(PARAMS.NAME);\n } else {\n removeProp[name] = value;\n }\n\n if (DevicePlatform.iOS === Helper.getDevicePlatform()) {\n this.mixpanelImpl.remove(this.token, removeProp);\n } else {\n this.mixpanelImpl.remove(this.token, name, value);\n }\n }\n\n /**\n * permanently removes the property with the given name from the user's profile\n * @param {string} name name of a property to unset\n */\n unset(name) {\n if (!StringHelper.isValid(name)) {\n StringHelper.raiseError(PARAMS.PROPERTY_NAME);\n }\n this.mixpanelImpl.unset(this.token, name);\n }\n\n /**\n * Track a revenue transaction for the identified people profile.\n *\n * @param {number} charge the amount of money exchanged. Positive amounts represent purchases or income from the customer, negative amounts represent refunds or payments to the customer.\n * @param {object} properties an optional collection of properties to associate with this transaction.\n */\n trackCharge(charge, properties) {\n if (isNaN(parseFloat(charge))) {\n throw new Error(`${PARAMS.CHARGE}${ERROR_MESSAGE.REQUIRED_DOUBLE}`);\n }\n\n if (!ObjectHelper.isValidOrUndefined(properties)) {\n ObjectHelper.raiseError(PARAMS.PROPERTIES);\n }\n this.mixpanelImpl.trackCharge(this.token, charge, properties || {});\n }\n\n /**\n * Permanently clear the whole transaction history for the identified people profile.\n */\n clearCharges() {\n this.mixpanelImpl.clearCharges(this.token);\n }\n\n /**\n * Permanently deletes the identified user's record from People Analytics.\n *\n *

    Calling deleteUser deletes an entire record completely. Any future calls\n * to People Analytics using the same distinct id will create and store new values.\n */\n deleteUser() {\n this.mixpanelImpl.deleteUser(this.token);\n }\n}\n\n/**\n * Core class for using Mixpanel Group Analytics features.\n *\n *

    The MixpanelGroup object is used to update properties in a group's Group Analytics record.\n */\nexport class MixpanelGroup {\n constructor(token, groupKey, groupID, mixpanelImpl) {\n if (!StringHelper.isValid(token)) {\n StringHelper.raiseError(PARAMS.TOKEN);\n }\n this.token = token;\n this.groupKey = groupKey;\n this.groupID = groupID;\n this.mixpanelImpl = mixpanelImpl;\n }\n\n /**\n * Sets a single property with the given name and value for this group.\n * The given name and value will be assigned to the user in Mixpanel Group Analytics,\n * possibly overwriting an existing property with the same name.\n *\n * @param {string} prop The name of the Mixpanel property. This must be a String, for example \"Zip Code\"\n * @param {string} to The value to set on the given property name. For \"Zip Code\", this value might be the String \"90210\"\n */\n set(prop, to) {\n let properties = {};\n if (ObjectHelper.isValid(prop)) {\n properties = JSON.parse(JSON.stringify(prop || {}));\n } else {\n if (!StringHelper.isValid(prop)) {\n StringHelper.raiseError(PARAMS.PROP);\n }\n properties[prop] = to;\n }\n this.mixpanelImpl.groupSetProperties(\n this.token,\n this.groupKey,\n this.groupID,\n properties\n );\n }\n\n /**\n * Works just like groupSet() except it will not overwrite existing property values. This is useful for properties like \"First login date\".\n *\n * @param {string} prop The name of the Mixpanel property. This must be a String, for example \"Zip Code\"\n * @param {string} to The value to set on the given property name. For \"Zip Code\", this value might be the String \"90210\"\n */\n setOnce(prop, to) {\n let properties = {};\n if (ObjectHelper.isValid(prop)) {\n properties = JSON.parse(JSON.stringify(prop || {}));\n } else {\n if (!StringHelper.isValid(prop)) {\n StringHelper.raiseError(PARAMS.PROP);\n }\n properties[prop] = to;\n }\n this.mixpanelImpl.groupSetPropertyOnce(\n this.token,\n this.groupKey,\n this.groupID,\n properties\n );\n }\n\n /**\n * Permanently removes the property with the given name from the group's profile\n *\n * @param {string} prop name of a property to unset\n */\n unset(prop) {\n if (!StringHelper.isValid(prop)) {\n StringHelper.raiseError(PARAMS.PROPERTY_NAME);\n }\n this.mixpanelImpl.groupUnsetProperty(\n this.token,\n this.groupKey,\n this.groupID,\n prop\n );\n }\n\n /**\n * Remove value from a list-valued property only if it is already present in the list.\n * If the property does not currently exist, the remove will be ignored.\n * If the property exists and is not list-valued, the remove will be ignored.\n *\n * @param {string} name the Group Analytics list-valued property that should have a value removed\n * @param {any} value the value that will be removed from the list\n */\n remove(name, value) {\n if (!StringHelper.isValid(name)) {\n StringHelper.raiseError(PARAMS.PROPERTY_NAME);\n }\n\n this.mixpanelImpl.groupRemovePropertyValue(\n this.token,\n this.groupKey,\n this.groupID,\n name,\n value\n );\n }\n\n /**\n * Adds values to a list-valued property only if they are not already present in the list.\n * If the property does not currently exist, it will be created with the given list as its value.\n * If the property exists and is not list-valued, the union will be ignored.\n *\n * @param {string} name name of the list-valued property to set or modify\n * @param {array} value an array of values to add to the property value if not already present\n */\n union(name, value) {\n if (!StringHelper.isValid(name)) {\n StringHelper.raiseError(PARAMS.PROPERTY_NAME);\n }\n value = Array.isArray(value) ? value : [value];\n this.mixpanelImpl.groupUnionProperty(\n this.token,\n this.groupKey,\n this.groupID,\n name,\n value\n );\n }\n}\n\nclass Helper {\n /**\n Get the library data from package.json file.\n */\n static getMetaData() {\n let metadata = JSON.parse(JSON.stringify(packageJson.metadata));\n metadata[\"$lib_version\"] = packageJson.version;\n return metadata;\n }\n\n /**\n Get current device platform.\n */\n static getDevicePlatform() {\n switch (Platform.OS) {\n case \"android\":\n return DevicePlatform.Android;\n case \"ios\":\n return DevicePlatform.iOS;\n default:\n return DevicePlatform.Unknown;\n }\n }\n}\n\nclass StringHelper {\n /**\n Check whether the parameter is not a blank string.\n */\n static isValid(str) {\n return typeof str === \"string\" && !/^\\s*$/.test(str);\n }\n\n /**\n Check whether the parameter is undefined or not a blank string.\n */\n static isValidOrUndefined(str) {\n return str === undefined || StringHelper.isValid(str);\n }\n\n /**\n Raise a string validation error.\n */\n static raiseError(paramName) {\n throw new Error(`${paramName}${ERROR_MESSAGE.INVALID_STRING}`);\n }\n}\n\nclass ObjectHelper {\n /**\n Check whether the parameter is an object.\n */\n static isValid(obj) {\n return typeof obj === \"object\";\n }\n\n /**\n Check whether the parameter is undefined or an object.\n */\n static isValidOrUndefined(obj) {\n return obj === undefined || ObjectHelper.isValid(obj);\n }\n\n /**\n Raise an object validation error.\n */\n static raiseError(paramName) {\n throw new Error(`${paramName}${ERROR_MESSAGE.INVALID_OBJECT}`);\n }\n}\n","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([bth[buf[i++]], bth[buf[i++]], \n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]],\n\tbth[buf[i++]], bth[buf[i++]],\n\tbth[buf[i++]], bth[buf[i++]]]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/broofa/node-uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'جانفي',\n 'فيفري',\n 'مارس',\n 'أفريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arDz = moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Palestine) [ar-ps]\n//! author : Majd Al-Shihabi : https://github.com/majdal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n var arPs = moment.defineLocale('ar-ps', {\n months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(\n '_'\n ),\n monthsShort:\n 'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .split('') // reversed since negative lookbehind not supported everywhere\n .reverse()\n .join('')\n .replace(/[١٢](?![\\u062a\\u0643])/g, function (match) {\n return numberMap[match];\n })\n .split('')\n .reverse()\n .join('')\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return arPs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var ar = moment.defineLocale('ar', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı',\n };\n\n var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays:\n 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n '_'\n ),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il',\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone:\n 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort:\n 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone:\n 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n '_'\n ),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bnBd = moment.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bn = moment.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0',\n };\n\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort:\n 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays:\n 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ',\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh',\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z',\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex =\n /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n },\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! author : Rasid Redzic : https://github.com/rasidre\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 'm':\n return withoutSuffix\n ? 'jedna minuta'\n : isFuture\n ? 'jednu minutu'\n : 'jedne minute';\n }\n }\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jedan sat';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: processRelativeTime,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone:\n 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n '_'\n ),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [passat a ' +\n (this.hours() !== 1 ? 'les' : 'la') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = {\n standalone:\n 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n '_'\n ),\n format: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n '_'\n ),\n isFormat: /DD?[o.]?(\\[[^\\[\\]]*\\]|\\s)+MMMM/,\n },\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [\n /^led/i,\n /^úno/i,\n /^bře/i,\n /^dub/i,\n /^kvě/i,\n /^(čvn|červen$|června)/i,\n /^(čvc|červenec|července)/i,\n /^srp/i,\n /^zář/i,\n /^říj/i,\n /^lis/i,\n /^pro/i,\n ],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex =\n /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex:\n /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex:\n /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY',\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays:\n 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n '_'\n ),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n '_'\n ),\n weekdays:\n 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n '_'\n ),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '',\n 'af',\n 'il',\n 'ydd',\n 'ydd',\n 'ed',\n 'ed',\n 'ed',\n 'fed',\n 'fed',\n 'fed', // 1af to 10fed\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'fed', // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު',\n ],\n weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު',\n ];\n\n var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl:\n 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n '_'\n ),\n monthsGenitiveEl:\n 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n '_'\n ),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (\n typeof format === 'string' &&\n /D/.test(format.substring(0, format.indexOf('MMMM')))\n ) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n '_'\n ),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L',\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4st is the first week of the year.\n },\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat'],\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n '_'\n ),\n monthsShort:\n 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays:\n 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n '_'\n ),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort:\n 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰',\n },\n numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0',\n };\n\n var fa = moment.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n monthsShort:\n 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string\n .replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersPast =\n 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n ' '\n ),\n numbersFuture = [\n 'nolla',\n 'yhden',\n 'kahden',\n 'kolmen',\n 'neljän',\n 'viiden',\n 'kuuden',\n numbersPast[7],\n numbersPast[8],\n numbersPast[9],\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10\n ? isFuture\n ? numbersFuture[number]\n : numbersPast[number]\n : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n '_'\n ),\n monthsShort:\n 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays:\n 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n '_'\n ),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays:\n 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsStrictRegex =\n /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [\n /^janv/i,\n /^févr/i,\n /^mars/i,\n /^avr/i,\n /^mai/i,\n /^juin/i,\n /^juil/i,\n /^août/i,\n /^sept/i,\n /^oct/i,\n /^nov/i,\n /^déc/i,\n ];\n\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n '_'\n ),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Eanáir',\n 'Feabhra',\n 'Márta',\n 'Aibreán',\n 'Bealtaine',\n 'Meitheamh',\n 'Iúil',\n 'Lúnasa',\n 'Meán Fómhair',\n 'Deireadh Fómhair',\n 'Samhain',\n 'Nollaig',\n ],\n monthsShort = [\n 'Ean',\n 'Feabh',\n 'Márt',\n 'Aib',\n 'Beal',\n 'Meith',\n 'Iúil',\n 'Lún',\n 'M.F.',\n 'D.F.',\n 'Samh',\n 'Noll',\n ],\n weekdays = [\n 'Dé Domhnaigh',\n 'Dé Luain',\n 'Dé Máirt',\n 'Dé Céadaoin',\n 'Déardaoin',\n 'Dé hAoine',\n 'Dé Sathairn',\n ],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Màrt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ògmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dàmhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort = [\n 'Faoi',\n 'Gear',\n 'Màrt',\n 'Gibl',\n 'Cèit',\n 'Ògmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dàmh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var gl = moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n '_'\n ),\n monthsShort:\n 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return (\n '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomDeva = moment.defineLocale('gom-deva', {\n months: {\n standalone:\n 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n },\n });\n\n return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone:\n 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦',\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0',\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n '_'\n ),\n monthsShort:\n 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n '_'\n ),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ',\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n '_'\n ),\n monthsShort:\n 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n },\n },\n meridiemParse:\n /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n },\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n },\n monthsParse = [\n /^जन/i,\n /^फ़र|फर/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सितं|सित/i,\n /^अक्टू/i,\n /^नव|नवं/i,\n /^दिसं|दिस/i,\n ],\n shortMonthsParse = [\n /^जन/i,\n /^फ़र/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सित/i,\n /^अक्टू/i,\n /^नव/i,\n /^दिस/i,\n ];\n\n var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n '_'\n ),\n standalone:\n 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort:\n 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n },\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n\n monthsRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex:\n /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n monthsShortStrictRegex:\n /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n '_'\n ),\n standalone:\n 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort:\n 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var weekEndings =\n 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix\n ? 'néhány másodperc'\n : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix)\n ? ' másodperc'\n : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (\n (isFuture ? '' : '[múlt] ') +\n '[' +\n weekEndings[this.day()] +\n '] LT[-kor]'\n );\n }\n\n var hu = moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm',\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n '_'\n ),\n standalone:\n 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n '_'\n ),\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays:\n 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n '_'\n ),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի',\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays:\n 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: function () {\n return (\n '[Oggi a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone:\n 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(\n /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n }\n );\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші',\n };\n\n var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n '_'\n ),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n '_'\n ),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\n numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0',\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort:\n 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ',\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦',\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0',\n };\n\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n '_'\n ),\n monthsShort:\n 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n '_'\n ),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ',\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Kurdish [ku-kmr]\n//! authors : Mazlum Özdogan : https://github.com/mergehez\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(num, withoutSuffix, key, isFuture) {\n var format = {\n s: ['çend sanîye', 'çend sanîyeyan'],\n ss: [num + ' sanîye', num + ' sanîyeyan'],\n m: ['deqîqeyek', 'deqîqeyekê'],\n mm: [num + ' deqîqe', num + ' deqîqeyan'],\n h: ['saetek', 'saetekê'],\n hh: [num + ' saet', num + ' saetan'],\n d: ['rojek', 'rojekê'],\n dd: [num + ' roj', num + ' rojan'],\n w: ['hefteyek', 'hefteyekê'],\n ww: [num + ' hefte', num + ' hefteyan'],\n M: ['mehek', 'mehekê'],\n MM: [num + ' meh', num + ' mehan'],\n y: ['salek', 'salekê'],\n yy: [num + ' sal', num + ' salan'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n // function obliqueNumSuffix(num) {\n // if(num.includes(':'))\n // num = parseInt(num.split(':')[0]);\n // else\n // num = parseInt(num);\n // return num == 0 || num % 10 == 1 ? 'ê'\n // : (num > 10 && num % 10 == 0 ? 'î' : 'an');\n // }\n function ezafeNumSuffix(num) {\n num = '' + num;\n var l = num.substring(num.length - 1),\n ll = num.length > 1 ? num.substring(num.length - 2) : '';\n if (\n !(ll == 12 || ll == 13) &&\n (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')\n )\n return 'yê';\n return 'ê';\n }\n\n var kuKmr = moment.defineLocale('ku-kmr', {\n // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)\n // this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'\n // But the names below are more well known and handy\n months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar'.split(\n '_'\n ),\n monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split('_'),\n monthsParseExact: true,\n weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split('_'),\n weekdaysShort: 'Yek_Du_Sê_Çar_Pên_În_Şem'.split('_'),\n weekdaysMin: 'Ye_Du_Sê_Ça_Pê_În_Şe'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'bn' : 'BN';\n } else {\n return isLower ? 'pn' : 'PN';\n }\n },\n meridiemParse: /bn|BN|pn|PN/,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[a] YYYY[an]',\n LLL: 'Do MMMM[a] YYYY[an] HH:mm',\n LLLL: 'dddd, Do MMMM[a] YYYY[an] HH:mm',\n ll: 'Do MMM[.] YYYY[an]',\n lll: 'Do MMM[.] YYYY[an] HH:mm',\n llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm',\n },\n calendar: {\n sameDay: '[Îro di saet] LT [de]',\n nextDay: '[Sibê di saet] LT [de]',\n nextWeek: 'dddd [di saet] LT [de]',\n lastDay: '[Duh di saet] LT [de]',\n lastWeek: 'dddd[a borî di saet] LT [de]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'di %s de',\n past: 'berî %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(?:yê|ê|\\.)/,\n ordinal: function (num, period) {\n var p = period.toLowerCase();\n if (p.includes('w') || p.includes('m')) return num + '.';\n\n return num + ezafeNumSuffix(num);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return kuKmr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays:\n 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort:\n 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү',\n };\n\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n '_'\n ),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n '_'\n ),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n },\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\n yy: '%d Joer',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var lo = moment.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n monthsShort:\n 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ',\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n },\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone:\n 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone:\n 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_'),\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays:\n 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n '_'\n ),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan : https://github.com/johnideal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n '_'\n ),\n monthsShort:\n 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n '_'\n ),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mk = moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort:\n 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n '_'\n ),\n monthsShort:\n '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n },\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'एक मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'एक तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'एक दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'एक महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'एक वर्ष';\n break;\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'एका मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'एका तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'एका दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'एका महिन्या';\n break;\n case 'MM':\n output = '%d महिन्यां';\n break;\n case 'y':\n output = 'एका वर्षा';\n break;\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n monthsShort:\n 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr,\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (\n meridiem === 'दुपारी' ||\n meridiem === 'सायंकाळी' ||\n meridiem === 'रात्री'\n ) {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays:\n 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀',\n },\n numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0',\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n '_'\n ),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n '_'\n ),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်',\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'én time',\n hh: '%d timer',\n d: 'én dag',\n dd: '%d dager',\n w: 'én uke',\n ww: '%d uker',\n M: 'én måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n '_'\n ),\n monthsShort:\n 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n '_'\n ),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^(maart|mrt\\.?)$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^(maart|mrt\\.?)$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone:\n 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦',\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0',\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n monthsShort:\n 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n '_'\n ),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ',\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsNominative =\n 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n '_'\n ),\n monthsSubjective =\n 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n '_'\n ),\n monthsParse = [\n /^sty/i,\n /^lut/i,\n /^mar/i,\n /^kwi/i,\n /^maj/i,\n /^cze/i,\n /^lip/i,\n /^sie/i,\n /^wrz/i,\n /^paź/i,\n /^lis/i,\n /^gru/i,\n ];\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays:\n 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate,\n M: 'miesiąc',\n MM: translate,\n y: 'rok',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pt = moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n '_'\n ),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani',\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort:\n 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural,\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [\n /^янв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^сен/i,\n /^окт/i,\n /^ноя/i,\n /^дек/i,\n ];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n '_'\n ),\n standalone:\n 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone:\n 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone:\n 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n '_'\n ),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex:\n /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex:\n /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm',\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر',\n ],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n '_'\n ),\n monthsShort:\n 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays:\n 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n '_'\n ),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n '_'\n ),\n weekdays:\n 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n '_'\n ),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n },\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months =\n 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n '_'\n ),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return n > 1 && n < 5;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nekaj sekund'\n : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n '_'\n ),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n '_'\n ),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једног минута'],\n mm: ['минут', 'минута', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n d: ['један дан', 'једног дана'],\n dd: ['дан', 'дана', 'дана'],\n M: ['један месец', 'једног месеца'],\n MM: ['месец', 'месеца', 'месеци'],\n y: ['једну годину', 'једне године'],\n yy: ['годину', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n },\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort:\n 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n d: ['jedan dan', 'jednog dana'],\n dd: ['dan', 'dana', 'dana'],\n M: ['jedan mesec', 'jednog meseca'],\n MM: ['mesec', 'meseca', 'meseci'],\n y: ['jednu godinu', 'jedne godine'],\n yy: ['godinu', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'jedna godina';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'godinu') {\n return number + ' godina';\n }\n\n return number + ' ' + word;\n },\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ss = moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n '_'\n ),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays:\n 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n '_'\n ),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka',\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':e';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sw = moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays:\n 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n '_'\n ),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\n numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0',\n };\n\n var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n monthsShort:\n 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays:\n 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n '_'\n ),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm',\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var te = moment.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n '_'\n ),\n monthsShort:\n 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n '_'\n ),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум',\n };\n\n var tg = moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n '_'\n ),\n standalone:\n 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n '_'\n ),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол',\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1th is the first week of the year.\n },\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort:\n 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\",\n };\n\n var tk = moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n '_'\n ),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'leS'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'waQ'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'nem'\n : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'Hu’'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'wen'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'ben'\n : time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n return word === '' ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n '_'\n ),\n monthsShort:\n 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysShort:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L',\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars'],\n };\n return isFuture\n ? format[key][0]\n : withoutSuffix\n ? format[key][0]\n : format[key][1];\n }\n\n return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n monthsShort:\n 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzm = moment.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n monthsShort:\n 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort:\n 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل',\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative:\n 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative:\n 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive:\n 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n ? 'accusative'\n : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n ? 'genitive'\n : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n '_'\n ),\n standalone:\n 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n '_'\n ),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural,\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays:\n 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort:\n 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n '_'\n ),\n monthsShort:\n 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n '_'\n ),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n '_'\n ),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d',\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年',\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhTw;\n\n})));\n","//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid =\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {\n D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n var month = value,\n date = mom.date();\n\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC\n ? mom._d.setUTCMonth(month, date)\n : mom._d.setMonth(month, date));\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = get(this, 'Day');\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday() + this.localeData()._week.dow,\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.30.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","'use strict';\n\nfunction nullthrows(x, message) {\n if (x != null) {\n return x;\n }\n var error = new Error(message !== undefined ? message : 'Got unexpected ' + x);\n error.framesToPop = 1; // Skip nullthrows's own stack frame.\n throw error;\n}\n\nmodule.exports = nullthrows;\nmodule.exports.default = nullthrows;\n\nObject.defineProperty(module.exports, '__esModule', {value: true});\n","/**\n * Based on Kendo UI Core expression code \n */\n'use strict'\n\nfunction Cache(maxSize) {\n this._maxSize = maxSize\n this.clear()\n}\nCache.prototype.clear = function () {\n this._size = 0\n this._values = Object.create(null)\n}\nCache.prototype.get = function (key) {\n return this._values[key]\n}\nCache.prototype.set = function (key, value) {\n this._size >= this._maxSize && this.clear()\n if (!(key in this._values)) this._size++\n\n return (this._values[key] = value)\n}\n\nvar SPLIT_REGEX = /[^.^\\]^[]+|(?=\\[\\]|\\.\\.)/g,\n DIGIT_REGEX = /^\\d+$/,\n LEAD_DIGIT_REGEX = /^\\d/,\n SPEC_CHAR_REGEX = /[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/g,\n CLEAN_QUOTES_REGEX = /^\\s*(['\"]?)(.*?)(\\1)\\s*$/,\n MAX_CACHE_SIZE = 512\n\nvar pathCache = new Cache(MAX_CACHE_SIZE),\n setCache = new Cache(MAX_CACHE_SIZE),\n getCache = new Cache(MAX_CACHE_SIZE)\n\nvar config\n\nmodule.exports = {\n Cache: Cache,\n\n split: split,\n\n normalizePath: normalizePath,\n\n setter: function (path) {\n var parts = normalizePath(path)\n\n return (\n setCache.get(path) ||\n setCache.set(path, function setter(obj, value) {\n var index = 0\n var len = parts.length\n var data = obj\n\n while (index < len - 1) {\n var part = parts[index]\n if (\n part === '__proto__' ||\n part === 'constructor' ||\n part === 'prototype'\n ) {\n return obj\n }\n\n data = data[parts[index++]]\n }\n data[parts[index]] = value\n })\n )\n },\n\n getter: function (path, safe) {\n var parts = normalizePath(path)\n return (\n getCache.get(path) ||\n getCache.set(path, function getter(data) {\n var index = 0,\n len = parts.length\n while (index < len) {\n if (data != null || !safe) data = data[parts[index++]]\n else return\n }\n return data\n })\n )\n },\n\n join: function (segments) {\n return segments.reduce(function (path, part) {\n return (\n path +\n (isQuoted(part) || DIGIT_REGEX.test(part)\n ? '[' + part + ']'\n : (path ? '.' : '') + part)\n )\n }, '')\n },\n\n forEach: function (path, cb, thisArg) {\n forEach(Array.isArray(path) ? path : split(path), cb, thisArg)\n },\n}\n\nfunction normalizePath(path) {\n return (\n pathCache.get(path) ||\n pathCache.set(\n path,\n split(path).map(function (part) {\n return part.replace(CLEAN_QUOTES_REGEX, '$2')\n })\n )\n )\n}\n\nfunction split(path) {\n return path.match(SPLIT_REGEX) || ['']\n}\n\nfunction forEach(parts, iter, thisArg) {\n var len = parts.length,\n part,\n idx,\n isArray,\n isBracket\n\n for (idx = 0; idx < len; idx++) {\n part = parts[idx]\n\n if (part) {\n if (shouldBeQuoted(part)) {\n part = '\"' + part + '\"'\n }\n\n isBracket = isQuoted(part)\n isArray = !isBracket && /^\\d+$/.test(part)\n\n iter.call(thisArg, part, isBracket, isArray, idx, parts)\n }\n }\n}\n\nfunction isQuoted(str) {\n return (\n typeof str === 'string' && str && [\"'\", '\"'].indexOf(str.charAt(0)) !== -1\n )\n}\n\nfunction hasLeadingNumber(part) {\n return part.match(LEAD_DIGIT_REGEX) && !part.match(DIGIT_REGEX)\n}\n\nfunction hasSpecialChars(part) {\n return SPEC_CHAR_REGEX.test(part)\n}\n\nfunction shouldBeQuoted(part) {\n return !isQuoted(part) && (hasLeadingNumber(part) || hasSpecialChars(part))\n}\n","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\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 [...result, [encode(key, options), '[', index, ']'].join('')];\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\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 [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\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 [...result, [encode(key, options), ':list='].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), ':list=', encode(value, options)].join('')];\n\t\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 [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\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\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] = [].concat(accumulator[key], value);\n\t\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] = [].concat(accumulator[key], value);\n\t\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\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\tvalue.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] = [].concat(accumulator[key], arrayValue);\n\t\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] = [].concat(accumulator[key], value);\n\t\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 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\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\nfunction parse(query, options) {\n\toptions = Object.assign({\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}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\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, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, 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 of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\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\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.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\thash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// 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 permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// 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\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// 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 permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// 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\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","import { useEffect, useRef } from 'react';\n\n/**\n * Creates a `Ref` whose value is updated in an effect, ensuring the most recent\n * value is the one rendered with. Generally only required for Concurrent mode usage\n * where previous work in `render()` may be discarded before being used.\n *\n * This is safe to access in an event handler.\n *\n * @param value The `Ref` value\n */\nfunction useCommittedRef(value) {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n}\nexport default useCommittedRef;","import { useCallback } from 'react';\nimport useCommittedRef from './useCommittedRef';\nexport default function useEventCallback(fn) {\n const ref = useCommittedRef(fn);\n return useCallback(function (...args) {\n return ref.current && ref.current(...args);\n }, [ref]);\n}","import { useEffect, useRef } from 'react';\n\n/**\n * Runs an effect only when the dependencies have changed, skipping the\n * initial \"on mount\" run. Caution, if the dependency list never changes,\n * the effect is **never run**\n *\n * ```ts\n * const ref = useRef(null);\n *\n * // focuses an element only if the focus changes, and not on mount\n * useUpdateEffect(() => {\n * const element = ref.current?.children[focusedIdx] as HTMLElement\n *\n * element?.focus()\n *\n * }, [focusedIndex])\n * ```\n * @param effect An effect to run on mount\n *\n * @category effects\n */\nfunction useUpdateEffect(fn, deps) {\n const isFirst = useRef(true);\n useEffect(() => {\n if (isFirst.current) {\n isFirst.current = false;\n return;\n }\n return fn();\n }, deps);\n}\nexport default useUpdateEffect;","import useUpdatedRef from './useUpdatedRef';\nimport { useEffect } from 'react';\n\n/**\n * Attach a callback that fires when a component unmounts\n *\n * @param fn Handler to run when the component unmounts\n * @category effects\n */\nexport default function useWillUnmount(fn) {\n const onUnmount = useUpdatedRef(fn);\n useEffect(() => () => onUnmount.current(), []);\n}","import { useRef } from 'react';\n\n/**\n * Returns a ref that is immediately updated with the new value\n *\n * @param value The Ref value\n * @category refs\n */\nexport default function useUpdatedRef(value) {\n const valueRef = useRef(value);\n valueRef.current = value;\n return valueRef;\n}","import { useMemo, useRef } from 'react';\nimport useMounted from './useMounted';\nimport useWillUnmount from './useWillUnmount';\n\n/*\n * Browsers including Internet Explorer, Chrome, Safari, and Firefox store the\n * delay as a 32-bit signed integer internally. This causes an integer overflow\n * when using delays larger than 2,147,483,647 ms (about 24.8 days),\n * resulting in the timeout being executed immediately.\n *\n * via: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout\n */\nconst MAX_DELAY_MS = 2 ** 31 - 1;\nfunction setChainedTimeout(handleRef, fn, timeoutAtMs) {\n const delayMs = timeoutAtMs - Date.now();\n handleRef.current = delayMs <= MAX_DELAY_MS ? setTimeout(fn, delayMs) : setTimeout(() => setChainedTimeout(handleRef, fn, timeoutAtMs), MAX_DELAY_MS);\n}\n\n/**\n * Returns a controller object for setting a timeout that is properly cleaned up\n * once the component unmounts. New timeouts cancel and replace existing ones.\n *\n *\n *\n * ```tsx\n * const { set, clear } = useTimeout();\n * const [hello, showHello] = useState(false);\n * //Display hello after 5 seconds\n * set(() => showHello(true), 5000);\n * return (\n *

    \n * {hello ?

    Hello

    : null}\n *
    \n * );\n * ```\n */\nexport default function useTimeout() {\n const isMounted = useMounted();\n\n // types are confused between node and web here IDK\n const handleRef = useRef();\n useWillUnmount(() => clearTimeout(handleRef.current));\n return useMemo(() => {\n const clear = () => clearTimeout(handleRef.current);\n function set(fn, delayMs = 0) {\n if (!isMounted()) return;\n clear();\n if (delayMs <= MAX_DELAY_MS) {\n // For simplicity, if the timeout is short, just set a normal timeout.\n handleRef.current = setTimeout(fn, delayMs);\n } else {\n setChainedTimeout(handleRef, fn, Date.now() + delayMs);\n }\n }\n return {\n set,\n clear,\n handleRef\n };\n }, []);\n}","import { useRef, useEffect } from 'react';\n\n/**\n * Track whether a component is current mounted. Generally less preferable than\n * properlly canceling effects so they don't run after a component is unmounted,\n * but helpful in cases where that isn't feasible, such as a `Promise` resolution.\n *\n * @returns a function that returns the current isMounted state of the component\n *\n * ```ts\n * const [data, setData] = useState(null)\n * const isMounted = useMounted()\n *\n * useEffect(() => {\n * fetchdata().then((newData) => {\n * if (isMounted()) {\n * setData(newData);\n * }\n * })\n * })\n * ```\n */\nexport default function useMounted() {\n const mounted = useRef(true);\n const isMounted = useRef(() => mounted.current);\n useEffect(() => {\n mounted.current = true;\n return () => {\n mounted.current = false;\n };\n }, []);\n return isMounted.current;\n}","import { useEffect, useLayoutEffect } from 'react';\nconst isReactNative = typeof global !== 'undefined' &&\n// @ts-ignore\nglobal.navigator &&\n// @ts-ignore\nglobal.navigator.product === 'ReactNative';\nconst isDOM = typeof document !== 'undefined';\n\n/**\n * Is `useLayoutEffect` in a DOM or React Native environment, otherwise resolves to useEffect\n * Only useful to avoid the console warning.\n *\n * PREFER `useEffect` UNLESS YOU KNOW WHAT YOU ARE DOING.\n *\n * @category effects\n */\nexport default isDOM || isReactNative ? useLayoutEffect : useEffect;","import { useState } from 'react';\nimport useEffect from './useIsomorphicEffect';\nconst targetMap = new WeakMap();\nlet resizeObserver;\nfunction getResizeObserver() {\n // eslint-disable-next-line no-return-assign\n return resizeObserver = resizeObserver || new window.ResizeObserver(entries => {\n entries.forEach(entry => {\n const handler = targetMap.get(entry.target);\n if (handler) handler(entry.contentRect);\n });\n });\n}\n\n/**\n * Efficiently observe size changes on an element. Depends on the `ResizeObserver` api,\n * and polyfills are needed in older browsers.\n *\n * ```ts\n * const [ref, attachRef] = useCallbackRef(null);\n *\n * const rect = useResizeObserver(ref);\n *\n * return (\n *
    \n * {JSON.stringify(rect)}\n *
    \n * )\n * ```\n *\n * @param element The DOM element to observe\n */\nexport default function useResizeObserver(element) {\n const [rect, setRect] = useState(null);\n useEffect(() => {\n if (!element) return;\n getResizeObserver().observe(element);\n setRect(element.getBoundingClientRect());\n targetMap.set(element, rect => {\n setRect(rect);\n });\n return () => {\n targetMap.delete(element);\n };\n }, [element]);\n return rect;\n}","const _excluded = [\"as\", \"disabled\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\nexport function useButtonProps({\n tagName,\n disabled,\n href,\n target,\n rel,\n role,\n onClick,\n tabIndex = 0,\n type\n}) {\n if (!tagName) {\n if (href != null || target != null || rel != null) {\n tagName = 'a';\n } else {\n tagName = 'button';\n }\n }\n const meta = {\n tagName\n };\n if (tagName === 'button') {\n return [{\n type: type || 'button',\n disabled\n }, meta];\n }\n const handleClick = event => {\n if (disabled || tagName === 'a' && isTrivialHref(href)) {\n event.preventDefault();\n }\n if (disabled) {\n event.stopPropagation();\n return;\n }\n onClick == null ? void 0 : onClick(event);\n };\n const handleKeyDown = event => {\n if (event.key === ' ') {\n event.preventDefault();\n handleClick(event);\n }\n };\n if (tagName === 'a') {\n // Ensure there's a href so Enter can trigger anchor button.\n href || (href = '#');\n if (disabled) {\n href = undefined;\n }\n }\n return [{\n role: role != null ? role : 'button',\n // explicitly undefined so that it overrides the props disabled in a spread\n // e.g. \n disabled: undefined,\n tabIndex: disabled ? undefined : tabIndex,\n href,\n target: tagName === 'a' ? target : undefined,\n 'aria-disabled': !disabled ? undefined : disabled,\n rel: tagName === 'a' ? rel : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown\n }, meta];\n}\nconst Button = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n as: asProp,\n disabled\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [buttonProps, {\n tagName: Component\n }] = useButtonProps(Object.assign({\n tagName: asProp,\n disabled\n }, props));\n return /*#__PURE__*/_jsx(Component, Object.assign({}, props, buttonProps, {\n ref: ref\n }));\n});\nButton.displayName = 'Button';\nexport default Button;","const _excluded = [\"onKeyDown\"];\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/anchor-has-content */\n\nimport * as React from 'react';\nimport { useEventCallback } from '@restart/hooks';\nimport { useButtonProps } from './Button';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\n/**\n * An generic `` component that covers a few A11y cases, ensuring that\n * cases where the `href` is missing or trivial like \"#\" are treated like buttons.\n */\nconst Anchor = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n onKeyDown\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const [buttonProps] = useButtonProps(Object.assign({\n tagName: 'a'\n }, props));\n const handleKeyDown = useEventCallback(e => {\n buttonProps.onKeyDown(e);\n onKeyDown == null ? void 0 : onKeyDown(e);\n });\n if (isTrivialHref(props.href) || props.role === 'button') {\n return /*#__PURE__*/_jsx(\"a\", Object.assign({\n ref: ref\n }, props, buttonProps, {\n onKeyDown: handleKeyDown\n }));\n }\n return /*#__PURE__*/_jsx(\"a\", Object.assign({\n ref: ref\n }, props, {\n onKeyDown: onKeyDown\n }));\n});\nAnchor.displayName = 'Anchor';\nexport default Anchor;","import invariant from 'invariant';\n\nvar noop = function noop() {};\n\nfunction readOnlyPropType(handler, name) {\n return function (props, propName) {\n if (props[propName] !== undefined) {\n if (!props[handler]) {\n return new Error(\"You have provided a `\" + propName + \"` prop to `\" + name + \"` \" + (\"without an `\" + handler + \"` handler prop. This will render a read-only field. \") + (\"If the field should be mutable use `\" + defaultKey(propName) + \"`. \") + (\"Otherwise, set `\" + handler + \"`.\"));\n }\n }\n };\n}\n\nexport function uncontrolledPropTypes(controlledValues, displayName) {\n var propTypes = {};\n Object.keys(controlledValues).forEach(function (prop) {\n // add default propTypes for folks that use runtime checks\n propTypes[defaultKey(prop)] = noop;\n\n if (process.env.NODE_ENV !== 'production') {\n var handler = controlledValues[prop];\n !(typeof handler === 'string' && handler.trim().length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop) : invariant(false) : void 0;\n propTypes[prop] = readOnlyPropType(handler, displayName);\n }\n });\n return propTypes;\n}\nexport function isProp(props, prop) {\n return props[prop] !== undefined;\n}\nexport function defaultKey(key) {\n return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nexport function canAcceptRef(component) {\n return !!component && (typeof component !== 'function' || component.prototype && component.prototype.isReactComponent);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nimport { useCallback, useRef, useState } from 'react';\nimport * as Utils from './utils';\n\nfunction useUncontrolledProp(propValue, defaultValue, handler) {\n var wasPropRef = useRef(propValue !== undefined);\n\n var _useState = useState(defaultValue),\n stateValue = _useState[0],\n setState = _useState[1];\n\n var isProp = propValue !== undefined;\n var wasProp = wasPropRef.current;\n wasPropRef.current = isProp;\n /**\n * If a prop switches from controlled to Uncontrolled\n * reset its value to the defaultValue\n */\n\n if (!isProp && wasProp && stateValue !== defaultValue) {\n setState(defaultValue);\n }\n\n return [isProp ? propValue : stateValue, useCallback(function (value) {\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\n if (handler) handler.apply(void 0, [value].concat(args));\n setState(value);\n }, [handler])];\n}\n\nexport { useUncontrolledProp };\nexport default function useUncontrolled(props, config) {\n return Object.keys(config).reduce(function (result, fieldName) {\n var _extends2;\n\n var _ref = result,\n defaultValue = _ref[Utils.defaultKey(fieldName)],\n propsValue = _ref[fieldName],\n rest = _objectWithoutPropertiesLoose(_ref, [Utils.defaultKey(fieldName), fieldName].map(_toPropertyKey));\n\n var handlerName = config[fieldName];\n\n var _useUncontrolledProp = useUncontrolledProp(propsValue, defaultValue, props[handlerName]),\n value = _useUncontrolledProp[0],\n handler = _useUncontrolledProp[1];\n\n return _extends({}, rest, (_extends2 = {}, _extends2[fieldName] = value, _extends2[handlerName] = handler, _extends2));\n }, props);\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","\"use client\";\n\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const DEFAULT_BREAKPOINTS = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nexport const DEFAULT_MIN_BREAKPOINT = 'xs';\nconst ThemeContext = /*#__PURE__*/React.createContext({\n prefixes: {},\n breakpoints: DEFAULT_BREAKPOINTS,\n minBreakpoint: DEFAULT_MIN_BREAKPOINT\n});\nconst {\n Consumer,\n Provider\n} = ThemeContext;\nfunction ThemeProvider({\n prefixes = {},\n breakpoints = DEFAULT_BREAKPOINTS,\n minBreakpoint = DEFAULT_MIN_BREAKPOINT,\n dir,\n children\n}) {\n const contextValue = useMemo(() => ({\n prefixes: {\n ...prefixes\n },\n breakpoints,\n minBreakpoint,\n dir\n }), [prefixes, breakpoints, minBreakpoint, dir]);\n return /*#__PURE__*/_jsx(Provider, {\n value: contextValue,\n children: children\n });\n}\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n const {\n prefixes\n } = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\nexport function useBootstrapBreakpoints() {\n const {\n breakpoints\n } = useContext(ThemeContext);\n return breakpoints;\n}\nexport function useBootstrapMinBreakpoint() {\n const {\n minBreakpoint\n } = useContext(ThemeContext);\n return minBreakpoint;\n}\nexport function useIsRTL() {\n const {\n dir\n } = useContext(ThemeContext);\n return dir === 'rtl';\n}\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n const isClassy = Component.prototype && Component.prototype.isReactComponent;\n // If it's a functional component make sure we don't break it with a ref\n const {\n prefix,\n forwardRefAs = isClassy ? 'ref' : 'innerRef'\n } = opts;\n const Wrapped = /*#__PURE__*/React.forwardRef(({\n ...props\n }, ref) => {\n props[forwardRefAs] = ref;\n const bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n bsPrefix: bsPrefix\n });\n });\n Wrapped.displayName = `Bootstrap(${Component.displayName || Component.name})`;\n return Wrapped;\n}\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CarouselCaption = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'carousel-caption');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCarouselCaption.displayName = 'CarouselCaption';\nexport default CarouselCaption;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CarouselItem = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n bsPrefix,\n className,\n ...props\n}, ref) => {\n const finalClassName = classNames(className, useBootstrapPrefix(bsPrefix, 'carousel-item'));\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: finalClassName\n });\n});\nCarouselItem.displayName = 'CarouselItem';\nexport default CarouselItem;","import * as React from 'react';\n\n/**\n * Iterates through children that are typically specified as `props.children`,\n * but only maps over children that are \"valid elements\".\n *\n * The mapFunction provided index will be normalised to the components mapped,\n * so an invalid component would not increase the index.\n *\n */\nfunction map(children, func) {\n let index = 0;\n return React.Children.map(children, child => /*#__PURE__*/React.isValidElement(child) ? func(child, index++) : child);\n}\n\n/**\n * Iterates through children that are \"valid elements\".\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child with the index reflecting the position relative to \"valid components\".\n */\nfunction forEach(children, func) {\n let index = 0;\n React.Children.forEach(children, child => {\n if ( /*#__PURE__*/React.isValidElement(child)) func(child, index++);\n });\n}\n\n/**\n * Finds whether a component's `children` prop includes a React element of the\n * specified type.\n */\nfunction hasChildOfType(children, type) {\n return React.Children.toArray(children).some(child => /*#__PURE__*/React.isValidElement(child) && child.type === type);\n}\nexport { map, forEach, hasChildOfType };","import ownerDocument from './ownerDocument';\n/**\n * Returns the owner window of a given element.\n * \n * @param node the element\n */\n\nexport default function ownerWindow(node) {\n var doc = ownerDocument(node);\n return doc && doc.defaultView || window;\n}","/**\n * Returns the owner document of a given element.\n * \n * @param node the element\n */\nexport default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","var rUpper = /([A-Z])/g;\nexport default function hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}","/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nimport hyphenate from './hyphenate';\nvar msPattern = /^ms-/;\nexport default function hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}","var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\nexport default function isTransform(value) {\n return !!(value && supportedTransforms.test(value));\n}","import getComputedStyle from './getComputedStyle';\nimport hyphenate from './hyphenateStyle';\nimport isTransform from './isTransform';\n\nfunction style(node, property) {\n var css = '';\n var transforms = '';\n\n if (typeof property === 'string') {\n return node.style.getPropertyValue(hyphenate(property)) || getComputedStyle(node).getPropertyValue(hyphenate(property));\n }\n\n Object.keys(property).forEach(function (key) {\n var value = property[key];\n\n if (!value && value !== 0) {\n node.style.removeProperty(hyphenate(key));\n } else if (isTransform(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += hyphenate(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += \"transform: \" + transforms + \";\";\n }\n\n node.style.cssText += \";\" + css;\n}\n\nexport default style;","import ownerWindow from './ownerWindow';\n/**\n * Returns one or all computed style properties of an element.\n * \n * @param node the element\n * @param psuedoElement the style property\n */\n\nexport default function getComputedStyle(node, psuedoElement) {\n return ownerWindow(node).getComputedStyle(node, psuedoElement);\n}","export default !!(typeof window !== 'undefined' && window.document && window.document.createElement);","/* eslint-disable no-return-assign */\nimport canUseDOM from './canUseDOM';\nexport var optionsSupported = false;\nexport var onceSupported = false;\n\ntry {\n var options = {\n get passive() {\n return optionsSupported = true;\n },\n\n get once() {\n // eslint-disable-next-line no-multi-assign\n return onceSupported = optionsSupported = true;\n }\n\n };\n\n if (canUseDOM) {\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, true);\n }\n} catch (e) {\n /* */\n}\n\n/**\n * An `addEventListener` ponyfill, supports the `once` option\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction addEventListener(node, eventName, handler, options) {\n if (options && typeof options !== 'boolean' && !onceSupported) {\n var once = options.once,\n capture = options.capture;\n var wrappedHandler = handler;\n\n if (!onceSupported && once) {\n wrappedHandler = handler.__once || function onceHandler(event) {\n this.removeEventListener(eventName, onceHandler, capture);\n handler.call(this, event);\n };\n\n handler.__once = wrappedHandler;\n }\n\n node.addEventListener(eventName, wrappedHandler, optionsSupported ? options : capture);\n }\n\n node.addEventListener(eventName, handler, options);\n}\n\nexport default addEventListener;","/**\n * A `removeEventListener` ponyfill\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction removeEventListener(node, eventName, handler, options) {\n var capture = options && typeof options !== 'boolean' ? options.capture : options;\n node.removeEventListener(eventName, handler, capture);\n\n if (handler.__once) {\n node.removeEventListener(eventName, handler.__once, capture);\n }\n}\n\nexport default removeEventListener;","import addEventListener from './addEventListener';\nimport removeEventListener from './removeEventListener';\n\nfunction listen(node, eventName, handler, options) {\n addEventListener(node, eventName, handler, options);\n return function () {\n removeEventListener(node, eventName, handler, options);\n };\n}\n\nexport default listen;","import css from './css';\nimport listen from './listen';\nimport triggerEvent from './triggerEvent';\n\nfunction parseDuration(node) {\n var str = css(node, 'transitionDuration') || '';\n var mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\n\nfunction emulateTransitionEnd(element, duration, padding) {\n if (padding === void 0) {\n padding = 5;\n }\n\n var called = false;\n var handle = setTimeout(function () {\n if (!called) triggerEvent(element, 'transitionend', true);\n }, duration + padding);\n var remove = listen(element, 'transitionend', function () {\n called = true;\n }, {\n once: true\n });\n return function () {\n clearTimeout(handle);\n remove();\n };\n}\n\nexport default function transitionEnd(element, handler, duration, padding) {\n if (duration == null) duration = parseDuration(element) || 0;\n var removeEmulate = emulateTransitionEnd(element, duration, padding);\n var remove = listen(element, 'transitionend', handler);\n return function () {\n removeEmulate();\n remove();\n };\n}","/**\n * Triggers an event on a given element.\n * \n * @param node the element\n * @param eventName the event name to trigger\n * @param bubbles whether the event should bubble up\n * @param cancelable whether the event should be cancelable\n */\nexport default function triggerEvent(node, eventName, bubbles, cancelable) {\n if (bubbles === void 0) {\n bubbles = false;\n }\n\n if (cancelable === void 0) {\n cancelable = true;\n }\n\n if (node) {\n var event = document.createEvent('HTMLEvents');\n event.initEvent(eventName, bubbles, cancelable);\n node.dispatchEvent(event);\n }\n}","import css from 'dom-helpers/css';\nimport transitionEnd from 'dom-helpers/transitionEnd';\nfunction parseDuration(node, property) {\n const str = css(node, property) || '';\n const mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\nexport default function transitionEndListener(element, handler) {\n const duration = parseDuration(element, 'transitionDuration');\n const delay = parseDuration(element, 'transitionDelay');\n const remove = transitionEnd(element, e => {\n if (e.target === element) {\n remove();\n handler(e);\n }\n }, duration + delay);\n}","import { useMemo } from 'react';\nconst toFnRef = ref => !ref || typeof ref === 'function' ? ref : value => {\n ref.current = value;\n};\nexport function mergeRefs(refA, refB) {\n const a = toFnRef(refA);\n const b = toFnRef(refB);\n return value => {\n if (a) a(value);\n if (b) b(value);\n };\n}\n\n/**\n * Create and returns a single callback ref composed from two other Refs.\n *\n * ```tsx\n * const Button = React.forwardRef((props, ref) => {\n * const [element, attachRef] = useCallbackRef();\n * const mergedRef = useMergedRefs(ref, attachRef);\n *\n * return \n * \n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\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\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import React from 'react';\nexport default React.createContext(null);","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>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","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $floor = GetIntrinsic('%Math.floor%');\n\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(fn, 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(fn, 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar isArrayish = require('is-arrayish');\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n","module.exports = function isArrayish(obj) {\n\tif (!obj || typeof obj === 'string') {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && (obj.splice instanceof Function ||\n\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n};\n","'use strict';\n\nmodule.exports = (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 (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","/**\n * Copyright (c) Nicolas Gallagher\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 */\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.styleq = void 0;\nvar cache = new WeakMap();\nvar compiledKey = '$$css';\n\nfunction createStyleq(options) {\n var disableCache;\n var disableMix;\n var transform;\n\n if (options != null) {\n disableCache = options.disableCache === true;\n disableMix = options.disableMix === true;\n transform = options.transform;\n }\n\n return function styleq() {\n // Keep track of property commits to the className\n var definedProperties = []; // The className and inline style to build up\n\n var className = '';\n var inlineStyle = null; // The current position in the cache graph\n\n var nextCache = disableCache ? null : cache; // This way of creating an array from arguments is fastest\n\n var styles = new Array(arguments.length);\n\n for (var i = 0; i < arguments.length; i++) {\n styles[i] = arguments[i];\n } // Iterate over styles from last to first\n\n\n while (styles.length > 0) {\n var possibleStyle = styles.pop(); // Skip empty items\n\n if (possibleStyle == null || possibleStyle === false) {\n continue;\n } // Push nested styles back onto the stack to be processed\n\n\n if (Array.isArray(possibleStyle)) {\n for (var _i = 0; _i < possibleStyle.length; _i++) {\n styles.push(possibleStyle[_i]);\n }\n\n continue;\n } // Process an individual style object\n\n\n var style = transform != null ? transform(possibleStyle) : possibleStyle;\n\n if (style.$$css) {\n // Build up the class names defined by this object\n var classNameChunk = ''; // Check the cache to see if we've already done this work\n\n if (nextCache != null && nextCache.has(style)) {\n // Cache: read\n var cacheEntry = nextCache.get(style);\n\n if (cacheEntry != null) {\n classNameChunk = cacheEntry[0]; // $FlowIgnore\n\n definedProperties.push.apply(definedProperties, cacheEntry[1]);\n nextCache = cacheEntry[2];\n }\n } // Update the chunks with data from this object\n else {\n // The properties defined by this object\n var definedPropertiesChunk = [];\n\n for (var prop in style) {\n var value = style[prop];\n if (prop === compiledKey) continue; // Each property value is used as an HTML class name\n // { 'debug.string': 'debug.string', opacity: 's-jskmnoqp' }\n\n if (typeof value === 'string' || value === null) {\n // Only add to chunks if this property hasn't already been seen\n if (!definedProperties.includes(prop)) {\n definedProperties.push(prop);\n\n if (nextCache != null) {\n definedPropertiesChunk.push(prop);\n }\n\n if (typeof value === 'string') {\n classNameChunk += classNameChunk ? ' ' + value : value;\n }\n }\n } // If we encounter a value that isn't a string or `null`\n else {\n console.error(\"styleq: \".concat(prop, \" typeof \").concat(String(value), \" is not \\\"string\\\" or \\\"null\\\".\"));\n }\n } // Cache: write\n\n\n if (nextCache != null) {\n // Create the next WeakMap for this sequence of styles\n var weakMap = new WeakMap();\n nextCache.set(style, [classNameChunk, definedPropertiesChunk, weakMap]);\n nextCache = weakMap;\n }\n } // Order of classes in chunks matches property-iteration order of style\n // object. Order of chunks matches passed order of styles from first to\n // last (which we iterate over in reverse).\n\n\n if (classNameChunk) {\n className = className ? classNameChunk + ' ' + className : classNameChunk;\n }\n } // ----- DYNAMIC: Process inline style object -----\n else {\n if (disableMix) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n inlineStyle = Object.assign({}, style, inlineStyle);\n } else {\n var subStyle = null;\n\n for (var _prop in style) {\n var _value = style[_prop];\n\n if (_value !== undefined) {\n if (!definedProperties.includes(_prop)) {\n if (_value != null) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n if (subStyle == null) {\n subStyle = {};\n }\n\n subStyle[_prop] = _value;\n }\n\n definedProperties.push(_prop); // Cache is unnecessary overhead if results can't be reused.\n\n nextCache = null;\n }\n }\n }\n\n if (subStyle != null) {\n inlineStyle = Object.assign(subStyle, inlineStyle);\n }\n }\n }\n }\n\n var styleProps = [className, inlineStyle];\n return styleProps;\n };\n}\n\nvar styleq = createStyleq();\nexports.styleq = styleq;\nstyleq.factory = createStyleq;","/**\n * Copyright (c) Nicolas Gallagher\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';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.localizeStyle = localizeStyle;\nvar cache = new WeakMap();\nvar markerProp = '$$css$localize';\n/**\n * The compiler polyfills logical properties and values, generating a class\n * name for both writing directions. The style objects are annotated by\n * the compiler as needing this runtime transform. The results are memoized.\n *\n * { '$$css$localize': true, float: [ 'float-left', 'float-right' ] }\n * => { float: 'float-left' }\n */\n\nfunction compileStyle(style, isRTL) {\n // Create a new compiled style for styleq\n var compiledStyle = {};\n\n for (var prop in style) {\n if (prop !== markerProp) {\n var value = style[prop];\n\n if (Array.isArray(value)) {\n compiledStyle[prop] = isRTL ? value[1] : value[0];\n } else {\n compiledStyle[prop] = value;\n }\n }\n }\n\n return compiledStyle;\n}\n\nfunction localizeStyle(style, isRTL) {\n if (style[markerProp] != null) {\n var compiledStyleIndex = isRTL ? 1 : 0; // Check the cache in case we've already seen this object\n\n if (cache.has(style)) {\n var _cachedStyles = cache.get(style);\n\n var _compiledStyle = _cachedStyles[compiledStyleIndex];\n\n if (_compiledStyle == null) {\n // Update the missing cache entry\n _compiledStyle = compileStyle(style, isRTL);\n _cachedStyles[compiledStyleIndex] = _compiledStyle;\n cache.set(style, _cachedStyles);\n }\n\n return _compiledStyle;\n } // Create a new compiled style for styleq\n\n\n var compiledStyle = compileStyle(style, isRTL);\n var cachedStyles = new Array(2);\n cachedStyles[compiledStyleIndex] = compiledStyle;\n cache.set(style, cachedStyles);\n return compiledStyle;\n }\n\n return style;\n}","const reWords = /[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])|\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])|\\d+|(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*/g\n\nconst words = (str) => str.match(reWords) || []\n\nconst upperFirst = (str) => str[0].toUpperCase() + str.slice(1)\n\nconst join = (str, d) => words(str).join(d).toLowerCase()\n\nconst camelCase = (str) =>\n words(str).reduce(\n (acc, next) =>\n `${acc}${\n !acc\n ? next.toLowerCase()\n : next[0].toUpperCase() + next.slice(1).toLowerCase()\n }`,\n '',\n )\n\nconst pascalCase = (str) => upperFirst(camelCase(str))\n\nconst snakeCase = (str) => join(str, '_')\n\nconst kebabCase = (str) => join(str, '-')\n\nconst sentenceCase = (str) => upperFirst(join(str, ' '))\n\nconst titleCase = (str) => words(str).map(upperFirst).join(' ')\n\nmodule.exports = {\n words,\n upperFirst,\n camelCase,\n pascalCase,\n snakeCase,\n kebabCase,\n sentenceCase,\n titleCase,\n}\n","\n/**\n * Topological sorting function\n *\n * @param {Array} edges\n * @returns {Array}\n */\n\nmodule.exports = function(edges) {\n return toposort(uniqueNodes(edges), edges)\n}\n\nmodule.exports.array = toposort\n\nfunction toposort(nodes, edges) {\n var cursor = nodes.length\n , sorted = new Array(cursor)\n , visited = {}\n , i = cursor\n // Better data structures make algorithm much faster.\n , outgoingEdges = makeOutgoingEdges(edges)\n , nodesHash = makeNodesHash(nodes)\n\n // check for unknown nodes\n edges.forEach(function(edge) {\n if (!nodesHash.has(edge[0]) || !nodesHash.has(edge[1])) {\n throw new Error('Unknown node. There is an unknown node in the supplied edges.')\n }\n })\n\n while (i--) {\n if (!visited[i]) visit(nodes[i], i, new Set())\n }\n\n return sorted\n\n function visit(node, i, predecessors) {\n if(predecessors.has(node)) {\n var nodeRep\n try {\n nodeRep = \", node was:\" + JSON.stringify(node)\n } catch(e) {\n nodeRep = \"\"\n }\n throw new Error('Cyclic dependency' + nodeRep)\n }\n\n if (!nodesHash.has(node)) {\n throw new Error('Found unknown node. Make sure to provided all involved nodes. Unknown node: '+JSON.stringify(node))\n }\n\n if (visited[i]) return;\n visited[i] = true\n\n var outgoing = outgoingEdges.get(node) || new Set()\n outgoing = Array.from(outgoing)\n\n if (i = outgoing.length) {\n predecessors.add(node)\n do {\n var child = outgoing[--i]\n visit(child, nodesHash.get(child), predecessors)\n } while (i)\n predecessors.delete(node)\n }\n\n sorted[--cursor] = node\n }\n}\n\nfunction uniqueNodes(arr){\n var res = new Set()\n for (var i = 0, len = arr.length; i < len; i++) {\n var edge = arr[i]\n res.add(edge[0])\n res.add(edge[1])\n }\n return Array.from(res)\n}\n\nfunction makeOutgoingEdges(arr){\n var edges = new Map()\n for (var i = 0, len = arr.length; i < len; i++) {\n var edge = arr[i]\n if (!edges.has(edge[0])) edges.set(edge[0], new Set())\n if (!edges.has(edge[1])) edges.set(edge[1], new Set())\n edges.get(edge[0]).add(edge[1])\n }\n return edges\n}\n\nfunction makeNodesHash(arr){\n var res = new Map()\n for (var i = 0, len = arr.length; i < len; i++) {\n res.set(arr[i], i)\n }\n return res\n}\n","/*! https://mths.be/punycode v1.3.2 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * http://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// 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 permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// 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\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar punycode = require('punycode');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a puny coded representation of \"domain\".\n // It only converts the part of the domain name that\n // has non ASCII characters. I.e. it dosent matter if\n // you call it with a domain that already is in ASCII.\n var domainArray = this.hostname.split('.');\n var newOut = [];\n for (var i = 0; i < domainArray.length; ++i) {\n var s = domainArray[i];\n newOut.push(s.match(/[^A-Za-z0-9_-]/) ?\n 'xn--' + punycode.encode(s) : s);\n }\n this.hostname = newOut.join('.');\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n Object.keys(this).forEach(function(k) {\n result[k] = this[k];\n }, this);\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n Object.keys(relative).forEach(function(k) {\n if (k !== 'protocol')\n result[k] = relative[k];\n });\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n Object.keys(relative).forEach(function(k) {\n result[k] = relative[k];\n });\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especialy happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!isNull(result.pathname) || !isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host) && (last === '.' || last === '..') ||\n last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last == '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especialy happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!isNull(result.pathname) || !isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n\nfunction isString(arg) {\n return typeof arg === \"string\";\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isNull(arg) {\n return arg === null;\n}\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = __importStar(require(\"react\"));\nvar useIsomorphicLayoutEffect_1 = __importDefault(require(\"./useIsomorphicLayoutEffect\"));\n/**\n * React hook which returns the latest callback without changing the reference.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction useLatestCallback(callback) {\n var ref = React.useRef(callback);\n var latestCallback = React.useRef(function latestCallback() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return ref.current.apply(this, args);\n }).current;\n (0, useIsomorphicLayoutEffect_1.default)(function () {\n ref.current = callback;\n });\n return latestCallback;\n}\nexports.default = useLatestCallback;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\n/**\n * Use `useEffect` during SSR and `useLayoutEffect` in the browser to avoid warnings.\n */\nvar useIsomorphicLayoutEffect = typeof document !== 'undefined' ? react_1.useLayoutEffect : react_1.useEffect;\nexports.default = useIsomorphicLayoutEffect;\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// 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 permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// 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\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBind = require('call-bind');\nvar callBound = require('call-bind/callBound');\nvar gOPD = require('gopd');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar cache = { __proto__: null };\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\tcache['$' + typedArray] = callBind(descriptor.get);\n\t\t}\n\t});\n} else {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tvar fn = arr.slice || arr.set;\n\t\tif (fn) {\n\t\t\tcache['$' + typedArray] = callBind(fn);\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar found = false;\n\tforEach(cache, function (getter, typedArray) {\n\t\tif (!found) {\n\t\t\ttry {\n\t\t\t\tif ('$' + getter(value) === typedArray) {\n\t\t\t\t\tfound = $slice(typedArray, 1);\n\t\t\t\t}\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn found;\n};\n\nvar trySlices = function tryAllSlices(value) {\n\tvar found = false;\n\tforEach(cache, function (getter, name) {\n\t\tif (!found) {\n\t\t\ttry {\n\t\t\t\tgetter(value);\n\t\t\t\tfound = $slice(name, 1);\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn found;\n};\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\tif ($indexOf(typedArrays, tag) > -1) {\n\t\t\treturn tag;\n\t\t}\n\t\tif (tag !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\t// node < 0.6 hits here on real Typed Arrays\n\t\treturn trySlices(value);\n\t}\n\tif (!gOPD) { return null; } // unknown engine\n\treturn tryTypedArrays(value);\n};\n","import { getter, forEach, split, normalizePath, join } from 'property-expr';\nimport { camelCase, snakeCase } from 'tiny-case';\nimport toposort from 'toposort';\n\nconst toString = Object.prototype.toString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\nconst symbolToString = typeof Symbol !== 'undefined' ? Symbol.prototype.toString : () => '';\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nfunction printNumber(val) {\n if (val != +val) return 'NaN';\n const isNegativeZero = val === 0 && 1 / val < 0;\n return isNegativeZero ? '-0' : '' + val;\n}\nfunction printSimpleValue(val, quoteStrings = false) {\n if (val == null || val === true || val === false) return '' + val;\n const typeOf = typeof val;\n if (typeOf === 'number') return printNumber(val);\n if (typeOf === 'string') return quoteStrings ? `\"${val}\"` : val;\n if (typeOf === 'function') return '[Function ' + (val.name || 'anonymous') + ']';\n if (typeOf === 'symbol') return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n const tag = toString.call(val).slice(8, -1);\n if (tag === 'Date') return isNaN(val.getTime()) ? '' + val : val.toISOString(val);\n if (tag === 'Error' || val instanceof Error) return '[' + errorToString.call(val) + ']';\n if (tag === 'RegExp') return regExpToString.call(val);\n return null;\n}\nfunction printValue(value, quoteStrings) {\n let result = printSimpleValue(value, quoteStrings);\n if (result !== null) return result;\n return JSON.stringify(value, function (key, value) {\n let result = printSimpleValue(this[key], quoteStrings);\n if (result !== null) return result;\n return value;\n }, 2);\n}\n\nfunction toArray(value) {\n return value == null ? [] : [].concat(value);\n}\n\nlet _Symbol$toStringTag;\nlet strReg = /\\$\\{\\s*(\\w+)\\s*\\}/g;\n_Symbol$toStringTag = Symbol.toStringTag;\nclass ValidationError extends Error {\n static formatError(message, params) {\n const path = params.label || params.path || 'this';\n if (path !== params.path) params = Object.assign({}, params, {\n path\n });\n if (typeof message === 'string') return message.replace(strReg, (_, key) => printValue(params[key]));\n if (typeof message === 'function') return message(params);\n return message;\n }\n static isError(err) {\n return err && err.name === 'ValidationError';\n }\n constructor(errorOrErrors, value, field, type, disableStack) {\n super();\n this.value = void 0;\n this.path = void 0;\n this.type = void 0;\n this.errors = void 0;\n this.params = void 0;\n this.inner = void 0;\n this[_Symbol$toStringTag] = 'Error';\n this.name = 'ValidationError';\n this.value = value;\n this.path = field;\n this.type = type;\n this.errors = [];\n this.inner = [];\n toArray(errorOrErrors).forEach(err => {\n if (ValidationError.isError(err)) {\n this.errors.push(...err.errors);\n const innerErrors = err.inner.length ? err.inner : [err];\n this.inner.push(...innerErrors);\n } else {\n this.errors.push(err);\n }\n });\n this.message = this.errors.length > 1 ? `${this.errors.length} errors occurred` : this.errors[0];\n if (!disableStack && Error.captureStackTrace) Error.captureStackTrace(this, ValidationError);\n }\n}\n\nlet mixed = {\n default: '${path} is invalid',\n required: '${path} is a required field',\n defined: '${path} must be defined',\n notNull: '${path} cannot be null',\n oneOf: '${path} must be one of the following values: ${values}',\n notOneOf: '${path} must not be one of the following values: ${values}',\n notType: ({\n path,\n type,\n value,\n originalValue\n }) => {\n const castMsg = originalValue != null && originalValue !== value ? ` (cast from the value \\`${printValue(originalValue, true)}\\`).` : '.';\n return type !== 'mixed' ? `${path} must be a \\`${type}\\` type, ` + `but the final value was: \\`${printValue(value, true)}\\`` + castMsg : `${path} must match the configured type. ` + `The validated value was: \\`${printValue(value, true)}\\`` + castMsg;\n }\n};\nlet string = {\n length: '${path} must be exactly ${length} characters',\n min: '${path} must be at least ${min} characters',\n max: '${path} must be at most ${max} characters',\n matches: '${path} must match the following: \"${regex}\"',\n email: '${path} must be a valid email',\n url: '${path} must be a valid URL',\n uuid: '${path} must be a valid UUID',\n trim: '${path} must be a trimmed string',\n lowercase: '${path} must be a lowercase string',\n uppercase: '${path} must be a upper case string'\n};\nlet number = {\n min: '${path} must be greater than or equal to ${min}',\n max: '${path} must be less than or equal to ${max}',\n lessThan: '${path} must be less than ${less}',\n moreThan: '${path} must be greater than ${more}',\n positive: '${path} must be a positive number',\n negative: '${path} must be a negative number',\n integer: '${path} must be an integer'\n};\nlet date = {\n min: '${path} field must be later than ${min}',\n max: '${path} field must be at earlier than ${max}'\n};\nlet boolean = {\n isValue: '${path} field must be ${value}'\n};\nlet object = {\n noUnknown: '${path} field has unspecified keys: ${unknown}'\n};\nlet array = {\n min: '${path} field must have at least ${min} items',\n max: '${path} field must have less than or equal to ${max} items',\n length: '${path} must have ${length} items'\n};\nlet tuple = {\n notType: params => {\n const {\n path,\n value,\n spec\n } = params;\n const typeLen = spec.types.length;\n if (Array.isArray(value)) {\n if (value.length < typeLen) return `${path} tuple value has too few items, expected a length of ${typeLen} but got ${value.length} for value: \\`${printValue(value, true)}\\``;\n if (value.length > typeLen) return `${path} tuple value has too many items, expected a length of ${typeLen} but got ${value.length} for value: \\`${printValue(value, true)}\\``;\n }\n return ValidationError.formatError(mixed.notType, params);\n }\n};\nvar locale = Object.assign(Object.create(null), {\n mixed,\n string,\n number,\n date,\n object,\n array,\n boolean,\n tuple\n});\n\nconst isSchema = obj => obj && obj.__isYupSchema__;\n\nclass Condition {\n static fromOptions(refs, config) {\n if (!config.then && !config.otherwise) throw new TypeError('either `then:` or `otherwise:` is required for `when()` conditions');\n let {\n is,\n then,\n otherwise\n } = config;\n let check = typeof is === 'function' ? is : (...values) => values.every(value => value === is);\n return new Condition(refs, (values, schema) => {\n var _branch;\n let branch = check(...values) ? then : otherwise;\n return (_branch = branch == null ? void 0 : branch(schema)) != null ? _branch : schema;\n });\n }\n constructor(refs, builder) {\n this.fn = void 0;\n this.refs = refs;\n this.refs = refs;\n this.fn = builder;\n }\n resolve(base, options) {\n let values = this.refs.map(ref =>\n // TODO: ? operator here?\n ref.getValue(options == null ? void 0 : options.value, options == null ? void 0 : options.parent, options == null ? void 0 : options.context));\n let schema = this.fn(values, base, options);\n if (schema === undefined ||\n // @ts-ignore this can be base\n schema === base) {\n return base;\n }\n if (!isSchema(schema)) throw new TypeError('conditions must return a schema object');\n return schema.resolve(options);\n }\n}\n\nconst prefixes = {\n context: '$',\n value: '.'\n};\nfunction create$9(key, options) {\n return new Reference(key, options);\n}\nclass Reference {\n constructor(key, options = {}) {\n this.key = void 0;\n this.isContext = void 0;\n this.isValue = void 0;\n this.isSibling = void 0;\n this.path = void 0;\n this.getter = void 0;\n this.map = void 0;\n if (typeof key !== 'string') throw new TypeError('ref must be a string, got: ' + key);\n this.key = key.trim();\n if (key === '') throw new TypeError('ref must be a non-empty string');\n this.isContext = this.key[0] === prefixes.context;\n this.isValue = this.key[0] === prefixes.value;\n this.isSibling = !this.isContext && !this.isValue;\n let prefix = this.isContext ? prefixes.context : this.isValue ? prefixes.value : '';\n this.path = this.key.slice(prefix.length);\n this.getter = this.path && getter(this.path, true);\n this.map = options.map;\n }\n getValue(value, parent, context) {\n let result = this.isContext ? context : this.isValue ? value : parent;\n if (this.getter) result = this.getter(result || {});\n if (this.map) result = this.map(result);\n return result;\n }\n\n /**\n *\n * @param {*} value\n * @param {Object} options\n * @param {Object=} options.context\n * @param {Object=} options.parent\n */\n cast(value, options) {\n return this.getValue(value, options == null ? void 0 : options.parent, options == null ? void 0 : options.context);\n }\n resolve() {\n return this;\n }\n describe() {\n return {\n type: 'ref',\n key: this.key\n };\n }\n toString() {\n return `Ref(${this.key})`;\n }\n static isRef(value) {\n return value && value.__isYupRef;\n }\n}\n\n// @ts-ignore\nReference.prototype.__isYupRef = true;\n\nconst isAbsent = value => value == null;\n\nfunction createValidation(config) {\n function validate({\n value,\n path = '',\n options,\n originalValue,\n schema\n }, panic, next) {\n const {\n name,\n test,\n params,\n message,\n skipAbsent\n } = config;\n let {\n parent,\n context,\n abortEarly = schema.spec.abortEarly,\n disableStackTrace = schema.spec.disableStackTrace\n } = options;\n function resolve(item) {\n return Reference.isRef(item) ? item.getValue(value, parent, context) : item;\n }\n function createError(overrides = {}) {\n var _overrides$disableSta;\n const nextParams = Object.assign({\n value,\n originalValue,\n label: schema.spec.label,\n path: overrides.path || path,\n spec: schema.spec\n }, params, overrides.params);\n for (const key of Object.keys(nextParams)) nextParams[key] = resolve(nextParams[key]);\n const error = new ValidationError(ValidationError.formatError(overrides.message || message, nextParams), value, nextParams.path, overrides.type || name, (_overrides$disableSta = overrides.disableStackTrace) != null ? _overrides$disableSta : disableStackTrace);\n error.params = nextParams;\n return error;\n }\n const invalid = abortEarly ? panic : next;\n let ctx = {\n path,\n parent,\n type: name,\n from: options.from,\n createError,\n resolve,\n options,\n originalValue,\n schema\n };\n const handleResult = validOrError => {\n if (ValidationError.isError(validOrError)) invalid(validOrError);else if (!validOrError) invalid(createError());else next(null);\n };\n const handleError = err => {\n if (ValidationError.isError(err)) invalid(err);else panic(err);\n };\n const shouldSkip = skipAbsent && isAbsent(value);\n if (shouldSkip) {\n return handleResult(true);\n }\n let result;\n try {\n var _result;\n result = test.call(ctx, value, ctx);\n if (typeof ((_result = result) == null ? void 0 : _result.then) === 'function') {\n if (options.sync) {\n throw new Error(`Validation test of type: \"${ctx.type}\" returned a Promise during a synchronous validate. ` + `This test will finish after the validate call has returned`);\n }\n return Promise.resolve(result).then(handleResult, handleError);\n }\n } catch (err) {\n handleError(err);\n return;\n }\n handleResult(result);\n }\n validate.OPTIONS = config;\n return validate;\n}\n\nfunction getIn(schema, path, value, context = value) {\n let parent, lastPart, lastPartDebug;\n\n // root path: ''\n if (!path) return {\n parent,\n parentPath: path,\n schema\n };\n forEach(path, (_part, isBracket, isArray) => {\n let part = isBracket ? _part.slice(1, _part.length - 1) : _part;\n schema = schema.resolve({\n context,\n parent,\n value\n });\n let isTuple = schema.type === 'tuple';\n let idx = isArray ? parseInt(part, 10) : 0;\n if (schema.innerType || isTuple) {\n if (isTuple && !isArray) throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part \"${lastPartDebug}\" must contain an index to the tuple element, e.g. \"${lastPartDebug}[0]\"`);\n if (value && idx >= value.length) {\n throw new Error(`Yup.reach cannot resolve an array item at index: ${_part}, in the path: ${path}. ` + `because there is no value at that index. `);\n }\n parent = value;\n value = value && value[idx];\n schema = isTuple ? schema.spec.types[idx] : schema.innerType;\n }\n\n // sometimes the array index part of a path doesn't exist: \"nested.arr.child\"\n // in these cases the current part is the next schema and should be processed\n // in this iteration. For cases where the index signature is included this\n // check will fail and we'll handle the `child` part on the next iteration like normal\n if (!isArray) {\n if (!schema.fields || !schema.fields[part]) throw new Error(`The schema does not contain the path: ${path}. ` + `(failed at: ${lastPartDebug} which is a type: \"${schema.type}\")`);\n parent = value;\n value = value && value[part];\n schema = schema.fields[part];\n }\n lastPart = part;\n lastPartDebug = isBracket ? '[' + _part + ']' : '.' + _part;\n });\n return {\n schema,\n parent,\n parentPath: lastPart\n };\n}\nfunction reach(obj, path, value, context) {\n return getIn(obj, path, value, context).schema;\n}\n\nclass ReferenceSet extends Set {\n describe() {\n const description = [];\n for (const item of this.values()) {\n description.push(Reference.isRef(item) ? item.describe() : item);\n }\n return description;\n }\n resolveAll(resolve) {\n let result = [];\n for (const item of this.values()) {\n result.push(resolve(item));\n }\n return result;\n }\n clone() {\n return new ReferenceSet(this.values());\n }\n merge(newItems, removeItems) {\n const next = this.clone();\n newItems.forEach(value => next.add(value));\n removeItems.forEach(value => next.delete(value));\n return next;\n }\n}\n\n// tweaked from https://github.com/Kelin2025/nanoclone/blob/0abeb7635bda9b68ef2277093f76dbe3bf3948e1/src/index.js\nfunction clone(src, seen = new Map()) {\n if (isSchema(src) || !src || typeof src !== 'object') return src;\n if (seen.has(src)) return seen.get(src);\n let copy;\n if (src instanceof Date) {\n // Date\n copy = new Date(src.getTime());\n seen.set(src, copy);\n } else if (src instanceof RegExp) {\n // RegExp\n copy = new RegExp(src);\n seen.set(src, copy);\n } else if (Array.isArray(src)) {\n // Array\n copy = new Array(src.length);\n seen.set(src, copy);\n for (let i = 0; i < src.length; i++) copy[i] = clone(src[i], seen);\n } else if (src instanceof Map) {\n // Map\n copy = new Map();\n seen.set(src, copy);\n for (const [k, v] of src.entries()) copy.set(k, clone(v, seen));\n } else if (src instanceof Set) {\n // Set\n copy = new Set();\n seen.set(src, copy);\n for (const v of src) copy.add(clone(v, seen));\n } else if (src instanceof Object) {\n // Object\n copy = {};\n seen.set(src, copy);\n for (const [k, v] of Object.entries(src)) copy[k] = clone(v, seen);\n } else {\n throw Error(`Unable to clone ${src}`);\n }\n return copy;\n}\n\n// If `CustomSchemaMeta` isn't extended with any keys, we'll fall back to a\n// loose Record definition allowing free form usage.\nclass Schema {\n constructor(options) {\n this.type = void 0;\n this.deps = [];\n this.tests = void 0;\n this.transforms = void 0;\n this.conditions = [];\n this._mutate = void 0;\n this.internalTests = {};\n this._whitelist = new ReferenceSet();\n this._blacklist = new ReferenceSet();\n this.exclusiveTests = Object.create(null);\n this._typeCheck = void 0;\n this.spec = void 0;\n this.tests = [];\n this.transforms = [];\n this.withMutation(() => {\n this.typeError(mixed.notType);\n });\n this.type = options.type;\n this._typeCheck = options.check;\n this.spec = Object.assign({\n strip: false,\n strict: false,\n abortEarly: true,\n recursive: true,\n disableStackTrace: false,\n nullable: false,\n optional: true,\n coerce: true\n }, options == null ? void 0 : options.spec);\n this.withMutation(s => {\n s.nonNullable();\n });\n }\n\n // TODO: remove\n get _type() {\n return this.type;\n }\n clone(spec) {\n if (this._mutate) {\n if (spec) Object.assign(this.spec, spec);\n return this;\n }\n\n // if the nested value is a schema we can skip cloning, since\n // they are already immutable\n const next = Object.create(Object.getPrototypeOf(this));\n\n // @ts-expect-error this is readonly\n next.type = this.type;\n next._typeCheck = this._typeCheck;\n next._whitelist = this._whitelist.clone();\n next._blacklist = this._blacklist.clone();\n next.internalTests = Object.assign({}, this.internalTests);\n next.exclusiveTests = Object.assign({}, this.exclusiveTests);\n\n // @ts-expect-error this is readonly\n next.deps = [...this.deps];\n next.conditions = [...this.conditions];\n next.tests = [...this.tests];\n next.transforms = [...this.transforms];\n next.spec = clone(Object.assign({}, this.spec, spec));\n return next;\n }\n label(label) {\n let next = this.clone();\n next.spec.label = label;\n return next;\n }\n meta(...args) {\n if (args.length === 0) return this.spec.meta;\n let next = this.clone();\n next.spec.meta = Object.assign(next.spec.meta || {}, args[0]);\n return next;\n }\n withMutation(fn) {\n let before = this._mutate;\n this._mutate = true;\n let result = fn(this);\n this._mutate = before;\n return result;\n }\n concat(schema) {\n if (!schema || schema === this) return this;\n if (schema.type !== this.type && this.type !== 'mixed') throw new TypeError(`You cannot \\`concat()\\` schema's of different types: ${this.type} and ${schema.type}`);\n let base = this;\n let combined = schema.clone();\n const mergedSpec = Object.assign({}, base.spec, combined.spec);\n combined.spec = mergedSpec;\n combined.internalTests = Object.assign({}, base.internalTests, combined.internalTests);\n\n // manually merge the blacklist/whitelist (the other `schema` takes\n // precedence in case of conflicts)\n combined._whitelist = base._whitelist.merge(schema._whitelist, schema._blacklist);\n combined._blacklist = base._blacklist.merge(schema._blacklist, schema._whitelist);\n\n // start with the current tests\n combined.tests = base.tests;\n combined.exclusiveTests = base.exclusiveTests;\n\n // manually add the new tests to ensure\n // the deduping logic is consistent\n combined.withMutation(next => {\n schema.tests.forEach(fn => {\n next.test(fn.OPTIONS);\n });\n });\n combined.transforms = [...base.transforms, ...combined.transforms];\n return combined;\n }\n isType(v) {\n if (v == null) {\n if (this.spec.nullable && v === null) return true;\n if (this.spec.optional && v === undefined) return true;\n return false;\n }\n return this._typeCheck(v);\n }\n resolve(options) {\n let schema = this;\n if (schema.conditions.length) {\n let conditions = schema.conditions;\n schema = schema.clone();\n schema.conditions = [];\n schema = conditions.reduce((prevSchema, condition) => condition.resolve(prevSchema, options), schema);\n schema = schema.resolve(options);\n }\n return schema;\n }\n resolveOptions(options) {\n var _options$strict, _options$abortEarly, _options$recursive, _options$disableStack;\n return Object.assign({}, options, {\n from: options.from || [],\n strict: (_options$strict = options.strict) != null ? _options$strict : this.spec.strict,\n abortEarly: (_options$abortEarly = options.abortEarly) != null ? _options$abortEarly : this.spec.abortEarly,\n recursive: (_options$recursive = options.recursive) != null ? _options$recursive : this.spec.recursive,\n disableStackTrace: (_options$disableStack = options.disableStackTrace) != null ? _options$disableStack : this.spec.disableStackTrace\n });\n }\n\n /**\n * Run the configured transform pipeline over an input value.\n */\n\n cast(value, options = {}) {\n let resolvedSchema = this.resolve(Object.assign({\n value\n }, options));\n let allowOptionality = options.assert === 'ignore-optionality';\n let result = resolvedSchema._cast(value, options);\n if (options.assert !== false && !resolvedSchema.isType(result)) {\n if (allowOptionality && isAbsent(result)) {\n return result;\n }\n let formattedValue = printValue(value);\n let formattedResult = printValue(result);\n throw new TypeError(`The value of ${options.path || 'field'} could not be cast to a value ` + `that satisfies the schema type: \"${resolvedSchema.type}\". \\n\\n` + `attempted value: ${formattedValue} \\n` + (formattedResult !== formattedValue ? `result of cast: ${formattedResult}` : ''));\n }\n return result;\n }\n _cast(rawValue, options) {\n let value = rawValue === undefined ? rawValue : this.transforms.reduce((prevValue, fn) => fn.call(this, prevValue, rawValue, this), rawValue);\n if (value === undefined) {\n value = this.getDefault(options);\n }\n return value;\n }\n _validate(_value, options = {}, panic, next) {\n let {\n path,\n originalValue = _value,\n strict = this.spec.strict\n } = options;\n let value = _value;\n if (!strict) {\n value = this._cast(value, Object.assign({\n assert: false\n }, options));\n }\n let initialTests = [];\n for (let test of Object.values(this.internalTests)) {\n if (test) initialTests.push(test);\n }\n this.runTests({\n path,\n value,\n originalValue,\n options,\n tests: initialTests\n }, panic, initialErrors => {\n // even if we aren't ending early we can't proceed further if the types aren't correct\n if (initialErrors.length) {\n return next(initialErrors, value);\n }\n this.runTests({\n path,\n value,\n originalValue,\n options,\n tests: this.tests\n }, panic, next);\n });\n }\n\n /**\n * Executes a set of validations, either schema, produced Tests or a nested\n * schema validate result.\n */\n runTests(runOptions, panic, next) {\n let fired = false;\n let {\n tests,\n value,\n originalValue,\n path,\n options\n } = runOptions;\n let panicOnce = arg => {\n if (fired) return;\n fired = true;\n panic(arg, value);\n };\n let nextOnce = arg => {\n if (fired) return;\n fired = true;\n next(arg, value);\n };\n let count = tests.length;\n let nestedErrors = [];\n if (!count) return nextOnce([]);\n let args = {\n value,\n originalValue,\n path,\n options,\n schema: this\n };\n for (let i = 0; i < tests.length; i++) {\n const test = tests[i];\n test(args, panicOnce, function finishTestRun(err) {\n if (err) {\n Array.isArray(err) ? nestedErrors.push(...err) : nestedErrors.push(err);\n }\n if (--count <= 0) {\n nextOnce(nestedErrors);\n }\n });\n }\n }\n asNestedTest({\n key,\n index,\n parent,\n parentPath,\n originalParent,\n options\n }) {\n const k = key != null ? key : index;\n if (k == null) {\n throw TypeError('Must include `key` or `index` for nested validations');\n }\n const isIndex = typeof k === 'number';\n let value = parent[k];\n const testOptions = Object.assign({}, options, {\n // Nested validations fields are always strict:\n // 1. parent isn't strict so the casting will also have cast inner values\n // 2. parent is strict in which case the nested values weren't cast either\n strict: true,\n parent,\n value,\n originalValue: originalParent[k],\n // FIXME: tests depend on `index` being passed around deeply,\n // we should not let the options.key/index bleed through\n key: undefined,\n // index: undefined,\n [isIndex ? 'index' : 'key']: k,\n path: isIndex || k.includes('.') ? `${parentPath || ''}[${value ? k : `\"${k}\"`}]` : (parentPath ? `${parentPath}.` : '') + key\n });\n return (_, panic, next) => this.resolve(testOptions)._validate(value, testOptions, panic, next);\n }\n validate(value, options) {\n var _options$disableStack2;\n let schema = this.resolve(Object.assign({}, options, {\n value\n }));\n let disableStackTrace = (_options$disableStack2 = options == null ? void 0 : options.disableStackTrace) != null ? _options$disableStack2 : schema.spec.disableStackTrace;\n return new Promise((resolve, reject) => schema._validate(value, options, (error, parsed) => {\n if (ValidationError.isError(error)) error.value = parsed;\n reject(error);\n }, (errors, validated) => {\n if (errors.length) reject(new ValidationError(errors, validated, undefined, undefined, disableStackTrace));else resolve(validated);\n }));\n }\n validateSync(value, options) {\n var _options$disableStack3;\n let schema = this.resolve(Object.assign({}, options, {\n value\n }));\n let result;\n let disableStackTrace = (_options$disableStack3 = options == null ? void 0 : options.disableStackTrace) != null ? _options$disableStack3 : schema.spec.disableStackTrace;\n schema._validate(value, Object.assign({}, options, {\n sync: true\n }), (error, parsed) => {\n if (ValidationError.isError(error)) error.value = parsed;\n throw error;\n }, (errors, validated) => {\n if (errors.length) throw new ValidationError(errors, value, undefined, undefined, disableStackTrace);\n result = validated;\n });\n return result;\n }\n isValid(value, options) {\n return this.validate(value, options).then(() => true, err => {\n if (ValidationError.isError(err)) return false;\n throw err;\n });\n }\n isValidSync(value, options) {\n try {\n this.validateSync(value, options);\n return true;\n } catch (err) {\n if (ValidationError.isError(err)) return false;\n throw err;\n }\n }\n _getDefault(options) {\n let defaultValue = this.spec.default;\n if (defaultValue == null) {\n return defaultValue;\n }\n return typeof defaultValue === 'function' ? defaultValue.call(this, options) : clone(defaultValue);\n }\n getDefault(options\n // If schema is defaulted we know it's at least not undefined\n ) {\n let schema = this.resolve(options || {});\n return schema._getDefault(options);\n }\n default(def) {\n if (arguments.length === 0) {\n return this._getDefault();\n }\n let next = this.clone({\n default: def\n });\n return next;\n }\n strict(isStrict = true) {\n return this.clone({\n strict: isStrict\n });\n }\n nullability(nullable, message) {\n const next = this.clone({\n nullable\n });\n next.internalTests.nullable = createValidation({\n message,\n name: 'nullable',\n test(value) {\n return value === null ? this.schema.spec.nullable : true;\n }\n });\n return next;\n }\n optionality(optional, message) {\n const next = this.clone({\n optional\n });\n next.internalTests.optionality = createValidation({\n message,\n name: 'optionality',\n test(value) {\n return value === undefined ? this.schema.spec.optional : true;\n }\n });\n return next;\n }\n optional() {\n return this.optionality(true);\n }\n defined(message = mixed.defined) {\n return this.optionality(false, message);\n }\n nullable() {\n return this.nullability(true);\n }\n nonNullable(message = mixed.notNull) {\n return this.nullability(false, message);\n }\n required(message = mixed.required) {\n return this.clone().withMutation(next => next.nonNullable(message).defined(message));\n }\n notRequired() {\n return this.clone().withMutation(next => next.nullable().optional());\n }\n transform(fn) {\n let next = this.clone();\n next.transforms.push(fn);\n return next;\n }\n\n /**\n * Adds a test function to the schema's queue of tests.\n * tests can be exclusive or non-exclusive.\n *\n * - exclusive tests, will replace any existing tests of the same name.\n * - non-exclusive: can be stacked\n *\n * If a non-exclusive test is added to a schema with an exclusive test of the same name\n * the exclusive test is removed and further tests of the same name will be stacked.\n *\n * If an exclusive test is added to a schema with non-exclusive tests of the same name\n * the previous tests are removed and further tests of the same name will replace each other.\n */\n\n test(...args) {\n let opts;\n if (args.length === 1) {\n if (typeof args[0] === 'function') {\n opts = {\n test: args[0]\n };\n } else {\n opts = args[0];\n }\n } else if (args.length === 2) {\n opts = {\n name: args[0],\n test: args[1]\n };\n } else {\n opts = {\n name: args[0],\n message: args[1],\n test: args[2]\n };\n }\n if (opts.message === undefined) opts.message = mixed.default;\n if (typeof opts.test !== 'function') throw new TypeError('`test` is a required parameters');\n let next = this.clone();\n let validate = createValidation(opts);\n let isExclusive = opts.exclusive || opts.name && next.exclusiveTests[opts.name] === true;\n if (opts.exclusive) {\n if (!opts.name) throw new TypeError('Exclusive tests must provide a unique `name` identifying the test');\n }\n if (opts.name) next.exclusiveTests[opts.name] = !!opts.exclusive;\n next.tests = next.tests.filter(fn => {\n if (fn.OPTIONS.name === opts.name) {\n if (isExclusive) return false;\n if (fn.OPTIONS.test === validate.OPTIONS.test) return false;\n }\n return true;\n });\n next.tests.push(validate);\n return next;\n }\n when(keys, options) {\n if (!Array.isArray(keys) && typeof keys !== 'string') {\n options = keys;\n keys = '.';\n }\n let next = this.clone();\n let deps = toArray(keys).map(key => new Reference(key));\n deps.forEach(dep => {\n // @ts-ignore readonly array\n if (dep.isSibling) next.deps.push(dep.key);\n });\n next.conditions.push(typeof options === 'function' ? new Condition(deps, options) : Condition.fromOptions(deps, options));\n return next;\n }\n typeError(message) {\n let next = this.clone();\n next.internalTests.typeError = createValidation({\n message,\n name: 'typeError',\n skipAbsent: true,\n test(value) {\n if (!this.schema._typeCheck(value)) return this.createError({\n params: {\n type: this.schema.type\n }\n });\n return true;\n }\n });\n return next;\n }\n oneOf(enums, message = mixed.oneOf) {\n let next = this.clone();\n enums.forEach(val => {\n next._whitelist.add(val);\n next._blacklist.delete(val);\n });\n next.internalTests.whiteList = createValidation({\n message,\n name: 'oneOf',\n skipAbsent: true,\n test(value) {\n let valids = this.schema._whitelist;\n let resolved = valids.resolveAll(this.resolve);\n return resolved.includes(value) ? true : this.createError({\n params: {\n values: Array.from(valids).join(', '),\n resolved\n }\n });\n }\n });\n return next;\n }\n notOneOf(enums, message = mixed.notOneOf) {\n let next = this.clone();\n enums.forEach(val => {\n next._blacklist.add(val);\n next._whitelist.delete(val);\n });\n next.internalTests.blacklist = createValidation({\n message,\n name: 'notOneOf',\n test(value) {\n let invalids = this.schema._blacklist;\n let resolved = invalids.resolveAll(this.resolve);\n if (resolved.includes(value)) return this.createError({\n params: {\n values: Array.from(invalids).join(', '),\n resolved\n }\n });\n return true;\n }\n });\n return next;\n }\n strip(strip = true) {\n let next = this.clone();\n next.spec.strip = strip;\n return next;\n }\n\n /**\n * Return a serialized description of the schema including validations, flags, types etc.\n *\n * @param options Provide any needed context for resolving runtime schema alterations (lazy, when conditions, etc).\n */\n describe(options) {\n const next = (options ? this.resolve(options) : this).clone();\n const {\n label,\n meta,\n optional,\n nullable\n } = next.spec;\n const description = {\n meta,\n label,\n optional,\n nullable,\n default: next.getDefault(options),\n type: next.type,\n oneOf: next._whitelist.describe(),\n notOneOf: next._blacklist.describe(),\n tests: next.tests.map(fn => ({\n name: fn.OPTIONS.name,\n params: fn.OPTIONS.params\n })).filter((n, idx, list) => list.findIndex(c => c.name === n.name) === idx)\n };\n return description;\n }\n}\n// @ts-expect-error\nSchema.prototype.__isYupSchema__ = true;\nfor (const method of ['validate', 'validateSync']) Schema.prototype[`${method}At`] = function (path, value, options = {}) {\n const {\n parent,\n parentPath,\n schema\n } = getIn(this, path, value, options.context);\n return schema[method](parent && parent[parentPath], Object.assign({}, options, {\n parent,\n path\n }));\n};\nfor (const alias of ['equals', 'is']) Schema.prototype[alias] = Schema.prototype.oneOf;\nfor (const alias of ['not', 'nope']) Schema.prototype[alias] = Schema.prototype.notOneOf;\n\nconst returnsTrue = () => true;\nfunction create$8(spec) {\n return new MixedSchema(spec);\n}\nclass MixedSchema extends Schema {\n constructor(spec) {\n super(typeof spec === 'function' ? {\n type: 'mixed',\n check: spec\n } : Object.assign({\n type: 'mixed',\n check: returnsTrue\n }, spec));\n }\n}\ncreate$8.prototype = MixedSchema.prototype;\n\nfunction create$7() {\n return new BooleanSchema();\n}\nclass BooleanSchema extends Schema {\n constructor() {\n super({\n type: 'boolean',\n check(v) {\n if (v instanceof Boolean) v = v.valueOf();\n return typeof v === 'boolean';\n }\n });\n this.withMutation(() => {\n this.transform((value, _raw, ctx) => {\n if (ctx.spec.coerce && !ctx.isType(value)) {\n if (/^(true|1)$/i.test(String(value))) return true;\n if (/^(false|0)$/i.test(String(value))) return false;\n }\n return value;\n });\n });\n }\n isTrue(message = boolean.isValue) {\n return this.test({\n message,\n name: 'is-value',\n exclusive: true,\n params: {\n value: 'true'\n },\n test(value) {\n return isAbsent(value) || value === true;\n }\n });\n }\n isFalse(message = boolean.isValue) {\n return this.test({\n message,\n name: 'is-value',\n exclusive: true,\n params: {\n value: 'false'\n },\n test(value) {\n return isAbsent(value) || value === false;\n }\n });\n }\n default(def) {\n return super.default(def);\n }\n defined(msg) {\n return super.defined(msg);\n }\n optional() {\n return super.optional();\n }\n required(msg) {\n return super.required(msg);\n }\n notRequired() {\n return super.notRequired();\n }\n nullable() {\n return super.nullable();\n }\n nonNullable(msg) {\n return super.nonNullable(msg);\n }\n strip(v) {\n return super.strip(v);\n }\n}\ncreate$7.prototype = BooleanSchema.prototype;\n\n// Taken from HTML spec: https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address\nlet rEmail =\n// eslint-disable-next-line\n/^[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])?)*$/;\nlet rUrl =\n// eslint-disable-next-line\n/^((https?|ftp):)?\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i;\n\n// eslint-disable-next-line\nlet rUUID = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nlet isTrimmed = value => isAbsent(value) || value === value.trim();\nlet objStringTag = {}.toString();\nfunction create$6() {\n return new StringSchema();\n}\nclass StringSchema extends Schema {\n constructor() {\n super({\n type: 'string',\n check(value) {\n if (value instanceof String) value = value.valueOf();\n return typeof value === 'string';\n }\n });\n this.withMutation(() => {\n this.transform((value, _raw, ctx) => {\n if (!ctx.spec.coerce || ctx.isType(value)) return value;\n\n // don't ever convert arrays\n if (Array.isArray(value)) return value;\n const strValue = value != null && value.toString ? value.toString() : value;\n\n // no one wants plain objects converted to [Object object]\n if (strValue === objStringTag) return value;\n return strValue;\n });\n });\n }\n required(message) {\n return super.required(message).withMutation(schema => schema.test({\n message: message || mixed.required,\n name: 'required',\n skipAbsent: true,\n test: value => !!value.length\n }));\n }\n notRequired() {\n return super.notRequired().withMutation(schema => {\n schema.tests = schema.tests.filter(t => t.OPTIONS.name !== 'required');\n return schema;\n });\n }\n length(length, message = string.length) {\n return this.test({\n message,\n name: 'length',\n exclusive: true,\n params: {\n length\n },\n skipAbsent: true,\n test(value) {\n return value.length === this.resolve(length);\n }\n });\n }\n min(min, message = string.min) {\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n skipAbsent: true,\n test(value) {\n return value.length >= this.resolve(min);\n }\n });\n }\n max(max, message = string.max) {\n return this.test({\n name: 'max',\n exclusive: true,\n message,\n params: {\n max\n },\n skipAbsent: true,\n test(value) {\n return value.length <= this.resolve(max);\n }\n });\n }\n matches(regex, options) {\n let excludeEmptyString = false;\n let message;\n let name;\n if (options) {\n if (typeof options === 'object') {\n ({\n excludeEmptyString = false,\n message,\n name\n } = options);\n } else {\n message = options;\n }\n }\n return this.test({\n name: name || 'matches',\n message: message || string.matches,\n params: {\n regex\n },\n skipAbsent: true,\n test: value => value === '' && excludeEmptyString || value.search(regex) !== -1\n });\n }\n email(message = string.email) {\n return this.matches(rEmail, {\n name: 'email',\n message,\n excludeEmptyString: true\n });\n }\n url(message = string.url) {\n return this.matches(rUrl, {\n name: 'url',\n message,\n excludeEmptyString: true\n });\n }\n uuid(message = string.uuid) {\n return this.matches(rUUID, {\n name: 'uuid',\n message,\n excludeEmptyString: false\n });\n }\n\n //-- transforms --\n ensure() {\n return this.default('').transform(val => val === null ? '' : val);\n }\n trim(message = string.trim) {\n return this.transform(val => val != null ? val.trim() : val).test({\n message,\n name: 'trim',\n test: isTrimmed\n });\n }\n lowercase(message = string.lowercase) {\n return this.transform(value => !isAbsent(value) ? value.toLowerCase() : value).test({\n message,\n name: 'string_case',\n exclusive: true,\n skipAbsent: true,\n test: value => isAbsent(value) || value === value.toLowerCase()\n });\n }\n uppercase(message = string.uppercase) {\n return this.transform(value => !isAbsent(value) ? value.toUpperCase() : value).test({\n message,\n name: 'string_case',\n exclusive: true,\n skipAbsent: true,\n test: value => isAbsent(value) || value === value.toUpperCase()\n });\n }\n}\ncreate$6.prototype = StringSchema.prototype;\n\n//\n// String Interfaces\n//\n\nlet isNaN$1 = value => value != +value;\nfunction create$5() {\n return new NumberSchema();\n}\nclass NumberSchema extends Schema {\n constructor() {\n super({\n type: 'number',\n check(value) {\n if (value instanceof Number) value = value.valueOf();\n return typeof value === 'number' && !isNaN$1(value);\n }\n });\n this.withMutation(() => {\n this.transform((value, _raw, ctx) => {\n if (!ctx.spec.coerce) return value;\n let parsed = value;\n if (typeof parsed === 'string') {\n parsed = parsed.replace(/\\s/g, '');\n if (parsed === '') return NaN;\n // don't use parseFloat to avoid positives on alpha-numeric strings\n parsed = +parsed;\n }\n\n // null -> NaN isn't useful; treat all nulls as null and let it fail on\n // nullability check vs TypeErrors\n if (ctx.isType(parsed) || parsed === null) return parsed;\n return parseFloat(parsed);\n });\n });\n }\n min(min, message = number.min) {\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n skipAbsent: true,\n test(value) {\n return value >= this.resolve(min);\n }\n });\n }\n max(max, message = number.max) {\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n max\n },\n skipAbsent: true,\n test(value) {\n return value <= this.resolve(max);\n }\n });\n }\n lessThan(less, message = number.lessThan) {\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n less\n },\n skipAbsent: true,\n test(value) {\n return value < this.resolve(less);\n }\n });\n }\n moreThan(more, message = number.moreThan) {\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n more\n },\n skipAbsent: true,\n test(value) {\n return value > this.resolve(more);\n }\n });\n }\n positive(msg = number.positive) {\n return this.moreThan(0, msg);\n }\n negative(msg = number.negative) {\n return this.lessThan(0, msg);\n }\n integer(message = number.integer) {\n return this.test({\n name: 'integer',\n message,\n skipAbsent: true,\n test: val => Number.isInteger(val)\n });\n }\n truncate() {\n return this.transform(value => !isAbsent(value) ? value | 0 : value);\n }\n round(method) {\n var _method;\n let avail = ['ceil', 'floor', 'round', 'trunc'];\n method = ((_method = method) == null ? void 0 : _method.toLowerCase()) || 'round';\n\n // this exists for symemtry with the new Math.trunc\n if (method === 'trunc') return this.truncate();\n if (avail.indexOf(method.toLowerCase()) === -1) throw new TypeError('Only valid options for round() are: ' + avail.join(', '));\n return this.transform(value => !isAbsent(value) ? Math[method](value) : value);\n }\n}\ncreate$5.prototype = NumberSchema.prototype;\n\n//\n// Number Interfaces\n//\n\n/**\n * This file is a modified version of the file from the following repository:\n * Date.parse with progressive enhancement for ISO 8601 \n * NON-CONFORMANT EDITION.\n * © 2011 Colin Snover \n * Released under MIT license.\n */\n\n// prettier-ignore\n// 1 YYYY 2 MM 3 DD 4 HH 5 mm 6 ss 7 msec 8 Z 9 ± 10 tzHH 11 tzmm\nconst isoReg = /^(\\d{4}|[+-]\\d{6})(?:-?(\\d{2})(?:-?(\\d{2}))?)?(?:[ T]?(\\d{2}):?(\\d{2})(?::?(\\d{2})(?:[,.](\\d{1,}))?)?(?:(Z)|([+-])(\\d{2})(?::?(\\d{2}))?)?)?$/;\nfunction toNumber(str, defaultValue = 0) {\n return Number(str) || defaultValue;\n}\nfunction parseIsoDate(date) {\n const regexResult = isoReg.exec(date);\n if (!regexResult) return Date.parse ? Date.parse(date) : Number.NaN;\n\n // use of toNumber() avoids NaN timestamps caused by “undefined”\n // values being passed to Date constructor\n const struct = {\n year: toNumber(regexResult[1]),\n month: toNumber(regexResult[2], 1) - 1,\n day: toNumber(regexResult[3], 1),\n hour: toNumber(regexResult[4]),\n minute: toNumber(regexResult[5]),\n second: toNumber(regexResult[6]),\n millisecond: regexResult[7] ?\n // allow arbitrary sub-second precision beyond milliseconds\n toNumber(regexResult[7].substring(0, 3)) : 0,\n z: regexResult[8] || undefined,\n plusMinus: regexResult[9] || undefined,\n hourOffset: toNumber(regexResult[10]),\n minuteOffset: toNumber(regexResult[11])\n };\n\n // timestamps without timezone identifiers should be considered local time\n if (struct.z === undefined && struct.plusMinus === undefined) {\n return new Date(struct.year, struct.month, struct.day, struct.hour, struct.minute, struct.second, struct.millisecond).valueOf();\n }\n let totalMinutesOffset = 0;\n if (struct.z !== 'Z' && struct.plusMinus !== undefined) {\n totalMinutesOffset = struct.hourOffset * 60 + struct.minuteOffset;\n if (struct.plusMinus === '+') totalMinutesOffset = 0 - totalMinutesOffset;\n }\n return Date.UTC(struct.year, struct.month, struct.day, struct.hour, struct.minute + totalMinutesOffset, struct.second, struct.millisecond);\n}\n\nlet invalidDate = new Date('');\nlet isDate = obj => Object.prototype.toString.call(obj) === '[object Date]';\nfunction create$4() {\n return new DateSchema();\n}\nclass DateSchema extends Schema {\n constructor() {\n super({\n type: 'date',\n check(v) {\n return isDate(v) && !isNaN(v.getTime());\n }\n });\n this.withMutation(() => {\n this.transform((value, _raw, ctx) => {\n // null -> InvalidDate isn't useful; treat all nulls as null and let it fail on\n // nullability check vs TypeErrors\n if (!ctx.spec.coerce || ctx.isType(value) || value === null) return value;\n value = parseIsoDate(value);\n\n // 0 is a valid timestamp equivalent to 1970-01-01T00:00:00Z(unix epoch) or before.\n return !isNaN(value) ? new Date(value) : DateSchema.INVALID_DATE;\n });\n });\n }\n prepareParam(ref, name) {\n let param;\n if (!Reference.isRef(ref)) {\n let cast = this.cast(ref);\n if (!this._typeCheck(cast)) throw new TypeError(`\\`${name}\\` must be a Date or a value that can be \\`cast()\\` to a Date`);\n param = cast;\n } else {\n param = ref;\n }\n return param;\n }\n min(min, message = date.min) {\n let limit = this.prepareParam(min, 'min');\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n skipAbsent: true,\n test(value) {\n return value >= this.resolve(limit);\n }\n });\n }\n max(max, message = date.max) {\n let limit = this.prepareParam(max, 'max');\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n max\n },\n skipAbsent: true,\n test(value) {\n return value <= this.resolve(limit);\n }\n });\n }\n}\nDateSchema.INVALID_DATE = invalidDate;\ncreate$4.prototype = DateSchema.prototype;\ncreate$4.INVALID_DATE = invalidDate;\n\n// @ts-expect-error\nfunction sortFields(fields, excludedEdges = []) {\n let edges = [];\n let nodes = new Set();\n let excludes = new Set(excludedEdges.map(([a, b]) => `${a}-${b}`));\n function addNode(depPath, key) {\n let node = split(depPath)[0];\n nodes.add(node);\n if (!excludes.has(`${key}-${node}`)) edges.push([key, node]);\n }\n for (const key of Object.keys(fields)) {\n let value = fields[key];\n nodes.add(key);\n if (Reference.isRef(value) && value.isSibling) addNode(value.path, key);else if (isSchema(value) && 'deps' in value) value.deps.forEach(path => addNode(path, key));\n }\n return toposort.array(Array.from(nodes), edges).reverse();\n}\n\nfunction findIndex(arr, err) {\n let idx = Infinity;\n arr.some((key, ii) => {\n var _err$path;\n if ((_err$path = err.path) != null && _err$path.includes(key)) {\n idx = ii;\n return true;\n }\n });\n return idx;\n}\nfunction sortByKeyOrder(keys) {\n return (a, b) => {\n return findIndex(keys, a) - findIndex(keys, b);\n };\n}\n\nconst parseJson = (value, _, ctx) => {\n if (typeof value !== 'string') {\n return value;\n }\n let parsed = value;\n try {\n parsed = JSON.parse(value);\n } catch (err) {\n /* */\n }\n return ctx.isType(parsed) ? parsed : value;\n};\n\n// @ts-ignore\nfunction deepPartial(schema) {\n if ('fields' in schema) {\n const partial = {};\n for (const [key, fieldSchema] of Object.entries(schema.fields)) {\n partial[key] = deepPartial(fieldSchema);\n }\n return schema.setFields(partial);\n }\n if (schema.type === 'array') {\n const nextArray = schema.optional();\n if (nextArray.innerType) nextArray.innerType = deepPartial(nextArray.innerType);\n return nextArray;\n }\n if (schema.type === 'tuple') {\n return schema.optional().clone({\n types: schema.spec.types.map(deepPartial)\n });\n }\n if ('optional' in schema) {\n return schema.optional();\n }\n return schema;\n}\nconst deepHas = (obj, p) => {\n const path = [...normalizePath(p)];\n if (path.length === 1) return path[0] in obj;\n let last = path.pop();\n let parent = getter(join(path), true)(obj);\n return !!(parent && last in parent);\n};\nlet isObject = obj => Object.prototype.toString.call(obj) === '[object Object]';\nfunction unknown(ctx, value) {\n let known = Object.keys(ctx.fields);\n return Object.keys(value).filter(key => known.indexOf(key) === -1);\n}\nconst defaultSort = sortByKeyOrder([]);\nfunction create$3(spec) {\n return new ObjectSchema(spec);\n}\nclass ObjectSchema extends Schema {\n constructor(spec) {\n super({\n type: 'object',\n check(value) {\n return isObject(value) || typeof value === 'function';\n }\n });\n this.fields = Object.create(null);\n this._sortErrors = defaultSort;\n this._nodes = [];\n this._excludedEdges = [];\n this.withMutation(() => {\n if (spec) {\n this.shape(spec);\n }\n });\n }\n _cast(_value, options = {}) {\n var _options$stripUnknown;\n let value = super._cast(_value, options);\n\n //should ignore nulls here\n if (value === undefined) return this.getDefault(options);\n if (!this._typeCheck(value)) return value;\n let fields = this.fields;\n let strip = (_options$stripUnknown = options.stripUnknown) != null ? _options$stripUnknown : this.spec.noUnknown;\n let props = [].concat(this._nodes, Object.keys(value).filter(v => !this._nodes.includes(v)));\n let intermediateValue = {}; // is filled during the transform below\n let innerOptions = Object.assign({}, options, {\n parent: intermediateValue,\n __validating: options.__validating || false\n });\n let isChanged = false;\n for (const prop of props) {\n let field = fields[prop];\n let exists = (prop in value);\n if (field) {\n let fieldValue;\n let inputValue = value[prop];\n\n // safe to mutate since this is fired in sequence\n innerOptions.path = (options.path ? `${options.path}.` : '') + prop;\n field = field.resolve({\n value: inputValue,\n context: options.context,\n parent: intermediateValue\n });\n let fieldSpec = field instanceof Schema ? field.spec : undefined;\n let strict = fieldSpec == null ? void 0 : fieldSpec.strict;\n if (fieldSpec != null && fieldSpec.strip) {\n isChanged = isChanged || prop in value;\n continue;\n }\n fieldValue = !options.__validating || !strict ?\n // TODO: use _cast, this is double resolving\n field.cast(value[prop], innerOptions) : value[prop];\n if (fieldValue !== undefined) {\n intermediateValue[prop] = fieldValue;\n }\n } else if (exists && !strip) {\n intermediateValue[prop] = value[prop];\n }\n if (exists !== prop in intermediateValue || intermediateValue[prop] !== value[prop]) {\n isChanged = true;\n }\n }\n return isChanged ? intermediateValue : value;\n }\n _validate(_value, options = {}, panic, next) {\n let {\n from = [],\n originalValue = _value,\n recursive = this.spec.recursive\n } = options;\n options.from = [{\n schema: this,\n value: originalValue\n }, ...from];\n // this flag is needed for handling `strict` correctly in the context of\n // validation vs just casting. e.g strict() on a field is only used when validating\n options.__validating = true;\n options.originalValue = originalValue;\n super._validate(_value, options, panic, (objectErrors, value) => {\n if (!recursive || !isObject(value)) {\n next(objectErrors, value);\n return;\n }\n originalValue = originalValue || value;\n let tests = [];\n for (let key of this._nodes) {\n let field = this.fields[key];\n if (!field || Reference.isRef(field)) {\n continue;\n }\n tests.push(field.asNestedTest({\n options,\n key,\n parent: value,\n parentPath: options.path,\n originalParent: originalValue\n }));\n }\n this.runTests({\n tests,\n value,\n originalValue,\n options\n }, panic, fieldErrors => {\n next(fieldErrors.sort(this._sortErrors).concat(objectErrors), value);\n });\n });\n }\n clone(spec) {\n const next = super.clone(spec);\n next.fields = Object.assign({}, this.fields);\n next._nodes = this._nodes;\n next._excludedEdges = this._excludedEdges;\n next._sortErrors = this._sortErrors;\n return next;\n }\n concat(schema) {\n let next = super.concat(schema);\n let nextFields = next.fields;\n for (let [field, schemaOrRef] of Object.entries(this.fields)) {\n const target = nextFields[field];\n nextFields[field] = target === undefined ? schemaOrRef : target;\n }\n return next.withMutation(s =>\n // XXX: excludes here is wrong\n s.setFields(nextFields, [...this._excludedEdges, ...schema._excludedEdges]));\n }\n _getDefault(options) {\n if ('default' in this.spec) {\n return super._getDefault(options);\n }\n\n // if there is no default set invent one\n if (!this._nodes.length) {\n return undefined;\n }\n let dft = {};\n this._nodes.forEach(key => {\n var _innerOptions;\n const field = this.fields[key];\n let innerOptions = options;\n if ((_innerOptions = innerOptions) != null && _innerOptions.value) {\n innerOptions = Object.assign({}, innerOptions, {\n parent: innerOptions.value,\n value: innerOptions.value[key]\n });\n }\n dft[key] = field && 'getDefault' in field ? field.getDefault(innerOptions) : undefined;\n });\n return dft;\n }\n setFields(shape, excludedEdges) {\n let next = this.clone();\n next.fields = shape;\n next._nodes = sortFields(shape, excludedEdges);\n next._sortErrors = sortByKeyOrder(Object.keys(shape));\n // XXX: this carries over edges which may not be what you want\n if (excludedEdges) next._excludedEdges = excludedEdges;\n return next;\n }\n shape(additions, excludes = []) {\n return this.clone().withMutation(next => {\n let edges = next._excludedEdges;\n if (excludes.length) {\n if (!Array.isArray(excludes[0])) excludes = [excludes];\n edges = [...next._excludedEdges, ...excludes];\n }\n\n // XXX: excludes here is wrong\n return next.setFields(Object.assign(next.fields, additions), edges);\n });\n }\n partial() {\n const partial = {};\n for (const [key, schema] of Object.entries(this.fields)) {\n partial[key] = 'optional' in schema && schema.optional instanceof Function ? schema.optional() : schema;\n }\n return this.setFields(partial);\n }\n deepPartial() {\n const next = deepPartial(this);\n return next;\n }\n pick(keys) {\n const picked = {};\n for (const key of keys) {\n if (this.fields[key]) picked[key] = this.fields[key];\n }\n return this.setFields(picked, this._excludedEdges.filter(([a, b]) => keys.includes(a) && keys.includes(b)));\n }\n omit(keys) {\n const remaining = [];\n for (const key of Object.keys(this.fields)) {\n if (keys.includes(key)) continue;\n remaining.push(key);\n }\n return this.pick(remaining);\n }\n from(from, to, alias) {\n let fromGetter = getter(from, true);\n return this.transform(obj => {\n if (!obj) return obj;\n let newObj = obj;\n if (deepHas(obj, from)) {\n newObj = Object.assign({}, obj);\n if (!alias) delete newObj[from];\n newObj[to] = fromGetter(obj);\n }\n return newObj;\n });\n }\n\n /** Parse an input JSON string to an object */\n json() {\n return this.transform(parseJson);\n }\n noUnknown(noAllow = true, message = object.noUnknown) {\n if (typeof noAllow !== 'boolean') {\n message = noAllow;\n noAllow = true;\n }\n let next = this.test({\n name: 'noUnknown',\n exclusive: true,\n message: message,\n test(value) {\n if (value == null) return true;\n const unknownKeys = unknown(this.schema, value);\n return !noAllow || unknownKeys.length === 0 || this.createError({\n params: {\n unknown: unknownKeys.join(', ')\n }\n });\n }\n });\n next.spec.noUnknown = noAllow;\n return next;\n }\n unknown(allow = true, message = object.noUnknown) {\n return this.noUnknown(!allow, message);\n }\n transformKeys(fn) {\n return this.transform(obj => {\n if (!obj) return obj;\n const result = {};\n for (const key of Object.keys(obj)) result[fn(key)] = obj[key];\n return result;\n });\n }\n camelCase() {\n return this.transformKeys(camelCase);\n }\n snakeCase() {\n return this.transformKeys(snakeCase);\n }\n constantCase() {\n return this.transformKeys(key => snakeCase(key).toUpperCase());\n }\n describe(options) {\n const next = (options ? this.resolve(options) : this).clone();\n const base = super.describe(options);\n base.fields = {};\n for (const [key, value] of Object.entries(next.fields)) {\n var _innerOptions2;\n let innerOptions = options;\n if ((_innerOptions2 = innerOptions) != null && _innerOptions2.value) {\n innerOptions = Object.assign({}, innerOptions, {\n parent: innerOptions.value,\n value: innerOptions.value[key]\n });\n }\n base.fields[key] = value.describe(innerOptions);\n }\n return base;\n }\n}\ncreate$3.prototype = ObjectSchema.prototype;\n\nfunction create$2(type) {\n return new ArraySchema(type);\n}\nclass ArraySchema extends Schema {\n constructor(type) {\n super({\n type: 'array',\n spec: {\n types: type\n },\n check(v) {\n return Array.isArray(v);\n }\n });\n\n // `undefined` specifically means uninitialized, as opposed to \"no subtype\"\n this.innerType = void 0;\n this.innerType = type;\n }\n _cast(_value, _opts) {\n const value = super._cast(_value, _opts);\n\n // should ignore nulls here\n if (!this._typeCheck(value) || !this.innerType) {\n return value;\n }\n let isChanged = false;\n const castArray = value.map((v, idx) => {\n const castElement = this.innerType.cast(v, Object.assign({}, _opts, {\n path: `${_opts.path || ''}[${idx}]`\n }));\n if (castElement !== v) {\n isChanged = true;\n }\n return castElement;\n });\n return isChanged ? castArray : value;\n }\n _validate(_value, options = {}, panic, next) {\n var _options$recursive;\n // let sync = options.sync;\n // let path = options.path;\n let innerType = this.innerType;\n // let endEarly = options.abortEarly ?? this.spec.abortEarly;\n let recursive = (_options$recursive = options.recursive) != null ? _options$recursive : this.spec.recursive;\n options.originalValue != null ? options.originalValue : _value;\n super._validate(_value, options, panic, (arrayErrors, value) => {\n var _options$originalValu2;\n if (!recursive || !innerType || !this._typeCheck(value)) {\n next(arrayErrors, value);\n return;\n }\n\n // #950 Ensure that sparse array empty slots are validated\n let tests = new Array(value.length);\n for (let index = 0; index < value.length; index++) {\n var _options$originalValu;\n tests[index] = innerType.asNestedTest({\n options,\n index,\n parent: value,\n parentPath: options.path,\n originalParent: (_options$originalValu = options.originalValue) != null ? _options$originalValu : _value\n });\n }\n this.runTests({\n value,\n tests,\n originalValue: (_options$originalValu2 = options.originalValue) != null ? _options$originalValu2 : _value,\n options\n }, panic, innerTypeErrors => next(innerTypeErrors.concat(arrayErrors), value));\n });\n }\n clone(spec) {\n const next = super.clone(spec);\n // @ts-expect-error readonly\n next.innerType = this.innerType;\n return next;\n }\n\n /** Parse an input JSON string to an object */\n json() {\n return this.transform(parseJson);\n }\n concat(schema) {\n let next = super.concat(schema);\n\n // @ts-expect-error readonly\n next.innerType = this.innerType;\n if (schema.innerType)\n // @ts-expect-error readonly\n next.innerType = next.innerType ?\n // @ts-expect-error Lazy doesn't have concat and will break\n next.innerType.concat(schema.innerType) : schema.innerType;\n return next;\n }\n of(schema) {\n // FIXME: this should return a new instance of array without the default to be\n let next = this.clone();\n if (!isSchema(schema)) throw new TypeError('`array.of()` sub-schema must be a valid yup schema not: ' + printValue(schema));\n\n // @ts-expect-error readonly\n next.innerType = schema;\n next.spec = Object.assign({}, next.spec, {\n types: schema\n });\n return next;\n }\n length(length, message = array.length) {\n return this.test({\n message,\n name: 'length',\n exclusive: true,\n params: {\n length\n },\n skipAbsent: true,\n test(value) {\n return value.length === this.resolve(length);\n }\n });\n }\n min(min, message) {\n message = message || array.min;\n return this.test({\n message,\n name: 'min',\n exclusive: true,\n params: {\n min\n },\n skipAbsent: true,\n // FIXME(ts): Array\n test(value) {\n return value.length >= this.resolve(min);\n }\n });\n }\n max(max, message) {\n message = message || array.max;\n return this.test({\n message,\n name: 'max',\n exclusive: true,\n params: {\n max\n },\n skipAbsent: true,\n test(value) {\n return value.length <= this.resolve(max);\n }\n });\n }\n ensure() {\n return this.default(() => []).transform((val, original) => {\n // We don't want to return `null` for nullable schema\n if (this._typeCheck(val)) return val;\n return original == null ? [] : [].concat(original);\n });\n }\n compact(rejector) {\n let reject = !rejector ? v => !!v : (v, i, a) => !rejector(v, i, a);\n return this.transform(values => values != null ? values.filter(reject) : values);\n }\n describe(options) {\n const next = (options ? this.resolve(options) : this).clone();\n const base = super.describe(options);\n if (next.innerType) {\n var _innerOptions;\n let innerOptions = options;\n if ((_innerOptions = innerOptions) != null && _innerOptions.value) {\n innerOptions = Object.assign({}, innerOptions, {\n parent: innerOptions.value,\n value: innerOptions.value[0]\n });\n }\n base.innerType = next.innerType.describe(innerOptions);\n }\n return base;\n }\n}\ncreate$2.prototype = ArraySchema.prototype;\n\n// @ts-ignore\nfunction create$1(schemas) {\n return new TupleSchema(schemas);\n}\nclass TupleSchema extends Schema {\n constructor(schemas) {\n super({\n type: 'tuple',\n spec: {\n types: schemas\n },\n check(v) {\n const types = this.spec.types;\n return Array.isArray(v) && v.length === types.length;\n }\n });\n this.withMutation(() => {\n this.typeError(tuple.notType);\n });\n }\n _cast(inputValue, options) {\n const {\n types\n } = this.spec;\n const value = super._cast(inputValue, options);\n if (!this._typeCheck(value)) {\n return value;\n }\n let isChanged = false;\n const castArray = types.map((type, idx) => {\n const castElement = type.cast(value[idx], Object.assign({}, options, {\n path: `${options.path || ''}[${idx}]`\n }));\n if (castElement !== value[idx]) isChanged = true;\n return castElement;\n });\n return isChanged ? castArray : value;\n }\n _validate(_value, options = {}, panic, next) {\n let itemTypes = this.spec.types;\n super._validate(_value, options, panic, (tupleErrors, value) => {\n var _options$originalValu2;\n // intentionally not respecting recursive\n if (!this._typeCheck(value)) {\n next(tupleErrors, value);\n return;\n }\n let tests = [];\n for (let [index, itemSchema] of itemTypes.entries()) {\n var _options$originalValu;\n tests[index] = itemSchema.asNestedTest({\n options,\n index,\n parent: value,\n parentPath: options.path,\n originalParent: (_options$originalValu = options.originalValue) != null ? _options$originalValu : _value\n });\n }\n this.runTests({\n value,\n tests,\n originalValue: (_options$originalValu2 = options.originalValue) != null ? _options$originalValu2 : _value,\n options\n }, panic, innerTypeErrors => next(innerTypeErrors.concat(tupleErrors), value));\n });\n }\n describe(options) {\n const next = (options ? this.resolve(options) : this).clone();\n const base = super.describe(options);\n base.innerType = next.spec.types.map((schema, index) => {\n var _innerOptions;\n let innerOptions = options;\n if ((_innerOptions = innerOptions) != null && _innerOptions.value) {\n innerOptions = Object.assign({}, innerOptions, {\n parent: innerOptions.value,\n value: innerOptions.value[index]\n });\n }\n return schema.describe(innerOptions);\n });\n return base;\n }\n}\ncreate$1.prototype = TupleSchema.prototype;\n\nfunction create(builder) {\n return new Lazy(builder);\n}\nclass Lazy {\n constructor(builder) {\n this.type = 'lazy';\n this.__isYupSchema__ = true;\n this.spec = void 0;\n this._resolve = (value, options = {}) => {\n let schema = this.builder(value, options);\n if (!isSchema(schema)) throw new TypeError('lazy() functions must return a valid schema');\n if (this.spec.optional) schema = schema.optional();\n return schema.resolve(options);\n };\n this.builder = builder;\n this.spec = {\n meta: undefined,\n optional: false\n };\n }\n clone(spec) {\n const next = new Lazy(this.builder);\n next.spec = Object.assign({}, this.spec, spec);\n return next;\n }\n optionality(optional) {\n const next = this.clone({\n optional\n });\n return next;\n }\n optional() {\n return this.optionality(true);\n }\n resolve(options) {\n return this._resolve(options.value, options);\n }\n cast(value, options) {\n return this._resolve(value, options).cast(value, options);\n }\n asNestedTest(config) {\n let {\n key,\n index,\n parent,\n options\n } = config;\n let value = parent[index != null ? index : key];\n return this._resolve(value, Object.assign({}, options, {\n value,\n parent\n })).asNestedTest(config);\n }\n validate(value, options) {\n return this._resolve(value, options).validate(value, options);\n }\n validateSync(value, options) {\n return this._resolve(value, options).validateSync(value, options);\n }\n validateAt(path, value, options) {\n return this._resolve(value, options).validateAt(path, value, options);\n }\n validateSyncAt(path, value, options) {\n return this._resolve(value, options).validateSyncAt(path, value, options);\n }\n isValid(value, options) {\n return this._resolve(value, options).isValid(value, options);\n }\n isValidSync(value, options) {\n return this._resolve(value, options).isValidSync(value, options);\n }\n describe(options) {\n return options ? this.resolve(options).describe(options) : {\n type: 'lazy',\n meta: this.spec.meta,\n label: undefined\n };\n }\n meta(...args) {\n if (args.length === 0) return this.spec.meta;\n let next = this.clone();\n next.spec.meta = Object.assign(next.spec.meta || {}, args[0]);\n return next;\n }\n}\n\nfunction setLocale(custom) {\n Object.keys(custom).forEach(type => {\n // @ts-ignore\n Object.keys(custom[type]).forEach(method => {\n // @ts-ignore\n locale[type][method] = custom[type][method];\n });\n });\n}\n\nfunction addMethod(schemaType, name, fn) {\n if (!schemaType || !isSchema(schemaType.prototype)) throw new TypeError('You must provide a yup schema constructor function');\n if (typeof name !== 'string') throw new TypeError('A Method name must be provided');\n if (typeof fn !== 'function') throw new TypeError('Method function must be provided');\n schemaType.prototype[name] = fn;\n}\n\nexport { ArraySchema, BooleanSchema, DateSchema, MixedSchema, NumberSchema, ObjectSchema, Schema, StringSchema, TupleSchema, ValidationError, addMethod, create$2 as array, create$7 as bool, create$7 as boolean, create$4 as date, locale as defaultLocale, getIn, isSchema, create as lazy, create$8 as mixed, create$5 as number, create$3 as object, printValue, reach, create$9 as ref, setLocale, create$6 as string, create$1 as tuple };\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nvar possibleNames = [\n\t'BigInt64Array',\n\t'BigUint64Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Int8Array',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray'\n];\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\nmodule.exports = function availableTypedArrays() {\n\tvar out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","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}\nexport default function _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}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export 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}","export 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}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function 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}","export default 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}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import {\n get,\n FieldError,\n ResolverOptions,\n Ref,\n FieldErrors,\n FieldValues,\n} from 'react-hook-form';\n\nconst setCustomValidity = (\n ref: Ref,\n fieldPath: string,\n errors: FieldErrors,\n) => {\n if (ref && 'reportValidity' in ref) {\n const error = get(errors, fieldPath) as FieldError | undefined;\n ref.setCustomValidity((error && error.message) || '');\n\n ref.reportValidity();\n }\n};\n\n// Native validation (web only)\nexport const validateFieldsNatively = (\n errors: FieldErrors,\n options: ResolverOptions,\n): void => {\n for (const fieldPath in options.fields) {\n const field = options.fields[fieldPath];\n if (field && field.ref && 'reportValidity' in field.ref) {\n setCustomValidity(field.ref, fieldPath, errors);\n } else if (field.refs) {\n field.refs.forEach((ref: HTMLInputElement) =>\n setCustomValidity(ref, fieldPath, errors),\n );\n }\n }\n};\n","import {\n set,\n get,\n FieldErrors,\n Field,\n ResolverOptions,\n FieldValues,\n InternalFieldName,\n} from 'react-hook-form';\nimport { validateFieldsNatively } from './validateFieldsNatively';\n\nexport const toNestErrors = (\n errors: FieldErrors,\n options: ResolverOptions,\n): FieldErrors => {\n options.shouldUseNativeValidation && validateFieldsNatively(errors, options);\n\n const fieldErrors = {} as FieldErrors;\n for (const path in errors) {\n const field = get(options.fields, path) as Field['_f'] | undefined;\n const error = Object.assign(errors[path] || {}, {\n ref: field && field.ref,\n });\n\n if (isNameInFieldArray(options.names || Object.keys(errors), path)) {\n const fieldArrayErrors = Object.assign({}, get(fieldErrors, path));\n\n set(fieldArrayErrors, 'root', error);\n set(fieldErrors, path, fieldArrayErrors);\n } else {\n set(fieldErrors, path, error);\n }\n }\n\n return fieldErrors;\n};\n\nconst isNameInFieldArray = (\n names: InternalFieldName[],\n name: InternalFieldName,\n) => names.some((n) => n.startsWith(name + '.'));\n","import * as Yup from 'yup';\nimport { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';\nimport {\n appendErrors,\n FieldError,\n FieldValues,\n Resolver,\n} from 'react-hook-form';\n\n/**\n * Why `path!` ? because it could be `undefined` in some case\n * https://github.com/jquense/yup#validationerrorerrors-string--arraystring-value-any-path-string\n */\nconst parseErrorSchema = (\n error: Yup.ValidationError,\n validateAllFieldCriteria: boolean,\n) => {\n return (error.inner || []).reduce>(\n (previous, error) => {\n if (!previous[error.path!]) {\n previous[error.path!] = { message: error.message, type: error.type! };\n }\n\n if (validateAllFieldCriteria) {\n const types = previous[error.path!].types;\n const messages = types && types[error.type!];\n\n previous[error.path!] = appendErrors(\n error.path!,\n validateAllFieldCriteria,\n previous,\n error.type!,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message,\n ) as FieldError;\n }\n\n return previous;\n },\n {},\n );\n};\n\nexport function yupResolver(\n schema:\n | Yup.ObjectSchema\n | ReturnType>>,\n schemaOptions: Parameters<(typeof schema)['validate']>[1] = {},\n resolverOptions: {\n /**\n * @default async\n */\n mode?: 'async' | 'sync';\n /**\n * Return the raw input values rather than the parsed values.\n * @default false\n */\n raw?: boolean;\n } = {},\n): Resolver> {\n return async (values, context, options) => {\n try {\n if (schemaOptions.context && process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn(\n \"You should not used the yup options context. Please, use the 'useForm' context object instead\",\n );\n }\n\n const result = await schema[\n resolverOptions.mode === 'sync' ? 'validateSync' : 'validate'\n ](\n values,\n Object.assign({ abortEarly: false }, schemaOptions, { context }),\n );\n\n options.shouldUseNativeValidation && validateFieldsNatively({}, options);\n\n return {\n values: resolverOptions.raw ? values : result,\n errors: {},\n };\n } catch (e: any) {\n if (!e.inner) {\n throw e;\n }\n\n return {\n values: {},\n errors: toNestErrors(\n parseErrorSchema(\n e,\n !options.shouldUseNativeValidation &&\n options.criteriaMode === 'all',\n ),\n options,\n ),\n };\n }\n };\n}\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\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 value = +value;\n return Number.isFinite(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\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\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};\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 response && (this.response = response);\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.response && this.response.status ? this.response.status : null\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} 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 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\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 = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\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\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\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'],\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 if (!hasJSONContentType) {\n return data;\n }\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 ) {\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 (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 {\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","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 platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\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","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.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 speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return 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 };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.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 requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), 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 // 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 if(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\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 (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\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(fullPath);\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","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\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 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\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\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","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : 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, 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, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, 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) => mergeDeepProperties(headersToObject(a), headersToObject(b), 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","export const VERSION = \"1.6.5\";","'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\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 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 // 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 /**\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","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t {\n return (size = defaultSize) => {\n let id = ''\n let i = size\n while (i--) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\nlet nanoid = (size = 21) => {\n let id = ''\n let i = size\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\nexport { nanoid, customAlphabet }\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'checkbox';\n","export default (value: unknown): value is Date => value instanceof Date;\n","export default (value: unknown): value is null | undefined => value == null;\n","import isDateObject from './isDateObject';\nimport isNullOrUndefined from './isNullOrUndefined';\n\nexport const isObjectType = (value: unknown): value is object =>\n typeof value === 'object';\n\nexport default (value: unknown): value is T =>\n !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n","import isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isObject from '../utils/isObject';\n\ntype Event = { target: any };\n\nexport default (event: unknown) =>\n isObject(event) && (event as Event).target\n ? isCheckBoxInput((event as Event).target)\n ? (event as Event).target.checked\n : (event as Event).target.value\n : event;\n","import { InternalFieldName } from '../types';\n\nimport getNodeParentName from './getNodeParentName';\n\nexport default (names: Set, name: InternalFieldName) =>\n names.has(getNodeParentName(name));\n","export default (name: string) =>\n name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n","import isObject from './isObject';\n\nexport default (tempObject: object) => {\n const prototypeCopy =\n tempObject.constructor && tempObject.constructor.prototype;\n\n return (\n isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf')\n );\n};\n","export default typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n","import isObject from './isObject';\nimport isPlainObject from './isPlainObject';\nimport isWeb from './isWeb';\n\nexport default function cloneObject(data: T): T {\n let copy: any;\n const isArray = Array.isArray(data);\n\n if (data instanceof Date) {\n copy = new Date(data);\n } else if (data instanceof Set) {\n copy = new Set(data);\n } else if (\n !(isWeb && (data instanceof Blob || data instanceof FileList)) &&\n (isArray || isObject(data))\n ) {\n copy = isArray ? [] : {};\n\n if (!isArray && !isPlainObject(data)) {\n copy = data;\n } else {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n } else {\n return data;\n }\n\n return copy;\n}\n","export default (value: TValue[]) =>\n Array.isArray(value) ? value.filter(Boolean) : [];\n","export default (val: unknown): val is undefined => val === undefined;\n","import compact from './compact';\nimport isNullOrUndefined from './isNullOrUndefined';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\n\nexport default (object: T, path?: string, defaultValue?: unknown): any => {\n if (!path || !isObject(object)) {\n return defaultValue;\n }\n\n const result = compact(path.split(/[,[\\].]+?/)).reduce(\n (result, key) =>\n isNullOrUndefined(result) ? result : result[key as keyof {}],\n object,\n );\n\n return isUndefined(result) || result === object\n ? isUndefined(object[path as keyof T])\n ? defaultValue\n : object[path as keyof T]\n : result;\n};\n","export default (value: unknown): value is boolean => typeof value === 'boolean';\n","export const EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n} as const;\n\nexport const VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n} as const;\n\nexport const INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n} as const;\n\nexport const FORM_DEFAULT_STATE = {\n isDirty: false,\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n errors: {},\n disabled: false,\n} as const;\n","import React from 'react';\n\nimport { FieldValues, FormProviderProps, UseFormReturn } from './types';\n\nconst HookFormContext = React.createContext(null);\n\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * \n *
    \n * \n * \n * \n *
    \n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return ;\n * }\n * ```\n */\nexport const useFormContext = <\n TFieldValues extends FieldValues,\n TContext = any,\n TransformedValues extends FieldValues | undefined = undefined,\n>(): UseFormReturn =>\n React.useContext(HookFormContext) as UseFormReturn<\n TFieldValues,\n TContext,\n TransformedValues\n >;\n\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * \n *
    \n * \n * \n * \n *
    \n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return ;\n * }\n * ```\n */\nexport const FormProvider = <\n TFieldValues extends FieldValues,\n TContext = any,\n TTransformedValues extends FieldValues | undefined = undefined,\n>(\n props: FormProviderProps,\n) => {\n const { children, ...data } = props;\n return (\n \n {children}\n \n );\n};\n","import { VALIDATION_MODE } from '../constants';\nimport { Control, FieldValues, FormState, ReadFormState } from '../types';\n\nexport default (\n formState: FormState,\n control: Control,\n localProxyFormState?: ReadFormState,\n isRoot = true,\n) => {\n const result = {\n defaultValues: control._defaultValues,\n } as typeof formState;\n\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key as keyof FormState & keyof ReadFormState;\n\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n\n return result;\n};\n","import { EmptyObject } from '../types';\n\nimport isObject from './isObject';\n\nexport default (value: unknown): value is EmptyObject =>\n isObject(value) && !Object.keys(value).length;\n","import { VALIDATION_MODE } from '../constants';\nimport {\n Control,\n FieldValues,\n FormState,\n InternalFieldName,\n ReadFormState,\n} from '../types';\nimport isEmptyObject from '../utils/isEmptyObject';\n\nexport default (\n formStateData: Partial> & { name?: InternalFieldName },\n _proxyFormState: K,\n updateFormState: Control['_updateFormState'],\n isRoot?: boolean,\n) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n\n return (\n isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find(\n (key) =>\n _proxyFormState[key as keyof ReadFormState] ===\n (!isRoot || VALIDATION_MODE.all),\n )\n );\n};\n","export default (value: T) => (Array.isArray(value) ? value : [value]);\n","import convertToArrayPayload from '../utils/convertToArrayPayload';\n\nexport default (\n name?: T,\n signalName?: string,\n exact?: boolean,\n) =>\n !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some(\n (currentName) =>\n currentName &&\n (exact\n ? currentName === signalName\n : currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)),\n );\n","import React from 'react';\n\nimport { Subject } from './utils/createSubject';\n\ntype Props = {\n disabled?: boolean;\n subject: Subject;\n next: (value: T) => void;\n};\n\nexport function useSubscribe(props: Props) {\n const _props = React.useRef(props);\n _props.current = props;\n\n React.useEffect(() => {\n const subscription =\n !props.disabled &&\n _props.current.subject &&\n _props.current.subject.subscribe({\n next: _props.current.next,\n });\n\n return () => {\n subscription && subscription.unsubscribe();\n };\n }, [props.disabled]);\n}\n","import React from 'react';\n\nimport getProxyFormState from './logic/getProxyFormState';\nimport shouldRenderFormState from './logic/shouldRenderFormState';\nimport shouldSubscribeByName from './logic/shouldSubscribeByName';\nimport {\n FieldValues,\n FormState,\n InternalFieldName,\n UseFormStateProps,\n UseFormStateReturn,\n} from './types';\nimport { useFormContext } from './useFormContext';\nimport { useSubscribe } from './useSubscribe';\n\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, control } = useForm({\n * defaultValues: {\n * firstName: \"firstName\"\n * }});\n * const { dirtyFields } = useFormState({\n * control\n * });\n * const onSubmit = (data) => console.log(data);\n *\n * return (\n *
    \n * \n * {dirtyFields.firstName &&

    Field is dirty.

    }\n * \n *
    \n * );\n * }\n * ```\n */\nfunction useFormState(\n props?: UseFormStateProps,\n): UseFormStateReturn {\n const methods = useFormContext();\n const { control = methods.control, disabled, name, exact } = props || {};\n const [formState, updateFormState] = React.useState(control._formState);\n const _mounted = React.useRef(true);\n const _localProxyFormState = React.useRef({\n isDirty: false,\n isLoading: false,\n dirtyFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n });\n const _name = React.useRef(name);\n\n _name.current = name;\n\n useSubscribe({\n disabled,\n next: (\n value: Partial> & { name?: InternalFieldName },\n ) =>\n _mounted.current &&\n shouldSubscribeByName(\n _name.current as InternalFieldName,\n value.name,\n exact,\n ) &&\n shouldRenderFormState(\n value,\n _localProxyFormState.current,\n control._updateFormState,\n ) &&\n updateFormState({\n ...control._formState,\n ...value,\n }),\n subject: control._subjects.state,\n });\n\n React.useEffect(() => {\n _mounted.current = true;\n _localProxyFormState.current.isValid && control._updateValid(true);\n\n return () => {\n _mounted.current = false;\n };\n }, [control]);\n\n return getProxyFormState(\n formState,\n control,\n _localProxyFormState.current,\n false,\n );\n}\n\nexport { useFormState };\n","export default (value: unknown): value is string => typeof value === 'string';\n","import { DeepPartial, FieldValues, Names } from '../types';\nimport get from '../utils/get';\nimport isString from '../utils/isString';\n\nexport default (\n names: string | string[] | undefined,\n _names: Names,\n formValues?: FieldValues,\n isGlobal?: boolean,\n defaultValue?: DeepPartial | unknown,\n) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n\n if (Array.isArray(names)) {\n return names.map(\n (fieldName) => (\n isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)\n ),\n );\n }\n\n isGlobal && (_names.watchAll = true);\n\n return formValues;\n};\n","import React from 'react';\n\nimport generateWatchOutput from './logic/generateWatchOutput';\nimport shouldSubscribeByName from './logic/shouldSubscribeByName';\nimport cloneObject from './utils/cloneObject';\nimport {\n Control,\n DeepPartialSkipArrayKey,\n FieldPath,\n FieldPathValue,\n FieldPathValues,\n FieldValues,\n InternalFieldName,\n UseWatchProps,\n} from './types';\nimport { useFormContext } from './useFormContext';\nimport { useSubscribe } from './useSubscribe';\n\n/**\n * Subscribe to the entire form values change and re-render at the hook level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @param props - defaultValue, disable subscription and match exact name.\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * control,\n * defaultValue: {\n * name: \"data\"\n * },\n * exact: false,\n * })\n * ```\n */\nexport function useWatch<\n TFieldValues extends FieldValues = FieldValues,\n>(props: {\n defaultValue?: DeepPartialSkipArrayKey;\n control?: Control;\n disabled?: boolean;\n exact?: boolean;\n}): DeepPartialSkipArrayKey;\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @param props - defaultValue, disable subscription and match exact name.\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * control,\n * name: \"fieldA\",\n * defaultValue: \"default value\",\n * exact: false,\n * })\n * ```\n */\nexport function useWatch<\n TFieldValues extends FieldValues = FieldValues,\n TFieldName extends FieldPath = FieldPath,\n>(props: {\n name: TFieldName;\n defaultValue?: FieldPathValue;\n control?: Control;\n disabled?: boolean;\n exact?: boolean;\n}): FieldPathValue;\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @param props - defaultValue, disable subscription and match exact name.\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * control,\n * name: [\"fieldA\", \"fieldB\"],\n * defaultValue: {\n * fieldA: \"data\",\n * fieldB: \"data\"\n * },\n * exact: false,\n * })\n * ```\n */\nexport function useWatch<\n TFieldValues extends FieldValues = FieldValues,\n TFieldNames extends readonly FieldPath[] = readonly FieldPath[],\n>(props: {\n name: readonly [...TFieldNames];\n defaultValue?: DeepPartialSkipArrayKey;\n control?: Control;\n disabled?: boolean;\n exact?: boolean;\n}): FieldPathValues;\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * // can skip passing down the control into useWatch if the form is wrapped with the FormProvider\n * const values = useWatch()\n * ```\n */\nexport function useWatch<\n TFieldValues extends FieldValues = FieldValues,\n>(): DeepPartialSkipArrayKey;\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * name: \"fieldName\"\n * control,\n * })\n * ```\n */\nexport function useWatch(\n props?: UseWatchProps,\n) {\n const methods = useFormContext();\n const {\n control = methods.control,\n name,\n defaultValue,\n disabled,\n exact,\n } = props || {};\n const _name = React.useRef(name);\n\n _name.current = name;\n\n useSubscribe({\n disabled,\n subject: control._subjects.values,\n next: (formState: { name?: InternalFieldName; values?: FieldValues }) => {\n if (\n shouldSubscribeByName(\n _name.current as InternalFieldName,\n formState.name,\n exact,\n )\n ) {\n updateValue(\n cloneObject(\n generateWatchOutput(\n _name.current as InternalFieldName | InternalFieldName[],\n control._names,\n formState.values || control._formValues,\n false,\n defaultValue,\n ),\n ),\n );\n }\n },\n });\n\n const [value, updateValue] = React.useState(\n control._getWatch(\n name as InternalFieldName,\n defaultValue as DeepPartialSkipArrayKey,\n ),\n );\n\n React.useEffect(() => control._removeUnmounted());\n\n return value;\n}\n","export default (value: string) => /^\\w*$/.test(value);\n","import compact from './compact';\n\nexport default (input: string): string[] =>\n compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n","import { FieldValues } from '../types';\n\nimport isKey from './isKey';\nimport isObject from './isObject';\nimport stringToPath from './stringToPath';\n\nexport default (object: FieldValues, path: string, value?: unknown) => {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n};\n","import React from 'react';\n\nimport getEventValue from './logic/getEventValue';\nimport isNameInFieldArray from './logic/isNameInFieldArray';\nimport cloneObject from './utils/cloneObject';\nimport get from './utils/get';\nimport isBoolean from './utils/isBoolean';\nimport isUndefined from './utils/isUndefined';\nimport { EVENTS } from './constants';\nimport {\n ControllerFieldState,\n Field,\n FieldPath,\n FieldPathValue,\n FieldValues,\n InternalFieldName,\n UseControllerProps,\n UseControllerReturn,\n} from './types';\nimport { useFormContext } from './useFormContext';\nimport { useFormState } from './useFormState';\nimport { useWatch } from './useWatch';\nimport { set } from './utils';\n\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n * const { field, fieldState, formState } = useController(props);\n * return (\n *
    \n * \n *

    {fieldState.isTouched && \"Touched\"}

    \n *

    {formState.isSubmitted ? \"submitted\" : \"\"}

    \n *
    \n * );\n * }\n * ```\n */\nexport function useController<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath = FieldPath,\n>(\n props: UseControllerProps,\n): UseControllerReturn {\n const methods = useFormContext();\n const { name, disabled, control = methods.control, shouldUnregister } = props;\n const isArrayField = isNameInFieldArray(control._names.array, name);\n const value = useWatch({\n control,\n name,\n defaultValue: get(\n control._formValues,\n name,\n get(control._defaultValues, name, props.defaultValue),\n ),\n exact: true,\n }) as FieldPathValue;\n const formState = useFormState({\n control,\n name,\n });\n\n const _registerProps = React.useRef(\n control.register(name, {\n ...props.rules,\n value,\n ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),\n }),\n );\n\n React.useEffect(() => {\n const _shouldUnregisterField =\n control._options.shouldUnregister || shouldUnregister;\n\n const updateMounted = (name: InternalFieldName, value: boolean) => {\n const field: Field = get(control._fields, name);\n\n if (field) {\n field._f.mount = value;\n }\n };\n\n updateMounted(name, true);\n\n if (_shouldUnregisterField) {\n const value = cloneObject(get(control._options.defaultValues, name));\n set(control._defaultValues, name, value);\n if (isUndefined(get(control._formValues, name))) {\n set(control._formValues, name, value);\n }\n }\n\n return () => {\n (\n isArrayField\n ? _shouldUnregisterField && !control._state.action\n : _shouldUnregisterField\n )\n ? control.unregister(name)\n : updateMounted(name, false);\n };\n }, [name, control, isArrayField, shouldUnregister]);\n\n React.useEffect(() => {\n if (get(control._fields, name)) {\n control._updateDisabledField({\n disabled,\n fields: control._fields,\n name,\n value: get(control._fields, name)._f.value,\n });\n }\n }, [disabled, name, control]);\n\n return {\n field: {\n name,\n value,\n ...(isBoolean(disabled) || formState.disabled\n ? { disabled: formState.disabled || disabled }\n : {}),\n onChange: React.useCallback(\n (event) =>\n _registerProps.current.onChange({\n target: {\n value: getEventValue(event),\n name: name as InternalFieldName,\n },\n type: EVENTS.CHANGE,\n }),\n [name],\n ),\n onBlur: React.useCallback(\n () =>\n _registerProps.current.onBlur({\n target: {\n value: get(control._formValues, name),\n name: name as InternalFieldName,\n },\n type: EVENTS.BLUR,\n }),\n [name, control],\n ),\n ref: (elm) => {\n const field = get(control._fields, name);\n\n if (field && elm) {\n field._f.ref = {\n focus: () => elm.focus(),\n select: () => elm.select(),\n setCustomValidity: (message: string) =>\n elm.setCustomValidity(message),\n reportValidity: () => elm.reportValidity(),\n };\n }\n },\n },\n formState,\n fieldState: Object.defineProperties(\n {},\n {\n invalid: {\n enumerable: true,\n get: () => !!get(formState.errors, name),\n },\n isDirty: {\n enumerable: true,\n get: () => !!get(formState.dirtyFields, name),\n },\n isTouched: {\n enumerable: true,\n get: () => !!get(formState.touchedFields, name),\n },\n error: {\n enumerable: true,\n get: () => get(formState.errors, name),\n },\n },\n ) as ControllerFieldState,\n };\n}\n","import { ControllerProps, FieldPath, FieldValues } from './types';\nimport { useController } from './useController';\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n *
    \n * (\n * <>\n * \n *

    {formState.isSubmitted ? \"submitted\" : \"\"}

    \n *

    {fieldState.isTouched ? \"touched\" : \"\"}

    \n * \n * )}\n * />\n * \n * );\n * }\n * ```\n */\nconst Controller = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath = FieldPath,\n>(\n props: ControllerProps,\n) => props.render(useController(props));\n\nexport { Controller };\n","import React from 'react';\n\nimport get from './utils/get';\nimport { FieldValues, FormProps } from './types';\nimport { useFormContext } from './useFormContext';\n\nconst POST_REQUEST = 'post';\n\n/**\n * Form component to manage submission.\n *\n * @param props - to setup submission detail. {@link FormProps}\n *\n * @returns form component or headless render prop.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control, formState: { errors } } = useForm();\n *\n * return (\n *
    \n * \n *

    {errors?.root?.server && 'Server error'}

    \n * \n *
    \n * );\n * }\n * ```\n */\nfunction Form<\n T extends FieldValues,\n U extends FieldValues | undefined = undefined,\n>(props: FormProps) {\n const methods = useFormContext();\n const [mounted, setMounted] = React.useState(false);\n const {\n control = methods.control,\n onSubmit,\n children,\n action,\n method = POST_REQUEST,\n headers,\n encType,\n onError,\n render,\n onSuccess,\n validateStatus,\n ...rest\n } = props;\n\n const submit = async (event?: React.BaseSyntheticEvent) => {\n let hasError = false;\n let type = '';\n\n await control.handleSubmit(async (data) => {\n const formData = new FormData();\n let formDataJson = '';\n\n try {\n formDataJson = JSON.stringify(data);\n } catch {}\n\n for (const name of control._names.mount) {\n formData.append(name, get(data, name));\n }\n\n if (onSubmit) {\n await onSubmit({\n data,\n event,\n method,\n formData,\n formDataJson,\n });\n }\n\n if (action) {\n try {\n const shouldStringifySubmissionData = [\n headers && headers['Content-Type'],\n encType,\n ].some((value) => value && value.includes('json'));\n\n const response = await fetch(action, {\n method,\n headers: {\n ...headers,\n ...(encType ? { 'Content-Type': encType } : {}),\n },\n body: shouldStringifySubmissionData ? formDataJson : formData,\n });\n\n if (\n response &&\n (validateStatus\n ? !validateStatus(response.status)\n : response.status < 200 || response.status >= 300)\n ) {\n hasError = true;\n onError && onError({ response });\n type = String(response.status);\n } else {\n onSuccess && onSuccess({ response });\n }\n } catch (error: unknown) {\n hasError = true;\n onError && onError({ error });\n }\n }\n })(event);\n\n if (hasError && props.control) {\n props.control._subjects.state.next({\n isSubmitSuccessful: false,\n });\n props.control.setError('root.server', {\n type,\n });\n }\n };\n\n React.useEffect(() => {\n setMounted(true);\n }, []);\n\n return render ? (\n <>\n {render({\n submit,\n })}\n \n ) : (\n \n {children}\n \n );\n}\n\nexport { Form };\n","import {\n InternalFieldErrors,\n InternalFieldName,\n ValidateResult,\n} from '../types';\n\nexport default (\n name: InternalFieldName,\n validateAllFieldCriteria: boolean,\n errors: InternalFieldErrors,\n type: string,\n message: ValidateResult,\n) =>\n validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name]!.types ? errors[name]!.types : {}),\n [type]: message || true,\n },\n }\n : {};\n","export default () => {\n const d =\n typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;\n\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16 + d) % 16 | 0;\n\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n","import { FieldArrayMethodProps, InternalFieldName } from '../types';\nimport isUndefined from '../utils/isUndefined';\n\nexport default (\n name: InternalFieldName,\n index: number,\n options: FieldArrayMethodProps = {},\n): string =>\n options.shouldFocus || isUndefined(options.shouldFocus)\n ? options.focusName ||\n `${name}.${isUndefined(options.focusIndex) ? index : options.focusIndex}.`\n : '';\n","import { VALIDATION_MODE } from '../constants';\nimport { Mode, ValidationModeFlags } from '../types';\n\nexport default (mode?: Mode): ValidationModeFlags => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n","import { InternalFieldName, Names } from '../types';\n\nexport default (\n name: InternalFieldName,\n _names: Names,\n isBlurEvent?: boolean,\n) =>\n !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some(\n (watchName) =>\n name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length)),\n ));\n","import { FieldRefs, InternalFieldName, Ref } from '../types';\nimport { get } from '../utils';\nimport isObject from '../utils/isObject';\n\nconst iterateFieldsByAction = (\n fields: FieldRefs,\n action: (ref: Ref, name: string) => 1 | undefined | void,\n fieldsNames?: Set | InternalFieldName[] | 0,\n abortEarly?: boolean,\n) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n\n if (field) {\n const { _f, ...currentField } = field;\n\n if (_f) {\n if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {\n break;\n } else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {\n break;\n } else {\n iterateFieldsByAction(currentField, action);\n }\n } else if (isObject(currentField)) {\n iterateFieldsByAction(currentField, action);\n }\n }\n }\n};\n\nexport default iterateFieldsByAction;\n","import {\n FieldError,\n FieldErrors,\n FieldValues,\n InternalFieldName,\n} from '../types';\nimport compact from '../utils/compact';\nimport get from '../utils/get';\nimport set from '../utils/set';\n\nexport default (\n errors: FieldErrors,\n error: Partial>,\n name: InternalFieldName,\n): FieldErrors => {\n const fieldArrayErrors = compact(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'file';\n","export default (value: unknown): value is Function =>\n typeof value === 'function';\n","import isWeb from './isWeb';\n\nexport default (value: unknown): value is HTMLElement => {\n if (!isWeb) {\n return false;\n }\n\n const owner = value ? ((value as HTMLElement).ownerDocument as Document) : 0;\n return (\n value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement)\n );\n};\n","import { Message } from '../types';\nimport isString from '../utils/isString';\n\nexport default (value: unknown): value is Message => isString(value);\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'radio';\n","export default (value: unknown): value is RegExp => value instanceof RegExp;\n","import isUndefined from '../utils/isUndefined';\n\ntype CheckboxFieldResult = {\n isValid: boolean;\n value: string | string[] | boolean | undefined;\n};\n\nconst defaultResult: CheckboxFieldResult = {\n value: false,\n isValid: false,\n};\n\nconst validResult = { value: true, isValid: true };\n\nexport default (options?: HTMLInputElement[]): CheckboxFieldResult => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n\n return defaultResult;\n};\n","type RadioFieldResult = {\n isValid: boolean;\n value: number | string | null;\n};\n\nconst defaultReturn: RadioFieldResult = {\n isValid: false,\n value: null,\n};\n\nexport default (options?: HTMLInputElement[]): RadioFieldResult =>\n Array.isArray(options)\n ? options.reduce(\n (previous, option): RadioFieldResult =>\n option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous,\n defaultReturn,\n )\n : defaultReturn;\n","import { FieldError, Ref, ValidateResult } from '../types';\nimport isBoolean from '../utils/isBoolean';\nimport isMessage from '../utils/isMessage';\n\nexport default function getValidateError(\n result: ValidateResult,\n ref: Ref,\n type = 'validate',\n): FieldError | void {\n if (\n isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)\n ) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n","import { ValidationRule } from '../types';\nimport isObject from '../utils/isObject';\nimport isRegex from '../utils/isRegex';\n\nexport default (validationData?: ValidationRule) =>\n isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n","import { INPUT_VALIDATION_RULES } from '../constants';\nimport {\n Field,\n FieldError,\n FieldValues,\n InternalFieldErrors,\n MaxType,\n Message,\n MinType,\n NativeFieldValue,\n} from '../types';\nimport get from '../utils/get';\nimport isBoolean from '../utils/isBoolean';\nimport isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport isFileInput from '../utils/isFileInput';\nimport isFunction from '../utils/isFunction';\nimport isHTMLElement from '../utils/isHTMLElement';\nimport isMessage from '../utils/isMessage';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isRadioInput from '../utils/isRadioInput';\nimport isRegex from '../utils/isRegex';\nimport isString from '../utils/isString';\nimport isUndefined from '../utils/isUndefined';\n\nimport appendErrors from './appendErrors';\nimport getCheckboxValue from './getCheckboxValue';\nimport getRadioValue from './getRadioValue';\nimport getValidateError from './getValidateError';\nimport getValueAndMessage from './getValueAndMessage';\n\nexport default async (\n field: Field,\n formValues: T,\n validateAllFieldCriteria: boolean,\n shouldUseNativeValidation?: boolean,\n isFieldArray?: boolean,\n): Promise => {\n const {\n ref,\n refs,\n required,\n maxLength,\n minLength,\n min,\n max,\n pattern,\n validate,\n name,\n valueAsNumber,\n mount,\n disabled,\n } = field._f;\n const inputValue: NativeFieldValue = get(formValues, name);\n if (!mount || disabled) {\n return {};\n }\n const inputRef: HTMLInputElement = refs ? refs[0] : (ref as HTMLInputElement);\n const setCustomValidity = (message?: string | boolean) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error: InternalFieldErrors = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty =\n ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(\n null,\n name,\n validateAllFieldCriteria,\n error,\n );\n const getMinMaxMessage = (\n exceedMax: boolean,\n maxLengthMessage: Message,\n minLengthMessage: Message,\n maxType: MaxType = INPUT_VALIDATION_RULES.maxLength,\n minType: MinType = INPUT_VALIDATION_RULES.minLength,\n ) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n\n if (\n isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))\n ) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue as number)) {\n const valueNumber =\n (ref as HTMLInputElement).valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n } else {\n const valueDate =\n (ref as HTMLInputElement).valueAsDate || new Date(inputValue as string);\n const convertTimeToDate = (time: unknown) =>\n new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n !!exceedMax,\n maxOutput.message,\n minOutput.message,\n INPUT_VALIDATION_RULES.max,\n INPUT_VALIDATION_RULES.min,\n );\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name]!.message);\n return error;\n }\n }\n }\n\n if (\n (maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))\n ) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax =\n !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin =\n !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n exceedMax,\n maxLengthOutput.message,\n minLengthOutput.message,\n );\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name]!.message);\n return error;\n }\n }\n }\n\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(\n INPUT_VALIDATION_RULES.validate,\n validateError.message,\n ),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n } else if (isObject(validate)) {\n let validationResult = {} as FieldError;\n\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n\n const validateError = getValidateError(\n await validate[key](inputValue, formValues),\n inputRef,\n key,\n );\n\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n\n setCustomValidity(validateError.message);\n\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n\n setCustomValidity(true);\n return error;\n};\n","import convertToArrayPayload from './convertToArrayPayload';\n\nexport default (data: T[], value: T | T[]): T[] => [\n ...data,\n ...convertToArrayPayload(value),\n];\n","export default (value: T | T[]): undefined[] | undefined =>\n Array.isArray(value) ? value.map(() => undefined) : undefined;\n","import convertToArrayPayload from './convertToArrayPayload';\n\nexport default function insert(data: T[], index: number): (T | undefined)[];\nexport default function insert(\n data: T[],\n index: number,\n value: T | T[],\n): T[];\nexport default function insert(\n data: T[],\n index: number,\n value?: T | T[],\n): (T | undefined)[] {\n return [\n ...data.slice(0, index),\n ...convertToArrayPayload(value),\n ...data.slice(index),\n ];\n}\n","import isUndefined from './isUndefined';\n\nexport default (\n data: (T | undefined)[],\n from: number,\n to: number,\n): (T | undefined)[] => {\n if (!Array.isArray(data)) {\n return [];\n }\n\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n data.splice(to, 0, data.splice(from, 1)[0]);\n\n return data;\n};\n","import convertToArrayPayload from './convertToArrayPayload';\n\nexport default (data: T[], value: T | T[]): T[] => [\n ...convertToArrayPayload(value),\n ...convertToArrayPayload(data),\n];\n","import compact from './compact';\nimport convertToArrayPayload from './convertToArrayPayload';\nimport isUndefined from './isUndefined';\n\nfunction removeAtIndexes(data: T[], indexes: number[]): T[] {\n let i = 0;\n const temp = [...data];\n\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n\n return compact(temp).length ? temp : [];\n}\n\nexport default (data: T[], index?: number | number[]): T[] =>\n isUndefined(index)\n ? []\n : removeAtIndexes(\n data,\n (convertToArrayPayload(index) as number[]).sort((a, b) => a - b),\n );\n","export default (data: T[], indexA: number, indexB: number): void => {\n [data[indexA], data[indexB]] = [data[indexB], data[indexA]];\n};\n","import isEmptyObject from './isEmptyObject';\nimport isKey from './isKey';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\nimport stringToPath from './stringToPath';\n\nfunction baseGet(object: any, updatePath: (string | number)[]) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n\n return object;\n}\n\nfunction isEmptyArray(obj: unknown[]) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\n\nexport default function unset(object: any, path: string | (string | number)[]) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n\n const index = paths.length - 1;\n const key = paths[index];\n\n if (childObject) {\n delete childObject[key];\n }\n\n if (\n index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))\n ) {\n unset(object, paths.slice(0, -1));\n }\n\n return object;\n}\n","export default (fieldValues: T[], index: number, value: T) => {\n fieldValues[index] = value;\n return fieldValues;\n};\n","import React from 'react';\n\nimport generateId from './logic/generateId';\nimport getFocusFieldName from './logic/getFocusFieldName';\nimport getValidationModes from './logic/getValidationModes';\nimport isWatched from './logic/isWatched';\nimport iterateFieldsByAction from './logic/iterateFieldsByAction';\nimport updateFieldArrayRootError from './logic/updateFieldArrayRootError';\nimport validateField from './logic/validateField';\nimport appendAt from './utils/append';\nimport cloneObject from './utils/cloneObject';\nimport convertToArrayPayload from './utils/convertToArrayPayload';\nimport fillEmptyArray from './utils/fillEmptyArray';\nimport get from './utils/get';\nimport insertAt from './utils/insert';\nimport isEmptyObject from './utils/isEmptyObject';\nimport moveArrayAt from './utils/move';\nimport prependAt from './utils/prepend';\nimport removeArrayAt from './utils/remove';\nimport set from './utils/set';\nimport swapArrayAt from './utils/swap';\nimport unset from './utils/unset';\nimport updateAt from './utils/update';\nimport { VALIDATION_MODE } from './constants';\nimport {\n Control,\n Field,\n FieldArray,\n FieldArrayMethodProps,\n FieldArrayPath,\n FieldArrayWithId,\n FieldErrors,\n FieldPath,\n FieldValues,\n FormState,\n InternalFieldName,\n RegisterOptions,\n UseFieldArrayProps,\n UseFieldArrayReturn,\n} from './types';\nimport { useFormContext } from './useFormContext';\nimport { useSubscribe } from './useSubscribe';\n\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n * defaultValues: {\n * test: []\n * }\n * });\n * const { fields, append } = useFieldArray({\n * control,\n * name: \"test\"\n * });\n *\n * return (\n *
    console.log(data))}>\n * {fields.map((item, index) => (\n * \n * ))}\n * \n * \n *
    \n * );\n * }\n * ```\n */\nexport function useFieldArray<\n TFieldValues extends FieldValues = FieldValues,\n TFieldArrayName extends FieldArrayPath = FieldArrayPath,\n TKeyName extends string = 'id',\n>(\n props: UseFieldArrayProps,\n): UseFieldArrayReturn {\n const methods = useFormContext();\n const {\n control = methods.control,\n name,\n keyName = 'id',\n shouldUnregister,\n } = props;\n const [fields, setFields] = React.useState(control._getFieldArray(name));\n const ids = React.useRef(\n control._getFieldArray(name).map(generateId),\n );\n const _fieldIds = React.useRef(fields);\n const _name = React.useRef(name);\n const _actioned = React.useRef(false);\n\n _name.current = name;\n _fieldIds.current = fields;\n control._names.array.add(name);\n\n props.rules &&\n (control as Control).register(\n name as FieldPath,\n props.rules as RegisterOptions,\n );\n\n useSubscribe({\n next: ({\n values,\n name: fieldArrayName,\n }: {\n values?: FieldValues;\n name?: InternalFieldName;\n }) => {\n if (fieldArrayName === _name.current || !fieldArrayName) {\n const fieldValues = get(values, _name.current);\n if (Array.isArray(fieldValues)) {\n setFields(fieldValues);\n ids.current = fieldValues.map(generateId);\n }\n }\n },\n subject: control._subjects.array,\n });\n\n const updateValues = React.useCallback(\n <\n T extends Partial<\n FieldArrayWithId\n >[],\n >(\n updatedFieldArrayValues: T,\n ) => {\n _actioned.current = true;\n control._updateFieldArray(name, updatedFieldArrayValues);\n },\n [control, name],\n );\n\n const append = (\n value:\n | Partial>\n | Partial>[],\n options?: FieldArrayMethodProps,\n ) => {\n const appendValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = appendAt(\n control._getFieldArray(name),\n appendValue,\n );\n control._names.focus = getFocusFieldName(\n name,\n updatedFieldArrayValues.length - 1,\n options,\n );\n ids.current = appendAt(ids.current, appendValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, appendAt, {\n argA: fillEmptyArray(value),\n });\n };\n\n const prepend = (\n value:\n | Partial>\n | Partial>[],\n options?: FieldArrayMethodProps,\n ) => {\n const prependValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = prependAt(\n control._getFieldArray(name),\n prependValue,\n );\n control._names.focus = getFocusFieldName(name, 0, options);\n ids.current = prependAt(ids.current, prependValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, prependAt, {\n argA: fillEmptyArray(value),\n });\n };\n\n const remove = (index?: number | number[]) => {\n const updatedFieldArrayValues: Partial<\n FieldArrayWithId\n >[] = removeArrayAt(control._getFieldArray(name), index);\n ids.current = removeArrayAt(ids.current, index);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {\n argA: index,\n });\n };\n\n const insert = (\n index: number,\n value:\n | Partial>\n | Partial>[],\n options?: FieldArrayMethodProps,\n ) => {\n const insertValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = insertAt(\n control._getFieldArray(name),\n index,\n insertValue,\n );\n control._names.focus = getFocusFieldName(name, index, options);\n ids.current = insertAt(ids.current, index, insertValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, insertAt, {\n argA: index,\n argB: fillEmptyArray(value),\n });\n };\n\n const swap = (indexA: number, indexB: number) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n swapArrayAt(updatedFieldArrayValues, indexA, indexB);\n swapArrayAt(ids.current, indexA, indexB);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(\n name,\n updatedFieldArrayValues,\n swapArrayAt,\n {\n argA: indexA,\n argB: indexB,\n },\n false,\n );\n };\n\n const move = (from: number, to: number) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n moveArrayAt(updatedFieldArrayValues, from, to);\n moveArrayAt(ids.current, from, to);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(\n name,\n updatedFieldArrayValues,\n moveArrayAt,\n {\n argA: from,\n argB: to,\n },\n false,\n );\n };\n\n const update = (\n index: number,\n value: FieldArray,\n ) => {\n const updateValue = cloneObject(value);\n const updatedFieldArrayValues = updateAt(\n control._getFieldArray<\n FieldArrayWithId\n >(name),\n index,\n updateValue as FieldArrayWithId,\n );\n ids.current = [...updatedFieldArrayValues].map((item, i) =>\n !item || i === index ? generateId() : ids.current[i],\n );\n updateValues(updatedFieldArrayValues);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(\n name,\n updatedFieldArrayValues,\n updateAt,\n {\n argA: index,\n argB: updateValue,\n },\n true,\n false,\n );\n };\n\n const replace = (\n value:\n | Partial>\n | Partial>[],\n ) => {\n const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));\n ids.current = updatedFieldArrayValues.map(generateId);\n updateValues([...updatedFieldArrayValues]);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(\n name,\n [...updatedFieldArrayValues],\n (data: T): T => data,\n {},\n true,\n false,\n );\n };\n\n React.useEffect(() => {\n control._state.action = false;\n\n isWatched(name, control._names) &&\n control._subjects.state.next({\n ...control._formState,\n } as FormState);\n\n if (\n _actioned.current &&\n (!getValidationModes(control._options.mode).isOnSubmit ||\n control._formState.isSubmitted)\n ) {\n if (control._options.resolver) {\n control._executeSchema([name]).then((result) => {\n const error = get(result.errors, name);\n const existingError = get(control._formState.errors, name);\n\n if (\n existingError\n ? (!error && existingError.type) ||\n (error &&\n (existingError.type !== error.type ||\n existingError.message !== error.message))\n : error && error.type\n ) {\n error\n ? set(control._formState.errors, name, error)\n : unset(control._formState.errors, name);\n control._subjects.state.next({\n errors: control._formState.errors as FieldErrors,\n });\n }\n });\n } else {\n const field: Field = get(control._fields, name);\n if (field && field._f) {\n validateField(\n field,\n control._formValues,\n control._options.criteriaMode === VALIDATION_MODE.all,\n control._options.shouldUseNativeValidation,\n true,\n ).then(\n (error) =>\n !isEmptyObject(error) &&\n control._subjects.state.next({\n errors: updateFieldArrayRootError(\n control._formState.errors as FieldErrors,\n error,\n name,\n ) as FieldErrors,\n }),\n );\n }\n }\n }\n\n control._subjects.values.next({\n name,\n values: { ...control._formValues },\n });\n\n control._names.focus &&\n iterateFieldsByAction(control._fields, (ref, key: string) => {\n if (\n control._names.focus &&\n key.startsWith(control._names.focus) &&\n ref.focus\n ) {\n ref.focus();\n return 1;\n }\n return;\n });\n\n control._names.focus = '';\n\n control._updateValid();\n _actioned.current = false;\n }, [fields, name, control]);\n\n React.useEffect(() => {\n !get(control._formValues, name) && control._updateFieldArray(name);\n\n return () => {\n (control._options.shouldUnregister || shouldUnregister) &&\n control.unregister(name as FieldPath);\n };\n }, [name, control, keyName, shouldUnregister]);\n\n return {\n swap: React.useCallback(swap, [updateValues, name, control]),\n move: React.useCallback(move, [updateValues, name, control]),\n prepend: React.useCallback(prepend, [updateValues, name, control]),\n append: React.useCallback(append, [updateValues, name, control]),\n remove: React.useCallback(remove, [updateValues, name, control]),\n insert: React.useCallback(insert, [updateValues, name, control]),\n update: React.useCallback(update, [updateValues, name, control]),\n replace: React.useCallback(replace, [updateValues, name, control]),\n fields: React.useMemo(\n () =>\n fields.map((field, index) => ({\n ...field,\n [keyName]: ids.current[index] || generateId(),\n })) as FieldArrayWithId[],\n [fields, keyName],\n ),\n };\n}\n","import { Noop } from '../types';\n\nexport type Observer = {\n next: (value: T) => void;\n};\n\nexport type Subscription = {\n unsubscribe: Noop;\n};\n\nexport type Subject = {\n readonly observers: Observer[];\n subscribe: (value: Observer) => Subscription;\n unsubscribe: Noop;\n} & Observer;\n\nexport default (): Subject => {\n let _observers: Observer[] = [];\n\n const next = (value: T) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n\n const subscribe = (observer: Observer): Subscription => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n\n const unsubscribe = () => {\n _observers = [];\n };\n\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n};\n","import { Primitive } from '../types';\n\nimport isNullOrUndefined from './isNullOrUndefined';\nimport { isObjectType } from './isObject';\n\nexport default (value: unknown): value is Primitive =>\n isNullOrUndefined(value) || !isObjectType(value);\n","import isObject from '../utils/isObject';\n\nimport isDateObject from './isDateObject';\nimport isPrimitive from './isPrimitive';\n\nexport default function deepEqual(object1: any, object2: any) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (const key of keys1) {\n const val1 = object1[key];\n\n if (!keys2.includes(key)) {\n return false;\n }\n\n if (key !== 'ref') {\n const val2 = object2[key];\n\n if (\n (isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2\n ) {\n return false;\n }\n }\n }\n\n return true;\n}\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLSelectElement =>\n element.type === `select-multiple`;\n","import { FieldElement } from '../types';\n\nimport isCheckBoxInput from './isCheckBoxInput';\nimport isRadioInput from './isRadioInput';\n\nexport default (ref: FieldElement): ref is HTMLInputElement =>\n isRadioInput(ref) || isCheckBoxInput(ref);\n","import { Ref } from '../types';\n\nimport isHTMLElement from './isHTMLElement';\n\nexport default (ref: Ref) => isHTMLElement(ref) && ref.isConnected;\n","import isFunction from './isFunction';\n\nexport default (data: T): boolean => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n","import deepEqual from '../utils/deepEqual';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isPrimitive from '../utils/isPrimitive';\nimport isUndefined from '../utils/isUndefined';\nimport objectHasFunction from '../utils/objectHasFunction';\n\nfunction markFieldsDirty(data: T, fields: Record = {}) {\n const isParentNodeArray = Array.isArray(data);\n\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (\n Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))\n ) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n } else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n\n return fields;\n}\n\nfunction getDirtyFieldsFromDefaultValues(\n data: T,\n formValues: T,\n dirtyFieldsFromValues: Record<\n Extract,\n ReturnType | boolean\n >,\n) {\n const isParentNodeArray = Array.isArray(data);\n\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (\n Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))\n ) {\n if (\n isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])\n ) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n } else {\n getDirtyFieldsFromDefaultValues(\n data[key],\n isNullOrUndefined(formValues) ? {} : formValues[key],\n dirtyFieldsFromValues[key],\n );\n }\n } else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n\n return dirtyFieldsFromValues;\n}\n\nexport default (defaultValues: T, formValues: T) =>\n getDirtyFieldsFromDefaultValues(\n defaultValues,\n formValues,\n markFieldsDirty(formValues),\n );\n","import { Field, NativeFieldValue } from '../types';\nimport isString from '../utils/isString';\nimport isUndefined from '../utils/isUndefined';\n\nexport default (\n value: T,\n { valueAsNumber, valueAsDate, setValueAs }: Field['_f'],\n) =>\n isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n","import { Field } from '../types';\nimport isCheckBox from '../utils/isCheckBoxInput';\nimport isFileInput from '../utils/isFileInput';\nimport isMultipleSelect from '../utils/isMultipleSelect';\nimport isRadioInput from '../utils/isRadioInput';\nimport isUndefined from '../utils/isUndefined';\n\nimport getCheckboxValue from './getCheckboxValue';\nimport getFieldValueAs from './getFieldValueAs';\nimport getRadioValue from './getRadioValue';\n\nexport default function getFieldValue(_f: Field['_f']) {\n const ref = _f.ref;\n\n if (_f.refs ? _f.refs.every((ref) => ref.disabled) : ref.disabled) {\n return;\n }\n\n if (isFileInput(ref)) {\n return ref.files;\n }\n\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n\n if (isCheckBox(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n","import {\n CriteriaMode,\n Field,\n FieldName,\n FieldRefs,\n FieldValues,\n InternalFieldName,\n} from '../types';\nimport { get } from '../utils';\nimport set from '../utils/set';\n\nexport default (\n fieldsNames: Set | InternalFieldName[],\n _fields: FieldRefs,\n criteriaMode?: CriteriaMode,\n shouldUseNativeValidation?: boolean | undefined,\n) => {\n const fields: Record = {};\n\n for (const name of fieldsNames) {\n const field: Field = get(_fields, name);\n\n field && set(fields, name, field._f);\n }\n\n return {\n criteriaMode,\n names: [...fieldsNames] as FieldName[],\n fields,\n shouldUseNativeValidation,\n };\n};\n","import {\n ValidationRule,\n ValidationValue,\n ValidationValueMessage,\n} from '../types';\nimport isObject from '../utils/isObject';\nimport isRegex from '../utils/isRegex';\nimport isUndefined from '../utils/isUndefined';\n\nexport default (\n rule?: ValidationRule | ValidationValueMessage,\n) =>\n isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n","import { Field } from '../types';\n\nexport default (options: Field['_f']) =>\n options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n","import { FieldError, FieldErrors, FieldValues } from '../types';\nimport get from '../utils/get';\nimport isKey from '../utils/isKey';\n\nexport default function schemaErrorLookup(\n errors: FieldErrors,\n _fields: FieldValues,\n name: string,\n): {\n error?: FieldError;\n name: string;\n} {\n const error = get(errors, name);\n\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n\n const names = name.split('.');\n\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n\n names.pop();\n }\n\n return {\n name,\n };\n}\n","import { ValidationModeFlags } from '../types';\n\nexport default (\n isBlurEvent: boolean,\n isTouched: boolean,\n isSubmitted: boolean,\n reValidateMode: {\n isOnBlur: boolean;\n isOnChange: boolean;\n },\n mode: Partial,\n) => {\n if (mode.isOnAll) {\n return false;\n } else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n } else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n } else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n","import compact from '../utils/compact';\nimport get from '../utils/get';\nimport unset from '../utils/unset';\n\nexport default (ref: T, name: string) =>\n !compact(get(ref, name)).length && unset(ref, name);\n","import { EVENTS, VALIDATION_MODE } from '../constants';\nimport {\n BatchFieldArrayUpdate,\n ChangeHandler,\n Control,\n DeepPartial,\n DelayCallback,\n EventType,\n Field,\n FieldError,\n FieldErrors,\n FieldNamesMarkedBoolean,\n FieldPath,\n FieldRefs,\n FieldValues,\n FormState,\n GetIsDirty,\n InternalFieldName,\n Names,\n Path,\n PathValue,\n Ref,\n SetFieldValue,\n SetValueConfig,\n Subjects,\n UseFormClearErrors,\n UseFormGetFieldState,\n UseFormGetValues,\n UseFormHandleSubmit,\n UseFormProps,\n UseFormRegister,\n UseFormReset,\n UseFormResetField,\n UseFormReturn,\n UseFormSetError,\n UseFormSetFocus,\n UseFormSetValue,\n UseFormTrigger,\n UseFormUnregister,\n UseFormWatch,\n WatchInternal,\n WatchObserver,\n} from '../types';\nimport cloneObject from '../utils/cloneObject';\nimport compact from '../utils/compact';\nimport convertToArrayPayload from '../utils/convertToArrayPayload';\nimport createSubject from '../utils/createSubject';\nimport deepEqual from '../utils/deepEqual';\nimport get from '../utils/get';\nimport isBoolean from '../utils/isBoolean';\nimport isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isDateObject from '../utils/isDateObject';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport isFileInput from '../utils/isFileInput';\nimport isFunction from '../utils/isFunction';\nimport isHTMLElement from '../utils/isHTMLElement';\nimport isMultipleSelect from '../utils/isMultipleSelect';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isPrimitive from '../utils/isPrimitive';\nimport isRadioOrCheckbox from '../utils/isRadioOrCheckbox';\nimport isString from '../utils/isString';\nimport isUndefined from '../utils/isUndefined';\nimport isWeb from '../utils/isWeb';\nimport live from '../utils/live';\nimport set from '../utils/set';\nimport unset from '../utils/unset';\n\nimport generateWatchOutput from './generateWatchOutput';\nimport getDirtyFields from './getDirtyFields';\nimport getEventValue from './getEventValue';\nimport getFieldValue from './getFieldValue';\nimport getFieldValueAs from './getFieldValueAs';\nimport getResolverOptions from './getResolverOptions';\nimport getRuleValue from './getRuleValue';\nimport getValidationModes from './getValidationModes';\nimport hasValidation from './hasValidation';\nimport isNameInFieldArray from './isNameInFieldArray';\nimport isWatched from './isWatched';\nimport iterateFieldsByAction from './iterateFieldsByAction';\nimport schemaErrorLookup from './schemaErrorLookup';\nimport skipValidation from './skipValidation';\nimport unsetEmptyArray from './unsetEmptyArray';\nimport updateFieldArrayRootError from './updateFieldArrayRootError';\nimport validateField from './validateField';\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n} as const;\n\nexport function createFormControl<\n TFieldValues extends FieldValues = FieldValues,\n TContext = any,\n>(\n props: UseFormProps = {},\n flushRootRender: () => void,\n): Omit, 'formState'> {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState: FormState = {\n submitCount: 0,\n isDirty: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n errors: _options.errors || {},\n disabled: _options.disabled || false,\n };\n let _fields: FieldRefs = {};\n let _defaultValues =\n isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names: Names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback: DelayCallback | null;\n let timer = 0;\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects: Subjects = {\n values: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors =\n _options.criteriaMode === VALIDATION_MODE.all;\n\n const debounce =\n (callback: T) =>\n (wait: number) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n\n const _updateValid = async (shouldUpdateValid?: boolean) => {\n if (_proxyFormState.isValid || shouldUpdateValid) {\n const isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n\n const _updateIsValidating = (value: boolean) =>\n _proxyFormState.isValidating &&\n _subjects.state.next({\n isValidating: value,\n });\n\n const _updateFieldArray: BatchFieldArrayUpdate = (\n name,\n values = [],\n method,\n args,\n shouldSetValues = true,\n shouldUpdateFieldsAndState = true,\n ) => {\n if (args && method) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n\n if (\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))\n ) {\n const errors = method(\n get(_formState.errors, name),\n args.argA,\n args.argB,\n );\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n\n if (\n _proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))\n ) {\n const touchedFields = method(\n get(_formState.touchedFields, name),\n args.argA,\n args.argB,\n );\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n } else {\n set(_formValues, name, values);\n }\n };\n\n const updateErrors = (name: InternalFieldName, error: FieldError) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n\n const _setErrors = (errors: FieldErrors) => {\n _formState.errors = errors;\n _subjects.state.next({\n errors: _formState.errors,\n isValid: false,\n });\n };\n\n const updateValidAndValue = (\n name: InternalFieldName,\n shouldSkipSetValueAs: boolean,\n value?: unknown,\n ref?: Ref,\n ) => {\n const field: Field = get(_fields, name);\n\n if (field) {\n const defaultValue = get(\n _formValues,\n name,\n isUndefined(value) ? get(_defaultValues, name) : value,\n );\n\n isUndefined(defaultValue) ||\n (ref && (ref as HTMLInputElement).defaultChecked) ||\n shouldSkipSetValueAs\n ? set(\n _formValues,\n name,\n shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f),\n )\n : setFieldValue(name, defaultValue);\n\n _state.mount && _updateValid();\n }\n };\n\n const updateTouchAndDirty = (\n name: InternalFieldName,\n fieldValue: unknown,\n isBlurEvent?: boolean,\n shouldDirty?: boolean,\n shouldRender?: boolean,\n ): Partial<\n Pick, 'dirtyFields' | 'isDirty' | 'touchedFields'>\n > => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output: Partial> & { name: string } = {\n name,\n };\n const disabledField = !!(\n get(_fields, name) && get(_fields, name)._f.disabled\n );\n\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n\n const isCurrentFieldPristine =\n disabledField || deepEqual(get(_defaultValues, name), fieldValue);\n\n isPreviousDirty = !!(!disabledField && get(_formState.dirtyFields, name));\n isCurrentFieldPristine || disabledField\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.dirtyFields &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n\n return shouldUpdateField ? output : {};\n };\n\n const shouldRenderByError = (\n name: InternalFieldName,\n isValid?: boolean,\n error?: FieldError,\n fieldState?: {\n dirty?: FieldNamesMarkedBoolean;\n isDirty?: boolean;\n touched?: FieldNamesMarkedBoolean;\n },\n ) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid =\n _proxyFormState.isValid &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n\n if (props.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(props.delayError);\n } else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n\n if (\n (error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid\n ) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n\n _subjects.state.next(updatedFormState);\n }\n\n _updateIsValidating(false);\n };\n\n const _executeSchema = async (name?: InternalFieldName[]) =>\n _options.resolver!(\n _formValues as TFieldValues,\n _options.context,\n getResolverOptions(\n name || _names.mount,\n _fields,\n _options.criteriaMode,\n _options.shouldUseNativeValidation,\n ),\n );\n\n const executeSchemaAndUpdateState = async (names?: InternalFieldName[]) => {\n const { errors } = await _executeSchema(names);\n\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n } else {\n _formState.errors = errors;\n }\n\n return errors;\n };\n\n const executeBuiltInValidation = async (\n fields: FieldRefs,\n shouldOnlyCheckValid?: boolean,\n context: {\n valid: boolean;\n } = {\n valid: true,\n },\n ) => {\n for (const name in fields) {\n const field = fields[name];\n\n if (field) {\n const { _f, ...fieldValue } = field;\n\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n const fieldError = await validateField(\n field,\n _formValues,\n shouldDisplayAllAssociatedErrors,\n _options.shouldUseNativeValidation && !shouldOnlyCheckValid,\n isFieldArrayRoot,\n );\n\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(\n _formState.errors,\n fieldError,\n _f.name,\n )\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n\n fieldValue &&\n (await executeBuiltInValidation(\n fieldValue,\n shouldOnlyCheckValid,\n context,\n ));\n }\n }\n\n return context.valid;\n };\n\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field: Field = get(_fields, name);\n\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name as FieldPath);\n }\n\n _names.unMount = new Set();\n };\n\n const _getDirty: GetIsDirty = (name, data) => (\n name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues)\n );\n\n const _getWatch: WatchInternal = (\n names,\n defaultValue,\n isGlobal,\n ) =>\n generateWatchOutput(\n names,\n _names,\n {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n },\n isGlobal,\n defaultValue,\n );\n\n const _getFieldArray = (\n name: InternalFieldName,\n ): Partial[] =>\n compact(\n get(\n _state.mount ? _formValues : _defaultValues,\n name,\n props.shouldUnregister ? get(_defaultValues, name, []) : [],\n ),\n );\n\n const setFieldValue = (\n name: InternalFieldName,\n value: SetFieldValue,\n options: SetValueConfig = {},\n ) => {\n const field: Field = get(_fields, name);\n let fieldValue: unknown = value;\n\n if (field) {\n const fieldReference = field._f;\n\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach(\n (optionRef) =>\n (optionRef.selected = (\n fieldValue as InternalFieldName[]\n ).includes(optionRef.value)),\n );\n } else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach(\n (checkboxRef) =>\n (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!(fieldValue as []).find(\n (data: string) => data === checkboxRef.value,\n )\n : fieldValue === checkboxRef.value),\n )\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n } else {\n fieldReference.refs.forEach(\n (radioRef: HTMLInputElement) =>\n (radioRef.checked = radioRef.value === fieldValue),\n );\n }\n } else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n } else {\n fieldReference.ref.value = fieldValue;\n\n if (!fieldReference.ref.type) {\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n }\n }\n }\n }\n\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(\n name,\n fieldValue,\n options.shouldTouch,\n options.shouldDirty,\n true,\n );\n\n options.shouldValidate && trigger(name as Path);\n };\n\n const setValues = <\n T extends InternalFieldName,\n K extends SetFieldValue,\n U extends SetValueConfig,\n >(\n name: T,\n value: K,\n options: U,\n ) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}`;\n const field = get(_fields, fieldName);\n\n (_names.array.has(name) ||\n !isPrimitive(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n\n const setValue: UseFormSetValue = (\n name,\n value,\n options = {},\n ) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n\n set(_formValues, name, cloneValue);\n\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: { ..._formValues },\n });\n\n if (\n (_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty\n ) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n } else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n\n isWatched(name, _names) && _subjects.state.next({ ..._formState });\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n !_state.mount && flushRootRender();\n };\n\n const onChange: ChangeHandler = async (event) => {\n const target = event.target;\n let name = target.name;\n let isFieldValueUpdated = true;\n const field: Field = get(_fields, name);\n const getCurrentFieldValue = () =>\n target.type ? getFieldValue(field._f) : getEventValue(event);\n const _updateIsFieldValueUpdated = (fieldValue: any): void => {\n isFieldValueUpdated =\n Number.isNaN(fieldValue) ||\n fieldValue === get(_formValues, name, fieldValue);\n };\n\n if (field) {\n let error;\n let isValid;\n const fieldValue = getCurrentFieldValue();\n const isBlurEvent =\n event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation =\n (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(\n isBlurEvent,\n get(_formState.touchedFields, name),\n _formState.isSubmitted,\n validationModeAfterSubmit,\n validationModeBeforeSubmit,\n );\n const watched = isWatched(name, _names, isBlurEvent);\n\n set(_formValues, name, fieldValue);\n\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n } else if (field._f.onChange) {\n field._f.onChange(event);\n }\n\n const fieldState = updateTouchAndDirty(\n name,\n fieldValue,\n isBlurEvent,\n false,\n );\n\n const shouldRender = !isEmptyObject(fieldState) || watched;\n\n !isBlurEvent &&\n _subjects.values.next({\n name,\n type: event.type,\n values: { ..._formValues },\n });\n\n if (shouldSkipValidation) {\n _proxyFormState.isValid && _updateValid();\n\n return (\n shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) })\n );\n }\n\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n\n _updateIsValidating(true);\n\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n\n _updateIsFieldValueUpdated(fieldValue);\n\n if (isFieldValueUpdated) {\n const previousErrorLookupResult = schemaErrorLookup(\n _formState.errors,\n _fields,\n name,\n );\n const errorLookupResult = schemaErrorLookup(\n errors,\n _fields,\n previousErrorLookupResult.name || name,\n );\n\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n\n isValid = isEmptyObject(errors);\n }\n } else {\n error = (\n await validateField(\n field,\n _formValues,\n shouldDisplayAllAssociatedErrors,\n _options.shouldUseNativeValidation,\n )\n )[name];\n\n _updateIsFieldValueUpdated(fieldValue);\n\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n } else if (_proxyFormState.isValid) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n\n if (isFieldValueUpdated) {\n field._f.deps &&\n trigger(\n field._f.deps as\n | FieldPath\n | FieldPath[],\n );\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n\n const _focusInput = (ref: Ref, key: string) => {\n if (get(_formState.errors, key) && ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n };\n\n const trigger: UseFormTrigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name) as InternalFieldName[];\n\n _updateIsValidating(true);\n\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(\n isUndefined(name) ? name : fieldNames,\n );\n\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n } else if (name) {\n validationResult = (\n await Promise.all(\n fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(\n field && field._f ? { [fieldName]: field } : field,\n );\n }),\n )\n ).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n } else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n isValidating: false,\n });\n\n options.shouldFocus &&\n !validationResult &&\n iterateFieldsByAction(\n _fields,\n _focusInput,\n name ? fieldNames : _names.mount,\n );\n\n return validationResult;\n };\n\n const getValues: UseFormGetValues = (\n fieldNames?:\n | FieldPath\n | ReadonlyArray>,\n ) => {\n const values = {\n ..._defaultValues,\n ...(_state.mount ? _formValues : {}),\n };\n\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n\n const getFieldState: UseFormGetFieldState = (\n name,\n formState,\n ) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n error: get((formState || _formState).errors, name),\n });\n\n const clearErrors: UseFormClearErrors = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) =>\n unset(_formState.errors, inputName),\n );\n\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n\n const setError: UseFormSetError = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n\n set(_formState.errors, name, {\n ...error,\n ref,\n });\n\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n\n const watch: UseFormWatch = (\n name?:\n | FieldPath\n | ReadonlyArray>\n | WatchObserver,\n defaultValue?: DeepPartial,\n ) =>\n isFunction(name)\n ? _subjects.values.subscribe({\n next: (payload) =>\n name(\n _getWatch(undefined, defaultValue),\n payload as {\n name?: FieldPath;\n type?: EventType;\n value?: unknown;\n },\n ),\n })\n : _getWatch(\n name as InternalFieldName | InternalFieldName[],\n defaultValue,\n true,\n );\n\n const unregister: UseFormUnregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n\n _subjects.values.next({\n values: { ..._formValues },\n });\n\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n\n !options.keepIsValid && _updateValid();\n };\n\n const _updateDisabledField: Control['_updateDisabledField'] = ({\n disabled,\n name,\n field,\n fields,\n value,\n }) => {\n if (isBoolean(disabled)) {\n const inputValue = disabled\n ? undefined\n : isUndefined(value)\n ? getFieldValue(field ? field._f : get(fields, name)._f)\n : value;\n set(_formValues, name, inputValue);\n updateTouchAndDirty(name, inputValue, false, false, true);\n }\n };\n\n const register: UseFormRegister = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled);\n\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n\n if (field) {\n _updateDisabledField({\n field,\n disabled: options.disabled,\n name,\n value: options.value,\n });\n } else {\n updateValidAndValue(name, true, options.value);\n }\n\n return {\n ...(disabledIsDefined ? { disabled: options.disabled } : {}),\n ...(_options.progressive\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength) as number,\n maxLength: getRuleValue(options.maxLength) as number,\n pattern: getRuleValue(options.pattern) as string,\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref: HTMLInputElement | null): void => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? (ref.querySelectorAll('input,select,textarea')[0] as Ref) || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n\n if (\n radioOrCheckbox\n ? refs.find((option: Ref) => option === fieldRef)\n : fieldRef === field._f.ref\n ) {\n return;\n }\n\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n\n updateValidAndValue(name, false, undefined, fieldRef);\n } else {\n field = get(_fields, name, {});\n\n if (field._f) {\n field._f.mount = false;\n }\n\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n\n const _focusError = () =>\n _options.shouldFocusError &&\n iterateFieldsByAction(_fields, _focusInput, _names.mount);\n\n const _disableForm = (disabled?: boolean) => {\n if (isBoolean(disabled)) {\n _subjects.state.next({ disabled });\n iterateFieldsByAction(\n _fields,\n (ref, name) => {\n let requiredDisabledState = disabled;\n const currentField = get(_fields, name);\n if (currentField && isBoolean(currentField._f.disabled)) {\n requiredDisabledState ||= currentField._f.disabled;\n }\n\n ref.disabled = requiredDisabledState;\n },\n 0,\n false,\n );\n }\n };\n\n const handleSubmit: UseFormHandleSubmit =\n (onValid, onInvalid) => async (e) => {\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let fieldValues = cloneObject(_formValues);\n\n _subjects.state.next({\n isSubmitting: true,\n });\n\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors;\n fieldValues = values;\n } else {\n await executeBuiltInValidation(_fields);\n }\n\n unset(_formState.errors, 'root');\n\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n await onValid(fieldValues as TFieldValues, e);\n } else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors),\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n };\n\n const resetField: UseFormResetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, cloneObject(get(_defaultValues, name)));\n } else {\n setValue(\n name,\n options.defaultValue as PathValue<\n TFieldValues,\n FieldPath\n >,\n );\n set(_defaultValues, name, cloneObject(options.defaultValue));\n }\n\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, cloneObject(get(_defaultValues, name)))\n : _getDirty();\n }\n\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n\n _subjects.state.next({ ..._formState });\n }\n };\n\n const _reset: UseFormReset = (\n formValues,\n keepStateOptions = {},\n ) => {\n const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const values =\n formValues && !isEmptyObject(formValues)\n ? cloneUpdatedValues\n : _defaultValues;\n\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n for (const fieldName of _names.mount) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(\n fieldName as FieldPath,\n get(values, fieldName),\n );\n }\n } else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n\n _fields = {};\n }\n\n _formValues = props.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneObject(values);\n\n _subjects.array.next({\n values: { ...values },\n });\n\n _subjects.values.next({\n values: { ...values },\n });\n }\n\n _names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n\n !_state.mount && flushRootRender();\n\n _state.mount = !_proxyFormState.isValid || !!keepStateOptions.keepIsValid;\n\n _state.watch = !!props.shouldUnregister;\n\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(\n keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)\n ),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: keepStateOptions.keepDirtyValues\n ? _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful\n ? _formState.isSubmitSuccessful\n : false,\n isSubmitting: false,\n });\n };\n\n const reset: UseFormReset = (formValues, keepStateOptions) =>\n _reset(\n isFunction(formValues)\n ? formValues(_formValues as TFieldValues)\n : formValues,\n keepStateOptions,\n );\n\n const setFocus: UseFormSetFocus = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect && fieldRef.select();\n }\n }\n };\n\n const _updateFormState = (\n updatedFormState: Partial>,\n ) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n\n const _resetDefaultValues = () =>\n isFunction(_options.defaultValues) &&\n _options.defaultValues().then((values) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n\n return {\n control: {\n register,\n unregister,\n getFieldState,\n handleSubmit,\n setError,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _updateDisabledField,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _updateFormState,\n _disableForm,\n _subjects,\n _proxyFormState,\n _setErrors,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n","import React from 'react';\n\nimport { createFormControl } from './logic/createFormControl';\nimport getProxyFormState from './logic/getProxyFormState';\nimport shouldRenderFormState from './logic/shouldRenderFormState';\nimport deepEqual from './utils/deepEqual';\nimport isFunction from './utils/isFunction';\nimport {\n FieldValues,\n FormState,\n InternalFieldName,\n UseFormProps,\n UseFormReturn,\n} from './types';\nimport { useSubscribe } from './useSubscribe';\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n *
    \n * \n * \n * {errors.exampleRequired && This field is required}\n * \n *
    \n * );\n * }\n * ```\n */\nexport function useForm<\n TFieldValues extends FieldValues = FieldValues,\n TContext = any,\n TTransformedValues extends FieldValues | undefined = undefined,\n>(\n props: UseFormProps = {},\n): UseFormReturn {\n const _formControl = React.useRef<\n UseFormReturn | undefined\n >();\n const _values = React.useRef();\n const [formState, updateFormState] = React.useState>({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n errors: props.errors || {},\n disabled: props.disabled || false,\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n\n if (!_formControl.current) {\n _formControl.current = {\n ...createFormControl(props, () =>\n updateFormState((formState) => ({ ...formState })),\n ),\n formState,\n };\n }\n\n const control = _formControl.current.control;\n control._options = props;\n\n useSubscribe({\n subject: control._subjects.state,\n next: (\n value: Partial> & { name?: InternalFieldName },\n ) => {\n if (\n shouldRenderFormState(\n value,\n control._proxyFormState,\n control._updateFormState,\n true,\n )\n ) {\n updateFormState({ ...control._formState });\n }\n },\n });\n\n React.useEffect(\n () => control._disableForm(props.disabled),\n [control, props.disabled],\n );\n\n React.useEffect(() => {\n if (control._proxyFormState.isDirty) {\n const isDirty = control._getDirty();\n if (isDirty !== formState.isDirty) {\n control._subjects.state.next({\n isDirty,\n });\n }\n }\n }, [control, formState.isDirty]);\n\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, _values.current)) {\n control._reset(props.values, control._options.resetOptions);\n _values.current = props.values;\n updateFormState((state) => ({ ...state }));\n } else {\n control._resetDefaultValues();\n }\n }, [props.values, control]);\n\n React.useEffect(() => {\n if (props.errors) {\n control._setErrors(props.errors);\n }\n }, [props.errors, control]);\n\n React.useEffect(() => {\n if (!control._state.mount) {\n control._updateValid();\n control._state.mount = true;\n }\n\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n\n control._removeUnmounted();\n });\n\n _formControl.current.formState = getProxyFormState(formState, control);\n\n return _formControl.current;\n}\n"],"names":["FontDisplay","getFontFaceStyleSheet","Platform","isDOMAvailable","styleSheet","getStyleElement","sheet","getFontFaceRulesMatchingResource","fontFamilyName","options","rules","_toConsumableArray","cssRules","items","i","length","rule","CSSFontFaceRule","push","index","getFontFaceRules","filter","_ref","style","fontFamily","display","fontDisplay","name","unloadAllAsync","_unloadAllAsync","_asyncToGenerator","element","document","getElementById","ID","HTMLStyleElement","removeChild","apply","arguments","unloadAsync","_unloadAsync","item","deleteRule","_x","_x2","loadAsync","_loadAsync","resource","head","appendChild","CodedError","fontStyle","uri","AUTO","styleElement","styleElementIE","cssText","textNode","createTextNode","_createWebStyle","userAgent","window","navigator","isIOS","match","isSafari","test","isEdge","includes","isIE","isFirefox","isFontLoadingListenerSupported","FontObserver","load","_x3","_x4","createElement","id","type","getScaledAssetPath","asset","scale","AssetSourceResolver","pickScale","scales","PixelRatio","get","scaleSuffix","httpServerLocation","replace","serverUrl","jsbundleUrl","_classCallCheck","this","_createClass","key","value","assetServerURL","fromUrl","URL","searchParams","set","OS","hash","fromSource","toString","origin","source","_this$asset$width","_this$asset$height","__packager_asset","width","undefined","height","deviceScale","_downloadAsync","_customSourceTransformer","assetMapOverride","selectAssetSource","meta","_manifest2$extra","_manifest2$extra$expo","hasOwnProperty","_objectSpread","findIndex","s","fileHashes","fileUris","resolveUri","assetUrlOverride","_len","paths","Array","_key","combined","map","part","trim","join","split","resolved","pop","pathJoin","fileScale","fileExtension","encodeURIComponent","suffix","params","URLSearchParams","platform","manifest2","devServerUrl","extra","expoGo","developer","debuggerHost","bundleUrl","baseUrl","href","getFilename","url","pathname","substring","lastIndexOf","getFileExtension","filename","dotIndex","setCustomSourceTransformer","transformer","resolveAssetSource","getAssetByID","resolver","defaultAsset","Object","defineProperty","Asset","_ref$hash","localUri","downloading","downloaded","_downloadCallbacks","AssetUris","_downloadAsync2","_this","Promise","resolve","reject","_yield$ImageAssets$ge","img","Image","onerror","onload","naturalWidth","naturalHeight","src","downloadAsync","forEach","_ref2","e","_ref3","moduleId","moduleIds","isArray","all","fromModule","virtualAssetModule","fromURI","Error","byHash","metaHash","_selectAssetSource","byUri","indexOf","extension","startsWith","uriFromFontSource","default","getAssetForSource","throwInvalidSourceError","JSON","stringify","_loadSingleFontAsync","input","ExpoFontLoader","loaded","loadPromises","isLoaded","fontFamilyOrFontMap","loadFontInNamespaceAsync","fontMap","names","keys","_loadFontInNamespaceAsync","loadSingleFontAsync","NativeIconAPI","NativeModules","RNVectorIconsManager","RNVectorIconsModule","ensureNativeModuleAvailable","TYPE_ERROR","_excluded","createExtraStyles","activeOpacity","underlayColor","child","opacity","underlay","backgroundColor","hasPressHandler","props","onPress","onPressIn","onPressOut","onLongPress","styles","StyleSheet","create","root","userSelect","actionable","cursor","touchAction","MemoedTouchableHighlight","React","forwardedRef","warnOnce","children","delayPressIn","delayPressOut","delayLongPress","disabled","focusable","onHideUnderlay","onShowUnderlay","rejectResponderTermination","testOnly_pressed","rest","_objectWithoutPropertiesLoose","hostRef","useRef","setRef","useMergeRefs","_useState","useState","extraStyles","setExtraStyles","showUnderlay","useCallback","hideUnderlay","pressConfig","useMemo","cancelable","delayPressStart","delayPressEnd","onPressStart","event","onPressEnd","pressEventHandlers","usePressEvents","only","View","_extends","accessibilityDisabled","pointerEvents","ref","displayName","container","flexDirection","justifyContent","alignItems","padding","touchable","overflow","icon","marginRight","text","fontWeight","TEXT_PROP_NAMES","TOUCHABLE_PROP_NAMES","createIconButtonComponent","Icon","_class","_PureComponent","IconButton","_inherits","_this$props","iconStyle","restProps","_objectWithoutProperties","iconProps","pick","touchableProps","omit","colorStyle","blockStyle","_jsx","TouchableHighlight","_jsxs","Text","selectable","PureComponent","defaultProps","borderRadius","color","size","DEFAULT_ICON_COLOR","createIconSet","glyphMap","fontFile","fontBasename","fontReference","select","windows","android","web","args","concat","handleRef","nativeProps","setNativeProps","glyph","String","fromCodePoint","styleDefaults","fontSize","styleOverrides","allowFontScaling","imageSourceCache","cache","Map","setValue","data","setError","error","has","_cache$get","createIconSourceCache","resolveGlyph","_getImageSource","processedColor","processColor","cacheKey","getImageForFont","_loadFont","file","loadFontWithFileName","Button","getImageSource","getImageSourceSync","getImageForFontSync","loadFont","hasIcon","prototype","call","getRawGlyphMap","getFontFamily","fontName","expoAssetId","font","_defineProperty","RNVIconComponent","_a","_React$Component","_mounted","state","fontIsLoaded","Font","_componentDidMount","setState","_icon","_this2","view","module","exports","obj","flat","reduce","acc","_len2","keysToOmit","_key2","keysToOmitSet","Set","getOwnPropertyNames","merge","bind","concatArrays","ignoreUndefined","createPromise","getValue","callback","err","createPromiseAll","promises","processResult","then","result","errors","AsyncStorage","getItem","localStorage","setItem","removeItem","mergeItem","oldValue","oldObject","parse","newObject","nextValue","mergeLocalStorageItem","clear","getAllKeys","numberOfKeys","flushGetRequests","multiGet","multiSet","keyValuePairs","multiRemove","multiMerge","useAsyncStorage","_len3","_key3","_len4","_key4","assets","registerAsset","assetId","hue2rgb","p","q","t","hslToRgb","h","l","r","g","b","Math","round","cachedMatchers","NUMBER","PERCENTAGE","callWithSlashSeparator","slice","commaSeparatedCall","parse255","str","int","parseInt","parse360","parseFloat","parse1","num","parsePercentage","matchers","rgb","RegExp","rgba","hsl","hsla","hwb","hex3","hex4","hex6","hex8","getMatchers","exec","colorFromKeyword","normalizeKeyword","w","gray","red","green","blue","hwbToRgb","goBack","navigate","payload","reset","setParams","NOT_INITIALIZED_ERROR","createNavigationContainerRef","methods","CommonActions","listeners","removeListener","cb","current","entries","_slicedToArray","addListener","isReady","_current","console","MULTIPLE_NAVIGATOR_ERROR","SingleNavigatorContext","EnsureSingleNavigator","navigatorKeyRef","register","currentKey","unregister","Provider","findFocusedRoute","_current2","_current3","routes","_current$index","_current$index2","onDispatchAction","onOptionsChange","MISSING_CONTEXT_ERROR","isDefault","getKey","setKey","getState","getIsInitial","useChildListeners","action","focus","listener","removed","splice","useEventEmitter","listen","listenRef","target","callbacks","emit","_items$target","_listenRef$current","canPreventDefault","self","enumerable","defaultPrevented","defineProperties","preventDefault","useKeyedChildListeners","keyedListeners","assign","beforeRemove","addKeyedListener","useOptionsGetters","navigation","optionsRef","optionsGettersFromChildRef","NavigationBuilderContext","parentAddOptionsGetter","NavigationStateContext","addOptionsGetter","optionsChangeListener","_optionsRef$current","isFocused","hasChildren","getOptionsFromListener","_optionsGettersFromCh","_optionsGettersFromCh2","getCurrentOptions","optionsFromListener","getter","ScheduleUpdateContext","scheduleUpdate","flushUpdates","UNINTIALIZED_STATE","getPartialState","routeNames","stale","route","initialState","onStateChange","onUnhandledAction","independent","_useSyncState","stateRef","isSchedulingRef","isMountedRef","_React$useState","_React$useState2","trackingState","setTrackingState","useSyncState","_useSyncState2","isFirstMountRef","_useChildListeners","_useKeyedChildListene","dispatch","canGoBack","_listeners$focus$","handled","resetRoot","_keyedListeners$getSt","_keyedListeners$getSt2","getRootState","_keyedListeners$getSt3","_keyedListeners$getSt4","getCurrentRoute","emitter","_useOptionsGetters","getParent","noop","stack","stackRef","lastEmittedOptionsRef","builderContext","scheduleContext","isInitialRef","context","onStateChangeRef","hydratedState","defaultOnUnhandledAction","NavigationContainerRefContext","UnhandledActionContext","NavigationRouteContext","NavigationContext","Group","_","Screen","createNavigatorFactory","Navigator","getActionFromState","_state$index","_normalizedConfig$scr","normalizedConfig","createNormalizedConfigItem","initialRouteName","config","screens","path","_config","_config2","_config2$screens","initial","screen","createNormalizedConfigs","k","v","CHILD_STATE","Symbol","getFocusedRouteNameFromRoute","_route$CHILD_STATE","fromEntries","formatToList","validatePathConfig","validKeys","invalidKeys","getActiveRoute","getPathFromState","_currentOptions$route","_pattern","configs","allParams","_loop","pattern","focusedParams","focusedRoute","currentOptions","nestedRouteNames","hasNext","_loop2","currentParams","getParamName","nextRoute","nestedConfig","endsWith","param","query","queryString","sort","joinPaths","_ref4","Boolean","_ref5","parentPattern","_pattern2","exact","createConfigItem","getStateFromPath","initialRoutes","parentScreens","remaining","segment","decodeURIComponent","createNestedStateObject","a","localeCompare","aParts","bParts","max","aWildCard","bWildCard","every","it","find","_configs$find","c","_matchAgainstConfigs","matchAgainstConfigs","regex","remainingPath","_config$pattern","_ret","matchedParams","_config$path","_config$parse","routeConfig","initials","escape","findInitialRoute","routeName","sameParents","createStateObject","initialRoute","isEmpty","flatConfig","shift","nestedState","nestedStateIndex","parseQueryParams","findParseConfigForRoute","parseConfig","transformPreventedRoutes","preventedRoutesMap","values","_acc$routeKey","routeKey","preventRemove","PreventRemoveProvider","nanoid","parentId","_React$useState3","_React$useState4","setPreventedRoutesMap","NavigationHelpersContext","preventRemoveContextValue","PreventRemoveContext","setParentPrevented","setPreventRemove","useLatestCallback","prevPrevented","_prevPrevented$get","_prevPrevented$get2","nextPrevented","delete","isPrevented","some","preventedRoutes","PrivateValueStore","useNavigation","useFocusEffect","effect","cleanup","destroy","unsubscribeFocus","unsubscribeBlur","useIsFocused","_useState2","setIsFocused","valueToReturn","isArrayEqual","NavigationContent","render","useComponent","renderRef","prevProps","nextProps","prevPropKeys","nextPropKeys","SceneView","routeState","clearOptions","getCurrentState","currentRoute","setCurrentState","ScreenComponent","getComponent","component","StaticContainer","useDescriptors","screenOptions","defaultScreenOptions","onAction","onRouteFocus","router","setOptions","_React$useContext","navigations","actions","actionCreators","previous","thunk","withStack","helpers","getId","o","useNavigationCache","useRouteCache","customOptions","curr","mergedOptions","_route$key","_toPropertyKey","VISITED_ROUTE_KEYS","shouldPreventRemove","beforeRemoveListeners","currentRoutes","nextRoutes","_action$VISITED_ROUTE","nextRouteKeys","removedRoutes","reverse","visitedRouteKeys","beforeRemoveAction","_beforeRemoveListener","add","useOnAction","actionListeners","routerConfigOptions","onActionParent","onRouteFocusParent","addListenerParent","routerConfigOptionsRef","visitedNavigators","getStateForAction","shouldActionChangeFocus","useOnPreventRemove","isValidKey","getRouteConfigsFromChildren","groupKey","groupOptions","toArray","_child$type","_child$props","navigationKey","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","screenListeners","routeConfigs","routeKeyList","routeParamList","initialParams","routeGetIdList","isStateValid","isStateInitialized","currentState","stateCleanedUp","cleanUpState","_React$useMemo","_route$params4","_route$params5","initialRouteParamList","_route$params","_route$params2","_route$params3","initialParamsFromParams","getRehydratedState","getInitialState","_React$useMemo2","initializedState","isFirstStateInitialization","previousRouteKeyListRef","previousRouteKeyList","nextState","aKeys","bKeys","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","previousNestedParamsRef","previousParams","updatedState","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","_route","_route2","descriptors","lastFocusedKeyRef","currentFocusedKey","lastFocusedKey","useFocusEvents","childListeners","sourceRouteKey","getStateForRouteFocus","useOnRouteFocus","navigatorId","parentNavigationHelpers","op","navigationHelpers","useNavigationHelpers","focusedListeners","_listener2","useFocusedListenersChildrenAdapter","getStateListeners","_getStateListeners$ro","childState","useOnGetState","CurrentRenderContext","useCurrentRender","useNavigationContainerRef","useNavigationState","selector","setResult","selectorRef","usePreventRemoveContext","useRoute","usePreventRemove","beforeRemoveListener","TYPE_ROUTE","TabActions","jumpTo","getRouteHistory","backBehavior","initialRouteIndex","history","unshift","changeIndex","TabRouter","_ref$backBehavior","BaseRouter","partialState","_ref6","_ref7","_state$routes","_state$history","min","currentId","nextId","previousKey","DrawerActions","openDrawer","closeDrawer","toggleDrawer","DrawerRouter","_ref$defaultStatus","defaultStatus","isDrawerInHistory","addDrawerToHistory","status","removeDrawerFromHistory","StackActions","count","popToTop","StackRouter","_action$payload","_action$payload$path","_action$payload$key","for","d","f","m","n","x","y","z","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","contexts","getNamedContext","initialValue","global","_global$contexts","_Dimensions$get","Dimensions","_Dimensions$get$width","_Dimensions$get$heigh","initialMetrics","initialWindowMetrics","frame","insets","top","left","right","bottom","SafeAreaProviderCompat","SafeAreaInsetsContext","Consumer","SafeAreaProvider","flex","getHeaderTitle","fallback","headerTitle","title","useTheme","ThemeContext","Background","colors","background","getDefaultHeaderHeight","layout","modalPresentation","statusBarHeight","isLandscape","isPad","isTV","dimensions","useSafeAreaFrame","useSafeAreaInsets","isParentHeaderShown","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","focused","_props$modal","modal","header","_props$headerShown","headerShown","headerTransparent","_props$headerStatusBa","headerStatusBarHeight","headerHeight","setHeaderHeight","accessibilityElementsHidden","importantForAccessibility","content","onLayout","nativeEvent","absolute","position","HeaderBackground","Animated","card","borderBottomColor","border","shadowColor","elevation","ios","shadowOpacity","shadowRadius","shadowOffset","hairlineWidth","borderBottomWidth","HeaderTitle","tintColor","accessibilityRole","numberOfLines","Header","_props$layout","customTitle","_props$headerTitleAli","headerTitleAlign","headerLeft","headerLeftLabelVisible","headerTintColor","headerBackground","headerRight","titleAllowFontScaling","headerTitleAllowFontScaling","titleStyle","headerTitleStyle","leftContainerStyle","headerLeftContainerStyle","rightContainerStyle","headerRightContainerStyle","titleContainerStyle","headerTitleContainerStyle","backgroundContainerStyle","headerBackgroundContainerStyle","customHeaderStyle","headerStyle","headerShadowVisible","headerPressColor","headerPressOpacity","defaultHeight","_StyleSheet$flatten","flatten","_StyleSheet$flatten$h","minHeight","maxHeight","borderBottomEndRadius","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStartRadius","borderColor","borderEndColor","borderEndWidth","borderLeftColor","borderLeftWidth","borderRightColor","borderRightWidth","borderStartColor","borderStartWidth","borderStyle","borderTopColor","borderTopEndRadius","borderTopLeftRadius","borderTopRightRadius","borderTopStartRadius","borderTopWidth","borderWidth","boxShadow","transform","safeStyles","styleProp","backgroundStyle","leftButton","pressColor","pressOpacity","labelVisible","rightButton","absoluteFill","zIndex","expand","marginStart","maxWidth","marginEnd","marginHorizontal","flexGrow","flexBasis","MaskedView","AnimatedPressable","createAnimatedComponent","Pressable","ANDROID_SUPPORTS_RIPPLE","Version","PlatformPressable","android_ripple","_ref$pressOpacity","dark","Value","animateTo","toValue","duration","timing","easing","Easing","inOut","quad","useNativeDriver","start","HeaderBackButton","backImage","label","labelStyle","_ref$labelVisible","onLabelLayout","screenLayout","customTintColor","titleLayout","_ref$truncatedLabel","truncatedLabel","_ref$accessibilityLab","accessibilityLabel","testID","initialLabelWidth","setInitialLabelWidth","primary","handleLabelLayout","accessible","requestAnimationFrame","androidRipple","hitSlop","iconWithLabel","require","fadeDuration","leftLabelText","labelElement","labelWrapper","minWidth","maskElement","iconMaskContainer","iconMask","iconMaskFillerRect","renderLabel","borderless","foreground","radius","marginVertical","letterSpacing","marginLeft","resizeMode","scaleX","I18nManager","getConstants","isRTL","margin","alignSelf","TRANSPARENT_PRESENTATIONS","NativeStackView","parentHeaderBack","HeaderBackContext","_state$routes2","nextKey","previousDescriptor","nextDescriptor","_descriptors$route$ke","headerBack","headerBackImageSource","headerBackTitle","presentation","contentStyle","nextPresentation","back","contentContainer","_useNavigationBuilder","_navigation$addListen","LinkingContext","ThemeProvider","createMemoryHistory","pending","interrupt","_window$history$state","backIndex","pushState","_window$history$state2","pathWithHash","location","replaceState","go","nextIndex","lastItemIndex","done","interrupted","clearTimeout","timer","addEventListener","onPopState","_window$history$state3","currentIndex","last","removeEventListener","findMatchingState","aHistoryLength","bHistoryLength","aRoute","bRoute","aChildState","bChildState","useLinking","_ref$enabled","enabled","_ref$getStateFromPath","getStateFromPathDefault","_ref$getPathFromState","getPathFromStateDefault","_ref$getActionFromSta","getActionFromStateDefault","enabledRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","server","ServerContext","search","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","_previousIndexRef$cur","previousIndex","record","rootState","warn","message","_ref$current","getPathForRoute","stateForPath","isEqual","previousState","pendingPath","_findMatchingState","_findMatchingState2","previousFocusedState","focusedState","historyDelta","queue","series","REACT_NAVIGATION_DEVTOOLS","WeakMap","_ref$theme","theme","DefaultTheme","linking","_ref$fallback","documentTitle","onReady","isLinkingEnabled","refContainer","_ref$formatter","formatter","useDocumentTitle","prefixes","_useThenable","promise","cancelled","useThenable","_useThenable2","isResolved","linkingContext","onReadyRef","_onReadyRef$current","BaseNavigationContainer","notification","nativeEmitterSubscriptionKey","EventEmitter","nativeModule","_listenerCount","__expo_module_name__","EXReactNativeEventEmitter","_NativeModules$EXReac","addProxiedListener","removeListeners","_NativeModules$EXReac2","removeProxiedListeners","_nativeModule","_eventEmitter","NativeEventEmitter","eventName","startObserving","nativeEmitterSubscription","subscription","removeSubscription","removedListenerCount","listenerCount","removeAllListeners","invariant","stopObserving","remove","_this$_eventEmitter","_window$document","canUseEventListeners","attachEvent","canUseViewport","ReactNativePlatform","isAsyncDebugging","_Error","code","_wrapNativeSuper","UnavailabilityError","_CodedError","moduleName","propertyName","requireNativeViewManager","viewName","NativeModulesProxy","globalThis","ExpoModulesCore_CodedError","PermissionStatus","postedWarnings","deprecate","library","deprecatedAPI","currentVersion","versionToRemove","replacement","toUpperCase","codeFromLibrary","compareVersions","prependLibrary","requireNativeModule","_globalThis$expo$modu","_globalThis$expo","_globalThis$expo$modu2","_globalThis$ExpoModul","expo","modules","ExpoModules","createPermissionHook","isMounted","setStatus","_ref$get","_ref$request","request","permissionOptions","getPermission","response","getMethod","requestPermission","requestMethod","useEffect","usePermission","RCTDeviceEventEmitter","DeviceEventEmitter","AFTER_FIRST_UNLOCK","ExpoSecureStore","AFTER_FIRST_UNLOCK_THIS_DEVICE_ONLY","ALWAYS","WHEN_PASSCODE_SET_THIS_DEVICE_ONLY","ALWAYS_THIS_DEVICE_ONLY","WHEN_UNLOCKED","WHEN_UNLOCKED_THIS_DEVICE_ONLY","isAvailableAsync","_isAvailableAsync","getValueWithKeyAsync","deleteItemAsync","_deleteItemAsync","_ensureValidKey","deleteValueWithKeyAsync","getItemAsync","_getItemAsync","setItemAsync","_setItemAsync","bytes","codePoint","charCodeAt","next","_byteCount","_isValidValue","setValueWithKeyAsync","_isValidKey","ExpoStatusBar","unmountComponentAtNode","RootTagContext","AppContainer","WrapperComponent","innerView","appContainer","rootTag","hydrate","createSheet","domHydrateRoot","reactRoot","domCreateRoot","hydrateLegacy","domLegacyHydrate","unmount","renderLegacy","domLegacyRender","wrapperComponentProvider","emptyObject","runnables","componentProviderInstrumentationHook","AppRegistry","appKey","appParameters","getApplication","componentProvider","RootComponent","initialProps","getSheet","dangerouslySetInnerHTML","__html","textContent","run","shouldHydrate","mode","renderFn","renderApplication","registerRunnable","registerComponent","hook","provider","qualifiedComponent","tag","createRoot","registerRootComponent","App","__DEV__","State","UNDETERMINED","FAILED","BEGAN","CANCELLED","ACTIVE","END","TouchEventType","TOUCHES_DOWN","TOUCHES_MOVE","TOUCHES_UP","TOUCHES_CANCELLED","isJestEnv","object","process","JEST_WORKER_ID","tagMessage","msg","isFabric","_global","nativeFabricUIManager","deepEqual","obj1","obj2","keys1","keys2","INT32_MAX","handlerIDToTag","gestures","oldHandlers","testIDs","registerHandler","handlerTag","handler","unregisterHandler","findHandler","NodeManager","setTag","onDestroy","GestureStateManager","begin","getHandler","activate","fail","end","gestureHandlerEventSubscription","gestureHandlerStateChangeEventSubscription","gestureStateManagers","lastUpdateEvent","isStateChangeEvent","oldState","onGestureHandlerEvent","_handler$handlers7","_handler$handlers7$on","_handler$handlers8","_handler$handlers8$on","_handler$handlers9","_handler$handlers9$on","_handler$handlers10","_handler$handlers10$o","_handler$handlers$onB","_handler$handlers","handlers","onBegin","_handler$handlers$onF","_handler$handlers4","_handler$handlers$onE","_handler$handlers3","onEnd","onFinalize","_handler$handlers$onF2","_handler$handlers6","_handler$handlers$onE2","_handler$handlers5","_handler$handlers$onS","_handler$handlers2","onStart","eventType","isTouchEvent","manager","onTouchesDown","onTouchesMove","onTouchesUp","onTouchesCancelled","_handler$handlers$onU","_handler$handlers11","_handler$handlers$onC","_handler$handlers12","_handler$handlers$cha","_handler$handlers13","onUpdate","onChange","changeEventCalculator","oldHandler","findOldGestureHandler","onGestureStateChange","onGestureEvent","startListening","stopListening","useNewWebImplementation","getWasCalled","enableExperimentalWebImplementation","enableLegacyWebImplementation","shouldUseLegacyImplementation","isNewWebImplementationEnabled","EventTypes","PointerType","DEFAULT_TOUCH_SLOP","CircularBuffer","bufferSize","buffer","actualSize","at","Vector","offset","elements","other","sqrt","dot","Matrix","rows","columns","row","column","fromVOL","PolynomialFit","degree","coefficients","LeastSquareSolver","j","getRow","norm","inverseNorm","wy","VelocityTracker","samples","historySize","time","sampleCount","newestSample","previousSample","sample","age","delta","abs","horizonMilliseconds","assumePointerMoveStoppedMilliseconds","minSampleSize","xFit","solve","yFit","estimate","getVelocityEstimate","PointerTracker","lastMovedPointerId","NaN","touchEventsIds","trackedPointers","pointerId","newElement","abosoluteCoords","relativeCoords","offsetX","offsetY","timestamp","velocityX","velocityY","mapTouchEventId","cachedAbsoluteAverages","getAbsoluteCoordsAverage","cachedRelativeAverages","getRelativeCoordsAverage","removeMappedTouchId","velocityTracker","_this$velocityTracker","getVelocity","_this$velocityTracker2","mappedId","touchId","isNaN","getMappedTouchEventId","touchEventId","_this$trackedPointers","_this$trackedPointers2","_this$trackedPointers3","_this$trackedPointers4","_this$trackedPointers5","_this$trackedPointers6","_this$trackedPointers7","_this$trackedPointers8","_this$trackedPointers9","_this$trackedPointers10","coordsSum","getAbsoluteCoordsSum","avgX","avgY","getRelativeCoordsSum","ignoredPointer","sum","_value","stPointers","ndPointers","GestureHandlerOrchestrator","handlingChangeSemaphore","cleanupFinishedHandlers","setActive","setAwaiting","setActivationIndex","Number","MAX_VALUE","indexInGestureHandlers","gestureHandlers","indexInAwaitingHandlers","awaitingHandlers","awaitingHandlersTags","getTag","handlersToRemove","isFinished","isAwaiting","cleanHandler","otherHandler","shouldHandlerWaitForOther","shouldBeCancelledByFinishedHandler","cancel","hasOtherHandlerToWaitFor","addAwaitingHandler","handlerState","shouldActivate","makeActive","_this3","shouldHandlerBeCancelledBy","_this4","shouldWait","newState","sendIfDisabled","isEnabled","sendEvent","tryActivate","isActive","scheduleFinishedHandlersCleanup","cleanupAwaitingHandlers","setShouldResetProgress","activationIndex","MAX_SAFE_INTEGER","shouldWaitForHandlerFailure","shouldRequireToWaitForFailure","gh1","gh2","shouldRecognizeSimultaneously","canRunSimultaneously","shouldBeCancelledByOther","handlerPointers","getTrackedPointersID","otherPointers","shareCommonPointers","getDelegate","getView","checkOverlap","isPointerWithinBothBounds","pointer","point","getTracker","getLastAbsoluteCoords","isPointerInBounds","currentHandler","getPointerType","MOUSE","STYLUS","resetTracker","instance","InteractionManager","dropRelationsForHandlerWithTag","waitFor","waitForRelations","simultaneousHandlers","simultaneousRelations","blocksHandlers","blocksHandlersRelations","_handler","_otherHandler$isButto","isNativeHandler","constructor","isButton","MouseButton","commonProps","baseGestureHandlerProps","baseGestureHandlerWithDetectorProps","GestureHandler","delegate","_this$propsRef$curren","propsRef","onGestureHandlerStateChange","resultEvent","transformEventData","lastSentState","invokeNullableMethod","viewRef","init","setOnPointerDown","onPointerDown","setOnPointerAdd","onPointerAdd","setOnPointerUp","onPointerUp","setOnPointerRemove","onPointerRemove","setOnPointerMove","onPointerMove","setOnPointerEnter","onPointerEnter","setOnPointerLeave","onPointerLeave","setOnPointerCancel","onPointerCancel","setOnPointerOutOfBounds","onPointerOutOfBounds","setOnPointerMoveOver","onPointerMoveOver","setOnPointerMoveOut","onPointerMoveOut","registerListeners","tracker","onReset","resetProgress","getTrackedPointersCount","needsPointerData","cancelTouches","getInstance","onHandlerStateChange","_newState","_oldState","checkHitSlop","moveToState","onFail","onCancel","force","manualActivation","onActivate","awaiting","active","shouldResetProgress","shouldRequireHandlerToWaitForFailure","recordHandlerIfNotPresent","pointerType","TOUCH","cancelMouseAndPenGestures","tryToSendTouchEvent","tryToSendMoveEvent","shouldCancelWhenOutside","_event","out","sendTouchEvent","touchEvent","transformTouchEvent","numberOfPointers","pointerInside","transformNativeEvent","timeStamp","Date","now","_event$touchEventType","rect","measureView","changed","trackerData","getData","pageX","pageY","absoluteX","absoluteY","CANCEL","DOWN","ADDITIONAL_POINTER_DOWN","UP","ADDITIONAL_POINTER_UP","MOVE","numberOfTouches","touchEventType","changedTouches","allTouches","cancelEvent","lastCoords","lastRelativeCoords","onEnabledChange","setShouldCancelWhenOutside","validateHitSlops","removeHandlerFromOrchestrator","criterias","hasCustomActivationCriteria","_this$delegate$measur","horizontal","vertical","_this$tracker$getLast","mouseButton","LEFT","shouldCancel","method","__getHandler","argMapping","__nodeConfig","_ref3$","nativeValue","PanGestureHandler","_GestureHandler","_assertThisInitialized","MIN_SAFE_INTEGER","_get","_getPrototypeOf","resetConfig","checkCustomActivationCriteria","customActivationProperties","minDist","minDistSq","minPointers","maxPointers","minVelocity","minVelocityX","minVelocityY","activateAfterLongPress","activeOffsetXStart","activeOffsetXEnd","failOffsetXStart","failOffsetXEnd","activeOffsetYStart","activeOffsetYEnd","failOffsetYStart","failOffsetYEnd","minVelocitySq","translationX","getTranslationX","translationY","getTranslationY","lastX","startX","lastY","startY","activationTimeout","isButtonInConfig","button","addToTracker","tryBegin","checkBegan","removeFromTracker","clearActivationTimeout","track","velocity","getShouldCancelWhenOutside","dx","dy","distanceSq","vx","vy","velocitySq","shouldFail","TapGestureHandler","numberOfTaps","maxDurationMs","maxDelayMs","maxDeltaX","maxDeltaY","maxDist","maxDistSq","minNumberOfPointers","waitTimeout","delayTimeout","clearTimeouts","tapsSoFar","currentMaxNumberOfPointers","trySettingPosition","updateState","startTap","endTap","distSq","LongPressGestureHandler","DEFAULT_MAX_DIST_DP","defaultMaxDistSq","enableContextMenu","startTime","minDurationMs","absoluteCoordsAverage","checkDistanceFail","previousTime","ScaleGestureDetector","onScaleBegin","onScale","onScaleEnd","spanSlop","minSpan","currentTime","numOfPointers","streamComplete","inProgress","initialSpan","configChanged","pointerUp","div","focusX","focusY","devSumX","devSumY","spanX","spanY","span","hypot","wasInProgress","prevSpan","currentSpan","prevTime","PinchGestureHandler","detector","startingSpan","getCurrentSpan","prevScaleFactor","getScaleFactor","getTimeDelta","_detector","scaleDetectorListener","focalX","scaleGestureDetector","getFocusX","focalY","getFocusY","onTouchEvent","RotationGestureDetector","onRotationBegin","onRotation","onRotationEnd","_this$keyPointers","keyPointers","firstPointerID","secondPointerID","firstPointerCoords","secondPointerCoords","vectorX","vectorY","anchorX","anchorY","angle","atan2","rotation","previousAngle","PI","isInProgress","pointerIDs","setKeyPointers","updateCurrent","finish","ROTATION_RECOGNITION_THRESHOLD","RotationGestureHandler","previousRotation","getRotation","rotationGestureListener","getAnchorX","getAnchorY","rotationGestureDetector","cachedAnchorX","cachedAnchorY","_force","Directions","RIGHT","DiagonalDirections","UP_RIGHT","DOWN_RIGHT","UP_LEFT","DOWN_LEFT","_magnitude","isMagnitudeSufficient","unitX","unitY","vector","threshold","computeSimilarity","direction","_DirectionToVectorMap","DirectionToVectorMappings","getBoundingClientRect","PointerTypeMapping","OTHER","coneToDeviation","degrees","cos","degToRad","calculateViewScale","_RegExp$exec","getComputedStyle","resultScales","scaleY","matrixElements","matrixElementsArray","DEFAULT_DIRECTION","AXIAL_DEVIATION_COSINE","DIAGONAL_DEVIATION_COSINE","FlingGestureHandler","numberOfPointersRequired","maxNumberOfPointersSimultaneously","velocityVector","fromVelocity","keyPointer","getAlignment","minimalAlignmentCosine","isSimilar","fromDirection","axialDirectionsList","diagonalDirectionsList","axialAlignmentList","diagonalAlignmentList","isAligned","isFast","magnitude","tryEndFling","newPointerAction","startFling","pointerMoveAction","onUp","endFling","NativeViewGestureHandler","restoreViewStyles","buttonRole","getAttribute","shouldActivateOnStart","disallowInterruption","disallowsInterruption","canBeInterrupted","ManualGestureHandler","HoverGestureHandler","win","TypeError","output","VENDOR_PREFIXES","TEST_ELEMENT","prefixed","property","prefix","prop","camelProp","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","TOUCH_ACTION_AUTO","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_NONE","TOUCH_ACTION_PAN_X","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","supports","val","getTouchActionProps","SUPPORT_TOUCH","SUPPORT_POINTER_EVENTS","SUPPORT_ONLY_TOUCH","INPUT_TYPE_TOUCH","INPUT_TYPE_MOUSE","DIRECTION_DOWN","DIRECTION_VERTICAL","DIRECTION_UP","PROPS_XY","PROPS_CLIENT_XY","each","iterator","boolOrFn","inStr","TouchAction","compute","toLowerCase","update","recognizers","recognizer","enable","getTouchAction","hasPanX","hasPanY","cleanTouchActions","preventDefaults","srcEvent","offsetDirection","session","prevented","hasNone","isTapPointer","pointers","isTapMovement","distance","isTapTouchTime","deltaTime","DIRECTION_LEFT","preventSrc","hasParent","node","parent","parentNode","getCenter","pointersLength","clientX","clientY","simpleCloneInputData","center","deltaX","deltaY","getDistance","p1","p2","getAngle","getDirection","computeInputData","firstInput","firstMultiple","offsetCenter","offsetDelta","prevDelta","prevInput","computeDeltaXY","overallVelocity","overallVelocityX","overallVelocityY","lastInterval","computeIntervalInputData","srcEventTarget","composedPath","inputHandler","pointersLen","changedPointersLen","changedPointers","isFirst","isFinal","recognize","splitStr","addEventListeners","types","removeEventListeners","getWindowForElement","doc","ownerDocument","defaultView","parentWindow","Input","inputTarget","domHandler","ev","evEl","evTarget","evWin","inArray","findByKey","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","MSPointerEvent","PointerEvent","PointerEventInput","proto","store","removePointer","eventTypeNormalized","isTouch","storeIndex","uniqueArray","results","TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","TouchInput","targetIds","touches","getTouches","targetTouches","identifier","changedTargetTouches","touch","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","MouseInput","pressed","which","setLastTouch","eventData","primaryTouch","lastTouch","lts","lastTouches","recordTouches","isSyntheticEvent","TouchMouseInput","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","mouse","invokeArrayArg","arg","fn","STATE_FAILED","_uniqueId","getRecognizerByNameIfManager","otherRecognizer","stateStr","Recognizer","simultaneous","requireFail","recognizeWith","dropRecognizeWith","requireFailure","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","TapRecognizer","taps","interval","posThreshold","pTime","pCenter","_timer","_input","validPointers","validMovement","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","AttrRecognizer","attrTest","optionPointers","isRecognized","isValid","directionStr","PanRecognizer","DIRECTION_HORIZONTAL","pX","pY","directionTest","hasMoved","SwipeRecognizer","PinchRecognizer","RotateRecognizer","PressRecognizer","validTime","domEvents","inputClass","cssProps","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","preset","toggleCssProps","oldCssProps","Manager","defaults","stop","stopped","curRecognizer","existing","targetRecognizer","on","events","off","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","triggerDomEvent","SINGLE_TOUCH_INPUT_MAP","SingleTouchInput","started","normalizeSingleTouches","deprecationMessage","log","extend","dest","inherit","base","properties","childP","baseP","_super","bindFn","Hammer","VERSION","DIRECTION_ALL","DIRECTION_RIGHT","DIRECTION_NONE","INPUT_START","INPUT_MOVE","INPUT_END","INPUT_CANCEL","STATE_POSSIBLE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","Tap","Pan","Swipe","Pinch","Rotate","Press","DEG_RAD","EventMap","Direction","getNodes","ghQueueMicrotask","setImmediate","queueMicrotask","gestureInstances","removePendingGesture","clearSelfAsPending","hammer","getHammerConfig","isGestureRunning","hasGestureFailed","shouldEnableGestureOnSetup","isDiscrete","_stillWaiting","_getPendingGestures","deltaRotation","initialRotation","_this$isGestureEnable","isGestureEnabledForEvent","getConfig","success","failed","simulateCancelEvent","gestureInstance","_gesture","pendingGestures","_recognizer","_ref2$enabled","ensureConfig","updateHasCustomActivationCriteria","addPendingGesture","sync","changedTouch","isPointInView","onWaitingEnded","cancelPendingGestures","notifyPendingGestures","onGestureEnded","_config$simultaneousH","_config$simultaneousH2","isNative","SUPPORTS_TOUCH","findNodeHandle","shouldUseTouchEvents","NativeGestureClass","onRawEvent","setupEvents","onGestureActivated","__initialX","__initialY","_inputData","asArray","setView","_ref8","_ref8$","isnan","isValidNumber","TEST_MIN_IF_NOT_NAN","limit","VEC_LEN_SQ","_ref$x","_ref$y","TEST_MAX_IF_NOT_NAN","fireAfterInterval","DiscreteGestureHandler","_ref3$center","pointerLength","validPointerCount","shouldFailUnderCustomCriteria","_DiscreteGestureHandl","PressGestureHandler","_defineProperty2","onGestureStart","shouldDelayTouches","visualFeedbackTimer","initialEvent","sendGestureStartedEvent","shouldDelayTouchForEvent","timeout","_ref3$shouldActivateO","_ref3$disallowInterru","_ref3$shouldCancelWhe","_ref3$minDurationMs","_ref3$maxDist","_ref3$minPointers","_ref3$maxPointers","_PressGestureHandler","contains","forceInvalidate","DraggingGestureHandler","_ref$center","ratio","_DraggingGestureHandl","directions","horizontalDirections","verticalDirections","criteria","deltaScale","absDeltaRotation","shouldActivateUnderCustomCriteria","shouldMultiFingerPanFail","_shouldFireEndEvent","onSuccessfulTap","_multiTapTimer","_ref$shouldCancelWhen","_ref$maxDeltaX","_ref$maxDeltaY","_ref$numberOfTaps","_ref$minDurationMs","_ref$maxDelayMs","_ref$maxDurationMs","_ref$maxDist","_ref$minPointers","_ref$maxPointers","_get2","IndiscreteGestureHandler","_IndiscreteGestureHan","_this$initialRotation","GesturePropError","expectedType","_ref3$numberOfPointer","Gestures","HammerGestures","HammerNativeViewGestureHandler","HammerPanGestureHandler","HammerTapGestureHandler","HammerLongPressGestureHandler","HammerPinchGestureHandler","HammerRotationGestureHandler","EventManager","activePointersCounter","pointersInBounds","POINTER_CAPTURE_EXCLUDE_LIST","PointerTypes","PointerEventManager","_EventManager","adaptedEvent","mapEvent","tagName","setPointerCapture","markAsInBounds","releasePointerCapture","markAsOutOfBounds","lastPosition","hasPointerCapture","inBounds","pointerIndex","ENTER","LEAVE","mouseButtonsMapper","MIDDLE","BUTTON_4","BUTTON_5","Infinity","pointerDownCallback","pointerUpCallback","pointerMoveCallback","pointerCancelCallback","pointerEnterCallback","pointerLeaveCallback","lostPointerCaptureCallback","_PointerTypeMapping$g","_calculateViewScale","TouchEventManager","touchType","touchStartCallback","touchMoveCallback","touchEndCallback","touchCancelCallback","KeyboardEventManager","cancelationKeys","isPressed","activationKeys","HTMLElement","keyDownCallback","keyUpCallback","viewRect","viewportPosition","relativePosition","KEY","GestureHandlerWebDelegate","isInitialized","gestureHandler","defaultViewStyles","setUserSelect","setTouchAction","setContextMenu","eventManagers","attachEventManager","resetManager","activeCursor","shouldDisableContextMenu","disableContextMenu","stopPropagation","isHandlerEnabled","addContextMenuListeners","removeContextMenuListeners","tryResetCursor","unregisterListeners","handleSetJSResponder","blockNativeResponder","handleClearJSResponder","createGestureHandler","handlerName","GestureClass","configureInteractions","HammerNodeManager","updateGestureHandler","attachGestureHandler","newView","_actionType","newConfig","updateGestureConfig","getGestureHandlerNode","dropGestureHandler","flushOperations","GestureHandlerRootView","GestureHandlerRootViewContext","gestureHandlerRootHOC","Component","containerStyles","Wrapper","hoistNonReactStatics","getNextHandlerTag","filterConfig","validProps","filteredConfig","transformIntoHandlerTags","handlerIDs","handle","handlerID","_handlerID$current","findNodeHandleRN","flushOperationsScheduled","scheduleFlushOperations","RNGestureHandlerModule","ActionType","UIManagerAny","UIManager","customGHEventsConfig","registrationName","topOnGestureHandlerEvent","topOnGestureHandlerStateChange","genericDirectEventTypes","UIManagerConstants","_UIManagerAny$getView","_UIManagerAny$getView2","getViewManagerConfig","_UIManagerAny$getCons","_UIManagerAny$setJSRe","setJSResponder","oldSetJSResponder","_UIManagerAny$clearJS","clearJSResponder","oldClearJSResponder","allowTouches","DEV_ON_ANDROID","hasUnresolvedRefs","extract","refs","stateToPropMappings","createHandler","_ref$allowedProps","allowedProps","_ref$config","transformProps","_ref$customNativeProp","customNativeProps","Handler","_this$props$onGesture","_this$props$onGesture2","_this$props2","_this$props$onHandler","_this$props3","stateEventName","eventHandler","_this$props$onGesture3","_this$props4","viewNode","newViewTag","viewTag","registerOldGestureHandler","actionType","_this$props5","_this$props6","isGestureHandlerWorklet","_this$inspectorToggle","inspectorToggleListener","remainingTries","updates","mergedProps","_this$props$testID","gestureEventHandler","_this$props7","gestureStateEventHandler","_this$props8","grandChildren","refHandler","collapsable","handlerType","tapGestureHandlerProps","forceTouchAvailable","forceTouchGestureHandlerProps","ForceTouchFallback","ForceTouchGestureHandler","PlatformConstants","longPressGestureHandlerProps","panGestureHandlerProps","panGestureHandlerCustomNativeProps","res","activeOffsetX","activeOffsetY","failOffsetX","failOffsetY","transformPanGestureHandlerProps","flingGestureHandlerProps","nativeViewGestureHandlerProps","nativeViewProps","NATIVE_WRAPPER_PROPS_FILTER","createNativeWrapper","_Component$render","ComponentWrapper","gestureHandlerProps","_gestureHandlerRef","useImperativeHandle","Reanimated","CALLBACK_TYPE","UNDEFINED","START","UPDATE","CHANGE","FINALIZE","Gesture","nextGestureId","BaseGesture","_Gesture","_callSuper","gestureId","isWorklet","__workletHash","runOnJS","addDependency","testId","cancelsTouchesInView","localGlobal","nativeCallSyncHook","__REMOTEDEV__","RN$Bridgeless","isRemoteDebuggingEnabled","ContinousBaseGesture","_BaseGesture","_Reanimated","useSharedValue","_worklet_7298969188432_init_data","setGestureState","reactNativeGestureHandler_reanimatedWrapperJs1","__closure","__initData","HoverEffect","_worklet_4317557963300_init_data","_worklet_2039840524711_init_data","touchEventTypeToCallbackType","_worklet_17409932184457_init_data","runWorklet","_worklet_7889847699524_init_data","_worklet_13087507825621_init_data","_worklet_615977787608_init_data","_worklet_15895574323364_init_data","changePayload","changeX","changeY","HoverGesture","_ContinousBaseGesture","hoverEffect","ALLOWED_PROPS","convertToHandlerTag","_ref$current$handlerT","extractValidHandlerTags","interactionGroup","_interactionGroup$map","_interactionGroup$map2","extractGestureRelations","requireToFail","simultaneousWith","attachHandlers","preparedGesture","gestureConfig","gesturesToAttach","webEventHandlersRef","initialize","prepare","shouldUseReanimated","attachedGestures","animatedHandlers","needsToReattach","newGestures","dropHandlers","Wrap","AnimatedWrap","_Reanimated$default$c","_Reanimated$default","useDetectorUpdater","forceRender","renderState","setRenderState","useForceRender","updateAttachedGestures","skipConfigUpdate","didUnderlyingViewChange","previousViewTag","forceRebuildReanimatedEvent","shouldUpdateSharedValueIfUsed","newHandlersValue","updateHandlers","GestureDetector","useContext","toGestureArray","propagateDetectorConfig","firstRender","animatedEventHandler","useViewRefHandler","needsToRebuildReanimatedEvent","needsRebuild","sharedHandlersCallbacks","stateControllers","reactNativeGestureHandler_useAnimatedGestureJs6","currentCallback","_gesture$changeEventC","useEvent","useAnimatedGesture","useLayoutEffect","FlingGesture","_worklet_6555184671956_init_data","forceChange","ForceTouchGesture","minForce","maxForce","feedbackOnActivation","extendRelation","currentRelation","extendWith","ComposedGesture","simultaneousGestures","requireGesturesToFail","prepareSingleGesture","flatMap","SimultaneousGesture","_ComposedGesture","simultaneousArrays","ExclusiveGesture","_ComposedGesture2","gestureArrays","LongPressGesture","_worklet_6591024890621_init_data","PanGesture","avgTouches","enableTrackpadTwoFingerGesture","_worklet_168466708215_init_data","scaleChange","PinchGesture","_worklet_3631609729009_init_data","rotationChange","RotationGesture","TapGesture","delay","NativeGesture","_worklet_8341633256781_init_data","_previous","ManualGesture","GestureObjects","Rotation","Fling","LongPress","ForceTouch","Native","Manual","Hover","Race","_construct","Simultaneous","Exclusive","RawButton","GestureHandlerButton","InnerBaseButton","lastActive","onActiveStateChange","longPressDetected","longPressTimeout","_this$props$onLongPre","handleEvent","rippleColor","innerRef","BaseButton","AnimatedBaseButton","btnStyles","InnerRectButton","_React$Component2","_this$props$onActiveS","_excluded2","resolvedStyle","RectButton","InnerBorderlessButton","_React$Component3","_this$props$onActiveS2","_excluded3","BorderlessButton","UnimplementedView","unimplementedViewStyles","TOUCHABLE_STATE","GenericTouchable","_Component","onMoveIn","onMoveOut","STATE","handlePressIn","_this$props$onPress","shouldCallOnPress","pressOutTimeout","handleGoToUndetermined","pressInTimeout","onLongPressDetected","_this$props$onStateCh","_this$props$onPressIn","_this$props$onPressOu","_this$props$onPressOu2","handleMoveOutside","_this$props$touchSoun","coreProps","accessibilityHint","accessibilityState","accessibilityActions","onAccessibilityAction","nativeID","containerStyle","touchSoundDisabled","extraButtonProps","exclusive","TouchableWithoutFeedback","TouchableOpacity","childStyle","valueOf","getChildStyleOpacityWithDefault","_this$props$useNative","useNativeAnimations","_from","to","setOpacityTo","_this$props$style","_this$props$onShowUnd","extraChildStyle","extraUnderlayStyle","_this$props$onHideUnd","compose","_this$props3$style","renderChildren","CSS_UNIT_RE","multiple","isFinite","thumbDefaultBoxShadow","thumbFocusedBoxShadow","defaultDisabledTrackColor","defaultDisabledThumbColor","Switch","ariaLabel","activeThumbColor","activeTrackColor","_props$disabled","onValueChange","_props$style","thumbColor","trackColor","_props$value","thumbRef","handleFocusState","styleHeight","styleWidth","multiplyStyleLengthValue","trackBorderRadius","trackCurrentColor","true","false","thumbCurrentColor","thumbHeight","thumbWidth","rootStyle","cursorDefault","disabledTrackColor","disabledThumbColor","trackStyle","thumbStyle","thumb","thumbActive","nativeControl","checked","onBlur","onFocus","cursorInherit","role","forcedColorAdjust","absoluteFillObject","transitionDuration","insetInlineStart","appearance","ScrollView","RNScrollView","RNSwitch","TextInput","RNTextInput","DrawerLayoutAndroid","RefreshControl","FlatList","RNFlatList","renderScrollComponent","scrollProps","Swipeable","_props","friction","overshootFriction","dragX","rowTranslation","_state$leftWidth","leftWidth","_state$rowWidth","rowWidth","_state$rightOffset","rightOffset","rightWidth","_props$overshootLeft","overshootLeft","_props$overshootRight","overshootRight","transX","interpolate","inputRange","outputRange","showLeftAction","leftActionTranslate","MIN_VALUE","extrapolate","showRightAction","rightActionTranslate","close","handleRelease","_this$props$onSwipeab","_this$props$onSwipeab2","_ev$nativeEvent","rowState","onSwipeableOpenStartDrag","onSwipeableCloseStartDrag","_ev$nativeEvent2","_this$state","_this$state$leftWidth","_this$state$rowWidth","_this$state$rightOffs","_this$props13","_this$props13$leftThr","leftThreshold","_this$props13$rightTh","rightThreshold","startOffsetX","currentOffset","animateRow","fromValue","_this$props$onSwipeab8","_this$props$onSwipeab9","_this$props9","_this$state2","sign","spring","restSpeedThreshold","restDisplacementThreshold","bounciness","animationOptions","_this$props$onSwipeab3","_this$props$onSwipeab4","finished","onSwipeableLeftOpen","onSwipeableOpen","_this$props$onSwipeab5","_this$props$onSwipeab6","onSwipeableRightOpen","_this$props$onSwipeab7","closingDirection","onSwipeableClose","onSwipeableLeftWillOpen","onSwipeableWillOpen","_this$props$onSwipeab10","_this$props10","_this$props$onSwipeab11","_this$props11","onSwipeableRightWillOpen","_this$props$onSwipeab12","_this$props12","onSwipeableWillClose","_this$state3","_this$state3$leftWidt","_this$state3$rowWidth","_this$state$rightOffs2","_this$state$leftWidth2","_this$state$rowWidth2","_this$state$rightOffs3","_this$state4","_dragX","updateAnimatedEvent","_this$props14","renderLeftActions","renderRightActions","_this$props14$dragOff","dragOffsetFromLeftEdge","_this$props14$dragOff2","dragOffsetFromRightEdge","leftActions","translateX","rightActions","onRowLayout","onTapHandlerStateChange","childrenContainerStyle","numberAsInset","addInsets","_a$left","_b$left","_a$right","_b$right","_a$top","_b$top","_a$bottom","_b$bottom","touchDataToPressEvent","targetId","locationX","locationY","isTouchWithinInset","inset","_touch$x","_inset$right","_touch$y","_inset$bottom","_touch$x2","_inset$left","_touch$y2","_inset$top","gestureToPressableEvent","pressEvent","gestureToPressEvent","gestureTouchToPressableEvent","_event$allTouches$at$","_event$allTouches$at","_event$allTouches$at$2","_event$allTouches$at2","_event$allTouches$at$3","_event$allTouches$at3","_event$allTouches$at$4","_event$allTouches$at4","innerStyleKeys","splitStyles","from","outerStyles","innerStyles","DEFAULT_LONG_PRESS_DURATION","_worklet_13008698270117_init_data","_worklet_4962952881647_init_data","_worklet_13737626960471_init_data","_worklet_16520707553157_init_data","_worklet_5577263905475_init_data","_worklet_4081858526427_init_data","_worklet_11752004859077_init_data","_android_ripple$color","_android_ripple$radiu","pressRetentionOffset","delayHoverIn","onHoverIn","delayHoverOut","onHoverOut","unstable_pressDelay","android_disableSound","remainingProps","pressedState","setPressedState","pressableRef","isPressCallbackEnabled","hasPassedBoundsChecks","shouldPreventNativeEffects","normalizedHitSlop","normalizedPressRetentionOffset","hoverInTimeout","hoverOutTimeout","hoverGesture","reactNativeGestureHandler_PressableJs1","reactNativeGestureHandler_PressableJs2","pressDelayTimeoutRef","isTouchPropagationAllowed","deferredEventPayload","pressInHandler","handlingOnTouchesDown","pressOutHandler","longPressTimeoutRef","onEndHandlingTouchesDown","cancelledMidPress","activateLongPress","longPressMinDuration","pressAndTouchGesture","minDuration","maxDistance","reactNativeGestureHandler_PressableJs3","_pressableRef$current","measure","_y","_onEndHandlingTouches","reactNativeGestureHandler_PressableJs4","reactNativeGestureHandler_PressableJs5","buttonGesture","reactNativeGestureHandler_PressableJs6","reactNativeGestureHandler_PressableJs7","appliedHitSlop","isPressableEnabled","defaultRippleColor","pointerStyle","childrenProp","flattenedStyles","_splitStyles","_splitStyles2","NativeButton","rippleRadius","dismiss","dismissKeyboard","emptyFunction","StatusBar","setBackgroundColor","setBarStyle","setHidden","setNetworkActivityIndicatorVisible","setTranslucent","IDLE","DRAGGING","SETTLING","DrawerLayout","drawerPosition","drawerWidth","drawerType","dragXValue","touchXValue","touchX","drawerTranslation","containerWidth","multiply","dragOffsetFromOnStartPosition","openValue","gestureOptions","onDrawerSlide","_this$props$onDrawerS","floor","drawerWillShow","_this$props$onDrawerS2","onDrawerStateChanged","emitStateChanged","drawerState","keyboardDismissMode","Keyboard","hideStatusBar","statusBarAnimation","drawerShown","drawerLockMode","gestureStartX","dragOffsetBasedOnStart","animateDrawer","showing","_this$accessibilityIs","_this$pointerEventsVi","_this$panGestureHandl","accessibilityIsModalView","accessibilityViewIsModal","pointerEventsView","minSwipeDistance","edgeWidth","fromLeft","gestureOrientation","panGestureHandler","speed","nextFramePosition","willShow","updateShowing","_this$props$onDrawerO","_this$props$onDrawerC","drawerOpened","onDrawerOpen","onDrawerClose","forceUpdate","dynamicOverlayStyles","overlayColor","overlay","drawerBackgroundColor","drawerContainerStyle","contentContainerStyle","drawerSlide","containerSlide","reverseContentDirection","dynamicDrawerStyles","drawerTranslateX","closedDrawerOffset","drawerStyles","main","handleContainerLayout","containerOnBack","containerInFront","renderOverlay","drawerContainer","renderNavigationView","onGestureRef","_touchX","_drawerTranslation","setPanGestureRef","openingHandlerStateChange","renderDrawer","Left","Right","DialogActions","isV3","useInternalTheme","actionsLength","v3Container","compact","uppercase","paddingBottom","paddingHorizontal","DialogContent","DialogIcon","_ref$size","themeOverrides","iconColor","secondary","wrapper","paddingTop","DialogScrollArea","borderStyles","surfaceVariant","flexShrink","marginBottom","DialogTitle","fonts","TextComponent","Title","headerTextStyle","onSurface","headlineSmall","variant","v3Text","marginTop","Dialog","_ref$dismissable","dismissable","_ref$dismissableBackB","dismissableBackButton","onDismiss","_ref$visible","visible","_useSafeAreaInsets","roundness","backgroundColorV2","surface","level3","Modal","Content","Actions","ScrollArea","leftInset","v3LeftInset","horizontalInset","bold","_ref$horizontalInset","_ref$bold","isDarkTheme","dividerColor","outlineVariant","white","black","alpha","string","Searchbar","forwardRef","_theme$colors","_theme$colors2","customIconColor","customRippleColor","onIconPress","_ref$searchAccessibil","searchAccessibilityLabel","clearIcon","_ref$clearAccessibili","clearAccessibilityLabel","onClearIconPress","traileringIcon","traileringIconColor","traileringIconAccessibilityLabel","customTraileringRippleColor","traileringRippleColor","onTraileringIconPress","_ref$mode","_ref$showDivider","showDivider","inputStyle","placeholder","_ref$elevation","_ref$loading","loading","_ref$testID","blur","placeholderTextColor","textColor","onSurfaceVariant","md2IconColor","bodyLarge","lineHeight","regular","isBarMode","shouldRenderTraileringIcon","Surface","MaterialCommunityIcon","outline","barModeInput","viewModeInput","selectionColor","underlineColorAndroid","returnKeyType","keyboardAppearance","ActivityIndicator","v3Loader","loader","v3ClearIcon","v3ClearIconHidden","_root$current","_rest$onChangeText","onChangeText","rightStyle","Divider","divider","paddingLeft","textAlign","getAndroidRippleColor","checkedColor","fade","getAndroidControlColor","uncheckedColor","onSurfaceDisabled","getAndroidSelectionControlColor","customColor","customUncheckedColor","accent","getAndroidCheckedColor","getAndroidUncheckedColor","selectionControlColor","getIOSRippleColor","CheckboxAndroid","scaleAnim","isFirstRendering","animation","sequence","indeterminate","_getAndroidSelectionC","TouchableRipple","accessibilityLiveRegion","fillContainer","fill","CheckboxIOS","_getSelectionControlI","getIOSCheckedColor","getSelectionControlIOSColor","Checkbox","CheckboxItem","checkbox","_ref$position","_ref$labelVariant","labelVariant","_ref$labelMaxFontSize","labelMaxFontSizeMultiplier","checkboxProps","isLeading","disabledTextColor","computedStyle","maxFontSizeMultiplier","paddingVertical","CheckboxComponent","Item","Android","IOS","memo","isChecked","checkboxColor","checkboxLabelStyle","checkboxUncheckedColor","dialog","dialogScrollView","touchableItem","textInput","textInputIcon","alignContent","searchbar","_textInputPropOverrid","arrayList","selectedArrayList","multiEnable","onSelection","_ref$disabled","_ref$hideSearchBox","hideSearchBox","_ref$selectAllEnable","selectAllEnable","_ref$textInputMode","textInputMode","inputRef","dialogTitle","_ref$selectAllText","selectAllText","_ref$searchText","searchText","_ref$dialogCloseButto","dialogCloseButtonText","_ref$dialogDoneButton","dialogDoneButtonText","errorText","textInputStyle","textInputOutlineStyle","dialogStyle","dialogTitleStyle","searchStyle","dialogCloseButtonStyle","dialogDoneButtonStyle","errorStyle","textInputPropOverrides","textInputProps","checkboxPropsOverrides","searchbarPropsOverrides","searchbarProps","underlineColor","activeUnderlineColor","outlineColor","activeOutlineColor","searchKey","setSearchKey","_useState3","_useState4","arrayHolder","setArrayHolder","_useState5","_useState6","list","setList","_useState7","_useState8","selectedList","setSelectedList","selfInputRef","selectInputRef","_useState9","_useState10","setVisible","_exists","_id","outlineStyle","showSoftInputOnFocus","newData","_filterFunction","selectedData","_checkAll","CheckboxInput","_isCheckedAll","renderItem","indexSelected","_onChecked","_onCheckedSingle","keyExtractor","keyboardShouldPersistTaps","finalText","el","layer","_ref$animating","animating","indicatorColor","_ref$hidesWhenStopped","hidesWhenStopped","indicatorSize","startRotation","isInteraction","loop","stopRotation","linear","frames","bezier","busy","frameIndex","progress","layerStyle","rotate","viewportStyle","translateY","offsetStyle","lineStyle","borderStyleProperties","getAppbarBackgroundColor","customBackground","elevated","isAdaptiveMode","level2","getAppbarColor","isDark","modeAppbarHeight","small","medium","large","modeTextVariant","renderAppbarContent","_ref2$shouldCenterCon","shouldCenterContent","renderOnly","renderExcept","_ref2$mode","v3Spacing","v2Spacing","centerAlignedContent","AppbarContent","titleColor","subtitle","subtitleStyle","titleRef","titleMaxFontSizeMultiplier","titleTextColor","subtitleColor","modeContainerStyles","v3DefaultContainer","v3MediumContainer","v3LargeContainer","contentWrapperProps","accessibilityTraits","touchableRole","accessibilityComponentType","iosTouchableRole","Appbar","safeAreaInsets","_ref2$elevation","restStyle","isMode","modeToCompare","isLight","isV3CenterAlignedMode","shouldAddLeftSpacing","shouldAddRightSpacing","hasAppbarContent","leftItemsCount","rightItemsCount","filterAppbarActions","spacingStyle","spacing","paddingRight","appbar","columnContainer","centerAlignedContainer","controlsRow","rightActionControls","AppbarAction","actionIconColor","animated","iosIconSize","accessibilityIgnoresInvertColors","AppbarBackAction","AppbarBackIcon","AppbarHeader","_ref$elevated","_ref2$height","_ref2$zIndex","borders","getAppbarBorders","shadow","AppbarComponent","Action","BackAction","getButtonColors","customButtonColor","customTextColor","surfaceDisabled","level1","secondaryContainer","getButtonBackgroundColor","onPrimary","onSecondaryContainer","getButtonTextColor","getButtonBorderColor","getButtonBorderWidth","iconReverse","md3Icon","md3IconCompact","md3IconReverse","md3IconReverseCompact","md3IconTextMode","md3IconTextModeCompact","md3IconReverseTextMode","md3IconReverseTextModeCompact","md2Label","compactLabel","uppercaseLabel","textTransform","md3Label","md3LabelText","md3LabelTextAddons","_borderRadiusStyles$b","buttonColor","uppercaseProp","hasPassedTouchHandler","hasTouchHandler","isElevationEntitled","initialElevation","activeElevation","borderRadiusStyles","iconSize","_getButtonColors","touchableStyle","buttonStyle","customLabelColor","customLabelSize","textStyle","labelLarge","constants","reactNativeVersion","minor","CardActions","CardContent","prev","total","siblings","cover","first","getCardCoverStyle","getBorderColor","getBackgroundColor","CardCover","coverStyle","image","grey200","StyledText","family","CardTitle","_ref$titleNumberOfLin","titleNumberOfLines","_ref$titleVariant","titleVariant","_ref$subtitleNumberOf","subtitleNumberOfLines","_ref$subtitleVariant","subtitleVariant","subtitleMaxFontSizeMultiplier","leftStyle","TitleComponent","SubtitleComponent","Caption","titles","Card","cardElevation","cardMode","elevationDarkAdaptive","prevDarkRef","prevDark","animationDuration","runElevationAnimation","pressType","isPressTypeIn","handlePressOut","computedElevation","_getCardColors","getCardColors","themedBorderColor","_flattenedStyles$bord","borderRadiusCombinedStyles","innerContainer","resetElevation","Cover","_ref$type","_ref$padding","shown","textHeight","_rest$maxFontSizeMult","getTextColor","AnimatedText","isImageSource","getIconId","isValidIcon","isEqualIcon","accessibilityProps","SettingsConsumer","selected","customContainerColor","inverseSurface","getRippleColor","currentIcon","setCurrentIcon","previousIcon","setPreviousIcon","opacityPrev","opacityNext","rotatePrev","rotateNext","containerColor","_ref$selected","_ref$animated","IconComponent","CrossFadeIcon","_getIconButtonColor","baseIconColorProps","inverseOnSurface","getIconColor","getIconButtonColor","buttonSize","_ref2$borderWidth","_ref2$borderRadius","centered","supported","MaterialCommunityIcons","isErrorLogged","_ref2$color","BackHandler","exitApp","useAnimatedValue","lazyRef","useLazyRef","_ref$overlayAccessibi","overlayAccessibilityLabel","_ref$onDismiss","visibleRef","onDismissCallback","rendered","setRendered","showModal","cubic","hideModal","prevVisible","onAccessibilityEscape","backdrop","PortalConsumer","checkManager","mount","settings","PortalContext","SettingsProvider","Host","PortalHost","withInternalTheme","PortalManager","_React$PureComponent","portals","setManager","MD2Surface","overrideTheme","_ref4$elevation","_useInternalTheme","outerLayerStyleProperties","iOSShadowOutputRanges","getStyleForShadowLayer","isAnimatedValue","SurfaceIOS","filteredStyles","outerLayerStyles","bgColor","isElevated","outerLayerViewStyles","innerLayerViewStyles","_ref3$elevation","overridenTheme","_ref3$testID","_ref3$mode","_colors$elevation2","_colors$elevation","_props$pointerEvents","elevationLevel","sharedStyle","AdornmentType","AdornmentSide","InputMode","ADORNMENT_SIZE","calculateLabelTopPosition","labelHeight","optionalPadding","customHeight","calculateInputHeight","finalHeight","calculatePadding","_props$multiline","multiline","calculateTextAreaPadding","calculateInputPadding","dense","topPosition","isAndroid","refFontSize","calculateFlatAffixTopPosition","affixHeight","calculateOutlinedIconAndAffixTopPosition","labelYOffset","getInputTextColor","isFlat","getActiveColor","_ref9","modeColor","getPlaceholderColor","_ref10","getSelectionColor","_ref11","activeColor","customSelectionColor","getFlatBackgroundColor","_ref12","lighten","darken","getFlatUnderlineColor","_ref13","getOutlinedOutlineInputColor","_ref14","customOutlineColor","isTransparent","AFFIX_OFFSET","ICON_OFFSET","LABEL_PADDING_TOP","LABEL_PADDING_HORIZONTAL","FLAT_INPUT_OFFSET","MIN_HEIGHT","INPUT_PADDING_HORIZONTAL","ADORNMENT_OFFSET","OUTLINED_INPUT_OFFSET","MIN_WIDTH","AffixContext","side","AffixAdornment","affix","TextInputAffix","onTextLayout","StyleContext","isTextInputFocused","forceFocus","IconAdornment","contextState","TextInputIcon","forceTextInputFocus","onPressWithFocusControl","iconButton","Underline","parentState","underlineColorCustom","hasActiveOutline","activeScale","underline","md3Underline","getAdornmentConfig","adornmentConfig","adornment","Affix","getAdornmentStyleAdjustmentForNativeInput","leftAffixWidth","rightAffixWidth","_ref3$inputOffset","inputOffset","_getConstants","isLeftSide","inputModeAdornemntOffset","Outlined","paddingKey","captalize","isAffix","marginKey","mergedStyles","currentStyle","charAt","onAffixChange","inputAdornmentComponent","labelContainer","labeled","wiggle","labelLayoutWidth","labelBackground","labelError","onLayoutAnimatedText","onLabelTextLayout","placeholderStyle","baseLabelTranslateX","baseLabelTranslateY","placeholderOpacity","wiggleOffsetX","labelScale","placeholderColor","errorColor","labelTranslationXOffset","inputContainerLayout","dims","setDims","handleChange","useWindowDimensions","paddingOffset","labelTranslationX","commonStyles","_ref$editable","editable","_ref$error","cursorColor","underlineStyle","_ref$render","NativeTextInput","_ref$multiline","onLeftAffixLayoutChange","onRightAffixLayoutChange","onInputLayout","fontSizeStyle","lineHeightStyle","viewStyle","isPaddingHorizontalPassed","_calculateFlatInputHo","calculateFlatInputHorizontalPadding","leftLayout","rightLayout","adornmentStyleAdjustmentForNativeInput","Flat","_getFlatInputColors","_ref15","baseFlatColorProps","inputTextColor","getFlatInputColors","fontScale","labelWidth","labelLayout","labelHalfWidth","labelHalfHeight","minInputHeight","inputHeight","paddingSettings","inputFlatDense","inputFlat","pad","paddingFlat","topResult","bottomResult","adjustPaddingFlat","placeholderOpacityAnims","measured","flatHeight","iconTopPosition","leftAffixTopPosition","rightAffixTopPosition","labelProps","labelTextLayout","affixTopPosition","adornmentProps","densePatchContainer","patchContainer","InputLabel","labelLayoutMeasured","textAlignVertical","TextInputAdornment","Outline","noLabelOutline","labelTextScaleY","labelTextTransform","outlinedLabel","_ref4$backgroundColor","_getOutlinedInputColo","_ref16","baseOutlinedColorProps","getOutlinedInputColors","densePaddingTop","yOffset","isAdornmentLeftIcon","isAdornmentRightIcon","inputOutlinedDense","inputOutlined","paddingOut","fontHeight","refFontHeight","adjustPaddingOut","onLayoutChange","outlinedHeight","LabelBackground","roundLayoutSize","DefaultRenderer","_ref$dense","errorProp","isControlled","validInputValue","defaultValue","setFocused","setPlaceholder","_React$useState5","_React$useState6","uncontrolledValue","setUncontrolledValue","_React$useState7","_React$useState8","setLabelTextLayout","_React$useState9","_React$useState10","setInputContainerLayout","_React$useState11","_React$useState12","setLabelLayout","_React$useState13","_React$useState14","setLeftLayout","_React$useState15","_React$useState16","setRightLayout","_root$current2","_root$current3","_root$current4","_root$current5","_root$current6","stopAnimation","handleFocus","_rest$onFocus","handleBlur","_rest$onBlur","handleChangeText","handleLayoutAnimatedText","handleLabelTextLayout","lines","line","ceil","handleInputContainerLayout","_root$current7","TextInputOutlined","TextInputFlat","PressableNative","getUnderlayColor","calculatedRippleColor","getTouchableRippleColors","calculatedUnderlayColor","_ref$borderless","disabledProp","hoverColor","rippleEffectEnabled","SettingsContext","touchY","_touch$locationX","_touch$locationY","currentTarget","_e$nativeEvent","setAttribute","ripple","transitionProperty","transitionTimingFunction","transformOrigin","containers","querySelectorAll","firstChild","hovered","transition","writingDirection","bodyMedium","customAnimatedText","initialTheme","NativeText","_theme$fonts","customText","_ref$alpha","isScreenReaderEnabled","prefersReducedMotionMedia","canUseDOM","matchMedia","AccessibilityInfo","isReduceMotionEnabled","matches","fetch","setAccessibilityFocus","reactTag","announceForAccessibility","announcement","listenerMapping","getColorScheme","addChangeListener","mappedListener","colorScheme","isOnlyVersionInTheme","version","colorSchemeName","Appearance","reduceMotionEnabled","setReduceMotionEnabled","setColorScheme","handleAppearanceChange","preferences","_subscription","appearanceSubscription","removeChangeListener","_props$theme","_props$theme2","themeVersion","scheme","extendedThemeBase","defaultThemesByVersion","getTheme","_tokens$md$ref","tokens","md","palette","MD3DarkTheme","MD3LightTheme","primary80","primaryContainer","primary30","secondary80","secondary30","tertiary","tertiary80","tertiaryContainer","tertiary30","neutral10","neutralVariant30","neutral90","error80","errorContainer","error30","primary20","onPrimaryContainer","primary90","onSecondary","secondary20","secondary90","onTertiary","tertiary20","onTertiaryContainer","tertiary90","neutralVariant80","level4","onError","error20","onErrorContainer","onBackground","neutralVariant60","neutral20","inversePrimary","primary40","neutral0","scrim","MD3Colors","neutralVariant20","level0","level5","_createTheming","createTheming","withTheme","useAppTheme","overrides","WrappedComponent","light","MD2LightTheme","MD2DarkTheme","adaptNavigationTheme","themes","reactNavigationLight","reactNavigationDark","materialLight","materialDark","getAdaptedTheme","navigationTheme","MD3Theme","MD3Themes","NavigationThemes","_modes$reduce","LightTheme","DarkTheme","getDynamicThemeElevations","elevations","elevationValue","mix","fontConfig","thin","configureFonts","_ref6$isV","typescale","variantName","variantProperties","configureV3Fonts","configureV2Fonts","_MD2DarkTheme$colors","surfaceColor","calculateColor","overlayTransparency","elevationOverlayTransparency","hex","SHADOW_COLOR","MD2Colors","SHADOW_OPACITY","MD3_SHADOW_OPACITY","MD3_SHADOW_COLOR","primary0","shadowHeight","v3Shadow","v2Shadow","pinkA100","tooltip","pinkA400","transparent","red50","red100","red200","red300","red400","red500","red600","red700","red800","red900","redA100","redA200","redA400","redA700","pink50","pink100","pink200","pink300","pink400","pink500","pink600","pink700","pink800","pink900","pinkA200","pinkA700","purple50","purple100","purple200","purple300","purple400","purple500","purple600","purple700","purple800","purple900","purpleA100","purpleA200","purpleA400","purpleA700","deepPurple50","deepPurple100","deepPurple200","deepPurple300","deepPurple400","deepPurple500","deepPurple600","deepPurple700","deepPurple800","deepPurple900","deepPurpleA100","deepPurpleA200","deepPurpleA400","deepPurpleA700","indigo50","indigo100","indigo200","indigo300","indigo400","indigo500","indigo600","indigo700","indigo800","indigo900","indigoA100","indigoA200","indigoA400","indigoA700","blue50","blue100","blue200","blue300","blue400","blue500","blue600","blue700","blue800","blue900","blueA100","blueA200","blueA400","blueA700","lightBlue50","lightBlue100","lightBlue200","lightBlue300","lightBlue400","lightBlue500","lightBlue600","lightBlue700","lightBlue800","lightBlue900","lightBlueA100","lightBlueA200","lightBlueA400","lightBlueA700","cyan50","cyan100","cyan200","cyan300","cyan400","cyan500","cyan600","cyan700","cyan800","cyan900","cyanA100","cyanA200","cyanA400","cyanA700","teal50","teal100","teal200","teal300","teal400","teal500","teal600","teal700","teal800","teal900","tealA100","tealA200","tealA400","tealA700","green50","green100","green200","green300","green400","green500","green600","green700","green800","green900","greenA100","greenA200","greenA400","greenA700","lightGreen50","lightGreen100","lightGreen200","lightGreen300","lightGreen400","lightGreen500","lightGreen600","lightGreen700","lightGreen800","lightGreen900","lightGreenA100","lightGreenA200","lightGreenA400","lightGreenA700","lime50","lime100","lime200","lime300","lime400","lime500","lime600","lime700","lime800","lime900","limeA100","limeA200","limeA400","limeA700","yellow50","yellow100","yellow200","yellow300","yellow400","yellow500","yellow600","yellow700","yellow800","yellow900","yellowA100","yellowA200","yellowA400","yellowA700","amber50","amber100","amber200","amber300","amber400","amber500","amber600","amber700","amber800","amber900","amberA100","amberA200","amberA400","amberA700","orange50","orange100","orange200","orange300","orange400","orange500","orange600","orange700","orange800","orange900","orangeA100","orangeA200","orangeA400","orangeA700","deepOrange50","deepOrange100","deepOrange200","deepOrange300","deepOrange400","deepOrange500","deepOrange600","deepOrange700","deepOrange800","deepOrange900","deepOrangeA100","deepOrangeA200","deepOrangeA400","deepOrangeA700","brown50","brown100","brown200","brown300","brown400","brown500","brown600","brown700","brown800","brown900","blueGrey50","blueGrey100","blueGrey200","blueGrey300","blueGrey400","blueGrey500","blueGrey600","blueGrey700","blueGrey800","blueGrey900","grey50","grey100","grey300","grey400","grey500","grey600","grey700","grey800","grey900","secondary40","tertiary40","neutral99","neutralVariant90","error40","error90","primary100","primary10","secondary100","secondary10","tertiary100","tertiary10","error100","error10","neutralVariant50","neutral95","primary99","primary95","primary70","primary60","primary50","secondary99","secondary95","secondary70","secondary60","secondary50","secondary0","tertiary99","tertiary95","tertiary70","tertiary60","tertiary50","tertiary0","neutral100","neutral80","neutral70","neutral60","neutral50","neutral40","neutral30","neutralVariant100","neutralVariant99","neutralVariant95","neutralVariant70","neutralVariant40","neutralVariant10","neutralVariant0","error99","error95","error70","error60","error50","error0","typeface","brandRegular","weightRegular","plainMedium","weightMedium","regularType","mediumType","displayLarge","displayMedium","displaySmall","headlineLarge","headlineMedium","titleLarge","titleMedium","titleSmall","labelMedium","labelSmall","bodySmall","sys","Module","_Module$addEventListe","_Module$removeEventLi","_Module$remove","_Module$addListener","touchableEvents","touchableEventObject","filters","newStyles","outer","PropsAllowlists","UI_THREAD_PROPS_WHITELIST","NATIVE_THREAD_PROPS_WHITELIST","paddingEnd","paddingStart","textShadowRadius","textShadowOffset","aspectRatio","columnGap","gap","rowGap","backfaceVisibility","textDecorationLine","fontVariant","textDecorationStyle","flexWrap","isJest","isChromeDebugger","isWeb","shouldBeUseWeb","_IS_FABRIC","isWindowAvailable","_worklet_8187195750612_init_data","isWorkletFunction","SensorType","IOSReferenceFrame","InterfaceOrientation","KeyboardState","ReduceMotion","mockedRequestAnimationFrame","performance","toPrimitive","_toPrimitive","configurable","writable","createReactDOMStyle","createTransformValue","createTextShadowValue","requestAnimationFrameImpl","JSReanimated","sensor","sensorType","ACCELEROMETER","GRAVITY","WEB_ANDROID","interfaceOrientation","GYROSCOPE","MAGNETIC_FIELD","ROTATION","_sensor$quaternion","quaternion","qw","qx","qy","qz","yaw","pitch","sin","roll","worklet","_name","_initializer","_eventHandler","_eventName","_emitterReactTag","_iosReferenceFrame","detectPlatform","getSensorName","protocol","WEB_IOS","initializeSensor","getSensorCallback","sensors","nextSensorId","referenceFrame","frequency","Accelerometer","Gyroscope","GravitySensor","Magnetometer","AbsoluteOrientationSensor","vendor","opera","UNKNOWN","WEB","_viewTag","_propName","_component","_callback","_shareable","ownKeys","getOwnPropertySymbols","getOwnPropertyDescriptor","getOwnPropertyDescriptors","reanimatedJS","_makeShareableClone","_scheduleOnJS","_scheduleOnRuntime","_updatePropsJS","isAnimatedProps","getAnimatableRef","_Object$keys$reduce","rawStyles","updatePropsDOM","dashedKey","_touchableNode","componentName","className","newProps","_component$setNativeP2","propName","_component$setNativeP","uiProps","previousStyle","domStyle","textShadowColor","textShadow","SHOULD_BE_USE_WEB","shareableMappingFlag","shareableMappingCache","shareable","shareableRef","MAGIC_KEY","_worklet_6235723271315_init_data","isHostObject","isPlainJSObject","getPrototypeOf","processedObjectAtThresholdDepth","_worklet_9883330094008_init_data","INACCESSIBLE_OBJECT","__init","reactNativeReanimated_shareablesJs2","Proxy","VALID_ARRAY_VIEWS_NAMES","DETECT_CYCLIC_OBJECT_DEPTH_THRESHOLD","_worklet_12912550984615_init_data","_worklet_5248003660769_init_data","_worklet_12925754861140_init_data","_worklet_15001677457555_init_data","makeShareableCloneRecursive","shouldPersistRemote","depth","isTypeFunction","toAdapt","cached","freezeObjectIfDev","__workletContextObjectFactory","workletContextObjectFactory","reactNativeReanimated_shareablesJs3","__stackDetails","flags","reactNativeReanimated_shareablesJs4","reactNativeReanimated_shareablesJs5","ArrayBuffer","isView","typeName","reactNativeReanimated_shareablesJs6","inaccessibleObject","adapted","NativeReanimatedModule","makeShareableClone","_worklet_7140175189813_init_data","isRemoteFunction","__remoteFunction","_worklet_4829768171363_init_data","makeShareableCloneOnUIRecursive","cloneRecursive","_worklet_3766025653260_init_data","makeShareable","reactNativeReanimated_shareablesJs9","_workletStackDetails","processStack","workletStackEntries","_match$split$map","_match$split$map2","origLine","origCol","errorDetails","_errorDetails","lineOffset","colOffset","_getBundleOffset","_error$stack","parsedFrame","_parsedFrame","col","getBundleOffset","_getBundleOffset2","bundleFile","reportFatalErrorOnJS","jsEngine","ErrorUtils","reportFatalError","IS_JEST","_runOnUIQueue","_worklet_12229374115564_init_data","setupMicrotasks","microtasksQueue","isExecutingMicrotasksQueue","__callMicrotasks","_maybeFlushUIUpdatesQueue","_worklet_10052503074960_init_data","callMicrotasksOnUIThread","callMicrotasks","_worklet_9259702186824_init_data","_worklet_2397368300769_init_data","_worklet_4355303211381_init_data","runOnUI","scheduleOnUI","reactNativeReanimated_threadsJs4","reactNativeReanimated_threadsJs5","_worklet_6795603396775_init_data","executeOnUIRuntimeSync","reactNativeReanimated_threadsJs6","_worklet_5201529481131_init_data","_worklet_10997190818029_init_data","runOnUIImmediately","reactNativeReanimated_threadsJs8","runWorkletOnJS","_worklet_11189698378337_init_data","fun","_WORKLET","_len5","_key5","_len6","_key6","_len7","_key7","IS_CHROME_DEBUGGER","_worklet_5087869149057_init_data","callGuardDEV","__ErrorUtils","_worklet_15161724921011_init_data","setupCallGuard","__callGuardDEV","capturableConsole","_worklet_11545106372959_init_data","setupConsole","assert","debug","info","_worklet_8877471204431_init_data","setupRequestAnimationFrame","nativeRequestAnimationFrame","animationFrameCallbacks","flushRequested","__flushAnimationFrame","frameTimestamp","currentCallbacks","__frameTimestamp","_worklet_2447542374917_init_data","_worklet_8092936786998_init_data","valueSetter","mutable","previousAnimation","_animation","onFrame","isHigherOrder","currentTimestamp","_getAnimationTimestamp","step","newTimestamp","_worklet_12571341806305_init_data","makeMutableUI","newValue","modify","modifier","_isReanimatedSharedValue","_worklet_10224316070379_init_data","_worklet_8508413276158_init_data","_worklet_944507117342_init_data","_worklet_7942251332728_init_data","makeMutable","reactNativeReanimated_mutablesJs2","reactNativeReanimated_mutablesJs3","sv","uiValueGetter","reactNativeReanimated_mutablesJs4","_newValue","reactNativeReanimated_mutablesJs5","Sensor","initSensorData","sensorId","registerSensor","iosReferenceFrame","unregisterSensor","SensorContainer","adjustToInterfaceOrientation","getSensorId","nativeSensors","newSensor","getSharedValue","isAvailable","isRunning","listenersNumber","_worklet_6111424988838_init_data","isSharedValue","_worklet_1831615820738_init_data","createMapperRegistry","mappers","sortedMappers","runRequested","processingMappers","updateMappersOrder","pre","mapper","outputs","preMappers","visited","newOrder","dfs","inputs","preMapper","mapperRun","dirty","maybeRequestUpdates","extractInputs","resultArray","mapperID","MAPPER_ID","_worklet_6546531365916_init_data","startMapper","reactNativeReanimated_mappersJs2","mapperRegistry","__mapperRegistry","_worklet_2151698497712_init_data","stopMapper","reactNativeReanimated_mappersJs3","_worklet_11917389040171_init_data","createWorkletRuntime","initializer","reactNativeReanimated_runtimesJs1","_worklet_3177613081027_init_data","_worklet_734813279060_init_data","_worklet_3463492873011_init_data","runOnRuntime","workletRuntime","reactNativeReanimated_runtimesJs3","scheduleOnRuntime","reactNativeReanimated_runtimesJs4","isReanimated3","isConfigured","getViewProp","substr","getSensorContainer","__sensorContainer","_log","_worklet_5990672709877_init_data","registerEventHandler","emitterReactTag","handleAndFlushAnimationFrame","eventTimestamp","unregisterEventHandler","_worklet_16826600404312_init_data","subscribeForKeyboardEvents","_options$isStatusBarT","isStatusBarTranslucentAndroid","reactNativeReanimated_initializersJs5","featuresConfig","enableLayoutAnimations","setByUser","flag","configureProps","assertNoOverlapInLists","addWhitelistedNativeProps","oldSize","addWhitelistedUIProps","PROCESSED_VIEW_NAMES","adaptViewConfig","viewConfig","uiViewClassName","validAttributes","propsToAdd","RNRenderer","LayoutAnimationType","SharedTransitionType","SharedTransition","System","getShadowNodeWrapperFromRef","VIEW_TAGS","flush","removeFromPropsRegistryOnUI","_worklet_9188446923460_init_data","viewTags","_removeFromPropsRegistry","MATCHERS","_worklet_6465697987976_init_data","_worklet_8357945951018_init_data","_worklet_8354719868736_init_data","_worklet_2764477577497_init_data","_worklet_10045200778614_init_data","_worklet_13182244738320_init_data","_worklet_8288364824928_init_data","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","burntsienna","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","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","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellow","yellowgreen","ColorProperties","_worklet_5103370833461_init_data","normalizeColor","_worklet_2193971091460_init_data","reactNativeReanimated_ColorsJs9","_worklet_7233142542113_init_data","reactNativeReanimated_ColorsJs10","_worklet_2305123693151_init_data","reactNativeReanimated_ColorsJs11","_worklet_3526195943812_init_data","reactNativeReanimated_ColorsJs12","_worklet_2477784905435_init_data","rgbaColor","reactNativeReanimated_ColorsJs13","_worklet_14720016431925_init_data","RGBtoHSV","_worklet_13344516620242_init_data","HSVtoRGB","_worklet_15494451600236_init_data","hsvToColor","reactNativeReanimated_ColorsJs16","_HSVtoRGB","_worklet_15097599585344_init_data","processColorInitially","normalizedColor","_worklet_14796278540210_init_data","isColor","IS_ANDROID","_worklet_7810391833501_init_data","_worklet_6984907698834_init_data","processColorsInProps","_worklet_1503411808847_init_data","convertToRGBA","_worklet_8841055913277_init_data","rgbaArrayToRGBAColor","RGBA","_worklet_17004410525448_init_data","toLinearSpace","gamma","pow","_worklet_14971333810091_init_data","toGammaSpace","_worklet_14549527955571_init_data","isAffineMatrixFlat","_worklet_5469063891828_init_data","isAffineMatrix","_worklet_11039740448493_init_data","matrix","_worklet_15377389041574_init_data","unflatten","_worklet_4631559778503_init_data","maybeFlattenMatrix","_worklet_5391881567303_init_data","multiplyMatrices","_worklet_14045717843545_init_data","subtractMatrices","maybeFlatA","maybeFlatB","isFlatOnStart","_worklet_15364702814757_init_data","addMatrices","_worklet_15950815577056_init_data","scaleMatrix","scalar","_worklet_11727464299963_init_data","getRotationMatrix","axis","_worklet_927634218413_init_data","norm3d","_worklet_12707230744540_init_data","transposeMatrix","_worklet_10950488798236_init_data","assertVectorsHaveEqualLengths","_worklet_12955820248938_init_data","innerProduct","_worklet_1056383733928_init_data","projection","_worklet_13150079811267_init_data","subtractVectors","_worklet_8263229383304_init_data","scaleVector","_worklet_13610756695606_init_data","gramSchmidtAlgorithm","_matrix","a0","a1","a2","a3","u0","u1","u2","_map","_map2","e0","e1","e2","e3","rotationMatrix","skewMatrix","_worklet_11420904008142_init_data","decomposeMatrix","unknownTypeMatrix","translationMatrix","sx","sy","sz","rotationAndSkewMatrix","_gramSchmidtAlgorithm","_worklet_1937983127392_init_data","decomposeMatrixIntoMatricesAndAngles","rx","rz","_decomposeMatrix","sinRy","ry","asin","isReducedMotionEnabledInSystem","_REANIMATED_IS_REDUCED_MOTION","IS_REDUCED_MOTION_ENABLED_IN_SYSTEM","ReducedMotionManager","jsValue","uiValue","setEnabled","IN_STYLE_UPDATER","_worklet_10395863208983_init_data","assertEasingIsWorklet","factory","initialUpdaterRun","updater","_worklet_3859297373111_init_data","recognizePrefixSuffix","_match$","number","strippedValue","isReduceMotionOnUI","_worklet_12614035336218_init_data","getReduceMotionFromConfig","Always","_worklet_9700720632578_init_data","getReduceMotionForAnimation","_worklet_9723267154538_init_data","applyProgressToMatrix","_worklet_10147544296429_init_data","applyProgressToNumber","_worklet_15800459953891_init_data","decorateAnimation","baseOnStart","baseOnFrame","reduceMotion","animationCopy","prefNumberSuffOnFrame","_animation$__prefix2","_animation$__suffix2","strippedCurrent","__prefix","__suffix","tab","colorOnFrame","RGBACurrent","transformationMatrixOnFrame","mappedTransforms","startMatrices","stopMatrices","currentTranslation","currentScale","mappedRotations","rotationMatrixX","rotationMatrixY","rotationMatrixZ","updated","arrayOnFrame","objectOnFrame","RGBAValue","RGBAToValue","colorOnStart","transformationMatrixOnStart","arrayOnStart","_animation$__prefix","_animation$__suffix","_recognizePrefixSuffi","_previousAnimation$__","_previousAnimation$__2","strippedToValue","startValue","_recognizePrefixSuffi3","paPrefix","paSuffix","paStrippedValue","prefNumberSuffOnStart","objectOnStart","_worklet_13459960339365_init_data","_worklet_14703534120414_init_data","defineAnimation","starting","reactNativeReanimated_utilJs9","_worklet_2374941417602_init_data","cancelAnimation","sharedValue","maybeBuild","layoutAnimationOrBuilder","build","_isNativeReflectConstruct","Reflect","construct","SkipEnteringContext","createContext","SkipEntering","skipValueRef","shouldSkip","LayoutAnimationConfig","_possibleConstructorReturn","Children","skipExiting","shouldAnimate","setShouldAnimateExitingForTag","setShouldAnimateExiting","getMaybeWrappedChildren","skipEntering","JSPropsUpdaterWeb","_animatedComponent","flattenArray","array","resultArr","_flattenArray","arr","getForwardedRef","setLocalRef","updateProps","_worklet_16792002340537_init_data","_worklet_2880512106780_init_data","makeViewDescriptorsSet","shareableViewDescriptors","reactNativeReanimated_ViewDescriptorsSetJs1","descriptor","reactNativeReanimated_ViewDescriptorsSetJs2","_worklet_9984356123558_init_data","_worklet_15889862836905_init_data","reactNativeReanimated_UpdatePropsJs1","viewDescriptors","_viewDescriptors$valu","viewDescriptor","reactNativeReanimated_UpdatePropsJs2","UpdatePropsManager","updatePropsJestWrapper","animatedStyle","adapters","adapter","_worklet_12261044343918_init_data","_worklet_12293729095436_init_data","createUpdatePropsManager","reactNativeReanimated_UpdatePropsJs3","operations","shadowNodeWrapper","_updatePropsFabric","reactNativeReanimated_UpdatePropsJs4","_updatePropsPaper","_worklet_4774402247764_init_data","maybeThrowError","reactNativeReanimated_UpdatePropsJs5","isInlineStyleTransform","hasInlineStyles","_worklet_11915436251318_init_data","getInlinePropsUpdate","inlineProps","styleValue","_worklet_5061273221373_init_data","InlinePropManager","animatedComponent","viewInfo","newInlineProps","styleKey","extractSharedValuesMapFromProps","styles1","styles2","inlinePropsHasChanged","_inlineProps","_inlinePropsViewDescriptors","updaterFunction","reactNativeReanimated_InlinePropManagerJs2","_inlinePropsMapperId","_classPrivateFieldInitSpec","privateMap","privateCollection","_checkPrivateRedeclaration","_classPrivateFieldGet","_assertClassBrand","_classPrivateFieldSet","_viewTags","_registrations","WorkletEventHandlerNative","eventNames","newWorklet","newEvents","registrationIDs","newRegistrations","fallbackEventName","newRegistration","_classPrivateFieldGet2","WorkletEventHandlerWeb","setupWebListeners","evt","jsListener","_fallbackEventName","WorkletEventHandler","dummyListener","PropsFilter","inputProps","processedStyle","_isFirstRender","_initialStyle","isFirstRender","newStyle","getInlineStyle","animatedProp","animatedProps","initialValueKey","_animatedProp$initial","workletEventHandler","snapshots","setElementPosition","snapshot","parentElement","parentRect","parentBorderTopValue","parentBorderLeftValue","dummyRect","fixElementPosition","WebEasings","ease","circle","exp","getEasingByName","easingName","convertAnimationObjectToKeyframes","animationObject","keyframe","transformProperty","transformPropertyValue","DEFAULT_BOUNCE_TIME","BounceInData","BounceIn","BounceInRight","BounceInLeft","BounceInUp","BounceInDown","BounceOutData","BounceOut","BounceOutRight","BounceOutLeft","BounceOutUp","BounceOutDown","DEFAULT_FADE_TIME","FadeInData","FadeIn","FadeInRight","FadeInLeft","FadeInUp","FadeInDown","FadeOutData","FadeOut","FadeOutRight","FadeOutLeft","FadeOutUp","FadeOutDown","DEFAULT_FLIP_TIME","FlipInData","FlipInYRight","perspective","rotateY","FlipInYLeft","FlipInXUp","rotateX","FlipInXDown","FlipInEasyX","FlipInEasyY","FlipOutData","FlipOutYRight","FlipOutYLeft","FlipOutXUp","FlipOutXDown","FlipOutEasyX","FlipOutEasyY","FlipIn","FlipOut","DEFAULT_LIGHTSPEED_TIME","LightSpeedInData","LightSpeedInRight","skewX","LightSpeedInLeft","LightSpeedOutData","LightSpeedOutRight","LightSpeedOutLeft","skew","LightSpeedIn","LightSpeedOut","PinwheelData","PinwheelIn","PinwheelOut","Pinwheel","DEFAULT_ROLL_TIME","RollInData","RollInLeft","RollInRight","RollOutData","RollOutLeft","RollOutRight","RollIn","RollOut","DEFAULT_ROTATE_TIME","RotateInData","RotateInDownLeft","RotateInDownRight","RotateInUpLeft","RotateInUpRight","RotateOutData","RotateOutDownLeft","RotateOutDownRight","RotateOutUpLeft","RotateOutUpRight","RotateIn","RotateOut","DEFAULT_SLIDE_TIME","SlideInData","SlideInRight","SlideInLeft","SlideInUp","SlideInDown","SlideOutData","SlideOutRight","SlideOutLeft","SlideOutUp","SlideOutDown","SlideIn","SlideOut","DEFAULT_STRETCH_TIME","StretchInData","StretchInX","StretchInY","StretchOutData","StretchOutX","StretchOutY","StretchIn","StretchOut","DEFAULT_ZOOM_TIME","ZoomInData","ZoomIn","ZoomInRotate","ZoomInRight","ZoomInLeft","ZoomInUp","ZoomInDown","ZoomInEasyUp","ZoomInEasyDown","ZoomOutData","ZoomOut","ZoomOutRotate","ZoomOutRight","ZoomOutLeft","ZoomOutUp","ZoomOutDown","ZoomOutEasyUp","ZoomOutEasyDown","TransitionType","AnimationsData","Animations","PREDEFINED_WEB_ANIMATIONS_ID","CUSTOM_WEB_ANIMATIONS_ID","animationNameToIndex","animationNameList","isObserverSet","insertWebAnimation","animationName","styleTag","insertRule","nextAnimationName","nextAnimationIndex","timeoutScale","frameDurationMs","minimumFrames","scheduleAnimationCleanup","animationRemoveCallback","timeoutValue","_styleTag$sheet","currentAnimationIndex","removeWebAnimation","findDescendantWithExitingAnimation","reanimatedDummy","removedAfterAnimation","childSnapshot","originalOnAnimationEnd","onanimationend","reattachElementToAncestor","addHTMLMutationObserver","MutationObserver","mutationsList","rootMutation","mutationTarget","_mutationTarget$react","reactFiberKey","memoizedProps","checkIfScreenWasChanged","removedNodes","observe","body","childList","subtree","NEWTON_MIN_SLOPE","kSplineTableSize","kSampleStepSize","_worklet_8828646082676_init_data","aA1","aA2","_worklet_4203953384949_init_data","B","_worklet_8388140024310_init_data","C","_worklet_15740570894910_init_data","calcBezier","aT","_worklet_4162364291299_init_data","getSlope","_worklet_9598268577335_init_data","binarySubdivide","aX","aA","aB","mX1","mX2","currentX","currentT","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","_worklet_13606782449305_init_data","newtonRaphsonIterate","aGuessT","currentSlope","NEWTON_ITERATIONS","_worklet_12307547118290_init_data","_worklet_17244837042130_init_data","_worklet_15383647275891_init_data","_worklet_7919274967463_init_data","Bezier","mY1","mY2","LinearEasing","sampleValues","getTForX","intervalStart","currentSample","guessForT","initialSlope","BezierEasing","_worklet_10169431008313_init_data","_worklet_13574950385453_init_data","_worklet_11781588435417_init_data","_worklet_420874989599_init_data","_worklet_16523004753058_init_data","_worklet_485715021435_init_data","poly","reactNativeReanimated_EasingJs6","_worklet_6057811655898_init_data","_worklet_8811157154490_init_data","_worklet_16706510166078_init_data","_worklet_1909362451472_init_data","_worklet_943036289222_init_data","elastic","reactNativeReanimated_EasingJs11","_worklet_15787661353177_init_data","_worklet_3467309697498_init_data","reactNativeReanimated_EasingJs13","_worklet_6227633941748_init_data","bounce","t2","_worklet_4688559456052_init_data","_worklet_6381722808540_init_data","x1","y1","x2","y2","reactNativeReanimated_EasingJs16","_worklet_1286668932581_init_data","bezierFn","_worklet_5692504487844_init_data","in_","_worklet_16703488668993_init_data","_worklet_11578666245269_init_data","reactNativeReanimated_EasingJs20","_worklet_13078308842836_init_data","_worklet_11765771089038_init_data","reactNativeReanimated_EasingJs22","_worklet_15129815090050_init_data","_worklet_8357878766723_init_data","EasingObject","steps","roundToNextStep","reactNativeReanimated_EasingJs24","in","EasingNameSymbol","showChildren","childrenDisplayProperty","shouldShow","prepareCurvedTransition","animationConfig","transitionData","dummyTransitionKeyframeName","_prepareDummy","dummyAnimationConfig","animationType","LAYOUT","easingY","reversed","dummy","cloneNode","prepareDummy","easingX","originalBackgroundColor","animationEndCallback","animationCancelCallback","prepareParent","ExitingFinalStep","EnteringStartStep","addTransformToKeepPosition","keyframeStyleData","animationStyle","transformData","isExiting","EntryExitTransition","exitingAnimationData","structuredClone","exiting","enteringAnimationData","entering","additionalExitingData","additionalEnteringData","keyframeData","opacityInStep","hideComponentBetweenAnimations","addPxToTransform","newTransform","transformProp","newTransformProp","customKeyframeCounter","generateNextCustomKeyframeName","TransitionGenerator","transitionType","transitionObject","transitionKeyframeName","LINEAR","LinearTransition","SEQUENCED","SequencedTransition","FADING","FadingTransition","JUMPING","peakTranslateY","JumpingTransition","CURVED","_CurvedTransition","keyframeXName","keyframeYName","firstKeyframeObj","secondKeyframeObj","CurvedTransition","ENTRY_EXIT","_worklet_14396015514808_init_data","_worklet_11569960832120_init_data","withTiming","reactNativeReanimated_timingJs1","userConfig","reactNativeReanimated_timingJs2","runtime","_worklet_106581016278_init_data","_worklet_12559847024479_init_data","_worklet_6232803474731_init_data","withSequence","_reduceMotionOrFirstAnimation","_animations","reactNativeReanimated_sequenceJs2","animationIndex","reactNativeReanimated_sequenceJs3","animations","findNextNonReducedMotionAnimationIndex","currentAnim","nextAnim","anim","currentAnimation","_worklet_12157470635059_init_data","_worklet_6787219797120_init_data","withDelay","reactNativeReanimated_delayJs1","delayMs","_nextAnimation","reactNativeReanimated_delayJs2","nextAnimation","updateLayoutAnimations","_worklet_3992871523205_init_data","_worklet_17212237187960_init_data","_worklet_11381705502502_init_data","InnerKeyframe","definitions","delayV","delayFunction","getDelayFunction","_this$parseDefinition","parseDefinitions","keyframes","initialValues","callbackV","reactNativeReanimated_KeyframeJs1","addAnimation","keyframePoints","keyframePoint","transformPropKey","makeKeyframeKey","parsedKeyframes","transformStyle","durationV","animationKeyPoints","getAnimationDuration","currentKeyPoint","keyPoint","addKeyPointWith","addKeyPoint","durationMs","reduceMotionV","reactNativeReanimated_KeyframeJs2","reactNativeReanimated_KeyframeJs3","_worklet_14487564672038_init_data","Keyframe","getEasingFromConfig","easingV","getRandomDelay","maxDelay","random","getDelayFromConfig","shouldRandomizeDelay","randomizeDelay","getReducedMotionFromConfig","Never","getDurationFromConfig","defaultDuration","getCallbackFromConfig","getReversedFromConfig","saveSnapshot","scrollOffsets","getElementScrollValue","setElementAnimation","shouldSavePosition","configureAnimation","animationDelay","animationTimingFunction","ENTERING","_animationConfig$call","animationCancelHandler","_animationConfig$call2","onanimationstart","visibility","scrollTopOffset","scrollLeftOffset","scrollTop","scrollLeft","chooseAction","_TransitionGenerator","_prepareCurvedTransit","handleLayoutTransition","EXITING","offsetParent","currentScrollTopOffset","lastScrollTopOffset","currentScrollLeftOffset","lastScrollLeftOffset","handleExitingAnimation","tryGetAnimationConfig","chooseConfig","needsCustomization","isLayoutTransition","isCustomKeyframe","hasInitialValues","keyframeDefinitions","animationData","parsedKeyframe","createCustomKeyFrameAnimation","presetName","firstAnimationStep","transformWithPx","keyframeName","createAnimationWithInitialValues","keyframeTimestamps","getProcessedConfig","startWebLayoutAnimation","timestampRules","animationFillMode","maybeModifyStyleForKeyframe","animationProperties","matchAll","commonProperties","maybeReportOverwrittenProperties","makeElementVisible","updateLayoutAnimationsManager","deferredAnimations","batchItem","isUnmounting","layoutAnimationsBatch","configureLayoutAnimationBatch","createUpdateManager","sharedTransitionTag","getViewInfo","_nativeTag","__nativeTag","getViewInfo73","getViewInfoLatest","_element$viewConfig","_element$_viewConfig","_viewConfig","_managedComponent","_componentOptions","_eventViewTag","NativeEventsManager","getEventViewTag","executeForEachEventHandler","registerForEvents","unregisterFromEvents","computedEventTag","attachEvents","prevHandler","newProp","isWorkletEventHandler","newTag","componentAnimatedRef","getScrollableNode","_findNodeHandle","scrollableNode","_findNodeHandle2","IS_WEB","predefinedAnimationsStyleTag","customAnimationsStyleTag","configureWebLayoutAnimations","isReactComponent","AnimatedComponent","JSPropsUpdater","setAndForwardRef","_componentViewTag","_this$context","_configureSharedTransition","getReduceMotion","jestAnimatedStyle","_entering","reanimatedID","_this$_NativeEventsMa","_getComponentViewTag","_NativeEventsManager","_jsPropsUpdater","addOnJSPropsChangeListener","_attachAnimatedStyles","_InlinePropManager","attachInlineProps","_getViewInfo","_configureLayoutTransition","_this$_NativeEventsMa2","_this$_sharedElementT","detachEvents","removeOnJSPropsChangeListener","_detachStyles","detachInlineProps","_sharedElementTransition","unregisterTransition","_styles","_this$props$animatedP","_this$_component","_this$_component$setN","_this$_component2","_getAnimatableRef","_viewInfo","hostInstance","findHostInstance_DEPRECATED","_this$props$animatedP2","_this$props$animatedP3","onlyAnimatedStyles","prevStyles","prevAnimatedProps","_animatedProps","_this$_getViewInfo","prevStyle","_prevState","_this$_NativeEventsMa3","updateEvents","_enteringV","_exitingV","_easingXV","_easingYV","r2","r1","enteringAnimation","enteringV","exitingAnimation","exitingV","easingXV","easingYV","tryActivateLayoutTransition","_this$props$sharedTra","_this$_sharedElementT2","sharedElementTransition","sharedTransitionStyle","registerTransition","_this$_component3","_this$context2","_filteredProps$style","filteredProps","_PropsFilter","filterNonAnimatedProps","platformProps","_setComponentRef","AnimatedView","getComponentOrScrollable","getNativeScrollRef","_worklet_9724470751943_init_data","useAnimatedRef","getTagValueFunction","getTagOrShadowNodeWrapper","animatedRefShareableHandle","reactNativeReanimated_useAnimatedRefJs1","rebuild","initRef","updateEventHandler","useScrollViewOffset","animatedRef","providedOffset","internalOffset","reactNativeReanimated_useScrollViewOffsetJs1","getWebScrollableElement","_worklet_7236655608623_init_data","reactNativeReanimated_useScrollViewOffsetJs2","contentOffset","_worklet_8663758724346_init_data","scrollNativeEventNames","elementTag","scrollComponent","AnimatedScrollViewComponent","AnimatedScrollView","scrollViewOffset","scrollEventThrottle","AnimatedImage","AnimatedFlatList","ReanimatedFlatList","itemLayoutAnimation","skipEnteringExitingAnimations","itemLayoutAnimationRef","CellRendererComponent","createCellRendererComponent","animatedFlatList","buildWorkletsHash","worklets","_worklet_17510936819616_init_data","isAnimated","_worklet_3124743755134_init_data","shallowEqual","_worklet_11846641081964_init_data","validateAnimatedStyles","_worklet_15514483176912_init_data","prepareAnimation","lastAnimation","lastValue","callStart","_worklet_15489549769796_init_data","runAnimations","animationsActive","allFinished","entry","_worklet_8870432530982_init_data","styleUpdater","_state$animations","_updater","newValues","oldValues","nonAnimatedNewValues","hasAnimations","hasNonAnimatedValues","isAnimationRunning","isAnimationCancelled","_worklet_6175157843679_init_data","jestStyleUpdater","_state$animations2","_updater2","checkSharedValueUsage","_worklet_15993059429066_init_data","_worklet_5985448918011_init_data","_worklet_5297059117402_init_data","useAnimatedStyle","dependencies","_updater$__closure","_dependencies","animatedUpdaterData","adaptersArray","adaptersHash","areAnimationsActive","initialStyle","remoteState","_animatedUpdaterData$","updaterFn","reactNativeReanimated_useAnimatedStyleJs5","mapperId","reactNativeReanimated_useAnimatedStyleJs6","reactNativeReanimated_useAnimatedStyleJs7","animatedStyleHandle","useAnimatedPropsNative","useAnimatedProps","deps","useHandler","savedDependencies","_initRef$current","handlersList","workletHash","closure","buildDependencies","doDependenciesDiffer","nextDependencies","prevDependencies","objectIs","is","nextDeps","prevDeps","areHookInputsEqual","areDependenciesEqual","useWeb","useWorkletCallback","useReducedMotion","EVENT_TYPE","_worklet_3268817111188_init_data","useAnimatedGestureHandler","_useHandler","reactNativeReanimated_useAnimatedGestureHandlerJs1","onActive","onFinish","_worklet_13931034839297_init_data","useAnimatedReaction","react","_prepare$__closure","_prepare$__closure2","_react$__closure","reactNativeReanimated_useAnimatedReactionJs1","_worklet_9130425254161_init_data","useAnimatedScrollHandler","scrollHandlers","onScroll","subscribeForEvents","onBeginDrag","onEndDrag","onMomentumBegin","onMomentumEnd","reactNativeReanimated_useAnimatedScrollHandlerJs1","_worklet_3093677085834_init_data","useDerivedValue","reactNativeReanimated_useDerivedValueJs1","_worklet_15057325791340_init_data","eulerToQuaternion","c1","s1","c2","s2","c3","s3","_worklet_10534183806973_init_data","adjustRotationToInterfaceOrientation","ROTATION_90","ROTATION_270","ROTATION_180","_worklet_4028360763619_init_data","adjustVectorToInterfaceOrientation","_worklet_12687904397161_init_data","useAnimatedSensor","_userConfigRef$curren","_userConfigRef$curren2","_userConfigRef$curren3","userConfigRef","Auto","sensorData","reactNativeReanimated_useAnimatedSensorJs4","_worklet_11036889787670_init_data","prepareUIRegistry","reactNativeReanimated_FrameCallbackRegistryUIJs1","frameCallbackRegistry","activeFrameCallbacks","previousFrameTimestamp","nextCallId","runCallbacks","callId","callbackId","callbackDetails","timeSincePreviousFrame","timeSinceFirstFrame","registerFrameCallback","unregisterFrameCallback","manageStateFrameCallback","_frameCallbackRegistry","_worklet_13238081053963_init_data","_worklet_8067581193523_init_data","_worklet_4255326950806_init_data","FrameCallbackRegistryJS","nextCallbackId","reactNativeReanimated_FrameCallbackRegistryJSJs1","reactNativeReanimated_FrameCallbackRegistryJSJs2","reactNativeReanimated_FrameCallbackRegistryJSJs3","useFrameCallback","autostart","memoizedFrameCallback","_worklet_15723429318021_init_data","_worklet_3559626494745_init_data","useAnimatedKeyboard","listenerId","isSubscribed","keyboardEventData","reactNativeReanimated_useAnimatedKeyboardJs1","reactNativeReanimated_useAnimatedKeyboardJs2","_keyboardEventData","unsubscribeFromKeyboardEvents","_worklet_1071011404948_init_data","useComposedEventHandler","workletsRecord","composedEventNames","workletsMap","reactNativeReanimated_useComposedEventHandlerJs1","_worklet_2485933837523_init_data","_worklet_1436725210607_init_data","withClamp","reactNativeReanimated_clampJs1","_animationToClamp","reactNativeReanimated_clampJs2","animationToClamp","strippedMin","strippedMax","animationBeforeClamped","VELOCITY_EPS","SLOPE_FACTOR","_worklet_17410890019123_init_data","isValidRubberBandConfig","rubberBandEffect","clamp","_worklet_10345176740994_init_data","rubberBandDecay","lastTimestamp","startTimestamp","clampIndex","derivative","deceleration","rubberBandFactor","springActive","velocityFactor","DERIVATIVE_EPS","_worklet_2807821538137_init_data","rigidDecay","initialVelocity","_worklet_709079105051_init_data","validateConfig","_worklet_2320453334879_init_data","_worklet_6911235254448_init_data","withDecay","reactNativeReanimated_decayJs2","reactNativeReanimated_decayJs3","_config$velocity","_worklet_14742583557230_init_data","_worklet_6384536396530_init_data","withRepeat","reactNativeReanimated_repeatJs1","numberOfReps","reactNativeReanimated_repeatJs2","reps","_worklet_1029099112091_init_data","checkIfConfigIsValid","_config$clamp","_config$clamp2","errorMessage","_worklet_15530845334841_init_data","bisectRoot","func","_ref$maxIterations","maxIterations","idx","_worklet_13581944811029_init_data","initialCalculations","mass","skipAnimation","zeta","omega0","omega1","useDuration","stiffness","dampingRatio","damping","_worklet_14836002195398_init_data","scaleZetaToMatchClamps","toValueNum","firstBound","secondBound","relativeExtremum1","relativeExtremum2","zetaSatisfyingClamp","_worklet_14781270198466_init_data","_worklet_12856228486829_init_data","calculateNewMassToMatchDuration","x0","v0","durationForMass","reactNativeReanimated_springUtilsJs6","amplitude","_worklet_349985694663_init_data","criticallyDampedSpringCalculations","precalculatedValues","criticallyDampedEnvelope","_worklet_2991431177292_init_data","underDampedSpringCalculations","sin1","cos1","underDampedEnvelope","underDampedFrag1","_worklet_3300350087954_init_data","isAnimationTerminatingCalculation","isOvershooting","overshootClamping","isVelocity","isDisplacement","_worklet_11304880788738_init_data","_worklet_6666224356975_init_data","withSpring","reactNativeReanimated_springJs1","reactNativeReanimated_springJs2","timeFromStart","newPosition","newVelocity","_isAnimationTerminati","springIsNotInMove","triggeredTwice","isTriggeredTwice","actualDuration","_initialCalculations","Extrapolation","_worklet_10621332711477_init_data","getVal","coef","leftEdgeOutput","rightEdgeOutput","IDENTITY","CLAMP","EXTEND","_worklet_949174306901_init_data","isExtrapolate","_worklet_14958042366930_init_data","validateType","extrapolationConfig","extrapolateLeft","extrapolateRight","_worklet_12578631149621_init_data","internalInterpolate","narrowedInput","leftEdgeInput","rightEdgeInput","_worklet_12258977728108_init_data","_worklet_11527780822323_init_data","Extrapolate","_worklet_14562627808243_init_data","interpolateColorsHSV","reactNativeReanimated_interpolateColorJs1","_options$useCorrected","useCorrectedHSVInterpolation","correctedInputRange","originalH","correctedH","_worklet_7578010435416_init_data","reactNativeReanimated_interpolateColorJs2","_worklet_8612601199928_init_data","reactNativeReanimated_interpolateColorJs3","_worklet_9578440859780_init_data","interpolateColorsRGB","reactNativeReanimated_interpolateColorJs4","_options$gamma","outputR","outputG","outputB","_worklet_17030720610385_init_data","getInterpolateRGB","reactNativeReanimated_interpolateColorJs5","_worklet_4876959111014_init_data","getInterpolateHSV","reactNativeReanimated_interpolateColorJs6","processedHSVColor","_worklet_2706647971515_init_data","interpolateColor","colorSpace","ColorSpace","useInterpolateConfig","RGB","viewportOffset","offsetWidth","offsetHeight","offsetLeft","offsetTop","dispatchCommand","scrollTo","_worklet_5752716742403_init_data","getRelativeCoords","parentCoords","createAnimatedPropAdapter","nativePropsToAdd","_worklet_16226529715603_init_data","_worklet_6646183570703_init_data","BaseAnimationBuilder","_this$durationV","_this$delayV","_this$delayV2","isDelayProvided","reactNativeReanimated_BaseAnimationBuilderJs1","reactNativeReanimated_BaseAnimationBuilderJs2","createInstance","withCallback","randomDelay","ComplexAnimationBuilder","_BaseAnimationBuilder","easingFunction","rotateV","dampingRatioV","dampingV","massV","stiffnessV","overshootClampingV","restDisplacementThresholdV","restSpeedThresholdV","maybeSetConfigValue","variableName","springify","withInitialValues","_worklet_1601311507553_init_data","_ComplexAnimationBuil","_this$getAnimationAnd","getAnimationAndConfig","_this$getAnimationAnd2","getDelay","reactNativeReanimated_FlipJs1","targetValues","targetHeight","_worklet_5889374379048_init_data","_ComplexAnimationBuil2","_this2$getAnimationAn","_this2$getAnimationAn2","reactNativeReanimated_FlipJs2","targetWidth","_worklet_17172749589693_init_data","_ComplexAnimationBuil3","_this3$getAnimationAn","_this3$getAnimationAn2","reactNativeReanimated_FlipJs3","_worklet_16291764983438_init_data","_ComplexAnimationBuil4","_this4$getAnimationAn","_this4$getAnimationAn2","reactNativeReanimated_FlipJs4","_worklet_8344922058616_init_data","_ComplexAnimationBuil5","_this5","_this5$getAnimationAn","_this5$getAnimationAn2","reactNativeReanimated_FlipJs5","_worklet_16669782355707_init_data","_ComplexAnimationBuil6","_this6","_this6$getAnimationAn","_this6$getAnimationAn2","reactNativeReanimated_FlipJs6","_worklet_13927987828257_init_data","_ComplexAnimationBuil7","_this7","_this7$getAnimationAn","_this7$getAnimationAn2","reactNativeReanimated_FlipJs7","currentHeight","_worklet_10111329487834_init_data","_ComplexAnimationBuil8","_this8","_len8","_key8","_this8$getAnimationAn","_this8$getAnimationAn2","reactNativeReanimated_FlipJs8","currentWidth","_worklet_16916175464751_init_data","_ComplexAnimationBuil9","_this9","_len9","_key9","_this9$getAnimationAn","_this9$getAnimationAn2","reactNativeReanimated_FlipJs9","_worklet_14517088688675_init_data","_ComplexAnimationBuil10","_this10","_len10","_key10","_this10$getAnimationA","_this10$getAnimationA2","reactNativeReanimated_FlipJs10","_worklet_8532415155949_init_data","_ComplexAnimationBuil11","_this11","_len11","_key11","_this11$getAnimationA","_this11$getAnimationA2","reactNativeReanimated_FlipJs11","_worklet_4292891435118_init_data","_ComplexAnimationBuil12","_this12","_len12","_key12","_this12$getAnimationA","_this12$getAnimationA2","reactNativeReanimated_FlipJs12","_worklet_13058178803686_init_data","reactNativeReanimated_StretchJs1","_worklet_1979717714597_init_data","reactNativeReanimated_StretchJs2","_worklet_12398637025828_init_data","reactNativeReanimated_StretchJs3","_worklet_2583716022883_init_data","reactNativeReanimated_StretchJs4","_worklet_2408710693551_init_data","reactNativeReanimated_FadeJs1","_worklet_2759384225477_init_data","reactNativeReanimated_FadeJs2","_worklet_14742216583497_init_data","reactNativeReanimated_FadeJs3","_worklet_7783727740462_init_data","reactNativeReanimated_FadeJs4","_worklet_15347482167074_init_data","reactNativeReanimated_FadeJs5","_worklet_15318861429480_init_data","reactNativeReanimated_FadeJs6","_worklet_16480060648704_init_data","reactNativeReanimated_FadeJs7","_worklet_7507875144002_init_data","reactNativeReanimated_FadeJs8","_worklet_2169999521379_init_data","reactNativeReanimated_FadeJs9","_worklet_1751875256886_init_data","reactNativeReanimated_FadeJs10","_worklet_2105442335056_init_data","reactNativeReanimated_SlideJs1","originX","targetOriginX","windowWidth","_worklet_525408064277_init_data","reactNativeReanimated_SlideJs2","_worklet_15787910381801_init_data","reactNativeReanimated_SlideJs3","currentOriginX","_worklet_5193954722779_init_data","reactNativeReanimated_SlideJs4","_worklet_10607949107777_init_data","reactNativeReanimated_SlideJs5","originY","targetOriginY","windowHeight","_worklet_13956915590286_init_data","reactNativeReanimated_SlideJs6","_worklet_11754896444920_init_data","reactNativeReanimated_SlideJs7","currentOriginY","_worklet_561109535554_init_data","reactNativeReanimated_SlideJs8","_worklet_13007411619134_init_data","reactNativeReanimated_ZoomJs1","_worklet_8251575431487_init_data","reactNativeReanimated_ZoomJs2","_worklet_7924057890523_init_data","reactNativeReanimated_ZoomJs3","_worklet_12859789113905_init_data","reactNativeReanimated_ZoomJs4","_worklet_16427596477316_init_data","reactNativeReanimated_ZoomJs5","_worklet_11035636523914_init_data","reactNativeReanimated_ZoomJs6","_worklet_5737861637979_init_data","reactNativeReanimated_ZoomJs7","_worklet_13262780769337_init_data","reactNativeReanimated_ZoomJs8","_worklet_1159099652758_init_data","reactNativeReanimated_ZoomJs9","_worklet_11943198101964_init_data","reactNativeReanimated_ZoomJs10","_worklet_1850484736744_init_data","reactNativeReanimated_ZoomJs11","_worklet_5269717396294_init_data","reactNativeReanimated_ZoomJs12","_worklet_8329813472947_init_data","_ComplexAnimationBuil13","_this13","_len13","_key13","_this13$getAnimationA","_this13$getAnimationA2","reactNativeReanimated_ZoomJs13","_worklet_13679200411417_init_data","_ComplexAnimationBuil14","_this14","_len14","_key14","_this14$getAnimationA","_this14$getAnimationA2","reactNativeReanimated_ZoomJs14","_worklet_12732659357040_init_data","_ComplexAnimationBuil15","_this15","_len15","_key15","_this15$getAnimationA","_this15$getAnimationA2","reactNativeReanimated_ZoomJs15","_worklet_8014137760958_init_data","_ComplexAnimationBuil16","_this16","_len16","_key16","_this16$getAnimationA","_this16$getAnimationA2","reactNativeReanimated_ZoomJs16","_worklet_16284018834105_init_data","getDuration","reactNativeReanimated_BounceJs1","_worklet_8439271633968_init_data","reactNativeReanimated_BounceJs2","_this$durationV2","_worklet_10714896460049_init_data","reactNativeReanimated_BounceJs3","_this$durationV3","_worklet_9594426187631_init_data","reactNativeReanimated_BounceJs4","_this$durationV4","_worklet_12164742333614_init_data","reactNativeReanimated_BounceJs5","_this$durationV5","_worklet_3716486229086_init_data","reactNativeReanimated_BounceJs6","_this$durationV6","_worklet_3796851510421_init_data","reactNativeReanimated_BounceJs7","_this$durationV7","_worklet_17495848241882_init_data","reactNativeReanimated_BounceJs8","_this$durationV8","_worklet_5106130699650_init_data","reactNativeReanimated_BounceJs9","_this$durationV9","_worklet_16067762317818_init_data","reactNativeReanimated_BounceJs10","_this$durationV10","_worklet_12993897968926_init_data","reactNativeReanimated_LightspeedJs1","_worklet_12464226798653_init_data","reactNativeReanimated_LightspeedJs2","_worklet_2150615836506_init_data","reactNativeReanimated_LightspeedJs3","_worklet_2945630233341_init_data","reactNativeReanimated_LightspeedJs4","_worklet_2525302126473_init_data","reactNativeReanimated_PinwheelJs1","_worklet_15150535274058_init_data","reactNativeReanimated_PinwheelJs2","_worklet_5352377200590_init_data","reactNativeReanimated_RotateJs1","_worklet_9042789026668_init_data","reactNativeReanimated_RotateJs2","_worklet_6099232345325_init_data","reactNativeReanimated_RotateJs3","_worklet_15313154905675_init_data","reactNativeReanimated_RotateJs4","_worklet_3165232963211_init_data","reactNativeReanimated_RotateJs5","_worklet_6587003180297_init_data","reactNativeReanimated_RotateJs6","_worklet_9228134651400_init_data","reactNativeReanimated_RotateJs7","_worklet_7154390421766_init_data","reactNativeReanimated_RotateJs8","_worklet_1717494557174_init_data","reactNativeReanimated_RollJs1","_worklet_6184507813205_init_data","reactNativeReanimated_RollJs2","_worklet_12056490070644_init_data","reactNativeReanimated_RollJs3","_worklet_4328194112115_init_data","reactNativeReanimated_RollJs4","_worklet_8121541185586_init_data","reactNativeReanimated_LinearTransitionJs1","Layout","_worklet_16104548643322_init_data","halfDuration","reactNativeReanimated_FadingTransitionJs1","_worklet_13761729733357_init_data","reactNativeReanimated_SequencedTransitionJs1","_worklet_10465740244540_init_data","reactNativeReanimated_JumpingTransitionJs1","_worklet_15667368234639_init_data","easingWidth","easingWidthV","easingHeight","easingHeightV","reactNativeReanimated_CurvedTransitionJs1","_worklet_3144493727652_init_data","exitingDuration","reactNativeReanimated_EntryExitTransitionJs1","enteringValues","exitingValues","mergedTransform","objectKeys","combineTransition","getUseOfValueInStyleWarning","withReanimatedTimer","advanceAnimationByTime","advanceAnimationByFrame","setUpTests","getAnimatedStyle","_worklet_17151815350390_init_data","createCircularDoublesBuffer","Float32Array","oldCount","front","DEFAULT_BUFFER_SIZE","AnimatedTextInput","_worklet_10122439638937_init_data","getFps","renderTimeInMs","_worklet_17399394808158_init_data","completeBufferRoutine","_buffer$push","droppedTimestamp","_worklet_7926048032311_init_data","JsPerformance","smoothingFrames","jsFps","totalRenderTime","circularBuffer","lastTime","loopAnimationFrame","currentFps","toFixed","reactNativeReanimated_PerformanceMonitorJs4","_jsFps$value","_worklet_3606514044171_init_data","_worklet_9265903866512_init_data","UiPerformance","uiFps","reactNativeReanimated_PerformanceMonitorJs5","reactNativeReanimated_PerformanceMonitorJs6","_uiFps$value","PerformanceMonitor","_ref4$smoothingFrames","monitor","ReducedMotionConfig","wasEnabled","IS_FABRIC","_worklet_14626504491388_init_data","createViewDescriptorPaper","screenId","_worklet_13488996496906_init_data","createViewDescriptorFabric","createViewDescriptor","_worklet_15431420270588_init_data","applyStyleForTopScreen","screenTransitionConfig","screenDimensions","topScreenId","topScreenStyle","computeTopScreenStyle","screenTransition","topScreenDescriptor","_worklet_2747176653608_init_data","applyStyleForBelowTopScreen","belowTopScreenId","belowTopScreenStyle","computeBelowTopScreenStyle","belowTopScreenDescriptor","_worklet_7793038430696_init_data","applyStyle","_worklet_16068767776564_init_data","noopFactory","defaultReturnValue","reactNativeReanimated_RNScreensTurboModuleJs1","RNScreensTurboModule","startTransition","canStartTransition","updateTransition","finishTransition","BASE_VELOCITY","_worklet_14551241534927_init_data","computeEasingProgress","startingTimestamp","_worklet_10786758827735_init_data","_worklet_1991703960680_init_data","computeProgress","isTransitionCanceled","progressX","progressY","maxProgress","_worklet_5191610802729_init_data","maybeScheduleNextFrame","didScreenReachDestination","_screenTransitionConf","onFinishAnimation","stackTag","_worklet_15110927952447_init_data","getSwipeSimulator","lockAxis","startingPosition","finalPosition","euclideanDistance","screenDiagonal","velocityVectorLength","computeFrame","ADDITIONAL_VELOCITY_FACTOR_X","ADDITIONAL_VELOCITY_FACTOR_Y","ADDITIONAL_VELOCITY_FACTOR_XY","_worklet_15010796722453_init_data","startScreenTransition","sharedEvent","_worklet_13448177000651_init_data","getLockAxis","goBackGesture","_worklet_3004477788376_init_data","finishScreenTransition","_worklet_5484936344083_init_data","_worklet_1982736006015_init_data","SwipeRight","reactNativeReanimated_presetsJs1","reactNativeReanimated_presetsJs2","screenSize","_worklet_13482262725393_init_data","_worklet_1538455951551_init_data","SwipeLeft","reactNativeReanimated_presetsJs3","reactNativeReanimated_presetsJs4","_worklet_11085845398647_init_data","_worklet_5133619612290_init_data","SwipeDown","reactNativeReanimated_presetsJs5","reactNativeReanimated_presetsJs6","_worklet_4987507595125_init_data","_worklet_16946812456138_init_data","SwipeUp","reactNativeReanimated_presetsJs7","reactNativeReanimated_presetsJs8","_worklet_1955209496670_init_data","_worklet_13440433496325_init_data","TwoDimensional","reactNativeReanimated_presetsJs9","_screenSize","reactNativeReanimated_presetsJs10","_worklet_9289617012344_init_data","_worklet_10965570081095_init_data","Horizontal","reactNativeReanimated_presetsJs11","reactNativeReanimated_presetsJs12","_worklet_11778476923738_init_data","_worklet_2357616099201_init_data","Vertical","reactNativeReanimated_presetsJs13","reactNativeReanimated_presetsJs14","_worklet_16323944375023_init_data","_worklet_17470643761091_init_data","ScreenTransition","SwipeRightFade","reactNativeReanimated_presetsJs15","reactNativeReanimated_presetsJs16","initialWindowSafeAreaInsets","CSSTransitions","WebkitTransition","Transition","MozTransition","MSTransition","OTransition","NativeSafeAreaProvider","onInsetsChange","transitionDelay","getInset","createContextElement","_window$getComputedSt","documentElement","getSupportedTransitionEvent","_supportedTransitionEvent","_supportedEnv","getSupportedEnv","isDev","SafeAreaFrameContext","initialSafeAreaInsets","others","parentInsets","parentFrame","setInsets","setFrame","_event$nativeEvent","nextFrame","nextInsets","NO_INSETS_ERROR","safeArea","withSafeAreaInsets","useSafeArea","SafeAreaConsumer","SafeAreaContext","createSvgCircle","cx","cy","strokeWidth","_props$animating","_props$color","_props$hidesWhenStopp","_props$size","svg","viewBox","stroke","strokeDasharray","strokeDashoffset","indicatorSizes","animationPause","animationKeyframes","animationIterationCount","animationPlayState","Alert","isLayoutAnimationEnabled","shouldEmitW3CPointerEvents","shouldPressibilityUseW3CPointerEventsForHover","animatedShouldDebounceQueueFlush","animatedShouldUseSingleOp","nativeEventEmitter","NativeAnimatedModule","__nativeAnimatedNodeTagCount","__nativeAnimationIdCount","waitingForQueuedOperations","queueOperations","queueAndExecuteBatchedOperations","ReactNativeFeatureFlags","flushQueueTimeout","nativeOps","API","saveValueCallback","queueOperation","setWaitingForIdentifier","unsetWaitingForIdentifier","disableQueue","clearImmediate","flushQueue","createAnimatedNode","updateAnimatedNodeConfig","startListeningToAnimatedNodeValue","stopListeningToAnimatedNodeValue","connectAnimatedNodes","parentTag","childTag","disconnectAnimatedNodes","startAnimatingNode","animationId","nodeTag","endCallback","setAnimatedNodeValue","setAnimatedNodeOffset","flattenAnimatedNodeOffset","extractAnimatedNodeOffset","connectAnimatedNodeToView","disconnectAnimatedNodeFromView","restoreDefaultValues","dropAnimatedNode","addAnimatedEventToView","eventMapping","removeAnimatedEventFromView","animatedNodeTag","SUPPORTED_COLOR_STYLES","SUPPORTED_STYLES","SUPPORTED_TRANSFORMS","rotateZ","SUPPORTED_INTERPOLATION_PARAMS","isSupportedStyleProp","isSupportedTransformProp","isSupportedInterpolationParam","generateNewAnimationId","_warnedMissingNativeAnimated","shouldUseNativeDriver","isSupportedColorStyleProp","addWhitelistedStyleProp","addWhitelistedTransformProp","addWhitelistedInterpolationParam","validateStyles","validateTransform","validateInterpolation","generateNewNodeTag","assertNativeAnimatedModule","transformDataType","NativeAnimatedAPI","NativeAnimatedHelper","AnimatedNode","_listeners","__isNative","__getValue","platformConfig","_platformConfig","hasListeners","_startListeningToNativeValueUpdates","_stopListeningForNativeValueUpdates","__nativeAnimatedValueListener","__shouldUpdateListenersForNewNativeTag","__getNativeTag","__onAnimatedValueUpdateReceived","__callListeners","_this$__nativeTag","nativeTag","__getNativeConfig","_AnimatedNode","AnimatedWithChildren","_children","_step","_iterator","_createForOfIteratorHelperLoose","__makeNative","__attach","__getPlatformConfig","__detach","_step2","_iterator2","createInterpolation","colorToRgba","stringShapeRegex","checkPattern","outputRanges","interpolations","shouldRound","range","createInterpolationFromStringOutputRange","findRange","inputMin","inputMax","outputMin","outputMax","AnimatedInterpolation","_AnimatedWithChildren","_parent","_interpolation","parentValue","__addChild","__removeChild","__transformDataType","__createInterpolation","AnimatedValue","_startingValue","_offset","operation","_updateValue","stopTracking","__isInteraction","createInteractionHandle","clearInteractionHandle","_tracking","tracking","rootNode","animatedStyles","findAnimatedStyles","__getChildren","_flush","attachNativeEvent","eventMappings","traverse","nativeEventPath","animatedValueTag","mapping","detach","AnimatedEvent","_argMapping","__addListener","_callListeners","_attachedEvent","recMapping","recEvt","mappingKey","AnimatedTransform","transforms","_transforms","__getAnimatedValue","transConfigs","flattenStyle","createAnimatedStyle","AnimatedStyle","_inputStyle","_style","updatedStyle","_walkStyleAndGetValues","_walkStyleAndGetAnimatedValues","styleConfig","AnimatedProps","_animatedView","__disconnectAnimatedView","__connectAnimatedView","animatedView","nativeViewTag","propsConfig","propKey","useReducer","onUpdateRef","prevNodeRef","isUnmountingRef","prevNode","__restoreDefaultValues","useAnimatedPropsLifecycle","callbackRef","cleanupRef","useRefEffect","setNativeView","getEventTarget","propValue","_i","_events","_events$_i","reduceAnimatedProps","_useAnimatedProps","reducedProps","_refs","passthroughAnimatedPropExplicitValues","passthroughStyle","passthroughProps","mergedStyle","ItemWithSeparator","LeadingSeparatorComponent","SeparatorComponent","cellKey","prevCellKey","setSelfHighlightCallback","updateHighlightFor","setSelfUpdatePropsCallback","updatePropsFor","section","inverted","leadingSeparatorHiglighted","setLeadingSeparatorHighlighted","separatorHighlighted","setSeparatorHighlighted","leadingItem","leadingSection","trailingItem","trailingSection","leadingSeparatorProps","setLeadingSeparatorProps","separatorProps","setSeparatorProps","separators","highlight","unhighlight","leadingSeparator","highlighted","separator","VirtualizedSectionList","_keyExtractor","_subExtractor","_convertViewable","viewable","_info$index","keyExtractorWithNullableIndex","keyExtractorWithNonNullableIndex","defaultKeyExtractor","_onViewableItemsChanged","viewableItems","onViewableItemsChanged","_renderItem","listItemCount","infoIndex","renderSectionHeader","renderSectionFooter","_getSeparatorComponent","SectionSeparatorComponent","_setUpdateHighlightFor","_setUpdatePropsFor","_updateHighlightFor","_updatePropsFor","_updatePropsMap","updateHighlight","_updateHighlightMap","updateHighlightFn","updatePropsFn","_captureRef","_listRef","itemIndex","sectionIndex","getItemCount","sections","viewOffset","stickySectionHeadersEnabled","__getFrameMetricsApprox","toIndexParams","scrollToIndex","passThroughProps","ItemSeparatorComponent","listHeaderOffset","ListHeaderComponent","stickyHeaderIndices","itemCount","VirtualizedList","_getItem","itemIdx","sectionData","isLastItemInList","isLastItemInSection","SectionList","_wrapperListRef","scrollToLocation","listRef","getListRef","recordInteraction","flashScrollIndicators","getScrollResponder","_stickySectionHeadersEnabled","AnimatedAddition","_b","AnimatedDiffClamp","_min","_max","_lastValue","diff","AnimatedDivision","_warnedAboutDivideByZero","AnimatedModulo","modulus","_modulus","AnimatedMultiplication","AnimatedSubtraction","AnimatedTracking","animationClass","_animationClass","_animationConfig","_useNativeDriver","animate","__getNativeAnimationConfig","AnimatedValueXY","valueIn","setOffset","flattenOffset","extractOffset","resetAnimation","jointCallback","startNativeAnimationNextId","Animation","animatedValue","__nativeId","__onEnd","startNativeAnimationWaitId","__debouncedOnEnd","_Animation","DecayAnimation","_config$deceleration","_config$isInteraction","_config$iterations","_deceleration","_velocity","__iterations","iterations","__active","_fromValue","_onUpdate","_startTime","__startNativeAnimation","_animationFrame","cancelAnimationFrame","stiffnessFromOrigamiValue","oValue","dampingFromOrigamiValue","fromOrigamiTensionAndFriction","tension","fromBouncinessAndSpeed","normalize","endValue","projectNormal","bouncyTension","bouncyFriction","b3Friction2","b3Friction3","b3Nobounce","linearInterpolation","SpringAnimation","_config$overshootClam","_config$restDisplacem","_config$restSpeedThre","_config$velocity2","_config$delay","_config$stiffness","_config$damping","_config$mass","_overshootClamping","_restDisplacementThreshold","_restSpeedThreshold","_initialVelocity","_lastVelocity","_toValue","_delay","_stiffness","_damping","_mass","_config$bounciness","_config$speed","springConfig","SpringConfig","_config$tension","_config$friction","_springConfig","_this$_initialVelocit","_startPosition","_lastPosition","_lastTime","_frameTime","internalState","getInternalState","lastVelocity","_timeout","envelope","_envelope","_easeInOut","TimingAnimation","_config$easing","_config$duration","_easing","_duration","numFrames","defaultColor","isRgbaValue","AnimatedColor","isRgbaAnimatedValue","rgbaAnimatedValue","_processColor","initColor","nativeColor","_processColor2","shouldUpdateNodeConfig","rgbaValue","_combineCallbacks","onComplete","maybeVectorAnim","configX","configY","_config$key","aY","parallel","stopTogether","configR","configG","configB","configA","_config$_key","aR","aG","_start2","configuration","singleValue","singleConfig","_startNativeLoop","_isUsingNativeDriver","doneCount","hasEnded","endResult","ValueXY","Color","Interpolation","Node","decay","_start3","_start","subtract","divide","modulo","diffClamp","stagger","_temp","_ref$iterations","_ref$resetBeforeItera","resetBeforeIteration","iterationsSoFar","restart","animatedEvent","forkEvent","unforkEvent","__removeListener","Event","inAnimationCallback","mockAnimationStart","guardedCallback","emptyAnimation","mockCompositeAnimation","anyValue","AnimatedImplementation","isTesting","AnimatedMock","buttonDisabled","textDisabled","shouldInit","visualViewport","docEl","clientHeight","clientWidth","devicePixelRatio","handleResize","dimension","initialDimensions","float32ArraySupported","_aGuessT","_aA","_aB","_t","_t2","_bezier","deepDiffer","one","two","maxDepth","len","ii","twoKey","safeIsNaN","areInputsEqual","newInputs","lastInputs","second","numColumnsOrDefault","numColumns","_virtualizedListPairs","ret","kk","_item","_getItemCount","isArrayLike","_this$props$keyExtrac","_renderer","ListItemComponent","columnWrapperStyle","extraData","cols","renderProp","_item2","_index","_memoizedRenderer","resultFn","memoized","newArgs","lastThis","lastArgs","lastResult","memoizeOne","_checkProps","viewabilityConfigCallbackPairs","pair","viewabilityConfig","_createOnViewableItemsChanged","scrollToEnd","scrollToItem","scrollToOffset","getScrollRef","_this$props$keyExtrac2","_pushMultiColumnViewable","removeClippedSubviews","_removeClippedSubviews","_this$props$strictMod","strictMode","renderer","allowRTL","forceRTL","dataUriPattern","ImageUriCache","_entries","lastUsedTimestamp","refCount","_cleanUpIfNeeded","leastRecentlyUsedKey","leastRecentlyUsedEntry","imageUris","_maximumEntries","requests","ImageLoader","abort","requestId","getSize","failure","complete","setInterval","clearInterval","onLoad","onDecode","decode","prefetch","queryCache","uris","LOADED","LOADING","_filterId","svgDataUriPattern","resolveAssetUri","preferredScale","blurRadius","defaultSource","draggable","onLoadEnd","onLoadStart","updateLayout","hasTextAncestor","TextAncestorContext","hiddenImageRef","filterRef","requestRef","shouldDisplaySource","_extractNonStandardSt","filterId","tintColorProp","flatStyle","_filter","shadowString","createBoxShadowValue","extractNonStandardStyleProps","_resizeMode","_tintColor","selectedSource","displayImageUri","imageSizeStyle","_getAssetByID","resolveAssetDimensions","backgroundImage","backgroundSize","_hiddenImageRef$curre","_height3","_width3","scaleFactor","getBackgroundSize","hiddenImage","alt","accessibilityImage$raw","abortPendingRequest","_layout","inline","undo","resizeModeStyles","suppressHydrationWarning","floodColor","in2","operator","createTintColorSVG","ImageWithStatics","backgroundPosition","backgroundRepeat","contain","none","repeat","stretch","TaskQueue","onMoreTasks","_onMoreTasks","_queueStack","tasks","popable","task","_getCurrentQueue","enqueue","tasksToCancel","gen","_genPromise","stackIdx","stackItem","hasTasksToProcess","ex","isSupported","requestIdleCallback","didTimeout","timeRemaining","cancelIdleCallback","_emitter","Events","interactionStart","interactionComplete","runAfterInteractions","_scheduleUpdate","_taskQueue","enqueueTasks","cancelTasks","_inc","_addInteractionSet","_deleteInteractionSet","setDeadline","deadline","_deadline","_interactionSet","_nextUpdateHandle","_processUpdate","interactionCount","nextInteractionCount","processNext","initialURL","Linking","_eventCallbacks","filteredCallbacks","open","_dispatchEvent","urlToOpen","elementRef","ReactDOM","getAnimationStyle","animatedSlideInStyles","animatedSlideOutStyles","animatedFadeInStyles","animatedFadeOutStyles","hidden","animatedIn","ANIMATION_DURATION","animatedOut","fadeIn","fadeOut","slideIn","slideOut","onShow","isRendering","setIsRendering","wasVisible","wasRendering","onAnimationEnd","ModalContent","onRequestClose","closeOnEscape","modalTransparent","modalOpaque","FocusBracket","tabIndex","focusBracket","attemptFocus","activeElement","focusFirstDescendant","childNodes","focusLastDescendant","trapElementRef","focusRef","trapFocusInProgress","lastFocusedElement","trapFocus","hasFocused","lastFocusedElementOutsideTrap","uniqueModalIdentifier","activeModalStack","activeModalListeners","notifyActiveModalListeners","activeModalId","modalId","removeActiveModal","_props$visible","setIsActive","onShowCallback","addActiveModal","ModalPortal","ModalAnimation","ModalFocusTrap","layoutSize","canUsePassiveEvents","supportsPassiveEvents","isPropagationStopped","cancelBubble","isDefaultPrevented","opts","capture","getOptions","compatListener","persist","previousModality","previousActiveModality","activeModality","modality","isEmulatingMouseEvents","KEYBOARD","CONTEXTMENU","MOUSEDOWN","MOUSEMOVE","MOUSEUP","POINTERDOWN","POINTERMOVE","SCROLL","SELECTIONCHANGE","TOUCHCANCEL","TOUCHMOVE","TOUCHSTART","bubbleOptions","passive","captureOptions","restoreModality","callListeners","onPointerish","metaKey","altKey","ctrlKey","visibilityState","targetListeners","useStable","removeTargetListener","lockEventType","unlockEventType","dispatchCustomEvent","_ref$bubbles","bubbles","_ref$cancelable","detail","initCustomEvent","useHover","targetRef","onHoverStart","onHoverChange","onHoverUpdate","onHoverEnd","canUsePE","addMoveListener","addEnterListener","addLeaveListener","addLockListener","addUnlockListener","hoverEnd","leaveListener","moveListener","hoverStart","lockEvent","useForceableState","forced","MemoedPressable","onContextMenu","onKeyDown","onPressMove","testOnly_hovered","_useForceableState","setHovered","_useForceableState2","_useForceableState3","setPressed","onPressChange","onContextMenuPress","onKeyDownPress","_tabIndex","interactionState","blurHandler","focusHandler","contextMenuHandler","keyDownHandler","normalizeScrollEvent","contentSize","scrollHeight","scrollWidth","layoutMeasurement","ScrollViewBase","onTouchMove","onWheel","_props$scrollEnabled","scrollEnabled","_props$scrollEventThr","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","scrollState","isScrolling","scrollLastTick","scrollTimeout","scrollRef","createPreventableScrollHandler","handleScrollTick","hideScrollbar","handleScrollEnd","lastTick","eventThrottle","timeSinceLastTick","shouldEmitScrollEvent","handleScrollStart","scrollDisabled","overflowX","overflowY","scrollbarWidth","_scrollNodeRef","_innerViewRef","isTouching","lastMomentumScrollBeginTime","lastMomentumScrollEndTime","observedScrollSinceBecomingResponder","becameResponderWhileAnimating","scrollResponderHandleScrollShouldSetResponder","scrollResponderHandleStartShouldSetResponderCapture","scrollResponderIsAnimating","scrollResponderHandleTerminationRequest","scrollResponderHandleTouchEnd","onTouchEnd","scrollResponderHandleResponderRelease","onResponderRelease","currentlyFocusedTextInput","TextInputState","currentlyFocusedField","onScrollResponderKeyboardDismissed","blurTextInput","scrollResponderHandleScroll","scrollResponderHandleResponderGrant","onResponderGrant","scrollResponderHandleScrollBeginDrag","onScrollBeginDrag","scrollResponderHandleScrollEndDrag","onScrollEndDrag","scrollResponderHandleMomentumScrollBegin","onMomentumScrollBegin","scrollResponderHandleMomentumScrollEnd","onMomentumScrollEnd","scrollResponderHandleTouchStart","onTouchStart","scrollResponderHandleTouchMove","scrollResponderScrollTo","scroll","behavior","scrollResponderZoomTo","scrollResponderScrollNativeHandleToKeyboard","nodeHandle","additionalOffset","preventNegativeScrollOffset","additionalScrollOffset","measureLayout","getInnerViewNode","scrollResponderTextInputFocusError","scrollResponderInputMeasureAndScrollToKeyboard","keyboardScreenY","keyboardWillOpenTo","endCoordinates","screenY","scrollOffsetY","scrollResponderKeyboardWillShow","onKeyboardWillShow","scrollResponderKeyboardWillHide","onKeyboardWillHide","scrollResponderKeyboardDidShow","onKeyboardDidShow","scrollResponderKeyboardDidHide","onKeyboardDidHide","scrollResponderFlashScrollIndicators","getInnerViewRef","scrollResponderNode","_handleContentOnLayout","_e$nativeEvent$layout","onContentSizeChange","_handleScroll","_setInnerViewRef","_setScrollNodeRef","mergeRefs","warning","refreshControl","pagingEnabled","centerContent","contentSizeChangeProps","hasStickyHeaderIndices","isSticky","stickyHeader","pagingEnabledChild","contentContainerHorizontal","contentContainerCenterContent","baseStyle","baseHorizontal","baseVertical","pagingEnabledStyle","pagingEnabledHorizontal","pagingEnabledVertical","onStartShouldSetResponder","scrollResponderHandleStartShouldSetResponder","onStartShouldSetResponderCapture","onScrollShouldSetResponder","onResponderTerminationRequest","onResponderTerminate","scrollResponderHandleTerminate","onResponderReject","scrollResponderHandleResponderReject","ScrollViewClass","scrollView","commonStyle","WebkitOverflowScrolling","scrollSnapType","scrollSnapAlign","ForwardedScrollView","supportsCSS3TextDecoration","SYSTEM_FONT_STACK","STYLE_SHORT_FORM_EXPANSIONS","borderBlockColor","borderInlineColor","borderBlockStyle","borderInlineStyle","borderBlockWidth","borderInlineWidth","insetBlock","insetInline","marginBlock","marginInline","paddingBlock","paddingInline","overscrollBehavior","borderBlockStartColor","borderBlockStartStyle","borderBlockStartWidth","borderBlockEndColor","borderBlockEndStyle","borderBlockEndWidth","borderEndStartRadius","borderEndEndRadius","borderStartStartRadius","borderStartEndRadius","insetBlockEnd","insetBlockStart","marginBlockStart","marginBlockEnd","paddingBlockStart","paddingBlockEnd","isInline","backgroundClip","WebkitBackgroundClip","textDecoration","normalizeValueWithProperty","longFormProperties","longForm","isWebColor","colorInt","unitlessNumbers","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flexOrder","flexPositive","flexNegative","gridRow","gridRowEnd","gridRowGap","gridRowStart","gridColumn","gridColumnEnd","gridColumnGap","gridColumnStart","lineClamp","order","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeMiterlimit","strokeOpacity","scaleZ","prefixKey","colorProps","textDecorationColor","returnValue","createCSSStyleSheet","ShadowRoot","insertBefore","createOrderedCSSStyleSheet","group","groups","selectors","cssRule","selectorText","groupPattern","decodeGroupRule","getSelectorText","sheetInsert","orderedGroups","getOrderedGroups","nextGroupIndex","nextGroup","isInserted","insertRuleAt","groupNumber","previousStart","OrderedCSSStyleSheet","getTextContent","marker","insert","groupValue","markerRule","encodeGroupRule","selectorPattern","defaultId","roots","sheets","initialRules","getRootNode","initialSheet","seed","murmurhash2_32_gc","uppercasePattern","msPattern","toHyphenLower","hName","wms","plugins","crossFade","imageSet","logical","sizing","prefixMap","textEmphasisPosition","textEmphasis","textEmphasisStyle","textEmphasisColor","boxDecorationBreak","clipPath","maskImage","maskMode","maskRepeat","maskPosition","maskClip","maskOrigin","maskSize","maskComposite","mask","maskBorderSource","maskBorderMode","maskBorderSlice","maskBorderWidth","maskBorderOutset","maskBorderRepeat","maskBorder","maskType","textDecorationSkip","breakAfter","breakBefore","breakInside","columnFill","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columnSpan","columnWidth","backdropFilter","hyphens","flowInto","flowFrom","regionFragment","textOrientation","fontKerning","textSizeAdjust","createPrefixer","staticData","customGroup","borderInlineStartColor","borderInlineStartStyle","borderInlineStartWidth","borderInlineEndColor","borderInlineEndStyle","borderInlineEndWidth","insetInlineEnd","marginInlineStart","marginInlineEnd","paddingInlineStart","paddingInlineEnd","borderLeftStyle","borderRightStyle","PROPERTIES_FLIP","_PROPERTIES_FLIP","PROPERTIES_I18N","PROPERTIES_VALUE","atomic","compiledStyle","$$css","compiledRules","atomicCompile","srcProp","valueString","normalizedValue","stringifyValueWithProperty","cachedResult","createIdentifier","_processKeyframesValu2","processKeyframesValue","animationNames","keyframesRules","block","createDeclarationBlock","_block","finalValue","_block2","_block3","_block4","_block5","_block6","createAtomicRules","orderedRules","localizeableValue","_left","_right","propPolyfill","ltr","rtl","polyfillIndices","ltrPolyfillValues","rtlPolyfillValues","ltrVal","ltrPolyfill","rtlPolyfill","_ltr","_rtl","prefixStyles","hyphenateStyleName","keyframesValue","_createKeyframes","stepName","createKeyframes","staticStyleMap","defaultPreprocessOptions","insertRules","compiledOrderedRules","compileAndInsertReset","_classic","_processKeyframesValu","classic","compiledStyles","styleObj","_atomic","preprocess","compileAndInsertAtomic","styleProps","_options","preprocessOptions","styleq","localizeStyle","customStyleq","originalStyle","frozenProps","nextStyle","originalValue","originalProp","originalValues","valuePolyfill","style1","style2","flatArray","__REACT_DEVTOOLS_GLOBAL_HOOK__","resolveRNStyle","defaultOffset","mapTransform","PROPERTIES_STANDARD","borderEndStyle","borderStartStyle","ignoredProps","boxShadowValue","textShadowValue","_value2","verticalAlign","forwardPropsList","forwardedProps","lang","hrefAttrs","onClick","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onResponderEnd","onResponderMove","onResponderStart","onScrollShouldSetResponderCapture","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","contextDirection","useLocaleContext","useElementLayout","useResponderEvents","handleClick","langDirection","getLocaleDirection","componentDirection","dir","supportedProps","pickProps","WebkitLineClamp","textHasAncestor$raw","text$raw","textOneLine","textMultiLine","notSelectable","pressable","download","rel","platformMethodsRef","usePlatformMethods","boxSizing","listStyle","whiteSpace","wordWrap","textOverflow","WebkitBoxOrient","setSelection","selection","selectionEnd","selectionStart","isSelectionStale","setSelectionRange","autoCapitalize","autoComplete","autoCorrect","autoFocus","maxLength","readOnly","spellCheck","focusTimeout","_inputMode","_props$autoCapitalize","autoCompleteType","_props$autoCorrect","blurOnSubmit","caretHidden","clearTextOnFocus","enterKeyHint","inputMode","keyboardType","onKeyPress","onSelectionChange","onSubmitEditing","_props$readOnly","_props$secureTextEntr","secureTextEntry","selectTextOnFocus","prevSelection","prevSecureTextEntry","handleContentSizeChange","hostNode","newHeight","newWidth","imperativeRef","_currentlyFocusedNode","shouldBlurOnSubmit","isComposing","keyCode","isEventComposing","shiftKey","onSelect","_e$target","_selection","textinput$raw","MozAppearance","WebkitAppearance","resize","caretColor","MemoedTouchableOpacity","setDuration","opacityOverride","setOpacityOverride","setOpacityActive","setOpacityInactive","isGrant","dispatchConfig","isCustomProperty","isUnitlessNumber","styleName","dangerousStyleValue","setProperty","getRect","nodeType","clientLeft","clientTop","scrollY","scrollX","relativeToNativeNode","relativeNode","isConnected","relativeRect","_getRect","elementsToIgnore","BODY","INPUT","SELECT","TEXTAREA","nodeName","isContentEditable","measureInWindow","_getRect2","onSuccess","updateView","setValueForStyles","configureNextLayoutAnimation","onAnimationDidEnd","setLayoutAnimationEnabledExperimental","view$raw","accessibilityRoleToWebRole","adjustable","imagebutton","keyboardkey","link","summary","_role","inferredRole","roleComponents","article","banner","blockquote","complementary","contentinfo","deletion","emphasis","figure","insertion","form","listitem","paragraph","region","strong","isDisabled","accessibilityStates","propsToAccessibilityComponent","propsToAriaRole","level","accessibilityLevel","processIDRefList","idRefList","pointerEventsStyles","auto","elementType","ariaActiveDescendant","accessibilityActiveDescendant","ariaAtomic","accessibilityAtomic","ariaAutoComplete","accessibilityAutoComplete","ariaBusy","accessibilityBusy","ariaChecked","accessibilityChecked","ariaColumnCount","accessibilityColumnCount","ariaColumnIndex","accessibilityColumnIndex","ariaColumnSpan","accessibilityColumnSpan","ariaControls","accessibilityControls","ariaCurrent","accessibilityCurrent","ariaDescribedBy","accessibilityDescribedBy","ariaDetails","accessibilityDetails","ariaDisabled","ariaErrorMessage","accessibilityErrorMessage","ariaExpanded","accessibilityExpanded","ariaFlowTo","accessibilityFlowTo","ariaHasPopup","accessibilityHasPopup","ariaHidden","accessibilityHidden","ariaInvalid","accessibilityInvalid","ariaKeyShortcuts","accessibilityKeyShortcuts","ariaLabelledBy","accessibilityLabelledBy","ariaLevel","ariaLive","ariaModal","accessibilityModal","ariaMultiline","accessibilityMultiline","ariaMultiSelectable","accessibilityMultiSelectable","ariaOrientation","accessibilityOrientation","ariaOwns","accessibilityOwns","ariaPlaceholder","accessibilityPlaceholder","ariaPosInSet","accessibilityPosInSet","ariaPressed","accessibilityPressed","ariaReadOnly","accessibilityReadOnly","ariaRequired","accessibilityRequired","ariaRoleDescription","accessibilityRoleDescription","ariaRowCount","accessibilityRowCount","ariaRowIndex","accessibilityRowIndex","ariaRowSpan","accessibilityRowSpan","ariaSelected","accessibilitySelected","ariaSetSize","accessibilitySetSize","ariaSort","accessibilitySort","ariaValueMax","accessibilityValueMax","ariaValueMin","accessibilityValueMin","ariaValueNow","accessibilityValueNow","ariaValueText","accessibilityValueText","dataSet","domProps","AccessibilityUtil","_ariaActiveDescendant","_ariaAtomic","_ariaAutoComplete","_ariaBusy","_ariaChecked","_ariaColumnCount","_ariaColumnIndex","_ariaColumnSpan","_ariaControls","_ariaCurrent","_ariaDescribedBy","_ariaDetails","_ariaErrorMessage","_ariaExpanded","_ariaFlowTo","_ariaHasPopup","_ariaHidden","_ariaInvalid","_ariaKeyShortcuts","_ariaLabel","_ariaLabelledBy","_ariaLevel","_ariaLive","_ariaModal","_ariaMultiline","_ariaMultiSelectable","_ariaOrientation","_ariaOwns","_ariaPlaceholder","_ariaPosInSet","_ariaPressed","_ariaReadOnly","_ariaRequired","required","_ariaRoleDescription","_ariaRowCount","_ariaRowIndex","_ariaRowSpan","_ariaSelected","_ariaSetSize","_ariaSort","_ariaValueMax","_ariaValueMin","_ariaValueNow","_ariaValueText","dataProp","dataName","dataValue","_StyleSheet","inlineStyle","accessibilityComponent","createDOMProps","LocaleProvider","locale","findDOMNode","int32Color","focusTextInput","textFieldNode","clickProps","onAuxClick","onGotPointerCapture","onLostPointerCapture","onPointerOut","onPointerOver","focusProps","keyboardProps","onKeyDownCapture","onKeyUp","onKeyUpCapture","mouseProps","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOver","onMouseOut","onMouseUp","touchProps","onTouchCancel","onTouchCancelCapture","onTouchEndCapture","onTouchMoveCapture","onTouchStartCapture","nextObj","DOM_LAYOUT_HANDLER_NAME","resizeObserver","observer","ResizeObserver","unobserve","rtlScripts","rtlLangs","LocaleContext","cachedRTL","Intl","Locale","script","maximize","isLocaleRTL","relativeToNode","DELAY","ERROR","LONG_PRESS_DETECTED","NOT_RESPONDER","RESPONDER_ACTIVE_LONG_PRESS_START","RESPONDER_ACTIVE_PRESS_START","RESPONDER_INACTIVE_PRESS_START","RESPONDER_RELEASE","RESPONDER_TERMINATED","Transitions","freeze","RESPONDER_GRANT","getElementRole","getElementType","isActiveSignal","signal","isButtonRole","isPressStartSignal","isValidKeyPress","isSpacebar","isButtonish","PressResponder","_eventHandlers","_isPointerTouch","_longPressDelayTimeout","_longPressDispatched","_pressDelayTimeout","_pressOutDelayTimeout","_touchState","configure","_cancelLongPressDelayTimeout","_cancelPressDelayTimeout","_cancelPressOutDelayTimeout","_createEventHandlers","shouldDelay","_selectionTerminated","_receiveSignal","normalizeDelay","_handleLongPress","keyupHandler","isSpacebarKey","getTouchFromResponderEvent","_touchActivatePosition","_this$_config","_this$_config2","_this$_config3","prevState","_performTransitionSideEffects","isTerminalSignal","isPrevActive","isNextActive","_activate","_deactivate","_this$_config4","_onLongPress","_this$_config5","_this$_config6","pressResponderRef","pressResponder","useDebugValue","getEventHandlers","emptyArray","normalizeIdentifier","createResponderEvent","domEvent","responderTouchHistoryStore","propagationWasStopped","domEventChangedTouches","domEventType","normalizeTouches","emulatedTouches","responderEvent","eventPhase","isTrusted","touchHistory","MOUSE_DOWN","MOUSE_MOVE","MOUSE_UP","MOUSE_CANCEL","TOUCH_START","TOUCH_MOVE","TOUCH_END","TOUCH_CANCEL","SELECTION_CHANGE","isStartish","isMoveish","isEndish","isCancelish","keyName","composedPathFallback","getResponderId","getResponderPaths","idPath","nodePath","eventPath","getSelection","anchorNode","getEventPath","hasValidSelection","focusNode","isTextNode","TEXT_NODE","isSelectionValid","timestampForTouch","getTouchIdentifier","recordTouchStart","touchRecord","touchBank","touchActive","startPageX","startPageY","startTimeStamp","currentPageX","currentPageY","currentTimeStamp","previousPageX","previousPageY","previousTimeStamp","resetTouchRecord","createTouchRecord","mostRecentTimeStamp","printTouch","printTouchBank","printed","ResponderTouchHistoryStore","_touchHistory","numberActiveTouches","indexOfSingleActiveTouch","topLevelType","recordTouchMove","recordTouchEnd","touchTrackToCheck","startRegistration","moveRegistration","shouldSetResponderEvents","emptyResponder","responderListenersMap","trackedTouchCount","currentResponder","changeCurrentResponder","responder","getResponderConfig","eventListener","eventTarget","isStartEvent","buttons","noModifiers","isPrimaryPointerDown","isMoveEvent","isEndEvent","isScrollEvent","isScroll","isSelectionChangeEvent","isSelectionChange","recordTouchTrack","wantsResponder","eventPaths","wasNegotiated","currentResponderIdPath","eventIdPath","lowestCommonAncestor","pathA","pathB","pathALength","pathBLength","itemA","indexA","itemB","indexB","getLowestCommonAncestor","shouldSetCallbacks","shouldSetCallbackCaptureName","shouldSetCallbackBubbleName","check","callbackName","shouldSetCallback","_result","_id2","_node2","findWantsResponder","_currentResponder2","currentNode","_getResponderConfig2","_getResponderConfig3","allowTransfer","attemptTransfer","_currentResponder","_getResponderConfig","isTerminateEvent","relatedTarget","isReleaseEvent","hasTargetTouches","shouldTerminate","documentEventsCapturePhase","documentEventsBubblePhase","addNode","setResponderId","removeNode","_currentResponder3","terminateResponder","idCounter","getInitialValue","isAttachedRef","__reactResponderSystemActive","ResponderSystem","requiresResponderSystem","isResponder","UNINITIALIZED","_this$_nativeModule","_this$_nativeModule2","_this$_nativeModule3","_this$_nativeModule4","elementsThatOverlapOffsets","offsets","getFrameMetrics","zoomScale","offsetIndex","mid","scaledOffsetStart","scaledOffsetEnd","newRangeCount","computeWindowedRenderLimits","maxToRenderPerBatch","windowSize","getFrameMetricsApprox","scrollMetrics","visibleLength","_scrollMetrics$zoomSc","visibleBegin","visibleEnd","overscanLength","fillPreference","overscanBegin","overscanEnd","_elementsThatOverlapO","overscanFirst","overscanLast","newCellCount","maxNewCells","firstWillAddMore","firstShouldIncrement","lastWillAddMore","lastShouldIncrement","onRefresh","progressBackgroundColor","progressViewOffset","refreshing","Batchinator","delayMS","_taskHandle","timeoutHandle","_console","CellRenderMask","numCells","_numCells","_regions","isSpacer","cells","_this$_regions","_this$_findRegion","_findRegion","firstIntersect","firstIntersectIdx","_this$_findRegion2","lastIntersect","lastIntersectIdx","newLeadRegion","newTailRegion","newMainRegion","replacementRegions","numRegionsToDelete","cellIdx","firstIdx","lastIdx","middleIdx","middleRegion","ChildListCollection","_cellKeyToChildren","_childrenToCellKey","_this$_cellKeyToChild","cellLists","listSet","_this$_cellKeyToChild2","_step3","_iterator3","_this$_cellKeyToChild3","_step4","_iterator4","Info","any_blank_count","any_blank_ms","any_blank_speed_sum","mostly_blank_count","mostly_blank_ms","pixels_blank","pixels_sampled","pixels_scrolled","total_time_spent","sample_count","_minSampleCount","_sampleRate","FillRateHelper","_anyBlankStartTime","_enabled","_info","_mostlyBlankStartTime","_samplesStartTime","_getFrameMetrics","_resetData","cellsAroundViewport","dOffset","scrollSpeed","blankTop","firstFrame","inLayout","blankBottom","lastFrame","bottomEdge","blankness","deactivateAndFlush","sampleRate","minSampleCount","StateSafePureComponent","_inAsyncStateUpdate","_installSetStateHooks","that","_isViewable","viewAreaMode","viewablePercentThreshold","viewportHeight","itemLength","_isEntirelyVisible","pixels","visibleHeight","_getPixelsVisible","ViewabilityHelper","viewAreaCoveragePercentThreshold","_hasInteracted","_timers","_viewableIndices","_viewableItems","scrollOffset","renderRange","itemVisiblePercentThreshold","viewableIndices","firstVisible","metrics","createViewToken","waitForInteraction","computeViewableItems","minimumViewTime","_onUpdateSync","viewableIndicesToCheck","prevItems","nextItems","_step$value","_step2$value","_viewable","isViewable","VirtualizedListContext","VirtualizedListContextProvider","getScrollMetrics","getOutermostParentListRef","registerAsNestedChild","unregisterAsNestedChild","VirtualizedListCellContextProvider","currContext","CellRenderer","_separators","onUpdateSeparators","_onLayout","onCellLayout","onUnmount","inversionStyle","onCellFocusCapture","_renderElement","itemSeparator","cellStyle","rowReverse","columnReverse","onFocusCapture","_usedIndexForKey","_keylessItemComponentName","horizontalOrDefault","maxToRenderPerBatchOrDefault","onEndReachedThresholdOrDefault","onEndReachedThreshold","getScrollingThreshold","windowSizeOrDefault","_StateSafePureCompone","_this$props$updateCel","_getScrollMetrics","_scrollMetrics","_getOutermostParentListRef","_isNestedWithSameOrientation","_registerAsNestedChild","_nestedChildLists","_unregisterAsNestedChild","_onUpdateSeparators","_cellRefs","updateSeparatorProps","_getSpacerKey","isVertical","_averageCellLength","_frames","_footerLength","_hasTriggeredInitialScrollToIndex","_hasMore","_hasWarned","_headerLength","_hiPriInProgress","_highestMeasuredFrameIndex","_indicesToKeys","_lastFocusedCellKey","_offsetFromParentVirtualizedList","_prevParentOffset","contentLength","dt","_scrollRef","_sentStartForContentLength","_sentEndForContentLength","_totalCellLength","_totalCellsMeasured","_viewabilityTuples","_captureScrollRef","_defaultRenderScrollComponent","_props$refreshing","_onCellLayout","_selectOffset","_selectLength","_scheduleCellsToRenderUpdate","_triggerRemeasureForChildListsInCell","_computeBlankness","_updateViewableItems","_onCellUnmount","measureLayoutRelativeToContainingList","_maybeCallOnEdgeReached","_onLayoutEmpty","_onLayoutFooter","_getFooterCellKey","_onLayoutHeader","_onContentSizeChange","initialScrollIndex","nullthrows","_convertParentScrollMetrics","_onScroll","_this$_convertParentS","perf","infoLog","prevDt","_fillRateHelper","_onScrollBeginDrag","tuple","viewabilityHelper","_onScrollEndDrag","_onMomentumScrollBegin","_onMomentumScrollEnd","_updateCellsToRender","_adjustCellsAroundViewport","renderMask","_createRenderMask","_getNonViewportRenderRegions","equals","_createViewToken","_getOffsetApprox","isInteger","frameMetrics","remainder","getItemLayout","focusedCellIndex","heightOfCellsBeforeFocused","heightOfCellsAfterFocused","_updateCellsToRenderBatcher","updateCellsBatchingPeriod","initialRenderRegion","_initialRenderRegion","invertedWheelEventHandler","scrollLength","clientLength","isEventTargetScrollable","wheelDeltaX","wheelDeltaY","leftoverDelta","targetDelta","nextScrollLeft","nextScrollTop","veryLast","onScrollToIndexFailed","viewPosition","averageItemLength","highestMeasuredFrameIndex","newCellsAroundViewport","_this$_scrollMetrics","distanceFromEnd","_constrainToItemCount","disableVirtualization","renderAhead","EPSILON","childIdx","_findFirstChildWithMore","cellKeyForIndex","anyInCell","hasMore","setupWebWheelHandler","dispose","teardownWebWheelHandler","stickyIndicesFromProps","stickyOffset","shouldListenForLayout","_onCellFocusCapture","nestedContext","ListEmptyComponent","ListFooterComponent","horizontallyInverted","verticallyInverted","_element","_getCellKey","ListHeaderComponentStyle","_element2","spacerKey","renderRegions","enumerateRegions","lastSpacer","predicate","findLastWhere","firstMetrics","lastMetrics","spacerSize","_pushCells","_element3","ListFooterComponentStyle","invertStickyHeaders","_renderDebugOverlay","resetViewableIndices","hiPriInProgress","computeBlankness","forEachInCell","framesInLayout","windowTop","frameLast","windowLen","visTop","visLen","debugOverlayBase","debugOverlay","debugOverlayFrame","debugOverlayFrameLast","debugOverlayFrameVis","onStartReached","onStartReachedThreshold","onEndReached","_this$_scrollMetrics2","distanceFromStart","isWithinStartThreshold","isWithinEndThreshold","_this$state$cellsArou","_this$_scrollMetrics3","hiPri","onStartReachedThresholdOrDefault","distTop","distBottom","schedule","additionalRegions","_i2","_allRegions","addCells","initialRegion","stickyIndicesSet","_ensureClosestStickyHeader","_props$initialScrollI","initialNumToRender","firstCellIndex","constrainedCells","contextType","_registry","registrations","registry","allocate","registration","_arr","defaultTheme","Comp","ThemedComponent","_reactThemeProviderForwardedRef","_merge","ResultComponent","isMergeableObject","isNonNullObject","isSpecial","stringValue","isReactElement","REACT_ELEMENT_TYPE","emptyTarget","cloneUnlessOtherwiseSpecified","clone","deepmerge","defaultArrayMerge","getMergeFunction","customMerge","getEnumerableOwnPropertySymbols","symbol","propertyIsEnumerable","getKeys","mergeObject","destination","arrayMerge","sourceIsArray","_insertTag","before","tags","insertionPoint","nextSibling","prepend","isSpeedy","speedy","ctr","nonce","_proto","nodes","createStyleElement","styleSheets","ownerNode","sheetForTag","fromCharCode","charat","indexof","strlen","sizeof","append","combine","character","characters","return","copy","peek","caret","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","commenter","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","KEYFRAMES","serialize","compile","rulesets","pseudo","points","declarations","atrule","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","identifierWithPointTracking","getRules","parsed","toRules","fixedElements","compat","isImplicitRule","parentRules","removeLabel","defaultStylisPlugins","createCache","ssrStyles","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","currentSheet","finalizingPlugins","serializer","collection","middleware","serialized","shouldCache","registered","memoize","weakMemoize","targetComponent","sourceComponent","isBrowser","EmotionCacheContext","CacheProvider","__unsafe_useEmotionCache","withEmotionCache","createCacheWithTheme","outerTheme","WithTheme","typePropName","createEmotionProps","Insertion","isStringTag","registerStyles","useInsertionEffectAlwaysWithSyncFallback","insertStyles","Emotion$1","cssProp","css","registeredStyles","getRegisteredStyles","serializeStyles","jsx","argsLength","createElementArgArray","E","Global","T","serializedNames","serializedStyles","sheetRef","useInsertionEffectWithLayoutFallback","rehydrating","querySelector","sheetRefCurrent","nextElementSibling","insertable","classnames","cls","toAdd","serializedArr","ClassNames","rawClassName","ele","unitlessKeys","gridRowSpan","gridColumnSpan","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","hyphenateRegex","animationRegex","isProcessableValue","processStyleName","processStyleValue","handleInterpolation","interpolation","__emotion_styles","interpolated","createStringFromObject","previousCursor","labelPattern","stringMode","strings","raw","lastIndex","identifierName","reactPropsRegex","isPropValid","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","composeShouldForwardProps","isReal","shouldForwardProp","optionsShouldForwardProp","__emotion_forwardProp","newStyled","createStyled","targetClassName","__emotion_real","baseTag","__emotion_base","defaultShouldForwardProp","shouldUseAs","Styled","FinalTag","as","classInterpolations","finalShouldForwardProp","withComponent","nextTag","nextOptions","useInsertionEffect","classNames","disablePortal","mountNode","setMountNode","getContainer","defaultGenerator","generate","generator","createClassNameGenerator","composeClasses","slots","getUtilityClass","classes","slot","utilityClass","ownerWindow","useForkRef","appendOwnerState","otherProps","ownerState","isHostComponent","extractEventHandlers","excludeKeys","omitEventHandlers","useSlotProps","parameters","_parameters$additiona","externalSlotProps","skipResolvingSlotProps","resolvedComponentsProps","componentProps","slotState","resolveComponentProps","internalRef","getSlotProps","additionalProps","externalForwardedProps","joinedClasses","clsx","eventHandlers","componentsPropsWithoutEventHandlers","otherPropsWithoutEventHandlers","internalSlotProps","mergeSlotProps","_interopRequireDefault","_createSvgIcon","_jsxRuntime","__esModule","_getRequireWildcardCache","__proto__","_interopRequireWildcard","_utils","createSvgIcon","resolveProps","defaultSlotProps","slotProps","slotPropName","globalStateClasses","completed","expanded","focusVisible","generateUtilityClass","globalStatePrefix","globalStateClass","getLoadingButtonUtilityClass","generateUtilityClasses","useUtilityClasses","loadingPosition","composedClasses","startIcon","capitalize","endIcon","loadingIndicator","LoadingButtonRoot","styled","rootShouldForwardProp","overridesResolver","startIconLoadingStart","endIconLoadingEnd","transitions","short","fullWidth","LoadingButtonLoadingIndicator","vars","inProps","resolvedProps","ButtonGroupContext","useThemeProps","idProp","loadingIndicatorProp","useId","CircularProgress","loadingButtonLoadingIndicator","getAlertUtilityClass","AlertRoot","Paper","severity","getColor","typography","body2","fontWeightMedium","getContrastText","AlertIcon","AlertMessage","AlertAction","defaultIconMapping","SuccessOutlined","ReportProblemOutlined","ErrorOutline","InfoOutlined","_slots$closeButton","_slots$closeIcon","_slotProps$closeButto","_slotProps$closeIcon","closeText","components","componentsProps","iconMapping","onClose","AlertCloseButton","closeButton","CloseButton","AlertCloseIcon","closeIcon","CloseIcon","Close","closeButtonProps","closeIconProps","getAvatarUtilityClass","AvatarRoot","colorDefault","pxToRem","shape","Avatar","defaultBg","AvatarImg","objectFit","textIndent","AvatarFallback","Person","imgProps","sizes","srcSet","crossOrigin","referrerPolicy","setLoaded","srcset","useLoaded","hasImg","hasImgNotFailing","getBackdropUtilityClass","BackdropRoot","invisible","WebkitTapHighlightColor","_slotProps$root","_slots$root","TransitionComponent","Fade","rootSlotProps","Root","getButtonUtilityClass","commonIconStyles","ButtonRoot","ButtonBase","colorInherit","disableElevation","_theme$palette$getCon","_theme$palette","inheritContainedBackgroundColor","inheritContainedHoverBackgroundColor","A100","primaryChannel","hoverOpacity","mainChannel","inheritContainedHoverBg","shadows","disabledBackground","inheritContainedBg","contrastText","ButtonStartIcon","ButtonEndIcon","contextProps","buttonGroupButtonContextPositionClassName","ButtonGroupButtonContext","disableFocusRipple","endIconProp","focusVisibleClassName","startIconProp","positionClassName","focusRipple","getChildMapping","mapFn","isValidElement","getProp","getNextChildMapping","prevChildMapping","onExited","nextChildMapping","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","pendingNextKey","mergeChildMappings","hasPrev","prevChild","isLeaving","cloneElement","exit","enter","TransitionGroup","handleExited","contextValue","isMounting","componentDidMount","mounted","componentWillUnmount","getDerivedStateFromProps","appear","currentChildMapping","childFactory","TransitionGroupContext","propTypes","pulsate","rippleX","rippleY","rippleSize","inProp","leaving","setLeaving","rippleClassName","rippleVisible","ripplePulsate","rippleStyles","childClassName","childLeaving","childPulsate","timeoutId","_t3","_t4","enterKeyframe","exitKeyframe","pulsateKeyframe","TouchRippleRoot","TouchRippleRipple","easeInOut","shorter","centerProp","ripples","setRipples","rippleCallback","ignoringMouseDown","startTimer","startTimerCommit","startCommit","oldRipples","fakeElement","sizeX","sizeY","getButtonBaseUtilityClass","ButtonBaseRoot","colorAdjust","centerRipple","disableRipple","disableTouchRipple","LinkComponent","onDragLeave","onFocusVisible","TouchRippleProps","touchRippleRef","buttonRef","rippleRef","handleRippleRef","isFocusVisibleRef","handleFocusVisible","handleBlurVisible","focusVisibleRef","useIsFocusVisible","setFocusVisible","mountedState","setMountedState","enableTouchRipple","useRippleHandler","rippleAction","eventCallback","skipRippleAction","useEventCallback","handleMouseDown","handleContextMenu","handleDragLeave","handleMouseUp","handleMouseLeave","handleTouchStart","handleTouchEnd","handleTouchMove","isNonNativeButton","keydownRef","handleKeyDown","handleKeyUp","ComponentProp","buttonProps","getButtonGroupUtilityClass","ButtonGroupRoot","grouped","orientation","firstButton","lastButton","middleButton","borderRight","common","onBackgroundChannel","borderBottom","validChildren","getValidReactChildren","childrenCount","getButtonPositionClassName","isFirstButton","isLastButton","getCardActionsUtilityClass","CardActionsRoot","disableSpacing","getSwitchBaseUtilityClass","SwitchBaseRoot","edge","SwitchBaseInput","checkedProp","checkedIcon","defaultChecked","setCheckedState","useControlled","controlled","muiFormControl","useFormControl","hasLabelFor","newChecked","getCheckboxUtilityClass","CheckboxRoot","activeChannel","defaultCheckedIcon","CheckBox","defaultIcon","CheckBoxOutlineBlank","defaultIndeterminateIcon","IndeterminateCheckBox","_icon$props$fontSize","_indeterminateIcon$pr","iconProp","indeterminateIcon","indeterminateIconProp","getChipUtilityClass","ChipRoot","clickable","onDelete","avatar","deleteIcon","deletable","disabledOpacity","Chip","defaultAvatarColor","avatarColorPrimary","avatarColorSecondary","avatarSmall","defaultIconColor","contrastTextChannel","selectedChannel","selectedOpacity","focusOpacity","defaultBorder","hover","iconSmall","deleteIconSmall","ChipLabel","isDeleteKeyboardEvent","keyboardEvent","avatarProp","clickableProp","deleteIconProp","skipFocusWhenDisabled","chipRef","handleDeleteIconClick","moreProps","Cancel","getCircularProgressUtilityClass","SIZE","circularRotateKeyframe","circularDashKeyframe","CircularProgressRoot","CircularProgressSVG","CircularProgressCircle","disableShrink","circleDisableShrink","thickness","circleStyle","rootProps","circumference","getCollapseUtilityClass","CollapseRoot","entered","collapsedSize","CollapseWrapper","CollapseWrapperInner","wrapperInner","Collapse","addEndListener","collapsedSizeProp","onEnter","onEntered","onEntering","onExit","onExiting","standard","wrapperRef","autoTransitionDuration","isHorizontal","nodeRef","normalizedTransitionCallback","maybeIsAppearing","getWrapperSize","handleEnter","isAppearing","handleEntering","wrapperSize","getTransitionProps","duration2","getAutoHeightDuration","handleEntered","handleExit","handleExiting","childProps","muiSupportAuto","getDialogUtilityClass","DialogBackdrop","Backdrop","DialogRoot","DialogContainer","DialogPaper","paper","paperFullWidth","fullScreen","paperFullScreen","breakpoints","unit","xs","paperScrollBody","down","defaultTransitionDuration","enteringScreen","leavingScreen","ariaDescribedby","ariaLabelledbyProp","BackdropComponent","BackdropProps","disableEscapeKeyDown","onBackdropClick","PaperComponent","PaperProps","TransitionProps","backdropClick","ariaLabelledby","dialogContextValue","titleId","closeAfterTransition","defaultTimeout","reflow","transitionProps","webkitTransition","getGridUtilityClass","GRID_SIZES","wrap","getOffset","generateGrid","globalStyles","breakpoint","columnsBreakpointValues","resolveBreakpointValues","columnValue","more","columnSpacing","themeSpacing","up","generateDirection","directionValues","handleBreakpoints","extractZeroValueBreakpointKeys","nonZeroKey","sortedBreakpointKeysByValue","generateRowGap","rowSpacing","rowSpacingValues","zeroValueBreakpointKeys","_zeroValueBreakpointK","generateColumnGap","columnSpacingValues","_zeroValueBreakpointK2","resolveSpacingStyles","spacingStyles","GridRoot","zeroMinWidth","breakpointsStyles","resolveSpacingClasses","Grid","themeProps","extendSxProp","columnsProp","columnSpacingProp","rowSpacingProp","columnsContext","breakpointsValues","otherFiltered","spacingClasses","breakpointsClasses","getScale","isWebKit154","Grow","autoTimeout","getIconButtonUtilityClass","IconButtonRoot","shortest","_palette","getStyleValue","outerHeightStyle","TextareaAutosize","maxRows","minRows","shadowRef","renders","getUpdatedState","inputShallow","innerHeight","singleRowHeight","outerHeight","syncHeight","useEnhancedEffect","syncHeightWithFlushSync","rAF","debounceHandleResize","wait","debounced","debounce","containerWindow","disconnect","themeId","upperTheme","hasValue","getInputBaseUtilityClass","rootOverridesResolver","formControl","startAdornment","adornedStart","endAdornment","adornedEnd","sizeSmall","hiddenLabel","inputOverridesResolver","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel","InputBaseRoot","body1","InputBaseComponent","inputPlaceholder","placeholderHidden","placeholderVisible","WebkitTextFillColor","inputGlobalStyles","InputBase","_slotProps$input","disableInjectingGlobalStyles","inputComponent","inputPropsProp","inputRefProp","renderSuffix","valueProp","handleInputRefWarning","handleInputRef","fcs","states","formControlState","onFilled","onEmpty","checkDirty","SSR","isFilled","InputComponent","setAdornedStart","FormControlContext","onAnimationStart","getInputUtilityClass","InputRoot","disableUnderline","bottomLineColor","inputUnderline","easeOut","borderBottomStyle","InputInput","_slots$input","componentsPropsProp","inputComponentsProps","RootSlot","InputSlot","muiName","getListUtilityClass","ListRoot","disablePadding","subheader","ListContext","documentWidth","innerWidth","nextItem","disableListWrap","previousItem","lastChild","previousElementSibling","textCriteriaMatches","nextFocus","textCriteria","innerText","repeating","moveFocus","currentFocus","disabledItemsFocusable","traversalFunction","wrappedOnce","nextFocusDisabled","hasAttribute","autoFocusItem","textCriteriaRef","previousKeyMatched","adjustStyleForScrollbar","containerElement","noExplicitWidth","scrollbarSize","activeItemIndex","muiSkipListHighlight","newChildProps","lowerKey","currTime","keepFocusOnCurrent","getPopoverUtilityClass","getOffsetTop","getOffsetLeft","getTransformOriginValue","resolveAnchorEl","anchorEl","PopoverRoot","PopoverPaper","_slotProps$paper","_slots$paper","anchorOrigin","anchorPosition","anchorReference","containerProp","marginThreshold","PaperPropsProp","transitionDurationProp","disableScrollLock","externalPaperSlotProps","paperRef","handlePaperRef","getAnchorOffset","resolvedAnchorEl","anchorRect","getTransformOrigin","elemRect","getPositioningStyle","elemTransformOrigin","anchorOffset","heightThreshold","widthThreshold","isPositioned","setIsPositioned","setPositioningStyles","positioning","updatePosition","PaperSlot","paperProps","_useSlotProps","rootSlotPropsProp","getMenuUtilityClass","RTL_ORIGIN","LTR_ORIGIN","MenuRoot","MenuPaper","MenuMenuList","disableAutoFocusItem","MenuListProps","PopoverClasses","isRtl","menuListActionsRef","paperExternalSlotProps","paperSlotProps","getMenuItemUtilityClass","disableGutters","gutters","MenuItemRoot","tabIndexProp","childContext","menuItemRef","createChainedFunction","funcs","show","removeAttribute","getPaddingRight","ariaHiddenSiblings","mountElement","currentElement","elementsToExclude","blacklist","isNotExcludedElement","isNotForbiddenElement","isForbiddenTagName","isInputHidden","isAriaHiddenForbiddenOnElement","findIndexOf","handleContainer","containerInfo","restoreStyle","isOverflowing","getScrollbarSize","scrollContainer","DocumentFragment","removeProperty","defaultManager","modals","modalIndex","modalRef","hiddenSiblings","getHiddenSiblings","containerIndex","restore","ariaHiddenState","nextTop","isTopModal","useModal","onTransitionEnter","onTransitionExited","rootRef","mountNodeRef","exited","setExited","hasTransition","getHasTransition","ariaHiddenProp","getModal","handleMounted","handleOpen","resolvedContainer","handlePortalRef","handleClose","createHandleKeyDown","otherHandlers","_otherHandlers$onKeyD","createHandleBackdropClick","_otherHandlers$onClic","getRootProps","propsEventHandlers","externalEventHandlers","getBackdropProps","portalRef","candidatesSelector","defaultGetTabbable","regularTabNodes","orderedTabNodes","nodeTabIndex","tabindexAttr","contentEditable","getTabIndex","getRadio","roving","isNonTabbableRadio","isNodeMatchingSelectorFocusable","documentOrder","defaultIsEnabled","FocusTrap","disableAutoFocus","disableEnforceFocus","disableRestoreFocus","getTabbable","ignoreNextEnforceFocus","sentinelStart","sentinelEnd","nodeToRestore","reactFocusEventTarget","activated","lastKeydown","loopFocus","rootElement","hasFocus","tabbable","_lastKeydown$current","_lastKeydown$current2","isShiftTab","focusNext","focusPrevious","handleFocusSentinel","childrenPropsHandler","getModalUtilityClass","ModalRoot","ModalBackdrop","_slots$backdrop","_slotProps$backdrop","hideBackdrop","keepMounted","propsWithDefaults","BackdropSlot","backdropSlotProps","backdropProps","alphaValue","getPaperUtilityClass","PaperRoot","square","rounded","_theme$vars$overlays","overlays","setTranslateValue","containerPropProp","containerRect","fakeTransform","getPropertyValue","transformValues","getTranslateValue","webkitTransform","defaultEasing","sharp","easingProp","childrenRef","getTableUtilityClass","TableRoot","borderCollapse","borderSpacing","captionSide","defaultComponent","table","getWindow","isHTMLElement","isShadowRoot","getUAString","uaData","userAgentData","brands","brand","isLayoutViewport","includeScale","isFixedStrategy","clientRect","addVisualOffsets","getWindowScroll","pageXOffset","pageYOffset","getNodeName","getDocumentElement","getWindowScrollBarX","isScrollParent","_getComputedStyle","getCompositeRect","elementOrVirtualElement","isFixed","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","getNodeScroll","getLayoutRect","getParentNode","assignedSlot","host","getScrollParent","listScrollParents","_element$ownerDocumen","scrollParent","isBody","updatedList","isTableElement","getTrueOffsetParent","getOffsetParent","willChange","getContainingBlock","basePlacements","viewport","popper","variationPlacements","placement","modifierPhases","modifiers","requires","requiresIfExists","dep","depModifier","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","strategy","html","layoutViewport","getViewportRect","getInnerBoundingClientRect","winScroll","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","getBasePlacement","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","popperRect","rects","clippingClientRect","contextElement","referenceClientRect","popperOffsets","popperClientRect","elementClientRect","overflowOffsets","offsetData","modifiersData","DEFAULT_OPTIONS","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","orderedModifiers","attributes","effectCleanupFns","isDestroyed","setOptionsAction","cleanupModifierEffects","scrollParents","phase","orderModifiers","merged","mergeByName","_ref$options","cleanupFn","noopFn","_state$elements","_state$orderedModifie","_state$orderedModifie2","onFirstUpdate","_options$scroll","_options$resize","unsetSides","mapToStyles","_Object$assign2","gpuAcceleration","adaptive","roundOffsets","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","dpr","roundOffsetsByDPR","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","arrow","initialStyles","attribute","_options$offset","invertDistance","skidding","distanceAndSkiddingToXY","_data$state$placement","getOppositePlacement","matched","getOppositeVariationPlacement","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","placements","_options$allowedAutoP","allowedPlacements","overflows","computeAutoPlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","fittingPlacement","within","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","withinMaxClamp","_state$modifiersData$","toPaddingObject","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","axisProp","centerOffset","_options$element","getSideOffsets","preventedOffsets","isAnySideFullyClipped","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","eventListeners","globalStateClassesMapping","ClassNameGenerator","getPopperUtilityClass","defaultContextValue","disableDefaultClasses","ClassNameConfiguratorContext","useClassNamesOverride","defaultPopperOptions","PopperTooltip","initialPlacement","popperOptions","popperRef","popperRefProp","tooltipRef","ownRef","handlePopperRef","handlePopperRefRef","rtlPlacement","flipPlacement","setPlacement","resolvedAnchorElement","setResolvedAnchorElement","popperModifiers","Popper","PopperRoot","getTooltipUtilityClass","TooltipPopper","disableInteractive","popperInteractive","popperArrow","popperClose","TooltipTooltip","tooltipArrow","Tooltip","bg","fontWeightRegular","TooltipArrow","hystersisOpen","hystersisTimer","cursorPosition","testReset","composeEventHandler","_slots$popper","_slots$transition","_slots$tooltip","_slots$arrow","_slotProps$popper","_slotProps$popper2","_slotProps$transition","_slotProps$tooltip","_slotProps$tooltip2","_slotProps$arrow","_slotProps$arrow2","describeChild","disableFocusListener","disableHoverListener","disableInteractiveProp","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","leaveDelay","leaveTouchDelay","onOpen","openProp","PopperComponent","PopperComponentProp","PopperProps","TransitionComponentProp","childNode","setChildNode","arrowRef","setArrowRef","ignoreNonTouchEvents","closeTimer","enterTimer","leaveTimer","touchTimer","openState","setOpenState","prevUserSelect","stopTouchInteraction","WebkitUserSelect","handleLeave","setChildIsFocusVisible","detectTouchStart","childrenProps","handleMouseOver","nameOrDescProps","titleIsString","interactiveWrapperListeners","_PopperProps$popperOp","tooltipModifiers","TooltipComponent","ArrowComponent","Arrow","popperProps","tooltipProps","tooltipArrowProps","TransitionPropsInner","getTypographyUtilityClass","TypographyRoot","align","noWrap","gutterBottom","defaultVariantMapping","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","colorTransformations","textPrimary","textSecondary","transformDeprecatedColors","variantMapping","GlobalStyles","themeInput","sm","lg","xl","defaultBreakpoints","styleFromPropValue","themeBreakpoints","cssKey","createEmptyBreakpointObject","breakpointsInput","_breakpointsInput$key","removeUnusedBreakpoints","breakpointKeys","breakpointOutput","mergeBreakpointsInOrder","emptyBreakpoints","mergedOutput","computeBreakpointsBase","breakpointValues","breakpointsKeys","customBase","styleFunction","newStyleFunction","extended","filterProps","hexToRgb","re","decomposeColor","colorChannel","decomposedColor","private_safeColorChannel","recomposeColor","rgbToHex","intToHex","getLuminance","getContrastRatio","lumA","lumB","private_safeAlpha","coefficient","private_safeDarken","private_safeLighten","emphasize","private_safeEmphasize","createBreakpoints","sortedValues","breakpointsAsArray","breakpoint1","breakpoint2","sortBreakpointsValues","between","endIndex","not","keyIndex","paletteInput","spacingInput","shapeInput","mui","createUnarySpacing","argsInput","argument","createSpacing","muiTheme","unstable_sxConfig","defaultSxConfig","unstable_sx","styleFunctionSx","aliases","marginX","marginY","paddingX","paddingY","getCssProperties","marginKeys","paddingKeys","spacingKeys","createUnaryUnit","themeKey","_getPath","getPath","transformed","getStyleFromPropValue","cssProperties","cssProperty","resolveCssProperty","checkVars","themeMapping","propValueFinal","userValue","borderTransform","createBorderStyle","borderTop","borderLeft","paletteTransform","sizingTransform","bgcolor","pt","pr","pb","pl","px","py","mt","mr","mb","ml","mx","my","displayPrint","justifyItems","justifySelf","gridAutoFlow","gridAutoColumns","gridAutoRows","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","gridArea","splitProps","_props$theme$unstable","systemProps","inSx","finalSx","isPlainObject","unstable_createStyleFunctionSx","getThemeValue","_theme$unstable_sxCon","sxInput","sxObject","maybeFn","objects","allKeys","union","objectsHaveSameKeys","systemDefaultTheme","contextTheme","toStringTag","deepClone","formatMuiErrorMessage","globalId","maybeReactUseId","idOverride","reactId","setDefaultId","useGlobalId","easeIn","complex","formatMs","milliseconds","constant","createTransitions","inputTransitions","mergedEasing","mergedDuration","durationOption","easingOption","A200","A400","A700","activatedOpacity","addLightOrDark","intent","shade","tonalOffset","tonalOffsetLight","tonalOffsetDark","createPalette","contrastThreshold","getDefaultPrimary","getDefaultSecondary","getDefaultError","getDefaultInfo","getDefaultSuccess","getDefaultWarning","augmentColor","mainShade","lightShade","darkShade","modes","caseAllCaps","defaultFontFamily","createTypography","fontWeightLight","fontWeightBold","htmlFontSize","allVariants","pxToRem2","buildVariant","casing","variants","caption","overline","createShadow","mobileStepper","fab","speedDial","appBar","drawer","snackbar","mixins","mixinsInput","transitionsInput","typographyInput","systemTheme","toolbar","propsToClassKey","classKey","transformVariants","numOfCallbacks","variantsStyles","definition","variantsResolver","isMatch","propsToCheck","createTheme","lowercaseFirstLetter","resolveTheme","defaultOverridesResolver","muiStyledFunctionResolver","styledArg","resolvedStyles","optionalVariants","slotShouldForwardProp","systemSx","__mui_systemSx","inputOptions","processor","componentSlot","skipVariantsResolver","inputSkipVariantsResolver","skipSx","inputSkipSx","shouldForwardPropOption","defaultStyledResolver","muiStyledResolver","styleArg","expressions","expressionsWithDefaultTheme","stylesArg","styledArgVariants","transformedStylesArg","variantStyle","transformedStyleArg","getStyleOverrides","resolvedStyleOverrides","slotKey","slotStyle","_theme$components","themeVariants","themeVariantsResolver","getVariantStyles","numOfCustomFnsApplied","placeholders","withConfig","getThemeProps","_style$transitionDura","_style$transitionTimi","getSvgIconUtilityClass","SvgIconRoot","_theme$transitions","_theme$transitions$cr","_theme$transitions2","_theme$typography","_theme$typography$pxT","_theme$typography2","_theme$typography2$px","_theme$typography3","_theme$typography3$px","_palette$ownerState$c","_palette2","_palette3","hasSvgAsChild","SvgIcon","htmlColor","inheritViewBox","titleAccess","instanceFontSize","validator","reason","muiNames","_muiName","_element$type","_payload","componentNameInError","propFullName","unstable_ClassNameGenerator","defaultProp","valueState","hadFocusVisibleRecentlyTimeout","hadKeyboardEvent","hadFocusVisibleRecently","inputTypesWhitelist","tel","email","password","date","month","week","datetime","handlePointerDown","handleVisibilityChange","isFocusVisible","focusTriggersKeyboardModality","AWS","Service","apiLoader","services","ACM","defineService","model","paginators","waiters","Amp","APIGateway","ApplicationAutoScaling","Athena","AutoScaling","CloudFormation","CloudFront","CloudHSM","CloudTrail","CloudWatch","CloudWatchEvents","CloudWatchLogs","CodeBuild","CodeCommit","CodeDeploy","CodePipeline","CognitoIdentity","CognitoIdentityServiceProvider","CognitoSync","ConfigService","CUR","DeviceFarm","DirectConnect","DynamoDB","DynamoDBStreams","EC2","ECR","ECS","EFS","ElastiCache","ElasticBeanstalk","ELB","ELBv2","EMR","ElasticTranscoder","Firehose","GameLift","IAM","Inspector","Iot","IotData","Kinesis","KMS","Lambda","LexRuntime","MachineLearning","MarketplaceCommerceAnalytics","MTurk","MobileAnalytics","OpsWorks","Polly","RDS","Redshift","Rekognition","Route53","Route53Domains","S3","ServiceCatalog","SES","SNS","SQS","SSM","StorageGateway","STS","XRay","WAF","WorkDocs","LexModelBuildingService","CloudHSMV2","Pricing","CostExplorer","MediaStoreData","Comprehend","KinesisVideoArchivedMedia","KinesisVideoMedia","KinesisVideo","Translate","ResourceGroups","Connect","SecretsManager","IoTAnalytics","ComprehendMedical","Personalize","PersonalizeEvents","PersonalizeRuntime","ForecastService","ForecastQueryService","MarketplaceCatalog","KinesisVideoSignalingChannels","Location","LexRuntimeV2","svc","Hmac","Md5","Sha1","Sha256","createHash","alg","createHmac","createSign","Buffer","viewStrings","isEmptyData","byteLength","convertToBuffer","Uint8Array","byteOffset","BYTES_PER_ELEMENT","hashUtils","hashCtor","secret","inner","BLOCK_SIZE","bufferHash","digest","bufferFromSecret","toHash","encoding","DataView","bufferLength","bytesHashed","cmn","ff","gg","hh","sourceData","setUint8","hashBuffer","undecoratedLength","bitsHashed","setUint32","buff","getUint32","Uint32Array","h0","totalLength","write","byte","processBlock","outView","temp","MAX_HASHABLE_LENGTH","Int32Array","bufferView","state0","state1","state2","state3","state4","state5","state6","state7","t1_1","t2_1","t1","util","crypto","lib","querystring","realClock","environment","createEventStream","isNode","XML","Parser","browser","base64Encode","base64","encode","queryEncode","replacements","signPolicy","policy","privateKey","signWithCannedPolicy","expires","keyPairId","Statement","Resource","Condition","DateLessThan","Expires","Signature","signWithCustomPolicy","Policy","determineScheme","parts","getRtmpUrl","rtmpUrl","handleError","handleSuccess","Signer","getSignedCookie","signatureHash","cookieHash","getSignedUrl","getResource","parsedUrl","signedUrl","format","PromisesDependency","Config","extractCredentials","getCredentials","credentials","credError","accessKeyId","secretAccessKey","getStaticCredentials","credentialProvider","creds","getToken","tokenError","getStaticToken","tokenProvider","allowUnknownKeys","hasService","loadFromPath","readFileSync","fileSystemCreds","FileSystemCredentials","chain","CredentialProviderChain","providers","logger","apiVersions","apiVersion","endpoint","httpOptions","maxRetries","maxRedirects","paramValidation","sslEnabled","s3ForcePathStyle","s3BucketEndpoint","s3DisableBodySigning","s3UsEast1RegionalEndpoint","s3UseArnRegion","computeChecksums","convertResponseTypes","correctClockSkew","customUserAgent","dynamoDbCrc32","systemClockOffset","signatureVersion","signatureCache","retryDelayOptions","useAccelerateEndpoint","clientSideMonitoring","endpointDiscoveryEnabled","endpointCacheSize","hostPrefixEnabled","stsRegionalEndpoints","useFipsEndpoint","useDualstackEndpoint","Credentials","setPromisesDependency","constructors","Request","ManagedUpload","addPromises","getPromisesDependency","validateRegionalEndpointsFlagValue","configValue","errorOptions","originalConfig","clientConfig","env","profile","getProfilesFromSharedConfig","iniLoader","AWS_PROFILE","defaultProfile","sharedConfig","Signers","Protocol","Json","Query","Rest","RestJson","RestXml","Builder","Model","Api","Operation","Shape","Paginator","ResourceWaiter","EndpointCache","SequentialExecutor","memoizedProperty","hideProperties","expired","expireTime","refreshCallbacks","sessionToken","expiryWindow","needsRefresh","getDate","getTime","adjustedTime","refresh","coalesceRefresh","arrayEach","defer","addPromisesToClass","PromiseDependency","getPromise","promisifyMethod","refreshPromise","deletePromisesFromClass","ChainableTemporaryCredentials","errorCode","tokenCodeFn","RoleArn","RoleSessionName","SerialNumber","masterCredentials","stsConfig","service","getTokenCode","tokenCode","TokenCode","credentialsFrom","CognitoIdentityCredentials","localStorageKey","_identityId","_clientConfig","loadCachedId","IdentityId","identityId","createClients","clearIdOnNotAuthorized","getCredentialsFromSTS","getCredentialsForIdentity","clearCachedId","poolId","IdentityPoolId","loginId","LoginId","storage","cognito","loadCredentials","AccessKeyId","SecretKey","SessionToken","Expiration","cacheId","getOpenIdToken","WebIdentityToken","Token","webIdentityCredentials","webErr","sts","getStorage","Logins","actualProviders","WebIdentityCredentials","cognitoConfig","setStorage","defaultProviders","resolveCallbacks","resolveNext","getErr","resolvePromise","SAMLCredentials","assumeRoleWithSAML","TemporaryCredentials","loadMasterCredentials","assumeRole","getSessionToken","assumeRoleWithWebIdentity","endpointDiscoveryEnabledEnvs","getCacheKey","api","identifiers","serviceId","marshallCustomIdentifiersHelper","memberShape","members","endpointDiscoveryId","locationName","isLocationName","marshallCustomIdentifiers","optionalDiscoverEndpoint","operationModel","endpoints","endpointCache","Address","httpRequest","updateEndpoint","endpointRequest","makeRequest","endpointOperation","Identifiers","addApiVersionHeader","EventListeners","Core","VALIDATE_PARAMETERS","RETRY_CHECK","put","CachePeriodInMinutes","send","Endpoints","requestQueue","requiredDiscoverEndpoint","inputShape","cacheKeyStr","getKeyString","retryable","pendingRequests","requestContext","headers","invalidateCachedEndpoints","httpResponse","statusCode","isFalsy","discoverEndpoint","client","_originalConfig","svcConfig","serviceIdentifier","hasCustomEndpoint","isPresigned","isEndpointDiscoveryRequired","endpointDiscoveryRequired","configFile","loadFrom","isConfig","sharedConfigFileEnv","sharedFileConfig","endpoint_discovery_enabled","resolveEndpointDiscoveryConfig","hasRequiredEndpointDiscovery","appendToUserAgent","addNamedListener","invalidateCachedEndpoint","DynamoDBSet","NumberValue","convertNumber","wrapNumbers","formatMap","M","formatted","Converter","convertInput","L","formatList","convertEmptyValues","nonEmptyValues","Binary","filterEmptySetValues","formatSet","S","N","BOOL","NULL","marshall","convertOutput","toBuffer","unmarshall","Translator","DocumentClient","bindServiceObject","attrValue","putItem","__super__","makeServiceRequest","setupRequest","setupResponse","serviceClientOperationsMap","batchGet","batchWrite","scan","transactGet","transactWrite","createSet","getTranslator","translator","validate","req","rawParams","translateInput","outputShape","translateOutput","nextPage","resp","paginationConfig","hasNextPage","nextPageTokens","inputTokens","inputToken","DynamoDBNumberValue","wrapperName","toJSON","toNumber","memberTypeToSetType","detectType","convert","translate","translateStructure","translateMap","translateList","translateScalar","structure","struct","member","toType","isBinary","Stream","stream","isBuffer","isType","eventMessageChunker","parseEvent","parser","eventMessages","messages","readInt32BE","Int64","negate","fromNumber","negative","parseMessage","parsedMessage","messageType","parseError","eventModel","eventPayloadMemberName","payloadShape","eventHeaderNames","eventHeaderMemberNames","splitMessage","BOOLEAN_TAG","parseHeaders","nameLength","readUInt8","readInt8","readInt16BE","binaryLength","readUInt16BE","stringLength","uuidChars","PRELUDE_LENGTH","readUInt32BE","expectedPreludeChecksum","PRELUDE_MEMBER_LENGTH","crc32","expectedMessageChecksum","headersEnd","DISCOVER_ENDPOINT","getOperationAuthtype","authtype","getIdentityType","addNamedListeners","addAsync","isGlobalEndpoint","dnsHostRegex","idempotentMembers","iLen","uuid","v4","validation","ParamValidator","isNonStreamingPayload","httpChecksumRequired","md5","haltHandlersOnError","getSignerClass","V4","computeSha256","sha","payloadMember","getRequestPayloadShape","isStreaming","requiresLength","traceIdHeaderName","functionName","traceId","HttpRequest","retryCount","identityType","addAuthorization","getSkewCorrectedDate","SignerClass","signer","getSigningName","setServiceClientId","_clientId","signedAt","successfulResponse","awsQueryCompatible","queryErrorCode","httpResp","operationName","statusMessage","streaming","HttpClient","streamsApiVersion","hasEventOutput","read","didCallback","errCode","hostname","executeSend","http","handleRequest","_abortCallback","buffers","numBytes","dateHeader","serverTime","isClockSkewed","applyClockOffset","chunk","retryableError","clockSkewError","Endpoint","redirect","redirectCount","retryDelay","retryDelays","willRetry","CorePost","extractRequestId","errno","getSystemErrorName","isDNSError","port","originalError","Logger","ansi","isTTY","censoredParams","filterSensitiveLog","lowerFirst","buildMessage","isSensitive","subShapeName","subShape","buildRequest","extractData","extractError","unsetContentLength","urlParse","_userAgent","setUserAgent","getUserAgentHeaderName","agentPartial","getUserAgent","queryStringParse","queryParamsToString","endpointStr","newEndpoint","HttpResponse","createUnbufferedStream","singleton","XHRClient","errCallback","xhr","XMLHttpRequest","headersEmitted","readyState","HEADERS_RECEIVED","getAllResponseHeaders","statusText","DONE","finishRequest","upload","xhrAsync","setRequestHeader","xhrWithCredentials","withCredentials","responseType","rawHeaders","ab","responseText","JsonBuilder","isDocument","toWireFormat","JsonParser","shapeMembers","isAwsQueryCompatible","suppress","AWS_EXECUTION_ENV","AWS_SDK_JS_SUPPRESS_MAINTENANCE_MODE_MESSAGE","emitWarning","Collection","metadata","endpointPrefix","signingName","globalEndpoint","jsonVersion","targetPrefix","timestampFormat","xmlNamespace","serviceAbbreviation","serviceFullName","xmlNoDefaultLists","endpointoperation","endpointdiscovery","shapes","paginator","waiter","documentation","documentationUrl","nameTr","iterable","requestUri","httpChecksum","requestChecksumRequired","isIdempotent","topLevelShape","isEventStream","hasEventStream","input_token","limit_key","more_results","output_token","result_key","memberName","enum","xmlName","queryName","isComposite","idempotencyToken","jsonvalue","sensitive","eventstream","eventpayload","eventheader","isTimestampFormatSet","endpointdiscoveryid","hostLabel","xmlAttribute","CompositeShape","flattened","StructureShape","requiredMap","firstInit","isShape","xmlOrder","memberNames","isEventPayload","isEventHeader","resultWrapper","ListShape","oldName","MapShape","StringShape","nullLessProtocols","isJsonValue","BinaryShape","buf","secureBuf","Base64Shape","BooleanShape","normalizedTypes","double","long","biginteger","bigdecimal","blob","toUTCString","parseTimestamp","refShape","filteredKeys","InlineShape","origType","validateMember","validateStructure","paramName","paramValue","memberContext","validateList","validateMap","validateScalar","validateRange","mapCount","validateString","validatePayload","validateNumber","validTypes","validateEnum","validatePattern","validateUri","acceptedTypes","foundInvalidType","acceptedType","vowel","castedValue","Blob","Presigner","_operations","modifyInputMembers","modifiedInput","convertPostToGet","generateURI","httpPath","getSynthesizeSpeechUrl","presign","populateHostPrefix","isEndpointOperation","hasEndpointDiscover","hostPrefix","hostPrefixNotation","expandHostPrefix","prependEndpointPrefix","labels","hostPattern","validateHostname","builder","__type","Code","Message","QueryParamSerializer","Errors","origRules","tmp","_XAMZRequestId","requestIdShape","endpointPath","operationPath","queryStringSet","plus","uriEscapePath","uriEscape","httpMethod","populateMethod","populateURI","memberValue","populateHeaders","METHODS_WITHOUT_BODY","applyContentTypeHeader","populateBody","toXML","upperFirst","ucfirst","isQueryName","serializeStructure","serializeMember","memberRules","serializeList","valueName","serializeMap","requiredAuthTokenOptions","username","convertUrlToAuthToken","getAuthToken","hasCallback","optionsValidation","validateAuthTokenOptions","serviceOptions","modifyRequestForAuthToken","buildAsGet","DBUser","isFipsRegion","isGlobalRegion","getRealRegion","regionConfig","applyConfig","configureEndpoint","regionPrefix","generateRegionPrefix","derivedKeys","dualstackFipsRules","fipsRules","dualstackRules","patterns","signingRegion","useBearer","getEndpointSuffix","regionRegexes","regexes","regionPattern","dnsSuffix","AcceptorStateMachine","domain","jmespath","hardErrorStates","fsm","setupStates","_haltHandlersOnError","_asm","machine","Domain","domainEmitter","domainThrown","addState","Response","emitEvent","runTo","eachPage","makeAsync","wrappedCallback","eachItem","resultKey","continueIteration","isPageable","createReadStream","streams","PassThrough","nextTick","readable","sent","HTTP_DATA","HTTP_ERROR","expectedLen","shouldCheckContentLength","receivedLen","checkContentLengthAndEmit","httpStream","lengthAccumulator","_write","unpipe","pipe","eventParameters","Presign","toGet","toUnauthenticated","_unAuthenticated","VALIDATE_CREDENTIALS","SIGN","mixin","CHECK_ACCEPTORS","_waiter","acceptors","acceptorMatched","acceptor","matcher","expected","setSuccess","loadWaiterConfig","strictDeepEqual","pathAll","numResults","ind","pathAny","$waiter","maxAttempts","addListeners","numRetries","cacheNextPageTokens","moreResults","exprs","outputToken","expr","sliceFn","completeInfo","fillQueue","partSize","minPartSize","queueSize","leavePartsOnError","validateBody","adjustTotalBytes","maxTotalParts","runFill","fillBuffer","fillStream","partBuffers","isDoneChunking","numParts","totalPartNumbers","doneParts","finishMultiPart","singlePart","Body","arraySliceFn","getSignatureVersion","totalBytes","newPartSize","partPos","totalChunkedBytes","totalUploadedBytes","activeParts","multipartReq","partBufferLength","bodyLen","nextChunk","endPos","pbuf","isDoneSending","partNumber","Tagging","getTaggingHeader","putObject","_managedUpload","finishSinglePart","ContentMD5","ETag","UploadId","uploadPart","queueChunks","createMultipartUpload","kvPairStrings","Key","partParams","ContentLength","PartNumber","partInfo","_lastUploadedBytes","resume","abortMultipartUpload","completeParams","MultipartUpload","Parts","completeMultipartUpload","putObjectTagging","TagSet","httpReq","Bucket","toHead","onAsync","_isAsync","eventArgs","doneCallback","prevError","callNextListener","addNamedAsyncListener","clientCount","region_utils","loadServiceClass","useDualstack","ServiceClass","validateService","endpointFromTemplate","setEndpoint","addDefaultMonitoringListeners","_clientSideMonitoring","publisher","serviceConfig","apiConfig","defineServiceApi","getLatestServiceClass","getLatestServiceVersion","iso8601","selectedVersion","defaultRetryCount","customizeRequests","customRequestHandler","addAllRequestListeners","attachMonitoringEmitter","makeUnauthenticatedRequest","serviceInterface","setupRequestListeners","apiCallEvent","monitoringEvent","Type","Region","MaxRetriesExceeded","UserAgent","FinalHttpStatusCode","FinalAwsException","FinalAwsExceptionMessage","FinalSdkException","FinalSdkExceptionMessage","apiAttemptEvent","Fqdn","HttpStatusCode","AccessKey","XAmznRequestId","XAmzRequestId","XAmzId2","attemptFailEvent","AwsException","AwsExceptionMessage","SdkException","SdkExceptionMessage","attemptTimestamp","attemptStartRealTime","attemptLatency","callStartRealTime","callTimestamp","attemptCount","addToHead","Timestamp","AttemptLatency","AttemptCount","latency","Latency","RequestSigner","getVersion","calculateRetryDelay","timeoutError","networkingError","expiredCredentialsError","throttledError","newServerTime","throwException","defineMethods","versions","features","_serviceMap","addVersions","Publisher","publisherConfig","configProvider","superclass","setApi","isApi","attachOn","baseClass","setAcceptHeader","Accept","exportType","convertPayloadToString","hoistPayloadMember","EXTRACT_DATA","checkCrc32","crc32IsValid","crc","EXTRACT_ERROR","buildCopySnapshotPresignedUrl","PresignedUrl","_subRequest","DestinationRegion","SourceRegion","newReq","RequestID","blobPayloadOutputOps","validateResponseBody","bodyCheck","buildEndpoint","PredictEndpoint","rdsutil","crossRegionOperations","PreSignedUrl","doesParamValidation","buildCrossRegionPresignedUrl","destinationRegion","sanitizeUrl","v4Credentials","resolveRegionalEndpointsFlag","s3util","regionUtil","operationsWith200StatusCodeError","regionRedirectErrorCodes","OBJECT_LAMBDA_SERVICE","defaultApiVersion","userDefinedVersion","regionDefinedVersion","_parsedArn","shouldDisableBodySigning","signerClass","prependListener","validateScheme","validateBucketName","optInUsEast1RegionalEndpoint","VALIDATE_REGION","addContentType","computeContentMd5","computeSseCustomerKeyMd5","addExpect100Continue","extractErrorFrom200Response","prepareSignedUrl","COMPUTE_SHA256","disableBodySigning","isArnInParam","ARN","validateS3AccessPointArn","validateArnResourceType","validateArnRegion","validateOutpostsAccessPointArn","validateOutpostsArn","validateArnAccount","validateArnService","populateUriFromAccessPointArn","validatePopulateUriFromArn","validateBucketEndpoint","correctBucketRegionFromCache","requestBucketRegion","reqRegionForNetworkingError","SSECustomerKey","CopySourceSSECustomerKey","allowFipsEndpoint","bucket","slashIndex","isValidAccelerateOperation","insertPoint","regionalEndpoint","pathStyleBucketName","virtualHostedBucket","removeVirtualHostedBucketFromPath","encodedS3Key","accessPointArn","isOutpostArn","isObjectLambdaArn","outpostsSuffix","outpostId","serviceName","fipsSuffix","dualStackSuffix","useArnRegion","accessPoint","accountId","accesspointName","encodedArn","contentType","charsetName","willComputeChecksums","needsContentMD5","bucketName","dnsCompatibleBucketName","_requestRegionForBucket","bucketRegionCache","updateReqBucketRegion","s3Config","LocationConstraint","createBucketConfiguration","CreateBucketConfiguration","clearBucketRegionCache","extractRequestIds","cachedRegion","codes","reqOperation","reqParams","MaxKeys","regionReq","getRegionReq","listObjects","buckets","requestRegion","extendedRequestId","cfId","createPresignedPost","boundParams","finalizePost","urlFormat","fields","preparePostFields","Fields","Conditions","conditions","expiresInSeconds","signingDate","shortDate","scope","createScope","credential","field","condition","preparePostPolicy","hmac","getSigningKey","expiration","noPresignedContentLength","createBucket","copiedParams","writeGetObjectResponse","uploader","getSignedUrlPromise","inputMembers","parsedArn","accessPointPrefix","loadUseArnRegionConfig","regionFromArn","clientRegion","envName","configName","ipAddress","dots","verifySendMessageChecksum","verifySendMessageBatchChecksum","verifyReceiveMessageChecksum","MD5OfMessageBody","MessageBody","calculatedMd5","calculateChecksum","throwInvalidChecksumError","MessageId","messageIds","Successful","Id","Entries","isChecksumValid","Messages","MD5OfBody","ids","checksum","QueueUrl","SecretAccessKey","optInRegionalEndpoint","Bearer","expiresHeader","signedUrlBuilder","unixTimestamp","signedUrlSigner","queryParams","auth","signature","SET_CONTENT_LENGTH","serviceClientId","getServiceClientId","V2","V3","V3Https","subResources","responseHeaders","rfc822","stringToSign","canonicalizedAmzHeaders","canonicalizedResource","amzHeaders","resources","subresource","SignatureVersion","SignatureMethod","AWSAccessKeyId","SecurityToken","authorization","signedHeaders","headersToSign","canonicalHeaders","sha256","algorithm","updateForPresigned","addHeaders","credString","credentialString","qs","isSignableHeader","sep","signingKey","hexEncodedHash","canonicalString","hexEncodedBodyHash","canonicalHeaderValues","unsignableHeaders","cachedSecret","cacheQueue","v4Identifier","kDate","kRegion","kService","emptyCache","finalState","bindObject","inputError","accept","acceptState","failState","engine","agent","ch","sortedKeys","ename","vals","toStream","pos","_read","ini","currentSection","indexOfEqualsSign","expectedArgs","toISOString","crc32Table","tbl","FileReader","reader","_continueReading","readAsArrayBuffer","toHex","iterFunction","dupe","webkitSlice","mozSlice","klass","ctor","isValue","cachedValue","responsePayload","fs","ResponseMetadata","RequestId","deletePromises","methodName","isDualstackAvailable","dualstackAvailable","customBackoff","handleRequestWithRetries","sendRequest","retryAfter","profiles","profilesFromConfig","configOptInEnv","profilesFromCreds","sharedCredentialsFileEnv","profileNames","objectAssign","arn","partition","arnObject","imdsDisabledEnv","DomXmlParser","getElementByTagName","xml","getElementsByTagName","parseXml","parseStructure","xmlKey","xmlValue","firstElementChild","parseMap","parseList","parseUnknown","parseScalar","isXmlAttribute","xmlChild","DOMParser","parseFromString","syntaxError","isError","errorElement","ActiveXObject","async","loadXML","XmlNode","XmlText","XmlBuilder","addAttribute","addChildNode","applyNamespaces","entryKey","entryValue","serializeScalar","isRoot","xmlNamespaceUri","xmlNamespacePrefix","noEmpty","escapeAttribute","escapeElement","xmlText","attributeNames","attributeName","byteToHex","_default","bth","_v","_v2","_v3","_v4","safeAdd","lsw","md5cmn","cnt","md5ff","md5gg","md5hh","md5ii","unescape","length32","hexTab","md5ToHexEncodedArray","olda","oldb","oldc","oldd","wordsToMd5","length8","bytesToWords","getRandomValues","rnds8","msCrypto","ROTL","K","H","W","_nodeId","_clockseq","_rng","_bytesToUuid","_lastMSecs","_lastNSecs","clockseq","seedBytes","rng","msecs","nsecs","tl","tmh","_md","hashfunc","generateUUID","namespace","stringToBytes","uuidToBytes","DNS","rnds","_sha","LRU_1","maxSize","LRUCache","keyString","endpointRecord","populateValue","records","Expire","identifierNames","empty","LinkedListNode","nodeMap","sizeLimit","prependToList","headerNode","tailNode","removeFromTail","detachFromList","key_1","newNode","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","RangeError","encodingOrOffset","allocUnsafe","fromArrayLike","fromArrayBuffer","isEncoding","actual","fromString","fromObject","assertSize","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","foundIndex","found","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","SlowBuffer","INSPECT_MAX_BYTES","foo","subarray","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","compare","swap16","swap32","swap64","inspect","thisStart","thisEnd","thisCopy","targetCopy","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt16LE","readUInt32LE","readIntLE","readIntBE","readInt16LE","readInt32LE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","stringtrim","base64clean","dst","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","setFunctionLength","$TypeError","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","applyBind","cssKeywords","reverseKeywords","channels","hsv","cmyk","xyz","lab","lch","keyword","ansi16","ansi256","hcg","apple","rdif","gdif","bdif","diffc","currentClosestKeyword","currentClosestDistance","t3","smin","lmin","sl","vmin","wh","bl","z2","hr","mult","rem","colorString","char","integer","hue","chroma","mg","pure","conversions","fromModel","toModel","wrappedFn","conversion","wrapRounded","wrapRaw","deriveBFS","graph","models","buildGraph","adjacents","adjacent","wrapConversion","cur","colorNames","swizzle","reverseNames","cs","hexDouble","hexAlpha","i2","percent","hwba","_slice","skippedModels","hashedModelKeys","limiters","valpha","newArr","zeroArray","hashedKeys","getset","channel","maxfn","places","percentString","unitArray","unitObject","roundTo","roundToPlace","saturationl","lightness","saturationv","wblack","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","contrastRatio","saturate","desaturate","whiten","blacken","grayscale","opaquer","mixinColor","weight","color1","w1","w2","newAlpha","semver","indexOrEnd","patchIndex","tryParse","v1","v2","n1","n2","sp1","sp2","allowedOperators","operatorResMap","validateOperator","dec","eqIdx","endIdx","tryDecode","opt","enc","fieldContentRegExp","maxAge","__toString","isDate","httpOnly","secure","partitioned","priority","sameSite","_typeof","_arrayLikeToArray","_arrayWithoutHoles","iter","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","arr2","filterUniqueArray","assignStyle","baseValue","DASH","toUpper","camelCaseProperty","hyphenateProperty","cssifyDeclaration","cssifyObject","RE","isPrefixedProperty","isPrefixedValue","unitlessProperties","prefixedUnitlessProperties","getPrefixedProperty","jLen","_property","isUnitlessProperty","unprefixProperty","propertyWithoutPrefix","normalizeProperty","resolveArrayValue","unprefixValue","_hyphenateStyleName2","_hyphenateStyleName","singleMatcher","multiMatcher","decodeComponents","encodedURI","replaceMap","customDecodeURIComponent","hasPropertyDescriptors","$SyntaxError","gopd","nonEnumerable","nonWritable","nonConfigurable","loose","desc","_origin","userID","_userID","validateParams","serviceID","templateID","EmailJSResponseStatus","sendPost","responseStatus","templatePrams","uID","lib_version","user_id","service_id","template_id","template_params","sendForm","currentForm","findHTMLForm","formData","FormData","_maxListeners","isFunction","isObject","isUndefined","defaultMaxListeners","setMaxListeners","er","newListener","warned","trace","once","fired","evlistener","equal","makeEmptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","validateFormat","argIndex","framesToPop","isArr","D","F","G","J","I","O","P","race","detachEvent","isCallable","toStr","thisArg","receiver","forEachArray","forEachString","forEachObject","concatty","bound","arrLike","slicy","boundLength","boundArgs","Function","joiner","joiny","Empty","implementation","SyntaxError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasSymbols","hasProto","getProto","needsEval","TypedArray","INTRINSICS","AggregateError","Atomics","BigInt","BigInt64Array","BigUint64Array","decodeURI","encodeURI","eval","EvalError","Float64Array","FinalizationRegistry","Int8Array","Int16Array","ReferenceError","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","URIError","WeakRef","WeakSet","errorProto","doEval","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","hasArrayLengthDefineBug","$Object","origSymbol","hasSymbolSham","sym","symObj","syms","$hasOwn","reactIs","REACT_STATICS","childContextTypes","contextTypes","getDefaultProps","getDerivedStateFromError","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","objectPrototype","inheritedComponent","targetStatics","sourceStatics","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","LN2","superCtor","super_","TempCtor","_isObject2","combinedValue","processedValue","_prefixValue2","_addNewValuesOnly2","_processedValue","_prefixProperty2","_cssInJsUtils","CROSS_FADE_REGEX","grab","grabbing","FILTER_REGEX","_isPrefixedValue2","_isPrefixedValue","alternativeProps","alternativePropList","borderBlockStart","borderBlockEnd","borderInlineStart","borderInlineEnd","propertyPrefixMap","outputValue","multipleValues","dashCaseProperty","_hyphenateProperty2","pLen","prefixMapping","prefixValue","webkitOutput","mozOutput","_capitalizeString2","WebkitTransitionProperty","MozTransitionProperty","Webkit","Moz","ms","addIfNew","prefixProperties","requiredPrefixes","capitalizedProperty","prefixedProperty","_capitalizeString","metaData","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","supportsStandardArguments","badArrayLike","isCallableMarker","fnToStr","reflectApply","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","isIE68","isDDA","strClass","GeneratorFunction","isFnRegex","generatorFunc","getGeneratorFunc","whichTypedArray","keysSeen","key2","isFalse","trimLeft","TYPE_NUMBER","TYPE_STRING","TYPE_NAME_TABLE","TOK_EOF","TOK_UNQUOTEDIDENTIFIER","TOK_QUOTEDIDENTIFIER","TOK_RBRACKET","TOK_RPAREN","TOK_COMMA","TOK_COLON","TOK_RBRACE","TOK_NUMBER","TOK_CURRENT","TOK_EXPREF","TOK_PIPE","TOK_OR","TOK_AND","TOK_EQ","TOK_GT","TOK_LT","TOK_GTE","TOK_LTE","TOK_NE","TOK_FLATTEN","TOK_STAR","TOK_FILTER","TOK_DOT","TOK_NOT","TOK_LBRACE","TOK_LBRACKET","TOK_LPAREN","TOK_LITERAL","basicTokens","operatorStartToken","skipChars","isNum","Lexer","tokenize","_consumeUnquotedIdentifier","_consumeNumber","_consumeLBracket","_consumeQuotedIdentifier","_consumeRawStringLiteral","literal","_consumeLiteral","_consumeOperator","startingChar","literalString","_looksLikeJSON","bindingPower","TreeInterpreter","Runtime","interpreter","_interpreter","functionTable","_func","_functionAbs","_signature","avg","_functionAvg","_functionCeil","_functionContains","_functionEndsWith","_functionFloor","_functionLength","_functionMap","_functionMax","_functionMerge","variadic","_functionMaxBy","_functionSum","_functionStartsWith","_functionMin","_functionMinBy","_functionType","_functionKeys","_functionValues","_functionSort","_functionSortBy","_functionJoin","_functionReverse","_functionToArray","_functionToString","_functionToNumber","_functionNotNull","expression","_loadTokens","ast","_lookahead","_lookaheadToken","rbp","leftToken","_advance","nud","currentToken","led","Not","_parseProjectionRHS","Star","_parseMultiselectHash","Flatten","_parseIndexExpression","_projectIfSlice","_parseMultiselectList","Expref","_match","_errorToken","tokenName","Dot","_parseDotRHS","Pipe","Or","And","Filter","_parseComparator","tokenType","_parseSliceExpression","indexExpr","comparator","lookahead","keyToken","pairs","identifierTypes","visit","collected","sliceParams","computed","computeSliceParams","objValues","filtered","finalResults","original","resolvedArgs","callFunction","refNode","jmespathType","arrayLength","stepValueNegative","capSliceRange","actualValue","functionEntry","_validateArgs","pluralized","currentSpec","actualType","typeMatched","_getTypeName","_typeMatches","typeIdentifier","argValue","subtype","searchStr","originalStr","reversedStr","reversedArray","inputArray","mapped","exprefNode","maxElement","minElement","listToSum","joinChar","convertedValue","sortedArray","requiredType","decorated","exprA","exprB","maxRecord","resolvedArray","keyFunction","createKeyFunction","maxNumber","minRecord","minNumber","allowedTypes","__WEBPACK_EXTERNAL_MODULE__964__","__webpack_modules__","__unused_webpack_module","__extends","extendStatics","setPrototypeOf","__","CellHookData","HookData","pageNumber","pageCount","getDocument","cell","htmlParser_1","autoTableText_1","documentHandler_1","inputParser_1","tableDrawer_1","tableCalculator_1","jsPDF","autoTable","parseInput","createTable","drawTable","lastAutoTable","previousAutoTable","autoTableText","autoTableSetDefaults","DocHandler","setDefaults","autoTableHtmlToJson","tableElem","includeHiddenElements","parseHtml","autoTableEndPosY","finalY","autoTableAddPageContent","globalDefaults","addPageContent","autoTableAddPage","addPage","internal","getFontSize","getLineHeightFactor","splitText","lineCount","valign","halign","alignSize","iLine","getStringUnitWidth","getFillStyle","lineWidth","fillColor","drawLine","drawBackground","parseSpacing","_c","_d","getPageAvailableWidth","addTableBorder","getStringWidth","applyStyles","getTextWidth","startPos","tableLineWidth","lineColor","tableLineColor","fillStyle","getWidth","pageSize","margins","defaultStyles","HtmlRowInput","cellPadding","cellWidth","minCellHeight","minCellWidth","striped","foot","alternateRow","grid","plain","parseCss","common_1","parseColor","styleGetter","cssColor","realColor","elem","supportedFonts","pxScaleFactor","linePadding","inputPadding","parsePadding","borderColorSide","finalScaleFactor","btw","accepted","parseFontStyle","jsPDFDocument","userStyles","getFont","getLineWidth","getDrawColor","__autoTableDocumentDefaults","unifyColor","fontOnly","setFontStyle","availableFontStyles","getFontList","setFont","setFontSize","setFillColor","setTextColor","setDrawColor","setLineWidth","splitTextToSize","getLastAutoTable","setPage","page","getGlobalOptions","getDocumentOptions","getHeight","getLineHeight","pageInfo","getCurrentPageInfo","getNumberOfPages","cssParser_1","config_1","parseRowContent","includeHidden","useCss","resultRow","style_1","cellStyles","rowSpan","colSpan","parseCellContent","orgCell","innerHTML","includeHiddenHtml","tableElement","polyfills_1","inputValidator_1","gInput","dInput","cInput","styleOptions","headStyles","bodyStyles","footStyles","alternateRowStyles","columnStyles","_loop_1","global_1","document_1","parseStyles","hooks","didParseCell","willDrawCell","didDrawCell","willDrawPage","didDrawPage","allOptions_1","parseHooks","_e","_f","_g","_h","_j","_k","_l","_m","showFoot","showHead","userStartY","sf","currentPage","isSamePageAsPreviousTable","startPageNumber","getStartY","horizontalPageBreak","horizontalPageBreakRepeat","pageBreak","rowPageBreak","tableWidth","horizontalPageBreakBehaviour","parseSettings","htmlContent","firstRow","rowResult","dataKey","parseColumns","parseContent","tableId","checkStyles","rowHeight","extendWidth","afterPageContent","beforePageContent","afterPageAdd","deprecated","deprecatedOption","Column","Cell","Row","Table","HookData_1","getHeadHeight","getMaxCellHeight","getFootHeight","allRows","callCellHooks","handlers_1","callEndPageHooks","callWillDrawPageHooks","pageWidth","wrappedWidth","spansMultiplePages","hasRowSpan","canEntireRowFit","getMinimumRowHeight","oneRowHeight","contentHeight","contentWidth","minReadableWidth","getTextPos","netHeight","netWidth","getContentHeight","lineHeightFactor","getMaxCustomCellWidth","nextSource","models_1","widthCalculator_1","parseSection","sectionName","sectionRows","rowSpansLeftForColumn","rawRow","rowIndex","skippedRowForRowSpans","colSpansAdded","columnSpansLeft","columns_1","rawCell","cellInputStyles","times","generateSectionRow","sectionRow","footer","getSectionTitle","themeName","sectionStyles","otherStyles","colStyles","rowStyles","defaultStyle","themeStyles","jsPDFDoc","createColumns","calculateWidths","tablePrinter_1","printHead","printRow","printBodyWithoutPageBreaks","startRowIndex","maxNumberOfRows","endRowIndex","lastPrintedRowIndex","isLastRow","remainingSpace","getRemainingPageSpace","printFoot","getRemainingLineCount","remainingPageSpace","vPadding","remainingLines","printFullRow","pageHeight","maxRowHeight","minRowHeight","minRowFits","rowHasRowSpanCell","shouldPrintOnCurrentPage","remainderRow","remainderCell","remainingLineCount","modifyRowToFit","drawCellRect","textPos","getFillColor","drawCellBorders","bottomContentHeight","suppressFooter","sectionsHeight","minTableBottomPos","allColumnsCanFitResult","calculateAllColumnsCanFitInPage","colsAndIndexes","printBody","lastRowIndexOfLastPage_1","firstColumnsToFitResult","firstColumnsToFit","printTableWithHorizontalPageBreak","getColumnsCanFitInPage","remainingWidth","repeatColumnsMap","colIndexes","colWidth","allResults","ellipsize","resizeColumns","resizeWidth","getMinWidth","initialResizeWidth","sumWrappedWidth","suggestedChange","suggestedWidth","resizableColumns","precision","ellipsizeStr","availablePageWidth","longestWordWidth","defaultMinWidth","calculate","initialTableWidth","customWidth","colSpanCell","combinedColSpanWidth","colSpansLeft","columnIndex","applyColSpans","rowSpanHeight","textSpace","realContentHeight","fitContent","rowSpanCells","colRowSpansLeft","applyRowSpans","__webpack_module_cache__","cachedModule","__drawTable","__createTable","applyPlugin","applyPlugin_1","models_2","u8","u16","i32","fleb","fdeb","clim","freb","eb","fl","revfl","fd","revfd","rev","hMap","cd","co","le","rvb","r_1","flt","fdt","flm","flrm","fdm","fdrm","bits","bits16","shft","slc","ec","nt","captureStackTrace","inflt","dat","st","dict","dl","noBuf","noSt","cbuf","nbuf","final","bt","lm","dm","lbt","dbt","tbts","hLit","hcLen","ldt","clt","clb","clbmsk","clm","lt","lms","dms","lpos","dsym","dend","wbits","wbits16","hTree","et","i0","i1","maxSym","tr","mbt","ln","lft","cst","i2_1","i2_2","i2_3","lc","cl","cli","cln","clen","cf","wfblk","wblk","lf","df","li","bs","dlt","mlb","ddt","mdb","lclt","nlc","lcdt","ndc","lcfreq","lct","mlcb","nlcc","ll","flen","ftlen","dtlen","llm","lcts","clct","deo","dflt","lvl","plvl","lst","msk_1","bs1_1","bs2_1","hsh","lc_1","wi","hv","imod","pimod","ch_1","dif","maxn","maxd","nl","mmd","ti","lin","din","adler","dopt","dictionary","newDat","mem","wbytes","zlh","lv","zls","zlibSync","unzlibSync","td","TextDecoder","globalObject","consoleLog","saveAs","corsEnabled","click","MouseEvent","initMouseEvent","atob","btoa","HTMLAnchorElement","webkitURL","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","popup","safari","isChromeIOS","onloadend","readAsDataURL","RGBColor","color_string","ok","feldspar","lightslateblue","violetred","color_defs","example","toRGB","md5cycle","add32","md51","md5blk","tail","md5blks","hex_chr","rhex","singleToByteString","md5Bin","md5Check","rc4","lastKey","lastState","print","PDFSecurity","permissions","userPassword","ownerPassword","fileId","protection","perm","paddedUserPassword","paddedOwnerPassword","processOwnerPassword","encryptionKey","lsbFirstWord","hexToBytes","U","toPDFName","strLength","charCode","PubSub","topics","subscribe","topic","unsubscribe","publish","getTopics","GState","objectNumber","Pattern","gState","ShadingPattern","coords","TilingPattern","boundingBox","xStep","yStep","cloneIndex","compressPdf","userUnit","floatPrecision","defaultPathOperation","encryptionOptions","compress","encryption","userPermissions","putOnlyUsedFonts","usedFonts","__private__","pdfVersion","getPdfVersion","setPdfVersion","pageFormats","a4","a5","a6","a7","a8","a9","a10","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","b10","c0","c4","c5","c6","c7","c8","c9","c10","letter","legal","ledger","tabloid","getPageFormats","getPageFormat","ApiMode","apiMode","advancedAPI","saveGraphicsState","getPageHeight","ADVANCED","compatAPI","restoreGraphicsState","COMPAT","combineFontStyleAndFontWeight","doSwitch","isAdvancedAPI","hpf","advancedApiModeTrap","roundToPrecision","parmPrecision","tmpPrecision","f2","f3","transformScaleY","transformY","setPrecision","creationDate","getFileId","setFileId","convertDateToPDFDate","parmDate","tzoffset","getTimezoneOffset","tzsign","tzhour","tzmin","timeZoneString","padd2","getFullYear","getMonth","getHours","getMinutes","getSeconds","convertPDFDateToDate","parmPDFDate","year","hour","minutes","seconds","setCreationDate","tmpCreationDateString","getCreationDate","padd2Hex","hexString","additionalObjects","pages","hasCustomDestination","outputDestination","setCustomOutputDestination","setOutputDestination","resetCustomOutputDestination","getArrayBuffer","standardFonts","getStandardFonts","activeFontSize","zoomMode","R2L","setR2L","getR2L","pageMode","setZoomMode","getZoomMode","layoutMode","setPageMode","pmode","getPageMode","setLayoutMode","getLayoutMode","setDisplayMode","documentProperties","subject","author","keywords","creator","getDocumentProperty","getDocumentProperties","setDocumentProperties","setProperties","setDocumentProperty","activeFontKey","pageMatrix","fontmap","fontStateStack","patternMap","gStates","gStatesMap","activeGState","pagesContext","hotfixes","renderTargets","renderTargetMap","renderTargetStack","shy","shx","tx","ty","decompose","shear","inversed","quot","aInv","bInv","cInv","dInv","applyToPoint","Point","applyToRectangle","pt1","pt2","Rectangle","matrixMult","m1","m2","identityMatrix","unitMatrix","addPattern","patternKey","addShadingPattern","beginTilingPattern","beginNewRenderTarget","endTilingPattern","oid","newObjectDeferred","newObjectDeferredBegin","doOutput","newAdditionalObject","objId","rootDictionaryObjId","resourceDictionaryObjId","decodeColorString","colorEncoded","floatVal","colorAsRGB","encodeColorString","ch1","ch2","ch3","ch4","letterArray","pdfColorType","rgbColor","getFilters","putStream","alreadyAppliedFilters","addLength1","valueOfLength1","objectId","encryptor","processedData","keyValues","additionalKeyValues","filterAsString","processDataByFilters","reverseChain","decodeParmsArray","putPage","pageObjectNumber","pageContentsObjId","contentsObjId","mediaBox","bottomLeftX","bottomLeftY","topRightX","topRightY","cropBox","bleedBox","trimBox","artBox","pageContext","pageContent","putPages","pageObjectNumbers","kids","putFont","isAlreadyPutted","postScriptName","putXObject","xObject","putShadingPattern","numberSamples","funcObjectNumber","tValues","dT","aColor","bColor","interpolateAndEncodeRGBStream","putTilingPattern","deferredResourceDictionaryIds","resourcesObjectId","patternObjectId","resourcesOid","objectOid","putGState","putResourceDictionary","objectIds","fontKey","putFontDict","putShadingPatternDict","putTilingPatternDict","gStateKey","putGStatesDict","xObjectKey","putXobjectDict","putResources","putFonts","putGStates","putXObjects","putPatterns","addFontToFontDictionary","addFont","isStandardFont","pdfEscape","sourceEncoding","encodingBlock","outputEncoding","newtext","isUnicode","bch","autoencode","codePages","noBOM","to8bitStream","beginPage","_setPage","_addPage","parmFormat","parmOrientation","strokeColor","lineCapID","lineJoinID","_deletePage","fontNameLowerCase","disableWarning","noFallback","putInfo","putCatalog","tmpRootDictionaryObjId","pcn","putTrailer","putHeader","putXRef","buildDocument","putAdditionalObjects","toHexString","offsetOfXRef","getBlob","SAFE","save","dataURI","pdfDocument","pdfObjectUrl","integrity","htmlForNewWindow","nW","htmlForPDFjsNewWindow","pdfJsUrl","PDFjsNewWindow","contentWindow","PDFViewerApplication","htmlForDataURLNewWindow","dataURLNewWindow","alert","bar","hasHotfix","hotfixName","getPageInfo","pageNumberOneBased","getPageInfoByObjId","insertPage","beforePage","movePage","targetPage","tmpPages","tmpPagesContext","deletePage","da","charSpace","horizontalScale","transformationMatrix","isHex","xtra","ESC","TabLen","transformTextToSpecialArray","curDa","sa","processTextByFunction","processingFunction","tmpResult","textIsOfTypeString","tmpTextIsOfTypeString","descent","baseline","textLine","mutex","rotationDirection","activeCharSpace","setCharSpace","getCharSpace","renderingMode","parmRenderingMode","usedRenderingMode","lineWidths","leading","activeFont","wordSpacingPerLine","findWidth","doKerning","newY","newX","prevWidth","getHorizontalCoordinate","getVerticalCoordinate","backToStartX","words","shiftAmount","posX","posY","activeFontEncoding","wordSpacing","generatePosition","parmPosX","parmPosY","parmTransformationMatrix","lineIndex","clip","clipEvenOdd","discardPath","isValidStyle","setDefaultPathOperation","getStyle","fillWithOptionalPattern","fillEvenOdd","fillStroke","fillStrokeEvenOdd","fillWithPattern","putStyle","cloneTilingPattern","patternData","patternId","clipRuleFromStyle","setGState","moveTo","lineTo","curveTo","x3","y3","closed","scalex","scaley","leg","x4","y4","triangle","roundedRect","MyArc","SQRT2","ellipse","lx","ly","getFontEntry","encodingOptions","setLineDash","setLineDashPattern","dashArray","dashPhase","setLineHeightFactor","getHorizontalCoordinateString","getVerticalCoordinateString","getStrokeColor","setStrokeColor","CapJoinStyles","butt","but","miter","projecting","project","bevel","setLineCap","setLineJoin","setLineMiterLimit","setMiterLimit","addGState","duplicate","fontState","setCurrentTransformationMatrix","_type","_w","RenderTarget","getPageWidth","setPageWidth","setPageHeight","plugin","beginFormObject","endFormObject","newXObject","xObjectId","doFormObject","getFormObject","returnPromise","unload","eventname","handler_and_args","getCoordinateString","collections","setWidth","setHeight","getEncryptor","getPDFVersion","arrayOfFonts","byteString","generation","ignore","jsPDFAPI","pdfUnescape","f5","__acroform__","createFormXObject","formObject","xobj","AcroFormXObject","AcroFormAppearance","BBox","setBit","bitPosition","clearBit","getBit","getBitForPdf","setBitForPdf","clearBitForPdf","calculateCoordinates","coordinates","lowerLeft_X","lowerLeft_Y","upperRight_X","upperRight_Y","calculateAppearanceStream","appearanceStreamContent","V","DV","_V","calcRes","calculateX","maxFontSize","textSplit","word","isSmallerThanWidth","lastLine","calculateFontSpace","FontSize","lastLength","firstWordInLine","lastWordInLine","currWord","isWithNewLine","nextLineIsSmaller","isLastWord","currLine","acroformPluginTemplate","xForms","acroFormDictionaryRoot","printedOut","createAnnotationReference","annotations","initializeAcroForm","acroformPlugin","AcroFormField","FieldNum","AcroFormDictionary","_eventID","hasAnnotation","fieldArray","standardFields","Kids","fieldObject","keyValueList","oldRect","Rect","DA","createDefaultAppearanceStream","getKeyValueListForStream","hasAppearanceStream","appearanceStreamString","createXFormObjectCallback","arrayToPdfArray","toPdfString","AcroFormPDFObject","_objId","_scope","_stream","_BBox","_DA","_Kids","_F","_Ff","_Rect","_FT","_T","AcroFormChildClass","_fontName","_fontStyle","_fontSize","_maxFontSize","_color","AcroFormTextField","_DV","AcroFormButton","_page","_hasAppearanceStream","Ff","_Q","AcroFormChoiceField","FT","_TI","_Opt","addOption","removeOption","allEntries","combo","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","edit","_AS","_MK","CA","AcroFormPushButton","pushButton","AcroFormRadioButton","radio","_optionName","appearanceState","_AppearanceType","RadioButton","Circle","createAppearanceStream","optionName","setAppearance","getCA","createOption","Parent","addField","AcroFormCheckBox","_MaxLen","AcroFormPasswordField","On","YesNormal","YesPushDown","Off","OffPushDown","encodedColor","DotRadius","Bezier_C","DotRadiusBezier","kc","dc","Cross","cross","calculateCross","AcroForm","ChoiceField","ListBox","ComboBox","EditBox","PushButton","TextField","PasswordField","toLookup","__addimage__","imageFileTypeHeaders","PNG","TIFF","JPEG","JPEG2000","GIF87a","GIF89a","WEBP","BMP","getImageFileTypeByImageData","imageData","fallbackFormat","headerSchemata","compareResult","fileType","isArrayBufferView","putImage","color_spaces","INDEXED","sMask","DEVICE_CMYK","bitsPerComponent","decodeParameters","transparency","predictor","arrayBufferToBinaryString","putResourcesCallback","images","putXObjectsDictCallback","getImages","getImageIndex","isImageTypeSupported","isDOMElement","getImageDataFromElement","tmpImageData","loadFile","mimeType","toDataURL","checkImagesForAlias","determineWidthAndHeight","writeImageToPDF","coord","vcoord","f4","rotationTransformationMatrix","DEVICE_RGB","DEVICE_GRAY","CAL_GREY","CAL_RGB","LAB","ICC_BASED","PATTERN","SEPARATION","DEVICE_N","DCT_DECODE","FLATE_DECODE","LZW_DECODE","JPX_DECODE","JBIG2_DECODE","ASCII85_DECODE","ASCII_HEX_DECODE","RUN_LENGTH_DECODE","CCITT_FAX_DECODE","image_compression","NONE","FAST","MEDIUM","SLOW","sHashCode","validateStringAsBase64","possibleBase64String","extractImageFromDataUrl","dataUrl","dataUrlParts","extractedInfo","charset","supportsArrayBuffer","isArrayBuffer","binaryStringToUint8Array","binary_string","addImage","compression","processImageData","dataAsBinaryString","convertBase64ToBinaryString","stringData","throwError","base64Info","rawData","getImageProperties","notEmpty","addPageData","putPageData","anno","pageAnnos","objText","objPopup","encryptorText","bounds","contents","loc","_nameMap","finalBounds","magFactor","createAnnotation","textWithLink","linkHeight","linkWidth","totalLineWidth","numOfLines","arabicSubstitionA","ligatures","arabic_diacritics","alfletter","__arabicParser__","isInArabicSubstitutionA","isArabicLetter","isArabicEndLetter","isArabicAlfLetter","arabicLetterHasIsolatedForm","arabicLetterHasFinalForm","arabicLetterHasInitialForm","arabicLetterHasMedialForm","resolveLigatures","letters","tmpLigatures","effectedLetters","isArabicDiacritic","getCorrectForm","currentChar","beforeChar","nextChar","parseArabic","currentLetter","prevLetter","nextLetter","newWords","processArabic","tmpText","autoPrint","refAutoPrintTag","addJS","Canvas","jsPdfInstance","_width","getContext","pageWrapXEnabled","pageWrapX","_height","pageWrapYEnabled","pageWrapY","_childNodes","contextAttributes","pdf","context2d","_canvas","canvas","NO_MARGINS","printingHeaderRow","_initialize","__cell__","headerFunction","_reset","lastCell","_text","_lineNumber","_align","lineNumber","setHeaderFunction","getTextDimensions","amountOfLines","tempWidth","cellAddPage","currentCell","tableHeaderRow","printHeaders","printHeaderRow","headerName","headerNames","headerLabels","headerAligns","columnMatrix","columnWidths","columnMinWidths","tableHeaderConfigs","autoSize","headerBackgroundColor","headerTextColor","table_font_size","prompt","rec","calculateLineHeight","setTableHeaderRow","pv","cv","rowStart","cellData","cellStart","table_x","table_y","new_page","tableHeaderCell","tempHeaderConf","currentTextColor","fontStyleOrder","italic","oblique","normal","fontStretchOrder","fontStretchLookup","fontWeights","fontWeightsLookup","normalizeFontFace","fontFace","searchFromPivot","matchingSet","pivot","defaultGenericFontFamilies","fixed","monospace","terminal","cursive","fantasy","serif","systemFonts","menu","ruleToString","eatWhiteSpace","parseQuotedFontFamily","parseNonQuotedFontFamily","jsNamesObj","jsJsObj","defaultFont","_ctx","ContextLayer","ctx","isStrokeTransparent","strokeStyle","isFillTransparent","textBaseline","lineJoin","lineCap","globalCompositeOperation","globalAlpha","clip_path","currentPoint","miterLimit","lastPoint","lineDashOffset","lineDash","prevPageLastElemOffset","ignoreClearRect","Context2D","_pdf","_pageWrapXEnabled","_pageWrapYEnabled","_posX","_posY","_autoPaging","lastBreak","pageBreaks","_ctxStack","getRGBA","_fontFaceMap","getFontFaceMap","fontFaces","convertedFontFaces","normalized","_fontFaces","fontSizeUnit","fontFaceMap","genericFontFamilies","ordering","resolveFontFace","jsPdfFontName","fallbackFonts","arial","Arial","verdana","Verdana","helvetica","Helvetica","getLineDash","pathPreProcess","beginPath","closePath","pathBegin","quadraticCurveTo","cpx","cpy","pt0","bezierCurveTo","cp1x","cp1y","cp2x","cp2y","arc","startAngle","endAngle","counterclockwise","isIdentity","xpt","x_radPt","x_radPt0","arcTo","fillRect","strokeRect","clearRect","doStackPush","tmpPageNumber","ctxStack","doStackPop","isCanvasGradient","fillText","degs","rad2deg","putText","strokeText","measureText","txtWidth","scalewidth","scaleheight","setTransform","hasMargins","drawImage","swidth","sheight","imageProperties","factorX","factorY","clipFactorX","clipFactorY","decomposedTransformationMatrix","xRect","pageArray","getPagesByPath","sortPages","autoPaging","pageWidthMinusMargins","topMargin","firstPageHeight","pageHeightMinusMargins","previousPageHeightSum","tmpPaths","pathPositionRedo","drawPaths","tmpRect","needsClipping","rectOfQuadraticCurve","getQuadraticCurveBoundary","rectOfBezierCurve","getBezierCurveBoundary","isClip","tmpPath","oldLineWidth","origPath","xPath","moves","deltas","iii","began","arcs","drawArc","drawLines","doClip","getBaseline","getTextBottom","yBaseLine","createLinearGradient","canvasGradient","colorStops","addColorStop","createPattern","createRadialGradient","includeMove","curves","createArc","curve","doMove","drawCurve","textDimensions","yTop","baselineRect","textBounds","pageHeightMinusBottomMargin","pageWidthMinusRightMargin","textBoundsOnPage","doSlice","croppedText","baseLineRectOnPage","prevX","prevY","anticlockwise","twoPi","halfPi","totalAngle","sgn","createSmallArc","q1","q2","k2","ar","cos_ar","sin_ar","ey","midX1","midY1","midX2","midY2","resultX1","resultX2","resultY1","resultY2","ax","ay","bx","by","minx","miny","maxx","maxy","tobx","toby","tocx","tocy","todx","tody","prevLineDash","nextLineDash","ASCII85Encode","ASCII85Decode","ASCIIHexDecode","regexCheckIfHex","FlateEncode","origData","filterChain","sanitizeUnicode","dataLength","charArray","StringFromCharCode","overrideMimeType","loadImageFile","loadHtml2Canvas","import","html2canvas","loadDomPurify","dompurify","objType","sanitize","Worker","template","setProgress","enableLinks","toContainer","toCanvas","toImg","toPdf","thenList","setPageSize","containerCSS","javascriptEnabled","nodeValue","float","prereqs","onrendered","toContext2d","allowTaint","imageTimeout","logging","proxy","removeContainer","foreignObjectRendering","useCORS","imgData","quality","outputImg","outputPdf","doCallback","fns","setMargin","cbk","toPx","getPageSize","updateProgress","onFulfilled","onRejected","thenCore","thenBase","selfPromise","returnVal","thenExternal","catchExternal","using","export","format_as_string","worker","javascript","namesOid","createNamedDestinations","totalPages","dests","names2Oid","makeRef","genIds_r","renderRoot","renderItems","objStart","count_r","objEnd","makeString","markers","processJPEG","blockLength","numcomponents","getCharWidthsArray","splitLongWord","splitParagraphIntoLines","makeImage","scratchCanvas","scratchCtx","chunkSize","palLen","delayDen","delayNum","palShort","readUInt32","_results","colorType","compressionMethod","filterMethod","interlaceMethod","numPlays","xOffset","readUInt16","disposeOp","blendOp","indexed","hasAlphaChannel","pixelBitlength","decodePixels","pixelBytes","fullPixels","pass","y0","abyte","pa","paeth","pc","scanlineLength","upper","upperLeft","isFull","fullPos","decodePalette","_ref1","copyToImageData","_decodedPalette","hasBrowserCanvas","putImageData","decodeFrames","createImageData","renderFrame","doFrame","frameNumber","_png","GifReader","pf0","global_palette_flag","num_global_colors","global_palette_offset","global_palette_size","no_eof","transparent_index","disposal","loop_count","block_size","pf1","pf2","interlace_flag","num_local_colors","palette_offset","palette_size","has_local_palette","data_offset","data_length","interlaced","loopCount","frameInfo","frame_num","decodeAndBlitFrameBGRA","num_pixels","index_stream","GifReaderLZWOutputIndexStream","trans","framewidth","framestride","xleft","opbeg","opend","scanstride","interlaceskip","il","decodeAndBlitFrameRGBA","code_stream","output_length","min_code_size","clear_code","eoi_code","next_code","cur_code_size","code_mask","cur_shift","subblock_size","code_table","prev_code","chase_code","chase_length","chase","JPEGEncoder","YDC_HT","UVDC_HT","YAC_HT","UVAC_HT","currentQuality","ffloor","YTable","UVTable","fdtbl_Y","fdtbl_UV","bitcode","category","outputfDCTQuant","DU","byteout","bytenew","bytepos","YDU","UDU","VDU","RGB_YUV_TABLE","ZigZag","std_dc_luminance_nrcodes","std_dc_luminance_values","std_ac_luminance_nrcodes","std_ac_luminance_values","std_dc_chrominance_nrcodes","std_dc_chrominance_values","std_ac_chrominance_nrcodes","std_ac_chrominance_values","computeHuffmanTbl","nrcodes","std_table","codevalue","pos_in_table","HT","writeBits","posval","writeByte","writeWord","processDU","CDU","fdtbl","DC","HTDC","HTAC","EOB","M16zeroes","DU_DCT","d0","d1","d2","d3","d4","d5","d6","d7","fDCTQuant","dataOff","tmp0","tmp7","tmp1","tmp6","tmp2","tmp5","tmp3","tmp4","tmp10","tmp13","tmp11","tmp12","z1","z5","z4","z3","z11","z13","tmp0p2","tmp7p2","tmp1p2","tmp6p2","tmp2p2","tmp5p2","tmp3p2","tmp4p2","tmp10p2","tmp13p2","tmp11p2","tmp12p2","z1p2","z5p2","z2p2","z4p2","z3p2","z11p2","z13p2","Diff","end0pos","lng","startpos","nrzeroes","nrmarker","setQuality","YQT","UVQT","aasf","writeDQT","DCY","DCU","DCV","quadWidth","fillbits","sfcc","nrlower","nrupper","cat","nr","nrneg","initCategoryNumber","BmpDecoder","is_with_alpha","datav","bottom_up","parseHeader","parseBGR","WebPDecoder","fa","Z","wa","Ed","ma","_WebPDecoder","Fd","Ub","jc","Qb","qb","nd","pd","xb","Ca","Ka","oa","Jd","Yc","Zc","Qa","na","ca","Sb","Ra","bb","Vb","ob","db","Gd","Hd","Wb","Sa","Xb","ra","Ta","Yb","Ha","Zb","X","Mb","Xa","$b","ac","bc","xa","yb","ud","hd","jd","aa","Ia","cc","Kd","Ld","Ea","Md","Nd","Od","Pd","Qd","fb","gb","hb","zb","Ab","Ja","Bb","Rd","Sd","ea","Tc","Cd","lb","Db","Cb","kb","sd","Td","Ud","ib","bd","Da","Vd","Wd","ba","ka","Mc","Nc","fc","Rc","Xd","ya","Kb","za","gc","Ua","Va","memory","Ib","Jb","hc","Oa","ic","Aa","Yd","Ba","Wa","Zd","$d","ae","ta","Eb","be","ga","ce","Dc","mc","nc","de","ua","ub","ha","xc","vc","Ya","oc","ee","Q","fe","qc","Fb","rc","ge","va","Ma","sc","Gb","tc","uc","Hb","wc","yc","zc","qd","rd","ia","tb","he","$","Pb","wd","xd","vb","ie","Ac","Bc","je","Cc","VP8LMapColor32b","ke","VP8LMapColor8b","rb","Oc","R","me","qa","Y","la","ja","Fa","ne","sb","La","Za","$a","jb","oe","pe","nb","qe","Pa","Ga","Na","Ec","se","Fc","ue","yd","Rb","ve","we","Lb","Gc","wb","xe","Wc","Xc","ye","Pc","Tb","zd","vd","od","ld","dd","Hc","ze","Sc","Qc","ad","Ob","Ad","Dd","Ae","Nb","Ic","Be","Kc","ed","$c","Jc","Bd","gd","Uc","Vc","Ce","De","Ee","Fe","Ge","He","Ie","Lc","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","ef","gf","hf","jf","kf","mf","nf","of","pf","qf","rf","tf","uf","vf","wf","xf","yf","zf","Af","Bf","Ke","Le","kd","Cf","Df","Ef","Gf","Hf","If","Jf","Kf","Lf","Mf","Nf","Of","Pf","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","Qf","WebPDecodeRGBA","GetTag","data_off","GetLE24","GetLE32","webpdecoder","imagearray","src_off","alpha_chunk","alpha_size","alpha_offset","fourcc","payload_size","payload_size_padded","src_off_","compressBytes","lineLength","colorsPerPixel","filter_method","filterUp","filterSub","filterAverage","filterPaeth","applyPngFilterMethod","prevLine","filter_methods","getFilterMethods","getIndexOfSmallestSum","filterNone","upLeft","paethPredictor","pLeft","pUp","pUpLeft","arrays","processPNG","trns","pal","smask","alphaData","hasColors","pixel","pbl","pDiff","processGIF89A","rawImageData","processGIF87A","fileSize","reserved","headerSize","getInt32","planes","getUint16","bitPP","rawSize","vr","importantColors","getUint8","bitn","bit1","xlen","bit4","after","bit8","bit15","dif_w","_1_5","bit16","_1_6","bit24","bit32","processBMP","processWEBP","processRGBA","imagePixels","rgbOut","alphaOut","outIndex","alphaIndex","rgbData","setLanguage","langCode","languageSettings","sq","an","hy","az","eu","bn","br","zh","cr","en","eo","fo","fj","fi","fr","fy","fur","gl","gu","ht","hu","iu","kn","ks","km","ky","tlh","ko","mk","mi","mo","nv","ng","no","nn","or","om","qu","rm","ro","ru","sg","si","sr","sk","so","es","sw","tt","te","th","tig","ts","tn","tk","uk","hsb","ur","vi","vo","xh","ji","zu","languageCode","char_code","widths","Unicode","widthsFractionOf","fof","kerning","kerningFractionOf","kerningValue","prior_char_code","default_char_width","widthOfString","widthOfGlyph","characterToGlyph","widths_array","firstLineMaxLen","answer","workingLen","startOfLine","maxlen","lineIndent","postProcess","line_length","separator_length","current_word_length","spaceCharWidth","wrds","wrd","paragraphs","fsize","newOptions","fontUnit_maxLen","__fontmetrics__","encoded","mappingUncompress","mappingCompress","keystring","valuestring","numberprefix","uncompress","stringparts","parent_key_pair","activeobject","parentchain","keyparts","valueparts","datalen","WinAnsiEncoding","encodings","Courier","fontMetrics","ZapfDingbats","existsFileInVFS","getFileFromVFS","TTFFont","glyIdsUsed","loadCanvg","canvg","addSvgAsImage","ignoreMouse","ignoreAnimation","ignoreDimensions","putTotalPages","pageExpression","replaceExpression","totalNumberOfPages","pdfEscape16","viewerPreferences","doReset","configurationTemplate","HideToolbar","explicitSet","valueSet","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","configurationKeys","rangeArray","arrayContainsElement","viewerpreferences","vPref","pdfDict","postPutResources","rdf_beginning","__metadata__","namespaceuri","utf8_xmpmeta_beginning","utf8_rdf_beginning","utf8_metadata","utf8_rdf_ending","utf8_xmpmeta_ending","total_len","metadata_object_number","addMetadata","padz","toUnicode","toUnicodeCmap","unicode","unicodeMap","pdfOutput","subset","pdfOutput2","fontTable","cmap","fontDescriptor","PDFObject","bbox","stemV","italicAngle","ascender","decender","capHeight","DescendantFont","hmtx","unitsPerEm","utf8TextFunction","cmapConfirm","strText","codeMap","parms","_initializeVFS","vFS","addFileToVFS","filecontent","__bidiEngine__","_hasUbatB","_hasUbatS","_isInVisual","_isInRtl","_isOutVisual","_isOutRtl","_isSymmetricSwapping","_UNICODE_TYPES","_bidiUnicodeTypes","_STATE_TABLE_LTR","_STATE_TABLE_RTL","_TYPE_NAMES_MAP","EN","AN","_UNICODE_RANGES_MAP","_SWAP_TABLE","_LTR_RANGES_REG_EXPR","_lastArabic","_dir","_getCharType","rangeIdx","_isContextualDirRtl","charType","_resolveCharType","chars","resolvedTypes","wType","nType","cType","rtlCandidate","_invertString","sourceToTargetMap","levels","_computeLevels","hiLevel","newLevel","condPos","stateTable","_invertByLevel","high","low","_reorder","DIR_RTL","doBidiReorder","isSymmetricSwappingOrig","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","isSymmetricSwapping","bidiEngine","Data","readString","Subset","registerTTF","directory","Directory","HeadTable","NameTable","CmapTable","hhea","HheaTable","maxp","MaxpTable","HmtxTable","PostTable","os2","OS2Table","loca","LocaTable","glyf","GlyfTable","exists","lineGap","xMin","yMin","xMax","yMax","italic_angle","xHeight","familyClass","isSerif","isScript","isFixedPitch","forGlyph","advance","includeGap","readByte","writeUInt32","readInt32","writeInt32","writeUInt16","readInt16","writeInt16","writeString","readShort","writeShort","readLongLong","writeLongLong","readInt","writeInt","scalarType","tableCount","searchRange","entrySelector","rangeShift","tables","adjustment","directoryLength","headOffset","log2","tableData","__slice","__hasProp","revision","checkSumAdjustment","magicNumber","created","modified","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","CmapEntry","endCode","glyphId","glyphIds","idDelta","idRangeOffset","saveOffset","segCount","segCountX2","startCode","platformID","encodingID","language","charmap","charMap","endCodes","glyphIDs","indexes","nextID","old","rangeOffsets","startCodes","startGlyph","subtable","_len1","_n","_o","_p","_q","new","maxGlyphID","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","averageCharWidth","weightClass","widthClass","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","charRange","vendorID","firstCharIndex","lastCharIndex","ascent","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContext","numberOfGlyphs","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","glyphNameIndex","_results1","numGlyphs","NameEntry","languageID","stringOffset","nameID","copyright","fontSubfamily","uniqueSubfamily","postscriptName","trademark","manufacturer","designer","description","vendorUrl","designerUrl","license","licenseUrl","preferredFamily","preferredSubfamily","compatibleFull","sampleText","maxPoints","maxContours","maxCompositePoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","lsbCount","lsb","leftSideBearings","glyphFor","numberOfContours","lengthOf","CompoundGlyph","SimpleGlyph","glyphs","old2new","compound","glyphOffsets","activeGlyphs","glyfPtr","listGlyf","newLocaTable","unicodes","generateCmap","roman","unicodeCmap","glyphsFor","additionalIDs","glyID","new2old","newIDs","nextGlyphID","oldID","oldIDs","isString","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","isOptionObject","defaultMergeOptions","getEnumerableOwnPropertyKeys","symbols","cloneArray","cloneOptionObject","mergeKeys","resultIndex","indices","option","MixpanelType","getQueueKey","getDeviceIdKey","getDistinctIdKey","getUserIdKey","getOptedOutKey","getSuperPropertiesKey","getTimeEventsKey","getAppHasOpenedBeforeKey","MixpanelConfig","static","setLoggingEnabled","loggingEnabled","getLoggingEnabled","setServerURL","serverURL","MixpanelLogger","getServerURL","setUseIpAddressForGeolocation","useIpAddressForGeolocation","getUseIpAddressForGeolocation","setFlushBatchSize","batchSize","getFlushBatchSize","setFlushInterval","flushInterval","getFlushInterval","_shouldLog","_prependPrefix","AsyncStorageAdapter","InMemoryStorage","MixpanelPersistent","initializationCompletePromise","storageAdapter","_superProperties","_timeEvents","_identity","_optedOut","_appHasOpenedBefore","loadIdentity","loadSuperProperties","loadTimeEvents","loadOptOut","loadAppHasOpenedBefore","loadDeviceId","deviceId","loadDistinctId","distinctId","loadUserId","userId","persistIdentity","persistDeviceId","persistDistinctId","persistUserId","getDeviceId","updateDeviceId","getDistinctId","updateDistinctId","getUserId","updateUserId","superPropertiesString","getSuperProperties","updateSuperProperties","superProperties","persistSuperProperties","timeEventsString","getTimeEvents","updateTimeEvents","timeEvents","persistTimeEvents","optOutString","getOptedOut","updateOptedOut","optOut","persistOptedOut","loadQueue","queueString","saveQueue","appHasOpenedBeforeString","getAppHasOpenedBefore","updateAppHasOpenedBefore","appHasOpenedBefore","persistAppHasOpenedBefore","MixpanelQueueManager","_queues","mixpanelPersistent","updateQueueInStorage","getQueue","spliceQueue","deleteCount","clearQueue","MixpanelHttpError","super","MixpanelNetwork","useIPAddressForGeoLocation","responseBody","json","backoff","SessionMetadata","trackingQueue","eventsCounter","peopleCounter","sessionID","randomId","sessionStartEpoch","padStart","toDict","$mp_metadata","$mp_event_id","$mp_session_id","$mp_session_seq_id","$mp_session_start_sec","MixpanelCore","isProcessingQueue","processQueueInterval","startProcessingQueue","processQueue","processBatch","batch","handleBatchError","addToMixpanelQueue","isValidAndSerializable","sessionMetadata","MixpanelMain","trackAutomaticEvents","core","optOutTrackingDefault","optOutTracking","optInTracking","registerSuperProperties","getMetaData","Brand","Manufacturer","$os","$os_version","$lib_version","$manufacturer","$android_brand","$android_manufacturer","$android_model","identityProps","distinct_id","$device_id","$user_id","eventElapsedTime","eventProperties","$duration","flushBatchSize","hasOptedOutTracking","getOptOut","identify","newDistinctId","oldDistinctId","$anon_distinct_id","identity","_updateSuperProperties","currentSuperProperties","updatedSuperProperties","registerSuperPropertiesOnce","unregisterSuperProperty","clearSuperProperties","timeEvent","toLocaleString","sendProfileDataToMixpanel","profileData","$token","$time","$distinct_id","sendGroupDataToMixpanel","groupID","$group_key","$group_id","$set","setOnce","$set_once","increment","$add","nameOrProperties","$append","$union","$remove","trackCharge","charge","$transactions","$amount","clearCharges","unset","$unset","deleteUser","$delete","groupSetProperties","groupSetPropertyOnce","groupUnsetProperty","groupRemovePropertyValue","groupUnionProperty","trackWithGroups","setGroup","addGroup","groupArray","removeGroup","filteredGroup","deleteGroup","MixpanelReactNative","DevicePlatform","ERROR_MESSAGE","PARAMS","Mixpanel","useNative","StringHelper","raiseError","mixpanelImpl","DEFAULT_OPT_OUT","Helper","setFlushOnBackground","flushOnBackground","ObjectHelper","isValidOrUndefined","getPeople","people","People","getGroup","MixpanelGroup","appendProp","getDevicePlatform","removeProp","bytesToUuid","moment","defineLocale","months","monthsShort","weekdays","weekdaysShort","weekdaysMin","meridiemParse","isPM","meridiem","hours","isLower","longDateFormat","LT","LTS","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","ss","mm","MM","yy","dayOfMonthOrdinalParse","ordinal","dow","doy","pluralForm","plurals","pluralize","withoutSuffix","isFuture","weekdaysParseExact","minute","postformat","symbolMap","preparse","numberMap","suffixes","plural","forms","relativeTimeWithPlural","standalone","isFormat","day","period","ww","lastDigit","last2Digits","meridiemHour","monthsShortRegex","monthsParseExact","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","monthsParse","monthsRegex","monthsStrictRegex","monthsShortStrictRegex","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","weekdaysParse","longMonthsParse","shortMonthsParse","processRelativeTime","lll","llll","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","mom","_calendarEl","monthsShortDot","invalidDate","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","eras","since","narrow","abbr","until","eraYearOrdinalRegex","eraYearOrdinalParse","$0","$1","$2","isUpper","ezafeNumSuffix","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","translateSeconds","translateSingular","special","relativeTimeWithSingular","relativeSeconds","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","days","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","hm","weekdaysCaseReplace","nominative","accusative","genitive","processHoursFunction","hookCallback","setHookCallback","hasOwnProp","isObjectEmpty","isNumber","arrLen","createUTC","strict","createLocalOrUTC","utc","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","getParsingFlags","_pf","parsedParts","isNowValid","invalidWeekday","_strict","bigHour","isFrozen","_isValid","createInvalid","momentProperties","updateInProgress","copyConfig","momentPropertiesLen","_isAMomentObject","_tzm","_isUTC","_locale","Moment","updateOffset","isMoment","suppressDeprecationWarnings","firstTime","deprecationHandler","argLen","deprecations","deprecateSimple","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","defaultCalendar","_calendar","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","replaceLongDateFormatTokens","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","_relativeTime","pastFuture","dates","weekday","isoweekdays","isoweekday","DDD","dayofyears","dayofyear","millisecond","quarters","quarter","weekyears","weekyear","GG","isoweekyears","isoweekyear","weeks","isoweeks","isoweek","years","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","isoWeekday","dayOfYear","weekYear","isoWeekYear","isoWeek","getPrioritizedUnits","unitsObj","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","p3","p4","absFloor","toInt","argumentForCoercion","coercedNumber","addParseToken","tokenLen","addWeekParseToken","addTimeToArrayFromToken","isLeapYear","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","parseTwoDigitYear","getSetYear","makeGetSet","getIsLeapYear","keepTime","set$1","isUTC","getUTCMilliseconds","getMilliseconds","getUTCDay","getDay","setUTCMilliseconds","setMilliseconds","setUTCSeconds","setSeconds","setUTCMinutes","setMinutes","setUTCHours","setHours","setUTCDate","setDate","setUTCFullYear","setFullYear","stringGet","stringSet","prioritized","prioritizedLen","mod","daysInMonth","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","localeMonthsShort","_monthsShort","handleStrictParse","monthName","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","setUTCMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","createDate","createUTCDate","UTC","firstWeekOffset","fwd","dayOfYearFromWeeks","resYear","resDayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","globalLocale","baseConfig","locales","localeFamilies","commonPrefix","arr1","minl","normalizeLocale","chooseLocale","loadLocale","isLocaleNameSane","oldLocale","_abbr","getSetGlobalLocale","getLocale","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","configFromString","createFromInputFallback","currentDateArray","nowValue","_useUTC","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekdayOverflow","curWeek","createLocal","ISO_8601","RFC_2822","skipped","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","createFromConfig","prepareConfig","configFromInput","prototypeMin","prototypeMax","pickBy","moments","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","Duration","_milliseconds","_days","_data","_bubble","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","utcOffset","offsetFromString","chunkOffset","cloneWithOffset","setTime","local","getDateOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","isAdding","invalid","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","wholeMonthDiff","anchor","keepOffset","toDate","zone","inputString","defaultFormatUtc","defaultFormat","humanize","fromNow","toNow","newLocaleData","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","unix","toObject","isValid$2","parsingFlags","invalidAt","creationData","localeEras","_eras","localeErasParse","eraName","localeErasConvertYear","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","erasName","erasAbbr","erasNarrow","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","isDSTShifted","proto$1","get$1","setter","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","makeAs","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","argWithSuffix","argThresholds","withSuffix","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","Cache","_maxSize","_size","_values","SPLIT_REGEX","DIGIT_REGEX","LEAD_DIGIT_REGEX","SPEC_CHAR_REGEX","CLEAN_QUOTES_REGEX","pathCache","setCache","getCache","normalizePath","isQuoted","shouldBeQuoted","hasLeadingNumber","hasSpecialChars","safe","segments","isBracket","strictUriEncode","decodeComponent","splitOnFirst","filterObject","encodeFragmentIdentifier","validateArrayFormatSeparator","keysSorter","removeHash","hashStart","queryStart","parseValue","parseNumbers","parseBooleans","arrayFormat","arrayFormatSeparator","accumulator","isEncodedArray","arrayValue","parserForArrayFormat","shouldFilter","skipNull","skipEmptyString","keyValueSep","encoderForArrayFormat","objectCopy","parseUrl","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryFromUrl","parsedQueryFromUrl","getHash","exclude","exclusionFilter","eq","regexp","maxKeys","kstr","vstr","stringifyPrimitive","useWillUnmount","valueRef","useUpdatedRef","MAX_DELAY_MS","setChainedTimeout","timeoutAtMs","useTimeout","useMounted","isReactNative","product","useButtonProps","isTrivialHref","asProp","excluded","sourceKeys","Anchor","defaultKey","hint","prim","useUncontrolled","fieldName","_extends2","propsValue","_useUncontrolledProp","wasPropRef","stateValue","isProp","wasProp","useUncontrolledProp","componentWillMount","componentWillReceiveProps","componentWillUpdate","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","__suppressDeprecationWarning","DEFAULT_BREAKPOINTS","minBreakpoint","useBootstrapPrefix","defaultPrefix","CarouselCaption","bsPrefix","CarouselItem","finalClassName","rUpper","hyphenate","supportedTransforms","psuedoElement","isTransform","optionsSupported","onceSupported","wrappedHandler","__once","onceHandler","emulateTransitionEnd","called","triggerEvent","transitionEnd","parseDuration","removeEmulate","transitionEndListener","toFnRef","refA","refB","childRef","mergedRef","attachRef","componentOrElement","handleAddEndListener","innerProps","Carousel","defaultActiveIndex","uncontrolledProps","slide","controls","indicators","indicatorLabels","activeIndex","onSlide","onSlid","keyboard","pause","prevIcon","prevLabel","nextIcon","nextLabel","useIsRTL","nextDirectionRef","setDirection","paused","setPaused","isSliding","setIsSliding","renderedActiveIndex","setRenderedActiveIndex","activeChildInterval","numChildren","activeChildIntervalRef","nextActiveIndex","nextWhenVisible","elementStyle","isVisible","slideDirection","orderClassName","directionalClassName","triggerBrowserReflow","handleMouseOut","touchStartXRef","touchDeltaXRef","touchUnpauseTimeout","touchDeltaX","shouldPlay","intervalHandleRef","_activeChildIntervalR","nextFunc","indicatorOnClicks","readCookie","cleanValue","cleanupCookieValue","doNotParse","cookies","defaultSetOptions","changeListeners","HAS_DOCUMENT_COOKIE","previousCookies","cookie","_checkChanges","domCookies","parseCookies","testingValue","TEST_HAS_DOCUMENT_COOKIE","hasDocumentCookie","_emitChange","_startPolling","pollingInterval","_stopPolling","doNotUpdate","getAll","finalOptions","cookieStore","CookiesContext","useCookies","allCookies","setCookies","newCookies","oldCookies","dependency","setCookie","removeCookie","updateCookies","acceptsBooleans","attributeNamespace","mustUseProperty","sanitizeURL","removeEmptyString","setAttributeNS","xlinkHref","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","prepareStackTrace","_context","_init","_valueTracker","_wrapperState","initialChecked","defaultSelected","namespaceURI","MSApp","execUnsafeLocalFunction","menuitem","area","embed","keygen","wbr","srcElement","correspondingUseElement","stateNode","alternate","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","blockedOn","domEventName","eventSystemFlags","targetContainers","isDehydrated","ReactCurrentBatchConfig","_reactName","_targetInst","isPersistent","screenX","getModifierState","fromElement","toElement","movementX","movementY","dataTransfer","elapsedTime","pseudoElement","clipboardData","Esc","Spacebar","Up","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Alt","Control","Meta","Shift","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","wheelDelta","deltaZ","deltaMode","documentMode","oninput","Je","compareDocumentPosition","HTMLIFrameElement","focusedElem","selectionRange","rangeCount","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","animationend","animationiteration","animationstart","transitionend","previousSibling","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","hg","jg","kg","og","pg","qg","rg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","effects","bh","eventTime","lane","dh","eh","fh","gh","ih","jh","kh","nh","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","qh","UNSAFE_componentWillReceiveProps","rh","UNSAFE_componentWillMount","sh","_owner","_stringRef","uh","vh","yh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","di","ei","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","gi","ki","getSnapshot","ni","lastEffect","stores","oi","pi","qi","ri","ui","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","unstable_isNewReconciler","identifierPrefix","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Bj","Cj","Dj","nj","oj","pj","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tailMode","yj","Ej","Fj","Gj","wasMultiple","onclick","createElementNS","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","Yj","Zj","ak","onCommitFiberUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","ik","jk","lk","__reactInternalSnapshotBeforeUpdate","Wk","nk","pk","qk","rk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Pj","onCommitFiberRoot","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","pendingChildren","mutableSourceEagerHydrationData","pendingSuspenseBoundaries","hl","jl","zj","$k","reportError","_internalRoot","ol","ql","rl","unstable_scheduleHydration","usingClientEntryPoint","ul","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","wl","supportsFiber","inject","createPortal","unstable_strictMode","flushSync","hydrateRoot","hydratedSources","_getVersion","_source","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","SuspenseList","isSuspenseList","getModuleId","FocusManager","_Subscribable","setup","_window","isServer","onSubscribe","setEventListener","onUnsubscribe","_this$cleanup","_this$cleanup2","Subscribable","focusManager","defaultShouldDehydrateMutation","isPaused","defaultShouldDehydrateQuery","dehydrate","_options2","mutations","queries","dehydrateMutations","shouldDehydrateMutation","getMutationCache","mutationKey","dehydrateMutation","dehydrateQueries","shouldDehydrateQuery","getQueryCache","queryKey","queryHash","dehydrateQuery","dehydratedState","mutationCache","dehydratedMutation","_options$defaultOptio","dehydratedQuery","_options$defaultOptio2","dataUpdatedAt","infiniteQueryBehavior","onFetch","fetchFn","_context$fetchOptions","_context$fetchOptions2","_context$fetchOptions3","_context$fetchOptions4","_context$state$data","_context$state$data2","refetchPage","fetchOptions","fetchMore","pageParam","isFetchingNextPage","isFetchingPreviousPage","oldPages","oldPageParams","pageParams","abortController","getAbortController","abortSignal","newPageParams","queryFn","buildNewPages","fetchPage","manual","queryFnContext","queryFnResult","isCancelable","getNextPageParam","_manual","_param","getPreviousPageParam","shouldFetchFirstPage","_param2","finalPromise","nextPageParam","hasPreviousPage","previousPageParam","InfiniteQueryObserver","_QueryObserver","bindMethods","fetchNextPage","fetchPreviousPage","notifyOptions","getOptimisticResult","_options$cancelRefetc","cancelRefetch","throwOnError","_options$cancelRefetc2","createResult","_state$data","_state$data2","_state$fetchMeta","_state$fetchMeta$fetc","_state$fetchMeta2","_state$fetchMeta2$fet","isFetching","fetchMeta","QueryObserver","getLogger","setLogger","newLogger","Mutation","mutationId","observers","getDefaultState","addObserver","removeObserver","retryer","continue","execute","restored","variables","onMutate","executeMutation","onSettled","_this$options$retry","Retryer","mutationFn","onPause","onContinue","retry","failureCount","reducer","notifyManager","onMutationUpdate","notify","MutationCache","defaultMutationOptions","getMutationDefaults","matchMutation","findAll","resumePausedMutations","onOnline","pausedMutations","updateResult","mutate","_this$currentMutation","currentMutation","getCurrentResult","currentResult","mutateOptions","isLoading","isSuccess","isIdle","NotifyManager","transactions","notifyFn","batchNotifyFn","scheduleMicrotask","batchCalls","setNotifyFunction","setBatchNotifyFunction","OnlineManager","online","setOnline","isOnline","onLine","onlineManager","QueriesObserver","observersMap","setQueries","updateObservers","findMatchingObservers","defaultedQueryOptions","prevObservers","defaultQueryObserverOptions","matchingObservers","defaultedOptions","matchedQueryHashes","unmatchedQueries","unmatchedObservers","prevObserver","newOrReusedObservers","keepPreviousData","previouslyUsedObserver","getObserver","currentObserver","newObserverMatches","newObservers","newObserversMap","newResult","hasIndexChange","difference","replaceAt","abortSignalConsumed","hadObservers","scheduleGc","_this$options$cacheTi","cacheTime","setDefaultOptions","clearGcTimeout","isValidTimeout","gcTimeout","optionalRemove","setData","_this$options$isDataE","_this$options","prevData","functionalUpdate","isDataEqual","structuralSharing","replaceEqualDeep","updatedAt","setStateOptions","_this$retryer","silent","isStale","isInvalidated","isStaleByTime","staleTime","timeUntilStale","_this$retryer2","shouldFetchOnWindowFocus","refetch","_this$retryer3","shouldFetchOnReconnect","isTransportCancelable","revert","cancelRetry","getObserversCount","invalidate","_this$options$behavio","_abortController$abor","_this$retryer4","continueRetry","ensureQueryKeyArray","_this$options$behavio2","revertState","isCancelledError","onQueryUpdate","initialData","initialDataUpdatedAt","hasData","dataUpdateCount","errorUpdateCount","errorUpdatedAt","fetchFailureCount","_action$meta","_action$dataUpdatedAt","QueryCache","queriesMap","_options$queryHash","hashQueryKeyByOptions","defaultQueryOptions","getQueryDefaults","queryInMap","arg1","arg2","parseFilterArgs","matchQuery","QueryClient","queryDefaults","mutationDefaults","unsubscribeOnline","_this$unsubscribeFocu","_this$unsubscribeOnli","fetching","isMutating","getQueryData","_this$queryCache$find","getQueriesData","queryKeyOrFilters","setQueryData","parsedOptions","parseQueryArgs","setQueriesData","getQueryState","_this$queryCache$find2","removeQueries","resetQueries","arg3","_parseFilterArgs3","refetchFilters","refetchQueries","cancelQueries","_parseFilterArgs4","_parseFilterArgs4$","cancelOptions","invalidateQueries","_filters$refetchActiv","_filters$refetchInact","_parseFilterArgs5","refetchActive","inactive","refetchInactive","_parseFilterArgs6","fetchQuery","prefetchQuery","fetchInfiniteQuery","prefetchInfiniteQuery","cancelMutations","getDefaultOptions","setQueryDefaults","hashQueryKey","_this$queryDefaults$f","partialMatchKey","setMutationDefaults","_this$mutationDefault","_defaulted","trackedProps","selectError","currentQuery","shouldFetchOnMount","executeFetch","updateTimers","shouldFetchOn","refetchOnReconnect","refetchOnWindowFocus","clearTimers","prevOptions","prevQuery","updateQuery","shouldFetchOptionally","updateStaleTimeout","nextRefetchInterval","computeRefetchInterval","currentRefetchInterval","updateRefetchInterval","trackResult","trackedResult","trackProp","useErrorBoundary","suspense","getNextResult","getCurrentQuery","fetchOptimistic","clearStaleTimeout","staleTimeoutId","_this$options$refetch","refetchInterval","nextInterval","clearRefetchInterval","refetchIntervalId","refetchIntervalInBackground","prevResult","prevResultState","currentResultState","prevResultOptions","currentResultOptions","queryChange","queryInitialState","currentQueryInitialState","prevQueryResult","previousQueryResult","isPreviousData","isPlaceholderData","optimisticResults","fetchOnMount","fetchOptionally","selectFn","selectResult","placeholderData","isFetched","isFetchedAfterMount","isRefetching","isLoadingError","isRefetchError","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsExclusions","includedProps","typedKey","isIncluded","isExcluded","shallowEqualObjects","defaultNotifyOptions","retryOnMount","shouldLoadOnMount","refetchOnMount","defaultRetryDelay","CancelledError","cancelFn","continueFn","promiseResolve","promiseReject","outerResolve","outerReject","promiseOrValue","_unused","_config$retry","_config$retryDelay","shouldRetry","sleep","continueResolve","isQueryKey","parseMutationArgs","parseMutationFilterArgs","mapQueryStatusFilter","queryStatusFilter","queryKeyHashFn","stableValueHash","partialDeepEqual","aSize","bItems","bSize","equalItems","hasObjectPrototype","prot","AbortController","useHydrate","queryClient","useQueryClient","Hydrate","defaultContext","QueryClientSharingContext","getQueryClientContext","contextSharing","ReactQueryClientContext","QueryClientProvider","_ref$contextSharing","Context","createValue","_isReset","clearReset","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","QueryErrorResetBoundary","useBaseQuery","Observer","mountedRef","errorResetBoundary","shouldThrowError","useInfiniteQuery","checkIsFetching","setIsFetching","newIsFetching","useIsFetching","filtersRef","isFetchingRef","useIsMutating","setIsMutating","isMutatingRef","newIsMutating","useMutation","obsRef","mutateAsync","useQueries","defaultedQueries","useQuery","_useErrorBoundary","UNMOUNTED","EXITED","ENTERED","initialStatus","appearStatus","unmountOnExit","mountOnEnter","nextCallback","updateStatus","nextStatus","cancelNextCallback","getTimeouts","mounting","forceReflow","performEnter","performExit","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onTransitionEnd","setNextCallback","doesNotHaveTimeoutOrListener","maybeNextCallback","__self","__source","jsxs","_status","_currentValue2","_threadCount","_defaultValue","_globalName","createFactory","createRef","lazy","unstable_act","sortIndex","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","define","hasDescriptors","gOPD","$floor","functionLengthIsConfigurable","functionLengthIsWritable","isArrayish","separatorIndex","createStyleq","disableCache","disableMix","definedProperties","nextCache","possibleStyle","classNameChunk","cacheEntry","definedPropertiesChunk","weakMap","subStyle","_prop","markerProp","compiledStyleIndex","_cachedStyles","_compiledStyle","compileStyle","cachedStyles","reWords","camelCase","pascalCase","snakeCase","kebabCase","sentenceCase","titleCase","toposort","edges","sorted","outgoingEdges","makeOutgoingEdges","nodesHash","makeNodesHash","predecessors","nodeRep","outgoing","uniqueNodes","freeGlobal","punycode","maxInt","regexPunycode","regexNonASCII","regexSeparators","stringFromCharCode","mapDomain","ucs2decode","counter","ucs2encode","digitToBasic","digit","adapt","numPoints","baseMinusTMin","basic","oldi","baseMinusT","inputLength","bias","handledCPCount","basicLength","currentValue","handledCPCountPlusOne","qMinusT","Url","slashes","relative","resolveObject","protocolPattern","portPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","parseQueryString","slashesDenoteHost","isNull","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","bit","domainArray","newOut","esc","qm","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","authInHost","hasTrailingSlash","isAbsolute","__createBinding","__setModuleDefault","__importStar","__importDefault","useIsomorphicLayoutEffect_1","latestCallback","react_1","useIsomorphicLayoutEffect","isArgumentsObject","isGeneratorFunction","isTypedArray","uncurryThis","BigIntSupported","SymbolSupported","ObjectToString","numberValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","working","isDataViewToString","isDataView","isPromise","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isFloat32Array","isFloat64Array","isBigInt64Array","isBigUint64Array","isMap","isSet","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","isBoxedPrimitive","isAnyArrayBuffer","formatRegExp","noDeprecation","throwDeprecation","traceDeprecation","debugs","debugEnvRegex","NODE_DEBUG","debugEnv","seen","stylize","stylizeNoColor","isBoolean","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","recurseTimes","primitive","simple","formatPrimitive","visibleKeys","arrayToHash","formatError","isRegExp","braces","formatProperty","formatArray","numLinesEst","reduceToSingleString","objectToString","debuglog","pid","isNullOrUndefined","isSymbol","isNativeError","isPrimitive","inherits","kCustomPromisifiedSymbol","callbackifyOnRejected","newReason","promisify","custom","callbackify","callbackified","maybeCb","rej","availableTypedArrays","typedArrays","$slice","typedArray","superProto","trySlices","tryTypedArrays","errorToString","regExpToString","symbolToString","SYMBOL_REGEXP","printSimpleValue","quoteStrings","printNumber","printValue","_Symbol$toStringTag","strReg","ValidationError","errorOrErrors","disableStack","innerErrors","mixed","defined","notNull","oneOf","notOneOf","notType","castMsg","lessThan","moreThan","positive","boolean","noUnknown","spec","typeLen","isSchema","__isYupSchema__","fromOptions","otherwise","schema","_branch","branch","create$9","Reference","isContext","isSibling","cast","describe","isRef","__isYupRef","isAbsent","createValidation","panic","skipAbsent","abortEarly","disableStackTrace","createError","_overrides$disableSta","nextParams","handleResult","validOrError","OPTIONS","getIn","lastPart","lastPartDebug","_part","isTuple","innerType","parentPath","reach","ReferenceSet","resolveAll","newItems","removeItems","Schema","tests","_mutate","internalTests","_whitelist","_blacklist","exclusiveTests","_typeCheck","withMutation","typeError","strip","recursive","nullable","optional","coerce","nonNullable","mergedSpec","prevSchema","resolveOptions","_options$strict","_options$abortEarly","_options$recursive","_options$disableStack","resolvedSchema","allowOptionality","_cast","formattedValue","formattedResult","rawValue","prevValue","getDefault","_validate","initialTests","runTests","initialErrors","runOptions","panicOnce","nextOnce","nestedErrors","asNestedTest","originalParent","isIndex","testOptions","_options$disableStack2","validated","validateSync","_options$disableStack3","isValidSync","_getDefault","def","nullability","optionality","notRequired","isExclusive","when","enums","whiteList","valids","invalids","returnsTrue","create$8","MixedSchema","create$7","BooleanSchema","_raw","isTrue","rEmail","rUrl","rUUID","isTrimmed","objStringTag","create$6","StringSchema","strValue","excludeEmptyString","ensure","create$5","NumberSchema","isNaN$1","less","truncate","_method","avail","isoReg","create$4","DateSchema","regexResult","plusMinus","hourOffset","minuteOffset","totalMinutesOffset","parseIsoDate","INVALID_DATE","prepareParam","_err$path","sortByKeyOrder","parseJson","deepPartial","partial","fieldSchema","setFields","nextArray","defaultSort","create$3","ObjectSchema","_sortErrors","_nodes","_excludedEdges","_options$stripUnknown","stripUnknown","intermediateValue","innerOptions","__validating","isChanged","fieldValue","inputValue","fieldSpec","objectErrors","fieldErrors","nextFields","schemaOrRef","dft","_innerOptions","excludedEdges","excludes","depPath","sortFields","additions","picked","fromGetter","newObj","deepHas","noAllow","unknownKeys","known","unknown","allow","transformKeys","constantCase","_innerOptions2","create$2","ArraySchema","_opts","castArray","castElement","arrayErrors","_options$originalValu2","_options$originalValu","innerTypeErrors","rejector","create$1","schemas","TupleSchema","itemTypes","tupleErrors","itemSchema","_resolve","validateAt","validateSyncAt","setLocale","addMethod","schemaType","possibleNames","appendClass","newClass","asyncGeneratorStep","_next","_throw","Constructor","_defineProperties","protoProps","staticProps","allowArrayLike","subClass","superClass","_inheritsLoose","_objectSpread2","sourceSymbolKeys","_setPrototypeOf","unsupportedIterableToArray","arrayLikeToArray","toPropertyKey","Class","_cache","setCustomValidity","fieldPath","reportValidity","validateFieldsNatively","toNestErrors","shouldUseNativeValidation","isNameInFieldArray","fieldArrayErrors","yupResolver","schemaOptions","resolverOptions","validateAllFieldCriteria","criteriaMode","appendErrors","kindOf","thing","kindOfTest","typeOfTest","isFile","isBlob","isFileList","isURLSearchParams","allOwnKeys","findKey","isContextDefined","isHTMLForm","reduceDescriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isFormData","kind","isStream","caseless","assignValue","targetKey","stripBOM","superConstructor","toFlatObject","sourceObj","destObj","propFilter","searchString","forEachEntry","regExp","freezeMethods","toObjectSet","arrayOrString","toCamelCase","toFiniteNumber","generateString","alphabet","isSpecCompliantForm","toJSONObject","reducedValue","isThenable","AxiosError","utils","fileName","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","predicates","metaTokens","visitor","defaultVisitor","useBlob","convertValue","isFlatArray","exposedHelpers","AxiosURLSearchParams","_pairs","encoder","_encode","buildURL","serializeFn","serializedParams","hashmarkIndex","use","fulfilled","rejected","synchronous","runWhen","eject","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","protocols","hasBrowserEnv","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","transitional","transformRequest","getContentType","hasJSONContentType","isObjectPayload","setContentType","toURLEncodedForm","formSerializer","_FormData","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","ignoreDuplicateOf","$internals","normalizeHeader","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","setHeaders","tokensRE","parseTokens","deleted","deleteHeader","formatHeader","targets","asStrings","accessor","accessors","defineAccessor","accessorName","buildAccessors","headerValue","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","toGMTString","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","msie","urlParsingNode","originURL","resolveURL","requestURL","samplesCount","timestamps","firstSampleTS","chunkLength","startedAt","bytesCount","passed","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","lengthComputable","progressBytes","rate","estimated","knownAdapters","requestData","requestHeaders","onCanceled","withXSRFToken","cancelToken","fullPath","ERR_BAD_REQUEST","settle","paramsSerializer","onreadystatechange","responseURL","onabort","ECONNABORTED","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","isURLSameOrigin","xsrfValue","onDownloadProgress","onUploadProgress","aborted","parseProtocol","renderReason","isResolvedHandle","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","validators","deprecatedWarnings","formatMessage","ERR_DEPRECATED","assertOptions","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","getUri","generateHTTPMethod","isForm","CancelToken","executor","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","defaultConfig","toFormData","spread","isAxiosError","formToJSON","getAdapter","customAlphabet","defaultSize","isObjectType","isDateObject","isCheckBoxInput","getNodeParentName","tempObject","prototypeCopy","cloneObject","FileList","EVENTS","BLUR","FOCUS_OUT","VALIDATION_MODE","onSubmit","onTouched","INPUT_VALIDATION_RULES","HookFormContext","useFormContext","FormProvider","formState","control","localProxyFormState","defaultValues","_defaultValues","_proxyFormState","formStateData","updateFormState","isEmptyObject","signalName","convertToArrayPayload","currentName","useSubscribe","useFormState","_formState","_localProxyFormState","isDirty","dirtyFields","touchedFields","isValidating","shouldSubscribeByName","shouldRenderFormState","_updateFormState","_subjects","_updateValid","getProxyFormState","_names","formValues","isGlobal","watch","watchAll","useWatch","updateValue","generateWatchOutput","_formValues","_getWatch","_removeUnmounted","tempPath","isKey","objValue","useController","shouldUnregister","isArrayField","_registerProps","_shouldUnregisterField","updateMounted","_fields","_state","_updateDisabledField","getEventValue","elm","fieldState","isTouched","Controller","POST_REQUEST","Form","setMounted","encType","submit","hasError","handleSubmit","formDataJson","shouldStringifySubmissionData","isSubmitSuccessful","noValidate","shouldFocus","focusName","focusIndex","isOnSubmit","isOnBlur","isOnChange","isOnAll","isOnTouch","isBlurEvent","watchName","iterateFieldsByAction","fieldsNames","currentField","owner","defaultResult","validResult","defaultReturn","getValidateError","isMessage","validationData","isRegex","isFieldArray","minLength","valueAsNumber","isRadio","isRadioInput","isCheckBox","isRadioOrCheckbox","isFileInput","appendErrorsCurry","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","getCheckboxValue","getRadioValue","getValueAndMessage","exceedMin","maxOutput","minOutput","valueDate","valueAsDate","convertTimeToDate","toDateString","isTime","isWeek","valueNumber","maxLengthOutput","minLengthOutput","patternValue","validateError","validationResult","removeAtIndexes","childObject","updatePath","baseGet","isEmptyArray","fieldValues","useFieldArray","_getFieldArray","generateId","_fieldIds","_actioned","fieldArrayName","updateValues","updatedFieldArrayValues","_updateFieldArray","isWatched","getValidationModes","isSubmitted","_executeSchema","existingError","validateField","updateFieldArrayRootError","swapArrayAt","argA","argB","move","moveArrayAt","prependValue","prependAt","getFocusFieldName","fillEmptyArray","appendValue","appendAt","removeArrayAt","insertValue","insertAt","updateAt","_observers","object1","object2","val1","val2","markFieldsDirty","isParentNodeArray","objectHasFunction","getDirtyFieldsFromDefaultValues","dirtyFieldsFromValues","setValueAs","getFieldValue","files","isMultipleSelect","selectedOptions","getFieldValueAs","schemaErrorLookup","foundError","reValidateMode","shouldFocusError","createFormControl","flushRootRender","delayErrorCallback","submitCount","isSubmitting","unMount","createSubject","validationModeBeforeSubmit","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","shouldUpdateValid","executeBuiltInValidation","_updateIsValidating","updateValidAndValue","shouldSkipSetValueAs","setFieldValue","updateTouchAndDirty","shouldDirty","shouldRender","shouldUpdateField","isPreviousDirty","disabledField","_getDirty","isCurrentFieldPristine","isPreviousFieldTouched","shouldRenderByError","previousFieldError","delayError","updateErrors","updatedFormState","getResolverOptions","shouldOnlyCheckValid","valid","isFieldArrayRoot","fieldError","getValues","fieldReference","optionRef","checkboxRef","radioRef","shouldTouch","shouldValidate","trigger","setValues","fieldKey","cloneValue","getDirtyFields","isFieldValueUpdated","_updateIsFieldValueUpdated","shouldSkipValidation","hasValidation","skipValidation","watched","previousErrorLookupResult","errorLookupResult","_focusInput","fieldNames","executeSchemaAndUpdateState","getFieldState","keepValue","keepError","keepDirty","keepTouched","keepDefaultValue","keepIsValid","disabledIsDefined","progressive","getRuleValue","fieldRef","radioOrCheckbox","live","_focusError","onValid","onInvalid","keepStateOptions","updatedValues","cloneUpdatedValues","keepDefaultValues","keepValues","keepDirtyValues","closest","keepSubmitCount","keepIsSubmitted","keepErrors","keepIsSubmitSuccessful","shouldSetValues","shouldUpdateFieldsAndState","unsetEmptyArray","_resetDefaultValues","resetOptions","_disableForm","requiredDisabledState","_setErrors","resetField","clearErrors","inputName","setFocus","shouldSelect","useForm","_formControl"],"sourceRoot":""}