{"version":3,"file":"vendor.js","mappings":"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+CAA+C,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACP1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA,kCAAkC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACf7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM+B,gBAAN,CAAuB;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,gBAAN,CAAuB;AAGvB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,UAAU,GAAG,GAAnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAShoJ,OAAT,CAAiBnS,IAAjB,EAAuB41G,WAAvB,EAAoC;EAChC,OAAO;IAAEx3G,IAAI,EAAE;IAAE;IAAV;IAA+C4B,IAA/C;IAAqD41G,WAArD;IAAkEj9G,OAAO,EAAE;EAA3E,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyhK,OAAT,CAAiBC,OAAjB,EAA0Br0J,MAAM,GAAG,IAAnC,EAAyC;EACrC,OAAO;IAAE5H,IAAI,EAAE;IAAE;IAAV;IAA+C4H,MAA/C;IAAuDq0J;EAAvD,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAShqI,KAAT,CAAesiD,KAAf,EAAsBh6E,OAAO,GAAG,IAAhC,EAAsC;EAClC,OAAO;IAAEyF,IAAI,EAAE;IAAE;IAAV;IAA6Cu0E,KAA7C;IAAoDh6E;EAApD,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2hK,QAAT,CAAkB3nF,KAAlB,EAAyBh6E,OAAO,GAAG,IAAnC,EAAyC;EACrC,OAAO;IAAEyF,IAAI,EAAE;IAAE;IAAV;IAAgDu0E,KAAhD;IAAuDh6E;EAAvD,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsW,KAAT,CAAesrJ,MAAf,EAAuB;EACnB,OAAO;IAAEn8J,IAAI,EAAE;IAAE;IAAV;IAA6C4H,MAAM,EAAEu0J,MAArD;IAA6DnnJ,MAAM,EAAE;EAArE,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASguE,KAAT,CAAephF,IAAf,EAAqBgG,MAArB,EAA6BrN,OAA7B,EAAsC;EAClC,OAAO;IAAEyF,IAAI,EAAE;IAAE;IAAV;IAA6C4B,IAA7C;IAAmDgG,MAAnD;IAA2DrN;EAA3D,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6hK,SAAT,CAAmB7nF,KAAnB,EAA0B;EACtB,OAAO;IAAEv0E,IAAI,EAAE;IAAE;IAAV;IAAiDu0E;EAAjD,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8nF,UAAT,CAAoBC,eAApB,EAAqC/nF,KAArC,EAA4Ch6E,OAAO,GAAG,IAAtD,EAA4D;EACxD,OAAO;IAAEyF,IAAI,EAAE;IAAE;IAAV;IAAkDu8J,IAAI,EAAED,eAAxD;IAAyEE,SAAS,EAAEjoF,KAApF;IAA2Fh6E;EAA3F,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiiK,SAAT,CAAmBjoF,KAAnB,EAA0Bh6E,OAAO,GAAG,IAApC,EAA0C;EACtC,OAAO;IAAEyF,IAAI,EAAE;IAAE;IAAV;IAAiDw8J,SAAS,EAAEjoF,KAA5D;IAAmEh6E;EAAnE,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkiK,YAAT,CAAsBliK,OAAO,GAAG,IAAhC,EAAsC;EAClC,OAAO;IAAEyF,IAAI,EAAE;IAAE;IAAV;IAAoDzF;EAApD,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmiK,YAAT,CAAsBF,SAAtB,EAAiCjiK,OAAO,GAAG,IAA3C,EAAiD;EAC7C,OAAO;IAAEyF,IAAI,EAAE;IAAG;IAAX;IAAmDw8J,SAAnD;IAA8DjiK;EAA9D,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASm/B,KAAT,CAAe/xB,QAAf,EAAyB60J,SAAzB,EAAoCjiK,OAAO,GAAG,IAA9C,EAAoD;EAChD,OAAO;IAAEyF,IAAI,EAAE;IAAG;IAAX;IAA8C2H,QAA9C;IAAwD60J,SAAxD;IAAmEjiK;EAAnE,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoiK,OAAT,CAAiBV,OAAjB,EAA0BO,SAA1B,EAAqC;EACjC,OAAO;IAAEx8J,IAAI,EAAE;IAAG;IAAX;IAAgDi8J,OAAhD;IAAyDO;EAAzD,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,iBAAT,CAA2B7D,EAA3B,EAA+B;EAC3B1wG,OAAO,CAACC,OAAR,CAAgB,IAAhB,EAAsBl0C,IAAtB,CAA2B2kJ,EAA3B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8D,mBAAN,CAA0B;EACtBp5J,WAAW,CAAC7I,QAAQ,GAAG,CAAZ,EAAekoB,KAAK,GAAG,CAAvB,EAA0B;IACjC,KAAKg6I,UAAL,GAAkB,EAAlB;IACA,KAAKC,WAAL,GAAmB,EAAnB;IACA,KAAKC,aAAL,GAAqB,EAArB;IACA,KAAKC,kBAAL,GAA0B,EAA1B;IACA,KAAKC,mBAAL,GAA2B,EAA3B;IACA,KAAKC,QAAL,GAAgB,KAAhB;IACA,KAAKC,UAAL,GAAkB,KAAlB;IACA,KAAKC,SAAL,GAAiB,KAAjB;IACA,KAAKjkB,SAAL,GAAiB,CAAjB;IACA,KAAKkkB,YAAL,GAAoB,IAApB;IACA,KAAKC,SAAL,GAAiB3iK,QAAQ,GAAGkoB,KAA5B;EACH;;EACD06I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yY,cAAc,CAACV,QAAtB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMl6B,WAAW,GAAG,OAAO9lK,SAAP,KAAqB,WAArB,IAAoC,CAAC,CAACA,SAA1D;AACA;AACA;AACA;;AACA,MAAM2gM,cAAN,CAAqB;EACjBnhM,WAAW,CAACmnC,SAAD,EAAYi6J,OAAZ,EAAqBz3L,KAArB,EAA4BvR,KAA5B,EAAmC;IAC1C,KAAK+uC,SAAL,GAAiBA,SAAjB;IACA,KAAKi6J,OAAL,GAAeA,OAAf;IACA,KAAKz3L,KAAL,GAAaA,KAAb;IACA,KAAKvR,KAAL,GAAaA,KAAb;EACH;;EACQ,IAAL8V,KAAK,GAAG;IACR,OAAO,KAAKvE,KAAL,KAAe,CAAtB;EACH;;EACO,IAAJ4jH,IAAI,GAAG;IACP,OAAO,KAAK5jH,KAAL,KAAe,KAAKvR,KAAL,GAAa,CAAnC;EACH;;EACO,IAAJipM,IAAI,GAAG;IACP,OAAO,KAAK13L,KAAL,GAAa,CAAb,KAAmB,CAA1B;EACH;;EACM,IAAH23L,GAAG,GAAG;IACN,OAAO,CAAC,KAAKD,IAAb;EACH;;AAlBgB;AAoBrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMl4J,OAAN,CAAc;EACVnpC,WAAW,CAACuhM,cAAD,EAAiBC,S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EC47L,UAAU,EAAE;IAFb,CAAD;EAF+F,CAAD,CAAhH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEvjM,IAAI,EAAEkD,2DAAmBwhM;IAA3B,CAAD,EAAgC;MAAE1kM,IAAI,EAAEkD,sDAAcinC;IAAtB,CAAhC,EAA0D;MAAEnqC,IAAI,EAAEkD,0DAAkBmgM;IAA1B,CAA1D,CAAP;EAAiG,CAN3I,EAM6J;IAAEwB,OAAO,EAAE,CAAC;MACzJ7kM,IAAI,EAAEqD,gDAAKA;IAD8I,CAAD,CAAX;IAE7IiiM,YAAY,EAAE,CAAC;MACftlM,IAAI,EAAEqD,gDAAKA;IADI,CAAD,CAF+H;IAI7ImiM,aAAa,EAAE,CAAC;MAChBxlM,IAAI,EAAEqD,gDAAKA;IADK,CAAD;EAJ8H,CAN7J;AAAA;;AAaA,SAAS6iM,eAAT,CAAyBjyI,IAAzB,EAA+B8uI,MAA/B,EAAuC;EACnC9uI,IAAI,CAACjkD,OAAL,CAAa46B,SAAb,GAAyBm4J,MAAM,CAAC9nL,IAAhC;AACH;;AACD,SAASyqL,WAAT,CAAqB1lM,IAArB,EAA2B;EACvB,OAAOA,IAAI,CAAC,MAAD,CAAJ,IAAgB,OAAOA,IAA9B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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;;AACA,MAAMsI,0BAA0B,GAAG,IAAIvgB,yDAAJ,CAAmB,4BAAnB,CAAnC,EACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMwgB,QAAN,CAAe;EACXroM,WAAW,CAAC0jI,MAAD,EAAS4kE,eAAT,EAA0B;IACjC,KAAK5kE,MAAL,GAAcA,MAAd;IACA,KAAK4kE,eAAL,GAAuBA,eAAvB;EACH;;EACD9zL,SAAS,CAAC/Y,KAAD,EAAQ61L,MAAM,GAAG,YAAjB,EAA+BY,QAA/B,EAAyCxuD,MAAzC,EAAiD;IACtD,IAAIjoI,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA3B,IAAiCA,KAAK,KAAKA,KAA/C,EACI,OAAO,IAAP;;IACJ,IAAI;MACA,OAAOw2L,UAAU,CAACx2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AG;EAC9B;AACJ;AACA;;;EACIwkI,cAAc,CAAC5pI,MAAD,EAAS,CAAG;EAC1B;AACJ;AACA;;;EACIgqI,2BAA2B,CAACC,iBAAD,EAAoB,CAAG;;AAtB3B;AAyB3B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMc,UAAN,CAAiB;AAGjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACl7KA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMa,WAAN,CAAkB;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,WAAN,CAAkB;AAGlB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,WAAN,CAAkB;EACd;EACAttM,WAAW,CAAC61B,OAAD,EAAU;IACjB;AACR;AACA;AACA;IACQ,KAAK03K,eAAL,GAAuB,IAAIl9I,GAAJ,EAAvB;IACA;AACR;AACA;;IACQ,KAAKm9I,UAAL,GAAkB,IAAlB;;IACA,IAAI,CAAC33K,OAAL,EAAc;MACV,KAAKA,OAAL,GAAe,IAAIw6B,GAAJ,EAAf;IACH,CAFD,MAGK,IAAI,OAAOx6B,OAAP,KAAmB,QAAvB,EAAiC;MAClC,KAAK43K,QAAL,GAAgB,MAAM;QAClB,KAAK53K,OAAL,GAAe,IAAIw6B,GAAJ,EAAf;QACAx6B,OAAO,CAACv8B,KAAR,CAAc,IAAd,EAAoBqB,OAApB,CAA4B+oG,IAAI,IAAI;UAChC,MAAM/5F,KAAK,GAAG+5F,IAAI,CAACv2F,OAAL,CAAa,GAAb,CAAd;;UA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,IAA1B,EAAgC;EAC5B,OAAO;IACHA,IADG;IAEH+2B,OAAO,EAAE/+B,OAAO,CAAC++B,OAFd;IAGHtpB,OAAO,EAAEzV,OAAO,CAACyV,OAHd;IAIH6pB,OAAO,EAAEt/B,OAAO,CAACs/B,OAJd;IAKH/qB,MAAM,EAAEvU,OAAO,CAACuU,MALb;IAMH2kM,cAAc,EAAEl5M,OAAO,CAACk5M,cANrB;IAOHnzM,YAAY,EAAE/F,OAAO,CAAC+F,YAPnB;IAQHwtD,eAAe,EAAEvzD,OAAO,CAACuzD;EARtB,CAAP;AAUH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMj2B,UAAN,CAAiB;EACbp0B,WAAW,CAACgwF,OAAD,EAAU;IACjB,KAAKA,OAAL,GAAeA,OAAf;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI75D,OAAO,CAACjoB,KAAD,EAAQuC,GAAR,EAAa3Z,OAAO,GAAG,EAAvB,EAA2B;IAC9B,IAAIi/B,GAAJ,CAD8B,CAE9B;;IACA,IAAI7nB,KAAK,YAAY2hM,WAArB,EAAkC;MAC9B;MACA;MACA95K,GAAG,GAAG7nB,KAAN;IACH,CAJD,MAKK;MACD;MACA;MACA;MACA;MACA,IAAI2nB,OAAO,GAAGnrB,SAAd;;MACA,IAAI5T,OAAO,CAAC++B,OAAR,YAA2By3K,WAA/B,EAA4C;QACxCz3K,OAAO,GAAG/+B,OAAO,CAAC++B,OAAlB;MACH,CAFD,MAGK;QACDA,OAAO,GAAG,IAAIy3K,WAAJ,CAAgBx2M,OA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T,GAAqC;EACjCR,gBAAgB,CAACC,MAAjB,CAAwBM,iBAAxB;AACH;;AACD,SAASE,yBAAT,GAAqC;EACjCT,gBAAgB,CAACC,MAAjB,CAAwBM,iBAAxB;AACH;;AACD,SAASG,kBAAT,GAA8B;EAC1B,OAAOV,gBAAgB,CAACG,eAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASQ,gBAAT,GAA4B;EACxBX,gBAAgB,CAACG,eAAjB,GAAmC,IAAnC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASS,iBAAT,GAA6B;EACzBZ,gBAAgB,CAACG,eAAjB,GAAmC,KAAnC;AACH;AACD;AACA;AACA;;;AACA,SAASU,QAAT,GAAoB;EAChB,OAAOb,gBAAgB,CAACC,MAAjB,CAAwBlF,KAA/B;AACH;AACD;AACA;AACA;;;AACA,SAAS+F,QAAT,GAAoB;EAChB,OAAOd,gBAAgB,CAACC,MAAjB,CAAwB/L,KAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS/zK,aAAT,CAAuB4gL,aAAvB,EAAsC;EAClCf,gBAAgB,CAACC,MAAjB,CAAwBe,YAAxB,GAAuCD,aAAvC;EACA,OAAOA,aAAa,CAAChI,OAAD,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS14K,WAAT,CAAqBnsC,KAArB,EAA4B;EACxB8rN,gBAAgB,CAACC,MAAjB,CAAwBe,YAAxB,GAAuC,IAAvC;EACA,OAAO9sN,KAAP;AACH;;AACD,SAAS+sN,eAAT,GAA2B;EACvB,IAAIC,YAAY,GAAGC,4BAA4B,EAA/C;;EACA,OAAOD,YAAY,KAAK,IAAjB,IAAyBA,YAAY,CAAClsN,IAAb,KAAsB;EAAG;EAAzD,EAAsF;IAClFksN,YAAY,GAAGA,YAAY,CAACr6M,MAA5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AC1hP,KAAD,EAAQmrK,QAAR,EAAkBr0J,UAAlB,CAAxB;EACH,CAFD,MAGK;IACD,MAAMuoO,iBAAiB,CAAC/kB,UAAD,EAAatvN,MAAb,CAAvB;EACH;AACJ;;AACD,SAAS02O,iBAAT,CAA2B1hP,KAA3B,EAAkCmrK,QAAlC,EAA4Cr0J,UAA5C,EAAwD;EACpD,OAAO,IAAIqpO,oBAAJ,CAAyBP,aAAa,CAAC3xO,GAAd,CAAkBjO,KAAlB,CAAzB,EAAmDmrK,QAAnD,EAA6Dr0J,UAA7D,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8qO,SAAS,GAAG,EAAlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,kBAAN,CAAyB;EACrB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACkB,OAAPr9L,OAAO,CAAC3f,SAAD,EAAY;IACtB,OAAOq8M,0BAA0B,CAACr8M,SAAD,CAAjC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EAC2B,OAAhBi9M,gBAAgB,CAACj9M,SAAD,EAAY92B,MAAZ,EAAoB;IACvC,MAAMg0O,2BAA2B,GAAGF,kBAAkB,CAACr9L,OAAnB,CAA2B3f,SAA3B,CAApC;IACA,OAAOg9M,kBAAkB,CAACG,qBAAnB,CAAyCD,2BAAzC,EAAsEh0O,MAAtE,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI2hC,MAAM,GAAG;IACL,KAAK3hC,MAAL,CAAYrU,KAAZ,KAAsB,CAAC;IAAG;IAA1B;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIi2C,QAAQ,GAAG;IACP,KAAK5hC,MAAL,CAAYrU,KAAZ,KAAsB;IAAG;IAAzB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIruL,aAAa,GAAG;IACZyiO,qBAAqB,CAAC,KAAK//B,MAAL,CAAYtU,KAAZ,CAAD,EAAqB,KAAKsU,MAA1B,EAAkC,KAAK/nN,OAAvC,CAArB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACI4pP,cAAc,GAAG;IACb,IAAI31P,SAAJ,EAAe;MACX+zP,sBAAsB,CAAC,KAAKjgC,MAAL,CAAYtU,KAAZ,CAAD,EAAqB,KAAKsU,MAA1B,EAAkC,KAAK/nN,OAAvC,CAAtB;IACH;EACJ;;EACD6pP,wBAAwB,GAAG;IACvB,IAAI,KAAKP,OAAT,EAAkB;MACd,MAAM,IAAIj/C,YAAJ,CAAiB;MAAI;MAArB,EAAmEp2M,SAAS,IAAI,+DAAhF,CAAN;IACH;;IACD,KAAKs1P,wBAAL,GAAgC,IAAhC;EACH;;EACDO,gBAAgB,GAAG;IACf,KAAKR,OAAL,GAAe,IAAf;IACArgB,gBAAgB,CAAC,KAAKlhB,MAAL,CAAYtU,KAAZ,CAAD,EAAqB,KAAKsU,MAA1B,CAAhB;EACH;;EACDgiC,cAAc,CAACC,MAAD,EAAS;IACnB,IAAI,KAAKT,wBAAT,EAAmC;MAC/B,MAAM,IAAIl/C,YAAJ,CAAiB;MAAI;MAArB,EAAmEp2M,SAAS,IAAI,mDAAhF,CAAN;IACH;;IACD,KAAKq1P,OAAL,GAAeU,MAAf;EACH;;AAtQW;AAwQhB;;;AACA,MAAMC,WAAN,SAA0Bb,SAA1B,CAAoC;EAChC31P,WAAW,CAACglM,KAAD,EAAQ;IACf,MAAMA,KAAN;IACA,KAAKA,KAAL,GAAaA,KAAb;EACH;;EACDpzK,aAAa,GAAG;IACZ0iO,uBAAuB,CAAC,KAAKtvD,KAAN,CAAvB;EACH;;EACDmxD,cAAc,GAAG;IACb,IAAI31P,SAAJ,EAAe;MACXg0P,wBAAwB,CAAC,KAAKxvD,KAAN,CAAxB;IACH;EACJ;;EACU,IAAPz4L,OAAO,GAAG;IACV,OAAO,IAAP;EACH;;AAf+B;AAkBpC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM85B,wBAAN,SAAuCwlM,0BAAvC,CAAkE;EAC9D;AACJ;AACA;EACI7rO,WAAW,CAACwrB,QAAD,EAAW;IAClB;IACA,KAAKA,QAAL,GAAgBA,QAAhB;EACH;;EACD2a,uBAAuB,CAACC,SAAD,EAAY;IAC/B5lC,SAAS,IAAIqiN,mBAAmB,CAACz8K,SAAD,CAAhC;IACA,MAAMkoM,YAAY,GAAGvvB,eAAe,CAAC34K,SAAD,CAApC;IACA,OAAO,IAAIqwN,gBAAJ,CAAqBnoB,YAArB,EAAmC,KAAK9iN,QAAxC,CAAP;EACH;;AAZ6D;;AAclE,SAASkrO,UAAT,CAAoBlhP,GAApB,EAAyB;EACrB,MAAMu8E,KAAK,GAAG,EAAd;;EACA,KAAK,IAAI4kK,WAAT,IAAwBnhP,GAAxB,EAA6B;IACzB,IAAIA,GAAG,CAAC/e,cAAJ,CAAmBkgQ,WAAnB,CAAJ,EAAqC;MACjC,MAAMC,QAAQ,GAAGphP,GAAG,CAACmhP,WAAD,CAApB;MACA5kK,KAAK,CAACv3F,IAAN,CAAW;QAAE07N,QAAQ,EAAE0gC,QAAZ;QAAsBC,YAAY,EAAEF;MAApC,CAAX;IACH;EACJ;;EACD,OAAO5kK,KAAP;AACH;;AACD,SAAS+kK,YAAT,CAAsBC,WAAtB,EAAmC;EAC/B,MAAM54P,IAAI,GAAG44P,WAAW,CAACzpP,WAAZ,EAAb;EACA,OAAOnP,IAAI,KAAK,KAAT,GAAiB2nN,aAAjB,GAAkC3nN,IAAI,KAAK,MAAT,GAAkB6nN,iBAAlB,GAAsC,IAA/E;AACH;AACD;AACA;AACA;AACA;;;AACA,MAAMgxC,eAAN,CAAsB;EAClBh3P,WAAW,CAACwgM,QAAD,EAAWE,cAAX,EAA2B;IAClC,KAAKF,QAAL,GAAgBA,QAAhB;IACA,KAAKE,cAAL,GAAsBA,cAAtB;EACH;;EACDpyL,GAAG,CAACjO,KAAD,EAAQi6M,aAAR,EAAuB5iG,KAAvB,EAA8B;IAC7B,MAAMj8G,KAAK,GAAG,KAAK+kM,QAAL,CAAclyL,GAAd,CAAkBjO,KAAlB,EAAyBqsO,qCAAzB,EAAgEh1H,KAAhE,CAAd;;IACA,IAAIj8G,KAAK,KAAKixO,qCAAV,IACApyB,aAAa,KAAKoyB,qCADtB,EAC6D;MACzD;MACA;MACA;MACA;MACA;MACA,OAAOjxO,KAAP;IACH;;IACD,OAAO,KAAKilM,cAAL,CAAoBpyL,GAApB,CAAwBjO,KAAxB,EAA+Bi6M,aAA/B,EAA8C5iG,KAA9C,CAAP;EACH;;AAjBiB;AAmBtB;AACA;AACA;;;AACA,MAAM++I,gBAAN,SAA+BjrB,kBAA/B,CAAkD;EAC9C;AACJ;AACA;AACA;EACIxrO,WAAW,CAACsuO,YAAD,EAAe9iN,QAAf,EAAyB;IAChC;IACA,KAAK8iN,YAAL,GAAoBA,YAApB;IACA,KAAK9iN,QAAL,GAAgBA,QAAhB;IACA,KAAKyrO,aAAL,GAAqB3oB,YAAY,CAAC/xO,IAAlC;IACA,KAAK2H,QAAL,GAAgBg5O,wBAAwB,CAAC5O,YAAY,CAAChrO,SAAd,CAAxC;IACA,KAAKE,kBAAL,GACI8qO,YAAY,CAAC9qO,kBAAb,GAAkC8qO,YAAY,CAAC9qO,kBAA/C,GAAoE,EADxE;IAEA,KAAK0zP,eAAL,GAAuB,CAAC,CAAC1rO,QAAzB;EACH;;EACS,IAANjoB,MAAM,GAAG;IACT,OAAOmzP,UAAU,CAAC,KAAKpoB,YAAL,CAAkB/qO,MAAnB,CAAjB;EACH;;EACU,IAAP0uB,OAAO,GAAG;IACV,OAAOykO,UAAU,CAAC,KAAKpoB,YAAL,CAAkBr8M,OAAnB,CAAjB;EACH;;EACD1H,MAAM,CAACi2K,QAAD,EAAWO,gBAAX,EAA6Bo2D,kBAA7B,EAAiDC,mBAAjD,EAAsE;IACxEA,mBAAmB,GAAGA,mBAAmB,IAAI,KAAK5rO,QAAlD;IACA,IAAI6rO,uBAAuB,GAAGD,mBAAmB,YAAY7tB,mBAA/B,GAC1B6tB,mBAD0B,GAE1BA,mBAAmB,EAAE52D,QAFzB;;IAGA,IAAI62D,uBAAuB,IAAI,KAAK/oB,YAAL,CAAkBpwB,qBAAlB,KAA4C,IAA3E,EAAiF;MAC7Em5C,uBAAuB,GAAG,KAAK/oB,YAAL,CAAkBpwB,qBAAlB,CAAwCm5C,uBAAxC,KACtBA,uBADJ;IAEH;;IACD,MAAMC,gBAAgB,GAAGD,uBAAuB,GAAG,IAAIL,eAAJ,CAAoBx2D,QAApB,EAA8B62D,uBAA9B,CAAH,GAA4D72D,QAA5G;IACA,MAAM+pD,eAAe,GAAG+M,gBAAgB,CAAChpP,GAAjB,CAAqB69N,gBAArB,EAAuC,IAAvC,CAAxB;;IACA,IAAIoe,eAAe,KAAK,IAAxB,EAA8B;MAC1B,MAAM,IAAI3zC,YAAJ,CAAiB;MAAI;MAArB,EAAgEp2M,SAAS,IAC3E,mEACI,+CADJ,GAEI,iFAHF,CAAN;IAIH;;IACD,MAAMmlO,SAAS,GAAG2xB,gBAAgB,CAAChpP,GAAjB,CAAqBg+N,SAArB,EAAgC,IAAhC,CAAlB;IACA,MAAMirB,YAAY,GAAGhN,eAAe,CAACsI,cAAhB,CAA+B,IAA/B,EAAqC,KAAKvkB,YAA1C,CAArB,CAlBwE,CAmBxE;IACA;;IACA,MAAMyoB,WAAW,GAAG,KAAKzoB,YAAL,CAAkBhrO,SAAlB,CAA4B,CAA5B,EAA+B,CAA/B,KAAqC,KAAzD;IACA,MAAMk0P,SAAS,GAAGL,kBAAkB,GAChCpI,iBAAiB,CAACwI,YAAD,EAAeJ,kBAAf,EAAmC,KAAK7oB,YAAL,CAAkBrqO,aAArD,CADe,GAEhCkxO,iBAAiB,CAACoV,eAAe,CAACsI,cAAhB,CAA+B,IAA/B,EAAqC,KAAKvkB,YAA1C,CAAD,EAA0DyoB,WAA1D,EAAuED,YAAY,CAACC,WAAD,CAAnF,CAFrB;IAGA,MAAMU,SAAS,GAAG,KAAKnpB,YAAL,CAAkBzwB,MAAlB,GAA2B;IAAG;IAAH,EAA4B;IAAI;IAA3D,EACd;IAAG;IAAH,EAAkC;IAAI;IAD1C;IAEA,MAAMk2C,WAAW,GAAG2D,iBAAiB,EAArC,CA3BwE,CA4BxE;;IACA,MAAMC,SAAS,GAAGjJ,WAAW,CAAC;IAAE;IAAH,EAAyB,IAAzB,EAA+B,IAA/B,EAAqC,CAArC,EAAwC,CAAxC,EAA2C,IAA3C,EAAiD,IAAjD,EAAuD,IAAvD,EAA6D,IAA7D,EAAmE,IAAnE,CAA7B;IACA,MAAMkJ,SAAS,GAAGhL,WAAW,CAAC,IAAD,EAAO+K,SAAP,EAAkB5D,WAAlB,EAA+B0D,SAA/B,EAA0C,IAA1C,EAAgD,IAAhD,EAAsDlN,eAAtD,EAAuEgN,YAAvE,EAAqF5xB,SAArF,EAAgG2xB,gBAAhG,EAAkH,IAAlH,CAA7B,CA9BwE,CA+BxE;IACA;IACA;IACA;IACA;;IACA1sC,SAAS,CAACgtC,SAAD,CAAT;IACA,IAAIxxN,SAAJ;IACA,IAAIyxN,YAAJ;;IACA,IAAI;MACA,MAAMvmB,aAAa,GAAGwmB,uBAAuB,CAACN,SAAD,EAAY,KAAKlpB,YAAjB,EAA+BspB,SAA/B,EAA0CrN,eAA1C,EAA2DgN,YAA3D,CAA7C;;MACA,IAAIC,SAAJ,EAAe;QACX,IAAIL,kBAAJ,EAAwB;UACpBloC,eAAe,CAACsoC,YAAD,EAAeC,SAAf,EAA0B,CAAC,YAAD,EAAe3sD,OAAO,CAAC0hC,IAAvB,CAA1B,CAAf;QACH,CAFD,MAGK;UACD;UACA;UACA;UACA,MAAM;YAAE99N,KAAF;YAASqjN;UAAT,IAAqBsrB,kCAAkC,CAAC,KAAK9O,YAAL,CAAkBhrO,SAAlB,CAA4B,CAA5B,CAAD,CAA7D;;UACA,IAAImL,KAAJ,EAAW;YACPwgN,eAAe,CAACsoC,YAAD,EAAeC,SAAf,EAA0B/oP,KAA1B,CAAf;UACH;;UACD,IAAIqjN,OAAO,IAAIA,OAAO,CAACx7N,MAAR,GAAiB,CAAhC,EAAmC;YAC/BokP,gBAAgB,CAAC6c,YAAD,EAAeC,SAAf,EAA0B1lC,OAAO,CAAC5qM,IAAR,CAAa,GAAb,CAA1B,CAAhB;UACH;QACJ;MACJ;;MACD2wO,YAAY,GAAGnxC,QAAQ,CAACixC,SAAD,EAAYv2C,aAAZ,CAAvB;;MACA,IAAIrgB,gBAAgB,KAAKr2L,SAAzB,EAAoC;QAChC,MAAM05M,UAAU,GAAGyzC,YAAY,CAACzzC,UAAb,GAA0B,EAA7C;;QACA,KAAK,IAAIluN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKsN,kBAAL,CAAwBlN,MAA5C,EAAoDJ,CAAC,EAArD,EAAyD;UACrD,MAAM6hQ,YAAY,GAAGh3D,gBAAgB,CAAC7qM,CAAD,CAArC,CADqD,CAErD;UACA;UACA;UACA;UACA;;UACAkuN,UAAU,CAAC5pN,IAAX,CAAgBu9P,YAAY,IAAI,IAAhB,GAAuB9yP,KAAK,CAACkoB,IAAN,CAAW4qO,YAAX,CAAvB,GAAkD,IAAlE;QACH;MACJ,CA/BD,CAgCA;MACA;MACA;;;MACA3xN,SAAS,GAAG4xN,mBAAmB,CAAC1mB,aAAD,EAAgB,KAAKhD,YAArB,EAAmCspB,SAAnC,EAA8C7D,WAA9C,EAA2D,CAACkE,qBAAD,CAA3D,CAA/B;MACAh8H,UAAU,CAAC07H,SAAD,EAAYC,SAAZ,EAAuB,IAAvB,CAAV;IACH,CArCD,SAsCQ;MACJvsC,SAAS;IACZ;;IACD,OAAO,IAAI6sC,YAAJ,CAAiB,KAAKjB,aAAtB,EAAqC7wN,SAArC,EAAgD4lM,gBAAgB,CAAC6rB,YAAD,EAAeD,SAAf,CAAhE,EAA2FA,SAA3F,EAAsGC,YAAtG,CAAP;EACH;;AAtG6C;;AAwGlD,MAAMM,wBAAwB,GAAG,IAAI9xN,wBAAJ,EAAjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS+xN,8BAAT,GAA0C;EACtC,OAAOD,wBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMD,YAAN,SAA2B3sB,cAA3B,CAA0C;EACtCvrO,WAAW,CAACi3P,aAAD,EAAgBz9O,QAAhB,EAA0Bhb,QAA1B,EAAoC65P,UAApC,EAAgDhkC,MAAhD,EAAwD;IAC/D;IACA,KAAK71N,QAAL,GAAgBA,QAAhB;IACA,KAAK65P,UAAL,GAAkBA,UAAlB;IACA,KAAKhkC,MAAL,GAAcA,MAAd;IACA,KAAK76M,QAAL,GAAgBA,QAAhB;IACA,KAAKssB,QAAL,GAAgB,KAAKwyN,iBAAL,GAAyB,IAAI9B,WAAJ,CAAgB6B,UAAhB,CAAzC;IACA,KAAKpB,aAAL,GAAqBA,aAArB;EACH;;EACD54C,QAAQ,CAAClgN,IAAD,EAAO1C,KAAP,EAAc;IAClB,MAAM+0P,SAAS,GAAG,KAAKn8B,MAAL,CAAY9wN,MAA9B;IACA,IAAIktP,SAAJ;;IACA,IAAID,SAAS,KAAK,IAAd,KAAuBC,SAAS,GAAGD,SAAS,CAACryP,IAAD,CAA5C,CAAJ,EAAyD;MACrD,MAAMmkN,KAAK,GAAG,KAAK+1C,UAAnB;MACA3H,oBAAoB,CAACpuC,KAAK,CAACtC,KAAD,CAAN,EAAesC,KAAf,EAAsBmuC,SAAtB,EAAiCtyP,IAAjC,EAAuC1C,KAAvC,CAApB;MACAk1P,iBAAiB,CAACruC,KAAD,EAAQ,KAAK+R,MAAL,CAAY1qN,KAApB,CAAjB;IACH,CAJD,MAKK;MACD,IAAInJ,SAAJ,EAAe;QACX,MAAM+3P,eAAe,GAAGthD,iBAAiB,CAAC,KAAKggD,aAAN,CAAzC;QACA,IAAIv4M,OAAO,GAAI,2BAA0BvgD,IAAK,mBAAkBo6P,eAAgB,eAAhF;QACA75M,OAAO,IAAK,uBAAsBvgD,IAAK,6DAA4DA,IAAK,YAAxG;QACAgwO,0BAA0B,CAACzvL,OAAD,CAA1B;MACH;IACJ;EACJ;;EACW,IAAR8hJ,QAAQ,GAAG;IACX,OAAO,IAAI4zB,YAAJ,CAAiB,KAAKC,MAAtB,EAA8B,KAAKgkC,UAAnC,CAAP;EACH;;EACDx1P,OAAO,GAAG;IACN,KAAKijC,QAAL,CAAcjjC,OAAd;EACH;;EACDkjC,SAAS,CAAChtC,QAAD,EAAW;IAChB,KAAK+sC,QAAL,CAAcC,SAAd,CAAwBhtC,QAAxB;EACH;;AAnCqC,EAqC1C;;;AACA,MAAMy/P,aAAa,GAAG;EAClBlqP,GAAG,EAAE,CAACjO,KAAD,EAAQi6M,aAAR,KAA0B;IAC3B5C,0BAA0B,CAACr3M,KAAD,EAAQ,cAAR,CAA1B;EACH;AAHiB,CAAtB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASy3P,uBAAT,CAAiCrjB,KAAjC,EAAwCzrE,GAAxC,EAA6CgrE,QAA7C,EAAuDuW,eAAvD,EAAwEgN,YAAxE,EAAsF5xB,SAAtF,EAAiG;EAC7F,MAAMlqB,KAAK,GAAGu4B,QAAQ,CAACh0B,KAAD,CAAtB;EACA,MAAMr2M,KAAK,GAAGy3M,aAAd;EACA5gN,SAAS,IAAIy4M,kBAAkB,CAAC+6B,QAAD,EAAWrqO,KAAX,CAA/B;EACAqqO,QAAQ,CAACrqO,KAAD,CAAR,GAAkB8qO,KAAlB,CAJ6F,CAK7F;EACA;EACA;;EACA,MAAMj5B,KAAK,GAAGsxC,gBAAgB,CAACrxC,KAAD,EAAQ9xM,KAAR,EAAe;EAAE;EAAjB,EAA0C,OAA1C,EAAmD,IAAnD,CAA9B;EACA,MAAMq9O,WAAW,GAAGxrC,KAAK,CAACwrC,WAAN,GAAoBh+E,GAAG,CAAC40C,SAA5C;;EACA,IAAIopC,WAAW,KAAK,IAApB,EAA0B;IACtBmO,oBAAoB,CAAC35C,KAAD,EAAQwrC,WAAR,EAAqB,IAArB,CAApB;;IACA,IAAIvS,KAAK,KAAK,IAAd,EAAoB;MAChBxlB,eAAe,CAACsoC,YAAD,EAAe9iB,KAAf,EAAsBuS,WAAtB,CAAf;;MACA,IAAIxrC,KAAK,CAACsW,OAAN,KAAkB,IAAtB,EAA4B;QACxB4oB,gBAAgB,CAAC6c,YAAD,EAAe9iB,KAAf,EAAsBj5B,KAAK,CAACsW,OAA5B,CAAhB;MACH;;MACD,IAAItW,KAAK,CAACr3M,MAAN,KAAiB,IAArB,EAA2B;QACvBs2O,gBAAgB,CAAC8c,YAAD,EAAe9iB,KAAf,EAAsBj5B,KAAK,CAACr3M,MAA5B,CAAhB;MACH;IACJ;EACJ;;EACD,MAAMs0P,YAAY,GAAGlO,eAAe,CAACsI,cAAhB,CAA+Bpe,KAA/B,EAAsCzrE,GAAtC,CAArB;EACA,MAAMsoE,aAAa,GAAGsb,WAAW,CAAC5Y,QAAD,EAAWya,yBAAyB,CAACzlF,GAAD,CAApC,EAA2C,IAA3C,EAAiDA,GAAG,CAAC60C,MAAJ,GAAa;EAAG;EAAhB,EAAyC;EAAG;EAA7F,EAA2Hm2B,QAAQ,CAACrqO,KAAD,CAAnI,EAA4I6xM,KAA5I,EAAmJ+uC,eAAnJ,EAAoKkO,YAApK,EAAkL9yB,SAAS,IAAI,IAA/L,EAAqM,IAArM,EAA2M,IAA3M,CAAjC;;EACA,IAAIlqB,KAAK,CAACF,eAAV,EAA2B;IACvBoW,kBAAkB,CAACb,8BAA8B,CAACtV,KAAD,EAAQw4B,QAAR,CAA/B,EAAkDv4B,KAAlD,EAAyDzyC,GAAG,CAACzsK,IAA7D,CAAlB;IACAg2P,mBAAmB,CAAC92C,KAAD,EAAQD,KAAR,CAAnB;IACAg2C,cAAc,CAACh2C,KAAD,EAAQw4B,QAAQ,CAAC19O,MAAjB,EAAyB,CAAzB,CAAd;EACH;;EACDs8P,aAAa,CAAC5e,QAAD,EAAW1C,aAAX,CAAb,CA7B6F,CA8B7F;;EACA,OAAO0C,QAAQ,CAACrqO,KAAD,CAAR,GAAkB2nO,aAAzB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS0mB,mBAAT,CAA6B1mB,aAA7B,EAA4ChD,YAA5C,EAA0DspB,SAA1D,EAAqE7D,WAArE,EAAkF2E,YAAlF,EAAgG;EAC5F,MAAMj9C,KAAK,GAAGm8C,SAAS,CAAC53C,KAAD,CAAvB,CAD4F,CAE5F;;EACA,MAAM55K,SAAS,GAAG6qN,wBAAwB,CAACx1C,KAAD,EAAQm8C,SAAR,EAAmBtpB,YAAnB,CAA1C;EACAylB,WAAW,CAAC/tJ,UAAZ,CAAuBxrG,IAAvB,CAA4B4rC,SAA5B;EACAkrM,aAAa,CAAChxB,OAAD,CAAb,GAAyBl6K,SAAzB;;EACA,IAAIsyN,YAAY,KAAK,IAArB,EAA2B;IACvB,KAAK,MAAMn6C,OAAX,IAAsBm6C,YAAtB,EAAoC;MAChCn6C,OAAO,CAACn4K,SAAD,EAAYkoM,YAAZ,CAAP;IACH;EACJ,CAV2F,CAW5F;EACA;;;EACA,IAAIA,YAAY,CAACr/M,cAAjB,EAAiC;IAC7B,MAAMusL,KAAK,GAAGgN,eAAe,EAA7B;IACAhoN,SAAS,IAAIs4M,aAAa,CAAC0C,KAAD,EAAQ,gBAAR,CAA1B;IACA8yB,YAAY,CAACr/M,cAAb,CAA4B;IAAE;IAA9B,EAAwDmX,SAAxD,EAAmEo1K,KAAK,CAACiR,cAAzE;EACH;;EACD,MAAMykC,SAAS,GAAG1oC,eAAe,EAAjC;EACAhoN,SAAS,IAAIs4M,aAAa,CAACo4C,SAAD,EAAY,wCAAZ,CAA1B;;EACA,IAAIz1C,KAAK,CAACF,eAAN,KACC+yB,YAAY,CAACh7M,YAAb,KAA8B,IAA9B,IAAsCg7M,YAAY,CAAC1wB,SAAb,KAA2B,IADlE,CAAJ,EAC6E;IACzE+N,gBAAgB,CAACulC,SAAS,CAACvnP,KAAX,CAAhB;IACA,MAAMguP,SAAS,GAAGC,SAAS,CAAC53C,KAAD,CAA3B;IACA8xC,0BAA0B,CAAC6F,SAAD,EAAYzG,SAAZ,EAAuB0G,SAAvB,EAAkC1G,SAAS,CAACzkC,cAA5C,EAA4DykC,SAAS,CAACxkC,YAAtE,EAAoF4hB,YAApF,CAA1B;IACA+jB,gCAAgC,CAAC/jB,YAAD,EAAeloM,SAAf,CAAhC;EACH;;EACD,OAAOA,SAAP;AACH;;AACD,SAASsxN,iBAAT,CAA2Bt1G,SAA3B,EAAsC+xG,aAAtC,EAAqD;EACjD,OAAO;IACHnuJ,UAAU,EAAE,EADT;IAEHo8C,SAAS,EAAEA,SAAS,IAAI+vF,gBAFrB;IAGH8hB,KAAK,EAAEa,aAHJ;IAIHX,aAAa,EAAEA,aAAa,IAAI,IAJ7B;IAKHz8I,KAAK,EAAE;IAAE;;EALN,CAAP;AAOH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASugJ,qBAAT,GAAiC;EAC7B,MAAMz8C,KAAK,GAAGgN,eAAe,EAA7B;EACAhoN,SAAS,IAAIs4M,aAAa,CAAC0C,KAAD,EAAQ,mBAAR,CAA1B;EACAgR,sBAAsB,CAACpE,QAAQ,GAAGpI,KAAH,CAAT,EAAoBxE,KAApB,CAAtB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASm9C,YAAT,CAAsBvyN,SAAtB,EAAiC;EAC7B,OAAO0tM,cAAc,CAAC1tM,SAAD,CAAd,CAA0B6tN,KAAjC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2E,YAAT,CAAsBr8P,IAAtB,EAA4B;EACxB,OAAOxG,MAAM,CAAC23E,cAAP,CAAsBnxE,IAAI,CAAC/F,SAA3B,EAAsCwJ,WAA7C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS64P,0BAAT,CAAoC9zC,UAApC,EAAgD;EAC5C,IAAI+zC,SAAS,GAAGF,YAAY,CAAC7zC,UAAU,CAACxoN,IAAZ,CAA5B;EACA,IAAIw8P,mBAAmB,GAAG,IAA1B;EACA,MAAMC,gBAAgB,GAAG,CAACj0C,UAAD,CAAzB;;EACA,OAAO+zC,SAAP,EAAkB;IACd,IAAIG,QAAQ,GAAGvuP,SAAf;;IACA,IAAIy3M,cAAc,CAAC4C,UAAD,CAAlB,EAAgC;MAC5B;MACAk0C,QAAQ,GAAGH,SAAS,CAAC11P,IAAV,IAAkB01P,SAAS,CAAClrO,IAAvC;IACH,CAHD,MAIK;MACD,IAAIkrO,SAAS,CAAC11P,IAAd,EAAoB;QAChB,MAAM,IAAIwzM,YAAJ,CAAiB;QAAI;QAArB,EAAiEp2M,SAAS,IAC3E,mDAAkDy2M,iBAAiB,CAAC8N,UAAU,CAACxoN,IAAZ,CAAkB,sCAAqC06M,iBAAiB,CAAC6hD,SAAD,CAAY,EADtJ,CAAN;MAEH,CAJA,CAKD;;;MACAG,QAAQ,GAAGH,SAAS,CAAClrO,IAArB;IACH;;IACD,IAAIqrO,QAAJ,EAAc;MACV,IAAIF,mBAAJ,EAAyB;QACrBC,gBAAgB,CAACx+P,IAAjB,CAAsBy+P,QAAtB,EADqB,CAErB;QACA;;QACA,MAAMC,YAAY,GAAGn0C,UAArB;QACAm0C,YAAY,CAAC31P,MAAb,GAAsB41P,gBAAgB,CAACp0C,UAAU,CAACxhN,MAAZ,CAAtC;QACA21P,YAAY,CAACx7C,cAAb,GAA8By7C,gBAAgB,CAACp0C,UAAU,CAACrH,cAAZ,CAA9C;QACAw7C,YAAY,CAACjnO,OAAb,GAAuBknO,gBAAgB,CAACp0C,UAAU,CAAC9yL,OAAZ,CAAvC,CAPqB,CAQrB;;QACA,MAAMmnO,iBAAiB,GAAGH,QAAQ,CAAC3lO,YAAnC;QACA8lO,iBAAiB,IAAIC,mBAAmB,CAACt0C,UAAD,EAAaq0C,iBAAb,CAAxC,CAVqB,CAWrB;;QACA,MAAME,cAAc,GAAGL,QAAQ,CAACr1N,SAAhC;QACA,MAAM21N,mBAAmB,GAAGN,QAAQ,CAAChqO,cAArC;QACAqqO,cAAc,IAAIE,gBAAgB,CAACz0C,UAAD,EAAau0C,cAAb,CAAlC;QACAC,mBAAmB,IAAIE,qBAAqB,CAAC10C,UAAD,EAAaw0C,mBAAb,CAA5C,CAfqB,CAgBrB;;QACAtjD,cAAc,CAAC8O,UAAU,CAACxhN,MAAZ,EAAoB01P,QAAQ,CAAC11P,MAA7B,CAAd;QACA0yM,cAAc,CAAC8O,UAAU,CAACrH,cAAZ,EAA4Bu7C,QAAQ,CAACv7C,cAArC,CAAd;QACAzH,cAAc,CAAC8O,UAAU,CAAC9yL,OAAZ,EAAqBgnO,QAAQ,CAAChnO,OAA9B,CAAd,CAnBqB,CAoBrB;QACA;;QACA,IAAIkwL,cAAc,CAAC82C,QAAD,CAAd,IAA4BA,QAAQ,CAAC7+N,IAAT,CAAc2+H,SAA9C,EAAyD;UACrD;UACA;UACA,MAAM2gG,OAAO,GAAG30C,UAAU,CAAC3qL,IAA3B;UACAs/N,OAAO,CAAC3gG,SAAR,GAAoB,CAAC2gG,OAAO,CAAC3gG,SAAR,IAAqB,EAAtB,EAA0Bj9J,MAA1B,CAAiCm9P,QAAQ,CAAC7+N,IAAT,CAAc2+H,SAA/C,CAApB;QACH;MACJ,CA7BS,CA8BV;;;MACA,MAAMolD,QAAQ,GAAG86C,QAAQ,CAAC96C,QAA1B;;MACA,IAAIA,QAAJ,EAAc;QACV,KAAK,IAAIjoN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGioN,QAAQ,CAAC7nN,MAA7B,EAAqCJ,CAAC,EAAtC,EAA0C;UACtC,MAAMqoN,OAAO,GAAGJ,QAAQ,CAACjoN,CAAD,CAAxB;;UACA,IAAIqoN,OAAO,IAAIA,OAAO,CAAC2G,SAAvB,EAAkC;YAC9B3G,OAAO,CAACwG,UAAD,CAAP;UACH,CAJqC,CAKtC;UACA;UACA;UACA;UACA;UACA;UACA;;;UACA,IAAIxG,OAAO,KAAKs6C,0BAAhB,EAA4C;YACxCE,mBAAmB,GAAG,KAAtB;UACH;QACJ;MACJ;IACJ;;IACDD,SAAS,GAAG/iQ,MAAM,CAAC23E,cAAP,CAAsBorL,SAAtB,CAAZ;EACH;;EACDa,+BAA+B,CAACX,gBAAD,CAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASW,+BAAT,CAAyCX,gBAAzC,EAA2D;EACvD,IAAI/9N,QAAQ,GAAG,CAAf;EACA,IAAI2iL,SAAS,GAAG,IAAhB,CAFuD,CAGvD;;EACA,KAAK,IAAI1nN,CAAC,GAAG8iQ,gBAAgB,CAAC1iQ,MAAjB,GAA0B,CAAvC,EAA0CJ,CAAC,IAAI,CAA/C,EAAkDA,CAAC,EAAnD,EAAuD;IACnD,MAAM8yK,GAAG,GAAGgwF,gBAAgB,CAAC9iQ,CAAD,CAA5B,CADmD,CAEnD;;IACA8yK,GAAG,CAAC/tI,QAAJ,GAAgBA,QAAQ,IAAI+tI,GAAG,CAAC/tI,QAAhC,CAHmD,CAInD;;IACA+tI,GAAG,CAAC40C,SAAJ,GACI4R,cAAc,CAACxmD,GAAG,CAAC40C,SAAL,EAAgBA,SAAS,GAAG4R,cAAc,CAAC5R,SAAD,EAAY50C,GAAG,CAAC40C,SAAhB,CAA1C,CADlB;EAEH;AACJ;;AACD,SAASu7C,gBAAT,CAA0B19P,KAA1B,EAAiC;EAC7B,IAAIA,KAAK,KAAKshN,SAAd,EAAyB;IACrB,OAAO,EAAP;EACH,CAFD,MAGK,IAAIthN,KAAK,KAAKuhN,WAAd,EAA2B;IAC5B,OAAO,EAAP;EACH,CAFI,MAGA;IACD,OAAOvhN,KAAP;EACH;AACJ;;AACD,SAAS+9P,gBAAT,CAA0Bz0C,UAA1B,EAAsCu0C,cAAtC,EAAsD;EAClD,MAAMM,aAAa,GAAG70C,UAAU,CAACnhL,SAAjC;;EACA,IAAIg2N,aAAJ,EAAmB;IACf70C,UAAU,CAACnhL,SAAX,GAAuB,CAAC//B,EAAD,EAAKC,GAAL,KAAa;MAChCw1P,cAAc,CAACz1P,EAAD,EAAKC,GAAL,CAAd;MACA81P,aAAa,CAAC/1P,EAAD,EAAKC,GAAL,CAAb;IACH,CAHD;EAIH,CALD,MAMK;IACDihN,UAAU,CAACnhL,SAAX,GAAuB01N,cAAvB;EACH;AACJ;;AACD,SAASG,qBAAT,CAA+B10C,UAA/B,EAA2Cw0C,mBAA3C,EAAgE;EAC5D,MAAMM,kBAAkB,GAAG90C,UAAU,CAAC91L,cAAtC;;EACA,IAAI4qO,kBAAJ,EAAwB;IACpB90C,UAAU,CAAC91L,cAAX,GAA4B,CAACprB,EAAD,EAAKC,GAAL,EAAUqoN,cAAV,KAA6B;MACrDotC,mBAAmB,CAAC11P,EAAD,EAAKC,GAAL,EAAUqoN,cAAV,CAAnB;MACA0tC,kBAAkB,CAACh2P,EAAD,EAAKC,GAAL,EAAUqoN,cAAV,CAAlB;IACH,CAHD;EAIH,CALD,MAMK;IACDpH,UAAU,CAAC91L,cAAX,GAA4BsqO,mBAA5B;EACH;AACJ;;AACD,SAASF,mBAAT,CAA6Bt0C,UAA7B,EAAyCq0C,iBAAzC,EAA4D;EACxD,MAAMU,gBAAgB,GAAG/0C,UAAU,CAACzxL,YAApC;;EACA,IAAIwmO,gBAAJ,EAAsB;IAClB/0C,UAAU,CAACzxL,YAAX,GAA0B,CAACzvB,EAAD,EAAKC,GAAL,KAAa;MACnCs1P,iBAAiB,CAACv1P,EAAD,EAAKC,GAAL,CAAjB;MACAg2P,gBAAgB,CAACj2P,EAAD,EAAKC,GAAL,CAAhB;IACH,CAHD;EAIH,CALD,MAMK;IACDihN,UAAU,CAACzxL,YAAX,GAA0B8lO,iBAA1B;EACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMW,qBAAqB,GAAG,CAC1B;AACA,mBAF0B,CAG1B;AACA;AAJ0B,CAA9B;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,qBAAqB,GAAG,CAC1B;AACA;AACA,UAH0B,EAI1B,OAJ0B,EAK1B,QAL0B,EAM1B,MAN0B,EAO1B,QAP0B,EAQ1B,oBAR0B,EAS1B;AACA,QAV0B,EAW1B,eAX0B,EAY1B;AACA,SAb0B,CAA9B;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,uBAAT,CAAiCl1C,UAAjC,EAA6C;EACzC,IAAI+zC,SAAS,GAAGF,YAAY,CAAC7zC,UAAU,CAACxoN,IAAZ,CAA5B;EACA,IAAI08P,QAAQ,GAAGvuP,SAAf;;EACA,IAAIy3M,cAAc,CAAC4C,UAAD,CAAlB,EAAgC;IAC5B;IACAk0C,QAAQ,GAAGH,SAAS,CAAC11P,IAArB;EACH,CAHD,MAIK;IACD;IACA61P,QAAQ,GAAGH,SAAS,CAAClrO,IAArB;EACH,CAVwC,CAWzC;;;EACA,MAAMssO,MAAM,GAAGn1C,UAAf,CAZyC,CAazC;;EACA,KAAK,MAAM3nH,KAAX,IAAoB28J,qBAApB,EAA2C;IACvCG,MAAM,CAAC98J,KAAD,CAAN,GAAgB67J,QAAQ,CAAC77J,KAAD,CAAxB;EACH;;EACD,IAAI+kH,cAAc,CAAC82C,QAAD,CAAlB,EAA8B;IAC1B;IACA,KAAK,MAAM77J,KAAX,IAAoB48J,qBAApB,EAA2C;MACvCE,MAAM,CAAC98J,KAAD,CAAN,GAAgB67J,QAAQ,CAAC77J,KAAD,CAAxB;IACH;EACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAI+8J,eAAe,GAAG,IAAtB;;AACA,SAASvlG,iBAAT,GAA6B;EACzB,IAAI,CAACulG,eAAL,EAAsB;IAClB,MAAM/lI,MAAM,GAAG6mF,OAAO,CAAC,QAAD,CAAtB;;IACA,IAAI7mF,MAAM,IAAIA,MAAM,CAACC,QAArB,EAA+B;MAC3B8lI,eAAe,GAAG/lI,MAAM,CAACC,QAAzB;IACH,CAFD,MAGK;MACD;MACA,MAAMjkH,IAAI,GAAGra,MAAM,CAACqkQ,mBAAP,CAA2B/pM,GAAG,CAAC75D,SAA/B,CAAb;;MACA,KAAK,IAAIN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGka,IAAI,CAAC9Z,MAAzB,EAAiC,EAAEJ,CAAnC,EAAsC;QAClC,MAAMwf,GAAG,GAAGtF,IAAI,CAACla,CAAD,CAAhB;;QACA,IAAIwf,GAAG,KAAK,SAAR,IAAqBA,GAAG,KAAK,MAA7B,IACA26C,GAAG,CAAC75D,SAAJ,CAAckf,GAAd,MAAuB26C,GAAG,CAAC75D,SAAJ,CAAc,SAAd,CAD3B,EACqD;UACjD2jQ,eAAe,GAAGzkP,GAAlB;QACH;MACJ;IACJ;EACJ;;EACD,OAAOykP,eAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASjnG,UAAT,CAAoBlsI,GAApB,EAAyB;EACrB,OAAOA,GAAG,KAAK,IAAR,IAAgB,OAAOA,GAAP,KAAe,QAA/B,IAA2CA,GAAG,CAAC4tI,iBAAiB,EAAlB,CAAH,KAA6BlqJ,SAA/E;AACH;;AACD,SAAS2vP,kBAAT,CAA4BrzO,GAA5B,EAAiC;EAC7B,IAAI,CAACszO,UAAU,CAACtzO,GAAD,CAAf,EACI,OAAO,KAAP;EACJ,OAAO/hB,KAAK,CAACgL,OAAN,CAAc+W,GAAd,KACF,EAAEA,GAAG,YAAYqpC,GAAjB,KAAyB;EACtBukG,iBAAiB,MAAM5tI,GAF/B,CAH6B,CAKQ;AACxC;;AACD,SAASuzO,iBAAT,CAA2BhkQ,CAA3B,EAA8BwF,CAA9B,EAAiCy+P,UAAjC,EAA6C;EACzC,MAAMC,SAAS,GAAGlkQ,CAAC,CAACq+J,iBAAiB,EAAlB,CAAD,EAAlB;EACA,MAAM8lG,SAAS,GAAG3+P,CAAC,CAAC64J,iBAAiB,EAAlB,CAAD,EAAlB;;EACA,OAAO,IAAP,EAAa;IACT,MAAM+lG,KAAK,GAAGF,SAAS,CAACnhO,IAAV,EAAd;IACA,MAAMshO,KAAK,GAAGF,SAAS,CAACphO,IAAV,EAAd;IACA,IAAIqhO,KAAK,CAACzlM,IAAN,IAAc0lM,KAAK,CAAC1lM,IAAxB,EACI,OAAO,IAAP;IACJ,IAAIylM,KAAK,CAACzlM,IAAN,IAAc0lM,KAAK,CAAC1lM,IAAxB,EACI,OAAO,KAAP;IACJ,IAAI,CAACslM,UAAU,CAACG,KAAK,CAACl/P,KAAP,EAAcm/P,KAAK,CAACn/P,KAApB,CAAf,EACI,OAAO,KAAP;EACP;AACJ;;AACD,SAASo/P,eAAT,CAAyB7zO,GAAzB,EAA8B2oF,EAA9B,EAAkC;EAC9B,IAAI1qG,KAAK,CAACgL,OAAN,CAAc+W,GAAd,CAAJ,EAAwB;IACpB,KAAK,IAAI9wB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8wB,GAAG,CAAC1wB,MAAxB,EAAgCJ,CAAC,EAAjC,EAAqC;MACjCy5G,EAAE,CAAC3oF,GAAG,CAAC9wB,CAAD,CAAJ,CAAF;IACH;EACJ,CAJD,MAKK;IACD,MAAMm+H,QAAQ,GAAGrtG,GAAG,CAAC4tI,iBAAiB,EAAlB,CAAH,EAAjB;IACA,IAAIp9I,IAAJ;;IACA,OAAO,CAAE,CAACA,IAAI,GAAG68G,QAAQ,CAAC/6F,IAAT,EAAR,EAAyB47B,IAAlC,EAAyC;MACrCy6C,EAAE,CAACn4F,IAAI,CAAC/b,KAAN,CAAF;IACH;EACJ;AACJ;;AACD,SAAS6+P,UAAT,CAAoBjhQ,CAApB,EAAuB;EACnB,OAAOA,CAAC,KAAK,IAAN,KAAe,OAAOA,CAAP,KAAa,UAAb,IAA2B,OAAOA,CAAP,KAAa,QAAvD,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyhQ,YAAT,CAAsBvkQ,CAAtB,EAAyBwF,CAAzB,EAA4B;EACxB,MAAMg/P,mBAAmB,GAAGV,kBAAkB,CAAC9jQ,CAAD,CAA9C;EACA,MAAMykQ,mBAAmB,GAAGX,kBAAkB,CAACt+P,CAAD,CAA9C;;EACA,IAAIg/P,mBAAmB,IAAIC,mBAA3B,EAAgD;IAC5C,OAAOT,iBAAiB,CAAChkQ,CAAD,EAAIwF,CAAJ,EAAO++P,YAAP,CAAxB;EACH,CAFD,MAGK;IACD,MAAMG,SAAS,GAAG1kQ,CAAC,KAAK,OAAOA,CAAP,KAAa,QAAb,IAAyB,OAAOA,CAAP,KAAa,UAA3C,CAAnB;IACA,MAAM2kQ,SAAS,GAAGn/P,CAAC,KAAK,OAAOA,CAAP,KAAa,QAAb,IAAyB,OAAOA,CAAP,KAAa,UAA3C,CAAnB;;IACA,IAAI,CAACg/P,mBAAD,IAAwBE,SAAxB,IAAqC,CAACD,mBAAtC,IAA6DE,SAAjE,EAA4E;MACxE,OAAO,IAAP;IACH,CAFD,MAGK;MACD,OAAOnlQ,MAAM,CAAColQ,EAAP,CAAU5kQ,CAAV,EAAawF,CAAb,CAAP;IACH;EACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAASq/P,aAAT,CAAuB94C,KAAvB,EAA8BgH,YAA9B,EAA4C7tN,KAA5C,EAAmD;EAC/C,OAAO6mN,KAAK,CAACgH,YAAD,CAAL,GAAsB7tN,KAA7B;AACH;AACD;;;AACA,SAAS4/P,UAAT,CAAoB/4C,KAApB,EAA2BgH,YAA3B,EAAyC;EACrC9oN,SAAS,IAAIy4M,kBAAkB,CAACqJ,KAAD,EAAQgH,YAAR,CAA/B;EACA9oN,SAAS,IACLk4M,aAAa,CAAC4J,KAAK,CAACgH,YAAD,CAAN,EAAsB+zB,SAAtB,EAAiC,yCAAjC,CADjB;EAEA,OAAO/6B,KAAK,CAACgH,YAAD,CAAZ;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgyC,cAAT,CAAwBh5C,KAAxB,EAA+BgH,YAA/B,EAA6C7tN,KAA7C,EAAoD;EAChD+E,SAAS,IAAIk4M,aAAa,CAACj9M,KAAD,EAAQ4hP,SAAR,EAAmB,2CAAnB,CAA1B;EACA78O,SAAS,IACLm4M,cAAc,CAAC2Q,YAAD,EAAehH,KAAK,CAAChsN,MAArB,EAA8B,gDAA9B,CADlB;EAEA,MAAMmtL,QAAQ,GAAG6+B,KAAK,CAACgH,YAAD,CAAtB;;EACA,IAAIvzN,MAAM,CAAColQ,EAAP,CAAU13E,QAAV,EAAoBhoL,KAApB,CAAJ,EAAgC;IAC5B,OAAO,KAAP;EACH,CAFD,MAGK;IACD,IAAI+E,SAAS,IAAIyoN,sBAAsB,EAAvC,EAA2C;MACvC;MACA;MACA,MAAMsyC,iBAAiB,GAAG93E,QAAQ,KAAK45D,SAAb,GAAyB55D,QAAzB,GAAoC/4K,SAA9D;;MACA,IAAI,CAACowP,YAAY,CAACS,iBAAD,EAAoB9/P,KAApB,CAAjB,EAA6C;QACzC,MAAMmjD,OAAO,GAAGw0L,gCAAgC,CAAC9wB,KAAD,EAAQgH,YAAR,EAAsBiyC,iBAAtB,EAAyC9/P,KAAzC,CAAhD;QACAk3O,yBAAyB,CAAClvD,QAAQ,KAAK45D,SAAd,EAAyBz+L,OAAO,CAAC6kI,QAAjC,EAA2C7kI,OAAO,CAAC06E,QAAnD,EAA6D16E,OAAO,CAACs3K,QAArE,CAAzB;MACH,CAPsC,CAQvC;MACA;MACA;MACA;;;MACA,OAAO,KAAP;IACH;;IACD5T,KAAK,CAACgH,YAAD,CAAL,GAAsB7tN,KAAtB;IACA,OAAO,IAAP;EACH;AACJ;AACD;;;AACA,SAAS+/P,eAAT,CAAyBl5C,KAAzB,EAAgCgH,YAAhC,EAA8CmyC,IAA9C,EAAoDC,IAApD,EAA0D;EACtD,MAAMC,SAAS,GAAGL,cAAc,CAACh5C,KAAD,EAAQgH,YAAR,EAAsBmyC,IAAtB,CAAhC;EACA,OAAOH,cAAc,CAACh5C,KAAD,EAAQgH,YAAY,GAAG,CAAvB,EAA0BoyC,IAA1B,CAAd,IAAiDC,SAAxD;AACH;AACD;;;AACA,SAASC,eAAT,CAAyBt5C,KAAzB,EAAgCgH,YAAhC,EAA8CmyC,IAA9C,EAAoDC,IAApD,EAA0DG,IAA1D,EAAgE;EAC5D,MAAMF,SAAS,GAAGH,eAAe,CAACl5C,KAAD,EAAQgH,YAAR,EAAsBmyC,IAAtB,EAA4BC,IAA5B,CAAjC;EACA,OAAOJ,cAAc,CAACh5C,KAAD,EAAQgH,YAAY,GAAG,CAAvB,EAA0BuyC,IAA1B,CAAd,IAAiDF,SAAxD;AACH;AACD;;;AACA,SAASG,eAAT,CAAyBx5C,KAAzB,EAAgCgH,YAAhC,EAA8CmyC,IAA9C,EAAoDC,IAApD,EAA0DG,IAA1D,EAAgEE,IAAhE,EAAsE;EAClE,MAAMJ,SAAS,GAAGH,eAAe,CAACl5C,KAAD,EAAQgH,YAAR,EAAsBmyC,IAAtB,EAA4BC,IAA5B,CAAjC;EACA,OAAOF,eAAe,CAACl5C,KAAD,EAAQgH,YAAY,GAAG,CAAvB,EAA0BuyC,IAA1B,EAAgCE,IAAhC,CAAf,IAAwDJ,SAA/D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASvrO,WAAT,CAAqBjyB,IAArB,EAA2B1C,KAA3B,EAAkCkqO,SAAlC,EAA6Cxf,SAA7C,EAAwD;EACpD,MAAM7D,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMkB,YAAY,GAAGE,gBAAgB,EAArC;;EACA,IAAI8xC,cAAc,CAACh5C,KAAD,EAAQgH,YAAR,EAAsB7tN,KAAtB,CAAlB,EAAgD;IAC5C,MAAMggN,KAAK,GAAG4M,QAAQ,EAAtB;IACA,MAAM7M,KAAK,GAAGoQ,gBAAgB,EAA9B;IACAknC,wBAAwB,CAACt3C,KAAD,EAAQ8G,KAAR,EAAenkN,IAAf,EAAqB1C,KAArB,EAA4BkqO,SAA5B,EAAuCxf,SAAvC,CAAxB;IACA3lN,SAAS,IAAIk0P,4BAA4B,CAACj5C,KAAK,CAACrhL,IAAP,EAAaohL,KAAb,EAAoB,UAAUr9M,IAA9B,EAAoCmrN,YAApC,CAAzC;EACH;;EACD,OAAOl5L,WAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4rO,cAAT,CAAwB15C,KAAxB,EAA+B9sJ,MAA/B,EAAuC;EACnCh1D,SAAS,IAAIm4M,cAAc,CAAC,CAAD,EAAInjJ,MAAM,CAACl/D,MAAX,EAAmB,+BAAnB,CAA3B;EACAkK,SAAS,IAAI83M,WAAW,CAAC9iJ,MAAM,CAACl/D,MAAP,GAAgB,CAAjB,EAAoB,CAApB,EAAuB,qCAAvB,CAAxB;EACA,IAAI2lQ,gBAAgB,GAAG,KAAvB;EACA,IAAI3yC,YAAY,GAAGD,eAAe,EAAlC;;EACA,KAAK,IAAInzN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGs/D,MAAM,CAACl/D,MAA3B,EAAmCJ,CAAC,IAAI,CAAxC,EAA2C;IACvC;IACA+lQ,gBAAgB,GAAGX,cAAc,CAACh5C,KAAD,EAAQgH,YAAY,EAApB,EAAwB9zJ,MAAM,CAACt/D,CAAD,CAA9B,CAAd,IAAoD+lQ,gBAAvE;EACH;;EACD1yC,eAAe,CAACD,YAAD,CAAf;;EACA,IAAI,CAAC2yC,gBAAL,EAAuB;IACnB,OAAO5e,SAAP;EACH,CAZkC,CAanC;;;EACA,IAAI9/M,OAAO,GAAGi4B,MAAM,CAAC,CAAD,CAApB;;EACA,KAAK,IAAIt/D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGs/D,MAAM,CAACl/D,MAA3B,EAAmCJ,CAAC,IAAI,CAAxC,EAA2C;IACvCqnC,OAAO,IAAIy5K,eAAe,CAACxhJ,MAAM,CAACt/D,CAAD,CAAP,CAAf,GAA6Bs/D,MAAM,CAACt/D,CAAC,GAAG,CAAL,CAA9C;EACH;;EACD,OAAOqnC,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2+N,cAAT,CAAwB55C,KAAxB,EAA+B5qN,MAA/B,EAAuCykQ,EAAvC,EAA2CxkQ,MAA3C,EAAmD;EAC/C,MAAMgkQ,SAAS,GAAGL,cAAc,CAACh5C,KAAD,EAAQkH,gBAAgB,EAAxB,EAA4B2yC,EAA5B,CAAhC;EACA,OAAOR,SAAS,GAAGjkQ,MAAM,GAAGs/M,eAAe,CAACmlD,EAAD,CAAxB,GAA+BxkQ,MAAlC,GAA2C0lP,SAA3D;AACH;AACD;AACA;AACA;;;AACA,SAAS+e,cAAT,CAAwB95C,KAAxB,EAA+B5qN,MAA/B,EAAuCykQ,EAAvC,EAA2C18P,EAA3C,EAA+C48P,EAA/C,EAAmD1kQ,MAAnD,EAA2D;EACvD,MAAM2xN,YAAY,GAAGD,eAAe,EAApC;EACA,MAAMsyC,SAAS,GAAGH,eAAe,CAACl5C,KAAD,EAAQgH,YAAR,EAAsB6yC,EAAtB,EAA0BE,EAA1B,CAAjC;EACA5yC,qBAAqB,CAAC,CAAD,CAArB;EACA,OAAOkyC,SAAS,GAAGjkQ,MAAM,GAAGs/M,eAAe,CAACmlD,EAAD,CAAxB,GAA+B18P,EAA/B,GAAoCu3M,eAAe,CAACqlD,EAAD,CAAnD,GAA0D1kQ,MAA7D,GAAsE0lP,SAAtF;AACH;AACD;AACA;AACA;;;AACA,SAASif,cAAT,CAAwBh6C,KAAxB,EAA+B5qN,MAA/B,EAAuCykQ,EAAvC,EAA2C18P,EAA3C,EAA+C48P,EAA/C,EAAmD31H,EAAnD,EAAuD61H,EAAvD,EAA2D5kQ,MAA3D,EAAmE;EAC/D,MAAM2xN,YAAY,GAAGD,eAAe,EAApC;EACA,MAAMsyC,SAAS,GAAGC,eAAe,CAACt5C,KAAD,EAAQgH,YAAR,EAAsB6yC,EAAtB,EAA0BE,EAA1B,EAA8BE,EAA9B,CAAjC;EACA9yC,qBAAqB,CAAC,CAAD,CAArB;EACA,OAAOkyC,SAAS,GACZjkQ,MAAM,GAAGs/M,eAAe,CAACmlD,EAAD,CAAxB,GAA+B18P,EAA/B,GAAoCu3M,eAAe,CAACqlD,EAAD,CAAnD,GAA0D31H,EAA1D,GAA+DswE,eAAe,CAACulD,EAAD,CAA9E,GAAqF5kQ,MADzE,GAEZ0lP,SAFJ;AAGH;AACD;AACA;AACA;;;AACA,SAASmf,cAAT,CAAwBl6C,KAAxB,EAA+B5qN,MAA/B,EAAuCykQ,EAAvC,EAA2C18P,EAA3C,EAA+C48P,EAA/C,EAAmD31H,EAAnD,EAAuD61H,EAAvD,EAA2DE,EAA3D,EAA+DC,EAA/D,EAAmE/kQ,MAAnE,EAA2E;EACvE,MAAM2xN,YAAY,GAAGD,eAAe,EAApC;EACA,MAAMsyC,SAAS,GAAGG,eAAe,CAACx5C,KAAD,EAAQgH,YAAR,EAAsB6yC,EAAtB,EAA0BE,EAA1B,EAA8BE,EAA9B,EAAkCG,EAAlC,CAAjC;EACAjzC,qBAAqB,CAAC,CAAD,CAArB;EACA,OAAOkyC,SAAS,GAAGjkQ,MAAM,GAAGs/M,eAAe,CAACmlD,EAAD,CAAxB,GAA+B18P,EAA/B,GAAoCu3M,eAAe,CAACqlD,EAAD,CAAnD,GAA0D31H,EAA1D,GACfswE,eAAe,CAACulD,EAAD,CADA,GACOE,EADP,GACYzlD,eAAe,CAAC0lD,EAAD,CAD3B,GACkC/kQ,MADrC,GAEZ0lP,SAFJ;AAGH;AACD;AACA;AACA;;;AACA,SAASsf,cAAT,CAAwBr6C,KAAxB,EAA+B5qN,MAA/B,EAAuCykQ,EAAvC,EAA2C18P,EAA3C,EAA+C48P,EAA/C,EAAmD31H,EAAnD,EAAuD61H,EAAvD,EAA2DE,EAA3D,EAA+DC,EAA/D,EAAmEE,EAAnE,EAAuEC,EAAvE,EAA2EllQ,MAA3E,EAAmF;EAC/E,MAAM2xN,YAAY,GAAGD,eAAe,EAApC;EACA,IAAIsyC,SAAS,GAAGG,eAAe,CAACx5C,KAAD,EAAQgH,YAAR,EAAsB6yC,EAAtB,EAA0BE,EAA1B,EAA8BE,EAA9B,EAAkCG,EAAlC,CAA/B;EACAf,SAAS,GAAGL,cAAc,CAACh5C,KAAD,EAAQgH,YAAY,GAAG,CAAvB,EAA0BuzC,EAA1B,CAAd,IAA+ClB,SAA3D;EACAlyC,qBAAqB,CAAC,CAAD,CAArB;EACA,OAAOkyC,SAAS,GAAGjkQ,MAAM,GAAGs/M,eAAe,CAACmlD,EAAD,CAAxB,GAA+B18P,EAA/B,GAAoCu3M,eAAe,CAACqlD,EAAD,CAAnD,GAA0D31H,EAA1D,GACfswE,eAAe,CAACulD,EAAD,CADA,GACOE,EADP,GACYzlD,eAAe,CAAC0lD,EAAD,CAD3B,GACkCE,EADlC,GACuC5lD,eAAe,CAAC6lD,EAAD,CADtD,GAC6DllQ,MADhE,GAEZ0lP,SAFJ;AAGH;AACD;AACA;AACA;;;AACA,SAASyf,cAAT,CAAwBx6C,KAAxB,EAA+B5qN,MAA/B,EAAuCykQ,EAAvC,EAA2C18P,EAA3C,EAA+C48P,EAA/C,EAAmD31H,EAAnD,EAAuD61H,EAAvD,EAA2DE,EAA3D,EAA+DC,EAA/D,EAAmEE,EAAnE,EAAuEC,EAAvE,EAA2EE,EAA3E,EAA+EC,EAA/E,EAAmFrlQ,MAAnF,EAA2F;EACvF,MAAM2xN,YAAY,GAAGD,eAAe,EAApC;EACA,IAAIsyC,SAAS,GAAGG,eAAe,CAACx5C,KAAD,EAAQgH,YAAR,EAAsB6yC,EAAtB,EAA0BE,EAA1B,EAA8BE,EAA9B,EAAkCG,EAAlC,CAA/B;EACAf,SAAS,GAAGH,eAAe,CAACl5C,KAAD,EAAQgH,YAAY,GAAG,CAAvB,EAA0BuzC,EAA1B,EAA8BG,EAA9B,CAAf,IAAoDrB,SAAhE;EACAlyC,qBAAqB,CAAC,CAAD,CAArB;EACA,OAAOkyC,SAAS,GACZjkQ,MAAM,GAAGs/M,eAAe,CAACmlD,EAAD,CAAxB,GAA+B18P,EAA/B,GAAoCu3M,eAAe,CAACqlD,EAAD,CAAnD,GAA0D31H,EAA1D,GAA+DswE,eAAe,CAACulD,EAAD,CAA9E,GAAqFE,EAArF,GACIzlD,eAAe,CAAC0lD,EAAD,CADnB,GAC0BE,EAD1B,GAC+B5lD,eAAe,CAAC6lD,EAAD,CAD9C,GACqDE,EADrD,GAC0D/lD,eAAe,CAACgmD,EAAD,CADzE,GACgFrlQ,MAFpE,GAGZ0lP,SAHJ;AAIH;AACD;AACA;AACA;;;AACA,SAAS4f,cAAT,CAAwB36C,KAAxB,EAA+B5qN,MAA/B,EAAuCykQ,EAAvC,EAA2C18P,EAA3C,EAA+C48P,EAA/C,EAAmD31H,EAAnD,EAAuD61H,EAAvD,EAA2DE,EAA3D,EAA+DC,EAA/D,EAAmEE,EAAnE,EAAuEC,EAAvE,EAA2EE,EAA3E,EAA+EC,EAA/E,EAAmFE,EAAnF,EAAuFC,EAAvF,EAA2FxlQ,MAA3F,EAAmG;EAC/F,MAAM2xN,YAAY,GAAGD,eAAe,EAApC;EACA,IAAIsyC,SAAS,GAAGG,eAAe,CAACx5C,KAAD,EAAQgH,YAAR,EAAsB6yC,EAAtB,EAA0BE,EAA1B,EAA8BE,EAA9B,EAAkCG,EAAlC,CAA/B;EACAf,SAAS,GAAGC,eAAe,CAACt5C,KAAD,EAAQgH,YAAY,GAAG,CAAvB,EAA0BuzC,EAA1B,EAA8BG,EAA9B,EAAkCG,EAAlC,CAAf,IAAwDxB,SAApE;EACAlyC,qBAAqB,CAAC,CAAD,CAArB;EACA,OAAOkyC,SAAS,GAAGjkQ,MAAM,GAAGs/M,eAAe,CAACmlD,EAAD,CAAxB,GAA+B18P,EAA/B,GAAoCu3M,eAAe,CAACqlD,EAAD,CAAnD,GAA0D31H,EAA1D,GACfswE,eAAe,CAACulD,EAAD,CADA,GACOE,EADP,GACYzlD,eAAe,CAAC0lD,EAAD,CAD3B,GACkCE,EADlC,GACuC5lD,eAAe,CAAC6lD,EAAD,CADtD,GAC6DE,EAD7D,GAEf/lD,eAAe,CAACgmD,EAAD,CAFA,GAEOE,EAFP,GAEYlmD,eAAe,CAACmmD,EAAD,CAF3B,GAEkCxlQ,MAFrC,GAGZ0lP,SAHJ;AAIH;AACD;AACA;AACA;;;AACA,SAAS+f,cAAT,CAAwB96C,KAAxB,EAA+B5qN,MAA/B,EAAuCykQ,EAAvC,EAA2C18P,EAA3C,EAA+C48P,EAA/C,EAAmD31H,EAAnD,EAAuD61H,EAAvD,EAA2DE,EAA3D,EAA+DC,EAA/D,EAAmEE,EAAnE,EAAuEC,EAAvE,EAA2EE,EAA3E,EAA+EC,EAA/E,EAAmFE,EAAnF,EAAuFC,EAAvF,EAA2FE,EAA3F,EAA+FC,EAA/F,EAAmG3lQ,MAAnG,EAA2G;EACvG,MAAM2xN,YAAY,GAAGD,eAAe,EAApC;EACA,IAAIsyC,SAAS,GAAGG,eAAe,CAACx5C,KAAD,EAAQgH,YAAR,EAAsB6yC,EAAtB,EAA0BE,EAA1B,EAA8BE,EAA9B,EAAkCG,EAAlC,CAA/B;EACAf,SAAS,GAAGG,eAAe,CAACx5C,KAAD,EAAQgH,YAAY,GAAG,CAAvB,EAA0BuzC,EAA1B,EAA8BG,EAA9B,EAAkCG,EAAlC,EAAsCG,EAAtC,CAAf,IAA4D3B,SAAxE;EACAlyC,qBAAqB,CAAC,CAAD,CAArB;EACA,OAAOkyC,SAAS,GAAGjkQ,MAAM,GAAGs/M,eAAe,CAACmlD,EAAD,CAAxB,GAA+B18P,EAA/B,GAAoCu3M,eAAe,CAACqlD,EAAD,CAAnD,GAA0D31H,EAA1D,GACfswE,eAAe,CAACulD,EAAD,CADA,GACOE,EADP,GACYzlD,eAAe,CAAC0lD,EAAD,CAD3B,GACkCE,EADlC,GACuC5lD,eAAe,CAAC6lD,EAAD,CADtD,GAC6DE,EAD7D,GAEf/lD,eAAe,CAACgmD,EAAD,CAFA,GAEOE,EAFP,GAEYlmD,eAAe,CAACmmD,EAAD,CAF3B,GAEkCE,EAFlC,GAEuCrmD,eAAe,CAACsmD,EAAD,CAFtD,GAE6D3lQ,MAFhE,GAGZ0lP,SAHJ;AAIH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkgB,uBAAT,CAAiCp4D,QAAjC,EAA2CztM,MAA3C,EAAmDykQ,EAAnD,EAAuDxkQ,MAAvD,EAA+DguO,SAA/D,EAA0Exf,SAA1E,EAAqF;EACjF,MAAM7D,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGtB,cAAc,CAAC55C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoBxkQ,MAApB,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM7hC,KAAK,GAAGoQ,gBAAgB,EAA9B;IACAknC,wBAAwB,CAACt3C,KAAD,EAAQ8G,KAAR,EAAend,QAAf,EAAyBq4D,iBAAzB,EAA4C73B,SAA5C,EAAuDxf,SAAvD,CAAxB;IACA3lN,SAAS,IACLk0P,4BAA4B,CAACrsC,QAAQ,GAAGjuL,IAAZ,EAAkBohL,KAAlB,EAAyB,UAAUrW,QAAnC,EAA6CkkB,eAAe,KAAK,CAAjE,EAAoE3xN,MAApE,EAA4EC,MAA5E,CADhC;EAEH;;EACD,OAAO4lQ,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,uBAAT,CAAiCt4D,QAAjC,EAA2CztM,MAA3C,EAAmDykQ,EAAnD,EAAuD18P,EAAvD,EAA2D48P,EAA3D,EAA+D1kQ,MAA/D,EAAuEguO,SAAvE,EAAkFxf,SAAlF,EAA6F;EACzF,MAAM7D,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGpB,cAAc,CAAC95C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B1kQ,MAA5B,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM7hC,KAAK,GAAGoQ,gBAAgB,EAA9B;IACAknC,wBAAwB,CAACt3C,KAAD,EAAQ8G,KAAR,EAAend,QAAf,EAAyBq4D,iBAAzB,EAA4C73B,SAA5C,EAAuDxf,SAAvD,CAAxB;IACA3lN,SAAS,IACLk0P,4BAA4B,CAACrsC,QAAQ,GAAGjuL,IAAZ,EAAkBohL,KAAlB,EAAyB,UAAUrW,QAAnC,EAA6CkkB,eAAe,KAAK,CAAjE,EAAoE3xN,MAApE,EAA4E+H,EAA5E,EAAgF9H,MAAhF,CADhC;EAEH;;EACD,OAAO8lQ,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiCv4D,QAAjC,EAA2CztM,MAA3C,EAAmDykQ,EAAnD,EAAuD18P,EAAvD,EAA2D48P,EAA3D,EAA+D31H,EAA/D,EAAmE61H,EAAnE,EAAuE5kQ,MAAvE,EAA+EguO,SAA/E,EAA0Fxf,SAA1F,EAAqG;EACjG,MAAM7D,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGlB,cAAc,CAACh6C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B31H,EAA5B,EAAgC61H,EAAhC,EAAoC5kQ,MAApC,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM7hC,KAAK,GAAGoQ,gBAAgB,EAA9B;IACAknC,wBAAwB,CAACt3C,KAAD,EAAQ8G,KAAR,EAAend,QAAf,EAAyBq4D,iBAAzB,EAA4C73B,SAA5C,EAAuDxf,SAAvD,CAAxB;IACA3lN,SAAS,IACLk0P,4BAA4B,CAACrsC,QAAQ,GAAGjuL,IAAZ,EAAkBohL,KAAlB,EAAyB,UAAUrW,QAAnC,EAA6CkkB,eAAe,KAAK,CAAjE,EAAoE3xN,MAApE,EAA4E+H,EAA5E,EAAgFinI,EAAhF,EAAoF/uI,MAApF,CADhC;EAEH;;EACD,OAAO+lQ,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiCx4D,QAAjC,EAA2CztM,MAA3C,EAAmDykQ,EAAnD,EAAuD18P,EAAvD,EAA2D48P,EAA3D,EAA+D31H,EAA/D,EAAmE61H,EAAnE,EAAuEE,EAAvE,EAA2EC,EAA3E,EAA+E/kQ,MAA/E,EAAuFguO,SAAvF,EAAkGxf,SAAlG,EAA6G;EACzG,MAAM7D,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGhB,cAAc,CAACl6C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B31H,EAA5B,EAAgC61H,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4C/kQ,MAA5C,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM7hC,KAAK,GAAGoQ,gBAAgB,EAA9B;IACAknC,wBAAwB,CAACt3C,KAAD,EAAQ8G,KAAR,EAAend,QAAf,EAAyBq4D,iBAAzB,EAA4C73B,SAA5C,EAAuDxf,SAAvD,CAAxB;IACA3lN,SAAS,IACLk0P,4BAA4B,CAACrsC,QAAQ,GAAGjuL,IAAZ,EAAkBohL,KAAlB,EAAyB,UAAUrW,QAAnC,EAA6CkkB,eAAe,KAAK,CAAjE,EAAoE3xN,MAApE,EAA4E+H,EAA5E,EAAgFinI,EAAhF,EAAoF+1H,EAApF,EAAwF9kQ,MAAxF,CADhC;EAEH;;EACD,OAAOgmQ,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiCz4D,QAAjC,EAA2CztM,MAA3C,EAAmDykQ,EAAnD,EAAuD18P,EAAvD,EAA2D48P,EAA3D,EAA+D31H,EAA/D,EAAmE61H,EAAnE,EAAuEE,EAAvE,EAA2EC,EAA3E,EAA+EE,EAA/E,EAAmFC,EAAnF,EAAuFllQ,MAAvF,EAA+FguO,SAA/F,EAA0Gxf,SAA1G,EAAqH;EACjH,MAAM7D,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGb,cAAc,CAACr6C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B31H,EAA5B,EAAgC61H,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDllQ,MAApD,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM7hC,KAAK,GAAGoQ,gBAAgB,EAA9B;IACAknC,wBAAwB,CAACt3C,KAAD,EAAQ8G,KAAR,EAAend,QAAf,EAAyBq4D,iBAAzB,EAA4C73B,SAA5C,EAAuDxf,SAAvD,CAAxB;IACA3lN,SAAS,IACLk0P,4BAA4B,CAACrsC,QAAQ,GAAGjuL,IAAZ,EAAkBohL,KAAlB,EAAyB,UAAUrW,QAAnC,EAA6CkkB,eAAe,KAAK,CAAjE,EAAoE3xN,MAApE,EAA4E+H,EAA5E,EAAgFinI,EAAhF,EAAoF+1H,EAApF,EAAwFG,EAAxF,EAA4FjlQ,MAA5F,CADhC;EAEH;;EACD,OAAOimQ,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiC14D,QAAjC,EAA2CztM,MAA3C,EAAmDykQ,EAAnD,EAAuD18P,EAAvD,EAA2D48P,EAA3D,EAA+D31H,EAA/D,EAAmE61H,EAAnE,EAAuEE,EAAvE,EAA2EC,EAA3E,EAA+EE,EAA/E,EAAmFC,EAAnF,EAAuFE,EAAvF,EAA2FC,EAA3F,EAA+FrlQ,MAA/F,EAAuGguO,SAAvG,EAAkHxf,SAAlH,EAA6H;EACzH,MAAM7D,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGV,cAAc,CAACx6C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B31H,EAA5B,EAAgC61H,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DrlQ,MAA5D,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM7hC,KAAK,GAAGoQ,gBAAgB,EAA9B;IACAknC,wBAAwB,CAACt3C,KAAD,EAAQ8G,KAAR,EAAend,QAAf,EAAyBq4D,iBAAzB,EAA4C73B,SAA5C,EAAuDxf,SAAvD,CAAxB;IACA3lN,SAAS,IACLk0P,4BAA4B,CAACrsC,QAAQ,GAAGjuL,IAAZ,EAAkBohL,KAAlB,EAAyB,UAAUrW,QAAnC,EAA6CkkB,eAAe,KAAK,CAAjE,EAAoE3xN,MAApE,EAA4E+H,EAA5E,EAAgFinI,EAAhF,EAAoF+1H,EAApF,EAAwFG,EAAxF,EAA4FG,EAA5F,EAAgGplQ,MAAhG,CADhC;EAEH;;EACD,OAAOkmQ,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiC34D,QAAjC,EAA2CztM,MAA3C,EAAmDykQ,EAAnD,EAAuD18P,EAAvD,EAA2D48P,EAA3D,EAA+D31H,EAA/D,EAAmE61H,EAAnE,EAAuEE,EAAvE,EAA2EC,EAA3E,EAA+EE,EAA/E,EAAmFC,EAAnF,EAAuFE,EAAvF,EAA2FC,EAA3F,EAA+FE,EAA/F,EAAmGC,EAAnG,EAAuGxlQ,MAAvG,EAA+GguO,SAA/G,EAA0Hxf,SAA1H,EAAqI;EACjI,MAAM7D,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGP,cAAc,CAAC36C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B31H,EAA5B,EAAgC61H,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoExlQ,MAApE,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM7hC,KAAK,GAAGoQ,gBAAgB,EAA9B;IACAknC,wBAAwB,CAACt3C,KAAD,EAAQ8G,KAAR,EAAend,QAAf,EAAyBq4D,iBAAzB,EAA4C73B,SAA5C,EAAuDxf,SAAvD,CAAxB;IACA3lN,SAAS,IACLk0P,4BAA4B,CAACrsC,QAAQ,GAAGjuL,IAAZ,EAAkBohL,KAAlB,EAAyB,UAAUrW,QAAnC,EAA6CkkB,eAAe,KAAK,CAAjE,EAAoE3xN,MAApE,EAA4E+H,EAA5E,EAAgFinI,EAAhF,EAAoF+1H,EAApF,EAAwFG,EAAxF,EAA4FG,EAA5F,EAAgGG,EAAhG,EAAoGvlQ,MAApG,CADhC;EAEH;;EACD,OAAOmmQ,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiC54D,QAAjC,EAA2CztM,MAA3C,EAAmDykQ,EAAnD,EAAuD18P,EAAvD,EAA2D48P,EAA3D,EAA+D31H,EAA/D,EAAmE61H,EAAnE,EAAuEE,EAAvE,EAA2EC,EAA3E,EAA+EE,EAA/E,EAAmFC,EAAnF,EAAuFE,EAAvF,EAA2FC,EAA3F,EAA+FE,EAA/F,EAAmGC,EAAnG,EAAuGE,EAAvG,EAA2GC,EAA3G,EAA+G3lQ,MAA/G,EAAuHguO,SAAvH,EAAkIxf,SAAlI,EAA6I;EACzI,MAAM7D,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGJ,cAAc,CAAC96C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B31H,EAA5B,EAAgC61H,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4E3lQ,MAA5E,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM7hC,KAAK,GAAGoQ,gBAAgB,EAA9B;IACAknC,wBAAwB,CAACt3C,KAAD,EAAQ8G,KAAR,EAAend,QAAf,EAAyBq4D,iBAAzB,EAA4C73B,SAA5C,EAAuDxf,SAAvD,CAAxB;IACA3lN,SAAS,IACLk0P,4BAA4B,CAACrsC,QAAQ,GAAGjuL,IAAZ,EAAkBohL,KAAlB,EAAyB,UAAUrW,QAAnC,EAA6CkkB,eAAe,KAAK,CAAjE,EAAoE3xN,MAApE,EAA4E+H,EAA5E,EAAgFinI,EAAhF,EAAoF+1H,EAApF,EAAwFG,EAAxF,EAA4FG,EAA5F,EAAgGG,EAAhG,EAAoGG,EAApG,EAAwG1lQ,MAAxG,CADhC;EAEH;;EACD,OAAOomQ,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiC74D,QAAjC,EAA2C3vI,MAA3C,EAAmDmwK,SAAnD,EAA8Dxf,SAA9D,EAAyE;EACrE,MAAM7D,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAM61C,YAAY,GAAGjC,cAAc,CAAC15C,KAAD,EAAQ9sJ,MAAR,CAAnC;;EACA,IAAIyoM,YAAY,KAAK5gB,SAArB,EAAgC;IAC5B,MAAM7hC,KAAK,GAAGoQ,gBAAgB,EAA9B;IACAknC,wBAAwB,CAACt3C,KAAD,EAAQ8G,KAAR,EAAend,QAAf,EAAyB84D,YAAzB,EAAuCt4B,SAAvC,EAAkDxf,SAAlD,CAAxB;;IACA,IAAI3lN,SAAJ,EAAe;MACX,MAAM09P,sBAAsB,GAAG,CAAC1oM,MAAM,CAAC,CAAD,CAAP,CAA/B,CADW,CACiC;;MAC5C,KAAK,IAAIt/D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGs/D,MAAM,CAACl/D,MAA3B,EAAmCJ,CAAC,IAAI,CAAxC,EAA2C;QACvCgoQ,sBAAsB,CAAC1jQ,IAAvB,CAA4Bg7D,MAAM,CAACt/D,CAAD,CAAlC;MACH;;MACDw+P,4BAA4B,CAACrsC,QAAQ,GAAGjuL,IAAZ,EAAkBohL,KAAlB,EAAyB,UAAUrW,QAAnC,EAA6CkkB,eAAe,KAAK60C,sBAAsB,CAAC5nQ,MAA3C,GAAoD,CAAjG,EAAoG,GAAG4nQ,sBAAvG,CAA5B;IACH;EACJ;;EACD,OAAOF,uBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASpsO,aAAT,CAAuBwU,SAAvB,EAAkC;EAC9B,MAAMoqB,IAAI,GAAGsgL,0BAA0B,CAAC1qM,SAAD,CAAvC;EACAiuN,qBAAqB,CAAC7jM,IAAI,CAACwvJ,KAAD,CAAL,EAAcxvJ,IAAd,EAAoBpqB,SAApB,CAArB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+3N,SAAT,CAAmB/3N,SAAnB,EAA8B;EAC1B5lC,SAAS,IAAIs4M,aAAa,CAAC1yK,SAAD,EAAY,WAAZ,CAA1B;EACA,MAAM4tM,QAAQ,GAAG6f,aAAa,CAAC/iB,0BAA0B,CAAC1qM,SAAD,CAA3B,CAA9B;EACA5lC,SAAS,IAAIs4M,aAAa,CAACk7B,QAAQ,CAAC1zB,OAAD,CAAT,EAAoB,+BAApB,CAA1B;EACAwzC,YAAY,CAAC9f,QAAQ,CAAC1zB,OAAD,CAAT,EAAoB;EAAE;EAAtB,CAAZ;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS89C,uBAAT,CAAiCz0P,KAAjC,EAAwC8xM,KAAxC,EAA+C6G,KAA/C,EAAsDgrC,UAAtD,EAAkE7pP,KAAlE,EAAyEC,IAAzE,EAA+ElI,OAA/E,EAAwF6iQ,UAAxF,EAAoGC,cAApG,EAAoH;EAChH99P,SAAS,IAAI8iN,qBAAqB,CAAC7H,KAAD,CAAlC;EACAj7M,SAAS,IAAIA,SAAS,CAAC+6M,eAAV,EAAb;EACA,MAAMgjD,WAAW,GAAG9iD,KAAK,CAAChsL,MAA1B,CAHgH,CAIhH;;EACA,MAAM+rL,KAAK,GAAGsxC,gBAAgB,CAACrxC,KAAD,EAAQ9xM,KAAR,EAAe;EAAE;EAAjB,EAA4CnO,OAAO,IAAI,IAAvD,EAA6DyrN,WAAW,CAACs3C,WAAD,EAAcF,UAAd,CAAxE,CAA9B;EACAjN,iBAAiB,CAAC31C,KAAD,EAAQ6G,KAAR,EAAe9G,KAAf,EAAsByL,WAAW,CAACs3C,WAAD,EAAcD,cAAd,CAAjC,CAAjB;EACA9xC,sBAAsB,CAAC/Q,KAAD,EAAQD,KAAR,CAAtB;EACA,MAAM+3C,aAAa,GAAG/3C,KAAK,CAAC0rC,MAAN,GAAewH,WAAW,CAAC;EAAE;EAAH,EAA6BlzC,KAA7B,EAAoC8xC,UAApC,EAAgD7pP,KAAhD,EAAuDC,IAAvD,EAA6D+3M,KAAK,CAAC2qC,iBAAnE,EAAsF3qC,KAAK,CAAC4qC,YAA5F,EAA0G,IAA1G,EAAgH5qC,KAAK,CAAC6C,OAAtH,EAA+HigD,WAA/H,CAAhD;;EACA,IAAI9iD,KAAK,CAACuqC,OAAN,KAAkB,IAAtB,EAA4B;IACxBvqC,KAAK,CAACuqC,OAAN,CAAcriP,QAAd,CAAuB83M,KAAvB,EAA8BD,KAA9B;IACA+3C,aAAa,CAACvN,OAAd,GAAwBvqC,KAAK,CAACuqC,OAAN,CAAcuN,aAAd,CAA4B/3C,KAA5B,CAAxB;EACH;;EACD,OAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASnpL,UAAT,CAAoB1oB,KAApB,EAA2B2jP,UAA3B,EAAuC7pP,KAAvC,EAA8CC,IAA9C,EAAoDlI,OAApD,EAA6D6iQ,UAA7D,EAAyEC,cAAzE,EAAyF9P,iBAAzF,EAA4G;EACxG,MAAMlsC,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAM3M,KAAK,GAAG4M,QAAQ,EAAtB;EACA,MAAMm2C,aAAa,GAAG70P,KAAK,GAAGy3M,aAA9B;EACA,MAAM5F,KAAK,GAAGC,KAAK,CAACF,eAAN,GAAwB6iD,uBAAuB,CAACI,aAAD,EAAgB/iD,KAAhB,EAAuB6G,KAAvB,EAA8BgrC,UAA9B,EAA0C7pP,KAA1C,EAAiDC,IAAjD,EAAuDlI,OAAvD,EAAgE6iQ,UAAhE,EAA4EC,cAA5E,CAA/C,GACV7iD,KAAK,CAACrhL,IAAN,CAAWokO,aAAX,CADJ;EAEA51C,eAAe,CAACpN,KAAD,EAAQ,KAAR,CAAf;EACA,MAAMijD,OAAO,GAAGn8C,KAAK,CAAC7B,QAAD,CAAL,CAAgBy0B,aAAhB,CAA8B10O,SAAS,GAAG,WAAH,GAAiB,EAAxD,CAAhB;EACAyO,WAAW,CAACwsM,KAAD,EAAQ6G,KAAR,EAAem8C,OAAf,EAAwBjjD,KAAxB,CAAX;EACAo1B,eAAe,CAAC6tB,OAAD,EAAUn8C,KAAV,CAAf;EACAswC,aAAa,CAACtwC,KAAD,EAAQA,KAAK,CAACk8C,aAAD,CAAL,GAAuBpL,gBAAgB,CAACqL,OAAD,EAAUn8C,KAAV,EAAiBm8C,OAAjB,EAA0BjjD,KAA1B,CAA/C,CAAb;;EACA,IAAI0G,eAAe,CAAC1G,KAAD,CAAnB,EAA4B;IACxB2yC,yBAAyB,CAAC1yC,KAAD,EAAQ6G,KAAR,EAAe9G,KAAf,CAAzB;EACH;;EACD,IAAI8iD,cAAc,IAAI,IAAtB,EAA4B;IACxBhQ,wBAAwB,CAAChsC,KAAD,EAAQ9G,KAAR,EAAegzC,iBAAf,CAAxB;EACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAAS/oC,KAAT,CAAehK,KAAf,EAAsB6G,KAAtB,EAA6B34M,KAA7B,EAAoClO,KAApC,EAA2C;EACvC;EACA;EACA,IAAIkO,KAAK,IAAI8xM,KAAK,CAACrhL,IAAN,CAAW9jC,MAAxB,EAAgC;IAC5BmlN,KAAK,CAACrhL,IAAN,CAAWzwB,KAAX,IAAoB,IAApB;IACA8xM,KAAK,CAACyV,SAAN,CAAgBvnN,KAAhB,IAAyB,IAAzB;EACH;;EACD24M,KAAK,CAAC34M,KAAD,CAAL,GAAelO,KAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASijQ,WAAT,CAAqB/0P,KAArB,EAA4B;EACxB,MAAM4+M,YAAY,GAAGS,eAAe,EAApC;EACA,OAAOx4M,IAAI,CAAC+3M,YAAD,EAAenH,aAAa,GAAGz3M,KAA/B,CAAX;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6oB,UAAT,CAAoB0jM,QAApB,EAA8Bz6N,KAA9B,EAAqCkqO,SAArC,EAAgD;EAC5C,MAAMrjB,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMkB,YAAY,GAAGE,gBAAgB,EAArC;;EACA,IAAI8xC,cAAc,CAACh5C,KAAD,EAAQgH,YAAR,EAAsB7tN,KAAtB,CAAlB,EAAgD;IAC5C,MAAMggN,KAAK,GAAG4M,QAAQ,EAAtB;IACA,MAAM7M,KAAK,GAAGoQ,gBAAgB,EAA9B;IACA0kC,uBAAuB,CAAC70C,KAAD,EAAQD,KAAR,EAAe8G,KAAf,EAAsB4T,QAAtB,EAAgCz6N,KAAhC,EAAuC6mN,KAAK,CAAC7B,QAAD,CAA5C,EAAwDklB,SAAxD,EAAmE,KAAnE,CAAvB;IACAnlO,SAAS,IAAIk0P,4BAA4B,CAACj5C,KAAK,CAACrhL,IAAP,EAAaohL,KAAb,EAAoB0a,QAApB,EAA8B5M,YAA9B,CAAzC;EACH;;EACD,OAAO92L,UAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASmsO,qCAAT,CAA+CljD,KAA/C,EAAsDD,KAAtD,EAA6D8G,KAA7D,EAAoE7mN,KAApE,EAA2E6+O,YAA3E,EAAyF;EACrF,MAAM/2O,MAAM,GAAGi4M,KAAK,CAACj4M,MAArB;EACA,MAAMyJ,QAAQ,GAAGstO,YAAY,GAAG,OAAH,GAAa,OAA1C,CAFqF,CAGrF;;EACAoW,oBAAoB,CAACj1C,KAAD,EAAQ6G,KAAR,EAAe/+M,MAAM,CAACyJ,QAAD,CAArB,EAAiCA,QAAjC,EAA2CvR,KAA3C,CAApB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmjQ,2BAAT,CAAqCj1P,KAArC,EAA4C8xM,KAA5C,EAAmD6G,KAAnD,EAA0D4M,MAA1D,EAAkE/wN,IAAlE,EAAwEkgQ,UAAxE,EAAoFC,cAApF,EAAoG;EAChG99P,SAAS,IAAI8iN,qBAAqB,CAAC7H,KAAD,CAAlC;EACAj7M,SAAS,IAAIA,SAAS,CAAC+6M,eAAV,EAAb;EACA,MAAMgjD,WAAW,GAAG9iD,KAAK,CAAChsL,MAA1B;EACA,MAAMhhB,KAAK,GAAGw4M,WAAW,CAACs3C,WAAD,EAAcF,UAAd,CAAzB;EACA,MAAM7iD,KAAK,GAAGsxC,gBAAgB,CAACrxC,KAAD,EAAQ9xM,KAAR,EAAe;EAAE;EAAjB,EAA0CxL,IAA1C,EAAgDsQ,KAAhD,CAA9B;EACA,MAAM4+N,aAAa,GAAG+jB,iBAAiB,CAAC31C,KAAD,EAAQ6G,KAAR,EAAe9G,KAAf,EAAsByL,WAAW,CAACs3C,WAAD,EAAcD,cAAd,CAAjC,CAAvC;;EACA,IAAI99P,SAAJ,EAAe;IACX4sO,sBAAsB,CAACle,MAAD,EAAS5M,KAAT,EAAgB9G,KAAK,CAAC//M,KAAtB,EAA6BggN,KAAK,CAAC6C,OAAnC,EAA4C+uB,aAA5C,CAAtB;EACH;;EACD,IAAI7xB,KAAK,CAAC/sM,KAAN,KAAgB,IAApB,EAA0B;IACtB0mP,oBAAoB,CAAC35C,KAAD,EAAQA,KAAK,CAAC/sM,KAAd,EAAqB,KAArB,CAApB;EACH;;EACD,IAAI+sM,KAAK,CAACwrC,WAAN,KAAsB,IAA1B,EAAgC;IAC5BmO,oBAAoB,CAAC35C,KAAD,EAAQA,KAAK,CAACwrC,WAAd,EAA2B,IAA3B,CAApB;EACH;;EACD,IAAIvrC,KAAK,CAACuqC,OAAN,KAAkB,IAAtB,EAA4B;IACxBvqC,KAAK,CAACuqC,OAAN,CAAc6Y,YAAd,CAA2BpjD,KAA3B,EAAkCD,KAAlC;EACH;;EACD,OAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS7rL,cAAT,CAAwBhmB,KAAxB,EAA+BxL,IAA/B,EAAqCkgQ,UAArC,EAAiDC,cAAjD,EAAiE;EAC7D,MAAMh8C,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAM3M,KAAK,GAAG4M,QAAQ,EAAtB;EACA,MAAMm2C,aAAa,GAAGp9C,aAAa,GAAGz3M,KAAtC;EACAnJ,SAAS,IACL83M,WAAW,CAAC+Q,eAAe,EAAhB,EAAoB5N,KAAK,CAACoI,iBAA1B,EAA6C,gDAA7C,CADf;EAEArjN,SAAS,IAAIy4M,kBAAkB,CAACqJ,KAAD,EAAQk8C,aAAR,CAA/B;EACA,MAAMxyO,QAAQ,GAAGs2L,KAAK,CAAC7B,QAAD,CAAtB;EACA,MAAMyO,MAAM,GAAG5M,KAAK,CAACk8C,aAAD,CAAL,GAAuBrpB,iBAAiB,CAACnpN,QAAD,EAAW7tB,IAAX,EAAiB8tN,cAAc,EAA/B,CAAvD;EACA,MAAMzQ,KAAK,GAAGC,KAAK,CAACF,eAAN,GACVqjD,2BAA2B,CAACJ,aAAD,EAAgB/iD,KAAhB,EAAuB6G,KAAvB,EAA8B4M,MAA9B,EAAsC/wN,IAAtC,EAA4CkgQ,UAA5C,EAAwDC,cAAxD,CADjB,GAEV7iD,KAAK,CAACrhL,IAAN,CAAWokO,aAAX,CAFJ;EAGA51C,eAAe,CAACpN,KAAD,EAAQ,IAAR,CAAf;EACA,MAAMwrC,WAAW,GAAGxrC,KAAK,CAACwrC,WAA1B;;EACA,IAAIA,WAAW,KAAK,IAApB,EAA0B;IACtB/3B,eAAe,CAACjjM,QAAD,EAAWkjM,MAAX,EAAmB83B,WAAnB,CAAf;EACH;;EACD,MAAMl1B,OAAO,GAAGtW,KAAK,CAACsW,OAAtB;;EACA,IAAIA,OAAO,KAAK,IAAhB,EAAsB;IAClB4oB,gBAAgB,CAAC1uN,QAAD,EAAWkjM,MAAX,EAAmB4C,OAAnB,CAAhB;EACH;;EACD,MAAM3tN,MAAM,GAAGq3M,KAAK,CAACr3M,MAArB;;EACA,IAAIA,MAAM,KAAK,IAAf,EAAqB;IACjBs2O,gBAAgB,CAACzuN,QAAD,EAAWkjM,MAAX,EAAmB/qN,MAAnB,CAAhB;EACH;;EACD,IAAI,CAACq3M,KAAK,CAAC9jG,KAAN,GAAc;EAAG;EAAlB,MAAmD;EAAG;EAA1D,EAAuF;IACnF;IACA;IACAzoG,WAAW,CAACwsM,KAAD,EAAQ6G,KAAR,EAAe4M,MAAf,EAAuB1T,KAAvB,CAAX;EACH,CA7B4D,CA8B7D;EACA;EACA;;;EACA,IAAIqM,oBAAoB,OAAO,CAA/B,EAAkC;IAC9B+oB,eAAe,CAAC1hB,MAAD,EAAS5M,KAAT,CAAf;EACH;;EACDyF,yBAAyB;;EACzB,IAAI7F,eAAe,CAAC1G,KAAD,CAAnB,EAA4B;IACxB2yC,yBAAyB,CAAC1yC,KAAD,EAAQ6G,KAAR,EAAe9G,KAAf,CAAzB;IACA0yC,qBAAqB,CAACzyC,KAAD,EAAQD,KAAR,EAAe8G,KAAf,CAArB;EACH;;EACD,IAAIg8C,cAAc,KAAK,IAAvB,EAA6B;IACzBhQ,wBAAwB,CAAChsC,KAAD,EAAQ9G,KAAR,CAAxB;EACH;;EACD,OAAO7rL,cAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,YAAT,GAAwB;EACpB,IAAI64L,YAAY,GAAGD,eAAe,EAAlC;EACAhoN,SAAS,IAAIs4M,aAAa,CAAC2P,YAAD,EAAe,0BAAf,CAA1B;;EACA,IAAII,oBAAoB,EAAxB,EAA4B;IACxBC,0BAA0B;EAC7B,CAFD,MAGK;IACDtoN,SAAS,IAAIyiN,eAAe,CAACuF,eAAe,EAAhB,CAA5B;IACAC,YAAY,GAAGA,YAAY,CAACr6M,MAA5B;IACAw6M,eAAe,CAACH,YAAD,EAAe,KAAf,CAAf;EACH;;EACD,MAAMjN,KAAK,GAAGiN,YAAd;EACAjoN,SAAS,IAAIsuN,eAAe,CAACtT,KAAD,EAAQ;EAAE;EAAV,CAA5B;EACAwM,yBAAyB;EACzB,MAAMvM,KAAK,GAAG4M,QAAQ,EAAtB;;EACA,IAAI5M,KAAK,CAACF,eAAV,EAA2B;IACvBiR,sBAAsB,CAAC/Q,KAAD,EAAQgN,YAAR,CAAtB;;IACA,IAAIzG,kBAAkB,CAACyG,YAAD,CAAtB,EAAsC;MAClChN,KAAK,CAACuqC,OAAN,CAAc8Y,UAAd,CAAyBr2C,YAAzB;IACH;EACJ;;EACD,IAAIjN,KAAK,CAAC6rC,kBAAN,IAA4B,IAA5B,IAAoCz4B,aAAa,CAACpT,KAAD,CAArD,EAA8D;IAC1DmjD,qCAAqC,CAACljD,KAAD,EAAQD,KAAR,EAAe4M,QAAQ,EAAvB,EAA2B5M,KAAK,CAAC6rC,kBAAjC,EAAqD,IAArD,CAArC;EACH;;EACD,IAAI7rC,KAAK,CAAC2rC,iBAAN,IAA2B,IAA3B,IAAmCt4B,aAAa,CAACrT,KAAD,CAApD,EAA6D;IACzDmjD,qCAAqC,CAACljD,KAAD,EAAQD,KAAR,EAAe4M,QAAQ,EAAvB,EAA2B5M,KAAK,CAAC2rC,iBAAjC,EAAoD,KAApD,CAArC;EACH;;EACD,OAAOv3N,YAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0C,SAAT,CAAmB3oB,KAAnB,EAA0BxL,IAA1B,EAAgCkgQ,UAAhC,EAA4CC,cAA5C,EAA4D;EACxD3uO,cAAc,CAAChmB,KAAD,EAAQxL,IAAR,EAAckgQ,UAAd,EAA0BC,cAA1B,CAAd;EACA1uO,YAAY;EACZ,OAAO0C,SAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASysO,oCAAT,CAA8Cp1P,KAA9C,EAAqD8xM,KAArD,EAA4D6G,KAA5D,EAAmE+7C,UAAnE,EAA+EC,cAA/E,EAA+F;EAC3F99P,SAAS,IAAIA,SAAS,CAAC+6M,eAAV,EAAb;EACA,MAAMgjD,WAAW,GAAG9iD,KAAK,CAAChsL,MAA1B;EACA,MAAMhhB,KAAK,GAAGw4M,WAAW,CAACs3C,WAAD,EAAcF,UAAd,CAAzB;EACA,MAAM7iD,KAAK,GAAGsxC,gBAAgB,CAACrxC,KAAD,EAAQ9xM,KAAR,EAAe;EAAE;EAAjB,EAAmD,cAAnD,EAAmE8E,KAAnE,CAA9B,CAJ2F,CAK3F;EACA;;EACA,IAAIA,KAAK,KAAK,IAAd,EAAoB;IAChB0mP,oBAAoB,CAAC35C,KAAD,EAAQ/sM,KAAR,EAAe,IAAf,CAApB;EACH;;EACD,MAAM4iP,SAAS,GAAGpqC,WAAW,CAACs3C,WAAD,EAAcD,cAAd,CAA7B;EACAlN,iBAAiB,CAAC31C,KAAD,EAAQ6G,KAAR,EAAe9G,KAAf,EAAsB61C,SAAtB,CAAjB;;EACA,IAAI51C,KAAK,CAACuqC,OAAN,KAAkB,IAAtB,EAA4B;IACxBvqC,KAAK,CAACuqC,OAAN,CAAc6Y,YAAd,CAA2BpjD,KAA3B,EAAkCD,KAAlC;EACH;;EACD,OAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwjD,uBAAT,CAAiCr1P,KAAjC,EAAwC00P,UAAxC,EAAoDC,cAApD,EAAoE;EAChE,MAAMh8C,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAM3M,KAAK,GAAG4M,QAAQ,EAAtB;EACA,MAAMm2C,aAAa,GAAG70P,KAAK,GAAGy3M,aAA9B;EACA5gN,SAAS,IAAIy4M,kBAAkB,CAACqJ,KAAD,EAAQk8C,aAAR,CAA/B;EACAh+P,SAAS,IACL83M,WAAW,CAAC+Q,eAAe,EAAhB,EAAoB5N,KAAK,CAACoI,iBAA1B,EAA6C,0DAA7C,CADf;EAEA,MAAMrI,KAAK,GAAGC,KAAK,CAACF,eAAN,GACVwjD,oCAAoC,CAACP,aAAD,EAAgB/iD,KAAhB,EAAuB6G,KAAvB,EAA8B+7C,UAA9B,EAA0CC,cAA1C,CAD1B,GAEV7iD,KAAK,CAACrhL,IAAN,CAAWokO,aAAX,CAFJ;EAGA51C,eAAe,CAACpN,KAAD,EAAQ,IAAR,CAAf;EACAh7M,SAAS,IAAIA,SAAS,CAACo8M,qBAAV,EAAb;EACA,MAAMsS,MAAM,GAAG5M,KAAK,CAACk8C,aAAD,CAAL,GACXl8C,KAAK,CAAC7B,QAAD,CAAL,CAAgBy0B,aAAhB,CAA8B10O,SAAS,GAAG,cAAH,GAAoB,EAA3D,CADJ;EAEAyO,WAAW,CAACwsM,KAAD,EAAQ6G,KAAR,EAAe4M,MAAf,EAAuB1T,KAAvB,CAAX;EACAo1B,eAAe,CAAC1hB,MAAD,EAAS5M,KAAT,CAAf;;EACA,IAAIJ,eAAe,CAAC1G,KAAD,CAAnB,EAA4B;IACxB2yC,yBAAyB,CAAC1yC,KAAD,EAAQ6G,KAAR,EAAe9G,KAAf,CAAzB;IACA0yC,qBAAqB,CAACzyC,KAAD,EAAQD,KAAR,EAAe8G,KAAf,CAArB;EACH;;EACD,IAAIg8C,cAAc,IAAI,IAAtB,EAA4B;IACxBhQ,wBAAwB,CAAChsC,KAAD,EAAQ9G,KAAR,CAAxB;EACH;;EACD,OAAOwjD,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,qBAAT,GAAiC;EAC7B,IAAIx2C,YAAY,GAAGD,eAAe,EAAlC;EACA,MAAM/M,KAAK,GAAG4M,QAAQ,EAAtB;;EACA,IAAIQ,oBAAoB,EAAxB,EAA4B;IACxBC,0BAA0B;EAC7B,CAFD,MAGK;IACDtoN,SAAS,IAAIyiN,eAAe,CAACwF,YAAD,CAA5B;IACAA,YAAY,GAAGA,YAAY,CAACr6M,MAA5B;IACAw6M,eAAe,CAACH,YAAD,EAAe,KAAf,CAAf;EACH;;EACDjoN,SAAS,IAAIsuN,eAAe,CAACrG,YAAD,EAAe;EAAE;EAAjB,CAA5B;;EACA,IAAIhN,KAAK,CAACF,eAAV,EAA2B;IACvBiR,sBAAsB,CAAC/Q,KAAD,EAAQgN,YAAR,CAAtB;;IACA,IAAIzG,kBAAkB,CAACyG,YAAD,CAAtB,EAAsC;MAClChN,KAAK,CAACuqC,OAAN,CAAc8Y,UAAd,CAAyBr2C,YAAzB;IACH;EACJ;;EACD,OAAOw2C,qBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASr4N,kBAAT,CAA4Bj9B,KAA5B,EAAmC00P,UAAnC,EAA+CC,cAA/C,EAA+D;EAC3DU,uBAAuB,CAACr1P,KAAD,EAAQ00P,UAAR,EAAoBC,cAApB,CAAvB;EACAW,qBAAqB;EACrB,OAAOr4N,kBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASW,gBAAT,GAA4B;EACxB,OAAO6gL,QAAQ,EAAf;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASp1D,SAAT,CAAmBhsI,GAAnB,EAAwB;EACpB;EACA;EACA,OAAO,CAAC,CAACA,GAAF,IAAS,OAAOA,GAAG,CAACrW,IAAX,KAAoB,UAApC;AACH;AACD;AACA;AACA;;;AACA,SAASuuP,cAAT,CAAwBl4O,GAAxB,EAA6B;EACzB,OAAO,CAAC,CAACA,GAAF,IAAS,OAAOA,GAAG,CAACuF,SAAX,KAAyB,UAAzC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM4wH,YAAY,GAAG+hH,cAArB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS/sO,UAAT,CAAoB1kB,SAApB,EAA+B0xP,UAA/B,EAA2CC,UAA3C,EAAuDC,mBAAvD,EAA4E;EACxE,MAAM/8C,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAM3M,KAAK,GAAG4M,QAAQ,EAAtB;EACA,MAAM7M,KAAK,GAAGgN,eAAe,EAA7B;EACA82C,gBAAgB,CAAC7jD,KAAD,EAAQ6G,KAAR,EAAeA,KAAK,CAAC7B,QAAD,CAApB,EAAgCjF,KAAhC,EAAuC/tM,SAAvC,EAAkD0xP,UAAlD,EAA8D,CAAC,CAACC,UAAhE,EAA4EC,mBAA5E,CAAhB;EACA,OAAOltO,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASotO,uBAAT,CAAiC9xP,SAAjC,EAA4C0xP,UAA5C,EAAwD;EACpD,MAAM3jD,KAAK,GAAGgN,eAAe,EAA7B;EACA,MAAMlG,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAM3M,KAAK,GAAG4M,QAAQ,EAAtB;EACA,MAAM2sC,UAAU,GAAG/qC,sBAAsB,CAACxO,KAAK,CAACrhL,IAAP,CAAzC;EACA,MAAMpO,QAAQ,GAAG+oO,qBAAqB,CAACC,UAAD,EAAax5C,KAAb,EAAoB8G,KAApB,CAAtC;EACAg9C,gBAAgB,CAAC7jD,KAAD,EAAQ6G,KAAR,EAAet2L,QAAf,EAAyBwvL,KAAzB,EAAgC/tM,SAAhC,EAA2C0xP,UAA3C,EAAuD,KAAvD,CAAhB;EACA,OAAOI,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,oBAAT,CAA8B/jD,KAA9B,EAAqC6G,KAArC,EAA4C70M,SAA5C,EAAuDgyP,QAAvD,EAAiE;EAC7D,MAAMzoB,QAAQ,GAAGv7B,KAAK,CAAC7sJ,OAAvB;;EACA,IAAIooL,QAAQ,IAAI,IAAhB,EAAsB;IAClB,KAAK,IAAI9gP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8gP,QAAQ,CAAC1gP,MAAT,GAAkB,CAAtC,EAAyCJ,CAAC,IAAI,CAA9C,EAAiD;MAC7C,MAAMwpQ,gBAAgB,GAAG1oB,QAAQ,CAAC9gP,CAAD,CAAjC;;MACA,IAAIwpQ,gBAAgB,KAAKjyP,SAArB,IAAkCupO,QAAQ,CAAC9gP,CAAC,GAAG,CAAL,CAAR,KAAoBupQ,QAA1D,EAAoE;QAChE;QACA;QACA;QACA,MAAMxoB,QAAQ,GAAG30B,KAAK,CAACjC,OAAD,CAAtB;QACA,MAAMs/C,qBAAqB,GAAG3oB,QAAQ,CAAC9gP,CAAC,GAAG,CAAL,CAAtC;QACA,OAAO+gP,QAAQ,CAAC3gP,MAAT,GAAkBqpQ,qBAAlB,GAA0C1oB,QAAQ,CAAC0oB,qBAAD,CAAlD,GAA4E,IAAnF;MACH,CAT4C,CAU7C;MACA;MACA;MACA;MACA;;;MACA,IAAI,OAAOD,gBAAP,KAA4B,QAAhC,EAA0C;QACtCxpQ,CAAC,IAAI,CAAL;MACH;IACJ;EACJ;;EACD,OAAO,IAAP;AACH;;AACD,SAASopQ,gBAAT,CAA0B7jD,KAA1B,EAAiC6G,KAAjC,EAAwCt2L,QAAxC,EAAkDwvL,KAAlD,EAAyD/tM,SAAzD,EAAoE0xP,UAApE,EAAgFC,UAAhF,EAA4FC,mBAA5F,EAAiH;EAC7G,MAAMO,oBAAoB,GAAG19C,eAAe,CAAC1G,KAAD,CAA5C;EACA,MAAMD,eAAe,GAAGE,KAAK,CAACF,eAA9B;EACA,MAAMy7B,QAAQ,GAAGz7B,eAAe,IAAIg0C,uBAAuB,CAAC9zC,KAAD,CAA3D;EACA,MAAMlvM,OAAO,GAAG+1M,KAAK,CAAChC,OAAD,CAArB,CAJ6G,CAK7G;EACA;EACA;;EACA,MAAM22B,QAAQ,GAAGqY,uBAAuB,CAAChtC,KAAD,CAAxC;EACA9hN,SAAS,IAAIsuN,eAAe,CAACtT,KAAD,EAAQ;EAAE;EAAF,EAA6B;EAAG;EAAxC,CAA5B;EACA,IAAIqkD,cAAc,GAAG,IAArB,CAV6G,CAW7G;EACA;EACA;EACA;;EACA,IAAKrkD,KAAK,CAACj/M,IAAN,GAAa;EAAE;EAAhB,GAA6C8iQ,mBAAjD,EAAsE;IAClE,MAAMnwC,MAAM,GAAG1I,gBAAgB,CAAChL,KAAD,EAAQ8G,KAAR,CAA/B;IACA,MAAM7jN,MAAM,GAAG4gQ,mBAAmB,GAAGA,mBAAmB,CAACnwC,MAAD,CAAtB,GAAiCA,MAAnE;IACA,MAAM4wC,aAAa,GAAG7oB,QAAQ,CAAC3gP,MAA/B;IACA,MAAM6gP,iBAAiB,GAAGkoB,mBAAmB,GACxC/qC,MAAD,IAAY+qC,mBAAmB,CAACj5C,WAAW,CAACkO,MAAM,CAAC9Y,KAAK,CAAC7xM,KAAP,CAAP,CAAZ,CADU,GAEzC6xM,KAAK,CAAC7xM,KAFV,CAJkE,CAOlE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IACA,IAAIo2P,gBAAgB,GAAG,IAAvB,CAnBkE,CAoBlE;IACA;IACA;IACA;IACA;IACA;;IACA,IAAI,CAACV,mBAAD,IAAwBO,oBAA5B,EAAkD;MAC9CG,gBAAgB,GAAGP,oBAAoB,CAAC/jD,KAAD,EAAQ6G,KAAR,EAAe70M,SAAf,EAA0B+tM,KAAK,CAAC7xM,KAAhC,CAAvC;IACH;;IACD,IAAIo2P,gBAAgB,KAAK,IAAzB,EAA+B;MAC3B;MACA;MACA;MACA;MACA,MAAMC,cAAc,GAAGD,gBAAgB,CAACE,oBAAjB,IAAyCF,gBAAhE;MACAC,cAAc,CAACE,oBAAf,GAAsCf,UAAtC;MACAY,gBAAgB,CAACE,oBAAjB,GAAwCd,UAAxC;MACAU,cAAc,GAAG,KAAjB;IACH,CATD,MAUK;MACDV,UAAU,GAAGgB,YAAY,CAAC3kD,KAAD,EAAQ8G,KAAR,EAAe/1M,OAAf,EAAwB4yP,UAAxB,EAAoC;MAAM;MAA1C,CAAzB;MACA,MAAM9P,SAAS,GAAGrjO,QAAQ,CAACwV,MAAT,CAAgB/iC,MAAhB,EAAwBgP,SAAxB,EAAmC0xP,UAAnC,CAAlB;MACA3+P,SAAS,IAAIA,SAAS,CAACq7M,wBAAV,EAAb;MACAo7B,QAAQ,CAACz8O,IAAT,CAAc2kQ,UAAd,EAA0B9P,SAA1B;MACArY,QAAQ,IAAIA,QAAQ,CAACx8O,IAAT,CAAciT,SAAd,EAAyB0pO,iBAAzB,EAA4C2oB,aAA5C,EAA2DA,aAAa,GAAG,CAA3E,CAAZ;IACH;EACJ,CA9CD,MA+CK;IACD;IACA;IACAX,UAAU,GAAGgB,YAAY,CAAC3kD,KAAD,EAAQ8G,KAAR,EAAe/1M,OAAf,EAAwB4yP,UAAxB,EAAoC;IAAM;IAA1C,CAAzB;EACH,CAlE4G,CAmE7G;;;EACA,MAAMltO,OAAO,GAAGupL,KAAK,CAACvpL,OAAtB;EACA,IAAI80I,KAAJ;;EACA,IAAI84F,cAAc,IAAI5tO,OAAO,KAAK,IAA9B,KAAuC80I,KAAK,GAAG90I,OAAO,CAACxkB,SAAD,CAAtD,CAAJ,EAAwE;IACpE,MAAM2yP,WAAW,GAAGr5F,KAAK,CAACzwK,MAA1B;;IACA,IAAI8pQ,WAAJ,EAAiB;MACb,KAAK,IAAIlqQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkqQ,WAApB,EAAiClqQ,CAAC,IAAI,CAAtC,EAAyC;QACrC,MAAMyT,KAAK,GAAGo9J,KAAK,CAAC7wK,CAAD,CAAnB;QACAsK,SAAS,IAAIy4M,kBAAkB,CAACqJ,KAAD,EAAQ34M,KAAR,CAA/B;QACA,MAAM02P,YAAY,GAAGt5F,KAAK,CAAC7wK,CAAC,GAAG,CAAL,CAA1B;QACA,MAAMu7O,iBAAiB,GAAGnvB,KAAK,CAAC34M,KAAD,CAA/B;QACA,MAAM2qF,MAAM,GAAGm9I,iBAAiB,CAAC4uB,YAAD,CAAhC;;QACA,IAAI7/P,SAAS,IAAI,CAAC28I,YAAY,CAAC7oD,MAAD,CAA9B,EAAwC;UACpC,MAAM,IAAIhnE,KAAJ,CAAW,WAAU+yO,YAAa,wBAAuB5uB,iBAAiB,CAACzxO,WAAlB,CAA8B7B,IAAK,IAA5F,CAAN;QACH;;QACD,MAAMuwB,YAAY,GAAG4lE,MAAM,CAAC/nE,SAAP,CAAiB4yO,UAAjB,CAArB;QACA,MAAMr+O,GAAG,GAAGm2N,QAAQ,CAAC3gP,MAArB;QACA2gP,QAAQ,CAACz8O,IAAT,CAAc2kQ,UAAd,EAA0BzwO,YAA1B;QACAsoN,QAAQ,IAAIA,QAAQ,CAACx8O,IAAT,CAAciT,SAAd,EAAyB+tM,KAAK,CAAC7xM,KAA/B,EAAsCmX,GAAtC,EAA2C,EAAEA,GAAG,GAAG,CAAR,CAA3C,CAAZ;MACH;IACJ;EACJ;AACJ;;AACD,SAASw/O,gCAAT,CAA0Ch+C,KAA1C,EAAiD/1M,OAAjD,EAA0D4yP,UAA1D,EAAsElmQ,CAAtE,EAAyE;EACrE,IAAI;IACA2sN,QAAQ,CAAC;IAAE;IAAH,EAAoCr5M,OAApC,EAA6C4yP,UAA7C,CAAR,CADA,CAEA;;IACA,OAAOA,UAAU,CAAClmQ,CAAD,CAAV,KAAkB,KAAzB;EACH,CAJD,CAKA,OAAOhB,KAAP,EAAc;IACV+2O,WAAW,CAAC1sB,KAAD,EAAQrqN,KAAR,CAAX;IACA,OAAO,KAAP;EACH,CARD,SASQ;IACJ2tN,QAAQ,CAAC;IAAE;IAAH,EAAkCr5M,OAAlC,EAA2C4yP,UAA3C,CAAR;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgB,YAAT,CAAsB3kD,KAAtB,EAA6B8G,KAA7B,EAAoC/1M,OAApC,EAA6C4yP,UAA7C,EAAyDoB,sBAAzD,EAAiF;EAC7E;EACA;EACA,OAAO,SAASC,yCAAT,CAAmDvnQ,CAAnD,EAAsD;IACzD;IACA;IACA,IAAIA,CAAC,KAAK06B,QAAV,EAAoB;MAChB,OAAOwrO,UAAP;IACH,CALwD,CAMzD;IACA;;;IACA,MAAM/uC,SAAS,GAAG5U,KAAK,CAAC9jG,KAAN,GAAc;IAAE;IAAhB,EACdivG,wBAAwB,CAACnL,KAAK,CAAC7xM,KAAP,EAAc24M,KAAd,CADV,GAEdA,KAFJ;IAGAuxC,aAAa,CAACzjC,SAAD,CAAb;IACA,IAAI/wN,MAAM,GAAGihQ,gCAAgC,CAACh+C,KAAD,EAAQ/1M,OAAR,EAAiB4yP,UAAjB,EAA6BlmQ,CAA7B,CAA7C,CAZyD,CAazD;IACA;;IACA,IAAIwnQ,cAAc,GAAGD,yCAAyC,CAACN,oBAA/D;;IACA,OAAOO,cAAP,EAAuB;MACnB;MACAphQ,MAAM,GAAGihQ,gCAAgC,CAACh+C,KAAD,EAAQ/1M,OAAR,EAAiBk0P,cAAjB,EAAiCxnQ,CAAjC,CAAhC,IAAuEoG,MAAhF;MACAohQ,cAAc,GAAGA,cAAc,CAACP,oBAAhC;IACH;;IACD,IAAIK,sBAAsB,IAAIlhQ,MAAM,KAAK,KAAzC,EAAgD;MAC5CpG,CAAC,CAAC+gB,cAAF,GAD4C,CAE5C;;MACA/gB,CAAC,CAACynQ,WAAF,GAAgB,KAAhB;IACH;;IACD,OAAOrhQ,MAAP;EACH,CA3BD;AA4BH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8wB,aAAT,CAAuBstB,KAAK,GAAG,CAA/B,EAAkC;EAC9B,OAAO6tK,eAAe,CAAC7tK,KAAD,CAAtB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkjN,2BAAT,CAAqCnlD,KAArC,EAA4ColD,eAA5C,EAA6D;EACzD,IAAIC,sBAAsB,GAAG,IAA7B;EACA,MAAMC,kBAAkB,GAAGxkB,qBAAqB,CAAC9gC,KAAD,CAAhD;;EACA,KAAK,IAAItlN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0qQ,eAAe,CAACtqQ,MAApC,EAA4CJ,CAAC,EAA7C,EAAiD;IAC7C,MAAM2wN,SAAS,GAAG+5C,eAAe,CAAC1qQ,CAAD,CAAjC,CAD6C,CAE7C;IACA;;IACA,IAAI2wN,SAAS,KAAK,GAAlB,EAAuB;MACnBg6C,sBAAsB,GAAG3qQ,CAAzB;MACA;IACH,CAP4C,CAQ7C;IACA;;;IACA,IAAI4qQ,kBAAkB,KAAK,IAAvB,GACAzkB,0BAA0B,CAAC7gC,KAAD,EAAQqL,SAAR;IAAmB;IAAuB,IAA1C,CAD1B,GAEA41B,wBAAwB,CAACqkB,kBAAD,EAAqBj6C,SAArB,CAF5B,EAE6D;MACzD,OAAO3wN,CAAP,CADyD,CAC/C;IACb;EACJ;;EACD,OAAO2qQ,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS98P,eAAT,CAAyB68P,eAAzB,EAA0C;EACtC,MAAM3mB,aAAa,GAAG7xB,QAAQ,GAAGtH,0BAAH,CAAR,CAAuCV,MAAvC,CAAtB;;EACA,IAAI,CAAC65B,aAAa,CAAC71B,UAAnB,EAA+B;IAC3B;IACA;IACA,MAAM28C,kBAAkB,GAAGH,eAAe,GAAGA,eAAe,CAACtqQ,MAAnB,GAA4B,CAAtE;IACA,MAAM0qQ,eAAe,GAAG/mB,aAAa,CAAC71B,UAAd,GACpBkU,QAAQ,CAACyoC,kBAAD,EAAqB,IAArB,CADZ;IAEA,MAAME,KAAK,GAAGD,eAAe,CAACzzP,KAAhB,EAAd;IACA,IAAI2zP,cAAc,GAAGjnB,aAAa,CAACvlJ,KAAnC;;IACA,OAAOwsK,cAAc,KAAK,IAA1B,EAAgC;MAC5B,MAAMC,SAAS,GAAGP,eAAe,GAAGD,2BAA2B,CAACO,cAAD,EAAiBN,eAAjB,CAA9B,GAAkE,CAAnG;;MACA,IAAIO,SAAS,KAAK,IAAlB,EAAwB;QACpB,IAAIF,KAAK,CAACE,SAAD,CAAT,EAAsB;UAClBF,KAAK,CAACE,SAAD,CAAL,CAAiBtnB,cAAjB,GAAkCqnB,cAAlC;QACH,CAFD,MAGK;UACDF,eAAe,CAACG,SAAD,CAAf,GAA6BD,cAA7B;QACH;;QACDD,KAAK,CAACE,SAAD,CAAL,GAAmBD,cAAnB;MACH;;MACDA,cAAc,GAAGA,cAAc,CAAC5nO,IAAhC;IACH;EACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASt1B,YAAT,CAAsB4iN,SAAtB,EAAiCw6C,aAAa,GAAG,CAAjD,EAAoD3yP,KAApD,EAA2D;EACvD,MAAM6zM,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAM3M,KAAK,GAAG4M,QAAQ,EAAtB;EACA,MAAM0xB,eAAe,GAAG+S,gBAAgB,CAACrxC,KAAD,EAAQ2F,aAAa,GAAGwF,SAAxB,EAAmC;EAAG;EAAtC,EAAkE,IAAlE,EAAwEn4M,KAAK,IAAI,IAAjF,CAAxC,CAHuD,CAIvD;;EACA,IAAIsrO,eAAe,CAAC31B,UAAhB,KAA+B,IAAnC,EACI21B,eAAe,CAAC31B,UAAhB,GAA6Bg9C,aAA7B,CANmD,CAOvD;;EACAt4C,0BAA0B;;EAC1B,IAAI,CAACixB,eAAe,CAACriI,KAAhB,GAAwB;EAAG;EAA5B,MAA6D;EAAG;EAApE,EAAiG;IAC7F;IACAoiI,eAAe,CAACr+B,KAAD,EAAQ6G,KAAR,EAAey3B,eAAf,CAAf;EACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsnB,qBAAT,CAA+BnrC,QAA/B,EAAyCimC,EAAzC,EAA6Cx2B,SAA7C,EAAwD;EACpD27B,sBAAsB,CAACprC,QAAD,EAAW,EAAX,EAAeimC,EAAf,EAAmB,EAAnB,EAAuBx2B,SAAvB,CAAtB;EACA,OAAO07B,qBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgCprC,QAAhC,EAA0Cx+N,MAA1C,EAAkDykQ,EAAlD,EAAsDxkQ,MAAtD,EAA8DguO,SAA9D,EAAyE;EACrE,MAAMrjB,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGtB,cAAc,CAAC55C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoBxkQ,MAApB,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM5hC,KAAK,GAAG4M,QAAQ,EAAtB;IACA,MAAM7M,KAAK,GAAGoQ,gBAAgB,EAA9B;IACA0kC,uBAAuB,CAAC70C,KAAD,EAAQD,KAAR,EAAe8G,KAAf,EAAsB4T,QAAtB,EAAgCsnC,iBAAhC,EAAmDl7C,KAAK,CAAC7B,QAAD,CAAxD,EAAoEklB,SAApE,EAA+E,KAA/E,CAAvB;IACAnlO,SAAS,IACLk0P,4BAA4B,CAACj5C,KAAK,CAACrhL,IAAP,EAAaohL,KAAb,EAAoB0a,QAApB,EAA8B7M,eAAe,KAAK,CAAlD,EAAqD3xN,MAArD,EAA6DC,MAA7D,CADhC;EAEH;;EACD,OAAO2pQ,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgCrrC,QAAhC,EAA0Cx+N,MAA1C,EAAkDykQ,EAAlD,EAAsD18P,EAAtD,EAA0D48P,EAA1D,EAA8D1kQ,MAA9D,EAAsEguO,SAAtE,EAAiF;EAC7E,MAAMrjB,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGpB,cAAc,CAAC95C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B1kQ,MAA5B,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM5hC,KAAK,GAAG4M,QAAQ,EAAtB;IACA,MAAM7M,KAAK,GAAGoQ,gBAAgB,EAA9B;IACA0kC,uBAAuB,CAAC70C,KAAD,EAAQD,KAAR,EAAe8G,KAAf,EAAsB4T,QAAtB,EAAgCsnC,iBAAhC,EAAmDl7C,KAAK,CAAC7B,QAAD,CAAxD,EAAoEklB,SAApE,EAA+E,KAA/E,CAAvB;IACAnlO,SAAS,IACLk0P,4BAA4B,CAACj5C,KAAK,CAACrhL,IAAP,EAAaohL,KAAb,EAAoB0a,QAApB,EAA8B7M,eAAe,KAAK,CAAlD,EAAqD3xN,MAArD,EAA6D+H,EAA7D,EAAiE9H,MAAjE,CADhC;EAEH;;EACD,OAAO4pQ,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgCtrC,QAAhC,EAA0Cx+N,MAA1C,EAAkDykQ,EAAlD,EAAsD18P,EAAtD,EAA0D48P,EAA1D,EAA8D31H,EAA9D,EAAkE61H,EAAlE,EAAsE5kQ,MAAtE,EAA8EguO,SAA9E,EAAyF;EACrF,MAAMrjB,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGlB,cAAc,CAACh6C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B31H,EAA5B,EAAgC61H,EAAhC,EAAoC5kQ,MAApC,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM5hC,KAAK,GAAG4M,QAAQ,EAAtB;IACA,MAAM7M,KAAK,GAAGoQ,gBAAgB,EAA9B;IACA0kC,uBAAuB,CAAC70C,KAAD,EAAQD,KAAR,EAAe8G,KAAf,EAAsB4T,QAAtB,EAAgCsnC,iBAAhC,EAAmDl7C,KAAK,CAAC7B,QAAD,CAAxD,EAAoEklB,SAApE,EAA+E,KAA/E,CAAvB;IACAnlO,SAAS,IACLk0P,4BAA4B,CAACj5C,KAAK,CAACrhL,IAAP,EAAaohL,KAAb,EAAoB0a,QAApB,EAA8B7M,eAAe,KAAK,CAAlD,EAAqD3xN,MAArD,EAA6D+H,EAA7D,EAAiEinI,EAAjE,EAAqE/uI,MAArE,CADhC;EAEH;;EACD,OAAO6pQ,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgCvrC,QAAhC,EAA0Cx+N,MAA1C,EAAkDykQ,EAAlD,EAAsD18P,EAAtD,EAA0D48P,EAA1D,EAA8D31H,EAA9D,EAAkE61H,EAAlE,EAAsEE,EAAtE,EAA0EC,EAA1E,EAA8E/kQ,MAA9E,EAAsFguO,SAAtF,EAAiG;EAC7F,MAAMrjB,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGhB,cAAc,CAACl6C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B31H,EAA5B,EAAgC61H,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4C/kQ,MAA5C,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM5hC,KAAK,GAAG4M,QAAQ,EAAtB;IACA,MAAM7M,KAAK,GAAGoQ,gBAAgB,EAA9B;IACA0kC,uBAAuB,CAAC70C,KAAD,EAAQD,KAAR,EAAe8G,KAAf,EAAsB4T,QAAtB,EAAgCsnC,iBAAhC,EAAmDl7C,KAAK,CAAC7B,QAAD,CAAxD,EAAoEklB,SAApE,EAA+E,KAA/E,CAAvB;IACAnlO,SAAS,IACLk0P,4BAA4B,CAACj5C,KAAK,CAACrhL,IAAP,EAAaohL,KAAb,EAAoB0a,QAApB,EAA8B7M,eAAe,KAAK,CAAlD,EAAqD3xN,MAArD,EAA6D+H,EAA7D,EAAiEinI,EAAjE,EAAqE+1H,EAArE,EAAyE9kQ,MAAzE,CADhC;EAEH;;EACD,OAAO8pQ,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgCxrC,QAAhC,EAA0Cx+N,MAA1C,EAAkDykQ,EAAlD,EAAsD18P,EAAtD,EAA0D48P,EAA1D,EAA8D31H,EAA9D,EAAkE61H,EAAlE,EAAsEE,EAAtE,EAA0EC,EAA1E,EAA8EE,EAA9E,EAAkFC,EAAlF,EAAsFllQ,MAAtF,EAA8FguO,SAA9F,EAAyG;EACrG,MAAMrjB,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGb,cAAc,CAACr6C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B31H,EAA5B,EAAgC61H,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDllQ,MAApD,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM5hC,KAAK,GAAG4M,QAAQ,EAAtB;IACA,MAAM7M,KAAK,GAAGoQ,gBAAgB,EAA9B;IACA0kC,uBAAuB,CAAC70C,KAAD,EAAQD,KAAR,EAAe8G,KAAf,EAAsB4T,QAAtB,EAAgCsnC,iBAAhC,EAAmDl7C,KAAK,CAAC7B,QAAD,CAAxD,EAAoEklB,SAApE,EAA+E,KAA/E,CAAvB;IACAnlO,SAAS,IACLk0P,4BAA4B,CAACj5C,KAAK,CAACrhL,IAAP,EAAaohL,KAAb,EAAoB0a,QAApB,EAA8B7M,eAAe,KAAK,CAAlD,EAAqD3xN,MAArD,EAA6D+H,EAA7D,EAAiEinI,EAAjE,EAAqE+1H,EAArE,EAAyEG,EAAzE,EAA6EjlQ,MAA7E,CADhC;EAEH;;EACD,OAAO+pQ,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgCzrC,QAAhC,EAA0Cx+N,MAA1C,EAAkDykQ,EAAlD,EAAsD18P,EAAtD,EAA0D48P,EAA1D,EAA8D31H,EAA9D,EAAkE61H,EAAlE,EAAsEE,EAAtE,EAA0EC,EAA1E,EAA8EE,EAA9E,EAAkFC,EAAlF,EAAsFE,EAAtF,EAA0FC,EAA1F,EAA8FrlQ,MAA9F,EAAsGguO,SAAtG,EAAiH;EAC7G,MAAMrjB,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGV,cAAc,CAACx6C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B31H,EAA5B,EAAgC61H,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DrlQ,MAA5D,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM5hC,KAAK,GAAG4M,QAAQ,EAAtB;IACA,MAAM7M,KAAK,GAAGoQ,gBAAgB,EAA9B;IACA0kC,uBAAuB,CAAC70C,KAAD,EAAQD,KAAR,EAAe8G,KAAf,EAAsB4T,QAAtB,EAAgCsnC,iBAAhC,EAAmDl7C,KAAK,CAAC7B,QAAD,CAAxD,EAAoEklB,SAApE,EAA+E,KAA/E,CAAvB;IACAnlO,SAAS,IACLk0P,4BAA4B,CAACj5C,KAAK,CAACrhL,IAAP,EAAaohL,KAAb,EAAoB0a,QAApB,EAA8B7M,eAAe,KAAK,CAAlD,EAAqD3xN,MAArD,EAA6D+H,EAA7D,EAAiEinI,EAAjE,EAAqE+1H,EAArE,EAAyEG,EAAzE,EAA6EG,EAA7E,EAAiFplQ,MAAjF,CADhC;EAEH;;EACD,OAAOgqQ,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC1rC,QAAhC,EAA0Cx+N,MAA1C,EAAkDykQ,EAAlD,EAAsD18P,EAAtD,EAA0D48P,EAA1D,EAA8D31H,EAA9D,EAAkE61H,EAAlE,EAAsEE,EAAtE,EAA0EC,EAA1E,EAA8EE,EAA9E,EAAkFC,EAAlF,EAAsFE,EAAtF,EAA0FC,EAA1F,EAA8FE,EAA9F,EAAkGC,EAAlG,EAAsGxlQ,MAAtG,EAA8GguO,SAA9G,EAAyH;EACrH,MAAMrjB,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGP,cAAc,CAAC36C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B31H,EAA5B,EAAgC61H,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoExlQ,MAApE,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM5hC,KAAK,GAAG4M,QAAQ,EAAtB;IACA,MAAM7M,KAAK,GAAGoQ,gBAAgB,EAA9B;IACA0kC,uBAAuB,CAAC70C,KAAD,EAAQD,KAAR,EAAe8G,KAAf,EAAsB4T,QAAtB,EAAgCsnC,iBAAhC,EAAmDl7C,KAAK,CAAC7B,QAAD,CAAxD,EAAoEklB,SAApE,EAA+E,KAA/E,CAAvB;IACAnlO,SAAS,IACLk0P,4BAA4B,CAACj5C,KAAK,CAACrhL,IAAP,EAAaohL,KAAb,EAAoB0a,QAApB,EAA8B7M,eAAe,KAAK,CAAlD,EAAqD3xN,MAArD,EAA6D+H,EAA7D,EAAiEinI,EAAjE,EAAqE+1H,EAArE,EAAyEG,EAAzE,EAA6EG,EAA7E,EAAiFG,EAAjF,EAAqFvlQ,MAArF,CADhC;EAEH;;EACD,OAAOiqQ,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC3rC,QAAhC,EAA0Cx+N,MAA1C,EAAkDykQ,EAAlD,EAAsD18P,EAAtD,EAA0D48P,EAA1D,EAA8D31H,EAA9D,EAAkE61H,EAAlE,EAAsEE,EAAtE,EAA0EC,EAA1E,EAA8EE,EAA9E,EAAkFC,EAAlF,EAAsFE,EAAtF,EAA0FC,EAA1F,EAA8FE,EAA9F,EAAkGC,EAAlG,EAAsGE,EAAtG,EAA0GC,EAA1G,EAA8G3lQ,MAA9G,EAAsHguO,SAAtH,EAAiI;EAC7H,MAAMrjB,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGJ,cAAc,CAAC96C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B31H,EAA5B,EAAgC61H,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4E3lQ,MAA5E,CAAxC;;EACA,IAAI6lQ,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM5hC,KAAK,GAAG4M,QAAQ,EAAtB;IACA,MAAM7M,KAAK,GAAGoQ,gBAAgB,EAA9B;IACA0kC,uBAAuB,CAAC70C,KAAD,EAAQD,KAAR,EAAe8G,KAAf,EAAsB4T,QAAtB,EAAgCsnC,iBAAhC,EAAmDl7C,KAAK,CAAC7B,QAAD,CAAxD,EAAoEklB,SAApE,EAA+E,KAA/E,CAAvB;IACAnlO,SAAS,IACLk0P,4BAA4B,CAACj5C,KAAK,CAACrhL,IAAP,EAAaohL,KAAb,EAAoB0a,QAApB,EAA8B7M,eAAe,KAAK,CAAlD,EAAqD3xN,MAArD,EAA6D+H,EAA7D,EAAiEinI,EAAjE,EAAqE+1H,EAArE,EAAyEG,EAAzE,EAA6EG,EAA7E,EAAiFG,EAAjF,EAAqFG,EAArF,EAAyF1lQ,MAAzF,CADhC;EAEH;;EACD,OAAOkqQ,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC5rC,QAAhC,EAA0C1gK,MAA1C,EAAkDmwK,SAAlD,EAA6D;EACzD,MAAMrjB,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGxB,cAAc,CAAC15C,KAAD,EAAQ9sJ,MAAR,CAAxC;;EACA,IAAIgoM,iBAAiB,KAAKngB,SAA1B,EAAqC;IACjC,MAAM5hC,KAAK,GAAG4M,QAAQ,EAAtB;IACA,MAAM7M,KAAK,GAAGoQ,gBAAgB,EAA9B;IACA0kC,uBAAuB,CAAC70C,KAAD,EAAQD,KAAR,EAAe8G,KAAf,EAAsB4T,QAAtB,EAAgCsnC,iBAAhC,EAAmDl7C,KAAK,CAAC7B,QAAD,CAAxD,EAAoEklB,SAApE,EAA+E,KAA/E,CAAvB;;IACA,IAAInlO,SAAJ,EAAe;MACX,MAAM09P,sBAAsB,GAAG,CAAC1oM,MAAM,CAAC,CAAD,CAAP,CAA/B,CADW,CACiC;;MAC5C,KAAK,IAAIt/D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGs/D,MAAM,CAACl/D,MAA3B,EAAmCJ,CAAC,IAAI,CAAxC,EAA2C;QACvCgoQ,sBAAsB,CAAC1jQ,IAAvB,CAA4Bg7D,MAAM,CAACt/D,CAAD,CAAlC;MACH;;MACDw+P,4BAA4B,CAACj5C,KAAK,CAACrhL,IAAP,EAAaohL,KAAb,EAAoB0a,QAApB,EAA8B7M,eAAe,KAAK60C,sBAAsB,CAAC5nQ,MAA3C,GAAoD,CAAlF,EAAqF,GAAG4nQ,sBAAxF,CAA5B;IACH;EACJ;;EACD,OAAO4D,sBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIC,mEAAJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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CAACvH,iBAAD,CAAV;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwL,sBAAT,CAAgCtxQ,MAAhC,EAAwCykQ,EAAxC,EAA4C18P,EAA5C,EAAgD48P,EAAhD,EAAoD31H,EAApD,EAAwD61H,EAAxD,EAA4D5kQ,MAA5D,EAAoE;EAChE,MAAM2qN,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGlB,cAAc,CAACh6C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B31H,EAA5B,EAAgC61H,EAAhC,EAAoC5kQ,MAApC,CAAxC;EACAotQ,UAAU,CAACvH,iBAAD,CAAV;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyL,sBAAT,CAAgCvxQ,MAAhC,EAAwCykQ,EAAxC,EAA4C18P,EAA5C,EAAgD48P,EAAhD,EAAoD31H,EAApD,EAAwD61H,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoE/kQ,MAApE,EAA4E;EACxE,MAAM2qN,KAAK,GAAG8F,QAAQ,EAAtB;EACA,MAAMo1C,iBAAiB,GAAGhB,cAAc,CAACl6C,KAAD,EAAQ5qN,MAAR,EAAgBykQ,EAAhB,EAAoB18P,EAApB,EAAwB48P,EAAxB,EAA4B31H,EAA5B,EAAgC61H,EAAhC,EAAoCE,EAApC,EAAwCC,EAAxC,EAA4C/kQ,MAA5C,CAAxC;EACAotQ,UAAU,CAACvH,iBAAD,CAAV;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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EAAc,GAAGjjM;AAAjB,CAAR,CAAT,EAAwC4F,SAAxC,EAAmDA,SAAnD,EAA8D,CAACnO,IAAD,EAAOo6N,IAAP,KAAgB81D,WAAW,CAAClwR,IAAD,EAAOo6N,IAAP,CAAzF,CAA1B;AACA;AACA;AACA;AACA;;AACA,MAAM/2N,KAAK,GAAG22N,iBAAiB,CAAC,OAAD,EAAWq2D,mBAAD,KAA0B;EAAEA;AAAF,CAA1B,CAAV,CAA/B;AACA;AACA;AACA;AACA;;AACA,MAAM95P,MAAM,GAAGyjM,iBAAiB,CAAC,QAAD,EAAYq2D,mBAAD,KAA0B;EAAEA;AAAF,CAA1B,CAAX,CAAhC;AACA;AACA;AACA;AACA;;AACA,MAAMC,WAAW,GAAGt2D,iBAAiB,CAAC,aAAD,EAAiBu2D,gBAAD,KAAuB;EAAEA;AAAF,CAAvB,CAAhB,CAArC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMp5P,YAAY,GAAG6iM,iBAAiB,CAAC,cAAD,EAAiB,CAAC9oN,SAAD,EAAY/M,IAAZ,MAAsB;EAAE+M,SAAF;EAAa/M;AAAb,CAAtB,CAAjB,CAAtC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,MAAMb,QAAQ,GAAGw1N,aAAa,CAAC,UAAD,EAAc7pM,QAAD,IAAcA,QAA3B,EAAqC9gB,SAArC,EAAgDA,SAAhD;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAACnO,IAAD,EAAOo6N,IAAP,KAAgBkwD,eAAe,CAACtqR,IAAD,EAAOo6N,IAAP,CAZD,CAA9B;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS15E,IAAT,CAAc,GAAGv8I,IAAjB,EAAuB,CACnB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMqsR,gBAAgB,GAAG,IAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,eAAe,GAAG,IAAInlG,cAAJ,CAAmB,yBAAnB,CAAxB;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMolG,qBAAN,CAA4B;EACxBjtR,WAAW,CAACktR,QAAD,EAAW;IAClB,KAAKA,QAAL,GAAgBA,QAAhB;IACA,KAAKroO,OAAL,GAAeo4F,IAAf;IACA,KAAKn4F,MAAL,GAAcm4F,IAAd;IACA,KAAKkwI,WAAL,GAAmB,KAAnB;IACA,KAAKj4N,IAAL,GAAY,KAAZ;IACA,KAAKk4N,WAAL,GAAmB,IAAIxoO,OAAJ,CAAY,CAACh0C,GAAD,EAAMy8Q,GAAN,KAAc;MACzC,KAAKxoO,OAAL,GAAej0C,GAAf;MACA,KAAKk0C,MAAL,GAAcuoO,GAAd;IACH,CAHkB,CAAnB;EAIH;EACD;;;EACAC,eAAe,GAAG;IACd,IAAI,KAAKH,WAAT,EAAsB;MAClB;IACH;;IACD,MAAMI,iBAAiB,GAAG,EAA1B;;IACA,MAAMp3Q,QAAQ,GAAG,MAAM;MACnB,KAAK++C,IAAL,GAAY,I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AAOC,IAAP,KAAgB,WADhB,IAC+BA,IAAI,CAACkkB,MAAL,KAAgB,IADnD,EACyD;IACrD;IACA;IACA;IACA,OAAOlkB,IAAI,CAACkkB,MAAZ;EACH,CAND,MAOK;IACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,OAAQ,OAAOC,SAAP,KAAqB,WAArB,IAAoCA,SAAS,CAAC7qJ,MAA/C,IAA0D4nI,iBAAjE;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMljF,SAAS,GAAG,IAAIP,cAAJ,CAAmB,UAAnB,EAA+B;EAC7CtnL,UAAU,EAAE,MADiC;EAE7CD,OAAO,EAAE,MAAMwnL,MAAM,CAACM,SAAD,EAAY4xB,WAAW,CAACjyB,QAAZ,GAAuBiyB,WAAW,CAACwQ,QAA/C,CAAN,IAAkE6jE,eAAe;AAFnD,CAA/B,CAAlB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMtlG,qBAAqB,GAAG,IAAIlB,cAAJ,CAAmB,qBAAnB,EAA0C;EACpEtnL,UAAU,EAAE,MADwD;EAEpED,OAAO,EAAE,MAAMirQ;AAFqD,CAA1C,CAA9B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMijB,YAAY,GAAG,IAAI3mG,cAAJ,CAAmB,cAAnB,CAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM4mG,mBAAmB,GAAG,IA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AP,CAAyB,MAAMj9B,YAAY,CAACjmB,WAAb,CAAyB/1O,CAAzB,CAA/B,EADM,CAEN;;IACA,MAAMA,CAAN;EACH;AACJ;;AACD,SAASigS,cAAT,CAAwBzpE,GAAxB,EAA6B3/J,IAA7B,EAAmC;EAC/B,IAAI7qD,KAAK,CAACgL,OAAN,CAAc6/C,IAAd,CAAJ,EAAyB;IACrB2/J,GAAG,GAAG3/J,IAAI,CAACk1F,MAAL,CAAYk0I,cAAZ,EAA4BzpE,GAA5B,CAAN;EACH,CAFD,MAGK;IACDA,GAAG,GAAG,EAAE,GAAGA,GAAL;MAAU,GAAG3/J;IAAb,CAAN;EACH;;EACD,OAAO2/J,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMlpL,cAAN,CAAqB;EACjB;EACAvmC,WAAW,CAACy5R,KAAD,EAAQp0P,SAAR,EAAmBq0P,iBAAnB,EAAsC;IAC7C,KAAKD,KAAL,GAAaA,KAAb;IACA,KAAKp0P,SAAL,GAAiBA,SAAjB;IACA,KAAKq0P,iBAAL,GAAyBA,iBAAzB;IACA;;IACA,KAAKC,mBAAL,GAA2B,EAA3B;IACA,KAAKC,MAAL,GAAc,EAAd;IACA,KAAKC,YAAL,GAAoB,KAApB;IACA,KAAKC,OAAL,GAAe,IAAf;IACA,KAAKngI,UAAL,GAAkB,KAAlB;IACA,KAAKg/H,iBAAL,GAAyB,EAAzB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,IAAI91B,KAAK,CAACj/M,IAAN,IAAc;EAAE;EAAF,EAA6B;EAAG;EAAhC,EAA+D;EAAG;EAAhF,CAAJ,EAA0G;IAC3G;IACA;IACA,MAAMg/R,iBAAiB,GAAGj5E,KAAK,CAACxB,0BAAD,CAA/B,CAH2G,CAG9C;;IAC7D,OAAO,IAAI60C,SAAJ,CAAc4lC,iBAAd,EAAiCj5E,KAAjC,CAAP;EACH;;EACD,OAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMk5E,OAAN,SAAsB1pQ,iBAAtB,CAAwC;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2pQ,eAAN,SAA8BD,OAA9B,CAAsC;AAGtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIE,6BAA6B,GAAG,EAApC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,MAAMC,kBAAN,CAAyB;EACrB37R,WAAW,CAAC7B,IAAD,EAAOpF,QAAP,EAAiB;IACxB,KAAKoF,IAAL,GAAYA,IAAZ;IACA,KAAKpF,QAAL,GAAgBA,QAAhB;EACH;;AAJoB;AAMzB;AACA;AACA;;;AACA,SAAS6iS,gBAAT,CAA0BC,QAA1B,EAAoC;EAChC,OAAOA,QAAQ,CAACrmR,GAAT,CAActb,EAAD,IAAQA,EAAE,CAACwI,aAAxB,CAAP;AACH;AACD;AACA;AACA;;;AACA,MAAMo5R,SAAN,CAAgB;EACZ97R,WAAW,CAAC+7R,UAAD,EAAa;IACpB,KAAKA,UAAL,GAAkBA,UAAlB;EAC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;AACA,SAASgsS,iBAAT,CAA2B/wS,KAA3B,EAAkC;EAC9B;AACJ;AACA;AACA;AACA;EACI,OAAOA,KAAK,IAAI,IAAT,IACF,CAAC,OAAOA,KAAP,KAAiB,QAAjB,IAA6BwJ,KAAK,CAACgL,OAAN,CAAcxU,KAAd,CAA9B,KAAuDA,KAAK,CAACnF,MAAN,KAAiB,CAD7E;AAEH;;AACD,SAASm2S,cAAT,CAAwBhxS,KAAxB,EAA+B;EAC3B;EACA,OAAOA,KAAK,IAAI,IAAT,IAAiB,OAAOA,KAAK,CAACnF,MAAb,KAAwB,QAAhD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMo2S,aAAa,GAAG,IAAI7kH,yDAAJ,CAAmB,cAAnB,CAAtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM8kH,mBAAmB,GAAG,IAAI9kH,yDAAJ,CAAmB,mBAAnB,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM+kH,YAAY,GAAG,oMAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,UAAN,CAAiB;EACb;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACc,OAAHt5R,GAAG,CAACA,GAAD,EAAM;IACZ,OAAOu5R,YAAY,CAACv5R,GAAD,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACc,OAAHxZ,GAAG,CAACA,GAAD,EAAM;IACZ,OAAOgzS,YAAY,CAAChzS,GAAD,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACmB,OAARw/F,QAAQ,CAAC75D,OAAD,EAAU;IACrB,OAAOstQ,iBAAiB,CAACttQ,OAAD,CAAxB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACuB,OAAZutQ,YAAY,CAACvtQ,OAAD,EAAU;IACzB,OAAOwtQ,qBAAqB,CAACxtQ,OAAD,CAA5B;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACgB,OAALytQ,KAAK,CAACztQ,OAAD,EAAU;IAClB,OAAO0tQ,cAAc,CAAC1tQ,OAAD,CAArB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACoB,OAAT2tQ,SAAS,CAACA,SAAD,EAAY;IACxB,OAAOC,kBAAkB,CAACD,SAAD,CAAzB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACoB,OAATptM,SAAS,CAACA,SAAD,EAAY;IACxB,OAAOstM,kBAAkB,CAA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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIE,aAAa,CAAC1G,UAAD,EAAa;IACtB,KAAKkB,cAAL,GAAsBlB,UAAtB;IACA,KAAKqC,oBAAL,GAA4BmD,iBAAiB,CAACxF,UAAD,CAA7C;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI2G,kBAAkB,CAAC3G,UAAD,EAAa;IAC3B,KAAKoB,mBAAL,GAA2BpB,UAA3B;IACA,KAAKuC,yBAAL,GAAiCoD,sBAAsB,CAAC3F,UAAD,CAAvD;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIuB,aAAa,CAACvB,UAAD,EAAa;IACtB,KAAK0G,aAAL,CAAmBnF,aAAa,CAACvB,UAAD,EAAa,KAAKkB,cAAlB,CAAhC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI0F,kBAAkB,CAAC5G,UAAD,EAAa;IAC3B,KAAK2G,kBAAL,CAAwBpF,aAAa,CAACvB,UAAD,EAAa,KAAKoB,mBAAlB,CAArC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIM,gBAAgB,CAAC1B,UAAD,EAAa;IACzB,KAAK0G,aAAL,CAAmBhF,gBAAgB,CAAC1B,UAAD,EAAa,KAAKkB,cAAlB,CAAnC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI2F,qBAAqB,CAAC7G,UAAD,EAAa;IAC9B,KAAK2G,kBAAL,CAAwBjF,gBAAgB,CAAC1B,UAAD,EAAa,KAAKoB,mBAAlB,CAAxC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIE,YAAY,CAA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6B97F,IAA7B;IACH;EACJ;EACD;;;EACA27F,cAAc,CAAC37F,IAAI,GAAG,EAAR,EAAY;IACtB,KAAKs2F,OAAL,GAAe,KAAKmH,mBAAL,EAAf;;IACA,IAAI,KAAKr0D,OAAL,IAAgB,CAACppC,IAAI,CAACw7F,QAA1B,EAAoC;MAChC,KAAKpyD,OAAL,CAAauyD,cAAb,CAA4B37F,IAA5B;IACH;EACJ;EACD;;;EACA09F,2BAA2B,CAACnnM,EAAD,EAAK;IAC5B,KAAKmkM,mBAAL,GAA2BnkM,EAA3B;EACH;EACD;;;EACAonM,kBAAkB,CAAC39F,IAAD,EAAO;IACrB,IAAI65F,YAAY,CAAC75F,IAAD,CAAZ,IAAsBA,IAAI,CAAC86F,QAAL,IAAiB,IAA3C,EAAiD;MAC7C,KAAKC,SAAL,GAAiB/6F,IAAI,CAAC86F,QAAtB;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;;;EACIoB,kBAAkB,CAACV,QAAD,EAAW;IACzB,MAAMoC,WAAW,GAAG,KAAKx0D,OAAL,IAAgB,KAAKA,OAAL,CAAayH,KAAjD;IACA,OAAO,CAAC2qD,QAAD,IAAa,CAAC,CAACoC,WAAf,IAA8B,CAAC,KAAKx0D,OAAL,CAAao0D,iBAAb,EAAtC;EACH;EACD;;;EACAJ,KAAK,CAACr4S,IAAD,EAAO;IACR,OAAO,IAAP;EACH;;AAzyBiB;AA4yBtB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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J;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,uBAAuB,GAAG;EAC5B3lG,OAAO,EAAEi7F,gBADmB;EAE5B76F,WAAW,EAAE5lL,yDAAU,CAAC,MAAMorR,MAAP;AAFK,CAAhC;;AAIA,MAAMC,iBAAiB,GAAG,CAAC,MAAMv2P,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAP,GAA1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMq2P,MAAN,SAAqB3K,gBAArB,CAAsC;EAClCvwS,WAAW,CAAC0tS,UAAD,EAAa0F,eAAb,EAA8B;IACrC;IACA;AACR;AACA;AACA;;IACQ,KAAK/B,SAAL,GAAiB,KAAjB;IACA,KAAK+J,WAAL,GAAmB,IAAInrP,GAAJ,EAAnB;IACA;AACR;AACA;AACA;;IACQ,KAAKorP,QAAL,GAAgB,IAAIlqR,uDAAJ,EAAhB;IACA,KAAKykK,IAAL,GACI,IAAIqhH,SAAJ,CAAc,EAAd,EAAkB3I,iBAAiB,CAACZ,UAAD,CAAnC,EAAiDa,sBAAsB,CAAC6E,eAAD,CAAvE,CADJ;EAEH;EACD;;;EACA/4Q,eAAe,GAAG;IACd,KAAK08Q,kBAAL;EACH;EACD;AACJ;AACA;AACA;;;EACqB,IAAbvG,aAAa,GAAG;IAChB,OAAO,IAAP;EACH;EACD;AACJ;AACA;AACA;;;EACe,IAAP9wQ,OAAO,GAAG;IACV,OAAO,KAAKk2J,IAAZ;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACY,IAAJ5kH,IAAI,GAAG;IACP,OAAO,EAAP;EACH;EACD;AACJ;AACA;AACA;;;EACgB,I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L,IAAI,EAAE21N,+CAAIA;MADX,CAFkC,EAIlC;QACC31N,IAAI,EAAEs2B,iDADP;QAECnyB,IAAI,EAAE,CAACgsS,aAAD;MAFP,CAJkC;IAA/B,CAJ2B,EAW3B;MAAEnwS,IAAI,EAAEmO,SAAR;MAAmBkgB,UAAU,EAAE,CAAC;QAClCruB,IAAI,EAAEwrL,mDAAQA;MADoB,CAAD,EAElC;QACCxrL,IAAI,EAAE21N,+CAAIA;MADX,CAFkC,EAIlC;QACC31N,IAAI,EAAEs2B,iDADP;QAECnyB,IAAI,EAAE,CAACisS,mBAAD;MAFP,CAJkC;IAA/B,CAX2B,CAAP;EAkBlB,CArBxB,EAqB0C;IAAExuS,IAAI,EAAE,CAAC;MACnC5B,IAAI,EAAEqD,gDAD6B;MAEnCc,IAAI,EAAE,CAAC,cAAD;IAF6B,CAAD;EAAR,CArB1C;AAAA;AA0BA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMu8S,oBAAoB,GAAG;EACzB3nG,OAAO,EAAEm7F,SADgB;EAEzB/6F,WAAW,EAAE5lL,yDAAU,CAAC,MAAMotR,OAAP;AAFE,CAA7B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM7qG,eAAe,GAAG,CAAC,MAAMztJ,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAP,GAAxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMM,SAAN,SAAwBhR,eAAxB,CAAwC;EACpC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACI1zS,WAAW,CAAC+I,QAAD,EAAWiqS,eAAX,EAA4B9C,cAA5B,EAA4C;IACnD,MAAM6C,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAACjD,cAAD,EAAiB8C,eAAjB,CAA1D;IACA,KAAKjqS,QAAL,GAAgBA,QAAhB;;IACA,KAAK0tS,gBAAL;;IACA,KAAKM,kBAAL,CAAwB/D,eAAxB;;IACA,KAAKkE,cAAL;;IACA,KAAKxB,sBAAL,CAA4B;MACxBd,QAAQ,EAAE,IADc;MAExB;MACA;MACA;MACA;MACAQ,SAAS,EAAE,CAAC,CAAC,KAAKlF;IANM,CAA5B;EAQH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIyU,EAAE,CAACh7S,KAAD,EAAQ;IACN,OAAO,KAAKZ,QAAL,CAAc,KAAKk5Q,YAAL,CAAkBt4Q,KAAlB,CAAd,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACInP,IAAI,CAACklC,OAAD,EAAU5oC,OAAO,GAAG,EAApB,EAAwB;IACxB,KAAKiS,QAAL,CAAcvO,IAAd,CAAmBklC,OAAnB;;IACA,KAAKklR,gBAAL,CAAsBllR,OAAtB;;IACA,KAAKg2Q,sBAAL,CAA4B;MAAEN,SAAS,EAAEt+S,OAAO,CAACs+S;IAArB,CAA5B;;IACA,KAAKtB,mBAAL;EACH;EACD;AACJ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KAAK,IAAI9lU,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8lU,QAAQ,CAAC1lU,MAA7B,EAAqCJ,CAAC,EAAtC,EAA0C;IACtC,MAAM0xE,GAAG,GAAGo0P,QAAQ,CAAC9lU,CAAD,CAApB;;IACA,IAAI0xE,GAAG,IAAI,IAAX,EAAiB;MACb,MAAM,IAAIg0F,2DAAJ,CAAkB;MAAK;MAAvB,EAA+D2wI,aAAa,IAAK,+BAA8B3kO,GAAI,qBAAoB1xE,CAAE,EAAzI,CAAN;IACH;EACJ;AACJ;;AACD,SAASikV,4BAAT,CAAsC1kU,MAAtC,EAA8C;EAC1C,OAAOA,MAAM,KAAK,YAAlB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM4nU,UAAN,CAAiB;EACbr9U,WAAW,CAACy3U,MAAD,EAAS3hB,KAAT,EAAgBwnB,iBAAhB,EAAmCtxT,QAAnC,EAA6C9xB,EAA7C,EAAiD;IACxD,KAAKu9U,MAAL,GAAcA,MAAd;IACA,KAAK3hB,KAAL,GAAaA,KAAb;IACA,KAAKwnB,iBAAL,GAAyBA,iBAAzB;IACA,KAAKtxT,QAAL,GAAgBA,QAAhB;IACA,KAAK9xB,EAAL,GAAUA,EAAV;IACA,KAAK8hU,QAAL,GAAgB,IAAhB;IACA;;IACA,KA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","sources":["./node_modules/countup.js/dist/countUp.min.js","./node_modules/file-saver/dist/FileSaver.min.js","./node_modules/lightgallery/angular/fesm2015/lightgallery-angular.js","./node_modules/lightgallery/lightgallery.es5.js","./node_modules/lightgallery/plugins/video/lg-video.es5.js","./node_modules/ng2-sticky-nav/__ivy_ngcc__/dist/index.js","./node_modules/ng2-sticky-nav/__ivy_ngcc__/dist/src/sticky-nav.directive.js","./node_modules/ngx-accordion/__ivy_ngcc__/Accordion.js","./node_modules/ngx-accordion/__ivy_ngcc__/AccordionGroup.js","./node_modules/ngx-accordion/__ivy_ngcc__/AccordionHeading.js","./node_modules/ngx-accordion/__ivy_ngcc__/AccordionToggle.js","./node_modules/ngx-accordion/__ivy_ngcc__/index.js","./node_modules/ngx-filesaver/__ivy_ngcc__/fesm2015/ngx-filesaver.js","./node_modules/ngx-lightbox/__ivy_ngcc__/index.js","./node_modules/ngx-lightbox/__ivy_ngcc__/lightbox-config.service.js","./node_modules/ngx-lightbox/__ivy_ngcc__/lightbox-event.service.js","./node_modules/ngx-lightbox/__ivy_ngcc__/lightbox-overlay.component.js","./node_modules/ngx-lightbox/__ivy_ngcc__/lightbox.component.js","./node_modules/ngx-lightbox/__ivy_ngcc__/lightbox.module.js","./node_modules/ngx-lightbox/__ivy_ngcc__/lightbox.service.js","./node_modules/ngx-tabset/__ivy_ngcc__/esm2015/ngx-tabset.js","./node_modules/pdfjs-dist/build/pdf.js","./node_modules/pdfjs-dist/web/pdf_viewer.js","./node_modules/rxjs/_esm2015/index.js","./node_modules/rxjs/_esm2015/internal/AsyncSubject.js","./node_modules/rxjs/_esm2015/internal/BehaviorSubject.js","./node_modules/rxjs/_esm2015/internal/InnerSubscriber.js","./node_modules/rxjs/_esm2015/internal/Notification.js","./node_modules/rxjs/_esm2015/internal/Observable.js","./node_modules/rxjs/_esm2015/internal/Observer.js","./node_modules/rxjs/_esm2015/internal/OuterSubscriber.js","./node_modules/rxjs/_esm2015/internal/ReplaySubject.js","./node_modules/rxjs/_esm2015/internal/Scheduler.js","./node_modules/rxjs/_esm2015/internal/Subject.js","./node_modules/rxjs/_esm2015/internal/SubjectSubscription.js","./node_modules/rxjs/_esm2015/internal/Subscriber.js","./node_modules/rxjs/_esm2015/internal/Subscription.js","./node_modules/rxjs/_esm2015/internal/config.js","./node_modules/rxjs/_esm2015/internal/observable/ConnectableObservable.js","./node_modules/rxjs/_esm2015/internal/observable/bindCallback.js","./node_modules/rxjs/_esm2015/internal/observable/bindNodeCallback.js","./node_modules/rxjs/_esm2015/internal/observable/combineLatest.js","./node_modules/rxjs/_esm2015/internal/observable/concat.js","./node_modules/rxjs/_esm2015/internal/observable/defer.js","./node_modules/rxjs/_esm2015/internal/observable/empty.js","./node_modules/rxjs/_esm2015/internal/observable/forkJoin.js","./node_modules/rxjs/_esm2015/internal/observable/from.js","./node_modules/rxjs/_esm2015/internal/observable/fromArray.js","./node_modules/rxjs/_esm2015/internal/observable/fromEvent.js","./node_modules/rxjs/_esm2015/internal/observable/fromEventPattern.js","./node_modules/rxjs/_esm2015/internal/observable/generate.js","./node_modules/rxjs/_esm2015/internal/observable/iif.js","./node_modules/rxjs/_esm2015/internal/observable/interval.js","./node_modules/rxjs/_esm2015/internal/observable/merge.js","./node_modules/rxjs/_esm2015/internal/observable/never.js","./node_modules/rxjs/_esm2015/internal/observable/of.js","./node_modules/rxjs/_esm2015/internal/observable/onErrorResumeNext.js","./node_modules/rxjs/_esm2015/internal/observable/pairs.js","./node_modules/rxjs/_esm2015/internal/observable/partition.js","./node_modules/rxjs/_esm2015/internal/observable/race.js","./node_modules/rxjs/_esm2015/internal/observable/range.js","./node_modules/rxjs/_esm2015/internal/observable/throwError.js","./node_modules/rxjs/_esm2015/internal/observable/timer.js","./node_modules/rxjs/_esm2015/internal/observable/using.js","./node_modules/rxjs/_esm2015/internal/observable/zip.js","./node_modules/rxjs/_esm2015/internal/operators/catchError.js","./node_modules/rxjs/_esm2015/internal/operators/concatAll.js","./node_modules/rxjs/_esm2015/internal/operators/concatMap.js","./node_modules/rxjs/_esm2015/internal/operators/debounceTime.js","./node_modules/rxjs/_esm2015/internal/operators/defaultIfEmpty.js","./node_modules/rxjs/_esm2015/internal/operators/delay.js","./node_modules/rxjs/_esm2015/internal/operators/filter.js","./node_modules/rxjs/_esm2015/internal/operators/finalize.js","./node_modules/rxjs/_esm2015/internal/operators/first.js","./node_modules/rxjs/_esm2015/internal/operators/groupBy.js","./node_modules/rxjs/_esm2015/internal/operators/last.js","./node_modules/rxjs/_esm2015/internal/operators/map.js","./node_modules/rxjs/_esm2015/internal/operators/mapTo.js","./node_modules/rxjs/_esm2015/internal/operators/mergeAll.js","./node_modules/rxjs/_esm2015/internal/operators/mergeMap.js","./node_modules/rxjs/_esm2015/internal/operators/multicast.js","./node_modules/rxjs/_esm2015/internal/operators/observeOn.js","./node_modules/rxjs/_esm2015/internal/operators/reduce.js","./node_modules/rxjs/_esm2015/internal/operators/refCount.js","./node_modules/rxjs/_esm2015/internal/operators/scan.js","./node_modules/rxjs/_esm2015/internal/operators/share.js","./node_modules/rxjs/_esm2015/internal/operators/skip.js","./node_modules/rxjs/_esm2015/internal/operators/startWith.js","./node_modules/rxjs/_esm2015/internal/operators/switchMap.js","./node_modules/rxjs/_esm2015/internal/operators/take.js","./node_modules/rxjs/_esm2015/internal/operators/takeLast.js","./node_modules/rxjs/_esm2015/internal/operators/takeUntil.js","./node_modules/rxjs/_esm2015/internal/operators/takeWhile.js","./node_modules/rxjs/_esm2015/internal/operators/tap.js","./node_modules/rxjs/_esm2015/internal/operators/throwIfEmpty.js","./node_modules/rxjs/_esm2015/internal/operators/toArray.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleArray.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/_esm2015/internal/scheduled/schedulePromise.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduled.js","./node_modules/rxjs/_esm2015/internal/scheduler/Action.js","./node_modules/rxjs/_esm2015/internal/scheduler/AnimationFrameAction.js","./node_modules/rxjs/_esm2015/internal/scheduler/AnimationFrameScheduler.js","./node_modules/rxjs/_esm2015/internal/scheduler/AsapAction.js","./node_modules/rxjs/_esm2015/internal/scheduler/AsapScheduler.js","./node_modules/rxjs/_esm2015/internal/scheduler/AsyncAction.js","./node_modules/rxjs/_esm2015/internal/scheduler/AsyncScheduler.js","./node_modules/rxjs/_esm2015/internal/scheduler/QueueAction.js","./node_modules/rxjs/_esm2015/internal/scheduler/QueueScheduler.js","./node_modules/rxjs/_esm2015/internal/scheduler/VirtualTimeScheduler.js","./node_modules/rxjs/_esm2015/internal/scheduler/animationFrame.js","./node_modules/rxjs/_esm2015/internal/scheduler/asap.js","./node_modules/rxjs/_esm2015/internal/scheduler/async.js","./node_modules/rxjs/_esm2015/internal/scheduler/queue.js","./node_modules/rxjs/_esm2015/internal/symbol/iterator.js","./node_modules/rxjs/_esm2015/internal/symbol/observable.js","./node_modules/rxjs/_esm2015/internal/symbol/rxSubscriber.js","./node_modules/rxjs/_esm2015/internal/util/ArgumentOutOfRangeError.js","./node_modules/rxjs/_esm2015/internal/util/EmptyError.js","./node_modules/rxjs/_esm2015/internal/util/Immediate.js","./node_modules/rxjs/_esm2015/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/_esm2015/internal/util/TimeoutError.js","./node_modules/rxjs/_esm2015/internal/util/UnsubscriptionError.js","./node_modules/rxjs/_esm2015/internal/util/canReportError.js","./node_modules/rxjs/_esm2015/internal/util/hostReportError.js","./node_modules/rxjs/_esm2015/internal/util/identity.js","./node_modules/rxjs/_esm2015/internal/util/isArray.js","./node_modules/rxjs/_esm2015/internal/util/isArrayLike.js","./node_modules/rxjs/_esm2015/internal/util/isDate.js","./node_modules/rxjs/_esm2015/internal/util/isFunction.js","./node_modules/rxjs/_esm2015/internal/util/isInteropObservable.js","./node_modules/rxjs/_esm2015/internal/util/isIterable.js","./node_modules/rxjs/_esm2015/internal/util/isNumeric.js","./node_modules/rxjs/_esm2015/internal/util/isObject.js","./node_modules/rxjs/_esm2015/internal/util/isObservable.js","./node_modules/rxjs/_esm2015/internal/util/isPromise.js","./node_modules/rxjs/_esm2015/internal/util/isScheduler.js","./node_modules/rxjs/_esm2015/internal/util/noop.js","./node_modules/rxjs/_esm2015/internal/util/not.js","./node_modules/rxjs/_esm2015/internal/util/pipe.js","./node_modules/rxjs/_esm2015/internal/util/subscribeTo.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToArray.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToIterable.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToObservable.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToPromise.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToResult.js","./node_modules/rxjs/_esm2015/internal/util/toSubscriber.js","./node_modules/smoothscroll-polyfill/dist/smoothscroll.js","./node_modules/@babel/runtime/helpers/asyncToGenerator.js","./node_modules/@babel/runtime/helpers/checkPrivateRedeclaration.js","./node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js","./node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js","./node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js","./node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js","./node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js","./node_modules/@babel/runtime/helpers/classPrivateFieldGet.js","./node_modules/@babel/runtime/helpers/classPrivateFieldInitSpec.js","./node_modules/@babel/runtime/helpers/classPrivateFieldSet.js","./node_modules/@babel/runtime/helpers/classPrivateMethodGet.js","./node_modules/@babel/runtime/helpers/classPrivateMethodInitSpec.js","./node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js","./node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js","./node_modules/@babel/runtime/helpers/classStaticPrivateMethodGet.js","./node_modules/@babel/runtime/helpers/defineProperty.js","./node_modules/@angular/animations/fesm2020/animations.mjs","./node_modules/@angular/animations/fesm2020/browser.mjs","./node_modules/@angular/common/fesm2020/common.mjs","./node_modules/@angular/common/fesm2020/http.mjs","./node_modules/@angular/core/fesm2020/core.mjs","./node_modules/@angular/forms/fesm2020/forms.mjs","./node_modules/@angular/platform-browser/fesm2020/animations.mjs","./node_modules/@angular/platform-browser/fesm2020/platform-browser.mjs","./node_modules/@angular/router/fesm2020/router.mjs","./node_modules/ng2-pdf-viewer/fesm2020/ng2-pdf-viewer.mjs","./node_modules/ngx-countup/fesm2020/ngx-countup.mjs","./node_modules/ngx-owl-carousel-o/fesm2020/ngx-owl-carousel-o.mjs","./node_modules/ngx-scrolltop/fesm2020/ngx-scrolltop.mjs"],"sourcesContent":["var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(t){for(var i,n=1,s=arguments.length;ns.endVal;s.frameVal=n?s.endVal:s.frameVal,s.frameVal=Number(s.frameVal.toFixed(s.options.decimalPlaces)),s.printValue(s.frameVal),i1?s.options.decimal+o[1]:\"\",s.options.useGrouping){e=\"\";for(var l=0,h=n.length;lwindow.scrollY&&t.paused?(t.paused=!1,setTimeout(function(){return t.start()},t.options.scrollSpyDelay),t.options.scrollSpyOnce&&(t.once=!0)):window.scrollY>s&&!t.paused&&t.reset()}},t.prototype.determineDirectionAndSmartEasing=function(){var t=this.finalEndVal?this.finalEndVal:this.endVal;this.countDown=this.startVal>t;var i=t-this.startVal;if(Math.abs(i)>this.options.smartEasingThreshold&&this.options.useEasing){this.finalEndVal=t;var n=this.countDown?1:-1;this.endVal=t+n*this.options.smartEasingAmount,this.duration=this.duration/2}else this.endVal=t,this.finalEndVal=null;null!==this.finalEndVal?this.useEasing=!1:this.useEasing=this.options.useEasing},t.prototype.start=function(t){this.error||(this.callback=t,this.duration>0?(this.determineDirectionAndSmartEasing(),this.paused=!1,this.rAF=requestAnimationFrame(this.count)):this.printValue(this.endVal))},t.prototype.pauseResume=function(){this.paused?(this.startTime=null,this.duration=this.remaining,this.startVal=this.frameVal,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count)):cancelAnimationFrame(this.rAF),this.paused=!this.paused},t.prototype.reset=function(){cancelAnimationFrame(this.rAF),this.paused=!0,this.resetDuration(),this.startVal=this.validateValue(this.options.startVal),this.frameVal=this.startVal,this.printValue(this.startVal)},t.prototype.update=function(t){cancelAnimationFrame(this.rAF),this.startTime=null,this.endVal=this.validateValue(t),this.endVal!==this.frameVal&&(this.startVal=this.frameVal,null==this.finalEndVal&&this.resetDuration(),this.finalEndVal=null,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count))},t.prototype.printValue=function(t){var i=this.formattingFn(t);\"INPUT\"===this.el.tagName?this.el.value=i:\"text\"===this.el.tagName||\"tspan\"===this.el.tagName?this.el.textContent=i:this.el.innerHTML=i},t.prototype.ensureNumber=function(t){return\"number\"==typeof t&&!isNaN(t)},t.prototype.validateValue=function(t){var i=Number(t);return this.ensureNumber(i)?i:(this.error=\"[CountUp] invalid start or end value: \".concat(t),null)},t.prototype.resetDuration=function(){this.startTime=null,this.duration=1e3*Number(this.options.duration),this.remaining=this.duration},t}();export{CountUp};","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n","import * as i0 from '@angular/core';\nimport { Injectable, Component, Input, NgModule } from '@angular/core';\nimport lightGallery from 'lightgallery';\n\nclass LightgalleryService {\n constructor() { }\n}\nLightgalleryService.ɵfac = function LightgalleryService_Factory(t) { return new (t || LightgalleryService)(); };\nLightgalleryService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LightgalleryService, factory: LightgalleryService.ɵfac, providedIn: 'root' });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LightgalleryService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], function () { return []; }, null); })();\n\nconst _c0 = [\"*\"];\nconst LgMethods = {\n onAfterAppendSlide: 'lgAfterAppendSlide',\n onInit: 'lgInit',\n onHasVideo: 'lgHasVideo',\n onContainerResize: 'lgContainerResize',\n onUpdateSlides: 'lgUpdateSlides',\n onAfterAppendSubHtml: 'lgAfterAppendSubHtml',\n onBeforeOpen: 'lgBeforeOpen',\n onAfterOpen: 'lgAfterOpen',\n onSlideItemLoad: 'lgSlideItemLoad',\n onBeforeSlide: 'lgBeforeSlide',\n onAfterSlide: 'lgAfterSlide',\n onPosterClick: 'lgPosterClick',\n onDragStart: 'lgDragStart',\n onDragMove: 'lgDragMove',\n onDragEnd: 'lgDragEnd',\n onBeforeNextSlide: 'lgBeforeNextSlide',\n onBeforePrevSlide: 'lgBeforePrevSlide',\n onBeforeClose: 'lgBeforeClose',\n onAfterClose: 'lgAfterClose',\n onRotateLeft: 'lgRotateLeft',\n onRotateRight: 'lgRotateRight',\n onFlipHorizontal: 'lgFlipHorizontal',\n onFlipVertical: 'lgFlipVertical',\n};\nclass LightgalleryComponent {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n this.lgInitialized = false;\n this._elementRef = _elementRef;\n }\n ngAfterViewChecked() {\n if (!this.lgInitialized) {\n this.registerEvents();\n this.LG = lightGallery(this._elementRef.nativeElement, this.settings);\n this.lgInitialized = true;\n }\n }\n ngOnDestroy() {\n this.LG.destroy();\n this.lgInitialized = false;\n }\n registerEvents() {\n if (this.onAfterAppendSlide) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onAfterAppendSlide, ((event) => {\n this.onAfterAppendSlide &&\n this.onAfterAppendSlide(event.detail);\n }));\n }\n if (this.onInit) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onInit, ((event) => {\n this.onInit && this.onInit(event.detail);\n }));\n }\n if (this.onHasVideo) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onHasVideo, ((event) => {\n this.onHasVideo && this.onHasVideo(event.detail);\n }));\n }\n if (this.onContainerResize) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onContainerResize, ((event) => {\n this.onContainerResize &&\n this.onContainerResize(event.detail);\n }));\n }\n if (this.onAfterAppendSubHtml) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onAfterAppendSubHtml, ((event) => {\n this.onAfterAppendSubHtml &&\n this.onAfterAppendSubHtml(event.detail);\n }));\n }\n if (this.onBeforeOpen) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onBeforeOpen, ((event) => {\n this.onBeforeOpen && this.onBeforeOpen(event.detail);\n }));\n }\n if (this.onAfterOpen) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onAfterOpen, ((event) => {\n this.onAfterOpen && this.onAfterOpen(event.detail);\n }));\n }\n if (this.onSlideItemLoad) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onSlideItemLoad, ((event) => {\n this.onSlideItemLoad && this.onSlideItemLoad(event.detail);\n }));\n }\n if (this.onBeforeSlide) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onBeforeSlide, ((event) => {\n this.onBeforeSlide && this.onBeforeSlide(event.detail);\n }));\n }\n if (this.onAfterSlide) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onAfterSlide, ((event) => {\n this.onAfterSlide && this.onAfterSlide(event.detail);\n }));\n }\n if (this.onPosterClick) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onPosterClick, ((event) => {\n this.onPosterClick && this.onPosterClick(event.detail);\n }));\n }\n if (this.onDragStart) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onDragStart, ((event) => {\n this.onDragStart && this.onDragStart(event.detail);\n }));\n }\n if (this.onDragMove) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onDragMove, ((event) => {\n this.onDragMove && this.onDragMove(event.detail);\n }));\n }\n if (this.onDragEnd) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onDragEnd, ((event) => {\n this.onDragEnd && this.onDragEnd(event.detail);\n }));\n }\n if (this.onBeforeNextSlide) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onBeforeNextSlide, ((event) => {\n this.onBeforeNextSlide &&\n this.onBeforeNextSlide(event.detail);\n }));\n }\n if (this.onBeforePrevSlide) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onBeforePrevSlide, ((event) => {\n this.onBeforePrevSlide &&\n this.onBeforePrevSlide(event.detail);\n }));\n }\n if (this.onBeforeClose) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onBeforeClose, ((event) => {\n this.onBeforeClose && this.onBeforeClose(event.detail);\n }));\n }\n if (this.onAfterClose) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onAfterClose, ((event) => {\n this.onAfterClose && this.onAfterClose(event.detail);\n }));\n }\n if (this.onRotateLeft) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onRotateLeft, ((event) => {\n this.onRotateLeft && this.onRotateLeft(event.detail);\n }));\n }\n if (this.onRotateRight) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onRotateRight, ((event) => {\n this.onRotateRight && this.onRotateRight(event.detail);\n }));\n }\n if (this.onFlipHorizontal) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onFlipHorizontal, ((event) => {\n this.onFlipHorizontal &&\n this.onFlipHorizontal(event.detail);\n }));\n }\n if (this.onFlipVertical) {\n this._elementRef.nativeElement.addEventListener(LgMethods.onFlipVertical, ((event) => {\n this.onFlipVertical && this.onFlipVertical(event.detail);\n }));\n }\n }\n}\nLightgalleryComponent.ɵfac = function LightgalleryComponent_Factory(t) { return new (t || LightgalleryComponent)(i0.ɵɵdirectiveInject(i0.ElementRef)); };\nLightgalleryComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LightgalleryComponent, selectors: [[\"lightgallery\"]], inputs: { settings: \"settings\", onAfterAppendSlide: \"onAfterAppendSlide\", onInit: \"onInit\", onHasVideo: \"onHasVideo\", onContainerResize: \"onContainerResize\", onAfterAppendSubHtml: \"onAfterAppendSubHtml\", onBeforeOpen: \"onBeforeOpen\", onAfterOpen: \"onAfterOpen\", onSlideItemLoad: \"onSlideItemLoad\", onBeforeSlide: \"onBeforeSlide\", onAfterSlide: \"onAfterSlide\", onPosterClick: \"onPosterClick\", onDragStart: \"onDragStart\", onDragMove: \"onDragMove\", onDragEnd: \"onDragEnd\", onBeforeNextSlide: \"onBeforeNextSlide\", onBeforePrevSlide: \"onBeforePrevSlide\", onBeforeClose: \"onBeforeClose\", onAfterClose: \"onAfterClose\", onRotateLeft: \"onRotateLeft\", onRotateRight: \"onRotateRight\", onFlipHorizontal: \"onFlipHorizontal\", onFlipVertical: \"onFlipVertical\" }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function LightgalleryComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n } }, encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LightgalleryComponent, [{\n type: Component,\n args: [{\n selector: 'lightgallery',\n template: '',\n styles: [],\n }]\n }], function () { return [{ type: i0.ElementRef }]; }, { settings: [{\n type: Input\n }], onAfterAppendSlide: [{\n type: Input\n }], onInit: [{\n type: Input\n }], onHasVideo: [{\n type: Input\n }], onContainerResize: [{\n type: Input\n }], onAfterAppendSubHtml: [{\n type: Input\n }], onBeforeOpen: [{\n type: Input\n }], onAfterOpen: [{\n type: Input\n }], onSlideItemLoad: [{\n type: Input\n }], onBeforeSlide: [{\n type: Input\n }], onAfterSlide: [{\n type: Input\n }], onPosterClick: [{\n type: Input\n }], onDragStart: [{\n type: Input\n }], onDragMove: [{\n type: Input\n }], onDragEnd: [{\n type: Input\n }], onBeforeNextSlide: [{\n type: Input\n }], onBeforePrevSlide: [{\n type: Input\n }], onBeforeClose: [{\n type: Input\n }], onAfterClose: [{\n type: Input\n }], onRotateLeft: [{\n type: Input\n }], onRotateRight: [{\n type: Input\n }], onFlipHorizontal: [{\n type: Input\n }], onFlipVertical: [{\n type: Input\n }] }); })();\n\nclass LightgalleryModule {\n}\nLightgalleryModule.ɵfac = function LightgalleryModule_Factory(t) { return new (t || LightgalleryModule)(); };\nLightgalleryModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: LightgalleryModule });\nLightgalleryModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LightgalleryModule, [{\n type: NgModule,\n args: [{\n declarations: [LightgalleryComponent],\n imports: [],\n exports: [LightgalleryComponent],\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(LightgalleryModule, { declarations: [LightgalleryComponent], exports: [LightgalleryComponent] }); })();\n\n/*\n * Public API Surface of lightgallery-angular\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { LightgalleryComponent, LightgalleryModule, LightgalleryService };\n","/*!\n * lightgallery | 2.5.0 | June 13th 2022\n * http://www.lightgalleryjs.com/\n * Copyright (c) 2020 Sachin Neravath;\n * @license GPLv3\n */\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\n\n/**\r\n * List of lightGallery events\r\n * All events should be documented here\r\n * Below interfaces are used to build the website documentations\r\n * */\r\nvar lGEvents = {\r\n afterAppendSlide: 'lgAfterAppendSlide',\r\n init: 'lgInit',\r\n hasVideo: 'lgHasVideo',\r\n containerResize: 'lgContainerResize',\r\n updateSlides: 'lgUpdateSlides',\r\n afterAppendSubHtml: 'lgAfterAppendSubHtml',\r\n beforeOpen: 'lgBeforeOpen',\r\n afterOpen: 'lgAfterOpen',\r\n slideItemLoad: 'lgSlideItemLoad',\r\n beforeSlide: 'lgBeforeSlide',\r\n afterSlide: 'lgAfterSlide',\r\n posterClick: 'lgPosterClick',\r\n dragStart: 'lgDragStart',\r\n dragMove: 'lgDragMove',\r\n dragEnd: 'lgDragEnd',\r\n beforeNextSlide: 'lgBeforeNextSlide',\r\n beforePrevSlide: 'lgBeforePrevSlide',\r\n beforeClose: 'lgBeforeClose',\r\n afterClose: 'lgAfterClose',\r\n rotateLeft: 'lgRotateLeft',\r\n rotateRight: 'lgRotateRight',\r\n flipHorizontal: 'lgFlipHorizontal',\r\n flipVertical: 'lgFlipVertical',\r\n autoplay: 'lgAutoplay',\r\n autoplayStart: 'lgAutoplayStart',\r\n autoplayStop: 'lgAutoplayStop',\r\n};\n\nvar lightGalleryCoreSettings = {\r\n mode: 'lg-slide',\r\n easing: 'ease',\r\n speed: 400,\r\n licenseKey: '0000-0000-000-0000',\r\n height: '100%',\r\n width: '100%',\r\n addClass: '',\r\n startClass: 'lg-start-zoom',\r\n backdropDuration: 300,\r\n container: '',\r\n startAnimationDuration: 400,\r\n zoomFromOrigin: true,\r\n hideBarsDelay: 0,\r\n showBarsAfter: 10000,\r\n slideDelay: 0,\r\n supportLegacyBrowser: true,\r\n allowMediaOverlap: false,\r\n videoMaxSize: '1280-720',\r\n loadYouTubePoster: true,\r\n defaultCaptionHeight: 0,\r\n ariaLabelledby: '',\r\n ariaDescribedby: '',\r\n resetScrollPosition: true,\r\n hideScrollbar: false,\r\n closable: true,\r\n swipeToClose: true,\r\n closeOnTap: true,\r\n showCloseIcon: true,\r\n showMaximizeIcon: false,\r\n loop: true,\r\n escKey: true,\r\n keyPress: true,\r\n trapFocus: true,\r\n controls: true,\r\n slideEndAnimation: true,\r\n hideControlOnEnd: false,\r\n mousewheel: false,\r\n getCaptionFromTitleOrAlt: true,\r\n appendSubHtmlTo: '.lg-sub-html',\r\n subHtmlSelectorRelative: false,\r\n preload: 2,\r\n numberOfSlideItemsInDom: 10,\r\n selector: '',\r\n selectWithin: '',\r\n nextHtml: '',\r\n prevHtml: '',\r\n index: 0,\r\n iframeWidth: '100%',\r\n iframeHeight: '100%',\r\n iframeMaxWidth: '100%',\r\n iframeMaxHeight: '100%',\r\n download: true,\r\n counter: true,\r\n appendCounterTo: '.lg-toolbar',\r\n swipeThreshold: 50,\r\n enableSwipe: true,\r\n enableDrag: true,\r\n dynamic: false,\r\n dynamicEl: [],\r\n extraProps: [],\r\n exThumbImage: '',\r\n isMobile: undefined,\r\n mobileSettings: {\r\n controls: false,\r\n showCloseIcon: false,\r\n download: false,\r\n },\r\n plugins: [],\r\n strings: {\r\n closeGallery: 'Close gallery',\r\n toggleMaximize: 'Toggle maximize',\r\n previousSlide: 'Previous slide',\r\n nextSlide: 'Next slide',\r\n download: 'Download',\r\n playVideo: 'Play video',\r\n },\r\n};\n\nfunction initLgPolyfills() {\r\n (function () {\r\n if (typeof window.CustomEvent === 'function')\r\n return false;\r\n function CustomEvent(event, params) {\r\n params = params || {\r\n bubbles: false,\r\n cancelable: false,\r\n detail: null,\r\n };\r\n var evt = document.createEvent('CustomEvent');\r\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\r\n return evt;\r\n }\r\n window.CustomEvent = CustomEvent;\r\n })();\r\n (function () {\r\n if (!Element.prototype.matches) {\r\n Element.prototype.matches =\r\n Element.prototype.msMatchesSelector ||\r\n Element.prototype.webkitMatchesSelector;\r\n }\r\n })();\r\n}\r\nvar lgQuery = /** @class */ (function () {\r\n function lgQuery(selector) {\r\n this.cssVenderPrefixes = [\r\n 'TransitionDuration',\r\n 'TransitionTimingFunction',\r\n 'Transform',\r\n 'Transition',\r\n ];\r\n this.selector = this._getSelector(selector);\r\n this.firstElement = this._getFirstEl();\r\n return this;\r\n }\r\n lgQuery.generateUUID = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n };\r\n lgQuery.prototype._getSelector = function (selector, context) {\r\n if (context === void 0) { context = document; }\r\n if (typeof selector !== 'string') {\r\n return selector;\r\n }\r\n context = context || document;\r\n var fl = selector.substring(0, 1);\r\n if (fl === '#') {\r\n return context.querySelector(selector);\r\n }\r\n else {\r\n return context.querySelectorAll(selector);\r\n }\r\n };\r\n lgQuery.prototype._each = function (func) {\r\n if (!this.selector) {\r\n return this;\r\n }\r\n if (this.selector.length !== undefined) {\r\n [].forEach.call(this.selector, func);\r\n }\r\n else {\r\n func(this.selector, 0);\r\n }\r\n return this;\r\n };\r\n lgQuery.prototype._setCssVendorPrefix = function (el, cssProperty, value) {\r\n // prettier-ignore\r\n var property = cssProperty.replace(/-([a-z])/gi, function (s, group1) {\r\n return group1.toUpperCase();\r\n });\r\n if (this.cssVenderPrefixes.indexOf(property) !== -1) {\r\n el.style[property.charAt(0).toLowerCase() + property.slice(1)] = value;\r\n el.style['webkit' + property] = value;\r\n el.style['moz' + property] = value;\r\n el.style['ms' + property] = value;\r\n el.style['o' + property] = value;\r\n }\r\n else {\r\n el.style[property] = value;\r\n }\r\n };\r\n lgQuery.prototype._getFirstEl = function () {\r\n if (this.selector && this.selector.length !== undefined) {\r\n return this.selector[0];\r\n }\r\n else {\r\n return this.selector;\r\n }\r\n };\r\n lgQuery.prototype.isEventMatched = function (event, eventName) {\r\n var eventNamespace = eventName.split('.');\r\n return event\r\n .split('.')\r\n .filter(function (e) { return e; })\r\n .every(function (e) {\r\n return eventNamespace.indexOf(e) !== -1;\r\n });\r\n };\r\n lgQuery.prototype.attr = function (attr, value) {\r\n if (value === undefined) {\r\n if (!this.firstElement) {\r\n return '';\r\n }\r\n return this.firstElement.getAttribute(attr);\r\n }\r\n this._each(function (el) {\r\n el.setAttribute(attr, value);\r\n });\r\n return this;\r\n };\r\n lgQuery.prototype.find = function (selector) {\r\n return $LG(this._getSelector(selector, this.selector));\r\n };\r\n lgQuery.prototype.first = function () {\r\n if (this.selector && this.selector.length !== undefined) {\r\n return $LG(this.selector[0]);\r\n }\r\n else {\r\n return $LG(this.selector);\r\n }\r\n };\r\n lgQuery.prototype.eq = function (index) {\r\n return $LG(this.selector[index]);\r\n };\r\n lgQuery.prototype.parent = function () {\r\n return $LG(this.selector.parentElement);\r\n };\r\n lgQuery.prototype.get = function () {\r\n return this._getFirstEl();\r\n };\r\n lgQuery.prototype.removeAttr = function (attributes) {\r\n var attrs = attributes.split(' ');\r\n this._each(function (el) {\r\n attrs.forEach(function (attr) { return el.removeAttribute(attr); });\r\n });\r\n return this;\r\n };\r\n lgQuery.prototype.wrap = function (className) {\r\n if (!this.firstElement) {\r\n return this;\r\n }\r\n var wrapper = document.createElement('div');\r\n wrapper.className = className;\r\n this.firstElement.parentNode.insertBefore(wrapper, this.firstElement);\r\n this.firstElement.parentNode.removeChild(this.firstElement);\r\n wrapper.appendChild(this.firstElement);\r\n return this;\r\n };\r\n lgQuery.prototype.addClass = function (classNames) {\r\n if (classNames === void 0) { classNames = ''; }\r\n this._each(function (el) {\r\n // IE doesn't support multiple arguments\r\n classNames.split(' ').forEach(function (className) {\r\n if (className) {\r\n el.classList.add(className);\r\n }\r\n });\r\n });\r\n return this;\r\n };\r\n lgQuery.prototype.removeClass = function (classNames) {\r\n this._each(function (el) {\r\n // IE doesn't support multiple arguments\r\n classNames.split(' ').forEach(function (className) {\r\n if (className) {\r\n el.classList.remove(className);\r\n }\r\n });\r\n });\r\n return this;\r\n };\r\n lgQuery.prototype.hasClass = function (className) {\r\n if (!this.firstElement) {\r\n return false;\r\n }\r\n return this.firstElement.classList.contains(className);\r\n };\r\n lgQuery.prototype.hasAttribute = function (attribute) {\r\n if (!this.firstElement) {\r\n return false;\r\n }\r\n return this.firstElement.hasAttribute(attribute);\r\n };\r\n lgQuery.prototype.toggleClass = function (className) {\r\n if (!this.firstElement) {\r\n return this;\r\n }\r\n if (this.hasClass(className)) {\r\n this.removeClass(className);\r\n }\r\n else {\r\n this.addClass(className);\r\n }\r\n return this;\r\n };\r\n lgQuery.prototype.css = function (property, value) {\r\n var _this = this;\r\n this._each(function (el) {\r\n _this._setCssVendorPrefix(el, property, value);\r\n });\r\n return this;\r\n };\r\n // Need to pass separate namespaces for separate elements\r\n lgQuery.prototype.on = function (events, listener) {\r\n var _this = this;\r\n if (!this.selector) {\r\n return this;\r\n }\r\n events.split(' ').forEach(function (event) {\r\n if (!Array.isArray(lgQuery.eventListeners[event])) {\r\n lgQuery.eventListeners[event] = [];\r\n }\r\n lgQuery.eventListeners[event].push(listener);\r\n _this.selector.addEventListener(event.split('.')[0], listener);\r\n });\r\n return this;\r\n };\r\n // @todo - test this\r\n lgQuery.prototype.once = function (event, listener) {\r\n var _this = this;\r\n this.on(event, function () {\r\n _this.off(event);\r\n listener(event);\r\n });\r\n return this;\r\n };\r\n lgQuery.prototype.off = function (event) {\r\n var _this = this;\r\n if (!this.selector) {\r\n return this;\r\n }\r\n Object.keys(lgQuery.eventListeners).forEach(function (eventName) {\r\n if (_this.isEventMatched(event, eventName)) {\r\n lgQuery.eventListeners[eventName].forEach(function (listener) {\r\n _this.selector.removeEventListener(eventName.split('.')[0], listener);\r\n });\r\n lgQuery.eventListeners[eventName] = [];\r\n }\r\n });\r\n return this;\r\n };\r\n lgQuery.prototype.trigger = function (event, detail) {\r\n if (!this.firstElement) {\r\n return this;\r\n }\r\n var customEvent = new CustomEvent(event.split('.')[0], {\r\n detail: detail || null,\r\n });\r\n this.firstElement.dispatchEvent(customEvent);\r\n return this;\r\n };\r\n // Does not support IE\r\n lgQuery.prototype.load = function (url) {\r\n var _this = this;\r\n fetch(url)\r\n .then(function (res) { return res.text(); })\r\n .then(function (html) {\r\n _this.selector.innerHTML = html;\r\n });\r\n return this;\r\n };\r\n lgQuery.prototype.html = function (html) {\r\n if (html === undefined) {\r\n if (!this.firstElement) {\r\n return '';\r\n }\r\n return this.firstElement.innerHTML;\r\n }\r\n this._each(function (el) {\r\n el.innerHTML = html;\r\n });\r\n return this;\r\n };\r\n lgQuery.prototype.append = function (html) {\r\n this._each(function (el) {\r\n if (typeof html === 'string') {\r\n el.insertAdjacentHTML('beforeend', html);\r\n }\r\n else {\r\n el.appendChild(html);\r\n }\r\n });\r\n return this;\r\n };\r\n lgQuery.prototype.prepend = function (html) {\r\n this._each(function (el) {\r\n el.insertAdjacentHTML('afterbegin', html);\r\n });\r\n return this;\r\n };\r\n lgQuery.prototype.remove = function () {\r\n this._each(function (el) {\r\n el.parentNode.removeChild(el);\r\n });\r\n return this;\r\n };\r\n lgQuery.prototype.empty = function () {\r\n this._each(function (el) {\r\n el.innerHTML = '';\r\n });\r\n return this;\r\n };\r\n lgQuery.prototype.scrollTop = function (scrollTop) {\r\n if (scrollTop !== undefined) {\r\n document.body.scrollTop = scrollTop;\r\n document.documentElement.scrollTop = scrollTop;\r\n return this;\r\n }\r\n else {\r\n return (window.pageYOffset ||\r\n document.documentElement.scrollTop ||\r\n document.body.scrollTop ||\r\n 0);\r\n }\r\n };\r\n lgQuery.prototype.scrollLeft = function (scrollLeft) {\r\n if (scrollLeft !== undefined) {\r\n document.body.scrollLeft = scrollLeft;\r\n document.documentElement.scrollLeft = scrollLeft;\r\n return this;\r\n }\r\n else {\r\n return (window.pageXOffset ||\r\n document.documentElement.scrollLeft ||\r\n document.body.scrollLeft ||\r\n 0);\r\n }\r\n };\r\n lgQuery.prototype.offset = function () {\r\n if (!this.firstElement) {\r\n return {\r\n left: 0,\r\n top: 0,\r\n };\r\n }\r\n var rect = this.firstElement.getBoundingClientRect();\r\n var bodyMarginLeft = $LG('body').style().marginLeft;\r\n // Minus body margin - https://stackoverflow.com/questions/30711548/is-getboundingclientrect-left-returning-a-wrong-value\r\n return {\r\n left: rect.left - parseFloat(bodyMarginLeft) + this.scrollLeft(),\r\n top: rect.top + this.scrollTop(),\r\n };\r\n };\r\n lgQuery.prototype.style = function () {\r\n if (!this.firstElement) {\r\n return {};\r\n }\r\n return (this.firstElement.currentStyle ||\r\n window.getComputedStyle(this.firstElement));\r\n };\r\n // Width without padding and border even if box-sizing is used.\r\n lgQuery.prototype.width = function () {\r\n var style = this.style();\r\n return (this.firstElement.clientWidth -\r\n parseFloat(style.paddingLeft) -\r\n parseFloat(style.paddingRight));\r\n };\r\n // Height without padding and border even if box-sizing is used.\r\n lgQuery.prototype.height = function () {\r\n var style = this.style();\r\n return (this.firstElement.clientHeight -\r\n parseFloat(style.paddingTop) -\r\n parseFloat(style.paddingBottom));\r\n };\r\n lgQuery.eventListeners = {};\r\n return lgQuery;\r\n}());\r\nfunction $LG(selector) {\r\n initLgPolyfills();\r\n return new lgQuery(selector);\r\n}\n\nvar defaultDynamicOptions = [\r\n 'src',\r\n 'sources',\r\n 'subHtml',\r\n 'subHtmlUrl',\r\n 'html',\r\n 'video',\r\n 'poster',\r\n 'slideName',\r\n 'responsive',\r\n 'srcset',\r\n 'sizes',\r\n 'iframe',\r\n 'downloadUrl',\r\n 'download',\r\n 'width',\r\n 'facebookShareUrl',\r\n 'tweetText',\r\n 'iframeTitle',\r\n 'twitterShareUrl',\r\n 'pinterestShareUrl',\r\n 'pinterestText',\r\n 'fbHtml',\r\n 'disqusIdentifier',\r\n 'disqusUrl',\r\n];\r\n// Convert html data-attribute to camalcase\r\nfunction convertToData(attr) {\r\n // FInd a way for lgsize\r\n if (attr === 'href') {\r\n return 'src';\r\n }\r\n attr = attr.replace('data-', '');\r\n attr = attr.charAt(0).toLowerCase() + attr.slice(1);\r\n attr = attr.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); });\r\n return attr;\r\n}\r\nvar utils = {\r\n /**\r\n * get possible width and height from the lgSize attribute. Used for ZoomFromOrigin option\r\n */\r\n getSize: function (el, container, spacing, defaultLgSize) {\r\n if (spacing === void 0) { spacing = 0; }\r\n var LGel = $LG(el);\r\n var lgSize = LGel.attr('data-lg-size') || defaultLgSize;\r\n if (!lgSize) {\r\n return;\r\n }\r\n var isResponsiveSizes = lgSize.split(',');\r\n // if at-least two viewport sizes are available\r\n if (isResponsiveSizes[1]) {\r\n var wWidth = window.innerWidth;\r\n for (var i = 0; i < isResponsiveSizes.length; i++) {\r\n var size_1 = isResponsiveSizes[i];\r\n var responsiveWidth = parseInt(size_1.split('-')[2], 10);\r\n if (responsiveWidth > wWidth) {\r\n lgSize = size_1;\r\n break;\r\n }\r\n // take last item as last option\r\n if (i === isResponsiveSizes.length - 1) {\r\n lgSize = size_1;\r\n }\r\n }\r\n }\r\n var size = lgSize.split('-');\r\n var width = parseInt(size[0], 10);\r\n var height = parseInt(size[1], 10);\r\n var cWidth = container.width();\r\n var cHeight = container.height() - spacing;\r\n var maxWidth = Math.min(cWidth, width);\r\n var maxHeight = Math.min(cHeight, height);\r\n var ratio = Math.min(maxWidth / width, maxHeight / height);\r\n return { width: width * ratio, height: height * ratio };\r\n },\r\n /**\r\n * @desc Get transform value based on the imageSize. Used for ZoomFromOrigin option\r\n * @param {jQuery Element}\r\n * @returns {String} Transform CSS string\r\n */\r\n getTransform: function (el, container, top, bottom, imageSize) {\r\n if (!imageSize) {\r\n return;\r\n }\r\n var LGel = $LG(el).find('img').first();\r\n if (!LGel.get()) {\r\n return;\r\n }\r\n var containerRect = container.get().getBoundingClientRect();\r\n var wWidth = containerRect.width;\r\n // using innerWidth to include mobile safari bottom bar\r\n var wHeight = container.height() - (top + bottom);\r\n var elWidth = LGel.width();\r\n var elHeight = LGel.height();\r\n var elStyle = LGel.style();\r\n var x = (wWidth - elWidth) / 2 -\r\n LGel.offset().left +\r\n (parseFloat(elStyle.paddingLeft) || 0) +\r\n (parseFloat(elStyle.borderLeft) || 0) +\r\n $LG(window).scrollLeft() +\r\n containerRect.left;\r\n var y = (wHeight - elHeight) / 2 -\r\n LGel.offset().top +\r\n (parseFloat(elStyle.paddingTop) || 0) +\r\n (parseFloat(elStyle.borderTop) || 0) +\r\n $LG(window).scrollTop() +\r\n top;\r\n var scX = elWidth / imageSize.width;\r\n var scY = elHeight / imageSize.height;\r\n var transform = 'translate3d(' +\r\n (x *= -1) +\r\n 'px, ' +\r\n (y *= -1) +\r\n 'px, 0) scale3d(' +\r\n scX +\r\n ', ' +\r\n scY +\r\n ', 1)';\r\n return transform;\r\n },\r\n getIframeMarkup: function (iframeWidth, iframeHeight, iframeMaxWidth, iframeMaxHeight, src, iframeTitle) {\r\n var title = iframeTitle ? 'title=\"' + iframeTitle + '\"' : '';\r\n return \"
\\n \\n
\";\r\n },\r\n getImgMarkup: function (index, src, altAttr, srcset, sizes, sources) {\r\n var srcsetAttr = srcset ? \"srcset=\\\"\" + srcset + \"\\\"\" : '';\r\n var sizesAttr = sizes ? \"sizes=\\\"\" + sizes + \"\\\"\" : '';\r\n var imgMarkup = \"\";\r\n var sourceTag = '';\r\n if (sources) {\r\n var sourceObj = typeof sources === 'string' ? JSON.parse(sources) : sources;\r\n sourceTag = sourceObj.map(function (source) {\r\n var attrs = '';\r\n Object.keys(source).forEach(function (key) {\r\n // Do not remove the first space as it is required to separate the attributes\r\n attrs += \" \" + key + \"=\\\"\" + source[key] + \"\\\"\";\r\n });\r\n return \"\";\r\n });\r\n }\r\n return \"\" + sourceTag + imgMarkup;\r\n },\r\n // Get src from responsive src\r\n getResponsiveSrc: function (srcItms) {\r\n var rsWidth = [];\r\n var rsSrc = [];\r\n var src = '';\r\n for (var i = 0; i < srcItms.length; i++) {\r\n var _src = srcItms[i].split(' ');\r\n // Manage empty space\r\n if (_src[0] === '') {\r\n _src.splice(0, 1);\r\n }\r\n rsSrc.push(_src[0]);\r\n rsWidth.push(_src[1]);\r\n }\r\n var wWidth = window.innerWidth;\r\n for (var j = 0; j < rsWidth.length; j++) {\r\n if (parseInt(rsWidth[j], 10) > wWidth) {\r\n src = rsSrc[j];\r\n break;\r\n }\r\n }\r\n return src;\r\n },\r\n isImageLoaded: function (img) {\r\n if (!img)\r\n return false;\r\n // During the onload event, IE correctly identifies any images that\r\n // weren’t downloaded as not complete. Others should too. Gecko-based\r\n // browsers act like NS4 in that they report this incorrectly.\r\n if (!img.complete) {\r\n return false;\r\n }\r\n // However, they do have two very useful properties: naturalWidth and\r\n // naturalHeight. These give the true size of the image. If it failed\r\n // to load, either of these should be zero.\r\n if (img.naturalWidth === 0) {\r\n return false;\r\n }\r\n // No other way of checking: assume it’s ok.\r\n return true;\r\n },\r\n getVideoPosterMarkup: function (_poster, dummyImg, videoContStyle, playVideoString, _isVideo) {\r\n var videoClass = '';\r\n if (_isVideo && _isVideo.youtube) {\r\n videoClass = 'lg-has-youtube';\r\n }\r\n else if (_isVideo && _isVideo.vimeo) {\r\n videoClass = 'lg-has-vimeo';\r\n }\r\n else {\r\n videoClass = 'lg-has-html5';\r\n }\r\n return \"
\\n
\\n \\n \" + playVideoString + \"\\n \\n \\n \\n \\n \\n \\n \\n
\\n \" + (dummyImg || '') + \"\\n \\n
\";\r\n },\r\n getFocusableElements: function (container) {\r\n var elements = container.querySelectorAll('a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type=\"text\"]:not([disabled]), input[type=\"radio\"]:not([disabled]), input[type=\"checkbox\"]:not([disabled]), select:not([disabled])');\r\n var visibleElements = [].filter.call(elements, function (element) {\r\n var style = window.getComputedStyle(element);\r\n return style.display !== 'none' && style.visibility !== 'hidden';\r\n });\r\n return visibleElements;\r\n },\r\n /**\r\n * @desc Create dynamic elements array from gallery items when dynamic option is false\r\n * It helps to avoid frequent DOM interaction\r\n * and avoid multiple checks for dynamic elments\r\n *\r\n * @returns {Array} dynamicEl\r\n */\r\n getDynamicOptions: function (items, extraProps, getCaptionFromTitleOrAlt, exThumbImage) {\r\n var dynamicElements = [];\r\n var availableDynamicOptions = __spreadArrays(defaultDynamicOptions, extraProps);\r\n [].forEach.call(items, function (item) {\r\n var dynamicEl = {};\r\n for (var i = 0; i < item.attributes.length; i++) {\r\n var attr = item.attributes[i];\r\n if (attr.specified) {\r\n var dynamicAttr = convertToData(attr.name);\r\n var label = '';\r\n if (availableDynamicOptions.indexOf(dynamicAttr) > -1) {\r\n label = dynamicAttr;\r\n }\r\n if (label) {\r\n dynamicEl[label] = attr.value;\r\n }\r\n }\r\n }\r\n var currentItem = $LG(item);\r\n var alt = currentItem.find('img').first().attr('alt');\r\n var title = currentItem.attr('title');\r\n var thumb = exThumbImage\r\n ? currentItem.attr(exThumbImage)\r\n : currentItem.find('img').first().attr('src');\r\n dynamicEl.thumb = thumb;\r\n if (getCaptionFromTitleOrAlt && !dynamicEl.subHtml) {\r\n dynamicEl.subHtml = title || alt || '';\r\n }\r\n dynamicEl.alt = alt || title || '';\r\n dynamicElements.push(dynamicEl);\r\n });\r\n return dynamicElements;\r\n },\r\n isMobile: function () {\r\n return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\r\n },\r\n /**\r\n * @desc Check the given src is video\r\n * @param {String} src\r\n * @return {Object} video type\r\n * Ex:{ youtube : [\"//www.youtube.com/watch?v=c0asJgSyxcY\", \"c0asJgSyxcY\"] }\r\n *\r\n * @todo - this information can be moved to dynamicEl to avoid frequent calls\r\n */\r\n isVideo: function (src, isHTML5VIdeo, index) {\r\n if (!src) {\r\n if (isHTML5VIdeo) {\r\n return {\r\n html5: true,\r\n };\r\n }\r\n else {\r\n console.error('lightGallery :- data-src is not provided on slide item ' +\r\n (index + 1) +\r\n '. Please make sure the selector property is properly configured. More info - https://www.lightgalleryjs.com/demos/html-markup/');\r\n return;\r\n }\r\n }\r\n var youtube = src.match(/\\/\\/(?:www\\.)?youtu(?:\\.be|be\\.com|be-nocookie\\.com)\\/(?:watch\\?v=|embed\\/)?([a-z0-9\\-\\_\\%]+)([\\&|?][\\S]*)*/i);\r\n var vimeo = src.match(/\\/\\/(?:www\\.)?(?:player\\.)?vimeo.com\\/(?:video\\/)?([0-9a-z\\-_]+)(.*)?/i);\r\n var wistia = src.match(/https?:\\/\\/(.+)?(wistia\\.com|wi\\.st)\\/(medias|embed)\\/([0-9a-z\\-_]+)(.*)/);\r\n if (youtube) {\r\n return {\r\n youtube: youtube,\r\n };\r\n }\r\n else if (vimeo) {\r\n return {\r\n vimeo: vimeo,\r\n };\r\n }\r\n else if (wistia) {\r\n return {\r\n wistia: wistia,\r\n };\r\n }\r\n },\r\n};\n\n// @ref - https://stackoverflow.com/questions/3971841/how-to-resize-images-proportionally-keeping-the-aspect-ratio\r\n// @ref - https://2ality.com/2017/04/setting-up-multi-platform-packages.html\r\n// Unique id for each gallery\r\nvar lgId = 0;\r\nvar LightGallery = /** @class */ (function () {\r\n function LightGallery(element, options) {\r\n this.lgOpened = false;\r\n this.index = 0;\r\n // lightGallery modules\r\n this.plugins = [];\r\n // false when lightGallery load first slide content;\r\n this.lGalleryOn = false;\r\n // True when a slide animation is in progress\r\n this.lgBusy = false;\r\n this.currentItemsInDom = [];\r\n // Scroll top value before lightGallery is opened\r\n this.prevScrollTop = 0;\r\n this.bodyPaddingRight = 0;\r\n this.isDummyImageRemoved = false;\r\n this.dragOrSwipeEnabled = false;\r\n this.mediaContainerPosition = {\r\n top: 0,\r\n bottom: 0,\r\n };\r\n if (!element) {\r\n return this;\r\n }\r\n lgId++;\r\n this.lgId = lgId;\r\n this.el = element;\r\n this.LGel = $LG(element);\r\n this.generateSettings(options);\r\n this.buildModules();\r\n // When using dynamic mode, ensure dynamicEl is an array\r\n if (this.settings.dynamic &&\r\n this.settings.dynamicEl !== undefined &&\r\n !Array.isArray(this.settings.dynamicEl)) {\r\n throw 'When using dynamic mode, you must also define dynamicEl as an Array.';\r\n }\r\n this.galleryItems = this.getItems();\r\n this.normalizeSettings();\r\n // Gallery items\r\n this.init();\r\n this.validateLicense();\r\n return this;\r\n }\r\n LightGallery.prototype.generateSettings = function (options) {\r\n // lightGallery settings\r\n this.settings = __assign(__assign({}, lightGalleryCoreSettings), options);\r\n if (this.settings.isMobile &&\r\n typeof this.settings.isMobile === 'function'\r\n ? this.settings.isMobile()\r\n : utils.isMobile()) {\r\n var mobileSettings = __assign(__assign({}, this.settings.mobileSettings), this.settings.mobileSettings);\r\n this.settings = __assign(__assign({}, this.settings), mobileSettings);\r\n }\r\n };\r\n LightGallery.prototype.normalizeSettings = function () {\r\n if (this.settings.slideEndAnimation) {\r\n this.settings.hideControlOnEnd = false;\r\n }\r\n if (!this.settings.closable) {\r\n this.settings.swipeToClose = false;\r\n }\r\n // And reset it on close to get the correct value next time\r\n this.zoomFromOrigin = this.settings.zoomFromOrigin;\r\n // At the moment, Zoom from image doesn't support dynamic options\r\n // @todo add zoomFromOrigin support for dynamic images\r\n if (this.settings.dynamic) {\r\n this.zoomFromOrigin = false;\r\n }\r\n if (!this.settings.container) {\r\n this.settings.container = document.body;\r\n }\r\n // settings.preload should not be grater than $item.length\r\n this.settings.preload = Math.min(this.settings.preload, this.galleryItems.length);\r\n };\r\n LightGallery.prototype.init = function () {\r\n var _this = this;\r\n this.addSlideVideoInfo(this.galleryItems);\r\n this.buildStructure();\r\n this.LGel.trigger(lGEvents.init, {\r\n instance: this,\r\n });\r\n if (this.settings.keyPress) {\r\n this.keyPress();\r\n }\r\n setTimeout(function () {\r\n _this.enableDrag();\r\n _this.enableSwipe();\r\n _this.triggerPosterClick();\r\n }, 50);\r\n this.arrow();\r\n if (this.settings.mousewheel) {\r\n this.mousewheel();\r\n }\r\n if (!this.settings.dynamic) {\r\n this.openGalleryOnItemClick();\r\n }\r\n };\r\n LightGallery.prototype.openGalleryOnItemClick = function () {\r\n var _this = this;\r\n var _loop_1 = function (index) {\r\n var element = this_1.items[index];\r\n var $element = $LG(element);\r\n // Using different namespace for click because click event should not unbind if selector is same object('this')\r\n // @todo manage all event listners - should have namespace that represent element\r\n var uuid = lgQuery.generateUUID();\r\n $element\r\n .attr('data-lg-id', uuid)\r\n .on(\"click.lgcustom-item-\" + uuid, function (e) {\r\n e.preventDefault();\r\n var currentItemIndex = _this.settings.index || index;\r\n _this.openGallery(currentItemIndex, element);\r\n });\r\n };\r\n var this_1 = this;\r\n // Using for loop instead of using bubbling as the items can be any html element.\r\n for (var index = 0; index < this.items.length; index++) {\r\n _loop_1(index);\r\n }\r\n };\r\n /**\r\n * Module constructor\r\n * Modules are build incrementally.\r\n * Gallery should be opened only once all the modules are initialized.\r\n * use moduleBuildTimeout to make sure this\r\n */\r\n LightGallery.prototype.buildModules = function () {\r\n var _this = this;\r\n this.settings.plugins.forEach(function (plugin) {\r\n _this.plugins.push(new plugin(_this, $LG));\r\n });\r\n };\r\n LightGallery.prototype.validateLicense = function () {\r\n if (!this.settings.licenseKey) {\r\n console.error('Please provide a valid license key');\r\n }\r\n else if (this.settings.licenseKey === '0000-0000-000-0000') {\r\n console.warn(\"lightGallery: \" + this.settings.licenseKey + \" license key is not valid for production use\");\r\n }\r\n };\r\n LightGallery.prototype.getSlideItem = function (index) {\r\n return $LG(this.getSlideItemId(index));\r\n };\r\n LightGallery.prototype.getSlideItemId = function (index) {\r\n return \"#lg-item-\" + this.lgId + \"-\" + index;\r\n };\r\n LightGallery.prototype.getIdName = function (id) {\r\n return id + \"-\" + this.lgId;\r\n };\r\n LightGallery.prototype.getElementById = function (id) {\r\n return $LG(\"#\" + this.getIdName(id));\r\n };\r\n LightGallery.prototype.manageSingleSlideClassName = function () {\r\n if (this.galleryItems.length < 2) {\r\n this.outer.addClass('lg-single-item');\r\n }\r\n else {\r\n this.outer.removeClass('lg-single-item');\r\n }\r\n };\r\n LightGallery.prototype.buildStructure = function () {\r\n var _this = this;\r\n var container = this.$container && this.$container.get();\r\n if (container) {\r\n return;\r\n }\r\n var controls = '';\r\n var subHtmlCont = '';\r\n // Create controls\r\n if (this.settings.controls) {\r\n controls = \"\\n \";\r\n }\r\n if (this.settings.appendSubHtmlTo !== '.lg-item') {\r\n subHtmlCont =\r\n '
';\r\n }\r\n var addClasses = '';\r\n if (this.settings.allowMediaOverlap) {\r\n // Do not remove space before last single quote\r\n addClasses += 'lg-media-overlap ';\r\n }\r\n var ariaLabelledby = this.settings.ariaLabelledby\r\n ? 'aria-labelledby=\"' + this.settings.ariaLabelledby + '\"'\r\n : '';\r\n var ariaDescribedby = this.settings.ariaDescribedby\r\n ? 'aria-describedby=\"' + this.settings.ariaDescribedby + '\"'\r\n : '';\r\n var containerClassName = \"lg-container \" + this.settings.addClass + \" \" + (document.body !== this.settings.container ? 'lg-inline' : '');\r\n var closeIcon = this.settings.closable && this.settings.showCloseIcon\r\n ? \"\"\r\n : '';\r\n var maximizeIcon = this.settings.showMaximizeIcon\r\n ? \"\"\r\n : '';\r\n var template = \"\\n
\\n
\\n\\n
\\n\\n
\\n
\\n
\\n \" + controls + \"\\n
\\n
\\n \" + maximizeIcon + \"\\n \" + closeIcon + \"\\n
\\n \" + (this.settings.appendSubHtmlTo === '.lg-outer'\r\n ? subHtmlCont\r\n : '') + \"\\n
\\n \" + (this.settings.appendSubHtmlTo === '.lg-sub-html'\r\n ? subHtmlCont\r\n : '') + \"\\n
\\n
\\n
\\n \";\r\n $LG(this.settings.container).append(template);\r\n if (document.body !== this.settings.container) {\r\n $LG(this.settings.container).css('position', 'relative');\r\n }\r\n this.outer = this.getElementById('lg-outer');\r\n this.$lgComponents = this.getElementById('lg-components');\r\n this.$backdrop = this.getElementById('lg-backdrop');\r\n this.$container = this.getElementById('lg-container');\r\n this.$inner = this.getElementById('lg-inner');\r\n this.$content = this.getElementById('lg-content');\r\n this.$toolbar = this.getElementById('lg-toolbar');\r\n this.$backdrop.css('transition-duration', this.settings.backdropDuration + 'ms');\r\n var outerClassNames = this.settings.mode + \" \";\r\n this.manageSingleSlideClassName();\r\n if (this.settings.enableDrag) {\r\n outerClassNames += 'lg-grab ';\r\n }\r\n this.outer.addClass(outerClassNames);\r\n this.$inner.css('transition-timing-function', this.settings.easing);\r\n this.$inner.css('transition-duration', this.settings.speed + 'ms');\r\n if (this.settings.download) {\r\n this.$toolbar.append(\"\");\r\n }\r\n this.counter();\r\n $LG(window).on(\"resize.lg.global\" + this.lgId + \" orientationchange.lg.global\" + this.lgId, function () {\r\n _this.refreshOnResize();\r\n });\r\n this.hideBars();\r\n this.manageCloseGallery();\r\n this.toggleMaximize();\r\n this.initModules();\r\n };\r\n LightGallery.prototype.refreshOnResize = function () {\r\n if (this.lgOpened) {\r\n var currentGalleryItem = this.galleryItems[this.index];\r\n var __slideVideoInfo = currentGalleryItem.__slideVideoInfo;\r\n this.mediaContainerPosition = this.getMediaContainerPosition();\r\n var _a = this.mediaContainerPosition, top_1 = _a.top, bottom = _a.bottom;\r\n this.currentImageSize = utils.getSize(this.items[this.index], this.outer, top_1 + bottom, __slideVideoInfo && this.settings.videoMaxSize);\r\n if (__slideVideoInfo) {\r\n this.resizeVideoSlide(this.index, this.currentImageSize);\r\n }\r\n if (this.zoomFromOrigin && !this.isDummyImageRemoved) {\r\n var imgStyle = this.getDummyImgStyles(this.currentImageSize);\r\n this.outer\r\n .find('.lg-current .lg-dummy-img')\r\n .first()\r\n .attr('style', imgStyle);\r\n }\r\n this.LGel.trigger(lGEvents.containerResize);\r\n }\r\n };\r\n LightGallery.prototype.resizeVideoSlide = function (index, imageSize) {\r\n var lgVideoStyle = this.getVideoContStyle(imageSize);\r\n var currentSlide = this.getSlideItem(index);\r\n currentSlide.find('.lg-video-cont').attr('style', lgVideoStyle);\r\n };\r\n /**\r\n * Update slides dynamically.\r\n * Add, edit or delete slides dynamically when lightGallery is opened.\r\n * Modify the current gallery items and pass it via updateSlides method\r\n * @note\r\n * - Do not mutate existing lightGallery items directly.\r\n * - Always pass new list of gallery items\r\n * - You need to take care of thumbnails outside the gallery if any\r\n * - user this method only if you want to update slides when the gallery is opened. Otherwise, use `refresh()` method.\r\n * @param items Gallery items\r\n * @param index After the update operation, which slide gallery should navigate to\r\n * @category lGPublicMethods\r\n * @example\r\n * const plugin = lightGallery();\r\n *\r\n * // Adding slides dynamically\r\n * let galleryItems = [\r\n * // Access existing lightGallery items\r\n * // galleryItems are automatically generated internally from the gallery HTML markup\r\n * // or directly from galleryItems when dynamic gallery is used\r\n * ...plugin.galleryItems,\r\n * ...[\r\n * {\r\n * src: 'img/img-1.png',\r\n * thumb: 'img/thumb1.png',\r\n * },\r\n * ],\r\n * ];\r\n * plugin.updateSlides(\r\n * galleryItems,\r\n * plugin.index,\r\n * );\r\n *\r\n *\r\n * // Remove slides dynamically\r\n * galleryItems = JSON.parse(\r\n * JSON.stringify(updateSlideInstance.galleryItems),\r\n * );\r\n * galleryItems.shift();\r\n * updateSlideInstance.updateSlides(galleryItems, 1);\r\n * @see Demo\r\n */\r\n LightGallery.prototype.updateSlides = function (items, index) {\r\n if (this.index > items.length - 1) {\r\n this.index = items.length - 1;\r\n }\r\n if (items.length === 1) {\r\n this.index = 0;\r\n }\r\n if (!items.length) {\r\n this.closeGallery();\r\n return;\r\n }\r\n var currentSrc = this.galleryItems[index].src;\r\n this.galleryItems = items;\r\n this.updateControls();\r\n this.$inner.empty();\r\n this.currentItemsInDom = [];\r\n var _index = 0;\r\n // Find the current index based on source value of the slide\r\n this.galleryItems.some(function (galleryItem, itemIndex) {\r\n if (galleryItem.src === currentSrc) {\r\n _index = itemIndex;\r\n return true;\r\n }\r\n return false;\r\n });\r\n this.currentItemsInDom = this.organizeSlideItems(_index, -1);\r\n this.loadContent(_index, true);\r\n this.getSlideItem(_index).addClass('lg-current');\r\n this.index = _index;\r\n this.updateCurrentCounter(_index);\r\n this.LGel.trigger(lGEvents.updateSlides);\r\n };\r\n // Get gallery items based on multiple conditions\r\n LightGallery.prototype.getItems = function () {\r\n // Gallery items\r\n this.items = [];\r\n if (!this.settings.dynamic) {\r\n if (this.settings.selector === 'this') {\r\n this.items.push(this.el);\r\n }\r\n else if (this.settings.selector) {\r\n if (typeof this.settings.selector === 'string') {\r\n if (this.settings.selectWithin) {\r\n var selectWithin = $LG(this.settings.selectWithin);\r\n this.items = selectWithin\r\n .find(this.settings.selector)\r\n .get();\r\n }\r\n else {\r\n this.items = this.el.querySelectorAll(this.settings.selector);\r\n }\r\n }\r\n else {\r\n this.items = this.settings.selector;\r\n }\r\n }\r\n else {\r\n this.items = this.el.children;\r\n }\r\n return utils.getDynamicOptions(this.items, this.settings.extraProps, this.settings.getCaptionFromTitleOrAlt, this.settings.exThumbImage);\r\n }\r\n else {\r\n return this.settings.dynamicEl || [];\r\n }\r\n };\r\n LightGallery.prototype.shouldHideScrollbar = function () {\r\n return (this.settings.hideScrollbar &&\r\n document.body === this.settings.container);\r\n };\r\n LightGallery.prototype.hideScrollbar = function () {\r\n if (!this.shouldHideScrollbar()) {\r\n return;\r\n }\r\n this.bodyPaddingRight = parseFloat($LG('body').style().paddingRight);\r\n var bodyRect = document.documentElement.getBoundingClientRect();\r\n var scrollbarWidth = window.innerWidth - bodyRect.width;\r\n $LG(document.body).css('padding-right', scrollbarWidth + this.bodyPaddingRight + 'px');\r\n $LG(document.body).addClass('lg-overlay-open');\r\n };\r\n LightGallery.prototype.resetScrollBar = function () {\r\n if (!this.shouldHideScrollbar()) {\r\n return;\r\n }\r\n $LG(document.body).css('padding-right', this.bodyPaddingRight + 'px');\r\n $LG(document.body).removeClass('lg-overlay-open');\r\n };\r\n /**\r\n * Open lightGallery.\r\n * Open gallery with specific slide by passing index of the slide as parameter.\r\n * @category lGPublicMethods\r\n * @param {Number} index - index of the slide\r\n * @param {HTMLElement} element - Which image lightGallery should zoom from\r\n *\r\n * @example\r\n * const $dynamicGallery = document.getElementById('dynamic-gallery-demo');\r\n * const dynamicGallery = lightGallery($dynamicGallery, {\r\n * dynamic: true,\r\n * dynamicEl: [\r\n * {\r\n * src: 'img/1.jpg',\r\n * thumb: 'img/thumb-1.jpg',\r\n * subHtml: '

Image 1 title

Image 1 descriptions.

',\r\n * },\r\n * ...\r\n * ],\r\n * });\r\n * $dynamicGallery.addEventListener('click', function () {\r\n * // Starts with third item.(Optional).\r\n * // This is useful if you want use dynamic mode with\r\n * // custom thumbnails (thumbnails outside gallery),\r\n * dynamicGallery.openGallery(2);\r\n * });\r\n *\r\n */\r\n LightGallery.prototype.openGallery = function (index, element) {\r\n var _this = this;\r\n if (index === void 0) { index = this.settings.index; }\r\n // prevent accidental double execution\r\n if (this.lgOpened)\r\n return;\r\n this.lgOpened = true;\r\n this.outer.removeClass('lg-hide-items');\r\n this.hideScrollbar();\r\n // Add display block, but still has opacity 0\r\n this.$container.addClass('lg-show');\r\n var itemsToBeInsertedToDom = this.getItemsToBeInsertedToDom(index, index);\r\n this.currentItemsInDom = itemsToBeInsertedToDom;\r\n var items = '';\r\n itemsToBeInsertedToDom.forEach(function (item) {\r\n items = items + (\"
\");\r\n });\r\n this.$inner.append(items);\r\n this.addHtml(index);\r\n var transform = '';\r\n this.mediaContainerPosition = this.getMediaContainerPosition();\r\n var _a = this.mediaContainerPosition, top = _a.top, bottom = _a.bottom;\r\n if (!this.settings.allowMediaOverlap) {\r\n this.setMediaContainerPosition(top, bottom);\r\n }\r\n var __slideVideoInfo = this.galleryItems[index].__slideVideoInfo;\r\n if (this.zoomFromOrigin && element) {\r\n this.currentImageSize = utils.getSize(element, this.outer, top + bottom, __slideVideoInfo && this.settings.videoMaxSize);\r\n transform = utils.getTransform(element, this.outer, top, bottom, this.currentImageSize);\r\n }\r\n if (!this.zoomFromOrigin || !transform) {\r\n this.outer.addClass(this.settings.startClass);\r\n this.getSlideItem(index).removeClass('lg-complete');\r\n }\r\n var timeout = this.settings.zoomFromOrigin\r\n ? 100\r\n : this.settings.backdropDuration;\r\n setTimeout(function () {\r\n _this.outer.addClass('lg-components-open');\r\n }, timeout);\r\n this.index = index;\r\n this.LGel.trigger(lGEvents.beforeOpen);\r\n // add class lg-current to remove initial transition\r\n this.getSlideItem(index).addClass('lg-current');\r\n this.lGalleryOn = false;\r\n // Store the current scroll top value to scroll back after closing the gallery..\r\n this.prevScrollTop = $LG(window).scrollTop();\r\n setTimeout(function () {\r\n // Need to check both zoomFromOrigin and transform values as we need to set set the\r\n // default opening animation if user missed to add the lg-size attribute\r\n if (_this.zoomFromOrigin && transform) {\r\n var currentSlide_1 = _this.getSlideItem(index);\r\n currentSlide_1.css('transform', transform);\r\n setTimeout(function () {\r\n currentSlide_1\r\n .addClass('lg-start-progress lg-start-end-progress')\r\n .css('transition-duration', _this.settings.startAnimationDuration + 'ms');\r\n _this.outer.addClass('lg-zoom-from-image');\r\n });\r\n setTimeout(function () {\r\n currentSlide_1.css('transform', 'translate3d(0, 0, 0)');\r\n }, 100);\r\n }\r\n setTimeout(function () {\r\n _this.$backdrop.addClass('in');\r\n _this.$container.addClass('lg-show-in');\r\n }, 10);\r\n setTimeout(function () {\r\n if (_this.settings.trapFocus &&\r\n document.body === _this.settings.container) {\r\n _this.trapFocus();\r\n }\r\n }, _this.settings.backdropDuration + 50);\r\n // lg-visible class resets gallery opacity to 1\r\n if (!_this.zoomFromOrigin || !transform) {\r\n setTimeout(function () {\r\n _this.outer.addClass('lg-visible');\r\n }, _this.settings.backdropDuration);\r\n }\r\n // initiate slide function\r\n _this.slide(index, false, false, false);\r\n _this.LGel.trigger(lGEvents.afterOpen);\r\n });\r\n if (document.body === this.settings.container) {\r\n $LG('html').addClass('lg-on');\r\n }\r\n };\r\n /**\r\n * Note - Changing the position of the media on every slide transition creates a flickering effect.\r\n * Therefore, The height of the caption is calculated dynamically, only once based on the first slide caption.\r\n * if you have dynamic captions for each media,\r\n * you can provide an appropriate height for the captions via allowMediaOverlap option\r\n */\r\n LightGallery.prototype.getMediaContainerPosition = function () {\r\n if (this.settings.allowMediaOverlap) {\r\n return {\r\n top: 0,\r\n bottom: 0,\r\n };\r\n }\r\n var top = this.$toolbar.get().clientHeight || 0;\r\n var subHtml = this.outer.find('.lg-components .lg-sub-html').get();\r\n var captionHeight = this.settings.defaultCaptionHeight ||\r\n (subHtml && subHtml.clientHeight) ||\r\n 0;\r\n var thumbContainer = this.outer.find('.lg-thumb-outer').get();\r\n var thumbHeight = thumbContainer ? thumbContainer.clientHeight : 0;\r\n var bottom = thumbHeight + captionHeight;\r\n return {\r\n top: top,\r\n bottom: bottom,\r\n };\r\n };\r\n LightGallery.prototype.setMediaContainerPosition = function (top, bottom) {\r\n if (top === void 0) { top = 0; }\r\n if (bottom === void 0) { bottom = 0; }\r\n this.$content.css('top', top + 'px').css('bottom', bottom + 'px');\r\n };\r\n LightGallery.prototype.hideBars = function () {\r\n var _this = this;\r\n // Hide controllers if mouse doesn't move for some period\r\n setTimeout(function () {\r\n _this.outer.removeClass('lg-hide-items');\r\n if (_this.settings.hideBarsDelay > 0) {\r\n _this.outer.on('mousemove.lg click.lg touchstart.lg', function () {\r\n _this.outer.removeClass('lg-hide-items');\r\n clearTimeout(_this.hideBarTimeout);\r\n // Timeout will be cleared on each slide movement also\r\n _this.hideBarTimeout = setTimeout(function () {\r\n _this.outer.addClass('lg-hide-items');\r\n }, _this.settings.hideBarsDelay);\r\n });\r\n _this.outer.trigger('mousemove.lg');\r\n }\r\n }, this.settings.showBarsAfter);\r\n };\r\n LightGallery.prototype.initPictureFill = function ($img) {\r\n if (this.settings.supportLegacyBrowser) {\r\n try {\r\n picturefill({\r\n elements: [$img.get()],\r\n });\r\n }\r\n catch (e) {\r\n console.warn('lightGallery :- If you want srcset or picture tag to be supported for older browser please include picturefil javascript library in your document.');\r\n }\r\n }\r\n };\r\n /**\r\n * @desc Create image counter\r\n * Ex: 1/10\r\n */\r\n LightGallery.prototype.counter = function () {\r\n if (this.settings.counter) {\r\n var counterHtml = \"
\\n \" + (this.index + 1) + \" /\\n \" + this.galleryItems.length + \"
\";\r\n this.outer.find(this.settings.appendCounterTo).append(counterHtml);\r\n }\r\n };\r\n /**\r\n * @desc add sub-html into the slide\r\n * @param {Number} index - index of the slide\r\n */\r\n LightGallery.prototype.addHtml = function (index) {\r\n var subHtml;\r\n var subHtmlUrl;\r\n if (this.galleryItems[index].subHtmlUrl) {\r\n subHtmlUrl = this.galleryItems[index].subHtmlUrl;\r\n }\r\n else {\r\n subHtml = this.galleryItems[index].subHtml;\r\n }\r\n if (!subHtmlUrl) {\r\n if (subHtml) {\r\n // get first letter of sub-html\r\n // if first letter starts with . or # get the html form the jQuery object\r\n var fL = subHtml.substring(0, 1);\r\n if (fL === '.' || fL === '#') {\r\n if (this.settings.subHtmlSelectorRelative &&\r\n !this.settings.dynamic) {\r\n subHtml = $LG(this.items)\r\n .eq(index)\r\n .find(subHtml)\r\n .first()\r\n .html();\r\n }\r\n else {\r\n subHtml = $LG(subHtml).first().html();\r\n }\r\n }\r\n }\r\n else {\r\n subHtml = '';\r\n }\r\n }\r\n if (this.settings.appendSubHtmlTo !== '.lg-item') {\r\n if (subHtmlUrl) {\r\n this.outer.find('.lg-sub-html').load(subHtmlUrl);\r\n }\r\n else {\r\n this.outer.find('.lg-sub-html').html(subHtml);\r\n }\r\n }\r\n else {\r\n var currentSlide = $LG(this.getSlideItemId(index));\r\n if (subHtmlUrl) {\r\n currentSlide.load(subHtmlUrl);\r\n }\r\n else {\r\n currentSlide.append(\"
\" + subHtml + \"
\");\r\n }\r\n }\r\n // Add lg-empty-html class if title doesn't exist\r\n if (typeof subHtml !== 'undefined' && subHtml !== null) {\r\n if (subHtml === '') {\r\n this.outer\r\n .find(this.settings.appendSubHtmlTo)\r\n .addClass('lg-empty-html');\r\n }\r\n else {\r\n this.outer\r\n .find(this.settings.appendSubHtmlTo)\r\n .removeClass('lg-empty-html');\r\n }\r\n }\r\n this.LGel.trigger(lGEvents.afterAppendSubHtml, {\r\n index: index,\r\n });\r\n };\r\n /**\r\n * @desc Preload slides\r\n * @param {Number} index - index of the slide\r\n * @todo preload not working for the first slide, Also, should work for the first and last slide as well\r\n */\r\n LightGallery.prototype.preload = function (index) {\r\n for (var i = 1; i <= this.settings.preload; i++) {\r\n if (i >= this.galleryItems.length - index) {\r\n break;\r\n }\r\n this.loadContent(index + i, false);\r\n }\r\n for (var j = 1; j <= this.settings.preload; j++) {\r\n if (index - j < 0) {\r\n break;\r\n }\r\n this.loadContent(index - j, false);\r\n }\r\n };\r\n LightGallery.prototype.getDummyImgStyles = function (imageSize) {\r\n if (!imageSize)\r\n return '';\r\n return \"width:\" + imageSize.width + \"px;\\n margin-left: -\" + imageSize.width / 2 + \"px;\\n margin-top: -\" + imageSize.height / 2 + \"px;\\n height:\" + imageSize.height + \"px\";\r\n };\r\n LightGallery.prototype.getVideoContStyle = function (imageSize) {\r\n if (!imageSize)\r\n return '';\r\n return \"width:\" + imageSize.width + \"px;\\n height:\" + imageSize.height + \"px\";\r\n };\r\n LightGallery.prototype.getDummyImageContent = function ($currentSlide, index, alt) {\r\n var $currentItem;\r\n if (!this.settings.dynamic) {\r\n $currentItem = $LG(this.items).eq(index);\r\n }\r\n if ($currentItem) {\r\n var _dummyImgSrc = void 0;\r\n if (!this.settings.exThumbImage) {\r\n _dummyImgSrc = $currentItem.find('img').first().attr('src');\r\n }\r\n else {\r\n _dummyImgSrc = $currentItem.attr(this.settings.exThumbImage);\r\n }\r\n if (!_dummyImgSrc)\r\n return '';\r\n var imgStyle = this.getDummyImgStyles(this.currentImageSize);\r\n var dummyImgContent = \"\";\r\n $currentSlide.addClass('lg-first-slide');\r\n this.outer.addClass('lg-first-slide-loading');\r\n return dummyImgContent;\r\n }\r\n return '';\r\n };\r\n LightGallery.prototype.setImgMarkup = function (src, $currentSlide, index) {\r\n var currentGalleryItem = this.galleryItems[index];\r\n var alt = currentGalleryItem.alt, srcset = currentGalleryItem.srcset, sizes = currentGalleryItem.sizes, sources = currentGalleryItem.sources;\r\n // Use the thumbnail as dummy image which will be resized to actual image size and\r\n // displayed on top of actual image\r\n var imgContent = '';\r\n var altAttr = alt ? 'alt=\"' + alt + '\"' : '';\r\n if (this.isFirstSlideWithZoomAnimation()) {\r\n imgContent = this.getDummyImageContent($currentSlide, index, altAttr);\r\n }\r\n else {\r\n imgContent = utils.getImgMarkup(index, src, altAttr, srcset, sizes, sources);\r\n }\r\n var imgMarkup = \" \" + imgContent + \"\";\r\n $currentSlide.prepend(imgMarkup);\r\n };\r\n LightGallery.prototype.onSlideObjectLoad = function ($slide, isHTML5VideoWithoutPoster, onLoad, onError) {\r\n var mediaObject = $slide.find('.lg-object').first();\r\n if (utils.isImageLoaded(mediaObject.get()) ||\r\n isHTML5VideoWithoutPoster) {\r\n onLoad();\r\n }\r\n else {\r\n mediaObject.on('load.lg error.lg', function () {\r\n onLoad && onLoad();\r\n });\r\n mediaObject.on('error.lg', function () {\r\n onError && onError();\r\n });\r\n }\r\n };\r\n /**\r\n *\r\n * @param $el Current slide item\r\n * @param index\r\n * @param delay Delay is 0 except first time\r\n * @param speed Speed is same as delay, except it is 0 if gallery is opened via hash plugin\r\n * @param isFirstSlide\r\n */\r\n LightGallery.prototype.onLgObjectLoad = function (currentSlide, index, delay, speed, isFirstSlide, isHTML5VideoWithoutPoster) {\r\n var _this = this;\r\n this.onSlideObjectLoad(currentSlide, isHTML5VideoWithoutPoster, function () {\r\n _this.triggerSlideItemLoad(currentSlide, index, delay, speed, isFirstSlide);\r\n }, function () {\r\n currentSlide.addClass('lg-complete lg-complete_');\r\n currentSlide.html('Oops... Failed to load content...');\r\n });\r\n };\r\n LightGallery.prototype.triggerSlideItemLoad = function ($currentSlide, index, delay, speed, isFirstSlide) {\r\n var _this = this;\r\n var currentGalleryItem = this.galleryItems[index];\r\n // Adding delay for video slides without poster for better performance and user experience\r\n // Videos should start playing once once the gallery is completely loaded\r\n var _speed = isFirstSlide &&\r\n this.getSlideType(currentGalleryItem) === 'video' &&\r\n !currentGalleryItem.poster\r\n ? speed\r\n : 0;\r\n setTimeout(function () {\r\n $currentSlide.addClass('lg-complete lg-complete_');\r\n _this.LGel.trigger(lGEvents.slideItemLoad, {\r\n index: index,\r\n delay: delay || 0,\r\n isFirstSlide: isFirstSlide,\r\n });\r\n }, _speed);\r\n };\r\n LightGallery.prototype.isFirstSlideWithZoomAnimation = function () {\r\n return !!(!this.lGalleryOn &&\r\n this.zoomFromOrigin &&\r\n this.currentImageSize);\r\n };\r\n // Add video slideInfo\r\n LightGallery.prototype.addSlideVideoInfo = function (items) {\r\n var _this = this;\r\n items.forEach(function (element, index) {\r\n element.__slideVideoInfo = utils.isVideo(element.src, !!element.video, index);\r\n if (element.__slideVideoInfo &&\r\n _this.settings.loadYouTubePoster &&\r\n !element.poster &&\r\n element.__slideVideoInfo.youtube) {\r\n element.poster = \"//img.youtube.com/vi/\" + element.__slideVideoInfo.youtube[1] + \"/maxresdefault.jpg\";\r\n }\r\n });\r\n };\r\n /**\r\n * Load slide content into slide.\r\n * This is used to load content into slides that is not visible too\r\n * @param {Number} index - index of the slide.\r\n * @param {Boolean} rec - if true call loadcontent() function again.\r\n */\r\n LightGallery.prototype.loadContent = function (index, rec) {\r\n var _this = this;\r\n var currentGalleryItem = this.galleryItems[index];\r\n var $currentSlide = $LG(this.getSlideItemId(index));\r\n var poster = currentGalleryItem.poster, srcset = currentGalleryItem.srcset, sizes = currentGalleryItem.sizes, sources = currentGalleryItem.sources;\r\n var src = currentGalleryItem.src;\r\n var video = currentGalleryItem.video;\r\n var _html5Video = video && typeof video === 'string' ? JSON.parse(video) : video;\r\n if (currentGalleryItem.responsive) {\r\n var srcDyItms = currentGalleryItem.responsive.split(',');\r\n src = utils.getResponsiveSrc(srcDyItms) || src;\r\n }\r\n var videoInfo = currentGalleryItem.__slideVideoInfo;\r\n var lgVideoStyle = '';\r\n var iframe = !!currentGalleryItem.iframe;\r\n var isFirstSlide = !this.lGalleryOn;\r\n // delay for adding complete class. it is 0 except first time.\r\n var delay = 0;\r\n if (isFirstSlide) {\r\n if (this.zoomFromOrigin && this.currentImageSize) {\r\n delay = this.settings.startAnimationDuration + 10;\r\n }\r\n else {\r\n delay = this.settings.backdropDuration + 10;\r\n }\r\n }\r\n if (!$currentSlide.hasClass('lg-loaded')) {\r\n if (videoInfo) {\r\n var _a = this.mediaContainerPosition, top_2 = _a.top, bottom = _a.bottom;\r\n var videoSize = utils.getSize(this.items[index], this.outer, top_2 + bottom, videoInfo && this.settings.videoMaxSize);\r\n lgVideoStyle = this.getVideoContStyle(videoSize);\r\n }\r\n if (iframe) {\r\n var markup = utils.getIframeMarkup(this.settings.iframeWidth, this.settings.iframeHeight, this.settings.iframeMaxWidth, this.settings.iframeMaxHeight, src, currentGalleryItem.iframeTitle);\r\n $currentSlide.prepend(markup);\r\n }\r\n else if (poster) {\r\n var dummyImg = '';\r\n var hasStartAnimation = isFirstSlide &&\r\n this.zoomFromOrigin &&\r\n this.currentImageSize;\r\n if (hasStartAnimation) {\r\n dummyImg = this.getDummyImageContent($currentSlide, index, '');\r\n }\r\n var markup = utils.getVideoPosterMarkup(poster, dummyImg || '', lgVideoStyle, this.settings.strings['playVideo'], videoInfo);\r\n $currentSlide.prepend(markup);\r\n }\r\n else if (videoInfo) {\r\n var markup = \"
\";\r\n $currentSlide.prepend(markup);\r\n }\r\n else {\r\n this.setImgMarkup(src, $currentSlide, index);\r\n if (srcset || sources) {\r\n var $img = $currentSlide.find('.lg-object');\r\n this.initPictureFill($img);\r\n }\r\n }\r\n if (poster || videoInfo) {\r\n this.LGel.trigger(lGEvents.hasVideo, {\r\n index: index,\r\n src: src,\r\n html5Video: _html5Video,\r\n hasPoster: !!poster,\r\n });\r\n }\r\n this.LGel.trigger(lGEvents.afterAppendSlide, { index: index });\r\n if (this.lGalleryOn &&\r\n this.settings.appendSubHtmlTo === '.lg-item') {\r\n this.addHtml(index);\r\n }\r\n }\r\n // For first time add some delay for displaying the start animation.\r\n var _speed = 0;\r\n // Do not change the delay value because it is required for zoom plugin.\r\n // If gallery opened from direct url (hash) speed value should be 0\r\n if (delay && !$LG(document.body).hasClass('lg-from-hash')) {\r\n _speed = delay;\r\n }\r\n // Only for first slide and zoomFromOrigin is enabled\r\n if (this.isFirstSlideWithZoomAnimation()) {\r\n setTimeout(function () {\r\n $currentSlide\r\n .removeClass('lg-start-end-progress lg-start-progress')\r\n .removeAttr('style');\r\n }, this.settings.startAnimationDuration + 100);\r\n if (!$currentSlide.hasClass('lg-loaded')) {\r\n setTimeout(function () {\r\n if (_this.getSlideType(currentGalleryItem) === 'image') {\r\n var alt = currentGalleryItem.alt;\r\n var altAttr = alt ? 'alt=\"' + alt + '\"' : '';\r\n $currentSlide\r\n .find('.lg-img-wrap')\r\n .append(utils.getImgMarkup(index, src, altAttr, srcset, sizes, currentGalleryItem.sources));\r\n if (srcset || sources) {\r\n var $img = $currentSlide.find('.lg-object');\r\n _this.initPictureFill($img);\r\n }\r\n }\r\n if (_this.getSlideType(currentGalleryItem) === 'image' ||\r\n (_this.getSlideType(currentGalleryItem) === 'video' &&\r\n poster)) {\r\n _this.onLgObjectLoad($currentSlide, index, delay, _speed, true, false);\r\n // load remaining slides once the slide is completely loaded\r\n _this.onSlideObjectLoad($currentSlide, !!(videoInfo && videoInfo.html5 && !poster), function () {\r\n _this.loadContentOnFirstSlideLoad(index, $currentSlide, _speed);\r\n }, function () {\r\n _this.loadContentOnFirstSlideLoad(index, $currentSlide, _speed);\r\n });\r\n }\r\n }, this.settings.startAnimationDuration + 100);\r\n }\r\n }\r\n // SLide content has been added to dom\r\n $currentSlide.addClass('lg-loaded');\r\n if (!this.isFirstSlideWithZoomAnimation() ||\r\n (this.getSlideType(currentGalleryItem) === 'video' && !poster)) {\r\n this.onLgObjectLoad($currentSlide, index, delay, _speed, isFirstSlide, !!(videoInfo && videoInfo.html5 && !poster));\r\n }\r\n // When gallery is opened once content is loaded (second time) need to add lg-complete class for css styling\r\n if ((!this.zoomFromOrigin || !this.currentImageSize) &&\r\n $currentSlide.hasClass('lg-complete_') &&\r\n !this.lGalleryOn) {\r\n setTimeout(function () {\r\n $currentSlide.addClass('lg-complete');\r\n }, this.settings.backdropDuration);\r\n }\r\n // Content loaded\r\n // Need to set lGalleryOn before calling preload function\r\n this.lGalleryOn = true;\r\n if (rec === true) {\r\n if (!$currentSlide.hasClass('lg-complete_')) {\r\n $currentSlide\r\n .find('.lg-object')\r\n .first()\r\n .on('load.lg error.lg', function () {\r\n _this.preload(index);\r\n });\r\n }\r\n else {\r\n this.preload(index);\r\n }\r\n }\r\n };\r\n /**\r\n * @desc Remove dummy image content and load next slides\r\n * Called only for the first time if zoomFromOrigin animation is enabled\r\n * @param index\r\n * @param $currentSlide\r\n * @param speed\r\n */\r\n LightGallery.prototype.loadContentOnFirstSlideLoad = function (index, $currentSlide, speed) {\r\n var _this = this;\r\n setTimeout(function () {\r\n $currentSlide.find('.lg-dummy-img').remove();\r\n $currentSlide.removeClass('lg-first-slide');\r\n _this.outer.removeClass('lg-first-slide-loading');\r\n _this.isDummyImageRemoved = true;\r\n _this.preload(index);\r\n }, speed + 300);\r\n };\r\n LightGallery.prototype.getItemsToBeInsertedToDom = function (index, prevIndex, numberOfItems) {\r\n var _this = this;\r\n if (numberOfItems === void 0) { numberOfItems = 0; }\r\n var itemsToBeInsertedToDom = [];\r\n // Minimum 2 items should be there\r\n var possibleNumberOfItems = Math.max(numberOfItems, 3);\r\n possibleNumberOfItems = Math.min(possibleNumberOfItems, this.galleryItems.length);\r\n var prevIndexItem = \"lg-item-\" + this.lgId + \"-\" + prevIndex;\r\n if (this.galleryItems.length <= 3) {\r\n this.galleryItems.forEach(function (_element, index) {\r\n itemsToBeInsertedToDom.push(\"lg-item-\" + _this.lgId + \"-\" + index);\r\n });\r\n return itemsToBeInsertedToDom;\r\n }\r\n if (index < (this.galleryItems.length - 1) / 2) {\r\n for (var idx = index; idx > index - possibleNumberOfItems / 2 && idx >= 0; idx--) {\r\n itemsToBeInsertedToDom.push(\"lg-item-\" + this.lgId + \"-\" + idx);\r\n }\r\n var numberOfExistingItems = itemsToBeInsertedToDom.length;\r\n for (var idx = 0; idx < possibleNumberOfItems - numberOfExistingItems; idx++) {\r\n itemsToBeInsertedToDom.push(\"lg-item-\" + this.lgId + \"-\" + (index + idx + 1));\r\n }\r\n }\r\n else {\r\n for (var idx = index; idx <= this.galleryItems.length - 1 &&\r\n idx < index + possibleNumberOfItems / 2; idx++) {\r\n itemsToBeInsertedToDom.push(\"lg-item-\" + this.lgId + \"-\" + idx);\r\n }\r\n var numberOfExistingItems = itemsToBeInsertedToDom.length;\r\n for (var idx = 0; idx < possibleNumberOfItems - numberOfExistingItems; idx++) {\r\n itemsToBeInsertedToDom.push(\"lg-item-\" + this.lgId + \"-\" + (index - idx - 1));\r\n }\r\n }\r\n if (this.settings.loop) {\r\n if (index === this.galleryItems.length - 1) {\r\n itemsToBeInsertedToDom.push(\"lg-item-\" + this.lgId + \"-\" + 0);\r\n }\r\n else if (index === 0) {\r\n itemsToBeInsertedToDom.push(\"lg-item-\" + this.lgId + \"-\" + (this.galleryItems.length - 1));\r\n }\r\n }\r\n if (itemsToBeInsertedToDom.indexOf(prevIndexItem) === -1) {\r\n itemsToBeInsertedToDom.push(\"lg-item-\" + this.lgId + \"-\" + prevIndex);\r\n }\r\n return itemsToBeInsertedToDom;\r\n };\r\n LightGallery.prototype.organizeSlideItems = function (index, prevIndex) {\r\n var _this = this;\r\n var itemsToBeInsertedToDom = this.getItemsToBeInsertedToDom(index, prevIndex, this.settings.numberOfSlideItemsInDom);\r\n itemsToBeInsertedToDom.forEach(function (item) {\r\n if (_this.currentItemsInDom.indexOf(item) === -1) {\r\n _this.$inner.append(\"
\");\r\n }\r\n });\r\n this.currentItemsInDom.forEach(function (item) {\r\n if (itemsToBeInsertedToDom.indexOf(item) === -1) {\r\n $LG(\"#\" + item).remove();\r\n }\r\n });\r\n return itemsToBeInsertedToDom;\r\n };\r\n /**\r\n * Get previous index of the slide\r\n */\r\n LightGallery.prototype.getPreviousSlideIndex = function () {\r\n var prevIndex = 0;\r\n try {\r\n var currentItemId = this.outer\r\n .find('.lg-current')\r\n .first()\r\n .attr('id');\r\n prevIndex = parseInt(currentItemId.split('-')[3]) || 0;\r\n }\r\n catch (error) {\r\n prevIndex = 0;\r\n }\r\n return prevIndex;\r\n };\r\n LightGallery.prototype.setDownloadValue = function (index) {\r\n if (this.settings.download) {\r\n var currentGalleryItem = this.galleryItems[index];\r\n var hideDownloadBtn = currentGalleryItem.downloadUrl === false ||\r\n currentGalleryItem.downloadUrl === 'false';\r\n if (hideDownloadBtn) {\r\n this.outer.addClass('lg-hide-download');\r\n }\r\n else {\r\n var $download = this.getElementById('lg-download');\r\n this.outer.removeClass('lg-hide-download');\r\n $download.attr('href', currentGalleryItem.downloadUrl ||\r\n currentGalleryItem.src);\r\n if (currentGalleryItem.download) {\r\n $download.attr('download', currentGalleryItem.download);\r\n }\r\n }\r\n }\r\n };\r\n LightGallery.prototype.makeSlideAnimation = function (direction, currentSlideItem, previousSlideItem) {\r\n var _this = this;\r\n if (this.lGalleryOn) {\r\n previousSlideItem.addClass('lg-slide-progress');\r\n }\r\n setTimeout(function () {\r\n // remove all transitions\r\n _this.outer.addClass('lg-no-trans');\r\n _this.outer\r\n .find('.lg-item')\r\n .removeClass('lg-prev-slide lg-next-slide');\r\n if (direction === 'prev') {\r\n //prevslide\r\n currentSlideItem.addClass('lg-prev-slide');\r\n previousSlideItem.addClass('lg-next-slide');\r\n }\r\n else {\r\n // next slide\r\n currentSlideItem.addClass('lg-next-slide');\r\n previousSlideItem.addClass('lg-prev-slide');\r\n }\r\n // give 50 ms for browser to add/remove class\r\n setTimeout(function () {\r\n _this.outer.find('.lg-item').removeClass('lg-current');\r\n currentSlideItem.addClass('lg-current');\r\n // reset all transitions\r\n _this.outer.removeClass('lg-no-trans');\r\n }, 50);\r\n }, this.lGalleryOn ? this.settings.slideDelay : 0);\r\n };\r\n /**\r\n * Goto a specific slide.\r\n * @param {Number} index - index of the slide\r\n * @param {Boolean} fromTouch - true if slide function called via touch event or mouse drag\r\n * @param {Boolean} fromThumb - true if slide function called via thumbnail click\r\n * @param {String} direction - Direction of the slide(next/prev)\r\n * @category lGPublicMethods\r\n * @example\r\n * const plugin = lightGallery();\r\n * // to go to 3rd slide\r\n * plugin.slide(2);\r\n *\r\n */\r\n LightGallery.prototype.slide = function (index, fromTouch, fromThumb, direction) {\r\n var _this = this;\r\n var prevIndex = this.getPreviousSlideIndex();\r\n this.currentItemsInDom = this.organizeSlideItems(index, prevIndex);\r\n // Prevent multiple call, Required for hsh plugin\r\n if (this.lGalleryOn && prevIndex === index) {\r\n return;\r\n }\r\n var numberOfGalleryItems = this.galleryItems.length;\r\n if (!this.lgBusy) {\r\n if (this.settings.counter) {\r\n this.updateCurrentCounter(index);\r\n }\r\n var currentSlideItem = this.getSlideItem(index);\r\n var previousSlideItem_1 = this.getSlideItem(prevIndex);\r\n var currentGalleryItem = this.galleryItems[index];\r\n var videoInfo = currentGalleryItem.__slideVideoInfo;\r\n this.outer.attr('data-lg-slide-type', this.getSlideType(currentGalleryItem));\r\n this.setDownloadValue(index);\r\n if (videoInfo) {\r\n var _a = this.mediaContainerPosition, top_3 = _a.top, bottom = _a.bottom;\r\n var videoSize = utils.getSize(this.items[index], this.outer, top_3 + bottom, videoInfo && this.settings.videoMaxSize);\r\n this.resizeVideoSlide(index, videoSize);\r\n }\r\n this.LGel.trigger(lGEvents.beforeSlide, {\r\n prevIndex: prevIndex,\r\n index: index,\r\n fromTouch: !!fromTouch,\r\n fromThumb: !!fromThumb,\r\n });\r\n this.lgBusy = true;\r\n clearTimeout(this.hideBarTimeout);\r\n this.arrowDisable(index);\r\n if (!direction) {\r\n if (index < prevIndex) {\r\n direction = 'prev';\r\n }\r\n else if (index > prevIndex) {\r\n direction = 'next';\r\n }\r\n }\r\n if (!fromTouch) {\r\n this.makeSlideAnimation(direction, currentSlideItem, previousSlideItem_1);\r\n }\r\n else {\r\n this.outer\r\n .find('.lg-item')\r\n .removeClass('lg-prev-slide lg-current lg-next-slide');\r\n var touchPrev = void 0;\r\n var touchNext = void 0;\r\n if (numberOfGalleryItems > 2) {\r\n touchPrev = index - 1;\r\n touchNext = index + 1;\r\n if (index === 0 && prevIndex === numberOfGalleryItems - 1) {\r\n // next slide\r\n touchNext = 0;\r\n touchPrev = numberOfGalleryItems - 1;\r\n }\r\n else if (index === numberOfGalleryItems - 1 &&\r\n prevIndex === 0) {\r\n // prev slide\r\n touchNext = 0;\r\n touchPrev = numberOfGalleryItems - 1;\r\n }\r\n }\r\n else {\r\n touchPrev = 0;\r\n touchNext = 1;\r\n }\r\n if (direction === 'prev') {\r\n this.getSlideItem(touchNext).addClass('lg-next-slide');\r\n }\r\n else {\r\n this.getSlideItem(touchPrev).addClass('lg-prev-slide');\r\n }\r\n currentSlideItem.addClass('lg-current');\r\n }\r\n // Do not put load content in set timeout as it needs to load immediately when the gallery is opened\r\n if (!this.lGalleryOn) {\r\n this.loadContent(index, true);\r\n }\r\n else {\r\n setTimeout(function () {\r\n _this.loadContent(index, true);\r\n // Add title if this.settings.appendSubHtmlTo === lg-sub-html\r\n if (_this.settings.appendSubHtmlTo !== '.lg-item') {\r\n _this.addHtml(index);\r\n }\r\n }, this.settings.speed + 50 + (fromTouch ? 0 : this.settings.slideDelay));\r\n }\r\n setTimeout(function () {\r\n _this.lgBusy = false;\r\n previousSlideItem_1.removeClass('lg-slide-progress');\r\n _this.LGel.trigger(lGEvents.afterSlide, {\r\n prevIndex: prevIndex,\r\n index: index,\r\n fromTouch: fromTouch,\r\n fromThumb: fromThumb,\r\n });\r\n }, (this.lGalleryOn ? this.settings.speed + 100 : 100) + (fromTouch ? 0 : this.settings.slideDelay));\r\n }\r\n this.index = index;\r\n };\r\n LightGallery.prototype.updateCurrentCounter = function (index) {\r\n this.getElementById('lg-counter-current').html(index + 1 + '');\r\n };\r\n LightGallery.prototype.updateCounterTotal = function () {\r\n this.getElementById('lg-counter-all').html(this.galleryItems.length + '');\r\n };\r\n LightGallery.prototype.getSlideType = function (item) {\r\n if (item.__slideVideoInfo) {\r\n return 'video';\r\n }\r\n else if (item.iframe) {\r\n return 'iframe';\r\n }\r\n else {\r\n return 'image';\r\n }\r\n };\r\n LightGallery.prototype.touchMove = function (startCoords, endCoords, e) {\r\n var distanceX = endCoords.pageX - startCoords.pageX;\r\n var distanceY = endCoords.pageY - startCoords.pageY;\r\n var allowSwipe = false;\r\n if (this.swipeDirection) {\r\n allowSwipe = true;\r\n }\r\n else {\r\n if (Math.abs(distanceX) > 15) {\r\n this.swipeDirection = 'horizontal';\r\n allowSwipe = true;\r\n }\r\n else if (Math.abs(distanceY) > 15) {\r\n this.swipeDirection = 'vertical';\r\n allowSwipe = true;\r\n }\r\n }\r\n if (!allowSwipe) {\r\n return;\r\n }\r\n var $currentSlide = this.getSlideItem(this.index);\r\n if (this.swipeDirection === 'horizontal') {\r\n e === null || e === void 0 ? void 0 : e.preventDefault();\r\n // reset opacity and transition duration\r\n this.outer.addClass('lg-dragging');\r\n // move current slide\r\n this.setTranslate($currentSlide, distanceX, 0);\r\n // move next and prev slide with current slide\r\n var width = $currentSlide.get().offsetWidth;\r\n var slideWidthAmount = (width * 15) / 100;\r\n var gutter = slideWidthAmount - Math.abs((distanceX * 10) / 100);\r\n this.setTranslate(this.outer.find('.lg-prev-slide').first(), -width + distanceX - gutter, 0);\r\n this.setTranslate(this.outer.find('.lg-next-slide').first(), width + distanceX + gutter, 0);\r\n }\r\n else if (this.swipeDirection === 'vertical') {\r\n if (this.settings.swipeToClose) {\r\n e === null || e === void 0 ? void 0 : e.preventDefault();\r\n this.$container.addClass('lg-dragging-vertical');\r\n var opacity = 1 - Math.abs(distanceY) / window.innerHeight;\r\n this.$backdrop.css('opacity', opacity);\r\n var scale = 1 - Math.abs(distanceY) / (window.innerWidth * 2);\r\n this.setTranslate($currentSlide, 0, distanceY, scale, scale);\r\n if (Math.abs(distanceY) > 100) {\r\n this.outer\r\n .addClass('lg-hide-items')\r\n .removeClass('lg-components-open');\r\n }\r\n }\r\n }\r\n };\r\n LightGallery.prototype.touchEnd = function (endCoords, startCoords, event) {\r\n var _this = this;\r\n var distance;\r\n // keep slide animation for any mode while dragg/swipe\r\n if (this.settings.mode !== 'lg-slide') {\r\n this.outer.addClass('lg-slide');\r\n }\r\n // set transition duration\r\n setTimeout(function () {\r\n _this.$container.removeClass('lg-dragging-vertical');\r\n _this.outer\r\n .removeClass('lg-dragging lg-hide-items')\r\n .addClass('lg-components-open');\r\n var triggerClick = true;\r\n if (_this.swipeDirection === 'horizontal') {\r\n distance = endCoords.pageX - startCoords.pageX;\r\n var distanceAbs = Math.abs(endCoords.pageX - startCoords.pageX);\r\n if (distance < 0 &&\r\n distanceAbs > _this.settings.swipeThreshold) {\r\n _this.goToNextSlide(true);\r\n triggerClick = false;\r\n }\r\n else if (distance > 0 &&\r\n distanceAbs > _this.settings.swipeThreshold) {\r\n _this.goToPrevSlide(true);\r\n triggerClick = false;\r\n }\r\n }\r\n else if (_this.swipeDirection === 'vertical') {\r\n distance = Math.abs(endCoords.pageY - startCoords.pageY);\r\n if (_this.settings.closable &&\r\n _this.settings.swipeToClose &&\r\n distance > 100) {\r\n _this.closeGallery();\r\n return;\r\n }\r\n else {\r\n _this.$backdrop.css('opacity', 1);\r\n }\r\n }\r\n _this.outer.find('.lg-item').removeAttr('style');\r\n if (triggerClick &&\r\n Math.abs(endCoords.pageX - startCoords.pageX) < 5) {\r\n // Trigger click if distance is less than 5 pix\r\n var target = $LG(event.target);\r\n if (_this.isPosterElement(target)) {\r\n _this.LGel.trigger(lGEvents.posterClick);\r\n }\r\n }\r\n _this.swipeDirection = undefined;\r\n });\r\n // remove slide class once drag/swipe is completed if mode is not slide\r\n setTimeout(function () {\r\n if (!_this.outer.hasClass('lg-dragging') &&\r\n _this.settings.mode !== 'lg-slide') {\r\n _this.outer.removeClass('lg-slide');\r\n }\r\n }, this.settings.speed + 100);\r\n };\r\n LightGallery.prototype.enableSwipe = function () {\r\n var _this = this;\r\n var startCoords = {};\r\n var endCoords = {};\r\n var isMoved = false;\r\n var isSwiping = false;\r\n if (this.settings.enableSwipe) {\r\n this.$inner.on('touchstart.lg', function (e) {\r\n _this.dragOrSwipeEnabled = true;\r\n var $item = _this.getSlideItem(_this.index);\r\n if (($LG(e.target).hasClass('lg-item') ||\r\n $item.get().contains(e.target)) &&\r\n !_this.outer.hasClass('lg-zoomed') &&\r\n !_this.lgBusy &&\r\n e.targetTouches.length === 1) {\r\n isSwiping = true;\r\n _this.touchAction = 'swipe';\r\n _this.manageSwipeClass();\r\n startCoords = {\r\n pageX: e.targetTouches[0].pageX,\r\n pageY: e.targetTouches[0].pageY,\r\n };\r\n }\r\n });\r\n this.$inner.on('touchmove.lg', function (e) {\r\n if (isSwiping &&\r\n _this.touchAction === 'swipe' &&\r\n e.targetTouches.length === 1) {\r\n endCoords = {\r\n pageX: e.targetTouches[0].pageX,\r\n pageY: e.targetTouches[0].pageY,\r\n };\r\n _this.touchMove(startCoords, endCoords, e);\r\n isMoved = true;\r\n }\r\n });\r\n this.$inner.on('touchend.lg', function (event) {\r\n if (_this.touchAction === 'swipe') {\r\n if (isMoved) {\r\n isMoved = false;\r\n _this.touchEnd(endCoords, startCoords, event);\r\n }\r\n else if (isSwiping) {\r\n var target = $LG(event.target);\r\n if (_this.isPosterElement(target)) {\r\n _this.LGel.trigger(lGEvents.posterClick);\r\n }\r\n }\r\n _this.touchAction = undefined;\r\n isSwiping = false;\r\n }\r\n });\r\n }\r\n };\r\n LightGallery.prototype.enableDrag = function () {\r\n var _this = this;\r\n var startCoords = {};\r\n var endCoords = {};\r\n var isDraging = false;\r\n var isMoved = false;\r\n if (this.settings.enableDrag) {\r\n this.outer.on('mousedown.lg', function (e) {\r\n _this.dragOrSwipeEnabled = true;\r\n var $item = _this.getSlideItem(_this.index);\r\n if ($LG(e.target).hasClass('lg-item') ||\r\n $item.get().contains(e.target)) {\r\n if (!_this.outer.hasClass('lg-zoomed') && !_this.lgBusy) {\r\n e.preventDefault();\r\n if (!_this.lgBusy) {\r\n _this.manageSwipeClass();\r\n startCoords = {\r\n pageX: e.pageX,\r\n pageY: e.pageY,\r\n };\r\n isDraging = true;\r\n // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723\r\n _this.outer.get().scrollLeft += 1;\r\n _this.outer.get().scrollLeft -= 1;\r\n // *\r\n _this.outer\r\n .removeClass('lg-grab')\r\n .addClass('lg-grabbing');\r\n _this.LGel.trigger(lGEvents.dragStart);\r\n }\r\n }\r\n }\r\n });\r\n $LG(window).on(\"mousemove.lg.global\" + this.lgId, function (e) {\r\n if (isDraging && _this.lgOpened) {\r\n isMoved = true;\r\n endCoords = {\r\n pageX: e.pageX,\r\n pageY: e.pageY,\r\n };\r\n _this.touchMove(startCoords, endCoords);\r\n _this.LGel.trigger(lGEvents.dragMove);\r\n }\r\n });\r\n $LG(window).on(\"mouseup.lg.global\" + this.lgId, function (event) {\r\n if (!_this.lgOpened) {\r\n return;\r\n }\r\n var target = $LG(event.target);\r\n if (isMoved) {\r\n isMoved = false;\r\n _this.touchEnd(endCoords, startCoords, event);\r\n _this.LGel.trigger(lGEvents.dragEnd);\r\n }\r\n else if (_this.isPosterElement(target)) {\r\n _this.LGel.trigger(lGEvents.posterClick);\r\n }\r\n // Prevent execution on click\r\n if (isDraging) {\r\n isDraging = false;\r\n _this.outer.removeClass('lg-grabbing').addClass('lg-grab');\r\n }\r\n });\r\n }\r\n };\r\n LightGallery.prototype.triggerPosterClick = function () {\r\n var _this = this;\r\n this.$inner.on('click.lg', function (event) {\r\n if (!_this.dragOrSwipeEnabled &&\r\n _this.isPosterElement($LG(event.target))) {\r\n _this.LGel.trigger(lGEvents.posterClick);\r\n }\r\n });\r\n };\r\n LightGallery.prototype.manageSwipeClass = function () {\r\n var _touchNext = this.index + 1;\r\n var _touchPrev = this.index - 1;\r\n if (this.settings.loop && this.galleryItems.length > 2) {\r\n if (this.index === 0) {\r\n _touchPrev = this.galleryItems.length - 1;\r\n }\r\n else if (this.index === this.galleryItems.length - 1) {\r\n _touchNext = 0;\r\n }\r\n }\r\n this.outer.find('.lg-item').removeClass('lg-next-slide lg-prev-slide');\r\n if (_touchPrev > -1) {\r\n this.getSlideItem(_touchPrev).addClass('lg-prev-slide');\r\n }\r\n this.getSlideItem(_touchNext).addClass('lg-next-slide');\r\n };\r\n /**\r\n * Go to next slide\r\n * @param {Boolean} fromTouch - true if slide function called via touch event\r\n * @category lGPublicMethods\r\n * @example\r\n * const plugin = lightGallery();\r\n * plugin.goToNextSlide();\r\n * @see Demo\r\n */\r\n LightGallery.prototype.goToNextSlide = function (fromTouch) {\r\n var _this = this;\r\n var _loop = this.settings.loop;\r\n if (fromTouch && this.galleryItems.length < 3) {\r\n _loop = false;\r\n }\r\n if (!this.lgBusy) {\r\n if (this.index + 1 < this.galleryItems.length) {\r\n this.index++;\r\n this.LGel.trigger(lGEvents.beforeNextSlide, {\r\n index: this.index,\r\n });\r\n this.slide(this.index, !!fromTouch, false, 'next');\r\n }\r\n else {\r\n if (_loop) {\r\n this.index = 0;\r\n this.LGel.trigger(lGEvents.beforeNextSlide, {\r\n index: this.index,\r\n });\r\n this.slide(this.index, !!fromTouch, false, 'next');\r\n }\r\n else if (this.settings.slideEndAnimation && !fromTouch) {\r\n this.outer.addClass('lg-right-end');\r\n setTimeout(function () {\r\n _this.outer.removeClass('lg-right-end');\r\n }, 400);\r\n }\r\n }\r\n }\r\n };\r\n /**\r\n * Go to previous slides\r\n * @param {Boolean} fromTouch - true if slide function called via touch event\r\n * @category lGPublicMethods\r\n * @example\r\n * const plugin = lightGallery({});\r\n * plugin.goToPrevSlide();\r\n * @see Demo\r\n *\r\n */\r\n LightGallery.prototype.goToPrevSlide = function (fromTouch) {\r\n var _this = this;\r\n var _loop = this.settings.loop;\r\n if (fromTouch && this.galleryItems.length < 3) {\r\n _loop = false;\r\n }\r\n if (!this.lgBusy) {\r\n if (this.index > 0) {\r\n this.index--;\r\n this.LGel.trigger(lGEvents.beforePrevSlide, {\r\n index: this.index,\r\n fromTouch: fromTouch,\r\n });\r\n this.slide(this.index, !!fromTouch, false, 'prev');\r\n }\r\n else {\r\n if (_loop) {\r\n this.index = this.galleryItems.length - 1;\r\n this.LGel.trigger(lGEvents.beforePrevSlide, {\r\n index: this.index,\r\n fromTouch: fromTouch,\r\n });\r\n this.slide(this.index, !!fromTouch, false, 'prev');\r\n }\r\n else if (this.settings.slideEndAnimation && !fromTouch) {\r\n this.outer.addClass('lg-left-end');\r\n setTimeout(function () {\r\n _this.outer.removeClass('lg-left-end');\r\n }, 400);\r\n }\r\n }\r\n }\r\n };\r\n LightGallery.prototype.keyPress = function () {\r\n var _this = this;\r\n $LG(window).on(\"keydown.lg.global\" + this.lgId, function (e) {\r\n if (_this.lgOpened &&\r\n _this.settings.escKey === true &&\r\n e.keyCode === 27) {\r\n e.preventDefault();\r\n if (_this.settings.allowMediaOverlap &&\r\n _this.outer.hasClass('lg-can-toggle') &&\r\n _this.outer.hasClass('lg-components-open')) {\r\n _this.outer.removeClass('lg-components-open');\r\n }\r\n else {\r\n _this.closeGallery();\r\n }\r\n }\r\n if (_this.lgOpened && _this.galleryItems.length > 1) {\r\n if (e.keyCode === 37) {\r\n e.preventDefault();\r\n _this.goToPrevSlide();\r\n }\r\n if (e.keyCode === 39) {\r\n e.preventDefault();\r\n _this.goToNextSlide();\r\n }\r\n }\r\n });\r\n };\r\n LightGallery.prototype.arrow = function () {\r\n var _this = this;\r\n this.getElementById('lg-prev').on('click.lg', function () {\r\n _this.goToPrevSlide();\r\n });\r\n this.getElementById('lg-next').on('click.lg', function () {\r\n _this.goToNextSlide();\r\n });\r\n };\r\n LightGallery.prototype.arrowDisable = function (index) {\r\n // Disable arrows if settings.hideControlOnEnd is true\r\n if (!this.settings.loop && this.settings.hideControlOnEnd) {\r\n var $prev = this.getElementById('lg-prev');\r\n var $next = this.getElementById('lg-next');\r\n if (index + 1 === this.galleryItems.length) {\r\n $next.attr('disabled', 'disabled').addClass('disabled');\r\n }\r\n else {\r\n $next.removeAttr('disabled').removeClass('disabled');\r\n }\r\n if (index === 0) {\r\n $prev.attr('disabled', 'disabled').addClass('disabled');\r\n }\r\n else {\r\n $prev.removeAttr('disabled').removeClass('disabled');\r\n }\r\n }\r\n };\r\n LightGallery.prototype.setTranslate = function ($el, xValue, yValue, scaleX, scaleY) {\r\n if (scaleX === void 0) { scaleX = 1; }\r\n if (scaleY === void 0) { scaleY = 1; }\r\n $el.css('transform', 'translate3d(' +\r\n xValue +\r\n 'px, ' +\r\n yValue +\r\n 'px, 0px) scale3d(' +\r\n scaleX +\r\n ', ' +\r\n scaleY +\r\n ', 1)');\r\n };\r\n LightGallery.prototype.mousewheel = function () {\r\n var _this = this;\r\n var lastCall = 0;\r\n this.outer.on('wheel.lg', function (e) {\r\n if (!e.deltaY || _this.galleryItems.length < 2) {\r\n return;\r\n }\r\n e.preventDefault();\r\n var now = new Date().getTime();\r\n if (now - lastCall < 1000) {\r\n return;\r\n }\r\n lastCall = now;\r\n if (e.deltaY > 0) {\r\n _this.goToNextSlide();\r\n }\r\n else if (e.deltaY < 0) {\r\n _this.goToPrevSlide();\r\n }\r\n });\r\n };\r\n LightGallery.prototype.isSlideElement = function (target) {\r\n return (target.hasClass('lg-outer') ||\r\n target.hasClass('lg-item') ||\r\n target.hasClass('lg-img-wrap'));\r\n };\r\n LightGallery.prototype.isPosterElement = function (target) {\r\n var playButton = this.getSlideItem(this.index)\r\n .find('.lg-video-play-button')\r\n .get();\r\n return (target.hasClass('lg-video-poster') ||\r\n target.hasClass('lg-video-play-button') ||\r\n (playButton && playButton.contains(target.get())));\r\n };\r\n /**\r\n * Maximize minimize inline gallery.\r\n * @category lGPublicMethods\r\n */\r\n LightGallery.prototype.toggleMaximize = function () {\r\n var _this = this;\r\n this.getElementById('lg-maximize').on('click.lg', function () {\r\n _this.$container.toggleClass('lg-inline');\r\n _this.refreshOnResize();\r\n });\r\n };\r\n LightGallery.prototype.invalidateItems = function () {\r\n for (var index = 0; index < this.items.length; index++) {\r\n var element = this.items[index];\r\n var $element = $LG(element);\r\n $element.off(\"click.lgcustom-item-\" + $element.attr('data-lg-id'));\r\n }\r\n };\r\n LightGallery.prototype.trapFocus = function () {\r\n var _this = this;\r\n this.$container.get().focus({\r\n preventScroll: true,\r\n });\r\n $LG(window).on(\"keydown.lg.global\" + this.lgId, function (e) {\r\n if (!_this.lgOpened) {\r\n return;\r\n }\r\n var isTabPressed = e.key === 'Tab' || e.keyCode === 9;\r\n if (!isTabPressed) {\r\n return;\r\n }\r\n var focusableEls = utils.getFocusableElements(_this.$container.get());\r\n var firstFocusableEl = focusableEls[0];\r\n var lastFocusableEl = focusableEls[focusableEls.length - 1];\r\n if (e.shiftKey) {\r\n if (document.activeElement === firstFocusableEl) {\r\n lastFocusableEl.focus();\r\n e.preventDefault();\r\n }\r\n }\r\n else {\r\n if (document.activeElement === lastFocusableEl) {\r\n firstFocusableEl.focus();\r\n e.preventDefault();\r\n }\r\n }\r\n });\r\n };\r\n LightGallery.prototype.manageCloseGallery = function () {\r\n var _this = this;\r\n if (!this.settings.closable)\r\n return;\r\n var mousedown = false;\r\n this.getElementById('lg-close').on('click.lg', function () {\r\n _this.closeGallery();\r\n });\r\n if (this.settings.closeOnTap) {\r\n // If you drag the slide and release outside gallery gets close on chrome\r\n // for preventing this check mousedown and mouseup happened on .lg-item or lg-outer\r\n this.outer.on('mousedown.lg', function (e) {\r\n var target = $LG(e.target);\r\n if (_this.isSlideElement(target)) {\r\n mousedown = true;\r\n }\r\n else {\r\n mousedown = false;\r\n }\r\n });\r\n this.outer.on('mousemove.lg', function () {\r\n mousedown = false;\r\n });\r\n this.outer.on('mouseup.lg', function (e) {\r\n var target = $LG(e.target);\r\n if (_this.isSlideElement(target) && mousedown) {\r\n if (!_this.outer.hasClass('lg-dragging')) {\r\n _this.closeGallery();\r\n }\r\n }\r\n });\r\n }\r\n };\r\n /**\r\n * Close lightGallery if it is opened.\r\n *\r\n * @description If closable is false in the settings, you need to pass true via closeGallery method to force close gallery\r\n * @return returns the estimated time to close gallery completely including the close animation duration\r\n * @category lGPublicMethods\r\n * @example\r\n * const plugin = lightGallery();\r\n * plugin.closeGallery();\r\n *\r\n */\r\n LightGallery.prototype.closeGallery = function (force) {\r\n var _this = this;\r\n if (!this.lgOpened || (!this.settings.closable && !force)) {\r\n return 0;\r\n }\r\n this.LGel.trigger(lGEvents.beforeClose);\r\n if (this.settings.resetScrollPosition && !this.settings.hideScrollbar) {\r\n $LG(window).scrollTop(this.prevScrollTop);\r\n }\r\n var currentItem = this.items[this.index];\r\n var transform;\r\n if (this.zoomFromOrigin && currentItem) {\r\n var _a = this.mediaContainerPosition, top_4 = _a.top, bottom = _a.bottom;\r\n var _b = this.galleryItems[this.index], __slideVideoInfo = _b.__slideVideoInfo, poster = _b.poster;\r\n var imageSize = utils.getSize(currentItem, this.outer, top_4 + bottom, __slideVideoInfo && poster && this.settings.videoMaxSize);\r\n transform = utils.getTransform(currentItem, this.outer, top_4, bottom, imageSize);\r\n }\r\n if (this.zoomFromOrigin && transform) {\r\n this.outer.addClass('lg-closing lg-zoom-from-image');\r\n this.getSlideItem(this.index)\r\n .addClass('lg-start-end-progress')\r\n .css('transition-duration', this.settings.startAnimationDuration + 'ms')\r\n .css('transform', transform);\r\n }\r\n else {\r\n this.outer.addClass('lg-hide-items');\r\n // lg-zoom-from-image is used for setting the opacity to 1 if zoomFromOrigin is true\r\n // If the closing item doesn't have the lg-size attribute, remove this class to avoid the closing css conflicts\r\n this.outer.removeClass('lg-zoom-from-image');\r\n }\r\n // Unbind all events added by lightGallery\r\n // @todo\r\n //this.$el.off('.lg.tm');\r\n this.destroyModules();\r\n this.lGalleryOn = false;\r\n this.isDummyImageRemoved = false;\r\n this.zoomFromOrigin = this.settings.zoomFromOrigin;\r\n clearTimeout(this.hideBarTimeout);\r\n this.hideBarTimeout = false;\r\n $LG('html').removeClass('lg-on');\r\n this.outer.removeClass('lg-visible lg-components-open');\r\n // Resetting opacity to 0 isd required as vertical swipe to close function adds inline opacity.\r\n this.$backdrop.removeClass('in').css('opacity', 0);\r\n var removeTimeout = this.zoomFromOrigin && transform\r\n ? Math.max(this.settings.startAnimationDuration, this.settings.backdropDuration)\r\n : this.settings.backdropDuration;\r\n this.$container.removeClass('lg-show-in');\r\n // Once the closign animation is completed and gallery is invisible\r\n setTimeout(function () {\r\n if (_this.zoomFromOrigin && transform) {\r\n _this.outer.removeClass('lg-zoom-from-image');\r\n }\r\n _this.$container.removeClass('lg-show');\r\n // Reset scrollbar\r\n _this.resetScrollBar();\r\n // Need to remove inline opacity as it is used in the stylesheet as well\r\n _this.$backdrop\r\n .removeAttr('style')\r\n .css('transition-duration', _this.settings.backdropDuration + 'ms');\r\n _this.outer.removeClass(\"lg-closing \" + _this.settings.startClass);\r\n _this.getSlideItem(_this.index).removeClass('lg-start-end-progress');\r\n _this.$inner.empty();\r\n if (_this.lgOpened) {\r\n _this.LGel.trigger(lGEvents.afterClose, {\r\n instance: _this,\r\n });\r\n }\r\n if (_this.$container.get()) {\r\n _this.$container.get().blur();\r\n }\r\n _this.lgOpened = false;\r\n }, removeTimeout + 100);\r\n return removeTimeout + 100;\r\n };\r\n LightGallery.prototype.initModules = function () {\r\n this.plugins.forEach(function (module) {\r\n try {\r\n module.init();\r\n }\r\n catch (err) {\r\n console.warn(\"lightGallery:- make sure lightGallery module is properly initiated\");\r\n }\r\n });\r\n };\r\n LightGallery.prototype.destroyModules = function (destroy) {\r\n this.plugins.forEach(function (module) {\r\n try {\r\n if (destroy) {\r\n module.destroy();\r\n }\r\n else {\r\n module.closeGallery && module.closeGallery();\r\n }\r\n }\r\n catch (err) {\r\n console.warn(\"lightGallery:- make sure lightGallery module is properly destroyed\");\r\n }\r\n });\r\n };\r\n /**\r\n * Refresh lightGallery with new set of children.\r\n *\r\n * @description This is useful to update the gallery when the child elements are changed without calling destroy method.\r\n *\r\n * If you are using dynamic mode, you can pass the modified array of dynamicEl as the first parameter to refresh the dynamic gallery\r\n * @see Demo\r\n * @category lGPublicMethods\r\n * @example\r\n * const plugin = lightGallery();\r\n * // Delete or add children, then call\r\n * plugin.refresh();\r\n *\r\n */\r\n LightGallery.prototype.refresh = function (galleryItems) {\r\n if (!this.settings.dynamic) {\r\n this.invalidateItems();\r\n }\r\n if (galleryItems) {\r\n this.galleryItems = galleryItems;\r\n }\r\n else {\r\n this.galleryItems = this.getItems();\r\n }\r\n this.updateControls();\r\n this.openGalleryOnItemClick();\r\n this.LGel.trigger(lGEvents.updateSlides);\r\n };\r\n LightGallery.prototype.updateControls = function () {\r\n this.addSlideVideoInfo(this.galleryItems);\r\n this.updateCounterTotal();\r\n this.manageSingleSlideClassName();\r\n };\r\n /**\r\n * Destroy lightGallery.\r\n * Destroy lightGallery and its plugin instances completely\r\n *\r\n * @description This method also calls CloseGallery function internally. Returns the time takes to completely close and destroy the instance.\r\n * In case if you want to re-initialize lightGallery right after destroying it, initialize it only once the destroy process is completed.\r\n * You can use refresh method most of the times.\r\n * @category lGPublicMethods\r\n * @example\r\n * const plugin = lightGallery();\r\n * plugin.destroy();\r\n *\r\n */\r\n LightGallery.prototype.destroy = function () {\r\n var _this = this;\r\n var closeTimeout = this.closeGallery(true);\r\n setTimeout(function () {\r\n _this.destroyModules(true);\r\n if (!_this.settings.dynamic) {\r\n _this.invalidateItems();\r\n }\r\n $LG(window).off(\".lg.global\" + _this.lgId);\r\n _this.LGel.off('.lg');\r\n _this.$container.remove();\r\n }, closeTimeout);\r\n return closeTimeout;\r\n };\r\n return LightGallery;\r\n}());\n\nfunction lightGallery(el, options) {\r\n return new LightGallery(el, options);\r\n}\n\nexport default lightGallery;\n","/*!\n * lightgallery | 2.5.0 | June 13th 2022\n * http://www.lightgalleryjs.com/\n * Copyright (c) 2020 Sachin Neravath;\n * @license GPLv3\n */\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar videoSettings = {\r\n autoplayFirstVideo: true,\r\n youTubePlayerParams: false,\r\n vimeoPlayerParams: false,\r\n wistiaPlayerParams: false,\r\n gotoNextSlideOnVideoEnd: true,\r\n autoplayVideoOnSlide: false,\r\n videojs: false,\r\n videojsTheme: '',\r\n videojsOptions: {},\r\n};\n\n/**\r\n * List of lightGallery events\r\n * All events should be documented here\r\n * Below interfaces are used to build the website documentations\r\n * */\r\nvar lGEvents = {\r\n afterAppendSlide: 'lgAfterAppendSlide',\r\n init: 'lgInit',\r\n hasVideo: 'lgHasVideo',\r\n containerResize: 'lgContainerResize',\r\n updateSlides: 'lgUpdateSlides',\r\n afterAppendSubHtml: 'lgAfterAppendSubHtml',\r\n beforeOpen: 'lgBeforeOpen',\r\n afterOpen: 'lgAfterOpen',\r\n slideItemLoad: 'lgSlideItemLoad',\r\n beforeSlide: 'lgBeforeSlide',\r\n afterSlide: 'lgAfterSlide',\r\n posterClick: 'lgPosterClick',\r\n dragStart: 'lgDragStart',\r\n dragMove: 'lgDragMove',\r\n dragEnd: 'lgDragEnd',\r\n beforeNextSlide: 'lgBeforeNextSlide',\r\n beforePrevSlide: 'lgBeforePrevSlide',\r\n beforeClose: 'lgBeforeClose',\r\n afterClose: 'lgAfterClose',\r\n rotateLeft: 'lgRotateLeft',\r\n rotateRight: 'lgRotateRight',\r\n flipHorizontal: 'lgFlipHorizontal',\r\n flipVertical: 'lgFlipVertical',\r\n autoplay: 'lgAutoplay',\r\n autoplayStart: 'lgAutoplayStart',\r\n autoplayStop: 'lgAutoplayStop',\r\n};\n\nvar param = function (obj) {\r\n return Object.keys(obj)\r\n .map(function (k) {\r\n return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]);\r\n })\r\n .join('&');\r\n};\r\nvar getVimeoURLParams = function (defaultParams, videoInfo) {\r\n if (!videoInfo || !videoInfo.vimeo)\r\n return '';\r\n var urlParams = videoInfo.vimeo[2] || '';\r\n var defaultPlayerParams = defaultParams && Object.keys(defaultParams).length !== 0\r\n ? '&' + param(defaultParams)\r\n : '';\r\n // Support private video\r\n var urlWithHash = videoInfo.vimeo[0].split('/').pop() || '';\r\n var urlWithHashWithParams = urlWithHash.split('?')[0] || '';\r\n var hash = urlWithHashWithParams.split('#')[0];\r\n var isPrivate = videoInfo.vimeo[1] !== hash;\r\n if (isPrivate) {\r\n urlParams = urlParams.replace(\"/\" + hash, '');\r\n }\r\n urlParams =\r\n urlParams[0] == '?' ? '&' + urlParams.slice(1) : urlParams || '';\r\n // For vimeo last params gets priority if duplicates found\r\n var vimeoPlayerParams = \"?autoplay=0&muted=1\" + (isPrivate ? \"&h=\" + hash : '') + defaultPlayerParams + urlParams;\r\n return vimeoPlayerParams;\r\n};\n\n/**\r\n * Video module for lightGallery\r\n * Supports HTML5, YouTube, Vimeo, wistia videos\r\n *\r\n *\r\n * @ref Wistia\r\n * https://wistia.com/support/integrations/wordpress(How to get url)\r\n * https://wistia.com/support/developers/embed-options#using-embed-options\r\n * https://wistia.com/support/developers/player-api\r\n * https://wistia.com/support/developers/construct-an-embed-code\r\n * http://jsfiddle.net/xvnm7xLm/\r\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video\r\n * https://wistia.com/support/embed-and-share/sharing-videos\r\n * https://private-sharing.wistia.com/medias/mwhrulrucj\r\n *\r\n * @ref Youtube\r\n * https://developers.google.com/youtube/player_parameters#enablejsapi\r\n * https://developers.google.com/youtube/iframe_api_reference\r\n * https://developer.chrome.com/blog/autoplay/#iframe-delegation\r\n *\r\n * @ref Vimeo\r\n * https://stackoverflow.com/questions/10488943/easy-way-to-get-vimeo-id-from-a-vimeo-url\r\n * https://vimeo.zendesk.com/hc/en-us/articles/360000121668-Starting-playback-at-a-specific-timecode\r\n * https://vimeo.zendesk.com/hc/en-us/articles/360001494447-Using-Player-Parameters\r\n */\r\nvar Video = /** @class */ (function () {\r\n function Video(instance) {\r\n // get lightGallery core plugin instance\r\n this.core = instance;\r\n this.settings = __assign(__assign({}, videoSettings), this.core.settings);\r\n return this;\r\n }\r\n Video.prototype.init = function () {\r\n var _this = this;\r\n /**\r\n * Event triggered when video url found without poster\r\n * Append video HTML\r\n * Play if autoplayFirstVideo is true\r\n */\r\n this.core.LGel.on(lGEvents.hasVideo + \".video\", this.onHasVideo.bind(this));\r\n this.core.LGel.on(lGEvents.posterClick + \".video\", function () {\r\n var $el = _this.core.getSlideItem(_this.core.index);\r\n _this.loadVideoOnPosterClick($el);\r\n });\r\n this.core.LGel.on(lGEvents.slideItemLoad + \".video\", this.onSlideItemLoad.bind(this));\r\n // @desc fired immediately before each slide transition.\r\n this.core.LGel.on(lGEvents.beforeSlide + \".video\", this.onBeforeSlide.bind(this));\r\n // @desc fired immediately after each slide transition.\r\n this.core.LGel.on(lGEvents.afterSlide + \".video\", this.onAfterSlide.bind(this));\r\n };\r\n /**\r\n * @desc Event triggered when a slide is completely loaded\r\n *\r\n * @param {Event} event - lightGalley custom event\r\n */\r\n Video.prototype.onSlideItemLoad = function (event) {\r\n var _this = this;\r\n var _a = event.detail, isFirstSlide = _a.isFirstSlide, index = _a.index;\r\n // Should check the active slide as well as user may have moved to different slide before the first slide is loaded\r\n if (this.settings.autoplayFirstVideo &&\r\n isFirstSlide &&\r\n index === this.core.index) {\r\n // Delay is just for the transition effect on video load\r\n setTimeout(function () {\r\n _this.loadAndPlayVideo(index);\r\n }, 200);\r\n }\r\n // Should not call on first slide. should check only if the slide is active\r\n if (!isFirstSlide &&\r\n this.settings.autoplayVideoOnSlide &&\r\n index === this.core.index) {\r\n this.loadAndPlayVideo(index);\r\n }\r\n };\r\n /**\r\n * @desc Event triggered when video url or poster found\r\n * Append video HTML is poster is not given\r\n * Play if autoplayFirstVideo is true\r\n *\r\n * @param {Event} event - Javascript Event object.\r\n */\r\n Video.prototype.onHasVideo = function (event) {\r\n var _a = event.detail, index = _a.index, src = _a.src, html5Video = _a.html5Video, hasPoster = _a.hasPoster;\r\n if (!hasPoster) {\r\n // All functions are called separately if poster exist in loadVideoOnPosterClick function\r\n this.appendVideos(this.core.getSlideItem(index), {\r\n src: src,\r\n addClass: 'lg-object',\r\n index: index,\r\n html5Video: html5Video,\r\n });\r\n // Automatically navigate to next slide once video reaches the end.\r\n this.gotoNextSlideOnVideoEnd(src, index);\r\n }\r\n };\r\n /**\r\n * @desc fired immediately before each slide transition.\r\n * Pause the previous video\r\n * Hide the download button if the slide contains YouTube, Vimeo, or Wistia videos.\r\n *\r\n * @param {Event} event - Javascript Event object.\r\n * @param {number} prevIndex - Previous index of the slide.\r\n * @param {number} index - Current index of the slide\r\n */\r\n Video.prototype.onBeforeSlide = function (event) {\r\n if (this.core.lGalleryOn) {\r\n var prevIndex = event.detail.prevIndex;\r\n this.pauseVideo(prevIndex);\r\n }\r\n };\r\n /**\r\n * @desc fired immediately after each slide transition.\r\n * Play video if autoplayVideoOnSlide option is enabled.\r\n *\r\n * @param {Event} event - Javascript Event object.\r\n * @param {number} prevIndex - Previous index of the slide.\r\n * @param {number} index - Current index of the slide\r\n * @todo should check on onSlideLoad as well if video is not loaded on after slide\r\n */\r\n Video.prototype.onAfterSlide = function (event) {\r\n var _this = this;\r\n var _a = event.detail, index = _a.index, prevIndex = _a.prevIndex;\r\n // Do not call on first slide\r\n var $slide = this.core.getSlideItem(index);\r\n if (this.settings.autoplayVideoOnSlide && index !== prevIndex) {\r\n if ($slide.hasClass('lg-complete')) {\r\n setTimeout(function () {\r\n _this.loadAndPlayVideo(index);\r\n }, 100);\r\n }\r\n }\r\n };\r\n Video.prototype.loadAndPlayVideo = function (index) {\r\n var $slide = this.core.getSlideItem(index);\r\n var currentGalleryItem = this.core.galleryItems[index];\r\n if (currentGalleryItem.poster) {\r\n this.loadVideoOnPosterClick($slide, true);\r\n }\r\n else {\r\n this.playVideo(index);\r\n }\r\n };\r\n /**\r\n * Play HTML5, Youtube, Vimeo or Wistia videos in a particular slide.\r\n * @param {number} index - Index of the slide\r\n */\r\n Video.prototype.playVideo = function (index) {\r\n this.controlVideo(index, 'play');\r\n };\r\n /**\r\n * Pause HTML5, Youtube, Vimeo or Wistia videos in a particular slide.\r\n * @param {number} index - Index of the slide\r\n */\r\n Video.prototype.pauseVideo = function (index) {\r\n this.controlVideo(index, 'pause');\r\n };\r\n Video.prototype.getVideoHtml = function (src, addClass, index, html5Video) {\r\n var video = '';\r\n var videoInfo = this.core.galleryItems[index]\r\n .__slideVideoInfo || {};\r\n var currentGalleryItem = this.core.galleryItems[index];\r\n var videoTitle = currentGalleryItem.title || currentGalleryItem.alt;\r\n videoTitle = videoTitle ? 'title=\"' + videoTitle + '\"' : '';\r\n var commonIframeProps = \"allowtransparency=\\\"true\\\"\\n frameborder=\\\"0\\\"\\n scrolling=\\\"no\\\"\\n allowfullscreen\\n mozallowfullscreen\\n webkitallowfullscreen\\n oallowfullscreen\\n msallowfullscreen\";\r\n if (videoInfo.youtube) {\r\n var videoId = 'lg-youtube' + index;\r\n var slideUrlParams = videoInfo.youtube[2]\r\n ? videoInfo.youtube[2] + '&'\r\n : '';\r\n // For youtube first parms gets priority if duplicates found\r\n var youTubePlayerParams = \"?\" + slideUrlParams + \"wmode=opaque&autoplay=0&mute=1&enablejsapi=1\";\r\n var playerParams = youTubePlayerParams +\r\n (this.settings.youTubePlayerParams\r\n ? '&' + param(this.settings.youTubePlayerParams)\r\n : '');\r\n video = \"\";\r\n }\r\n else if (videoInfo.vimeo) {\r\n var videoId = 'lg-vimeo' + index;\r\n var playerParams = getVimeoURLParams(this.settings.vimeoPlayerParams, videoInfo);\r\n video = \"\";\r\n }\r\n else if (videoInfo.wistia) {\r\n var wistiaId = 'lg-wistia' + index;\r\n var playerParams = param(this.settings.wistiaPlayerParams);\r\n playerParams = playerParams ? '?' + playerParams : '';\r\n video = \"\";\r\n }\r\n else if (videoInfo.html5) {\r\n var html5VideoMarkup = '';\r\n for (var i = 0; i < html5Video.source.length; i++) {\r\n html5VideoMarkup += \"\";\r\n }\r\n if (html5Video.tracks) {\r\n var _loop_1 = function (i) {\r\n var trackAttributes = '';\r\n var track = html5Video.tracks[i];\r\n Object.keys(track || {}).forEach(function (key) {\r\n trackAttributes += key + \"=\\\"\" + track[key] + \"\\\" \";\r\n });\r\n html5VideoMarkup += \"\";\r\n };\r\n for (var i = 0; i < html5Video.tracks.length; i++) {\r\n _loop_1(i);\r\n }\r\n }\r\n var html5VideoAttrs_1 = '';\r\n var videoAttributes_1 = html5Video.attributes || {};\r\n Object.keys(videoAttributes_1 || {}).forEach(function (key) {\r\n html5VideoAttrs_1 += key + \"=\\\"\" + videoAttributes_1[key] + \"\\\" \";\r\n });\r\n video = \"\";\r\n }\r\n return video;\r\n };\r\n /**\r\n * @desc - Append videos to the slide\r\n *\r\n * @param {HTMLElement} el - slide element\r\n * @param {Object} videoParams - Video parameters, Contains src, class, index, htmlVideo\r\n */\r\n Video.prototype.appendVideos = function (el, videoParams) {\r\n var _a;\r\n var videoHtml = this.getVideoHtml(videoParams.src, videoParams.addClass, videoParams.index, videoParams.html5Video);\r\n el.find('.lg-video-cont').append(videoHtml);\r\n var $videoElement = el.find('.lg-video-object').first();\r\n if (videoParams.html5Video) {\r\n $videoElement.on('mousedown.lg.video', function (e) {\r\n e.stopPropagation();\r\n });\r\n }\r\n if (this.settings.videojs && ((_a = this.core.galleryItems[videoParams.index].__slideVideoInfo) === null || _a === void 0 ? void 0 : _a.html5)) {\r\n try {\r\n return videojs($videoElement.get(), this.settings.videojsOptions);\r\n }\r\n catch (e) {\r\n console.error('lightGallery:- Make sure you have included videojs');\r\n }\r\n }\r\n };\r\n Video.prototype.gotoNextSlideOnVideoEnd = function (src, index) {\r\n var _this = this;\r\n var $videoElement = this.core\r\n .getSlideItem(index)\r\n .find('.lg-video-object')\r\n .first();\r\n var videoInfo = this.core.galleryItems[index].__slideVideoInfo || {};\r\n if (this.settings.gotoNextSlideOnVideoEnd) {\r\n if (videoInfo.html5) {\r\n $videoElement.on('ended', function () {\r\n _this.core.goToNextSlide();\r\n });\r\n }\r\n else if (videoInfo.vimeo) {\r\n try {\r\n // https://github.com/vimeo/player.js/#ended\r\n new Vimeo.Player($videoElement.get()).on('ended', function () {\r\n _this.core.goToNextSlide();\r\n });\r\n }\r\n catch (e) {\r\n console.error('lightGallery:- Make sure you have included //github.com/vimeo/player.js');\r\n }\r\n }\r\n else if (videoInfo.wistia) {\r\n try {\r\n window._wq = window._wq || [];\r\n // @todo Event is gettign triggered multiple times\r\n window._wq.push({\r\n id: $videoElement.attr('id'),\r\n onReady: function (video) {\r\n video.bind('end', function () {\r\n _this.core.goToNextSlide();\r\n });\r\n },\r\n });\r\n }\r\n catch (e) {\r\n console.error('lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js');\r\n }\r\n }\r\n }\r\n };\r\n Video.prototype.controlVideo = function (index, action) {\r\n var $videoElement = this.core\r\n .getSlideItem(index)\r\n .find('.lg-video-object')\r\n .first();\r\n var videoInfo = this.core.galleryItems[index].__slideVideoInfo || {};\r\n if (!$videoElement.get())\r\n return;\r\n if (videoInfo.youtube) {\r\n try {\r\n $videoElement.get().contentWindow.postMessage(\"{\\\"event\\\":\\\"command\\\",\\\"func\\\":\\\"\" + action + \"Video\\\",\\\"args\\\":\\\"\\\"}\", '*');\r\n }\r\n catch (e) {\r\n console.error(\"lightGallery:- \" + e);\r\n }\r\n }\r\n else if (videoInfo.vimeo) {\r\n try {\r\n new Vimeo.Player($videoElement.get())[action]();\r\n }\r\n catch (e) {\r\n console.error('lightGallery:- Make sure you have included //github.com/vimeo/player.js');\r\n }\r\n }\r\n else if (videoInfo.html5) {\r\n if (this.settings.videojs) {\r\n try {\r\n videojs($videoElement.get())[action]();\r\n }\r\n catch (e) {\r\n console.error('lightGallery:- Make sure you have included videojs');\r\n }\r\n }\r\n else {\r\n $videoElement.get()[action]();\r\n }\r\n }\r\n else if (videoInfo.wistia) {\r\n try {\r\n window._wq = window._wq || [];\r\n // @todo Find a way to destroy wistia player instance\r\n window._wq.push({\r\n id: $videoElement.attr('id'),\r\n onReady: function (video) {\r\n video[action]();\r\n },\r\n });\r\n }\r\n catch (e) {\r\n console.error('lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js');\r\n }\r\n }\r\n };\r\n Video.prototype.loadVideoOnPosterClick = function ($el, forcePlay) {\r\n var _this = this;\r\n // check slide has poster\r\n if (!$el.hasClass('lg-video-loaded')) {\r\n // check already video element present\r\n if (!$el.hasClass('lg-has-video')) {\r\n $el.addClass('lg-has-video');\r\n var _html = void 0;\r\n var _src = this.core.galleryItems[this.core.index].src;\r\n var video = this.core.galleryItems[this.core.index].video;\r\n if (video) {\r\n _html =\r\n typeof video === 'string' ? JSON.parse(video) : video;\r\n }\r\n var videoJsPlayer_1 = this.appendVideos($el, {\r\n src: _src,\r\n addClass: '',\r\n index: this.core.index,\r\n html5Video: _html,\r\n });\r\n this.gotoNextSlideOnVideoEnd(_src, this.core.index);\r\n var $tempImg = $el.find('.lg-object').first().get();\r\n // @todo make sure it is working\r\n $el.find('.lg-video-cont').first().append($tempImg);\r\n $el.addClass('lg-video-loading');\r\n videoJsPlayer_1 &&\r\n videoJsPlayer_1.ready(function () {\r\n videoJsPlayer_1.on('loadedmetadata', function () {\r\n _this.onVideoLoadAfterPosterClick($el, _this.core.index);\r\n });\r\n });\r\n $el.find('.lg-video-object')\r\n .first()\r\n .on('load.lg error.lg loadedmetadata.lg', function () {\r\n setTimeout(function () {\r\n _this.onVideoLoadAfterPosterClick($el, _this.core.index);\r\n }, 50);\r\n });\r\n }\r\n else {\r\n this.playVideo(this.core.index);\r\n }\r\n }\r\n else if (forcePlay) {\r\n this.playVideo(this.core.index);\r\n }\r\n };\r\n Video.prototype.onVideoLoadAfterPosterClick = function ($el, index) {\r\n $el.addClass('lg-video-loaded');\r\n this.playVideo(index);\r\n };\r\n Video.prototype.destroy = function () {\r\n this.core.LGel.off('.lg.video');\r\n this.core.LGel.off('.video');\r\n };\r\n return Video;\r\n}());\n\nexport default Video;\n","\"use strict\";\nvar ɵngcc0 = require('@angular/core');\nvar ɵngcc1 = require('./src/sticky-nav.directive');\nvar ɵngcc2 = require('@angular/common');\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StickyNavModule = void 0;\nvar core_1 = require(\"@angular/core\");\nvar common_1 = require(\"@angular/common\");\nvar sticky_nav_directive_1 = require(\"./src/sticky-nav.directive\");\n__exportStar(require(\"./src/sticky-nav.directive\"), exports);\nvar StickyNavModule = /** @class */ (function () {\n function StickyNavModule() {\n }\n StickyNavModule_1 = StickyNavModule;\n StickyNavModule.forRoot = function () {\n return {\n ngModule: StickyNavModule_1\n };\n };\n var StickyNavModule_1;\nStickyNavModule.ɵfac = function StickyNavModule_Factory(t) { return new (t || StickyNavModule)(); };\nStickyNavModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: StickyNavModule });\nStickyNavModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [common_1.CommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(StickyNavModule, [{\n type: core_1.NgModule,\n args: [{\n imports: [\n common_1.CommonModule\n ],\n declarations: [\n sticky_nav_directive_1.StickyNavDirective\n ],\n exports: [\n sticky_nav_directive_1.StickyNavDirective\n ]\n }]\n }], function () { return []; }, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(StickyNavModule, { declarations: [ɵngcc1.StickyNavDirective], imports: [ɵngcc2.CommonModule], exports: [ɵngcc1.StickyNavDirective] }); })();\n return StickyNavModule;\n}());\nexports.StickyNavModule = StickyNavModule;\n\n","\"use strict\";\nvar ɵngcc0 = require('@angular/core');\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StickyNavDirective = void 0;\nvar core_1 = require(\"@angular/core\");\nvar rxjs_1 = require(\"rxjs\");\nvar StickyNavDirective = /** @class */ (function () {\n function StickyNavDirective(elementRef, renderer) {\n this.elementRef = elementRef;\n this.renderer = renderer;\n this.lastScroll = 0;\n this.isSticky = false;\n this.stickyEnabled = true;\n }\n StickyNavDirective.prototype.ngOnInit = function () {\n var _this = this;\n this.scrollSubscription = rxjs_1.fromEvent(window, 'scroll').subscribe(function () { return _this.manageScrollEvent(); });\n };\n StickyNavDirective.prototype.manageScrollEvent = function () {\n var scroll = window.pageYOffset;\n if (this.stickyEnabled &&\n scroll > this.lastScroll &&\n !this.isSticky &&\n scroll >= this.elementRef.nativeElement.offsetTop) {\n this.setSticky();\n }\n else if (scroll < this.lastScroll && this.isSticky && scroll <= this.originalPosition) {\n this.unsetSticky();\n }\n this.lastScroll = scroll;\n };\n StickyNavDirective.prototype.setSticky = function () {\n this.isSticky = true;\n this.originalPosition = this.elementRef.nativeElement.offsetTop;\n this.wrapper = this.elementRef.nativeElement.cloneNode(true);\n this.removeIds();\n this.setStyle('position', 'fixed');\n this.setStyle('top', '0');\n this.addClass();\n this.renderer.setStyle(this.wrapper, 'visibility', 'hidden');\n this.elementRef.nativeElement.parentElement.insertBefore(this.wrapper, this.elementRef.nativeElement);\n };\n StickyNavDirective.prototype.removeIds = function () {\n var _this = this;\n var _a = this.wrapper.getBoundingClientRect(), initHeight = _a.height, initWidth = _a.width;\n Array.from(this.wrapper.querySelectorAll('*')).forEach(function (el) { return _this.renderer.removeAttribute(el, 'id'); });\n var _b = this.wrapper.getBoundingClientRect(), postHeight = _b.height, postWidth = _b.width;\n if (initWidth !== postWidth || initHeight !== postHeight) {\n throw new Error(\"Size mismatch between sticky element and clone - please ensure you aren't using IDs for styling.\");\n }\n };\n StickyNavDirective.prototype.unsetSticky = function () {\n this.isSticky = false;\n this.originalPosition = 0;\n this.elementRef.nativeElement.parentElement.removeChild(this.wrapper);\n this.setStyle('position', 'static');\n this.removeClass();\n };\n StickyNavDirective.prototype.setStyle = function (key, value) {\n this.renderer.setStyle(this.elementRef.nativeElement, key, value);\n };\n StickyNavDirective.prototype.addClass = function () {\n this.renderer.addClass(this.elementRef.nativeElement, this.stickyClass);\n };\n StickyNavDirective.prototype.removeClass = function () {\n this.renderer.removeClass(this.elementRef.nativeElement, this.stickyClass);\n };\n StickyNavDirective.prototype.ngOnDestroy = function () {\n if (this.scrollSubscription) {\n this.scrollSubscription.unsubscribe();\n }\n };\n __decorate([\n core_1.Input('stickyClass'),\n __metadata(\"design:type\", String)\n ], StickyNavDirective.prototype, \"stickyClass\", void 0);\n __decorate([\n core_1.Input(),\n __metadata(\"design:type\", Boolean)\n ], StickyNavDirective.prototype, \"stickyEnabled\", void 0);\n StickyNavDirective = __decorate([ __metadata(\"design:paramtypes\", [core_1.ElementRef, core_1.Renderer2])\n ], StickyNavDirective);\nStickyNavDirective.ɵfac = function StickyNavDirective_Factory(t) { return new (t || StickyNavDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2)); };\nStickyNavDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: StickyNavDirective, selectors: [[\"\", \"ngStickyNav\", \"\"]], inputs: { stickyEnabled: \"stickyEnabled\", stickyClass: \"stickyClass\" } });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(StickyNavDirective, [{\n type: core_1.Directive,\n args: [{\n selector: '[ngStickyNav]'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.Renderer2 }]; }, { stickyEnabled: [{\n type: core_1.Input\n }], stickyClass: [{\n type: core_1.Input,\n args: ['stickyClass']\n }] }); })();\n return StickyNavDirective;\n}());\nexports.StickyNavDirective = StickyNavDirective;\n\n","\"use strict\";\nvar ɵngcc0 = require('@angular/core');\n\nvar _c0 = [\"*\"];\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar core_1 = require(\"@angular/core\");\nvar AccordionGroup_1 = require(\"./AccordionGroup\");\nvar Accordion = (function () {\n function Accordion() {\n this.closeOthers = true;\n this.showArrows = false;\n this.expandAll = false;\n }\n Accordion.prototype.ngAfterContentInit = function () {\n var _this = this;\n if (this.expandAll) {\n this.closeOthers = false;\n this.oldGroups = this.groups.toArray();\n this.oldGroups.forEach(function (group) {\n group.openOnInitialization();\n });\n // we subscribe for changes, and if new groups are added we open them automatically\n this.subscription = this.groups.changes.subscribe(function (change) {\n var newGroups = _this.groups.toArray().filter(function (group) {\n return _this.oldGroups.indexOf(group) === -1;\n });\n newGroups.forEach(function (group) {\n group.openOnInitialization();\n });\n _this.oldGroups = _this.groups.toArray();\n });\n }\n };\n Accordion.prototype.ngOnDestroy = function () {\n if (this.subscription)\n this.subscription.unsubscribe();\n };\n Accordion.prototype.closeAll = function () {\n this.groups.toArray().forEach(function (group) {\n group.isOpened = false;\n });\n };\nAccordion.ɵfac = function Accordion_Factory(t) { return new (t || Accordion)(); };\nAccordion.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: Accordion, selectors: [[\"accordion\"]], contentQueries: function Accordion_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, AccordionGroup_1.AccordionGroup, 4);\n } if (rf & 2) {\n var _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.groups = _t);\n } }, inputs: { closeOthers: \"closeOthers\", showArrows: \"showArrows\", expandAll: \"expandAll\" }, ngContentSelectors: _c0, decls: 2, vars: 0, consts: [[\"role\", \"tablist\", \"aria-multiselectable\", \"true\", 1, \"panel-group\"]], template: function Accordion_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵelementStart(0, \"div\", 0);\n ɵngcc0.ɵɵprojection(1);\n ɵngcc0.ɵɵelementEnd();\n } }, encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Accordion, [{\n type: core_1.Component,\n args: [{\n selector: \"accordion\",\n template: \"\\n
\\n \\n
\\n\"\n }]\n }], function () { return []; }, { closeOthers: [{\n type: core_1.Input\n }], showArrows: [{\n type: core_1.Input\n }], expandAll: [{\n type: core_1.Input\n }], groups: [{\n type: core_1.ContentChildren,\n args: [core_1.forwardRef(function () { return AccordionGroup_1.AccordionGroup; })]\n }] }); })();\n return Accordion;\n}());\n__decorate([\n core_1.Input(),\n __metadata(\"design:type\", Object)\n], Accordion.prototype, \"closeOthers\", void 0);\n__decorate([\n core_1.Input(),\n __metadata(\"design:type\", Object)\n], Accordion.prototype, \"showArrows\", void 0);\n__decorate([\n core_1.Input(),\n __metadata(\"design:type\", Object)\n], Accordion.prototype, \"expandAll\", void 0);\n__decorate([\n core_1.ContentChildren(core_1.forwardRef(function () { return AccordionGroup_1.AccordionGroup; })),\n __metadata(\"design:type\", core_1.QueryList)\n], Accordion.prototype, \"groups\", void 0);\nexports.Accordion = Accordion;\n\n","\"use strict\";\nvar ɵngcc0 = require('@angular/core');\nvar ɵngcc1 = require('@angular/common');\nvar ɵngcc2 = require('./Accordion');\n\nfunction AccordionGroup_a_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"a\", 6);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n var ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"aria-expanded\", ctx_r0.isOpened);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r0.heading, \" \");\n} }\nfunction AccordionGroup_div_6_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 7)(1, \"div\", 8);\n ɵngcc0.ɵɵprojection(2, 1);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n var ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵattribute(\"aria-labelledby\", ctx_r1.heading);\n} }\nvar _c0 = [[[\"accordion-heading\"]], \"*\"];\nvar _c1 = [\"accordion-heading\", \"*\"];\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar core_1 = require(\"@angular/core\");\nvar Accordion_1 = require(\"./Accordion\");\nvar AccordionToggle_1 = require(\"./AccordionToggle\");\nvar AccordionGroup = (function () {\n function AccordionGroup(accordion, cdr) {\n this.accordion = accordion;\n this.cdr = cdr;\n this.isOpened = false;\n this.onOpen = new core_1.EventEmitter();\n this.onClose = new core_1.EventEmitter();\n this.onToggle = new core_1.EventEmitter();\n this.disabled = false;\n }\n AccordionGroup.prototype.checkAndToggle = function () {\n // if custom toggle element is supplied, then do nothing, custom toggler will take care of it\n if (this.toggler)\n return;\n this.toggle();\n };\n AccordionGroup.prototype.toggle = function () {\n if (this.disabled)\n return;\n var isOpenedBeforeWeChange = this.isOpened;\n if (this.accordion.closeOthers)\n this.accordion.closeAll();\n this.isOpened = !isOpenedBeforeWeChange;\n if (this.isOpened) {\n this.onOpen.emit();\n }\n else {\n this.onClose.emit();\n }\n this.onToggle.emit(this.isOpened);\n };\n AccordionGroup.prototype.openOnInitialization = function () {\n this.isOpened = true;\n this.cdr.detectChanges();\n };\nAccordionGroup.ɵfac = function AccordionGroup_Factory(t) { return new (t || AccordionGroup)(ɵngcc0.ɵɵdirectiveInject(core_1.forwardRef(function () { return Accordion_1.Accordion; }), 1), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nAccordionGroup.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: AccordionGroup, selectors: [[\"accordion-group\"]], contentQueries: function AccordionGroup_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, AccordionToggle_1.AccordionToggle, 5);\n } if (rf & 2) {\n var _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.toggler = _t.first);\n } }, inputs: { isOpened: \"isOpened\", disabled: \"disabled\", heading: \"heading\" }, outputs: { onOpen: \"onOpen\", onClose: \"onClose\", onToggle: \"onToggle\" }, ngContentSelectors: _c1, decls: 7, vars: 8, consts: [[1, \"panel\", \"panel-default\"], [\"role\", \"tab\", 1, \"panel-heading\", 3, \"click\"], [1, \"panel-title\"], [\"role\", \"button\", \"data-toggle\", \"collapse\", 4, \"ngIf\"], [1, \"caret\"], [\"class\", \"panel-collapse collapse in\", \"role\", \"tabpanel\", 4, \"ngIf\"], [\"role\", \"button\", \"data-toggle\", \"collapse\"], [\"role\", \"tabpanel\", 1, \"panel-collapse\", \"collapse\", \"in\"], [1, \"panel-body\"]], template: function AccordionGroup_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef(_c0);\n ɵngcc0.ɵɵelementStart(0, \"div\", 0)(1, \"div\", 1);\n ɵngcc0.ɵɵlistener(\"click\", function AccordionGroup_Template_div_click_1_listener() { return ctx.checkAndToggle(); });\n ɵngcc0.ɵɵelementStart(2, \"h4\", 2);\n ɵngcc0.ɵɵtemplate(3, AccordionGroup_a_3_Template, 2, 2, \"a\", 3);\n ɵngcc0.ɵɵprojection(4);\n ɵngcc0.ɵɵelement(5, \"div\", 4);\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵtemplate(6, AccordionGroup_div_6_Template, 3, 1, \"div\", 5);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"dropup\", ctx.isOpened)(\"disabled\", ctx.disabled);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.heading);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵstyleProp(\"display\", ctx.accordion.showArrows ? \"\" : \"none\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.isOpened);\n } }, dependencies: [ɵngcc1.NgIf], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AccordionGroup, [{\n type: core_1.Component,\n args: [{\n selector: \"accordion-group\",\n template: \"\\n
\\n
\\n

\\n \\n {{ heading }}\\n \\n \\n
\\n
\\n

\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\"\n }]\n }], function () { return [{ type: ɵngcc2.Accordion, decorators: [{\n type: core_1.Host\n }, {\n type: core_1.Inject,\n args: [core_1.forwardRef(function () { return Accordion_1.Accordion; })]\n }] }, { type: ɵngcc0.ChangeDetectorRef }]; }, { isOpened: [{\n type: core_1.Input\n }], onOpen: [{\n type: core_1.Output\n }], onClose: [{\n type: core_1.Output\n }], onToggle: [{\n type: core_1.Output\n }], disabled: [{\n type: core_1.Input\n }], heading: [{\n type: core_1.Input\n }], toggler: [{\n type: core_1.ContentChild,\n args: [AccordionToggle_1.AccordionToggle]\n }] }); })();\n return AccordionGroup;\n}());\n__decorate([\n core_1.Input(),\n __metadata(\"design:type\", String)\n], AccordionGroup.prototype, \"heading\", void 0);\n__decorate([\n core_1.Input(),\n __metadata(\"design:type\", Boolean)\n], AccordionGroup.prototype, \"isOpened\", void 0);\n__decorate([\n core_1.Output(),\n __metadata(\"design:type\", Object)\n], AccordionGroup.prototype, \"onOpen\", void 0);\n__decorate([\n core_1.Output(),\n __metadata(\"design:type\", Object)\n], AccordionGroup.prototype, \"onClose\", void 0);\n__decorate([\n core_1.Output(),\n __metadata(\"design:type\", Object)\n], AccordionGroup.prototype, \"onToggle\", void 0);\n__decorate([\n core_1.ContentChild(AccordionToggle_1.AccordionToggle),\n __metadata(\"design:type\", core_1.ElementRef)\n], AccordionGroup.prototype, \"toggler\", void 0);\n__decorate([\n core_1.Input(),\n __metadata(\"design:type\", Boolean)\n], AccordionGroup.prototype, \"disabled\", void 0);\nAccordionGroup = __decorate([ __param(0, core_1.Host()), __param(0, core_1.Inject(core_1.forwardRef(function () { return Accordion_1.Accordion; }))),\n __metadata(\"design:paramtypes\", [Accordion_1.Accordion,\n core_1.ChangeDetectorRef])\n], AccordionGroup);\nexports.AccordionGroup = AccordionGroup;\n\n","\"use strict\";\nvar ɵngcc0 = require('@angular/core');\n\nvar _c0 = [\"*\"];\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar core_1 = require(\"@angular/core\");\nvar AccordionHeading = (function () {\n function AccordionHeading() {\n }\nAccordionHeading.ɵfac = function AccordionHeading_Factory(t) { return new (t || AccordionHeading)(); };\nAccordionHeading.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: AccordionHeading, selectors: [[\"accordion-heading\"]], ngContentSelectors: _c0, decls: 1, vars: 0, template: function AccordionHeading_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵprojection(0);\n } }, encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AccordionHeading, [{\n type: core_1.Component,\n args: [{\n selector: \"accordion-heading\",\n template: \"\"\n }]\n }], function () { return []; }, null); })();\n return AccordionHeading;\n}());\nexports.AccordionHeading = AccordionHeading;\n\n","\"use strict\";\nvar ɵngcc0 = require('@angular/core');\nvar ɵngcc1 = require('./AccordionGroup');\n\nvar _c0 = [\"*\"];\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar core_1 = require(\"@angular/core\");\nvar AccordionGroup_1 = require(\"./AccordionGroup\");\nvar AccordionToggle = (function () {\n function AccordionToggle(accordionGroup) {\n this.accordionGroup = accordionGroup;\n }\n AccordionToggle.prototype.onClick = function () {\n this.accordionGroup.toggle();\n };\nAccordionToggle.ɵfac = function AccordionToggle_Factory(t) { return new (t || AccordionToggle)(ɵngcc0.ɵɵdirectiveInject(core_1.forwardRef(function () { return AccordionGroup_1.AccordionGroup; }), 1)); };\nAccordionToggle.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: AccordionToggle, selectors: [[\"accordion-toggle\"]], hostBindings: function AccordionToggle_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function AccordionToggle_click_HostBindingHandler() { return ctx.onClick(); });\n } }, ngContentSelectors: _c0, decls: 1, vars: 0, template: function AccordionToggle_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵprojection(0);\n } }, encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AccordionToggle, [{\n type: core_1.Component,\n args: [{\n selector: \"accordion-toggle\",\n template: \"\"\n }]\n }], function () { return [{ type: ɵngcc1.AccordionGroup, decorators: [{\n type: core_1.Host\n }, {\n type: core_1.Inject,\n args: [core_1.forwardRef(function () { return AccordionGroup_1.AccordionGroup; })]\n }] }]; }, { onClick: [{\n type: core_1.HostListener,\n args: [\"click\"]\n }] }); })();\n return AccordionToggle;\n}());\n__decorate([\n core_1.HostListener(\"click\"),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], AccordionToggle.prototype, \"onClick\", null);\nAccordionToggle = __decorate([ __param(0, core_1.Host()), __param(0, core_1.Inject(core_1.forwardRef(function () { return AccordionGroup_1.AccordionGroup; }))),\n __metadata(\"design:paramtypes\", [AccordionGroup_1.AccordionGroup])\n], AccordionToggle);\nexports.AccordionToggle = AccordionToggle;\n\n","\"use strict\";\nvar ɵngcc0 = require('@angular/core');\nvar ɵngcc1 = require('./Accordion');\nvar ɵngcc2 = require('./AccordionGroup');\nvar ɵngcc3 = require('./AccordionToggle');\nvar ɵngcc4 = require('./AccordionHeading');\nvar ɵngcc5 = require('@angular/common');\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nvar core_1 = require(\"@angular/core\");\nvar common_1 = require(\"@angular/common\");\nvar AccordionGroup_1 = require(\"./AccordionGroup\");\nvar Accordion_1 = require(\"./Accordion\");\nvar AccordionToggle_1 = require(\"./AccordionToggle\");\nvar AccordionHeading_1 = require(\"./AccordionHeading\");\n__export(require(\"./Accordion\"));\n__export(require(\"./AccordionGroup\"));\n__export(require(\"./AccordionToggle\"));\n__export(require(\"./AccordionHeading\"));\nvar AccordionModule = (function () {\n function AccordionModule() {\n }\nAccordionModule.ɵfac = function AccordionModule_Factory(t) { return new (t || AccordionModule)(); };\nAccordionModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: AccordionModule });\nAccordionModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [common_1.CommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AccordionModule, [{\n type: core_1.NgModule,\n args: [{\n imports: [\n common_1.CommonModule\n ],\n declarations: [\n Accordion_1.Accordion,\n AccordionGroup_1.AccordionGroup,\n AccordionToggle_1.AccordionToggle,\n AccordionHeading_1.AccordionHeading\n ],\n exports: [\n Accordion_1.Accordion,\n AccordionGroup_1.AccordionGroup,\n AccordionToggle_1.AccordionToggle,\n AccordionHeading_1.AccordionHeading\n ]\n }]\n }], function () { return []; }, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(AccordionModule, { declarations: [ɵngcc1.Accordion, ɵngcc2.AccordionGroup, ɵngcc3.AccordionToggle, ɵngcc4.AccordionHeading], imports: [ɵngcc5.CommonModule], exports: [ɵngcc1.Accordion, ɵngcc2.AccordionGroup, ɵngcc3.AccordionToggle, ɵngcc4.AccordionHeading] }); })();\n return AccordionModule;\n}());\nexports.AccordionModule = AccordionModule;\n\n","import { ɵɵdefineInjectable, Injectable, EventEmitter, ElementRef, Input, Output, HostListener, Directive, NgModule } from '@angular/core';\nimport { saveAs } from 'file-saver';\nimport { HttpParams, HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/common/http';\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nlet FileSaverService = class FileSaverService {\n get isFileSaverSupported() {\n try {\n return !!new Blob();\n }\n catch (e) {\n return false;\n }\n }\n genType(fileName) {\n if (!fileName || fileName.lastIndexOf('.') === -1) {\n return 'text/plain';\n }\n const type = fileName.substr(fileName.lastIndexOf('.') + 1);\n switch (type) {\n case 'txt':\n return 'text/plain';\n case 'xml':\n case 'html':\n return `text/${type}`;\n case 'json':\n return 'octet/stream';\n default:\n return `application/${type}`;\n }\n }\n save(blob, fileName, filtType, option) {\n if (!blob) {\n throw new Error('Data argument should be a blob instance');\n }\n const file = new Blob([blob], { type: filtType || blob.type || this.genType(fileName) });\n saveAs(file, decodeURI(fileName || 'download'), option);\n }\n saveText(txt, fileName, option) {\n const blob = new Blob([txt]);\n this.save(blob, fileName, null, option);\n }\n};\nFileSaverService.ɵfac = function FileSaverService_Factory(t) { return new (t || FileSaverService)(); };\nFileSaverService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: FileSaverService, factory: function (t) { return FileSaverService.ɵfac(t); }, providedIn: 'root' });\nFileSaverService.ngInjectableDef = ɵɵdefineInjectable({ factory: function FileSaverService_Factory() { return new FileSaverService(); }, token: FileSaverService, providedIn: \"root\" });\n\nvar __decorate$1 = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nlet FileSaverDirective = class FileSaverDirective {\n constructor(el, fss, httpClient) {\n this.el = el;\n this.fss = fss;\n this.httpClient = httpClient;\n this.method = 'GET';\n this.success = new EventEmitter();\n this.error = new EventEmitter();\n if (!fss.isFileSaverSupported) {\n el.nativeElement.classList.add(`filesaver__not-support`);\n }\n }\n getName(res) {\n return decodeURI(this.fileName || res.headers.get('filename') || res.headers.get('x-filename'));\n }\n _click() {\n if (!this.fss.isFileSaverSupported) {\n return;\n }\n let req = this.http;\n if (!req) {\n const params = new HttpParams();\n const query = this.query || {};\n // tslint:disable-next-line:forin\n for (const item in query) {\n params.set(item, query[item]);\n }\n req = this.httpClient.request(this.method, this.url, {\n observe: 'response',\n responseType: 'blob',\n headers: this.header,\n params,\n });\n }\n this.setDisabled(true);\n req.subscribe(res => {\n if (res.status !== 200 || res.body.size <= 0) {\n this.error.emit(res);\n return;\n }\n this.fss.save(res.body, this.getName(res), null, this.fsOptions);\n this.success.emit(res);\n }, err => this.error.emit(err), () => this.setDisabled(false));\n }\n setDisabled(status) {\n const el = this.el.nativeElement;\n el.disabled = status;\n el.classList[status ? 'add' : 'remove'](`filesaver__disabled`);\n }\n};\nFileSaverDirective.ɵfac = function FileSaverDirective_Factory(t) { return new (t || FileSaverDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(FileSaverService), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.HttpClient)); };\nFileSaverDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: FileSaverDirective, selectors: [[\"\", \"fileSaver\", \"\"]], hostBindings: function FileSaverDirective_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function FileSaverDirective_click_HostBindingHandler() { return ctx._click(); });\n } }, inputs: { method: \"method\", http: \"http\", query: \"query\", header: \"header\", url: \"url\", fileName: \"fileName\", fsOptions: \"fsOptions\" }, outputs: { success: \"success\", error: \"error\" }, exportAs: [\"fileSaver\"] });\nFileSaverDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: FileSaverService },\n { type: HttpClient }\n];\n__decorate$1([\n Input(),\n __metadata(\"design:type\", Object)\n], FileSaverDirective.prototype, \"method\", void 0);\n__decorate$1([\n Input(),\n __metadata(\"design:type\", Observable)\n], FileSaverDirective.prototype, \"http\", void 0);\n__decorate$1([\n Input(),\n __metadata(\"design:type\", Object)\n], FileSaverDirective.prototype, \"query\", void 0);\n__decorate$1([\n Input(),\n __metadata(\"design:type\", Object)\n], FileSaverDirective.prototype, \"header\", void 0);\n__decorate$1([\n Input(),\n __metadata(\"design:type\", String)\n], FileSaverDirective.prototype, \"url\", void 0);\n__decorate$1([\n Input(),\n __metadata(\"design:type\", String)\n], FileSaverDirective.prototype, \"fileName\", void 0);\n__decorate$1([\n Input(),\n __metadata(\"design:type\", Object)\n], FileSaverDirective.prototype, \"fsOptions\", void 0);\n__decorate$1([\n Output(),\n __metadata(\"design:type\", Object)\n], FileSaverDirective.prototype, \"success\", void 0);\n__decorate$1([\n Output(),\n __metadata(\"design:type\", Object)\n], FileSaverDirective.prototype, \"error\", void 0);\n__decorate$1([\n HostListener('click'),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], FileSaverDirective.prototype, \"_click\", null);\nFileSaverDirective = __decorate$1([ __metadata(\"design:paramtypes\", [ElementRef, FileSaverService, HttpClient])\n], FileSaverDirective);\n\nvar __decorate$2 = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nlet FileSaverModule = class FileSaverModule {\n};\nFileSaverModule.ɵfac = function FileSaverModule_Factory(t) { return new (t || FileSaverModule)(); };\nFileSaverModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: FileSaverModule });\nFileSaverModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FileSaverService, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FileSaverDirective, [{\n type: Directive,\n args: [{\n selector: '[fileSaver]',\n exportAs: 'fileSaver'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: FileSaverService }, { type: ɵngcc1.HttpClient }]; }, { method: [{\n type: Input\n }], success: [{\n type: Output\n }], error: [{\n type: Output\n }], _click: [{\n type: HostListener,\n args: ['click']\n }], http: [{\n type: Input\n }], query: [{\n type: Input\n }], header: [{\n type: Input\n }], url: [{\n type: Input\n }], fileName: [{\n type: Input\n }], fsOptions: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FileSaverModule, [{\n type: NgModule,\n args: [{\n declarations: [FileSaverDirective],\n exports: [FileSaverDirective]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(FileSaverModule, { declarations: [FileSaverDirective], exports: [FileSaverDirective] }); })();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { FileSaverDirective, FileSaverModule, FileSaverService };\n\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar lightbox_service_1 = require(\"./lightbox.service\");\nexports.Lightbox = lightbox_service_1.Lightbox;\nvar lightbox_config_service_1 = require(\"./lightbox-config.service\");\nexports.LightboxConfig = lightbox_config_service_1.LightboxConfig;\nvar lightbox_event_service_1 = require(\"./lightbox-event.service\");\nexports.LightboxEvent = lightbox_event_service_1.LightboxEvent;\nexports.LIGHTBOX_EVENT = lightbox_event_service_1.LIGHTBOX_EVENT;\nvar lightbox_module_1 = require(\"./lightbox.module\");\nexports.LightboxModule = lightbox_module_1.LightboxModule;\n\n","\"use strict\";\nvar ɵngcc0 = require('@angular/core');\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar LightboxConfig = /** @class */ (function () {\n function LightboxConfig() {\n this.fadeDuration = 0.7;\n this.resizeDuration = 0.5;\n this.fitImageInViewPort = true;\n this.positionFromTop = 20;\n this.showImageNumberLabel = false;\n this.alwaysShowNavOnTouchDevices = false;\n this.wrapAround = false;\n this.disableKeyboardNav = false;\n this.disableScrolling = false;\n this.centerVertically = false;\n this.enableTransition = true;\n this.albumLabel = 'Image %1 of %2';\n this.showZoom = false;\n this.showRotate = false;\n this.containerElementResolver = function (documentRef) { return documentRef.querySelector('body'); };\n }\n LightboxConfig = __decorate([ __metadata(\"design:paramtypes\", [])\n ], LightboxConfig);\nLightboxConfig.ɵfac = function LightboxConfig_Factory(t) { return new (t || LightboxConfig)(); };\nLightboxConfig.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: LightboxConfig, factory: function (t) { return LightboxConfig.ɵfac(t); } });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LightboxConfig, [{\n type: core_1.Injectable\n }], function () { return []; }, null); })();\n return LightboxConfig;\n}());\nexports.LightboxConfig = LightboxConfig;\n\n","\"use strict\";\nvar ɵngcc0 = require('@angular/core');\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar rxjs_1 = require(\"rxjs\");\nvar core_1 = require(\"@angular/core\");\nexports.LIGHTBOX_EVENT = {\n CHANGE_PAGE: 1,\n CLOSE: 2,\n OPEN: 3,\n ZOOM_IN: 4,\n ZOOM_OUT: 5,\n ROTATE_LEFT: 6,\n ROTATE_RIGHT: 7\n};\nvar LightboxEvent = /** @class */ (function () {\n function LightboxEvent() {\n this._lightboxEventSource = new rxjs_1.Subject();\n this.lightboxEvent$ = this._lightboxEventSource.asObservable();\n }\n LightboxEvent.prototype.broadcastLightboxEvent = function (event) {\n this._lightboxEventSource.next(event);\n };\n LightboxEvent = __decorate([ __metadata(\"design:paramtypes\", [])\n ], LightboxEvent);\nLightboxEvent.ɵfac = function LightboxEvent_Factory(t) { return new (t || LightboxEvent)(); };\nLightboxEvent.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: LightboxEvent, factory: function (t) { return LightboxEvent.ɵfac(t); } });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LightboxEvent, [{\n type: core_1.Injectable\n }], function () { return []; }, null); })();\n return LightboxEvent;\n}());\nexports.LightboxEvent = LightboxEvent;\nfunction getWindow() {\n return window;\n}\nvar LightboxWindowRef = /** @class */ (function () {\n function LightboxWindowRef() {\n }\n Object.defineProperty(LightboxWindowRef.prototype, \"nativeWindow\", {\n get: function () {\n return getWindow();\n },\n enumerable: true,\n configurable: true\n });\nLightboxWindowRef.ɵfac = function LightboxWindowRef_Factory(t) { return new (t || LightboxWindowRef)(); };\nLightboxWindowRef.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: LightboxWindowRef, factory: function (t) { return LightboxWindowRef.ɵfac(t); } });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LightboxWindowRef, [{\n type: core_1.Injectable\n }], function () { return []; }, null); })();\n return LightboxWindowRef;\n}());\nexports.LightboxWindowRef = LightboxWindowRef;\n\n","\"use strict\";\nvar ɵngcc0 = require('@angular/core');\nvar ɵngcc1 = require('./lightbox-event.service');\n\nvar _c0 = [\"lb-overlay\", \"\"];\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar common_1 = require(\"@angular/common\");\nvar core_1 = require(\"@angular/core\");\nvar lightbox_event_service_1 = require(\"./lightbox-event.service\");\nvar LightboxOverlayComponent = /** @class */ (function () {\n function LightboxOverlayComponent(_elemRef, _rendererRef, _lightboxEvent, _documentRef) {\n var _this = this;\n this._elemRef = _elemRef;\n this._rendererRef = _rendererRef;\n this._lightboxEvent = _lightboxEvent;\n this._documentRef = _documentRef;\n this.classList = 'lightboxOverlay animation fadeInOverlay';\n this._subscription = this._lightboxEvent.lightboxEvent$.subscribe(function (event) { return _this._onReceivedEvent(event); });\n }\n LightboxOverlayComponent.prototype.close = function () {\n // broadcast to itself and all others subscriber including the components\n this._lightboxEvent.broadcastLightboxEvent({ id: lightbox_event_service_1.LIGHTBOX_EVENT.CLOSE, data: null });\n };\n LightboxOverlayComponent.prototype.ngAfterViewInit = function () {\n var fadeDuration = this.options.fadeDuration;\n this._rendererRef.setStyle(this._elemRef.nativeElement, '-webkit-animation-duration', fadeDuration + \"s\");\n this._rendererRef.setStyle(this._elemRef.nativeElement, 'animation-duration', fadeDuration + \"s\");\n this._sizeOverlay();\n };\n LightboxOverlayComponent.prototype.onResize = function () {\n this._sizeOverlay();\n };\n LightboxOverlayComponent.prototype.ngOnDestroy = function () {\n this._subscription.unsubscribe();\n };\n LightboxOverlayComponent.prototype._sizeOverlay = function () {\n var width = this._getOverlayWidth();\n var height = this._getOverlayHeight();\n this._rendererRef.setStyle(this._elemRef.nativeElement, 'width', width + \"px\");\n this._rendererRef.setStyle(this._elemRef.nativeElement, 'height', height + \"px\");\n };\n LightboxOverlayComponent.prototype._onReceivedEvent = function (event) {\n switch (event.id) {\n case lightbox_event_service_1.LIGHTBOX_EVENT.CLOSE:\n this._end();\n break;\n default:\n break;\n }\n };\n LightboxOverlayComponent.prototype._end = function () {\n var _this = this;\n this.classList = 'lightboxOverlay animation fadeOutOverlay';\n // queue self destruction after the animation has finished\n // FIXME: not sure if there is any way better than this\n setTimeout(function () {\n _this.cmpRef.destroy();\n }, this.options.fadeDuration * 1000);\n };\n LightboxOverlayComponent.prototype._getOverlayWidth = function () {\n return Math.max(this._documentRef.body.scrollWidth, this._documentRef.body.offsetWidth, this._documentRef.documentElement.clientWidth, this._documentRef.documentElement.scrollWidth, this._documentRef.documentElement.offsetWidth);\n };\n LightboxOverlayComponent.prototype._getOverlayHeight = function () {\n return Math.max(this._documentRef.body.scrollHeight, this._documentRef.body.offsetHeight, this._documentRef.documentElement.clientHeight, this._documentRef.documentElement.scrollHeight, this._documentRef.documentElement.offsetHeight);\n };\n __decorate([\n core_1.Input(),\n __metadata(\"design:type\", Object)\n ], LightboxOverlayComponent.prototype, \"options\", void 0);\n __decorate([\n core_1.Input(),\n __metadata(\"design:type\", Object)\n ], LightboxOverlayComponent.prototype, \"cmpRef\", void 0);\n __decorate([\n core_1.HostListener('click'),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n ], LightboxOverlayComponent.prototype, \"close\", null);\n __decorate([\n core_1.HostListener('window:resize'),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n ], LightboxOverlayComponent.prototype, \"onResize\", null);\n LightboxOverlayComponent = __decorate([ __param(3, core_1.Inject(common_1.DOCUMENT)),\n __metadata(\"design:paramtypes\", [core_1.ElementRef,\n core_1.Renderer2,\n lightbox_event_service_1.LightboxEvent, Object])\n ], LightboxOverlayComponent);\nLightboxOverlayComponent.ɵfac = function LightboxOverlayComponent_Factory(t) { return new (t || LightboxOverlayComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.LightboxEvent), ɵngcc0.ɵɵdirectiveInject(common_1.DOCUMENT)); };\nLightboxOverlayComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: LightboxOverlayComponent, selectors: [[\"\", \"lb-overlay\", \"\"]], hostVars: 2, hostBindings: function LightboxOverlayComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function LightboxOverlayComponent_click_HostBindingHandler() { return ctx.close(); })(\"resize\", function LightboxOverlayComponent_resize_HostBindingHandler() { return ctx.onResize(); }, false, ɵngcc0.ɵɵresolveWindow);\n } if (rf & 2) {\n ɵngcc0.ɵɵclassMap(ctx.classList);\n } }, inputs: { options: \"options\", cmpRef: \"cmpRef\" }, attrs: _c0, decls: 0, vars: 0, template: function LightboxOverlayComponent_Template(rf, ctx) { }, encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LightboxOverlayComponent, [{\n type: core_1.Component,\n args: [{\n selector: '[lb-overlay]',\n template: '',\n host: {\n '[class]': 'classList'\n }\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc1.LightboxEvent }, { type: Object, decorators: [{\n type: core_1.Inject,\n args: [common_1.DOCUMENT]\n }] }]; }, { close: [{\n type: core_1.HostListener,\n args: ['click']\n }], onResize: [{\n type: core_1.HostListener,\n args: ['window:resize']\n }], options: [{\n type: core_1.Input\n }], cmpRef: [{\n type: core_1.Input\n }] }); })();\n return LightboxOverlayComponent;\n}());\nexports.LightboxOverlayComponent = LightboxOverlayComponent;\n\n","\"use strict\";\nvar ɵngcc0 = require('@angular/core');\nvar ɵngcc1 = require('./lightbox-event.service');\nvar ɵngcc2 = require('ngx-filesaver');\nvar ɵngcc3 = require('@angular/platform-browser');\n\nvar _c0 = [\"outerContainer\"];\nvar _c1 = [\"container\"];\nvar _c2 = [\"leftArrow\"];\nvar _c3 = [\"rightArrow\"];\nvar _c4 = [\"navArrow\"];\nvar _c5 = [\"dataContainer\"];\nvar _c6 = [\"image\"];\nvar _c7 = [\"caption\"];\nvar _c8 = [\"number\"];\nvar _c9 = [\"lb-content\", \"\"];\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ngx_filesaver_1 = require(\"ngx-filesaver\");\nvar common_1 = require(\"@angular/common\");\nvar core_1 = require(\"@angular/core\");\nvar platform_browser_1 = require(\"@angular/platform-browser\");\nvar lightbox_event_service_1 = require(\"./lightbox-event.service\");\nvar LightboxComponent = /** @class */ (function () {\n function LightboxComponent(_elemRef, _rendererRef, _lightboxEvent, _lightboxElem, _lightboxWindowRef, _fileSaverService, _sanitizer, _documentRef) {\n var _this_1 = this;\n this._elemRef = _elemRef;\n this._rendererRef = _rendererRef;\n this._lightboxEvent = _lightboxEvent;\n this._lightboxElem = _lightboxElem;\n this._lightboxWindowRef = _lightboxWindowRef;\n this._fileSaverService = _fileSaverService;\n this._sanitizer = _sanitizer;\n this._documentRef = _documentRef;\n // initialize data\n this.options = this.options || {};\n this.album = this.album || [];\n this.currentImageIndex = this.currentImageIndex || 0;\n this._windowRef = this._lightboxWindowRef.nativeWindow;\n // control the interactive of the directive\n this.ui = {\n // control the appear of the reloader\n // false: image has loaded completely and ready to be shown\n // true: image is still loading\n showReloader: true,\n // control the appear of the nav arrow\n // the arrowNav is the parent of both left and right arrow\n // in some cases, the parent shows but the child does not show\n showLeftArrow: false,\n showRightArrow: false,\n showArrowNav: false,\n // control the appear of the zoom and rotate buttons\n showZoomButton: false,\n showRotateButton: false,\n // control whether to show the\n // page number or not\n showPageNumber: false,\n showCaption: false,\n // control whether to show the download button or not\n showDownloadButton: false,\n classList: 'lightbox animation fadeIn'\n };\n this.content = {\n pageNumber: ''\n };\n this._event = {};\n this._lightboxElem = this._elemRef;\n this._event.subscription = this._lightboxEvent.lightboxEvent$\n .subscribe(function (event) { return _this_1._onReceivedEvent(event); });\n this.rotate = 0;\n }\n LightboxComponent.prototype.ngOnInit = function () {\n var _this_1 = this;\n this.album.forEach(function (album) {\n if (album.caption) {\n album.caption = _this_1._sanitizer.sanitize(core_1.SecurityContext.HTML, album.caption);\n }\n });\n };\n LightboxComponent.prototype.ngAfterViewInit = function () {\n // need to init css value here, after the view ready\n // actually these values are always 0\n this._cssValue = {\n containerTopPadding: Math.round(this._getCssStyleValue(this._containerElem, 'padding-top')),\n containerRightPadding: Math.round(this._getCssStyleValue(this._containerElem, 'padding-right')),\n containerBottomPadding: Math.round(this._getCssStyleValue(this._containerElem, 'padding-bottom')),\n containerLeftPadding: Math.round(this._getCssStyleValue(this._containerElem, 'padding-left')),\n imageBorderWidthTop: Math.round(this._getCssStyleValue(this._imageElem, 'border-top-width')),\n imageBorderWidthBottom: Math.round(this._getCssStyleValue(this._imageElem, 'border-bottom-width')),\n imageBorderWidthLeft: Math.round(this._getCssStyleValue(this._imageElem, 'border-left-width')),\n imageBorderWidthRight: Math.round(this._getCssStyleValue(this._imageElem, 'border-right-width'))\n };\n if (this._validateInputData()) {\n this._prepareComponent();\n this._registerImageLoadingEvent();\n }\n };\n LightboxComponent.prototype.ngOnDestroy = function () {\n if (!this.options.disableKeyboardNav) {\n // unbind keyboard event\n this._disableKeyboardNav();\n }\n this._event.subscription.unsubscribe();\n };\n LightboxComponent.prototype.close = function ($event) {\n $event.stopPropagation();\n if ($event.target.classList.contains('lightbox') ||\n $event.target.classList.contains('lb-loader') ||\n $event.target.classList.contains('lb-close')) {\n this._lightboxEvent.broadcastLightboxEvent({ id: lightbox_event_service_1.LIGHTBOX_EVENT.CLOSE, data: null });\n }\n };\n LightboxComponent.prototype.download = function ($event) {\n $event.stopPropagation();\n var url = this.album[this.currentImageIndex].src;\n var downloadUrl = this.album[this.currentImageIndex].downloadUrl;\n var parts = url.split('/');\n var fileName = parts[parts.length - 1];\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n var preloader = new Image();\n var _this = this;\n preloader.onload = function () {\n // @ts-ignore\n canvas.width = this.naturalWidth;\n // @ts-ignore\n canvas.height = this.naturalHeight;\n // @ts-ignore\n ctx.drawImage(this, 0, 0);\n canvas.toBlob(function (blob) {\n _this._fileSaverService.save(blob, fileName);\n }, 'image/jpeg', 0.75);\n };\n preloader.crossOrigin = '';\n if (downloadUrl && downloadUrl.length > 0)\n preloader.src = this._sanitizer.sanitize(core_1.SecurityContext.URL, downloadUrl);\n else\n preloader.src = this._sanitizer.sanitize(core_1.SecurityContext.URL, url);\n };\n LightboxComponent.prototype.control = function ($event) {\n $event.stopPropagation();\n var height;\n var width;\n if ($event.target.classList.contains('lb-turnLeft')) {\n this.rotate = this.rotate - 90;\n this._rotateContainer();\n this._calcTransformPoint();\n this._documentRef.getElementById('image').style.transform = \"rotate(\" + this.rotate + \"deg)\";\n this._documentRef.getElementById('image').style.webkitTransform = \"rotate(\" + this.rotate + \"deg)\";\n this._lightboxEvent.broadcastLightboxEvent({ id: lightbox_event_service_1.LIGHTBOX_EVENT.ROTATE_LEFT, data: null });\n }\n else if ($event.target.classList.contains('lb-turnRight')) {\n this.rotate = this.rotate + 90;\n this._rotateContainer();\n this._calcTransformPoint();\n this._documentRef.getElementById('image').style.transform = \"rotate(\" + this.rotate + \"deg)\";\n this._documentRef.getElementById('image').style.webkitTransform = \"rotate(\" + this.rotate + \"deg)\";\n this._lightboxEvent.broadcastLightboxEvent({ id: lightbox_event_service_1.LIGHTBOX_EVENT.ROTATE_RIGHT, data: null });\n }\n else if ($event.target.classList.contains('lb-zoomOut')) {\n height = parseInt(this._documentRef.getElementById('outerContainer').style.height, 10) / 1.5;\n width = parseInt(this._documentRef.getElementById('outerContainer').style.width, 10) / 1.5;\n this._documentRef.getElementById('outerContainer').style.height = height + 'px';\n this._documentRef.getElementById('outerContainer').style.width = width + 'px';\n height = parseInt(this._documentRef.getElementById('image').style.height, 10) / 1.5;\n width = parseInt(this._documentRef.getElementById('image').style.width, 10) / 1.5;\n this._documentRef.getElementById('image').style.height = height + 'px';\n this._documentRef.getElementById('image').style.width = width + 'px';\n this._lightboxEvent.broadcastLightboxEvent({ id: lightbox_event_service_1.LIGHTBOX_EVENT.ZOOM_OUT, data: null });\n }\n else if ($event.target.classList.contains('lb-zoomIn')) {\n height = parseInt(this._documentRef.getElementById('outerContainer').style.height, 10) * 1.5;\n width = parseInt(this._documentRef.getElementById('outerContainer').style.width, 10) * 1.5;\n this._documentRef.getElementById('outerContainer').style.height = height + 'px';\n this._documentRef.getElementById('outerContainer').style.width = width + 'px';\n height = parseInt(this._documentRef.getElementById('image').style.height, 10) * 1.5;\n width = parseInt(this._documentRef.getElementById('image').style.width, 10) * 1.5;\n this._documentRef.getElementById('image').style.height = height + 'px';\n this._documentRef.getElementById('image').style.width = width + 'px';\n this._lightboxEvent.broadcastLightboxEvent({ id: lightbox_event_service_1.LIGHTBOX_EVENT.ZOOM_IN, data: null });\n }\n };\n LightboxComponent.prototype._rotateContainer = function () {\n var temp = this.rotate;\n if (temp < 0) {\n temp *= -1;\n }\n if (temp / 90 % 4 === 1 || temp / 90 % 4 === 3) {\n this._documentRef.getElementById('outerContainer').style.height = this._documentRef.getElementById('image').style.width;\n this._documentRef.getElementById('outerContainer').style.width = this._documentRef.getElementById('image').style.height;\n this._documentRef.getElementById('container').style.height = this._documentRef.getElementById('image').style.width;\n this._documentRef.getElementById('container').style.width = this._documentRef.getElementById('image').style.height;\n }\n else {\n this._documentRef.getElementById('outerContainer').style.height = this._documentRef.getElementById('image').style.height;\n this._documentRef.getElementById('outerContainer').style.width = this._documentRef.getElementById('image').style.width;\n this._documentRef.getElementById('container').style.height = this._documentRef.getElementById('image').style.width;\n this._documentRef.getElementById('container').style.width = this._documentRef.getElementById('image').style.height;\n }\n };\n LightboxComponent.prototype._resetImage = function () {\n this.rotate = 0;\n this._documentRef.getElementById('image').style.transform = \"rotate(\" + this.rotate + \"deg)\";\n this._documentRef.getElementById('image').style.webkitTransform = \"rotate(\" + this.rotate + \"deg)\";\n };\n LightboxComponent.prototype._calcTransformPoint = function () {\n var height = parseInt(this._documentRef.getElementById('image').style.height, 10);\n var width = parseInt(this._documentRef.getElementById('image').style.width, 10);\n var temp = this.rotate % 360;\n if (temp < 0) {\n temp = 360 + temp;\n }\n if (temp === 90) {\n this._documentRef.getElementById('image').style.transformOrigin = (height / 2) + 'px ' + (height / 2) + 'px';\n }\n else if (temp === 180) {\n this._documentRef.getElementById('image').style.transformOrigin = (width / 2) + 'px ' + (height / 2) + 'px';\n }\n else if (temp === 270) {\n this._documentRef.getElementById('image').style.transformOrigin = (width / 2) + 'px ' + (width / 2) + 'px';\n }\n };\n LightboxComponent.prototype.nextImage = function () {\n if (this.album.length === 1) {\n return;\n }\n else if (this.currentImageIndex === this.album.length - 1) {\n this._changeImage(0);\n }\n else {\n this._changeImage(this.currentImageIndex + 1);\n }\n };\n LightboxComponent.prototype.prevImage = function () {\n if (this.album.length === 1) {\n return;\n }\n else if (this.currentImageIndex === 0 && this.album.length > 1) {\n this._changeImage(this.album.length - 1);\n }\n else {\n this._changeImage(this.currentImageIndex - 1);\n }\n };\n LightboxComponent.prototype._validateInputData = function () {\n if (this.album &&\n this.album instanceof Array &&\n this.album.length > 0) {\n for (var i = 0; i < this.album.length; i++) {\n // check whether each _nside\n // album has src data or not\n if (this.album[i].src) {\n continue;\n }\n throw new Error('One of the album data does not have source data');\n }\n }\n else {\n throw new Error('No album data or album data is not correct in type');\n }\n // to prevent data understand as string\n // convert it to number\n if (isNaN(this.currentImageIndex)) {\n throw new Error('Current image index is not a number');\n }\n else {\n this.currentImageIndex = Number(this.currentImageIndex);\n }\n return true;\n };\n LightboxComponent.prototype._registerImageLoadingEvent = function () {\n var _this_1 = this;\n var preloader = new Image();\n preloader.onload = function () {\n _this_1._onLoadImageSuccess();\n };\n var src = this.album[this.currentImageIndex].src;\n preloader.src = this._sanitizer.sanitize(core_1.SecurityContext.URL, src);\n };\n /**\n * Fire when the image is loaded\n */\n LightboxComponent.prototype._onLoadImageSuccess = function () {\n if (!this.options.disableKeyboardNav) {\n // unbind keyboard event during transition\n this._disableKeyboardNav();\n }\n var imageHeight;\n var imageWidth;\n var maxImageHeight;\n var maxImageWidth;\n var windowHeight;\n var windowWidth;\n var naturalImageWidth;\n var naturalImageHeight;\n // set default width and height of image to be its natural\n imageWidth = naturalImageWidth = this._imageElem.nativeElement.naturalWidth;\n imageHeight = naturalImageHeight = this._imageElem.nativeElement.naturalHeight;\n if (this.options.fitImageInViewPort) {\n windowWidth = this._windowRef.innerWidth;\n windowHeight = this._windowRef.innerHeight;\n maxImageWidth = windowWidth - this._cssValue.containerLeftPadding -\n this._cssValue.containerRightPadding - this._cssValue.imageBorderWidthLeft -\n this._cssValue.imageBorderWidthRight - 20;\n maxImageHeight = windowHeight - this._cssValue.containerTopPadding -\n this._cssValue.containerTopPadding - this._cssValue.imageBorderWidthTop -\n this._cssValue.imageBorderWidthBottom - 120;\n if (naturalImageWidth > maxImageWidth || naturalImageHeight > maxImageHeight) {\n if ((naturalImageWidth / maxImageWidth) > (naturalImageHeight / maxImageHeight)) {\n imageWidth = maxImageWidth;\n imageHeight = Math.round(naturalImageHeight / (naturalImageWidth / imageWidth));\n }\n else {\n imageHeight = maxImageHeight;\n imageWidth = Math.round(naturalImageWidth / (naturalImageHeight / imageHeight));\n }\n }\n this._rendererRef.setStyle(this._imageElem.nativeElement, 'width', imageWidth + \"px\");\n this._rendererRef.setStyle(this._imageElem.nativeElement, 'height', imageHeight + \"px\");\n }\n this._sizeContainer(imageWidth, imageHeight);\n if (this.options.centerVertically) {\n this._centerVertically(imageWidth, imageHeight);\n }\n };\n LightboxComponent.prototype._centerVertically = function (imageWidth, imageHeight) {\n var scrollOffset = this._documentRef.documentElement.scrollTop;\n var windowHeight = this._windowRef.innerHeight;\n var viewOffset = windowHeight / 2 - imageHeight / 2;\n var topDistance = scrollOffset + viewOffset;\n this._rendererRef.setStyle(this._lightboxElem.nativeElement, 'top', topDistance + \"px\");\n };\n LightboxComponent.prototype._sizeContainer = function (imageWidth, imageHeight) {\n var _this_1 = this;\n var oldWidth = this._outerContainerElem.nativeElement.offsetWidth;\n var oldHeight = this._outerContainerElem.nativeElement.offsetHeight;\n var newWidth = imageWidth + this._cssValue.containerRightPadding + this._cssValue.containerLeftPadding +\n this._cssValue.imageBorderWidthLeft + this._cssValue.imageBorderWidthRight;\n var newHeight = imageHeight + this._cssValue.containerTopPadding + this._cssValue.containerBottomPadding +\n this._cssValue.imageBorderWidthTop + this._cssValue.imageBorderWidthBottom;\n // make sure that distances are large enough for transitionend event to be fired, at least 5px.\n if (Math.abs(oldWidth - newWidth) + Math.abs(oldHeight - newHeight) > 5) {\n this._rendererRef.setStyle(this._outerContainerElem.nativeElement, 'width', newWidth + \"px\");\n this._rendererRef.setStyle(this._outerContainerElem.nativeElement, 'height', newHeight + \"px\");\n // bind resize event to outer container\n // use enableTransition to prevent infinite loader\n if (this.options.enableTransition) {\n this._event.transitions = [];\n ['transitionend', 'webkitTransitionEnd', 'oTransitionEnd', 'MSTransitionEnd'].forEach(function (eventName) {\n _this_1._event.transitions.push(_this_1._rendererRef.listen(_this_1._outerContainerElem.nativeElement, eventName, function (event) {\n if (event.target === event.currentTarget) {\n _this_1._postResize(newWidth, newHeight);\n }\n }));\n });\n }\n else {\n this._postResize(newWidth, newHeight);\n }\n }\n else {\n this._postResize(newWidth, newHeight);\n }\n };\n LightboxComponent.prototype._postResize = function (newWidth, newHeight) {\n // unbind resize event\n if (Array.isArray(this._event.transitions)) {\n this._event.transitions.forEach(function (eventHandler) {\n eventHandler();\n });\n this._event.transitions = [];\n }\n this._rendererRef.setStyle(this._dataContainerElem.nativeElement, 'width', newWidth + \"px\");\n this._showImage();\n };\n LightboxComponent.prototype._showImage = function () {\n this.ui.showReloader = false;\n this._updateNav();\n this._updateDetails();\n if (!this.options.disableKeyboardNav) {\n this._enableKeyboardNav();\n }\n };\n LightboxComponent.prototype._prepareComponent = function () {\n var _this_1 = this;\n // add css3 animation\n this._addCssAnimation();\n // position the image according to user's option\n this._positionLightBox();\n // update controls visibility on next view generation\n setTimeout(function () {\n _this_1.ui.showZoomButton = _this_1.options.showZoom;\n _this_1.ui.showRotateButton = _this_1.options.showRotate;\n _this_1.ui.showDownloadButton = _this_1.options.showDownloadButton;\n }, 0);\n };\n LightboxComponent.prototype._positionLightBox = function () {\n // @see https://stackoverflow.com/questions/3464876/javascript-get-window-x-y-position-for-scroll\n var top = (this._windowRef.pageYOffset || this._documentRef.documentElement.scrollTop) +\n this.options.positionFromTop;\n var left = this._windowRef.pageXOffset || this._documentRef.documentElement.scrollLeft;\n if (!this.options.centerVertically) {\n this._rendererRef.setStyle(this._lightboxElem.nativeElement, 'top', top + \"px\");\n }\n this._rendererRef.setStyle(this._lightboxElem.nativeElement, 'left', left + \"px\");\n this._rendererRef.setStyle(this._lightboxElem.nativeElement, 'display', 'block');\n // disable scrolling of the page while open\n if (this.options.disableScrolling) {\n this._rendererRef.addClass(this._documentRef.documentElement, 'lb-disable-scrolling');\n }\n };\n /**\n * addCssAnimation add css3 classes for animate lightbox\n */\n LightboxComponent.prototype._addCssAnimation = function () {\n var resizeDuration = this.options.resizeDuration;\n var fadeDuration = this.options.fadeDuration;\n this._rendererRef.setStyle(this._lightboxElem.nativeElement, '-webkit-animation-duration', fadeDuration + \"s\");\n this._rendererRef.setStyle(this._lightboxElem.nativeElement, 'animation-duration', fadeDuration + \"s\");\n this._rendererRef.setStyle(this._outerContainerElem.nativeElement, '-webkit-transition-duration', resizeDuration + \"s\");\n this._rendererRef.setStyle(this._outerContainerElem.nativeElement, 'transition-duration', resizeDuration + \"s\");\n this._rendererRef.setStyle(this._dataContainerElem.nativeElement, '-webkit-animation-duration', fadeDuration + \"s\");\n this._rendererRef.setStyle(this._dataContainerElem.nativeElement, 'animation-duration', fadeDuration + \"s\");\n this._rendererRef.setStyle(this._imageElem.nativeElement, '-webkit-animation-duration', fadeDuration + \"s\");\n this._rendererRef.setStyle(this._imageElem.nativeElement, 'animation-duration', fadeDuration + \"s\");\n this._rendererRef.setStyle(this._captionElem.nativeElement, '-webkit-animation-duration', fadeDuration + \"s\");\n this._rendererRef.setStyle(this._captionElem.nativeElement, 'animation-duration', fadeDuration + \"s\");\n this._rendererRef.setStyle(this._numberElem.nativeElement, '-webkit-animation-duration', fadeDuration + \"s\");\n this._rendererRef.setStyle(this._numberElem.nativeElement, 'animation-duration', fadeDuration + \"s\");\n };\n LightboxComponent.prototype._end = function () {\n var _this_1 = this;\n this.ui.classList = 'lightbox animation fadeOut';\n if (this.options.disableScrolling) {\n this._rendererRef.removeClass(this._documentRef.documentElement, 'lb-disable-scrolling');\n }\n setTimeout(function () {\n _this_1.cmpRef.destroy();\n }, this.options.fadeDuration * 1000);\n };\n LightboxComponent.prototype._updateDetails = function () {\n // update the caption\n if (typeof this.album[this.currentImageIndex].caption !== 'undefined' &&\n this.album[this.currentImageIndex].caption !== '') {\n this.ui.showCaption = true;\n }\n // update the page number if user choose to do so\n // does not perform numbering the page if the\n // array length in album <= 1\n if (this.album.length > 1 && this.options.showImageNumberLabel) {\n this.ui.showPageNumber = true;\n this.content.pageNumber = this._albumLabel();\n }\n };\n LightboxComponent.prototype._albumLabel = function () {\n // due to {this.currentImageIndex} is set from 0 to {this.album.length} - 1\n return this.options.albumLabel.replace(/%1/g, Number(this.currentImageIndex + 1)).replace(/%2/g, this.album.length);\n };\n LightboxComponent.prototype._changeImage = function (newIndex) {\n this._resetImage();\n this.currentImageIndex = newIndex;\n this._hideImage();\n this._registerImageLoadingEvent();\n this._lightboxEvent.broadcastLightboxEvent({ id: lightbox_event_service_1.LIGHTBOX_EVENT.CHANGE_PAGE, data: newIndex });\n };\n LightboxComponent.prototype._hideImage = function () {\n this.ui.showReloader = true;\n this.ui.showArrowNav = false;\n this.ui.showLeftArrow = false;\n this.ui.showRightArrow = false;\n this.ui.showPageNumber = false;\n this.ui.showCaption = false;\n };\n LightboxComponent.prototype._updateNav = function () {\n var alwaysShowNav = false;\n // check to see the browser support touch event\n try {\n this._documentRef.createEvent('TouchEvent');\n alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false;\n }\n catch (e) {\n // noop\n }\n // initially show the arrow nav\n // which is the parent of both left and right nav\n this._showArrowNav();\n if (this.album.length > 1) {\n if (this.options.wrapAround) {\n if (alwaysShowNav) {\n // alternatives this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1');\n this._rendererRef.setStyle(this._leftArrowElem.nativeElement, 'opacity', '1');\n this._rendererRef.setStyle(this._rightArrowElem.nativeElement, 'opacity', '1');\n }\n // alternatives this.$lightbox.find('.lb-prev, .lb-next').show();\n this._showLeftArrowNav();\n this._showRightArrowNav();\n }\n else {\n if (this.currentImageIndex > 0) {\n // alternatives this.$lightbox.find('.lb-prev').show();\n this._showLeftArrowNav();\n if (alwaysShowNav) {\n // alternatives this.$lightbox.find('.lb-prev').css('opacity', '1');\n this._rendererRef.setStyle(this._leftArrowElem.nativeElement, 'opacity', '1');\n }\n }\n if (this.currentImageIndex < this.album.length - 1) {\n // alternatives this.$lightbox.find('.lb-next').show();\n this._showRightArrowNav();\n if (alwaysShowNav) {\n // alternatives this.$lightbox.find('.lb-next').css('opacity', '1');\n this._rendererRef.setStyle(this._rightArrowElem.nativeElement, 'opacity', '1');\n }\n }\n }\n }\n };\n LightboxComponent.prototype._showLeftArrowNav = function () {\n this.ui.showLeftArrow = true;\n };\n LightboxComponent.prototype._showRightArrowNav = function () {\n this.ui.showRightArrow = true;\n };\n LightboxComponent.prototype._showArrowNav = function () {\n this.ui.showArrowNav = (this.album.length !== 1);\n };\n LightboxComponent.prototype._enableKeyboardNav = function () {\n var _this_1 = this;\n this._event.keyup = this._rendererRef.listen('document', 'keyup', function (event) {\n _this_1._keyboardAction(event);\n });\n };\n LightboxComponent.prototype._disableKeyboardNav = function () {\n if (this._event.keyup) {\n this._event.keyup();\n }\n };\n LightboxComponent.prototype._keyboardAction = function ($event) {\n var KEYCODE_ESC = 27;\n var KEYCODE_LEFTARROW = 37;\n var KEYCODE_RIGHTARROW = 39;\n var keycode = $event.keyCode;\n var key = String.fromCharCode(keycode).toLowerCase();\n if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) {\n this._lightboxEvent.broadcastLightboxEvent({ id: lightbox_event_service_1.LIGHTBOX_EVENT.CLOSE, data: null });\n }\n else if (key === 'p' || keycode === KEYCODE_LEFTARROW) {\n if (this.currentImageIndex !== 0) {\n this._changeImage(this.currentImageIndex - 1);\n }\n else if (this.options.wrapAround && this.album.length > 1) {\n this._changeImage(this.album.length - 1);\n }\n }\n else if (key === 'n' || keycode === KEYCODE_RIGHTARROW) {\n if (this.currentImageIndex !== this.album.length - 1) {\n this._changeImage(this.currentImageIndex + 1);\n }\n else if (this.options.wrapAround && this.album.length > 1) {\n this._changeImage(0);\n }\n }\n };\n LightboxComponent.prototype._getCssStyleValue = function (elem, propertyName) {\n return parseFloat(this._windowRef\n .getComputedStyle(elem.nativeElement, null)\n .getPropertyValue(propertyName));\n };\n LightboxComponent.prototype._onReceivedEvent = function (event) {\n switch (event.id) {\n case lightbox_event_service_1.LIGHTBOX_EVENT.CLOSE:\n this._end();\n break;\n default:\n break;\n }\n };\n __decorate([\n core_1.Input(),\n __metadata(\"design:type\", Array)\n ], LightboxComponent.prototype, \"album\", void 0);\n __decorate([\n core_1.Input(),\n __metadata(\"design:type\", Number)\n ], LightboxComponent.prototype, \"currentImageIndex\", void 0);\n __decorate([\n core_1.Input(),\n __metadata(\"design:type\", Object)\n ], LightboxComponent.prototype, \"options\", void 0);\n __decorate([\n core_1.Input(),\n __metadata(\"design:type\", Object)\n ], LightboxComponent.prototype, \"cmpRef\", void 0);\n __decorate([\n core_1.ViewChild('outerContainer', { static: false }),\n __metadata(\"design:type\", core_1.ElementRef)\n ], LightboxComponent.prototype, \"_outerContainerElem\", void 0);\n __decorate([\n core_1.ViewChild('container', { static: false }),\n __metadata(\"design:type\", core_1.ElementRef)\n ], LightboxComponent.prototype, \"_containerElem\", void 0);\n __decorate([\n core_1.ViewChild('leftArrow', { static: false }),\n __metadata(\"design:type\", core_1.ElementRef)\n ], LightboxComponent.prototype, \"_leftArrowElem\", void 0);\n __decorate([\n core_1.ViewChild('rightArrow', { static: false }),\n __metadata(\"design:type\", core_1.ElementRef)\n ], LightboxComponent.prototype, \"_rightArrowElem\", void 0);\n __decorate([\n core_1.ViewChild('navArrow', { static: false }),\n __metadata(\"design:type\", core_1.ElementRef)\n ], LightboxComponent.prototype, \"_navArrowElem\", void 0);\n __decorate([\n core_1.ViewChild('dataContainer', { static: false }),\n __metadata(\"design:type\", core_1.ElementRef)\n ], LightboxComponent.prototype, \"_dataContainerElem\", void 0);\n __decorate([\n core_1.ViewChild('image', { static: false }),\n __metadata(\"design:type\", core_1.ElementRef)\n ], LightboxComponent.prototype, \"_imageElem\", void 0);\n __decorate([\n core_1.ViewChild('caption', { static: false }),\n __metadata(\"design:type\", core_1.ElementRef)\n ], LightboxComponent.prototype, \"_captionElem\", void 0);\n __decorate([\n core_1.ViewChild('number', { static: false }),\n __metadata(\"design:type\", core_1.ElementRef)\n ], LightboxComponent.prototype, \"_numberElem\", void 0);\n LightboxComponent = __decorate([ __param(7, core_1.Inject(common_1.DOCUMENT)),\n __metadata(\"design:paramtypes\", [core_1.ElementRef,\n core_1.Renderer2,\n lightbox_event_service_1.LightboxEvent,\n core_1.ElementRef,\n lightbox_event_service_1.LightboxWindowRef,\n ngx_filesaver_1.FileSaverService,\n platform_browser_1.DomSanitizer, Object])\n ], LightboxComponent);\nLightboxComponent.ɵfac = function LightboxComponent_Factory(t) { return new (t || LightboxComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.LightboxEvent), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.LightboxWindowRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.FileSaverService), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.DomSanitizer), ɵngcc0.ɵɵdirectiveInject(common_1.DOCUMENT)); };\nLightboxComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: LightboxComponent, selectors: [[\"\", \"lb-content\", \"\"]], viewQuery: function LightboxComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 5);\n ɵngcc0.ɵɵviewQuery(_c1, 5);\n ɵngcc0.ɵɵviewQuery(_c2, 5);\n ɵngcc0.ɵɵviewQuery(_c3, 5);\n ɵngcc0.ɵɵviewQuery(_c4, 5);\n ɵngcc0.ɵɵviewQuery(_c5, 5);\n ɵngcc0.ɵɵviewQuery(_c6, 5);\n ɵngcc0.ɵɵviewQuery(_c7, 5);\n ɵngcc0.ɵɵviewQuery(_c8, 5);\n } if (rf & 2) {\n var _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._outerContainerElem = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._containerElem = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._leftArrowElem = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._rightArrowElem = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._navArrowElem = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._dataContainerElem = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._imageElem = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._captionElem = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._numberElem = _t.first);\n } }, hostVars: 2, hostBindings: function LightboxComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function LightboxComponent_click_HostBindingHandler($event) { return ctx.close($event); });\n } if (rf & 2) {\n ɵngcc0.ɵɵclassMap(ctx.ui.classList);\n } }, inputs: { options: \"options\", album: \"album\", currentImageIndex: \"currentImageIndex\", cmpRef: \"cmpRef\" }, attrs: _c9, decls: 34, vars: 14, consts: [[\"id\", \"outerContainer\", 1, \"lb-outerContainer\", \"transition\"], [\"outerContainer\", \"\"], [\"id\", \"container\", 1, \"lb-container\"], [\"container\", \"\"], [\"id\", \"image\", 1, \"lb-image\", \"animation\", \"fadeIn\", 3, \"src\", \"hidden\"], [\"image\", \"\"], [1, \"lb-nav\", 3, \"hidden\"], [\"navArrow\", \"\"], [1, \"lb-prev\", 3, \"hidden\", \"click\"], [\"leftArrow\", \"\"], [1, \"lb-next\", 3, \"hidden\", \"click\"], [\"rightArrow\", \"\"], [1, \"lb-loader\", 3, \"hidden\", \"click\"], [1, \"lb-cancel\"], [1, \"lb-dataContainer\", 3, \"hidden\"], [\"dataContainer\", \"\"], [1, \"lb-data\"], [1, \"lb-details\"], [1, \"lb-caption\", \"animation\", \"fadeIn\", 3, \"hidden\", \"innerHtml\"], [\"caption\", \"\"], [1, \"lb-number\", \"animation\", \"fadeIn\", 3, \"hidden\"], [\"number\", \"\"], [1, \"lb-controlContainer\"], [1, \"lb-closeContainer\"], [1, \"lb-close\", 3, \"click\"], [1, \"lb-downloadContainer\", 3, \"hidden\"], [1, \"lb-download\", 3, \"click\"], [1, \"lb-turnContainer\", 3, \"hidden\"], [1, \"lb-turnLeft\", 3, \"click\"], [1, \"lb-turnRight\", 3, \"click\"], [1, \"lb-zoomContainer\", 3, \"hidden\"], [1, \"lb-zoomOut\", 3, \"click\"], [1, \"lb-zoomIn\", 3, \"click\"]], template: function LightboxComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0, 1)(2, \"div\", 2, 3);\n ɵngcc0.ɵɵelement(4, \"img\", 4, 5);\n ɵngcc0.ɵɵelementStart(6, \"div\", 6, 7)(8, \"a\", 8, 9);\n ɵngcc0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_8_listener() { return ctx.prevImage(); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(10, \"a\", 10, 11);\n ɵngcc0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_10_listener() { return ctx.nextImage(); });\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵelementStart(12, \"div\", 12);\n ɵngcc0.ɵɵlistener(\"click\", function LightboxComponent_Template_div_click_12_listener($event) { return ctx.close($event); });\n ɵngcc0.ɵɵelement(13, \"a\", 13);\n ɵngcc0.ɵɵelementEnd()()();\n ɵngcc0.ɵɵelementStart(14, \"div\", 14, 15)(16, \"div\", 16)(17, \"div\", 17);\n ɵngcc0.ɵɵelement(18, \"span\", 18, 19);\n ɵngcc0.ɵɵelementStart(20, \"span\", 20, 21);\n ɵngcc0.ɵɵtext(22);\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵelementStart(23, \"div\", 22)(24, \"div\", 23)(25, \"a\", 24);\n ɵngcc0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_25_listener($event) { return ctx.close($event); });\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵelementStart(26, \"div\", 25)(27, \"a\", 26);\n ɵngcc0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_27_listener($event) { return ctx.download($event); });\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵelementStart(28, \"div\", 27)(29, \"a\", 28);\n ɵngcc0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_29_listener($event) { return ctx.control($event); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(30, \"a\", 29);\n ɵngcc0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_30_listener($event) { return ctx.control($event); });\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵelementStart(31, \"div\", 30)(32, \"a\", 31);\n ɵngcc0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_32_listener($event) { return ctx.control($event); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(33, \"a\", 32);\n ɵngcc0.ɵɵlistener(\"click\", function LightboxComponent_Template_a_click_33_listener($event) { return ctx.control($event); });\n ɵngcc0.ɵɵelementEnd()()()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(4);\n ɵngcc0.ɵɵproperty(\"src\", ctx.album[ctx.currentImageIndex].src, ɵngcc0.ɵɵsanitizeUrl)(\"hidden\", ctx.ui.showReloader);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"hidden\", !ctx.ui.showArrowNav);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"hidden\", !ctx.ui.showLeftArrow);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"hidden\", !ctx.ui.showRightArrow);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"hidden\", !ctx.ui.showReloader);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"hidden\", ctx.ui.showReloader);\n ɵngcc0.ɵɵadvance(4);\n ɵngcc0.ɵɵproperty(\"hidden\", !ctx.ui.showCaption)(\"innerHtml\", ctx.album[ctx.currentImageIndex].caption, ɵngcc0.ɵɵsanitizeHtml);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"hidden\", !ctx.ui.showPageNumber);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ctx.content.pageNumber);\n ɵngcc0.ɵɵadvance(4);\n ɵngcc0.ɵɵproperty(\"hidden\", !ctx.ui.showDownloadButton);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"hidden\", !ctx.ui.showRotateButton);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"hidden\", !ctx.ui.showZoomButton);\n } }, encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LightboxComponent, [{\n type: core_1.Component,\n args: [{\n template: \"\\n
\\n
\\n \\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n {{ content.pageNumber }}\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\",\n selector: '[lb-content]',\n host: {\n '(click)': 'close($event)',\n '[class]': 'ui.classList'\n }\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc1.LightboxEvent }, { type: ɵngcc0.ElementRef }, { type: ɵngcc1.LightboxWindowRef }, { type: ɵngcc2.FileSaverService }, { type: ɵngcc3.DomSanitizer }, { type: Object, decorators: [{\n type: core_1.Inject,\n args: [common_1.DOCUMENT]\n }] }]; }, { options: [{\n type: core_1.Input\n }], album: [{\n type: core_1.Input\n }], currentImageIndex: [{\n type: core_1.Input\n }], cmpRef: [{\n type: core_1.Input\n }], _outerContainerElem: [{\n type: core_1.ViewChild,\n args: ['outerContainer', { static: false }]\n }], _containerElem: [{\n type: core_1.ViewChild,\n args: ['container', { static: false }]\n }], _leftArrowElem: [{\n type: core_1.ViewChild,\n args: ['leftArrow', { static: false }]\n }], _rightArrowElem: [{\n type: core_1.ViewChild,\n args: ['rightArrow', { static: false }]\n }], _navArrowElem: [{\n type: core_1.ViewChild,\n args: ['navArrow', { static: false }]\n }], _dataContainerElem: [{\n type: core_1.ViewChild,\n args: ['dataContainer', { static: false }]\n }], _imageElem: [{\n type: core_1.ViewChild,\n args: ['image', { static: false }]\n }], _captionElem: [{\n type: core_1.ViewChild,\n args: ['caption', { static: false }]\n }], _numberElem: [{\n type: core_1.ViewChild,\n args: ['number', { static: false }]\n }] }); })();\n return LightboxComponent;\n}());\nexports.LightboxComponent = LightboxComponent;\n\n","\"use strict\";\nvar ɵngcc0 = require('@angular/core');\nvar ɵngcc1 = require('./lightbox-overlay.component');\nvar ɵngcc2 = require('./lightbox.component');\nvar ɵngcc3 = require('ngx-filesaver');\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ngx_filesaver_1 = require(\"ngx-filesaver\");\nvar core_1 = require(\"@angular/core\");\nvar lightbox_config_service_1 = require(\"./lightbox-config.service\");\nvar lightbox_event_service_1 = require(\"./lightbox-event.service\");\nvar lightbox_overlay_component_1 = require(\"./lightbox-overlay.component\");\nvar lightbox_component_1 = require(\"./lightbox.component\");\nvar lightbox_service_1 = require(\"./lightbox.service\");\nvar LightboxModule = /** @class */ (function () {\n function LightboxModule() {\n }\nLightboxModule.ɵfac = function LightboxModule_Factory(t) { return new (t || LightboxModule)(); };\nLightboxModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: LightboxModule });\nLightboxModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [\n lightbox_service_1.Lightbox,\n lightbox_config_service_1.LightboxConfig,\n lightbox_event_service_1.LightboxEvent,\n lightbox_event_service_1.LightboxWindowRef\n ], imports: [ngx_filesaver_1.FileSaverModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LightboxModule, [{\n type: core_1.NgModule,\n args: [{\n declarations: [lightbox_overlay_component_1.LightboxOverlayComponent, lightbox_component_1.LightboxComponent],\n providers: [\n lightbox_service_1.Lightbox,\n lightbox_config_service_1.LightboxConfig,\n lightbox_event_service_1.LightboxEvent,\n lightbox_event_service_1.LightboxWindowRef\n ],\n entryComponents: [lightbox_overlay_component_1.LightboxOverlayComponent, lightbox_component_1.LightboxComponent],\n imports: [ngx_filesaver_1.FileSaverModule]\n }]\n }], function () { return []; }, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(LightboxModule, { declarations: [ɵngcc1.LightboxOverlayComponent, ɵngcc2.LightboxComponent], imports: [ɵngcc3.FileSaverModule] }); })();\n return LightboxModule;\n}());\nexports.LightboxModule = LightboxModule;\n\n","\"use strict\";\nvar ɵngcc0 = require('@angular/core');\nvar ɵngcc1 = require('./lightbox-config.service');\nvar ɵngcc2 = require('./lightbox-event.service');\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar lightbox_component_1 = require(\"./lightbox.component\");\nvar lightbox_config_service_1 = require(\"./lightbox-config.service\");\nvar lightbox_event_service_1 = require(\"./lightbox-event.service\");\nvar lightbox_overlay_component_1 = require(\"./lightbox-overlay.component\");\nvar common_1 = require(\"@angular/common\");\nvar Lightbox = /** @class */ (function () {\n function Lightbox(_componentFactoryResolver, _injector, _applicationRef, _lightboxConfig, _lightboxEvent, _documentRef) {\n this._componentFactoryResolver = _componentFactoryResolver;\n this._injector = _injector;\n this._applicationRef = _applicationRef;\n this._lightboxConfig = _lightboxConfig;\n this._lightboxEvent = _lightboxEvent;\n this._documentRef = _documentRef;\n }\n Lightbox.prototype.open = function (album, curIndex, options) {\n var _this = this;\n if (curIndex === void 0) { curIndex = 0; }\n if (options === void 0) { options = {}; }\n var overlayComponentRef = this._createComponent(lightbox_overlay_component_1.LightboxOverlayComponent);\n var componentRef = this._createComponent(lightbox_component_1.LightboxComponent);\n var newOptions = {};\n // broadcast open event\n this._lightboxEvent.broadcastLightboxEvent({ id: lightbox_event_service_1.LIGHTBOX_EVENT.OPEN });\n Object.assign(newOptions, this._lightboxConfig, options);\n // attach input to lightbox\n componentRef.instance.album = album;\n componentRef.instance.currentImageIndex = curIndex;\n componentRef.instance.options = newOptions;\n componentRef.instance.cmpRef = componentRef;\n // attach input to overlay\n overlayComponentRef.instance.options = newOptions;\n overlayComponentRef.instance.cmpRef = overlayComponentRef;\n // FIXME: not sure why last event is broadcasted (which is CLOSED) and make\n // lightbox can not be opened the second time.\n // Need to timeout so that the OPEN event is set before component is initialized\n setTimeout(function () {\n _this._applicationRef.attachView(overlayComponentRef.hostView);\n _this._applicationRef.attachView(componentRef.hostView);\n overlayComponentRef.onDestroy(function () {\n _this._applicationRef.detachView(overlayComponentRef.hostView);\n });\n componentRef.onDestroy(function () {\n _this._applicationRef.detachView(componentRef.hostView);\n });\n var containerElement = newOptions.containerElementResolver(_this._documentRef);\n containerElement.appendChild(overlayComponentRef.location.nativeElement);\n containerElement.appendChild(componentRef.location.nativeElement);\n });\n };\n Lightbox.prototype.close = function () {\n if (this._lightboxEvent) {\n this._lightboxEvent.broadcastLightboxEvent({ id: lightbox_event_service_1.LIGHTBOX_EVENT.CLOSE });\n }\n };\n Lightbox.prototype._createComponent = function (ComponentClass) {\n var factory = this._componentFactoryResolver.resolveComponentFactory(ComponentClass);\n var component = factory.create(this._injector);\n return component;\n };\n Lightbox = __decorate([ __param(5, core_1.Inject(common_1.DOCUMENT)),\n __metadata(\"design:paramtypes\", [core_1.ComponentFactoryResolver,\n core_1.Injector,\n core_1.ApplicationRef,\n lightbox_config_service_1.LightboxConfig,\n lightbox_event_service_1.LightboxEvent, Object])\n ], Lightbox);\nLightbox.ɵfac = function Lightbox_Factory(t) { return new (t || Lightbox)(ɵngcc0.ɵɵinject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵinject(ɵngcc0.Injector), ɵngcc0.ɵɵinject(ɵngcc0.ApplicationRef), ɵngcc0.ɵɵinject(ɵngcc1.LightboxConfig), ɵngcc0.ɵɵinject(ɵngcc2.LightboxEvent), ɵngcc0.ɵɵinject(common_1.DOCUMENT)); };\nLightbox.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: Lightbox, factory: function (t) { return Lightbox.ɵfac(t); } });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Lightbox, [{\n type: core_1.Injectable\n }], function () { return [{ type: ɵngcc0.ComponentFactoryResolver }, { type: ɵngcc0.Injector }, { type: ɵngcc0.ApplicationRef }, { type: ɵngcc1.LightboxConfig }, { type: ɵngcc2.LightboxEvent }, { type: Object, decorators: [{\n type: core_1.Inject,\n args: [common_1.DOCUMENT]\n }] }]; }, null); })();\n return Lightbox;\n}());\nexports.Lightbox = Lightbox;\n\n","/**\n * @license ngx-tabset\n * MIT license\n */\n\nimport { Component, ContentChild, ContentChildren, EventEmitter, Input, NgModule, Output, TemplateRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/common';\n\nfunction TabComponent_div_0_div_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\");\n ɵngcc0.ɵɵelementContainer(1, 3);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.template);\n} }\nfunction TabComponent_div_0_div_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\");\n ɵngcc0.ɵɵprojection(1);\n ɵngcc0.ɵɵelementEnd();\n} }\nfunction TabComponent_div_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 1);\n ɵngcc0.ɵɵtemplate(1, TabComponent_div_0_div_1_Template, 2, 1, \"div\", 2);\n ɵngcc0.ɵɵtemplate(2, TabComponent_div_0_div_2_Template, 2, 0, \"div\", 2);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"ngClass\", ctx_r0.customPaneClass);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r0.bypassDOM);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx_r0.bypassDOM);\n} }\nconst _c0 = [\"*\"];\nfunction TabsetComponent_li_1_span_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\", 5);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const tab_r1 = ɵngcc0.ɵɵnextContext().$implicit;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(tab_r1.tabSubTitle);\n} }\nfunction TabsetComponent_li_1_Template(rf, ctx) { if (rf & 1) {\n const _r5 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"li\", 3);\n ɵngcc0.ɵɵlistener(\"click\", function TabsetComponent_li_1_Template_li_click_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r5); const tab_r1 = restoredCtx.$implicit; const ctx_r4 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r4.selectTab(tab_r1)); });\n ɵngcc0.ɵɵelementStart(1, \"span\");\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(3, TabsetComponent_li_1_span_3_Template, 2, 1, \"span\", 4);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const tab_r1 = ctx.$implicit;\n ɵngcc0.ɵɵclassProp(\"active\", tab_r1.active)(\"disabled\", tab_r1.disabled);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(tab_r1.tabTitle);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !!tab_r1.tabSubTitle);\n} }\nclass TabComponent {\n constructor() {\n this.active = false;\n this.disabled = false;\n this.bypassDOM = false;\n this.customPaneClass = '';\n }\n}\nTabComponent.ɵfac = function TabComponent_Factory(t) { return new (t || TabComponent)(); };\nTabComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: TabComponent, selectors: [[\"ngx-tab\"]], contentQueries: function TabComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, TemplateRef, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.template = _t.first);\n } }, inputs: { active: \"active\", disabled: \"disabled\", bypassDOM: \"bypassDOM\", customPaneClass: \"customPaneClass\", tabTitle: \"tabTitle\", tabSubTitle: \"tabSubTitle\" }, ngContentSelectors: _c0, decls: 1, vars: 1, consts: [[\"class\", \"pane\", 3, \"ngClass\", 4, \"ngIf\"], [1, \"pane\", 3, \"ngClass\"], [4, \"ngIf\"], [3, \"ngTemplateOutlet\"]], template: function TabComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵtemplate(0, TabComponent_div_0_Template, 3, 3, \"div\", 0);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.active);\n } }, dependencies: [ɵngcc1.NgClass, ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet], encapsulation: 2 });\n/** @nocollapse */\nTabComponent.ctorParameters = () => [];\nTabComponent.propDecorators = {\n \"tabTitle\": [{ type: Input },],\n \"tabSubTitle\": [{ type: Input },],\n \"active\": [{ type: Input },],\n \"disabled\": [{ type: Input },],\n \"bypassDOM\": [{ type: Input },],\n \"customPaneClass\": [{ type: Input },],\n \"template\": [{ type: ContentChild, args: [TemplateRef,] },],\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TabComponent, [{\n type: Component,\n args: [{\n selector: 'ngx-tab',\n template: `\n
\n
\n \n
\n
\n \n
\n
\n `\n }]\n }], function () { return []; }, { active: [{\n type: Input\n }], disabled: [{\n type: Input\n }], bypassDOM: [{\n type: Input\n }], customPaneClass: [{\n type: Input\n }], tabTitle: [{\n type: Input\n }], tabSubTitle: [{\n type: Input\n }], template: [{\n type: ContentChild,\n args: [TemplateRef]\n }] }); })();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nclass TabsetComponent {\n constructor() {\n this.disableStyle = false;\n this.customNavClass = '';\n this.customTabsClass = '';\n this.onSelect = new EventEmitter();\n }\n /**\n * @return {?}\n */\n ngAfterContentInit() {\n // get all active tabs\n const /** @type {?} */ activeTabs = this.tabs.filter((tab) => tab.active);\n // if there is no active tab set, activate the first\n if (activeTabs.length === 0) {\n this.selectTab(this.tabs.first);\n }\n }\n /**\n * @param {?} tabToSelect\n * @return {?}\n */\n selectTab(tabToSelect) {\n if (tabToSelect.disabled === true || tabToSelect.active === true) {\n return;\n }\n // deactivate all tabs\n this.tabs.toArray().forEach((tab) => tab.active = false);\n // activate the tab the user has clicked on.\n tabToSelect.active = true;\n this.onSelect.emit(this.tabs.toArray().indexOf(tabToSelect));\n }\n}\nTabsetComponent.ɵfac = function TabsetComponent_Factory(t) { return new (t || TabsetComponent)(); };\nTabsetComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: TabsetComponent, selectors: [[\"ngx-tabset\"]], contentQueries: function TabsetComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, TabComponent, 4);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tabs = _t);\n } }, inputs: { disableStyle: \"disableStyle\", customNavClass: \"customNavClass\", customTabsClass: \"customTabsClass\" }, outputs: { onSelect: \"onSelect\" }, ngContentSelectors: _c0, decls: 4, vars: 5, consts: [[1, \"nav-tabset\", 3, \"ngClass\"], [\"class\", \"nav-tab\", 3, \"active\", \"disabled\", \"click\", 4, \"ngFor\", \"ngForOf\"], [1, \"tabs-container\", 3, \"ngClass\"], [1, \"nav-tab\", 3, \"click\"], [\"class\", \"tab-subtitle\", 4, \"ngIf\"], [1, \"tab-subtitle\"]], template: function TabsetComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵelementStart(0, \"ul\", 0);\n ɵngcc0.ɵɵtemplate(1, TabsetComponent_li_1_Template, 4, 6, \"li\", 1);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(2, \"div\", 2);\n ɵngcc0.ɵɵprojection(3);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"disable-style\", ctx.disableStyle);\n ɵngcc0.ɵɵproperty(\"ngClass\", ctx.customNavClass);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.tabs);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngClass\", ctx.customTabsClass);\n } }, dependencies: [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgIf], encapsulation: 2 });\n/** @nocollapse */\nTabsetComponent.ctorParameters = () => [];\nTabsetComponent.propDecorators = {\n \"tabs\": [{ type: ContentChildren, args: [TabComponent,] },],\n \"disableStyle\": [{ type: Input },],\n \"customNavClass\": [{ type: Input },],\n \"customTabsClass\": [{ type: Input },],\n \"onSelect\": [{ type: Output },],\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TabsetComponent, [{\n type: Component,\n args: [{\n selector: 'ngx-tabset',\n template: `\n
    \n
  • \n {{ tab.tabTitle }}\n {{ tab.tabSubTitle }}\n
  • \n
\n
\n \n
\n `\n }]\n }], function () { return []; }, { disableStyle: [{\n type: Input\n }], customNavClass: [{\n type: Input\n }], customTabsClass: [{\n type: Input\n }], onSelect: [{\n type: Output\n }], tabs: [{\n type: ContentChildren,\n args: [TabComponent]\n }] }); })();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nclass TabsModule {\n /**\n * Use in AppModule: new instance of NgxTabset.\n * @return {?}\n */\n static forRoot() {\n return {\n ngModule: TabsModule,\n providers: []\n };\n }\n /**\n * Use in features modules with lazy loading: new instance of NgxTabset.\n * @return {?}\n */\n static forChild() {\n return {\n ngModule: TabsModule,\n providers: []\n };\n }\n}\nTabsModule.ɵfac = function TabsModule_Factory(t) { return new (t || TabsModule)(); };\nTabsModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: TabsModule });\nTabsModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [CommonModule] });\n/** @nocollapse */\nTabsModule.ctorParameters = () => [];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TabsModule, [{\n type: NgModule,\n args: [{\n declarations: [\n TabComponent,\n TabsetComponent,\n ],\n exports: [\n TabComponent,\n TabsetComponent,\n ],\n imports: [CommonModule]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(TabsModule, { declarations: function () { return [TabComponent, TabsetComponent]; }, imports: function () { return [CommonModule]; }, exports: function () { return [TabComponent, TabsetComponent]; } }); })();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n// Public classes.\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * Entry point for all public APIs of the package.\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { TabsetComponent, TabComponent, TabsModule };\n\n","/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2022 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.UNSUPPORTED_FEATURES = exports.TextRenderingMode = exports.StreamType = exports.RenderingIntentFlag = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMode = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.escapeString = escapeString;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isAscii = isAscii;\nexports.objectFromMap = objectFromMap;\nexports.objectSize = objectSize;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF16BEString = stringToUTF16BEString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.unreachable = unreachable;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\n\n__w_pdfjs_require__(2);\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100\n};\nexports.RenderingIntentFlag = RenderingIntentFlag;\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3\n};\nexports.AnnotationMode = AnnotationMode;\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\"\n};\nexports.AnnotationActionEventType = AnnotationActionEventType;\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n};\nexports.DocumentActionEventType = DocumentActionEventType;\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n};\nexports.PageActionEventType = PageActionEventType;\nconst StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nconst FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1STANDARD: \"TYPE1STANDARD\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nconst UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n signatures: \"signatures\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontBuildPath: \"errorFontBuildPath\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\",\n errorContentSubStream: \"errorContentSubStream\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n\n try {\n if (options && typeof url === \"string\") {\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n\n if (dots && dots.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch (ex) {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nconst BaseException = function BaseExceptionClosure() {\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n\n}\n\nexports.PasswordException = PasswordException;\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n\n}\n\nexports.UnknownErrorException = UnknownErrorException;\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n\n}\n\nexports.InvalidPDFException = InvalidPDFException;\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n\n}\n\nexports.MissingPDFException = MissingPDFException;\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n\n}\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n\n}\n\nexports.FormatError = FormatError;\n\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n\n}\n\nexports.AbortException = AbortException;\n\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes === null || bytes.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n const strBuf = [];\n\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n\n const length = str.length;\n const bytes = new Uint8Array(length);\n\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n if (arr.byteLength !== undefined) {\n return arr.byteLength;\n }\n\n unreachable(\"Invalid argument for arrayByteLength\");\n}\n\nfunction arraysToBytes(arr) {\n const length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n let resultLength = 0;\n\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n let pos = 0;\n const data = new Uint8Array(resultLength);\n\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n\n for (const [key, value] of map) {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n\n static get isOffscreenCanvasSupported() {\n return shadow(this, \"isOffscreenCanvasSupported\", typeof OffscreenCanvas !== \"undefined\");\n }\n\n}\n\nexports.FeatureTest = FeatureTest;\nconst hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, \"0\"));\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n static scaleMinMax(transform, minMax) {\n let temp;\n\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n\n static apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n static normalizeRect(rect) {\n const r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n\n static intersect(rect1, rect2) {\n const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2]));\n const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2]));\n\n if (xLow > xHigh) {\n return null;\n }\n\n const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3]));\n const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3]));\n\n if (yLow > yHigh) {\n return null;\n }\n\n return [xLow, yLow, xHigh, yHigh];\n }\n\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n\n t = -c / b;\n\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n\n continue;\n }\n\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n\n if (b2ac < 0) {\n continue;\n }\n\n t1 = (-b + sqrtb2ac) / (2 * a);\n\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n\n t2 = (-b - sqrtb2ac) / (2 * a);\n\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length,\n mt;\n const jlen = j;\n\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n return [Math.min(...bounds[0]), Math.min(...bounds[1]), Math.max(...bounds[0]), Math.max(...bounds[1])];\n }\n\n}\n\nexports.Util = Util;\nconst PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n\n const strBuf = [];\n\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n return str.replace(/([()\\\\\\n\\r])/g, match => {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n\n return `\\\\${match}`;\n });\n}\n\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n const buf = [\"\\xFE\\xFF\"];\n\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push(String.fromCharCode(char >> 8 & 0xff), String.fromCharCode(char & 0xff));\n }\n\n return buf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\n\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n }\n\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\n/***/ }),\n/* 2 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\n\nvar _is_node = __w_pdfjs_require__(3);\n\n;\n\n/***/ }),\n/* 3 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isNodeJS = void 0;\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.build = exports.RenderTask = exports.PDFWorkerUtil = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0;\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.version = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(5);\n\nvar _font_loader = __w_pdfjs_require__(7);\n\nvar _annotation_storage = __w_pdfjs_require__(8);\n\nvar _canvas = __w_pdfjs_require__(10);\n\nvar _worker_options = __w_pdfjs_require__(13);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nvar _message_handler = __w_pdfjs_require__(14);\n\nvar _metadata = __w_pdfjs_require__(15);\n\nvar _optional_content_config = __w_pdfjs_require__(16);\n\nvar _transport_stream = __w_pdfjs_require__(17);\n\nvar _xfa_text = __w_pdfjs_require__(18);\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536;\nconst RENDERING_CANCELLED_TIMEOUT = 100;\nlet DefaultCanvasFactory = _display_utils.DOMCanvasFactory;\nexports.DefaultCanvasFactory = DefaultCanvasFactory;\nlet DefaultCMapReaderFactory = _display_utils.DOMCMapReaderFactory;\nexports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;\nlet DefaultStandardFontDataFactory = _display_utils.DOMStandardFontDataFactory;\nexports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory;\n\nif (_is_node.isNodeJS) {\n const {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeStandardFontDataFactory\n } = __w_pdfjs_require__(19);\n\n exports.DefaultCanvasFactory = DefaultCanvasFactory = NodeCanvasFactory;\n exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory = NodeCMapReaderFactory;\n exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory = NodeStandardFontDataFactory;\n}\n\nlet createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n let source;\n\n if (typeof src === \"string\" || src instanceof URL) {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, \" + \"need either string, URL, Uint8Array, or parameter object.\");\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n\n source = src;\n }\n\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n const value = source[key];\n\n switch (key) {\n case \"url\":\n if (typeof window !== \"undefined\") {\n try {\n params[key] = new URL(value, window.location).href;\n continue;\n } catch (ex) {\n (0, _util.warn)(`Cannot create valid URL: \"${ex}\".`);\n }\n } else if (typeof value === \"string\" || value instanceof URL) {\n params[key] = value.toString();\n continue;\n }\n\n throw new Error(\"Invalid PDF url data: \" + \"either string or URL-object is expected in the url property.\");\n\n case \"range\":\n rangeTransport = value;\n continue;\n\n case \"worker\":\n worker = value;\n continue;\n\n case \"data\":\n if (_is_node.isNodeJS && typeof Buffer !== \"undefined\" && value instanceof Buffer) {\n params[key] = new Uint8Array(value);\n } else if (value instanceof Uint8Array) {\n break;\n } else if (typeof value === \"string\") {\n params[key] = (0, _util.stringToBytes)(value);\n } else if (typeof value === \"object\" && value !== null && !isNaN(value.length)) {\n params[key] = new Uint8Array(value);\n } else if ((0, _util.isArrayBuffer)(value)) {\n params[key] = new Uint8Array(value);\n } else {\n throw new Error(\"Invalid PDF binary data: either typed array, \" + \"string, or array-like object is expected in the data property.\");\n }\n\n continue;\n }\n\n params[key] = value;\n }\n\n params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.StandardFontDataFactory = params.StandardFontDataFactory || DefaultStandardFontDataFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n params.enableXfa = params.enableXfa === true;\n\n if (!Number.isInteger(params.rangeChunkSize) || params.rangeChunkSize < 1) {\n params.rangeChunkSize = DEFAULT_RANGE_CHUNK_SIZE;\n }\n\n if (typeof params.docBaseUrl !== \"string\" || (0, _display_utils.isDataScheme)(params.docBaseUrl)) {\n params.docBaseUrl = null;\n }\n\n if (!Number.isInteger(params.maxImageSize) || params.maxImageSize < -1) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.cMapUrl !== \"string\") {\n params.cMapUrl = null;\n }\n\n if (typeof params.standardFontDataUrl !== \"string\") {\n params.standardFontDataUrl = null;\n }\n\n if (typeof params.useWorkerFetch !== \"boolean\") {\n params.useWorkerFetch = params.CMapReaderFactory === _display_utils.DOMCMapReaderFactory && params.StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory;\n }\n\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _is_node.isNodeJS;\n }\n\n if (typeof params.useSystemFonts !== \"boolean\") {\n params.useSystemFonts = !_is_node.isNodeJS && !params.disableFontFace;\n }\n\n if (typeof params.ownerDocument !== \"object\" || params.ownerDocument === null) {\n params.ownerDocument = globalThis.document;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n const docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n contentDispositionFilename: params.contentDispositionFilename,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n const transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n}\n\nasync function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n source.contentDispositionFilename = pdfDataRangeTransport.contentDispositionFilename;\n }\n\n const workerId = await worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId,\n apiVersion: '2.14.305',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties,\n enableXfa: source.enableXfa,\n useSystemFonts: source.useSystemFonts,\n cMapUrl: source.useWorkerFetch ? source.cMapUrl : null,\n standardFontDataUrl: source.useWorkerFetch ? source.standardFontDataUrl : null\n });\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n return workerId;\n}\n\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n\n constructor() {\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n get promise() {\n return this._capability.promise;\n }\n\n async destroy() {\n this.destroyed = true;\n await this._transport?.destroy();\n this._transport = null;\n\n if (this._worker) {\n this._worker.destroy();\n\n this._worker = null;\n }\n }\n\n}\n\nexports.PDFDocumentLoadingTask = PDFDocumentLoadingTask;\n\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false, contentDispositionFilename = null) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n\n}\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n Object.defineProperty(this, \"fingerprint\", {\n get() {\n (0, _display_utils.deprecated)(\"`PDFDocumentProxy.fingerprint`, \" + \"please use `PDFDocumentProxy.fingerprints` instead.\");\n return this.fingerprints[0];\n }\n\n });\n Object.defineProperty(this, \"getStats\", {\n value: async () => {\n (0, _display_utils.deprecated)(\"`PDFDocumentProxy.getStats`, \" + \"please use the `PDFDocumentProxy.stats`-getter instead.\");\n return this.stats || {\n streamTypes: {},\n fontTypes: {}\n };\n }\n });\n }\n\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n get stats() {\n return this._transport.stats;\n }\n\n get isPureXfa() {\n return !!this._transport._htmlForXfa;\n }\n\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n getOutline() {\n return this._transport.getOutline();\n }\n\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n getData() {\n return this._transport.getData();\n }\n\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n\n destroy() {\n return this.loadingTask.destroy();\n }\n\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n saveDocument() {\n if (this._transport.annotationStorage.size <= 0) {\n (0, _display_utils.deprecated)(\"saveDocument called while `annotationStorage` is empty, \" + \"please use the getData-method instead.\");\n }\n\n return this._transport.saveDocument();\n }\n\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n\n}\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, ownerDocument, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this._bitmaps = new Set();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this._annotationPromises = new Map();\n this.destroyed = false;\n }\n\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n get ref() {\n return this._pageInfo.ref;\n }\n\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n get view() {\n return this._pageInfo.view;\n }\n\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = {}) {\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n\n getAnnotations({\n intent = \"display\"\n } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n\n let promise = this._annotationPromises.get(intentArgs.cacheKey);\n\n if (!promise) {\n promise = this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent);\n\n this._annotationPromises.set(intentArgs.cacheKey, promise);\n\n promise = promise.then(annotations => {\n for (const annotation of annotations) {\n if (annotation.titleObj !== undefined) {\n Object.defineProperty(annotation, \"title\", {\n get() {\n (0, _display_utils.deprecated)(\"`title`-property on annotation, please use `titleObj` instead.\");\n return annotation.titleObj.str;\n }\n\n });\n }\n\n if (annotation.contentsObj !== undefined) {\n Object.defineProperty(annotation, \"contents\", {\n get() {\n (0, _display_utils.deprecated)(\"`contents`-property on annotation, please use `contentsObj` instead.\");\n return annotation.contentsObj.str;\n }\n\n });\n }\n }\n\n return annotations;\n });\n }\n\n return promise;\n }\n\n getJSActions() {\n return this._jsActionsPromise ||= this._transport.getPageJSActions(this._pageIndex);\n }\n\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null\n }) {\n if (arguments[0]?.renderInteractiveForms !== undefined) {\n (0, _display_utils.deprecated)(\"render no longer accepts the `renderInteractiveForms`-option, \" + \"please use the `annotationMode`-option instead.\");\n\n if (arguments[0].renderInteractiveForms === true && annotationMode === _util.AnnotationMode.ENABLE) {\n annotationMode = _util.AnnotationMode.ENABLE_FORMS;\n }\n }\n\n if (arguments[0]?.includeAnnotationStorage !== undefined) {\n (0, _display_utils.deprecated)(\"render no longer accepts the `includeAnnotationStorage`-option, \" + \"please use the `annotationMode`-option instead.\");\n\n if (arguments[0].includeAnnotationStorage === true && annotationMode === _util.AnnotationMode.ENABLE) {\n annotationMode = _util.AnnotationMode.ENABLE_STORAGE;\n }\n }\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode);\n\n this.pendingCleanup = false;\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({\n ownerDocument: this._ownerDocument\n });\n const intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT);\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList(intentArgs);\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n\n if (this.cleanupAfterRender || intentPrint) {\n this.pendingCleanup = true;\n }\n\n this._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error)\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors\n });\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(([transparency, optionalContentConfig]) => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n\n getOperatorList({\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n intentState.renderTasks.delete(opListTask);\n }\n }\n\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, true);\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList(intentArgs);\n }\n\n return intentState.opListReadCapability.promise;\n }\n\n streamTextContent({\n disableCombineTextItems = false,\n includeMarkedContent = false\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n combineTextItems: disableCombineTextItems !== true,\n includeMarkedContent: includeMarkedContent === true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n\n size(textContent) {\n return textContent.items.length;\n }\n\n });\n }\n\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n return this.getXfa().then(xfa => {\n return _xfa_text.XfaText.textContent(xfa);\n });\n }\n\n const readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n\n getStructTree() {\n return this._structTreePromise ||= this._transport.getStructTree(this._pageIndex);\n }\n\n _destroy() {\n this.destroyed = true;\n const waitOn = [];\n\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intentState.opListReadCapability) {\n continue;\n }\n\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n\n this.objs.clear();\n\n for (const bitmap of this._bitmaps) {\n bitmap.close();\n }\n\n this._bitmaps.clear();\n\n this._annotationPromises.clear();\n\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n _tryCleanup(resetStats = false) {\n if (!this.pendingCleanup) {\n return false;\n }\n\n for (const {\n renderTasks,\n operatorList\n } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n\n this._intentStates.clear();\n\n this.objs.clear();\n\n this._annotationPromises.clear();\n\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n\n for (const bitmap of this._bitmaps) {\n bitmap.close();\n }\n\n this._bitmaps.clear();\n\n this.pendingCleanup = false;\n return true;\n }\n\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n\n if (!intentState) {\n return;\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n _renderPageChunk(operatorListChunk, intentState) {\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n _pumpOperatorList({\n renderingIntent,\n cacheKey\n }) {\n const readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage: renderingIntent & _util.RenderingIntentFlag.ANNOTATIONS_STORAGE ? this._transport.annotationStorage.serializable : null\n });\n\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(cacheKey);\n\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (this._transport.destroyed) {\n return;\n }\n\n this._renderPageChunk(value, intentState);\n\n pump();\n }, reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n this._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n\n _abortOperatorList({\n intentState,\n reason,\n force = false\n }) {\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.size > 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({\n intentState,\n reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason.message)).catch(() => {});\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n\n break;\n }\n }\n\n this.cleanup();\n }\n\n get stats() {\n return this._stats;\n }\n\n}\n\nexports.PDFPageProxy = PDFPageProxy;\n\nclass LoopbackPort {\n constructor() {\n this._listeners = [];\n this._deferred = Promise.resolve();\n }\n\n postMessage(obj, transfers) {\n const event = {\n data: structuredClone(obj, transfers)\n };\n\n this._deferred.then(() => {\n for (const listener of this._listeners) {\n listener.call(this, event);\n }\n });\n }\n\n addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n\n}\n\nexports.LoopbackPort = LoopbackPort;\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0\n};\nexports.PDFWorkerUtil = PDFWorkerUtil;\n{\n if (_is_node.isNodeJS && typeof require === \"function\") {\n PDFWorkerUtil.isWorkerDisabled = true;\n PDFWorkerUtil.fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {\n let base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n\n PDFWorkerUtil.createCDNWrapper = function (url) {\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\n\nclass PDFWorker {\n static #workerPorts = new WeakMap();\n\n constructor({\n name = null,\n port = null,\n verbosity = (0, _util.getVerbosityLevel)()\n } = {}) {\n if (port && PDFWorker.#workerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n PDFWorker.#workerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n get promise() {\n return this._readyCapability.promise;\n }\n\n get port() {\n return this._port;\n }\n\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n\n this._messageHandler.on(\"ready\", function () {});\n\n this._readyCapability.resolve();\n }\n\n _initialize() {\n if (typeof Worker !== \"undefined\" && !PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) {\n let workerSrc = PDFWorker.workerSrc;\n\n try {\n if (!PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n const worker = new Worker(workerSrc);\n const messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n this._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n } else {\n this._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array();\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n const port = new LoopbackPort();\n this._port = port;\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n const workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n const messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n\n this._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }).catch(reason => {\n this._readyCapability.reject(new Error(`Setting up fake worker failed: \"${reason.message}\".`));\n });\n }\n\n destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n PDFWorker.#workerPorts.delete(this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n\n if (this.#workerPorts.has(params.port)) {\n return this.#workerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n\n static get workerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch (ex) {\n return null;\n }\n }\n\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n\n if (mainWorkerMessageHandler) {\n return mainWorkerMessageHandler;\n }\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n const worker = eval(\"require\")(this.workerSrc);\n return worker.WorkerMessageHandler;\n }\n\n await (0, _display_utils.loadScript)(this.workerSrc);\n return window.pdfjsWorker.WorkerMessageHandler;\n };\n\n return (0, _util.shadow)(this, \"_setupFakeWorkerGlobal\", loader());\n }\n\n}\n\nexports.PDFWorker = PDFWorker;\n{\n PDFWorker.getWorkerSrc = function () {\n (0, _display_utils.deprecated)(\"`PDFWorker.getWorkerSrc()`, please use `PDFWorker.workerSrc` instead.\");\n return this.workerSrc;\n };\n}\n\nclass WorkerTransport {\n #docStats = null;\n #pageCache = new Map();\n #pagePromises = new Map();\n #metadataPromise = null;\n\n constructor(messageHandler, loadingTask, networkStream, params) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n ownerDocument: params.ownerDocument,\n styleElement: params.styleElement\n });\n this._params = params;\n\n if (!params.useWorkerFetch) {\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.StandardFontDataFactory = new params.StandardFontDataFactory({\n baseUrl: params.standardFontDataUrl\n });\n }\n\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n get annotationStorage() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n\n get stats() {\n return this.#docStats;\n }\n\n getRenderingIntent(intent, annotationMode = _util.AnnotationMode.ENABLE, isOpList = false) {\n let renderingIntent = _util.RenderingIntentFlag.DISPLAY;\n let annotationHash = \"\";\n\n switch (intent) {\n case \"any\":\n renderingIntent = _util.RenderingIntentFlag.ANY;\n break;\n\n case \"display\":\n break;\n\n case \"print\":\n renderingIntent = _util.RenderingIntentFlag.PRINT;\n break;\n\n default:\n (0, _util.warn)(`getRenderingIntent - invalid intent: ${intent}`);\n }\n\n switch (annotationMode) {\n case _util.AnnotationMode.DISABLE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE;\n break;\n\n case _util.AnnotationMode.ENABLE:\n break;\n\n case _util.AnnotationMode.ENABLE_FORMS:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS;\n break;\n\n case _util.AnnotationMode.ENABLE_STORAGE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE;\n annotationHash = this.annotationStorage.hash;\n break;\n\n default:\n (0, _util.warn)(`getRenderingIntent - invalid annotationMode: ${annotationMode}`);\n }\n\n if (isOpList) {\n renderingIntent += _util.RenderingIntentFlag.OPLIST;\n }\n\n return {\n renderingIntent,\n cacheKey: `${renderingIntent}_${annotationHash}`\n };\n }\n\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n\n const waitOn = [];\n\n for (const page of this.#pageCache.values()) {\n waitOn.push(page._destroy());\n }\n\n this.#pageCache.clear();\n this.#pagePromises.clear();\n\n if (this.hasOwnProperty(\"annotationStorage\")) {\n this.annotationStorage.resetModified();\n }\n\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.commonObjs.clear();\n this.fontLoader.clear();\n this.#metadataPromise = null;\n this._getFieldObjectsPromise = null;\n this._hasJSActionsPromise = null;\n\n if (this._networkStream) {\n this._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n\n setupMessageHandler() {\n const {\n messageHandler,\n loadingTask\n } = this;\n messageHandler.on(\"GetReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n this._fullReader = this._networkStream.getFullReader();\n\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = () => {\n this._fullReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", data => {\n const headersCapability = (0, _util.createPromiseCapability)();\n const fullReader = this._fullReader;\n fullReader.headersReady.then(() => {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (this._lastProgress) {\n loadingTask.onProgress?.(this._lastProgress);\n }\n\n fullReader.onProgress = evt => {\n loadingTask.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n\n const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = () => {\n rangeReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", ({\n pdfInfo\n }) => {\n this._numPages = pdfInfo.numPages;\n this._htmlForXfa = pdfInfo.htmlForXfa;\n delete pdfInfo.htmlForXfa;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n\n default:\n (0, _util.unreachable)(\"DocException - expected a valid Error.\");\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", exception => {\n this._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n if (password instanceof Error) {\n this._passwordCapability.reject(password);\n } else {\n this._passwordCapability.resolve({\n password\n });\n }\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return this._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", data => {\n loadingTask.onProgress?.({\n loaded: data.length,\n total: data.length\n });\n this.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return;\n }\n\n const page = this.#pageCache.get(data.pageIndex);\n\n page._startRenderPage(data.transparency, data.cacheKey);\n });\n messageHandler.on(\"commonobj\", ([id, type, exportedData]) => {\n if (this.destroyed) {\n return;\n }\n\n if (this.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n const params = this._params;\n\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n (0, _util.warn)(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n\n let fontRegistry = null;\n\n if (params.pdfBug && globalThis.FontInspector?.enabled) {\n fontRegistry = {\n registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n\n };\n }\n\n const font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n fontRegistry\n });\n this.fontLoader.bind(font).catch(reason => {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id\n });\n }).finally(() => {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n\n this.commonObjs.resolve(id, font);\n });\n break;\n\n case \"FontPath\":\n case \"Image\":\n this.commonObjs.resolve(id, exportedData);\n break;\n\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n });\n messageHandler.on(\"obj\", ([id, pageIndex, type, imageData]) => {\n if (this.destroyed) {\n return;\n }\n\n const pageProxy = this.#pageCache.get(pageIndex);\n\n if (pageProxy.objs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n const MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData) {\n let length;\n\n if (imageData.bitmap) {\n const {\n bitmap,\n width,\n height\n } = imageData;\n length = width * height * 4;\n\n pageProxy._bitmaps.add(bitmap);\n } else {\n length = imageData.data?.length || 0;\n }\n\n if (length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n }\n\n break;\n\n case \"Pattern\":\n pageProxy.objs.resolve(id, imageData);\n break;\n\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n });\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return;\n }\n\n loadingTask.onProgress?.({\n loaded: data.loaded,\n total: data.total\n });\n });\n messageHandler.on(\"DocStats\", data => {\n if (this.destroyed) {\n return;\n }\n\n this.#docStats = Object.freeze({\n streamTypes: Object.freeze(data.streamTypes),\n fontTypes: Object.freeze(data.fontTypes)\n });\n });\n messageHandler.on(\"UnsupportedFeature\", this._onUnsupportedFeature.bind(this));\n messageHandler.on(\"FetchBuiltInCMap\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n\n if (!this.CMapReaderFactory) {\n return Promise.reject(new Error(\"CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n\n return this.CMapReaderFactory.fetch(data);\n });\n messageHandler.on(\"FetchStandardFontData\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n\n if (!this.StandardFontDataFactory) {\n return Promise.reject(new Error(\"StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n\n return this.StandardFontDataFactory.fetch(data);\n });\n }\n\n _onUnsupportedFeature({\n featureId\n }) {\n if (this.destroyed) {\n return;\n }\n\n this.loadingTask.onUnsupportedFeature?.(featureId);\n }\n\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n\n getPage(pageNumber) {\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request.\"));\n }\n\n const pageIndex = pageNumber - 1,\n cachedPromise = this.#pagePromises.get(pageIndex);\n\n if (cachedPromise) {\n return cachedPromise;\n }\n\n const promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex\n }).then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.ownerDocument, this._params.pdfBug);\n this.#pageCache.set(pageIndex, page);\n return page;\n });\n this.#pagePromises.set(pageIndex, promise);\n return promise;\n }\n\n getPageIndex(ref) {\n if (typeof ref !== \"object\" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) {\n return Promise.reject(new Error(\"Invalid pageIndex request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n num: ref.num,\n gen: ref.gen\n });\n }\n\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent\n });\n }\n\n saveDocument() {\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n isPureXfa: !!this._htmlForXfa,\n numPages: this._numPages,\n annotationStorage: this.annotationStorage.serializable,\n filename: this._fullReader?.filename ?? null\n }).finally(() => {\n this.annotationStorage.resetModified();\n });\n }\n\n getFieldObjects() {\n return this._getFieldObjectsPromise ||= this.messageHandler.sendWithPromise(\"GetFieldObjects\", null);\n }\n\n hasJSActions() {\n return this._hasJSActionsPromise ||= this.messageHandler.sendWithPromise(\"HasJSActions\", null);\n }\n\n getCalculationOrderIds() {\n return this.messageHandler.sendWithPromise(\"GetCalculationOrderIds\", null);\n }\n\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id\n });\n }\n\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n\n getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n\n getDocJSActions() {\n return this.messageHandler.sendWithPromise(\"GetDocJSActions\", null);\n }\n\n getPageJSActions(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetPageJSActions\", {\n pageIndex\n });\n }\n\n getStructTree(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetStructTree\", {\n pageIndex\n });\n }\n\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n\n getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(results => {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n\n getMetadata() {\n return this.#metadataPromise ||= this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(results => {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader?.filename ?? null,\n contentLength: this._fullReader?.contentLength ?? null\n };\n });\n }\n\n getMarkInfo() {\n return this.messageHandler.sendWithPromise(\"GetMarkInfo\", null);\n }\n\n async startCleanup(keepLoadedFonts = false) {\n await this.messageHandler.sendWithPromise(\"Cleanup\", null);\n\n if (this.destroyed) {\n return;\n }\n\n for (const page of this.#pageCache.values()) {\n const cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`);\n }\n }\n\n this.commonObjs.clear();\n\n if (!keepLoadedFonts) {\n this.fontLoader.clear();\n }\n\n this.#metadataPromise = null;\n this._getFieldObjectsPromise = null;\n this._hasJSActionsPromise = null;\n }\n\n get loadingParams() {\n const params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n enableXfa: params.enableXfa\n });\n }\n\n}\n\nclass PDFObjects {\n #objs = Object.create(null);\n\n #ensureObj(objId) {\n const obj = this.#objs[objId];\n\n if (obj) {\n return obj;\n }\n\n return this.#objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null\n };\n }\n\n get(objId, callback = null) {\n if (callback) {\n const obj = this.#ensureObj(objId);\n obj.capability.promise.then(() => callback(obj.data));\n return null;\n }\n\n const obj = this.#objs[objId];\n\n if (!obj?.capability.settled) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n\n return obj.data;\n }\n\n has(objId) {\n const obj = this.#objs[objId];\n return obj?.capability.settled || false;\n }\n\n resolve(objId, data = null) {\n const obj = this.#ensureObj(objId);\n obj.data = data;\n obj.capability.resolve();\n }\n\n clear() {\n this.#objs = Object.create(null);\n }\n\n}\n\nclass RenderTask {\n constructor(internalRenderTask) {\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n get promise() {\n return this._internalRenderTask.capability.promise;\n }\n\n cancel() {\n this._internalRenderTask.cancel();\n }\n\n}\n\nexports.RenderTask = RenderTask;\n\nclass InternalRenderTask {\n static #canvasInUse = new WeakSet();\n\n constructor({\n callback,\n params,\n objs,\n commonObjs,\n annotationCanvasMap,\n operatorList,\n pageIndex,\n canvasFactory,\n useRequestAnimationFrame = false,\n pdfBug = false,\n pageColors = null\n }) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.annotationCanvasMap = annotationCanvasMap;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this._pdfBug = pdfBug;\n this.pageColors = pageColors;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._cancelBound = this.cancel.bind(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n get completed() {\n return this.capability.promise.catch(function () {});\n }\n\n initializeGraphics({\n transparency = false,\n optionalContentConfig\n }) {\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (InternalRenderTask.#canvasInUse.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n\n InternalRenderTask.#canvasInUse.add(this._canvas);\n }\n\n if (this._pdfBug && globalThis.StepperManager?.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n const {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background\n } = this.params;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, imageLayer, optionalContentConfig, this.annotationCanvasMap, this.pageColors);\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n\n cancel(error = null) {\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, \"canvas\"));\n }\n\n operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n\n _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this._nextBound().catch(this._cancelBound);\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this._cancelBound);\n }\n }\n\n async _next() {\n if (this.cancelled) {\n return;\n }\n\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n }\n\n this.callback();\n }\n }\n }\n\n}\n\nconst version = '2.14.305';\nexports.version = version;\nconst build = 'eaaa8b4ad';\nexports.build = build;\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = void 0;\nexports.deprecated = deprecated;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.getPdfFilenameFromUrl = getPdfFilenameFromUrl;\nexports.getXfaPageViewport = getXfaPageViewport;\nexports.isDataScheme = isDataScheme;\nexports.isPdfFile = isPdfFile;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\n\nvar _base_factory = __w_pdfjs_require__(6);\n\nvar _util = __w_pdfjs_require__(1);\n\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\n\nclass PixelsPerInch {\n static CSS = 96.0;\n static PDF = 72.0;\n static PDF_TO_CSS_UNITS = this.CSS / this.PDF;\n}\n\nexports.PixelsPerInch = PixelsPerInch;\n\nclass DOMCanvasFactory extends _base_factory.BaseCanvasFactory {\n constructor({\n ownerDocument = globalThis.document\n } = {}) {\n super();\n this._document = ownerDocument;\n }\n\n _createCanvas(width, height) {\n const canvas = this._document.createElement(\"canvas\");\n\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n\n}\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nasync function fetchData(url, asTypedArray = false) {\n if (isValidFetchUrl(url, document.baseURI)) {\n const response = await fetch(url);\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n\n return asTypedArray ? new Uint8Array(await response.arrayBuffer()) : (0, _util.stringToBytes)(await response.text());\n }\n\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (asTypedArray) {\n request.responseType = \"arraybuffer\";\n }\n\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n let data;\n\n if (asTypedArray && request.response) {\n data = new Uint8Array(request.response);\n } else if (!asTypedArray && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (data) {\n resolve(data);\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n });\n}\n\nclass DOMCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url, this.isCompressed).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n\n}\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nclass DOMStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url, true);\n }\n\n}\n\nexports.DOMStandardFontDataFactory = DOMStandardFontDataFactory;\n\nclass DOMSVGFactory extends _base_factory.BaseSVGFactory {\n _createSVG(type) {\n return document.createElementNS(SVG_NS, type);\n }\n\n}\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nclass PageViewport {\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation %= 360;\n\n if (rotation < 0) {\n rotation += 360;\n }\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n\n convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n\n convertToViewportRectangle(rect) {\n const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n\n convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n\n}\n\nexports.PageViewport = PageViewport;\n\nclass RenderingCancelledException extends _util.BaseException {\n constructor(msg, type) {\n super(msg, \"RenderingCancelledException\");\n this.type = type;\n }\n\n}\n\nexports.RenderingCancelledException = RenderingCancelledException;\n\nfunction isDataScheme(url) {\n const ii = url.length;\n let i = 0;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction isPdfFile(filename) {\n return typeof filename === \"string\" && /\\.pdf$/i.test(filename);\n}\n\nfunction getFilenameFromUrl(url) {\n const anchor = url.indexOf(\"#\");\n const query = url.indexOf(\"?\");\n const end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\nfunction getPdfFilenameFromUrl(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataScheme(url)) {\n (0, _util.warn)('getPdfFilenameFromUrl: ignore \"data:\"-URL for performance reasons.');\n return defaultFilename;\n }\n\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n const reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nclass StatTimer {\n constructor() {\n this.started = Object.create(null);\n this.times = [];\n }\n\n time(name) {\n if (name in this.started) {\n (0, _util.warn)(`Timer is already running for ${name}`);\n }\n\n this.started[name] = Date.now();\n }\n\n timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(`Timer has not been started for ${name}`);\n }\n\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n\n toString() {\n const outBuf = [];\n let longest = 0;\n\n for (const time of this.times) {\n const name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n\n for (const time of this.times) {\n const duration = time.end - time.start;\n outBuf.push(`${time.name.padEnd(longest)} ${duration}ms\\n`);\n }\n\n return outBuf.join(\"\");\n }\n\n}\n\nexports.StatTimer = StatTimer;\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const {\n protocol\n } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src, removeScriptElement = false) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n\n script.onload = function (evt) {\n if (removeScriptElement) {\n script.remove();\n }\n\n resolve(evt);\n };\n\n script.onerror = function () {\n reject(new Error(`Cannot load script at: ${script.src}`));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nlet pdfDateStringRegex;\n\nclass PDFDateString {\n static toDateObject(input) {\n if (!input || typeof input !== \"string\") {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n\n const matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n\n}\n\nexports.PDFDateString = PDFDateString;\n\nfunction getXfaPageViewport(xfaPage, {\n scale = 1,\n rotation = 0\n}) {\n const {\n width,\n height\n } = xfaPage.attributes.style;\n const viewBox = [0, 0, parseInt(width), parseInt(height)];\n return new PageViewport({\n viewBox,\n scale,\n rotation\n });\n}\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass BaseCanvasFactory {\n constructor() {\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n const canvas = this._createCanvas(width, height);\n\n return {\n canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n\n _createCanvas(width, height) {\n (0, _util.unreachable)(\"Abstract method `_createCanvas` called.\");\n }\n\n}\n\nexports.BaseCanvasFactory = BaseCanvasFactory;\n\nclass BaseCMapReaderFactory {\n constructor({\n baseUrl = null,\n isCompressed = false\n }) {\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n async fetch({\n name\n }) {\n if (!this.baseUrl) {\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n }\n\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n return this._fetchData(url, compressionType).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}CMap at: ${url}`);\n });\n }\n\n _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n\n}\n\nexports.BaseCMapReaderFactory = BaseCMapReaderFactory;\n\nclass BaseStandardFontDataFactory {\n constructor({\n baseUrl = null\n }) {\n if (this.constructor === BaseStandardFontDataFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseStandardFontDataFactory.\");\n }\n\n this.baseUrl = baseUrl;\n }\n\n async fetch({\n filename\n }) {\n if (!this.baseUrl) {\n throw new Error('The standard font \"baseUrl\" parameter must be specified, ensure that ' + 'the \"standardFontDataUrl\" API parameter is provided.');\n }\n\n if (!filename) {\n throw new Error(\"Font filename must be specified.\");\n }\n\n const url = `${this.baseUrl}${filename}`;\n return this._fetchData(url).catch(reason => {\n throw new Error(`Unable to load font data at: ${url}`);\n });\n }\n\n _fetchData(url) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n\n}\n\nexports.BaseStandardFontDataFactory = BaseStandardFontDataFactory;\n\nclass BaseSVGFactory {\n constructor() {\n if (this.constructor === BaseSVGFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseSVGFactory.\");\n }\n }\n\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid SVG dimensions\");\n }\n\n const svg = this._createSVG(\"svg:svg\");\n\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"width\", `${width}px`);\n svg.setAttribute(\"height\", `${height}px`);\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", `0 0 ${width} ${height}`);\n return svg;\n }\n\n createElement(type) {\n if (typeof type !== \"string\") {\n throw new Error(\"Invalid SVG element type\");\n }\n\n return this._createSVG(type);\n }\n\n _createSVG(type) {\n (0, _util.unreachable)(\"Abstract method `_createSVG` called.\");\n }\n\n}\n\nexports.BaseSVGFactory = BaseSVGFactory;\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass BaseFontLoader {\n constructor({\n docId,\n onUnsupportedFeature,\n ownerDocument = globalThis.document,\n styleElement = null\n }) {\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this._document = ownerDocument;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n\n this._document.fonts.add(nativeFontFace);\n }\n\n insertRule(rule) {\n let styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = this._document.createElement(\"style\");\n styleElement.id = `PDFJS_FONT_STYLE_TAG_${this.docId}`;\n\n this._document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);\n }\n\n const styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n\n clear() {\n for (const nativeFontFace of this.nativeFontFaces) {\n this._document.fonts.delete(nativeFontFace);\n }\n\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n\n async bind(font) {\n if (font.attached || font.missingFile) {\n return;\n }\n\n font.attached = true;\n\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative\n });\n\n (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n font.disableFontFace = true;\n throw ex;\n }\n }\n\n return;\n }\n\n const rule = font.createFontFaceRule();\n\n if (rule) {\n this.insertRule(rule);\n\n if (this.isSyncFontLoadingSupported) {\n return;\n }\n\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n\n this._prepareFontLoadEvent([rule], [font], request);\n });\n }\n }\n\n _queueLoadingCallback(callback) {\n (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n }\n\n get isFontLoadingAPISupported() {\n const hasFonts = !!this._document?.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", hasFonts);\n }\n\n get isSyncFontLoadingSupported() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n\n get _loadTestFont() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n\n _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n\n}\n\nlet FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader = class GenericFontLoader extends BaseFontLoader {\n constructor(params) {\n super(params);\n this.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n this.loadTestFontId = 0;\n }\n\n get isSyncFontLoadingSupported() {\n let supported = false;\n\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n const m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m?.[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n\n _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n const otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n const context = this.loadingContext;\n const request = {\n id: `pdfjs-font-loading-${context.nextRequestId++}`,\n done: false,\n complete: completeRequest,\n callback\n };\n context.requests.push(request);\n return request;\n }\n\n get _loadTestFont() {\n const getLoadTestFont = function () {\n return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n };\n\n return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n }\n\n _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n let i, ii;\n\n const canvas = this._document.createElement(\"canvas\");\n\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n let called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858;\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n const names = [];\n\n for (const font of fonts) {\n names.push(font.loadedName);\n }\n\n names.push(loadTestFontId);\n\n const div = this._document.createElement(\"div\");\n\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n\n for (const name of names) {\n const span = this._document.createElement(\"span\");\n\n span.textContent = \"Hi\";\n span.style.fontFamily = name;\n div.appendChild(span);\n }\n\n this._document.body.appendChild(div);\n\n isFontReady(loadTestFontId, () => {\n div.remove();\n request.complete();\n });\n }\n\n };\n}\n\nclass FontFaceObject {\n constructor(translatedData, {\n isEvalSupported = true,\n disableFontFace = false,\n ignoreErrors = false,\n onUnsupportedFeature,\n fontRegistry = null\n }) {\n this.compiledGlyphs = Object.create(null);\n\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n let nativeFontFace;\n\n if (!this.cssFontInfo) {\n nativeFontFace = new FontFace(this.loadedName, this.data, {});\n } else {\n const css = {\n weight: this.cssFontInfo.fontWeight\n };\n\n if (this.cssFontInfo.italicAngle) {\n css.style = `oblique ${this.cssFontInfo.italicAngle}deg`;\n }\n\n nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css);\n }\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n const data = (0, _util.bytesToString)(this.data);\n const url = `url(data:${this.mimetype};base64,${btoa(data)});`;\n let rule;\n\n if (!this.cssFontInfo) {\n rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n } else {\n let css = `font-weight: ${this.cssFontInfo.fontWeight};`;\n\n if (this.cssFontInfo.italicAngle) {\n css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;\n }\n\n rule = `@font-face {font-family:\"${this.cssFontInfo.fontFamily}\";${css}src:${url}}`;\n }\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n let cmds;\n\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath\n });\n\n (0, _util.warn)(`getPathGenerator - ignoring character: \"${ex}\".`);\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && _util.FeatureTest.isEvalSupported) {\n const jsBuf = [];\n\n for (const current of cmds) {\n const args = current.args !== undefined ? current.args.join(\",\") : \"\";\n jsBuf.push(\"c.\", current.cmd, \"(\", args, \");\\n\");\n }\n\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", jsBuf.join(\"\"));\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (const current of cmds) {\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n\n}\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationStorage = void 0;\n\nvar _murmurhash = __w_pdfjs_require__(9);\n\nvar _util = __w_pdfjs_require__(1);\n\nclass AnnotationStorage {\n constructor() {\n this._storage = new Map();\n this._modified = false;\n this.onSetModified = null;\n this.onResetModified = null;\n }\n\n getValue(key, defaultValue) {\n const value = this._storage.get(key);\n\n if (value === undefined) {\n return defaultValue;\n }\n\n return Object.assign(defaultValue, value);\n }\n\n getRawValue(key) {\n return this._storage.get(key);\n }\n\n setValue(key, value) {\n const obj = this._storage.get(key);\n\n let modified = false;\n\n if (obj !== undefined) {\n for (const [entry, val] of Object.entries(value)) {\n if (obj[entry] !== val) {\n modified = true;\n obj[entry] = val;\n }\n }\n } else {\n modified = true;\n\n this._storage.set(key, value);\n }\n\n if (modified) {\n this._setModified();\n }\n }\n\n getAll() {\n return this._storage.size > 0 ? (0, _util.objectFromMap)(this._storage) : null;\n }\n\n get size() {\n return this._storage.size;\n }\n\n _setModified() {\n if (!this._modified) {\n this._modified = true;\n\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n\n resetModified() {\n if (this._modified) {\n this._modified = false;\n\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n\n get serializable() {\n return this._storage.size > 0 ? this._storage : null;\n }\n\n get hash() {\n const hash = new _murmurhash.MurmurHash3_64();\n\n for (const [key, value] of this._storage) {\n hash.update(`${key}:${JSON.stringify(value)}`);\n }\n\n return hash.hexdigest();\n }\n\n}\n\nexports.AnnotationStorage = AnnotationStorage;\n\n/***/ }),\n/* 9 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MurmurHash3_64 = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nconst SEED = 0xc3d2e1f0;\nconst MASK_HIGH = 0xffff0000;\nconst MASK_LOW = 0xffff;\n\nclass MurmurHash3_64 {\n constructor(seed) {\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n\n update(input) {\n let data, length;\n\n if (typeof input === \"string\") {\n data = new Uint8Array(input.length * 2);\n length = 0;\n\n for (let i = 0, ii = input.length; i < ii; i++) {\n const code = input.charCodeAt(i);\n\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input.slice();\n length = data.byteLength;\n } else {\n throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n }\n\n const blockCounts = length >> 2;\n const tailLength = length - blockCounts * 4;\n const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n let k1 = 0,\n k2 = 0;\n let h1 = this.h1,\n h2 = this.h2;\n const C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n const C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n\n for (let i = 0; i < blockCounts; i++) {\n if (i & 1) {\n k1 = dataUint32[i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n\n k1 = 0;\n\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n\n }\n\n this.h1 = h1;\n this.h2 = h2;\n }\n\n hexdigest() {\n let h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n const hex1 = (h1 >>> 0).toString(16),\n hex2 = (h2 >>> 0).toString(16);\n return hex1.padStart(8, \"0\") + hex2.padStart(8, \"0\");\n }\n\n}\n\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 10 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _pattern_helper = __w_pdfjs_require__(11);\n\nvar _image_utils = __w_pdfjs_require__(12);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nvar _display_utils = __w_pdfjs_require__(5);\n\nconst MIN_FONT_SIZE = 16;\nconst MAX_FONT_SIZE = 100;\nconst MAX_GROUP_SIZE = 4096;\nconst EXECUTION_TIME = 15;\nconst EXECUTION_STEPS = 10;\nconst COMPILE_TYPE3_GLYPHS = true;\nconst MAX_SIZE_TO_COMPILE = 1000;\nconst FULL_CHUNK_HEIGHT = 16;\nconst LINEWIDTH_SCALE_FACTOR = 1.000001;\n\nfunction mirrorContextOperations(ctx, destCtx) {\n if (ctx._removeMirroring) {\n throw new Error(\"Context is already forwarding operations.\");\n }\n\n ctx.__originalSave = ctx.save;\n ctx.__originalRestore = ctx.restore;\n ctx.__originalRotate = ctx.rotate;\n ctx.__originalScale = ctx.scale;\n ctx.__originalTranslate = ctx.translate;\n ctx.__originalTransform = ctx.transform;\n ctx.__originalSetTransform = ctx.setTransform;\n ctx.__originalResetTransform = ctx.resetTransform;\n ctx.__originalClip = ctx.clip;\n ctx.__originalMoveTo = ctx.moveTo;\n ctx.__originalLineTo = ctx.lineTo;\n ctx.__originalBezierCurveTo = ctx.bezierCurveTo;\n ctx.__originalRect = ctx.rect;\n ctx.__originalClosePath = ctx.closePath;\n ctx.__originalBeginPath = ctx.beginPath;\n\n ctx._removeMirroring = () => {\n ctx.save = ctx.__originalSave;\n ctx.restore = ctx.__originalRestore;\n ctx.rotate = ctx.__originalRotate;\n ctx.scale = ctx.__originalScale;\n ctx.translate = ctx.__originalTranslate;\n ctx.transform = ctx.__originalTransform;\n ctx.setTransform = ctx.__originalSetTransform;\n ctx.resetTransform = ctx.__originalResetTransform;\n ctx.clip = ctx.__originalClip;\n ctx.moveTo = ctx.__originalMoveTo;\n ctx.lineTo = ctx.__originalLineTo;\n ctx.bezierCurveTo = ctx.__originalBezierCurveTo;\n ctx.rect = ctx.__originalRect;\n ctx.closePath = ctx.__originalClosePath;\n ctx.beginPath = ctx.__originalBeginPath;\n delete ctx._removeMirroring;\n };\n\n ctx.save = function ctxSave() {\n destCtx.save();\n\n this.__originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n destCtx.restore();\n\n this.__originalRestore();\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n destCtx.translate(x, y);\n\n this.__originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n destCtx.scale(x, y);\n\n this.__originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n destCtx.transform(a, b, c, d, e, f);\n\n this.__originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n destCtx.setTransform(a, b, c, d, e, f);\n\n this.__originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.resetTransform = function ctxResetTransform() {\n destCtx.resetTransform();\n\n this.__originalResetTransform();\n };\n\n ctx.rotate = function ctxRotate(angle) {\n destCtx.rotate(angle);\n\n this.__originalRotate(angle);\n };\n\n ctx.clip = function ctxRotate(rule) {\n destCtx.clip(rule);\n\n this.__originalClip(rule);\n };\n\n ctx.moveTo = function (x, y) {\n destCtx.moveTo(x, y);\n\n this.__originalMoveTo(x, y);\n };\n\n ctx.lineTo = function (x, y) {\n destCtx.lineTo(x, y);\n\n this.__originalLineTo(x, y);\n };\n\n ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) {\n destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n\n this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n };\n\n ctx.rect = function (x, y, width, height) {\n destCtx.rect(x, y, width, height);\n\n this.__originalRect(x, y, width, height);\n };\n\n ctx.closePath = function () {\n destCtx.closePath();\n\n this.__originalClosePath();\n };\n\n ctx.beginPath = function () {\n destCtx.beginPath();\n\n this.__originalBeginPath();\n };\n}\n\nfunction addContextCurrentTransform(ctx) {\n if (ctx._transformStack) {\n ctx._transformStack = [];\n }\n\n if (ctx.mozCurrentTransform) {\n return;\n }\n\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._originalResetTransform = ctx.resetTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n\n try {\n const desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(ctx), \"lineWidth\");\n ctx._setLineWidth = desc.set;\n ctx._getLineWidth = desc.get;\n Object.defineProperty(ctx, \"lineWidth\", {\n set: function setLineWidth(width) {\n this._setLineWidth(width * LINEWIDTH_SCALE_FACTOR);\n },\n get: function getLineWidth() {\n return this._getLineWidth();\n }\n });\n } catch (_) {}\n\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n const [a, b, c, d, e, f] = this._transformMatrix;\n const ad_bc = a * d - b * c;\n const bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n const old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n if (this._transformStack.length === 0) {\n (0, _util.warn)(\"Tried to restore a ctx when the stack was already empty.\");\n }\n\n const prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n const m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n const m = this._transformMatrix;\n m[0] *= x;\n m[1] *= x;\n m[2] *= y;\n m[3] *= y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n const m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.resetTransform = function ctxResetTransform() {\n this._transformMatrix = [1, 0, 0, 1, 0, 0];\n\n ctx._originalResetTransform();\n };\n\n ctx.rotate = function ctxRotate(angle) {\n const cosValue = Math.cos(angle);\n const sinValue = Math.sin(angle);\n const m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n}\n\nclass CachedCanvases {\n constructor(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n getCanvas(id, width, height, trackTransform) {\n let canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n }\n\n delete(id) {\n delete this.cache[id];\n }\n\n clear() {\n for (const id in this.cache) {\n const canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n\n}\n\nfunction drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) {\n const [a, b, c, d, tx, ty] = ctx.mozCurrentTransform;\n\n if (b === 0 && c === 0) {\n const tlX = destX * a + tx;\n const rTlX = Math.round(tlX);\n const tlY = destY * d + ty;\n const rTlY = Math.round(tlY);\n const brX = (destX + destW) * a + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destY + destH) * d + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rWidth, rHeight];\n }\n\n if (a === 0 && d === 0) {\n const tlX = destY * c + tx;\n const rTlX = Math.round(tlX);\n const tlY = destX * b + ty;\n const rTlY = Math.round(tlY);\n const brX = (destY + destH) * c + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destX + destW) * b + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rHeight, rWidth];\n }\n\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH);\n const scaleX = Math.hypot(a, b);\n const scaleY = Math.hypot(c, d);\n return [scaleX * destW, scaleY * destH];\n}\n\nfunction compileType3Glyph(imgData) {\n const {\n width,\n height\n } = imgData;\n\n if (!COMPILE_TYPE3_GLYPHS || width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) {\n return null;\n }\n\n const POINT_TO_PROCESS_LIMIT = 1000;\n const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n const width1 = width + 1;\n let points = new Uint8Array(width1 * (height + 1));\n let i, j, j0;\n const lineSize = width + 7 & ~7;\n let data = new Uint8Array(lineSize * height),\n pos = 0;\n\n for (const elem of imgData.data) {\n let mask = 128;\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n let count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n let path, outlines, coords;\n\n if (!_is_node.isNodeJS) {\n path = new Path2D();\n } else {\n outlines = [];\n }\n\n for (i = 0; count && i <= height; i++) {\n let p = i * width1;\n const end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n if (path) {\n path.moveTo(p % width1, i);\n } else {\n coords = [p % width1, i];\n }\n\n const p0 = p;\n let type = points[p];\n\n do {\n const step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n const pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n if (path) {\n path.lineTo(p % width1, p / width1 | 0);\n } else {\n coords.push(p % width1, p / width1 | 0);\n }\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n if (!path) {\n outlines.push(coords);\n }\n\n --i;\n }\n\n data = null;\n points = null;\n\n const drawOutline = function (c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n\n if (path) {\n c.fill(path);\n } else {\n c.beginPath();\n\n for (const o of outlines) {\n c.moveTo(o[0], o[1]);\n\n for (let l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n\n c.fill();\n }\n\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nclass CanvasExtraState {\n constructor(width, height) {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.transferMaps = null;\n this.startNewPathAndClipBox([0, 0, width, height]);\n }\n\n clone() {\n const clone = Object.create(this);\n clone.clipBox = this.clipBox.slice();\n return clone;\n }\n\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n\n updatePathMinMax(transform, x, y) {\n [x, y] = _util.Util.applyTransform([x, y], transform);\n this.minX = Math.min(this.minX, x);\n this.minY = Math.min(this.minY, y);\n this.maxX = Math.max(this.maxX, x);\n this.maxY = Math.max(this.maxY, y);\n }\n\n updateRectMinMax(transform, rect) {\n const p1 = _util.Util.applyTransform(rect, transform);\n\n const p2 = _util.Util.applyTransform(rect.slice(2), transform);\n\n this.minX = Math.min(this.minX, p1[0], p2[0]);\n this.minY = Math.min(this.minY, p1[1], p2[1]);\n this.maxX = Math.max(this.maxX, p1[0], p2[0]);\n this.maxY = Math.max(this.maxY, p1[1], p2[1]);\n }\n\n updateScalingPathMinMax(transform, minMax) {\n _util.Util.scaleMinMax(transform, minMax);\n\n this.minX = Math.min(this.minX, minMax[0]);\n this.maxX = Math.max(this.maxX, minMax[1]);\n this.minY = Math.min(this.minY, minMax[2]);\n this.maxY = Math.max(this.maxY, minMax[3]);\n }\n\n updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) {\n const box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3);\n\n if (minMax) {\n minMax[0] = Math.min(minMax[0], box[0], box[2]);\n minMax[1] = Math.max(minMax[1], box[0], box[2]);\n minMax[2] = Math.min(minMax[2], box[1], box[3]);\n minMax[3] = Math.max(minMax[3], box[1], box[3]);\n return;\n }\n\n this.updateRectMinMax(transform, box);\n }\n\n getPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n const box = [this.minX, this.minY, this.maxX, this.maxY];\n\n if (pathType === _pattern_helper.PathType.STROKE) {\n if (!transform) {\n (0, _util.unreachable)(\"Stroke bounding box must include transform.\");\n }\n\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n\n const xStrokePad = scale[0] * this.lineWidth / 2;\n const yStrokePad = scale[1] * this.lineWidth / 2;\n box[0] -= xStrokePad;\n box[1] -= yStrokePad;\n box[2] += xStrokePad;\n box[3] += yStrokePad;\n }\n\n return box;\n }\n\n updateClipFromPath() {\n const intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox());\n\n this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]);\n }\n\n isEmptyClip() {\n return this.minX === Infinity;\n }\n\n startNewPathAndClipBox(box) {\n this.clipBox = box;\n this.minX = Infinity;\n this.minY = Infinity;\n this.maxX = 0;\n this.maxY = 0;\n }\n\n getClippedPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform));\n }\n\n}\n\nfunction putBinaryImageData(ctx, imgData, transferMaps = null) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0,\n destPos;\n const src = imgData.data;\n const dest = chunkImgData.data;\n let i, j, thisChunkHeight, elemsInThisChunk;\n let transferMapRed, transferMapGreen, transferMapBlue, transferMapGray;\n\n if (transferMaps) {\n switch (transferMaps.length) {\n case 1:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[0];\n transferMapBlue = transferMaps[0];\n transferMapGray = transferMaps[0];\n break;\n\n case 4:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[1];\n transferMapBlue = transferMaps[2];\n transferMapGray = transferMaps[3];\n break;\n }\n }\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n const srcLength = src.byteLength;\n const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n const dest32DataLength = dest32.length;\n const fullSrcDiff = width + 7 >> 3;\n let white = 0xffffffff;\n let black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n\n if (transferMapGray) {\n if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {\n [white, black] = [black, white];\n }\n }\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n const srcDiff = srcLength - srcPos;\n let k = 0;\n const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n const kEndUnrolled = kEnd & ~7;\n let mask = 0;\n let srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n const hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n\n if (hasTransferMaps) {\n for (let k = 0; k < elemsInThisChunk; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n\n if (hasTransferMaps) {\n for (let k = 0; k < elemsInThisChunk; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n const hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n if (hasTransferMaps) {\n for (let k = 0; k < destPos; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n}\n\nfunction putBinaryImageMask(ctx, imgData) {\n if (imgData.bitmap) {\n ctx.drawImage(imgData.bitmap, 0, 0);\n return;\n }\n\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0;\n const src = imgData.data;\n const dest = chunkImgData.data;\n\n for (let i = 0; i < totalChunks; i++) {\n const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n ({\n srcPos\n } = (0, _image_utils.applyMaskImageData)({\n src,\n srcPos,\n dest,\n width,\n height: thisChunkHeight\n }));\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n}\n\nfunction copyCtxState(sourceCtx, destCtx) {\n const properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (let i = 0, ii = properties.length; i < ii; i++) {\n const property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n}\n\nfunction resetCtxToDefault(ctx, foregroundColor) {\n ctx.strokeStyle = ctx.fillStyle = foregroundColor || \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n}\n\nfunction composeSMaskBackdrop(bytes, r0, g0, b0) {\n const length = bytes.length;\n\n for (let i = 3; i < length; i += 4) {\n const alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n const alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n}\n\nfunction composeSMaskAlpha(maskData, layerData, transferMap) {\n const length = maskData.length;\n const scale = 1 / 255;\n\n for (let i = 3; i < length; i += 4) {\n const alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n}\n\nfunction composeSMaskLuminosity(maskData, layerData, transferMap) {\n const length = maskData.length;\n\n for (let i = 3; i < length; i += 4) {\n const y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n}\n\nfunction genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) {\n const hasBackdrop = !!backdrop;\n const r0 = hasBackdrop ? backdrop[0] : 0;\n const g0 = hasBackdrop ? backdrop[1] : 0;\n const b0 = hasBackdrop ? backdrop[2] : 0;\n let composeFn;\n\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n const PIXELS_TO_PROCESS = 1048576;\n const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (let row = 0; row < height; row += chunkSize) {\n const chunkHeight = Math.min(chunkSize, height - row);\n const maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight);\n const layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY);\n }\n}\n\nfunction composeSMask(ctx, smask, layerCtx, layerBox) {\n const layerOffsetX = layerBox[0];\n const layerOffsetY = layerBox[1];\n const layerWidth = layerBox[2] - layerOffsetX;\n const layerHeight = layerBox[3] - layerOffsetY;\n\n if (layerWidth === 0 || layerHeight === 0) {\n return;\n }\n\n genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY);\n ctx.save();\n ctx.globalAlpha = 1;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(layerCtx.canvas, 0, 0);\n ctx.restore();\n}\n\nfunction getImageSmoothingEnabled(transform, interpolate) {\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n\n scale[0] = Math.fround(scale[0]);\n scale[1] = Math.fround(scale[1]);\n const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n\n if (interpolate !== undefined) {\n return interpolate;\n } else if (scale[0] <= actualScale || scale[1] <= actualScale) {\n return true;\n }\n\n return false;\n}\n\nconst LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nconst LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nconst NORMAL_CLIP = {};\nconst EO_CLIP = {};\n\nclass CanvasGraphics {\n constructor(canvasCtx, commonObjs, objs, canvasFactory, imageLayer, optionalContentConfig, annotationCanvasMap, pageColors) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.suspendedCtx = null;\n this.contentVisible = true;\n this.markedContentStack = [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n this.cachedPatterns = new Map();\n this.annotationCanvasMap = annotationCanvasMap;\n this.viewportScale = 1;\n this.outputScaleX = 1;\n this.outputScaleY = 1;\n this.backgroundColor = pageColors?.background || null;\n this.foregroundColor = pageColors?.foreground || null;\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n this._cachedBitmapsMap = new Map();\n }\n\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n\n return fallback;\n }\n\n beginDrawing({\n transform,\n viewport,\n transparency = false,\n background = null\n }) {\n const width = this.ctx.canvas.width;\n const height = this.ctx.canvas.height;\n const defaultBackgroundColor = background || \"#ffffff\";\n this.ctx.save();\n\n if (this.foregroundColor && this.backgroundColor) {\n this.ctx.fillStyle = this.foregroundColor;\n const fg = this.foregroundColor = this.ctx.fillStyle;\n this.ctx.fillStyle = this.backgroundColor;\n const bg = this.backgroundColor = this.ctx.fillStyle;\n let isValidDefaultBg = true;\n let defaultBg = defaultBackgroundColor;\n this.ctx.fillStyle = defaultBackgroundColor;\n defaultBg = this.ctx.fillStyle;\n isValidDefaultBg = typeof defaultBg === \"string\" && /^#[0-9A-Fa-f]{6}$/.test(defaultBg);\n\n if (fg === \"#000000\" && bg === \"#ffffff\" || fg === bg || !isValidDefaultBg) {\n this.foregroundColor = this.backgroundColor = null;\n } else {\n const cB = parseInt(defaultBg.slice(1), 16);\n const rB = (cB && 0xff0000) >> 16;\n const gB = (cB && 0x00ff00) >> 8;\n const bB = cB && 0x0000ff;\n\n const newComp = x => {\n x /= 255;\n return x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;\n };\n\n const lumB = Math.round(0.2126 * newComp(rB) + 0.7152 * newComp(gB) + 0.0722 * newComp(bB));\n\n this.selectColor = (r, g, b) => {\n const lumC = 0.2126 * newComp(r) + 0.7152 * newComp(g) + 0.0722 * newComp(b);\n return Math.round(lumC) === lumB ? bg : fg;\n };\n }\n }\n\n this.ctx.fillStyle = this.backgroundColor || defaultBackgroundColor;\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n const transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx, this.foregroundColor);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n this.outputScaleX = transform[0];\n this.outputScaleY = transform[0];\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.viewportScale = viewport.scale;\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n }\n\n executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n let i = executionStartIdx || 0;\n const argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n let steps = 0;\n const commonObjs = this.commonObjs;\n const objs = this.objs;\n let fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n }\n\n endDrawing() {\n while (this.stateStack.length || this.inSMaskMode) {\n this.restore();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.cachedPatterns.clear();\n\n for (const cache of this._cachedBitmapsMap.values()) {\n for (const canvas of cache.values()) {\n if (typeof HTMLCanvasElement !== \"undefined\" && canvas instanceof HTMLCanvasElement) {\n canvas.width = canvas.height = 0;\n }\n }\n\n cache.clear();\n }\n\n this._cachedBitmapsMap.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n }\n\n _scaleImage(img, inverseTransform) {\n const width = img.width;\n const height = img.height;\n let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1);\n let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1);\n let paintWidth = width,\n paintHeight = height;\n let tmpCanvasId = \"prescale1\";\n let tmpCanvas, tmpCtx;\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n let newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight, false);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n img = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n\n return {\n img,\n paintWidth,\n paintHeight\n };\n }\n\n _createMaskCanvas(img) {\n const ctx = this.ctx;\n const {\n width,\n height\n } = img;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n const currentTransform = ctx.mozCurrentTransform;\n let cache, cacheKey, scaled, maskCanvas;\n\n if ((img.bitmap || img.data) && img.count > 1) {\n const mainKey = img.bitmap || img.data.buffer;\n const withoutTranslation = currentTransform.slice(0, 4);\n cacheKey = JSON.stringify(isPatternFill ? withoutTranslation : [withoutTranslation, fillColor]);\n cache = this._cachedBitmapsMap.get(mainKey);\n\n if (!cache) {\n cache = new Map();\n\n this._cachedBitmapsMap.set(mainKey, cache);\n }\n\n const cachedImage = cache.get(cacheKey);\n\n if (cachedImage && !isPatternFill) {\n const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]);\n const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]);\n return {\n canvas: cachedImage,\n offsetX,\n offsetY\n };\n }\n\n scaled = cachedImage;\n }\n\n if (!scaled) {\n maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height, false);\n putBinaryImageMask(maskCanvas.context, img);\n }\n\n let maskToCanvas = _util.Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]);\n\n maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]);\n\n const cord1 = _util.Util.applyTransform([0, 0], maskToCanvas);\n\n const cord2 = _util.Util.applyTransform([width, height], maskToCanvas);\n\n const rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]);\n\n const drawnWidth = Math.round(rect[2] - rect[0]) || 1;\n const drawnHeight = Math.round(rect[3] - rect[1]) || 1;\n const fillCanvas = this.cachedCanvases.getCanvas(\"fillCanvas\", drawnWidth, drawnHeight, true);\n const fillCtx = fillCanvas.context;\n const offsetX = Math.min(cord1[0], cord2[0]);\n const offsetY = Math.min(cord1[1], cord2[1]);\n fillCtx.translate(-offsetX, -offsetY);\n fillCtx.transform.apply(fillCtx, maskToCanvas);\n\n if (!scaled) {\n scaled = this._scaleImage(maskCanvas.canvas, fillCtx.mozCurrentTransformInverse);\n scaled = scaled.img;\n\n if (cache && isPatternFill) {\n cache.set(cacheKey, scaled);\n }\n }\n\n fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled(fillCtx.mozCurrentTransform, img.interpolate);\n drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height);\n fillCtx.globalCompositeOperation = \"source-in\";\n\n const inverse = _util.Util.transform(fillCtx.mozCurrentTransformInverse, [1, 0, 0, 1, -offsetX, -offsetY]);\n\n fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor;\n fillCtx.fillRect(0, 0, width, height);\n\n if (cache && !isPatternFill) {\n this.cachedCanvases.delete(\"fillCanvas\");\n cache.set(cacheKey, fillCanvas.canvas);\n }\n\n return {\n canvas: fillCanvas.canvas,\n offsetX: Math.round(offsetX),\n offsetY: Math.round(offsetY)\n };\n }\n\n setLineWidth(width) {\n if (width !== this.current.lineWidth) {\n this._cachedScaleForStroking = null;\n }\n\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n }\n\n setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n }\n\n setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n }\n\n setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n }\n\n setDash(dashArray, dashPhase) {\n const ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n }\n\n setRenderingIntent(intent) {}\n\n setFlatness(flatness) {}\n\n setGState(states) {\n for (let i = 0, ii = states.length; i < ii; i++) {\n const state = states[i];\n const key = state[0];\n const value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\n case \"SMask\":\n this.current.activeSMask = value ? this.tempSMask : null;\n this.tempSMask = null;\n this.checkSMaskState();\n break;\n\n case \"TR\":\n this.current.transferMaps = value;\n }\n }\n }\n\n get inSMaskMode() {\n return !!this.suspendedCtx;\n }\n\n checkSMaskState() {\n const inSMaskMode = this.inSMaskMode;\n\n if (this.current.activeSMask && !inSMaskMode) {\n this.beginSMaskMode();\n } else if (!this.current.activeSMask && inSMaskMode) {\n this.endSMaskMode();\n }\n }\n\n beginSMaskMode() {\n if (this.inSMaskMode) {\n throw new Error(\"beginSMaskMode called while already in smask mode\");\n }\n\n const drawnWidth = this.ctx.canvas.width;\n const drawnHeight = this.ctx.canvas.height;\n const cacheId = \"smaskGroupAt\" + this.groupLevel;\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n this.suspendedCtx = this.ctx;\n this.ctx = scratchCanvas.context;\n const ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.suspendedCtx.mozCurrentTransform);\n copyCtxState(this.suspendedCtx, ctx);\n mirrorContextOperations(ctx, this.suspendedCtx);\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n }\n\n endSMaskMode() {\n if (!this.inSMaskMode) {\n throw new Error(\"endSMaskMode called while not in smask mode\");\n }\n\n this.ctx._removeMirroring();\n\n copyCtxState(this.ctx, this.suspendedCtx);\n this.ctx = this.suspendedCtx;\n this.suspendedCtx = null;\n }\n\n compose(dirtyBox) {\n if (!this.current.activeSMask) {\n return;\n }\n\n if (!dirtyBox) {\n dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height];\n } else {\n dirtyBox[0] = Math.floor(dirtyBox[0]);\n dirtyBox[1] = Math.floor(dirtyBox[1]);\n dirtyBox[2] = Math.ceil(dirtyBox[2]);\n dirtyBox[3] = Math.ceil(dirtyBox[3]);\n }\n\n const smask = this.current.activeSMask;\n const suspendedCtx = this.suspendedCtx;\n composeSMask(suspendedCtx, smask, this.ctx, dirtyBox);\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);\n this.ctx.restore();\n }\n\n save() {\n if (this.inSMaskMode) {\n copyCtxState(this.ctx, this.suspendedCtx);\n this.suspendedCtx.save();\n } else {\n this.ctx.save();\n }\n\n const old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n }\n\n restore() {\n if (this.stateStack.length === 0 && this.inSMaskMode) {\n this.endSMaskMode();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n\n if (this.inSMaskMode) {\n this.suspendedCtx.restore();\n copyCtxState(this.suspendedCtx, this.ctx);\n } else {\n this.ctx.restore();\n }\n\n this.checkSMaskState();\n this.pendingClip = null;\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n }\n }\n\n transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n }\n\n constructPath(ops, args, minMax) {\n const ctx = this.ctx;\n const current = this.current;\n let x = current.x,\n y = current.y;\n let startX, startY;\n const currentTransform = ctx.mozCurrentTransform;\n const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0;\n const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null;\n\n for (let i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n ctx.moveTo(x, y);\n\n if (width === 0 || height === 0) {\n ctx.lineTo(xw, yh);\n } else {\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n }\n\n if (!isScalingMatrix) {\n current.updateRectMinMax(currentTransform, [x, y, xw, yh]);\n }\n\n ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n\n break;\n\n case _util.OPS.curveTo:\n startX = x;\n startY = y;\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n startX = x;\n startY = y;\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n startX = x;\n startY = y;\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n if (isScalingMatrix) {\n current.updateScalingPathMinMax(currentTransform, minMaxForBezier);\n }\n\n current.setCurrentPoint(x, y);\n }\n\n closePath() {\n this.ctx.closePath();\n }\n\n stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n const ctx = this.ctx;\n const strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (this.contentVisible) {\n if (typeof strokeColor === \"object\" && strokeColor?.getPattern) {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.STROKE);\n this.rescaleAndStroke(false);\n ctx.restore();\n } else {\n this.rescaleAndStroke(true);\n }\n }\n\n if (consumePath) {\n this.consumePath(this.current.getClippedPathBoundingBox());\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n }\n\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n\n fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n let needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n ctx.fillStyle = fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL);\n needRestore = true;\n }\n\n const intersect = this.current.getClippedPathBoundingBox();\n\n if (this.contentVisible && intersect !== null) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath(intersect);\n }\n }\n\n eoFill() {\n this.pendingEOFill = true;\n this.fill();\n }\n\n fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n }\n\n eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n }\n\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n\n closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n }\n\n endPath() {\n this.consumePath();\n }\n\n clip() {\n this.pendingClip = NORMAL_CLIP;\n }\n\n eoClip() {\n this.pendingClip = EO_CLIP;\n }\n\n beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n\n endText() {\n const paths = this.pendingTextPaths;\n const ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (let i = 0; i < paths.length; i++) {\n const path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n }\n\n setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n }\n\n setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n }\n\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n\n setLeading(leading) {\n this.current.leading = -leading;\n }\n\n setFont(fontRefName, size) {\n const fontObj = this.commonObjs.get(fontRefName);\n const current = this.current;\n\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n const name = fontObj.loadedName || \"sans-serif\";\n let bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n const typeface = `\"${name}\", ${fontObj.fallbackName}`;\n let browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n }\n\n setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n }\n\n setTextRise(rise) {\n this.current.textRise = rise;\n }\n\n moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n }\n\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n\n setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.hypot(a, b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n\n paintChar(character, x, y, patternTransform) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const textRenderingMode = current.textRenderingMode;\n const fontSize = current.fontSize / current.fontSizeScale;\n const fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n const isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n const patternFill = current.patternFill && !font.missingFile;\n let addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n const paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x,\n y,\n fontSize,\n addToPath\n });\n }\n }\n\n get isFontSubpixelAAEnabled() {\n const {\n context: ctx\n } = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10, false);\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n const data = ctx.getImageData(0, 0, 10, 10).data;\n let enabled = false;\n\n for (let i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n }\n\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n const fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n const ctx = this.ctx;\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const glyphsLength = glyphs.length;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n const simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n let patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n let lineWidth = current.lineWidth;\n const scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n lineWidth = this.getSinglePixelWidth();\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n let x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n const glyph = glyphs[i];\n\n if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n let restoreNeeded = false;\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n const accent = glyph.accent;\n let scaledX, scaledY;\n let width = glyph.width;\n\n if (vertical) {\n const vmetric = glyph.vmetric || defaultVMetrics;\n const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n const characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n let charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n this.compose();\n return undefined;\n }\n\n showType3Text(glyphs) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n const fontDirection = current.fontDirection;\n const spacingDir = font.vertical ? 1 : -1;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const textHScale = current.textHScale * fontDirection;\n const fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n const glyphsLength = glyphs.length;\n const isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n let i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if (typeof glyph === \"number\") {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n\n const transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n }\n\n setCharWidth(xWidth, yWidth) {}\n\n setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.ctx.clip();\n this.endPath();\n }\n\n getColorN_Pattern(IR) {\n let pattern;\n\n if (IR[0] === \"TilingPattern\") {\n const color = IR[1];\n const baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n const canvasGraphicsFactory = {\n createCanvasGraphics: ctx => {\n return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = this._getPattern(IR[1], IR[2]);\n }\n\n return pattern;\n }\n\n setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n }\n\n setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n }\n\n setStrokeRGBColor(r, g, b) {\n const color = this.selectColor?.(r, g, b) || _util.Util.makeHexColor(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n }\n\n setFillRGBColor(r, g, b) {\n const color = this.selectColor?.(r, g, b) || _util.Util.makeHexColor(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n }\n\n _getPattern(objId, matrix = null) {\n let pattern;\n\n if (this.cachedPatterns.has(objId)) {\n pattern = this.cachedPatterns.get(objId);\n } else {\n pattern = (0, _pattern_helper.getShadingPattern)(this.objs.get(objId));\n this.cachedPatterns.set(objId, pattern);\n }\n\n if (matrix) {\n pattern.matrix = matrix;\n }\n\n return pattern;\n }\n\n shadingFill(objId) {\n if (!this.contentVisible) {\n return;\n }\n\n const ctx = this.ctx;\n this.save();\n\n const pattern = this._getPattern(objId);\n\n ctx.fillStyle = pattern.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.SHADING);\n const inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n const canvas = ctx.canvas;\n const width = canvas.width;\n const height = canvas.height;\n\n const bl = _util.Util.applyTransform([0, 0], inv);\n\n const br = _util.Util.applyTransform([0, height], inv);\n\n const ul = _util.Util.applyTransform([width, 0], inv);\n\n const ur = _util.Util.applyTransform([width, height], inv);\n\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.compose(this.current.getClippedPathBoundingBox());\n this.restore();\n }\n\n beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n }\n\n beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n }\n\n paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.current.updateRectMinMax(this.ctx.mozCurrentTransform, bbox);\n this.clip();\n this.endPath();\n }\n }\n\n paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n }\n\n beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n\n if (this.inSMaskMode) {\n this.endSMaskMode();\n this.current.activeSMask = null;\n }\n\n const currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n\n const currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n let bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n const offsetX = Math.floor(bounds[0]);\n const offsetY = Math.floor(bounds[1]);\n let drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n let drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n let scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]);\n let cacheId = \"groupAt\" + this.groupLevel;\n\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n const groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n scaleX,\n scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n currentCtx.save();\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n }\n\n endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.groupLevel--;\n const groupCtx = this.ctx;\n const ctx = this.groupStack.pop();\n this.ctx = ctx;\n this.ctx.imageSmoothingEnabled = false;\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n this.restore();\n } else {\n this.ctx.restore();\n const currentMtx = this.ctx.mozCurrentTransform;\n this.restore();\n this.ctx.save();\n this.ctx.setTransform.apply(this.ctx, currentMtx);\n\n const dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx);\n\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n this.ctx.restore();\n this.compose(dirtyBox);\n }\n }\n\n beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n }\n\n endAnnotations() {\n this.restore();\n }\n\n beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) {\n this.save();\n\n if (Array.isArray(rect) && rect.length === 4) {\n const width = rect[2] - rect[0];\n const height = rect[3] - rect[1];\n\n if (hasOwnCanvas && this.annotationCanvasMap) {\n transform = transform.slice();\n transform[4] -= rect[0];\n transform[5] -= rect[1];\n rect = rect.slice();\n rect[0] = rect[1] = 0;\n rect[2] = width;\n rect[3] = height;\n\n const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale(this.ctx.mozCurrentTransform);\n\n const {\n viewportScale\n } = this;\n const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale);\n const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale);\n this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight);\n const {\n canvas,\n context\n } = this.annotationCanvas;\n const viewportScaleFactorStr = `var(--zoom-factor) * ${_display_utils.PixelsPerInch.PDF_TO_CSS_UNITS}`;\n canvas.style.width = `calc(${width}px * ${viewportScaleFactorStr})`;\n canvas.style.height = `calc(${height}px * ${viewportScaleFactorStr})`;\n this.annotationCanvasMap.set(id, canvas);\n this.annotationCanvas.savedCtx = this.ctx;\n this.ctx = context;\n this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY);\n addContextCurrentTransform(this.ctx);\n resetCtxToDefault(this.ctx, this.foregroundColor);\n } else {\n resetCtxToDefault(this.ctx, this.foregroundColor);\n this.ctx.rect(rect[0], rect[1], width, height);\n this.ctx.clip();\n this.endPath();\n }\n }\n\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n }\n\n endAnnotation() {\n if (this.annotationCanvas) {\n this.ctx = this.annotationCanvas.savedCtx;\n delete this.annotationCanvas.savedCtx;\n delete this.annotationCanvas;\n }\n\n this.restore();\n }\n\n paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n\n const count = img.count;\n img = this.getObject(img.data, img);\n img.count = count;\n const ctx = this.ctx;\n const glyph = this.processingType3;\n\n if (glyph) {\n if (glyph.compiled === undefined) {\n glyph.compiled = compileType3Glyph(img);\n }\n\n if (glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n }\n\n const mask = this._createMaskCanvas(img);\n\n const maskCanvas = mask.canvas;\n ctx.save();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY);\n ctx.restore();\n this.compose();\n }\n\n paintImageMaskXObjectRepeat(img, scaleX, skewX = 0, skewY = 0, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n\n img = this.getObject(img.data, img);\n const ctx = this.ctx;\n ctx.save();\n const currentTransform = ctx.mozCurrentTransform;\n ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0);\n\n const mask = this._createMaskCanvas(img);\n\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n const trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]);\n\n const [x, y] = _util.Util.applyTransform([0, 0], trans);\n\n ctx.drawImage(mask.canvas, x, y);\n }\n\n ctx.restore();\n this.compose();\n }\n\n paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n\n for (let i = 0, ii = images.length; i < ii; i++) {\n const image = images[i];\n const width = image.width,\n height = image.height;\n const maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height, false);\n const maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n\n this.compose();\n }\n\n paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n\n const imgData = this.getObject(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n\n paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n\n const imgData = this.getObject(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n const width = imgData.width;\n const height = imgData.height;\n const map = [];\n\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n }\n\n paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n\n const width = imgData.width;\n const height = imgData.height;\n const ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n let imgToPaint;\n\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height, false);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n imgToPaint = tmpCanvas.canvas;\n }\n\n const scaled = this._scaleImage(imgToPaint, ctx.mozCurrentTransformInverse);\n\n ctx.imageSmoothingEnabled = getImageSmoothingEnabled(ctx.mozCurrentTransform, imgData.interpolate);\n const [rWidth, rHeight] = drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n const position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: rWidth,\n height: rHeight\n });\n }\n\n this.compose();\n this.restore();\n }\n\n paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n\n const ctx = this.ctx;\n const w = imgData.width;\n const h = imgData.height;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h, false);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n\n for (let i = 0, ii = map.length; i < ii; i++) {\n const entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n const position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n\n this.compose();\n }\n\n paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n\n this.ctx.fillRect(0, 0, 1, 1);\n this.compose();\n }\n\n markPoint(tag) {}\n\n markPointProps(tag, properties) {}\n\n beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n }\n\n beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n\n this.contentVisible = this.isContentVisible();\n }\n\n endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n }\n\n beginCompat() {}\n\n endCompat() {}\n\n consumePath(clipBox) {\n const isEmpty = this.current.isEmptyClip();\n\n if (this.pendingClip) {\n this.current.updateClipFromPath();\n }\n\n if (!this.pendingClip) {\n this.compose(clipBox);\n }\n\n const ctx = this.ctx;\n\n if (this.pendingClip) {\n if (!isEmpty) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n }\n\n this.pendingClip = null;\n }\n\n this.current.startNewPathAndClipBox(this.current.clipBox);\n ctx.beginPath();\n }\n\n getSinglePixelWidth() {\n if (!this._cachedGetSinglePixelWidth) {\n const m = this.ctx.mozCurrentTransform;\n\n if (m[1] === 0 && m[2] === 0) {\n this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3]));\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[2]);\n const normY = Math.hypot(m[1], m[3]);\n this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet;\n }\n }\n\n return this._cachedGetSinglePixelWidth;\n }\n\n getScaleForStroking() {\n if (!this._cachedScaleForStroking) {\n const {\n lineWidth\n } = this.current;\n const m = this.ctx.mozCurrentTransform;\n let scaleX, scaleY;\n\n if (m[1] === 0 && m[2] === 0) {\n const normX = Math.abs(m[0]);\n const normY = Math.abs(m[3]);\n\n if (lineWidth === 0) {\n scaleX = 1 / normX;\n scaleY = 1 / normY;\n } else {\n const scaledXLineWidth = normX * lineWidth;\n const scaledYLineWidth = normY * lineWidth;\n scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1;\n scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1;\n }\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[1]);\n const normY = Math.hypot(m[2], m[3]);\n\n if (lineWidth === 0) {\n scaleX = normY / absDet;\n scaleY = normX / absDet;\n } else {\n const baseArea = lineWidth * absDet;\n scaleX = normY > baseArea ? normY / baseArea : 1;\n scaleY = normX > baseArea ? normX / baseArea : 1;\n }\n }\n\n this._cachedScaleForStroking = [scaleX, scaleY];\n }\n\n return this._cachedScaleForStroking;\n }\n\n rescaleAndStroke(saveRestore) {\n const {\n ctx\n } = this;\n const {\n lineWidth\n } = this.current;\n const [scaleX, scaleY] = this.getScaleForStroking();\n ctx.lineWidth = lineWidth || 1;\n\n if (scaleX === 1 && scaleY === 1) {\n ctx.stroke();\n return;\n }\n\n let savedMatrix, savedDashes, savedDashOffset;\n\n if (saveRestore) {\n savedMatrix = ctx.mozCurrentTransform.slice();\n savedDashes = ctx.getLineDash().slice();\n savedDashOffset = ctx.lineDashOffset;\n }\n\n ctx.scale(scaleX, scaleY);\n const scale = Math.max(scaleX, scaleY);\n ctx.setLineDash(ctx.getLineDash().map(x => x / scale));\n ctx.lineDashOffset /= scale;\n ctx.stroke();\n\n if (saveRestore) {\n ctx.setTransform(...savedMatrix);\n ctx.setLineDash(savedDashes);\n ctx.lineDashOffset = savedDashOffset;\n }\n }\n\n getCanvasPosition(x, y) {\n const transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n\n isContentVisible() {\n for (let i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n\n return true;\n }\n\n}\n\nexports.CanvasGraphics = CanvasGraphics;\n\nfor (const op in _util.OPS) {\n if (CanvasGraphics.prototype[op] !== undefined) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n}\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TilingPattern = exports.PathType = void 0;\nexports.getShadingPattern = getShadingPattern;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nconst PathType = {\n FILL: \"Fill\",\n STROKE: \"Stroke\",\n SHADING: \"Shading\"\n};\nexports.PathType = PathType;\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || _is_node.isNodeJS) {\n return;\n }\n\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nclass BaseShadingPattern {\n constructor() {\n if (this.constructor === BaseShadingPattern) {\n (0, _util.unreachable)(\"Cannot initialize BaseShadingPattern.\");\n }\n }\n\n getPattern() {\n (0, _util.unreachable)(\"Abstract method `getPattern` called.\");\n }\n\n}\n\nclass RadialAxialShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._type = IR[1];\n this._bbox = IR[2];\n this._colorStops = IR[3];\n this._p0 = IR[4];\n this._p1 = IR[5];\n this._r0 = IR[6];\n this._r1 = IR[7];\n this.matrix = null;\n }\n\n _createGradient(ctx) {\n let grad;\n\n if (this._type === \"axial\") {\n grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]);\n } else if (this._type === \"radial\") {\n grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1);\n }\n\n for (const colorStop of this._colorStops) {\n grad.addColorStop(colorStop[0], colorStop[1]);\n }\n\n return grad;\n }\n\n getPattern(ctx, owner, inverse, pathType) {\n let pattern;\n\n if (pathType === PathType.STROKE || pathType === PathType.FILL) {\n const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, ctx.mozCurrentTransform) || [0, 0, 0, 0];\n const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1;\n const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1;\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", width, height, true);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.beginPath();\n tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]);\n inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]);\n tmpCtx.transform.apply(tmpCtx, owner.baseTransform);\n\n if (this.matrix) {\n tmpCtx.transform.apply(tmpCtx, this.matrix);\n }\n\n applyBoundingBox(tmpCtx, this._bbox);\n tmpCtx.fillStyle = this._createGradient(tmpCtx);\n tmpCtx.fill();\n pattern = ctx.createPattern(tmpCanvas.canvas, \"no-repeat\");\n const domMatrix = new DOMMatrix(inverse);\n\n try {\n pattern.setTransform(domMatrix);\n } catch (ex) {\n (0, _util.warn)(`RadialAxialShadingPattern.getPattern: \"${ex?.message}\".`);\n }\n } else {\n applyBoundingBox(ctx, this._bbox);\n pattern = this._createGradient(ctx);\n }\n\n return pattern;\n }\n\n}\n\nfunction drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n const coords = context.coords,\n colors = context.colors;\n const bytes = data.data,\n rowSize = data.width * 4;\n let tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n const x1 = (coords[p1] + context.offsetX) * context.scaleX;\n const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n const x2 = (coords[p2] + context.offsetX) * context.scaleX;\n const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n const x3 = (coords[p3] + context.offsetX) * context.scaleX;\n const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n const c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n const c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n const c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n const minY = Math.round(y1),\n maxY = Math.round(y3);\n let xa, car, cag, cab;\n let xb, cbr, cbg, cbb;\n\n for (let y = minY; y <= maxY; y++) {\n if (y < y2) {\n let k;\n\n if (y < y1) {\n k = 0;\n } else {\n k = (y1 - y) / (y1 - y2);\n }\n\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n\n let k;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n const x1_ = Math.round(Math.min(xa, xb));\n const x2_ = Math.round(Math.max(xa, xb));\n let j = rowSize * y + x1_ * 4;\n\n for (let x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n}\n\nfunction drawFigure(data, figure, context) {\n const ps = figure.coords;\n const cs = figure.colors;\n let i, ii;\n\n switch (figure.type) {\n case \"lattice\":\n const verticesPerRow = figure.verticesPerRow;\n const rows = Math.floor(ps.length / verticesPerRow) - 1;\n const cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n let q = i * verticesPerRow;\n\n for (let j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error(\"illegal figure\");\n }\n}\n\nclass MeshShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._coords = IR[2];\n this._colors = IR[3];\n this._figures = IR[4];\n this._bounds = IR[5];\n this._bbox = IR[7];\n this._background = IR[8];\n this.matrix = null;\n }\n\n _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) {\n const EXPECTED_SCALE = 1.1;\n const MAX_PATTERN_SIZE = 3000;\n const BORDER_SIZE = 2;\n const offsetX = Math.floor(this._bounds[0]);\n const offsetY = Math.floor(this._bounds[1]);\n const boundsWidth = Math.ceil(this._bounds[2]) - offsetX;\n const boundsHeight = Math.ceil(this._bounds[3]) - offsetY;\n const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const scaleX = boundsWidth / width;\n const scaleY = boundsHeight / height;\n const context = {\n coords: this._coords,\n colors: this._colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n const paddedWidth = width + BORDER_SIZE * 2;\n const paddedHeight = height + BORDER_SIZE * 2;\n const tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n const tmpCtx = tmpCanvas.context;\n const data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n const bytes = data.data;\n\n for (let i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (const figure of this._figures) {\n drawFigure(data, figure, context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n const canvas = tmpCanvas.canvas;\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY\n };\n }\n\n getPattern(ctx, owner, inverse, pathType) {\n applyBoundingBox(ctx, this._bbox);\n let scale;\n\n if (pathType === PathType.SHADING) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (this.matrix) {\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases);\n\n if (pathType !== PathType.SHADING) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (this.matrix) {\n ctx.transform.apply(ctx, this.matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n\n}\n\nclass DummyShadingPattern extends BaseShadingPattern {\n getPattern() {\n return \"hotpink\";\n }\n\n}\n\nfunction getShadingPattern(IR) {\n switch (IR[0]) {\n case \"RadialAxial\":\n return new RadialAxialShadingPattern(IR);\n\n case \"Mesh\":\n return new MeshShadingPattern(IR);\n\n case \"Dummy\":\n return new DummyShadingPattern();\n }\n\n throw new Error(`Unknown IR type: ${IR[0]}`);\n}\n\nconst PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n};\n\nclass TilingPattern {\n static get MAX_PATTERN_SIZE() {\n return (0, _util.shadow)(this, \"MAX_PATTERN_SIZE\", 3000);\n }\n\n constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.ctx = ctx;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n }\n\n createPatternCanvas(owner) {\n const operatorList = this.operatorList;\n const bbox = this.bbox;\n const xstep = this.xstep;\n const ystep = this.ystep;\n const paintType = this.paintType;\n const tilingType = this.tilingType;\n const color = this.color;\n const canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n const x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n const curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n const combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n const dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n const dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n const tmpCtx = tmpCanvas.context;\n const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n let adjustedX0 = x0;\n let adjustedY0 = y0;\n let adjustedX1 = x1;\n let adjustedY1 = y1;\n\n if (x0 < 0) {\n adjustedX0 = 0;\n adjustedX1 += Math.abs(x0);\n }\n\n if (y0 < 0) {\n adjustedY0 = 0;\n adjustedY1 += Math.abs(y0);\n }\n\n tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0));\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n tmpCtx.save();\n this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1);\n graphics.baseTransform = graphics.ctx.mozCurrentTransform.slice();\n graphics.executeOperatorList(operatorList);\n graphics.endDrawing();\n return {\n canvas: tmpCanvas.canvas,\n scaleX: dimx.scale,\n scaleY: dimy.scale,\n offsetX: adjustedX0,\n offsetY: adjustedY0\n };\n }\n\n getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize);\n let size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale,\n size\n };\n }\n\n clipBbox(graphics, x0, y0, x1, y1) {\n const bboxWidth = x1 - x0;\n const bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.current.updateRectMinMax(graphics.ctx.mozCurrentTransform, [x0, y0, x1, y1]);\n graphics.clip();\n graphics.endPath();\n }\n\n setFillAndStrokeStyleToContext(graphics, paintType, color) {\n const context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n const ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n const cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(`Unsupported paint type: ${paintType}`);\n }\n }\n\n getPattern(ctx, owner, inverse, pathType) {\n let matrix = inverse;\n\n if (pathType !== PathType.SHADING) {\n matrix = _util.Util.transform(matrix, owner.baseTransform);\n\n if (this.matrix) {\n matrix = _util.Util.transform(matrix, this.matrix);\n }\n }\n\n const temporaryPatternCanvas = this.createPatternCanvas(owner);\n let domMatrix = new DOMMatrix(matrix);\n domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY);\n const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, \"repeat\");\n\n try {\n pattern.setTransform(domMatrix);\n } catch (ex) {\n (0, _util.warn)(`TilingPattern.getPattern: \"${ex?.message}\".`);\n }\n\n return pattern;\n }\n\n}\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 12 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.applyMaskImageData = applyMaskImageData;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction applyMaskImageData({\n src,\n srcPos = 0,\n dest,\n destPos = 0,\n width,\n height,\n inverseDecode = false\n}) {\n const opaque = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n const [zeroMapping, oneMapping] = !inverseDecode ? [opaque, 0] : [0, opaque];\n const widthInSource = width >> 3;\n const widthRemainder = width & 7;\n const srcLength = src.length;\n dest = new Uint32Array(dest.buffer);\n\n for (let i = 0; i < height; i++) {\n for (const max = srcPos + widthInSource; srcPos < max; srcPos++) {\n const elem = srcPos < srcLength ? src[srcPos] : 255;\n dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping;\n }\n\n if (widthRemainder === 0) {\n continue;\n }\n\n const elem = srcPos < srcLength ? src[srcPos++] : 255;\n\n for (let j = 0; j < widthRemainder; j++) {\n dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping;\n }\n }\n\n return {\n srcPos,\n destPos\n };\n}\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GlobalWorkerOptions = void 0;\nconst GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MessageHandler = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n if (!(reason instanceof Error || typeof reason === \"object\" && reason !== null)) {\n (0, _util.unreachable)('wrapReason: Expected \"reason\" to be a (possibly cloned) Error.');\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"PasswordException\":\n return new _util.PasswordException(reason.message, reason.code);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = event => {\n const data = event.data;\n\n if (data.targetName !== this.sourceName) {\n return;\n }\n\n if (data.stream) {\n this._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n\n delete this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n const action = this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n on(actionName, handler) {\n const ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n\n ah[actionName] = handler;\n }\n\n send(actionName, data, transfers) {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++,\n sourceName = this.sourceName,\n targetName = this.targetName,\n comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n comObj.postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n\n _createStreamSink(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const self = this,\n action = this.actionHandler[data.action];\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n\n close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n\n error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n\n _processStreamMessage(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const streamController = this.streamControllers[streamId],\n streamSink = this.streamSinks[streamId];\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n streamController.startCall.resolve();\n } else {\n streamController.startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n streamController.pullCall.resolve();\n } else {\n streamController.pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!streamSink) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n\n if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {\n streamSink.sinkCapability.resolve();\n }\n\n streamSink.desiredSize = data.desiredSize;\n new Promise(function (resolve) {\n resolve(streamSink.onPull && streamSink.onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(streamController, \"enqueue should have stream controller\");\n\n if (streamController.isClosed) {\n break;\n }\n\n streamController.controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(streamController, \"close should have stream controller\");\n\n if (streamController.isClosed) {\n break;\n }\n\n streamController.isClosed = true;\n streamController.controller.close();\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(streamController, \"error should have stream controller\");\n streamController.controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n streamController.cancelCall.resolve();\n } else {\n streamController.cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!streamSink) {\n break;\n }\n\n new Promise(function (resolve) {\n resolve(streamSink.onCancel && streamSink.onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n streamSink.sinkCapability.reject(wrapReason(data.reason));\n streamSink.isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n\n async _deleteStreamController(streamController, streamId) {\n await Promise.allSettled([streamController.startCall && streamController.startCall.promise, streamController.pullCall && streamController.pullCall.promise, streamController.cancelCall && streamController.cancelCall.promise]);\n delete this.streamControllers[streamId];\n }\n\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n\n}\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 15 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass Metadata {\n #metadataMap;\n #data;\n\n constructor({\n parsedData,\n rawData\n }) {\n this.#metadataMap = parsedData;\n this.#data = rawData;\n }\n\n getRaw() {\n return this.#data;\n }\n\n get(name) {\n return this.#metadataMap.get(name) ?? null;\n }\n\n getAll() {\n return (0, _util.objectFromMap)(this.#metadataMap);\n }\n\n has(name) {\n return this.#metadataMap.has(name);\n }\n\n}\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 16 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OptionalContentConfig = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass OptionalContentGroup {\n constructor(name, intent) {\n this.visible = true;\n this.name = name;\n this.intent = intent;\n }\n\n}\n\nclass OptionalContentConfig {\n constructor(data) {\n this.name = null;\n this.creator = null;\n this._order = null;\n this._groups = new Map();\n\n if (data === null) {\n return;\n }\n\n this.name = data.name;\n this.creator = data.creator;\n this._order = data.order;\n\n for (const group of data.groups) {\n this._groups.set(group.id, new OptionalContentGroup(group.name, group.intent));\n }\n\n if (data.baseState === \"OFF\") {\n for (const group of this._groups) {\n group.visible = false;\n }\n }\n\n for (const on of data.on) {\n this._groups.get(on).visible = true;\n }\n\n for (const off of data.off) {\n this._groups.get(off).visible = false;\n }\n }\n\n _evaluateVisibilityExpression(array) {\n const length = array.length;\n\n if (length < 2) {\n return true;\n }\n\n const operator = array[0];\n\n for (let i = 1; i < length; i++) {\n const element = array[i];\n let state;\n\n if (Array.isArray(element)) {\n state = this._evaluateVisibilityExpression(element);\n } else if (this._groups.has(element)) {\n state = this._groups.get(element).visible;\n } else {\n (0, _util.warn)(`Optional content group not found: ${element}`);\n return true;\n }\n\n switch (operator) {\n case \"And\":\n if (!state) {\n return false;\n }\n\n break;\n\n case \"Or\":\n if (state) {\n return true;\n }\n\n break;\n\n case \"Not\":\n return !state;\n\n default:\n return true;\n }\n }\n\n return operator === \"And\";\n }\n\n isVisible(group) {\n if (this._groups.size === 0) {\n return true;\n }\n\n if (!group) {\n (0, _util.warn)(\"Optional content group not defined.\");\n return true;\n }\n\n if (group.type === \"OCG\") {\n if (!this._groups.has(group.id)) {\n (0, _util.warn)(`Optional content group not found: ${group.id}`);\n return true;\n }\n\n return this._groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n return this._evaluateVisibilityExpression(group.expression);\n }\n\n if (!group.policy || group.policy === \"AnyOn\") {\n for (const id of group.ids) {\n if (!this._groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (this._groups.get(id).visible) {\n return true;\n }\n }\n\n return false;\n } else if (group.policy === \"AllOn\") {\n for (const id of group.ids) {\n if (!this._groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (!this._groups.get(id).visible) {\n return false;\n }\n }\n\n return true;\n } else if (group.policy === \"AnyOff\") {\n for (const id of group.ids) {\n if (!this._groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (!this._groups.get(id).visible) {\n return true;\n }\n }\n\n return false;\n } else if (group.policy === \"AllOff\") {\n for (const id of group.ids) {\n if (!this._groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (this._groups.get(id).visible) {\n return false;\n }\n }\n\n return true;\n }\n\n (0, _util.warn)(`Unknown optional content policy ${group.policy}.`);\n return true;\n }\n\n (0, _util.warn)(`Unknown group type ${group.type}.`);\n return true;\n }\n\n setVisibility(id, visible = true) {\n if (!this._groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return;\n }\n\n this._groups.get(id).visible = !!visible;\n }\n\n getOrder() {\n if (!this._groups.size) {\n return null;\n }\n\n if (this._order) {\n return this._order.slice();\n }\n\n return Array.from(this._groups.keys());\n }\n\n getGroups() {\n return this._groups.size > 0 ? (0, _util.objectFromMap)(this._groups) : null;\n }\n\n getGroup(id) {\n return this._groups.get(id) || null;\n }\n\n}\n\nexports.OptionalContentConfig = OptionalContentConfig;\n\n/***/ }),\n/* 17 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFDataTransportStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(5);\n\nclass PDFDataTransportStream {\n constructor(params, pdfDataRangeTransport) {\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n this._contentDispositionFilename = params.contentDispositionFilename || null;\n const initialData = params.initialData;\n\n if (initialData?.length > 0) {\n const buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({\n begin,\n chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({\n loaded,\n total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({\n chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _onReceiveData(args) {\n const buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n\n _onProgress(evt) {\n if (evt.total === undefined) {\n const firstReader = this._rangeReaders[0];\n\n if (firstReader?.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n const fullReader = this._fullRequestReader;\n\n if (fullReader?.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n\n _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename);\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n for (const reader of this._rangeReaders.slice(0)) {\n reader.cancel(reason);\n }\n\n this._pdfDataRangeTransport.abort();\n }\n\n}\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks, progressiveDone = false, contentDispositionFilename = null) {\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n\n get headersReady() {\n return this._headersReady;\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n\n get contentLength() {\n return this._stream._contentLength;\n }\n\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n }\n\n progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n\n}\n\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n this._stream._removeRangeReader(this);\n }\n\n}\n\n/***/ }),\n/* 18 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaText = void 0;\n\nclass XfaText {\n static textContent(xfa) {\n const items = [];\n const output = {\n items,\n styles: Object.create(null)\n };\n\n function walk(node) {\n if (!node) {\n return;\n }\n\n let str = null;\n const name = node.name;\n\n if (name === \"#text\") {\n str = node.value;\n } else if (!XfaText.shouldBuildText(name)) {\n return;\n } else if (node?.attributes?.textContent) {\n str = node.attributes.textContent;\n } else if (node.value) {\n str = node.value;\n }\n\n if (str !== null) {\n items.push({\n str\n });\n }\n\n if (!node.children) {\n return;\n }\n\n for (const child of node.children) {\n walk(child);\n }\n }\n\n walk(xfa);\n return output;\n }\n\n static shouldBuildText(name) {\n return !(name === \"textarea\" || name === \"input\" || name === \"option\" || name === \"select\");\n }\n\n}\n\nexports.XfaText = XfaText;\n\n/***/ }),\n/* 19 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NodeStandardFontDataFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0;\n\nvar _base_factory = __w_pdfjs_require__(6);\n\n;\n\nconst fetchData = function (url) {\n return new Promise((resolve, reject) => {\n const fs = require(\"fs\");\n\n fs.readFile(url, (error, data) => {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n\n resolve(new Uint8Array(data));\n });\n });\n};\n\nclass NodeCanvasFactory extends _base_factory.BaseCanvasFactory {\n _createCanvas(width, height) {\n const Canvas = require(\"canvas\");\n\n return Canvas.createCanvas(width, height);\n }\n\n}\n\nexports.NodeCanvasFactory = NodeCanvasFactory;\n\nclass NodeCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n\n}\n\nexports.NodeCMapReaderFactory = NodeCMapReaderFactory;\n\nclass NodeStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url);\n }\n\n}\n\nexports.NodeStandardFontDataFactory = NodeStandardFontDataFactory;\n\n/***/ }),\n/* 20 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationLayer = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(5);\n\nvar _annotation_storage = __w_pdfjs_require__(8);\n\nvar _scripting_utils = __w_pdfjs_require__(21);\n\nvar _xfa_layer = __w_pdfjs_require__(22);\n\nconst DEFAULT_TAB_INDEX = 1000;\nconst GetElementsByNameSet = new WeakSet();\n\nfunction getRectDims(rect) {\n return {\n width: rect[2] - rect[0],\n height: rect[3] - rect[1]\n };\n}\n\nclass AnnotationElementFactory {\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n\n}\n\nclass AnnotationElement {\n constructor(parameters, {\n isRenderable = false,\n ignoreBorder = false,\n createQuadrilaterals = false\n } = {}) {\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderForms = parameters.renderForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n this.enableScripting = parameters.enableScripting;\n this.hasJSActions = parameters.hasJSActions;\n this._fieldObjects = parameters.fieldObjects;\n this._mouseState = parameters.mouseState;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n\n if (createQuadrilaterals) {\n this.quadrilaterals = this._createQuadrilaterals(ignoreBorder);\n }\n }\n\n _createContainer(ignoreBorder = false) {\n const data = this.data,\n page = this.page,\n viewport = this.viewport;\n const container = document.createElement(\"section\");\n let {\n width,\n height\n } = getRectDims(data.rect);\n container.setAttribute(\"data-annotation-id\", data.id);\n\n const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n if (data.hasOwnCanvas) {\n const transform = viewport.transform.slice();\n\n const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale(transform);\n\n width = Math.ceil(width * scaleX);\n height = Math.ceil(height * scaleY);\n rect[0] *= scaleX;\n rect[1] *= scaleY;\n\n for (let i = 0; i < 4; i++) {\n transform[i] = Math.sign(transform[i]);\n }\n\n container.style.transform = `matrix(${transform.join(\",\")})`;\n } else {\n container.style.transform = `matrix(${viewport.transform.join(\",\")})`;\n }\n\n container.style.transformOrigin = `${-rect[0]}px ${-rect[1]}px`;\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = `${data.borderStyle.width}px`;\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width -= 2 * data.borderStyle.width;\n height -= 2 * data.borderStyle.width;\n }\n\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `${horizontalRadius}px / ${verticalRadius}px`;\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n const borderColor = data.borderColor || data.color || null;\n\n if (borderColor) {\n container.style.borderColor = _util.Util.makeHexColor(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = `${rect[0]}px`;\n container.style.top = `${rect[1]}px`;\n\n if (data.hasOwnCanvas) {\n container.style.width = container.style.height = \"auto\";\n } else {\n container.style.width = `${width}px`;\n container.style.height = `${height}px`;\n }\n\n return container;\n }\n\n get _commonActions() {\n const setColor = (jsName, styleName, event) => {\n const color = event.detail[jsName];\n event.target.style[styleName] = _scripting_utils.ColorConverters[`${color[0]}_HTML`](color.slice(1));\n };\n\n return (0, _util.shadow)(this, \"_commonActions\", {\n display: event => {\n const hidden = event.detail.display % 2 === 1;\n event.target.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n hidden,\n print: event.detail.display === 0 || event.detail.display === 3\n });\n },\n print: event => {\n this.annotationStorage.setValue(this.data.id, {\n print: event.detail.print\n });\n },\n hidden: event => {\n event.target.style.visibility = event.detail.hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n hidden: event.detail.hidden\n });\n },\n focus: event => {\n setTimeout(() => event.target.focus({\n preventScroll: false\n }), 0);\n },\n userName: event => {\n event.target.title = event.detail.userName;\n },\n readonly: event => {\n if (event.detail.readonly) {\n event.target.setAttribute(\"readonly\", \"\");\n } else {\n event.target.removeAttribute(\"readonly\");\n }\n },\n required: event => {\n if (event.detail.required) {\n event.target.setAttribute(\"required\", \"\");\n } else {\n event.target.removeAttribute(\"required\");\n }\n },\n bgColor: event => {\n setColor(\"bgColor\", \"backgroundColor\", event);\n },\n fillColor: event => {\n setColor(\"fillColor\", \"backgroundColor\", event);\n },\n fgColor: event => {\n setColor(\"fgColor\", \"color\", event);\n },\n textColor: event => {\n setColor(\"textColor\", \"color\", event);\n },\n borderColor: event => {\n setColor(\"borderColor\", \"borderColor\", event);\n },\n strokeColor: event => {\n setColor(\"strokeColor\", \"borderColor\", event);\n }\n });\n }\n\n _dispatchEventFromSandbox(actions, jsEvent) {\n const commonActions = this._commonActions;\n\n for (const name of Object.keys(jsEvent.detail)) {\n const action = actions[name] || commonActions[name];\n\n if (action) {\n action(jsEvent);\n }\n }\n }\n\n _setDefaultPropertiesFromJS(element) {\n if (!this.enableScripting) {\n return;\n }\n\n const storedData = this.annotationStorage.getRawValue(this.data.id);\n\n if (!storedData) {\n return;\n }\n\n const commonActions = this._commonActions;\n\n for (const [actionName, detail] of Object.entries(storedData)) {\n const action = commonActions[actionName];\n\n if (action) {\n action({\n detail,\n target: element\n });\n delete storedData[actionName];\n }\n }\n }\n\n _createQuadrilaterals(ignoreBorder = false) {\n if (!this.data.quadPoints) {\n return null;\n }\n\n const quadrilaterals = [];\n const savedRect = this.data.rect;\n\n for (const quadPoint of this.data.quadPoints) {\n this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y];\n quadrilaterals.push(this._createContainer(ignoreBorder));\n }\n\n this.data.rect = savedRect;\n return quadrilaterals;\n }\n\n _createPopup(trigger, data) {\n let container = this.container;\n\n if (this.quadrilaterals) {\n trigger = trigger || this.quadrilaterals;\n container = this.quadrilaterals[0];\n }\n\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n const popupElement = new PopupElement({\n container,\n trigger,\n color: data.color,\n titleObj: data.titleObj,\n modificationDate: data.modificationDate,\n contentsObj: data.contentsObj,\n richText: data.richText,\n hideWrapper: true\n });\n const popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n\n _renderQuadrilaterals(className) {\n for (const quadrilateral of this.quadrilaterals) {\n quadrilateral.className = className;\n }\n\n return this.quadrilaterals;\n }\n\n render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n\n _getElementsByName(name, skipId = null) {\n const fields = [];\n\n if (this._fieldObjects) {\n const fieldObj = this._fieldObjects[name];\n\n if (fieldObj) {\n for (const {\n page,\n id,\n exportValues\n } of fieldObj) {\n if (page === -1) {\n continue;\n }\n\n if (id === skipId) {\n continue;\n }\n\n const exportValue = typeof exportValues === \"string\" ? exportValues : null;\n const domElement = document.getElementById(id);\n\n if (domElement && !GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_getElementsByName - element not allowed: ${id}`);\n continue;\n }\n\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n }\n\n return fields;\n }\n\n for (const domElement of document.getElementsByName(name)) {\n const {\n id,\n exportValue\n } = domElement;\n\n if (id === skipId) {\n continue;\n }\n\n if (!GetElementsByNameSet.has(domElement)) {\n continue;\n }\n\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n\n return fields;\n }\n\n static get platform() {\n const platform = typeof navigator !== \"undefined\" ? navigator.platform : \"\";\n return (0, _util.shadow)(this, \"platform\", {\n isWin: platform.includes(\"Win\"),\n isMac: platform.includes(\"Mac\")\n });\n }\n\n}\n\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters, options = null) {\n const isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action || parameters.data.isTooltipOnly || parameters.data.resetForm || parameters.data.actions && (parameters.data.actions.Action || parameters.data.actions[\"Mouse Up\"] || parameters.data.actions[\"Mouse Down\"]));\n super(parameters, {\n isRenderable,\n ignoreBorder: !!options?.ignoreBorder,\n createQuadrilaterals: true\n });\n }\n\n render() {\n const {\n data,\n linkService\n } = this;\n const link = document.createElement(\"a\");\n\n if (data.url) {\n linkService.addLinkAttributes(link, data.url, data.newWindow);\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else if (data.dest) {\n this._bindLink(link, data.dest);\n } else {\n let hasClickAction = false;\n\n if (data.actions && (data.actions.Action || data.actions[\"Mouse Up\"] || data.actions[\"Mouse Down\"]) && this.enableScripting && this.hasJSActions) {\n hasClickAction = true;\n\n this._bindJSAction(link, data);\n }\n\n if (data.resetForm) {\n this._bindResetFormAction(link, data.resetForm);\n } else if (!hasClickAction) {\n this._bindLink(link, \"\");\n }\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"linkAnnotation\").map((quadrilateral, index) => {\n const linkElement = index === 0 ? link : link.cloneNode();\n quadrilateral.appendChild(linkElement);\n return quadrilateral;\n });\n }\n\n this.container.className = \"linkAnnotation\";\n this.container.appendChild(link);\n return this.container;\n }\n\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = () => {\n if (destination) {\n this.linkService.goToDestination(destination);\n }\n\n return false;\n };\n\n if (destination || destination === \"\") {\n link.className = \"internalLink\";\n }\n }\n\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n\n link.className = \"internalLink\";\n }\n\n _bindJSAction(link, data) {\n link.href = this.linkService.getAnchorUrl(\"\");\n const map = new Map([[\"Action\", \"onclick\"], [\"Mouse Up\", \"onmouseup\"], [\"Mouse Down\", \"onmousedown\"]]);\n\n for (const name of Object.keys(data.actions)) {\n const jsName = map.get(name);\n\n if (!jsName) {\n continue;\n }\n\n link[jsName] = () => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: data.id,\n name\n }\n });\n return false;\n };\n }\n\n if (!link.onclick) {\n link.onclick = () => false;\n }\n\n link.className = \"internalLink\";\n }\n\n _bindResetFormAction(link, resetForm) {\n const otherClickAction = link.onclick;\n\n if (!otherClickAction) {\n link.href = this.linkService.getAnchorUrl(\"\");\n }\n\n link.className = \"internalLink\";\n\n if (!this._fieldObjects) {\n (0, _util.warn)(`_bindResetFormAction - \"resetForm\" action not supported, ` + \"ensure that the `fieldObjects` parameter is provided.\");\n\n if (!otherClickAction) {\n link.onclick = () => false;\n }\n\n return;\n }\n\n link.onclick = () => {\n if (otherClickAction) {\n otherClickAction();\n }\n\n const {\n fields: resetFormFields,\n refs: resetFormRefs,\n include\n } = resetForm;\n const allFields = [];\n\n if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) {\n const fieldIds = new Set(resetFormRefs);\n\n for (const fieldName of resetFormFields) {\n const fields = this._fieldObjects[fieldName] || [];\n\n for (const {\n id\n } of fields) {\n fieldIds.add(id);\n }\n }\n\n for (const fields of Object.values(this._fieldObjects)) {\n for (const field of fields) {\n if (fieldIds.has(field.id) === include) {\n allFields.push(field);\n }\n }\n }\n } else {\n for (const fields of Object.values(this._fieldObjects)) {\n allFields.push(...fields);\n }\n }\n\n const storage = this.annotationStorage;\n const allIds = [];\n\n for (const field of allFields) {\n const {\n id\n } = field;\n allIds.push(id);\n\n switch (field.type) {\n case \"text\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n\n case \"checkbox\":\n case \"radiobutton\":\n {\n const value = field.defaultValue === field.exportValues;\n storage.setValue(id, {\n value\n });\n break;\n }\n\n case \"combobox\":\n case \"listbox\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n\n default:\n continue;\n }\n\n const domElement = document.getElementById(id);\n\n if (!domElement || !GetElementsByNameSet.has(domElement)) {\n continue;\n }\n\n domElement.dispatchEvent(new Event(\"resetform\"));\n }\n\n if (this.enableScripting) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: \"app\",\n ids: allIds,\n name: \"ResetForm\"\n }\n });\n }\n\n return false;\n };\n }\n\n}\n\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable\n });\n }\n\n render() {\n this.container.className = \"textAnnotation\";\n const image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n\n}\n\nclass WidgetAnnotationElement extends AnnotationElement {\n render() {\n if (this.data.alternativeText) {\n this.container.title = this.data.alternativeText;\n }\n\n return this.container;\n }\n\n _getKeyModifier(event) {\n const {\n isWin,\n isMac\n } = AnnotationElement.platform;\n return isWin && event.ctrlKey || isMac && event.metaKey;\n }\n\n _setEventListener(element, baseName, eventName, valueGetter) {\n if (baseName.includes(\"mouse\")) {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event),\n shift: event.shiftKey,\n modifier: this._getKeyModifier(event)\n }\n });\n });\n } else {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event)\n }\n });\n });\n }\n }\n\n _setEventListeners(element, names, getter) {\n for (const [baseName, eventName] of names) {\n if (eventName === \"Action\" || this.data.actions?.[eventName]) {\n this._setEventListener(element, baseName, eventName, getter);\n }\n }\n }\n\n _setBackgroundColor(element) {\n const color = this.data.backgroundColor || null;\n element.style.backgroundColor = color === null ? \"transparent\" : _util.Util.makeHexColor(color[0], color[1], color[2]);\n }\n\n}\n\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n super(parameters, {\n isRenderable\n });\n }\n\n setPropertyOnSiblings(base, key, value, keyInStorage) {\n const storage = this.annotationStorage;\n\n for (const element of this._getElementsByName(base.name, base.id)) {\n if (element.domElement) {\n element.domElement[key] = value;\n }\n\n storage.setValue(element.id, {\n [keyInStorage]: value\n });\n }\n }\n\n render() {\n const storage = this.annotationStorage;\n const id = this.data.id;\n this.container.className = \"textWidgetAnnotation\";\n let element = null;\n\n if (this.renderForms) {\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n const textContent = storedData.formattedValue || storedData.value || \"\";\n const elementData = {\n userValue: null,\n formattedValue: null,\n valueOnFocus: \"\"\n };\n\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = textContent;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", textContent);\n }\n\n GetElementsByNameSet.add(element);\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n element.tabIndex = DEFAULT_TAB_INDEX;\n elementData.userValue = textContent;\n element.setAttribute(\"id\", id);\n element.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n this.setPropertyOnSiblings(element, \"value\", event.target.value, \"value\");\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue ?? \"\";\n element.value = elementData.userValue = defaultValue;\n elementData.formattedValue = null;\n });\n\n let blurListener = event => {\n const {\n formattedValue\n } = elementData;\n\n if (formattedValue !== null && formattedValue !== undefined) {\n event.target.value = formattedValue;\n }\n\n event.target.scrollLeft = 0;\n };\n\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"focus\", event => {\n if (elementData.userValue) {\n event.target.value = elementData.userValue;\n }\n\n elementData.valueOnFocus = event.target.value;\n });\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n elementData.userValue = event.detail.value ?? \"\";\n storage.setValue(id, {\n value: elementData.userValue.toString()\n });\n event.target.value = elementData.userValue;\n },\n\n formattedValue(event) {\n const {\n formattedValue\n } = event.detail;\n elementData.formattedValue = formattedValue;\n\n if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) {\n event.target.value = formattedValue;\n }\n\n storage.setValue(id, {\n formattedValue\n });\n },\n\n selRange(event) {\n event.target.setSelectionRange(...event.detail.selRange);\n }\n\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n element.addEventListener(\"keydown\", event => {\n let commitKey = -1;\n\n if (event.key === \"Escape\") {\n commitKey = 0;\n } else if (event.key === \"Enter\") {\n commitKey = 2;\n } else if (event.key === \"Tab\") {\n commitKey = 3;\n }\n\n if (commitKey === -1) {\n return;\n }\n\n const {\n value\n } = event.target;\n\n if (elementData.valueOnFocus === value) {\n return;\n }\n\n elementData.userValue = value;\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n });\n const _blurListener = blurListener;\n blurListener = null;\n element.addEventListener(\"blur\", event => {\n const {\n value\n } = event.target;\n elementData.userValue = value;\n\n if (this._mouseState.isDown && elementData.valueOnFocus !== value) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: 1,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n }\n\n _blurListener(event);\n });\n\n if (this.data.actions?.Keystroke) {\n element.addEventListener(\"beforeinput\", event => {\n const {\n data,\n target\n } = event;\n const {\n value,\n selectionStart,\n selectionEnd\n } = target;\n let selStart = selectionStart,\n selEnd = selectionEnd;\n\n switch (event.inputType) {\n case \"deleteWordBackward\":\n {\n const match = value.substring(0, selectionStart).match(/\\w*[^\\w]*$/);\n\n if (match) {\n selStart -= match[0].length;\n }\n\n break;\n }\n\n case \"deleteWordForward\":\n {\n const match = value.substring(selectionStart).match(/^[^\\w]*\\w*/);\n\n if (match) {\n selEnd += match[0].length;\n }\n\n break;\n }\n\n case \"deleteContentBackward\":\n if (selectionStart === selectionEnd) {\n selStart -= 1;\n }\n\n break;\n\n case \"deleteContentForward\":\n if (selectionStart === selectionEnd) {\n selEnd += 1;\n }\n\n break;\n }\n\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n change: data || \"\",\n willCommit: false,\n selStart,\n selEnd\n }\n });\n });\n }\n\n this._setEventListeners(element, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.value);\n }\n\n if (blurListener) {\n element.addEventListener(\"blur\", blurListener);\n }\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / this.data.maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n }\n\n this._setTextStyle(element);\n\n this._setBackgroundColor(element);\n\n this._setDefaultPropertiesFromJS(element);\n\n this.container.appendChild(element);\n return this.container;\n }\n\n _setTextStyle(element) {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n const {\n fontSize,\n fontColor\n } = this.data.defaultAppearanceData;\n const style = element.style;\n\n if (fontSize) {\n style.fontSize = `${fontSize}px`;\n }\n\n style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);\n\n if (this.data.textAlignment !== null) {\n style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n }\n\n}\n\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n render() {\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.exportValue === data.fieldValue\n }).value;\n\n if (typeof value === \"string\") {\n value = value !== \"Off\";\n storage.setValue(id, {\n value\n });\n }\n\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.disabled = data.readOnly;\n element.type = \"checkbox\";\n element.name = data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.setAttribute(\"id\", id);\n element.setAttribute(\"exportValue\", data.exportValue);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n\n for (const checkbox of this._getElementsByName(name, id)) {\n const curChecked = checked && checkbox.exportValue === data.exportValue;\n\n if (checkbox.domElement) {\n checkbox.domElement.checked = curChecked;\n }\n\n storage.setValue(checkbox.id, {\n value: curChecked\n });\n }\n\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue || \"Off\";\n event.target.checked = defaultValue === data.exportValue;\n });\n\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n event.target.checked = event.detail.value !== \"Off\";\n storage.setValue(id, {\n value: event.target.checked\n });\n }\n\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n\n this._setBackgroundColor(element);\n\n this._setDefaultPropertiesFromJS(element);\n\n this.container.appendChild(element);\n return this.container;\n }\n\n}\n\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.fieldValue === data.buttonValue\n }).value;\n\n if (typeof value === \"string\") {\n value = value !== data.buttonValue;\n storage.setValue(id, {\n value\n });\n }\n\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.disabled = data.readOnly;\n element.type = \"radio\";\n element.name = data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.setAttribute(\"id\", id);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n\n for (const radio of this._getElementsByName(name, id)) {\n storage.setValue(radio.id, {\n value: false\n });\n }\n\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue;\n event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue;\n });\n\n if (this.enableScripting && this.hasJSActions) {\n const pdfButtonValue = data.buttonValue;\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value: event => {\n const checked = pdfButtonValue === event.detail.value;\n\n for (const radio of this._getElementsByName(event.target.name)) {\n const curChecked = checked && radio.id === id;\n\n if (radio.domElement) {\n radio.domElement.checked = curChecked;\n }\n\n storage.setValue(radio.id, {\n value: curChecked\n });\n }\n }\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n\n this._setBackgroundColor(element);\n\n this._setDefaultPropertiesFromJS(element);\n\n this.container.appendChild(element);\n return this.container;\n }\n\n}\n\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n ignoreBorder: parameters.data.hasAppearance\n });\n }\n\n render() {\n const container = super.render();\n container.className = \"buttonWidgetAnnotation pushButton\";\n\n if (this.data.alternativeText) {\n container.title = this.data.alternativeText;\n }\n\n this._setDefaultPropertiesFromJS(container);\n\n return container;\n }\n\n}\n\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n render() {\n this.container.className = \"choiceWidgetAnnotation\";\n const storage = this.annotationStorage;\n const id = this.data.id;\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n let {\n fontSize\n } = this.data.defaultAppearanceData;\n\n if (!fontSize) {\n fontSize = 9;\n }\n\n const fontSizeStyle = `calc(${fontSize}px * var(--zoom-factor))`;\n const selectElement = document.createElement(\"select\");\n GetElementsByNameSet.add(selectElement);\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n selectElement.setAttribute(\"id\", id);\n selectElement.tabIndex = DEFAULT_TAB_INDEX;\n selectElement.style.fontSize = `${fontSize}px`;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n selectElement.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue;\n\n for (const option of selectElement.options) {\n option.selected = option.value === defaultValue;\n }\n });\n\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.combo) {\n optionElement.style.fontSize = fontSizeStyle;\n }\n\n if (storedData.value.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n\n selectElement.appendChild(optionElement);\n }\n\n const getValue = (event, isExport) => {\n const name = isExport ? \"value\" : \"textContent\";\n const options = event.target.options;\n\n if (!event.target.multiple) {\n return options.selectedIndex === -1 ? null : options[options.selectedIndex][name];\n }\n\n return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]);\n };\n\n const getItems = event => {\n const options = event.target.options;\n return Array.prototype.map.call(options, option => {\n return {\n displayValue: option.textContent,\n exportValue: option.value\n };\n });\n };\n\n if (this.enableScripting && this.hasJSActions) {\n selectElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n const value = event.detail.value;\n const values = new Set(Array.isArray(value) ? value : [value]);\n\n for (const option of selectElement.options) {\n option.selected = values.has(option.value);\n }\n\n storage.setValue(id, {\n value: getValue(event, true)\n });\n },\n\n multipleSelection(event) {\n selectElement.multiple = true;\n },\n\n remove(event) {\n const options = selectElement.options;\n const index = event.detail.remove;\n options[index].selected = false;\n selectElement.remove(index);\n\n if (options.length > 0) {\n const i = Array.prototype.findIndex.call(options, option => option.selected);\n\n if (i === -1) {\n options[0].selected = true;\n }\n }\n\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n\n clear(event) {\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n\n storage.setValue(id, {\n value: null,\n items: []\n });\n },\n\n insert(event) {\n const {\n index,\n displayValue,\n exportValue\n } = event.detail.insert;\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.insertBefore(optionElement, selectElement.children[index]);\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n\n items(event) {\n const {\n items\n } = event.detail;\n\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n\n for (const item of items) {\n const {\n displayValue,\n exportValue\n } = item;\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.appendChild(optionElement);\n }\n\n if (selectElement.options.length > 0) {\n selectElement.options[0].selected = true;\n }\n\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n\n indices(event) {\n const indices = new Set(event.detail.indices);\n\n for (const option of event.target.options) {\n option.selected = indices.has(option.index);\n }\n\n storage.setValue(id, {\n value: getValue(event, true)\n });\n },\n\n editable(event) {\n event.target.disabled = !event.detail.editable;\n }\n\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n selectElement.addEventListener(\"input\", event => {\n const exportValue = getValue(event, true);\n const value = getValue(event, false);\n storage.setValue(id, {\n value: exportValue\n });\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n changeEx: exportValue,\n willCommit: true,\n commitKey: 1,\n keyDown: false\n }\n });\n });\n\n this._setEventListeners(selectElement, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"], [\"input\", \"Action\"]], event => event.target.checked);\n } else {\n selectElement.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: getValue(event, true)\n });\n });\n }\n\n this._setBackgroundColor(selectElement);\n\n this._setDefaultPropertiesFromJS(selectElement);\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n\n}\n\nclass PopupAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable\n });\n }\n\n render() {\n const IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n const selector = `[data-annotation-id=\"${this.data.parentId}\"]`;\n const parentElements = this.layer.querySelectorAll(selector);\n\n if (parentElements.length === 0) {\n return this.container;\n }\n\n const popup = new PopupElement({\n container: this.container,\n trigger: Array.from(parentElements),\n color: this.data.color,\n titleObj: this.data.titleObj,\n modificationDate: this.data.modificationDate,\n contentsObj: this.data.contentsObj,\n richText: this.data.richText\n });\n const page = this.page;\n\n const rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]);\n\n const popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0];\n const popupTop = rect[1];\n this.container.style.transformOrigin = `${-popupLeft}px ${-popupTop}px`;\n this.container.style.left = `${popupLeft}px`;\n this.container.style.top = `${popupTop}px`;\n this.container.appendChild(popup.render());\n return this.container;\n }\n\n}\n\nclass PopupElement {\n constructor(parameters) {\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.titleObj = parameters.titleObj;\n this.modificationDate = parameters.modificationDate;\n this.contentsObj = parameters.contentsObj;\n this.richText = parameters.richText;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n render() {\n const BACKGROUND_ENLIGHT = 0.7;\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.hidden = true;\n const popup = document.createElement(\"div\");\n popup.className = \"popup\";\n const color = this.color;\n\n if (color) {\n const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0);\n }\n\n const title = document.createElement(\"h1\");\n title.dir = this.titleObj.dir;\n title.textContent = this.titleObj.str;\n popup.appendChild(title);\n\n const dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.className = \"popupDate\";\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n if (this.richText?.str && (!this.contentsObj?.str || this.contentsObj.str === this.richText.str)) {\n _xfa_layer.XfaLayer.render({\n xfaHtml: this.richText.html,\n intent: \"richText\",\n div: popup\n });\n\n popup.lastChild.className = \"richText popupContent\";\n } else {\n const contents = this._formatContents(this.contentsObj);\n\n popup.appendChild(contents);\n }\n\n if (!Array.isArray(this.trigger)) {\n this.trigger = [this.trigger];\n }\n\n for (const element of this.trigger) {\n element.addEventListener(\"click\", this._toggle.bind(this));\n element.addEventListener(\"mouseover\", this._show.bind(this, false));\n element.addEventListener(\"mouseout\", this._hide.bind(this, false));\n }\n\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n\n _formatContents({\n str,\n dir\n }) {\n const p = document.createElement(\"p\");\n p.className = \"popupContent\";\n p.dir = dir;\n const lines = str.split(/(?:\\r\\n?|\\n)/);\n\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n\n _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n\n _show(pin = false) {\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hidden) {\n this.hideElement.hidden = false;\n this.container.style.zIndex += 1;\n }\n }\n\n _hide(unpin = true) {\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hidden && !this.pinned) {\n this.hideElement.hidden = true;\n this.container.style.zIndex -= 1;\n }\n }\n\n}\n\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass LineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"lineAnnotation\";\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height);\n const line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n line.setAttribute(\"fill\", \"transparent\");\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(line, data);\n\n return this.container;\n }\n\n}\n\nclass SquareAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"squareAnnotation\";\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height);\n const borderWidth = data.borderStyle.width;\n const square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"transparent\");\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(square, data);\n\n return this.container;\n }\n\n}\n\nclass CircleAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"circleAnnotation\";\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height);\n const borderWidth = data.borderStyle.width;\n const circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"transparent\");\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(circle, data);\n\n return this.container;\n }\n\n}\n\nclass PolylineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n\n render() {\n this.container.className = this.containerClassName;\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height);\n let points = [];\n\n for (const coordinate of data.vertices) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(polyline, data);\n\n return this.container;\n }\n\n}\n\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n super(parameters);\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n\n}\n\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass InkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.containerClassName = \"inkAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n\n render() {\n this.container.className = this.containerClassName;\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height);\n\n for (const inkList of data.inkLists) {\n let points = [];\n\n for (const coordinate of inkList) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(`${x},${y}`);\n }\n\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n\n this._createPopup(polyline, data);\n\n svg.appendChild(polyline);\n }\n\n this.container.append(svg);\n return this.container;\n }\n\n}\n\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"highlightAnnotation\");\n }\n\n this.container.className = \"highlightAnnotation\";\n return this.container;\n }\n\n}\n\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"underlineAnnotation\");\n }\n\n this.container.className = \"underlineAnnotation\";\n return this.container;\n }\n\n}\n\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"squigglyAnnotation\");\n }\n\n this.container.className = \"squigglyAnnotation\";\n return this.container;\n }\n\n}\n\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"strikeoutAnnotation\");\n }\n\n this.container.className = \"strikeoutAnnotation\";\n return this.container;\n }\n\n}\n\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n const {\n filename,\n content\n } = this.data.file;\n this.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n this.content = content;\n this.linkService.eventBus?.dispatch(\"fileattachmentannotation\", {\n source: this,\n filename,\n content\n });\n }\n\n render() {\n this.container.className = \"fileAttachmentAnnotation\";\n const trigger = document.createElement(\"div\");\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.titleObj?.str || this.data.contentsObj?.str || this.data.richText)) {\n this._createPopup(trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n\n _download() {\n this.downloadManager?.openOrDownloadData(this.container, this.content, this.filename);\n }\n\n}\n\nclass AnnotationLayer {\n static render(parameters) {\n const sortedAnnotations = [],\n popupAnnotations = [];\n\n for (const data of parameters.annotations) {\n if (!data) {\n continue;\n }\n\n const {\n width,\n height\n } = getRectDims(data.rect);\n\n if (width <= 0 || height <= 0) {\n continue;\n }\n\n if (data.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(data);\n continue;\n }\n\n sortedAnnotations.push(data);\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push(...popupAnnotations);\n }\n\n const div = parameters.div;\n\n for (const data of sortedAnnotations) {\n const element = AnnotationElementFactory.create({\n data,\n layer: div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderForms: parameters.renderForms !== false,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(),\n enableScripting: parameters.enableScripting,\n hasJSActions: parameters.hasJSActions,\n fieldObjects: parameters.fieldObjects,\n mouseState: parameters.mouseState || {\n isDown: false\n }\n });\n\n if (element.isRenderable) {\n const rendered = element.render();\n\n if (data.hidden) {\n rendered.style.visibility = \"hidden\";\n }\n\n if (Array.isArray(rendered)) {\n for (const renderedElement of rendered) {\n div.appendChild(renderedElement);\n }\n } else {\n if (element instanceof PopupAnnotationElement) {\n div.prepend(rendered);\n } else {\n div.appendChild(rendered);\n }\n }\n }\n }\n\n this.#setAnnotationCanvasMap(div, parameters.annotationCanvasMap);\n }\n\n static update(parameters) {\n const {\n page,\n viewport,\n annotations,\n annotationCanvasMap,\n div\n } = parameters;\n const transform = viewport.transform;\n const matrix = `matrix(${transform.join(\",\")})`;\n let scale, ownMatrix;\n\n for (const data of annotations) {\n const elements = div.querySelectorAll(`[data-annotation-id=\"${data.id}\"]`);\n\n if (elements) {\n for (const element of elements) {\n if (data.hasOwnCanvas) {\n const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n if (!ownMatrix) {\n scale = Math.abs(transform[0] || transform[1]);\n const ownTransform = transform.slice();\n\n for (let i = 0; i < 4; i++) {\n ownTransform[i] = Math.sign(ownTransform[i]);\n }\n\n ownMatrix = `matrix(${ownTransform.join(\",\")})`;\n }\n\n const left = rect[0] * scale;\n const top = rect[1] * scale;\n element.style.left = `${left}px`;\n element.style.top = `${top}px`;\n element.style.transformOrigin = `${-left}px ${-top}px`;\n element.style.transform = ownMatrix;\n } else {\n element.style.transform = matrix;\n }\n }\n }\n }\n\n this.#setAnnotationCanvasMap(div, annotationCanvasMap);\n div.hidden = false;\n }\n\n static #setAnnotationCanvasMap(div, annotationCanvasMap) {\n if (!annotationCanvasMap) {\n return;\n }\n\n for (const [id, canvas] of annotationCanvasMap) {\n const element = div.querySelector(`[data-annotation-id=\"${id}\"]`);\n\n if (!element) {\n continue;\n }\n\n const {\n firstChild\n } = element;\n\n if (firstChild.nodeName === \"CANVAS\") {\n element.replaceChild(canvas, firstChild);\n } else {\n element.insertBefore(canvas, firstChild);\n }\n }\n\n annotationCanvasMap.clear();\n }\n\n}\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 21 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ColorConverters = void 0;\n\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, \"0\");\n}\n\nclass ColorConverters {\n static CMYK_G([c, y, m, k]) {\n return [\"G\", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n\n static G_CMYK([g]) {\n return [\"CMYK\", 0, 0, 0, 1 - g];\n }\n\n static G_RGB([g]) {\n return [\"RGB\", g, g, g];\n }\n\n static G_HTML([g]) {\n const G = makeColorComp(g);\n return `#${G}${G}${G}`;\n }\n\n static RGB_G([r, g, b]) {\n return [\"G\", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n\n static RGB_HTML([r, g, b]) {\n const R = makeColorComp(r);\n const G = makeColorComp(g);\n const B = makeColorComp(b);\n return `#${R}${G}${B}`;\n }\n\n static T_HTML() {\n return \"#00000000\";\n }\n\n static CMYK_RGB([c, y, m, k]) {\n return [\"RGB\", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n\n static CMYK_HTML(components) {\n return this.RGB_HTML(this.CMYK_RGB(components));\n }\n\n static RGB_CMYK([r, g, b]) {\n const c = 1 - r;\n const m = 1 - g;\n const y = 1 - b;\n const k = Math.min(c, m, y);\n return [\"CMYK\", c, m, y, k];\n }\n\n}\n\nexports.ColorConverters = ColorConverters;\n\n/***/ }),\n/* 22 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayer = void 0;\n\nvar _xfa_text = __w_pdfjs_require__(18);\n\nclass XfaLayer {\n static setupStorage(html, id, element, storage, intent) {\n const storedData = storage.getValue(id, {\n value: null\n });\n\n switch (element.name) {\n case \"textarea\":\n if (storedData.value !== null) {\n html.textContent = storedData.value;\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n break;\n\n case \"input\":\n if (element.attributes.type === \"radio\" || element.attributes.type === \"checkbox\") {\n if (storedData.value === element.attributes.xfaOn) {\n html.setAttribute(\"checked\", true);\n } else if (storedData.value === element.attributes.xfaOff) {\n html.removeAttribute(\"checked\");\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"change\", event => {\n storage.setValue(id, {\n value: event.target.checked ? event.target.getAttribute(\"xfaOn\") : event.target.getAttribute(\"xfaOff\")\n });\n });\n } else {\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n }\n\n break;\n\n case \"select\":\n if (storedData.value !== null) {\n for (const option of element.children) {\n if (option.attributes.value === storedData.value) {\n option.attributes.selected = true;\n }\n }\n }\n\n html.addEventListener(\"input\", event => {\n const options = event.target.options;\n const value = options.selectedIndex === -1 ? \"\" : options[options.selectedIndex].value;\n storage.setValue(id, {\n value\n });\n });\n break;\n }\n }\n\n static setAttributes({\n html,\n element,\n storage = null,\n intent,\n linkService\n }) {\n const {\n attributes\n } = element;\n const isHTMLAnchorElement = html instanceof HTMLAnchorElement;\n\n if (attributes.type === \"radio\") {\n attributes.name = `${attributes.name}-${intent}`;\n }\n\n for (const [key, value] of Object.entries(attributes)) {\n if (value === null || value === undefined || key === \"dataId\") {\n continue;\n }\n\n if (key !== \"style\") {\n if (key === \"textContent\") {\n html.textContent = value;\n } else if (key === \"class\") {\n if (value.length) {\n html.setAttribute(key, value.join(\" \"));\n }\n } else {\n if (isHTMLAnchorElement && (key === \"href\" || key === \"newWindow\")) {\n continue;\n }\n\n html.setAttribute(key, value);\n }\n } else {\n Object.assign(html.style, value);\n }\n }\n\n if (isHTMLAnchorElement) {\n linkService.addLinkAttributes(html, attributes.href, attributes.newWindow);\n }\n\n if (storage && attributes.dataId) {\n this.setupStorage(html, attributes.dataId, element, storage);\n }\n }\n\n static render(parameters) {\n const storage = parameters.annotationStorage;\n const linkService = parameters.linkService;\n const root = parameters.xfaHtml;\n const intent = parameters.intent || \"display\";\n const rootHtml = document.createElement(root.name);\n\n if (root.attributes) {\n this.setAttributes({\n html: rootHtml,\n element: root,\n intent,\n linkService\n });\n }\n\n const stack = [[root, -1, rootHtml]];\n const rootDiv = parameters.div;\n rootDiv.appendChild(rootHtml);\n\n if (parameters.viewport) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n rootDiv.style.transform = transform;\n }\n\n if (intent !== \"richText\") {\n rootDiv.setAttribute(\"class\", \"xfaLayer xfaFont\");\n }\n\n const textDivs = [];\n\n while (stack.length > 0) {\n const [parent, i, html] = stack[stack.length - 1];\n\n if (i + 1 === parent.children.length) {\n stack.pop();\n continue;\n }\n\n const child = parent.children[++stack[stack.length - 1][1]];\n\n if (child === null) {\n continue;\n }\n\n const {\n name\n } = child;\n\n if (name === \"#text\") {\n const node = document.createTextNode(child.value);\n textDivs.push(node);\n html.appendChild(node);\n continue;\n }\n\n let childHtml;\n\n if (child?.attributes?.xmlns) {\n childHtml = document.createElementNS(child.attributes.xmlns, name);\n } else {\n childHtml = document.createElement(name);\n }\n\n html.appendChild(childHtml);\n\n if (child.attributes) {\n this.setAttributes({\n html: childHtml,\n element: child,\n storage,\n intent,\n linkService\n });\n }\n\n if (child.children && child.children.length > 0) {\n stack.push([child, -1, childHtml]);\n } else if (child.value) {\n const node = document.createTextNode(child.value);\n\n if (_xfa_text.XfaText.shouldBuildText(name)) {\n textDivs.push(node);\n }\n\n childHtml.appendChild(node);\n }\n }\n\n for (const el of rootDiv.querySelectorAll(\".xfaNonInteractive input, .xfaNonInteractive textarea\")) {\n el.setAttribute(\"readOnly\", true);\n }\n\n return {\n textDivs\n };\n }\n\n static update(parameters) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n parameters.div.style.transform = transform;\n parameters.div.hidden = false;\n }\n\n}\n\nexports.XfaLayer = XfaLayer;\n\n/***/ }),\n/* 23 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.renderTextLayer = renderTextLayer;\n\nvar _util = __w_pdfjs_require__(1);\n\nconst MAX_TEXT_DIVS_TO_RENDER = 100000;\nconst DEFAULT_FONT_SIZE = 30;\nconst DEFAULT_FONT_ASCENT = 0.8;\nconst ascentCache = new Map();\nconst AllWhitespaceRegexp = /^\\s+$/g;\n\nfunction getAscent(fontFamily, ctx) {\n const cachedAscent = ascentCache.get(fontFamily);\n\n if (cachedAscent) {\n return cachedAscent;\n }\n\n ctx.save();\n ctx.font = `${DEFAULT_FONT_SIZE}px ${fontFamily}`;\n const metrics = ctx.measureText(\"\");\n let ascent = metrics.fontBoundingBoxAscent;\n let descent = Math.abs(metrics.fontBoundingBoxDescent);\n\n if (ascent) {\n ctx.restore();\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n\n ctx.strokeStyle = \"red\";\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"g\", 0, 0);\n let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n descent = 0;\n\n for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) {\n if (pixels[i] > 0) {\n descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"A\", 0, DEFAULT_FONT_SIZE);\n pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n ascent = 0;\n\n for (let i = 0, ii = pixels.length; i < ii; i += 4) {\n if (pixels[i] > 0) {\n ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n\n ctx.restore();\n\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n\n ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT);\n return DEFAULT_FONT_ASCENT;\n}\n\nfunction appendText(task, geom, styles, ctx) {\n const textDiv = document.createElement(\"span\");\n const textDivProperties = task._enhanceTextSelection ? {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n } : {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL\n };\n\n task._textDivs.push(textDiv);\n\n const tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n let angle = Math.atan2(tx[1], tx[0]);\n const style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n const fontHeight = Math.hypot(tx[2], tx[3]);\n const fontAscent = fontHeight * getAscent(style.fontFamily, ctx);\n let left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = `${left}px`;\n textDiv.style.top = `${top}px`;\n textDiv.style.fontSize = `${fontHeight}px`;\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.setAttribute(\"role\", \"presentation\");\n textDiv.textContent = geom.str;\n textDiv.dir = geom.dir;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n let shouldScaleText = false;\n\n if (geom.str.length > 1 || task._enhanceTextSelection && AllWhitespaceRegexp.test(geom.str)) {\n shouldScaleText = true;\n } else if (geom.str !== \" \" && geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n\n if (shouldScaleText) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection && textDivProperties.hasText) {\n let angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n const divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n const divHeight = fontHeight;\n let m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m\n });\n }\n}\n\nfunction render(task) {\n if (task._canceled) {\n return;\n }\n\n const textDivs = task._textDivs;\n const capability = task._capability;\n const textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (let i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n}\n\nfunction findPositiveMin(ts, offset, count) {\n let result = 0;\n\n for (let i = 0; i < count; i++) {\n const t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n}\n\nfunction expand(task) {\n const bounds = task._bounds;\n const viewport = task._viewport;\n const expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (let i = 0; i < expanded.length; i++) {\n const div = bounds[i].div;\n\n const divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n const e = expanded[i],\n b = bounds[i];\n const m = b.m,\n c = m[0],\n s = m[1];\n const points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n const ts = new Float64Array(64);\n\n for (let j = 0, jj = points.length; j < jj; j++) {\n const t = _util.Util.applyTransform(points[j], m);\n\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\n }\n\n const boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n}\n\nfunction expandBounds(width, height, boxes) {\n const bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n const expanded = new Array(boxes.length);\n\n for (const b of bounds) {\n const i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n }\n\n boxes.map(function (box, i) {\n const e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n\n for (const b of bounds) {\n const i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n }\n\n return expanded;\n}\n\nfunction expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n const fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n const horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n\n for (const boundary of bounds) {\n let i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n let j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n let horizonPart, affectedBoundary;\n let q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n let xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n const changedHorizon = [];\n let lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n const useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n let used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n }\n\n for (const horizonPart of horizon) {\n const affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n }\n}\n\nclass TextLayerRenderTask {\n constructor({\n textContent,\n textContentStream,\n container,\n viewport,\n textDivs,\n textContentItemsStr,\n enhanceTextSelection\n }) {\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._document = container.ownerDocument;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!globalThis.FontInspector?.enabled;\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n\n this._capability.promise.finally(() => {\n if (!this._enhanceTextSelection) {\n this._textDivProperties = null;\n }\n\n if (this._layoutTextCtx) {\n this._layoutTextCtx.canvas.width = 0;\n this._layoutTextCtx.canvas.height = 0;\n this._layoutTextCtx = null;\n }\n }).catch(() => {});\n }\n\n get promise() {\n return this._capability.promise;\n }\n\n cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\")).catch(() => {});\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n }\n\n _processItems(items, styleCache) {\n for (let i = 0, len = items.length; i < len; i++) {\n if (items[i].str === undefined) {\n if (items[i].type === \"beginMarkedContentProps\" || items[i].type === \"beginMarkedContent\") {\n const parent = this._container;\n this._container = document.createElement(\"span\");\n\n this._container.classList.add(\"markedContent\");\n\n if (items[i].id !== null) {\n this._container.setAttribute(\"id\", `${items[i].id}`);\n }\n\n parent.appendChild(this._container);\n } else if (items[i].type === \"endMarkedContent\") {\n this._container = this._container.parentNode;\n }\n\n continue;\n }\n\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache, this._layoutTextCtx);\n }\n }\n\n _layoutText(textDiv) {\n const textDivProperties = this._textDivProperties.get(textDiv);\n\n let transform = \"\";\n\n if (textDivProperties.canvasWidth !== 0 && textDivProperties.hasText) {\n const {\n fontSize,\n fontFamily\n } = textDiv.style;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = `${fontSize} ${fontFamily}`;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n const {\n width\n } = this._layoutTextCtx.measureText(textDiv.textContent);\n\n if (width > 0) {\n const scale = textDivProperties.canvasWidth / width;\n\n if (this._enhanceTextSelection) {\n textDivProperties.scale = scale;\n }\n\n transform = `scaleX(${scale})`;\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = `rotate(${textDivProperties.angle}deg) ${transform}`;\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n if (textDivProperties.hasText) {\n this._container.appendChild(textDiv);\n }\n\n if (textDivProperties.hasEOL) {\n const br = document.createElement(\"br\");\n br.setAttribute(\"role\", \"presentation\");\n\n this._container.appendChild(br);\n }\n }\n\n _render(timeout = 0) {\n const capability = (0, _util.createPromiseCapability)();\n let styleCache = Object.create(null);\n\n const canvas = this._document.createElement(\"canvas\");\n\n canvas.height = canvas.width = DEFAULT_FONT_SIZE;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n\n if (this._textContent) {\n const textItems = this._textContent.items;\n const textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n const pump = () => {\n this._reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n this._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\" parameters specified.');\n }\n\n capability.promise.then(() => {\n styleCache = null;\n\n if (!timeout) {\n render(this);\n } else {\n this._renderTimer = setTimeout(() => {\n render(this);\n this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n }\n\n expandTextDivs(expandDivs = false) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n const transformBuf = [],\n paddingBuf = [];\n\n for (let i = 0, ii = this._textDivs.length; i < ii; i++) {\n const div = this._textDivs[i];\n\n const divProps = this._textDivProperties.get(div);\n\n if (!divProps.hasText) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(`${divProps.paddingTop}px`);\n transformBuf.push(`translateY(${-divProps.paddingTop}px)`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(`${divProps.paddingRight / divProps.scale}px`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(`${divProps.paddingBottom}px`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(`${divProps.paddingLeft / divProps.scale}px`);\n transformBuf.push(`translateX(${-divProps.paddingLeft / divProps.scale}px)`);\n } else {\n paddingBuf.push(0);\n }\n\n div.style.padding = paddingBuf.join(\" \");\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(\" \");\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n }\n\n}\n\nfunction renderTextLayer(renderParameters) {\n const task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n}\n\n/***/ }),\n/* 24 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(5);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nlet SVGGraphics = class {\n constructor() {\n (0, _util.unreachable)(\"Not implemented: SVGGraphics\");\n }\n\n};\nexports.SVGGraphics = SVGGraphics;\n{\n const SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n const XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n const XLINK_NS = \"http://www.w3.org/1999/xlink\";\n const LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n const LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n const createObjectURL = function (data, contentType = \"\", forceDataSchema = false) {\n if (URL.createObjectURL && typeof Blob !== \"undefined\" && !forceDataSchema) {\n return URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n }\n\n const digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n let buffer = `data:${contentType};base64,`;\n\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n\n const convertImgDataToPng = function () {\n const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n const CHUNK_WRAPPER_SIZE = 12;\n const crcTable = new Int32Array(256);\n\n for (let i = 0; i < 256; i++) {\n let c = i;\n\n for (let h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n let crc = -1;\n\n for (let i = start; i < end; i++) {\n const a = (crc ^ data[i]) & 0xff;\n const b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n let p = offset;\n const len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n const crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n let a = 1;\n let b = 0;\n\n for (let i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n let input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n\n const output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n let len = literals.length;\n const maxBlockLength = 0xffff;\n const deflateBlocks = Math.ceil(len / maxBlockLength);\n const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n let pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n let pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n const adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n const width = imgData.width;\n const height = imgData.height;\n let bitDepth, colorType, lineSize;\n const bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error(\"invalid format\");\n }\n\n const literals = new Uint8Array((1 + lineSize) * height);\n let offsetLiterals = 0,\n offsetBytes = 0;\n\n for (let y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (let y = 0; y < height; y++) {\n offsetLiterals++;\n\n for (let i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n const idat = deflateSync(literals);\n const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n const data = new Uint8Array(pngLength);\n let offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return createObjectURL(data, \"image/png\", forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n class SVGExtraState {\n constructor() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n\n clone() {\n return Object.create(this);\n }\n\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n\n }\n\n function opListToTree(opList) {\n let opTree = [];\n const tmp = [];\n\n for (const opListElement of opList) {\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n\n return opTree;\n }\n\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n const s = value.toFixed(10);\n let i = s.length - 1;\n\n if (s[i] !== \"0\") {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === \"0\");\n\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n }\n\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n\n return `scale(${pf(m[0])} ${pf(m[3])})`;\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n const a = Math.acos(m[0]) * 180 / Math.PI;\n return `rotate(${pf(a)})`;\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return `translate(${pf(m[4])} ${pf(m[5])})`;\n }\n }\n\n return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`;\n }\n\n let clipCount = 0;\n let maskCount = 0;\n let shadingCount = 0;\n exports.SVGGraphics = SVGGraphics = class {\n constructor(commonObjs, objs, forceDataSchema = false) {\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (const op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n save() {\n this.transformStack.push(this.transformMatrix);\n const old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n\n restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n\n group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n\n loadDependencies(operatorList) {\n const fnArray = operatorList.fnArray;\n const argsArray = operatorList.argsArray;\n\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n for (const obj of argsArray[i]) {\n const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n const promise = new Promise(resolve => {\n objsPool.get(obj, resolve);\n });\n this.current.dependencies.push(promise);\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n\n transform(a, b, c, d, e, f) {\n const transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n\n getSVG(operatorList, viewport) {\n this.viewport = viewport;\n\n const svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(() => {\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.executeOpTree(this.convertOpList(operatorList));\n return svgElement;\n });\n }\n\n convertOpList(operatorList) {\n const operatorIdMapping = this._operatorIdMapping;\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n const opList = [];\n\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n const fnId = fnArray[i];\n opList.push({\n fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n\n executeOpTree(opTree) {\n for (const opTreeElement of opTree) {\n const fn = opTreeElement.fn;\n const fnId = opTreeElement.fnId;\n const args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(`Unimplemented operator ${fn}`);\n break;\n }\n }\n }\n\n setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n\n setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n\n setTextMatrix(a, b, c, d, e, f) {\n const current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.hypot(a, b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.appendChild(current.tspan);\n }\n\n beginText() {\n const current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n\n moveText(x, y) {\n const current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n let x = 0;\n\n for (const glyph of glyphs) {\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n let scaledX, scaledY;\n let width = glyph.width;\n\n if (vertical) {\n let vx;\n const vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n\n current.tspan.textContent += character;\n } else {}\n\n let charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n const lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n let textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, \"transform\", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`);\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n\n addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.appendChild(this.cssStyle);\n }\n\n const url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += `@font-face { font-family: \"${fontObj.loadedName}\";` + ` src: url(${url}); }\\n`;\n }\n\n setFont(details) {\n const current = this.current;\n const fontObj = this.commonObjs.get(details[0]);\n let size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n let bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n\n endText() {\n const current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement?.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n\n setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n\n setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n\n setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n\n setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n\n setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeHexColor(r, g, b);\n }\n\n setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n\n setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeHexColor(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n\n setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n\n setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n\n shadingFill(args) {\n const width = this.viewport.width;\n const height = this.viewport.height;\n\n const inv = _util.Util.inverseTransform(this.transformMatrix);\n\n const bl = _util.Util.applyTransform([0, 0], inv);\n\n const br = _util.Util.applyTransform([0, height], inv);\n\n const ul = _util.Util.applyTransform([width, 0], inv);\n\n const ur = _util.Util.applyTransform([width, height], inv);\n\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n\n this._ensureTransformGroup().appendChild(rect);\n }\n\n _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n\n _makeTilingPattern(args) {\n const color = args[1];\n const operatorList = args[2];\n const matrix = args[3] || _util.IDENTITY_MATRIX;\n const [x0, y0, x1, y1] = args[4];\n const xstep = args[5];\n const ystep = args[6];\n const paintType = args[7];\n const tilingId = `shading${shadingCount++}`;\n\n const [tx0, ty0, tx1, ty1] = _util.Util.normalizeRect([..._util.Util.applyTransform([x0, y0], matrix), ..._util.Util.applyTransform([x1, y1], matrix)]);\n\n const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);\n\n const txstep = xstep * xscale;\n const tystep = ystep * yscale;\n const tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", `${tx0}`);\n tiling.setAttributeNS(null, \"y\", `${ty0}`);\n const svg = this.svg;\n const transformMatrix = this.transformMatrix;\n const fillColor = this.current.fillColor;\n const strokeColor = this.current.strokeColor;\n const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n const cssColor = _util.Util.makeHexColor(...color);\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return `url(#${tilingId})`;\n }\n\n _makeShadingPattern(args) {\n if (typeof args === \"string\") {\n args = this.objs.get(args);\n }\n\n switch (args[0]) {\n case \"RadialAxial\":\n const shadingId = `shading${shadingCount++}`;\n const colorStops = args[3];\n let gradient;\n\n switch (args[1]) {\n case \"axial\":\n const point0 = args[4];\n const point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n\n case \"radial\":\n const focalPoint = args[4];\n const circlePoint = args[5];\n const focalRadius = args[6];\n const circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n\n default:\n throw new Error(`Unknown RadialAxial type: ${args[1]}`);\n }\n\n for (const colorStop of colorStops) {\n const stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.appendChild(stop);\n }\n\n this.defs.appendChild(gradient);\n return `url(#${shadingId})`;\n\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n\n case \"Dummy\":\n return \"hotpink\";\n\n default:\n throw new Error(`Unknown IR type: ${args[0]}`);\n }\n }\n\n setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n\n constructPath(ops, args) {\n const current = this.current;\n let x = current.x,\n y = current.y;\n let d = [];\n let j = 0;\n\n for (const op of ops) {\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n\n d = d.join(\" \");\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n\n endPath() {\n const current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n const clipId = `clippath${clipCount++}`;\n const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n const clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n\n for (const prev of this.extraStack) {\n prev.clipGroup = null;\n }\n\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n\n current.activeClipUrl = `url(#${clipId})`;\n this.tgrp = null;\n }\n\n clip(type) {\n this.pendingClip = type;\n }\n\n closePath() {\n const current = this.current;\n\n if (current.path) {\n const d = `${current.path.getAttributeNS(null, \"d\")}Z`;\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n\n setLeading(leading) {\n this.current.leading = -leading;\n }\n\n setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n\n setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n\n setRenderingIntent(intent) {}\n\n setFlatness(flatness) {}\n\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value);\n break;\n\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n\n case \"ca\":\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(`Unimplemented graphic state operator ${key}`);\n break;\n }\n }\n }\n\n fill() {\n const current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n\n stroke() {\n const current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n\n _setStrokeAttributes(element, lineWidthScale = 1) {\n const current = this.current;\n let dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n\n eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n\n fillStroke() {\n this.stroke();\n this.fill();\n }\n\n eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n\n closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n\n paintSolidColorImageMask() {\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n\n paintImageXObject(objId) {\n const imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`);\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n\n paintInlineImageXObject(imgData, mask) {\n const width = imgData.width;\n const height = imgData.height;\n const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n const imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", `scale(${pf(1 / width)} ${pf(-1 / height)})`);\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n\n paintImageMaskXObject(imgData) {\n const current = this.current;\n const width = imgData.width;\n const height = imgData.height;\n const fillColor = current.fillColor;\n current.maskId = `mask${maskCount++}`;\n const mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", `url(#${current.maskId})`);\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n\n paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n paintFormXObjectEnd() {}\n\n _initialize(viewport) {\n const svg = this.svgFactory.create(viewport.width, viewport.height);\n const definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n const rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n\n _ensureClipGroup() {\n if (!this.current.clipGroup) {\n const clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n\n _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n\n };\n}\n\n/***/ }),\n/* 25 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNodeStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(26);\n\n;\n\nconst fs = require(\"fs\");\n\nconst http = require(\"http\");\n\nconst https = require(\"https\");\n\nconst url = require(\"url\");\n\nconst fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n const parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(`file:///${sourceUrl}`);\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n\n return parsedUrl;\n}\n\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n\n}\n\nexports.PDFNodeStream = PDFNodeStream;\n\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n\n if (chunk === null) {\n this._readCapability = (0, _util.createPromiseCapability)();\n return this.read();\n }\n\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n\n}\n\nclass BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n\n if (chunk === null) {\n this._readCapability = (0, _util.createPromiseCapability)();\n return this.read();\n }\n\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n\n}\n\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers\n };\n}\n\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n\n this._headersCapability.reject(error);\n\n return;\n }\n\n this._headersCapability.resolve();\n\n this._setReadableStream(response);\n\n const getResponseHeader = name => {\n return this._readableStream.headers[name.toLowerCase()];\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n this._request = null;\n\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n\n this._headersCapability.reject(reason);\n });\n\n this._request.end();\n }\n\n}\n\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n this._httpHeaders = {};\n\n for (const property in stream.httpHeaders) {\n const value = stream.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n this._httpHeaders[property] = value;\n }\n\n this._httpHeaders.Range = `bytes=${start}-${end - 1}`;\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n\n this._setReadableStream(response);\n };\n\n this._request = null;\n\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n\n this._request.end();\n }\n\n}\n\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, (error, stat) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(`Missing PDF \"${path}\".`);\n }\n\n this._storedError = error;\n\n this._headersCapability.reject(error);\n\n return;\n }\n\n this._contentLength = stat.size;\n\n this._setReadableStream(fs.createReadStream(path));\n\n this._headersCapability.resolve();\n });\n }\n\n}\n\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n this._setReadableStream(fs.createReadStream(path, {\n start,\n end: end - 1\n }));\n }\n\n}\n\n/***/ }),\n/* 26 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _content_disposition = __w_pdfjs_require__(27);\n\nvar _display_utils = __w_pdfjs_require__(5);\n\nfunction validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp,\n rangeChunkSize,\n disableRange\n}) {\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n const contentDisposition = getResponseHeader(\"Content-Disposition\");\n\n if (contentDisposition) {\n let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if ((0, _display_utils.isPdfFile)(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF \"${url}\".`, status);\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 27 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = (0, _util.stringToBytes)(value);\n value = decoder.decode(buffer);\n needsEncodingFixup = false;\n } catch (e) {}\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match;\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n const parts = [];\n\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n\n let [quot, part] = matches[n];\n part = rfc2616unquote(part);\n\n if (quot) {\n part = unescape(part);\n\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n\n parts.push(part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n const encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replace(/_/g, \" \");\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return \"\";\n}\n\n/***/ }),\n/* 28 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNetworkStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(26);\n\n;\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n const data = xhr.response;\n\n if (typeof data !== \"string\") {\n return data;\n }\n\n const array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nclass NetworkManager {\n constructor(url, args = {}) {\n this.url = url;\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null);\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end\n };\n\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n\n requestFull(listeners) {\n return this.request(listeners);\n }\n\n request(args) {\n const xhr = this.getXhr();\n const xhrId = this.currXhrId++;\n const pendingRequest = this.pendingRequests[xhrId] = {\n xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (const property in this.httpHeaders) {\n const value = this.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n pendingRequest.onProgress?.(evt);\n }\n\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n const xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n\n const xhrStatus = xhr.status || OK_RESPONSE;\n const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n\n const chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk\n });\n } else {\n pendingRequest.onError?.(xhr.status);\n }\n }\n\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n\n}\n\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n\n}\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n const getResponseHeader = name => {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n\n _onDone(data) {\n if (data) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: data.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(data.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n }\n\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n\n this._headersReceivedCapability.reject(this._storedError);\n\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n\n this._requests.length = 0;\n this._cachedChunks.length = 0;\n }\n\n _onProgress(evt) {\n this.onProgress?.({\n loaded: evt.loaded,\n total: evt.lengthComputable ? evt.total : this._contentLength\n });\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get headersReady() {\n return this._headersReceivedCapability.promise;\n }\n\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n\n}\n\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = manager.url;\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this._storedError = undefined;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _close() {\n this.onClosed?.(this);\n }\n\n _onDone(data) {\n const chunk = data.chunk;\n\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n this._close();\n }\n\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n\n this._requests.length = 0;\n this._queuedChunk = null;\n }\n\n _onProgress(evt) {\n if (!this.isStreamingSupported) {\n this.onProgress?.({\n loaded: evt.loaded\n });\n }\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n\n}\n\n/***/ }),\n/* 29 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFetchStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(26);\n\n;\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController?.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\n\nfunction createHeaders(httpHeaders) {\n const headers = new Headers();\n\n for (const property in httpHeaders) {\n const value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n}\n\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n\n}\n\nexports.PDFFetchStream = PDFFetchStream;\n\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n this._reader = response.body.getReader();\n\n this._headersCapability.resolve();\n\n const getResponseHeader = name => {\n return response.headers.get(name);\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._headersCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n\n if (done) {\n return {\n value,\n done\n };\n }\n\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n const buffer = new Uint8Array(value).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n\n}\n\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n this._headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n this._readCapability.resolve();\n\n this._reader = response.body.getReader();\n }).catch(this._readCapability.reject);\n this.onProgress = null;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n\n if (done) {\n return {\n value,\n done\n };\n }\n\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n const buffer = new Uint8Array(value).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n\n}\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AnnotationLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_layer.AnnotationLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationMode\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationMode;\n }\n}));\nObject.defineProperty(exports, \"CMapCompressionType\", ({\n enumerable: true,\n get: function () {\n return _util.CMapCompressionType;\n }\n}));\nObject.defineProperty(exports, \"GlobalWorkerOptions\", ({\n enumerable: true,\n get: function () {\n return _worker_options.GlobalWorkerOptions;\n }\n}));\nObject.defineProperty(exports, \"InvalidPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.InvalidPDFException;\n }\n}));\nObject.defineProperty(exports, \"LoopbackPort\", ({\n enumerable: true,\n get: function () {\n return _api.LoopbackPort;\n }\n}));\nObject.defineProperty(exports, \"MissingPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.MissingPDFException;\n }\n}));\nObject.defineProperty(exports, \"OPS\", ({\n enumerable: true,\n get: function () {\n return _util.OPS;\n }\n}));\nObject.defineProperty(exports, \"PDFDataRangeTransport\", ({\n enumerable: true,\n get: function () {\n return _api.PDFDataRangeTransport;\n }\n}));\nObject.defineProperty(exports, \"PDFDateString\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PDFDateString;\n }\n}));\nObject.defineProperty(exports, \"PDFWorker\", ({\n enumerable: true,\n get: function () {\n return _api.PDFWorker;\n }\n}));\nObject.defineProperty(exports, \"PasswordResponses\", ({\n enumerable: true,\n get: function () {\n return _util.PasswordResponses;\n }\n}));\nObject.defineProperty(exports, \"PermissionFlag\", ({\n enumerable: true,\n get: function () {\n return _util.PermissionFlag;\n }\n}));\nObject.defineProperty(exports, \"PixelsPerInch\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PixelsPerInch;\n }\n}));\nObject.defineProperty(exports, \"RenderingCancelledException\", ({\n enumerable: true,\n get: function () {\n return _display_utils.RenderingCancelledException;\n }\n}));\nObject.defineProperty(exports, \"SVGGraphics\", ({\n enumerable: true,\n get: function () {\n return _svg.SVGGraphics;\n }\n}));\nObject.defineProperty(exports, \"UNSUPPORTED_FEATURES\", ({\n enumerable: true,\n get: function () {\n return _util.UNSUPPORTED_FEATURES;\n }\n}));\nObject.defineProperty(exports, \"UnexpectedResponseException\", ({\n enumerable: true,\n get: function () {\n return _util.UnexpectedResponseException;\n }\n}));\nObject.defineProperty(exports, \"Util\", ({\n enumerable: true,\n get: function () {\n return _util.Util;\n }\n}));\nObject.defineProperty(exports, \"VerbosityLevel\", ({\n enumerable: true,\n get: function () {\n return _util.VerbosityLevel;\n }\n}));\nObject.defineProperty(exports, \"XfaLayer\", ({\n enumerable: true,\n get: function () {\n return _xfa_layer.XfaLayer;\n }\n}));\nObject.defineProperty(exports, \"build\", ({\n enumerable: true,\n get: function () {\n return _api.build;\n }\n}));\nObject.defineProperty(exports, \"createPromiseCapability\", ({\n enumerable: true,\n get: function () {\n return _util.createPromiseCapability;\n }\n}));\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", ({\n enumerable: true,\n get: function () {\n return _util.createValidAbsoluteUrl;\n }\n}));\nObject.defineProperty(exports, \"getDocument\", ({\n enumerable: true,\n get: function () {\n return _api.getDocument;\n }\n}));\nObject.defineProperty(exports, \"getFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getPdfFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getPdfFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getXfaPageViewport\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getXfaPageViewport;\n }\n}));\nObject.defineProperty(exports, \"isPdfFile\", ({\n enumerable: true,\n get: function () {\n return _display_utils.isPdfFile;\n }\n}));\nObject.defineProperty(exports, \"loadScript\", ({\n enumerable: true,\n get: function () {\n return _display_utils.loadScript;\n }\n}));\nObject.defineProperty(exports, \"renderTextLayer\", ({\n enumerable: true,\n get: function () {\n return _text_layer.renderTextLayer;\n }\n}));\nObject.defineProperty(exports, \"shadow\", ({\n enumerable: true,\n get: function () {\n return _util.shadow;\n }\n}));\nObject.defineProperty(exports, \"version\", ({\n enumerable: true,\n get: function () {\n return _api.version;\n }\n}));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _api = __w_pdfjs_require__(4);\n\nvar _display_utils = __w_pdfjs_require__(5);\n\nvar _annotation_layer = __w_pdfjs_require__(20);\n\nvar _worker_options = __w_pdfjs_require__(13);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nvar _text_layer = __w_pdfjs_require__(23);\n\nvar _svg = __w_pdfjs_require__(24);\n\nvar _xfa_layer = __w_pdfjs_require__(22);\n\nconst pdfjsVersion = '2.14.305';\nconst pdfjsBuild = 'eaaa8b4ad';\n{\n if (_is_node.isNodeJS) {\n const {\n PDFNodeStream\n } = __w_pdfjs_require__(25);\n\n (0, _api.setPDFNetworkStreamFactory)(params => {\n return new PDFNodeStream(params);\n });\n } else {\n const {\n PDFNetworkStream\n } = __w_pdfjs_require__(28);\n\n const {\n PDFFetchStream\n } = __w_pdfjs_require__(29);\n\n (0, _api.setPDFNetworkStreamFactory)(params => {\n if ((0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n","/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2022 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = root.pdfjsViewer = factory();\n})(this, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DefaultXfaLayerFactory = exports.DefaultTextLayerFactory = exports.DefaultStructTreeLayerFactory = exports.DefaultAnnotationLayerFactory = void 0;\n\nvar _annotation_layer_builder = __w_pdfjs_require__(2);\n\nvar _l10n_utils = __w_pdfjs_require__(4);\n\nvar _pdf_link_service = __w_pdfjs_require__(5);\n\nvar _struct_tree_layer_builder = __w_pdfjs_require__(7);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nvar _xfa_layer_builder = __w_pdfjs_require__(9);\n\nclass DefaultAnnotationLayerFactory {\n createAnnotationLayerBuilder(pageDiv, pdfPage, annotationStorage = null, imageResourcesPath = \"\", renderForms = true, l10n = _l10n_utils.NullL10n, enableScripting = false, hasJSActionsPromise = null, mouseState = null, fieldObjectsPromise = null, annotationCanvasMap = null) {\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv,\n pdfPage,\n imageResourcesPath,\n renderForms,\n linkService: new _pdf_link_service.SimpleLinkService(),\n l10n,\n annotationStorage,\n enableScripting,\n hasJSActionsPromise,\n fieldObjectsPromise,\n mouseState,\n annotationCanvasMap\n });\n }\n\n}\n\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\nclass DefaultStructTreeLayerFactory {\n createStructTreeLayerBuilder(pdfPage) {\n return new _struct_tree_layer_builder.StructTreeLayerBuilder({\n pdfPage\n });\n }\n\n}\n\nexports.DefaultStructTreeLayerFactory = DefaultStructTreeLayerFactory;\n\nclass DefaultTextLayerFactory {\n createTextLayerBuilder(textLayerDiv, pageIndex, viewport, enhanceTextSelection = false, eventBus, highlighter) {\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv,\n pageIndex,\n viewport,\n enhanceTextSelection,\n eventBus,\n highlighter\n });\n }\n\n}\n\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\n\nclass DefaultXfaLayerFactory {\n createXfaLayerBuilder(pageDiv, pdfPage, annotationStorage = null, xfaHtml = null) {\n return new _xfa_layer_builder.XfaLayerBuilder({\n pageDiv,\n pdfPage,\n annotationStorage,\n linkService: new _pdf_link_service.SimpleLinkService(),\n xfaHtml\n });\n }\n\n}\n\nexports.DefaultXfaLayerFactory = DefaultXfaLayerFactory;\n\n/***/ }),\n/* 2 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nvar _l10n_utils = __w_pdfjs_require__(4);\n\nclass AnnotationLayerBuilder {\n constructor({\n pageDiv,\n pdfPage,\n linkService,\n downloadManager,\n annotationStorage = null,\n imageResourcesPath = \"\",\n renderForms = true,\n l10n = _l10n_utils.NullL10n,\n enableScripting = false,\n hasJSActionsPromise = null,\n fieldObjectsPromise = null,\n mouseState = null,\n annotationCanvasMap = null\n }) {\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderForms = renderForms;\n this.l10n = l10n;\n this.annotationStorage = annotationStorage;\n this.enableScripting = enableScripting;\n this._hasJSActionsPromise = hasJSActionsPromise;\n this._fieldObjectsPromise = fieldObjectsPromise;\n this._mouseState = mouseState;\n this._annotationCanvasMap = annotationCanvasMap;\n this.div = null;\n this._cancelled = false;\n }\n\n async render(viewport, intent = \"display\") {\n const [annotations, hasJSActions = false, fieldObjects = null] = await Promise.all([this.pdfPage.getAnnotations({\n intent\n }), this._hasJSActionsPromise, this._fieldObjectsPromise]);\n\n if (this._cancelled || annotations.length === 0) {\n return;\n }\n\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n annotations,\n page: this.pdfPage,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.renderForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n annotationStorage: this.annotationStorage,\n enableScripting: this.enableScripting,\n hasJSActions,\n fieldObjects,\n mouseState: this._mouseState,\n annotationCanvasMap: this._annotationCanvasMap\n };\n\n if (this.div) {\n _pdfjsLib.AnnotationLayer.update(parameters);\n } else {\n this.div = document.createElement(\"div\");\n this.div.className = \"annotationLayer\";\n this.pageDiv.appendChild(this.div);\n parameters.div = this.div;\n\n _pdfjsLib.AnnotationLayer.render(parameters);\n\n this.l10n.translate(this.div);\n }\n }\n\n cancel() {\n this._cancelled = true;\n }\n\n hide() {\n if (!this.div) {\n return;\n }\n\n this.div.hidden = true;\n }\n\n}\n\nexports.AnnotationLayerBuilder = AnnotationLayerBuilder;\n\n/***/ }),\n/* 3 */\n/***/ ((module) => {\n\n\n\nlet pdfjsLib;\n\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n pdfjsLib = require(\"../build/pdf.js\");\n}\n\nmodule.exports = pdfjsLib;\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NullL10n = void 0;\nexports.fixupLangCode = fixupLangCode;\nexports.getL10nFallback = getL10nFallback;\nconst DEFAULT_L10N_STRINGS = {\n of_pages: \"of {{pagesCount}}\",\n page_of_pages: \"({{pageNumber}} of {{pagesCount}})\",\n document_properties_kb: \"{{size_kb}} KB ({{size_b}} bytes)\",\n document_properties_mb: \"{{size_mb}} MB ({{size_b}} bytes)\",\n document_properties_date_string: \"{{date}}, {{time}}\",\n document_properties_page_size_unit_inches: \"in\",\n document_properties_page_size_unit_millimeters: \"mm\",\n document_properties_page_size_orientation_portrait: \"portrait\",\n document_properties_page_size_orientation_landscape: \"landscape\",\n document_properties_page_size_name_a3: \"A3\",\n document_properties_page_size_name_a4: \"A4\",\n document_properties_page_size_name_letter: \"Letter\",\n document_properties_page_size_name_legal: \"Legal\",\n document_properties_page_size_dimension_string: \"{{width}} × {{height}} {{unit}} ({{orientation}})\",\n document_properties_page_size_dimension_name_string: \"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})\",\n document_properties_linearized_yes: \"Yes\",\n document_properties_linearized_no: \"No\",\n print_progress_percent: \"{{progress}}%\",\n \"toggle_sidebar.title\": \"Toggle Sidebar\",\n \"toggle_sidebar_notification2.title\": \"Toggle Sidebar (document contains outline/attachments/layers)\",\n additional_layers: \"Additional Layers\",\n page_landmark: \"Page {{page}}\",\n thumb_page_title: \"Page {{page}}\",\n thumb_page_canvas: \"Thumbnail of Page {{page}}\",\n find_reached_top: \"Reached top of document, continued from bottom\",\n find_reached_bottom: \"Reached end of document, continued from top\",\n \"find_match_count[one]\": \"{{current}} of {{total}} match\",\n \"find_match_count[other]\": \"{{current}} of {{total}} matches\",\n \"find_match_count_limit[one]\": \"More than {{limit}} match\",\n \"find_match_count_limit[other]\": \"More than {{limit}} matches\",\n find_not_found: \"Phrase not found\",\n error_version_info: \"PDF.js v{{version}} (build: {{build}})\",\n error_message: \"Message: {{message}}\",\n error_stack: \"Stack: {{stack}}\",\n error_file: \"File: {{file}}\",\n error_line: \"Line: {{line}}\",\n rendering_error: \"An error occurred while rendering the page.\",\n page_scale_width: \"Page Width\",\n page_scale_fit: \"Page Fit\",\n page_scale_auto: \"Automatic Zoom\",\n page_scale_actual: \"Actual Size\",\n page_scale_percent: \"{{scale}}%\",\n loading: \"Loading…\",\n loading_error: \"An error occurred while loading the PDF.\",\n invalid_file_error: \"Invalid or corrupted PDF file.\",\n missing_file_error: \"Missing PDF file.\",\n unexpected_response_error: \"Unexpected server response.\",\n printing_not_supported: \"Warning: Printing is not fully supported by this browser.\",\n printing_not_ready: \"Warning: The PDF is not fully loaded for printing.\",\n web_fonts_disabled: \"Web fonts are disabled: unable to use embedded PDF fonts.\"\n};\n\nfunction getL10nFallback(key, args) {\n switch (key) {\n case \"find_match_count\":\n key = `find_match_count[${args.total === 1 ? \"one\" : \"other\"}]`;\n break;\n\n case \"find_match_count_limit\":\n key = `find_match_count_limit[${args.limit === 1 ? \"one\" : \"other\"}]`;\n break;\n }\n\n return DEFAULT_L10N_STRINGS[key] || \"\";\n}\n\nconst PARTIAL_LANG_CODES = {\n en: \"en-US\",\n es: \"es-ES\",\n fy: \"fy-NL\",\n ga: \"ga-IE\",\n gu: \"gu-IN\",\n hi: \"hi-IN\",\n hy: \"hy-AM\",\n nb: \"nb-NO\",\n ne: \"ne-NP\",\n nn: \"nn-NO\",\n pa: \"pa-IN\",\n pt: \"pt-PT\",\n sv: \"sv-SE\",\n zh: \"zh-CN\"\n};\n\nfunction fixupLangCode(langCode) {\n return PARTIAL_LANG_CODES[langCode?.toLowerCase()] || langCode;\n}\n\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (all, name) => {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\nconst NullL10n = {\n async getLanguage() {\n return \"en-us\";\n },\n\n async getDirection() {\n return \"ltr\";\n },\n\n async get(key, args = null, fallback = getL10nFallback(key, args)) {\n return formatL10nValue(fallback, args);\n },\n\n async translate(element) {}\n\n};\nexports.NullL10n = NullL10n;\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SimpleLinkService = exports.PDFLinkService = exports.LinkTarget = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nconst LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\n\nfunction addLinkAttributes(link, {\n url,\n target,\n rel,\n enabled = true\n} = {}) {\n if (!url || typeof url !== \"string\") {\n throw new Error('A valid \"url\" parameter must provided.');\n }\n\n const urlNullRemoved = (0, _ui_utils.removeNullCharacters)(url);\n\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${urlNullRemoved}`;\n\n link.onclick = () => {\n return false;\n };\n }\n\n let targetStr = \"\";\n\n switch (target) {\n case LinkTarget.NONE:\n break;\n\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\nclass PDFLinkService {\n #pagesRefCache = new Map();\n\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n ignoreDestinationZoom = false\n } = {}) {\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n }\n\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this.#pagesRefCache.clear();\n }\n\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n\n get page() {\n return this.pdfViewer.currentPageNumber;\n }\n\n set page(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n\n get rotation() {\n return this.pdfViewer.pagesRotation;\n }\n\n set rotation(value) {\n this.pdfViewer.pagesRotation = value;\n }\n\n #goToDestinationHelper(rawDest, namedDest = null, explicitDest) {\n const destRef = explicitDest[0];\n let pageNumber;\n\n if (typeof destRef === \"object\" && destRef !== null) {\n pageNumber = this._cachedPageNumber(destRef);\n\n if (!pageNumber) {\n this.pdfDocument.getPageIndex(destRef).then(pageIndex => {\n this.cachePageRef(pageIndex + 1, destRef);\n this.#goToDestinationHelper(rawDest, namedDest, explicitDest);\n }).catch(() => {\n console.error(`PDFLinkService.#goToDestinationHelper: \"${destRef}\" is not ` + `a valid page reference, for dest=\"${rawDest}\".`);\n });\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(`PDFLinkService.#goToDestinationHelper: \"${destRef}\" is not ` + `a valid destination reference, for dest=\"${rawDest}\".`);\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(`PDFLinkService.#goToDestinationHelper: \"${pageNumber}\" is not ` + `a valid page number, for dest=\"${rawDest}\".`);\n return;\n }\n\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({\n namedDest,\n explicitDest,\n pageNumber\n });\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom\n });\n }\n\n async goToDestination(dest) {\n if (!this.pdfDocument) {\n return;\n }\n\n let namedDest, explicitDest;\n\n if (typeof dest === \"string\") {\n namedDest = dest;\n explicitDest = await this.pdfDocument.getDestination(dest);\n } else {\n namedDest = null;\n explicitDest = await dest;\n }\n\n if (!Array.isArray(explicitDest)) {\n console.error(`PDFLinkService.goToDestination: \"${explicitDest}\" is not ` + `a valid destination array, for dest=\"${dest}\".`);\n return;\n }\n\n this.#goToDestinationHelper(dest, namedDest, explicitDest);\n }\n\n goToPage(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n const pageNumber = typeof val === \"string\" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;\n\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`PDFLinkService.goToPage: \"${val}\" is not a valid page.`);\n return;\n }\n\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.pushPage(pageNumber);\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber\n });\n }\n\n addLinkAttributes(link, url, newWindow = false) {\n addLinkAttributes(link, {\n url,\n target: newWindow ? LinkTarget.BLANK : this.externalLinkTarget,\n rel: this.externalLinkRel,\n enabled: this.externalLinkEnabled\n });\n }\n\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n if (dest.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n } else if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n\n if (str.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n }\n\n return this.getAnchorUrl(\"\");\n }\n\n getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n\n setHash(hash) {\n if (!this.pdfDocument) {\n return;\n }\n\n let pageNumber, dest;\n\n if (hash.includes(\"=\")) {\n const params = (0, _ui_utils.parseQueryString)(hash);\n\n if (params.has(\"search\")) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.get(\"search\").replace(/\"/g, \"\"),\n phraseSearch: params.get(\"phrase\") === \"true\"\n });\n }\n\n if (params.has(\"page\")) {\n pageNumber = params.get(\"page\") | 0 || 1;\n }\n\n if (params.has(\"zoom\")) {\n const zoomArgs = params.get(\"zoom\").split(\",\");\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(`PDFLinkService.setHash: \"${zoomArg}\" is not a valid zoom value.`);\n }\n }\n }\n\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n\n if (params.has(\"pagemode\")) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.get(\"pagemode\")\n });\n }\n\n if (params.has(\"nameddest\")) {\n this.goToDestination(params.get(\"nameddest\"));\n }\n } else {\n dest = unescape(hash);\n\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (typeof dest === \"string\" || PDFLinkService.#isValidExplicitDestination(dest)) {\n this.goToDestination(dest);\n return;\n }\n\n console.error(`PDFLinkService.setHash: \"${unescape(hash)}\" is not a valid destination.`);\n }\n }\n\n executeNamedAction(action) {\n switch (action) {\n case \"GoBack\":\n this.pdfHistory?.back();\n break;\n\n case \"GoForward\":\n this.pdfHistory?.forward();\n break;\n\n case \"NextPage\":\n this.pdfViewer.nextPage();\n break;\n\n case \"PrevPage\":\n this.pdfViewer.previousPage();\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break;\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action\n });\n }\n\n cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n\n const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n this.#pagesRefCache.set(refStr, pageNum);\n }\n\n _cachedPageNumber(pageRef) {\n if (!pageRef) {\n return null;\n }\n\n const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n return this.#pagesRefCache.get(refStr) || null;\n }\n\n isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n\n isPageCached(pageNumber) {\n return this.pdfViewer.isPageCached(pageNumber);\n }\n\n static #isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n\n const destLength = dest.length;\n\n if (destLength < 2) {\n return false;\n }\n\n const page = dest[0];\n\n if (!(typeof page === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n\n const zoom = dest[1];\n\n if (!(typeof zoom === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n\n let allowNull = true;\n\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n\n break;\n\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n\n break;\n\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n\n allowNull = false;\n break;\n\n default:\n return false;\n }\n\n for (let i = 2; i < destLength; i++) {\n const param = dest[i];\n\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n\n return true;\n }\n\n}\n\nexports.PDFLinkService = PDFLinkService;\n\nclass SimpleLinkService {\n constructor() {\n this.externalLinkEnabled = true;\n }\n\n get pagesCount() {\n return 0;\n }\n\n get page() {\n return 0;\n }\n\n set page(value) {}\n\n get rotation() {\n return 0;\n }\n\n set rotation(value) {}\n\n async goToDestination(dest) {}\n\n goToPage(val) {}\n\n addLinkAttributes(link, url, newWindow = false) {\n addLinkAttributes(link, {\n url,\n enabled: this.externalLinkEnabled\n });\n }\n\n getDestinationHash(dest) {\n return \"#\";\n }\n\n getAnchorUrl(hash) {\n return \"#\";\n }\n\n setHash(hash) {}\n\n executeNamedAction(action) {}\n\n cachePageRef(pageNum, pageRef) {}\n\n isPageVisible(pageNumber) {\n return true;\n }\n\n isPageCached(pageNumber) {\n return true;\n }\n\n}\n\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.animationStarted = exports.VERTICAL_PADDING = exports.UNKNOWN_SCALE = exports.TextLayerMode = exports.SpreadMode = exports.SidebarView = exports.ScrollMode = exports.SCROLLBAR_PADDING = exports.RenderingStates = exports.RendererType = exports.ProgressBar = exports.PresentationModeState = exports.OutputScale = exports.MIN_SCALE = exports.MAX_SCALE = exports.MAX_AUTO_SCALE = exports.DEFAULT_SCALE_VALUE = exports.DEFAULT_SCALE_DELTA = exports.DEFAULT_SCALE = exports.AutoPrintRegExp = void 0;\nexports.apiPageLayoutToViewerModes = apiPageLayoutToViewerModes;\nexports.apiPageModeToSidebarView = apiPageModeToSidebarView;\nexports.approximateFraction = approximateFraction;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.getActiveOrFocusedElement = getActiveOrFocusedElement;\nexports.getPageSizeInches = getPageSizeInches;\nexports.getVisibleElements = getVisibleElements;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.normalizeWheelEventDirection = normalizeWheelEventDirection;\nexports.parseQueryString = parseQueryString;\nexports.removeNullCharacters = removeNullCharacters;\nexports.roundToDivide = roundToDivide;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nconst DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nconst DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nconst DEFAULT_SCALE_DELTA = 1.1;\nexports.DEFAULT_SCALE_DELTA = DEFAULT_SCALE_DELTA;\nconst MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nconst MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nconst UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nconst MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nconst SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nconst VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nconst RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nexports.RenderingStates = RenderingStates;\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nconst SidebarView = {\n UNKNOWN: -1,\n NONE: 0,\n THUMBS: 1,\n OUTLINE: 2,\n ATTACHMENTS: 3,\n LAYERS: 4\n};\nexports.SidebarView = SidebarView;\nconst RendererType = {\n CANVAS: \"canvas\",\n SVG: \"svg\"\n};\nexports.RendererType = RendererType;\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2,\n PAGE: 3\n};\nexports.ScrollMode = ScrollMode;\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\n\nclass OutputScale {\n constructor() {\n const pixelRatio = window.devicePixelRatio || 1;\n this.sx = pixelRatio;\n this.sy = pixelRatio;\n }\n\n get scaled() {\n return this.sx !== 1 || this.sy !== 1;\n }\n\n}\n\nexports.OutputScale = OutputScale;\n\nfunction scrollIntoView(element, spot, scrollMatches = false) {\n let parent = element.offsetParent;\n\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains(\"markedContent\") || getComputedStyle(parent).overflow === \"hidden\")) {\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n\n if (!parent) {\n return;\n }\n }\n\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n\n parent.scrollTop = offsetY;\n}\n\nfunction watchScroll(viewAreaElement, callback) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n\n state.lastY = currentY;\n callback(state);\n });\n };\n\n const state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\nfunction parseQueryString(query) {\n const params = new Map();\n\n for (const [key, value] of new URLSearchParams(query)) {\n params.set(key.toLowerCase(), value);\n }\n\n return params;\n}\n\nconst NullCharactersRegExp = /\\x00/g;\nconst InvisibleCharactersRegExp = /[\\x01-\\x1F]/g;\n\nfunction removeNullCharacters(str, replaceInvisible = false) {\n if (typeof str !== \"string\") {\n console.error(`The argument must be a string.`);\n return str;\n }\n\n if (replaceInvisible) {\n str = str.replace(InvisibleCharactersRegExp, \" \");\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction binarySearchFirstItem(items, condition, start = 0) {\n let minIndex = start;\n let maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n const currentIndex = minIndex + maxIndex >> 1;\n const currentItem = items[currentIndex];\n\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n\n return minIndex;\n}\n\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n\n const xinv = 1 / x;\n const limit = 8;\n\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n const x_ = x > 1 ? xinv : x;\n let a = 0,\n b = 1,\n c = 1,\n d = 1;\n\n while (true) {\n const p = a + c,\n q = b + d;\n\n if (q > limit) {\n break;\n }\n\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n\n let result;\n\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n\n return result;\n}\n\nfunction roundToDivide(x, div) {\n const r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\nfunction getPageSizeInches({\n view,\n userUnit,\n rotate\n}) {\n const [x1, y1, x2, y2] = view;\n const changeOrientation = rotate % 180 !== 0;\n const width = (x2 - x1) / 72 * userUnit;\n const height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\n\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n\n index = i;\n }\n\n return index;\n}\n\nfunction getVisibleElements({\n scrollEl,\n views,\n sortByVisibility = false,\n horizontal = false,\n rtl = false\n}) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n\n function isElementNextAfterViewHorizontally(view) {\n const element = view.div;\n const elementLeft = element.offsetLeft + element.clientLeft;\n const elementRight = elementLeft + element.clientWidth;\n return rtl ? elementLeft < right : elementRight > left;\n }\n\n const visible = [],\n ids = new Set(),\n numViews = views.length;\n let firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop);\n\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n\n let lastEdge = horizontal ? right : -1;\n\n for (let i = firstVisibleElementInd; i < numViews; i++) {\n const view = views[i],\n element = view.div;\n const currentWidth = element.offsetLeft + element.clientLeft;\n const currentHeight = element.offsetTop + element.clientTop;\n const viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n const viewRight = currentWidth + viewWidth;\n const viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n\n const hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n const hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n const fractionHeight = (viewHeight - hiddenHeight) / viewHeight,\n fractionWidth = (viewWidth - hiddenWidth) / viewWidth;\n const percent = fractionHeight * fractionWidth * 100 | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view,\n percent,\n widthPercent: fractionWidth * 100 | 0\n });\n ids.add(view.id);\n }\n\n const first = visible[0],\n last = visible[visible.length - 1];\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n\n return a.id - b.id;\n });\n }\n\n return {\n first,\n last,\n views: visible,\n ids\n };\n}\n\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction normalizeWheelEventDirection(evt) {\n let delta = Math.hypot(evt.deltaX, evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n\n return delta;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n let delta = normalizeWheelEventDirection(evt);\n const MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n const MOUSE_DOM_DELTA_LINE_MODE = 1;\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\n\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\nconst animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nclass ProgressBar {\n constructor(id) {\n if (arguments.length > 1) {\n throw new Error(\"ProgressBar no longer accepts any additional options, \" + \"please use CSS rules to modify its appearance instead.\");\n }\n\n this.visible = true;\n this.div = document.querySelector(id + \" .progress\");\n this.bar = this.div.parentNode;\n this.percent = 0;\n }\n\n #updateBar() {\n if (this._indeterminate) {\n this.div.classList.add(\"indeterminate\");\n return;\n }\n\n this.div.classList.remove(\"indeterminate\");\n const doc = document.documentElement;\n doc.style.setProperty(\"--progressBar-percent\", `${this._percent}%`);\n }\n\n get percent() {\n return this._percent;\n }\n\n set percent(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n this.#updateBar();\n }\n\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n if (scrollbarWidth > 0) {\n const doc = document.documentElement;\n doc.style.setProperty(\"--progressBar-end-offset\", `${scrollbarWidth}px`);\n }\n }\n\n hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n this.bar.classList.add(\"hidden\");\n }\n\n show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\n this.bar.classList.remove(\"hidden\");\n }\n\n}\n\nexports.ProgressBar = ProgressBar;\n\nfunction getActiveOrFocusedElement() {\n let curRoot = document;\n let curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n\n while (curActiveOrFocused?.shadowRoot) {\n curRoot = curActiveOrFocused.shadowRoot;\n curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n }\n\n return curActiveOrFocused;\n}\n\nfunction apiPageLayoutToViewerModes(layout) {\n let scrollMode = ScrollMode.VERTICAL,\n spreadMode = SpreadMode.NONE;\n\n switch (layout) {\n case \"SinglePage\":\n scrollMode = ScrollMode.PAGE;\n break;\n\n case \"OneColumn\":\n break;\n\n case \"TwoPageLeft\":\n scrollMode = ScrollMode.PAGE;\n\n case \"TwoColumnLeft\":\n spreadMode = SpreadMode.ODD;\n break;\n\n case \"TwoPageRight\":\n scrollMode = ScrollMode.PAGE;\n\n case \"TwoColumnRight\":\n spreadMode = SpreadMode.EVEN;\n break;\n }\n\n return {\n scrollMode,\n spreadMode\n };\n}\n\nfunction apiPageModeToSidebarView(mode) {\n switch (mode) {\n case \"UseNone\":\n return SidebarView.NONE;\n\n case \"UseThumbs\":\n return SidebarView.THUMBS;\n\n case \"UseOutlines\":\n return SidebarView.OUTLINE;\n\n case \"UseAttachments\":\n return SidebarView.ATTACHMENTS;\n\n case \"UseOC\":\n return SidebarView.LAYERS;\n }\n\n return SidebarView.NONE;\n}\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StructTreeLayerBuilder = void 0;\nconst PDF_ROLE_TO_HTML_ROLE = {\n Document: null,\n DocumentFragment: null,\n Part: \"group\",\n Sect: \"group\",\n Div: \"group\",\n Aside: \"note\",\n NonStruct: \"none\",\n P: null,\n H: \"heading\",\n Title: null,\n FENote: \"note\",\n Sub: \"group\",\n Lbl: null,\n Span: null,\n Em: null,\n Strong: null,\n Link: \"link\",\n Annot: \"note\",\n Form: \"form\",\n Ruby: null,\n RB: null,\n RT: null,\n RP: null,\n Warichu: null,\n WT: null,\n WP: null,\n L: \"list\",\n LI: \"listitem\",\n LBody: null,\n Table: \"table\",\n TR: \"row\",\n TH: \"columnheader\",\n TD: \"cell\",\n THead: \"columnheader\",\n TBody: null,\n TFoot: null,\n Caption: null,\n Figure: \"figure\",\n Formula: null,\n Artifact: null\n};\nconst HEADING_PATTERN = /^H(\\d+)$/;\n\nclass StructTreeLayerBuilder {\n constructor({\n pdfPage\n }) {\n this.pdfPage = pdfPage;\n }\n\n render(structTree) {\n return this._walk(structTree);\n }\n\n _setAttributes(structElement, htmlElement) {\n if (structElement.alt !== undefined) {\n htmlElement.setAttribute(\"aria-label\", structElement.alt);\n }\n\n if (structElement.id !== undefined) {\n htmlElement.setAttribute(\"aria-owns\", structElement.id);\n }\n\n if (structElement.lang !== undefined) {\n htmlElement.setAttribute(\"lang\", structElement.lang);\n }\n }\n\n _walk(node) {\n if (!node) {\n return null;\n }\n\n const element = document.createElement(\"span\");\n\n if (\"role\" in node) {\n const {\n role\n } = node;\n const match = role.match(HEADING_PATTERN);\n\n if (match) {\n element.setAttribute(\"role\", \"heading\");\n element.setAttribute(\"aria-level\", match[1]);\n } else if (PDF_ROLE_TO_HTML_ROLE[role]) {\n element.setAttribute(\"role\", PDF_ROLE_TO_HTML_ROLE[role]);\n }\n }\n\n this._setAttributes(node, element);\n\n if (node.children) {\n if (node.children.length === 1 && \"id\" in node.children[0]) {\n this._setAttributes(node.children[0], element);\n } else {\n for (const kid of node.children) {\n element.appendChild(this._walk(kid));\n }\n }\n }\n\n return element;\n }\n\n}\n\nexports.StructTreeLayerBuilder = StructTreeLayerBuilder;\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nconst EXPAND_DIVS_TIMEOUT = 300;\n\nclass TextLayerBuilder {\n constructor({\n textLayerDiv,\n eventBus,\n pageIndex,\n viewport,\n highlighter = null,\n enhanceTextSelection = false\n }) {\n this.textLayerDiv = textLayerDiv;\n this.eventBus = eventBus;\n this.textContent = null;\n this.textContentItemsStr = [];\n this.textContentStream = null;\n this.renderingDone = false;\n this.pageNumber = pageIndex + 1;\n this.viewport = viewport;\n this.textDivs = [];\n this.textLayerRenderTask = null;\n this.highlighter = highlighter;\n this.enhanceTextSelection = enhanceTextSelection;\n\n this._bindMouse();\n }\n\n _finishRendering() {\n this.renderingDone = true;\n\n if (!this.enhanceTextSelection) {\n const endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.textLayerDiv.appendChild(endOfContent);\n }\n\n this.eventBus.dispatch(\"textlayerrendered\", {\n source: this,\n pageNumber: this.pageNumber,\n numTextDivs: this.textDivs.length\n });\n }\n\n render(timeout = 0) {\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n\n this.cancel();\n this.textDivs.length = 0;\n this.highlighter?.setTextMapping(this.textDivs, this.textContentItemsStr);\n const textLayerFrag = document.createDocumentFragment();\n this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({\n textContent: this.textContent,\n textContentStream: this.textContentStream,\n container: textLayerFrag,\n viewport: this.viewport,\n textDivs: this.textDivs,\n textContentItemsStr: this.textContentItemsStr,\n timeout,\n enhanceTextSelection: this.enhanceTextSelection\n });\n this.textLayerRenderTask.promise.then(() => {\n this.textLayerDiv.appendChild(textLayerFrag);\n\n this._finishRendering();\n\n this.highlighter?.enable();\n }, function (reason) {});\n }\n\n cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n\n this.highlighter?.disable();\n }\n\n setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n\n setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n\n _bindMouse() {\n const div = this.textLayerDiv;\n let expandDivsTimer = null;\n div.addEventListener(\"mousedown\", evt => {\n if (this.enhanceTextSelection && this.textLayerRenderTask) {\n this.textLayerRenderTask.expandTextDivs(true);\n\n if (expandDivsTimer) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n\n return;\n }\n\n const end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n let adjustTop = evt.target !== div;\n adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue(\"-moz-user-select\") !== \"none\";\n\n if (adjustTop) {\n const divBounds = div.getBoundingClientRect();\n const r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + \"%\";\n }\n\n end.classList.add(\"active\");\n });\n div.addEventListener(\"mouseup\", () => {\n if (this.enhanceTextSelection && this.textLayerRenderTask) {\n expandDivsTimer = setTimeout(() => {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.expandTextDivs(false);\n }\n\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n return;\n }\n\n const end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n end.style.top = \"\";\n end.classList.remove(\"active\");\n });\n }\n\n}\n\nexports.TextLayerBuilder = TextLayerBuilder;\n\n/***/ }),\n/* 9 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nclass XfaLayerBuilder {\n constructor({\n pageDiv,\n pdfPage,\n annotationStorage = null,\n linkService,\n xfaHtml = null\n }) {\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.annotationStorage = annotationStorage;\n this.linkService = linkService;\n this.xfaHtml = xfaHtml;\n this.div = null;\n this._cancelled = false;\n }\n\n render(viewport, intent = \"display\") {\n if (intent === \"print\") {\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfaHtml: this.xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent\n };\n const div = document.createElement(\"div\");\n this.pageDiv.appendChild(div);\n parameters.div = div;\n\n const result = _pdfjsLib.XfaLayer.render(parameters);\n\n return Promise.resolve(result);\n }\n\n return this.pdfPage.getXfa().then(xfaHtml => {\n if (this._cancelled || !xfaHtml) {\n return {\n textDivs: []\n };\n }\n\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent\n };\n\n if (this.div) {\n return _pdfjsLib.XfaLayer.update(parameters);\n }\n\n this.div = document.createElement(\"div\");\n this.pageDiv.appendChild(this.div);\n parameters.div = this.div;\n return _pdfjsLib.XfaLayer.render(parameters);\n }).catch(error => {\n console.error(error);\n });\n }\n\n cancel() {\n this._cancelled = true;\n }\n\n hide() {\n if (!this.div) {\n return;\n }\n\n this.div.hidden = true;\n }\n\n}\n\nexports.XfaLayerBuilder = XfaLayerBuilder;\n\n/***/ }),\n/* 10 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFViewer = exports.PDFSinglePageViewer = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nvar _base_viewer = __w_pdfjs_require__(11);\n\nclass PDFViewer extends _base_viewer.BaseViewer {}\n\nexports.PDFViewer = PDFViewer;\n\nclass PDFSinglePageViewer extends _base_viewer.BaseViewer {\n _resetView() {\n super._resetView();\n\n this._scrollMode = _ui_utils.ScrollMode.PAGE;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n }\n\n set scrollMode(mode) {}\n\n _updateScrollMode() {}\n\n set spreadMode(mode) {}\n\n _updateSpreadMode() {}\n\n}\n\nexports.PDFSinglePageViewer = PDFSinglePageViewer;\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PagesCountLimit = exports.PDFPageViewBuffer = exports.BaseViewer = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(2);\n\nvar _l10n_utils = __w_pdfjs_require__(4);\n\nvar _pdf_page_view = __w_pdfjs_require__(12);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(14);\n\nvar _pdf_link_service = __w_pdfjs_require__(5);\n\nvar _struct_tree_layer_builder = __w_pdfjs_require__(7);\n\nvar _text_highlighter = __w_pdfjs_require__(15);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nvar _xfa_layer_builder = __w_pdfjs_require__(9);\n\nconst DEFAULT_CACHE_SIZE = 10;\nconst ENABLE_PERMISSIONS_CLASS = \"enablePermissions\";\nconst PagesCountLimit = {\n FORCE_SCROLL_MODE_PAGE: 15000,\n FORCE_LAZY_PAGE_INIT: 7500,\n PAUSE_EAGER_PAGE_INIT: 250\n};\nexports.PagesCountLimit = PagesCountLimit;\n\nclass PDFPageViewBuffer {\n #buf = new Set();\n #size = 0;\n\n constructor(size) {\n this.#size = size;\n }\n\n push(view) {\n const buf = this.#buf;\n\n if (buf.has(view)) {\n buf.delete(view);\n }\n\n buf.add(view);\n\n if (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n\n resize(newSize, idsToKeep = null) {\n this.#size = newSize;\n const buf = this.#buf;\n\n if (idsToKeep) {\n const ii = buf.size;\n let i = 1;\n\n for (const view of buf) {\n if (idsToKeep.has(view.id)) {\n buf.delete(view);\n buf.add(view);\n }\n\n if (++i > ii) {\n break;\n }\n }\n }\n\n while (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n\n has(view) {\n return this.#buf.has(view);\n }\n\n [Symbol.iterator]() {\n return this.#buf.keys();\n }\n\n #destroyFirstView() {\n const firstView = this.#buf.keys().next().value;\n firstView?.destroy();\n this.#buf.delete(firstView);\n }\n\n}\n\nexports.PDFPageViewBuffer = PDFPageViewBuffer;\n\nclass BaseViewer {\n #buffer = null;\n #annotationMode = _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n #previousAnnotationMode = null;\n #enablePermissions = false;\n #previousContainerHeight = 0;\n #scrollModePageState = null;\n #onVisibilityChange = null;\n\n constructor(options) {\n if (this.constructor === BaseViewer) {\n throw new Error(\"Cannot initialize BaseViewer.\");\n }\n\n const viewerVersion = '2.14.305';\n\n if (_pdfjsLib.version !== viewerVersion) {\n throw new Error(`The API version \"${_pdfjsLib.version}\" does not match the Viewer version \"${viewerVersion}\".`);\n }\n\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n\n if (!(this.container?.tagName.toUpperCase() === \"DIV\" && this.viewer?.tagName.toUpperCase() === \"DIV\")) {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\n }\n\n if (this.container.offsetParent && getComputedStyle(this.container).position !== \"absolute\") {\n throw new Error(\"The `container` must be absolutely positioned.\");\n }\n\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this._scriptingManager = options.scriptingManager || null;\n this.removePageBorders = options.removePageBorders || false;\n this.textLayerMode = options.textLayerMode ?? _ui_utils.TextLayerMode.ENABLE;\n this.#annotationMode = options.annotationMode ?? _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n || _l10n_utils.NullL10n;\n this.#enablePermissions = options.enablePermissions || false;\n this.pageColors = options.pageColors || null;\n\n if (options.pageColors && (!CSS.supports(\"color\", options.pageColors.background) || !CSS.supports(\"color\", options.pageColors.foreground))) {\n if (options.pageColors.background || options.pageColors.foreground) {\n console.warn(\"Ignoring `pageColors`-option, since the browser doesn't support the values used.\");\n }\n\n this.pageColors = null;\n }\n\n this.defaultRenderingQueue = !options.renderingQueue;\n\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n\n this._doc = document.documentElement;\n this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;\n this._onBeforeDraw = this._onAfterDraw = null;\n\n this._resetView();\n\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n\n this.updateContainerHeightCss();\n Promise.resolve().then(() => {\n this.eventBus.dispatch(\"baseviewerinit\", {\n source: this\n });\n });\n }\n\n get pagesCount() {\n return this._pages.length;\n }\n\n getPageView(index) {\n return this._pages[index];\n }\n\n get pageViewsReady() {\n if (!this._pagesCapability.settled) {\n return false;\n }\n\n return this._pages.every(function (pageView) {\n return pageView?.pdfPage;\n });\n }\n\n get renderForms() {\n return this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n }\n\n get enableScripting() {\n return !!this._scriptingManager;\n }\n\n get currentPageNumber() {\n return this._currentPageNumber;\n }\n\n set currentPageNumber(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(`currentPageNumber: \"${val}\" is not a valid page.`);\n }\n }\n\n _setCurrentPageNumber(val, resetCurrentPageView = false) {\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n\n return true;\n }\n\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n\n const previous = this._currentPageNumber;\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels?.[val - 1] ?? null,\n previous\n });\n\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n\n return true;\n }\n\n get currentPageLabel() {\n return this._pageLabels?.[this._currentPageNumber - 1] ?? null;\n }\n\n set currentPageLabel(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n let page = val | 0;\n\n if (this._pageLabels) {\n const i = this._pageLabels.indexOf(val);\n\n if (i >= 0) {\n page = i + 1;\n }\n }\n\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(`currentPageLabel: \"${val}\" is not a valid page.`);\n }\n }\n\n get currentScale() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n }\n\n set currentScale(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n\n get currentScaleValue() {\n return this._currentScaleValue;\n }\n\n set currentScaleValue(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n\n get pagesRotation() {\n return this._pagesRotation;\n }\n\n set pagesRotation(rotation) {\n if (!(0, _ui_utils.isValidRotation)(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n rotation %= 360;\n\n if (rotation < 0) {\n rotation += 360;\n }\n\n if (this._pagesRotation === rotation) {\n return;\n }\n\n this._pagesRotation = rotation;\n const pageNumber = this._currentPageNumber;\n const updateArgs = {\n rotation\n };\n\n for (const pageView of this._pages) {\n pageView.update(updateArgs);\n }\n\n if (this._currentScaleValue) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n\n get firstPagePromise() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n\n get onePageRendered() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n\n get pagesPromise() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n\n #initializePermissions(permissions) {\n if (!permissions) {\n return;\n }\n\n if (!permissions.includes(_pdfjsLib.PermissionFlag.COPY)) {\n this.viewer.classList.add(ENABLE_PERMISSIONS_CLASS);\n }\n\n if (!permissions.includes(_pdfjsLib.PermissionFlag.MODIFY_ANNOTATIONS) && !permissions.includes(_pdfjsLib.PermissionFlag.FILL_INTERACTIVE_FORMS)) {\n if (this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS) {\n this.#previousAnnotationMode = this.#annotationMode;\n this.#annotationMode = _pdfjsLib.AnnotationMode.ENABLE;\n }\n }\n }\n\n #onePageRenderedOrForceFetch() {\n if (document.visibilityState === \"hidden\" || !this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return Promise.resolve();\n }\n\n const visibilityChangePromise = new Promise(resolve => {\n this.#onVisibilityChange = () => {\n if (document.visibilityState !== \"hidden\") {\n return;\n }\n\n resolve();\n document.removeEventListener(\"visibilitychange\", this.#onVisibilityChange);\n this.#onVisibilityChange = null;\n };\n\n document.addEventListener(\"visibilitychange\", this.#onVisibilityChange);\n });\n return Promise.race([this._onePageRenderedCapability.promise, visibilityChangePromise]);\n }\n\n setDocument(pdfDocument) {\n if (this.pdfDocument) {\n this.eventBus.dispatch(\"pagesdestroy\", {\n source: this\n });\n\n this._cancelRendering();\n\n this._resetView();\n\n if (this.findController) {\n this.findController.setDocument(null);\n }\n\n if (this._scriptingManager) {\n this._scriptingManager.setDocument(null);\n }\n }\n\n this.pdfDocument = pdfDocument;\n\n if (!pdfDocument) {\n return;\n }\n\n const isPureXfa = pdfDocument.isPureXfa;\n const pagesCount = pdfDocument.numPages;\n const firstPagePromise = pdfDocument.getPage(1);\n const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();\n const permissionsPromise = this.#enablePermissions ? pdfDocument.getPermissions() : Promise.resolve();\n\n if (pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {\n console.warn(\"Forcing PAGE-scrolling for performance reasons, given the length of the document.\");\n const mode = this._scrollMode = _ui_utils.ScrollMode.PAGE;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n }\n\n this._pagesCapability.promise.then(() => {\n this.eventBus.dispatch(\"pagesloaded\", {\n source: this,\n pagesCount\n });\n }, () => {});\n\n this._onBeforeDraw = evt => {\n const pageView = this._pages[evt.pageNumber - 1];\n\n if (!pageView) {\n return;\n }\n\n this.#buffer.push(pageView);\n };\n\n this.eventBus._on(\"pagerender\", this._onBeforeDraw);\n\n this._onAfterDraw = evt => {\n if (evt.cssTransform || this._onePageRenderedCapability.settled) {\n return;\n }\n\n this._onePageRenderedCapability.resolve({\n timestamp: evt.timestamp\n });\n\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n\n this._onAfterDraw = null;\n\n if (this.#onVisibilityChange) {\n document.removeEventListener(\"visibilitychange\", this.#onVisibilityChange);\n this.#onVisibilityChange = null;\n }\n };\n\n this.eventBus._on(\"pagerendered\", this._onAfterDraw);\n\n Promise.all([firstPagePromise, permissionsPromise]).then(([firstPdfPage, permissions]) => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n\n this._firstPageCapability.resolve(firstPdfPage);\n\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n this.#initializePermissions(permissions);\n const viewerElement = this._scrollMode === _ui_utils.ScrollMode.PAGE ? null : this.viewer;\n const scale = this.currentScale;\n const viewport = firstPdfPage.getViewport({\n scale: scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS\n });\n const textLayerFactory = this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && !isPureXfa ? this : null;\n const annotationLayerFactory = this.#annotationMode !== _pdfjsLib.AnnotationMode.DISABLE ? this : null;\n const xfaLayerFactory = isPureXfa ? this : null;\n\n for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n const pageView = new _pdf_page_view.PDFPageView({\n container: viewerElement,\n eventBus: this.eventBus,\n id: pageNum,\n scale,\n defaultViewport: viewport.clone(),\n optionalContentConfigPromise,\n renderingQueue: this.renderingQueue,\n textLayerFactory,\n textLayerMode: this.textLayerMode,\n annotationLayerFactory,\n annotationMode: this.#annotationMode,\n xfaLayerFactory,\n textHighlighterFactory: this,\n structTreeLayerFactory: this,\n imageResourcesPath: this.imageResourcesPath,\n renderer: this.renderer,\n useOnlyCssZoom: this.useOnlyCssZoom,\n maxCanvasPixels: this.maxCanvasPixels,\n pageColors: this.pageColors,\n l10n: this.l10n\n });\n\n this._pages.push(pageView);\n }\n\n const firstPageView = this._pages[0];\n\n if (firstPageView) {\n firstPageView.setPdfPage(firstPdfPage);\n this.linkService.cachePageRef(1, firstPdfPage.ref);\n }\n\n if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else if (this._spreadMode !== _ui_utils.SpreadMode.NONE) {\n this._updateSpreadMode();\n }\n\n this.#onePageRenderedOrForceFetch().then(async () => {\n if (this.findController) {\n this.findController.setDocument(pdfDocument);\n }\n\n if (this._scriptingManager) {\n this._scriptingManager.setDocument(pdfDocument);\n }\n\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > PagesCountLimit.FORCE_LAZY_PAGE_INIT) {\n this._pagesCapability.resolve();\n\n return;\n }\n\n let getPagesLeft = pagesCount - 1;\n\n if (getPagesLeft <= 0) {\n this._pagesCapability.resolve();\n\n return;\n }\n\n for (let pageNum = 2; pageNum <= pagesCount; ++pageNum) {\n const promise = pdfDocument.getPage(pageNum).then(pdfPage => {\n const pageView = this._pages[pageNum - 1];\n\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n this.linkService.cachePageRef(pageNum, pdfPage.ref);\n\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n }, reason => {\n console.error(`Unable to get page ${pageNum} to initialize viewer`, reason);\n\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n });\n\n if (pageNum % PagesCountLimit.PAUSE_EAGER_PAGE_INIT === 0) {\n await promise;\n }\n }\n });\n this.eventBus.dispatch(\"pagesinit\", {\n source: this\n });\n pdfDocument.getMetadata().then(({\n info\n }) => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n\n if (info.Language) {\n this.viewer.lang = info.Language;\n }\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }).catch(reason => {\n console.error(\"Unable to initialize viewer\", reason);\n\n this._pagesCapability.reject(reason);\n });\n }\n\n setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n\n if (!labels) {\n this._pageLabels = null;\n } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error(`setPageLabels: Invalid page labels.`);\n } else {\n this._pageLabels = labels;\n }\n\n for (let i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].setPageLabel(this._pageLabels?.[i] ?? null);\n }\n }\n\n _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = _ui_utils.UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this.#buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._optionalContentConfigPromise = null;\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._scrollMode = _ui_utils.ScrollMode.VERTICAL;\n this._previousScrollMode = _ui_utils.ScrollMode.UNKNOWN;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n this.#scrollModePageState = {\n previousPageNumber: 1,\n scrollDown: true,\n pages: []\n };\n\n if (this._onBeforeDraw) {\n this.eventBus._off(\"pagerender\", this._onBeforeDraw);\n\n this._onBeforeDraw = null;\n }\n\n if (this._onAfterDraw) {\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n\n this._onAfterDraw = null;\n }\n\n if (this.#onVisibilityChange) {\n document.removeEventListener(\"visibilitychange\", this.#onVisibilityChange);\n this.#onVisibilityChange = null;\n }\n\n this.viewer.textContent = \"\";\n\n this._updateScrollMode();\n\n this.viewer.removeAttribute(\"lang\");\n this.viewer.classList.remove(ENABLE_PERMISSIONS_CLASS);\n\n if (this.#previousAnnotationMode !== null) {\n this.#annotationMode = this.#previousAnnotationMode;\n this.#previousAnnotationMode = null;\n }\n }\n\n #ensurePageViewVisible() {\n if (this._scrollMode !== _ui_utils.ScrollMode.PAGE) {\n throw new Error(\"#ensurePageViewVisible: Invalid scrollMode value.\");\n }\n\n const pageNumber = this._currentPageNumber,\n state = this.#scrollModePageState,\n viewer = this.viewer;\n viewer.textContent = \"\";\n state.pages.length = 0;\n\n if (this._spreadMode === _ui_utils.SpreadMode.NONE && !this.isInPresentationMode) {\n const pageView = this._pages[pageNumber - 1];\n viewer.appendChild(pageView.div);\n state.pages.push(pageView);\n } else {\n const pageIndexSet = new Set(),\n parity = this._spreadMode - 1;\n\n if (parity === -1) {\n pageIndexSet.add(pageNumber - 1);\n } else if (pageNumber % 2 !== parity) {\n pageIndexSet.add(pageNumber - 1);\n pageIndexSet.add(pageNumber);\n } else {\n pageIndexSet.add(pageNumber - 2);\n pageIndexSet.add(pageNumber - 1);\n }\n\n const spread = document.createElement(\"div\");\n spread.className = \"spread\";\n\n if (this.isInPresentationMode) {\n const dummyPage = document.createElement(\"div\");\n dummyPage.className = \"dummyPage\";\n spread.appendChild(dummyPage);\n }\n\n for (const i of pageIndexSet) {\n const pageView = this._pages[i];\n\n if (!pageView) {\n continue;\n }\n\n spread.appendChild(pageView.div);\n state.pages.push(pageView);\n }\n\n viewer.appendChild(spread);\n }\n\n state.scrollDown = pageNumber >= state.previousPageNumber;\n state.previousPageNumber = pageNumber;\n }\n\n _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n\n this.update();\n }\n\n #scrollIntoView(pageView, pageSpot = null) {\n const {\n div,\n id\n } = pageView;\n\n if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {\n this._setCurrentPageNumber(id);\n\n this.#ensurePageViewVisible();\n this.update();\n }\n\n if (!pageSpot && !this.isInPresentationMode) {\n const left = div.offsetLeft + div.clientLeft,\n right = left + div.clientWidth;\n const {\n scrollLeft,\n clientWidth\n } = this.container;\n\n if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n\n (0, _ui_utils.scrollIntoView)(div, pageSpot);\n }\n\n #isSameScale(newScale) {\n return newScale === this._currentScale || Math.abs(newScale - this._currentScale) < 1e-15;\n }\n\n _setScaleUpdatePages(newScale, newValue, noScroll = false, preset = false) {\n this._currentScaleValue = newValue.toString();\n\n if (this.#isSameScale(newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n\n return;\n }\n\n this._doc.style.setProperty(\"--zoom-factor\", newScale);\n\n const updateArgs = {\n scale: newScale\n };\n\n for (const pageView of this._pages) {\n pageView.update(updateArgs);\n }\n\n this._currentScale = newScale;\n\n if (!noScroll) {\n let page = this._currentPageNumber,\n dest;\n\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n }\n\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n\n this.updateContainerHeightCss();\n }\n\n get _pageWidthScaleFactor() {\n if (this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL) {\n return 2;\n }\n\n return 1;\n }\n\n _setScale(value, noScroll = false) {\n let scale = parseFloat(value);\n\n if (scale > 0) {\n this._setScaleUpdatePages(scale, value, noScroll, false);\n } else {\n const currentPage = this._pages[this._currentPageNumber - 1];\n\n if (!currentPage) {\n return;\n }\n\n let hPadding = _ui_utils.SCROLLBAR_PADDING,\n vPadding = _ui_utils.VERTICAL_PADDING;\n\n if (this.isInPresentationMode) {\n hPadding = vPadding = 4;\n } else if (this.removePageBorders) {\n hPadding = vPadding = 0;\n } else if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL) {\n [hPadding, vPadding] = [vPadding, hPadding];\n }\n\n const pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this._pageWidthScaleFactor;\n const pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n\n case \"page-width\":\n scale = pageWidthScale;\n break;\n\n case \"page-height\":\n scale = pageHeightScale;\n break;\n\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n\n case \"auto\":\n const horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n break;\n\n default:\n console.error(`_setScale: \"${value}\" is an unknown zoom value.`);\n return;\n }\n\n this._setScaleUpdatePages(scale, value, noScroll, true);\n }\n }\n\n #resetCurrentPageView() {\n const pageView = this._pages[this._currentPageNumber - 1];\n\n if (this.isInPresentationMode) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this.#scrollIntoView(pageView);\n }\n\n pageLabelToPageNumber(label) {\n if (!this._pageLabels) {\n return null;\n }\n\n const i = this._pageLabels.indexOf(label);\n\n if (i < 0) {\n return null;\n }\n\n return i + 1;\n }\n\n scrollPageIntoView({\n pageNumber,\n destArray = null,\n allowNegativeOffset = false,\n ignoreDestinationZoom = false\n }) {\n if (!this.pdfDocument) {\n return;\n }\n\n const pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n\n if (!pageView) {\n console.error(`scrollPageIntoView: \"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n\n return;\n }\n\n let x = 0,\n y = 0;\n let width = 0,\n height = 0,\n widthScale,\n heightScale;\n const changeOrientation = pageView.rotation % 180 !== 0;\n const pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n const pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n let scale = 0;\n\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n } else if (typeof y !== \"number\" || y < 0) {\n y = pageHeight;\n }\n\n break;\n\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n const hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n const vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n widthScale = (this.container.clientWidth - hPadding) / width / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n\n default:\n console.error(`scrollPageIntoView: \"${destArray[1].name}\" is not a valid destination type.`);\n return;\n }\n\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n }\n }\n\n if (scale === \"page-fit\" && !destArray[4]) {\n this.#scrollIntoView(pageView);\n return;\n }\n\n const boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n let left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n let top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n\n this.#scrollIntoView(pageView, {\n left,\n top\n });\n }\n\n _updateLocation(firstPage) {\n const currentScale = this._currentScale;\n const currentScaleValue = this._currentScaleValue;\n const normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n const pageNumber = firstPage.id;\n const currentPageView = this._pages[pageNumber - 1];\n const container = this.container;\n const topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n const intLeft = Math.round(topLeft[0]);\n const intTop = Math.round(topLeft[1]);\n let pdfOpenParams = `#page=${pageNumber}`;\n\n if (!this.isInPresentationMode) {\n pdfOpenParams += `&zoom=${normalizedScaleValue},${intLeft},${intTop}`;\n }\n\n this._location = {\n pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams\n };\n }\n\n update() {\n const visible = this._getVisiblePages();\n\n const visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n\n if (numVisiblePages === 0) {\n return;\n }\n\n const newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n this.#buffer.resize(newCacheSize, visible.ids);\n this.renderingQueue.renderHighestPriority(visible);\n const isSimpleLayout = this._spreadMode === _ui_utils.SpreadMode.NONE && (this._scrollMode === _ui_utils.ScrollMode.PAGE || this._scrollMode === _ui_utils.ScrollMode.VERTICAL);\n const currentId = this._currentPageNumber;\n let stillFullyVisible = false;\n\n for (const page of visiblePages) {\n if (page.percent < 100) {\n break;\n }\n\n if (page.id === currentId && isSimpleLayout) {\n stillFullyVisible = true;\n break;\n }\n }\n\n this._setCurrentPageNumber(stillFullyVisible ? currentId : visiblePages[0].id);\n\n this._updateLocation(visible.first);\n\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n\n containsElement(element) {\n return this.container.contains(element);\n }\n\n focus() {\n this.container.focus();\n }\n\n get _isContainerRtl() {\n return getComputedStyle(this.container).direction === \"rtl\";\n }\n\n get isInPresentationMode() {\n return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;\n }\n\n get isChangingPresentationMode() {\n return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;\n }\n\n get isHorizontalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n\n get isVerticalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n\n _getVisiblePages() {\n const views = this._scrollMode === _ui_utils.ScrollMode.PAGE ? this.#scrollModePageState.pages : this._pages,\n horizontal = this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL,\n rtl = horizontal && this._isContainerRtl;\n return (0, _ui_utils.getVisibleElements)({\n scrollEl: this.container,\n views,\n sortByVisibility: true,\n horizontal,\n rtl\n });\n }\n\n isPageVisible(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`isPageVisible: \"${pageNumber}\" is not a valid page.`);\n return false;\n }\n\n return this._getVisiblePages().ids.has(pageNumber);\n }\n\n isPageCached(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`isPageCached: \"${pageNumber}\" is not a valid page.`);\n return false;\n }\n\n const pageView = this._pages[pageNumber - 1];\n return this.#buffer.has(pageView);\n }\n\n cleanup() {\n for (const pageView of this._pages) {\n if (pageView.renderingState !== _ui_utils.RenderingStates.FINISHED) {\n pageView.reset();\n }\n }\n }\n\n _cancelRendering() {\n for (const pageView of this._pages) {\n pageView.cancelRendering();\n }\n }\n\n async #ensurePdfPageLoaded(pageView) {\n if (pageView.pdfPage) {\n return pageView.pdfPage;\n }\n\n try {\n const pdfPage = await this.pdfDocument.getPage(pageView.id);\n\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n if (!this.linkService._cachedPageNumber?.(pdfPage.ref)) {\n this.linkService.cachePageRef(pageView.id, pdfPage.ref);\n }\n\n return pdfPage;\n } catch (reason) {\n console.error(\"Unable to get page for page view\", reason);\n return null;\n }\n }\n\n #getScrollAhead(visible) {\n if (visible.first?.id === 1) {\n return true;\n } else if (visible.last?.id === this.pagesCount) {\n return false;\n }\n\n switch (this._scrollMode) {\n case _ui_utils.ScrollMode.PAGE:\n return this.#scrollModePageState.scrollDown;\n\n case _ui_utils.ScrollMode.HORIZONTAL:\n return this.scroll.right;\n }\n\n return this.scroll.down;\n }\n\n #toggleLoadingIconSpinner(visibleIds) {\n for (const id of visibleIds) {\n const pageView = this._pages[id - 1];\n pageView?.toggleLoadingIconSpinner(true);\n }\n\n for (const pageView of this.#buffer) {\n if (visibleIds.has(pageView.id)) {\n continue;\n }\n\n pageView.toggleLoadingIconSpinner(false);\n }\n }\n\n forceRendering(currentlyVisiblePages) {\n const visiblePages = currentlyVisiblePages || this._getVisiblePages();\n\n const scrollAhead = this.#getScrollAhead(visiblePages);\n const preRenderExtra = this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL;\n const pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead, preRenderExtra);\n this.#toggleLoadingIconSpinner(visiblePages.ids);\n\n if (pageView) {\n this.#ensurePdfPageLoaded(pageView).then(() => {\n this.renderingQueue.renderView(pageView);\n });\n return true;\n }\n\n return false;\n }\n\n createTextLayerBuilder(textLayerDiv, pageIndex, viewport, enhanceTextSelection = false, eventBus, highlighter) {\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv,\n eventBus,\n pageIndex,\n viewport,\n enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection,\n highlighter\n });\n }\n\n createTextHighlighter(pageIndex, eventBus) {\n return new _text_highlighter.TextHighlighter({\n eventBus,\n pageIndex,\n findController: this.isInPresentationMode ? null : this.findController\n });\n }\n\n createAnnotationLayerBuilder(pageDiv, pdfPage, annotationStorage = null, imageResourcesPath = \"\", renderForms = true, l10n = _l10n_utils.NullL10n, enableScripting = null, hasJSActionsPromise = null, mouseState = null, fieldObjectsPromise = null, annotationCanvasMap = null) {\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv,\n pdfPage,\n annotationStorage: annotationStorage || this.pdfDocument?.annotationStorage,\n imageResourcesPath,\n renderForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n l10n,\n enableScripting: enableScripting ?? this.enableScripting,\n hasJSActionsPromise: hasJSActionsPromise || this.pdfDocument?.hasJSActions(),\n fieldObjectsPromise: fieldObjectsPromise || this.pdfDocument?.getFieldObjects(),\n mouseState: mouseState || this._scriptingManager?.mouseState,\n annotationCanvasMap\n });\n }\n\n createXfaLayerBuilder(pageDiv, pdfPage, annotationStorage = null) {\n return new _xfa_layer_builder.XfaLayerBuilder({\n pageDiv,\n pdfPage,\n annotationStorage: annotationStorage || this.pdfDocument?.annotationStorage,\n linkService: this.linkService\n });\n }\n\n createStructTreeLayerBuilder(pdfPage) {\n return new _struct_tree_layer_builder.StructTreeLayerBuilder({\n pdfPage\n });\n }\n\n get hasEqualPageSizes() {\n const firstPageView = this._pages[0];\n\n for (let i = 1, ii = this._pages.length; i < ii; ++i) {\n const pageView = this._pages[i];\n\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n\n return true;\n }\n\n getPagesOverview() {\n return this._pages.map(pageView => {\n const viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n\n if (!this.enablePrintAutoRotate || (0, _ui_utils.isPortraitOrientation)(viewport)) {\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n }\n\n return {\n width: viewport.height,\n height: viewport.width,\n rotation: (viewport.rotation - 90) % 360\n };\n });\n }\n\n get optionalContentConfigPromise() {\n if (!this.pdfDocument) {\n return Promise.resolve(null);\n }\n\n if (!this._optionalContentConfigPromise) {\n return this.pdfDocument.getOptionalContentConfig();\n }\n\n return this._optionalContentConfigPromise;\n }\n\n set optionalContentConfigPromise(promise) {\n if (!(promise instanceof Promise)) {\n throw new Error(`Invalid optionalContentConfigPromise: ${promise}`);\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._optionalContentConfigPromise) {\n return;\n }\n\n this._optionalContentConfigPromise = promise;\n const updateArgs = {\n optionalContentConfigPromise: promise\n };\n\n for (const pageView of this._pages) {\n pageView.update(updateArgs);\n }\n\n this.update();\n this.eventBus.dispatch(\"optionalcontentconfigchanged\", {\n source: this,\n promise\n });\n }\n\n get scrollMode() {\n return this._scrollMode;\n }\n\n set scrollMode(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidScrollMode)(mode)) {\n throw new Error(`Invalid scroll mode: ${mode}`);\n }\n\n if (this.pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {\n return;\n }\n\n this._previousScrollMode = this._scrollMode;\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n\n this._updateScrollMode(this._currentPageNumber);\n }\n\n _updateScrollMode(pageNumber = null) {\n const scrollMode = this._scrollMode,\n viewer = this.viewer;\n viewer.classList.toggle(\"scrollHorizontal\", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);\n viewer.classList.toggle(\"scrollWrapped\", scrollMode === _ui_utils.ScrollMode.WRAPPED);\n\n if (!this.pdfDocument || !pageNumber) {\n return;\n }\n\n if (scrollMode === _ui_utils.ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else if (this._previousScrollMode === _ui_utils.ScrollMode.PAGE) {\n this._updateSpreadMode();\n }\n\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n\n get spreadMode() {\n return this._spreadMode;\n }\n\n set spreadMode(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidSpreadMode)(mode)) {\n throw new Error(`Invalid spread mode: ${mode}`);\n }\n\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode\n });\n\n this._updateSpreadMode(this._currentPageNumber);\n }\n\n _updateSpreadMode(pageNumber = null) {\n if (!this.pdfDocument) {\n return;\n }\n\n const viewer = this.viewer,\n pages = this._pages;\n\n if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else {\n viewer.textContent = \"\";\n\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n for (const pageView of this._pages) {\n viewer.appendChild(pageView.div);\n }\n } else {\n const parity = this._spreadMode - 1;\n let spread = null;\n\n for (let i = 0, ii = pages.length; i < ii; ++i) {\n if (spread === null) {\n spread = document.createElement(\"div\");\n spread.className = \"spread\";\n viewer.appendChild(spread);\n } else if (i % 2 === parity) {\n spread = spread.cloneNode(false);\n viewer.appendChild(spread);\n }\n\n spread.appendChild(pages[i].div);\n }\n }\n }\n\n if (!pageNumber) {\n return;\n }\n\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n\n _getPageAdvance(currentPageNumber, previous = false) {\n switch (this._scrollMode) {\n case _ui_utils.ScrollMode.WRAPPED:\n {\n const {\n views\n } = this._getVisiblePages(),\n pageLayout = new Map();\n\n for (const {\n id,\n y,\n percent,\n widthPercent\n } of views) {\n if (percent === 0 || widthPercent < 100) {\n continue;\n }\n\n let yArray = pageLayout.get(y);\n\n if (!yArray) {\n pageLayout.set(y, yArray ||= []);\n }\n\n yArray.push(id);\n }\n\n for (const yArray of pageLayout.values()) {\n const currentIndex = yArray.indexOf(currentPageNumber);\n\n if (currentIndex === -1) {\n continue;\n }\n\n const numPages = yArray.length;\n\n if (numPages === 1) {\n break;\n }\n\n if (previous) {\n for (let i = currentIndex - 1, ii = 0; i >= ii; i--) {\n const currentId = yArray[i],\n expectedId = yArray[i + 1] - 1;\n\n if (currentId < expectedId) {\n return currentPageNumber - expectedId;\n }\n }\n } else {\n for (let i = currentIndex + 1, ii = numPages; i < ii; i++) {\n const currentId = yArray[i],\n expectedId = yArray[i - 1] + 1;\n\n if (currentId > expectedId) {\n return expectedId - currentPageNumber;\n }\n }\n }\n\n if (previous) {\n const firstId = yArray[0];\n\n if (firstId < currentPageNumber) {\n return currentPageNumber - firstId + 1;\n }\n } else {\n const lastId = yArray[numPages - 1];\n\n if (lastId > currentPageNumber) {\n return lastId - currentPageNumber + 1;\n }\n }\n\n break;\n }\n\n break;\n }\n\n case _ui_utils.ScrollMode.HORIZONTAL:\n {\n break;\n }\n\n case _ui_utils.ScrollMode.PAGE:\n case _ui_utils.ScrollMode.VERTICAL:\n {\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n break;\n }\n\n const parity = this._spreadMode - 1;\n\n if (previous && currentPageNumber % 2 !== parity) {\n break;\n } else if (!previous && currentPageNumber % 2 === parity) {\n break;\n }\n\n const {\n views\n } = this._getVisiblePages(),\n expectedId = previous ? currentPageNumber - 1 : currentPageNumber + 1;\n\n for (const {\n id,\n percent,\n widthPercent\n } of views) {\n if (id !== expectedId) {\n continue;\n }\n\n if (percent > 0 && widthPercent === 100) {\n return 2;\n }\n\n break;\n }\n\n break;\n }\n }\n\n return 1;\n }\n\n nextPage() {\n const currentPageNumber = this._currentPageNumber,\n pagesCount = this.pagesCount;\n\n if (currentPageNumber >= pagesCount) {\n return false;\n }\n\n const advance = this._getPageAdvance(currentPageNumber, false) || 1;\n this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount);\n return true;\n }\n\n previousPage() {\n const currentPageNumber = this._currentPageNumber;\n\n if (currentPageNumber <= 1) {\n return false;\n }\n\n const advance = this._getPageAdvance(currentPageNumber, true) || 1;\n this.currentPageNumber = Math.max(currentPageNumber - advance, 1);\n return true;\n }\n\n increaseScale(steps = 1) {\n let newScale = this._currentScale;\n\n do {\n newScale = (newScale * _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2);\n newScale = Math.ceil(newScale * 10) / 10;\n newScale = Math.min(_ui_utils.MAX_SCALE, newScale);\n } while (--steps > 0 && newScale < _ui_utils.MAX_SCALE);\n\n this.currentScaleValue = newScale;\n }\n\n decreaseScale(steps = 1) {\n let newScale = this._currentScale;\n\n do {\n newScale = (newScale / _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2);\n newScale = Math.floor(newScale * 10) / 10;\n newScale = Math.max(_ui_utils.MIN_SCALE, newScale);\n } while (--steps > 0 && newScale > _ui_utils.MIN_SCALE);\n\n this.currentScaleValue = newScale;\n }\n\n updateContainerHeightCss() {\n const height = this.container.clientHeight;\n\n if (height !== this.#previousContainerHeight) {\n this.#previousContainerHeight = height;\n\n this._doc.style.setProperty(\"--viewer-container-height\", `${height}px`);\n }\n }\n\n}\n\nexports.BaseViewer = BaseViewer;\n\n/***/ }),\n/* 12 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFPageView = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nvar _app_options = __w_pdfjs_require__(13);\n\nvar _l10n_utils = __w_pdfjs_require__(4);\n\nconst MAX_CANVAS_PIXELS = _app_options.compatibilityParams.maxCanvasPixels || 16777216;\n\nclass PDFPageView {\n #annotationMode = _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n\n constructor(options) {\n const container = options.container;\n const defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = \"page\" + this.id;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;\n this.hasRestrictedScaling = false;\n this.textLayerMode = options.textLayerMode ?? _ui_utils.TextLayerMode.ENABLE;\n this.#annotationMode = options.annotationMode ?? _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;\n this.pageColors = options.pageColors || null;\n this.eventBus = options.eventBus;\n this.renderingQueue = options.renderingQueue;\n this.textLayerFactory = options.textLayerFactory;\n this.annotationLayerFactory = options.annotationLayerFactory;\n this.xfaLayerFactory = options.xfaLayerFactory;\n this.textHighlighter = options.textHighlighterFactory?.createTextHighlighter(this.id - 1, this.eventBus);\n this.structTreeLayerFactory = options.structTreeLayerFactory;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.l10n = options.l10n || _l10n_utils.NullL10n;\n this.paintTask = null;\n this.paintedViewportMap = new WeakMap();\n this.renderingState = _ui_utils.RenderingStates.INITIAL;\n this.resume = null;\n this._renderError = null;\n this._isStandalone = !this.renderingQueue?.hasViewer();\n this._annotationCanvasMap = null;\n this.annotationLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n this.xfaLayer = null;\n this.structTreeLayer = null;\n const div = document.createElement(\"div\");\n div.className = \"page\";\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n div.setAttribute(\"data-page-number\", this.id);\n div.setAttribute(\"role\", \"region\");\n this.l10n.get(\"page_landmark\", {\n page: this.id\n }).then(msg => {\n div.setAttribute(\"aria-label\", msg);\n });\n this.div = div;\n container?.appendChild(div);\n }\n\n setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n this.reset();\n }\n\n destroy() {\n this.reset();\n\n if (this.pdfPage) {\n this.pdfPage.cleanup();\n }\n }\n\n async _renderAnnotationLayer() {\n let error = null;\n\n try {\n await this.annotationLayer.render(this.viewport, \"display\");\n } catch (ex) {\n error = ex;\n } finally {\n this.eventBus.dispatch(\"annotationlayerrendered\", {\n source: this,\n pageNumber: this.id,\n error\n });\n }\n }\n\n async _renderXfaLayer() {\n let error = null;\n\n try {\n const result = await this.xfaLayer.render(this.viewport, \"display\");\n\n if (this.textHighlighter) {\n this._buildXfaTextContentItems(result.textDivs);\n }\n } catch (ex) {\n error = ex;\n } finally {\n this.eventBus.dispatch(\"xfalayerrendered\", {\n source: this,\n pageNumber: this.id,\n error\n });\n }\n }\n\n async _buildXfaTextContentItems(textDivs) {\n const text = await this.pdfPage.getTextContent();\n const items = [];\n\n for (const item of text.items) {\n items.push(item.str);\n }\n\n this.textHighlighter.setTextMapping(textDivs, items);\n this.textHighlighter.enable();\n }\n\n _resetZoomLayer(removeFromDOM = false) {\n if (!this.zoomLayer) {\n return;\n }\n\n const zoomLayerCanvas = this.zoomLayer.firstChild;\n this.paintedViewportMap.delete(zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n\n this.zoomLayer = null;\n }\n\n reset({\n keepZoomLayer = false,\n keepAnnotationLayer = false,\n keepXfaLayer = false\n } = {}) {\n this.cancelRendering({\n keepAnnotationLayer,\n keepXfaLayer\n });\n this.renderingState = _ui_utils.RenderingStates.INITIAL;\n const div = this.div;\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n const childNodes = div.childNodes,\n zoomLayerNode = keepZoomLayer && this.zoomLayer || null,\n annotationLayerNode = keepAnnotationLayer && this.annotationLayer?.div || null,\n xfaLayerNode = keepXfaLayer && this.xfaLayer?.div || null;\n\n for (let i = childNodes.length - 1; i >= 0; i--) {\n const node = childNodes[i];\n\n switch (node) {\n case zoomLayerNode:\n case annotationLayerNode:\n case xfaLayerNode:\n continue;\n }\n\n node.remove();\n }\n\n div.removeAttribute(\"data-loaded\");\n\n if (annotationLayerNode) {\n this.annotationLayer.hide();\n }\n\n if (xfaLayerNode) {\n this.xfaLayer.hide();\n }\n\n if (!zoomLayerNode) {\n if (this.canvas) {\n this.paintedViewportMap.delete(this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n\n this._resetZoomLayer();\n }\n\n if (this.svg) {\n this.paintedViewportMap.delete(this.svg);\n delete this.svg;\n }\n\n this.loadingIconDiv = document.createElement(\"div\");\n this.loadingIconDiv.className = \"loadingIcon notVisible\";\n\n if (this._isStandalone) {\n this.toggleLoadingIconSpinner(true);\n }\n\n this.loadingIconDiv.setAttribute(\"role\", \"img\");\n this.l10n.get(\"loading\").then(msg => {\n this.loadingIconDiv?.setAttribute(\"aria-label\", msg);\n });\n div.appendChild(this.loadingIconDiv);\n }\n\n update({\n scale = 0,\n rotation = null,\n optionalContentConfigPromise = null\n }) {\n this.scale = scale || this.scale;\n\n if (typeof rotation === \"number\") {\n this.rotation = rotation;\n }\n\n if (optionalContentConfigPromise instanceof Promise) {\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n }\n\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n\n if (this._isStandalone) {\n const {\n style\n } = document.documentElement;\n style.setProperty(\"--zoom-factor\", this.scale);\n }\n\n if (this.svg) {\n this.cssTransform({\n target: this.svg,\n redrawAnnotationLayer: true,\n redrawXfaLayer: true\n });\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now(),\n error: this._renderError\n });\n return;\n }\n\n let isScalingRestricted = false;\n\n if (this.canvas && this.maxCanvasPixels > 0) {\n const outputScale = this.outputScale;\n\n if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {\n isScalingRestricted = true;\n }\n }\n\n if (this.canvas) {\n if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {\n this.cssTransform({\n target: this.canvas,\n redrawAnnotationLayer: true,\n redrawXfaLayer: true\n });\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now(),\n error: this._renderError\n });\n return;\n }\n\n if (!this.zoomLayer && !this.canvas.hidden) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n\n if (this.zoomLayer) {\n this.cssTransform({\n target: this.zoomLayer.firstChild\n });\n }\n\n this.reset({\n keepZoomLayer: true,\n keepAnnotationLayer: true,\n keepXfaLayer: true\n });\n }\n\n cancelRendering({\n keepAnnotationLayer = false,\n keepXfaLayer = false\n } = {}) {\n if (this.paintTask) {\n this.paintTask.cancel();\n this.paintTask = null;\n }\n\n this.resume = null;\n\n if (this.textLayer) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n\n if (this.annotationLayer && (!keepAnnotationLayer || !this.annotationLayer.div)) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n this._annotationCanvasMap = null;\n }\n\n if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) {\n this.xfaLayer.cancel();\n this.xfaLayer = null;\n this.textHighlighter?.disable();\n }\n\n if (this._onTextLayerRendered) {\n this.eventBus._off(\"textlayerrendered\", this._onTextLayerRendered);\n\n this._onTextLayerRendered = null;\n }\n }\n\n cssTransform({\n target,\n redrawAnnotationLayer = false,\n redrawXfaLayer = false\n }) {\n const width = this.viewport.width;\n const height = this.viewport.height;\n const div = this.div;\n target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + \"px\";\n target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + \"px\";\n const relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n const absRotation = Math.abs(relativeRotation);\n let scaleX = 1,\n scaleY = 1;\n\n if (absRotation === 90 || absRotation === 270) {\n scaleX = height / width;\n scaleY = width / height;\n }\n\n target.style.transform = `rotate(${relativeRotation}deg) scale(${scaleX}, ${scaleY})`;\n\n if (this.textLayer) {\n const textLayerViewport = this.textLayer.viewport;\n const textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;\n const textAbsRotation = Math.abs(textRelativeRotation);\n let scale = width / textLayerViewport.width;\n\n if (textAbsRotation === 90 || textAbsRotation === 270) {\n scale = width / textLayerViewport.height;\n }\n\n const textLayerDiv = this.textLayer.textLayerDiv;\n let transX, transY;\n\n switch (textAbsRotation) {\n case 0:\n transX = transY = 0;\n break;\n\n case 90:\n transX = 0;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 180:\n transX = \"-\" + textLayerDiv.style.width;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 270:\n transX = \"-\" + textLayerDiv.style.width;\n transY = 0;\n break;\n\n default:\n console.error(\"Bad rotation value.\");\n break;\n }\n\n textLayerDiv.style.transform = `rotate(${textAbsRotation}deg) ` + `scale(${scale}) ` + `translate(${transX}, ${transY})`;\n textLayerDiv.style.transformOrigin = \"0% 0%\";\n }\n\n if (redrawAnnotationLayer && this.annotationLayer) {\n this._renderAnnotationLayer();\n }\n\n if (redrawXfaLayer && this.xfaLayer) {\n this._renderXfaLayer();\n }\n }\n\n get width() {\n return this.viewport.width;\n }\n\n get height() {\n return this.viewport.height;\n }\n\n getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n\n toggleLoadingIconSpinner(viewVisible = false) {\n this.loadingIconDiv?.classList.toggle(\"notVisible\", !viewVisible);\n }\n\n draw() {\n if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n\n const {\n div,\n pdfPage\n } = this;\n\n if (!pdfPage) {\n this.renderingState = _ui_utils.RenderingStates.FINISHED;\n\n if (this.loadingIconDiv) {\n this.loadingIconDiv.remove();\n delete this.loadingIconDiv;\n }\n\n return Promise.reject(new Error(\"pdfPage is not loaded\"));\n }\n\n this.renderingState = _ui_utils.RenderingStates.RUNNING;\n const canvasWrapper = document.createElement(\"div\");\n canvasWrapper.style.width = div.style.width;\n canvasWrapper.style.height = div.style.height;\n canvasWrapper.classList.add(\"canvasWrapper\");\n\n if (this.annotationLayer?.div) {\n div.insertBefore(canvasWrapper, this.annotationLayer.div);\n } else {\n div.appendChild(canvasWrapper);\n }\n\n let textLayer = null;\n\n if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {\n const textLayerDiv = document.createElement(\"div\");\n textLayerDiv.className = \"textLayer\";\n textLayerDiv.style.width = canvasWrapper.style.width;\n textLayerDiv.style.height = canvasWrapper.style.height;\n\n if (this.annotationLayer?.div) {\n div.insertBefore(textLayerDiv, this.annotationLayer.div);\n } else {\n div.appendChild(textLayerDiv);\n }\n\n textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus, this.textHighlighter);\n }\n\n this.textLayer = textLayer;\n\n if (this.#annotationMode !== _pdfjsLib.AnnotationMode.DISABLE && this.annotationLayerFactory) {\n this._annotationCanvasMap ||= new Map();\n this.annotationLayer ||= this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, null, this.imageResourcesPath, this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS, this.l10n, null, null, null, null, this._annotationCanvasMap);\n }\n\n if (this.xfaLayer?.div) {\n div.appendChild(this.xfaLayer.div);\n }\n\n let renderContinueCallback = null;\n\n if (this.renderingQueue) {\n renderContinueCallback = cont => {\n if (!this.renderingQueue.isHighestPriority(this)) {\n this.renderingState = _ui_utils.RenderingStates.PAUSED;\n\n this.resume = () => {\n this.renderingState = _ui_utils.RenderingStates.RUNNING;\n cont();\n };\n\n return;\n }\n\n cont();\n };\n }\n\n const finishPaintTask = async (error = null) => {\n if (paintTask === this.paintTask) {\n this.paintTask = null;\n }\n\n if (error instanceof _pdfjsLib.RenderingCancelledException) {\n this._renderError = null;\n return;\n }\n\n this._renderError = error;\n this.renderingState = _ui_utils.RenderingStates.FINISHED;\n\n if (this.loadingIconDiv) {\n this.loadingIconDiv.remove();\n delete this.loadingIconDiv;\n }\n\n this._resetZoomLayer(true);\n\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: false,\n timestamp: performance.now(),\n error: this._renderError\n });\n\n if (error) {\n throw error;\n }\n };\n\n const paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);\n paintTask.onRenderContinue = renderContinueCallback;\n this.paintTask = paintTask;\n const resultPromise = paintTask.promise.then(() => {\n return finishPaintTask(null).then(() => {\n if (textLayer) {\n const readableStream = pdfPage.streamTextContent({\n includeMarkedContent: true\n });\n textLayer.setTextContentStream(readableStream);\n textLayer.render();\n }\n\n if (this.annotationLayer) {\n this._renderAnnotationLayer();\n }\n });\n }, function (reason) {\n return finishPaintTask(reason);\n });\n\n if (this.xfaLayerFactory) {\n if (!this.xfaLayer) {\n this.xfaLayer = this.xfaLayerFactory.createXfaLayerBuilder(div, pdfPage, null);\n }\n\n this._renderXfaLayer();\n }\n\n if (this.structTreeLayerFactory && this.textLayer && this.canvas) {\n this._onTextLayerRendered = event => {\n if (event.pageNumber !== this.id) {\n return;\n }\n\n this.eventBus._off(\"textlayerrendered\", this._onTextLayerRendered);\n\n this._onTextLayerRendered = null;\n\n if (!this.canvas) {\n return;\n }\n\n this.pdfPage.getStructTree().then(tree => {\n if (!tree) {\n return;\n }\n\n if (!this.canvas) {\n return;\n }\n\n const treeDom = this.structTreeLayer.render(tree);\n treeDom.classList.add(\"structTree\");\n this.canvas.appendChild(treeDom);\n });\n };\n\n this.eventBus._on(\"textlayerrendered\", this._onTextLayerRendered);\n\n this.structTreeLayer = this.structTreeLayerFactory.createStructTreeLayerBuilder(pdfPage);\n }\n\n div.setAttribute(\"data-loaded\", true);\n this.eventBus.dispatch(\"pagerender\", {\n source: this,\n pageNumber: this.id\n });\n return resultPromise;\n }\n\n paintOnCanvas(canvasWrapper) {\n const renderCapability = (0, _pdfjsLib.createPromiseCapability)();\n const result = {\n promise: renderCapability.promise,\n\n onRenderContinue(cont) {\n cont();\n },\n\n cancel() {\n renderTask.cancel();\n }\n\n };\n const viewport = this.viewport;\n const canvas = document.createElement(\"canvas\");\n canvas.hidden = true;\n let isCanvasHidden = true;\n\n const showCanvas = function () {\n if (isCanvasHidden) {\n canvas.hidden = false;\n isCanvasHidden = false;\n }\n };\n\n canvasWrapper.appendChild(canvas);\n this.canvas = canvas;\n const ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n const outputScale = this.outputScale = new _ui_utils.OutputScale();\n\n if (this.useOnlyCssZoom) {\n const actualSizeViewport = viewport.clone({\n scale: _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS\n });\n outputScale.sx *= actualSizeViewport.width / viewport.width;\n outputScale.sy *= actualSizeViewport.height / viewport.height;\n }\n\n if (this.maxCanvasPixels > 0) {\n const pixelsInViewport = viewport.width * viewport.height;\n const maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n this.hasRestrictedScaling = true;\n } else {\n this.hasRestrictedScaling = false;\n }\n }\n\n const sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n const sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);\n canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);\n canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);\n canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + \"px\";\n canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + \"px\";\n this.paintedViewportMap.set(canvas, viewport);\n const transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null;\n const renderContext = {\n canvasContext: ctx,\n transform,\n viewport: this.viewport,\n annotationMode: this.#annotationMode,\n optionalContentConfigPromise: this._optionalContentConfigPromise,\n annotationCanvasMap: this._annotationCanvasMap,\n pageColors: this.pageColors\n };\n const renderTask = this.pdfPage.render(renderContext);\n\n renderTask.onContinue = function (cont) {\n showCanvas();\n\n if (result.onRenderContinue) {\n result.onRenderContinue(cont);\n } else {\n cont();\n }\n };\n\n renderTask.promise.then(function () {\n showCanvas();\n renderCapability.resolve();\n }, function (error) {\n showCanvas();\n renderCapability.reject(error);\n });\n return result;\n }\n\n paintOnSvg(wrapper) {\n let cancelled = false;\n\n const ensureNotCancelled = () => {\n if (cancelled) {\n throw new _pdfjsLib.RenderingCancelledException(`Rendering cancelled, page ${this.id}`, \"svg\");\n }\n };\n\n const pdfPage = this.pdfPage;\n const actualSizeViewport = this.viewport.clone({\n scale: _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS\n });\n const promise = pdfPage.getOperatorList({\n annotationMode: this.#annotationMode\n }).then(opList => {\n ensureNotCancelled();\n const svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);\n return svgGfx.getSVG(opList, actualSizeViewport).then(svg => {\n ensureNotCancelled();\n this.svg = svg;\n this.paintedViewportMap.set(svg, actualSizeViewport);\n svg.style.width = wrapper.style.width;\n svg.style.height = wrapper.style.height;\n this.renderingState = _ui_utils.RenderingStates.FINISHED;\n wrapper.appendChild(svg);\n });\n });\n return {\n promise,\n\n onRenderContinue(cont) {\n cont();\n },\n\n cancel() {\n cancelled = true;\n }\n\n };\n }\n\n setPageLabel(label) {\n this.pageLabel = typeof label === \"string\" ? label : null;\n\n if (this.pageLabel !== null) {\n this.div.setAttribute(\"data-page-label\", this.pageLabel);\n } else {\n this.div.removeAttribute(\"data-page-label\");\n }\n }\n\n}\n\nexports.PDFPageView = PDFPageView;\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.compatibilityParams = exports.OptionKind = exports.AppOptions = void 0;\nconst compatibilityParams = Object.create(null);\nexports.compatibilityParams = compatibilityParams;\n{\n const userAgent = navigator.userAgent || \"\";\n const platform = navigator.platform || \"\";\n const maxTouchPoints = navigator.maxTouchPoints || 1;\n const isAndroid = /Android/.test(userAgent);\n const isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\nconst OptionKind = {\n VIEWER: 0x02,\n API: 0x04,\n WORKER: 0x08,\n PREFERENCE: 0x80\n};\nexports.OptionKind = OptionKind;\nconst defaultOptions = {\n annotationMode: {\n value: 2,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cursorToolOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n defaultUrl: {\n value: \"compressed.tracemonkey-pldi-09.pdf\",\n kind: OptionKind.VIEWER\n },\n defaultZoomValue: {\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n disableHistory: {\n value: false,\n kind: OptionKind.VIEWER\n },\n disablePageLabels: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePermissions: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePrintAutoRotate: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableScripting: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n externalLinkRel: {\n value: \"noopener noreferrer nofollow\",\n kind: OptionKind.VIEWER\n },\n externalLinkTarget: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n historyUpdateUrl: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n ignoreDestinationZoom: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n imageResourcesPath: {\n value: \"./images/\",\n kind: OptionKind.VIEWER\n },\n maxCanvasPixels: {\n value: 16777216,\n compatibility: compatibilityParams.maxCanvasPixels,\n kind: OptionKind.VIEWER\n },\n pageColorsBackground: {\n value: \"Canvas\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pageColorsForeground: {\n value: \"CanvasText\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pdfBugEnabled: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n printResolution: {\n value: 150,\n kind: OptionKind.VIEWER\n },\n renderer: {\n value: \"canvas\",\n kind: OptionKind.VIEWER\n },\n sidebarViewOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n scrollModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n spreadModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n textLayerMode: {\n value: 1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n useOnlyCssZoom: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n viewerCssTheme: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n viewOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cMapPacked: {\n value: true,\n kind: OptionKind.API\n },\n cMapUrl: {\n value: \"../web/cmaps/\",\n kind: OptionKind.API\n },\n disableAutoFetch: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableFontFace: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableRange: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableStream: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n docBaseUrl: {\n value: \"\",\n kind: OptionKind.API\n },\n enableXfa: {\n value: true,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n fontExtraProperties: {\n value: false,\n kind: OptionKind.API\n },\n isEvalSupported: {\n value: true,\n kind: OptionKind.API\n },\n maxImageSize: {\n value: -1,\n kind: OptionKind.API\n },\n pdfBug: {\n value: false,\n kind: OptionKind.API\n },\n standardFontDataUrl: {\n value: \"../web/standard_fonts/\",\n kind: OptionKind.API\n },\n verbosity: {\n value: 1,\n kind: OptionKind.API\n },\n workerPort: {\n value: null,\n kind: OptionKind.WORKER\n },\n workerSrc: {\n value: \"../build/pdf.worker.js\",\n kind: OptionKind.WORKER\n }\n};\n{\n defaultOptions.disablePreferences = {\n value: false,\n kind: OptionKind.VIEWER\n };\n defaultOptions.locale = {\n value: navigator.language || \"en-US\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.sandboxBundleSrc = {\n value: \"../build/pdf.sandbox.js\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.renderer.kind += OptionKind.PREFERENCE;\n}\nconst userOptions = Object.create(null);\n\nclass AppOptions {\n constructor() {\n throw new Error(\"Cannot initialize AppOptions.\");\n }\n\n static get(name) {\n const userOption = userOptions[name];\n\n if (userOption !== undefined) {\n return userOption;\n }\n\n const defaultOption = defaultOptions[name];\n\n if (defaultOption !== undefined) {\n return defaultOption.compatibility ?? defaultOption.value;\n }\n\n return undefined;\n }\n\n static getAll(kind = null) {\n const options = Object.create(null);\n\n for (const name in defaultOptions) {\n const defaultOption = defaultOptions[name];\n\n if (kind) {\n if ((kind & defaultOption.kind) === 0) {\n continue;\n }\n\n if (kind === OptionKind.PREFERENCE) {\n const value = defaultOption.value,\n valueType = typeof value;\n\n if (valueType === \"boolean\" || valueType === \"string\" || valueType === \"number\" && Number.isInteger(value)) {\n options[name] = value;\n continue;\n }\n\n throw new Error(`Invalid type for preference: ${name}`);\n }\n }\n\n const userOption = userOptions[name];\n options[name] = userOption !== undefined ? userOption : defaultOption.compatibility ?? defaultOption.value;\n }\n\n return options;\n }\n\n static set(name, value) {\n userOptions[name] = value;\n }\n\n static setAll(options) {\n for (const name in options) {\n userOptions[name] = options[name];\n }\n }\n\n static remove(name) {\n delete userOptions[name];\n }\n\n static _hasUserOptions() {\n return Object.keys(userOptions).length > 0;\n }\n\n}\n\nexports.AppOptions = AppOptions;\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFRenderingQueue = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nconst CLEANUP_TIMEOUT = 30000;\n\nclass PDFRenderingQueue {\n constructor() {\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n }\n\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n\n setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n\n isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n\n hasViewer() {\n return !!this.pdfViewer;\n }\n\n renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n\n if (this.isThumbnailViewEnabled && this.pdfThumbnailViewer?.forceRendering()) {\n return;\n }\n\n if (this.printing) {\n return;\n }\n\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n\n getHighestPriority(visible, views, scrolledDown, preRenderExtra = false) {\n const visibleViews = visible.views,\n numVisible = visibleViews.length;\n\n if (numVisible === 0) {\n return null;\n }\n\n for (let i = 0; i < numVisible; i++) {\n const view = visibleViews[i].view;\n\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n\n const firstId = visible.first.id,\n lastId = visible.last.id;\n\n if (lastId - firstId + 1 > numVisible) {\n const visibleIds = visible.ids;\n\n for (let i = 1, ii = lastId - firstId; i < ii; i++) {\n const holeId = scrolledDown ? firstId + i : lastId - i;\n\n if (visibleIds.has(holeId)) {\n continue;\n }\n\n const holeView = views[holeId - 1];\n\n if (!this.isViewFinished(holeView)) {\n return holeView;\n }\n }\n }\n\n let preRenderIndex = scrolledDown ? lastId : firstId - 2;\n let preRenderView = views[preRenderIndex];\n\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n\n if (preRenderExtra) {\n preRenderIndex += scrolledDown ? 1 : -1;\n preRenderView = views[preRenderIndex];\n\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n }\n\n return null;\n }\n\n isViewFinished(view) {\n return view.renderingState === _ui_utils.RenderingStates.FINISHED;\n }\n\n renderView(view) {\n switch (view.renderingState) {\n case _ui_utils.RenderingStates.FINISHED:\n return false;\n\n case _ui_utils.RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n\n case _ui_utils.RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n\n case _ui_utils.RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw().finally(() => {\n this.renderHighestPriority();\n }).catch(reason => {\n if (reason instanceof _pdfjsLib.RenderingCancelledException) {\n return;\n }\n\n console.error(`renderView: \"${reason}\"`);\n });\n break;\n }\n\n return true;\n }\n\n}\n\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ }),\n/* 15 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextHighlighter = void 0;\n\nclass TextHighlighter {\n constructor({\n findController,\n eventBus,\n pageIndex\n }) {\n this.findController = findController;\n this.matches = [];\n this.eventBus = eventBus;\n this.pageIdx = pageIndex;\n this._onUpdateTextLayerMatches = null;\n this.textDivs = null;\n this.textContentItemsStr = null;\n this.enabled = false;\n }\n\n setTextMapping(divs, texts) {\n this.textDivs = divs;\n this.textContentItemsStr = texts;\n }\n\n enable() {\n if (!this.textDivs || !this.textContentItemsStr) {\n throw new Error(\"Text divs and strings have not been set.\");\n }\n\n if (this.enabled) {\n throw new Error(\"TextHighlighter is already enabled.\");\n }\n\n this.enabled = true;\n\n if (!this._onUpdateTextLayerMatches) {\n this._onUpdateTextLayerMatches = evt => {\n if (evt.pageIndex === this.pageIdx || evt.pageIndex === -1) {\n this._updateMatches();\n }\n };\n\n this.eventBus._on(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n }\n\n this._updateMatches();\n }\n\n disable() {\n if (!this.enabled) {\n return;\n }\n\n this.enabled = false;\n\n if (this._onUpdateTextLayerMatches) {\n this.eventBus._off(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n\n this._onUpdateTextLayerMatches = null;\n }\n }\n\n _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n\n const {\n textContentItemsStr\n } = this;\n let i = 0,\n iIndex = 0;\n const end = textContentItemsStr.length - 1;\n const result = [];\n\n for (let m = 0, mm = matches.length; m < mm; m++) {\n let matchIdx = matches[m];\n\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n\n const match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n matchIdx += matchesLength[m];\n\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n\n return result;\n }\n\n _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n\n const {\n findController,\n pageIdx\n } = this;\n const {\n textContentItemsStr,\n textDivs\n } = this;\n const isSelectedPage = pageIdx === findController.selected.pageIdx;\n const selectedMatchIdx = findController.selected.matchIdx;\n const highlightAll = findController.state.highlightAll;\n let prevEnd = null;\n const infinity = {\n divIdx: -1,\n offset: undefined\n };\n\n function beginText(begin, className) {\n const divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n return appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n let div = textDivs[divIdx];\n\n if (div.nodeType === Node.TEXT_NODE) {\n const span = document.createElement(\"span\");\n div.parentNode.insertBefore(span, div);\n span.appendChild(div);\n textDivs[divIdx] = span;\n div = span;\n }\n\n const content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n const node = document.createTextNode(content);\n\n if (className) {\n const span = document.createElement(\"span\");\n span.className = `${className} appended`;\n span.appendChild(node);\n div.appendChild(span);\n return className.includes(\"selected\") ? span.offsetLeft : 0;\n }\n\n div.appendChild(node);\n return 0;\n }\n\n let i0 = selectedMatchIdx,\n i1 = i0 + 1;\n\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n\n for (let i = i0; i < i1; i++) {\n const match = matches[i];\n const begin = match.begin;\n const end = match.end;\n const isSelected = isSelectedPage && i === selectedMatchIdx;\n const highlightSuffix = isSelected ? \" selected\" : \"\";\n let selectedLeft = 0;\n\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n\n if (begin.divIdx === end.divIdx) {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n\n for (let n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n\n prevEnd = end;\n\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n selectedLeft,\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n }\n\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n\n _updateMatches() {\n if (!this.enabled) {\n return;\n }\n\n const {\n findController,\n matches,\n pageIdx\n } = this;\n const {\n textContentItemsStr,\n textDivs\n } = this;\n let clearedUntilDivIdx = -1;\n\n for (let i = 0, ii = matches.length; i < ii; i++) {\n const match = matches[i];\n const begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n\n for (let n = begin, end = match.end.divIdx; n <= end; n++) {\n const div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n\n if (!findController?.highlightMatches) {\n return;\n }\n\n const pageMatches = findController.pageMatches[pageIdx] || null;\n const pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n\n this._renderMatches(this.matches);\n }\n\n}\n\nexports.TextHighlighter = TextHighlighter;\n\n/***/ }),\n/* 16 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DownloadManager = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\n;\n\nfunction download(blobUrl, filename) {\n const a = document.createElement(\"a\");\n\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n\n a.href = blobUrl;\n a.target = \"_parent\";\n\n if (\"download\" in a) {\n a.download = filename;\n }\n\n (document.body || document.documentElement).appendChild(a);\n a.click();\n a.remove();\n}\n\nclass DownloadManager {\n constructor() {\n this._openBlobUrls = new WeakMap();\n }\n\n downloadUrl(url, filename) {\n if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, \"http://example.com\")) {\n console.error(`downloadUrl - not a valid URL: ${url}`);\n return;\n }\n\n download(url + \"#pdfjs.action=download\", filename);\n }\n\n downloadData(data, filename, contentType) {\n const blobUrl = URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n download(blobUrl, filename);\n }\n\n openOrDownloadData(element, data, filename) {\n const isPdfData = (0, _pdfjsLib.isPdfFile)(filename);\n const contentType = isPdfData ? \"application/pdf\" : \"\";\n\n if (isPdfData) {\n let blobUrl = this._openBlobUrls.get(element);\n\n if (!blobUrl) {\n blobUrl = URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n\n this._openBlobUrls.set(element, blobUrl);\n }\n\n let viewerUrl;\n viewerUrl = \"?file=\" + encodeURIComponent(blobUrl + \"#\" + filename);\n\n try {\n window.open(viewerUrl);\n return true;\n } catch (ex) {\n console.error(`openOrDownloadData: ${ex}`);\n URL.revokeObjectURL(blobUrl);\n\n this._openBlobUrls.delete(element);\n }\n }\n\n this.downloadData(data, filename, contentType);\n return false;\n }\n\n download(blob, url, filename, sourceEventType = \"download\") {\n const blobUrl = URL.createObjectURL(blob);\n download(blobUrl, filename);\n }\n\n}\n\nexports.DownloadManager = DownloadManager;\n\n/***/ }),\n/* 17 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.WaitOnType = exports.EventBus = exports.AutomationEventBus = void 0;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nconst WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\n\nfunction waitOnEventOrTimeout({\n target,\n name,\n delay = 0\n}) {\n return new Promise(function (resolve, reject) {\n if (typeof target !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n\n function handler(type) {\n if (target instanceof EventBus) {\n target._off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n resolve(type);\n }\n\n const eventHandler = handler.bind(null, WaitOnType.EVENT);\n\n if (target instanceof EventBus) {\n target._on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n\n const timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n const timeout = setTimeout(timeoutHandler, delay);\n });\n}\n\nclass EventBus {\n constructor() {\n this._listeners = Object.create(null);\n }\n\n on(eventName, listener, options = null) {\n this._on(eventName, listener, {\n external: true,\n once: options?.once\n });\n }\n\n off(eventName, listener, options = null) {\n this._off(eventName, listener, {\n external: true,\n once: options?.once\n });\n }\n\n dispatch(eventName, data) {\n const eventListeners = this._listeners[eventName];\n\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n\n let externalListeners;\n\n for (const {\n listener,\n external,\n once\n } of eventListeners.slice(0)) {\n if (once) {\n this._off(eventName, listener);\n }\n\n if (external) {\n (externalListeners ||= []).push(listener);\n continue;\n }\n\n listener(data);\n }\n\n if (externalListeners) {\n for (const listener of externalListeners) {\n listener(data);\n }\n\n externalListeners = null;\n }\n }\n\n _on(eventName, listener, options = null) {\n const eventListeners = this._listeners[eventName] ||= [];\n eventListeners.push({\n listener,\n external: options?.external === true,\n once: options?.once === true\n });\n }\n\n _off(eventName, listener, options = null) {\n const eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n return;\n }\n\n for (let i = 0, ii = eventListeners.length; i < ii; i++) {\n if (eventListeners[i].listener === listener) {\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n\n}\n\nexports.EventBus = EventBus;\n\nclass AutomationEventBus extends EventBus {\n dispatch(eventName, data) {\n throw new Error(\"Not implemented: AutomationEventBus.dispatch\");\n }\n\n}\n\nexports.AutomationEventBus = AutomationEventBus;\n\n/***/ }),\n/* 18 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GenericL10n = void 0;\n\n__w_pdfjs_require__(19);\n\nvar _l10n_utils = __w_pdfjs_require__(4);\n\nconst webL10n = document.webL10n;\n\nclass GenericL10n {\n constructor(lang) {\n this._lang = lang;\n this._ready = new Promise((resolve, reject) => {\n webL10n.setLanguage((0, _l10n_utils.fixupLangCode)(lang), () => {\n resolve(webL10n);\n });\n });\n }\n\n async getLanguage() {\n const l10n = await this._ready;\n return l10n.getLanguage();\n }\n\n async getDirection() {\n const l10n = await this._ready;\n return l10n.getDirection();\n }\n\n async get(key, args = null, fallback = (0, _l10n_utils.getL10nFallback)(key, args)) {\n const l10n = await this._ready;\n return l10n.get(key, args, fallback);\n }\n\n async translate(element) {\n const l10n = await this._ready;\n return l10n.translate(element);\n }\n\n}\n\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n/* 19 */\n/***/ (() => {\n\n\n\ndocument.webL10n = function (window, document, undefined) {\n var gL10nData = {};\n var gTextData = '';\n var gTextProp = 'textContent';\n var gLanguage = '';\n var gMacros = {};\n var gReadyState = 'loading';\n var gAsyncResourceLoading = true;\n\n function getL10nResourceLinks() {\n return document.querySelectorAll('link[type=\"application/l10n\"]');\n }\n\n function getL10nDictionary() {\n var script = document.querySelector('script[type=\"application/l10n\"]');\n return script ? JSON.parse(script.innerHTML) : null;\n }\n\n function getTranslatableChildren(element) {\n return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n }\n\n function getL10nAttributes(element) {\n if (!element) return {};\n var l10nId = element.getAttribute('data-l10n-id');\n var l10nArgs = element.getAttribute('data-l10n-args');\n var args = {};\n\n if (l10nArgs) {\n try {\n args = JSON.parse(l10nArgs);\n } catch (e) {\n console.warn('could not parse arguments for #' + l10nId);\n }\n }\n\n return {\n id: l10nId,\n args: args\n };\n }\n\n function xhrLoadText(url, onSuccess, onFailure) {\n onSuccess = onSuccess || function _onSuccess(data) {};\n\n onFailure = onFailure || function _onFailure() {};\n\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, gAsyncResourceLoading);\n\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType('text/plain; charset=utf-8');\n }\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200 || xhr.status === 0) {\n onSuccess(xhr.responseText);\n } else {\n onFailure();\n }\n }\n };\n\n xhr.onerror = onFailure;\n xhr.ontimeout = onFailure;\n\n try {\n xhr.send(null);\n } catch (e) {\n onFailure();\n }\n }\n\n function parseResource(href, lang, successCallback, failureCallback) {\n var baseURL = href.replace(/[^\\/]*$/, '') || './';\n\n function evalString(text) {\n if (text.lastIndexOf('\\\\') < 0) return text;\n return text.replace(/\\\\\\\\/g, '\\\\').replace(/\\\\n/g, '\\n').replace(/\\\\r/g, '\\r').replace(/\\\\t/g, '\\t').replace(/\\\\b/g, '\\b').replace(/\\\\f/g, '\\f').replace(/\\\\{/g, '{').replace(/\\\\}/g, '}').replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n }\n\n function parseProperties(text, parsedPropertiesCallback) {\n var dictionary = {};\n var reBlank = /^\\s*|\\s*$/;\n var reComment = /^\\s*#|^\\s*$/;\n var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/;\n\n function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n var currentLang = '*';\n var genericLang = lang.split('-', 1)[0];\n var skipLang = false;\n var match = '';\n\n function nextEntry() {\n while (true) {\n if (!entries.length) {\n parsedRawLinesCallback();\n return;\n }\n\n var line = entries.shift();\n if (reComment.test(line)) continue;\n\n if (extendedSyntax) {\n match = reSection.exec(line);\n\n if (match) {\n currentLang = match[1].toLowerCase();\n skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n continue;\n } else if (skipLang) {\n continue;\n }\n\n match = reImport.exec(line);\n\n if (match) {\n loadImport(baseURL + match[1], nextEntry);\n return;\n }\n }\n\n var tmp = line.match(reSplit);\n\n if (tmp && tmp.length == 3) {\n dictionary[tmp[1]] = evalString(tmp[2]);\n }\n }\n }\n\n nextEntry();\n }\n\n function loadImport(url, callback) {\n xhrLoadText(url, function (content) {\n parseRawLines(content, false, callback);\n }, function () {\n console.warn(url + ' not found.');\n callback();\n });\n }\n\n parseRawLines(text, true, function () {\n parsedPropertiesCallback(dictionary);\n });\n }\n\n xhrLoadText(href, function (response) {\n gTextData += response;\n parseProperties(response, function (data) {\n for (var key in data) {\n var id,\n prop,\n index = key.lastIndexOf('.');\n\n if (index > 0) {\n id = key.substring(0, index);\n prop = key.substring(index + 1);\n } else {\n id = key;\n prop = gTextProp;\n }\n\n if (!gL10nData[id]) {\n gL10nData[id] = {};\n }\n\n gL10nData[id][prop] = data[key];\n }\n\n if (successCallback) {\n successCallback();\n }\n });\n }, failureCallback);\n }\n\n function loadLocale(lang, callback) {\n if (lang) {\n lang = lang.toLowerCase();\n }\n\n callback = callback || function _callback() {};\n\n clear();\n gLanguage = lang;\n var langLinks = getL10nResourceLinks();\n var langCount = langLinks.length;\n\n if (langCount === 0) {\n var dict = getL10nDictionary();\n\n if (dict && dict.locales && dict.default_locale) {\n console.log('using the embedded JSON directory, early way out');\n gL10nData = dict.locales[lang];\n\n if (!gL10nData) {\n var defaultLocale = dict.default_locale.toLowerCase();\n\n for (var anyCaseLang in dict.locales) {\n anyCaseLang = anyCaseLang.toLowerCase();\n\n if (anyCaseLang === lang) {\n gL10nData = dict.locales[lang];\n break;\n } else if (anyCaseLang === defaultLocale) {\n gL10nData = dict.locales[defaultLocale];\n }\n }\n }\n\n callback();\n } else {\n console.log('no resource to load, early way out');\n }\n\n gReadyState = 'complete';\n return;\n }\n\n var onResourceLoaded = null;\n var gResourceCount = 0;\n\n onResourceLoaded = function () {\n gResourceCount++;\n\n if (gResourceCount >= langCount) {\n callback();\n gReadyState = 'complete';\n }\n };\n\n function L10nResourceLink(link) {\n var href = link.href;\n\n this.load = function (lang, callback) {\n parseResource(href, lang, callback, function () {\n console.warn(href + ' not found.');\n console.warn('\"' + lang + '\" resource not found');\n gLanguage = '';\n callback();\n });\n };\n }\n\n for (var i = 0; i < langCount; i++) {\n var resource = new L10nResourceLink(langLinks[i]);\n resource.load(lang, onResourceLoaded);\n }\n }\n\n function clear() {\n gL10nData = {};\n gTextData = '';\n gLanguage = '';\n }\n\n function getPluralRules(lang) {\n var locales2rules = {\n 'af': 3,\n 'ak': 4,\n 'am': 4,\n 'ar': 1,\n 'asa': 3,\n 'az': 0,\n 'be': 11,\n 'bem': 3,\n 'bez': 3,\n 'bg': 3,\n 'bh': 4,\n 'bm': 0,\n 'bn': 3,\n 'bo': 0,\n 'br': 20,\n 'brx': 3,\n 'bs': 11,\n 'ca': 3,\n 'cgg': 3,\n 'chr': 3,\n 'cs': 12,\n 'cy': 17,\n 'da': 3,\n 'de': 3,\n 'dv': 3,\n 'dz': 0,\n 'ee': 3,\n 'el': 3,\n 'en': 3,\n 'eo': 3,\n 'es': 3,\n 'et': 3,\n 'eu': 3,\n 'fa': 0,\n 'ff': 5,\n 'fi': 3,\n 'fil': 4,\n 'fo': 3,\n 'fr': 5,\n 'fur': 3,\n 'fy': 3,\n 'ga': 8,\n 'gd': 24,\n 'gl': 3,\n 'gsw': 3,\n 'gu': 3,\n 'guw': 4,\n 'gv': 23,\n 'ha': 3,\n 'haw': 3,\n 'he': 2,\n 'hi': 4,\n 'hr': 11,\n 'hu': 0,\n 'id': 0,\n 'ig': 0,\n 'ii': 0,\n 'is': 3,\n 'it': 3,\n 'iu': 7,\n 'ja': 0,\n 'jmc': 3,\n 'jv': 0,\n 'ka': 0,\n 'kab': 5,\n 'kaj': 3,\n 'kcg': 3,\n 'kde': 0,\n 'kea': 0,\n 'kk': 3,\n 'kl': 3,\n 'km': 0,\n 'kn': 0,\n 'ko': 0,\n 'ksb': 3,\n 'ksh': 21,\n 'ku': 3,\n 'kw': 7,\n 'lag': 18,\n 'lb': 3,\n 'lg': 3,\n 'ln': 4,\n 'lo': 0,\n 'lt': 10,\n 'lv': 6,\n 'mas': 3,\n 'mg': 4,\n 'mk': 16,\n 'ml': 3,\n 'mn': 3,\n 'mo': 9,\n 'mr': 3,\n 'ms': 0,\n 'mt': 15,\n 'my': 0,\n 'nah': 3,\n 'naq': 7,\n 'nb': 3,\n 'nd': 3,\n 'ne': 3,\n 'nl': 3,\n 'nn': 3,\n 'no': 3,\n 'nr': 3,\n 'nso': 4,\n 'ny': 3,\n 'nyn': 3,\n 'om': 3,\n 'or': 3,\n 'pa': 3,\n 'pap': 3,\n 'pl': 13,\n 'ps': 3,\n 'pt': 3,\n 'rm': 3,\n 'ro': 9,\n 'rof': 3,\n 'ru': 11,\n 'rwk': 3,\n 'sah': 0,\n 'saq': 3,\n 'se': 7,\n 'seh': 3,\n 'ses': 0,\n 'sg': 0,\n 'sh': 11,\n 'shi': 19,\n 'sk': 12,\n 'sl': 14,\n 'sma': 7,\n 'smi': 7,\n 'smj': 7,\n 'smn': 7,\n 'sms': 7,\n 'sn': 3,\n 'so': 3,\n 'sq': 3,\n 'sr': 11,\n 'ss': 3,\n 'ssy': 3,\n 'st': 3,\n 'sv': 3,\n 'sw': 3,\n 'syr': 3,\n 'ta': 3,\n 'te': 3,\n 'teo': 3,\n 'th': 0,\n 'ti': 4,\n 'tig': 3,\n 'tk': 3,\n 'tl': 4,\n 'tn': 3,\n 'to': 0,\n 'tr': 0,\n 'ts': 3,\n 'tzm': 22,\n 'uk': 11,\n 'ur': 3,\n 've': 3,\n 'vi': 0,\n 'vun': 3,\n 'wa': 4,\n 'wae': 3,\n 'wo': 0,\n 'xh': 3,\n 'xog': 3,\n 'yo': 0,\n 'zh': 0,\n 'zu': 3\n };\n\n function isIn(n, list) {\n return list.indexOf(n) !== -1;\n }\n\n function isBetween(n, start, end) {\n return start <= n && n <= end;\n }\n\n var pluralRules = {\n '0': function (n) {\n return 'other';\n },\n '1': function (n) {\n if (isBetween(n % 100, 3, 10)) return 'few';\n if (n === 0) return 'zero';\n if (isBetween(n % 100, 11, 99)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '2': function (n) {\n if (n !== 0 && n % 10 === 0) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '3': function (n) {\n if (n == 1) return 'one';\n return 'other';\n },\n '4': function (n) {\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '5': function (n) {\n if (isBetween(n, 0, 2) && n != 2) return 'one';\n return 'other';\n },\n '6': function (n) {\n if (n === 0) return 'zero';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '7': function (n) {\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '8': function (n) {\n if (isBetween(n, 3, 6)) return 'few';\n if (isBetween(n, 7, 10)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '9': function (n) {\n if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '10': function (n) {\n if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n return 'other';\n },\n '11': function (n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '12': function (n) {\n if (isBetween(n, 2, 4)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '13': function (n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '14': function (n) {\n if (isBetween(n % 100, 3, 4)) return 'few';\n if (n % 100 == 2) return 'two';\n if (n % 100 == 1) return 'one';\n return 'other';\n },\n '15': function (n) {\n if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n if (isBetween(n % 100, 11, 19)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '16': function (n) {\n if (n % 10 == 1 && n != 11) return 'one';\n return 'other';\n },\n '17': function (n) {\n if (n == 3) return 'few';\n if (n === 0) return 'zero';\n if (n == 6) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '18': function (n) {\n if (n === 0) return 'zero';\n if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n return 'other';\n },\n '19': function (n) {\n if (isBetween(n, 2, 10)) return 'few';\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '20': function (n) {\n if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';\n if (n % 1000000 === 0 && n !== 0) return 'many';\n if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n return 'other';\n },\n '21': function (n) {\n if (n === 0) return 'zero';\n if (n == 1) return 'one';\n return 'other';\n },\n '22': function (n) {\n if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n return 'other';\n },\n '23': function (n) {\n if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n return 'other';\n },\n '24': function (n) {\n if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n if (isIn(n, [2, 12])) return 'two';\n if (isIn(n, [1, 11])) return 'one';\n return 'other';\n }\n };\n var index = locales2rules[lang.replace(/-.*$/, '')];\n\n if (!(index in pluralRules)) {\n console.warn('plural form unknown for [' + lang + ']');\n return function () {\n return 'other';\n };\n }\n\n return pluralRules[index];\n }\n\n gMacros.plural = function (str, param, key, prop) {\n var n = parseFloat(param);\n if (isNaN(n)) return str;\n if (prop != gTextProp) return str;\n\n if (!gMacros._pluralRules) {\n gMacros._pluralRules = getPluralRules(gLanguage);\n }\n\n var index = '[' + gMacros._pluralRules(n) + ']';\n\n if (n === 0 && key + '[zero]' in gL10nData) {\n str = gL10nData[key + '[zero]'][prop];\n } else if (n == 1 && key + '[one]' in gL10nData) {\n str = gL10nData[key + '[one]'][prop];\n } else if (n == 2 && key + '[two]' in gL10nData) {\n str = gL10nData[key + '[two]'][prop];\n } else if (key + index in gL10nData) {\n str = gL10nData[key + index][prop];\n } else if (key + '[other]' in gL10nData) {\n str = gL10nData[key + '[other]'][prop];\n }\n\n return str;\n };\n\n function getL10nData(key, args, fallback) {\n var data = gL10nData[key];\n\n if (!data) {\n console.warn('#' + key + ' is undefined.');\n\n if (!fallback) {\n return null;\n }\n\n data = fallback;\n }\n\n var rv = {};\n\n for (var prop in data) {\n var str = data[prop];\n str = substIndexes(str, args, key, prop);\n str = substArguments(str, args, key);\n rv[prop] = str;\n }\n\n return rv;\n }\n\n function substIndexes(str, args, key, prop) {\n var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n var reMatch = reIndex.exec(str);\n if (!reMatch || !reMatch.length) return str;\n var macroName = reMatch[1];\n var paramName = reMatch[2];\n var param;\n\n if (args && paramName in args) {\n param = args[paramName];\n } else if (paramName in gL10nData) {\n param = gL10nData[paramName];\n }\n\n if (macroName in gMacros) {\n var macro = gMacros[macroName];\n str = macro(str, param, key, prop);\n }\n\n return str;\n }\n\n function substArguments(str, args, key) {\n var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n return str.replace(reArgs, function (matched_text, arg) {\n if (args && arg in args) {\n return args[arg];\n }\n\n if (arg in gL10nData) {\n return gL10nData[arg];\n }\n\n console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n return matched_text;\n });\n }\n\n function translateElement(element) {\n var l10n = getL10nAttributes(element);\n if (!l10n.id) return;\n var data = getL10nData(l10n.id, l10n.args);\n\n if (!data) {\n console.warn('#' + l10n.id + ' is undefined.');\n return;\n }\n\n if (data[gTextProp]) {\n if (getChildElementCount(element) === 0) {\n element[gTextProp] = data[gTextProp];\n } else {\n var children = element.childNodes;\n var found = false;\n\n for (var i = 0, l = children.length; i < l; i++) {\n if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n if (found) {\n children[i].nodeValue = '';\n } else {\n children[i].nodeValue = data[gTextProp];\n found = true;\n }\n }\n }\n\n if (!found) {\n var textNode = document.createTextNode(data[gTextProp]);\n element.insertBefore(textNode, element.firstChild);\n }\n }\n\n delete data[gTextProp];\n }\n\n for (var k in data) {\n element[k] = data[k];\n }\n }\n\n function getChildElementCount(element) {\n if (element.children) {\n return element.children.length;\n }\n\n if (typeof element.childElementCount !== 'undefined') {\n return element.childElementCount;\n }\n\n var count = 0;\n\n for (var i = 0; i < element.childNodes.length; i++) {\n count += element.nodeType === 1 ? 1 : 0;\n }\n\n return count;\n }\n\n function translateFragment(element) {\n element = element || document.documentElement;\n var children = getTranslatableChildren(element);\n var elementCount = children.length;\n\n for (var i = 0; i < elementCount; i++) {\n translateElement(children[i]);\n }\n\n translateElement(element);\n }\n\n return {\n get: function (key, args, fallbackString) {\n var index = key.lastIndexOf('.');\n var prop = gTextProp;\n\n if (index > 0) {\n prop = key.substring(index + 1);\n key = key.substring(0, index);\n }\n\n var fallback;\n\n if (fallbackString) {\n fallback = {};\n fallback[prop] = fallbackString;\n }\n\n var data = getL10nData(key, args, fallback);\n\n if (data && prop in data) {\n return data[prop];\n }\n\n return '{{' + key + '}}';\n },\n getData: function () {\n return gL10nData;\n },\n getText: function () {\n return gTextData;\n },\n getLanguage: function () {\n return gLanguage;\n },\n setLanguage: function (lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function () {\n var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n var shortCode = gLanguage.split('-', 1)[0];\n return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n },\n translate: translateFragment,\n getReadyState: function () {\n return gReadyState;\n },\n ready: function (callback) {\n if (!callback) {\n return;\n } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n window.setTimeout(function () {\n callback();\n });\n } else if (document.addEventListener) {\n document.addEventListener('localized', function once() {\n document.removeEventListener('localized', once);\n callback();\n });\n }\n }\n };\n}(window, document);\n\n/***/ }),\n/* 20 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFindController = exports.FindState = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nvar _pdf_find_utils = __w_pdfjs_require__(21);\n\nconst FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nexports.FindState = FindState;\nconst FIND_TIMEOUT = 250;\nconst MATCH_SCROLL_OFFSET_TOP = -50;\nconst MATCH_SCROLL_OFFSET_LEFT = -400;\nconst CHARACTERS_TO_NORMALIZE = {\n \"\\u2010\": \"-\",\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\u00BC\": \"1/4\",\n \"\\u00BD\": \"1/2\",\n \"\\u00BE\": \"3/4\"\n};\nconst DIACRITICS_EXCEPTION = new Set([0x3099, 0x309a, 0x094d, 0x09cd, 0x0a4d, 0x0acd, 0x0b4d, 0x0bcd, 0x0c4d, 0x0ccd, 0x0d3b, 0x0d3c, 0x0d4d, 0x0dca, 0x0e3a, 0x0eba, 0x0f84, 0x1039, 0x103a, 0x1714, 0x1734, 0x17d2, 0x1a60, 0x1b44, 0x1baa, 0x1bab, 0x1bf2, 0x1bf3, 0x2d7f, 0xa806, 0xa82c, 0xa8c4, 0xa953, 0xa9c0, 0xaaf6, 0xabed, 0x0c56, 0x0f71, 0x0f72, 0x0f7a, 0x0f7b, 0x0f7c, 0x0f7d, 0x0f80, 0x0f74]);\nconst DIACRITICS_EXCEPTION_STR = [...DIACRITICS_EXCEPTION.values()].map(x => String.fromCharCode(x)).join(\"\");\nconst DIACRITICS_REG_EXP = /\\p{M}+/gu;\nconst SPECIAL_CHARS_REG_EXP = /([.*+?^${}()|[\\]\\\\])|(\\p{P})|(\\s+)|(\\p{M})|(\\p{L})/gu;\nconst NOT_DIACRITIC_FROM_END_REG_EXP = /([^\\p{M}])\\p{M}*$/u;\nconst NOT_DIACRITIC_FROM_START_REG_EXP = /^\\p{M}*([^\\p{M}])/u;\nlet normalizationRegex = null;\n\nfunction normalize(text) {\n if (!normalizationRegex) {\n const replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n normalizationRegex = new RegExp(`([${replace}])|(\\\\p{M}+(?:-\\\\n)?)|(\\\\S-\\\\n)|(\\\\n)`, \"gum\");\n }\n\n const rawDiacriticsPositions = [];\n let m;\n\n while ((m = DIACRITICS_REG_EXP.exec(text)) !== null) {\n rawDiacriticsPositions.push([m[0].length, m.index]);\n }\n\n let normalized = text.normalize(\"NFD\");\n const positions = [[0, 0]];\n let k = 0;\n let shift = 0;\n let shiftOrigin = 0;\n let eol = 0;\n let hasDiacritics = false;\n normalized = normalized.replace(normalizationRegex, (match, p1, p2, p3, p4, i) => {\n i -= shiftOrigin;\n\n if (p1) {\n const replacement = CHARACTERS_TO_NORMALIZE[match];\n const jj = replacement.length;\n\n for (let j = 1; j < jj; j++) {\n positions.push([i - shift + j, shift - j]);\n }\n\n shift -= jj - 1;\n return replacement;\n }\n\n if (p2) {\n const hasTrailingDashEOL = p2.endsWith(\"\\n\");\n const len = hasTrailingDashEOL ? p2.length - 2 : p2.length;\n hasDiacritics = true;\n let jj = len;\n\n if (i + eol === rawDiacriticsPositions[k]?.[1]) {\n jj -= rawDiacriticsPositions[k][0];\n ++k;\n }\n\n for (let j = 1; j < jj + 1; j++) {\n positions.push([i - 1 - shift + j, shift - j]);\n }\n\n shift -= jj;\n shiftOrigin += jj;\n\n if (hasTrailingDashEOL) {\n i += len - 1;\n positions.push([i - shift + 1, 1 + shift]);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p2.slice(0, len);\n }\n\n return p2;\n }\n\n if (p3) {\n positions.push([i - shift + 1, 1 + shift]);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p3.charAt(0);\n }\n\n positions.push([i - shift + 1, shift - 1]);\n shift -= 1;\n shiftOrigin += 1;\n eol += 1;\n return \" \";\n });\n positions.push([normalized.length, shift]);\n return [normalized, positions, hasDiacritics];\n}\n\nfunction getOriginalIndex(diffs, pos, len) {\n if (!diffs) {\n return [pos, len];\n }\n\n const start = pos;\n const end = pos + len;\n let i = (0, _ui_utils.binarySearchFirstItem)(diffs, x => x[0] >= start);\n\n if (diffs[i][0] > start) {\n --i;\n }\n\n let j = (0, _ui_utils.binarySearchFirstItem)(diffs, x => x[0] >= end, i);\n\n if (diffs[j][0] > end) {\n --j;\n }\n\n return [start + diffs[i][1], len + diffs[j][1] - diffs[i][1]];\n}\n\nclass PDFFindController {\n constructor({\n linkService,\n eventBus\n }) {\n this._linkService = linkService;\n this._eventBus = eventBus;\n this.#reset();\n\n eventBus._on(\"find\", this.#onFind.bind(this));\n\n eventBus._on(\"findbarclose\", this.#onFindBarClose.bind(this));\n }\n\n get highlightMatches() {\n return this._highlightMatches;\n }\n\n get pageMatches() {\n return this._pageMatches;\n }\n\n get pageMatchesLength() {\n return this._pageMatchesLength;\n }\n\n get selected() {\n return this._selected;\n }\n\n get state() {\n return this._state;\n }\n\n setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this.#reset();\n }\n\n if (!pdfDocument) {\n return;\n }\n\n this._pdfDocument = pdfDocument;\n\n this._firstPageCapability.resolve();\n }\n\n #onFind(state) {\n if (!state) {\n return;\n }\n\n const pdfDocument = this._pdfDocument;\n const {\n type\n } = state;\n\n if (this._state === null || this.#shouldDirtyMatch(state)) {\n this._dirtyMatch = true;\n }\n\n this._state = state;\n\n if (type !== \"highlightallchange\") {\n this.#updateUIState(FindState.PENDING);\n }\n\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n\n this.#extractText();\n const findbarClosed = !this._highlightMatches;\n const pendingTimeout = !!this._findTimeout;\n\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n\n if (!type) {\n this._findTimeout = setTimeout(() => {\n this.#nextMatch();\n this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (this._dirtyMatch) {\n this.#nextMatch();\n } else if (type === \"again\") {\n this.#nextMatch();\n\n if (findbarClosed && this._state.highlightAll) {\n this.#updateAllPages();\n }\n } else if (type === \"highlightallchange\") {\n if (pendingTimeout) {\n this.#nextMatch();\n } else {\n this._highlightMatches = true;\n }\n\n this.#updateAllPages();\n } else {\n this.#nextMatch();\n }\n });\n }\n\n scrollMatchIntoView({\n element = null,\n selectedLeft = 0,\n pageIndex = -1,\n matchIndex = -1\n }) {\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n\n this._scrollMatches = false;\n const spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: selectedLeft + MATCH_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(element, spot, true);\n }\n\n #reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this._state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._pageDiffs = [];\n this._hasDiacritics = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = new Set();\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n }\n\n get #query() {\n if (this._state.query !== this._rawQuery) {\n this._rawQuery = this._state.query;\n [this._normalizedQuery] = normalize(this._state.query);\n }\n\n return this._normalizedQuery;\n }\n\n #shouldDirtyMatch(state) {\n if (state.query !== this._state.query) {\n return true;\n }\n\n switch (state.type) {\n case \"again\":\n const pageNumber = this._selected.pageIdx + 1;\n const linkService = this._linkService;\n\n if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {\n return true;\n }\n\n return false;\n\n case \"highlightallchange\":\n return false;\n }\n\n return true;\n }\n\n #isEntireWord(content, startIdx, length) {\n let match = content.slice(0, startIdx).match(NOT_DIACRITIC_FROM_END_REG_EXP);\n\n if (match) {\n const first = content.charCodeAt(startIdx);\n const limit = match[1].charCodeAt(0);\n\n if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n\n match = content.slice(startIdx + length).match(NOT_DIACRITIC_FROM_START_REG_EXP);\n\n if (match) {\n const last = content.charCodeAt(startIdx + length - 1);\n const limit = match[1].charCodeAt(0);\n\n if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n\n return true;\n }\n\n #calculateRegExpMatch(query, entireWord, pageIndex, pageContent) {\n const matches = [],\n matchesLength = [];\n const diffs = this._pageDiffs[pageIndex];\n let match;\n\n while ((match = query.exec(pageContent)) !== null) {\n if (entireWord && !this.#isEntireWord(pageContent, match.index, match[0].length)) {\n continue;\n }\n\n const [matchPos, matchLen] = getOriginalIndex(diffs, match.index, match[0].length);\n\n if (matchLen) {\n matches.push(matchPos);\n matchesLength.push(matchLen);\n }\n }\n\n this._pageMatches[pageIndex] = matches;\n this._pageMatchesLength[pageIndex] = matchesLength;\n }\n\n #convertToRegExpString(query, hasDiacritics) {\n const {\n matchDiacritics\n } = this._state;\n let isUnicode = false;\n query = query.replace(SPECIAL_CHARS_REG_EXP, (match, p1, p2, p3, p4, p5) => {\n if (p1) {\n return `[ ]*\\\\${p1}[ ]*`;\n }\n\n if (p2) {\n return `[ ]*${p2}[ ]*`;\n }\n\n if (p3) {\n return \"[ ]+\";\n }\n\n if (matchDiacritics) {\n return p4 || p5;\n }\n\n if (p4) {\n return DIACRITICS_EXCEPTION.has(p4.charCodeAt(0)) ? p4 : \"\";\n }\n\n if (hasDiacritics) {\n isUnicode = true;\n return `${p5}\\\\p{M}*`;\n }\n\n return p5;\n });\n const trailingSpaces = \"[ ]*\";\n\n if (query.endsWith(trailingSpaces)) {\n query = query.slice(0, query.length - trailingSpaces.length);\n }\n\n if (matchDiacritics) {\n if (hasDiacritics) {\n isUnicode = true;\n query = `${query}(?=[${DIACRITICS_EXCEPTION_STR}]|[^\\\\p{M}]|$)`;\n }\n }\n\n return [isUnicode, query];\n }\n\n #calculateMatch(pageIndex) {\n let query = this.#query;\n\n if (query.length === 0) {\n return;\n }\n\n const {\n caseSensitive,\n entireWord,\n phraseSearch\n } = this._state;\n const pageContent = this._pageContents[pageIndex];\n const hasDiacritics = this._hasDiacritics[pageIndex];\n let isUnicode = false;\n\n if (phraseSearch) {\n [isUnicode, query] = this.#convertToRegExpString(query, hasDiacritics);\n } else {\n const match = query.match(/\\S+/g);\n\n if (match) {\n query = match.sort().reverse().map(q => {\n const [isUnicodePart, queryPart] = this.#convertToRegExpString(q, hasDiacritics);\n isUnicode ||= isUnicodePart;\n return `(${queryPart})`;\n }).join(\"|\");\n }\n }\n\n const flags = `g${isUnicode ? \"u\" : \"\"}${caseSensitive ? \"\" : \"i\"}`;\n query = new RegExp(query, flags);\n this.#calculateRegExpMatch(query, entireWord, pageIndex, pageContent);\n\n if (this._state.highlightAll) {\n this.#updatePage(pageIndex);\n }\n\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n this.#nextPageMatch();\n }\n\n const pageMatchesCount = this._pageMatches[pageIndex].length;\n\n if (pageMatchesCount > 0) {\n this._matchesCountTotal += pageMatchesCount;\n this.#updateUIResultsCount();\n }\n }\n\n #extractText() {\n if (this._extractTextPromises.length > 0) {\n return;\n }\n\n let promise = Promise.resolve();\n\n for (let i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n const extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(() => {\n return this._pdfDocument.getPage(i + 1).then(pdfPage => {\n return pdfPage.getTextContent();\n }).then(textContent => {\n const strBuf = [];\n\n for (const textItem of textContent.items) {\n strBuf.push(textItem.str);\n\n if (textItem.hasEOL) {\n strBuf.push(\"\\n\");\n }\n }\n\n [this._pageContents[i], this._pageDiffs[i], this._hasDiacritics[i]] = normalize(strBuf.join(\"\"));\n extractTextCapability.resolve();\n }, reason => {\n console.error(`Unable to get text content for page ${i + 1}`, reason);\n this._pageContents[i] = \"\";\n this._pageDiffs[i] = null;\n this._hasDiacritics[i] = false;\n extractTextCapability.resolve();\n });\n });\n }\n }\n\n #updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n\n #updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n\n #nextMatch() {\n const previous = this._state.findPrevious;\n const currentPageIndex = this._linkService.page - 1;\n const numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this._matchesCountTotal = 0;\n this.#updateAllPages();\n\n for (let i = 0; i < numPages; i++) {\n if (this._pendingFindMatches.has(i)) {\n continue;\n }\n\n this._pendingFindMatches.add(i);\n\n this._extractTextPromises[i].then(() => {\n this._pendingFindMatches.delete(i);\n\n this.#calculateMatch(i);\n });\n }\n }\n\n if (this.#query === \"\") {\n this.#updateUIState(FindState.FOUND);\n return;\n }\n\n if (this._resumePageIdx) {\n return;\n }\n\n const offset = this._offset;\n this._pagesToSearch = numPages;\n\n if (offset.matchIdx !== null) {\n const numPageMatches = this._pageMatches[offset.pageIdx].length;\n\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n this.#updateMatch(true);\n return;\n }\n\n this.#advanceOffsetPage(previous);\n }\n\n this.#nextPageMatch();\n }\n\n #matchesReady(matches) {\n const offset = this._offset;\n const numMatches = matches.length;\n const previous = this._state.findPrevious;\n\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n this.#updateMatch(true);\n return true;\n }\n\n this.#advanceOffsetPage(previous);\n\n if (offset.wrapped) {\n offset.matchIdx = null;\n\n if (this._pagesToSearch < 0) {\n this.#updateMatch(false);\n return true;\n }\n }\n\n return false;\n }\n\n #nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n\n let matches = null;\n\n do {\n const pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this.#matchesReady(matches));\n }\n\n #advanceOffsetPage(previous) {\n const offset = this._offset;\n const numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n\n #updateMatch(found = false) {\n let state = FindState.NOT_FOUND;\n const wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n\n if (found) {\n const previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this.#updatePage(previousPage);\n }\n }\n\n this.#updateUIState(state, this._state.findPrevious);\n\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n this.#updatePage(this._selected.pageIdx);\n }\n }\n\n #onFindBarClose(evt) {\n const pdfDocument = this._pdfDocument;\n\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n\n if (this._resumePageIdx) {\n this._resumePageIdx = null;\n this._dirtyMatch = true;\n }\n\n this.#updateUIState(FindState.FOUND);\n this._highlightMatches = false;\n this.#updateAllPages();\n });\n }\n\n #requestMatchesCount() {\n const {\n pageIdx,\n matchIdx\n } = this._selected;\n let current = 0,\n total = this._matchesCountTotal;\n\n if (matchIdx !== -1) {\n for (let i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i]?.length || 0;\n }\n\n current += matchIdx + 1;\n }\n\n if (current < 1 || current > total) {\n current = total = 0;\n }\n\n return {\n current,\n total\n };\n }\n\n #updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this.#requestMatchesCount()\n });\n }\n\n #updateUIState(state, previous = false) {\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state,\n previous,\n matchesCount: this.#requestMatchesCount(),\n rawQuery: this._state?.query ?? null\n });\n }\n\n}\n\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 21 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CharacterType = void 0;\nexports.getCharacterType = getCharacterType;\nconst CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nexports.CharacterType = CharacterType;\n\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\n\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\n\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\n\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\n\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\n\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\n\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\n\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\n\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\n\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\n\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n\n return CharacterType.ALPHA_LETTER;\n }\n\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n\n return CharacterType.ALPHA_LETTER;\n}\n\n/***/ }),\n/* 22 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFHistory = void 0;\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.isDestHashesEqual = isDestHashesEqual;\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nvar _event_utils = __w_pdfjs_require__(17);\n\nconst HASH_CHANGE_TIMEOUT = 1000;\nconst POSITION_UPDATED_THRESHOLD = 50;\nconst UPDATE_VIEWAREA_TIMEOUT = 1000;\n\nfunction getCurrentHash() {\n return document.location.hash;\n}\n\nclass PDFHistory {\n constructor({\n linkService,\n eventBus\n }) {\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this._boundEvents = null;\n\n this.eventBus._on(\"pagesinit\", () => {\n this._isPagesLoaded = false;\n\n this.eventBus._on(\"pagesloaded\", evt => {\n this._isPagesLoaded = !!evt.pagesCount;\n }, {\n once: true\n });\n });\n }\n\n initialize({\n fingerprint,\n resetHistory = false,\n updateUrl = false\n }) {\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n\n if (this._initialized) {\n this.reset();\n }\n\n const reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n\n this._bindEvents();\n\n const state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n\n if (!this._isValidState(state, true) || resetHistory) {\n const {\n hash,\n page,\n rotation\n } = this._parseCurrentHash(true);\n\n if (!hash || reInitialized || resetHistory) {\n this._pushOrReplaceState(null, true);\n\n return;\n }\n\n this._pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n\n return;\n }\n\n const destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = `page=${destination.page}`;\n }\n }\n\n reset() {\n if (this._initialized) {\n this._pageHide();\n\n this._initialized = false;\n\n this._unbindEvents();\n }\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n\n push({\n namedDest = null,\n explicitDest,\n pageNumber\n }) {\n if (!this._initialized) {\n return;\n }\n\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + `\"${namedDest}\" is not a valid namedDest parameter.`);\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + `\"${explicitDest}\" is not a valid explicitDest parameter.`);\n return;\n } else if (!this._isValidPage(pageNumber)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + `\"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n }\n\n const hash = namedDest || JSON.stringify(explicitDest);\n\n if (!hash) {\n return;\n }\n\n let forceReplace = false;\n\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n\n forceReplace = true;\n }\n\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n\n this._pushOrReplaceState({\n dest: explicitDest,\n hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n\n pushPage(pageNumber) {\n if (!this._initialized) {\n return;\n }\n\n if (!this._isValidPage(pageNumber)) {\n console.error(`PDFHistory.pushPage: \"${pageNumber}\" is not a valid page number.`);\n return;\n }\n\n if (this._destination?.page === pageNumber) {\n return;\n }\n\n if (this._popStateInProgress) {\n return;\n }\n\n this._pushOrReplaceState({\n dest: null,\n hash: `page=${pageNumber}`,\n page: pageNumber,\n rotation: this.linkService.rotation\n });\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n\n pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n this._tryPushCurrentPosition();\n }\n\n back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n const state = window.history.state;\n\n if (this._isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n\n forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n const state = window.history.state;\n\n if (this._isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n\n get popStateInProgress() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n\n get initialBookmark() {\n return this._initialized ? this._initialBookmark : null;\n }\n\n get initialRotation() {\n return this._initialized ? this._initialRotation : null;\n }\n\n _pushOrReplaceState(destination, forceReplace = false) {\n const shouldReplace = forceReplace || !this._destination;\n const newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination\n };\n\n this._updateInternalState(destination, newState.uid);\n\n let newUrl;\n\n if (this._updateUrl && destination?.hash) {\n const baseUrl = document.location.href.split(\"#\")[0];\n\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = `${baseUrl}#${destination.hash}`;\n }\n }\n\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n\n _tryPushCurrentPosition(temporary = false) {\n if (!this._position) {\n return;\n }\n\n let position = this._position;\n\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n\n if (!this._destination) {\n this._pushOrReplaceState(position);\n\n return;\n }\n\n if (this._destination.temporary) {\n this._pushOrReplaceState(position, true);\n\n return;\n }\n\n if (this._destination.hash === position.hash) {\n return;\n }\n\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n\n let forceReplace = false;\n\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest !== undefined || !this._destination.first) {\n return;\n }\n\n forceReplace = true;\n }\n\n this._pushOrReplaceState(position, forceReplace);\n }\n\n _isValidPage(val) {\n return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount;\n }\n\n _isValidState(state, checkReload = false) {\n if (!state) {\n return false;\n }\n\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n\n const [perfEntry] = performance.getEntriesByType(\"navigation\");\n\n if (perfEntry?.type !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n\n if (state.destination === null || typeof state.destination !== \"object\") {\n return false;\n }\n\n return true;\n }\n\n _updateInternalState(destination, uid, removeTemporary = false) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n if (removeTemporary && destination?.temporary) {\n delete destination.temporary;\n }\n\n this._destination = destination;\n this._uid = uid;\n this._maxUid = Math.max(this._maxUid, uid);\n this._numPositionUpdates = 0;\n }\n\n _parseCurrentHash(checkNameddest = false) {\n const hash = unescape(getCurrentHash()).substring(1);\n const params = (0, _ui_utils.parseQueryString)(hash);\n const nameddest = params.get(\"nameddest\") || \"\";\n let page = params.get(\"page\") | 0;\n\n if (!this._isValidPage(page) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n\n return {\n hash,\n page,\n rotation: this.linkService.rotation\n };\n }\n\n _updateViewarea({\n location\n }) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._position = {\n hash: location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n\n if (this._popStateInProgress) {\n return;\n }\n\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(() => {\n if (!this._popStateInProgress) {\n this._tryPushCurrentPosition(true);\n }\n\n this._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n\n _popState({\n state\n }) {\n const newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n\n if (!state) {\n this._uid++;\n\n const {\n hash,\n page,\n rotation\n } = this._parseCurrentHash();\n\n this._pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n\n return;\n }\n\n if (!this._isValidState(state)) {\n return;\n }\n\n this._popStateInProgress = true;\n\n if (hashChanged) {\n this._blockHashChange++;\n (0, _event_utils.waitOnEventOrTimeout)({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(() => {\n this._blockHashChange--;\n });\n }\n\n const destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n\n if (destination.dest) {\n this.linkService.goToDestination(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n\n _pageHide() {\n if (!this._destination || this._destination.temporary) {\n this._tryPushCurrentPosition();\n }\n }\n\n _bindEvents() {\n if (this._boundEvents) {\n return;\n }\n\n this._boundEvents = {\n updateViewarea: this._updateViewarea.bind(this),\n popState: this._popState.bind(this),\n pageHide: this._pageHide.bind(this)\n };\n\n this.eventBus._on(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.addEventListener(\"popstate\", this._boundEvents.popState);\n window.addEventListener(\"pagehide\", this._boundEvents.pageHide);\n }\n\n _unbindEvents() {\n if (!this._boundEvents) {\n return;\n }\n\n this.eventBus._off(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.removeEventListener(\"popstate\", this._boundEvents.popState);\n window.removeEventListener(\"pagehide\", this._boundEvents.pageHide);\n this._boundEvents = null;\n }\n\n}\n\nexports.PDFHistory = PDFHistory;\n\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n\n if (destHash === pushHash) {\n return true;\n }\n\n const nameddest = (0, _ui_utils.parseQueryString)(destHash).get(\"nameddest\");\n\n if (nameddest === pushHash) {\n return true;\n }\n\n return false;\n}\n\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (typeof first !== typeof second) {\n return false;\n }\n\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n\n if (first !== null && typeof first === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n\n for (const key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n\n for (let i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/***/ }),\n/* 23 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFScriptingManager = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nclass PDFScriptingManager {\n constructor({\n eventBus,\n sandboxBundleSrc = null,\n scriptingFactory = null,\n docPropertiesLookup = null\n }) {\n this._pdfDocument = null;\n this._pdfViewer = null;\n this._closeCapability = null;\n this._destroyCapability = null;\n this._scripting = null;\n this._mouseState = Object.create(null);\n this._ready = false;\n this._eventBus = eventBus;\n this._sandboxBundleSrc = sandboxBundleSrc;\n this._scriptingFactory = scriptingFactory;\n this._docPropertiesLookup = docPropertiesLookup;\n\n if (!this._scriptingFactory) {\n window.addEventListener(\"updatefromsandbox\", event => {\n this._eventBus.dispatch(\"updatefromsandbox\", {\n source: window,\n detail: event.detail\n });\n });\n }\n }\n\n setViewer(pdfViewer) {\n this._pdfViewer = pdfViewer;\n }\n\n async setDocument(pdfDocument) {\n if (this._pdfDocument) {\n await this._destroyScripting();\n }\n\n this._pdfDocument = pdfDocument;\n\n if (!pdfDocument) {\n return;\n }\n\n const [objects, calculationOrder, docActions] = await Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]);\n\n if (!objects && !docActions) {\n await this._destroyScripting();\n return;\n }\n\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n\n try {\n this._scripting = this._createScripting();\n } catch (error) {\n console.error(`PDFScriptingManager.setDocument: \"${error?.message}\".`);\n await this._destroyScripting();\n return;\n }\n\n this._internalEvents.set(\"updatefromsandbox\", event => {\n if (event?.source !== window) {\n return;\n }\n\n this._updateFromSandbox(event.detail);\n });\n\n this._internalEvents.set(\"dispatcheventinsandbox\", event => {\n this._scripting?.dispatchEventInSandbox(event.detail);\n });\n\n this._internalEvents.set(\"pagechanging\", ({\n pageNumber,\n previous\n }) => {\n if (pageNumber === previous) {\n return;\n }\n\n this._dispatchPageClose(previous);\n\n this._dispatchPageOpen(pageNumber);\n });\n\n this._internalEvents.set(\"pagerendered\", ({\n pageNumber\n }) => {\n if (!this._pageOpenPending.has(pageNumber)) {\n return;\n }\n\n if (pageNumber !== this._pdfViewer.currentPageNumber) {\n return;\n }\n\n this._dispatchPageOpen(pageNumber);\n });\n\n this._internalEvents.set(\"pagesdestroy\", async event => {\n await this._dispatchPageClose(this._pdfViewer.currentPageNumber);\n await this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillClose\"\n });\n this._closeCapability?.resolve();\n });\n\n this._domEvents.set(\"mousedown\", event => {\n this._mouseState.isDown = true;\n });\n\n this._domEvents.set(\"mouseup\", event => {\n this._mouseState.isDown = false;\n });\n\n for (const [name, listener] of this._internalEvents) {\n this._eventBus._on(name, listener);\n }\n\n for (const [name, listener] of this._domEvents) {\n window.addEventListener(name, listener, true);\n }\n\n try {\n const docProperties = await this._getDocProperties();\n\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n\n await this._scripting.createSandbox({\n objects,\n calculationOrder,\n appInfo: {\n platform: navigator.platform,\n language: navigator.language\n },\n docInfo: { ...docProperties,\n actions: docActions\n }\n });\n\n this._eventBus.dispatch(\"sandboxcreated\", {\n source: this\n });\n } catch (error) {\n console.error(`PDFScriptingManager.setDocument: \"${error?.message}\".`);\n await this._destroyScripting();\n return;\n }\n\n await this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"Open\"\n });\n await this._dispatchPageOpen(this._pdfViewer.currentPageNumber, true);\n Promise.resolve().then(() => {\n if (pdfDocument === this._pdfDocument) {\n this._ready = true;\n }\n });\n }\n\n async dispatchWillSave(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillSave\"\n });\n }\n\n async dispatchDidSave(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidSave\"\n });\n }\n\n async dispatchWillPrint(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillPrint\"\n });\n }\n\n async dispatchDidPrint(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidPrint\"\n });\n }\n\n get mouseState() {\n return this._mouseState;\n }\n\n get destroyPromise() {\n return this._destroyCapability?.promise || null;\n }\n\n get ready() {\n return this._ready;\n }\n\n get _internalEvents() {\n return (0, _pdfjsLib.shadow)(this, \"_internalEvents\", new Map());\n }\n\n get _domEvents() {\n return (0, _pdfjsLib.shadow)(this, \"_domEvents\", new Map());\n }\n\n get _pageOpenPending() {\n return (0, _pdfjsLib.shadow)(this, \"_pageOpenPending\", new Set());\n }\n\n get _visitedPages() {\n return (0, _pdfjsLib.shadow)(this, \"_visitedPages\", new Map());\n }\n\n async _updateFromSandbox(detail) {\n const isInPresentationMode = this._pdfViewer.isInPresentationMode || this._pdfViewer.isChangingPresentationMode;\n const {\n id,\n siblings,\n command,\n value\n } = detail;\n\n if (!id) {\n switch (command) {\n case \"clear\":\n console.clear();\n break;\n\n case \"error\":\n console.error(value);\n break;\n\n case \"layout\":\n if (isInPresentationMode) {\n return;\n }\n\n const modes = (0, _ui_utils.apiPageLayoutToViewerModes)(value);\n this._pdfViewer.spreadMode = modes.spreadMode;\n break;\n\n case \"page-num\":\n this._pdfViewer.currentPageNumber = value + 1;\n break;\n\n case \"print\":\n await this._pdfViewer.pagesPromise;\n\n this._eventBus.dispatch(\"print\", {\n source: this\n });\n\n break;\n\n case \"println\":\n console.log(value);\n break;\n\n case \"zoom\":\n if (isInPresentationMode) {\n return;\n }\n\n this._pdfViewer.currentScaleValue = value;\n break;\n\n case \"SaveAs\":\n this._eventBus.dispatch(\"save\", {\n source: this\n });\n\n break;\n\n case \"FirstPage\":\n this._pdfViewer.currentPageNumber = 1;\n break;\n\n case \"LastPage\":\n this._pdfViewer.currentPageNumber = this._pdfViewer.pagesCount;\n break;\n\n case \"NextPage\":\n this._pdfViewer.nextPage();\n\n break;\n\n case \"PrevPage\":\n this._pdfViewer.previousPage();\n\n break;\n\n case \"ZoomViewIn\":\n if (isInPresentationMode) {\n return;\n }\n\n this._pdfViewer.increaseScale();\n\n break;\n\n case \"ZoomViewOut\":\n if (isInPresentationMode) {\n return;\n }\n\n this._pdfViewer.decreaseScale();\n\n break;\n }\n\n return;\n }\n\n if (isInPresentationMode) {\n if (detail.focus) {\n return;\n }\n }\n\n delete detail.id;\n delete detail.siblings;\n const ids = siblings ? [id, ...siblings] : [id];\n\n for (const elementId of ids) {\n const element = document.getElementById(elementId);\n\n if (element) {\n element.dispatchEvent(new CustomEvent(\"updatefromsandbox\", {\n detail\n }));\n } else {\n this._pdfDocument?.annotationStorage.setValue(elementId, detail);\n }\n }\n }\n\n async _dispatchPageOpen(pageNumber, initialize = false) {\n const pdfDocument = this._pdfDocument,\n visitedPages = this._visitedPages;\n\n if (initialize) {\n this._closeCapability = (0, _pdfjsLib.createPromiseCapability)();\n }\n\n if (!this._closeCapability) {\n return;\n }\n\n const pageView = this._pdfViewer.getPageView(pageNumber - 1);\n\n if (pageView?.renderingState !== _ui_utils.RenderingStates.FINISHED) {\n this._pageOpenPending.add(pageNumber);\n\n return;\n }\n\n this._pageOpenPending.delete(pageNumber);\n\n const actionsPromise = (async () => {\n const actions = await (!visitedPages.has(pageNumber) ? pageView.pdfPage?.getJSActions() : null);\n\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n\n await this._scripting?.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageOpen\",\n pageNumber,\n actions\n });\n })();\n\n visitedPages.set(pageNumber, actionsPromise);\n }\n\n async _dispatchPageClose(pageNumber) {\n const pdfDocument = this._pdfDocument,\n visitedPages = this._visitedPages;\n\n if (!this._closeCapability) {\n return;\n }\n\n if (this._pageOpenPending.has(pageNumber)) {\n return;\n }\n\n const actionsPromise = visitedPages.get(pageNumber);\n\n if (!actionsPromise) {\n return;\n }\n\n visitedPages.set(pageNumber, null);\n await actionsPromise;\n\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n\n await this._scripting?.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageClose\",\n pageNumber\n });\n }\n\n async _getDocProperties() {\n if (this._docPropertiesLookup) {\n return this._docPropertiesLookup(this._pdfDocument);\n }\n\n const {\n docPropertiesLookup\n } = __w_pdfjs_require__(24);\n\n return docPropertiesLookup(this._pdfDocument);\n }\n\n _createScripting() {\n this._destroyCapability = (0, _pdfjsLib.createPromiseCapability)();\n\n if (this._scripting) {\n throw new Error(\"_createScripting: Scripting already exists.\");\n }\n\n if (this._scriptingFactory) {\n return this._scriptingFactory.createScripting({\n sandboxBundleSrc: this._sandboxBundleSrc\n });\n }\n\n const {\n GenericScripting\n } = __w_pdfjs_require__(24);\n\n return new GenericScripting(this._sandboxBundleSrc);\n }\n\n async _destroyScripting() {\n if (!this._scripting) {\n this._pdfDocument = null;\n this._destroyCapability?.resolve();\n return;\n }\n\n if (this._closeCapability) {\n await Promise.race([this._closeCapability.promise, new Promise(resolve => {\n setTimeout(resolve, 1000);\n })]).catch(reason => {});\n this._closeCapability = null;\n }\n\n this._pdfDocument = null;\n\n try {\n await this._scripting.destroySandbox();\n } catch (ex) {}\n\n for (const [name, listener] of this._internalEvents) {\n this._eventBus._off(name, listener);\n }\n\n this._internalEvents.clear();\n\n for (const [name, listener] of this._domEvents) {\n window.removeEventListener(name, listener, true);\n }\n\n this._domEvents.clear();\n\n this._pageOpenPending.clear();\n\n this._visitedPages.clear();\n\n this._scripting = null;\n delete this._mouseState.isDown;\n this._ready = false;\n this._destroyCapability?.resolve();\n }\n\n}\n\nexports.PDFScriptingManager = PDFScriptingManager;\n\n/***/ }),\n/* 24 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GenericScripting = void 0;\nexports.docPropertiesLookup = docPropertiesLookup;\n\nvar _pdfjsLib = __w_pdfjs_require__(3);\n\nasync function docPropertiesLookup(pdfDocument) {\n const url = \"\",\n baseUrl = url.split(\"#\")[0];\n let {\n info,\n metadata,\n contentDispositionFilename,\n contentLength\n } = await pdfDocument.getMetadata();\n\n if (!contentLength) {\n const {\n length\n } = await pdfDocument.getDownloadInfo();\n contentLength = length;\n }\n\n return { ...info,\n baseURL: baseUrl,\n filesize: contentLength,\n filename: contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(url),\n metadata: metadata?.getRaw(),\n authors: metadata?.get(\"dc:creator\"),\n numPages: pdfDocument.numPages,\n URL: url\n };\n}\n\nclass GenericScripting {\n constructor(sandboxBundleSrc) {\n this._ready = (0, _pdfjsLib.loadScript)(sandboxBundleSrc, true).then(() => {\n return window.pdfjsSandbox.QuickJSSandbox();\n });\n }\n\n async createSandbox(data) {\n const sandbox = await this._ready;\n sandbox.create(data);\n }\n\n async dispatchEventInSandbox(event) {\n const sandbox = await this._ready;\n setTimeout(() => sandbox.dispatchEvent(event), 0);\n }\n\n async destroySandbox() {\n const sandbox = await this._ready;\n sandbox.nukeSandbox();\n }\n\n}\n\nexports.GenericScripting = GenericScripting;\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AnnotationLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _annotation_layer_builder.AnnotationLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"DefaultAnnotationLayerFactory\", ({\n enumerable: true,\n get: function () {\n return _default_factory.DefaultAnnotationLayerFactory;\n }\n}));\nObject.defineProperty(exports, \"DefaultStructTreeLayerFactory\", ({\n enumerable: true,\n get: function () {\n return _default_factory.DefaultStructTreeLayerFactory;\n }\n}));\nObject.defineProperty(exports, \"DefaultTextLayerFactory\", ({\n enumerable: true,\n get: function () {\n return _default_factory.DefaultTextLayerFactory;\n }\n}));\nObject.defineProperty(exports, \"DefaultXfaLayerFactory\", ({\n enumerable: true,\n get: function () {\n return _default_factory.DefaultXfaLayerFactory;\n }\n}));\nObject.defineProperty(exports, \"DownloadManager\", ({\n enumerable: true,\n get: function () {\n return _download_manager.DownloadManager;\n }\n}));\nObject.defineProperty(exports, \"EventBus\", ({\n enumerable: true,\n get: function () {\n return _event_utils.EventBus;\n }\n}));\nObject.defineProperty(exports, \"GenericL10n\", ({\n enumerable: true,\n get: function () {\n return _genericl10n.GenericL10n;\n }\n}));\nObject.defineProperty(exports, \"LinkTarget\", ({\n enumerable: true,\n get: function () {\n return _pdf_link_service.LinkTarget;\n }\n}));\nObject.defineProperty(exports, \"NullL10n\", ({\n enumerable: true,\n get: function () {\n return _l10n_utils.NullL10n;\n }\n}));\nObject.defineProperty(exports, \"PDFFindController\", ({\n enumerable: true,\n get: function () {\n return _pdf_find_controller.PDFFindController;\n }\n}));\nObject.defineProperty(exports, \"PDFHistory\", ({\n enumerable: true,\n get: function () {\n return _pdf_history.PDFHistory;\n }\n}));\nObject.defineProperty(exports, \"PDFLinkService\", ({\n enumerable: true,\n get: function () {\n return _pdf_link_service.PDFLinkService;\n }\n}));\nObject.defineProperty(exports, \"PDFPageView\", ({\n enumerable: true,\n get: function () {\n return _pdf_page_view.PDFPageView;\n }\n}));\nObject.defineProperty(exports, \"PDFScriptingManager\", ({\n enumerable: true,\n get: function () {\n return _pdf_scripting_manager.PDFScriptingManager;\n }\n}));\nObject.defineProperty(exports, \"PDFSinglePageViewer\", ({\n enumerable: true,\n get: function () {\n return _pdf_viewer.PDFSinglePageViewer;\n }\n}));\nObject.defineProperty(exports, \"PDFViewer\", ({\n enumerable: true,\n get: function () {\n return _pdf_viewer.PDFViewer;\n }\n}));\nObject.defineProperty(exports, \"ProgressBar\", ({\n enumerable: true,\n get: function () {\n return _ui_utils.ProgressBar;\n }\n}));\nObject.defineProperty(exports, \"SimpleLinkService\", ({\n enumerable: true,\n get: function () {\n return _pdf_link_service.SimpleLinkService;\n }\n}));\nObject.defineProperty(exports, \"StructTreeLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _struct_tree_layer_builder.StructTreeLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"TextLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _text_layer_builder.TextLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"XfaLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _xfa_layer_builder.XfaLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"parseQueryString\", ({\n enumerable: true,\n get: function () {\n return _ui_utils.parseQueryString;\n }\n}));\n\nvar _default_factory = __w_pdfjs_require__(1);\n\nvar _pdf_link_service = __w_pdfjs_require__(5);\n\nvar _ui_utils = __w_pdfjs_require__(6);\n\nvar _pdf_viewer = __w_pdfjs_require__(10);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(2);\n\nvar _download_manager = __w_pdfjs_require__(16);\n\nvar _event_utils = __w_pdfjs_require__(17);\n\nvar _genericl10n = __w_pdfjs_require__(18);\n\nvar _l10n_utils = __w_pdfjs_require__(4);\n\nvar _pdf_find_controller = __w_pdfjs_require__(20);\n\nvar _pdf_history = __w_pdfjs_require__(22);\n\nvar _pdf_page_view = __w_pdfjs_require__(12);\n\nvar _pdf_scripting_manager = __w_pdfjs_require__(23);\n\nvar _struct_tree_layer_builder = __w_pdfjs_require__(7);\n\nvar _text_layer_builder = __w_pdfjs_require__(8);\n\nvar _xfa_layer_builder = __w_pdfjs_require__(9);\n\nconst pdfjsVersion = '2.14.305';\nconst pdfjsBuild = 'eaaa8b4ad';\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n","export { Observable } from './internal/Observable';\nexport { ConnectableObservable } from './internal/observable/ConnectableObservable';\nexport { GroupedObservable } from './internal/operators/groupBy';\nexport { observable } from './internal/symbol/observable';\nexport { Subject } from './internal/Subject';\nexport { BehaviorSubject } from './internal/BehaviorSubject';\nexport { ReplaySubject } from './internal/ReplaySubject';\nexport { AsyncSubject } from './internal/AsyncSubject';\nexport { asap as asapScheduler } from './internal/scheduler/asap';\nexport { async as asyncScheduler } from './internal/scheduler/async';\nexport { queue as queueScheduler } from './internal/scheduler/queue';\nexport { animationFrame as animationFrameScheduler } from './internal/scheduler/animationFrame';\nexport { VirtualTimeScheduler, VirtualAction } from './internal/scheduler/VirtualTimeScheduler';\nexport { Scheduler } from './internal/Scheduler';\nexport { Subscription } from './internal/Subscription';\nexport { Subscriber } from './internal/Subscriber';\nexport { Notification, NotificationKind } from './internal/Notification';\nexport { pipe } from './internal/util/pipe';\nexport { noop } from './internal/util/noop';\nexport { identity } from './internal/util/identity';\nexport { isObservable } from './internal/util/isObservable';\nexport { ArgumentOutOfRangeError } from './internal/util/ArgumentOutOfRangeError';\nexport { EmptyError } from './internal/util/EmptyError';\nexport { ObjectUnsubscribedError } from './internal/util/ObjectUnsubscribedError';\nexport { UnsubscriptionError } from './internal/util/UnsubscriptionError';\nexport { TimeoutError } from './internal/util/TimeoutError';\nexport { bindCallback } from './internal/observable/bindCallback';\nexport { bindNodeCallback } from './internal/observable/bindNodeCallback';\nexport { combineLatest } from './internal/observable/combineLatest';\nexport { concat } from './internal/observable/concat';\nexport { defer } from './internal/observable/defer';\nexport { empty } from './internal/observable/empty';\nexport { forkJoin } from './internal/observable/forkJoin';\nexport { from } from './internal/observable/from';\nexport { fromEvent } from './internal/observable/fromEvent';\nexport { fromEventPattern } from './internal/observable/fromEventPattern';\nexport { generate } from './internal/observable/generate';\nexport { iif } from './internal/observable/iif';\nexport { interval } from './internal/observable/interval';\nexport { merge } from './internal/observable/merge';\nexport { never } from './internal/observable/never';\nexport { of } from './internal/observable/of';\nexport { onErrorResumeNext } from './internal/observable/onErrorResumeNext';\nexport { pairs } from './internal/observable/pairs';\nexport { partition } from './internal/observable/partition';\nexport { race } from './internal/observable/race';\nexport { range } from './internal/observable/range';\nexport { throwError } from './internal/observable/throwError';\nexport { timer } from './internal/observable/timer';\nexport { using } from './internal/observable/using';\nexport { zip } from './internal/observable/zip';\nexport { scheduled } from './internal/scheduled/scheduled';\nexport { EMPTY } from './internal/observable/empty';\nexport { NEVER } from './internal/observable/never';\nexport { config } from './internal/config';\n","import { Subject } from './Subject';\nimport { Subscription } from './Subscription';\nexport class AsyncSubject extends Subject {\n constructor() {\n super(...arguments);\n this.value = null;\n this.hasNext = false;\n this.hasCompleted = false;\n }\n _subscribe(subscriber) {\n if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.hasCompleted && this.hasNext) {\n subscriber.next(this.value);\n subscriber.complete();\n return Subscription.EMPTY;\n }\n return super._subscribe(subscriber);\n }\n next(value) {\n if (!this.hasCompleted) {\n this.value = value;\n this.hasNext = true;\n }\n }\n error(error) {\n if (!this.hasCompleted) {\n super.error(error);\n }\n }\n complete() {\n this.hasCompleted = true;\n if (this.hasNext) {\n super.next(this.value);\n }\n super.complete();\n }\n}\n","import { Subject } from './Subject';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nexport class BehaviorSubject extends Subject {\n constructor(_value) {\n super();\n this._value = _value;\n }\n get value() {\n return this.getValue();\n }\n _subscribe(subscriber) {\n const subscription = super._subscribe(subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n }\n getValue() {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n }\n next(value) {\n super.next(this._value = value);\n }\n}\n","import { Subscriber } from './Subscriber';\nexport class InnerSubscriber extends Subscriber {\n constructor(parent, outerValue, outerIndex) {\n super();\n this.parent = parent;\n this.outerValue = outerValue;\n this.outerIndex = outerIndex;\n this.index = 0;\n }\n _next(value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n }\n _error(error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n }\n _complete() {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n }\n}\n","import { empty } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nexport var NotificationKind;\n(function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nexport class Notification {\n constructor(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n observe(observer) {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n }\n do(next, error, complete) {\n const kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n }\n accept(nextOrObserver, error, complete) {\n if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n return this.observe(nextOrObserver);\n }\n else {\n return this.do(nextOrObserver, error, complete);\n }\n }\n toObservable() {\n const kind = this.kind;\n switch (kind) {\n case 'N':\n return of(this.value);\n case 'E':\n return throwError(this.error);\n case 'C':\n return empty();\n }\n throw new Error('unexpected notification kind value');\n }\n static createNext(value) {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n }\n static createError(err) {\n return new Notification('E', undefined, err);\n }\n static createComplete() {\n return Notification.completeNotification;\n }\n}\nNotification.completeNotification = new Notification('C');\nNotification.undefinedValueNotification = new Notification('N', undefined);\n","import { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nexport class Observable {\n constructor(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const { operator } = this;\n const sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let subscription;\n subscription = this.subscribe((value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n }\n _subscribe(subscriber) {\n const { source } = this;\n return source && source.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => value = x, (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n","import { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport const empty = {\n closed: true,\n next(value) { },\n error(err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete() { }\n};\n","import { Subscriber } from './Subscriber';\nexport class OuterSubscriber extends Subscriber {\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n }\n notifyError(error, innerSub) {\n this.destination.error(error);\n }\n notifyComplete(innerSub) {\n this.destination.complete();\n }\n}\n","import { Subject } from './Subject';\nimport { queue } from './scheduler/queue';\nimport { Subscription } from './Subscription';\nimport { ObserveOnSubscriber } from './operators/observeOn';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nexport class ReplaySubject extends Subject {\n constructor(bufferSize = Number.POSITIVE_INFINITY, windowTime = Number.POSITIVE_INFINITY, scheduler) {\n super();\n this.scheduler = scheduler;\n this._events = [];\n this._infiniteTimeWindow = false;\n this._bufferSize = bufferSize < 1 ? 1 : bufferSize;\n this._windowTime = windowTime < 1 ? 1 : windowTime;\n if (windowTime === Number.POSITIVE_INFINITY) {\n this._infiniteTimeWindow = true;\n this.next = this.nextInfiniteTimeWindow;\n }\n else {\n this.next = this.nextTimeWindow;\n }\n }\n nextInfiniteTimeWindow(value) {\n const _events = this._events;\n _events.push(value);\n if (_events.length > this._bufferSize) {\n _events.shift();\n }\n super.next(value);\n }\n nextTimeWindow(value) {\n this._events.push(new ReplayEvent(this._getNow(), value));\n this._trimBufferThenGetEvents();\n super.next(value);\n }\n _subscribe(subscriber) {\n const _infiniteTimeWindow = this._infiniteTimeWindow;\n const _events = _infiniteTimeWindow ? this._events : this._trimBufferThenGetEvents();\n const scheduler = this.scheduler;\n const len = _events.length;\n let subscription;\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.isStopped || this.hasError) {\n subscription = Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n subscription = new SubjectSubscription(this, subscriber);\n }\n if (scheduler) {\n subscriber.add(subscriber = new ObserveOnSubscriber(subscriber, scheduler));\n }\n if (_infiniteTimeWindow) {\n for (let i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i]);\n }\n }\n else {\n for (let i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i].value);\n }\n }\n if (this.hasError) {\n subscriber.error(this.thrownError);\n }\n else if (this.isStopped) {\n subscriber.complete();\n }\n return subscription;\n }\n _getNow() {\n return (this.scheduler || queue).now();\n }\n _trimBufferThenGetEvents() {\n const now = this._getNow();\n const _bufferSize = this._bufferSize;\n const _windowTime = this._windowTime;\n const _events = this._events;\n const eventsCount = _events.length;\n let spliceCount = 0;\n while (spliceCount < eventsCount) {\n if ((now - _events[spliceCount].time) < _windowTime) {\n break;\n }\n spliceCount++;\n }\n if (eventsCount > _bufferSize) {\n spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);\n }\n if (spliceCount > 0) {\n _events.splice(0, spliceCount);\n }\n return _events;\n }\n}\nclass ReplayEvent {\n constructor(time, value) {\n this.time = time;\n this.value = value;\n }\n}\n","export class Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n schedule(work, delay = 0, state) {\n return new this.SchedulerAction(this, work).schedule(state, delay);\n }\n}\nScheduler.now = () => Date.now();\n","import { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nexport class SubjectSubscriber extends Subscriber {\n constructor(destination) {\n super(destination);\n this.destination = destination;\n }\n}\nexport class Subject extends Observable {\n constructor() {\n super();\n this.observers = [];\n this.closed = false;\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n [rxSubscriberSymbol]() {\n return new SubjectSubscriber(this);\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n next(value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n }\n error(err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n }\n complete() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n }\n unsubscribe() {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n }\n _trySubscribe(subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return super._trySubscribe(subscriber);\n }\n }\n _subscribe(subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n const { destination } = this;\n if (destination && destination.next) {\n destination.next(value);\n }\n }\n error(err) {\n const { destination } = this;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n }\n complete() {\n const { destination } = this;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n }\n _subscribe(subscriber) {\n const { source } = this;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription.EMPTY;\n }\n }\n}\n","import { Subscription } from './Subscription';\nexport class SubjectSubscription extends Subscription {\n constructor(subject, subscriber) {\n super();\n this.subject = subject;\n this.subscriber = subscriber;\n this.closed = false;\n }\n unsubscribe() {\n if (this.closed) {\n return;\n }\n this.closed = true;\n const subject = this.subject;\n const observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n const subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n }\n}\n","import { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport class Subscriber extends Subscription {\n constructor(destinationOrNext, error, complete) {\n super();\n this.syncErrorValue = null;\n this.syncErrorThrown = false;\n this.syncErrorThrowable = false;\n this.isStopped = false;\n switch (arguments.length) {\n case 0:\n this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n this.destination = destinationOrNext;\n destinationOrNext.add(this);\n }\n else {\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext);\n }\n break;\n }\n default:\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext, error, complete);\n break;\n }\n }\n [rxSubscriberSymbol]() { return this; }\n static create(next, error, complete) {\n const subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n }\n next(value) {\n if (!this.isStopped) {\n this._next(value);\n }\n }\n error(err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n super.unsubscribe();\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n this.destination.error(err);\n this.unsubscribe();\n }\n _complete() {\n this.destination.complete();\n this.unsubscribe();\n }\n _unsubscribeAndRecycle() {\n const { _parentOrParents } = this;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(_parentSubscriber, observerOrNext, error, complete) {\n super();\n this._parentSubscriber = _parentSubscriber;\n let next;\n let context = this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = this.unsubscribe.bind(this);\n }\n }\n this._context = context;\n this._next = next;\n this._error = error;\n this._complete = complete;\n }\n next(value) {\n if (!this.isStopped && this._next) {\n const { _parentSubscriber } = this;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n }\n error(err) {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n const { useDeprecatedSynchronousErrorHandling } = config;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n }\n complete() {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n if (this._complete) {\n const wrappedComplete = () => this._complete.call(this._context);\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n }\n __tryOrUnsub(fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n }\n __tryOrSetError(parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n }\n _unsubscribe() {\n const { _parentSubscriber } = this;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n }\n}\n","import { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nexport class Subscription {\n constructor(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._unsubscribe = unsubscribe;\n }\n }\n unsubscribe() {\n let errors;\n if (this.closed) {\n return;\n }\n let { _parentOrParents, _unsubscribe, _subscriptions } = this;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (let index = 0; index < _parentOrParents.length; ++index) {\n const parent = _parentOrParents[index];\n parent.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n let index = -1;\n let len = _subscriptions.length;\n while (++index < len) {\n const sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n add(teardown) {\n let subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n const tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n let { _parentOrParents } = subscription;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n const subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n }\n remove(subscription) {\n const subscriptions = this._subscriptions;\n if (subscriptions) {\n const subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n }\n}\nSubscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n}(new Subscription()));\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce((errs, err) => errs.concat((err instanceof UnsubscriptionError) ? err.errors : err), []);\n}\n","let _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport const config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n const error = new Error();\n console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n","import { SubjectSubscriber } from '../Subject';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nexport class ConnectableObservable extends Observable {\n constructor(source, subjectFactory) {\n super();\n this.source = source;\n this.subjectFactory = subjectFactory;\n this._refCount = 0;\n this._isComplete = false;\n }\n _subscribe(subscriber) {\n return this.getSubject().subscribe(subscriber);\n }\n getSubject() {\n const subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n }\n connect() {\n let connection = this._connection;\n if (!connection) {\n this._isComplete = false;\n connection = this._connection = new Subscription();\n connection.add(this.source\n .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n }\n refCount() {\n return higherOrderRefCount()(this);\n }\n}\nexport const connectableObservableDescriptor = (() => {\n const connectableProto = ConnectableObservable.prototype;\n return {\n operator: { value: null },\n _refCount: { value: 0, writable: true },\n _subject: { value: null, writable: true },\n _connection: { value: null, writable: true },\n _subscribe: { value: connectableProto._subscribe },\n _isComplete: { value: connectableProto._isComplete, writable: true },\n getSubject: { value: connectableProto.getSubject },\n connect: { value: connectableProto.connect },\n refCount: { value: connectableProto.refCount }\n };\n})();\nclass ConnectableSubscriber extends SubjectSubscriber {\n constructor(destination, connectable) {\n super(destination);\n this.connectable = connectable;\n }\n _error(err) {\n this._unsubscribe();\n super._error(err);\n }\n _complete() {\n this.connectable._isComplete = true;\n this._unsubscribe();\n super._complete();\n }\n _unsubscribe() {\n const connectable = this.connectable;\n if (connectable) {\n this.connectable = null;\n const connection = connectable._connection;\n connectable._refCount = 0;\n connectable._subject = null;\n connectable._connection = null;\n if (connection) {\n connection.unsubscribe();\n }\n }\n }\n}\nclass RefCountOperator {\n constructor(connectable) {\n this.connectable = connectable;\n }\n call(subscriber, source) {\n const { connectable } = this;\n connectable._refCount++;\n const refCounter = new RefCountSubscriber(subscriber, connectable);\n const subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n }\n}\nclass RefCountSubscriber extends Subscriber {\n constructor(destination, connectable) {\n super(destination);\n this.connectable = connectable;\n }\n _unsubscribe() {\n const { connectable } = this;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n const refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n const { connection } = this;\n const sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n }\n}\n","import { Observable } from '../Observable';\nimport { AsyncSubject } from '../AsyncSubject';\nimport { map } from '../operators/map';\nimport { canReportError } from '../util/canReportError';\nimport { isArray } from '../util/isArray';\nimport { isScheduler } from '../util/isScheduler';\nexport function bindCallback(callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if (isScheduler(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return (...args) => bindCallback(callbackFunc, scheduler)(...args).pipe(map((args) => isArray(args) ? resultSelector(...args) : resultSelector(args)));\n }\n }\n return function (...args) {\n const context = this;\n let subject;\n const params = {\n context,\n subject,\n callbackFunc,\n scheduler,\n };\n return new Observable(subscriber => {\n if (!scheduler) {\n if (!subject) {\n subject = new AsyncSubject();\n const handler = (...innerArgs) => {\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n };\n try {\n callbackFunc.apply(context, [...args, handler]);\n }\n catch (err) {\n if (canReportError(subject)) {\n subject.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n const state = {\n args, subscriber, params,\n };\n return scheduler.schedule(dispatch, 0, state);\n }\n });\n };\n}\nfunction dispatch(state) {\n const self = this;\n const { args, subscriber, params } = state;\n const { callbackFunc, context, scheduler } = params;\n let { subject } = params;\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n const handler = (...innerArgs) => {\n const value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n this.add(scheduler.schedule(dispatchNext, 0, { value, subject }));\n };\n try {\n callbackFunc.apply(context, [...args, handler]);\n }\n catch (err) {\n subject.error(err);\n }\n }\n this.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(state) {\n const { value, subject } = state;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(state) {\n const { err, subject } = state;\n subject.error(err);\n}\n","import { Observable } from '../Observable';\nimport { AsyncSubject } from '../AsyncSubject';\nimport { map } from '../operators/map';\nimport { canReportError } from '../util/canReportError';\nimport { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nexport function bindNodeCallback(callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if (isScheduler(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return (...args) => bindNodeCallback(callbackFunc, scheduler)(...args).pipe(map(args => isArray(args) ? resultSelector(...args) : resultSelector(args)));\n }\n }\n return function (...args) {\n const params = {\n subject: undefined,\n args,\n callbackFunc,\n scheduler,\n context: this,\n };\n return new Observable(subscriber => {\n const { context } = params;\n let { subject } = params;\n if (!scheduler) {\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n const handler = (...innerArgs) => {\n const err = innerArgs.shift();\n if (err) {\n subject.error(err);\n return;\n }\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n };\n try {\n callbackFunc.apply(context, [...args, handler]);\n }\n catch (err) {\n if (canReportError(subject)) {\n subject.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n return scheduler.schedule(dispatch, 0, { params, subscriber, context });\n }\n });\n };\n}\nfunction dispatch(state) {\n const { params, subscriber, context } = state;\n const { callbackFunc, args, scheduler } = params;\n let subject = params.subject;\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n const handler = (...innerArgs) => {\n const err = innerArgs.shift();\n if (err) {\n this.add(scheduler.schedule(dispatchError, 0, { err, subject }));\n }\n else {\n const value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n this.add(scheduler.schedule(dispatchNext, 0, { value, subject }));\n }\n };\n try {\n callbackFunc.apply(context, [...args, handler]);\n }\n catch (err) {\n this.add(scheduler.schedule(dispatchError, 0, { err, subject }));\n }\n }\n this.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(arg) {\n const { value, subject } = arg;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(arg) {\n const { err, subject } = arg;\n subject.error(err);\n}\n","import { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { fromArray } from './fromArray';\nconst NONE = {};\nexport function combineLatest(...observables) {\n let resultSelector = null;\n let scheduler = null;\n if (isScheduler(observables[observables.length - 1])) {\n scheduler = observables.pop();\n }\n if (typeof observables[observables.length - 1] === 'function') {\n resultSelector = observables.pop();\n }\n if (observables.length === 1 && isArray(observables[0])) {\n observables = observables[0];\n }\n return fromArray(observables, scheduler).lift(new CombineLatestOperator(resultSelector));\n}\nexport class CombineLatestOperator {\n constructor(resultSelector) {\n this.resultSelector = resultSelector;\n }\n call(subscriber, source) {\n return source.subscribe(new CombineLatestSubscriber(subscriber, this.resultSelector));\n }\n}\nexport class CombineLatestSubscriber extends OuterSubscriber {\n constructor(destination, resultSelector) {\n super(destination);\n this.resultSelector = resultSelector;\n this.active = 0;\n this.values = [];\n this.observables = [];\n }\n _next(observable) {\n this.values.push(NONE);\n this.observables.push(observable);\n }\n _complete() {\n const observables = this.observables;\n const len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n this.active = len;\n this.toRespond = len;\n for (let i = 0; i < len; i++) {\n const observable = observables[i];\n this.add(subscribeToResult(this, observable, observable, i));\n }\n }\n }\n notifyComplete(unused) {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n const values = this.values;\n const oldVal = values[outerIndex];\n const toRespond = !this.toRespond\n ? 0\n : oldVal === NONE ? --this.toRespond : this.toRespond;\n values[outerIndex] = innerValue;\n if (toRespond === 0) {\n if (this.resultSelector) {\n this._tryResultSelector(values);\n }\n else {\n this.destination.next(values.slice());\n }\n }\n }\n _tryResultSelector(values) {\n let result;\n try {\n result = this.resultSelector.apply(this, values);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n }\n}\n","import { of } from './of';\nimport { concatAll } from '../operators/concatAll';\nexport function concat(...observables) {\n return concatAll()(of(...observables));\n}\n","import { Observable } from '../Observable';\nimport { from } from './from';\nimport { empty } from './empty';\nexport function defer(observableFactory) {\n return new Observable(subscriber => {\n let input;\n try {\n input = observableFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n const source = input ? from(input) : empty();\n return source.subscribe(subscriber);\n });\n}\n","import { Observable } from '../Observable';\nexport const EMPTY = new Observable(subscriber => subscriber.complete());\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(subscriber => scheduler.schedule(() => subscriber.complete()));\n}\n","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { map } from '../operators/map';\nimport { isObject } from '../util/isObject';\nimport { from } from './from';\nexport function forkJoin(...sources) {\n if (sources.length === 1) {\n const first = sources[0];\n if (isArray(first)) {\n return forkJoinInternal(first, null);\n }\n if (isObject(first) && Object.getPrototypeOf(first) === Object.prototype) {\n const keys = Object.keys(first);\n return forkJoinInternal(keys.map(key => first[key]), keys);\n }\n }\n if (typeof sources[sources.length - 1] === 'function') {\n const resultSelector = sources.pop();\n sources = (sources.length === 1 && isArray(sources[0])) ? sources[0] : sources;\n return forkJoinInternal(sources, null).pipe(map((args) => resultSelector(...args)));\n }\n return forkJoinInternal(sources, null);\n}\nfunction forkJoinInternal(sources, keys) {\n return new Observable(subscriber => {\n const len = sources.length;\n if (len === 0) {\n subscriber.complete();\n return;\n }\n const values = new Array(len);\n let completed = 0;\n let emitted = 0;\n for (let i = 0; i < len; i++) {\n const source = from(sources[i]);\n let hasValue = false;\n subscriber.add(source.subscribe({\n next: value => {\n if (!hasValue) {\n hasValue = true;\n emitted++;\n }\n values[i] = value;\n },\n error: err => subscriber.error(err),\n complete: () => {\n completed++;\n if (completed === len || !hasValue) {\n if (emitted === len) {\n subscriber.next(keys ?\n keys.reduce((result, key, i) => (result[key] = values[i], result), {}) :\n values);\n }\n subscriber.complete();\n }\n }\n }));\n }\n });\n}\n","import { Observable } from '../Observable';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { scheduled } from '../scheduled/scheduled';\nexport function from(input, scheduler) {\n if (!scheduler) {\n if (input instanceof Observable) {\n return input;\n }\n return new Observable(subscribeTo(input));\n }\n else {\n return scheduled(input, scheduler);\n }\n}\n","import { Observable } from '../Observable';\nimport { subscribeToArray } from '../util/subscribeToArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function fromArray(input, scheduler) {\n if (!scheduler) {\n return new Observable(subscribeToArray(input));\n }\n else {\n return scheduleArray(input, scheduler);\n }\n}\n","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nconst toString = (() => Object.prototype.toString)();\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(map(args => isArray(args) ? resultSelector(...args) : resultSelector(args)));\n }\n return new Observable(subscriber => {\n function handler(e) {\n if (arguments.length > 1) {\n subscriber.next(Array.prototype.slice.call(arguments));\n }\n else {\n subscriber.next(e);\n }\n }\n setupSubscription(target, eventName, handler, subscriber, options);\n });\n}\nfunction setupSubscription(sourceObj, eventName, handler, subscriber, options) {\n let unsubscribe;\n if (isEventTarget(sourceObj)) {\n const source = sourceObj;\n sourceObj.addEventListener(eventName, handler, options);\n unsubscribe = () => source.removeEventListener(eventName, handler, options);\n }\n else if (isJQueryStyleEventEmitter(sourceObj)) {\n const source = sourceObj;\n sourceObj.on(eventName, handler);\n unsubscribe = () => source.off(eventName, handler);\n }\n else if (isNodeStyleEventEmitter(sourceObj)) {\n const source = sourceObj;\n sourceObj.addListener(eventName, handler);\n unsubscribe = () => source.removeListener(eventName, handler);\n }\n else if (sourceObj && sourceObj.length) {\n for (let i = 0, len = sourceObj.length; i < len; i++) {\n setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n }\n }\n else {\n throw new TypeError('Invalid event target');\n }\n subscriber.add(unsubscribe);\n}\nfunction isNodeStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isEventTarget(sourceObj) {\n return sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nexport function fromEventPattern(addHandler, removeHandler, resultSelector) {\n if (resultSelector) {\n return fromEventPattern(addHandler, removeHandler).pipe(map(args => isArray(args) ? resultSelector(...args) : resultSelector(args)));\n }\n return new Observable(subscriber => {\n const handler = (...e) => subscriber.next(e.length === 1 ? e[0] : e);\n let retValue;\n try {\n retValue = addHandler(handler);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!isFunction(removeHandler)) {\n return undefined;\n }\n return () => removeHandler(handler, retValue);\n });\n}\n","import { Observable } from '../Observable';\nimport { identity } from '../util/identity';\nimport { isScheduler } from '../util/isScheduler';\nexport function generate(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler) {\n let resultSelector;\n let initialState;\n if (arguments.length == 1) {\n const options = initialStateOrOptions;\n initialState = options.initialState;\n condition = options.condition;\n iterate = options.iterate;\n resultSelector = options.resultSelector || identity;\n scheduler = options.scheduler;\n }\n else if (resultSelectorOrObservable === undefined || isScheduler(resultSelectorOrObservable)) {\n initialState = initialStateOrOptions;\n resultSelector = identity;\n scheduler = resultSelectorOrObservable;\n }\n else {\n initialState = initialStateOrOptions;\n resultSelector = resultSelectorOrObservable;\n }\n return new Observable(subscriber => {\n let state = initialState;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n subscriber,\n iterate,\n condition,\n resultSelector,\n state\n });\n }\n do {\n if (condition) {\n let conditionResult;\n try {\n conditionResult = condition(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!conditionResult) {\n subscriber.complete();\n break;\n }\n }\n let value;\n try {\n value = resultSelector(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n break;\n }\n try {\n state = iterate(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n } while (true);\n return undefined;\n });\n}\nfunction dispatch(state) {\n const { subscriber, condition } = state;\n if (subscriber.closed) {\n return undefined;\n }\n if (state.needIterate) {\n try {\n state.state = state.iterate(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n }\n else {\n state.needIterate = true;\n }\n if (condition) {\n let conditionResult;\n try {\n conditionResult = condition(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!conditionResult) {\n subscriber.complete();\n return undefined;\n }\n if (subscriber.closed) {\n return undefined;\n }\n }\n let value;\n try {\n value = state.resultSelector(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (subscriber.closed) {\n return undefined;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n return undefined;\n }\n return this.schedule(state);\n}\n","import { defer } from './defer';\nimport { EMPTY } from './empty';\nexport function iif(condition, trueResult = EMPTY, falseResult = EMPTY) {\n return defer(() => condition() ? trueResult : falseResult);\n}\n","import { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\nimport { isNumeric } from '../util/isNumeric';\nexport function interval(period = 0, scheduler = async) {\n if (!isNumeric(period) || period < 0) {\n period = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n scheduler = async;\n }\n return new Observable(subscriber => {\n subscriber.add(scheduler.schedule(dispatch, period, { subscriber, counter: 0, period }));\n return subscriber;\n });\n}\nfunction dispatch(state) {\n const { subscriber, counter, period } = state;\n subscriber.next(counter);\n this.schedule({ subscriber, counter: counter + 1, period }, period);\n}\n","import { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nimport { mergeAll } from '../operators/mergeAll';\nimport { fromArray } from './fromArray';\nexport function merge(...observables) {\n let concurrent = Number.POSITIVE_INFINITY;\n let scheduler = null;\n let last = observables[observables.length - 1];\n if (isScheduler(last)) {\n scheduler = observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = observables.pop();\n }\n }\n else if (typeof last === 'number') {\n concurrent = observables.pop();\n }\n if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) {\n return observables[0];\n }\n return mergeAll(concurrent)(fromArray(observables, scheduler));\n}\n","import { Observable } from '../Observable';\nimport { noop } from '../util/noop';\nexport const NEVER = new Observable(noop);\nexport function never() {\n return NEVER;\n}\n","import { isScheduler } from '../util/isScheduler';\nimport { fromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function of(...args) {\n let scheduler = args[args.length - 1];\n if (isScheduler(scheduler)) {\n args.pop();\n return scheduleArray(args, scheduler);\n }\n else {\n return fromArray(args);\n }\n}\n","import { Observable } from '../Observable';\nimport { from } from './from';\nimport { isArray } from '../util/isArray';\nimport { EMPTY } from './empty';\nexport function onErrorResumeNext(...sources) {\n if (sources.length === 0) {\n return EMPTY;\n }\n const [first, ...remainder] = sources;\n if (sources.length === 1 && isArray(first)) {\n return onErrorResumeNext(...first);\n }\n return new Observable(subscriber => {\n const subNext = () => subscriber.add(onErrorResumeNext(...remainder).subscribe(subscriber));\n return from(first).subscribe({\n next(value) { subscriber.next(value); },\n error: subNext,\n complete: subNext,\n });\n });\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function pairs(obj, scheduler) {\n if (!scheduler) {\n return new Observable(subscriber => {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length && !subscriber.closed; i++) {\n const key = keys[i];\n if (obj.hasOwnProperty(key)) {\n subscriber.next([key, obj[key]]);\n }\n }\n subscriber.complete();\n });\n }\n else {\n return new Observable(subscriber => {\n const keys = Object.keys(obj);\n const subscription = new Subscription();\n subscription.add(scheduler.schedule(dispatch, 0, { keys, index: 0, subscriber, subscription, obj }));\n return subscription;\n });\n }\n}\nexport function dispatch(state) {\n const { keys, index, subscriber, subscription, obj } = state;\n if (!subscriber.closed) {\n if (index < keys.length) {\n const key = keys[index];\n subscriber.next([key, obj[key]]);\n subscription.add(this.schedule({ keys, index: index + 1, subscriber, subscription, obj }));\n }\n else {\n subscriber.complete();\n }\n }\n}\n","import { not } from '../util/not';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { filter } from '../operators/filter';\nimport { Observable } from '../Observable';\nexport function partition(source, predicate, thisArg) {\n return [\n filter(predicate, thisArg)(new Observable(subscribeTo(source))),\n filter(not(predicate, thisArg))(new Observable(subscribeTo(source)))\n ];\n}\n","import { isArray } from '../util/isArray';\nimport { fromArray } from './fromArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function race(...observables) {\n if (observables.length === 1) {\n if (isArray(observables[0])) {\n observables = observables[0];\n }\n else {\n return observables[0];\n }\n }\n return fromArray(observables, undefined).lift(new RaceOperator());\n}\nexport class RaceOperator {\n call(subscriber, source) {\n return source.subscribe(new RaceSubscriber(subscriber));\n }\n}\nexport class RaceSubscriber extends OuterSubscriber {\n constructor(destination) {\n super(destination);\n this.hasFirst = false;\n this.observables = [];\n this.subscriptions = [];\n }\n _next(observable) {\n this.observables.push(observable);\n }\n _complete() {\n const observables = this.observables;\n const len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n for (let i = 0; i < len && !this.hasFirst; i++) {\n let observable = observables[i];\n let subscription = subscribeToResult(this, observable, observable, i);\n if (this.subscriptions) {\n this.subscriptions.push(subscription);\n }\n this.add(subscription);\n }\n this.observables = null;\n }\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n if (!this.hasFirst) {\n this.hasFirst = true;\n for (let i = 0; i < this.subscriptions.length; i++) {\n if (i !== outerIndex) {\n let subscription = this.subscriptions[i];\n subscription.unsubscribe();\n this.remove(subscription);\n }\n }\n this.subscriptions = null;\n }\n this.destination.next(innerValue);\n }\n}\n","import { Observable } from '../Observable';\nexport function range(start = 0, count, scheduler) {\n return new Observable(subscriber => {\n if (count === undefined) {\n count = start;\n start = 0;\n }\n let index = 0;\n let current = start;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n index, count, start, subscriber\n });\n }\n else {\n do {\n if (index++ >= count) {\n subscriber.complete();\n break;\n }\n subscriber.next(current++);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n }\n return undefined;\n });\n}\nexport function dispatch(state) {\n const { start, index, count, subscriber } = state;\n if (index >= count) {\n subscriber.complete();\n return;\n }\n subscriber.next(start);\n if (subscriber.closed) {\n return;\n }\n state.index = index + 1;\n state.start = start + 1;\n this.schedule(state);\n}\n","import { Observable } from '../Observable';\nexport function throwError(error, scheduler) {\n if (!scheduler) {\n return new Observable(subscriber => subscriber.error(error));\n }\n else {\n return new Observable(subscriber => scheduler.schedule(dispatch, 0, { error, subscriber }));\n }\n}\nfunction dispatch({ error, subscriber }) {\n subscriber.error(error);\n}\n","import { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\nimport { isNumeric } from '../util/isNumeric';\nimport { isScheduler } from '../util/isScheduler';\nexport function timer(dueTime = 0, periodOrScheduler, scheduler) {\n let period = -1;\n if (isNumeric(periodOrScheduler)) {\n period = Number(periodOrScheduler) < 1 && 1 || Number(periodOrScheduler);\n }\n else if (isScheduler(periodOrScheduler)) {\n scheduler = periodOrScheduler;\n }\n if (!isScheduler(scheduler)) {\n scheduler = async;\n }\n return new Observable(subscriber => {\n const due = isNumeric(dueTime)\n ? dueTime\n : (+dueTime - scheduler.now());\n return scheduler.schedule(dispatch, due, {\n index: 0, period, subscriber\n });\n });\n}\nfunction dispatch(state) {\n const { index, period, subscriber } = state;\n subscriber.next(index);\n if (subscriber.closed) {\n return;\n }\n else if (period === -1) {\n return subscriber.complete();\n }\n state.index = index + 1;\n this.schedule(state, period);\n}\n","import { Observable } from '../Observable';\nimport { from } from './from';\nimport { EMPTY } from './empty';\nexport function using(resourceFactory, observableFactory) {\n return new Observable(subscriber => {\n let resource;\n try {\n resource = resourceFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n let result;\n try {\n result = observableFactory(resource);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n const source = result ? from(result) : EMPTY;\n const subscription = source.subscribe(subscriber);\n return () => {\n subscription.unsubscribe();\n if (resource) {\n resource.unsubscribe();\n }\n };\n });\n}\n","import { fromArray } from './fromArray';\nimport { isArray } from '../util/isArray';\nimport { Subscriber } from '../Subscriber';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { iterator as Symbol_iterator } from '../../internal/symbol/iterator';\nexport function zip(...observables) {\n const resultSelector = observables[observables.length - 1];\n if (typeof resultSelector === 'function') {\n observables.pop();\n }\n return fromArray(observables, undefined).lift(new ZipOperator(resultSelector));\n}\nexport class ZipOperator {\n constructor(resultSelector) {\n this.resultSelector = resultSelector;\n }\n call(subscriber, source) {\n return source.subscribe(new ZipSubscriber(subscriber, this.resultSelector));\n }\n}\nexport class ZipSubscriber extends Subscriber {\n constructor(destination, resultSelector, values = Object.create(null)) {\n super(destination);\n this.iterators = [];\n this.active = 0;\n this.resultSelector = (typeof resultSelector === 'function') ? resultSelector : null;\n this.values = values;\n }\n _next(value) {\n const iterators = this.iterators;\n if (isArray(value)) {\n iterators.push(new StaticArrayIterator(value));\n }\n else if (typeof value[Symbol_iterator] === 'function') {\n iterators.push(new StaticIterator(value[Symbol_iterator]()));\n }\n else {\n iterators.push(new ZipBufferIterator(this.destination, this, value));\n }\n }\n _complete() {\n const iterators = this.iterators;\n const len = iterators.length;\n this.unsubscribe();\n if (len === 0) {\n this.destination.complete();\n return;\n }\n this.active = len;\n for (let i = 0; i < len; i++) {\n let iterator = iterators[i];\n if (iterator.stillUnsubscribed) {\n const destination = this.destination;\n destination.add(iterator.subscribe(iterator, i));\n }\n else {\n this.active--;\n }\n }\n }\n notifyInactive() {\n this.active--;\n if (this.active === 0) {\n this.destination.complete();\n }\n }\n checkIterators() {\n const iterators = this.iterators;\n const len = iterators.length;\n const destination = this.destination;\n for (let i = 0; i < len; i++) {\n let iterator = iterators[i];\n if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {\n return;\n }\n }\n let shouldComplete = false;\n const args = [];\n for (let i = 0; i < len; i++) {\n let iterator = iterators[i];\n let result = iterator.next();\n if (iterator.hasCompleted()) {\n shouldComplete = true;\n }\n if (result.done) {\n destination.complete();\n return;\n }\n args.push(result.value);\n }\n if (this.resultSelector) {\n this._tryresultSelector(args);\n }\n else {\n destination.next(args);\n }\n if (shouldComplete) {\n destination.complete();\n }\n }\n _tryresultSelector(args) {\n let result;\n try {\n result = this.resultSelector.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n }\n}\nclass StaticIterator {\n constructor(iterator) {\n this.iterator = iterator;\n this.nextResult = iterator.next();\n }\n hasValue() {\n return true;\n }\n next() {\n const result = this.nextResult;\n this.nextResult = this.iterator.next();\n return result;\n }\n hasCompleted() {\n const nextResult = this.nextResult;\n return nextResult && nextResult.done;\n }\n}\nclass StaticArrayIterator {\n constructor(array) {\n this.array = array;\n this.index = 0;\n this.length = 0;\n this.length = array.length;\n }\n [Symbol_iterator]() {\n return this;\n }\n next(value) {\n const i = this.index++;\n const array = this.array;\n return i < this.length ? { value: array[i], done: false } : { value: null, done: true };\n }\n hasValue() {\n return this.array.length > this.index;\n }\n hasCompleted() {\n return this.array.length === this.index;\n }\n}\nclass ZipBufferIterator extends OuterSubscriber {\n constructor(destination, parent, observable) {\n super(destination);\n this.parent = parent;\n this.observable = observable;\n this.stillUnsubscribed = true;\n this.buffer = [];\n this.isComplete = false;\n }\n [Symbol_iterator]() {\n return this;\n }\n next() {\n const buffer = this.buffer;\n if (buffer.length === 0 && this.isComplete) {\n return { value: null, done: true };\n }\n else {\n return { value: buffer.shift(), done: false };\n }\n }\n hasValue() {\n return this.buffer.length > 0;\n }\n hasCompleted() {\n return this.buffer.length === 0 && this.isComplete;\n }\n notifyComplete() {\n if (this.buffer.length > 0) {\n this.isComplete = true;\n this.parent.notifyInactive();\n }\n else {\n this.destination.complete();\n }\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.buffer.push(innerValue);\n this.parent.checkIterators();\n }\n subscribe(value, index) {\n return subscribeToResult(this, this.observable, this, index);\n }\n}\n","import { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function catchError(selector) {\n return function catchErrorOperatorFunction(source) {\n const operator = new CatchOperator(selector);\n const caught = source.lift(operator);\n return (operator.caught = caught);\n };\n}\nclass CatchOperator {\n constructor(selector) {\n this.selector = selector;\n }\n call(subscriber, source) {\n return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n }\n}\nclass CatchSubscriber extends OuterSubscriber {\n constructor(destination, selector, caught) {\n super(destination);\n this.selector = selector;\n this.caught = caught;\n }\n error(err) {\n if (!this.isStopped) {\n let result;\n try {\n result = this.selector(err, this.caught);\n }\n catch (err2) {\n super.error(err2);\n return;\n }\n this._unsubscribeAndRecycle();\n const innerSubscriber = new InnerSubscriber(this, undefined, undefined);\n this.add(innerSubscriber);\n const innerSubscription = subscribeToResult(this, result, undefined, undefined, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n this.add(innerSubscription);\n }\n }\n }\n}\n","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n","import { mergeMap } from './mergeMap';\nexport function concatMap(project, resultSelector) {\n return mergeMap(project, resultSelector, 1);\n}\n","import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function debounceTime(dueTime, scheduler = async) {\n return (source) => source.lift(new DebounceTimeOperator(dueTime, scheduler));\n}\nclass DebounceTimeOperator {\n constructor(dueTime, scheduler) {\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n }\n}\nclass DebounceTimeSubscriber extends Subscriber {\n constructor(destination, dueTime, scheduler) {\n super(destination);\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n this.debouncedSubscription = null;\n this.lastValue = null;\n this.hasValue = false;\n }\n _next(value) {\n this.clearDebounce();\n this.lastValue = value;\n this.hasValue = true;\n this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n }\n _complete() {\n this.debouncedNext();\n this.destination.complete();\n }\n debouncedNext() {\n this.clearDebounce();\n if (this.hasValue) {\n const { lastValue } = this;\n this.lastValue = null;\n this.hasValue = false;\n this.destination.next(lastValue);\n }\n }\n clearDebounce() {\n const debouncedSubscription = this.debouncedSubscription;\n if (debouncedSubscription !== null) {\n this.remove(debouncedSubscription);\n debouncedSubscription.unsubscribe();\n this.debouncedSubscription = null;\n }\n }\n}\nfunction dispatchNext(subscriber) {\n subscriber.debouncedNext();\n}\n","import { Subscriber } from '../Subscriber';\nexport function defaultIfEmpty(defaultValue = null) {\n return (source) => source.lift(new DefaultIfEmptyOperator(defaultValue));\n}\nclass DefaultIfEmptyOperator {\n constructor(defaultValue) {\n this.defaultValue = defaultValue;\n }\n call(subscriber, source) {\n return source.subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));\n }\n}\nclass DefaultIfEmptySubscriber extends Subscriber {\n constructor(destination, defaultValue) {\n super(destination);\n this.defaultValue = defaultValue;\n this.isEmpty = true;\n }\n _next(value) {\n this.isEmpty = false;\n this.destination.next(value);\n }\n _complete() {\n if (this.isEmpty) {\n this.destination.next(this.defaultValue);\n }\n this.destination.complete();\n }\n}\n","import { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function delay(delay, scheduler = async) {\n const absoluteDelay = isDate(delay);\n const delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);\n return (source) => source.lift(new DelayOperator(delayFor, scheduler));\n}\nclass DelayOperator {\n constructor(delay, scheduler) {\n this.delay = delay;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\n }\n}\nclass DelaySubscriber extends Subscriber {\n constructor(destination, delay, scheduler) {\n super(destination);\n this.delay = delay;\n this.scheduler = scheduler;\n this.queue = [];\n this.active = false;\n this.errored = false;\n }\n static dispatch(state) {\n const source = state.source;\n const queue = source.queue;\n const scheduler = state.scheduler;\n const destination = state.destination;\n while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {\n queue.shift().notification.observe(destination);\n }\n if (queue.length > 0) {\n const delay = Math.max(0, queue[0].time - scheduler.now());\n this.schedule(state, delay);\n }\n else {\n this.unsubscribe();\n source.active = false;\n }\n }\n _schedule(scheduler) {\n this.active = true;\n const destination = this.destination;\n destination.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {\n source: this, destination: this.destination, scheduler: scheduler\n }));\n }\n scheduleNotification(notification) {\n if (this.errored === true) {\n return;\n }\n const scheduler = this.scheduler;\n const message = new DelayMessage(scheduler.now() + this.delay, notification);\n this.queue.push(message);\n if (this.active === false) {\n this._schedule(scheduler);\n }\n }\n _next(value) {\n this.scheduleNotification(Notification.createNext(value));\n }\n _error(err) {\n this.errored = true;\n this.queue = [];\n this.destination.error(err);\n this.unsubscribe();\n }\n _complete() {\n this.scheduleNotification(Notification.createComplete());\n this.unsubscribe();\n }\n}\nclass DelayMessage {\n constructor(time, notification) {\n this.time = time;\n this.notification = notification;\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\nclass FilterOperator {\n constructor(predicate, thisArg) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n }\n call(subscriber, source) {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n }\n}\nclass FilterSubscriber extends Subscriber {\n constructor(destination, predicate, thisArg) {\n super(destination);\n this.predicate = predicate;\n this.thisArg = thisArg;\n this.count = 0;\n }\n _next(value) {\n let result;\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.destination.next(value);\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nexport function finalize(callback) {\n return (source) => source.lift(new FinallyOperator(callback));\n}\nclass FinallyOperator {\n constructor(callback) {\n this.callback = callback;\n }\n call(subscriber, source) {\n return source.subscribe(new FinallySubscriber(subscriber, this.callback));\n }\n}\nclass FinallySubscriber extends Subscriber {\n constructor(destination, callback) {\n super(destination);\n this.add(new Subscription(callback));\n }\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { take } from './take';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { identity } from '../util/identity';\nexport function first(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n","import { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { Observable } from '../Observable';\nimport { Subject } from '../Subject';\nexport function groupBy(keySelector, elementSelector, durationSelector, subjectSelector) {\n return (source) => source.lift(new GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector));\n}\nclass GroupByOperator {\n constructor(keySelector, elementSelector, durationSelector, subjectSelector) {\n this.keySelector = keySelector;\n this.elementSelector = elementSelector;\n this.durationSelector = durationSelector;\n this.subjectSelector = subjectSelector;\n }\n call(subscriber, source) {\n return source.subscribe(new GroupBySubscriber(subscriber, this.keySelector, this.elementSelector, this.durationSelector, this.subjectSelector));\n }\n}\nclass GroupBySubscriber extends Subscriber {\n constructor(destination, keySelector, elementSelector, durationSelector, subjectSelector) {\n super(destination);\n this.keySelector = keySelector;\n this.elementSelector = elementSelector;\n this.durationSelector = durationSelector;\n this.subjectSelector = subjectSelector;\n this.groups = null;\n this.attemptedToUnsubscribe = false;\n this.count = 0;\n }\n _next(value) {\n let key;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n this.error(err);\n return;\n }\n this._group(value, key);\n }\n _group(value, key) {\n let groups = this.groups;\n if (!groups) {\n groups = this.groups = new Map();\n }\n let group = groups.get(key);\n let element;\n if (this.elementSelector) {\n try {\n element = this.elementSelector(value);\n }\n catch (err) {\n this.error(err);\n }\n }\n else {\n element = value;\n }\n if (!group) {\n group = (this.subjectSelector ? this.subjectSelector() : new Subject());\n groups.set(key, group);\n const groupedObservable = new GroupedObservable(key, group, this);\n this.destination.next(groupedObservable);\n if (this.durationSelector) {\n let duration;\n try {\n duration = this.durationSelector(new GroupedObservable(key, group));\n }\n catch (err) {\n this.error(err);\n return;\n }\n this.add(duration.subscribe(new GroupDurationSubscriber(key, group, this)));\n }\n }\n if (!group.closed) {\n group.next(element);\n }\n }\n _error(err) {\n const groups = this.groups;\n if (groups) {\n groups.forEach((group, key) => {\n group.error(err);\n });\n groups.clear();\n }\n this.destination.error(err);\n }\n _complete() {\n const groups = this.groups;\n if (groups) {\n groups.forEach((group, key) => {\n group.complete();\n });\n groups.clear();\n }\n this.destination.complete();\n }\n removeGroup(key) {\n this.groups.delete(key);\n }\n unsubscribe() {\n if (!this.closed) {\n this.attemptedToUnsubscribe = true;\n if (this.count === 0) {\n super.unsubscribe();\n }\n }\n }\n}\nclass GroupDurationSubscriber extends Subscriber {\n constructor(key, group, parent) {\n super(group);\n this.key = key;\n this.group = group;\n this.parent = parent;\n }\n _next(value) {\n this.complete();\n }\n _unsubscribe() {\n const { parent, key } = this;\n this.key = this.parent = null;\n if (parent) {\n parent.removeGroup(key);\n }\n }\n}\nexport class GroupedObservable extends Observable {\n constructor(key, groupSubject, refCountSubscription) {\n super();\n this.key = key;\n this.groupSubject = groupSubject;\n this.refCountSubscription = refCountSubscription;\n }\n _subscribe(subscriber) {\n const subscription = new Subscription();\n const { refCountSubscription, groupSubject } = this;\n if (refCountSubscription && !refCountSubscription.closed) {\n subscription.add(new InnerRefCountSubscription(refCountSubscription));\n }\n subscription.add(groupSubject.subscribe(subscriber));\n return subscription;\n }\n}\nclass InnerRefCountSubscription extends Subscription {\n constructor(parent) {\n super();\n this.parent = parent;\n parent.count++;\n }\n unsubscribe() {\n const parent = this.parent;\n if (!parent.closed && !this.closed) {\n super.unsubscribe();\n parent.count -= 1;\n if (parent.count === 0 && parent.attemptedToUnsubscribe) {\n parent.unsubscribe();\n }\n }\n }\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { takeLast } from './takeLast';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { identity } from '../util/identity';\nexport function last(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, takeLast(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n","import { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nexport class MapOperator {\n constructor(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n call(subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n }\n}\nclass MapSubscriber extends Subscriber {\n constructor(destination, project, thisArg) {\n super(destination);\n this.project = project;\n this.count = 0;\n this.thisArg = thisArg || this;\n }\n _next(value) {\n let result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function mapTo(value) {\n return (source) => source.lift(new MapToOperator(value));\n}\nclass MapToOperator {\n constructor(value) {\n this.value = value;\n }\n call(subscriber, source) {\n return source.subscribe(new MapToSubscriber(subscriber, this.value));\n }\n}\nclass MapToSubscriber extends Subscriber {\n constructor(destination, value) {\n super(destination);\n this.value = value;\n }\n _next(x) {\n this.destination.next(this.value);\n }\n}\n","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent = Number.POSITIVE_INFINITY) {\n return mergeMap(identity, concurrent);\n}\n","import { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { map } from './map';\nimport { from } from '../observable/from';\nexport function mergeMap(project, resultSelector, concurrent = Number.POSITIVE_INFINITY) {\n if (typeof resultSelector === 'function') {\n return (source) => source.pipe(mergeMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii))), concurrent));\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return (source) => source.lift(new MergeMapOperator(project, concurrent));\n}\nexport class MergeMapOperator {\n constructor(project, concurrent = Number.POSITIVE_INFINITY) {\n this.project = project;\n this.concurrent = concurrent;\n }\n call(observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n }\n}\nexport class MergeMapSubscriber extends OuterSubscriber {\n constructor(destination, project, concurrent = Number.POSITIVE_INFINITY) {\n super(destination);\n this.project = project;\n this.concurrent = concurrent;\n this.hasCompleted = false;\n this.buffer = [];\n this.active = 0;\n this.index = 0;\n }\n _next(value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n }\n _tryNext(value) {\n let result;\n const index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result, value, index);\n }\n _innerSub(ish, value, index) {\n const innerSubscriber = new InnerSubscriber(this, value, index);\n const destination = this.destination;\n destination.add(innerSubscriber);\n const innerSubscription = subscribeToResult(this, ish, undefined, undefined, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n }\n _complete() {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n }\n notifyComplete(innerSub) {\n const buffer = this.buffer;\n this.remove(innerSub);\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n }\n}\n","import { connectableObservableDescriptor } from '../observable/ConnectableObservable';\nexport function multicast(subjectOrSubjectFactory, selector) {\n return function multicastOperatorFunction(source) {\n let subjectFactory;\n if (typeof subjectOrSubjectFactory === 'function') {\n subjectFactory = subjectOrSubjectFactory;\n }\n else {\n subjectFactory = function subjectFactory() {\n return subjectOrSubjectFactory;\n };\n }\n if (typeof selector === 'function') {\n return source.lift(new MulticastOperator(subjectFactory, selector));\n }\n const connectable = Object.create(source, connectableObservableDescriptor);\n connectable.source = source;\n connectable.subjectFactory = subjectFactory;\n return connectable;\n };\n}\nexport class MulticastOperator {\n constructor(subjectFactory, selector) {\n this.subjectFactory = subjectFactory;\n this.selector = selector;\n }\n call(subscriber, source) {\n const { selector } = this;\n const subject = this.subjectFactory();\n const subscription = selector(subject).subscribe(subscriber);\n subscription.add(source.subscribe(subject));\n return subscription;\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function observeOn(scheduler, delay = 0) {\n return function observeOnOperatorFunction(source) {\n return source.lift(new ObserveOnOperator(scheduler, delay));\n };\n}\nexport class ObserveOnOperator {\n constructor(scheduler, delay = 0) {\n this.scheduler = scheduler;\n this.delay = delay;\n }\n call(subscriber, source) {\n return source.subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));\n }\n}\nexport class ObserveOnSubscriber extends Subscriber {\n constructor(destination, scheduler, delay = 0) {\n super(destination);\n this.scheduler = scheduler;\n this.delay = delay;\n }\n static dispatch(arg) {\n const { notification, destination } = arg;\n notification.observe(destination);\n this.unsubscribe();\n }\n scheduleMessage(notification) {\n const destination = this.destination;\n destination.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));\n }\n _next(value) {\n this.scheduleMessage(Notification.createNext(value));\n }\n _error(err) {\n this.scheduleMessage(Notification.createError(err));\n this.unsubscribe();\n }\n _complete() {\n this.scheduleMessage(Notification.createComplete());\n this.unsubscribe();\n }\n}\nexport class ObserveOnMessage {\n constructor(notification, destination) {\n this.notification = notification;\n this.destination = destination;\n }\n}\n","import { scan } from './scan';\nimport { takeLast } from './takeLast';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { pipe } from '../util/pipe';\nexport function reduce(accumulator, seed) {\n if (arguments.length >= 2) {\n return function reduceOperatorFunctionWithSeed(source) {\n return pipe(scan(accumulator, seed), takeLast(1), defaultIfEmpty(seed))(source);\n };\n }\n return function reduceOperatorFunction(source) {\n return pipe(scan((acc, value, index) => accumulator(acc, value, index + 1)), takeLast(1))(source);\n };\n}\n","import { Subscriber } from '../Subscriber';\nexport function refCount() {\n return function refCountOperatorFunction(source) {\n return source.lift(new RefCountOperator(source));\n };\n}\nclass RefCountOperator {\n constructor(connectable) {\n this.connectable = connectable;\n }\n call(subscriber, source) {\n const { connectable } = this;\n connectable._refCount++;\n const refCounter = new RefCountSubscriber(subscriber, connectable);\n const subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n }\n}\nclass RefCountSubscriber extends Subscriber {\n constructor(destination, connectable) {\n super(destination);\n this.connectable = connectable;\n }\n _unsubscribe() {\n const { connectable } = this;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n const refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n const { connection } = this;\n const sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function scan(accumulator, seed) {\n let hasSeed = false;\n if (arguments.length >= 2) {\n hasSeed = true;\n }\n return function scanOperatorFunction(source) {\n return source.lift(new ScanOperator(accumulator, seed, hasSeed));\n };\n}\nclass ScanOperator {\n constructor(accumulator, seed, hasSeed = false) {\n this.accumulator = accumulator;\n this.seed = seed;\n this.hasSeed = hasSeed;\n }\n call(subscriber, source) {\n return source.subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed, this.hasSeed));\n }\n}\nclass ScanSubscriber extends Subscriber {\n constructor(destination, accumulator, _seed, hasSeed) {\n super(destination);\n this.accumulator = accumulator;\n this._seed = _seed;\n this.hasSeed = hasSeed;\n this.index = 0;\n }\n get seed() {\n return this._seed;\n }\n set seed(value) {\n this.hasSeed = true;\n this._seed = value;\n }\n _next(value) {\n if (!this.hasSeed) {\n this.seed = value;\n this.destination.next(value);\n }\n else {\n return this._tryNext(value);\n }\n }\n _tryNext(value) {\n const index = this.index++;\n let result;\n try {\n result = this.accumulator(this.seed, value, index);\n }\n catch (err) {\n this.destination.error(err);\n }\n this.seed = result;\n this.destination.next(result);\n }\n}\n","import { multicast } from './multicast';\nimport { refCount } from './refCount';\nimport { Subject } from '../Subject';\nfunction shareSubjectFactory() {\n return new Subject();\n}\nexport function share() {\n return (source) => refCount()(multicast(shareSubjectFactory)(source));\n}\n","import { Subscriber } from '../Subscriber';\nexport function skip(count) {\n return (source) => source.lift(new SkipOperator(count));\n}\nclass SkipOperator {\n constructor(total) {\n this.total = total;\n }\n call(subscriber, source) {\n return source.subscribe(new SkipSubscriber(subscriber, this.total));\n }\n}\nclass SkipSubscriber extends Subscriber {\n constructor(destination, total) {\n super(destination);\n this.total = total;\n this.count = 0;\n }\n _next(x) {\n if (++this.count > this.total) {\n this.destination.next(x);\n }\n }\n}\n","import { concat } from '../observable/concat';\nimport { isScheduler } from '../util/isScheduler';\nexport function startWith(...array) {\n const scheduler = array[array.length - 1];\n if (isScheduler(scheduler)) {\n array.pop();\n return (source) => concat(array, source, scheduler);\n }\n else {\n return (source) => concat(array, source);\n }\n}\n","import { OuterSubscriber } from '../OuterSubscriber';\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { map } from './map';\nimport { from } from '../observable/from';\nexport function switchMap(project, resultSelector) {\n if (typeof resultSelector === 'function') {\n return (source) => source.pipe(switchMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii)))));\n }\n return (source) => source.lift(new SwitchMapOperator(project));\n}\nclass SwitchMapOperator {\n constructor(project) {\n this.project = project;\n }\n call(subscriber, source) {\n return source.subscribe(new SwitchMapSubscriber(subscriber, this.project));\n }\n}\nclass SwitchMapSubscriber extends OuterSubscriber {\n constructor(destination, project) {\n super(destination);\n this.project = project;\n this.index = 0;\n }\n _next(value) {\n let result;\n const index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (error) {\n this.destination.error(error);\n return;\n }\n this._innerSub(result, value, index);\n }\n _innerSub(result, value, index) {\n const innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n const innerSubscriber = new InnerSubscriber(this, value, index);\n const destination = this.destination;\n destination.add(innerSubscriber);\n this.innerSubscription = subscribeToResult(this, result, undefined, undefined, innerSubscriber);\n if (this.innerSubscription !== innerSubscriber) {\n destination.add(this.innerSubscription);\n }\n }\n _complete() {\n const { innerSubscription } = this;\n if (!innerSubscription || innerSubscription.closed) {\n super._complete();\n }\n this.unsubscribe();\n }\n _unsubscribe() {\n this.innerSubscription = null;\n }\n notifyComplete(innerSub) {\n const destination = this.destination;\n destination.remove(innerSub);\n this.innerSubscription = null;\n if (this.isStopped) {\n super._complete();\n }\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function take(count) {\n return (source) => {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nclass TakeOperator {\n constructor(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n call(subscriber, source) {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n }\n}\nclass TakeSubscriber extends Subscriber {\n constructor(destination, total) {\n super(destination);\n this.total = total;\n this.count = 0;\n }\n _next(value) {\n const total = this.total;\n const count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function takeLast(count) {\n return function takeLastOperatorFunction(source) {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeLastOperator(count));\n }\n };\n}\nclass TakeLastOperator {\n constructor(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n call(subscriber, source) {\n return source.subscribe(new TakeLastSubscriber(subscriber, this.total));\n }\n}\nclass TakeLastSubscriber extends Subscriber {\n constructor(destination, total) {\n super(destination);\n this.total = total;\n this.ring = new Array();\n this.count = 0;\n }\n _next(value) {\n const ring = this.ring;\n const total = this.total;\n const count = this.count++;\n if (ring.length < total) {\n ring.push(value);\n }\n else {\n const index = count % total;\n ring[index] = value;\n }\n }\n _complete() {\n const destination = this.destination;\n let count = this.count;\n if (count > 0) {\n const total = this.count >= this.total ? this.total : this.count;\n const ring = this.ring;\n for (let i = 0; i < total; i++) {\n const idx = (count++) % total;\n destination.next(ring[idx]);\n }\n }\n destination.complete();\n }\n}\n","import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function takeUntil(notifier) {\n return (source) => source.lift(new TakeUntilOperator(notifier));\n}\nclass TakeUntilOperator {\n constructor(notifier) {\n this.notifier = notifier;\n }\n call(subscriber, source) {\n const takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n const notifierSubscription = subscribeToResult(takeUntilSubscriber, this.notifier);\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n }\n}\nclass TakeUntilSubscriber extends OuterSubscriber {\n constructor(destination) {\n super(destination);\n this.seenValue = false;\n }\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.seenValue = true;\n this.complete();\n }\n notifyComplete() {\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function takeWhile(predicate, inclusive = false) {\n return (source) => source.lift(new TakeWhileOperator(predicate, inclusive));\n}\nclass TakeWhileOperator {\n constructor(predicate, inclusive) {\n this.predicate = predicate;\n this.inclusive = inclusive;\n }\n call(subscriber, source) {\n return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate, this.inclusive));\n }\n}\nclass TakeWhileSubscriber extends Subscriber {\n constructor(destination, predicate, inclusive) {\n super(destination);\n this.predicate = predicate;\n this.inclusive = inclusive;\n this.index = 0;\n }\n _next(value) {\n const destination = this.destination;\n let result;\n try {\n result = this.predicate(value, this.index++);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this.nextOrComplete(value, result);\n }\n nextOrComplete(value, predicateResult) {\n const destination = this.destination;\n if (Boolean(predicateResult)) {\n destination.next(value);\n }\n else {\n if (this.inclusive) {\n destination.next(value);\n }\n destination.complete();\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { noop } from '../util/noop';\nimport { isFunction } from '../util/isFunction';\nexport function tap(nextOrObserver, error, complete) {\n return function tapOperatorFunction(source) {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\nclass DoOperator {\n constructor(nextOrObserver, error, complete) {\n this.nextOrObserver = nextOrObserver;\n this.error = error;\n this.complete = complete;\n }\n call(subscriber, source) {\n return source.subscribe(new TapSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n }\n}\nclass TapSubscriber extends Subscriber {\n constructor(destination, observerOrNext, error, complete) {\n super(destination);\n this._tapNext = noop;\n this._tapError = noop;\n this._tapComplete = noop;\n this._tapError = error || noop;\n this._tapComplete = complete || noop;\n if (isFunction(observerOrNext)) {\n this._context = this;\n this._tapNext = observerOrNext;\n }\n else if (observerOrNext) {\n this._context = observerOrNext;\n this._tapNext = observerOrNext.next || noop;\n this._tapError = observerOrNext.error || noop;\n this._tapComplete = observerOrNext.complete || noop;\n }\n }\n _next(value) {\n try {\n this._tapNext.call(this._context, value);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(value);\n }\n _error(err) {\n try {\n this._tapError.call(this._context, err);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.error(err);\n }\n _complete() {\n try {\n this._tapComplete.call(this._context);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n return this.destination.complete();\n }\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { Subscriber } from '../Subscriber';\nexport function throwIfEmpty(errorFactory = defaultErrorFactory) {\n return (source) => {\n return source.lift(new ThrowIfEmptyOperator(errorFactory));\n };\n}\nclass ThrowIfEmptyOperator {\n constructor(errorFactory) {\n this.errorFactory = errorFactory;\n }\n call(subscriber, source) {\n return source.subscribe(new ThrowIfEmptySubscriber(subscriber, this.errorFactory));\n }\n}\nclass ThrowIfEmptySubscriber extends Subscriber {\n constructor(destination, errorFactory) {\n super(destination);\n this.errorFactory = errorFactory;\n this.hasValue = false;\n }\n _next(value) {\n this.hasValue = true;\n this.destination.next(value);\n }\n _complete() {\n if (!this.hasValue) {\n let err;\n try {\n err = this.errorFactory();\n }\n catch (e) {\n err = e;\n }\n this.destination.error(err);\n }\n else {\n return this.destination.complete();\n }\n }\n}\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n","import { reduce } from './reduce';\nfunction toArrayReducer(arr, item, index) {\n if (index === 0) {\n return [item];\n }\n arr.push(item);\n return arr;\n}\nexport function toArray() {\n return reduce(toArrayReducer, []);\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function scheduleArray(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n let i = 0;\n sub.add(scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n return;\n }\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n sub.add(this.schedule());\n }\n }));\n return sub;\n });\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function scheduleIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(subscriber => {\n const sub = new Subscription();\n let iterator;\n sub.add(() => {\n if (iterator && typeof iterator.return === 'function') {\n iterator.return();\n }\n });\n sub.add(scheduler.schedule(() => {\n iterator = input[Symbol_iterator]();\n sub.add(scheduler.schedule(function () {\n if (subscriber.closed) {\n return;\n }\n let value;\n let done;\n try {\n const result = iterator.next();\n value = result.value;\n done = result.done;\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n }));\n }));\n return sub;\n });\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => {\n const observable = input[Symbol_observable]();\n sub.add(observable.subscribe({\n next(value) { sub.add(scheduler.schedule(() => subscriber.next(value))); },\n error(err) { sub.add(scheduler.schedule(() => subscriber.error(err))); },\n complete() { sub.add(scheduler.schedule(() => subscriber.complete())); },\n }));\n }));\n return sub;\n });\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function schedulePromise(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => input.then(value => {\n sub.add(scheduler.schedule(() => {\n subscriber.next(value);\n sub.add(scheduler.schedule(() => subscriber.complete()));\n }));\n }, err => {\n sub.add(scheduler.schedule(() => subscriber.error(err)));\n })));\n return sub;\n });\n}\n","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n else if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n else if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n else if (isIterable(input) || typeof input === 'string') {\n return scheduleIterable(input, scheduler);\n }\n }\n throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\n","import { Subscription } from '../Subscription';\nexport class Action extends Subscription {\n constructor(scheduler, work) {\n super();\n }\n schedule(state, delay = 0) {\n return this;\n }\n}\n","import { AsyncAction } from './AsyncAction';\nexport class AnimationFrameAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = requestAnimationFrame(() => scheduler.flush(null)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n cancelAnimationFrame(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class AnimationFrameScheduler extends AsyncScheduler {\n flush(action) {\n this.active = true;\n this.scheduled = undefined;\n const { actions } = this;\n let error;\n let index = -1;\n let count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { Immediate } from '../util/Immediate';\nimport { AsyncAction } from './AsyncAction';\nexport class AsapAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n Immediate.clearImmediate(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class AsapScheduler extends AsyncScheduler {\n flush(action) {\n this.active = true;\n this.scheduled = undefined;\n const { actions } = this;\n let error;\n let index = -1;\n let count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { Action } from './Action';\nexport class AsyncAction extends Action {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.pending = false;\n }\n schedule(state, delay = 0) {\n if (this.closed) {\n return this;\n }\n this.state = state;\n const id = this.id;\n const scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n return setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n clearInterval(id);\n return undefined;\n }\n execute(state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n _execute(state, delay) {\n let errored = false;\n let errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n _unsubscribe() {\n const id = this.id;\n const scheduler = this.scheduler;\n const actions = scheduler.actions;\n const index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n }\n}\n","import { Scheduler } from '../Scheduler';\nexport class AsyncScheduler extends Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n super(SchedulerAction, () => {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.now();\n }\n else {\n return now();\n }\n });\n this.actions = [];\n this.active = false;\n this.scheduled = undefined;\n }\n schedule(work, delay = 0, state) {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.schedule(work, delay, state);\n }\n else {\n return super.schedule(work, delay, state);\n }\n }\n flush(action) {\n const { actions } = this;\n if (this.active) {\n actions.push(action);\n return;\n }\n let error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AsyncAction } from './AsyncAction';\nexport class QueueAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n schedule(state, delay = 0) {\n if (delay > 0) {\n return super.schedule(state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n }\n execute(state, delay) {\n return (delay > 0 || this.closed) ?\n super.execute(state, delay) :\n this._execute(state, delay);\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n return scheduler.flush(this);\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class QueueScheduler extends AsyncScheduler {\n}\n","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport class VirtualTimeScheduler extends AsyncScheduler {\n constructor(SchedulerAction = VirtualAction, maxFrames = Number.POSITIVE_INFINITY) {\n super(SchedulerAction, () => this.frame);\n this.maxFrames = maxFrames;\n this.frame = 0;\n this.index = -1;\n }\n flush() {\n const { actions, maxFrames } = this;\n let error, action;\n while ((action = actions[0]) && action.delay <= maxFrames) {\n actions.shift();\n this.frame = action.delay;\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n }\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\nVirtualTimeScheduler.frameTimeFactor = 10;\nexport class VirtualAction extends AsyncAction {\n constructor(scheduler, work, index = scheduler.index += 1) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.index = index;\n this.active = true;\n this.index = scheduler.index = index;\n }\n schedule(state, delay = 0) {\n if (!this.id) {\n return super.schedule(state, delay);\n }\n this.active = false;\n const action = new VirtualAction(this.scheduler, this.work);\n this.add(action);\n return action.schedule(state, delay);\n }\n requestAsyncId(scheduler, id, delay = 0) {\n this.delay = scheduler.frame + delay;\n const { actions } = scheduler;\n actions.push(this);\n actions.sort(VirtualAction.sortActions);\n return true;\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n return undefined;\n }\n _execute(state, delay) {\n if (this.active === true) {\n return super._execute(state, delay);\n }\n }\n static sortActions(a, b) {\n if (a.delay === b.delay) {\n if (a.index === b.index) {\n return 0;\n }\n else if (a.index > b.index) {\n return 1;\n }\n else {\n return -1;\n }\n }\n else if (a.delay > b.delay) {\n return 1;\n }\n else {\n return -1;\n }\n }\n}\n","import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport const animationFrame = new AnimationFrameScheduler(AnimationFrameAction);\n","import { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\nexport const asap = new AsapScheduler(AsapAction);\n","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport const async = new AsyncScheduler(AsyncAction);\n","import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\nexport const queue = new QueueScheduler(QueueAction);\n","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\nexport const $$iterator = iterator;\n","export const observable = (() => typeof Symbol === 'function' && Symbol.observable || '@@observable')();\n","export const rxSubscriber = (() => typeof Symbol === 'function'\n ? Symbol('rxSubscriber')\n : '@@rxSubscriber_' + Math.random())();\nexport const $$rxSubscriber = rxSubscriber;\n","const ArgumentOutOfRangeErrorImpl = (() => {\n function ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n }\n ArgumentOutOfRangeErrorImpl.prototype = Object.create(Error.prototype);\n return ArgumentOutOfRangeErrorImpl;\n})();\nexport const ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;\n","const EmptyErrorImpl = (() => {\n function EmptyErrorImpl() {\n Error.call(this);\n this.message = 'no elements in sequence';\n this.name = 'EmptyError';\n return this;\n }\n EmptyErrorImpl.prototype = Object.create(Error.prototype);\n return EmptyErrorImpl;\n})();\nexport const EmptyError = EmptyErrorImpl;\n","let nextHandle = 1;\nconst RESOLVED = (() => Promise.resolve())();\nconst activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport const Immediate = {\n setImmediate(cb) {\n const handle = nextHandle++;\n activeHandles[handle] = true;\n RESOLVED.then(() => findAndClearHandle(handle) && cb());\n return handle;\n },\n clearImmediate(handle) {\n findAndClearHandle(handle);\n },\n};\nexport const TestTools = {\n pending() {\n return Object.keys(activeHandles).length;\n }\n};\n","const ObjectUnsubscribedErrorImpl = (() => {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport const ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n","const TimeoutErrorImpl = (() => {\n function TimeoutErrorImpl() {\n Error.call(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n return this;\n }\n TimeoutErrorImpl.prototype = Object.create(Error.prototype);\n return TimeoutErrorImpl;\n})();\nexport const TimeoutError = TimeoutErrorImpl;\n","const UnsubscriptionErrorImpl = (() => {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}` : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport const UnsubscriptionError = UnsubscriptionErrorImpl;\n","import { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n const { closed, destination, isStopped } = observer;\n if (closed || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n","export function hostReportError(err) {\n setTimeout(() => { throw err; }, 0);\n}\n","export function identity(x) {\n return x;\n}\n","export const isArray = (() => Array.isArray || ((x) => x && typeof x.length === 'number'))();\n","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n","export function isDate(value) {\n return value instanceof Date && !isNaN(+value);\n}\n","export function isFunction(x) {\n return typeof x === 'function';\n}\n","import { observable as Symbol_observable } from '../symbol/observable';\nexport function isInteropObservable(input) {\n return input && typeof input[Symbol_observable] === 'function';\n}\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function isIterable(input) {\n return input && typeof input[Symbol_iterator] === 'function';\n}\n","import { isArray } from './isArray';\nexport function isNumeric(val) {\n return !isArray(val) && (val - parseFloat(val) + 1) >= 0;\n}\n","export function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n","import { Observable } from '../Observable';\nexport function isObservable(obj) {\n return !!obj && (obj instanceof Observable || (typeof obj.lift === 'function' && typeof obj.subscribe === 'function'));\n}\n","export function isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n","export function isScheduler(value) {\n return value && typeof value.schedule === 'function';\n}\n","export function noop() { }\n","export function not(pred, thisArg) {\n function notPred() {\n return !(notPred.pred.apply(notPred.thisArg, arguments));\n }\n notPred.pred = pred;\n notPred.thisArg = thisArg;\n return notPred;\n}\n","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n","import { subscribeToArray } from './subscribeToArray';\nimport { subscribeToPromise } from './subscribeToPromise';\nimport { subscribeToIterable } from './subscribeToIterable';\nimport { subscribeToObservable } from './subscribeToObservable';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport const subscribeTo = (result) => {\n if (!!result && typeof result[Symbol_observable] === 'function') {\n return subscribeToObservable(result);\n }\n else if (isArrayLike(result)) {\n return subscribeToArray(result);\n }\n else if (isPromise(result)) {\n return subscribeToPromise(result);\n }\n else if (!!result && typeof result[Symbol_iterator] === 'function') {\n return subscribeToIterable(result);\n }\n else {\n const value = isObject(result) ? 'an invalid object' : `'${result}'`;\n const msg = `You provided ${value} where a stream was expected.`\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n","export const subscribeToArray = (array) => (subscriber) => {\n for (let i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n};\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nexport const subscribeToIterable = (iterable) => (subscriber) => {\n const iterator = iterable[Symbol_iterator]();\n do {\n const item = iterator.next();\n if (item.done) {\n subscriber.complete();\n break;\n }\n subscriber.next(item.value);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n if (typeof iterator.return === 'function') {\n subscriber.add(() => {\n if (iterator.return) {\n iterator.return();\n }\n });\n }\n return subscriber;\n};\n","import { observable as Symbol_observable } from '../symbol/observable';\nexport const subscribeToObservable = (obj) => (subscriber) => {\n const obs = obj[Symbol_observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n};\n","import { hostReportError } from './hostReportError';\nexport const subscribeToPromise = (promise) => (subscriber) => {\n promise.then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, hostReportError);\n return subscriber;\n};\n","import { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeTo } from './subscribeTo';\nimport { Observable } from '../Observable';\nexport function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, innerSubscriber = new InnerSubscriber(outerSubscriber, outerValue, outerIndex)) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n","import { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n","/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict';\n\n // polyfill\n function polyfill() {\n // aliases\n var w = window;\n var d = document;\n\n // return if scroll behavior is supported and polyfill is not forced\n if (\n 'scrollBehavior' in d.documentElement.style &&\n w.__forceSmoothScrollPolyfill__ !== true\n ) {\n return;\n }\n\n // globals\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468;\n\n // object gathering original scroll methods\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n };\n\n // define timing method\n var now =\n w.performance && w.performance.now\n ? w.performance.now.bind(w.performance)\n : Date.now;\n\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n function shouldBailOut(firstArg) {\n if (\n firstArg === null ||\n typeof firstArg !== 'object' ||\n firstArg.behavior === undefined ||\n firstArg.behavior === 'auto' ||\n firstArg.behavior === 'instant'\n ) {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n }\n\n // throw error when behavior is not supported\n throw new TypeError(\n 'behavior member of ScrollOptions ' +\n firstArg.behavior +\n ' is not a valid value for enumeration ScrollBehavior.'\n );\n }\n\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n\n return isScrollableY || isScrollableX;\n }\n\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n\n return el;\n }\n\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME;\n\n // avoid elapsed times higher than one\n elapsed = elapsed > 1 ? 1 : elapsed;\n\n // apply easing to elapsed time\n value = ease(elapsed);\n\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n\n context.method.call(context.scrollable, currentX, currentY);\n\n // scroll more if we have not reached our destination\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now();\n\n // define scroll context\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n }\n\n // scroll looping over a frame\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n }\n\n // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n w.scroll = w.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object'\n ? arguments[0]\n : w.scrollX || w.pageXOffset,\n // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined\n ? arguments[1]\n : w.scrollY || w.pageYOffset\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : w.scrollX || w.pageXOffset,\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : w.scrollY || w.pageYOffset\n );\n };\n\n // w.scrollBy\n w.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object' ? arguments[0] : 0,\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined ? arguments[1] : 0\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n ~~arguments[0].left + (w.scrollX || w.pageXOffset),\n ~~arguments[0].top + (w.scrollY || w.pageYOffset)\n );\n };\n\n // Element.prototype.scroll and Element.prototype.scrollTo\n Element.prototype.scroll = Element.prototype.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n\n original.elementScroll.call(\n this,\n // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\n // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop\n );\n\n return;\n }\n\n var left = arguments[0].left;\n var top = arguments[0].top;\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n this,\n this,\n typeof left === 'undefined' ? this.scrollLeft : ~~left,\n typeof top === 'undefined' ? this.scrollTop : ~~top\n );\n };\n\n // Element.prototype.scrollBy\n Element.prototype.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(\n this,\n arguments[0].left !== undefined\n ? ~~arguments[0].left + this.scrollLeft\n : ~~arguments[0] + this.scrollLeft,\n arguments[0].top !== undefined\n ? ~~arguments[0].top + this.scrollTop\n : ~~arguments[1] + this.scrollTop\n );\n\n return;\n }\n\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n };\n\n // Element.prototype.scrollIntoView\n Element.prototype.scrollIntoView = function() {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(\n this,\n arguments[0] === undefined ? true : arguments[0]\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(\n this,\n scrollableParent,\n scrollableParent.scrollLeft + clientRects.left - parentRects.left,\n scrollableParent.scrollTop + clientRects.top - parentRects.top\n );\n\n // reveal parent in viewport unless is fixed\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = { polyfill: polyfill };\n } else {\n // global\n polyfill();\n }\n\n}());\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\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _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\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}\n\nmodule.exports = _checkPrivateRedeclaration, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n\n return descriptor.value;\n}\n\nmodule.exports = _classApplyDescriptorGet, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n descriptor.value = value;\n }\n}\n\nmodule.exports = _classApplyDescriptorSet, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCheckPrivateStaticAccess(receiver, classConstructor) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n}\n\nmodule.exports = _classCheckPrivateStaticAccess, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCheckPrivateStaticFieldDescriptor(descriptor, action) {\n if (descriptor === undefined) {\n throw new TypeError(\"attempted to \" + action + \" private static field before its declaration\");\n }\n}\n\nmodule.exports = _classCheckPrivateStaticFieldDescriptor, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n\n return privateMap.get(receiver);\n}\n\nmodule.exports = _classExtractFieldDescriptor, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var classApplyDescriptorGet = require(\"./classApplyDescriptorGet.js\");\n\nvar classExtractFieldDescriptor = require(\"./classExtractFieldDescriptor.js\");\n\nfunction _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}\n\nmodule.exports = _classPrivateFieldGet, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var checkPrivateRedeclaration = require(\"./checkPrivateRedeclaration.js\");\n\nfunction _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}\n\nmodule.exports = _classPrivateFieldInitSpec, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var classApplyDescriptorSet = require(\"./classApplyDescriptorSet.js\");\n\nvar classExtractFieldDescriptor = require(\"./classExtractFieldDescriptor.js\");\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}\n\nmodule.exports = _classPrivateFieldSet, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n\n return fn;\n}\n\nmodule.exports = _classPrivateMethodGet, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var checkPrivateRedeclaration = require(\"./checkPrivateRedeclaration.js\");\n\nfunction _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}\n\nmodule.exports = _classPrivateMethodInitSpec, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var classApplyDescriptorGet = require(\"./classApplyDescriptorGet.js\");\n\nvar classCheckPrivateStaticAccess = require(\"./classCheckPrivateStaticAccess.js\");\n\nvar classCheckPrivateStaticFieldDescriptor = require(\"./classCheckPrivateStaticFieldDescriptor.js\");\n\nfunction _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) {\n classCheckPrivateStaticAccess(receiver, classConstructor);\n classCheckPrivateStaticFieldDescriptor(descriptor, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}\n\nmodule.exports = _classStaticPrivateFieldSpecGet, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var classApplyDescriptorSet = require(\"./classApplyDescriptorSet.js\");\n\nvar classCheckPrivateStaticAccess = require(\"./classCheckPrivateStaticAccess.js\");\n\nvar classCheckPrivateStaticFieldDescriptor = require(\"./classCheckPrivateStaticFieldDescriptor.js\");\n\nfunction _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) {\n classCheckPrivateStaticAccess(receiver, classConstructor);\n classCheckPrivateStaticFieldDescriptor(descriptor, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}\n\nmodule.exports = _classStaticPrivateFieldSpecSet, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var classCheckPrivateStaticAccess = require(\"./classCheckPrivateStaticAccess.js\");\n\nfunction _classStaticPrivateMethodGet(receiver, classConstructor, method) {\n classCheckPrivateStaticAccess(receiver, classConstructor);\n return method;\n}\n\nmodule.exports = _classStaticPrivateMethodGet, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperty(obj, key, value) {\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\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * @license Angular v14.1.1\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * An injectable service that produces an animation sequence programmatically within an\n * Angular component or directive.\n * Provided by the `BrowserAnimationsModule` or `NoopAnimationsModule`.\n *\n * @usageNotes\n *\n * To use this service, add it to your component or directive as a dependency.\n * The service is instantiated along with your component.\n *\n * Apps do not typically need to create their own animation players, but if you\n * do need to, follow these steps:\n *\n * 1. Use the [AnimationBuilder.build](api/animations/AnimationBuilder#build)() method\n * to create a programmatic animation. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass AnimationBuilder {\n}\n/**\n * A factory object returned from the\n * [AnimationBuilder.build](api/animations/AnimationBuilder#build)()\n * method.\n *\n * @publicApi\n */\nclass AnimationFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nconst AUTO_STYLE = '*';\n/**\n * Creates a named animation trigger, containing a list of [`state()`](api/animations/state)\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of\n * [`state()`](api/animations/state) and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n *
...
\n * ```\n *\n * ### Using an inline function\n * The `transition` animation method also supports reading an inline function which can decide\n * if its associated animation should be run.\n *\n * ```typescript\n * // this method is run each time the `myAnimationTrigger` trigger value changes.\n * function myInlineMatcherFn(fromState: string, toState: string, element: any, params: {[key:\n string]: any}): boolean {\n * // notice that `element` and `params` are also available here\n * return toState == 'yes-please-animate';\n * }\n *\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger('myAnimationTrigger', [\n * transition(myInlineMatcherFn, [\n * // the animation sequence code\n * ]),\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"yes-please-animate\";\n * }\n * ```\n *\n * ### Disabling Animations\n * When true, the special animation control binding `@.disabled` binding prevents\n * all animations from rendering.\n * Place the `@.disabled` binding on an element to disable\n * animations on the element itself, as well as any inner animation triggers\n * within the element.\n *\n * The following example shows how to use this feature:\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * template: `\n *
\n *
\n *
\n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * When `@.disabled` is true, it prevents the `@childAnimation` trigger from animating,\n * along with any inner animations.\n *\n * ### Disable animations application-wide\n * When an area of the template is set to have animations disabled,\n * **all** inner components have their animations disabled as well.\n * This means that you can disable all animations for an app\n * by placing a host binding set on `@.disabled` on the topmost Angular component.\n *\n * ```typescript\n * import {Component, HostBinding} from '@angular/core';\n *\n * @Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * @HostBinding('@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### Overriding disablement of inner animations\n * Despite inner animations being disabled, a parent animation can `query()`\n * for inner elements located in disabled areas of the template and still animate\n * them if needed. This is also the case for when a sub animation is\n * queried by a parent and then later animated using `animateChild()`.\n *\n * ### Detecting when an animation is disabled\n * If a region of the DOM (or the entire application) has its animations disabled, the animation\n * trigger callbacks still fire, but for zero seconds. When the callback fires, it provides\n * an instance of an `AnimationEvent`. If animations are disabled,\n * the `.disabled` flag on the event is true.\n *\n * @publicApi\n */\nfunction trigger(name, definitions) {\n return { type: 7 /* AnimationMetadataType.Trigger */, name, definitions, options: {} };\n}\n/**\n * Defines an animation step that combines styling information with timing information.\n *\n * @param timings Sets `AnimateTimings` for the parent animation.\n * A string in the format \"duration [delay] [easing]\".\n * - Duration and delay are expressed as a number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n * - The easing value controls how the animation accelerates and decelerates\n * during its runtime. Value is one of `ease`, `ease-in`, `ease-out`,\n * `ease-in-out`, or a `cubic-bezier()` function call.\n * If not supplied, no easing is applied.\n *\n * For example, the string \"1s 100ms ease-out\" specifies a duration of\n * 1000 milliseconds, and delay of 100 ms, and the \"ease-out\" easing style,\n * which decelerates near the end of the duration.\n * @param styles Sets AnimationStyles for the parent animation.\n * A function call to either `style()` or `keyframes()`\n * that returns a collection of CSS style entries to be applied to the parent animation.\n * When null, uses the styles from the destination state.\n * This is useful when describing an animation step that will complete an animation;\n * see \"Animating to the final state\" in `transitions()`.\n * @returns An object that encapsulates the animation step.\n *\n * @usageNotes\n * Call within an animation `sequence()`, `{@link animations/group group()}`, or\n * `transition()` call to specify an animation step\n * that applies given style data to the parent animation for a given amount of time.\n *\n * ### Syntax Examples\n * **Timing examples**\n *\n * The following examples show various `timings` specifications.\n * - `animate(500)` : Duration is 500 milliseconds.\n * - `animate(\"1s\")` : Duration is 1000 milliseconds.\n * - `animate(\"100ms 0.5s\")` : Duration is 100 milliseconds, delay is 500 milliseconds.\n * - `animate(\"5s ease-in\")` : Duration is 5000 milliseconds, easing in.\n * - `animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\")` : Duration is 5000 milliseconds, delay is 10\n * milliseconds, easing according to a bezier curve.\n *\n * **Style examples**\n *\n * The following example calls `style()` to set a single CSS style.\n * ```typescript\n * animate(500, style({ background: \"red\" }))\n * ```\n * The following example calls `keyframes()` to set a CSS style\n * to different values for successive keyframes.\n * ```typescript\n * animate(500, keyframes(\n * [\n * style({ background: \"blue\" }),\n * style({ background: \"red\" })\n * ])\n * ```\n *\n * @publicApi\n */\nfunction animate(timings, styles = null) {\n return { type: 4 /* AnimationMetadataType.Animate */, styles, timings };\n}\n/**\n * @description Defines a list of animation steps to be run in parallel.\n *\n * @param steps An array of animation step objects.\n * - When steps are defined by `style()` or `animate()`\n * function calls, each call within the group is executed instantly.\n * - To specify offset styles to be applied at a later time, define steps with\n * `keyframes()`, or use `animate()` calls with a delay value.\n * For example:\n *\n * ```typescript\n * group([\n * animate(\"1s\", style({ background: \"black\" })),\n * animate(\"2s\", style({ color: \"white\" }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the group data.\n *\n * @usageNotes\n * Grouped animations are useful when a series of styles must be\n * animated at different starting times and closed off at different ending times.\n *\n * When called within a `sequence()` or a\n * `transition()` call, does not continue to the next\n * instruction until all of the inner animation steps have completed.\n *\n * @publicApi\n */\nfunction group(steps, options = null) {\n return { type: 3 /* AnimationMetadataType.Group */, steps, options };\n}\n/**\n * Defines a list of animation steps to be run sequentially, one by one.\n *\n * @param steps An array of animation step objects.\n * - Steps defined by `style()` calls apply the styling data immediately.\n * - Steps defined by `animate()` calls apply the styling data over time\n * as specified by the timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 }),\n * animate(\"1s\", style({ opacity: 1 }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the sequence data.\n *\n * @usageNotes\n * When you pass an array of steps to a\n * `transition()` call, the steps run sequentially by default.\n * Compare this to the `{@link animations/group group()}` call, which runs animation steps in\n *parallel.\n *\n * When a sequence is used within a `{@link animations/group group()}` or a `transition()` call,\n * execution continues to the next instruction only after each of the inner animation\n * steps have completed.\n *\n * @publicApi\n **/\nfunction sequence(steps, options = null) {\n return { type: 2 /* AnimationMetadataType.Sequence */, steps, options };\n}\n/**\n * Declares a key/value object containing CSS properties/styles that\n * can then be used for an animation [`state`](api/animations/state), within an animation\n *`sequence`, or as styling data for calls to `animate()` and `keyframes()`.\n *\n * @param tokens A set of CSS styles or HTML styles associated with an animation state.\n * The value can be any of the following:\n * - A key-value style pair associating a CSS property with a value.\n * - An array of key-value style pairs.\n * - An asterisk (*), to use auto-styling, where styles are derived from the element\n * being animated and applied to the animation when it starts.\n *\n * Auto-styling can be used to define a state that depends on layout or other\n * environmental factors.\n *\n * @return An object that encapsulates the style data.\n *\n * @usageNotes\n * The following examples create animation styles that collect a set of\n * CSS property values:\n *\n * ```typescript\n * // string values for CSS properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical pixel values\n * style({ width: 100, height: 0 })\n * ```\n *\n * The following example uses auto-styling to allow an element to animate from\n * a height of 0 up to its full height:\n *\n * ```\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * @publicApi\n **/\nfunction style(tokens) {\n return { type: 6 /* AnimationMetadataType.Style */, styles: tokens, offset: null };\n}\n/**\n * Declares an animation state within a trigger attached to an element.\n *\n * @param name One or more names for the defined state in a comma-separated string.\n * The following reserved state names can be supplied to define a style for specific use\n * cases:\n *\n * - `void` You can associate styles with this name to be used when\n * the element is detached from the application. For example, when an `ngIf` evaluates\n * to false, the state of the associated element is void.\n * - `*` (asterisk) Indicates the default state. You can associate styles with this name\n * to be used as the fallback when the state that is being animated is not declared\n * within the trigger.\n *\n * @param styles A set of CSS styles associated with this state, created using the\n * `style()` function.\n * This set of styles persists on the element once the state has been reached.\n * @param options Parameters that can be passed to the state when it is invoked.\n * 0 or more key-value pairs.\n * @return An object that encapsulates the new state data.\n *\n * @usageNotes\n * Use the `trigger()` function to register states to an animation trigger.\n * Use the `transition()` function to animate between states.\n * When a state is active within a component, its associated styles persist on the element,\n * even when the animation ends.\n *\n * @publicApi\n **/\nfunction state(name, styles, options) {\n return { type: 0 /* AnimationMetadataType.State */, name, styles, options };\n}\n/**\n * Defines a set of animation styles, associating each style with an optional `offset` value.\n *\n * @param steps A set of animation styles with optional offset data.\n * The optional `offset` value for a style specifies a percentage of the total animation\n * time at which that style is applied.\n * @returns An object that encapsulates the keyframes data.\n *\n * @usageNotes\n * Use with the `animate()` call. Instead of applying animations\n * from the current state\n * to the destination state, keyframes describe how each style entry is applied and at what point\n * within the animation arc.\n * Compare [CSS Keyframe Animations](https://www.w3schools.com/css/css3_animations.asp).\n *\n * ### Usage\n *\n * In the following example, the offset values describe\n * when each `backgroundColor` value is applied. The color is red at the start, and changes to\n * blue when 20% of the total time has elapsed.\n *\n * ```typescript\n * // the provided offset values\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * If there are no `offset` values specified in the style entries, the offsets\n * are calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n *```\n\n * @publicApi\n */\nfunction keyframes(steps) {\n return { type: 5 /* AnimationMetadataType.Keyframes */, steps };\n}\n/**\n * Declares an animation transition which is played when a certain specified condition is met.\n *\n * @param stateChangeExpr A string with a specific format or a function that specifies when the\n * animation transition should occur (see [State Change Expression](#state-change-expression)).\n *\n * @param steps One or more animation objects that represent the animation's instructions.\n *\n * @param options An options object that can be used to specify a delay for the animation or provide\n * custom parameters for it.\n *\n * @returns An object that encapsulates the transition data.\n *\n * @usageNotes\n *\n * ### State Change Expression\n *\n * The State Change Expression instructs Angular when to run the transition's animations, it can\n *either be\n * - a string with a specific syntax\n * - or a function that compares the previous and current state (value of the expression bound to\n * the element's trigger) and returns `true` if the transition should occur or `false` otherwise\n *\n * The string format can be:\n * - `fromState => toState`, which indicates that the transition's animations should occur then the\n * expression bound to the trigger's element goes from `fromState` to `toState`\n *\n * _Example:_\n * ```typescript\n * transition('open => closed', animate('.5s ease-out', style({ height: 0 }) ))\n * ```\n *\n * - `fromState <=> toState`, which indicates that the transition's animations should occur then\n * the expression bound to the trigger's element goes from `fromState` to `toState` or vice versa\n *\n * _Example:_\n * ```typescript\n * transition('enabled <=> disabled', animate('1s cubic-bezier(0.8,0.3,0,1)'))\n * ```\n *\n * - `:enter`/`:leave`, which indicates that the transition's animations should occur when the\n * element enters or exists the DOM\n *\n * _Example:_\n * ```typescript\n * transition(':enter', [\n * style({ opacity: 0 }),\n * animate('500ms', style({ opacity: 1 }))\n * ])\n * ```\n *\n * - `:increment`/`:decrement`, which indicates that the transition's animations should occur when\n * the numerical expression bound to the trigger's element has increased in value or decreased\n *\n * _Example:_\n * ```typescript\n * transition(':increment', query('@counter', animateChild()))\n * ```\n *\n * - a sequence of any of the above divided by commas, which indicates that transition's animations\n * should occur whenever one of the state change expressions matches\n *\n * _Example:_\n * ```typescript\n * transition(':increment, * => enabled, :enter', animate('1s ease', keyframes([\n * style({ transform: 'scale(1)', offset: 0}),\n * style({ transform: 'scale(1.1)', offset: 0.7}),\n * style({ transform: 'scale(1)', offset: 1})\n * ]))),\n * ```\n *\n * Also note that in such context:\n * - `void` can be used to indicate the absence of the element\n * - asterisks can be used as wildcards that match any state\n * - (as a consequence of the above, `void => *` is equivalent to `:enter` and `* => void` is\n * equivalent to `:leave`)\n * - `true` and `false` also match expression values of `1` and `0` respectively (but do not match\n * _truthy_ and _falsy_ values)\n *\n *
\n *\n * Be careful about entering end leaving elements as their transitions present a common\n * pitfall for developers.\n *\n * Note that when an element with a trigger enters the DOM its `:enter` transition always\n * gets executed, but its `:leave` transition will not be executed if the element is removed\n * alongside its parent (as it will be removed \"without warning\" before its transition has\n * a chance to be executed, the only way that such transition can occur is if the element\n * is exiting the DOM on its own).\n *\n *\n *
\n *\n * ### Animating to a Final State\n *\n * If the final step in a transition is a call to `animate()` that uses a timing value\n * with no `style` data, that step is automatically considered the final animation arc,\n * for the element to reach the final state, in such case Angular automatically adds or removes\n * CSS styles to ensure that the element is in the correct final state.\n *\n *\n * ### Usage Examples\n *\n * - Transition animations applied based on\n * the trigger's expression value\n *\n * ```HTML\n *
\n * ...\n *
\n * ```\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * ..., // states\n * transition(\"on => off, open => closed\", animate(500)),\n * transition(\"* <=> error\", query('.indicator', animateChild()))\n * ])\n * ```\n *\n * - Transition animations applied based on custom logic dependent\n * on the trigger's expression value and provided parameters\n *\n * ```HTML\n *
\n * ...\n *
\n * ```\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * ..., // states\n * transition(\n * (fromState, toState, _element, params) =>\n * ['firststep', 'laststep'].includes(fromState.toLowerCase())\n * && toState === params?.['target'],\n * animate('1s')\n * )\n * ])\n * ```\n *\n * @publicApi\n **/\nfunction transition(stateChangeExpr, steps, options = null) {\n return { type: 1 /* AnimationMetadataType.Transition */, expr: stateChangeExpr, animation: steps, options };\n}\n/**\n * Produces a reusable animation that can be invoked in another animation or sequence,\n * by calling the `useAnimation()` function.\n *\n * @param steps One or more animation objects, as returned by the `animate()`\n * or `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional developer-defined parameters.\n * Provided values for additional parameters are used as defaults,\n * and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the animation data.\n *\n * @usageNotes\n * The following example defines a reusable animation, providing some default parameter\n * values.\n *\n * ```typescript\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ],\n * { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * The following invokes the defined animation with a call to `useAnimation()`,\n * passing in override parameter values.\n *\n * ```js\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If any of the passed-in parameter values are missing from this call,\n * the default values are used. If one or more parameter values are missing before a step is\n * animated, `useAnimation()` throws an error.\n *\n * @publicApi\n */\nfunction animation(steps, options = null) {\n return { type: 8 /* AnimationMetadataType.Reference */, animation: steps, options };\n}\n/**\n * Executes a queried inner animation element within an animation sequence.\n *\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional override values for developer-defined parameters.\n * @return An object that encapsulates the child animation data.\n *\n * @usageNotes\n * Each time an animation is triggered in Angular, the parent animation\n * has priority and any child animations are blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations, and run them using this function.\n *\n * Note that this feature is designed to be used with `query()` and it will only work\n * with animations that are assigned using the Angular animation library. CSS keyframes\n * and transitions are not handled by this API.\n *\n * @publicApi\n */\nfunction animateChild(options = null) {\n return { type: 9 /* AnimationMetadataType.AnimateChild */, options };\n}\n/**\n * Starts a reusable animation that is created using the `animation()` function.\n *\n * @param animation The reusable animation to start.\n * @param options An options object that can contain a delay value for the start of\n * the animation, and additional override values for developer-defined parameters.\n * @return An object that contains the animation parameters.\n *\n * @publicApi\n */\nfunction useAnimation(animation, options = null) {\n return { type: 10 /* AnimationMetadataType.AnimateRef */, animation, options };\n}\n/**\n * Finds one or more inner elements within the current element that is\n * being animated within a sequence. Use with `animate()`.\n *\n * @param selector The element to query, or a set of elements that contain Angular-specific\n * characteristics, specified with one or more of the following tokens.\n * - `query(\":enter\")` or `query(\":leave\")` : Query for newly inserted/removed elements (not\n * all elements can be queried via these tokens, see\n * [Entering and Leaving Elements](#entering-and-leaving-elements))\n * - `query(\":animating\")` : Query all currently animating elements.\n * - `query(\"@triggerName\")` : Query elements that contain an animation trigger.\n * - `query(\"@*\")` : Query all elements that contain an animation triggers.\n * - `query(\":self\")` : Include the current element into the animation sequence.\n *\n * @param animation One or more animation steps to apply to the queried element or elements.\n * An array is treated as an animation sequence.\n * @param options An options object. Use the 'limit' field to limit the total number of\n * items to collect.\n * @return An object that encapsulates the query data.\n *\n * @usageNotes\n *\n * ### Multiple Tokens\n *\n * Tokens can be merged into a combined query selector string. For example:\n *\n * ```typescript\n * query(':self, .record:enter, .record:leave, @subTrigger', [...])\n * ```\n *\n * The `query()` function collects multiple elements and works internally by using\n * `element.querySelectorAll`. Use the `limit` field of an options object to limit\n * the total number of items to be collected. For example:\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * By default, throws an error when zero items are found. Set the\n * `optional` flag to ignore this error. For example:\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Entering and Leaving Elements\n *\n * Not all elements can be queried via the `:enter` and `:leave` tokens, the only ones\n * that can are those that Angular assumes can enter/leave based on their own logic\n * (if their insertion/removal is simply a consequence of that of their parent they\n * should be queried via a different token in their parent's `:enter`/`:leave` transitions).\n *\n * The only elements Angular assumes can enter/leave based on their own logic (thus the only\n * ones that can be queried via the `:enter` and `:leave` tokens) are:\n * - Those inserted dynamically (via `ViewContainerRef`)\n * - Those that have a structural directive (which, under the hood, are a subset of the above ones)\n *\n *
\n *\n * Note that elements will be successfully queried via `:enter`/`:leave` even if their\n * insertion/removal is not done manually via `ViewContainerRef`or caused by their structural\n * directive (e.g. they enter/exit alongside their parent).\n *\n *
\n *\n *
\n *\n * There is an exception to what previously mentioned, besides elements entering/leaving based on\n * their own logic, elements with an animation trigger can always be queried via `:leave` when\n * their parent is also leaving.\n *\n *
\n *\n * ### Usage Example\n *\n * The following example queries for inner elements and animates them\n * individually using `animate()`.\n *\n * ```typescript\n * @Component({\n * selector: 'inner',\n * template: `\n *
\n *

Title

\n *
\n * Blah blah blah\n *
\n *
\n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 }))),\n * query('.content', animate(1000, style({ opacity: 1 }))),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * @publicApi\n */\nfunction query(selector, animation, options = null) {\n return { type: 11 /* AnimationMetadataType.Query */, selector, animation, options };\n}\n/**\n * Use within an animation `query()` call to issue a timing gap after\n * each queried item is animated.\n *\n * @param timings A delay value.\n * @param animation One ore more animation steps.\n * @returns An object that encapsulates the stagger data.\n *\n * @usageNotes\n * In the following example, a container element wraps a list of items stamped out\n * by an `ngFor`. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * Each time items are added, the opacity fade-in animation runs,\n * and each removed item is faded out.\n * When either of these animations occur, the stagger effect is\n * applied after each item's animation is started.\n *\n * ```html\n * \n * \n *
\n *
\n *
\n * {{ item }}\n *
\n *
\n * ```\n *\n * Here is the component code:\n *\n * ```typescript\n * import {trigger, transition, style, animate, query, stagger} from '@angular/animations';\n * @Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * ...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * Here is the animation trigger code:\n *\n * ```typescript\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * @publicApi\n */\nfunction stagger(timings, animation) {\n return { type: 12 /* AnimationMetadataType.Stagger */, timings, animation };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction scheduleMicroTask(cb) {\n Promise.resolve(null).then(cb);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see `animate()`\n * @see `AnimationPlayer`\n * @see `GroupPlayer`\n *\n * @publicApi\n */\nclass NoopAnimationPlayer {\n constructor(duration = 0, delay = 0) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._originalOnDoneFns = [];\n this._originalOnStartFns = [];\n this._started = false;\n this._destroyed = false;\n this._finished = false;\n this._position = 0;\n this.parentPlayer = null;\n this.totalTime = duration + delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn) {\n this._originalOnStartFns.push(fn);\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._originalOnDoneFns.push(fn);\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n init() { }\n play() {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n /** @internal */\n triggerMicrotask() {\n scheduleMicroTask(() => this._onFinish());\n }\n _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n pause() { }\n restart() { }\n finish() {\n this._onFinish();\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this._started = false;\n this._finished = false;\n this._onStartFns = this._originalOnStartFns;\n this._onDoneFns = this._originalOnDoneFns;\n }\n setPosition(position) {\n this._position = this.totalTime ? position * this.totalTime : 1;\n }\n getPosition() {\n return this.totalTime ? this._position / this.totalTime : 1;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see `AnimationPlayer`\n * @see `{@link animations/group group()}`\n *\n */\nclass AnimationGroupPlayer {\n constructor(_players) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this._onDestroyFns = [];\n this.parentPlayer = null;\n this.totalTime = 0;\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n if (total == 0) {\n scheduleMicroTask(() => this._onFinish());\n }\n else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this.players.forEach(player => player.init());\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n pause() {\n this.players.forEach(player => player.pause());\n }\n restart() {\n this.players.forEach(player => player.restart());\n }\n finish() {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n destroy() {\n this._onDestroy();\n }\n _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n setPosition(p) {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n getPosition() {\n const longestPlayer = this.players.reduce((longestSoFar, player) => {\n const newPlayerIsLongest = longestSoFar === null || player.totalTime > longestSoFar.totalTime;\n return newPlayerIsLongest ? player : longestSoFar;\n }, null);\n return longestPlayer != null ? longestPlayer.getPosition() : 0;\n }\n beforeDestroy() {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ɵPRE_STYLE = '!';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AUTO_STYLE, AnimationBuilder, AnimationFactory, NoopAnimationPlayer, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, AnimationGroupPlayer as ɵAnimationGroupPlayer, ɵPRE_STYLE };\n","/**\n * @license Angular v14.1.1\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, style } from '@angular/animations';\nimport * as i0 from '@angular/core';\nimport { ɵRuntimeError, Injectable } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst LINE_START = '\\n - ';\nfunction invalidTimingValue(exp) {\n return new ɵRuntimeError(3000 /* RuntimeErrorCode.INVALID_TIMING_VALUE */, ngDevMode && `The provided timing value \"${exp}\" is invalid.`);\n}\nfunction negativeStepValue() {\n return new ɵRuntimeError(3100 /* RuntimeErrorCode.NEGATIVE_STEP_VALUE */, ngDevMode && 'Duration values below 0 are not allowed for this animation step.');\n}\nfunction negativeDelayValue() {\n return new ɵRuntimeError(3101 /* RuntimeErrorCode.NEGATIVE_DELAY_VALUE */, ngDevMode && 'Delay values below 0 are not allowed for this animation step.');\n}\nfunction invalidStyleParams(varName) {\n return new ɵRuntimeError(3001 /* RuntimeErrorCode.INVALID_STYLE_PARAMS */, ngDevMode &&\n `Unable to resolve the local animation param ${varName} in the given list of values`);\n}\nfunction invalidParamValue(varName) {\n return new ɵRuntimeError(3003 /* RuntimeErrorCode.INVALID_PARAM_VALUE */, ngDevMode && `Please provide a value for the animation param ${varName}`);\n}\nfunction invalidNodeType(nodeType) {\n return new ɵRuntimeError(3004 /* RuntimeErrorCode.INVALID_NODE_TYPE */, ngDevMode && `Unable to resolve animation metadata node #${nodeType}`);\n}\nfunction invalidCssUnitValue(userProvidedProperty, value) {\n return new ɵRuntimeError(3005 /* RuntimeErrorCode.INVALID_CSS_UNIT_VALUE */, ngDevMode && `Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n}\nfunction invalidTrigger() {\n return new ɵRuntimeError(3006 /* RuntimeErrorCode.INVALID_TRIGGER */, ngDevMode &&\n 'animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n}\nfunction invalidDefinition() {\n return new ɵRuntimeError(3007 /* RuntimeErrorCode.INVALID_DEFINITION */, ngDevMode && 'only state() and transition() definitions can sit inside of a trigger()');\n}\nfunction invalidState(metadataName, missingSubs) {\n return new ɵRuntimeError(3008 /* RuntimeErrorCode.INVALID_STATE */, ngDevMode &&\n `state(\"${metadataName}\", ...) must define default values for all the following style substitutions: ${missingSubs.join(', ')}`);\n}\nfunction invalidStyleValue(value) {\n return new ɵRuntimeError(3002 /* RuntimeErrorCode.INVALID_STYLE_VALUE */, ngDevMode && `The provided style string value ${value} is not allowed.`);\n}\nfunction invalidProperty(prop) {\n return new ɵRuntimeError(3009 /* RuntimeErrorCode.INVALID_PROPERTY */, ngDevMode &&\n `The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n}\nfunction invalidParallelAnimation(prop, firstStart, firstEnd, secondStart, secondEnd) {\n return new ɵRuntimeError(3010 /* RuntimeErrorCode.INVALID_PARALLEL_ANIMATION */, ngDevMode &&\n `The CSS property \"${prop}\" that exists between the times of \"${firstStart}ms\" and \"${firstEnd}ms\" is also being animated in a parallel animation between the times of \"${secondStart}ms\" and \"${secondEnd}ms\"`);\n}\nfunction invalidKeyframes() {\n return new ɵRuntimeError(3011 /* RuntimeErrorCode.INVALID_KEYFRAMES */, ngDevMode && `keyframes() must be placed inside of a call to animate()`);\n}\nfunction invalidOffset() {\n return new ɵRuntimeError(3012 /* RuntimeErrorCode.INVALID_OFFSET */, ngDevMode && `Please ensure that all keyframe offsets are between 0 and 1`);\n}\nfunction keyframeOffsetsOutOfOrder() {\n return new ɵRuntimeError(3200 /* RuntimeErrorCode.KEYFRAME_OFFSETS_OUT_OF_ORDER */, ngDevMode && `Please ensure that all keyframe offsets are in order`);\n}\nfunction keyframesMissingOffsets() {\n return new ɵRuntimeError(3202 /* RuntimeErrorCode.KEYFRAMES_MISSING_OFFSETS */, ngDevMode && `Not all style() steps within the declared keyframes() contain offsets`);\n}\nfunction invalidStagger() {\n return new ɵRuntimeError(3013 /* RuntimeErrorCode.INVALID_STAGGER */, ngDevMode && `stagger() can only be used inside of query()`);\n}\nfunction invalidQuery(selector) {\n return new ɵRuntimeError(3014 /* RuntimeErrorCode.INVALID_QUERY */, ngDevMode &&\n `\\`query(\"${selector}\")\\` returned zero elements. (Use \\`query(\"${selector}\", { optional: true })\\` if you wish to allow this.)`);\n}\nfunction invalidExpression(expr) {\n return new ɵRuntimeError(3015 /* RuntimeErrorCode.INVALID_EXPRESSION */, ngDevMode && `The provided transition expression \"${expr}\" is not supported`);\n}\nfunction invalidTransitionAlias(alias) {\n return new ɵRuntimeError(3016 /* RuntimeErrorCode.INVALID_TRANSITION_ALIAS */, ngDevMode && `The transition alias value \"${alias}\" is not supported`);\n}\nfunction validationFailed(errors) {\n return new ɵRuntimeError(3500 /* RuntimeErrorCode.VALIDATION_FAILED */, ngDevMode && `animation validation failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction buildingFailed(errors) {\n return new ɵRuntimeError(3501 /* RuntimeErrorCode.BUILDING_FAILED */, ngDevMode && `animation building failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerBuildFailed(name, errors) {\n return new ɵRuntimeError(3404 /* RuntimeErrorCode.TRIGGER_BUILD_FAILED */, ngDevMode &&\n `The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${errors.map(err => err.message).join('\\n - ')}`);\n}\nfunction animationFailed(errors) {\n return new ɵRuntimeError(3502 /* RuntimeErrorCode.ANIMATION_FAILED */, ngDevMode &&\n `Unable to animate due to the following errors:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction registerFailed(errors) {\n return new ɵRuntimeError(3503 /* RuntimeErrorCode.REGISTRATION_FAILED */, ngDevMode &&\n `Unable to build the animation due to the following errors: ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingOrDestroyedAnimation() {\n return new ɵRuntimeError(3300 /* RuntimeErrorCode.MISSING_OR_DESTROYED_ANIMATION */, ngDevMode && 'The requested animation doesn\\'t exist or has already been destroyed');\n}\nfunction createAnimationFailed(errors) {\n return new ɵRuntimeError(3504 /* RuntimeErrorCode.CREATE_ANIMATION_FAILED */, ngDevMode &&\n `Unable to create the animation due to the following errors:${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingPlayer(id) {\n return new ɵRuntimeError(3301 /* RuntimeErrorCode.MISSING_PLAYER */, ngDevMode && `Unable to find the timeline player referenced by ${id}`);\n}\nfunction missingTrigger(phase, name) {\n return new ɵRuntimeError(3302 /* RuntimeErrorCode.MISSING_TRIGGER */, ngDevMode &&\n `Unable to listen on the animation trigger event \"${phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n}\nfunction missingEvent(name) {\n return new ɵRuntimeError(3303 /* RuntimeErrorCode.MISSING_EVENT */, ngDevMode &&\n `Unable to listen on the animation trigger \"${name}\" because the provided event is undefined!`);\n}\nfunction unsupportedTriggerEvent(phase, name) {\n return new ɵRuntimeError(3400 /* RuntimeErrorCode.UNSUPPORTED_TRIGGER_EVENT */, ngDevMode &&\n `The provided animation trigger event \"${phase}\" for the animation trigger \"${name}\" is not supported!`);\n}\nfunction unregisteredTrigger(name) {\n return new ɵRuntimeError(3401 /* RuntimeErrorCode.UNREGISTERED_TRIGGER */, ngDevMode && `The provided animation trigger \"${name}\" has not been registered!`);\n}\nfunction triggerTransitionsFailed(errors) {\n return new ɵRuntimeError(3402 /* RuntimeErrorCode.TRIGGER_TRANSITIONS_FAILED */, ngDevMode &&\n `Unable to process animations due to the following failed trigger transitions\\n ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerParsingFailed(name, errors) {\n return new ɵRuntimeError(3403 /* RuntimeErrorCode.TRIGGER_PARSING_FAILED */, ngDevMode &&\n `Animation parsing for the ${name} trigger have failed:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction transitionFailed(name, errors) {\n return new ɵRuntimeError(3505 /* RuntimeErrorCode.TRANSITION_FAILED */, ngDevMode && `@${name} has failed due to:\\n ${errors.map(err => err.message).join('\\n- ')}`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Set of all animatable CSS properties\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties\n */\nconst ANIMATABLE_PROP_SET = new Set([\n '-moz-outline-radius',\n '-moz-outline-radius-bottomleft',\n '-moz-outline-radius-bottomright',\n '-moz-outline-radius-topleft',\n '-moz-outline-radius-topright',\n '-ms-grid-columns',\n '-ms-grid-rows',\n '-webkit-line-clamp',\n '-webkit-text-fill-color',\n '-webkit-text-stroke',\n '-webkit-text-stroke-color',\n 'accent-color',\n 'all',\n 'backdrop-filter',\n 'background',\n 'background-color',\n 'background-position',\n 'background-size',\n 'block-size',\n 'border',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-width',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image-outset',\n 'border-image-slice',\n 'border-image-width',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-width',\n 'border-left',\n 'border-left-color',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-width',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-shadow',\n 'caret-color',\n 'clip',\n 'clip-path',\n 'color',\n 'column-count',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-width',\n 'column-width',\n 'columns',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-grow',\n 'flex-shrink',\n 'font',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-variation-settings',\n 'font-weight',\n 'gap',\n 'grid-column-gap',\n 'grid-gap',\n 'grid-row-gap',\n 'grid-template-columns',\n 'grid-template-rows',\n 'height',\n 'inline-size',\n 'input-security',\n 'inset',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'left',\n 'letter-spacing',\n 'line-clamp',\n 'line-height',\n 'margin',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'mask',\n 'mask-border',\n 'mask-position',\n 'mask-size',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-lines',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-width',\n 'padding',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'perspective',\n 'perspective-origin',\n 'right',\n 'rotate',\n 'row-gap',\n 'scale',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-coordinate',\n 'scroll-snap-destination',\n 'scrollbar-color',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'tab-size',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-indent',\n 'text-shadow',\n 'text-underline-offset',\n 'top',\n 'transform',\n 'transform-origin',\n 'translate',\n 'vertical-align',\n 'visibility',\n 'width',\n 'word-spacing',\n 'z-index',\n 'zoom',\n]);\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction isBrowser() {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\nfunction isNode() {\n // Checking only for `process` isn't enough to identify whether or not we're in a Node\n // environment, because Webpack by default will polyfill the `process`. While we can discern\n // that Webpack polyfilled it by looking at `process.browser`, it's very Webpack-specific and\n // might not be future-proof. Instead we look at the stringified version of `process` which\n // is `[object process]` in Node and `[object Object]` when polyfilled.\n return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n}\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes$1(driver, normalizer, element, keyframes, preStyles = new Map(), postStyles = new Map()) {\n const errors = [];\n const normalizedKeyframes = [];\n let previousOffset = -1;\n let previousKeyframe = null;\n keyframes.forEach(kf => {\n const offset = kf.get('offset');\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe = (isSameOffset && previousKeyframe) || new Map();\n kf.forEach((val, prop) => {\n let normalizedProp = prop;\n let normalizedValue = val;\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles.get(prop);\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles.get(prop);\n break;\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe.set(normalizedProp, normalizedValue);\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n throw animationFailed(errors);\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, player) {\n const totalTime = player.totalTime;\n const disabled = player.disabled ? true : false;\n const event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0, disabled) {\n return { element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled };\n}\nfunction getOrSetDefaultValue(map, key, defaultValue) {\n let value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.slice(separatorPos + 1);\n return [id, action];\n}\nlet _contains = (elm1, elm2) => false;\nlet _query = (element, selector, multi) => {\n return [];\n};\nlet _documentElement = null;\nfunction getParentElement(element) {\n const parent = element.parentNode || element.host; // consider host to support shadow DOM\n if (parent === _documentElement) {\n return null;\n }\n return parent;\n}\n// Define utility methods for browsers and platform-server(domino) where Element\n// and utility methods exist.\nconst _isNode = isNode();\nif (_isNode || typeof Element !== 'undefined') {\n if (!isBrowser()) {\n _contains = (elm1, elm2) => elm1.contains(elm2);\n }\n else {\n // Read the document element in an IIFE that's been marked pure to avoid a top-level property\n // read that may prevent tree-shaking.\n _documentElement = /* @__PURE__ */ (() => document.documentElement)();\n _contains = (elm1, elm2) => {\n while (elm2) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = getParentElement(elm2);\n }\n return false;\n };\n }\n _query = (element, selector, multi) => {\n if (multi) {\n return Array.from(element.querySelectorAll(selector));\n }\n const elem = element.querySelector(selector);\n return elem ? [elem] : [];\n };\n}\nfunction containsVendorPrefix(prop) {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet _CACHED_BODY = null;\nlet _IS_WEBKIT = false;\nfunction validateStyleProperty(prop) {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY.style ? ('WebkitAppearance' in _CACHED_BODY.style) : false;\n }\n let result = true;\n if (_CACHED_BODY.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.slice(1);\n result = camelProp in _CACHED_BODY.style;\n }\n }\n return result;\n}\nfunction validateWebAnimatableStyleProperty(prop) {\n return ANIMATABLE_PROP_SET.has(prop);\n}\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\nconst containsElement = _contains;\nconst invokeQuery = _query;\nfunction hypenatePropsKeys(original) {\n const newMap = new Map();\n original.forEach((val, prop) => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newMap.set(newProp, val);\n });\n return newMap;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NoopAnimationDriver {\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n}\nNoopAnimationDriver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NoopAnimationDriver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopAnimationDriver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NoopAnimationDriver });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NoopAnimationDriver, decorators: [{\n type: Injectable\n }] });\n/**\n * @publicApi\n */\nclass AnimationDriver {\n}\nAnimationDriver.NOOP = ( /* @__PURE__ */new NoopAnimationDriver());\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_SECOND = 1000;\nconst SUBSTITUTION_EXPR_START = '{{';\nconst SUBSTITUTION_EXPR_END = '}}';\nconst ENTER_CLASSNAME = 'ng-enter';\nconst LEAVE_CLASSNAME = 'ng-leave';\nconst NG_TRIGGER_CLASSNAME = 'ng-trigger';\nconst NG_TRIGGER_SELECTOR = '.ng-trigger';\nconst NG_ANIMATING_CLASSNAME = 'ng-animating';\nconst NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number')\n return value;\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2)\n return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default: // ms or something else\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration') ?\n timings :\n parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration;\n let delay = 0;\n let easing = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(invalidTimingValue(exp));\n return { duration: 0, delay: 0, easing: '' };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n }\n else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(negativeStepValue());\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(negativeDelayValue());\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, invalidTimingValue(exp));\n }\n }\n return { duration, delay, easing };\n}\nfunction copyObj(obj, destination = {}) {\n Object.keys(obj).forEach(prop => {\n destination[prop] = obj[prop];\n });\n return destination;\n}\nfunction convertToMap(obj) {\n const styleMap = new Map();\n Object.keys(obj).forEach(prop => {\n const val = obj[prop];\n styleMap.set(prop, val);\n });\n return styleMap;\n}\nfunction normalizeKeyframes(keyframes) {\n if (!keyframes.length) {\n return [];\n }\n if (keyframes[0] instanceof Map) {\n return keyframes;\n }\n return keyframes.map(kf => convertToMap(kf));\n}\nfunction normalizeStyles(styles) {\n const normalizedStyles = new Map();\n if (Array.isArray(styles)) {\n styles.forEach(data => copyStyles(data, normalizedStyles));\n }\n else {\n copyStyles(styles, normalizedStyles);\n }\n return normalizedStyles;\n}\nfunction copyStyles(styles, destination = new Map(), backfill) {\n if (backfill) {\n for (let [prop, val] of backfill) {\n destination.set(prop, val);\n }\n }\n for (let [prop, val] of styles) {\n destination.set(prop, val);\n }\n return destination;\n}\nfunction getStyleAttributeString(element, key, value) {\n // Return the key-value pair string to be added to the style attribute for the\n // given CSS style key.\n if (value) {\n return key + ':' + value + ';';\n }\n else {\n return '';\n }\n}\nfunction writeStyleAttribute(element) {\n // Read the style property of the element and manually reflect it to the\n // style attribute. This is needed because Domino on platform-server doesn't\n // understand the full set of allowed CSS properties and doesn't reflect some\n // of them automatically.\n let styleAttrValue = '';\n for (let i = 0; i < element.style.length; i++) {\n const key = element.style.item(i);\n styleAttrValue += getStyleAttributeString(element, key, element.style.getPropertyValue(key));\n }\n for (const key in element.style) {\n // Skip internal Domino properties that don't need to be reflected.\n if (!element.style.hasOwnProperty(key) || key.startsWith('_')) {\n continue;\n }\n const dashKey = camelCaseToDashCase(key);\n styleAttrValue += getStyleAttributeString(element, dashKey, element.style[key]);\n }\n element.setAttribute('style', styleAttrValue);\n}\nfunction setStyles(element, styles, formerStyles) {\n if (element['style']) {\n styles.forEach((val, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.has(prop)) {\n formerStyles.set(prop, element.style[camelProp]);\n }\n element.style[camelProp] = val;\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction eraseStyles(element, styles) {\n if (element['style']) {\n styles.forEach((_, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1)\n return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(invalidStyleParams(varName));\n }\n });\n }\n}\nconst PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nfunction extractStyleParams(value) {\n let params = [];\n if (typeof value === 'string') {\n let match;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n const original = value.toString();\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (localVal == null) {\n errors.push(invalidParamValue(varName));\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nfunction iteratorToArray(iterator) {\n const arr = [];\n let item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\n}\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction camelCaseToDashCase(input) {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles) {\n if (previousStyles.size && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps = [];\n previousStyles.forEach((val, prop) => {\n if (!startingKeyframe.has(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe.set(prop, val);\n });\n if (missingStyleProps.length) {\n for (let i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(prop => kf.set(prop, computeStyle(element, prop)));\n }\n }\n }\n return keyframes;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case 7 /* AnimationMetadataType.Trigger */:\n return visitor.visitTrigger(node, context);\n case 0 /* AnimationMetadataType.State */:\n return visitor.visitState(node, context);\n case 1 /* AnimationMetadataType.Transition */:\n return visitor.visitTransition(node, context);\n case 2 /* AnimationMetadataType.Sequence */:\n return visitor.visitSequence(node, context);\n case 3 /* AnimationMetadataType.Group */:\n return visitor.visitGroup(node, context);\n case 4 /* AnimationMetadataType.Animate */:\n return visitor.visitAnimate(node, context);\n case 5 /* AnimationMetadataType.Keyframes */:\n return visitor.visitKeyframes(node, context);\n case 6 /* AnimationMetadataType.Style */:\n return visitor.visitStyle(node, context);\n case 8 /* AnimationMetadataType.Reference */:\n return visitor.visitReference(node, context);\n case 9 /* AnimationMetadataType.AnimateChild */:\n return visitor.visitAnimateChild(node, context);\n case 10 /* AnimationMetadataType.AnimateRef */:\n return visitor.visitAnimateRef(node, context);\n case 11 /* AnimationMetadataType.Query */:\n return visitor.visitQuery(node, context);\n case 12 /* AnimationMetadataType.Stagger */:\n return visitor.visitStagger(node, context);\n default:\n throw invalidNodeType(node.type);\n }\n}\nfunction computeStyle(element, prop) {\n return window.getComputedStyle(element)[prop];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_DEV_MODE = typeof ngDevMode === 'undefined' || !!ngDevMode;\nfunction createListOfWarnings(warnings) {\n const LINE_START = '\\n - ';\n return `${LINE_START}${warnings.filter(Boolean).map(warning => warning).join(LINE_START)}`;\n}\nfunction warnValidation(warnings) {\n NG_DEV_MODE && console.warn(`animation validation warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnTriggerBuild(name, warnings) {\n NG_DEV_MODE &&\n console.warn(`The animation trigger \"${name}\" has built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnRegister(warnings) {\n NG_DEV_MODE &&\n console.warn(`Animation built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction triggerParsingWarnings(name, warnings) {\n NG_DEV_MODE &&\n console.warn(`Animation parsing for the ${name} trigger presents the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction pushUnrecognizedPropertiesWarning(warnings, props) {\n if (props.length) {\n warnings.push(`The following provided properties are not recognized: ${props.join(', ')}`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(str => parseInnerTransitionStr(str, expressions, errors));\n }\n else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(invalidExpression(eventStr));\n return expressions;\n }\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n}\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(invalidTransitionAlias(alias));\n return '* => *';\n }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\nfunction makeLambdaFromStates(lhs, rhs) {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return (fromState, toState) => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = new RegExp(`\\s*${SELF_TOKEN}\\s*,?`, 'g');\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nfunction buildAnimationAst(driver, metadata, errors, warnings) {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors, warnings);\n}\nconst ROOT_SELECTOR = '';\nclass AnimationAstBuilderVisitor {\n constructor(_driver) {\n this._driver = _driver;\n }\n build(metadata, errors, warnings) {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n const ast = visitDslNode(this, normalizeAnimationEntry(metadata), context);\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (context.unsupportedCSSPropertiesFound.size) {\n pushUnrecognizedPropertiesWarning(warnings, [...context.unsupportedCSSPropertiesFound.keys()]);\n }\n }\n return ast;\n }\n _resetContextStyleTimingState(context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = new Map();\n context.collectedStyles.set(ROOT_SELECTOR, new Map());\n context.currentTime = 0;\n }\n visitTrigger(metadata, context) {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states = [];\n const transitions = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push(invalidTrigger());\n }\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == 0 /* AnimationMetadataType.State */) {\n const stateDef = def;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n }\n else if (def.type == 1 /* AnimationMetadataType.Transition */) {\n const transition = this.visitTransition(def, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n }\n else {\n context.errors.push(invalidDefinition());\n }\n });\n return {\n type: 7 /* AnimationMetadataType.Trigger */,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n visitState(metadata, context) {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = (metadata.options && metadata.options.params) || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(style => {\n if (style instanceof Map) {\n style.forEach(value => {\n extractStyleParams(value).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n const missingSubsArr = iteratorToArray(missingSubs.values());\n context.errors.push(invalidState(metadata.name, missingSubsArr));\n }\n }\n return {\n type: 0 /* AnimationMetadataType.State */,\n name: metadata.name,\n style: styleAst,\n options: astParams ? { params: astParams } : null\n };\n }\n visitTransition(metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: 1 /* AnimationMetadataType.Transition */,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitSequence(metadata, context) {\n return {\n type: 2 /* AnimationMetadataType.Sequence */,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitGroup(metadata, context) {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: 3 /* AnimationMetadataType.Group */,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimate(metadata, context) {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n let styleAst;\n let styleMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == 5 /* AnimationMetadataType.Keyframes */) {\n styleAst = this.visitKeyframes(styleMetadata, context);\n }\n else {\n let styleMetadata = metadata.styles;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: 4 /* AnimationMetadataType.Animate */,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n visitStyle(metadata, context) {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n _makeStyleAst(metadata, context) {\n const styles = [];\n const metadataStyles = Array.isArray(metadata.styles) ? metadata.styles : [metadata.styles];\n for (let styleTuple of metadataStyles) {\n if (typeof styleTuple === 'string') {\n if (styleTuple === AUTO_STYLE) {\n styles.push(styleTuple);\n }\n else {\n context.errors.push(invalidStyleValue(styleTuple));\n }\n }\n else {\n styles.push(convertToMap(styleTuple));\n }\n }\n let containsDynamicStyles = false;\n let collectedEasing = null;\n styles.forEach(styleData => {\n if (styleData instanceof Map) {\n if (styleData.has('easing')) {\n collectedEasing = styleData.get('easing');\n styleData.delete('easing');\n }\n if (!containsDynamicStyles) {\n for (let value of styleData.values()) {\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: 6 /* AnimationMetadataType.Style */,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n _validateStyleAst(ast, context) {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach(tuple => {\n if (typeof tuple === 'string')\n return;\n tuple.forEach((value, prop) => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._driver.validateStyleProperty(prop)) {\n tuple.delete(prop);\n context.unsupportedCSSPropertiesFound.add(prop);\n return;\n }\n }\n // This is guaranteed to have a defined Map at this querySelector location making it\n // safe to add the assertion here. It is set as a default empty map in prior methods.\n const collectedStyles = context.collectedStyles.get(context.currentQuerySelector);\n const collectedEntry = collectedStyles.get(prop);\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime &&\n endTime <= collectedEntry.endTime) {\n context.errors.push(invalidParallelAnimation(prop, collectedEntry.startTime, collectedEntry.endTime, startTime, endTime));\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles.set(prop, { startTime, endTime });\n }\n if (context.options) {\n validateStyleParams(value, context.options, context.errors);\n }\n });\n });\n }\n visitKeyframes(metadata, context) {\n const ast = { type: 5 /* AnimationMetadataType.Keyframes */, styles: [], options: null };\n if (!context.currentAnimateTimings) {\n context.errors.push(invalidKeyframes());\n return ast;\n }\n const MAX_KEYFRAME_OFFSET = 1;\n let totalKeyframesWithOffsets = 0;\n const offsets = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset = 0;\n const keyframes = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n if (keyframesOutOfRange) {\n context.errors.push(invalidOffset());\n }\n if (offsetsOutOfOrder) {\n context.errors.push(keyframeOffsetsOutOfOrder());\n }\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(keyframesMissingOffsets());\n }\n else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n }\n visitReference(metadata, context) {\n return {\n type: 8 /* AnimationMetadataType.Reference */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateChild(metadata, context) {\n context.depCount++;\n return {\n type: 9 /* AnimationMetadataType.AnimateChild */,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: 10 /* AnimationMetadataType.AnimateRef */,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitQuery(metadata, context) {\n const parentSelector = context.currentQuerySelector;\n const options = (metadata.options || {});\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector =\n parentSelector.length ? (parentSelector + ' ' + selector) : selector;\n getOrSetDefaultValue(context.collectedStyles, context.currentQuerySelector, new Map());\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: 11 /* AnimationMetadataType.Query */,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitStagger(metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(invalidStagger());\n }\n const timings = metadata.timings === 'full' ?\n { duration: 0, delay: 0, easing: 'full' } :\n resolveTiming(metadata.timings, context.errors, true);\n return {\n type: 12 /* AnimationMetadataType.Stagger */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\nfunction normalizeSelector(selector) {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n // Note: the :enter and :leave aren't normalized here since those\n // selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n .replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.slice(1))\n .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\nfunction normalizeParams(obj) {\n return obj ? copyObj(obj) : null;\n}\nclass AnimationAstBuilderContext {\n constructor(errors) {\n this.errors = errors;\n this.queryCount = 0;\n this.depCount = 0;\n this.currentTransition = null;\n this.currentQuery = null;\n this.currentQuerySelector = null;\n this.currentAnimateTimings = null;\n this.currentTime = 0;\n this.collectedStyles = new Map();\n this.options = null;\n this.unsupportedCSSPropertiesFound = new Set();\n }\n}\nfunction consumeOffset(styles) {\n if (typeof styles == 'string')\n return null;\n let offset = null;\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (styleTuple instanceof Map && styleTuple.has('offset')) {\n const obj = styleTuple;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n });\n }\n else if (styles instanceof Map && styles.has('offset')) {\n const obj = styles;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n return offset;\n}\nfunction constructTimingAst(value, errors) {\n if (value.hasOwnProperty('duration')) {\n return value;\n }\n if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n const strValue = value;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '');\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast;\n }\n const timings = resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = copyObj(options);\n if (options['params']) {\n options['params'] = normalizeParams(options['params']);\n }\n }\n else {\n options = {};\n }\n return options;\n}\nfunction makeTimingAst(duration, delay, easing) {\n return { duration, delay, easing };\n}\n\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n return {\n type: 1 /* AnimationTransitionInstructionType.TimelineAnimation */,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\n };\n}\n\nclass ElementInstructionMap {\n constructor() {\n this._map = new Map();\n }\n get(element) {\n return this._map.get(element) || [];\n }\n append(element, instructions) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n has(element) {\n return this._map.has(element);\n }\n clear() {\n this._map.clear();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two within a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergeSort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill map. The `copyStyles` method in util.ts\n * handles propagating that backfill map to the styles object.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = new Map(), finalStyles = new Map(), options, subInstructions, errors = []) {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nclass AnimationTimelineBuilderVisitor {\n buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n context.currentTimeline.delayNextStep(delay);\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n // note: we just want to apply the final styles for the rootElement, so we do not\n // just apply the styles to the last timeline but the last timeline which\n // element is the root one (basically `*`-styles are replaced with the actual\n // state style values only for the root element)\n if (timelines.length && finalStyles.size) {\n let lastRootTimeline;\n for (let i = timelines.length - 1; i >= 0; i--) {\n const timeline = timelines[i];\n if (timeline.element === rootElement) {\n lastRootTimeline = timeline;\n break;\n }\n }\n if (lastRootTimeline && !lastRootTimeline.allowOnlyTimelineStyles()) {\n lastRootTimeline.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length ?\n timelines.map(timeline => timeline.buildKeyframes()) :\n [createTimelineInstruction(rootElement, [], [], [], 0, delay, '', false)];\n }\n visitTrigger(ast, context) {\n // these values are not visited in this AST\n }\n visitState(ast, context) {\n // these values are not visited in this AST\n }\n visitTransition(ast, context) {\n // these values are not visited in this AST\n }\n visitAnimateChild(ast, context) {\n const elementInstructions = context.subInstructions.get(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(elementInstructions, innerContext, innerContext.options);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n visitAnimateRef(ast, context) {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n _visitSubInstructions(instructions, context, options) {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime =\n Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n }\n visitReference(ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n visitSequence(ast, context) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == 6 /* AnimationMetadataType.Style */) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n // this is here just in case the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n }\n visitGroup(ast, context) {\n const innerTimelines = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n _visitTiming(ast, context) {\n if (ast.dynamic) {\n const strValue = ast.strValue;\n const timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n }\n else {\n return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n }\n }\n visitAnimate(ast, context) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n const style = ast.style;\n if (style.type == 5 /* AnimationMetadataType.Keyframes */) {\n this.visitKeyframes(style, context);\n }\n else {\n context.incrementTime(timings.duration);\n this.visitStyle(style, context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n visitStyle(ast, context) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings;\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.hasCurrentStyleProperties()) {\n timeline.forwardFrame();\n }\n const easing = (timings && timings.easing) || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n }\n else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n }\n visitKeyframes(ast, context) {\n const currentAnimateTimings = context.currentAnimateTimings;\n const startTime = (context.currentTimeline).duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach(step => {\n const offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n visitQuery(ast, context) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = (ast.options || {});\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay &&\n (context.previousNode.type === 6 /* AnimationMetadataType.Style */ ||\n (startTime == 0 && context.currentTimeline.hasCurrentStyleProperties()))) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n let furthestTime = startTime;\n const elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n let sameElementTimeline = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n }\n visitStagger(ast, context) {\n const parentContext = context.parentContext;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime =\n (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\nconst DEFAULT_NOOP_PREVIOUS_NODE = {};\nclass AnimationTimelineContext {\n constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this._enterClassName = _enterClassName;\n this._leaveClassName = _leaveClassName;\n this.errors = errors;\n this.timelines = timelines;\n this.parentContext = null;\n this.currentAnimateTimings = null;\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.subContextCount = 0;\n this.options = {};\n this.currentQueryIndex = 0;\n this.currentQueryTotal = 0;\n this.currentStaggerTime = 0;\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n get params() {\n return this.options.params;\n }\n updateOptions(options, skipIfExists) {\n if (!options)\n return;\n const newOptions = options;\n let optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n optionsToUpdate.duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate = optionsToUpdate.params;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n _copyOptions() {\n const options = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n createSubContext(options = null, element, newTime) {\n const target = element || this.element;\n const context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n transformIntoNewTimeline(newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n appendInstructionToTimeline(instruction, duration, delay) {\n const updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n incrementTime(time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n delayNextStep(delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n let results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) { // only if :self is used then the selector can be empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :\n elements.slice(0, limit);\n }\n results.push(...elements);\n }\n if (!optional && results.length == 0) {\n errors.push(invalidQuery(originalSelector));\n }\n return results;\n }\n}\nclass TimelineBuilder {\n constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n this._driver = _driver;\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n this.duration = 0;\n this._previousKeyframe = new Map();\n this._currentKeyframe = new Map();\n this._keyframes = new Map();\n this._styleSummary = new Map();\n this._localTimelineStyles = new Map();\n this._pendingStyles = new Map();\n this._backFill = new Map();\n this._currentEmptyStepKeyframe = null;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n containsAnimation() {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.hasCurrentStyleProperties();\n default:\n return true;\n }\n }\n hasCurrentStyleProperties() {\n return this._currentKeyframe.size > 0;\n }\n get currentTime() {\n return this.startTime + this.duration;\n }\n delayNextStep(delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size === 1 && this._pendingStyles.size;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n }\n else {\n this.startTime += delay;\n }\n }\n fork(element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration);\n if (!this._currentKeyframe) {\n this._currentKeyframe = new Map();\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n forwardTime(time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n _updateStyle(prop, value) {\n this._localTimelineStyles.set(prop, value);\n this._globalTimelineStyles.set(prop, value);\n this._styleSummary.set(prop, { time: this.currentTime, value });\n }\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n applyEmptyStep(easing) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n for (let [prop, value] of this._globalTimelineStyles) {\n this._backFill.set(prop, value || AUTO_STYLE);\n this._currentKeyframe.set(prop, AUTO_STYLE);\n }\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n setStyles(input, easing, errors, options) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n const params = (options && options.params) || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n for (let [prop, value] of styles) {\n const val = interpolateParams(value, params, errors);\n this._pendingStyles.set(prop, val);\n if (!this._localTimelineStyles.has(prop)) {\n this._backFill.set(prop, this._globalTimelineStyles.get(prop) ?? AUTO_STYLE);\n }\n this._updateStyle(prop, val);\n }\n }\n applyStylesToKeyframe() {\n if (this._pendingStyles.size == 0)\n return;\n this._pendingStyles.forEach((val, prop) => {\n this._currentKeyframe.set(prop, val);\n });\n this._pendingStyles.clear();\n this._localTimelineStyles.forEach((val, prop) => {\n if (!this._currentKeyframe.has(prop)) {\n this._currentKeyframe.set(prop, val);\n }\n });\n }\n snapshotCurrentStyles() {\n for (let [prop, val] of this._localTimelineStyles) {\n this._pendingStyles.set(prop, val);\n this._updateStyle(prop, val);\n }\n }\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n get properties() {\n const properties = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n mergeTimelineCollectedStyles(timeline) {\n timeline._styleSummary.forEach((details1, prop) => {\n const details0 = this._styleSummary.get(prop);\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n buildKeyframes() {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n let finalKeyframes = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = copyStyles(keyframe, new Map(), this._backFill);\n finalKeyframe.forEach((value, prop) => {\n if (value === ɵPRE_STYLE) {\n preStyleProps.add(prop);\n }\n else if (value === AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe.set('offset', time / this.duration);\n }\n finalKeyframes.push(finalKeyframe);\n });\n const preProps = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];\n const postProps = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = new Map(kf0);\n kf0.set('offset', 0);\n kf1.set('offset', 1);\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n }\n}\nclass SubTimelineBuilder extends TimelineBuilder {\n constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {\n super(driver, element, timings.delay);\n this.keyframes = keyframes;\n this.preStyleProps = preStyleProps;\n this.postStyleProps = postStyleProps;\n this._stretchStartingKeyframe = _stretchStartingKeyframe;\n this.timings = { duration: timings.duration, delay: timings.delay, easing: timings.easing };\n }\n containsAnimation() {\n return this.keyframes.length > 1;\n }\n buildKeyframes() {\n let keyframes = this.keyframes;\n let { delay, duration, easing } = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = copyStyles(keyframes[0]);\n newFirstKeyframe.set('offset', 0);\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = copyStyles(keyframes[0]);\n oldFirstKeyframe.set('offset', roundOffset(startingGap));\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still rendered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n \n delay=1000, duration=1000, keyframes = 0 .5 1\n \n turns into\n \n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = copyStyles(keyframes[i]);\n const oldOffset = kf.get('offset');\n const timeAtKeyframe = delay + oldOffset * duration;\n kf.set('offset', roundOffset(timeAtKeyframe / totalTime));\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n }\n}\nfunction roundOffset(offset, decimalPoints = 3) {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\nfunction flattenStyles(input, allStyles) {\n const styles = new Map();\n let allProperties;\n input.forEach(token => {\n if (token === '*') {\n allProperties = allProperties || allStyles.keys();\n for (let prop of allProperties) {\n styles.set(prop, AUTO_STYLE);\n }\n }\n else {\n copyStyles(token, styles);\n }\n });\n return styles;\n}\n\nclass Animation {\n constructor(_driver, input) {\n this._driver = _driver;\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(_driver, input, errors, warnings);\n if (errors.length) {\n throw validationFailed(errors);\n }\n if (warnings.length) {\n warnValidation(warnings);\n }\n this._animationAst = ast;\n }\n buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) :\n startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) :\n destinationStyles;\n const errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);\n if (errors.length) {\n throw buildingFailed(errors);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass AnimationStyleNormalizer {\n}\n/**\n * @publicApi\n */\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DIMENSIONAL_PROP_SET = new Set([\n 'width',\n 'height',\n 'minWidth',\n 'minHeight',\n 'maxWidth',\n 'maxHeight',\n 'left',\n 'top',\n 'bottom',\n 'right',\n 'fontSize',\n 'outlineWidth',\n 'outlineOffset',\n 'paddingTop',\n 'paddingLeft',\n 'paddingBottom',\n 'paddingRight',\n 'marginTop',\n 'marginLeft',\n 'marginBottom',\n 'marginRight',\n 'borderRadius',\n 'borderWidth',\n 'borderTopWidth',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderBottomWidth',\n 'textIndent',\n 'perspective'\n]);\nclass WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n let unit = '';\n const strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_SET.has(normalizedProperty) && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n }\n else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(invalidCssUnitValue(userProvidedProperty, value));\n }\n }\n }\n return strVal + unit;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, totalTime, errors) {\n return {\n type: 0 /* AnimationTransitionInstructionType.TransitionAnimation */,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\n };\n}\n\nconst EMPTY_OBJECT = {};\nclass AnimationTransitionFactory {\n constructor(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n match(currentState, nextState, element, params) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n buildStyles(stateName, params, errors) {\n let styler = this._stateStyles.get('*');\n if (stateName !== undefined) {\n styler = this._stateStyles.get(stateName?.toString()) || styler;\n }\n return styler ? styler.buildStyles(params, errors) : new Map();\n }\n build(driver, element, currentState, nextState, enterClassName, leaveClassName, currentOptions, nextOptions, subInstructions, skipAstBuild) {\n const errors = [];\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n const animationOptions = {\n params: applyParamDefaults(nextAnimationParams, transitionAnimationParams),\n delay: this.ast.options?.delay,\n };\n const timelines = skipAstBuild ?\n [] :\n buildAnimationTimelines(driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetDefaultValue(preStyleMap, elm, new Set());\n tl.preStyleProps.forEach(prop => preProps.add(prop));\n const postProps = getOrSetDefaultValue(postStyleMap, elm, new Set());\n tl.postStyleProps.forEach(prop => postProps.add(prop));\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n checkNonAnimatableInTimelines(timelines, this._triggerName, driver);\n }\n const queriedElementsList = iteratorToArray(queriedElements.values());\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap, totalTime);\n }\n}\n/**\n * Checks inside a set of timelines if they try to animate a css property which is not considered\n * animatable, in that case it prints a warning on the console.\n * Besides that the function doesn't have any other effect.\n *\n * Note: this check is done here after the timelines are built instead of doing on a lower level so\n * that we can make sure that the warning appears only once per instruction (we can aggregate here\n * all the issues instead of finding them separately).\n *\n * @param timelines The built timelines for the current instruction.\n * @param triggerName The name of the trigger for the current instruction.\n * @param driver Animation driver used to perform the check.\n *\n */\nfunction checkNonAnimatableInTimelines(timelines, triggerName, driver) {\n if (!driver.validateAnimatableStyleProperty) {\n return;\n }\n const invalidNonAnimatableProps = new Set();\n timelines.forEach(({ keyframes }) => {\n const nonAnimatablePropsInitialValues = new Map();\n keyframes.forEach(keyframe => {\n for (const [prop, value] of keyframe.entries()) {\n if (!driver.validateAnimatableStyleProperty(prop)) {\n if (nonAnimatablePropsInitialValues.has(prop) && !invalidNonAnimatableProps.has(prop)) {\n const propInitialValue = nonAnimatablePropsInitialValues.get(prop);\n if (propInitialValue !== value) {\n invalidNonAnimatableProps.add(prop);\n }\n }\n else {\n nonAnimatablePropsInitialValues.set(prop, value);\n }\n }\n }\n });\n });\n if (invalidNonAnimatableProps.size > 0) {\n console.warn(`Warning: The animation trigger \"${triggerName}\" is attempting to animate the following` +\n ' not animatable properties: ' + Array.from(invalidNonAnimatableProps).join(', ') + '\\n' +\n '(to check the list of all animatable properties visit https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties)');\n }\n}\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState, element, params) {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\nfunction applyParamDefaults(userParams, defaults) {\n const result = copyObj(defaults);\n for (const key in userParams) {\n if (userParams.hasOwnProperty(key) && userParams[key] != null) {\n result[key] = userParams[key];\n }\n }\n return result;\n}\nclass AnimationStateStyles {\n constructor(styles, defaultParams, normalizer) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n this.normalizer = normalizer;\n }\n buildStyles(params, errors) {\n const finalStyles = new Map();\n const combinedParams = copyObj(this.defaultParams);\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (value !== null) {\n combinedParams[key] = value;\n }\n });\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n value.forEach((val, prop) => {\n if (val) {\n val = interpolateParams(val, combinedParams, errors);\n }\n const normalizedProp = this.normalizer.normalizePropertyName(prop, errors);\n val = this.normalizer.normalizeStyleValue(prop, normalizedProp, val, errors);\n finalStyles.set(normalizedProp, val);\n });\n }\n });\n return finalStyles;\n }\n}\n\nfunction buildTrigger(name, ast, normalizer) {\n return new AnimationTrigger(name, ast, normalizer);\n}\nclass AnimationTrigger {\n constructor(name, ast, _normalizer) {\n this.name = name;\n this.ast = ast;\n this._normalizer = _normalizer;\n this.transitionFactories = [];\n this.states = new Map();\n ast.states.forEach(ast => {\n const defaultParams = (ast.options && ast.options.params) || {};\n this.states.set(ast.name, new AnimationStateStyles(ast.style, defaultParams, _normalizer));\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states, this._normalizer);\n }\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n matchTransition(currentState, nextState, element, params) {\n const entry = this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n matchStyles(currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\nfunction createFallbackTransition(triggerName, states, normalizer) {\n const matchers = [(fromState, toState) => true];\n const animation = { type: 2 /* AnimationMetadataType.Sequence */, steps: [], options: null };\n const transition = {\n type: 1 /* AnimationMetadataType.Transition */,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\nfunction balanceProperties(stateMap, key1, key2) {\n if (stateMap.has(key1)) {\n if (!stateMap.has(key2)) {\n stateMap.set(key2, stateMap.get(key1));\n }\n }\n else if (stateMap.has(key2)) {\n stateMap.set(key1, stateMap.get(key2));\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\nclass TimelineAnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._animations = new Map();\n this._playersById = new Map();\n this.players = [];\n }\n register(id, metadata) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw registerFailed(errors);\n }\n else {\n if (warnings.length) {\n warnRegister(warnings);\n }\n this._animations.set(id, ast);\n }\n }\n _buildPlayer(i, preStyles, postStyles) {\n const element = i.element;\n const keyframes = normalizeKeyframes$1(this._driver, this._normalizer, element, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n create(id, element, options = {}) {\n const errors = [];\n const ast = this._animations.get(id);\n let instructions;\n const autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, new Map(), new Map(), options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetDefaultValue(autoStylesMap, inst.element, new Map());\n inst.postStyleProps.forEach(prop => styles.set(prop, null));\n });\n }\n else {\n errors.push(missingOrDestroyedAnimation());\n instructions = [];\n }\n if (errors.length) {\n throw createAnimationFailed(errors);\n }\n autoStylesMap.forEach((styles, element) => {\n styles.forEach((_, prop) => {\n styles.set(prop, this._driver.computeStyle(element, prop, AUTO_STYLE));\n });\n });\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, new Map(), styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById.set(id, player);\n player.onDestroy(() => this.destroy(id));\n this.players.push(player);\n return player;\n }\n destroy(id) {\n const player = this._getPlayer(id);\n player.destroy();\n this._playersById.delete(id);\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n _getPlayer(id) {\n const player = this._playersById.get(id);\n if (!player) {\n throw missingPlayer(id);\n }\n return player;\n }\n listen(id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => { };\n }\n command(id, element, command, args) {\n if (command == 'register') {\n this.register(id, args[0]);\n return;\n }\n if (command == 'create') {\n const options = (args[0] || {});\n this.create(id, element, options);\n return;\n }\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0]));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\nconst EMPTY_PLAYER_ARRAY = [];\nconst NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\nconst REMOVAL_FLAG = '__ng_removed';\nclass StateValue {\n constructor(input, namespaceId = '') {\n this.namespaceId = namespaceId;\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n const options = copyObj(input);\n delete options['value'];\n this.options = options;\n }\n else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n get params() {\n return this.options.params;\n }\n absorbOptions(options) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\nconst VOID_VALUE = 'void';\nconst DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\nclass AnimationTransitionNamespace {\n constructor(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this.players = [];\n this._triggers = new Map();\n this._queue = [];\n this._elementListeners = new Map();\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n listen(element, name, phase, callback) {\n if (!this._triggers.has(name)) {\n throw missingTrigger(phase, name);\n }\n if (phase == null || phase.length == 0) {\n throw missingEvent(name);\n }\n if (!isTriggerEventValid(phase)) {\n throw unsupportedTriggerEvent(phase, name);\n }\n const listeners = getOrSetDefaultValue(this._elementListeners, element, []);\n const data = { name, phase, callback };\n listeners.push(data);\n const triggersWithStates = getOrSetDefaultValue(this._engine.statesByElement, element, new Map());\n if (!triggersWithStates.has(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates.set(name, DEFAULT_STATE_VALUE);\n }\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!this._triggers.has(name)) {\n triggersWithStates.delete(name);\n }\n });\n };\n }\n register(name, ast) {\n if (this._triggers.has(name)) {\n // throw\n return false;\n }\n else {\n this._triggers.set(name, ast);\n return true;\n }\n }\n _getTrigger(name) {\n const trigger = this._triggers.get(name);\n if (!trigger) {\n throw unregisteredTrigger(name);\n }\n return trigger;\n }\n trigger(element, triggerName, value, defaultToFallback = true) {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = new Map());\n }\n let fromState = triggersWithStates.get(triggerName);\n const toState = new StateValue(value, this.id);\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates.set(triggerName, toState);\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n const isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n }\n else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n const playersOnElement = getOrSetDefaultValue(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new player)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n let transition = trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback)\n return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({ element, triggerName, transition, fromState, toState, player, isFallbackTransition });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n }\n deregister(name) {\n this._triggers.delete(name);\n this._engine.statesByElement.forEach(stateMap => stateMap.delete(name));\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n clearElementCache(element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n _signalRemovalForInnerTriggers(rootElement, context) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG])\n return;\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n }\n else {\n this.clearElementCache(elm);\n }\n });\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(() => elements.forEach(elm => this.clearElementCache(elm)));\n }\n triggerLeaveAnimation(element, context, destroyAfterComplete, defaultToFallback) {\n const triggerStates = this._engine.statesByElement.get(element);\n const previousTriggersValues = new Map();\n if (triggerStates) {\n const players = [];\n triggerStates.forEach((state, triggerName) => {\n previousTriggersValues.set(triggerName, state.value);\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers.has(triggerName)) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context, previousTriggersValues);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n prepareLeaveAnimationListeners(element) {\n const listeners = this._elementListeners.get(element);\n const elementStates = this._engine.statesByElement.get(element);\n // if this statement fails then it means that the element was picked up\n // by an earlier flush (or there are no listeners at all to track the leave).\n if (listeners && elementStates) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName))\n return;\n visitedTriggers.add(triggerName);\n const trigger = this._triggers.get(triggerName);\n const transition = trigger.fallbackTransition;\n const fromState = elementStates.get(triggerName) || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n removeNode(element, context) {\n const engine = this._engine;\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true))\n return;\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers = engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n }\n else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n }\n else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n insertNode(element, parent) {\n addClass(element, this._hostClassName);\n }\n drainQueuedTransitions(microtaskId) {\n const instructions = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed)\n return;\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach((listener) => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n baseEvent['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n }\n else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n destroy(context) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n elementContainsData(element) {\n let containsData = false;\n if (this._elementListeners.has(element))\n containsData = true;\n containsData =\n (this._queue.find(entry => entry.element === element) ? true : false) || containsData;\n return containsData;\n }\n}\nclass TransitionAnimationEngine {\n constructor(bodyNode, driver, _normalizer) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n this.players = [];\n this.newHostElements = new Map();\n this.playersByElement = new Map();\n this.playersByQueriedElement = new Map();\n this.statesByElement = new Map();\n this.disabledNodes = new Set();\n this.totalAnimations = 0;\n this.totalQueuedPlayers = 0;\n this._namespaceLookup = {};\n this._namespaceList = [];\n this._flushFns = [];\n this._whenQuietFns = [];\n this.namespacesByHostElement = new Map();\n this.collectedEnterElements = [];\n this.collectedLeaveElements = [];\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n }\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n get queuedPlayers() {\n const players = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n createNamespace(namespaceId, hostElement) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (this.bodyNode && this.driver.containsElement(this.bodyNode, hostElement)) {\n this._balanceNamespaceList(ns, hostElement);\n }\n else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is a part of the animation code, it\n // may or may not be inserted by a parent node that is of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n _balanceNamespaceList(ns, hostElement) {\n const namespaceList = this._namespaceList;\n const namespacesByHostElement = this.namespacesByHostElement;\n const limit = namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n // Find the closest ancestor with an existing namespace so we can then insert `ns` after it,\n // establishing a top-down ordering of namespaces in `this._namespaceList`.\n let ancestor = this.driver.getParentElement(hostElement);\n while (ancestor) {\n const ancestorNs = namespacesByHostElement.get(ancestor);\n if (ancestorNs) {\n // An animation namespace has been registered for this ancestor, so we insert `ns`\n // right after it to establish top-down ordering of animation namespaces.\n const index = namespaceList.indexOf(ancestorNs);\n namespaceList.splice(index + 1, 0, ns);\n found = true;\n break;\n }\n ancestor = this.driver.getParentElement(ancestor);\n }\n if (!found) {\n // No namespace exists that is an ancestor of `ns`, so `ns` is inserted at the front to\n // ensure that any existing descendants are ordered after `ns`, retaining the desired\n // top-down ordering.\n namespaceList.unshift(ns);\n }\n }\n else {\n namespaceList.push(ns);\n }\n namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n register(namespaceId, hostElement) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n registerTrigger(namespaceId, name, trigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n destroy(namespaceId, context) {\n if (!namespaceId)\n return;\n const ns = this._fetchNamespace(namespaceId);\n this.afterFlush(() => {\n this.namespacesByHostElement.delete(ns.hostElement);\n delete this._namespaceLookup[namespaceId];\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n });\n this.afterFlushAnimationsDone(() => ns.destroy(context));\n }\n _fetchNamespace(id) {\n return this._namespaceLookup[id];\n }\n fetchNamespacesByElement(element) {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply deduplicate\n // the namespaces in case (for the reason described above) there are multiple triggers\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n for (let stateValue of elementStates.values()) {\n if (stateValue.namespaceId) {\n const ns = this._fetchNamespace(stateValue.namespaceId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n trigger(namespaceId, element, name, value) {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n insertNode(namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element))\n return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n collectEnterElement(element) {\n this.collectedEnterElements.push(element);\n }\n markElementAsDisabled(element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n }\n else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n removeNode(namespaceId, element, isHostElement, context) {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n }\n else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n if (isHostElement) {\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n }\n }\n else {\n this._onRemovalComplete(element, context);\n }\n }\n markElementAsRemoved(namespaceId, element, hasAnimation, context, previousTriggersValues) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] = {\n namespaceId,\n setForRemoval: context,\n hasAnimation,\n removedBeforeQueried: false,\n previousTriggersValues\n };\n }\n listen(namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => { };\n }\n _buildInstruction(entry, subTimelines, enterClassName, leaveClassName, skipBuildAst) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName, leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n destroyInnerAnimations(containerElement) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n if (this.playersByQueriedElement.size == 0)\n return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n destroyActiveAnimationsForElement(element) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n }\n else {\n player.destroy();\n }\n });\n }\n }\n finishActiveQueriedAnimationOnElement(element) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n whenRenderingDone() {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n }\n else {\n resolve();\n }\n });\n }\n processLeaveNode(element) {\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if (element.classList?.contains(DISABLED_CLASSNAME)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n flush(microtaskId = -1) {\n let players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n if (this._namespaceList.length &&\n (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n }\n finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n }\n else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n }\n else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n reportError(errors) {\n throw triggerTransitionsFailed(errors);\n }\n _flushAnimations(cleanupFns, microtaskId) {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map();\n const allPostStyleElements = new Map();\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n const allLeaveNodes = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n }\n else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n const allPlayers = [];\n const erroneousTransitions = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG];\n // animations for move operations (elements being removed and reinserted,\n // e.g. when the order of an *ngFor list changes) are currently not supported\n if (details && details.setForMove) {\n if (details.previousTriggersValues &&\n details.previousTriggersValues.has(entry.triggerName)) {\n const previousValue = details.previousTriggersValues.get(entry.triggerName);\n // we need to restore the previous trigger value since the element has\n // only been moved and hasn't actually left the DOM\n const triggersWithStates = this.statesByElement.get(entry.element);\n if (triggersWithStates && triggersWithStates.has(entry.triggerName)) {\n const state = triggersWithStates.get(entry.triggerName);\n state.value = previousValue;\n triggersWithStates.set(entry.triggerName, state);\n }\n }\n player.destroy();\n return;\n }\n }\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element);\n const enterClassName = enterNodeMapIds.get(element);\n const instruction = this._buildInstruction(entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned);\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // even though the element may not be in the DOM, it may still\n // be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important to still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // if an unmatched transition is queued and ready to go\n // then it SHOULD NOT render an animation and cancel the\n // previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub-trigger\n // then it will instruct the timeline builder not to add a player delay, but\n // instead stretch the first keyframe gap until the animation starts. This is\n // important in order to prevent extra initialization styles from being\n // required by the user for the animation.\n const timelines = [];\n instruction.timelines.forEach(tl => {\n tl.stretchStartingKeyframe = true;\n if (!this.disabledNodes.has(tl.element)) {\n timelines.push(tl);\n }\n });\n instruction.timelines = timelines;\n subTimelines.append(element, instruction.timelines);\n const tuple = { instruction, player, element };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach(element => getOrSetDefaultValue(queriedElements, element, []).push(player));\n instruction.preStyleProps.forEach((stringMap, element) => {\n if (stringMap.size) {\n let setVal = allPreStyleElements.get(element);\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n }\n });\n instruction.postStyleProps.forEach((stringMap, element) => {\n let setVal = allPostStyleElements.get(element);\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n });\n });\n }\n if (erroneousTransitions.length) {\n const errors = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(transitionFailed(instruction.triggerName, instruction.errors));\n });\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n const allPreviousPlayersMap = new Map();\n // this map tells us which element in the DOM tree is contained by\n // which animation. Further down this map will get populated once\n // the players are built and in doing so we can use it to efficiently\n // figure out if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers = this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetDefaultValue(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed either by\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or \"auto\" since the element\n // passed to getComputedStyle will not be visible (since * === destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(preStylesMap, this.driver, new Set(nodes), allPreStyleElements, ɵPRE_STYLE);\n });\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, new Map([...Array.from(post?.entries() ?? []), ...Array.from(pre?.entries() ?? [])]));\n });\n const rootPlayers = [];\n const subPlayers = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const { element, player, instruction } = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n const innerPlayer = this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n }\n else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n }\n else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation players\n subPlayers.forEach(player => {\n // even if no players are found for a sub animation it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n }\n else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG];\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation)\n continue;\n let players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n }\n else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n }\n elementContainsData(namespaceId, element) {\n let containsData = false;\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval)\n containsData = true;\n if (this.playersByElement.has(element))\n containsData = true;\n if (this.playersByQueriedElement.has(element))\n containsData = true;\n if (this.statesByElement.has(element))\n containsData = true;\n return this._fetchNamespace(namespaceId).elementContainsData(element) || containsData;\n }\n afterFlush(callback) {\n this._flushFns.push(callback);\n }\n afterFlushAnimationsDone(callback) {\n this._whenQuietFns.push(callback);\n }\n _getPreviousPlayers(element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n let players = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n }\n else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued)\n return;\n if (!isRemovalAnimation && player.triggerName != triggerName)\n return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId)\n return false;\n if (triggerName && triggerName != player.triggerName)\n return false;\n return true;\n });\n }\n return players;\n }\n _beforeAnimationBuild(namespaceId, instruction, allPreviousPlayersMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId = instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition ? undefined : triggerName;\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetDefaultValue(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = player.getRealPlayer();\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n _buildAnimation(namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried)\n return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n const isQueriedElement = element !== rootElement;\n const previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY)\n .map(p => p.getRealPlayer()))\n .filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p;\n return pp.element ? pp.element === element : false;\n });\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes$1(this.driver, this._normalizer, element, timelineInstruction.keyframes, preStyles, postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach(player => {\n getOrSetDefaultValue(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetDefaultValue(skippedPlayersMap, element, []).push(player);\n });\n return player;\n }\n _buildPlayer(instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\nclass TransitionAnimationPlayer {\n constructor(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n this._player = new NoopAnimationPlayer();\n this._containsRealPlayer = false;\n this._queuedCallbacks = new Map();\n this.destroyed = false;\n this.markedForDestroy = false;\n this.disabled = false;\n this.queued = true;\n this.totalTime = 0;\n }\n setRealPlayer(player) {\n if (this._containsRealPlayer)\n return;\n this._player = player;\n this._queuedCallbacks.forEach((callbacks, phase) => {\n callbacks.forEach(callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks.clear();\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n this.queued = false;\n }\n getRealPlayer() {\n return this._player;\n }\n overrideTotalTime(totalTime) {\n this.totalTime = totalTime;\n }\n syncPlayerEvents(player) {\n const p = this._player;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n _queueEvent(name, callback) {\n getOrSetDefaultValue(this._queuedCallbacks, name, []).push(callback);\n }\n onDone(fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n onStart(fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n onDestroy(fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n init() {\n this._player.init();\n }\n hasStarted() {\n return this.queued ? false : this._player.hasStarted();\n }\n play() {\n !this.queued && this._player.play();\n }\n pause() {\n !this.queued && this._player.pause();\n }\n restart() {\n !this.queued && this._player.restart();\n }\n finish() {\n this._player.finish();\n }\n destroy() {\n this.destroyed = true;\n this._player.destroy();\n }\n reset() {\n !this.queued && this._player.reset();\n }\n setPosition(p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n getPosition() {\n return this.queued ? 0 : this._player.getPosition();\n }\n /** @internal */\n triggerCallback(phaseName) {\n const p = this._player;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\nfunction deleteOrUnsetInMap(map, key, value) {\n let currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n return currentValues;\n}\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\nfunction cloakElement(element, value) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\nfunction cloakAndComputeStyles(valuesMap, driver, elements, elementPropsMap, defaultStyle) {\n const cloakVals = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n const failedElements = [];\n elementPropsMap.forEach((props, element) => {\n const styles = new Map();\n props.forEach(prop => {\n const value = driver.computeStyle(element, prop, defaultStyle);\n styles.set(prop, value);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n return failedElements;\n}\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots, nodes) {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n if (nodes.length == 0)\n return rootMap;\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n function getRoot(node) {\n if (!node)\n return NULL_NODE;\n let root = localRootMap.get(node);\n if (root)\n return root;\n const parent = node.parentNode;\n if (rootMap.has(parent)) { // ngIf inside @trigger\n root = parent;\n }\n else if (nodeSet.has(parent)) { // ngIf inside ngIf\n root = NULL_NODE;\n }\n else { // recurse upwards\n root = getRoot(parent);\n }\n localRootMap.set(node, root);\n return root;\n }\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root).push(node);\n }\n });\n return rootMap;\n}\nfunction addClass(element, className) {\n element.classList?.add(className);\n}\nfunction removeClass(element, className) {\n element.classList?.remove(className);\n}\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\nfunction flattenGroupPlayers(players) {\n const finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n }\n else {\n finalPlayers.push(player);\n }\n }\n}\nfunction objEquals(a, b) {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length)\n return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop])\n return false;\n }\n return true;\n}\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry)\n return false;\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry.add(data));\n }\n else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\n\nclass AnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._triggerCache = {};\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n this._transitionEngine = new TransitionAnimationEngine(bodyNode, _driver, _normalizer);\n this._timelineEngine = new TimelineAnimationEngine(bodyNode, _driver, _normalizer);\n this._transitionEngine.onRemovalComplete = (element, context) => this.onRemovalComplete(element, context);\n }\n registerTrigger(componentId, namespaceId, hostElement, name, metadata) {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw triggerBuildFailed(name, errors);\n }\n if (warnings.length) {\n warnTriggerBuild(name, warnings);\n }\n trigger = buildTrigger(name, ast, this._normalizer);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n register(namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n destroy(namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n onInsert(namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n onRemove(namespaceId, element, context, isHostElement) {\n this._transitionEngine.removeNode(namespaceId, element, isHostElement || false, context);\n }\n disableAnimations(element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n process(namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value;\n this._timelineEngine.command(id, element, action, args);\n }\n else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n listen(namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n flush(microtaskId = -1) {\n this._transitionEngine.flush(microtaskId);\n }\n get players() {\n return this._transitionEngine.players\n .concat(this._timelineEngine.players);\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\n }\n}\n\n/**\n * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nfunction packageNonAnimatableStyles(element, styles) {\n let startStyles = null;\n let endStyles = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n }\n else if (styles instanceof Map) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n return (startStyles || endStyles) ? new SpecialCasedStyles(element, startStyles, endStyles) :\n null;\n}\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nclass SpecialCasedStyles {\n constructor(_element, _startStyles, _endStyles) {\n this._element = _element;\n this._startStyles = _startStyles;\n this._endStyles = _endStyles;\n this._state = 0 /* SpecialCasedStylesState.Pending */;\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = new Map());\n }\n this._initialStyles = initialStyles;\n }\n start() {\n if (this._state < 1 /* SpecialCasedStylesState.Started */) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n finish() {\n this.start();\n if (this._state < 2 /* SpecialCasedStylesState.Finished */) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n destroy() {\n this.finish();\n if (this._state < 3 /* SpecialCasedStylesState.Destroyed */) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = 3 /* SpecialCasedStylesState.Destroyed */;\n }\n }\n}\nSpecialCasedStyles.initialStylesByElement = ( /* @__PURE__ */new WeakMap());\nfunction filterNonAnimatableStyles(styles) {\n let result = null;\n styles.forEach((val, prop) => {\n if (isNonAnimatableStyle(prop)) {\n result = result || new Map();\n result.set(prop, val);\n }\n });\n return result;\n}\nfunction isNonAnimatableStyle(prop) {\n return prop === 'display' || prop === 'position';\n}\n\nclass WebAnimationsPlayer {\n constructor(element, keyframes, options, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._initialized = false;\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n // the following original fns are persistent copies of the _onStartFns and _onDoneFns\n // and are used to reset the fns to their original values upon reset()\n // (since the _onStartFns and _onDoneFns get deleted after they are called)\n this._originalOnDoneFns = [];\n this._originalOnStartFns = [];\n this.time = 0;\n this.parentPlayer = null;\n this.currentSnapshot = new Map();\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n _buildPlayer() {\n if (this._initialized)\n return;\n this._initialized = true;\n const keyframes = this.keyframes;\n this.domPlayer =\n this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : new Map();\n this.domPlayer.addEventListener('finish', () => this._onFinish());\n }\n _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n }\n else {\n this.domPlayer.pause();\n }\n }\n _convertKeyframesToObject(keyframes) {\n const kfs = [];\n keyframes.forEach(frame => {\n kfs.push(Object.fromEntries(frame));\n });\n return kfs;\n }\n /** @internal */\n _triggerWebAnimation(element, keyframes, options) {\n // jscompiler doesn't seem to know animate is a native property because it's not fully\n // supported yet across common browsers (we polyfill it for Edge/Safari) [CL #143630929]\n return element['animate'](this._convertKeyframesToObject(keyframes), options);\n }\n onStart(fn) {\n this._originalOnStartFns.push(fn);\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._originalOnDoneFns.push(fn);\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n play() {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n pause() {\n this.init();\n this.domPlayer.pause();\n }\n finish() {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n reset() {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n this._onStartFns = this._originalOnStartFns;\n this._onDoneFns = this._originalOnDoneFns;\n }\n _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n restart() {\n this.reset();\n this.play();\n }\n hasStarted() {\n return this._started;\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n setPosition(p) {\n if (this.domPlayer === undefined) {\n this.init();\n }\n this.domPlayer.currentTime = p * this.time;\n }\n getPosition() {\n return this.domPlayer.currentTime / this.time;\n }\n get totalTime() {\n return this._delay + this._duration;\n }\n beforeDestroy() {\n const styles = new Map();\n if (this.hasStarted()) {\n // note: this code is invoked only when the `play` function was called prior to this\n // (thus `hasStarted` returns true), this implies that the code that initializes\n // `_finalKeyframe` has also been executed and the non-null assertion can be safely used here\n const finalKeyframe = this._finalKeyframe;\n finalKeyframe.forEach((val, prop) => {\n if (prop !== 'offset') {\n styles.set(prop, this._finished ? val : computeStyle(this.element, prop));\n }\n });\n }\n this.currentSnapshot = styles;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName === 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\nclass WebAnimationsDriver {\n validateStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n return validateStyleProperty(prop);\n }\n return true;\n }\n validateAnimatableStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const cssProp = camelCaseToDashCase(prop);\n return validateWebAnimatableStyleProperty(cssProp);\n }\n return true;\n }\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return window.getComputedStyle(element)[prop];\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = []) {\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions = { duration, delay, fill };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n const previousStyles = new Map();\n const previousWebAnimationPlayers = previousPlayers.filter(player => player instanceof WebAnimationsPlayer);\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n player.currentSnapshot.forEach((val, prop) => previousStyles.set(prop, val));\n });\n }\n let _keyframes = normalizeKeyframes(keyframes).map(styles => copyStyles(styles));\n _keyframes = balancePreviousStylesIntoKeyframes(element, _keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, _keyframes);\n return new WebAnimationsPlayer(element, _keyframes, playerOptions, specialStyles);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, NoopAnimationDriver as ɵNoopAnimationDriver, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, containsElement as ɵcontainsElement, getParentElement as ɵgetParentElement, invokeQuery as ɵinvokeQuery, normalizeKeyframes as ɵnormalizeKeyframes, validateStyleProperty as ɵvalidateStyleProperty };\n","/**\n * @license Angular v14.1.1\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Injectable, ɵɵinject, Inject, inject, Optional, EventEmitter, ɵfindLocaleData, ɵLocaleDataIndex, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, LOCALE_ID, ɵregisterLocaleData, ɵisListLikeIterable, ɵstringify, Directive, Input, createNgModule, NgModuleRef, ɵRuntimeError, Host, Attribute, RendererStyleFlags2, ɵisPromise, ɵisSubscribable, Pipe, DEFAULT_CURRENCY_CODE, NgModule, Version, ɵɵdefineInjectable } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet _DOM = null;\nfunction getDOM() {\n return _DOM;\n}\nfunction setDOM(adapter) {\n _DOM = adapter;\n}\nfunction setRootDomAdapter(adapter) {\n if (!_DOM) {\n _DOM = adapter;\n }\n}\n/* tslint:disable:requireParameterType */\n/**\n * Provides DOM operations in an environment-agnostic way.\n *\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n */\nclass DomAdapter {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A DI Token representing the main rendering context. In a browser this is the DOM Document.\n *\n * Note: Document might not be available in the Application Context when Application and Rendering\n * Contexts are not the same (e.g. when running the application in a Web Worker).\n *\n * @publicApi\n */\nconst DOCUMENT = new InjectionToken('DocumentToken');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n *\n * `PlatformLocation` encapsulates all calls to DOM APIs, which allows the Router to be\n * platform-agnostic.\n * This means that we can have different implementation of `PlatformLocation` for the different\n * platforms that Angular supports. For example, `@angular/platform-browser` provides an\n * implementation specific to the browser environment, while `@angular/platform-server` provides\n * one suitable for use with server-side rendering.\n *\n * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}\n * when they need to interact with the DOM APIs like pushState, popState, etc.\n *\n * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly\n * by the {@link Router} in order to navigate between routes. Since all interactions between {@link\n * Router} /\n * {@link Location} / {@link LocationStrategy} and DOM APIs flow through the `PlatformLocation`\n * class, they are all platform-agnostic.\n *\n * @publicApi\n */\nclass PlatformLocation {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: useBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: PlatformLocation, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: useBrowserPlatformLocation\n }]\n }] });\nfunction useBrowserPlatformLocation() {\n return ɵɵinject(BrowserPlatformLocation);\n}\n/**\n * @description\n * Indicates when a location is initialized.\n *\n * @publicApi\n */\nconst LOCATION_INITIALIZED = new InjectionToken('Location Initialized');\n/**\n * `PlatformLocation` encapsulates all of the direct calls to platform APIs.\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n */\nclass BrowserPlatformLocation extends PlatformLocation {\n constructor(_doc) {\n super();\n this._doc = _doc;\n this._init();\n }\n // This is moved to its own method so that `MockPlatformLocationStrategy` can overwrite it\n /** @internal */\n _init() {\n this.location = window.location;\n this._history = window.history;\n }\n getBaseHrefFromDOM() {\n return getDOM().getBaseHref(this._doc);\n }\n onPopState(fn) {\n const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n window.addEventListener('popstate', fn, false);\n return () => window.removeEventListener('popstate', fn);\n }\n onHashChange(fn) {\n const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n window.addEventListener('hashchange', fn, false);\n return () => window.removeEventListener('hashchange', fn);\n }\n get href() {\n return this.location.href;\n }\n get protocol() {\n return this.location.protocol;\n }\n get hostname() {\n return this.location.hostname;\n }\n get port() {\n return this.location.port;\n }\n get pathname() {\n return this.location.pathname;\n }\n get search() {\n return this.location.search;\n }\n get hash() {\n return this.location.hash;\n }\n set pathname(newPath) {\n this.location.pathname = newPath;\n }\n pushState(state, title, url) {\n if (supportsState()) {\n this._history.pushState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n replaceState(state, title, url) {\n if (supportsState()) {\n this._history.replaceState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n forward() {\n this._history.forward();\n }\n back() {\n this._history.back();\n }\n historyGo(relativePosition = 0) {\n this._history.go(relativePosition);\n }\n getState() {\n return this._history.state;\n }\n}\nBrowserPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: BrowserPlatformLocation, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBrowserPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: createBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: BrowserPlatformLocation, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: createBrowserPlatformLocation,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\nfunction supportsState() {\n return !!window.history.pushState;\n}\nfunction createBrowserPlatformLocation() {\n return new BrowserPlatformLocation(ɵɵinject(DOCUMENT));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nfunction joinWithSlash(start, end) {\n if (start.length == 0) {\n return end;\n }\n if (end.length == 0) {\n return start;\n }\n let slashes = 0;\n if (start.endsWith('/')) {\n slashes++;\n }\n if (end.startsWith('/')) {\n slashes++;\n }\n if (slashes == 2) {\n return start + end.substring(1);\n }\n if (slashes == 1) {\n return start + end;\n }\n return start + '/' + end;\n}\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nfunction stripTrailingSlash(url) {\n const match = url.match(/#|\\?|$/);\n const pathEndIdx = match && match.index || url.length;\n const droppedSlashIdx = pathEndIdx - (url[pathEndIdx - 1] === '/' ? 1 : 0);\n return url.slice(0, droppedSlashIdx) + url.slice(pathEndIdx);\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nfunction normalizeQueryParams(params) {\n return params && params[0] !== '?' ? '?' + params : params;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Enables the `Location` service to read route state from the browser's URL.\n * Angular provides two strategies:\n * `HashLocationStrategy` and `PathLocationStrategy`.\n *\n * Applications should use the `Router` or `Location` services to\n * interact with application route state.\n *\n * For instance, `HashLocationStrategy` produces URLs like\n * http://example.com#/foo,\n * and `PathLocationStrategy` produces\n * http://example.com/foo as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @publicApi\n */\nclass LocationStrategy {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: () => inject(PathLocationStrategy) });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: LocationStrategy, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: () => inject(PathLocationStrategy) }]\n }] });\n/**\n * A predefined [DI token](guide/glossary#di-token) for the base href\n * to be used with the `PathLocationStrategy`.\n * The base href is the URL prefix that should be preserved when generating\n * and recognizing URLs.\n *\n * @usageNotes\n *\n * The following example shows how to use this token to configure the root app injector\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\n *\n * ```typescript\n * import {Component, NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @publicApi\n */\nconst APP_BASE_HREF = new InjectionToken('appBaseHref');\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you may provide a {@link APP_BASE_HREF}\n * or add a `` element to the document to override the default.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app/'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`. To ensure all relative URIs resolve correctly,\n * the `` and/or `APP_BASE_HREF` should end with a `/`.\n *\n * Similarly, if you add `` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Note that when using `PathLocationStrategy`, neither the query nor\n * the fragment in the `` will be preserved, as outlined\n * by the [RFC](https://tools.ietf.org/html/rfc3986#section-5.2.2).\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass PathLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, href) {\n super();\n this._platformLocation = _platformLocation;\n this._removeListenerFns = [];\n this._baseHref = href ?? this._platformLocation.getBaseHrefFromDOM() ??\n inject(DOCUMENT).location?.origin ?? '';\n }\n /** @nodoc */\n ngOnDestroy() {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()();\n }\n }\n onPopState(fn) {\n this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n }\n getBaseHref() {\n return this._baseHref;\n }\n prepareExternalUrl(internal) {\n return joinWithSlash(this._baseHref, internal);\n }\n path(includeHash = false) {\n const pathname = this._platformLocation.pathname + normalizeQueryParams(this._platformLocation.search);\n const hash = this._platformLocation.hash;\n return hash && includeHash ? `${pathname}${hash}` : pathname;\n }\n pushState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.pushState(state, title, externalUrl);\n }\n replaceState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.replaceState(state, title, externalUrl);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n getState() {\n return this._platformLocation.getState();\n }\n historyGo(relativePosition = 0) {\n this._platformLocation.historyGo?.(relativePosition);\n }\n}\nPathLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nPathLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: PathLocationStrategy, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: PathLocationStrategy, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: PlatformLocation }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)\n * of the browser's URL.\n *\n * For instance, if you call `location.go('/foo')`, the browser's URL will become\n * `example.com#/foo`.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/hash_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass HashLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, _baseHref) {\n super();\n this._platformLocation = _platformLocation;\n this._baseHref = '';\n this._removeListenerFns = [];\n if (_baseHref != null) {\n this._baseHref = _baseHref;\n }\n }\n /** @nodoc */\n ngOnDestroy() {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()();\n }\n }\n onPopState(fn) {\n this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n }\n getBaseHref() {\n return this._baseHref;\n }\n path(includeHash = false) {\n // the hash value is always prefixed with a `#`\n // and if it is empty then it will stay empty\n let path = this._platformLocation.hash;\n if (path == null)\n path = '#';\n return path.length > 0 ? path.substring(1) : path;\n }\n prepareExternalUrl(internal) {\n const url = joinWithSlash(this._baseHref, internal);\n return url.length > 0 ? ('#' + url) : url;\n }\n pushState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.pushState(state, title, url);\n }\n replaceState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.replaceState(state, title, url);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n getState() {\n return this._platformLocation.getState();\n }\n historyGo(relativePosition = 0) {\n this._platformLocation.historyGo?.(relativePosition);\n }\n}\nHashLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nHashLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: HashLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: HashLocationStrategy, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: PlatformLocation }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n *\n * A service that applications can use to interact with a browser's URL.\n *\n * Depending on the `LocationStrategy` used, `Location` persists\n * to the URL's path or the URL's hash segment.\n *\n * @usageNotes\n *\n * It's better to use the `Router.navigate()` service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n *\n * \n *\n * @publicApi\n */\nclass Location {\n constructor(locationStrategy) {\n /** @internal */\n this._subject = new EventEmitter();\n /** @internal */\n this._urlChangeListeners = [];\n /** @internal */\n this._urlChangeSubscription = null;\n this._locationStrategy = locationStrategy;\n const browserBaseHref = this._locationStrategy.getBaseHref();\n this._baseHref = stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n this._locationStrategy.onPopState((ev) => {\n this._subject.emit({\n 'url': this.path(true),\n 'pop': true,\n 'state': ev.state,\n 'type': ev.type,\n });\n });\n }\n /** @nodoc */\n ngOnDestroy() {\n this._urlChangeSubscription?.unsubscribe();\n this._urlChangeListeners = [];\n }\n /**\n * Normalizes the URL path for this location.\n *\n * @param includeHash True to include an anchor fragment in the path.\n *\n * @returns The normalized URL path.\n */\n // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n // removed.\n path(includeHash = false) {\n return this.normalize(this._locationStrategy.path(includeHash));\n }\n /**\n * Reports the current state of the location history.\n * @returns The current value of the `history.state` object.\n */\n getState() {\n return this._locationStrategy.getState();\n }\n /**\n * Normalizes the given path and compares to the current normalized path.\n *\n * @param path The given URL path.\n * @param query Query parameters.\n *\n * @returns True if the given URL path is equal to the current normalized path, false\n * otherwise.\n */\n isCurrentPathEqualTo(path, query = '') {\n return this.path() == this.normalize(path + normalizeQueryParams(query));\n }\n /**\n * Normalizes a URL path by stripping any trailing slashes.\n *\n * @param url String representing a URL.\n *\n * @returns The normalized URL string.\n */\n normalize(url) {\n return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));\n }\n /**\n * Normalizes an external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), adds one\n * before normalizing. Adds a hash if `HashLocationStrategy` is\n * in use, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n *\n * @param url String representing a URL.\n *\n * @returns A normalized platform-specific URL.\n */\n prepareExternalUrl(url) {\n if (url && url[0] !== '/') {\n url = '/' + url;\n }\n return this._locationStrategy.prepareExternalUrl(url);\n }\n // TODO: rename this method to pushState\n /**\n * Changes the browser's URL to a normalized version of a given URL, and pushes a\n * new item onto the platform's history.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n *\n */\n go(path, query = '', state = null) {\n this._locationStrategy.pushState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Changes the browser's URL to a normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n */\n replaceState(path, query = '', state = null) {\n this._locationStrategy.replaceState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Navigates forward in the platform's history.\n */\n forward() {\n this._locationStrategy.forward();\n }\n /**\n * Navigates back in the platform's history.\n */\n back() {\n this._locationStrategy.back();\n }\n /**\n * Navigate to a specific page from session history, identified by its relative position to the\n * current page.\n *\n * @param relativePosition Position of the target page in the history relative to the current\n * page.\n * A negative value moves backwards, a positive value moves forwards, e.g. `location.historyGo(2)`\n * moves forward two pages and `location.historyGo(-2)` moves back two pages. When we try to go\n * beyond what's stored in the history session, we stay in the current page. Same behaviour occurs\n * when `relativePosition` equals 0.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/History_API#Moving_to_a_specific_point_in_history\n */\n historyGo(relativePosition = 0) {\n this._locationStrategy.historyGo?.(relativePosition);\n }\n /**\n * Registers a URL change listener. Use to catch updates performed by the Angular\n * framework that are not detectible through \"popstate\" or \"hashchange\" events.\n *\n * @param fn The change handler function, which take a URL and a location history state.\n * @returns A function that, when executed, unregisters a URL change listener.\n */\n onUrlChange(fn) {\n this._urlChangeListeners.push(fn);\n if (!this._urlChangeSubscription) {\n this._urlChangeSubscription = this.subscribe(v => {\n this._notifyUrlChangeListeners(v.url, v.state);\n });\n }\n return () => {\n const fnIndex = this._urlChangeListeners.indexOf(fn);\n this._urlChangeListeners.splice(fnIndex, 1);\n if (this._urlChangeListeners.length === 0) {\n this._urlChangeSubscription?.unsubscribe();\n this._urlChangeSubscription = null;\n }\n };\n }\n /** @internal */\n _notifyUrlChangeListeners(url = '', state) {\n this._urlChangeListeners.forEach(fn => fn(url, state));\n }\n /**\n * Subscribes to the platform's `popState` events.\n *\n * Note: `Location.go()` does not trigger the `popState` event in the browser. Use\n * `Location.onUrlChange()` to subscribe to URL changes instead.\n *\n * @param value Event that is triggered when the state history changes.\n * @param exception The exception to throw.\n *\n * @see [onpopstate](https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate)\n *\n * @returns Subscribed events.\n */\n subscribe(onNext, onThrow, onReturn) {\n return this._subject.subscribe({ next: onNext, error: onThrow, complete: onReturn });\n }\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nLocation.normalizeQueryParams = normalizeQueryParams;\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nLocation.joinWithSlash = joinWithSlash;\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nLocation.stripTrailingSlash = stripTrailingSlash;\nLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable });\nLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: Location, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n // See #23917\n useFactory: createLocation,\n }]\n }], ctorParameters: function () { return [{ type: LocationStrategy }]; } });\nfunction createLocation() {\n return new Location(ɵɵinject(LocationStrategy));\n}\nfunction _stripBaseHref(baseHref, url) {\n return baseHref && url.startsWith(baseHref) ? url.substring(baseHref.length) : url;\n}\nfunction _stripIndexHtml(url) {\n return url.replace(/\\/index.html$/, '');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** @internal */\nconst CURRENCIES_EN = { \"ADP\": [undefined, undefined, 0], \"AFN\": [undefined, \"؋\", 0], \"ALL\": [undefined, undefined, 0], \"AMD\": [undefined, \"֏\", 2], \"AOA\": [undefined, \"Kz\"], \"ARS\": [undefined, \"$\"], \"AUD\": [\"A$\", \"$\"], \"AZN\": [undefined, \"₼\"], \"BAM\": [undefined, \"KM\"], \"BBD\": [undefined, \"$\"], \"BDT\": [undefined, \"৳\"], \"BHD\": [undefined, undefined, 3], \"BIF\": [undefined, undefined, 0], \"BMD\": [undefined, \"$\"], \"BND\": [undefined, \"$\"], \"BOB\": [undefined, \"Bs\"], \"BRL\": [\"R$\"], \"BSD\": [undefined, \"$\"], \"BWP\": [undefined, \"P\"], \"BYN\": [undefined, undefined, 2], \"BYR\": [undefined, undefined, 0], \"BZD\": [undefined, \"$\"], \"CAD\": [\"CA$\", \"$\", 2], \"CHF\": [undefined, undefined, 2], \"CLF\": [undefined, undefined, 4], \"CLP\": [undefined, \"$\", 0], \"CNY\": [\"CN¥\", \"¥\"], \"COP\": [undefined, \"$\", 2], \"CRC\": [undefined, \"₡\", 2], \"CUC\": [undefined, \"$\"], \"CUP\": [undefined, \"$\"], \"CZK\": [undefined, \"Kč\", 2], \"DJF\": [undefined, undefined, 0], \"DKK\": [undefined, \"kr\", 2], \"DOP\": [undefined, \"$\"], \"EGP\": [undefined, \"E£\"], \"ESP\": [undefined, \"₧\", 0], \"EUR\": [\"€\"], \"FJD\": [undefined, \"$\"], \"FKP\": [undefined, \"£\"], \"GBP\": [\"£\"], \"GEL\": [undefined, \"₾\"], \"GHS\": [undefined, \"GH₵\"], \"GIP\": [undefined, \"£\"], \"GNF\": [undefined, \"FG\", 0], \"GTQ\": [undefined, \"Q\"], \"GYD\": [undefined, \"$\", 2], \"HKD\": [\"HK$\", \"$\"], \"HNL\": [undefined, \"L\"], \"HRK\": [undefined, \"kn\"], \"HUF\": [undefined, \"Ft\", 2], \"IDR\": [undefined, \"Rp\", 2], \"ILS\": [\"₪\"], \"INR\": [\"₹\"], \"IQD\": [undefined, undefined, 0], \"IRR\": [undefined, undefined, 0], \"ISK\": [undefined, \"kr\", 0], \"ITL\": [undefined, undefined, 0], \"JMD\": [undefined, \"$\"], \"JOD\": [undefined, undefined, 3], \"JPY\": [\"¥\", undefined, 0], \"KHR\": [undefined, \"៛\"], \"KMF\": [undefined, \"CF\", 0], \"KPW\": [undefined, \"₩\", 0], \"KRW\": [\"₩\", undefined, 0], \"KWD\": [undefined, undefined, 3], \"KYD\": [undefined, \"$\"], \"KZT\": [undefined, \"₸\"], \"LAK\": [undefined, \"₭\", 0], \"LBP\": [undefined, \"L£\", 0], \"LKR\": [undefined, \"Rs\"], \"LRD\": [undefined, \"$\"], \"LTL\": [undefined, \"Lt\"], \"LUF\": [undefined, undefined, 0], \"LVL\": [undefined, \"Ls\"], \"LYD\": [undefined, undefined, 3], \"MGA\": [undefined, \"Ar\", 0], \"MGF\": [undefined, undefined, 0], \"MMK\": [undefined, \"K\", 0], \"MNT\": [undefined, \"₮\", 2], \"MRO\": [undefined, undefined, 0], \"MUR\": [undefined, \"Rs\", 2], \"MXN\": [\"MX$\", \"$\"], \"MYR\": [undefined, \"RM\"], \"NAD\": [undefined, \"$\"], \"NGN\": [undefined, \"₦\"], \"NIO\": [undefined, \"C$\"], \"NOK\": [undefined, \"kr\", 2], \"NPR\": [undefined, \"Rs\"], \"NZD\": [\"NZ$\", \"$\"], \"OMR\": [undefined, undefined, 3], \"PHP\": [\"₱\"], \"PKR\": [undefined, \"Rs\", 2], \"PLN\": [undefined, \"zł\"], \"PYG\": [undefined, \"₲\", 0], \"RON\": [undefined, \"lei\"], \"RSD\": [undefined, undefined, 0], \"RUB\": [undefined, \"₽\"], \"RWF\": [undefined, \"RF\", 0], \"SBD\": [undefined, \"$\"], \"SEK\": [undefined, \"kr\", 2], \"SGD\": [undefined, \"$\"], \"SHP\": [undefined, \"£\"], \"SLE\": [undefined, undefined, 2], \"SLL\": [undefined, undefined, 0], \"SOS\": [undefined, undefined, 0], \"SRD\": [undefined, \"$\"], \"SSP\": [undefined, \"£\"], \"STD\": [undefined, undefined, 0], \"STN\": [undefined, \"Db\"], \"SYP\": [undefined, \"£\", 0], \"THB\": [undefined, \"฿\"], \"TMM\": [undefined, undefined, 0], \"TND\": [undefined, undefined, 3], \"TOP\": [undefined, \"T$\"], \"TRL\": [undefined, undefined, 0], \"TRY\": [undefined, \"₺\"], \"TTD\": [undefined, \"$\"], \"TWD\": [\"NT$\", \"$\", 2], \"TZS\": [undefined, undefined, 2], \"UAH\": [undefined, \"₴\"], \"UGX\": [undefined, undefined, 0], \"USD\": [\"$\"], \"UYI\": [undefined, undefined, 0], \"UYU\": [undefined, \"$\"], \"UYW\": [undefined, undefined, 4], \"UZS\": [undefined, undefined, 2], \"VEF\": [undefined, \"Bs\", 2], \"VND\": [\"₫\", undefined, 0], \"VUV\": [undefined, undefined, 0], \"XAF\": [\"FCFA\", undefined, 0], \"XCD\": [\"EC$\", \"$\"], \"XOF\": [\"F CFA\", undefined, 0], \"XPF\": [\"CFPF\", undefined, 0], \"XXX\": [\"¤\"], \"YER\": [undefined, undefined, 0], \"ZAR\": [undefined, \"R\"], \"ZMK\": [undefined, undefined, 0], \"ZMW\": [undefined, \"ZK\"], \"ZWD\": [undefined, undefined, 0] };\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Format styles that can be used to represent numbers.\n * @see `getLocaleNumberFormat()`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar NumberFormatStyle;\n(function (NumberFormatStyle) {\n NumberFormatStyle[NumberFormatStyle[\"Decimal\"] = 0] = \"Decimal\";\n NumberFormatStyle[NumberFormatStyle[\"Percent\"] = 1] = \"Percent\";\n NumberFormatStyle[NumberFormatStyle[\"Currency\"] = 2] = \"Currency\";\n NumberFormatStyle[NumberFormatStyle[\"Scientific\"] = 3] = \"Scientific\";\n})(NumberFormatStyle || (NumberFormatStyle = {}));\n/**\n * Plurality cases used for translating plurals to different languages.\n *\n * @see `NgPlural`\n * @see `NgPluralCase`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar Plural;\n(function (Plural) {\n Plural[Plural[\"Zero\"] = 0] = \"Zero\";\n Plural[Plural[\"One\"] = 1] = \"One\";\n Plural[Plural[\"Two\"] = 2] = \"Two\";\n Plural[Plural[\"Few\"] = 3] = \"Few\";\n Plural[Plural[\"Many\"] = 4] = \"Many\";\n Plural[Plural[\"Other\"] = 5] = \"Other\";\n})(Plural || (Plural = {}));\n/**\n * Context-dependant translation forms for strings.\n * Typically the standalone version is for the nominative form of the word,\n * and the format version is used for the genitive case.\n * @see [CLDR website](http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar FormStyle;\n(function (FormStyle) {\n FormStyle[FormStyle[\"Format\"] = 0] = \"Format\";\n FormStyle[FormStyle[\"Standalone\"] = 1] = \"Standalone\";\n})(FormStyle || (FormStyle = {}));\n/**\n * String widths available for translations.\n * The specific character widths are locale-specific.\n * Examples are given for the word \"Sunday\" in English.\n *\n * @publicApi\n */\nvar TranslationWidth;\n(function (TranslationWidth) {\n /** 1 character for `en-US`. For example: 'S' */\n TranslationWidth[TranslationWidth[\"Narrow\"] = 0] = \"Narrow\";\n /** 3 characters for `en-US`. For example: 'Sun' */\n TranslationWidth[TranslationWidth[\"Abbreviated\"] = 1] = \"Abbreviated\";\n /** Full length for `en-US`. For example: \"Sunday\" */\n TranslationWidth[TranslationWidth[\"Wide\"] = 2] = \"Wide\";\n /** 2 characters for `en-US`, For example: \"Su\" */\n TranslationWidth[TranslationWidth[\"Short\"] = 3] = \"Short\";\n})(TranslationWidth || (TranslationWidth = {}));\n/**\n * String widths available for date-time formats.\n * The specific character widths are locale-specific.\n * Examples are given for `en-US`.\n *\n * @see `getLocaleDateFormat()`\n * @see `getLocaleTimeFormat()`\n * @see `getLocaleDateTimeFormat()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n * @publicApi\n */\nvar FormatWidth;\n(function (FormatWidth) {\n /**\n * For `en-US`, 'M/d/yy, h:mm a'`\n * (Example: `6/15/15, 9:03 AM`)\n */\n FormatWidth[FormatWidth[\"Short\"] = 0] = \"Short\";\n /**\n * For `en-US`, `'MMM d, y, h:mm:ss a'`\n * (Example: `Jun 15, 2015, 9:03:01 AM`)\n */\n FormatWidth[FormatWidth[\"Medium\"] = 1] = \"Medium\";\n /**\n * For `en-US`, `'MMMM d, y, h:mm:ss a z'`\n * (Example: `June 15, 2015 at 9:03:01 AM GMT+1`)\n */\n FormatWidth[FormatWidth[\"Long\"] = 2] = \"Long\";\n /**\n * For `en-US`, `'EEEE, MMMM d, y, h:mm:ss a zzzz'`\n * (Example: `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00`)\n */\n FormatWidth[FormatWidth[\"Full\"] = 3] = \"Full\";\n})(FormatWidth || (FormatWidth = {}));\n/**\n * Symbols that can be used to replace placeholders in number patterns.\n * Examples are based on `en-US` values.\n *\n * @see `getLocaleNumberSymbol()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar NumberSymbol;\n(function (NumberSymbol) {\n /**\n * Decimal separator.\n * For `en-US`, the dot character.\n * Example: 2,345`.`67\n */\n NumberSymbol[NumberSymbol[\"Decimal\"] = 0] = \"Decimal\";\n /**\n * Grouping separator, typically for thousands.\n * For `en-US`, the comma character.\n * Example: 2`,`345.67\n */\n NumberSymbol[NumberSymbol[\"Group\"] = 1] = \"Group\";\n /**\n * List-item separator.\n * Example: \"one, two, and three\"\n */\n NumberSymbol[NumberSymbol[\"List\"] = 2] = \"List\";\n /**\n * Sign for percentage (out of 100).\n * Example: 23.4%\n */\n NumberSymbol[NumberSymbol[\"PercentSign\"] = 3] = \"PercentSign\";\n /**\n * Sign for positive numbers.\n * Example: +23\n */\n NumberSymbol[NumberSymbol[\"PlusSign\"] = 4] = \"PlusSign\";\n /**\n * Sign for negative numbers.\n * Example: -23\n */\n NumberSymbol[NumberSymbol[\"MinusSign\"] = 5] = \"MinusSign\";\n /**\n * Computer notation for exponential value (n times a power of 10).\n * Example: 1.2E3\n */\n NumberSymbol[NumberSymbol[\"Exponential\"] = 6] = \"Exponential\";\n /**\n * Human-readable format of exponential.\n * Example: 1.2x103\n */\n NumberSymbol[NumberSymbol[\"SuperscriptingExponent\"] = 7] = \"SuperscriptingExponent\";\n /**\n * Sign for permille (out of 1000).\n * Example: 23.4‰\n */\n NumberSymbol[NumberSymbol[\"PerMille\"] = 8] = \"PerMille\";\n /**\n * Infinity, can be used with plus and minus.\n * Example: ∞, +∞, -∞\n */\n NumberSymbol[NumberSymbol[\"Infinity\"] = 9] = \"Infinity\";\n /**\n * Not a number.\n * Example: NaN\n */\n NumberSymbol[NumberSymbol[\"NaN\"] = 10] = \"NaN\";\n /**\n * Symbol used between time units.\n * Example: 10:52\n */\n NumberSymbol[NumberSymbol[\"TimeSeparator\"] = 11] = \"TimeSeparator\";\n /**\n * Decimal separator for currency values (fallback to `Decimal`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyDecimal\"] = 12] = \"CurrencyDecimal\";\n /**\n * Group separator for currency values (fallback to `Group`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyGroup\"] = 13] = \"CurrencyGroup\";\n})(NumberSymbol || (NumberSymbol = {}));\n/**\n * The value for each day of the week, based on the `en-US` locale\n *\n * @publicApi\n */\nvar WeekDay;\n(function (WeekDay) {\n WeekDay[WeekDay[\"Sunday\"] = 0] = \"Sunday\";\n WeekDay[WeekDay[\"Monday\"] = 1] = \"Monday\";\n WeekDay[WeekDay[\"Tuesday\"] = 2] = \"Tuesday\";\n WeekDay[WeekDay[\"Wednesday\"] = 3] = \"Wednesday\";\n WeekDay[WeekDay[\"Thursday\"] = 4] = \"Thursday\";\n WeekDay[WeekDay[\"Friday\"] = 5] = \"Friday\";\n WeekDay[WeekDay[\"Saturday\"] = 6] = \"Saturday\";\n})(WeekDay || (WeekDay = {}));\n/**\n * Retrieves the locale ID from the currently loaded locale.\n * The loaded locale could be, for example, a global one rather than a regional one.\n * @param locale A locale code, such as `fr-FR`.\n * @returns The locale code. For example, `fr`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleId(locale) {\n return ɵfindLocaleData(locale)[ɵLocaleDataIndex.LocaleId];\n}\n/**\n * Retrieves day period strings for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized period strings. For example, `[AM, PM]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const amPmData = [\n data[ɵLocaleDataIndex.DayPeriodsFormat], data[ɵLocaleDataIndex.DayPeriodsStandalone]\n ];\n const amPm = getLastDefinedValue(amPmData, formStyle);\n return getLastDefinedValue(amPm, width);\n}\n/**\n * Retrieves days of the week for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example,`[Sunday, Monday, ... Saturday]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDayNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const daysData = [data[ɵLocaleDataIndex.DaysFormat], data[ɵLocaleDataIndex.DaysStandalone]];\n const days = getLastDefinedValue(daysData, formStyle);\n return getLastDefinedValue(days, width);\n}\n/**\n * Retrieves months of the year for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example, `[January, February, ...]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleMonthNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const monthsData = [data[ɵLocaleDataIndex.MonthsFormat], data[ɵLocaleDataIndex.MonthsStandalone]];\n const months = getLastDefinedValue(monthsData, formStyle);\n return getLastDefinedValue(months, width);\n}\n/**\n * Retrieves Gregorian-calendar eras for the given locale.\n * @param locale A locale code for the locale format rules to use.\n * @param width The required character width.\n\n * @returns An array of localized era strings.\n * For example, `[AD, BC]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleEraNames(locale, width) {\n const data = ɵfindLocaleData(locale);\n const erasData = data[ɵLocaleDataIndex.Eras];\n return getLastDefinedValue(erasData, width);\n}\n/**\n * Retrieves the first day of the week for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns A day index number, using the 0-based week-day index for `en-US`\n * (Sunday = 0, Monday = 1, ...).\n * For example, for `fr-FR`, returns 1 to indicate that the first day is Monday.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleFirstDayOfWeek(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.FirstDayOfWeek];\n}\n/**\n * Range of week days that are considered the week-end for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The range of day values, `[startDay, endDay]`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleWeekEndRange(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.WeekendRange];\n}\n/**\n * Retrieves a localized date-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDateFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.DateFormat], width);\n}\n/**\n * Retrieves a localized time-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n\n * @publicApi\n */\nfunction getLocaleTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.TimeFormat], width);\n}\n/**\n * Retrieves a localized date-time formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDateTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n const dateTimeFormatData = data[ɵLocaleDataIndex.DateTimeFormat];\n return getLastDefinedValue(dateTimeFormatData, width);\n}\n/**\n * Retrieves a localized number symbol that can be used to replace placeholders in number formats.\n * @param locale The locale code.\n * @param symbol The symbol to localize.\n * @returns The character for the localized symbol.\n * @see `NumberSymbol`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleNumberSymbol(locale, symbol) {\n const data = ɵfindLocaleData(locale);\n const res = data[ɵLocaleDataIndex.NumberSymbols][symbol];\n if (typeof res === 'undefined') {\n if (symbol === NumberSymbol.CurrencyDecimal) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Decimal];\n }\n else if (symbol === NumberSymbol.CurrencyGroup) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Group];\n }\n }\n return res;\n}\n/**\n * Retrieves a number format for a given locale.\n *\n * Numbers are formatted using patterns, like `#,###.00`. For example, the pattern `#,###.00`\n * when used to format the number 12345.678 could result in \"12'345,678\". That would happen if the\n * grouping separator for your language is an apostrophe, and the decimal separator is a comma.\n *\n * Important: The characters `.` `,` `0` `#` (and others below) are special placeholders\n * that stand for the decimal separator, and so on, and are NOT real characters.\n * You must NOT \"translate\" the placeholders. For example, don't change `.` to `,` even though in\n * your language the decimal point is written with a comma. The symbols should be replaced by the\n * local equivalents, using the appropriate `NumberSymbol` for your language.\n *\n * Here are the special characters used in number patterns:\n *\n * | Symbol | Meaning |\n * |--------|---------|\n * | . | Replaced automatically by the character used for the decimal point. |\n * | , | Replaced by the \"grouping\" (thousands) separator. |\n * | 0 | Replaced by a digit (or zero if there aren't enough digits). |\n * | # | Replaced by a digit (or nothing if there aren't enough). |\n * | ¤ | Replaced by a currency symbol, such as $ or USD. |\n * | % | Marks a percent format. The % symbol may change position, but must be retained. |\n * | E | Marks a scientific format. The E symbol may change position, but must be retained. |\n * | ' | Special characters used as literal characters are quoted with ASCII single quotes. |\n *\n * @param locale A locale code for the locale format rules to use.\n * @param type The type of numeric value to be formatted (such as `Decimal` or `Currency`.)\n * @returns The localized format string.\n * @see `NumberFormatStyle`\n * @see [CLDR website](http://cldr.unicode.org/translation/number-patterns)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleNumberFormat(locale, type) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.NumberFormats][type];\n}\n/**\n * Retrieves the symbol used to represent the currency for the main country\n * corresponding to a given locale. For example, '$' for `en-US`.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The localized symbol character,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleCurrencySymbol(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencySymbol] || null;\n}\n/**\n * Retrieves the name of the currency for the main country corresponding\n * to a given locale. For example, 'US Dollar' for `en-US`.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency name,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleCurrencyName(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencyName] || null;\n}\n/**\n * Retrieves the default currency code for the given locale.\n *\n * The default is defined as the first currency which is still in use.\n *\n * @param locale The code of the locale whose currency code we want.\n * @returns The code of the default currency for the given locale.\n *\n * @publicApi\n */\nfunction getLocaleCurrencyCode(locale) {\n return ɵgetLocaleCurrencyCode(locale);\n}\n/**\n * Retrieves the currency values for a given locale.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency values.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n */\nfunction getLocaleCurrencies(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Currencies];\n}\n/**\n * @alias core/ɵgetLocalePluralCase\n * @publicApi\n */\nconst getLocalePluralCase = ɵgetLocalePluralCase;\nfunction checkFullData(data) {\n if (!data[ɵLocaleDataIndex.ExtraData]) {\n throw new Error(`Missing extra locale data for the locale \"${data[ɵLocaleDataIndex\n .LocaleId]}\". Use \"registerLocaleData\" to load new data. See the \"I18n guide\" on angular.io to know more.`);\n }\n}\n/**\n * Retrieves locale-specific rules used to determine which day period to use\n * when more than one period is defined for a locale.\n *\n * There is a rule for each defined day period. The\n * first rule is applied to the first day period and so on.\n * Fall back to AM/PM when no rules are available.\n *\n * A rule can specify a period as time range, or as a single time value.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The rules for the locale, a single time value or array of *from-time, to-time*,\n * or null if no periods are available.\n *\n * @see `getLocaleExtraDayPeriods()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriodRules(locale) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const rules = data[ɵLocaleDataIndex.ExtraData][2 /* ɵExtraLocaleDataIndex.ExtraDayPeriodsRules */] || [];\n return rules.map((rule) => {\n if (typeof rule === 'string') {\n return extractTime(rule);\n }\n return [extractTime(rule[0]), extractTime(rule[1])];\n });\n}\n/**\n * Retrieves locale-specific day periods, which indicate roughly how a day is broken up\n * in different languages.\n * For example, for `en-US`, periods are morning, noon, afternoon, evening, and midnight.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns The translated day-period strings.\n * @see `getLocaleExtraDayPeriodRules()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const dayPeriodsData = [\n data[ɵLocaleDataIndex.ExtraData][0 /* ɵExtraLocaleDataIndex.ExtraDayPeriodFormats */],\n data[ɵLocaleDataIndex.ExtraData][1 /* ɵExtraLocaleDataIndex.ExtraDayPeriodStandalone */]\n ];\n const dayPeriods = getLastDefinedValue(dayPeriodsData, formStyle) || [];\n return getLastDefinedValue(dayPeriods, width) || [];\n}\n/**\n * Retrieves the writing direction of a specified locale\n * @param locale A locale code for the locale format rules to use.\n * @publicApi\n * @returns 'rtl' or 'ltr'\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n */\nfunction getLocaleDirection(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Directionality];\n}\n/**\n * Retrieves the first value that is defined in an array, going backwards from an index position.\n *\n * To avoid repeating the same data (as when the \"format\" and \"standalone\" forms are the same)\n * add the first value to the locale data arrays, and add other values only if they are different.\n *\n * @param data The data array to retrieve from.\n * @param index A 0-based index into the array to start from.\n * @returns The value immediately before the given index position.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLastDefinedValue(data, index) {\n for (let i = index; i > -1; i--) {\n if (typeof data[i] !== 'undefined') {\n return data[i];\n }\n }\n throw new Error('Locale data API: locale data undefined');\n}\n/**\n * Extracts the hours and minutes from a string like \"15:45\"\n */\nfunction extractTime(time) {\n const [h, m] = time.split(':');\n return { hours: +h, minutes: +m };\n}\n/**\n * Retrieves the currency symbol for a given currency code.\n *\n * For example, for the default `en-US` locale, the code `USD` can\n * be represented by the narrow symbol `$` or the wide symbol `US$`.\n *\n * @param code The currency code.\n * @param format The format, `wide` or `narrow`.\n * @param locale A locale code for the locale format rules to use.\n *\n * @returns The symbol, or the currency code if no symbol is available.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getCurrencySymbol(code, format, locale = 'en') {\n const currency = getLocaleCurrencies(locale)[code] || CURRENCIES_EN[code] || [];\n const symbolNarrow = currency[1 /* ɵCurrencyIndex.SymbolNarrow */];\n if (format === 'narrow' && typeof symbolNarrow === 'string') {\n return symbolNarrow;\n }\n return currency[0 /* ɵCurrencyIndex.Symbol */] || code;\n}\n// Most currencies have cents, that's why the default is 2\nconst DEFAULT_NB_OF_CURRENCY_DIGITS = 2;\n/**\n * Reports the number of decimal digits for a given currency.\n * The value depends upon the presence of cents in that particular currency.\n *\n * @param code The currency code.\n * @returns The number of decimal digits, typically 0 or 2.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getNumberOfCurrencyDigits(code) {\n let digits;\n const currency = CURRENCIES_EN[code];\n if (currency) {\n digits = currency[2 /* ɵCurrencyIndex.NbOfDigits */];\n }\n return typeof digits === 'number' ? digits : DEFAULT_NB_OF_CURRENCY_DIGITS;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ISO8601_DATE_REGEX = /^(\\d{4,})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n// 1 2 3 4 5 6 7 8 9 10 11\nconst NAMED_FORMATS = {};\nconst DATE_FORMATS_SPLIT = /((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\\s\\S]*)/;\nvar ZoneWidth;\n(function (ZoneWidth) {\n ZoneWidth[ZoneWidth[\"Short\"] = 0] = \"Short\";\n ZoneWidth[ZoneWidth[\"ShortGMT\"] = 1] = \"ShortGMT\";\n ZoneWidth[ZoneWidth[\"Long\"] = 2] = \"Long\";\n ZoneWidth[ZoneWidth[\"Extended\"] = 3] = \"Extended\";\n})(ZoneWidth || (ZoneWidth = {}));\nvar DateType;\n(function (DateType) {\n DateType[DateType[\"FullYear\"] = 0] = \"FullYear\";\n DateType[DateType[\"Month\"] = 1] = \"Month\";\n DateType[DateType[\"Date\"] = 2] = \"Date\";\n DateType[DateType[\"Hours\"] = 3] = \"Hours\";\n DateType[DateType[\"Minutes\"] = 4] = \"Minutes\";\n DateType[DateType[\"Seconds\"] = 5] = \"Seconds\";\n DateType[DateType[\"FractionalSeconds\"] = 6] = \"FractionalSeconds\";\n DateType[DateType[\"Day\"] = 7] = \"Day\";\n})(DateType || (DateType = {}));\nvar TranslationType;\n(function (TranslationType) {\n TranslationType[TranslationType[\"DayPeriods\"] = 0] = \"DayPeriods\";\n TranslationType[TranslationType[\"Days\"] = 1] = \"Days\";\n TranslationType[TranslationType[\"Months\"] = 2] = \"Months\";\n TranslationType[TranslationType[\"Eras\"] = 3] = \"Eras\";\n})(TranslationType || (TranslationType = {}));\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date according to locale rules.\n *\n * @param value The date to format, as a Date, or a number (milliseconds since UTC epoch)\n * or an [ISO date-time string](https://www.w3.org/TR/NOTE-datetime).\n * @param format The date-time components to include. See `DatePipe` for details.\n * @param locale A locale code for the locale format rules to use.\n * @param timezone The time zone. A time zone offset from GMT (such as `'+0430'`),\n * or a standard UTC/GMT or continental US time zone abbreviation.\n * If not specified, uses host system settings.\n *\n * @returns The formatted date string.\n *\n * @see `DatePipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatDate(value, format, locale, timezone) {\n let date = toDate(value);\n const namedFormat = getNamedFormat(locale, format);\n format = namedFormat || format;\n let parts = [];\n let match;\n while (format) {\n match = DATE_FORMATS_SPLIT.exec(format);\n if (match) {\n parts = parts.concat(match.slice(1));\n const part = parts.pop();\n if (!part) {\n break;\n }\n format = part;\n }\n else {\n parts.push(format);\n break;\n }\n }\n let dateTimezoneOffset = date.getTimezoneOffset();\n if (timezone) {\n dateTimezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n date = convertTimezoneToLocal(date, timezone, true);\n }\n let text = '';\n parts.forEach(value => {\n const dateFormatter = getDateFormatter(value);\n text += dateFormatter ? dateFormatter(date, locale, dateTimezoneOffset) :\n value === '\\'\\'' ? '\\'' :\n value.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n });\n return text;\n}\n/**\n * Create a new Date object with the given date value, and the time set to midnight.\n *\n * We cannot use `new Date(year, month, date)` because it maps years between 0 and 99 to 1900-1999.\n * See: https://github.com/angular/angular/issues/40377\n *\n * Note that this function returns a Date object whose time is midnight in the current locale's\n * timezone. In the future we might want to change this to be midnight in UTC, but this would be a\n * considerable breaking change.\n */\nfunction createDate(year, month, date) {\n // The `newDate` is set to midnight (UTC) on January 1st 1970.\n // - In PST this will be December 31st 1969 at 4pm.\n // - In GMT this will be January 1st 1970 at 1am.\n // Note that they even have different years, dates and months!\n const newDate = new Date(0);\n // `setFullYear()` allows years like 0001 to be set correctly. This function does not\n // change the internal time of the date.\n // Consider calling `setFullYear(2019, 8, 20)` (September 20, 2019).\n // - In PST this will now be September 20, 2019 at 4pm\n // - In GMT this will now be September 20, 2019 at 1am\n newDate.setFullYear(year, month, date);\n // We want the final date to be at local midnight, so we reset the time.\n // - In PST this will now be September 20, 2019 at 12am\n // - In GMT this will now be September 20, 2019 at 12am\n newDate.setHours(0, 0, 0);\n return newDate;\n}\nfunction getNamedFormat(locale, format) {\n const localeId = getLocaleId(locale);\n NAMED_FORMATS[localeId] = NAMED_FORMATS[localeId] || {};\n if (NAMED_FORMATS[localeId][format]) {\n return NAMED_FORMATS[localeId][format];\n }\n let formatValue = '';\n switch (format) {\n case 'shortDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Short);\n break;\n case 'mediumDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Medium);\n break;\n case 'longDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Long);\n break;\n case 'fullDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Full);\n break;\n case 'shortTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Short);\n break;\n case 'mediumTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Medium);\n break;\n case 'longTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Long);\n break;\n case 'fullTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Full);\n break;\n case 'short':\n const shortTime = getNamedFormat(locale, 'shortTime');\n const shortDate = getNamedFormat(locale, 'shortDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Short), [shortTime, shortDate]);\n break;\n case 'medium':\n const mediumTime = getNamedFormat(locale, 'mediumTime');\n const mediumDate = getNamedFormat(locale, 'mediumDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Medium), [mediumTime, mediumDate]);\n break;\n case 'long':\n const longTime = getNamedFormat(locale, 'longTime');\n const longDate = getNamedFormat(locale, 'longDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Long), [longTime, longDate]);\n break;\n case 'full':\n const fullTime = getNamedFormat(locale, 'fullTime');\n const fullDate = getNamedFormat(locale, 'fullDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Full), [fullTime, fullDate]);\n break;\n }\n if (formatValue) {\n NAMED_FORMATS[localeId][format] = formatValue;\n }\n return formatValue;\n}\nfunction formatDateTime(str, opt_values) {\n if (opt_values) {\n str = str.replace(/\\{([^}]+)}/g, function (match, key) {\n return (opt_values != null && key in opt_values) ? opt_values[key] : match;\n });\n }\n return str;\n}\nfunction padNumber(num, digits, minusSign = '-', trim, negWrap) {\n let neg = '';\n if (num < 0 || (negWrap && num <= 0)) {\n if (negWrap) {\n num = -num + 1;\n }\n else {\n num = -num;\n neg = minusSign;\n }\n }\n let strNum = String(num);\n while (strNum.length < digits) {\n strNum = '0' + strNum;\n }\n if (trim) {\n strNum = strNum.slice(strNum.length - digits);\n }\n return neg + strNum;\n}\nfunction formatFractionalSeconds(milliseconds, digits) {\n const strMs = padNumber(milliseconds, 3);\n return strMs.substring(0, digits);\n}\n/**\n * Returns a date formatter that transforms a date into its locale digit representation\n */\nfunction dateGetter(name, size, offset = 0, trim = false, negWrap = false) {\n return function (date, locale) {\n let part = getDatePart(name, date);\n if (offset > 0 || part > -offset) {\n part += offset;\n }\n if (name === DateType.Hours) {\n if (part === 0 && offset === -12) {\n part = 12;\n }\n }\n else if (name === DateType.FractionalSeconds) {\n return formatFractionalSeconds(part, size);\n }\n const localeMinus = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n return padNumber(part, size, localeMinus, trim, negWrap);\n };\n}\nfunction getDatePart(part, date) {\n switch (part) {\n case DateType.FullYear:\n return date.getFullYear();\n case DateType.Month:\n return date.getMonth();\n case DateType.Date:\n return date.getDate();\n case DateType.Hours:\n return date.getHours();\n case DateType.Minutes:\n return date.getMinutes();\n case DateType.Seconds:\n return date.getSeconds();\n case DateType.FractionalSeconds:\n return date.getMilliseconds();\n case DateType.Day:\n return date.getDay();\n default:\n throw new Error(`Unknown DateType value \"${part}\".`);\n }\n}\n/**\n * Returns a date formatter that transforms a date into its locale string representation\n */\nfunction dateStrGetter(name, width, form = FormStyle.Format, extended = false) {\n return function (date, locale) {\n return getDateTranslation(date, locale, name, width, form, extended);\n };\n}\n/**\n * Returns the locale translation of a date for a given form, type and width\n */\nfunction getDateTranslation(date, locale, name, width, form, extended) {\n switch (name) {\n case TranslationType.Months:\n return getLocaleMonthNames(locale, form, width)[date.getMonth()];\n case TranslationType.Days:\n return getLocaleDayNames(locale, form, width)[date.getDay()];\n case TranslationType.DayPeriods:\n const currentHours = date.getHours();\n const currentMinutes = date.getMinutes();\n if (extended) {\n const rules = getLocaleExtraDayPeriodRules(locale);\n const dayPeriods = getLocaleExtraDayPeriods(locale, form, width);\n const index = rules.findIndex(rule => {\n if (Array.isArray(rule)) {\n // morning, afternoon, evening, night\n const [from, to] = rule;\n const afterFrom = currentHours >= from.hours && currentMinutes >= from.minutes;\n const beforeTo = (currentHours < to.hours ||\n (currentHours === to.hours && currentMinutes < to.minutes));\n // We must account for normal rules that span a period during the day (e.g. 6am-9am)\n // where `from` is less (earlier) than `to`. But also rules that span midnight (e.g.\n // 10pm - 5am) where `from` is greater (later!) than `to`.\n //\n // In the first case the current time must be BOTH after `from` AND before `to`\n // (e.g. 8am is after 6am AND before 10am).\n //\n // In the second case the current time must be EITHER after `from` OR before `to`\n // (e.g. 4am is before 5am but not after 10pm; and 11pm is not before 5am but it is\n // after 10pm).\n if (from.hours < to.hours) {\n if (afterFrom && beforeTo) {\n return true;\n }\n }\n else if (afterFrom || beforeTo) {\n return true;\n }\n }\n else { // noon or midnight\n if (rule.hours === currentHours && rule.minutes === currentMinutes) {\n return true;\n }\n }\n return false;\n });\n if (index !== -1) {\n return dayPeriods[index];\n }\n }\n // if no rules for the day periods, we use am/pm by default\n return getLocaleDayPeriods(locale, form, width)[currentHours < 12 ? 0 : 1];\n case TranslationType.Eras:\n return getLocaleEraNames(locale, width)[date.getFullYear() <= 0 ? 0 : 1];\n default:\n // This default case is not needed by TypeScript compiler, as the switch is exhaustive.\n // However Closure Compiler does not understand that and reports an error in typed mode.\n // The `throw new Error` below works around the problem, and the unexpected: never variable\n // makes sure tsc still checks this code is unreachable.\n const unexpected = name;\n throw new Error(`unexpected translation type ${unexpected}`);\n }\n}\n/**\n * Returns a date formatter that transforms a date and an offset into a timezone with ISO8601 or\n * GMT format depending on the width (eg: short = +0430, short:GMT = GMT+4, long = GMT+04:30,\n * extended = +04:30)\n */\nfunction timeZoneGetter(width) {\n return function (date, locale, offset) {\n const zone = -1 * offset;\n const minusSign = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n const hours = zone > 0 ? Math.floor(zone / 60) : Math.ceil(zone / 60);\n switch (width) {\n case ZoneWidth.Short:\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.ShortGMT:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 1, minusSign);\n case ZoneWidth.Long:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.Extended:\n if (offset === 0) {\n return 'Z';\n }\n else {\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n }\n default:\n throw new Error(`Unknown zone width \"${width}\"`);\n }\n };\n}\nconst JANUARY = 0;\nconst THURSDAY = 4;\nfunction getFirstThursdayOfYear(year) {\n const firstDayOfYear = createDate(year, JANUARY, 1).getDay();\n return createDate(year, 0, 1 + ((firstDayOfYear <= THURSDAY) ? THURSDAY : THURSDAY + 7) - firstDayOfYear);\n}\nfunction getThursdayThisWeek(datetime) {\n return createDate(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() + (THURSDAY - datetime.getDay()));\n}\nfunction weekGetter(size, monthBased = false) {\n return function (date, locale) {\n let result;\n if (monthBased) {\n const nbDaysBefore1stDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1).getDay() - 1;\n const today = date.getDate();\n result = 1 + Math.floor((today + nbDaysBefore1stDayOfMonth) / 7);\n }\n else {\n const thisThurs = getThursdayThisWeek(date);\n // Some days of a year are part of next year according to ISO 8601.\n // Compute the firstThurs from the year of this week's Thursday\n const firstThurs = getFirstThursdayOfYear(thisThurs.getFullYear());\n const diff = thisThurs.getTime() - firstThurs.getTime();\n result = 1 + Math.round(diff / 6.048e8); // 6.048e8 ms per week\n }\n return padNumber(result, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n };\n}\n/**\n * Returns a date formatter that provides the week-numbering year for the input date.\n */\nfunction weekNumberingYearGetter(size, trim = false) {\n return function (date, locale) {\n const thisThurs = getThursdayThisWeek(date);\n const weekNumberingYear = thisThurs.getFullYear();\n return padNumber(weekNumberingYear, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign), trim);\n };\n}\nconst DATE_FORMATS = {};\n// Based on CLDR formats:\n// See complete list: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n// See also explanations: http://cldr.unicode.org/translation/date-time\n// TODO(ocombe): support all missing cldr formats: U, Q, D, F, e, j, J, C, A, v, V, X, x\nfunction getDateFormatter(format) {\n if (DATE_FORMATS[format]) {\n return DATE_FORMATS[format];\n }\n let formatter;\n switch (format) {\n // Era name (AD/BC)\n case 'G':\n case 'GG':\n case 'GGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Abbreviated);\n break;\n case 'GGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Wide);\n break;\n case 'GGGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Narrow);\n break;\n // 1 digit representation of the year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'y':\n formatter = dateGetter(DateType.FullYear, 1, 0, false, true);\n break;\n // 2 digit representation of the year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yy':\n formatter = dateGetter(DateType.FullYear, 2, 0, true, true);\n break;\n // 3 digit representation of the year, padded (000-999). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yyy':\n formatter = dateGetter(DateType.FullYear, 3, 0, false, true);\n break;\n // 4 digit representation of the year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'yyyy':\n formatter = dateGetter(DateType.FullYear, 4, 0, false, true);\n break;\n // 1 digit representation of the week-numbering year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'Y':\n formatter = weekNumberingYearGetter(1);\n break;\n // 2 digit representation of the week-numbering year, padded (00-99). (e.g. AD 2001 => 01, AD\n // 2010 => 10)\n case 'YY':\n formatter = weekNumberingYearGetter(2, true);\n break;\n // 3 digit representation of the week-numbering year, padded (000-999). (e.g. AD 1 => 001, AD\n // 2010 => 2010)\n case 'YYY':\n formatter = weekNumberingYearGetter(3);\n break;\n // 4 digit representation of the week-numbering year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'YYYY':\n formatter = weekNumberingYearGetter(4);\n break;\n // Month of the year (1-12), numeric\n case 'M':\n case 'L':\n formatter = dateGetter(DateType.Month, 1, 1);\n break;\n case 'MM':\n case 'LL':\n formatter = dateGetter(DateType.Month, 2, 1);\n break;\n // Month of the year (January, ...), string, format\n case 'MMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated);\n break;\n case 'MMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Wide);\n break;\n case 'MMMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Narrow);\n break;\n // Month of the year (January, ...), string, standalone\n case 'LLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'LLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'LLLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n // Week of the year (1, ... 52)\n case 'w':\n formatter = weekGetter(1);\n break;\n case 'ww':\n formatter = weekGetter(2);\n break;\n // Week of the month (1, ...)\n case 'W':\n formatter = weekGetter(1, true);\n break;\n // Day of the month (1-31)\n case 'd':\n formatter = dateGetter(DateType.Date, 1);\n break;\n case 'dd':\n formatter = dateGetter(DateType.Date, 2);\n break;\n // Day of the Week StandAlone (1, 1, Mon, Monday, M, Mo)\n case 'c':\n case 'cc':\n formatter = dateGetter(DateType.Day, 1);\n break;\n case 'ccc':\n formatter =\n dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'cccc':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'ccccc':\n formatter =\n dateStrGetter(TranslationType.Days, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n case 'cccccc':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short, FormStyle.Standalone);\n break;\n // Day of the Week\n case 'E':\n case 'EE':\n case 'EEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated);\n break;\n case 'EEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide);\n break;\n case 'EEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Narrow);\n break;\n case 'EEEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short);\n break;\n // Generic period of the day (am-pm)\n case 'a':\n case 'aa':\n case 'aaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated);\n break;\n case 'aaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide);\n break;\n case 'aaaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow);\n break;\n // Extended period of the day (midnight, at night, ...), standalone\n case 'b':\n case 'bb':\n case 'bbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Standalone, true);\n break;\n case 'bbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Standalone, true);\n break;\n case 'bbbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Standalone, true);\n break;\n // Extended period of the day (midnight, night, ...), standalone\n case 'B':\n case 'BB':\n case 'BBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Format, true);\n break;\n case 'BBBB':\n formatter =\n dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Format, true);\n break;\n case 'BBBBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Format, true);\n break;\n // Hour in AM/PM, (1-12)\n case 'h':\n formatter = dateGetter(DateType.Hours, 1, -12);\n break;\n case 'hh':\n formatter = dateGetter(DateType.Hours, 2, -12);\n break;\n // Hour of the day (0-23)\n case 'H':\n formatter = dateGetter(DateType.Hours, 1);\n break;\n // Hour in day, padded (00-23)\n case 'HH':\n formatter = dateGetter(DateType.Hours, 2);\n break;\n // Minute of the hour (0-59)\n case 'm':\n formatter = dateGetter(DateType.Minutes, 1);\n break;\n case 'mm':\n formatter = dateGetter(DateType.Minutes, 2);\n break;\n // Second of the minute (0-59)\n case 's':\n formatter = dateGetter(DateType.Seconds, 1);\n break;\n case 'ss':\n formatter = dateGetter(DateType.Seconds, 2);\n break;\n // Fractional second\n case 'S':\n formatter = dateGetter(DateType.FractionalSeconds, 1);\n break;\n case 'SS':\n formatter = dateGetter(DateType.FractionalSeconds, 2);\n break;\n case 'SSS':\n formatter = dateGetter(DateType.FractionalSeconds, 3);\n break;\n // Timezone ISO8601 short format (-0430)\n case 'Z':\n case 'ZZ':\n case 'ZZZ':\n formatter = timeZoneGetter(ZoneWidth.Short);\n break;\n // Timezone ISO8601 extended format (-04:30)\n case 'ZZZZZ':\n formatter = timeZoneGetter(ZoneWidth.Extended);\n break;\n // Timezone GMT short format (GMT+4)\n case 'O':\n case 'OO':\n case 'OOO':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'z':\n case 'zz':\n case 'zzz':\n formatter = timeZoneGetter(ZoneWidth.ShortGMT);\n break;\n // Timezone GMT long format (GMT+0430)\n case 'OOOO':\n case 'ZZZZ':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'zzzz':\n formatter = timeZoneGetter(ZoneWidth.Long);\n break;\n default:\n return null;\n }\n DATE_FORMATS[format] = formatter;\n return formatter;\n}\nfunction timezoneToOffset(timezone, fallback) {\n // Support: IE 11 only, Edge 13-15+\n // IE/Edge do not \"understand\" colon (`:`) in timezone\n timezone = timezone.replace(/:/g, '');\n const requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000;\n return isNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset;\n}\nfunction addDateMinutes(date, minutes) {\n date = new Date(date.getTime());\n date.setMinutes(date.getMinutes() + minutes);\n return date;\n}\nfunction convertTimezoneToLocal(date, timezone, reverse) {\n const reverseValue = reverse ? -1 : 1;\n const dateTimezoneOffset = date.getTimezoneOffset();\n const timezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n return addDateMinutes(date, reverseValue * (timezoneOffset - dateTimezoneOffset));\n}\n/**\n * Converts a value to date.\n *\n * Supported input formats:\n * - `Date`\n * - number: timestamp\n * - string: numeric (e.g. \"1234\"), ISO and date strings in a format supported by\n * [Date.parse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\n * Note: ISO strings without time return a date without timeoffset.\n *\n * Throws if unable to convert to a date.\n */\nfunction toDate(value) {\n if (isDate(value)) {\n return value;\n }\n if (typeof value === 'number' && !isNaN(value)) {\n return new Date(value);\n }\n if (typeof value === 'string') {\n value = value.trim();\n if (/^(\\d{4}(-\\d{1,2}(-\\d{1,2})?)?)$/.test(value)) {\n /* For ISO Strings without time the day, month and year must be extracted from the ISO String\n before Date creation to avoid time offset and errors in the new Date.\n If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n date, some browsers (e.g. IE 9) will throw an invalid Date error.\n If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the timeoffset\n is applied.\n Note: ISO months are 0 for January, 1 for February, ... */\n const [y, m = 1, d = 1] = value.split('-').map((val) => +val);\n return createDate(y, m - 1, d);\n }\n const parsedNb = parseFloat(value);\n // any string that only contains numbers, like \"1234\" but not like \"1234hello\"\n if (!isNaN(value - parsedNb)) {\n return new Date(parsedNb);\n }\n let match;\n if (match = value.match(ISO8601_DATE_REGEX)) {\n return isoStringToDate(match);\n }\n }\n const date = new Date(value);\n if (!isDate(date)) {\n throw new Error(`Unable to convert \"${value}\" into a date`);\n }\n return date;\n}\n/**\n * Converts a date in ISO8601 to a Date.\n * Used instead of `Date.parse` because of browser discrepancies.\n */\nfunction isoStringToDate(match) {\n const date = new Date(0);\n let tzHour = 0;\n let tzMin = 0;\n // match[8] means that the string contains \"Z\" (UTC) or a timezone like \"+01:00\" or \"+0100\"\n const dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n const timeSetter = match[8] ? date.setUTCHours : date.setHours;\n // if there is a timezone defined like \"+01:00\" or \"+0100\"\n if (match[9]) {\n tzHour = Number(match[9] + match[10]);\n tzMin = Number(match[9] + match[11]);\n }\n dateSetter.call(date, Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n const h = Number(match[4] || 0) - tzHour;\n const m = Number(match[5] || 0) - tzMin;\n const s = Number(match[6] || 0);\n // The ECMAScript specification (https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.11)\n // defines that `DateTime` milliseconds should always be rounded down, so that `999.9ms`\n // becomes `999ms`.\n const ms = Math.floor(parseFloat('0.' + (match[7] || 0)) * 1000);\n timeSetter.call(date, h, m, s, ms);\n return date;\n}\nfunction isDate(value) {\n return value instanceof Date && !isNaN(value.valueOf());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\nconst MAX_DIGITS = 22;\nconst DECIMAL_SEP = '.';\nconst ZERO_CHAR = '0';\nconst PATTERN_SEP = ';';\nconst GROUP_SEP = ',';\nconst DIGIT_CHAR = '#';\nconst CURRENCY_CHAR = '¤';\nconst PERCENT_CHAR = '%';\n/**\n * Transforms a number to a locale string based on a style and a format.\n */\nfunction formatNumberToLocaleString(value, pattern, locale, groupSymbol, decimalSymbol, digitsInfo, isPercent = false) {\n let formattedText = '';\n let isZero = false;\n if (!isFinite(value)) {\n formattedText = getLocaleNumberSymbol(locale, NumberSymbol.Infinity);\n }\n else {\n let parsedNumber = parseNumber(value);\n if (isPercent) {\n parsedNumber = toPercent(parsedNumber);\n }\n let minInt = pattern.minInt;\n let minFraction = pattern.minFrac;\n let maxFraction = pattern.maxFrac;\n if (digitsInfo) {\n const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n if (parts === null) {\n throw new Error(`${digitsInfo} is not a valid digit info`);\n }\n const minIntPart = parts[1];\n const minFractionPart = parts[3];\n const maxFractionPart = parts[5];\n if (minIntPart != null) {\n minInt = parseIntAutoRadix(minIntPart);\n }\n if (minFractionPart != null) {\n minFraction = parseIntAutoRadix(minFractionPart);\n }\n if (maxFractionPart != null) {\n maxFraction = parseIntAutoRadix(maxFractionPart);\n }\n else if (minFractionPart != null && minFraction > maxFraction) {\n maxFraction = minFraction;\n }\n }\n roundNumber(parsedNumber, minFraction, maxFraction);\n let digits = parsedNumber.digits;\n let integerLen = parsedNumber.integerLen;\n const exponent = parsedNumber.exponent;\n let decimals = [];\n isZero = digits.every(d => !d);\n // pad zeros for small numbers\n for (; integerLen < minInt; integerLen++) {\n digits.unshift(0);\n }\n // pad zeros for small numbers\n for (; integerLen < 0; integerLen++) {\n digits.unshift(0);\n }\n // extract decimals digits\n if (integerLen > 0) {\n decimals = digits.splice(integerLen, digits.length);\n }\n else {\n decimals = digits;\n digits = [0];\n }\n // format the integer digits with grouping separators\n const groups = [];\n if (digits.length >= pattern.lgSize) {\n groups.unshift(digits.splice(-pattern.lgSize, digits.length).join(''));\n }\n while (digits.length > pattern.gSize) {\n groups.unshift(digits.splice(-pattern.gSize, digits.length).join(''));\n }\n if (digits.length) {\n groups.unshift(digits.join(''));\n }\n formattedText = groups.join(getLocaleNumberSymbol(locale, groupSymbol));\n // append the decimal digits\n if (decimals.length) {\n formattedText += getLocaleNumberSymbol(locale, decimalSymbol) + decimals.join('');\n }\n if (exponent) {\n formattedText += getLocaleNumberSymbol(locale, NumberSymbol.Exponential) + '+' + exponent;\n }\n }\n if (value < 0 && !isZero) {\n formattedText = pattern.negPre + formattedText + pattern.negSuf;\n }\n else {\n formattedText = pattern.posPre + formattedText + pattern.posSuf;\n }\n return formattedText;\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as currency using locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param currency A string containing the currency symbol or its name,\n * such as \"$\" or \"Canadian Dollar\". Used in output string, but does not affect the operation\n * of the function.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)\n * currency code, such as `USD` for the US dollar and `EUR` for the euro.\n * Used to determine the number of digits in the decimal part.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted currency value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatCurrency(value, locale, currency, currencyCode, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Currency);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n pattern.minFrac = getNumberOfCurrencyDigits(currencyCode);\n pattern.maxFrac = pattern.minFrac;\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.CurrencyGroup, NumberSymbol.CurrencyDecimal, digitsInfo);\n return res\n .replace(CURRENCY_CHAR, currency)\n // if we have 2 time the currency character, the second one is ignored\n .replace(CURRENCY_CHAR, '')\n // If there is a spacing between currency character and the value and\n // the currency character is suppressed by passing an empty string, the\n // spacing character would remain as part of the string. Then we\n // should remove it.\n .trim();\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as a percentage according to locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted percentage value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n * @publicApi\n *\n */\nfunction formatPercent(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Percent);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo, true);\n return res.replace(new RegExp(PERCENT_CHAR, 'g'), getLocaleNumberSymbol(locale, NumberSymbol.PercentSign));\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as text, with group sizing, separator, and other\n * parameters based on the locale.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted text string.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatNumber(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Decimal);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n return formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo);\n}\nfunction parseNumberFormat(format, minusSign = '-') {\n const p = {\n minInt: 1,\n minFrac: 0,\n maxFrac: 0,\n posPre: '',\n posSuf: '',\n negPre: '',\n negSuf: '',\n gSize: 0,\n lgSize: 0\n };\n const patternParts = format.split(PATTERN_SEP);\n const positive = patternParts[0];\n const negative = patternParts[1];\n const positiveParts = positive.indexOf(DECIMAL_SEP) !== -1 ?\n positive.split(DECIMAL_SEP) :\n [\n positive.substring(0, positive.lastIndexOf(ZERO_CHAR) + 1),\n positive.substring(positive.lastIndexOf(ZERO_CHAR) + 1)\n ], integer = positiveParts[0], fraction = positiveParts[1] || '';\n p.posPre = integer.substring(0, integer.indexOf(DIGIT_CHAR));\n for (let i = 0; i < fraction.length; i++) {\n const ch = fraction.charAt(i);\n if (ch === ZERO_CHAR) {\n p.minFrac = p.maxFrac = i + 1;\n }\n else if (ch === DIGIT_CHAR) {\n p.maxFrac = i + 1;\n }\n else {\n p.posSuf += ch;\n }\n }\n const groups = integer.split(GROUP_SEP);\n p.gSize = groups[1] ? groups[1].length : 0;\n p.lgSize = (groups[2] || groups[1]) ? (groups[2] || groups[1]).length : 0;\n if (negative) {\n const trunkLen = positive.length - p.posPre.length - p.posSuf.length, pos = negative.indexOf(DIGIT_CHAR);\n p.negPre = negative.substring(0, pos).replace(/'/g, '');\n p.negSuf = negative.slice(pos + trunkLen).replace(/'/g, '');\n }\n else {\n p.negPre = minusSign + p.posPre;\n p.negSuf = p.posSuf;\n }\n return p;\n}\n// Transforms a parsed number into a percentage by multiplying it by 100\nfunction toPercent(parsedNumber) {\n // if the number is 0, don't do anything\n if (parsedNumber.digits[0] === 0) {\n return parsedNumber;\n }\n // Getting the current number of decimals\n const fractionLen = parsedNumber.digits.length - parsedNumber.integerLen;\n if (parsedNumber.exponent) {\n parsedNumber.exponent += 2;\n }\n else {\n if (fractionLen === 0) {\n parsedNumber.digits.push(0, 0);\n }\n else if (fractionLen === 1) {\n parsedNumber.digits.push(0);\n }\n parsedNumber.integerLen += 2;\n }\n return parsedNumber;\n}\n/**\n * Parses a number.\n * Significant bits of this parse algorithm came from https://github.com/MikeMcl/big.js/\n */\nfunction parseNumber(num) {\n let numStr = Math.abs(num) + '';\n let exponent = 0, digits, integerLen;\n let i, j, zeros;\n // Decimal point?\n if ((integerLen = numStr.indexOf(DECIMAL_SEP)) > -1) {\n numStr = numStr.replace(DECIMAL_SEP, '');\n }\n // Exponential form?\n if ((i = numStr.search(/e/i)) > 0) {\n // Work out the exponent.\n if (integerLen < 0)\n integerLen = i;\n integerLen += +numStr.slice(i + 1);\n numStr = numStr.substring(0, i);\n }\n else if (integerLen < 0) {\n // There was no decimal point or exponent so it is an integer.\n integerLen = numStr.length;\n }\n // Count the number of leading zeros.\n for (i = 0; numStr.charAt(i) === ZERO_CHAR; i++) { /* empty */\n }\n if (i === (zeros = numStr.length)) {\n // The digits are all zero.\n digits = [0];\n integerLen = 1;\n }\n else {\n // Count the number of trailing zeros\n zeros--;\n while (numStr.charAt(zeros) === ZERO_CHAR)\n zeros--;\n // Trailing zeros are insignificant so ignore them\n integerLen -= i;\n digits = [];\n // Convert string to array of digits without leading/trailing zeros.\n for (j = 0; i <= zeros; i++, j++) {\n digits[j] = Number(numStr.charAt(i));\n }\n }\n // If the number overflows the maximum allowed digits then use an exponent.\n if (integerLen > MAX_DIGITS) {\n digits = digits.splice(0, MAX_DIGITS - 1);\n exponent = integerLen - 1;\n integerLen = 1;\n }\n return { digits, exponent, integerLen };\n}\n/**\n * Round the parsed number to the specified number of decimal places\n * This function changes the parsedNumber in-place\n */\nfunction roundNumber(parsedNumber, minFrac, maxFrac) {\n if (minFrac > maxFrac) {\n throw new Error(`The minimum number of digits after fraction (${minFrac}) is higher than the maximum (${maxFrac}).`);\n }\n let digits = parsedNumber.digits;\n let fractionLen = digits.length - parsedNumber.integerLen;\n const fractionSize = Math.min(Math.max(minFrac, fractionLen), maxFrac);\n // The index of the digit to where rounding is to occur\n let roundAt = fractionSize + parsedNumber.integerLen;\n let digit = digits[roundAt];\n if (roundAt > 0) {\n // Drop fractional digits beyond `roundAt`\n digits.splice(Math.max(parsedNumber.integerLen, roundAt));\n // Set non-fractional digits beyond `roundAt` to 0\n for (let j = roundAt; j < digits.length; j++) {\n digits[j] = 0;\n }\n }\n else {\n // We rounded to zero so reset the parsedNumber\n fractionLen = Math.max(0, fractionLen);\n parsedNumber.integerLen = 1;\n digits.length = Math.max(1, roundAt = fractionSize + 1);\n digits[0] = 0;\n for (let i = 1; i < roundAt; i++)\n digits[i] = 0;\n }\n if (digit >= 5) {\n if (roundAt - 1 < 0) {\n for (let k = 0; k > roundAt; k--) {\n digits.unshift(0);\n parsedNumber.integerLen++;\n }\n digits.unshift(1);\n parsedNumber.integerLen++;\n }\n else {\n digits[roundAt - 1]++;\n }\n }\n // Pad out with zeros to get the required fraction length\n for (; fractionLen < Math.max(0, fractionSize); fractionLen++)\n digits.push(0);\n let dropTrailingZeros = fractionSize !== 0;\n // Minimal length = nb of decimals required + current nb of integers\n // Any number besides that is optional and can be removed if it's a trailing 0\n const minLen = minFrac + parsedNumber.integerLen;\n // Do any carrying, e.g. a digit was rounded up to 10\n const carry = digits.reduceRight(function (carry, d, i, digits) {\n d = d + carry;\n digits[i] = d < 10 ? d : d - 10; // d % 10\n if (dropTrailingZeros) {\n // Do not keep meaningless fractional trailing zeros (e.g. 15.52000 --> 15.52)\n if (digits[i] === 0 && i >= minLen) {\n digits.pop();\n }\n else {\n dropTrailingZeros = false;\n }\n }\n return d >= 10 ? 1 : 0; // Math.floor(d / 10);\n }, 0);\n if (carry) {\n digits.unshift(carry);\n parsedNumber.integerLen++;\n }\n}\nfunction parseIntAutoRadix(text) {\n const result = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NgLocalization {\n}\nNgLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgLocalization, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n useFactory: (locale) => new NgLocaleLocalization(locale),\n deps: [LOCALE_ID],\n }]\n }] });\n/**\n * Returns the plural category for a given value.\n * - \"=value\" when the case exists,\n * - the plural category otherwise\n */\nfunction getPluralCategory(value, cases, ngLocalization, locale) {\n let key = `=${value}`;\n if (cases.indexOf(key) > -1) {\n return key;\n }\n key = ngLocalization.getPluralCategory(value, locale);\n if (cases.indexOf(key) > -1) {\n return key;\n }\n if (cases.indexOf('other') > -1) {\n return 'other';\n }\n throw new Error(`No plural message found for value \"${value}\"`);\n}\n/**\n * Returns the plural case based on the locale\n *\n * @publicApi\n */\nclass NgLocaleLocalization extends NgLocalization {\n constructor(locale) {\n super();\n this.locale = locale;\n }\n getPluralCategory(value, locale) {\n const plural = getLocalePluralCase(locale || this.locale)(value);\n switch (plural) {\n case Plural.Zero:\n return 'zero';\n case Plural.One:\n return 'one';\n case Plural.Two:\n return 'two';\n case Plural.Few:\n return 'few';\n case Plural.Many:\n return 'many';\n default:\n return 'other';\n }\n }\n}\nNgLocaleLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocaleLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgLocaleLocalization });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgLocaleLocalization, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Register global data to be used internally by Angular. See the\n * [\"I18n guide\"](guide/i18n-common-format-data-locale) to know how to import additional locale\n * data.\n *\n * The signature registerLocaleData(data: any, extraData?: any) is deprecated since v5.1\n *\n * @publicApi\n */\nfunction registerLocaleData(data, localeId, extraData) {\n return ɵregisterLocaleData(data, localeId, extraData);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction parseCookieValue(cookieStr, name) {\n name = encodeURIComponent(name);\n for (const cookie of cookieStr.split(';')) {\n const eqIndex = cookie.indexOf('=');\n const [cookieName, cookieValue] = eqIndex == -1 ? [cookie, ''] : [cookie.slice(0, eqIndex), cookie.slice(eqIndex + 1)];\n if (cookieName.trim() === name) {\n return decodeURIComponent(cookieValue);\n }\n }\n return null;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n * ```\n *\n * @description\n *\n * Adds and removes CSS classes on an HTML element.\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n * evaluates to a truthy value, otherwise they are removed.\n *\n * @publicApi\n */\nclass NgClass {\n constructor(_iterableDiffers, _keyValueDiffers, _ngEl, _renderer) {\n this._iterableDiffers = _iterableDiffers;\n this._keyValueDiffers = _keyValueDiffers;\n this._ngEl = _ngEl;\n this._renderer = _renderer;\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._initialClasses = [];\n this._rawClass = null;\n }\n set klass(value) {\n this._removeClasses(this._initialClasses);\n this._initialClasses = typeof value === 'string' ? value.split(/\\s+/) : [];\n this._applyClasses(this._initialClasses);\n this._applyClasses(this._rawClass);\n }\n set ngClass(value) {\n this._removeClasses(this._rawClass);\n this._applyClasses(this._initialClasses);\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._rawClass = typeof value === 'string' ? value.split(/\\s+/) : value;\n if (this._rawClass) {\n if (ɵisListLikeIterable(this._rawClass)) {\n this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create();\n }\n else {\n this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create();\n }\n }\n }\n ngDoCheck() {\n if (this._iterableDiffer) {\n const iterableChanges = this._iterableDiffer.diff(this._rawClass);\n if (iterableChanges) {\n this._applyIterableChanges(iterableChanges);\n }\n }\n else if (this._keyValueDiffer) {\n const keyValueChanges = this._keyValueDiffer.diff(this._rawClass);\n if (keyValueChanges) {\n this._applyKeyValueChanges(keyValueChanges);\n }\n }\n }\n _applyKeyValueChanges(changes) {\n changes.forEachAddedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachRemovedItem((record) => {\n if (record.previousValue) {\n this._toggleClass(record.key, false);\n }\n });\n }\n _applyIterableChanges(changes) {\n changes.forEachAddedItem((record) => {\n if (typeof record.item === 'string') {\n this._toggleClass(record.item, true);\n }\n else {\n throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ɵstringify(record.item)}`);\n }\n });\n changes.forEachRemovedItem((record) => this._toggleClass(record.item, false));\n }\n /**\n * Applies a collection of CSS classes to the DOM element.\n *\n * For argument of type Set and Array CSS class names contained in those collections are always\n * added.\n * For argument of type Map CSS class name in the map's key is toggled based on the value (added\n * for truthy and removed for falsy).\n */\n _applyClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, true));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, !!rawClassVal[klass]));\n }\n }\n }\n /**\n * Removes a collection of CSS classes from the DOM element. This is mostly useful for cleanup\n * purposes.\n */\n _removeClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, false));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, false));\n }\n }\n }\n _toggleClass(klass, enabled) {\n klass = klass.trim();\n if (klass) {\n klass.split(/\\s+/g).forEach(klass => {\n if (enabled) {\n this._renderer.addClass(this._ngEl.nativeElement, klass);\n }\n else {\n this._renderer.removeClass(this._ngEl.nativeElement, klass);\n }\n });\n }\n }\n}\nNgClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgClass, deps: [{ token: i0.IterableDiffers }, { token: i0.KeyValueDiffers }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\nNgClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.1\", type: NgClass, isStandalone: true, selector: \"[ngClass]\", inputs: { klass: [\"class\", \"klass\"], ngClass: \"ngClass\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgClass, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngClass]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.KeyValueDiffers }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { klass: [{\n type: Input,\n args: ['class']\n }], ngClass: [{\n type: Input,\n args: ['ngClass']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Instantiates a {@link Component} type and inserts its Host View into the current View.\n * `NgComponentOutlet` provides a declarative approach for dynamic component creation.\n *\n * `NgComponentOutlet` requires a component type, if a falsy value is set the view will clear and\n * any existing component will be destroyed.\n *\n * @usageNotes\n *\n * ### Fine tune control\n *\n * You can control the component creation process by using the following optional attributes:\n *\n * * `ngComponentOutletInjector`: Optional custom {@link Injector} that will be used as parent for\n * the Component. Defaults to the injector of the current view container.\n *\n * * `ngComponentOutletContent`: Optional list of projectable nodes to insert into the content\n * section of the component, if it exists.\n *\n * * `ngComponentOutletNgModule`: Optional NgModule class reference to allow loading another\n * module dynamically, then loading a component from that module.\n *\n * * `ngComponentOutletNgModuleFactory`: Deprecated config option that allows providing optional\n * NgModule factory to allow loading another module dynamically, then loading a component from that\n * module. Use `ngComponentOutletNgModule` instead.\n *\n * ### Syntax\n *\n * Simple\n * ```\n * \n * ```\n *\n * Customized injector/content\n * ```\n * \n * \n * ```\n *\n * Customized NgModule reference\n * ```\n * \n * \n * ```\n *\n * ### A simple example\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='SimpleExample'}\n *\n * A more complete example with additional options:\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='CompleteExample'}\n *\n * @publicApi\n * @ngModule CommonModule\n */\nclass NgComponentOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this.ngComponentOutlet = null;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n const { _viewContainerRef: viewContainerRef, ngComponentOutletNgModule: ngModule, ngComponentOutletNgModuleFactory: ngModuleFactory, } = this;\n viewContainerRef.clear();\n this._componentRef = undefined;\n if (this.ngComponentOutlet) {\n const injector = this.ngComponentOutletInjector || viewContainerRef.parentInjector;\n if (changes['ngComponentOutletNgModule'] || changes['ngComponentOutletNgModuleFactory']) {\n if (this._moduleRef)\n this._moduleRef.destroy();\n if (ngModule) {\n this._moduleRef = createNgModule(ngModule, getParentInjector(injector));\n }\n else if (ngModuleFactory) {\n this._moduleRef = ngModuleFactory.create(getParentInjector(injector));\n }\n else {\n this._moduleRef = undefined;\n }\n }\n this._componentRef = viewContainerRef.createComponent(this.ngComponentOutlet, {\n index: viewContainerRef.length,\n injector,\n ngModuleRef: this._moduleRef,\n projectableNodes: this.ngComponentOutletContent,\n });\n }\n }\n /** @nodoc */\n ngOnDestroy() {\n if (this._moduleRef)\n this._moduleRef.destroy();\n }\n}\nNgComponentOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgComponentOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.1\", type: NgComponentOutlet, isStandalone: true, selector: \"[ngComponentOutlet]\", inputs: { ngComponentOutlet: \"ngComponentOutlet\", ngComponentOutletInjector: \"ngComponentOutletInjector\", ngComponentOutletContent: \"ngComponentOutletContent\", ngComponentOutletNgModule: \"ngComponentOutletNgModule\", ngComponentOutletNgModuleFactory: \"ngComponentOutletNgModuleFactory\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgComponentOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngComponentOutlet]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { ngComponentOutlet: [{\n type: Input\n }], ngComponentOutletInjector: [{\n type: Input\n }], ngComponentOutletContent: [{\n type: Input\n }], ngComponentOutletNgModule: [{\n type: Input\n }], ngComponentOutletNgModuleFactory: [{\n type: Input\n }] } });\n// Helper function that returns an Injector instance of a parent NgModule.\nfunction getParentInjector(injector) {\n const parentNgModule = injector.get(NgModuleRef);\n return parentNgModule.injector;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_DEV_MODE = typeof ngDevMode === 'undefined' || !!ngDevMode;\n/**\n * @publicApi\n */\nclass NgForOfContext {\n constructor($implicit, ngForOf, index, count) {\n this.$implicit = $implicit;\n this.ngForOf = ngForOf;\n this.index = index;\n this.count = count;\n }\n get first() {\n return this.index === 0;\n }\n get last() {\n return this.index === this.count - 1;\n }\n get even() {\n return this.index % 2 === 0;\n }\n get odd() {\n return !this.even;\n }\n}\n/**\n * A [structural directive](guide/structural-directives) that renders\n * a template for each item in a collection.\n * The directive is placed on an element, which becomes the parent\n * of the cloned templates.\n *\n * The `ngForOf` directive is generally used in the\n * [shorthand form](guide/structural-directives#asterisk) `*ngFor`.\n * In this form, the template to be rendered for each iteration is the content\n * of an anchor element containing the directive.\n *\n * The following example shows the shorthand syntax with some options,\n * contained in an `
  • ` element.\n *\n * ```\n *
  • ...
  • \n * ```\n *\n * The shorthand form expands into a long form that uses the `ngForOf` selector\n * on an `` element.\n * The content of the `` element is the `
  • ` element that held the\n * short-form directive.\n *\n * Here is the expanded version of the short-form example.\n *\n * ```\n * \n *
  • ...
  • \n *
    \n * ```\n *\n * Angular automatically expands the shorthand syntax as it compiles the template.\n * The context for each embedded view is logically merged to the current component\n * context according to its lexical position.\n *\n * When using the shorthand syntax, Angular allows only [one structural directive\n * on an element](guide/structural-directives#one-per-element).\n * If you want to iterate conditionally, for example,\n * put the `*ngIf` on a container element that wraps the `*ngFor` element.\n * For further discussion, see\n * [Structural Directives](guide/structural-directives#one-per-element).\n *\n * @usageNotes\n *\n * ### Local variables\n *\n * `NgForOf` provides exported values that can be aliased to local variables.\n * For example:\n *\n * ```\n *
  • \n * {{i}}/{{users.length}}. {{user}} default\n *
  • \n * ```\n *\n * The following exported values can be aliased to local variables:\n *\n * - `$implicit: T`: The value of the individual items in the iterable (`ngForOf`).\n * - `ngForOf: NgIterable`: The value of the iterable expression. Useful when the expression is\n * more complex then a property access, for example when using the async pipe (`userStreams |\n * async`).\n * - `index: number`: The index of the current item in the iterable.\n * - `count: number`: The length of the iterable.\n * - `first: boolean`: True when the item is the first item in the iterable.\n * - `last: boolean`: True when the item is the last item in the iterable.\n * - `even: boolean`: True when the item has an even index in the iterable.\n * - `odd: boolean`: True when the item has an odd index in the iterable.\n *\n * ### Change propagation\n *\n * When the contents of the iterator changes, `NgForOf` makes the corresponding changes to the DOM:\n *\n * * When an item is added, a new instance of the template is added to the DOM.\n * * When an item is removed, its template instance is removed from the DOM.\n * * When items are reordered, their respective templates are reordered in the DOM.\n *\n * Angular uses object identity to track insertions and deletions within the iterator and reproduce\n * those changes in the DOM. This has important implications for animations and any stateful\n * controls that are present, such as `` elements that accept user input. Inserted rows can\n * be animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state\n * such as user input.\n * For more on animations, see [Transitions and Triggers](guide/transition-and-triggers).\n *\n * The identities of elements in the iterator can change while the data does not.\n * This can happen, for example, if the iterator is produced from an RPC to the server, and that\n * RPC is re-run. Even if the data hasn't changed, the second response produces objects with\n * different identities, and Angular must tear down the entire DOM and rebuild it (as if all old\n * elements were deleted and all new elements inserted).\n *\n * To avoid this expensive operation, you can customize the default tracking algorithm.\n * by supplying the `trackBy` option to `NgForOf`.\n * `trackBy` takes a function that has two arguments: `index` and `item`.\n * If `trackBy` is given, Angular tracks changes by the return value of the function.\n *\n * @see [Structural Directives](guide/structural-directives)\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgForOf {\n constructor(_viewContainer, _template, _differs) {\n this._viewContainer = _viewContainer;\n this._template = _template;\n this._differs = _differs;\n this._ngForOf = null;\n this._ngForOfDirty = true;\n this._differ = null;\n }\n /**\n * The value of the iterable expression, which can be used as a\n * [template input variable](guide/structural-directives#shorthand).\n */\n set ngForOf(ngForOf) {\n this._ngForOf = ngForOf;\n this._ngForOfDirty = true;\n }\n /**\n * Specifies a custom `TrackByFunction` to compute the identity of items in an iterable.\n *\n * If a custom `TrackByFunction` is not provided, `NgForOf` will use the item's [object\n * identity](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)\n * as the key.\n *\n * `NgForOf` uses the computed key to associate items in an iterable with DOM elements\n * it produces for these items.\n *\n * A custom `TrackByFunction` is useful to provide good user experience in cases when items in an\n * iterable rendered using `NgForOf` have a natural identifier (for example, custom ID or a\n * primary key), and this iterable could be updated with new object instances that still\n * represent the same underlying entity (for example, when data is re-fetched from the server,\n * and the iterable is recreated and re-rendered, but most of the data is still the same).\n *\n * @see `TrackByFunction`\n */\n set ngForTrackBy(fn) {\n if (NG_DEV_MODE && fn != null && typeof fn !== 'function') {\n // TODO(vicb): use a log service once there is a public one available\n if (console && console.warn) {\n console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}. ` +\n `See https://angular.io/api/common/NgForOf#change-propagation for more information.`);\n }\n }\n this._trackByFn = fn;\n }\n get ngForTrackBy() {\n return this._trackByFn;\n }\n /**\n * A reference to the template that is stamped out for each item in the iterable.\n * @see [template reference variable](guide/template-reference-variables)\n */\n set ngForTemplate(value) {\n // TODO(TS2.1): make TemplateRef>> once we move to TS v2.1\n // The current type is too restrictive; a template that just uses index, for example,\n // should be acceptable.\n if (value) {\n this._template = value;\n }\n }\n /**\n * Applies the changes when needed.\n * @nodoc\n */\n ngDoCheck() {\n if (this._ngForOfDirty) {\n this._ngForOfDirty = false;\n // React on ngForOf changes only once all inputs have been initialized\n const value = this._ngForOf;\n if (!this._differ && value) {\n if (NG_DEV_MODE) {\n try {\n // CAUTION: this logic is duplicated for production mode below, as the try-catch\n // is only present in development builds.\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n catch {\n let errorMessage = `Cannot find a differ supporting object '${value}' of type '` +\n `${getTypeName(value)}'. NgFor only supports binding to Iterables, such as Arrays.`;\n if (typeof value === 'object') {\n errorMessage += ' Did you mean to use the keyvalue pipe?';\n }\n throw new ɵRuntimeError(-2200 /* RuntimeErrorCode.NG_FOR_MISSING_DIFFER */, errorMessage);\n }\n }\n else {\n // CAUTION: this logic is duplicated for development mode above, as the try-catch\n // is only present in development builds.\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n }\n }\n if (this._differ) {\n const changes = this._differ.diff(this._ngForOf);\n if (changes)\n this._applyChanges(changes);\n }\n }\n _applyChanges(changes) {\n const viewContainer = this._viewContainer;\n changes.forEachOperation((item, adjustedPreviousIndex, currentIndex) => {\n if (item.previousIndex == null) {\n // NgForOf is never \"null\" or \"undefined\" here because the differ detected\n // that a new item needs to be inserted from the iterable. This implies that\n // there is an iterable value for \"_ngForOf\".\n viewContainer.createEmbeddedView(this._template, new NgForOfContext(item.item, this._ngForOf, -1, -1), currentIndex === null ? undefined : currentIndex);\n }\n else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex);\n }\n else if (adjustedPreviousIndex !== null) {\n const view = viewContainer.get(adjustedPreviousIndex);\n viewContainer.move(view, currentIndex);\n applyViewChange(view, item);\n }\n });\n for (let i = 0, ilen = viewContainer.length; i < ilen; i++) {\n const viewRef = viewContainer.get(i);\n const context = viewRef.context;\n context.index = i;\n context.count = ilen;\n context.ngForOf = this._ngForOf;\n }\n changes.forEachIdentityChange((record) => {\n const viewRef = viewContainer.get(record.currentIndex);\n applyViewChange(viewRef, record);\n });\n }\n /**\n * Asserts the correct type of the context for the template that `NgForOf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgForOf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });\nNgForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.1\", type: NgForOf, isStandalone: true, selector: \"[ngFor][ngForOf]\", inputs: { ngForOf: \"ngForOf\", ngForTrackBy: \"ngForTrackBy\", ngForTemplate: \"ngForTemplate\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgForOf, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngFor][ngForOf]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.IterableDiffers }]; }, propDecorators: { ngForOf: [{\n type: Input\n }], ngForTrackBy: [{\n type: Input\n }], ngForTemplate: [{\n type: Input\n }] } });\nfunction applyViewChange(view, record) {\n view.context.$implicit = record.item;\n}\nfunction getTypeName(type) {\n return type['name'] || typeof type;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A structural directive that conditionally includes a template based on the value of\n * an expression coerced to Boolean.\n * When the expression evaluates to true, Angular renders the template\n * provided in a `then` clause, and when false or null,\n * Angular renders the template provided in an optional `else` clause. The default\n * template for the `else` clause is blank.\n *\n * A [shorthand form](guide/structural-directives#asterisk) of the directive,\n * `*ngIf=\"condition\"`, is generally used, provided\n * as an attribute of the anchor element for the inserted template.\n * Angular expands this into a more explicit version, in which the anchor element\n * is contained in an `` element.\n *\n * Simple form with shorthand syntax:\n *\n * ```\n *
    Content to render when condition is true.
    \n * ```\n *\n * Simple form with expanded syntax:\n *\n * ```\n *
    Content to render when condition is\n * true.
    \n * ```\n *\n * Form with an \"else\" block:\n *\n * ```\n *
    Content to render when condition is true.
    \n * Content to render when condition is false.\n * ```\n *\n * Shorthand form with \"then\" and \"else\" blocks:\n *\n * ```\n *
    \n * Content to render when condition is true.\n * Content to render when condition is false.\n * ```\n *\n * Form with storing the value locally:\n *\n * ```\n *
    {{value}}
    \n * Content to render when value is null.\n * ```\n *\n * @usageNotes\n *\n * The `*ngIf` directive is most commonly used to conditionally show an inline template,\n * as seen in the following example.\n * The default `else` template is blank.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfSimple'}\n *\n * ### Showing an alternative template using `else`\n *\n * To display a template when `expression` evaluates to false, use an `else` template\n * binding as shown in the following example.\n * The `else` binding points to an `` element labeled `#elseBlock`.\n * The template can be defined anywhere in the component view, but is typically placed right after\n * `ngIf` for readability.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfElse'}\n *\n * ### Using an external `then` template\n *\n * In the previous example, the then-clause template is specified inline, as the content of the\n * tag that contains the `ngIf` directive. You can also specify a template that is defined\n * externally, by referencing a labeled `` element. When you do this, you can\n * change which template to use at runtime, as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfThenElse'}\n *\n * ### Storing a conditional result in a variable\n *\n * You might want to show a set of properties from the same object. If you are waiting\n * for asynchronous data, the object can be undefined.\n * In this case, you can use `ngIf` and store the result of the condition in a local\n * variable as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfAs'}\n *\n * This code uses only one `AsyncPipe`, so only one subscription is created.\n * The conditional statement stores the result of `userStream|async` in the local variable `user`.\n * You can then bind the local `user` repeatedly.\n *\n * The conditional displays the data only if `userStream` returns a value,\n * so you don't need to use the\n * safe-navigation-operator (`?.`)\n * to guard against null values when accessing properties.\n * You can display an alternative template while waiting for the data.\n *\n * ### Shorthand syntax\n *\n * The shorthand syntax `*ngIf` expands into two separate template specifications\n * for the \"then\" and \"else\" clauses. For example, consider the following shorthand statement,\n * that is meant to show a loading page while waiting for data to be loaded.\n *\n * ```\n *
    \n * ...\n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * You can see that the \"else\" clause references the ``\n * with the `#loading` label, and the template for the \"then\" clause\n * is provided as the content of the anchor element.\n *\n * However, when Angular expands the shorthand syntax, it creates\n * another `` tag, with `ngIf` and `ngIfElse` directives.\n * The anchor element containing the template for the \"then\" clause becomes\n * the content of this unlabeled `` tag.\n *\n * ```\n * \n *
    \n * ...\n *
    \n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * The presence of the implicit template object has implications for the nesting of\n * structural directives. For more on this subject, see\n * [Structural Directives](guide/structural-directives#one-per-element).\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgIf {\n constructor(_viewContainer, templateRef) {\n this._viewContainer = _viewContainer;\n this._context = new NgIfContext();\n this._thenTemplateRef = null;\n this._elseTemplateRef = null;\n this._thenViewRef = null;\n this._elseViewRef = null;\n this._thenTemplateRef = templateRef;\n }\n /**\n * The Boolean expression to evaluate as the condition for showing a template.\n */\n set ngIf(condition) {\n this._context.$implicit = this._context.ngIf = condition;\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to true.\n */\n set ngIfThen(templateRef) {\n assertTemplate('ngIfThen', templateRef);\n this._thenTemplateRef = templateRef;\n this._thenViewRef = null; // clear previous view if any.\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to false.\n */\n set ngIfElse(templateRef) {\n assertTemplate('ngIfElse', templateRef);\n this._elseTemplateRef = templateRef;\n this._elseViewRef = null; // clear previous view if any.\n this._updateView();\n }\n _updateView() {\n if (this._context.$implicit) {\n if (!this._thenViewRef) {\n this._viewContainer.clear();\n this._elseViewRef = null;\n if (this._thenTemplateRef) {\n this._thenViewRef =\n this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);\n }\n }\n }\n else {\n if (!this._elseViewRef) {\n this._viewContainer.clear();\n this._thenViewRef = null;\n if (this._elseTemplateRef) {\n this._elseViewRef =\n this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);\n }\n }\n }\n }\n /**\n * Asserts the correct type of the context for the template that `NgIf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgIf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgIf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgIf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.1\", type: NgIf, isStandalone: true, selector: \"[ngIf]\", inputs: { ngIf: \"ngIf\", ngIfThen: \"ngIfThen\", ngIfElse: \"ngIfElse\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgIf, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngIf]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { ngIf: [{\n type: Input\n }], ngIfThen: [{\n type: Input\n }], ngIfElse: [{\n type: Input\n }] } });\n/**\n * @publicApi\n */\nclass NgIfContext {\n constructor() {\n this.$implicit = null;\n this.ngIf = null;\n }\n}\nfunction assertTemplate(property, templateRef) {\n const isTemplateRefOrNull = !!(!templateRef || templateRef.createEmbeddedView);\n if (!isTemplateRefOrNull) {\n throw new Error(`${property} must be a TemplateRef, but received '${ɵstringify(templateRef)}'.`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass SwitchView {\n constructor(_viewContainerRef, _templateRef) {\n this._viewContainerRef = _viewContainerRef;\n this._templateRef = _templateRef;\n this._created = false;\n }\n create() {\n this._created = true;\n this._viewContainerRef.createEmbeddedView(this._templateRef);\n }\n destroy() {\n this._created = false;\n this._viewContainerRef.clear();\n }\n enforceState(created) {\n if (created && !this._created) {\n this.create();\n }\n else if (!created && this._created) {\n this.destroy();\n }\n }\n}\n/**\n * @ngModule CommonModule\n *\n * @description\n * The `[ngSwitch]` directive on a container specifies an expression to match against.\n * The expressions to match are provided by `ngSwitchCase` directives on views within the container.\n * - Every view that matches is rendered.\n * - If there are no matches, a view with the `ngSwitchDefault` directive is rendered.\n * - Elements within the `[NgSwitch]` statement but outside of any `NgSwitchCase`\n * or `ngSwitchDefault` directive are preserved at the location.\n *\n * @usageNotes\n * Define a container element for the directive, and specify the switch expression\n * to match against as an attribute:\n *\n * ```\n * \n * ```\n *\n * Within the container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * ### Usage Examples\n *\n * The following example shows how to use more than one case to display the same view:\n *\n * ```\n * \n * \n * ...\n * ...\n * ...\n * \n * ...\n * \n * ```\n *\n * The following example shows how cases can be nested:\n * ```\n * \n * ...\n * ...\n * ...\n * \n * \n * \n * \n * \n * ...\n * \n * ```\n *\n * @publicApi\n * @see `NgSwitchCase`\n * @see `NgSwitchDefault`\n * @see [Structural Directives](guide/structural-directives)\n *\n */\nclass NgSwitch {\n constructor() {\n this._defaultUsed = false;\n this._caseCount = 0;\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n set ngSwitch(newValue) {\n this._ngSwitch = newValue;\n if (this._caseCount === 0) {\n this._updateDefaultCases(true);\n }\n }\n /** @internal */\n _addCase() {\n return this._caseCount++;\n }\n /** @internal */\n _addDefault(view) {\n if (!this._defaultViews) {\n this._defaultViews = [];\n }\n this._defaultViews.push(view);\n }\n /** @internal */\n _matchCase(value) {\n const matched = value == this._ngSwitch;\n this._lastCasesMatched = this._lastCasesMatched || matched;\n this._lastCaseCheckIndex++;\n if (this._lastCaseCheckIndex === this._caseCount) {\n this._updateDefaultCases(!this._lastCasesMatched);\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n return matched;\n }\n _updateDefaultCases(useDefault) {\n if (this._defaultViews && useDefault !== this._defaultUsed) {\n this._defaultUsed = useDefault;\n for (let i = 0; i < this._defaultViews.length; i++) {\n const defaultView = this._defaultViews[i];\n defaultView.enforceState(useDefault);\n }\n }\n }\n}\nNgSwitch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.1\", type: NgSwitch, isStandalone: true, selector: \"[ngSwitch]\", inputs: { ngSwitch: \"ngSwitch\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgSwitch, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngSwitch]',\n standalone: true,\n }]\n }], propDecorators: { ngSwitch: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n * Provides a switch case expression to match against an enclosing `ngSwitch` expression.\n * When the expressions match, the given `NgSwitchCase` template is rendered.\n * If multiple match expressions match the switch expression value, all of them are displayed.\n *\n * @usageNotes\n *\n * Within a switch container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * Each switch-case statement contains an in-line HTML template or template reference\n * that defines the subtree to be selected if the value of the match expression\n * matches the value of the switch expression.\n *\n * Unlike JavaScript, which uses strict equality, Angular uses loose equality.\n * This means that the empty string, `\"\"` matches 0.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchDefault`\n *\n */\nclass NgSwitchCase {\n constructor(viewContainer, templateRef, ngSwitch) {\n this.ngSwitch = ngSwitch;\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchCase', 'NgSwitchCase');\n }\n ngSwitch._addCase();\n this._view = new SwitchView(viewContainer, templateRef);\n }\n /**\n * Performs case matching. For internal use only.\n * @nodoc\n */\n ngDoCheck() {\n this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));\n }\n}\nNgSwitchCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitchCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.1\", type: NgSwitchCase, isStandalone: true, selector: \"[ngSwitchCase]\", inputs: { ngSwitchCase: \"ngSwitchCase\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgSwitchCase, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngSwitchCase]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; }, propDecorators: { ngSwitchCase: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that is rendered when no `NgSwitchCase` expressions\n * match the `NgSwitch` expression.\n * This statement should be the final case in an `NgSwitch`.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchCase`\n *\n */\nclass NgSwitchDefault {\n constructor(viewContainer, templateRef, ngSwitch) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchDefault', 'NgSwitchDefault');\n }\n ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));\n }\n}\nNgSwitchDefault.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitchDefault.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.1\", type: NgSwitchDefault, isStandalone: true, selector: \"[ngSwitchDefault]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgSwitchDefault, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngSwitchDefault]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; } });\nfunction throwNgSwitchProviderNotFoundError(attrName, directiveName) {\n throw new ɵRuntimeError(2000 /* RuntimeErrorCode.PARENT_NG_SWITCH_NOT_FOUND */, `An element with the \"${attrName}\" attribute ` +\n `(matching the \"${directiveName}\" directive) must be located inside an element with the \"ngSwitch\" attribute ` +\n `(matching \"NgSwitch\" directive)`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * \n * there is nothing\n * there is one\n * there are a few\n * \n * ```\n *\n * @description\n *\n * Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.\n *\n * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees\n * that match the switch expression's pluralization category.\n *\n * To use this directive you must provide a container element that sets the `[ngPlural]` attribute\n * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their\n * expression:\n * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value\n * matches the switch expression exactly,\n * - otherwise, the view will be treated as a \"category match\", and will only display if exact\n * value matches aren't found and the value maps to its category for the defined locale.\n *\n * See http://cldr.unicode.org/index/cldr-spec/plural-rules\n *\n * @publicApi\n */\nclass NgPlural {\n constructor(_localization) {\n this._localization = _localization;\n this._caseViews = {};\n }\n set ngPlural(value) {\n this._switchValue = value;\n this._updateView();\n }\n addCase(value, switchView) {\n this._caseViews[value] = switchView;\n }\n _updateView() {\n this._clearViews();\n const cases = Object.keys(this._caseViews);\n const key = getPluralCategory(this._switchValue, cases, this._localization);\n this._activateView(this._caseViews[key]);\n }\n _clearViews() {\n if (this._activeView)\n this._activeView.destroy();\n }\n _activateView(view) {\n if (view) {\n this._activeView = view;\n this._activeView.create();\n }\n }\n}\nNgPlural.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });\nNgPlural.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.1\", type: NgPlural, isStandalone: true, selector: \"[ngPlural]\", inputs: { ngPlural: \"ngPlural\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgPlural, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngPlural]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: NgLocalization }]; }, propDecorators: { ngPlural: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that will be added/removed from the parent {@link NgPlural} when the\n * given expression matches the plural expression according to CLDR rules.\n *\n * @usageNotes\n * ```\n * \n * ...\n * ...\n * \n *```\n *\n * See {@link NgPlural} for more details and example.\n *\n * @publicApi\n */\nclass NgPluralCase {\n constructor(value, template, viewContainer, ngPlural) {\n this.value = value;\n const isANumber = !isNaN(Number(value));\n ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));\n }\n}\nNgPluralCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgPluralCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.1\", type: NgPluralCase, isStandalone: true, selector: \"[ngPluralCase]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgPluralCase, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngPluralCase]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Attribute,\n args: ['ngPluralCase']\n }] }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: NgPlural, decorators: [{\n type: Host\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n *\n * Set the font of the containing element to the result of an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set the width of the containing element to a pixel value returned by an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set a collection of style values using an expression that returns key-value pairs.\n *\n * ```\n * ...\n * ```\n *\n * @description\n *\n * An attribute directive that updates styles for the containing HTML element.\n * Sets one or more style properties, specified as colon-separated key-value pairs.\n * The key is a style name, with an optional `.` suffix\n * (such as 'top.px', 'font-style.em').\n * The value is an expression to be evaluated.\n * The resulting non-null value, expressed in the given unit,\n * is assigned to the given style property.\n * If the result of evaluation is null, the corresponding style is removed.\n *\n * @publicApi\n */\nclass NgStyle {\n constructor(_ngEl, _differs, _renderer) {\n this._ngEl = _ngEl;\n this._differs = _differs;\n this._renderer = _renderer;\n this._ngStyle = null;\n this._differ = null;\n }\n set ngStyle(values) {\n this._ngStyle = values;\n if (!this._differ && values) {\n this._differ = this._differs.find(values).create();\n }\n }\n ngDoCheck() {\n if (this._differ) {\n const changes = this._differ.diff(this._ngStyle);\n if (changes) {\n this._applyChanges(changes);\n }\n }\n }\n _setStyle(nameAndUnit, value) {\n const [name, unit] = nameAndUnit.split('.');\n const flags = name.indexOf('-') === -1 ? undefined : RendererStyleFlags2.DashCase;\n if (value != null) {\n this._renderer.setStyle(this._ngEl.nativeElement, name, unit ? `${value}${unit}` : value, flags);\n }\n else {\n this._renderer.removeStyle(this._ngEl.nativeElement, name, flags);\n }\n }\n _applyChanges(changes) {\n changes.forEachRemovedItem((record) => this._setStyle(record.key, null));\n changes.forEachAddedItem((record) => this._setStyle(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));\n }\n}\nNgStyle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\nNgStyle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.1\", type: NgStyle, isStandalone: true, selector: \"[ngStyle]\", inputs: { ngStyle: \"ngStyle\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgStyle, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngStyle]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.KeyValueDiffers }, { type: i0.Renderer2 }]; }, propDecorators: { ngStyle: [{\n type: Input,\n args: ['ngStyle']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Inserts an embedded view from a prepared `TemplateRef`.\n *\n * You can attach a context object to the `EmbeddedViewRef` by setting `[ngTemplateOutletContext]`.\n * `[ngTemplateOutletContext]` should be an object, the object's keys will be available for binding\n * by the local template `let` declarations.\n *\n * @usageNotes\n * ```\n * \n * ```\n *\n * Using the key `$implicit` in the context object will set its value as default.\n *\n * ### Example\n *\n * {@example common/ngTemplateOutlet/ts/module.ts region='NgTemplateOutlet'}\n *\n * @publicApi\n */\nclass NgTemplateOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this._viewRef = null;\n /**\n * A context object to attach to the {@link EmbeddedViewRef}. This should be an\n * object, the object's keys will be available for binding by the local template `let`\n * declarations.\n * Using the key `$implicit` in the context object will set its value as default.\n */\n this.ngTemplateOutletContext = null;\n /**\n * A string defining the template reference and optionally the context object for the template.\n */\n this.ngTemplateOutlet = null;\n /** Injector to be used within the embedded view. */\n this.ngTemplateOutletInjector = null;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n if (changes['ngTemplateOutlet'] || changes['ngTemplateOutletInjector']) {\n const viewContainerRef = this._viewContainerRef;\n if (this._viewRef) {\n viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef));\n }\n if (this.ngTemplateOutlet) {\n const { ngTemplateOutlet: template, ngTemplateOutletContext: context, ngTemplateOutletInjector: injector } = this;\n this._viewRef = viewContainerRef.createEmbeddedView(template, context, injector ? { injector } : undefined);\n }\n else {\n this._viewRef = null;\n }\n }\n else if (this._viewRef && changes['ngTemplateOutletContext'] && this.ngTemplateOutletContext) {\n this._viewRef.context = this.ngTemplateOutletContext;\n }\n }\n}\nNgTemplateOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTemplateOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.1\", type: NgTemplateOutlet, isStandalone: true, selector: \"[ngTemplateOutlet]\", inputs: { ngTemplateOutletContext: \"ngTemplateOutletContext\", ngTemplateOutlet: \"ngTemplateOutlet\", ngTemplateOutletInjector: \"ngTemplateOutletInjector\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NgTemplateOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[ngTemplateOutlet]',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { ngTemplateOutletContext: [{\n type: Input\n }], ngTemplateOutlet: [{\n type: Input\n }], ngTemplateOutletInjector: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular directives that are likely to be used in each and every Angular\n * application.\n */\nconst COMMON_DIRECTIVES = [\n NgClass,\n NgComponentOutlet,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgPlural,\n NgPluralCase,\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction invalidPipeArgumentError(type, value) {\n return new ɵRuntimeError(2100 /* RuntimeErrorCode.INVALID_PIPE_ARGUMENT */, ngDevMode && `InvalidPipeArgument: '${value}' for pipe '${ɵstringify(type)}'`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass SubscribableStrategy {\n createSubscription(async, updateLatestValue) {\n return async.subscribe({\n next: updateLatestValue,\n error: (e) => {\n throw e;\n }\n });\n }\n dispose(subscription) {\n subscription.unsubscribe();\n }\n}\nclass PromiseStrategy {\n createSubscription(async, updateLatestValue) {\n return async.then(updateLatestValue, e => {\n throw e;\n });\n }\n dispose(subscription) { }\n}\nconst _promiseStrategy = new PromiseStrategy();\nconst _subscribableStrategy = new SubscribableStrategy();\n/**\n * @ngModule CommonModule\n * @description\n *\n * Unwraps a value from an asynchronous primitive.\n *\n * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has\n * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for\n * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid\n * potential memory leaks. When the reference of the expression changes, the `async` pipe\n * automatically unsubscribes from the old `Observable` or `Promise` and subscribes to the new one.\n *\n * @usageNotes\n *\n * ### Examples\n *\n * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the\n * promise.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}\n *\n * It's also possible to use `async` with Observables. The example below binds the `time` Observable\n * to the view. The Observable continuously updates the view with the current time.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}\n *\n * @publicApi\n */\nclass AsyncPipe {\n constructor(ref) {\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n this._strategy = null;\n // Assign `ref` into `this._ref` manually instead of declaring `_ref` in the constructor\n // parameter list, as the type of `this._ref` includes `null` unlike the type of `ref`.\n this._ref = ref;\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._dispose();\n }\n // Clear the `ChangeDetectorRef` and its association with the view data, to mitigate\n // potential memory leaks in Observables that could otherwise cause the view data to\n // be retained.\n // https://github.com/angular/angular/issues/17624\n this._ref = null;\n }\n transform(obj) {\n if (!this._obj) {\n if (obj) {\n this._subscribe(obj);\n }\n return this._latestValue;\n }\n if (obj !== this._obj) {\n this._dispose();\n return this.transform(obj);\n }\n return this._latestValue;\n }\n _subscribe(obj) {\n this._obj = obj;\n this._strategy = this._selectStrategy(obj);\n this._subscription = this._strategy.createSubscription(obj, (value) => this._updateLatestValue(obj, value));\n }\n _selectStrategy(obj) {\n if (ɵisPromise(obj)) {\n return _promiseStrategy;\n }\n if (ɵisSubscribable(obj)) {\n return _subscribableStrategy;\n }\n throw invalidPipeArgumentError(AsyncPipe, obj);\n }\n _dispose() {\n // Note: `dispose` is only called if a subscription has been initialized before, indicating\n // that `this._strategy` is also available.\n this._strategy.dispose(this._subscription);\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n }\n _updateLatestValue(async, value) {\n if (async === this._obj) {\n this._latestValue = value;\n // Note: `this._ref` is only cleared in `ngOnDestroy` so is known to be available when a\n // value is being updated.\n this._ref.markForCheck();\n }\n }\n}\nAsyncPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });\nAsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.1\", ngImport: i0, type: AsyncPipe, isStandalone: true, name: \"async\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: AsyncPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'async',\n pure: false,\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Transforms text to all lower case.\n *\n * @see `UpperCasePipe`\n * @see `TitleCasePipe`\n * @usageNotes\n *\n * The following example defines a view that allows the user to enter\n * text, and then uses the pipe to convert the input text to all lower case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass LowerCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(LowerCasePipe, value);\n }\n return value.toLowerCase();\n }\n}\nLowerCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nLowerCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.1\", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: \"lowercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: LowerCasePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'lowercase',\n standalone: true,\n }]\n }] });\n//\n// Regex below matches any Unicode word and number compatible with ES5. In ES2018 the same result\n// can be achieved by using /[0-9\\p{L}]\\S*/gu and also known as Unicode Property Escapes\n// (https://2ality.com/2017/07/regexp-unicode-property-escapes.html). Since there is no\n// transpilation of this functionality down to ES5 without external tool, the only solution is\n// to use already transpiled form. Example can be found here -\n// https://mothereff.in/regexpu#input=var+regex+%3D+%2F%5B0-9%5Cp%7BL%7D%5D%5CS*%2Fgu%3B%0A%0A&unicodePropertyEscape=1\n//\nconst unicodeWordMatch = /(?:[0-9A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF38\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])\\S*/g;\n/**\n * Transforms text to title case.\n * Capitalizes the first letter of each word and transforms the\n * rest of the word to lower case.\n * Words are delimited by any whitespace character, such as a space, tab, or line-feed character.\n *\n * @see `LowerCasePipe`\n * @see `UpperCasePipe`\n *\n * @usageNotes\n * The following example shows the result of transforming various strings into title case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass TitleCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(TitleCasePipe, value);\n }\n return value.replace(unicodeWordMatch, (txt => txt[0].toUpperCase() + txt.slice(1).toLowerCase()));\n }\n}\nTitleCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nTitleCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.1\", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: \"titlecase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: TitleCasePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'titlecase',\n standalone: true,\n }]\n }] });\n/**\n * Transforms text to all upper case.\n * @see `LowerCasePipe`\n * @see `TitleCasePipe`\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass UpperCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(UpperCasePipe, value);\n }\n return value.toUpperCase();\n }\n}\nUpperCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nUpperCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.1\", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: \"uppercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: UpperCasePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'uppercase',\n standalone: true,\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Optionally-provided default timezone to use for all instances of `DatePipe` (such as `'+0430'`).\n * If the value isn't provided, the `DatePipe` will use the end-user's local system timezone.\n */\nconst DATE_PIPE_DEFAULT_TIMEZONE = new InjectionToken('DATE_PIPE_DEFAULT_TIMEZONE');\n// clang-format off\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date value according to locale rules.\n *\n * `DatePipe` is executed only when it detects a pure change to the input value.\n * A pure change is either a change to a primitive input value\n * (such as `String`, `Number`, `Boolean`, or `Symbol`),\n * or a changed object reference (such as `Date`, `Array`, `Function`, or `Object`).\n *\n * Note that mutating a `Date` object does not cause the pipe to be rendered again.\n * To ensure that the pipe is executed, you must create a new `Date` object.\n *\n * Only the `en-US` locale data comes with Angular. To localize dates\n * in another language, you must import the corresponding locale data.\n * See the [I18n guide](guide/i18n-common-format-data-locale) for more information.\n *\n * The time zone of the formatted value can be specified either by passing it in as the second\n * parameter of the pipe, or by setting the default through the `DATE_PIPE_DEFAULT_TIMEZONE`\n * injection token. The value that is passed in as the second parameter takes precedence over\n * the one defined using the injection token.\n *\n * @see `formatDate()`\n *\n *\n * @usageNotes\n *\n * The result of this pipe is not reevaluated when the input is mutated. To avoid the need to\n * reformat the date on every change-detection cycle, treat the date as an immutable object\n * and change the reference when the pipe needs to run again.\n *\n * ### Pre-defined format options\n *\n * | Option | Equivalent to | Examples (given in `en-US` locale) |\n * |---------------|-------------------------------------|-------------------------------------------------|\n * | `'short'` | `'M/d/yy, h:mm a'` | `6/15/15, 9:03 AM` |\n * | `'medium'` | `'MMM d, y, h:mm:ss a'` | `Jun 15, 2015, 9:03:01 AM` |\n * | `'long'` | `'MMMM d, y, h:mm:ss a z'` | `June 15, 2015 at 9:03:01 AM GMT+1` |\n * | `'full'` | `'EEEE, MMMM d, y, h:mm:ss a zzzz'` | `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00` |\n * | `'shortDate'` | `'M/d/yy'` | `6/15/15` |\n * | `'mediumDate'`| `'MMM d, y'` | `Jun 15, 2015` |\n * | `'longDate'` | `'MMMM d, y'` | `June 15, 2015` |\n * | `'fullDate'` | `'EEEE, MMMM d, y'` | `Monday, June 15, 2015` |\n * | `'shortTime'` | `'h:mm a'` | `9:03 AM` |\n * | `'mediumTime'`| `'h:mm:ss a'` | `9:03:01 AM` |\n * | `'longTime'` | `'h:mm:ss a z'` | `9:03:01 AM GMT+1` |\n * | `'fullTime'` | `'h:mm:ss a zzzz'` | `9:03:01 AM GMT+01:00` |\n *\n * ### Custom format options\n *\n * You can construct a format string using symbols to specify the components\n * of a date-time value, as described in the following table.\n * Format details depend on the locale.\n * Fields marked with (*) are only available in the extra data set for the given locale.\n *\n * | Field type | Format | Description | Example Value |\n * |-------------------- |-------------|---------------------------------------------------------------|------------------------------------------------------------|\n * | Era | G, GG & GGG | Abbreviated | AD |\n * | | GGGG | Wide | Anno Domini |\n * | | GGGGG | Narrow | A |\n * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Week-numbering year | Y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | YY | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | YYY | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | YYYY | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Month | M | Numeric: 1 digit | 9, 12 |\n * | | MM | Numeric: 2 digits + zero padded | 09, 12 |\n * | | MMM | Abbreviated | Sep |\n * | | MMMM | Wide | September |\n * | | MMMMM | Narrow | S |\n * | Month standalone | L | Numeric: 1 digit | 9, 12 |\n * | | LL | Numeric: 2 digits + zero padded | 09, 12 |\n * | | LLL | Abbreviated | Sep |\n * | | LLLL | Wide | September |\n * | | LLLLL | Narrow | S |\n * | Week of year | w | Numeric: minimum digits | 1... 53 |\n * | | ww | Numeric: 2 digits + zero padded | 01... 53 |\n * | Week of month | W | Numeric: 1 digit | 1... 5 |\n * | Day of month | d | Numeric: minimum digits | 1 |\n * | | dd | Numeric: 2 digits + zero padded | 01 |\n * | Week day | E, EE & EEE | Abbreviated | Tue |\n * | | EEEE | Wide | Tuesday |\n * | | EEEEE | Narrow | T |\n * | | EEEEEE | Short | Tu |\n * | Week day standalone | c, cc | Numeric: 1 digit | 2 |\n * | | ccc | Abbreviated | Tue |\n * | | cccc | Wide | Tuesday |\n * | | ccccc | Narrow | T |\n * | | cccccc | Short | Tu |\n * | Period | a, aa & aaa | Abbreviated | am/pm or AM/PM |\n * | | aaaa | Wide (fallback to `a` when missing) | ante meridiem/post meridiem |\n * | | aaaaa | Narrow | a/p |\n * | Period* | B, BB & BBB | Abbreviated | mid. |\n * | | BBBB | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | BBBBB | Narrow | md |\n * | Period standalone* | b, bb & bbb | Abbreviated | mid. |\n * | | bbbb | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | bbbbb | Narrow | md |\n * | Hour 1-12 | h | Numeric: minimum digits | 1, 12 |\n * | | hh | Numeric: 2 digits + zero padded | 01, 12 |\n * | Hour 0-23 | H | Numeric: minimum digits | 0, 23 |\n * | | HH | Numeric: 2 digits + zero padded | 00, 23 |\n * | Minute | m | Numeric: minimum digits | 8, 59 |\n * | | mm | Numeric: 2 digits + zero padded | 08, 59 |\n * | Second | s | Numeric: minimum digits | 0... 59 |\n * | | ss | Numeric: 2 digits + zero padded | 00... 59 |\n * | Fractional seconds | S | Numeric: 1 digit | 0... 9 |\n * | | SS | Numeric: 2 digits + zero padded | 00... 99 |\n * | | SSS | Numeric: 3 digits + zero padded (= milliseconds) | 000... 999 |\n * | Zone | z, zz & zzz | Short specific non location format (fallback to O) | GMT-8 |\n * | | zzzz | Long specific non location format (fallback to OOOO) | GMT-08:00 |\n * | | Z, ZZ & ZZZ | ISO8601 basic format | -0800 |\n * | | ZZZZ | Long localized GMT format | GMT-8:00 |\n * | | ZZZZZ | ISO8601 extended format + Z indicator for offset 0 (= XXXXX) | -08:00 |\n * | | O, OO & OOO | Short localized GMT format | GMT-8 |\n * | | OOOO | Long localized GMT format | GMT-08:00 |\n *\n *\n * ### Format examples\n *\n * These examples transform a date into various formats,\n * assuming that `dateObj` is a JavaScript `Date` object for\n * year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11,\n * given in the local time for the `en-US` locale.\n *\n * ```\n * {{ dateObj | date }} // output is 'Jun 15, 2015'\n * {{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'\n * {{ dateObj | date:'shortTime' }} // output is '9:43 PM'\n * {{ dateObj | date:'mm:ss' }} // output is '43:11'\n * ```\n *\n * ### Usage example\n *\n * The following component uses a date pipe to display the current date in different formats.\n *\n * ```\n * @Component({\n * selector: 'date-pipe',\n * template: `
    \n *

    Today is {{today | date}}

    \n *

    Or if you prefer, {{today | date:'fullDate'}}

    \n *

    The time is {{today | date:'h:mm a z'}}

    \n *
    `\n * })\n * // Get the current date and time as a date-time value.\n * export class DatePipeComponent {\n * today: number = Date.now();\n * }\n * ```\n *\n * @publicApi\n */\n// clang-format on\nclass DatePipe {\n constructor(locale, defaultTimezone) {\n this.locale = locale;\n this.defaultTimezone = defaultTimezone;\n }\n transform(value, format = 'mediumDate', timezone, locale) {\n if (value == null || value === '' || value !== value)\n return null;\n try {\n return formatDate(value, format, locale || this.locale, timezone ?? this.defaultTimezone ?? undefined);\n }\n catch (error) {\n throw invalidPipeArgumentError(DatePipe, error.message);\n }\n }\n}\nDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: DatePipe, deps: [{ token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });\nDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.1\", ngImport: i0, type: DatePipe, isStandalone: true, name: \"date\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: DatePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'date',\n pure: true,\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DATE_PIPE_DEFAULT_TIMEZONE]\n }, {\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _INTERPOLATION_REGEXP = /#/g;\n/**\n * @ngModule CommonModule\n * @description\n *\n * Maps a value to a string that pluralizes the value according to locale rules.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}\n *\n * @publicApi\n */\nclass I18nPluralPipe {\n constructor(_localization) {\n this._localization = _localization;\n }\n /**\n * @param value the number to be formatted\n * @param pluralMap an object that mimics the ICU format, see\n * http://userguide.icu-project.org/formatparse/messages.\n * @param locale a `string` defining the locale to use (uses the current {@link LOCALE_ID} by\n * default).\n */\n transform(value, pluralMap, locale) {\n if (value == null)\n return '';\n if (typeof pluralMap !== 'object' || pluralMap === null) {\n throw invalidPipeArgumentError(I18nPluralPipe, pluralMap);\n }\n const key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);\n return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());\n }\n}\nI18nPluralPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });\nI18nPluralPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.1\", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: \"i18nPlural\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: I18nPluralPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'i18nPlural',\n pure: true,\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: NgLocalization }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Generic selector that displays the string that matches the current value.\n *\n * If none of the keys of the `mapping` match the `value`, then the content\n * of the `other` key is returned when present, otherwise an empty string is returned.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}\n *\n * @publicApi\n */\nclass I18nSelectPipe {\n /**\n * @param value a string to be internationalized.\n * @param mapping an object that indicates the text that should be displayed\n * for different values of the provided `value`.\n */\n transform(value, mapping) {\n if (value == null)\n return '';\n if (typeof mapping !== 'object' || typeof value !== 'string') {\n throw invalidPipeArgumentError(I18nSelectPipe, mapping);\n }\n if (mapping.hasOwnProperty(value)) {\n return mapping[value];\n }\n if (mapping.hasOwnProperty('other')) {\n return mapping['other'];\n }\n return '';\n }\n}\nI18nSelectPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nI18nSelectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.1\", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: \"i18nSelect\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: I18nSelectPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'i18nSelect',\n pure: true,\n standalone: true,\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Converts a value into its JSON-format representation. Useful for debugging.\n *\n * @usageNotes\n *\n * The following component uses a JSON pipe to convert an object\n * to JSON format, and displays the string in both formats for comparison.\n *\n * {@example common/pipes/ts/json_pipe.ts region='JsonPipe'}\n *\n * @publicApi\n */\nclass JsonPipe {\n /**\n * @param value A value of any type to convert into a JSON-format string.\n */\n transform(value) {\n return JSON.stringify(value, null, 2);\n }\n}\nJsonPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nJsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.1\", ngImport: i0, type: JsonPipe, isStandalone: true, name: \"json\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: JsonPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'json',\n pure: false,\n standalone: true,\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction makeKeyValuePair(key, value) {\n return { key: key, value: value };\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms Object or Map into an array of key value pairs.\n *\n * The output array will be ordered by keys.\n * By default the comparator will be by Unicode point value.\n * You can optionally pass a compareFn if your keys are complex types.\n *\n * @usageNotes\n * ### Examples\n *\n * This examples show how an Object or a Map can be iterated by ngFor with the use of this\n * keyvalue pipe.\n *\n * {@example common/pipes/ts/keyvalue_pipe.ts region='KeyValuePipe'}\n *\n * @publicApi\n */\nclass KeyValuePipe {\n constructor(differs) {\n this.differs = differs;\n this.keyValues = [];\n this.compareFn = defaultComparator;\n }\n transform(input, compareFn = defaultComparator) {\n if (!input || (!(input instanceof Map) && typeof input !== 'object')) {\n return null;\n }\n if (!this.differ) {\n // make a differ for whatever type we've been passed in\n this.differ = this.differs.find(input).create();\n }\n const differChanges = this.differ.diff(input);\n const compareFnChanged = compareFn !== this.compareFn;\n if (differChanges) {\n this.keyValues = [];\n differChanges.forEachItem((r) => {\n this.keyValues.push(makeKeyValuePair(r.key, r.currentValue));\n });\n }\n if (differChanges || compareFnChanged) {\n this.keyValues.sort(compareFn);\n this.compareFn = compareFn;\n }\n return this.keyValues;\n }\n}\nKeyValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });\nKeyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.1\", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: \"keyvalue\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: KeyValuePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'keyvalue',\n pure: false,\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }]; } });\nfunction defaultComparator(keyValueA, keyValueB) {\n const a = keyValueA.key;\n const b = keyValueB.key;\n // if same exit with 0;\n if (a === b)\n return 0;\n // make sure that undefined are at the end of the sort.\n if (a === undefined)\n return 1;\n if (b === undefined)\n return -1;\n // make sure that nulls are at the end of the sort.\n if (a === null)\n return 1;\n if (b === null)\n return -1;\n if (typeof a == 'string' && typeof b == 'string') {\n return a < b ? -1 : 1;\n }\n if (typeof a == 'number' && typeof b == 'number') {\n return a - b;\n }\n if (typeof a == 'boolean' && typeof b == 'boolean') {\n return a < b ? -1 : 1;\n }\n // `a` and `b` are of different types. Compare their string values.\n const aString = String(a);\n const bString = String(b);\n return aString == bString ? 0 : aString < bString ? -1 : 1;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a value according to digit options and locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * @see `formatNumber()`\n *\n * @usageNotes\n *\n * ### digitsInfo\n *\n * The value's decimal representation is specified by the `digitsInfo`\n * parameter, written in the following format:
    \n *\n * ```\n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}\n * ```\n *\n * - `minIntegerDigits`:\n * The minimum number of integer digits before the decimal point.\n * Default is 1.\n *\n * - `minFractionDigits`:\n * The minimum number of digits after the decimal point.\n * Default is 0.\n *\n * - `maxFractionDigits`:\n * The maximum number of digits after the decimal point.\n * Default is 3.\n *\n * If the formatted value is truncated it will be rounded using the \"to-nearest\" method:\n *\n * ```\n * {{3.6 | number: '1.0-0'}}\n * \n *\n * {{-3.6 | number:'1.0-0'}}\n * \n * ```\n *\n * ### locale\n *\n * `locale` will format a value according to locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n *\n * See [Setting your app locale](guide/i18n-common-locale-id).\n *\n * ### Example\n *\n * The following code shows how the pipe transforms values\n * according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass DecimalPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n /**\n * @param value The value to be formatted.\n * @param digitsInfo Sets digit and decimal representation.\n * [See more](#digitsinfo).\n * @param locale Specifies what locale format rules to use.\n * [See more](#locale).\n */\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatNumber(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(DecimalPipe, error.message);\n }\n }\n}\nDecimalPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nDecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.1\", ngImport: i0, type: DecimalPipe, isStandalone: true, name: \"number\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: DecimalPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'number',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a percentage\n * string, formatted according to locale rules that determine group sizing and\n * separator, decimal-point character, and other locale-specific\n * configurations.\n *\n * @see `formatPercent()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass PercentPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n /**\n *\n * @param value The number to be formatted as a percentage.\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `0`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n-common-locale-id).\n */\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatPercent(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(PercentPipe, error.message);\n }\n }\n}\nPercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.1\", ngImport: i0, type: PercentPipe, isStandalone: true, name: \"percent\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: PercentPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'percent',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a currency string, formatted according to locale rules\n * that determine group sizing and separator, decimal-point character,\n * and other locale-specific configurations.\n *\n * {@a currency-code-deprecation}\n *
    \n *\n * **Deprecation notice:**\n *\n * The default currency code is currently always `USD` but this is deprecated from v9.\n *\n * **In v11 the default currency code will be taken from the current locale identified by\n * the `LOCALE_ID` token. See the [i18n guide](guide/i18n-common-locale-id) for\n * more information.**\n *\n * If you need the previous behavior then set it by creating a `DEFAULT_CURRENCY_CODE` provider in\n * your application `NgModule`:\n *\n * ```ts\n * {provide: DEFAULT_CURRENCY_CODE, useValue: 'USD'}\n * ```\n *\n *
    \n *\n * @see `getCurrencySymbol()`\n * @see `formatCurrency()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass CurrencyPipe {\n constructor(_locale, _defaultCurrencyCode = 'USD') {\n this._locale = _locale;\n this._defaultCurrencyCode = _defaultCurrencyCode;\n }\n /**\n *\n * @param value The number to be formatted as currency.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code,\n * such as `USD` for the US dollar and `EUR` for the euro. The default currency code can be\n * configured using the `DEFAULT_CURRENCY_CODE` injection token.\n * @param display The format for the currency indicator. One of the following:\n * - `code`: Show the code (such as `USD`).\n * - `symbol`(default): Show the symbol (such as `$`).\n * - `symbol-narrow`: Use the narrow symbol for locales that have two symbols for their\n * currency.\n * For example, the Canadian dollar CAD has the symbol `CA$` and the symbol-narrow `$`. If the\n * locale has no narrow symbol, uses the standard symbol for the locale.\n * - String: Use the given string value instead of a code or a symbol.\n * For example, an empty string will suppress the currency & symbol.\n * - Boolean (marked deprecated in v5): `true` for symbol and false for `code`.\n *\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `2`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `2`.\n * If not provided, the number will be formatted with the proper amount of digits,\n * depending on what the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) specifies.\n * For example, the Canadian dollar has 2 digits, whereas the Chilean peso has none.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n-common-locale-id).\n */\n transform(value, currencyCode = this._defaultCurrencyCode, display = 'symbol', digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n if (typeof display === 'boolean') {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && console && console.warn) {\n console.warn(`Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are \"code\", \"symbol\" or \"symbol-narrow\".`);\n }\n display = display ? 'symbol' : 'code';\n }\n let currency = currencyCode || this._defaultCurrencyCode;\n if (display !== 'code') {\n if (display === 'symbol' || display === 'symbol-narrow') {\n currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale);\n }\n else {\n currency = display;\n }\n }\n try {\n const num = strToNumber(value);\n return formatCurrency(num, locale, currency, currencyCode, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(CurrencyPipe, error.message);\n }\n }\n}\nCurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });\nCurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.1\", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: \"currency\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: CurrencyPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'currency',\n standalone: true,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DEFAULT_CURRENCY_CODE]\n }] }]; } });\nfunction isValue(value) {\n return !(value == null || value === '' || value !== value);\n}\n/**\n * Transforms a string into a number (if needed).\n */\nfunction strToNumber(value) {\n // Convert strings to numbers\n if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n return Number(value);\n }\n if (typeof value !== 'number') {\n throw new Error(`${value} is not a number`);\n }\n return value;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Creates a new `Array` or `String` containing a subset (slice) of the elements.\n *\n * @usageNotes\n *\n * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`\n * and `String.prototype.slice()`.\n *\n * When operating on an `Array`, the returned `Array` is always a copy even when all\n * the elements are being returned.\n *\n * When operating on a blank value, the pipe returns the blank value.\n *\n * ### List Example\n *\n * This `ngFor` example:\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}\n *\n * produces the following:\n *\n * ```html\n *
  • b
  • \n *
  • c
  • \n * ```\n *\n * ### String Examples\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_string'}\n *\n * @publicApi\n */\nclass SlicePipe {\n transform(value, start, end) {\n if (value == null)\n return null;\n if (!this.supports(value)) {\n throw invalidPipeArgumentError(SlicePipe, value);\n }\n return value.slice(start, end);\n }\n supports(obj) {\n return typeof obj === 'string' || Array.isArray(obj);\n }\n}\nSlicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nSlicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.1\", ngImport: i0, type: SlicePipe, isStandalone: true, name: \"slice\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: SlicePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'slice',\n pure: false,\n standalone: true,\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular pipes that are likely to be used in each and every application.\n */\nconst COMMON_PIPES = [\n AsyncPipe,\n UpperCasePipe,\n LowerCasePipe,\n JsonPipe,\n SlicePipe,\n DecimalPipe,\n PercentPipe,\n TitleCasePipe,\n CurrencyPipe,\n DatePipe,\n I18nPluralPipe,\n I18nSelectPipe,\n KeyValuePipe,\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Note: This does not contain the location providers,\n// as they need some platform specific implementations to work.\n/**\n * Exports all the basic Angular directives and pipes,\n * such as `NgIf`, `NgForOf`, `DecimalPipe`, and so on.\n * Re-exported by `BrowserModule`, which is included automatically in the root\n * `AppModule` when you create a new app with the CLI `new` command.\n *\n * @publicApi\n */\nclass CommonModule {\n}\nCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.1.1\", ngImport: i0, type: CommonModule, imports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe], exports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe] });\nCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: CommonModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: CommonModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [COMMON_DIRECTIVES, COMMON_PIPES],\n exports: [COMMON_DIRECTIVES, COMMON_PIPES],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PLATFORM_BROWSER_ID = 'browser';\nconst PLATFORM_SERVER_ID = 'server';\nconst PLATFORM_WORKER_APP_ID = 'browserWorkerApp';\nconst PLATFORM_WORKER_UI_ID = 'browserWorkerUi';\n/**\n * Returns whether a platform id represents a browser platform.\n * @publicApi\n */\nfunction isPlatformBrowser(platformId) {\n return platformId === PLATFORM_BROWSER_ID;\n}\n/**\n * Returns whether a platform id represents a server platform.\n * @publicApi\n */\nfunction isPlatformServer(platformId) {\n return platformId === PLATFORM_SERVER_ID;\n}\n/**\n * Returns whether a platform id represents a web worker app platform.\n * @publicApi\n */\nfunction isPlatformWorkerApp(platformId) {\n return platformId === PLATFORM_WORKER_APP_ID;\n}\n/**\n * Returns whether a platform id represents a web worker UI platform.\n * @publicApi\n */\nfunction isPlatformWorkerUi(platformId) {\n return platformId === PLATFORM_WORKER_UI_ID;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nconst VERSION = new Version('14.1.1');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.\n *\n * @publicApi\n */\nclass ViewportScroller {\n}\n// De-sugared tree-shakable injection\n// See #23917\n/** @nocollapse */\nViewportScroller.ɵprov = ɵɵdefineInjectable({\n token: ViewportScroller,\n providedIn: 'root',\n factory: () => new BrowserViewportScroller(ɵɵinject(DOCUMENT), window)\n});\n/**\n * Manages the scroll position for a browser window.\n */\nclass BrowserViewportScroller {\n constructor(document, window) {\n this.document = document;\n this.window = window;\n this.offset = () => [0, 0];\n }\n /**\n * Configures the top offset used when scrolling to an anchor.\n * @param offset A position in screen coordinates (a tuple with x and y values)\n * or a function that returns the top offset position.\n *\n */\n setOffset(offset) {\n if (Array.isArray(offset)) {\n this.offset = () => offset;\n }\n else {\n this.offset = offset;\n }\n }\n /**\n * Retrieves the current scroll position.\n * @returns The position in screen coordinates.\n */\n getScrollPosition() {\n if (this.supportsScrolling()) {\n return [this.window.pageXOffset, this.window.pageYOffset];\n }\n else {\n return [0, 0];\n }\n }\n /**\n * Sets the scroll position.\n * @param position The new position in screen coordinates.\n */\n scrollToPosition(position) {\n if (this.supportsScrolling()) {\n this.window.scrollTo(position[0], position[1]);\n }\n }\n /**\n * Scrolls to an element and attempts to focus the element.\n *\n * Note that the function name here is misleading in that the target string may be an ID for a\n * non-anchor element.\n *\n * @param target The ID of an element or name of the anchor.\n *\n * @see https://html.spec.whatwg.org/#the-indicated-part-of-the-document\n * @see https://html.spec.whatwg.org/#scroll-to-fragid\n */\n scrollToAnchor(target) {\n if (!this.supportsScrolling()) {\n return;\n }\n const elSelected = findAnchorFromDocument(this.document, target);\n if (elSelected) {\n this.scrollToElement(elSelected);\n // After scrolling to the element, the spec dictates that we follow the focus steps for the\n // target. Rather than following the robust steps, simply attempt focus.\n //\n // @see https://html.spec.whatwg.org/#get-the-focusable-area\n // @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus\n // @see https://html.spec.whatwg.org/#focusable-area\n elSelected.focus();\n }\n }\n /**\n * Disables automatic scroll restoration provided by the browser.\n */\n setHistoryScrollRestoration(scrollRestoration) {\n if (this.supportScrollRestoration()) {\n const history = this.window.history;\n if (history && history.scrollRestoration) {\n history.scrollRestoration = scrollRestoration;\n }\n }\n }\n /**\n * Scrolls to an element using the native offset and the specified offset set on this scroller.\n *\n * The offset can be used when we know that there is a floating header and scrolling naively to an\n * element (ex: `scrollIntoView`) leaves the element hidden behind the floating header.\n */\n scrollToElement(el) {\n const rect = el.getBoundingClientRect();\n const left = rect.left + this.window.pageXOffset;\n const top = rect.top + this.window.pageYOffset;\n const offset = this.offset();\n this.window.scrollTo(left - offset[0], top - offset[1]);\n }\n /**\n * We only support scroll restoration when we can get a hold of window.\n * This means that we do not support this behavior when running in a web worker.\n *\n * Lifting this restriction right now would require more changes in the dom adapter.\n * Since webworkers aren't widely used, we will lift it once RouterScroller is\n * battle-tested.\n */\n supportScrollRestoration() {\n try {\n if (!this.supportsScrolling()) {\n return false;\n }\n // The `scrollRestoration` property could be on the `history` instance or its prototype.\n const scrollRestorationDescriptor = getScrollRestorationProperty(this.window.history) ||\n getScrollRestorationProperty(Object.getPrototypeOf(this.window.history));\n // We can write to the `scrollRestoration` property if it is a writable data field or it has a\n // setter function.\n return !!scrollRestorationDescriptor &&\n !!(scrollRestorationDescriptor.writable || scrollRestorationDescriptor.set);\n }\n catch {\n return false;\n }\n }\n supportsScrolling() {\n try {\n return !!this.window && !!this.window.scrollTo && 'pageXOffset' in this.window;\n }\n catch {\n return false;\n }\n }\n}\nfunction getScrollRestorationProperty(obj) {\n return Object.getOwnPropertyDescriptor(obj, 'scrollRestoration');\n}\nfunction findAnchorFromDocument(document, target) {\n const documentResult = document.getElementById(target) || document.getElementsByName(target)[0];\n if (documentResult) {\n return documentResult;\n }\n // `getElementById` and `getElementsByName` won't pierce through the shadow DOM so we\n // have to traverse the DOM manually and do the lookup through the shadow roots.\n if (typeof document.createTreeWalker === 'function' && document.body &&\n (document.body.createShadowRoot || document.body.attachShadow)) {\n const treeWalker = document.createTreeWalker(document.body, NodeFilter.SHOW_ELEMENT);\n let currentNode = treeWalker.currentNode;\n while (currentNode) {\n const shadowRoot = currentNode.shadowRoot;\n if (shadowRoot) {\n // Note that `ShadowRoot` doesn't support `getElementsByName`\n // so we have to fall back to `querySelector`.\n const result = shadowRoot.getElementById(target) || shadowRoot.querySelector(`[name=\"${target}\"]`);\n if (result) {\n return result;\n }\n }\n currentNode = treeWalker.nextNode();\n }\n }\n return null;\n}\n/**\n * Provides an empty implementation of the viewport scroller.\n */\nclass NullViewportScroller {\n /**\n * Empty implementation\n */\n setOffset(offset) { }\n /**\n * Empty implementation\n */\n getScrollPosition() {\n return [0, 0];\n }\n /**\n * Empty implementation\n */\n scrollToPosition(position) { }\n /**\n * Empty implementation\n */\n scrollToAnchor(anchor) { }\n /**\n * Empty implementation\n */\n setHistoryScrollRestoration(scrollRestoration) { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A wrapper around the `XMLHttpRequest` constructor.\n *\n * @publicApi\n */\nclass XhrFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// This file only reexports content of the `src` folder. Keep it that way.\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { APP_BASE_HREF, AsyncPipe, CommonModule, CurrencyPipe, DATE_PIPE_DEFAULT_TIMEZONE, DOCUMENT, DatePipe, DecimalPipe, FormStyle, FormatWidth, HashLocationStrategy, I18nPluralPipe, I18nSelectPipe, JsonPipe, KeyValuePipe, LOCATION_INITIALIZED, Location, LocationStrategy, LowerCasePipe, NgClass, NgComponentOutlet, NgForOf, NgForOfContext, NgIf, NgIfContext, NgLocaleLocalization, NgLocalization, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NumberFormatStyle, NumberSymbol, PathLocationStrategy, PercentPipe, PlatformLocation, Plural, SlicePipe, TitleCasePipe, TranslationWidth, UpperCasePipe, VERSION, ViewportScroller, WeekDay, XhrFactory, formatCurrency, formatDate, formatNumber, formatPercent, getCurrencySymbol, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleDirection, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleFirstDayOfWeek, getLocaleId, getLocaleMonthNames, getLocaleNumberFormat, getLocaleNumberSymbol, getLocalePluralCase, getLocaleTimeFormat, getLocaleWeekEndRange, getNumberOfCurrencyDigits, isPlatformBrowser, isPlatformServer, isPlatformWorkerApp, isPlatformWorkerUi, registerLocaleData, BrowserPlatformLocation as ɵBrowserPlatformLocation, DomAdapter as ɵDomAdapter, NullViewportScroller as ɵNullViewportScroller, PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, PLATFORM_WORKER_APP_ID as ɵPLATFORM_WORKER_APP_ID, PLATFORM_WORKER_UI_ID as ɵPLATFORM_WORKER_UI_ID, getDOM as ɵgetDOM, parseCookieValue as ɵparseCookieValue, setRootDomAdapter as ɵsetRootDomAdapter };\n","/**\n * @license Angular v14.1.1\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i1 from '@angular/common';\nimport { DOCUMENT, ɵparseCookieValue, XhrFactory as XhrFactory$1 } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken, Inject, PLATFORM_ID, NgModule } from '@angular/core';\nimport { of, Observable } from 'rxjs';\nimport { concatMap, filter, map } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Transforms an `HttpRequest` into a stream of `HttpEvent`s, one of which will likely be a\n * `HttpResponse`.\n *\n * `HttpHandler` is injectable. When injected, the handler instance dispatches requests to the\n * first interceptor in the chain, which dispatches to the second, etc, eventually reaching the\n * `HttpBackend`.\n *\n * In an `HttpInterceptor`, the `HttpHandler` parameter is the next interceptor in the chain.\n *\n * @publicApi\n */\nclass HttpHandler {\n}\n/**\n * A final `HttpHandler` which will dispatch the request via browser HTTP APIs to a backend.\n *\n * Interceptors sit between the `HttpClient` interface and the `HttpBackend`.\n *\n * When injected, `HttpBackend` dispatches requests directly to the backend, without going\n * through the interceptor chain.\n *\n * @publicApi\n */\nclass HttpBackend {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Represents the header configuration options for an HTTP request.\n * Instances are immutable. Modifying methods return a cloned\n * instance with the change. The original object is never changed.\n *\n * @publicApi\n */\nclass HttpHeaders {\n /** Constructs a new HTTP header object with the given values.*/\n constructor(headers) {\n /**\n * Internal map of lowercased header names to the normalized\n * form of the name (the form seen first).\n */\n this.normalizedNames = new Map();\n /**\n * Queued updates to be materialized the next initialization.\n */\n this.lazyUpdate = null;\n if (!headers) {\n this.headers = new Map();\n }\n else if (typeof headers === 'string') {\n this.lazyInit = () => {\n this.headers = new Map();\n headers.split('\\n').forEach(line => {\n const index = line.indexOf(':');\n if (index > 0) {\n const name = line.slice(0, index);\n const key = name.toLowerCase();\n const value = line.slice(index + 1).trim();\n this.maybeSetNormalizedName(name, key);\n if (this.headers.has(key)) {\n this.headers.get(key).push(value);\n }\n else {\n this.headers.set(key, [value]);\n }\n }\n });\n };\n }\n else {\n this.lazyInit = () => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n assertValidHeaders(headers);\n }\n this.headers = new Map();\n Object.keys(headers).forEach(name => {\n let values = headers[name];\n const key = name.toLowerCase();\n if (typeof values === 'string') {\n values = [values];\n }\n if (values.length > 0) {\n this.headers.set(key, values);\n this.maybeSetNormalizedName(name, key);\n }\n });\n };\n }\n }\n /**\n * Checks for existence of a given header.\n *\n * @param name The header name to check for existence.\n *\n * @returns True if the header exists, false otherwise.\n */\n has(name) {\n this.init();\n return this.headers.has(name.toLowerCase());\n }\n /**\n * Retrieves the first value of a given header.\n *\n * @param name The header name.\n *\n * @returns The value string if the header exists, null otherwise\n */\n get(name) {\n this.init();\n const values = this.headers.get(name.toLowerCase());\n return values && values.length > 0 ? values[0] : null;\n }\n /**\n * Retrieves the names of the headers.\n *\n * @returns A list of header names.\n */\n keys() {\n this.init();\n return Array.from(this.normalizedNames.values());\n }\n /**\n * Retrieves a list of values for a given header.\n *\n * @param name The header name from which to retrieve values.\n *\n * @returns A string of values if the header exists, null otherwise.\n */\n getAll(name) {\n this.init();\n return this.headers.get(name.toLowerCase()) || null;\n }\n /**\n * Appends a new value to the existing set of values for a header\n * and returns them in a clone of the original instance.\n *\n * @param name The header name for which to append the values.\n * @param value The value to append.\n *\n * @returns A clone of the HTTP headers object with the value appended to the given header.\n */\n append(name, value) {\n return this.clone({ name, value, op: 'a' });\n }\n /**\n * Sets or modifies a value for a given header in a clone of the original instance.\n * If the header already exists, its value is replaced with the given value\n * in the returned object.\n *\n * @param name The header name.\n * @param value The value or values to set or override for the given header.\n *\n * @returns A clone of the HTTP headers object with the newly set header value.\n */\n set(name, value) {\n return this.clone({ name, value, op: 's' });\n }\n /**\n * Deletes values for a given header in a clone of the original instance.\n *\n * @param name The header name.\n * @param value The value or values to delete for the given header.\n *\n * @returns A clone of the HTTP headers object with the given value deleted.\n */\n delete(name, value) {\n return this.clone({ name, value, op: 'd' });\n }\n maybeSetNormalizedName(name, lcName) {\n if (!this.normalizedNames.has(lcName)) {\n this.normalizedNames.set(lcName, name);\n }\n }\n init() {\n if (!!this.lazyInit) {\n if (this.lazyInit instanceof HttpHeaders) {\n this.copyFrom(this.lazyInit);\n }\n else {\n this.lazyInit();\n }\n this.lazyInit = null;\n if (!!this.lazyUpdate) {\n this.lazyUpdate.forEach(update => this.applyUpdate(update));\n this.lazyUpdate = null;\n }\n }\n }\n copyFrom(other) {\n other.init();\n Array.from(other.headers.keys()).forEach(key => {\n this.headers.set(key, other.headers.get(key));\n this.normalizedNames.set(key, other.normalizedNames.get(key));\n });\n }\n clone(update) {\n const clone = new HttpHeaders();\n clone.lazyInit =\n (!!this.lazyInit && this.lazyInit instanceof HttpHeaders) ? this.lazyInit : this;\n clone.lazyUpdate = (this.lazyUpdate || []).concat([update]);\n return clone;\n }\n applyUpdate(update) {\n const key = update.name.toLowerCase();\n switch (update.op) {\n case 'a':\n case 's':\n let value = update.value;\n if (typeof value === 'string') {\n value = [value];\n }\n if (value.length === 0) {\n return;\n }\n this.maybeSetNormalizedName(update.name, key);\n const base = (update.op === 'a' ? this.headers.get(key) : undefined) || [];\n base.push(...value);\n this.headers.set(key, base);\n break;\n case 'd':\n const toDelete = update.value;\n if (!toDelete) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n }\n else {\n let existing = this.headers.get(key);\n if (!existing) {\n return;\n }\n existing = existing.filter(value => toDelete.indexOf(value) === -1);\n if (existing.length === 0) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n }\n else {\n this.headers.set(key, existing);\n }\n }\n break;\n }\n }\n /**\n * @internal\n */\n forEach(fn) {\n this.init();\n Array.from(this.normalizedNames.keys())\n .forEach(key => fn(this.normalizedNames.get(key), this.headers.get(key)));\n }\n}\n/**\n * Verifies that the headers object has the right shape: the values\n * must be either strings or arrays. Throws an error if an invalid\n * header value is present.\n */\nfunction assertValidHeaders(headers) {\n for (const [key, value] of Object.entries(headers)) {\n if (typeof value !== 'string' && !Array.isArray(value)) {\n throw new Error(`Unexpected value of the \\`${key}\\` header provided. ` +\n `Expecting either a string or an array, but got: \\`${value}\\`.`);\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Provides encoding and decoding of URL parameter and query-string values.\n *\n * Serializes and parses URL parameter keys and values to encode and decode them.\n * If you pass URL query parameters without encoding,\n * the query parameters can be misinterpreted at the receiving end.\n *\n *\n * @publicApi\n */\nclass HttpUrlEncodingCodec {\n /**\n * Encodes a key name for a URL parameter or query-string.\n * @param key The key name.\n * @returns The encoded key name.\n */\n encodeKey(key) {\n return standardEncoding(key);\n }\n /**\n * Encodes the value of a URL parameter or query-string.\n * @param value The value.\n * @returns The encoded value.\n */\n encodeValue(value) {\n return standardEncoding(value);\n }\n /**\n * Decodes an encoded URL parameter or query-string key.\n * @param key The encoded key name.\n * @returns The decoded key name.\n */\n decodeKey(key) {\n return decodeURIComponent(key);\n }\n /**\n * Decodes an encoded URL parameter or query-string value.\n * @param value The encoded value.\n * @returns The decoded value.\n */\n decodeValue(value) {\n return decodeURIComponent(value);\n }\n}\nfunction paramParser(rawParams, codec) {\n const map = new Map();\n if (rawParams.length > 0) {\n // The `window.location.search` can be used while creating an instance of the `HttpParams` class\n // (e.g. `new HttpParams({ fromString: window.location.search })`). The `window.location.search`\n // may start with the `?` char, so we strip it if it's present.\n const params = rawParams.replace(/^\\?/, '').split('&');\n params.forEach((param) => {\n const eqIdx = param.indexOf('=');\n const [key, val] = eqIdx == -1 ?\n [codec.decodeKey(param), ''] :\n [codec.decodeKey(param.slice(0, eqIdx)), codec.decodeValue(param.slice(eqIdx + 1))];\n const list = map.get(key) || [];\n list.push(val);\n map.set(key, list);\n });\n }\n return map;\n}\n/**\n * Encode input string with standard encodeURIComponent and then un-encode specific characters.\n */\nconst STANDARD_ENCODING_REGEX = /%(\\d[a-f0-9])/gi;\nconst STANDARD_ENCODING_REPLACEMENTS = {\n '40': '@',\n '3A': ':',\n '24': '$',\n '2C': ',',\n '3B': ';',\n '3D': '=',\n '3F': '?',\n '2F': '/',\n};\nfunction standardEncoding(v) {\n return encodeURIComponent(v).replace(STANDARD_ENCODING_REGEX, (s, t) => STANDARD_ENCODING_REPLACEMENTS[t] ?? s);\n}\nfunction valueToString(value) {\n return `${value}`;\n}\n/**\n * An HTTP request/response body that represents serialized parameters,\n * per the MIME type `application/x-www-form-urlencoded`.\n *\n * This class is immutable; all mutation operations return a new instance.\n *\n * @publicApi\n */\nclass HttpParams {\n constructor(options = {}) {\n this.updates = null;\n this.cloneFrom = null;\n this.encoder = options.encoder || new HttpUrlEncodingCodec();\n if (!!options.fromString) {\n if (!!options.fromObject) {\n throw new Error(`Cannot specify both fromString and fromObject.`);\n }\n this.map = paramParser(options.fromString, this.encoder);\n }\n else if (!!options.fromObject) {\n this.map = new Map();\n Object.keys(options.fromObject).forEach(key => {\n const value = options.fromObject[key];\n // convert the values to strings\n const values = Array.isArray(value) ? value.map(valueToString) : [valueToString(value)];\n this.map.set(key, values);\n });\n }\n else {\n this.map = null;\n }\n }\n /**\n * Reports whether the body includes one or more values for a given parameter.\n * @param param The parameter name.\n * @returns True if the parameter has one or more values,\n * false if it has no value or is not present.\n */\n has(param) {\n this.init();\n return this.map.has(param);\n }\n /**\n * Retrieves the first value for a parameter.\n * @param param The parameter name.\n * @returns The first value of the given parameter,\n * or `null` if the parameter is not present.\n */\n get(param) {\n this.init();\n const res = this.map.get(param);\n return !!res ? res[0] : null;\n }\n /**\n * Retrieves all values for a parameter.\n * @param param The parameter name.\n * @returns All values in a string array,\n * or `null` if the parameter not present.\n */\n getAll(param) {\n this.init();\n return this.map.get(param) || null;\n }\n /**\n * Retrieves all the parameters for this body.\n * @returns The parameter names in a string array.\n */\n keys() {\n this.init();\n return Array.from(this.map.keys());\n }\n /**\n * Appends a new value to existing values for a parameter.\n * @param param The parameter name.\n * @param value The new value to add.\n * @return A new body with the appended value.\n */\n append(param, value) {\n return this.clone({ param, value, op: 'a' });\n }\n /**\n * Constructs a new body with appended values for the given parameter name.\n * @param params parameters and values\n * @return A new body with the new value.\n */\n appendAll(params) {\n const updates = [];\n Object.keys(params).forEach(param => {\n const value = params[param];\n if (Array.isArray(value)) {\n value.forEach(_value => {\n updates.push({ param, value: _value, op: 'a' });\n });\n }\n else {\n updates.push({ param, value: value, op: 'a' });\n }\n });\n return this.clone(updates);\n }\n /**\n * Replaces the value for a parameter.\n * @param param The parameter name.\n * @param value The new value.\n * @return A new body with the new value.\n */\n set(param, value) {\n return this.clone({ param, value, op: 's' });\n }\n /**\n * Removes a given value or all values from a parameter.\n * @param param The parameter name.\n * @param value The value to remove, if provided.\n * @return A new body with the given value removed, or with all values\n * removed if no value is specified.\n */\n delete(param, value) {\n return this.clone({ param, value, op: 'd' });\n }\n /**\n * Serializes the body to an encoded string, where key-value pairs (separated by `=`) are\n * separated by `&`s.\n */\n toString() {\n this.init();\n return this.keys()\n .map(key => {\n const eKey = this.encoder.encodeKey(key);\n // `a: ['1']` produces `'a=1'`\n // `b: []` produces `''`\n // `c: ['1', '2']` produces `'c=1&c=2'`\n return this.map.get(key).map(value => eKey + '=' + this.encoder.encodeValue(value))\n .join('&');\n })\n // filter out empty values because `b: []` produces `''`\n // which results in `a=1&&c=1&c=2` instead of `a=1&c=1&c=2` if we don't\n .filter(param => param !== '')\n .join('&');\n }\n clone(update) {\n const clone = new HttpParams({ encoder: this.encoder });\n clone.cloneFrom = this.cloneFrom || this;\n clone.updates = (this.updates || []).concat(update);\n return clone;\n }\n init() {\n if (this.map === null) {\n this.map = new Map();\n }\n if (this.cloneFrom !== null) {\n this.cloneFrom.init();\n this.cloneFrom.keys().forEach(key => this.map.set(key, this.cloneFrom.map.get(key)));\n this.updates.forEach(update => {\n switch (update.op) {\n case 'a':\n case 's':\n const base = (update.op === 'a' ? this.map.get(update.param) : undefined) || [];\n base.push(valueToString(update.value));\n this.map.set(update.param, base);\n break;\n case 'd':\n if (update.value !== undefined) {\n let base = this.map.get(update.param) || [];\n const idx = base.indexOf(valueToString(update.value));\n if (idx !== -1) {\n base.splice(idx, 1);\n }\n if (base.length > 0) {\n this.map.set(update.param, base);\n }\n else {\n this.map.delete(update.param);\n }\n }\n else {\n this.map.delete(update.param);\n break;\n }\n }\n });\n this.cloneFrom = this.updates = null;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A token used to manipulate and access values stored in `HttpContext`.\n *\n * @publicApi\n */\nclass HttpContextToken {\n constructor(defaultValue) {\n this.defaultValue = defaultValue;\n }\n}\n/**\n * Http context stores arbitrary user defined values and ensures type safety without\n * actually knowing the types. It is backed by a `Map` and guarantees that keys do not clash.\n *\n * This context is mutable and is shared between cloned requests unless explicitly specified.\n *\n * @usageNotes\n *\n * ### Usage Example\n *\n * ```typescript\n * // inside cache.interceptors.ts\n * export const IS_CACHE_ENABLED = new HttpContextToken(() => false);\n *\n * export class CacheInterceptor implements HttpInterceptor {\n *\n * intercept(req: HttpRequest, delegate: HttpHandler): Observable> {\n * if (req.context.get(IS_CACHE_ENABLED) === true) {\n * return ...;\n * }\n * return delegate.handle(req);\n * }\n * }\n *\n * // inside a service\n *\n * this.httpClient.get('/api/weather', {\n * context: new HttpContext().set(IS_CACHE_ENABLED, true)\n * }).subscribe(...);\n * ```\n *\n * @publicApi\n */\nclass HttpContext {\n constructor() {\n this.map = new Map();\n }\n /**\n * Store a value in the context. If a value is already present it will be overwritten.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n * @param value The value to store.\n *\n * @returns A reference to itself for easy chaining.\n */\n set(token, value) {\n this.map.set(token, value);\n return this;\n }\n /**\n * Retrieve the value associated with the given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns The stored value or default if one is defined.\n */\n get(token) {\n if (!this.map.has(token)) {\n this.map.set(token, token.defaultValue());\n }\n return this.map.get(token);\n }\n /**\n * Delete the value associated with the given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns A reference to itself for easy chaining.\n */\n delete(token) {\n this.map.delete(token);\n return this;\n }\n /**\n * Checks for existence of a given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns True if the token exists, false otherwise.\n */\n has(token) {\n return this.map.has(token);\n }\n /**\n * @returns a list of tokens currently stored in the context.\n */\n keys() {\n return this.map.keys();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Determine whether the given HTTP method may include a body.\n */\nfunction mightHaveBody(method) {\n switch (method) {\n case 'DELETE':\n case 'GET':\n case 'HEAD':\n case 'OPTIONS':\n case 'JSONP':\n return false;\n default:\n return true;\n }\n}\n/**\n * Safely assert whether the given value is an ArrayBuffer.\n *\n * In some execution environments ArrayBuffer is not defined.\n */\nfunction isArrayBuffer(value) {\n return typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer;\n}\n/**\n * Safely assert whether the given value is a Blob.\n *\n * In some execution environments Blob is not defined.\n */\nfunction isBlob(value) {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n/**\n * Safely assert whether the given value is a FormData instance.\n *\n * In some execution environments FormData is not defined.\n */\nfunction isFormData(value) {\n return typeof FormData !== 'undefined' && value instanceof FormData;\n}\n/**\n * Safely assert whether the given value is a URLSearchParams instance.\n *\n * In some execution environments URLSearchParams is not defined.\n */\nfunction isUrlSearchParams(value) {\n return typeof URLSearchParams !== 'undefined' && value instanceof URLSearchParams;\n}\n/**\n * An outgoing HTTP request with an optional typed body.\n *\n * `HttpRequest` represents an outgoing request, including URL, method,\n * headers, body, and other request configuration options. Instances should be\n * assumed to be immutable. To modify a `HttpRequest`, the `clone`\n * method should be used.\n *\n * @publicApi\n */\nclass HttpRequest {\n constructor(method, url, third, fourth) {\n this.url = url;\n /**\n * The request body, or `null` if one isn't set.\n *\n * Bodies are not enforced to be immutable, as they can include a reference to any\n * user-defined data type. However, interceptors should take care to preserve\n * idempotence by treating them as such.\n */\n this.body = null;\n /**\n * Whether this request should be made in a way that exposes progress events.\n *\n * Progress events are expensive (change detection runs on each event) and so\n * they should only be requested if the consumer intends to monitor them.\n */\n this.reportProgress = false;\n /**\n * Whether this request should be sent with outgoing credentials (cookies).\n */\n this.withCredentials = false;\n /**\n * The expected response type of the server.\n *\n * This is used to parse the response appropriately before returning it to\n * the requestee.\n */\n this.responseType = 'json';\n this.method = method.toUpperCase();\n // Next, need to figure out which argument holds the HttpRequestInit\n // options, if any.\n let options;\n // Check whether a body argument is expected. The only valid way to omit\n // the body argument is to use a known no-body method like GET.\n if (mightHaveBody(this.method) || !!fourth) {\n // Body is the third argument, options are the fourth.\n this.body = (third !== undefined) ? third : null;\n options = fourth;\n }\n else {\n // No body required, options are the third argument. The body stays null.\n options = third;\n }\n // If options have been passed, interpret them.\n if (options) {\n // Normalize reportProgress and withCredentials.\n this.reportProgress = !!options.reportProgress;\n this.withCredentials = !!options.withCredentials;\n // Override default response type of 'json' if one is provided.\n if (!!options.responseType) {\n this.responseType = options.responseType;\n }\n // Override headers if they're provided.\n if (!!options.headers) {\n this.headers = options.headers;\n }\n if (!!options.context) {\n this.context = options.context;\n }\n if (!!options.params) {\n this.params = options.params;\n }\n }\n // If no headers have been passed in, construct a new HttpHeaders instance.\n if (!this.headers) {\n this.headers = new HttpHeaders();\n }\n // If no context have been passed in, construct a new HttpContext instance.\n if (!this.context) {\n this.context = new HttpContext();\n }\n // If no parameters have been passed in, construct a new HttpUrlEncodedParams instance.\n if (!this.params) {\n this.params = new HttpParams();\n this.urlWithParams = url;\n }\n else {\n // Encode the parameters to a string in preparation for inclusion in the URL.\n const params = this.params.toString();\n if (params.length === 0) {\n // No parameters, the visible URL is just the URL given at creation time.\n this.urlWithParams = url;\n }\n else {\n // Does the URL already have query parameters? Look for '?'.\n const qIdx = url.indexOf('?');\n // There are 3 cases to handle:\n // 1) No existing parameters -> append '?' followed by params.\n // 2) '?' exists and is followed by existing query string ->\n // append '&' followed by params.\n // 3) '?' exists at the end of the url -> append params directly.\n // This basically amounts to determining the character, if any, with\n // which to join the URL and parameters.\n const sep = qIdx === -1 ? '?' : (qIdx < url.length - 1 ? '&' : '');\n this.urlWithParams = url + sep + params;\n }\n }\n }\n /**\n * Transform the free-form body into a serialized format suitable for\n * transmission to the server.\n */\n serializeBody() {\n // If no body is present, no need to serialize it.\n if (this.body === null) {\n return null;\n }\n // Check whether the body is already in a serialized form. If so,\n // it can just be returned directly.\n if (isArrayBuffer(this.body) || isBlob(this.body) || isFormData(this.body) ||\n isUrlSearchParams(this.body) || typeof this.body === 'string') {\n return this.body;\n }\n // Check whether the body is an instance of HttpUrlEncodedParams.\n if (this.body instanceof HttpParams) {\n return this.body.toString();\n }\n // Check whether the body is an object or array, and serialize with JSON if so.\n if (typeof this.body === 'object' || typeof this.body === 'boolean' ||\n Array.isArray(this.body)) {\n return JSON.stringify(this.body);\n }\n // Fall back on toString() for everything else.\n return this.body.toString();\n }\n /**\n * Examine the body and attempt to infer an appropriate MIME type\n * for it.\n *\n * If no such type can be inferred, this method will return `null`.\n */\n detectContentTypeHeader() {\n // An empty body has no content type.\n if (this.body === null) {\n return null;\n }\n // FormData bodies rely on the browser's content type assignment.\n if (isFormData(this.body)) {\n return null;\n }\n // Blobs usually have their own content type. If it doesn't, then\n // no type can be inferred.\n if (isBlob(this.body)) {\n return this.body.type || null;\n }\n // Array buffers have unknown contents and thus no type can be inferred.\n if (isArrayBuffer(this.body)) {\n return null;\n }\n // Technically, strings could be a form of JSON data, but it's safe enough\n // to assume they're plain strings.\n if (typeof this.body === 'string') {\n return 'text/plain';\n }\n // `HttpUrlEncodedParams` has its own content-type.\n if (this.body instanceof HttpParams) {\n return 'application/x-www-form-urlencoded;charset=UTF-8';\n }\n // Arrays, objects, boolean and numbers will be encoded as JSON.\n if (typeof this.body === 'object' || typeof this.body === 'number' ||\n typeof this.body === 'boolean') {\n return 'application/json';\n }\n // No type could be inferred.\n return null;\n }\n clone(update = {}) {\n // For method, url, and responseType, take the current value unless\n // it is overridden in the update hash.\n const method = update.method || this.method;\n const url = update.url || this.url;\n const responseType = update.responseType || this.responseType;\n // The body is somewhat special - a `null` value in update.body means\n // whatever current body is present is being overridden with an empty\n // body, whereas an `undefined` value in update.body implies no\n // override.\n const body = (update.body !== undefined) ? update.body : this.body;\n // Carefully handle the boolean options to differentiate between\n // `false` and `undefined` in the update args.\n const withCredentials = (update.withCredentials !== undefined) ? update.withCredentials : this.withCredentials;\n const reportProgress = (update.reportProgress !== undefined) ? update.reportProgress : this.reportProgress;\n // Headers and params may be appended to if `setHeaders` or\n // `setParams` are used.\n let headers = update.headers || this.headers;\n let params = update.params || this.params;\n // Pass on context if needed\n const context = update.context ?? this.context;\n // Check whether the caller has asked to add headers.\n if (update.setHeaders !== undefined) {\n // Set every requested header.\n headers =\n Object.keys(update.setHeaders)\n .reduce((headers, name) => headers.set(name, update.setHeaders[name]), headers);\n }\n // Check whether the caller has asked to set params.\n if (update.setParams) {\n // Set every requested param.\n params = Object.keys(update.setParams)\n .reduce((params, param) => params.set(param, update.setParams[param]), params);\n }\n // Finally, construct the new HttpRequest using the pieces from above.\n return new HttpRequest(method, url, body, {\n params,\n headers,\n context,\n reportProgress,\n responseType,\n withCredentials,\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Type enumeration for the different kinds of `HttpEvent`.\n *\n * @publicApi\n */\nvar HttpEventType;\n(function (HttpEventType) {\n /**\n * The request was sent out over the wire.\n */\n HttpEventType[HttpEventType[\"Sent\"] = 0] = \"Sent\";\n /**\n * An upload progress event was received.\n */\n HttpEventType[HttpEventType[\"UploadProgress\"] = 1] = \"UploadProgress\";\n /**\n * The response status code and headers were received.\n */\n HttpEventType[HttpEventType[\"ResponseHeader\"] = 2] = \"ResponseHeader\";\n /**\n * A download progress event was received.\n */\n HttpEventType[HttpEventType[\"DownloadProgress\"] = 3] = \"DownloadProgress\";\n /**\n * The full response including the body was received.\n */\n HttpEventType[HttpEventType[\"Response\"] = 4] = \"Response\";\n /**\n * A custom event from an interceptor or a backend.\n */\n HttpEventType[HttpEventType[\"User\"] = 5] = \"User\";\n})(HttpEventType || (HttpEventType = {}));\n/**\n * Base class for both `HttpResponse` and `HttpHeaderResponse`.\n *\n * @publicApi\n */\nclass HttpResponseBase {\n /**\n * Super-constructor for all responses.\n *\n * The single parameter accepted is an initialization hash. Any properties\n * of the response passed there will override the default values.\n */\n constructor(init, defaultStatus = 200 /* HttpStatusCode.Ok */, defaultStatusText = 'OK') {\n // If the hash has values passed, use them to initialize the response.\n // Otherwise use the default values.\n this.headers = init.headers || new HttpHeaders();\n this.status = init.status !== undefined ? init.status : defaultStatus;\n this.statusText = init.statusText || defaultStatusText;\n this.url = init.url || null;\n // Cache the ok value to avoid defining a getter.\n this.ok = this.status >= 200 && this.status < 300;\n }\n}\n/**\n * A partial HTTP response which only includes the status and header data,\n * but no response body.\n *\n * `HttpHeaderResponse` is a `HttpEvent` available on the response\n * event stream, only when progress events are requested.\n *\n * @publicApi\n */\nclass HttpHeaderResponse extends HttpResponseBase {\n /**\n * Create a new `HttpHeaderResponse` with the given parameters.\n */\n constructor(init = {}) {\n super(init);\n this.type = HttpEventType.ResponseHeader;\n }\n /**\n * Copy this `HttpHeaderResponse`, overriding its contents with the\n * given parameter hash.\n */\n clone(update = {}) {\n // Perform a straightforward initialization of the new HttpHeaderResponse,\n // overriding the current parameters with new ones if given.\n return new HttpHeaderResponse({\n headers: update.headers || this.headers,\n status: update.status !== undefined ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n/**\n * A full HTTP response, including a typed response body (which may be `null`\n * if one was not returned).\n *\n * `HttpResponse` is a `HttpEvent` available on the response event\n * stream.\n *\n * @publicApi\n */\nclass HttpResponse extends HttpResponseBase {\n /**\n * Construct a new `HttpResponse`.\n */\n constructor(init = {}) {\n super(init);\n this.type = HttpEventType.Response;\n this.body = init.body !== undefined ? init.body : null;\n }\n clone(update = {}) {\n return new HttpResponse({\n body: (update.body !== undefined) ? update.body : this.body,\n headers: update.headers || this.headers,\n status: (update.status !== undefined) ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n/**\n * A response that represents an error or failure, either from a\n * non-successful HTTP status, an error while executing the request,\n * or some other failure which occurred during the parsing of the response.\n *\n * Any error returned on the `Observable` response stream will be\n * wrapped in an `HttpErrorResponse` to provide additional context about\n * the state of the HTTP layer when the error occurred. The error property\n * will contain either a wrapped Error object or the error response returned\n * from the server.\n *\n * @publicApi\n */\nclass HttpErrorResponse extends HttpResponseBase {\n constructor(init) {\n // Initialize with a default status of 0 / Unknown Error.\n super(init, 0, 'Unknown Error');\n this.name = 'HttpErrorResponse';\n /**\n * Errors are never okay, even when the status code is in the 2xx success range.\n */\n this.ok = false;\n // If the response was successful, then this was a parse error. Otherwise, it was\n // a protocol-level failure of some sort. Either the request failed in transit\n // or the server returned an unsuccessful status code.\n if (this.status >= 200 && this.status < 300) {\n this.message = `Http failure during parsing for ${init.url || '(unknown url)'}`;\n }\n else {\n this.message = `Http failure response for ${init.url || '(unknown url)'}: ${init.status} ${init.statusText}`;\n }\n this.error = init.error || null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Constructs an instance of `HttpRequestOptions` from a source `HttpMethodOptions` and\n * the given `body`. This function clones the object and adds the body.\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n *\n */\nfunction addBody(options, body) {\n return {\n body,\n headers: options.headers,\n context: options.context,\n observe: options.observe,\n params: options.params,\n reportProgress: options.reportProgress,\n responseType: options.responseType,\n withCredentials: options.withCredentials,\n };\n}\n/**\n * Performs HTTP requests.\n * This service is available as an injectable class, with methods to perform HTTP requests.\n * Each request method has multiple signatures, and the return type varies based on\n * the signature that is called (mainly the values of `observe` and `responseType`).\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n\n *\n * @usageNotes\n * Sample HTTP requests for the [Tour of Heroes](/tutorial/toh-pt0) application.\n *\n * ### HTTP Request Example\n *\n * ```\n * // GET heroes whose name contains search term\n * searchHeroes(term: string): observable{\n *\n * const params = new HttpParams({fromString: 'name=term'});\n * return this.httpClient.request('GET', this.heroesUrl, {responseType:'json', params});\n * }\n * ```\n *\n * Alternatively, the parameter string can be used without invoking HttpParams\n * by directly joining to the URL.\n * ```\n * this.httpClient.request('GET', this.heroesUrl + '?' + 'name=term', {responseType:'json'});\n * ```\n *\n *\n * ### JSONP Example\n * ```\n * requestJsonp(url, callback = 'callback') {\n * return this.httpClient.jsonp(this.heroesURL, callback);\n * }\n * ```\n *\n * ### PATCH Example\n * ```\n * // PATCH one of the heroes' name\n * patchHero (id: number, heroName: string): Observable<{}> {\n * const url = `${this.heroesUrl}/${id}`; // PATCH api/heroes/42\n * return this.httpClient.patch(url, {name: heroName}, httpOptions)\n * .pipe(catchError(this.handleError('patchHero')));\n * }\n * ```\n *\n * @see [HTTP Guide](guide/http)\n * @see [HTTP Request](api/common/http/HttpRequest)\n *\n * @publicApi\n */\nclass HttpClient {\n constructor(handler) {\n this.handler = handler;\n }\n /**\n * Constructs an observable for a generic HTTP request that, when subscribed,\n * fires the request through the chain of registered interceptors and on to the\n * server.\n *\n * You can pass an `HttpRequest` directly as the only parameter. In this case,\n * the call returns an observable of the raw `HttpEvent` stream.\n *\n * Alternatively you can pass an HTTP method as the first parameter,\n * a URL string as the second, and an options hash containing the request body as the third.\n * See `addBody()`. In this case, the specified `responseType` and `observe` options determine the\n * type of returned observable.\n * * The `responseType` value determines how a successful response body is parsed.\n * * If `responseType` is the default `json`, you can pass a type interface for the resulting\n * object as a type parameter to the call.\n *\n * The `observe` value determines the return type, according to what you are interested in\n * observing.\n * * An `observe` value of events returns an observable of the raw `HttpEvent` stream, including\n * progress events by default.\n * * An `observe` value of response returns an observable of `HttpResponse`,\n * where the `T` parameter depends on the `responseType` and any optionally provided type\n * parameter.\n * * An `observe` value of body returns an observable of `` with the same `T` body type.\n *\n */\n request(first, url, options = {}) {\n let req;\n // First, check whether the primary argument is an instance of `HttpRequest`.\n if (first instanceof HttpRequest) {\n // It is. The other arguments must be undefined (per the signatures) and can be\n // ignored.\n req = first;\n }\n else {\n // It's a string, so it represents a URL. Construct a request based on it,\n // and incorporate the remaining arguments (assuming `GET` unless a method is\n // provided.\n // Figure out the headers.\n let headers = undefined;\n if (options.headers instanceof HttpHeaders) {\n headers = options.headers;\n }\n else {\n headers = new HttpHeaders(options.headers);\n }\n // Sort out parameters.\n let params = undefined;\n if (!!options.params) {\n if (options.params instanceof HttpParams) {\n params = options.params;\n }\n else {\n params = new HttpParams({ fromObject: options.params });\n }\n }\n // Construct the request.\n req = new HttpRequest(first, url, (options.body !== undefined ? options.body : null), {\n headers,\n context: options.context,\n params,\n reportProgress: options.reportProgress,\n // By default, JSON is assumed to be returned for all calls.\n responseType: options.responseType || 'json',\n withCredentials: options.withCredentials,\n });\n }\n // Start with an Observable.of() the initial request, and run the handler (which\n // includes all interceptors) inside a concatMap(). This way, the handler runs\n // inside an Observable chain, which causes interceptors to be re-run on every\n // subscription (this also makes retries re-run the handler, including interceptors).\n const events$ = of(req).pipe(concatMap((req) => this.handler.handle(req)));\n // If coming via the API signature which accepts a previously constructed HttpRequest,\n // the only option is to get the event stream. Otherwise, return the event stream if\n // that is what was requested.\n if (first instanceof HttpRequest || options.observe === 'events') {\n return events$;\n }\n // The requested stream contains either the full response or the body. In either\n // case, the first step is to filter the event stream to extract a stream of\n // responses(s).\n const res$ = events$.pipe(filter((event) => event instanceof HttpResponse));\n // Decide which stream to return.\n switch (options.observe || 'body') {\n case 'body':\n // The requested stream is the body. Map the response stream to the response\n // body. This could be done more simply, but a misbehaving interceptor might\n // transform the response body into a different format and ignore the requested\n // responseType. Guard against this by validating that the response is of the\n // requested type.\n switch (req.responseType) {\n case 'arraybuffer':\n return res$.pipe(map((res) => {\n // Validate that the body is an ArrayBuffer.\n if (res.body !== null && !(res.body instanceof ArrayBuffer)) {\n throw new Error('Response is not an ArrayBuffer.');\n }\n return res.body;\n }));\n case 'blob':\n return res$.pipe(map((res) => {\n // Validate that the body is a Blob.\n if (res.body !== null && !(res.body instanceof Blob)) {\n throw new Error('Response is not a Blob.');\n }\n return res.body;\n }));\n case 'text':\n return res$.pipe(map((res) => {\n // Validate that the body is a string.\n if (res.body !== null && typeof res.body !== 'string') {\n throw new Error('Response is not a string.');\n }\n return res.body;\n }));\n case 'json':\n default:\n // No validation needed for JSON responses, as they can be of any type.\n return res$.pipe(map((res) => res.body));\n }\n case 'response':\n // The response stream was requested directly, so return it.\n return res$;\n default:\n // Guard against new future observe types being added.\n throw new Error(`Unreachable: unhandled observe type ${options.observe}}`);\n }\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `DELETE` request to execute on the server. See the individual overloads for\n * details on the return type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n */\n delete(url, options = {}) {\n return this.request('DELETE', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `GET` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n get(url, options = {}) {\n return this.request('GET', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `HEAD` request to execute on the server. The `HEAD` method returns\n * meta information about the resource without transferring the\n * resource itself. See the individual overloads for\n * details on the return type.\n */\n head(url, options = {}) {\n return this.request('HEAD', url, options);\n }\n /**\n * Constructs an `Observable` that, when subscribed, causes a request with the special method\n * `JSONP` to be dispatched via the interceptor pipeline.\n * The [JSONP pattern](https://en.wikipedia.org/wiki/JSONP) works around limitations of certain\n * API endpoints that don't support newer,\n * and preferable [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) protocol.\n * JSONP treats the endpoint API as a JavaScript file and tricks the browser to process the\n * requests even if the API endpoint is not located on the same domain (origin) as the client-side\n * application making the request.\n * The endpoint API must support JSONP callback for JSONP requests to work.\n * The resource API returns the JSON response wrapped in a callback function.\n * You can pass the callback function name as one of the query parameters.\n * Note that JSONP requests can only be used with `GET` requests.\n *\n * @param url The resource URL.\n * @param callbackParam The callback function name.\n *\n */\n jsonp(url, callbackParam) {\n return this.request('JSONP', url, {\n params: new HttpParams().append(callbackParam, 'JSONP_CALLBACK'),\n observe: 'body',\n responseType: 'json',\n });\n }\n /**\n * Constructs an `Observable` that, when subscribed, causes the configured\n * `OPTIONS` request to execute on the server. This method allows the client\n * to determine the supported HTTP methods and other capabilities of an endpoint,\n * without implying a resource action. See the individual overloads for\n * details on the return type.\n */\n options(url, options = {}) {\n return this.request('OPTIONS', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PATCH` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n patch(url, body, options = {}) {\n return this.request('PATCH', url, addBody(options, body));\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `POST` request to execute on the server. The server responds with the location of\n * the replaced resource. See the individual overloads for\n * details on the return type.\n */\n post(url, body, options = {}) {\n return this.request('POST', url, addBody(options, body));\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PUT` request to execute on the server. The `PUT` method replaces an existing resource\n * with a new set of values.\n * See the individual overloads for details on the return type.\n */\n put(url, body, options = {}) {\n return this.request('PUT', url, addBody(options, body));\n }\n}\nHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: HttpClient, deps: [{ token: HttpHandler }], target: i0.ɵɵFactoryTarget.Injectable });\nHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: HttpClient });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: HttpClient, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: HttpHandler }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * `HttpHandler` which applies an `HttpInterceptor` to an `HttpRequest`.\n *\n *\n */\nclass HttpInterceptorHandler {\n constructor(next, interceptor) {\n this.next = next;\n this.interceptor = interceptor;\n }\n handle(req) {\n return this.interceptor.intercept(req, this.next);\n }\n}\n/**\n * A multi-provider token that represents the array of registered\n * `HttpInterceptor` objects.\n *\n * @publicApi\n */\nconst HTTP_INTERCEPTORS = new InjectionToken('HTTP_INTERCEPTORS');\nclass NoopInterceptor {\n intercept(req, next) {\n return next.handle(req);\n }\n}\nNoopInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NoopInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NoopInterceptor });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.1\", ngImport: i0, type: NoopInterceptor, decorators: [{\n type: Injectable\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Every request made through JSONP needs a callback name that's unique across the\n// whole page. Each request is assigned an id and the callback name is constructed\n// from that. The next id to be assigned is tracked in a global variable here that\n// is shared among all applications on the page.\nlet nextRequestId = 0;\n/**\n * When a pending