{"version":3,"file":"vendor.js","mappings":"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AG;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,MAAME,OAAN,CAAc;EACVj9C,WAAW,CAACk9C,cAAD,EAAiBC,SAAjB,EAA4BC,QAA5B,EAAsC;IAC7C,KAAKF,cAAL,GAAsBA,cAAtB;IACA,KAAKC,SAAL,GAAiBA,SAAjB;IACA,KAAKC,QAAL,GAAgBA,QAAhB;IACA,KAAKC,QAAL,GAAgB,IAAhB;IACA,KAAKC,aAAL,GAAqB,IAArB;IACA,KAAKC,OAAL,GAAe,IAAf;EACH;EACD;AACJ;AACA;AACA;;;EACe,IAAPT,OAAO,CAACA,OAAD,EAAU;IACjB,KAAKO,QAAL,GAAgBP,OAAhB;IACA,KAAKQ,aAAL,GAAqB,IAArB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACoB,IAAZE,YAAY,CAAC5gD,EAAD,EAAK;IACjB,IAAI8/C,WAAW,IAAI9/C,EAAE,IAAI,IAArB,IAA6B,OAAOA,EAAP,KAAc,UAA/C,EAA2D;MACvD;MACA,IAAI2B,OAAO,IAAIA,OAAO,CAACC,IAAvB,EAA6B;QACzBD,OAAO,CAACC,IAAR,CAAc,4CAA2Ci/C,IAAI,CAACC,SAAL,CAAe9gD,EAAf,CAAmB,IAA/D,GACR,oFADL;MAEH;IACJ;;IACD,KAAK+gD,UAAL,GAAkB/gD,EAAlB;EACH;;EACe,IAAZ4gD,YAAY,GAAG;IACf,OAAO,KAAKG,UAAZ;EACH;EACD;AACJ;AACA;AACA;;;EACqB,IAAbC,aAAa,CAAC1tC,KAAD,EAAQ;IACrB;IACA;IACA;IACA,IAAIA,KAAJ,EAAW;MACP,KAAKitC,SAAL,GAAiBjtC,KAAjB;IACH;EACJ;EACD;AACJ;AACA;AACA;;;EACIypC,SAAS,GAAG;IACR,IAAI,KAAK2D,aAAT,EAAwB;MACpB,KAAKA,aAAL,GAAqB,KAArB,CADoB,CAEpB;;MACA,MAAMptC,KAAK,GAAG,KAAKmtC,QAAnB;;MACA,IAAI,CAAC,KAAKE,OAAN,IAAiBrtC,KAArB,EAA4B;QACxB,IAAIwsC,WAAJ,EAAiB;UACb,IAAI;YACA;YACA;YACA,KAAKa,OAAL,GAAe,KAAKH,QAAL,CAAc77C,IAAd,CAAmB2O,KAAnB,EAA0BnQ,MAA1B,CAAiC,KAAKy9C,YAAtC,CAAf;UACH,CAJD,CAKA,MAAM;YACF,IAAIK,YAAY,GAAI,2CAA0C3tC,KAAM,aAAjD,GACd,GAAE4tC,WAAW,CAAC5tC,KAAD,CAAQ,8DAD1B;;YAEA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;cAC3B2tC,YAAY,IAAI,yCAAhB;YACH;;YACD,MAAM,IAAIjf,2DAAJ,CAAkB,CAAC;YAAK;YAAxB,EAAsEif,YAAtE,CAAN;UACH;QACJ,CAdD,MAeK;UACD;UACA;UACA,KAAKN,OAAL,GAAe,KAAKH,QAAL,CAAc77C,IAAd,CAAmB2O,KAAnB,EAA0BnQ,MAA1B,CAAiC,KAAKy9C,YAAtC,CAAf;QACH;MACJ;IACJ;;IACD,IAAI,KAAKD,OAAT,EAAkB;MACd,MAAMvD,OAAO,GAAG,KAAKuD,OAAL,CAAazM,IAAb,CAAkB,KAAKuM,QAAvB,CAAhB;;MACA,IAAIrD,OAAJ,EACI,KAAK+D,aAAL,CAAmB/D,OAAnB;IACP;EACJ;;EACD+D,aAAa,CAAC/D,OAAD,EAAU;IACnB,MAAMgE,aAAa,GAAG,KAAKd,cAA3B;IACAlD,OAAO,CAACiE,gBAAR,CAAyB,CAACnnC,IAAD,EAAOonC,qBAAP,EAA8BC,YAA9B,KAA+C;MACpE,IAAIrnC,IAAI,CAACsnC,aAAL,IAAsB,IAA1B,EAAgC;QAC5B;QACA;QACA;QACAJ,aAAa,CAACK,kBAAd,CAAiC,KAAKlB,SAAtC,EAAiD,IAAIP,cAAJ,CAAmB9lC,IAAI,CAACA,IAAxB,EAA8B,KAAKumC,QAAnC,EAA6C,CAAC,CAA9C,EAAiD,CAAC,CAAlD,CAAjD,EAAuGc,YAAY,KAAK,IAAjB,GAAwBliD,SAAxB,GAAoCkiD,YAA3I;MACH,CALD,MAMK,IAAIA,YAAY,IAAI,IAApB,EAA0B;QAC3BH,aAAa,CAAC3mC,MAAd,CAAqB6mC,qBAAqB,KAAK,IAA1B,GAAiCjiD,SAAjC,GAA6CiiD,qBAAlE;MACH,CAFI,MAGA,IAAIA,qBAAqB,KAAK,IAA9B,EAAoC;QACrC,MAAMI,IAAI,GAAGN,aAAa,CAACvqC,GAAd,CAAkByqC,qBAAlB,CAAb;QACAF,aAAa,CAACO,IAAd,CAAmBD,IAAnB,EAAyBH,YAAzB;QACAK,eAAe,CAACF,IAAD,EAAOxnC,IAAP,CAAf;MACH;IACJ,CAfD;;IAgBA,KAAK,IAAItZ,CAAC,GAAG,CAAR,EAAWihD,IAAI,GAAGT,aAAa,CAACtgD,MAArC,EAA6CF,CAAC,GAAGihD,IAAjD,EAAuDjhD,CAAC,EAAxD,EAA4D;MACxD,MAAMkhD,OAAO,GAAGV,aAAa,CAACvqC,GAAd,CAAkBjW,CAAlB,CAAhB;MACA,MAAMV,OAAO,GAAG4hD,OAAO,CAAC5hD,OAAxB;MACAA,OAAO,CAACkC,KAAR,GAAgBxB,CAAhB;MACAV,OAAO,CAACsY,KAAR,GAAgBqpC,IAAhB;MACA3hD,OAAO,CAACggD,OAAR,GAAkB,KAAKO,QAAvB;IACH;;IACDrD,OAAO,CAAC2E,qBAAR,CAA+BzE,MAAD,IAAY;MACtC,MAAMwE,OAAO,GAAGV,aAAa,CAACvqC,GAAd,CAAkBymC,MAAM,CAACiE,YAAzB,CAAhB;MACAK,eAAe,CAACE,OAAD,EAAUxE,MAAV,CAAf;IACH,CAHD;EAIH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACiC,OAAtB0E,sBAAsB,CAACC,GAAD,EAAMC,GAAN,EAAW;IACpC,OAAO,IAAP;EACH;;AAxIS;;AA0Id7B,OAAO,CAAChd,IAAR;EAAA,iBAAoGgd,OAApG,EAzmGmGvf,+DAymGnG,CAA6HA,2DAA7H,GAzmGmGA,+DAymGnG,CAA6JA,sDAA7J,GAzmGmGA,+DAymGnG,CAAwLA,0DAAxL;AAAA;;AACAuf,OAAO,CAAC/B,IAAR,kBA1mGmGxd,+DA0mGnG;EAAA,MAAwFuf,OAAxF;EAAA;EAAA;IAAA;IAAA;IAAA;EAAA;EAAA;AAAA;;AACA;EAAA,mDA3mGmGvf,+DA2mGnG,CAA2Fuf,OAA3F,EAAgH,CAAC;IACrGp8C,IAAI,EAAE49B,oDAD+F;IAErGp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,kBADX;MAEC23B,UAAU,EAAE;IAFb,CAAD;EAF+F,CAAD,CAAhH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEt6C,IAAI,EAAE68B,2DAAmB8e;IAA3B,CAAD,EAAgC;MAAE37C,IAAI,EAAE68B,sDAAcqhB;IAAtB,CAAhC,EAA0D;MAAEl+C,IAAI,EAAE68B,0DAAkBod;IAA1B,CAA1D,CAAP;EAAiG,CAN3I,EAM6J;IAAEgC,OAAO,EAAE,CAAC;MACzJj8C,IAAI,EAAEmE,gDAAKA;IAD8I,CAAD,CAAX;IAE7Iw4C,YAAY,EAAE,CAAC;MACf38C,IAAI,EAAEmE,gDAAKA;IADI,CAAD,CAF+H;IAI7I44C,aAAa,EAAE,CAAC;MAChB/8C,IAAI,EAAEmE,gDAAKA;IADK,CAAD;EAJ8H,CAN7J;AAAA;;AAaA,SAASw5C,eAAT,CAAyBF,IAAzB,EAA+BpE,MAA/B,EAAuC;EACnCoE,IAAI,CAACxhD,OAAL,CAAa+/C,SAAb,GAAyB3C,MAAM,CAACpjC,IAAhC;AACH;;AACD,SAASgnC,WAAT,CAAqBj9C,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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+C,IAAN,CAAW;EACPh/C,WAAW,CAACk9C,cAAD,EAAiB+B,WAAjB,EAA8B;IACrC,KAAK/B,cAAL,GAAsBA,cAAtB;IACA,KAAKt/B,QAAL,GAAgB,IAAIshC,WAAJ,EAAhB;IACA,KAAKC,gBAAL,GAAwB,IAAxB;IACA,KAAKC,gBAAL,GAAwB,IAAxB;IACA,KAAKC,YAAL,GAAoB,IAApB;IACA,KAAKC,YAAL,GAAoB,IAApB;IACA,KAAKH,gBAAL,GAAwBF,WAAxB;EACH;EACD;AACJ;AACA;;;EACY,IAAJM,IAAI,CAACC,SAAD,EAAY;IAChB,KAAK5hC,QAAL,CAAci/B,SAAd,GAA0B,KAAKj/B,QAAL,CAAc2hC,IAAd,GAAqBC,SAA/C;;IACA,KAAKC,WAAL;EACH;EACD;AACJ;AACA;;;EACgB,IAARC,QAAQ,CAACT,WAAD,EAAc;IACtBU,cAAc,CAAC,UAAD,EAAaV,WAAb,CAAd;IACA,KAAKE,gBAAL,GAAwBF,WAAxB;IACA,KAAKI,YAAL,GAAoB,IAApB,CAHsB,CAGI;;IAC1B,KAAKI,WAAL;EACH;EACD;AACJ;AACA;;;EACgB,IAARG,QAAQ,CAACX,WAAD,EAAc;IACtBU,cAAc,CAAC,UAAD,EAAaV,WAAb,CAAd;IACA,KAAKG,gBAAL,GAAwBH,WAAxB;IACA,KAAKK,YAAL,GAAoB,IAApB,CAHsB,CAGI;;IAC1B,KAAKG,WAAL;EACH;;EACDA,WAAW,GAAG;IACV,IAAI,KAAK7hC,QAAL,CAAci/B,SAAlB,EAA6B;MACzB,IAAI,CAAC,KAAKwC,YAAV,EAAwB;QACpB,KAAKnC,cAAL,CAAoBrB,KAApB;;QACA,KAAKyD,YAAL,GAAoB,IAApB;;QACA,IAAI,KAAKH,gBAAT,EAA2B;UACvB,KAAKE,YAAL,GACI,KAAKnC,cAAL,CAAoBmB,kBAApB,CAAuC,KAAKc,gBAA5C,EAA8D,KAAKvhC,QAAnE,CADJ;QAEH;MACJ;IACJ,CATD,MAUK;MACD,IAAI,CAAC,KAAK0hC,YAAV,EAAwB;QACpB,KAAKpC,cAAL,CAAoBrB,KAApB;;QACA,KAAKwD,YAAL,GAAoB,IAApB;;QACA,IAAI,KAAKD,gBAAT,EAA2B;UACvB,KAAKE,YAAL,GACI,KAAKpC,cAAL,CAAoBmB,kBAApB,CAAuC,KAAKe,gBAA5C,EAA8D,KAAKxhC,QAAnE,CADJ;QAEH;MACJ;IACJ;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACiC,OAAtBghC,sBAAsB,CAACC,GAAD,EAAMC,GAAN,EAAW;IACpC,OAAO,IAAP;EACH;;AAjEM;;AAmEXE,IAAI,CAAC/e,IAAL;EAAA,iBAAiG+e,IAAjG,EAp1GmGthB,+DAo1GnG,CAAuHA,2DAAvH,GAp1GmGA,+DAo1GnG,CAAuJA,sDAAvJ;AAAA;;AACAshB,IAAI,CAAC9D,IAAL,kBAr1GmGxd,+DAq1GnG;EAAA,MAAqFshB,IAArF;EAAA;EAAA;IAAA;IAAA;IAAA;EAAA;EAAA;AAAA;;AACA;EAAA,mDAt1GmGthB,+DAs1GnG,CAA2FshB,IAA3F,EAA6G,CAAC;IAClGn+C,IAAI,EAAE49B,oDAD4F;IAElGp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,QADX;MAEC23B,UAAU,EAAE;IAFb,CAAD;EAF4F,CAAD,CAA7G,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEt6C,IAAI,EAAE68B,2DAAmB8e;IAA3B,CAAD,EAAgC;MAAE37C,IAAI,EAAE68B,sDAAcqhB;IAAtB,CAAhC,CAAP;EAAmE,CAN7G,EAM+H;IAAEQ,IAAI,EAAE,CAAC;MACxH1+C,IAAI,EAAEmE,gDAAKA;IAD6G,CAAD,CAAR;IAE/G06C,QAAQ,EAAE,CAAC;MACX7+C,IAAI,EAAEmE,gDAAKA;IADA,CAAD,CAFqG;IAI/G46C,QAAQ,EAAE,CAAC;MACX/+C,IAAI,EAAEmE,gDAAKA;IADA,CAAD;EAJqG,CAN/H;AAAA;AAaA;AACA;AACA;;;AACA,MAAMk6C,WAAN,CAAkB;EACdl/C,WAAW,GAAG;IACV,KAAK68C,SAAL,GAAiB,IAAjB;IACA,KAAK0C,IAAL,GAAY,IAAZ;EACH;;AAJa;;AAMlB,SAASI,cAAT,CAAwBl9C,QAAxB,EAAkCw8C,WAAlC,EAA+C;EAC3C,MAAMY,mBAAmB,GAAG,CAAC,EAAE,CAACZ,WAAD,IAAgBA,WAAW,CAACZ,kBAA9B,CAA7B;;EACA,IAAI,CAACwB,mBAAL,EAA0B;IACtB,MAAM,IAAI1hD,KAAJ,CAAW,GAAEsE,QAAS,yCAAwC+7B,4DAAU,CAACygB,WAAD,CAAc,IAAtF,CAAN;EACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMa,UAAN,CAAiB;EACb9/C,WAAW,CAACq7C,iBAAD,EAAoB0E,YAApB,EAAkC;IACzC,KAAK1E,iBAAL,GAAyBA,iBAAzB;IACA,KAAK0E,YAAL,GAAoBA,YAApB;IACA,KAAKC,QAAL,GAAgB,KAAhB;EACH;;EACDjgD,MAAM,GAAG;IACL,KAAKigD,QAAL,GAAgB,IAAhB;;IACA,KAAK3E,iBAAL,CAAuBgD,kBAAvB,CAA0C,KAAK0B,YAA/C;EACH;;EACDl6C,OAAO,GAAG;IACN,KAAKm6C,QAAL,GAAgB,KAAhB;;IACA,KAAK3E,iBAAL,CAAuBQ,KAAvB;EACH;;EACDoE,YAAY,CAACC,OAAD,EAAU;IAClB,IAAIA,OAAO,IAAI,CAAC,KAAKF,QAArB,EAA+B;MAC3B,KAAKjgD,MAAL;IACH,CAFD,MAGK,IAAI,CAACmgD,OAAD,IAAY,KAAKF,QAArB,EAA+B;MAChC,KAAKn6C,OAAL;IACH;EACJ;;AArBY;AAuBjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMs6C,QAAN,CAAe;EACXngD,WAAW,GAAG;IACV,KAAKogD,YAAL,GAAoB,KAApB;IACA,KAAKC,UAAL,GAAkB,CAAlB;IACA,KAAKC,mBAAL,GAA2B,CAA3B;IACA,KAAKC,iBAAL,GAAyB,KAAzB;EACH;;EACW,IAARC,QAAQ,CAACC,QAAD,EAAW;IACnB,KAAKC,SAAL,GAAiBD,QAAjB;;IACA,IAAI,KAAKJ,UAAL,KAAoB,CAAxB,EAA2B;MACvB,KAAKM,mBAAL,CAAyB,IAAzB;IACH;EACJ;EACD;;;EACAC,QAAQ,GAAG;IACP,OAAO,KAAKP,UAAL,EAAP;EACH;EACD;;;EACAQ,WAAW,CAACvC,IAAD,EAAO;IACd,IAAI,CAAC,KAAKwC,aAAV,EAAyB;MACrB,KAAKA,aAAL,GAAqB,EAArB;IACH;;IACD,KAAKA,aAAL,CAAmB1+C,IAAnB,CAAwBk8C,IAAxB;EACH;EACD;;;EACAyC,UAAU,CAAC7wC,KAAD,EAAQ;IACd,MAAM8wC,OAAO,GAAG9wC,KAAK,IAAI,KAAKwwC,SAA9B;IACA,KAAKH,iBAAL,GAAyB,KAAKA,iBAAL,IAA0BS,OAAnD;IACA,KAAKV,mBAAL;;IACA,IAAI,KAAKA,mBAAL,KAA6B,KAAKD,UAAtC,EAAkD;MAC9C,KAAKM,mBAAL,CAAyB,CAAC,KAAKJ,iBAA/B;;MACA,KAAKD,mBAAL,GAA2B,CAA3B;MACA,KAAKC,iBAAL,GAAyB,KAAzB;IACH;;IACD,OAAOS,OAAP;EACH;;EACDL,mBAAmB,CAACM,UAAD,EAAa;IAC5B,IAAI,KAAKH,aAAL,IAAsBG,UAAU,KAAK,KAAKb,YAA9C,EAA4D;MACxD,KAAKA,YAAL,GAAoBa,UAApB;;MACA,KAAK,IAAIzjD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKsjD,aAAL,CAAmBpjD,MAAvC,EAA+CF,CAAC,EAAhD,EAAoD;QAChD,MAAM4F,WAAW,GAAG,KAAK09C,aAAL,CAAmBtjD,CAAnB,CAApB;QACA4F,WAAW,CAAC68C,YAAZ,CAAyBgB,UAAzB;MACH;IACJ;EACJ;;AA5CU;;AA8Cfd,QAAQ,CAAClgB,IAAT;EAAA,iBAAqGkgB,QAArG;AAAA;;AACAA,QAAQ,CAACjF,IAAT,kBAlgHmGxd,+DAkgHnG;EAAA,MAAyFyiB,QAAzF;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;;AACA;EAAA,mDAngHmGziB,+DAmgHnG,CAA2FyiB,QAA3F,EAAiH,CAAC;IACtGt/C,IAAI,EAAE49B,oDADgG;IAEtGp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,YADX;MAEC23B,UAAU,EAAE;IAFb,CAAD;EAFgG,CAAD,CAAjH,QAM4B;IAAEqF,QAAQ,EAAE,CAAC;MACzB3/C,IAAI,EAAEmE,gDAAKA;IADc,CAAD;EAAZ,CAN5B;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMk8C,YAAN,CAAmB;EACflhD,WAAW,CAACg+C,aAAD,EAAgBiB,WAAhB,EAA6BuB,QAA7B,EAAuC;IAC9C,KAAKA,QAAL,GAAgBA,QAAhB;;IACA,IAAI,CAAC,OAAO7D,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,CAAC6D,QAAxD,EAAkE;MAC9DW,kCAAkC,CAAC,cAAD,EAAiB,cAAjB,CAAlC;IACH;;IACDX,QAAQ,CAACI,QAAT;;IACA,KAAKQ,KAAL,GAAa,IAAItB,UAAJ,CAAe9B,aAAf,EAA8BiB,WAA9B,CAAb;EACH;EACD;AACJ;AACA;AACA;;;EACItF,SAAS,GAAG;IACR,KAAKyH,KAAL,CAAWnB,YAAX,CAAwB,KAAKO,QAAL,CAAcO,UAAd,CAAyB,KAAKM,YAA9B,CAAxB;EACH;;AAfc;;AAiBnBH,YAAY,CAACjhB,IAAb;EAAA,iBAAyGihB,YAAzG,EA9jHmGxjB,+DA8jHnG,CAAuIA,2DAAvI,GA9jHmGA,+DA8jHnG,CAAuKA,sDAAvK,GA9jHmGA,+DA8jHnG,CAAkMyiB,QAAlM;AAAA;;AACAe,YAAY,CAAChG,IAAb,kBA/jHmGxd,+DA+jHnG;EAAA,MAA6FwjB,YAA7F;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;;AACA;EAAA,mDAhkHmGxjB,+DAgkHnG,CAA2FwjB,YAA3F,EAAqH,CAAC;IAC1GrgD,IAAI,EAAE49B,oDADoG;IAE1Gp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,gBADX;MAEC23B,UAAU,EAAE;IAFb,CAAD;EAFoG,CAAD,CAArH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEt6C,IAAI,EAAE68B,2DAAmB8e;IAA3B,CAAD,EAAgC;MAAE37C,IAAI,EAAE68B,sDAAcqhB;IAAtB,CAAhC,EAA0D;MAAEl+C,IAAI,EAAEs/C,QAAR;MAAkBhe,UAAU,EAAE,CAAC;QACtHthC,IAAI,EAAEk9B,mDAAQA;MADwG,CAAD,EAEtH;QACCl9B,IAAI,EAAEg+B,+CAAIA;MADX,CAFsH;IAA9B,CAA1D,CAAP;EAIlB,CAVxB,EAU0C;IAAEwiB,YAAY,EAAE,CAAC;MAC3CxgD,IAAI,EAAEmE,gDAAKA;IADgC,CAAD;EAAhB,CAV1C;AAAA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMs8C,eAAN,CAAsB;EAClBthD,WAAW,CAACg+C,aAAD,EAAgBiB,WAAhB,EAA6BuB,QAA7B,EAAuC;IAC9C,IAAI,CAAC,OAAO7D,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD,CAAC6D,QAAxD,EAAkE;MAC9DW,kCAAkC,CAAC,iBAAD,EAAoB,iBAApB,CAAlC;IACH;;IACDX,QAAQ,CAACK,WAAT,CAAqB,IAAIf,UAAJ,CAAe9B,aAAf,EAA8BiB,WAA9B,CAArB;EACH;;AANiB;;AAQtBqC,eAAe,CAACrhB,IAAhB;EAAA,iBAA4GqhB,eAA5G,EAnmHmG5jB,+DAmmHnG,CAA6IA,2DAA7I,GAnmHmGA,+DAmmHnG,CAA6KA,sDAA7K,GAnmHmGA,+DAmmHnG,CAAwMyiB,QAAxM;AAAA;;AACAmB,eAAe,CAACpG,IAAhB,kBApmHmGxd,+DAomHnG;EAAA,MAAgG4jB,eAAhG;EAAA;EAAA;AAAA;;AACA;EAAA,mDArmHmG5jB,+DAqmHnG,CAA2F4jB,eAA3F,EAAwH,CAAC;IAC7GzgD,IAAI,EAAE49B,oDADuG;IAE7Gp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,mBADX;MAEC23B,UAAU,EAAE;IAFb,CAAD;EAFuG,CAAD,CAAxH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEt6C,IAAI,EAAE68B,2DAAmB8e;IAA3B,CAAD,EAAgC;MAAE37C,IAAI,EAAE68B,sDAAcqhB;IAAtB,CAAhC,EAA0D;MAAEl+C,IAAI,EAAEs/C,QAAR;MAAkBhe,UAAU,EAAE,CAAC;QACtHthC,IAAI,EAAEk9B,mDAAQA;MADwG,CAAD,EAEtH;QACCl9B,IAAI,EAAEg+B,+CAAIA;MADX,CAFsH;IAA9B,CAA1D,CAAP;EAIlB,CAVxB;AAAA;;AAWA,SAASsiB,kCAAT,CAA4CI,QAA5C,EAAsDC,aAAtD,EAAqE;EACjE,MAAM,IAAI5iB,2DAAJ,CAAkB;EAAK;EAAvB,EAA2E,wBAAuB2iB,QAAS,cAAjC,GAC3E,kBAAiBC,aAAc,+EAD4C,GAE3E,iCAFC,CAAN;AAGH;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,MAAMC,QAAN,CAAe;EACXzhD,WAAW,CAAC0hD,aAAD,EAAgB;IACvB,KAAKA,aAAL,GAAqBA,aAArB;IACA,KAAKC,UAAL,GAAkB,EAAlB;EACH;;EACW,IAARC,QAAQ,CAAC1xC,KAAD,EAAQ;IAChB,KAAK2xC,YAAL,GAAoB3xC,KAApB;;IACA,KAAKuvC,WAAL;EACH;;EACDqC,OAAO,CAAC5xC,KAAD,EAAQ6xC,UAAR,EAAoB;IACvB,KAAKJ,UAAL,CAAgBzxC,KAAhB,IAAyB6xC,UAAzB;EACH;;EACDtC,WAAW,GAAG;IACV,KAAKuC,WAAL;;IACA,MAAMpK,KAAK,GAAGh5C,MAAM,CAACW,IAAP,CAAY,KAAKoiD,UAAjB,CAAd;IACA,MAAM3/C,GAAG,GAAG21C,iBAAiB,CAAC,KAAKkK,YAAN,EAAoBjK,KAApB,EAA2B,KAAK8J,aAAhC,CAA7B;;IACA,KAAKO,aAAL,CAAmB,KAAKN,UAAL,CAAgB3/C,GAAhB,CAAnB;EACH;;EACDggD,WAAW,GAAG;IACV,IAAI,KAAKE,WAAT,EACI,KAAKA,WAAL,CAAiBr8C,OAAjB;EACP;;EACDo8C,aAAa,CAAC3D,IAAD,EAAO;IAChB,IAAIA,IAAJ,EAAU;MACN,KAAK4D,WAAL,GAAmB5D,IAAnB;;MACA,KAAK4D,WAAL,CAAiBniD,MAAjB;IACH;EACJ;;AA3BU;;AA6Bf0hD,QAAQ,CAACxhB,IAAT;EAAA,iBAAqGwhB,QAArG,EAzrHmG/jB,+DAyrHnG,CAA+H8Z,cAA/H;AAAA;;AACAiK,QAAQ,CAACvG,IAAT,kBA1rHmGxd,+DA0rHnG;EAAA,MAAyF+jB,QAAzF;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;;AACA;EAAA,mDA3rHmG/jB,+DA2rHnG,CAA2F+jB,QAA3F,EAAiH,CAAC;IACtG5gD,IAAI,EAAE49B,oDADgG;IAEtGp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,YADX;MAEC23B,UAAU,EAAE;IAFb,CAAD;EAFgG,CAAD,CAAjH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEt6C,IAAI,EAAE22C;IAAR,CAAD,CAAP;EAAoC,CAN9E,EAMgG;IAAEoK,QAAQ,EAAE,CAAC;MAC7F/gD,IAAI,EAAEmE,gDAAKA;IADkF,CAAD;EAAZ,CANhG;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMm9C,YAAN,CAAmB;EACfniD,WAAW,CAACkQ,KAAD,EAAQkyC,QAAR,EAAkBpE,aAAlB,EAAiC4D,QAAjC,EAA2C;IAClD,KAAK1xC,KAAL,GAAaA,KAAb;IACA,MAAMmyC,SAAS,GAAG,CAACnmB,KAAK,CAAC/Y,MAAM,CAACjT,KAAD,CAAP,CAAxB;IACA0xC,QAAQ,CAACE,OAAT,CAAiBO,SAAS,GAAI,IAAGnyC,KAAM,EAAb,GAAiBA,KAA3C,EAAkD,IAAI4vC,UAAJ,CAAe9B,aAAf,EAA8BoE,QAA9B,CAAlD;EACH;;AALc;;AAOnBD,YAAY,CAACliB,IAAb;EAAA,iBAAyGkiB,YAAzG,EA/tHmGzkB,+DA+tHnG,CAAuI,cAAvI,GA/tHmGA,+DA+tHnG,CAAmLA,sDAAnL,GA/tHmGA,+DA+tHnG,CAA8MA,2DAA9M,GA/tHmGA,+DA+tHnG,CAA8O+jB,QAA9O;AAAA;;AACAU,YAAY,CAACjH,IAAb,kBAhuHmGxd,+DAguHnG;EAAA,MAA6FykB,YAA7F;EAAA;EAAA;AAAA;;AACA;EAAA,mDAjuHmGzkB,+DAiuHnG,CAA2FykB,YAA3F,EAAqH,CAAC;IAC1GthD,IAAI,EAAE49B,oDADoG;IAE1Gp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,gBADX;MAEC23B,UAAU,EAAE;IAFb,CAAD;EAFoG,CAAD,CAArH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEt6C,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAC9DthC,IAAI,EAAEi+B,oDADwD;QAE9Dz+B,IAAI,EAAE,CAAC,cAAD;MAFwD,CAAD;IAA/B,CAAD,EAG3B;MAAEQ,IAAI,EAAE68B,sDAAcqhB;IAAtB,CAH2B,EAGD;MAAEl+C,IAAI,EAAE68B,2DAAmB8e;IAA3B,CAHC,EAG8B;MAAE37C,IAAI,EAAE4gD,QAAR;MAAkBtf,UAAU,EAAE,CAAC;QAC1FthC,IAAI,EAAEg+B,+CAAIA;MADgF,CAAD;IAA9B,CAH9B,CAAP;EAKlB,CAXxB;AAAA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMyjB,OAAN,CAAc;EACVtiD,WAAW,CAACi5C,KAAD,EAAQmE,QAAR,EAAkBlE,SAAlB,EAA6B;IACpC,KAAKD,KAAL,GAAaA,KAAb;IACA,KAAKmE,QAAL,GAAgBA,QAAhB;IACA,KAAKlE,SAAL,GAAiBA,SAAjB;IACA,KAAKqJ,QAAL,GAAgB,IAAhB;IACA,KAAKhF,OAAL,GAAe,IAAf;EACH;;EACU,IAAPiF,OAAO,CAACrgD,MAAD,EAAS;IAChB,KAAKogD,QAAL,GAAgBpgD,MAAhB;;IACA,IAAI,CAAC,KAAKo7C,OAAN,IAAiBp7C,MAArB,EAA6B;MACzB,KAAKo7C,OAAL,GAAe,KAAKH,QAAL,CAAc77C,IAAd,CAAmBY,MAAnB,EAA2BpC,MAA3B,EAAf;IACH;EACJ;;EACD45C,SAAS,GAAG;IACR,IAAI,KAAK4D,OAAT,EAAkB;MACd,MAAMvD,OAAO,GAAG,KAAKuD,OAAL,CAAazM,IAAb,CAAkB,KAAKyR,QAAvB,CAAhB;;MACA,IAAIvI,OAAJ,EAAa;QACT,KAAK+D,aAAL,CAAmB/D,OAAnB;MACH;IACJ;EACJ;;EACDyI,SAAS,CAACC,WAAD,EAAcxyC,KAAd,EAAqB;IAC1B,MAAM,CAACnS,IAAD,EAAO4kD,IAAP,IAAeD,WAAW,CAAChhD,KAAZ,CAAkB,GAAlB,CAArB;IACA,MAAMkhD,KAAK,GAAG7kD,IAAI,CAACyD,OAAL,CAAa,GAAb,MAAsB,CAAC,CAAvB,GAA2BvF,SAA3B,GAAuC8iC,uEAArD;;IACA,IAAI7uB,KAAK,IAAI,IAAb,EAAmB;MACf,KAAKgpC,SAAL,CAAe4J,QAAf,CAAwB,KAAK7J,KAAL,CAAW2B,aAAnC,EAAkD78C,IAAlD,EAAwD4kD,IAAI,GAAI,GAAEzyC,KAAM,GAAEyyC,IAAK,EAAnB,GAAuBzyC,KAAnF,EAA0F0yC,KAA1F;IACH,CAFD,MAGK;MACD,KAAK1J,SAAL,CAAe6J,WAAf,CAA2B,KAAK9J,KAAL,CAAW2B,aAAtC,EAAqD78C,IAArD,EAA2D6kD,KAA3D;IACH;EACJ;;EACD7E,aAAa,CAAC/D,OAAD,EAAU;IACnBA,OAAO,CAACM,kBAAR,CAA4BJ,MAAD,IAAY,KAAKuI,SAAL,CAAevI,MAAM,CAACl4C,GAAtB,EAA2B,IAA3B,CAAvC;IACAg4C,OAAO,CAACC,gBAAR,CAA0BC,MAAD,IAAY,KAAKuI,SAAL,CAAevI,MAAM,CAACl4C,GAAtB,EAA2Bk4C,MAAM,CAACE,YAAlC,CAArC;IACAJ,OAAO,CAACK,kBAAR,CAA4BH,MAAD,IAAY,KAAKuI,SAAL,CAAevI,MAAM,CAACl4C,GAAtB,EAA2Bk4C,MAAM,CAACE,YAAlC,CAAvC;EACH;;AApCS;;AAsCdkI,OAAO,CAACriB,IAAR;EAAA,iBAAoGqiB,OAApG,EA/zHmG5kB,+DA+zHnG,CAA6HA,qDAA7H,GA/zHmGA,+DA+zHnG,CAAuJA,0DAAvJ,GA/zHmGA,+DA+zHnG,CAAsLA,oDAAtL;AAAA;;AACA4kB,OAAO,CAACpH,IAAR,kBAh0HmGxd,+DAg0HnG;EAAA,MAAwF4kB,OAAxF;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;;AACA;EAAA,mDAj0HmG5kB,+DAi0HnG,CAA2F4kB,OAA3F,EAAgH,CAAC;IACrGzhD,IAAI,EAAE49B,oDAD+F;IAErGp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,WADX;MAEC23B,UAAU,EAAE;IAFb,CAAD;EAF+F,CAAD,CAAhH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEt6C,IAAI,EAAE68B,qDAAasd;IAArB,CAAD,EAA0B;MAAEn6C,IAAI,EAAE68B,0DAAkBqd;IAA1B,CAA1B,EAAwD;MAAEl6C,IAAI,EAAE68B,oDAAYud;IAApB,CAAxD,CAAP;EAAyF,CANnI,EAMqJ;IAAEuH,OAAO,EAAE,CAAC;MACjJ3hD,IAAI,EAAEmE,gDAD2I;MAEjJ3E,IAAI,EAAE,CAAC,SAAD;IAF2I,CAAD;EAAX,CANrJ;AAAA;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2iD,gBAAN,CAAuB;EACnBhjD,WAAW,CAACq7C,iBAAD,EAAoB;IAC3B,KAAKA,iBAAL,GAAyBA,iBAAzB;IACA,KAAK4H,QAAL,GAAgB,IAAhB;IACA;AACR;AACA;AACA;AACA;AACA;;IACQ,KAAKC,uBAAL,GAA+B,IAA/B;IACA;AACR;AACA;;IACQ,KAAKC,gBAAL,GAAwB,IAAxB;IACA;;IACA,KAAKC,wBAAL,GAAgC,IAAhC;EACH;EACD;;;EACA7H,WAAW,CAACvB,OAAD,EAAU;IACjB,IAAIA,OAAO,CAAC,kBAAD,CAAP,IAA+BA,OAAO,CAAC,0BAAD,CAA1C,EAAwE;MACpE,MAAMwB,gBAAgB,GAAG,KAAKH,iBAA9B;;MACA,IAAI,KAAK4H,QAAT,EAAmB;QACfzH,gBAAgB,CAACnkC,MAAjB,CAAwBmkC,gBAAgB,CAACh6C,OAAjB,CAAyB,KAAKyhD,QAA9B,CAAxB;MACH;;MACD,IAAI,KAAKE,gBAAT,EAA2B;QACvB,MAAM;UAAEA,gBAAgB,EAAEf,QAApB;UAA8Bc,uBAAuB,EAAEpmD,OAAvD;UAAgEsmD,wBAAwB,EAAErH;QAA1F,IAAuG,IAA7G;QACA,KAAKkH,QAAL,GAAgBzH,gBAAgB,CAAC6C,kBAAjB,CAAoC+D,QAApC,EAA8CtlD,OAA9C,EAAuDi/C,QAAQ,GAAG;UAAEA;QAAF,CAAH,GAAkB9/C,SAAjF,CAAhB;MACH,CAHD,MAIK;QACD,KAAKgnD,QAAL,GAAgB,IAAhB;MACH;IACJ,CAZD,MAaK,IAAI,KAAKA,QAAL,IAAiBjJ,OAAO,CAAC,yBAAD,CAAxB,IAAuD,KAAKkJ,uBAAhE,EAAyF;MAC1F,KAAKD,QAAL,CAAcnmD,OAAd,GAAwB,KAAKomD,uBAA7B;IACH;EACJ;;AApCkB;;AAsCvBF,gBAAgB,CAAC/iB,IAAjB;EAAA,iBAA6G+iB,gBAA7G,EAj5HmGtlB,+DAi5HnG,CAA+IA,2DAA/I;AAAA;;AACAslB,gBAAgB,CAAC9H,IAAjB,kBAl5HmGxd,+DAk5HnG;EAAA,MAAiGslB,gBAAjG;EAAA;EAAA;IAAA;IAAA;IAAA;EAAA;EAAA;EAAA,WAl5HmGtlB,kEAk5HnG;AAAA;;AACA;EAAA,mDAn5HmGA,+DAm5HnG,CAA2FslB,gBAA3F,EAAyH,CAAC;IAC9GniD,IAAI,EAAE49B,oDADwG;IAE9Gp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,oBADX;MAEC23B,UAAU,EAAE;IAFb,CAAD;EAFwG,CAAD,CAAzH,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAEt6C,IAAI,EAAE68B,2DAAmB8e;IAA3B,CAAD,CAAP;EAAyC,CANnF,EAMqG;IAAE0G,uBAAuB,EAAE,CAAC;MACjHriD,IAAI,EAAEmE,gDAAKA;IADsG,CAAD,CAA3B;IAErFm+C,gBAAgB,EAAE,CAAC;MACnBtiD,IAAI,EAAEmE,gDAAKA;IADQ,CAAD,CAFmE;IAIrFo+C,wBAAwB,EAAE,CAAC;MAC3BviD,IAAI,EAAEmE,gDAAKA;IADgB,CAAD;EAJ2D,CANrG;AAAA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMq+C,iBAAiB,GAAG,CACtBvK,OADsB,EAEtBsC,iBAFsB,EAGtB6B,OAHsB,EAItB+B,IAJsB,EAKtBgE,gBALsB,EAMtBV,OANsB,EAOtBnC,QAPsB,EAQtBe,YARsB,EAStBI,eATsB,EAUtBG,QAVsB,EAWtBU,YAXsB,CAA1B;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASmB,wBAAT,CAAkCziD,IAAlC,EAAwCqP,KAAxC,EAA+C;EAC3C,OAAO,IAAI0uB,2DAAJ,CAAkB;EAAK;EAAvB,EAAqE+d,SAAS,IAAK,yBAAwBzsC,KAAM,eAAcsuB,4DAAU,CAAC39B,IAAD,CAAO,GAAhJ,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM0iD,oBAAN,CAA2B;EACvBC,kBAAkB,CAACC,KAAD,EAAQC,iBAAR,EAA2B;IACzC,OAAOD,KAAK,CAAC/oC,SAAN,CAAgB;MACnBtB,IAAI,EAAEsqC,iBADa;MAEnB5pC,KAAK,EAAG5b,CAAD,IAAO;QACV,MAAMA,CAAN;MACH;IAJkB,CAAhB,CAAP;EAMH;;EACDylD,OAAO,CAACzqC,YAAD,EAAe;IAClBA,YAAY,CAACc,WAAb;EACH;;AAXsB;;AAa3B,MAAM4pC,eAAN,CAAsB;EAClBJ,kBAAkB,CAACC,KAAD,EAAQC,iBAAR,EAA2B;IACzC,OAAOD,KAAK,CAAC75B,IAAN,CAAW85B,iBAAX,EAA8BxlD,CAAC,IAAI;MACtC,MAAMA,CAAN;IACH,CAFM,CAAP;EAGH;;EACDylD,OAAO,CAACzqC,YAAD,EAAe,CAAG;;AANP;;AAQtB,MAAM2qC,gBAAgB,GAAG,IAAID,eAAJ,EAAzB;;AACA,MAAME,qBAAqB,GAAG,IAAIP,oBAAJ,EAA9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMQ,SAAN,CAAgB;EACZ/jD,WAAW,CAACgkD,GAAD,EAAM;IACb,KAAKC,YAAL,GAAoB,IAApB;IACA,KAAKC,aAAL,GAAqB,IAArB;IACA,KAAKC,IAAL,GAAY,IAAZ;IACA,KAAKC,SAAL,GAAiB,IAAjB,CAJa,CAKb;IACA;;IACA,KAAKC,IAAL,GAAYL,GAAZ;EACH;;EACDzgB,WAAW,GAAG;IACV,IAAI,KAAK2gB,aAAT,EAAwB;MACpB,KAAKI,QAAL;IACH,CAHS,CAIV;IACA;IACA;IACA;;;IACA,KAAKD,IAAL,GAAY,IAAZ;EACH;;EACD9pB,SAAS,CAACj9B,GAAD,EAAM;IACX,IAAI,CAAC,KAAK6mD,IAAV,EAAgB;MACZ,IAAI7mD,GAAJ,EAAS;QACL,KAAK0b,UAAL,CAAgB1b,GAAhB;MACH;;MACD,OAAO,KAAK2mD,YAAZ;IACH;;IACD,IAAI3mD,GAAG,KAAK,KAAK6mD,IAAjB,EAAuB;MACnB,KAAKG,QAAL;;MACA,OAAO,KAAK/pB,SAAL,CAAej9B,GAAf,CAAP;IACH;;IACD,OAAO,KAAK2mD,YAAZ;EACH;;EACDjrC,UAAU,CAAC1b,GAAD,EAAM;IACZ,KAAK6mD,IAAL,GAAY7mD,GAAZ;IACA,KAAK8mD,SAAL,GAAiB,KAAKG,eAAL,CAAqBjnD,GAArB,CAAjB;IACA,KAAK4mD,aAAL,GAAqB,KAAKE,SAAL,CAAeZ,kBAAf,CAAkClmD,GAAlC,EAAwC4S,KAAD,IAAW,KAAKs0C,kBAAL,CAAwBlnD,GAAxB,EAA6B4S,KAA7B,CAAlD,CAArB;EACH;;EACDq0C,eAAe,CAACjnD,GAAD,EAAM;IACjB,IAAI0hC,4DAAU,CAAC1hC,GAAD,CAAd,EAAqB;MACjB,OAAOumD,gBAAP;IACH;;IACD,IAAI5kB,iEAAe,CAAC3hC,GAAD,CAAnB,EAA0B;MACtB,OAAOwmD,qBAAP;IACH;;IACD,MAAMR,wBAAwB,CAACS,SAAD,EAAYzmD,GAAZ,CAA9B;EACH;;EACDgnD,QAAQ,GAAG;IACP;IACA;IACA,KAAKF,SAAL,CAAeT,OAAf,CAAuB,KAAKO,aAA5B;;IACA,KAAKD,YAAL,GAAoB,IAApB;IACA,KAAKC,aAAL,GAAqB,IAArB;IACA,KAAKC,IAAL,GAAY,IAAZ;EACH;;EACDK,kBAAkB,CAACf,KAAD,EAAQvzC,KAAR,EAAe;IAC7B,IAAIuzC,KAAK,KAAK,KAAKU,IAAnB,EAAyB;MACrB,KAAKF,YAAL,GAAoB/zC,KAApB,CADqB,CAErB;MACA;;MACA,KAAKm0C,IAAL,CAAUI,YAAV;IACH;EACJ;;AA9DW;;AAgEhBV,SAAS,CAAC9jB,IAAV;EAAA,iBAAsG8jB,SAAtG,EA/jImGrmB,+DA+jInG,CAAiIA,4DAAjI;AAAA;;AACAqmB,SAAS,CAACY,KAAV,kBAhkImGjnB,0DAgkInG;EAAA;EAAA,MAAoGqmB,SAApG;EAAA;EAAA;AAAA;;AACA;EAAA,mDAjkImGrmB,+DAikInG,CAA2FqmB,SAA3F,EAAkH,CAAC;IACvGljD,IAAI,EAAEq+B,+CADiG;IAEvG7+B,IAAI,EAAE,CAAC;MACCtC,IAAI,EAAE,OADP;MAEC6mD,IAAI,EAAE,KAFP;MAGCzJ,UAAU,EAAE;IAHb,CAAD;EAFiG,CAAD,CAAlH,EAO4B,YAAY;IAAE,OAAO,CAAC;MAAEt6C,IAAI,EAAE68B,4DAAoBgnB;IAA5B,CAAD,CAAP;EAA0C,CAPpF;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMG,aAAN,CAAoB;EAChBtqB,SAAS,CAACrqB,KAAD,EAAQ;IACb,IAAIA,KAAK,IAAI,IAAb,EACI,OAAO,IAAP;;IACJ,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;MAC3B,MAAMozC,wBAAwB,CAACuB,aAAD,EAAgB30C,KAAhB,CAA9B;IACH;;IACD,OAAOA,KAAK,CAACjE,WAAN,EAAP;EACH;;AARe;;AAUpB44C,aAAa,CAAC5kB,IAAd;EAAA,iBAA0G4kB,aAA1G;AAAA;;AACAA,aAAa,CAACF,KAAd,kBA3mImGjnB,0DA2mInG;EAAA;EAAA,MAAwGmnB,aAAxG;EAAA;EAAA;AAAA;;AACA;EAAA,mDA5mImGnnB,+DA4mInG,CAA2FmnB,aAA3F,EAAsH,CAAC;IAC3GhkD,IAAI,EAAEq+B,+CADqG;IAE3G7+B,IAAI,EAAE,CAAC;MACCtC,IAAI,EAAE,WADP;MAECo9C,UAAU,EAAE;IAFb,CAAD;EAFqG,CAAD,CAAtH;AAAA,MAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2J,gBAAgB,GAAG,orPAAzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,aAAN,CAAoB;EAChBxqB,SAAS,CAACrqB,KAAD,EAAQ;IACb,IAAIA,KAAK,IAAI,IAAb,EACI,OAAO,IAAP;;IACJ,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;MAC3B,MAAMozC,wBAAwB,CAACyB,aAAD,EAAgB70C,KAAhB,CAA9B;IACH;;IACD,OAAOA,KAAK,CAAC7R,OAAN,CAAcymD,gBAAd,EAAiCE,GAAG,IAAIA,GAAG,CAAC,CAAD,CAAH,CAAOniD,WAAP,KAAuBmiD,GAAG,CAACljD,KAAJ,CAAU,CAAV,EAAamK,WAAb,EAA/D,CAAP;EACH;;AARe;;AAUpB84C,aAAa,CAAC9kB,IAAd;EAAA,iBAA0G8kB,aAA1G;AAAA;;AACAA,aAAa,CAACJ,KAAd,kBAxpImGjnB,0DAwpInG;EAAA;EAAA,MAAwGqnB,aAAxG;EAAA;EAAA;AAAA;;AACA;EAAA,mDAzpImGrnB,+DAypInG,CAA2FqnB,aAA3F,EAAsH,CAAC;IAC3GlkD,IAAI,EAAEq+B,+CADqG;IAE3G7+B,IAAI,EAAE,CAAC;MACCtC,IAAI,EAAE,WADP;MAECo9C,UAAU,EAAE;IAFb,CAAD;EAFqG,CAAD,CAAtH;AAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8J,aAAN,CAAoB;EAChB1qB,SAAS,CAACrqB,KAAD,EAAQ;IACb,IAAIA,KAAK,IAAI,IAAb,EACI,OAAO,IAAP;;IACJ,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;MAC3B,MAAMozC,wBAAwB,CAAC2B,aAAD,EAAgB/0C,KAAhB,CAA9B;IACH;;IACD,OAAOA,KAAK,CAACrN,WAAN,EAAP;EACH;;AARe;;AAUpBoiD,aAAa,CAAChlB,IAAd;EAAA,iBAA0GglB,aAA1G;AAAA;;AACAA,aAAa,CAACN,KAAd,kBAnrImGjnB,0DAmrInG;EAAA;EAAA,MAAwGunB,aAAxG;EAAA;EAAA;AAAA;;AACA;EAAA,mDAprImGvnB,+DAorInG,CAA2FunB,aAA3F,EAAsH,CAAC;IAC3GpkD,IAAI,EAAEq+B,+CADqG;IAE3G7+B,IAAI,EAAE,CAAC;MACCtC,IAAI,EAAE,WADP;MAECo9C,UAAU,EAAE;IAFb,CAAD;EAFqG,CAAD,CAAtH;AAAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM+J,0BAA0B,GAAG,IAAIvnB,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;A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B,MAAO,IAA1C,CAApD;;QACA,IAAI2gB,MAAJ,EAAY;UACR,OAAOA,MAAP;QACH;MACJ;;MACD2qC,WAAW,GAAGH,UAAU,CAACK,QAAX,EAAd;IACH;EACJ;;EACD,OAAO,IAAP;AACH;AACD;AACA;AACA;;;AACA,MAAMC,oBAAN,CAA2B;EACvB;AACJ;AACA;EACIhC,SAAS,CAACp/C,MAAD,EAAS,CAAG;EACrB;AACJ;AACA;;;EACIq/C,iBAAiB,GAAG;IAChB,OAAO,CAAC,CAAD,EAAI,CAAJ,CAAP;EACH;EACD;AACJ;AACA;;;EACII,gBAAgB,CAACC,QAAD,EAAW,CAAG;EAC9B;AACJ;AACA;;;EACIE,cAAc,CAACyB,MAAD,EAAS,CAAG;EAC1B;AACJ;AACA;;;EACIpB,2BAA2B,CAACC,iBAAD,EAAoB,CAAG;;AAtB3B;AAyB3B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMoB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC37KA;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,MAAMc,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;EACAxrD,WAAW,CAACyrD,OAAD,EAAU;IACjB;AACR;AACA;AACA;IACQ,KAAKC,eAAL,GAAuB,IAAIzF,GAAJ,EAAvB;IACA;AACR;AACA;;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,KAAIn8B,IAAI,CAACsqD,MAAO,IAAGtqD,IAAI,CAACuqD,UAAW,EAA3G;IACH;;IACD,KAAKl2C,KAAL,GAAarU,IAAI,CAACqU,KAAL,IAAc,IAA3B;EACH;;AAnB4C;AAsBjD;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy2C,OAAT,CAAiBnrD,OAAjB,EAA0BykD,IAA1B,EAAgC;EAC5B,OAAO;IACHA,IADG;IAEH4B,OAAO,EAAErmD,OAAO,CAACqmD,OAFd;IAGH3uD,OAAO,EAAEsI,OAAO,CAACtI,OAHd;IAIH0zD,OAAO,EAAEprD,OAAO,CAACorD,OAJd;IAKH1tB,MAAM,EAAE19B,OAAO,CAAC09B,MALb;IAMHmsB,cAAc,EAAE7pD,OAAO,CAAC6pD,cANrB;IAOHE,YAAY,EAAE/pD,OAAO,CAAC+pD,YAPnB;IAQHD,eAAe,EAAE9pD,OAAO,CAAC8pD;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,MAAMuB,UAAN,CAAiB;EACbzwD,WAAW,CAACW,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;;;EACI+vD,OAAO,CAACluC,KAAD,EAAQof,GAAR,EAAax8B,OAAO,GAAG,EAAvB,EAA2B;IAC9B,IAAIurD,GAAJ,CAD8B,CAE9B;;IACA,IAAInuC,KAAK,YAAYssC,WAAr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A;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,CAAwBpF,KAA/B;AACH;AACD;AACA;AACA;;;AACA,SAASiG,QAAT,GAAoB;EAChB,OAAOd,gBAAgB,CAACC,MAAjB,CAAwB1N,KAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwO,aAAT,CAAuBC,aAAvB,EAAsC;EAClChB,gBAAgB,CAACC,MAAjB,CAAwBgB,YAAxB,GAAuCD,aAAvC;EACA,OAAOA,aAAa,CAACnI,OAAD,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqI,WAAT,CAAqBh8D,KAArB,EAA4B;EACxB86D,gBAAgB,CAACC,MAAjB,CAAwBgB,YAAxB,GAAuC,IAAvC;EACA,OAAO/7D,KAAP;AACH;;AACD,SAASi8D,eAAT,GAA2B;EACvB,IAAIC,YAAY,GAAGC,4BAA4B,EAA/C;;EACA,OAAOD,YAAY,KAAK,IAAjB,IAAyBA,YAAY,CAACvrE,IAAb,KAAsB;EAAG;EAAzD,EAAsF;IAClFurE,YAAY,GAAGA,YAAY,CAACjrE,MAA5B;EACH;;EACD,OAAOirE,YAAP;AACH;;AACD,SAASC,4BAAT,GAAwC;EACpC,OAAOrB,gBAAgB,CAACC,MAAjB,CAAwBmB,YAA/B;AACH;;AACD,SAASE,qBAAT,GAAiC;EAC7B,MAAMrB,MAAM,GAAGD,gBAAgB,CAACC,MAAhC;EACA,MAAMmB,YAAY,GAAGnB,MAAM,CAACmB,YAA5B;E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;MAC5EjC,WAAW,CAAClM,KAAD,CAAX,IAAsB;MAAK;MAA3B;MACA4F,QAAQ,CAAC;MAAE;MAAH,EAA2CgJ,SAA3C,EAAsDH,IAAtD,CAAR;;MACA,IAAI;QACAA,IAAI,CAACr0E,IAAL,CAAUw0E,SAAV;MACH,CAFD,SAGQ;QACJhJ,QAAQ,CAAC;QAAE;QAAH,EAAyCgJ,SAAzC,EAAoDH,IAApD,CAAR;MACH;IACJ;EACJ,CAfD,MAgBK;IACD7I,QAAQ,CAAC;IAAE;IAAH,EAA2CgJ,SAA3C,EAAsDH,IAAtD,CAAR;;IACA,IAAI;MACAA,IAAI,CAACr0E,IAAL,CAAUw0E,SAAV;IACH,CAFD,SAGQ;MACJhJ,QAAQ,CAAC;MAAE;MAAH,EAAyCgJ,SAAzC,EAAoDH,IAApD,CAAR;IACH;EACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMK,kBAAkB,GAAG,CAAC,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,mBAAN,CAA0B;EACtBtyE,WAAW;EACX;AACJ;AACA;EACIooD,OAJW;EAKX;AACJ;AACA;EACImqB,cARW,EAQKC,oBARL,EAQ2B;IAClC,KAAKpqB,OAAL,GAAeA,OAAf;IACA;AACR;AACA;AACA;;IACQ,KAAKqqB,SAAL,GAAiB,KAAjB;IACA91B,SAAS,IAAIwd,aAAa,CAAC/R,OAAD,EAAU,uBAAV,CAA1B;IACAzL,SAAS,IAAIgd,WAAW,CAAC,OAAOvR,OAAR,EAAiB,UAAjB,EAA6B,4BAA7B,CAAxB;IACA,KAAKsqB,mBAAL,GAA2BH,cAA3B;IACA,KAAKI,UAAL,GAAkBH,oBAAlB;EACH;;AApBqB;;AAsB1B,SAASI,SAAT,CAAmBt1E,GAAnB,EAAwB;EACpB,OAAOA,GAAG,YAAYg1E,mBAAtB;AACH,EACD;AACA;;;AACA,MAAMO,+BAA+B,GAAG,CAAxC;AAEA;AACA;AACA;AACA;;AACA,SAASC,mBAAT,CAA6BC,SAA7B,EAAwC;EACpC,IAAIvnC,IAAI,GAAG,EAAX;EACCunC,SAAS,GAAG;EAAE;EAAf,IAAyCvnC,IAAI,IAAI,OAAjD;EACCunC,SAAS,GAAG;EAAE;EAAf,IAA4CvnC,IAAI,IAAI,UAApD;EACCunC,SAAS,GAAG;EAAE;EAAf,IAA8CvnC,IAAI,IAAI,YAAtD;EACCunC,SAAS,GAAG;EAAE;EAAf,IAAqDvnC,IAAI,IAAI,mBAA7D;EACCunC,SAAS,GAAG;EAAG;EAAhB,IAAgDvnC,IAAI,IAAI,aAAxD;EACCunC,SAAS,GAAG;EAAG;EAAhB,IAAyCvnC,IAAI,IAAI,eAAjD;EACCunC,SAAS,GAAG;EAAG;EAAhB,IAAiDvnC,IAAI,IAAI,cAAzD;EACA,OAAOA,IAAI,CAAC9tC,MAAL,GAAc,CAAd,GAAkB8tC,IAAI,CAAChJ,SAAL,CAAe,CAAf,CAAlB,GAAsCgJ,IAA7C;AACH,EACD;AACA;;;AACA,MAAMwnC,+BAA+B,GAAG,CAAxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,aAAT,CAAuB3V,KAAvB,EAA8B;EAC1B,OAAO,CAACA,KAAK,CAAC1a,KAAN,GAAc;EAAG;EAAlB,MAAsD,CAA7D;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASswB,aAAT,CAAuB5V,KAAvB,EAA8B;EAC1B,OAAO,CAACA,KAAK,CAAC1a,KAAN,GAAc;EAAG;EAAlB,MAAsD,CAA7D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuwB,eAAT,CAAyB7V,KAAzB,EAAgC8V,aAAhC,EAA+Cp1E,OAA/C,EAAwD;EACpDm8D,aAAa,CAACmD,KAAD,EAAQ,+BAAR,CAAb;;EACA,IAAI,CAACA,KAAK,CAACz8D,IAAN,GAAauyE,aAAd,MAAiC,CAArC,EAAwC;IACpC/vD,UAAU,CAACrlB,OAAO,IACb,aAAY80E,mBAAmB,CAACM,aAAD,CAAgB,aAAYN,mBAAmB,CAACxV,KAAK,CAACz8D,IAAP,CAAa,GADtF,CAAV;EAEH;AACJ;;AACD,SAASwyE,mBAAT,CAA6BxyE,IAA7B,EAAmC;EAC/B,IAAI,EAAEA,IAAI,KAAK;EAAE;EAAX,GAAsC;EACxCA,IAAI,KAAK;EAAE;EADT,GACiC;EACnCA,IAAI,KAAK;EAAE;EAFT,GAEsC;EACxCA,IAAI,KAAK;EAAE;EAHT,GAG6C;EAC/CA,IAAI,KAAK;EAAG;EAJV,GAIiC;EACnCA,IAAI,KAAK;EAAG;EALV,GAKwC;EAC1CA,IAAI,KAAK;EAAG;EANZ,CAAJ,EAM8C;IAC1CwiB,UAAU,CAAE,mEAAkEyvD,mBAAmB,CAACjyE,IAAD,CAAO,GAA9F,CAAV;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,SAASyyE,eAAT,CAAyBC,QAAzB,EAAmCC,MAAnC,EAA2CC,KAA3C,EAAkD;EAC9C,IAAIj2E,CAAC,GAAG,CAAR;;EACA,OAAOA,CAAC,GAAGi2E,KAAK,CAAC/1E,MAAjB,EAAyB;IACrB,MAAMwS,KAAK,GAAGujE,KAAK,CAACj2E,CAAD,CAAnB;;IACA,IAAI,OAAO0S,KAAP,KAAiB,QAArB,EAA+B;MAC3B;MACA;MACA,IAAIA,KAAK,KAAK;MAAE;MAAhB,EAAoD;QAChD;MACH,CAL0B,CAM3B;MACA;;;MACA1S,CAAC;MACD,MAAMk2E,YAAY,GAAGD,KAAK,CAACj2E,CAAC,EAAF,CAA1B;MACA,MAAM+jD,QAAQ,GAAGkyB,KAAK,CAACj2E,CAAC,EAAF,CAAtB;MACA,MAAMm2E,OAAO,GAAGF,KAAK,CAACj2E,CAAC,EAAF,CAArB;MACAm/C,SAAS,IAAIA,SAAS,CAACihB,oBAAV,EAAb;MACA2V,QAAQ,CAACtnD,YAAT,CAAsBunD,MAAtB,EAA8BjyB,QAA9B,EAAwCoyB,OAAxC,EAAiDD,YAAjD;IACH,CAdD,MAeK;MACD;MACA,MAAMnyB,QAAQ,GAAGrxC,KAAjB;MACA,MAAMyjE,OAAO,GAAGF,KAAK,CAAC,EAAEj2E,CAAH,CAArB,CAHC,CAID;;MACAm/C,SAAS,IAAIA,SAAS,CAACihB,oBAAV,EAAb;;MACA,IAAIgW,eAAe,CAACryB,QAAD,CAAnB,EAA+B;QAC3BgyB,QAAQ,CAACM,WAAT,CAAqBL,MAArB,EAA6BjyB,QAA7B,EAAuCoyB,OAAvC;MACH,CAFD,MAGK;QACDJ,QAAQ,CAACtnD,YAAT,CAAsBunD,MAAtB,EAA8BjyB,QAA9B,EAAwCoyB,OAAxC;MACH;;MACDn2E,CAAC;IACJ;EACJ,CAjC6C,CAkC9C;EACA;EACA;EACA;;;EACA,OAAOA,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASs2E,yBAAT,CAAmCC,MAAnC,EAA2C;EACvC,OAAOA,MAAM,KAAK;EAAE;EAAb,GAA+CA,MAAM,KAAK;EAAE;EAA5D,GACHA,MAAM,KAAK;EAAE;EADjB;AAEH;;AACD,SAASH,eAAT,CAAyB71E,IAAzB,EAA+B;EAC3B;EACA;EACA;EACA,OAAOA,IAAI,CAACi2E,UAAL,CAAgB,CAAhB,MAAuB;EAAG;EAAjC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,cAAT,CAAwBC,GAAxB,EAA6B70E,GAA7B,EAAkC;EAC9B,IAAIA,GAAG,KAAK,IAAR,IAAgBA,GAAG,CAAC3B,MAAJ,KAAe,CAAnC,EAAsC,CAClC;EACH,CAFD,MAGK,IAAIw2E,GAAG,KAAK,IAAR,IAAgBA,GAAG,CAACx2E,MAAJ,KAAe,CAAnC,EAAsC;IACvC;IACAw2E,GAAG,GAAG70E,GAAG,CAACyC,KAAJ,EAAN;EACH,CAHI,MAIA;IACD,IAAIqyE,SAAS,GAAG,CAAC;IAAE;IAAnB;;IACA,KAAK,IAAI32E,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6B,GAAG,CAAC3B,MAAxB,EAAgCF,CAAC,EAAjC,EAAqC;MACjC,MAAMsZ,IAAI,GAAGzX,GAAG,CAAC7B,CAAD,CAAhB;;MACA,IAAI,OAAOsZ,IAAP,KAAgB,QAApB,EAA8B;QAC1Bq9D,SAAS,GAAGr9D,IAAZ;MACH,CAFD,MAGK;QACD,IAAIq9D,SAAS,KAAK;QAAE;QAApB,EAAwD,CACpD;QACH,CAFD,MAGK,IAAIA,SAAS,KAAK,CAAC;QAAE;QAAjB,GACLA,SAAS,KAAK;QAAE;QADf,EAC6C;UAC9C;UACAC,kBAAkB,CAACF,GAAD,EAAMC,SAAN,EAAiBr9D,IAAjB,EAAuB,IAAvB,EAA6BzX,GAAG,CAAC,EAAE7B,CAAH,CAAhC,CAAlB;QACH,CAJI,MAKA;UACD;UACA42E,kBAAkB,CAACF,GAAD,EAAMC,SAAN,EAAiBr9D,IAAjB,EAAuB,IAAvB,EAA6B,IAA7B,CAAlB;QACH;MACJ;IACJ;EACJ;;EACD,OAAOo9D,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,kBAAT,CAA4BF,GAA5B,EAAiCH,MAAjC,EAAyCM,IAAzC,EAA+CC,IAA/C,EAAqDpkE,KAArD,EAA4D;EACxD,IAAI1S,CAAC,GAAG,CAAR,CADwD,CAExD;;EACA,IAAI+2E,oBAAoB,GAAGL,GAAG,CAACx2E,MAA/B,CAHwD,CAIxD;;EACA,IAAIq2E,MAAM,KAAK,CAAC;EAAE;EAAlB,EAA4D;IACxDQ,oBAAoB,GAAG,CAAC,CAAxB;EACH,CAFD,MAGK;IACD,OAAO/2E,CAAC,GAAG02E,GAAG,CAACx2E,MAAf,EAAuB;MACnB,MAAM82E,QAAQ,GAAGN,GAAG,CAAC12E,CAAC,EAAF,CAApB;;MACA,IAAI,OAAOg3E,QAAP,KAAoB,QAAxB,EAAkC;QAC9B,IAAIA,QAAQ,KAAKT,MAAjB,EAAyB;UACrBQ,oBAAoB,GAAG,CAAC,CAAxB;UACA;QACH,CAHD,MAIK,IAAIC,QAAQ,GAAGT,MAAf,EAAuB;UACxB;UACAQ,oBAAoB,GAAG/2E,CAAC,GAAG,CAA3B;UACA;QACH;MACJ;IACJ;EACJ,CAvBuD,CAwBxD;;;EACA,OAAOA,CAAC,GAAG02E,GAAG,CAACx2E,MAAf,EAAuB;IACnB,MAAMoZ,IAAI,GAAGo9D,GAAG,CAAC12E,CAAD,CAAhB;;IACA,IAAI,OAAOsZ,IAAP,KAAgB,QAApB,EAA8B;MAC1B;MACA;MACA;IACH,CAJD,MAKK,IAAIA,IAAI,KAAKu9D,IAAb,EAAmB;MACpB;MACA,IAAIC,IAAI,KAAK,IAAb,EAAmB;QACf,IAAIpkE,KAAK,KAAK,IAAd,EAAoB;UAChBgkE,GAAG,CAAC12E,CAAC,GAAG,CAAL,CAAH,GAAa0S,KAAb;QACH;;QACD;MACH,CALD,MAMK,IAAIokE,IAAI,KAAKJ,GAAG,CAAC12E,CAAC,GAAG,CAAL,CAAhB,EAAyB;QAC1B02E,GAAG,CAAC12E,CAAC,GAAG,CAAL,CAAH,GAAa0S,KAAb;QACA;MACH;IACJ,CAnBkB,CAoBnB;;;IACA1S,CAAC;IACD,IAAI82E,IAAI,KAAK,IAAb,EACI92E,CAAC;IACL,IAAI0S,KAAK,KAAK,IAAd,EACI1S,CAAC;EACR,CAnDuD,CAoDxD;;;EACA,IAAI+2E,oBAAoB,KAAK,CAAC,CAA9B,EAAiC;IAC7BL,GAAG,CAAC7nE,MAAJ,CAAWkoE,oBAAX,EAAiC,CAAjC,EAAoCR,MAApC;IACAv2E,CAAC,GAAG+2E,oBAAoB,GAAG,CAA3B;EACH;;EACDL,GAAG,CAAC7nE,MAAJ,CAAW7O,CAAC,EAAZ,EAAgB,CAAhB,EAAmB62E,IAAnB;;EACA,IAAIC,IAAI,KAAK,IAAb,EAAmB;IACfJ,GAAG,CAAC7nE,MAAJ,CAAW7O,CAAC,EAAZ,EAAgB,CAAhB,EAAmB82E,IAAnB;EACH;;EACD,IAAIpkE,KAAK,KAAK,IAAd,EAAoB;IAChBgkE,GAAG,CAAC7nE,MAAJ,CAAW7O,CAAC,EAAZ,EAAgB,CAAhB,EAAmB0S,KAAnB;EACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASukE,iBAAT,CAA2BC,cAA3B,EAA2C;EACvC,OAAOA,cAAc,KAAKrC,kBAA1B;AACH;;AACD,SAASsC,sBAAT,CAAgCD,cAAhC,EAAgD;EAC5C/3B,SAAS,IAAIuc,YAAY,CAACwb,cAAD,EAAiB,iBAAjB,CAAzB;EACA/3B,SAAS,IAAIkd,cAAc,CAAC6a,cAAD,EAAiB,CAAC,CAAlB,EAAqB,oBAArB,CAA3B;EACA,MAAME,mBAAmB,GAAGF,cAAc,GAAG;EAAM;EAAnD;EACA/3B,SAAS,IACLsd,iBAAiB,CAAC2a,mBAAD,EAAsBjQ,aAAtB,EAAqC,sDAArC,CADrB;EAEA,OAAO+P,cAAc,GAAG;EAAM;EAA9B;AACH;;AACD,SAASG,2BAAT,CAAqCH,cAArC,EAAqD;EACjD,OAAOA,cAAc,IAAI;EAAG;EAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,qBAAT,CAA+Bp0C,QAA/B,EAAyCq0C,SAAzC,EAAoD;EAChD,IAAIC,UAAU,GAAGH,2BAA2B,CAACn0C,QAAD,CAA5C;EACA,IAAIu0C,UAAU,GAAGF,SAAjB,CAFgD,CAGhD;EACA;EACA;EACA;;EACA,OAAOC,UAAU,GAAG,CAApB,EAAuB;IACnBC,UAAU,GAAGA,UAAU,CAAC7Q,gBAAD,CAAvB;IACA4Q,UAAU;EACb;;EACD,OAAOC,UAAP;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,IAAIC,oBAAoB,GAAG,IAA3B;;AACA,SAASC,uBAAT,CAAiCxrE,CAAjC,EAAoC;EAChC,MAAMyrE,QAAQ,GAAGF,oBAAjB;EACAA,oBAAoB,GAAGvrE,CAAvB;EACA,OAAOyrE,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,MAAMC,UAAU,GAAG,GAAnB;AACA,MAAMC,UAAU,GAAGD,UAAU,GAAG,CAAhC;AACA;AACA;AACA;AACA;AACA;;AACA,MAAME,iBAAiB,GAAG,CAA1B;AACA;;AACA,IAAIC,eAAe,GAAG,CAAtB;AACA;;AACA,MAAMC,SAAS,GAAG,EAAlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,QAAT,CAAkB5N,aAAlB,EAAiCvK,KAAjC,EAAwC18D,IAAxC,EAA8C;EAC1C87C,SAAS,IAAIgd,WAAW,CAAC4D,KAAK,CAACF,eAAP,EAAwB,IAAxB,EAA8B,qCAA9B,CAAxB;EACA,IAAIjrD,EAAJ;;EACA,IAAI,OAAOvR,IAAP,KAAgB,QAApB,EAA8B;IAC1BuR,EAAE,GAAGvR,IAAI,CAACmzE,UAAL,CAAgB,CAAhB,KAAsB,CAA3B;EACH,CAFD,MAGK,IAAInzE,IAAI,CAACjD,cAAL,CAAoB0hE,aAApB,CAAJ,EAAwC;IACzCltD,EAAE,GAAGvR,IAAI,CAACy+D,aAAD,CAAT;EACH,CARyC,CAS1C;EACA;;;EACA,IAAIltD,EAAE,IAAI,IAAV,EAAgB;IACZA,EAAE,GAAGvR,IAAI,CAACy+D,aAAD,CAAJ,GAAsBkW,eAAe,EAA1C;EACH,CAbyC,CAc1C;EACA;;;EACA,MAAMG,SAAS,GAAGvjE,EAAE,GAAGkjE,UAAvB,CAhB0C,CAiB1C;EACA;EACA;;EACA,MAAMM,IAAI,GAAG,KAAKD,SAAlB,CApB0C,CAqB1C;EACA;EACA;;EACApY,KAAK,CAAC9lD,IAAN,CAAWqwD,aAAa,IAAI6N,SAAS,IAAIJ,iBAAjB,CAAxB,KAAgEK,IAAhE;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,8BAAT,CAAwCvY,KAAxC,EAA+CuI,KAA/C,EAAsD;EAClD,MAAMiQ,qBAAqB,GAAGC,gBAAgB,CAACzY,KAAD,EAAQuI,KAAR,CAA9C;;EACA,IAAIiQ,qBAAqB,KAAK,CAAC,CAA/B,EAAkC;IAC9B,OAAOA,qBAAP;EACH;;EACD,MAAMvY,KAAK,GAAGsI,KAAK,CAACvC,KAAD,CAAnB;;EACA,IAAI/F,KAAK,CAACF,eAAV,EAA2B;IACvBC,KAAK,CAACwK,aAAN,GAAsBjC,KAAK,CAACnoE,MAA5B;IACAs4E,WAAW,CAACzY,KAAK,CAAC9lD,IAAP,EAAa6lD,KAAb,CAAX,CAFuB,CAES;;IAChC0Y,WAAW,CAACnQ,KAAD,EAAQ,IAAR,CAAX,CAHuB,CAGG;;IAC1BmQ,WAAW,CAACzY,KAAK,CAAC0Y,SAAP,EAAkB,IAAlB,CAAX;EACH;;EACD,MAAMC,SAAS,GAAGC,yBAAyB,CAAC7Y,KAAD,EAAQuI,KAAR,CAA3C;EACA,MAAMiC,aAAa,GAAGxK,KAAK,CAACwK,aAA5B,CAbkD,CAclD;EACA;;EACA,IAAI2M,iBAAiB,CAACyB,SAAD,CAArB,EAAkC;IAC9B,MAAME,WAAW,GAAGzB,sBAAsB,CAACuB,SAAD,CAA1C;IACA,MAAM3H,WAAW,GAAGuG,qBAAqB,CAACoB,SAAD,EAAYrQ,KAAZ,CAAzC;IACA,MAAMwQ,UAAU,GAAG9H,WAAW,CAACjL,KAAD,CAAX,CAAmB7rD,IAAtC,CAH8B,CAI9B;IACA;;IACA,KAAK,IAAIja,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG;IAAE;IAAtB,EAA2DA,CAAC,EAA5D,EAAgE;MAC5DqoE,KAAK,CAACiC,aAAa,GAAGtqE,CAAjB,CAAL,GAA2B+wE,WAAW,CAAC6H,WAAW,GAAG54E,CAAf,CAAX,GAA+B64E,UAAU,CAACD,WAAW,GAAG54E,CAAf,CAApE;IACH;EACJ;;EACDqoE,KAAK,CAACiC,aAAa,GAAG;EAAE;EAAnB,CAAL,GAA2DoO,SAA3D;EACA,OAAOpO,aAAP;AACH;;AACD,SAASkO,WAAT,CAAqBxb,GAArB,EAA0B8b,MAA1B,EAAkC;EAC9B9b,GAAG,CAACp4D,IAAJ,CAAS,CAAT,EAAY,CAAZ,EAAe,CAAf,EAAkB,CAAlB,EAAqB,CAArB,EAAwB,CAAxB,EAA2B,CAA3B,EAA8B,CAA9B,EAAiCk0E,MAAjC;AACH;;AACD,SAASP,gBAAT,CAA0BzY,KAA1B,EAAiCuI,KAAjC,EAAwC;EACpC,IAAIvI,KAAK,CAACwK,aAAN,KAAwB,CAAC,CAAzB,IACA;EACA;EACCxK,KAAK,CAACn8D,MAAN,IAAgBm8D,KAAK,CAACn8D,MAAN,CAAa2mE,aAAb,KAA+BxK,KAAK,CAACwK,aAHtD,IAIA;EACA;EACAjC,KAAK,CAACvI,KAAK,CAACwK,aAAN,GAAsB;EAAE;EAAzB,CAAL,KAAmE,IANvE,EAM6E;IACzE,OAAO,CAAC,CAAR;EACH,CARD,MASK;IACDnrB,SAAS,IAAI4d,kBAAkB,CAACsL,KAAD,EAAQvI,KAAK,CAACwK,aAAd,CAA/B;IACA,OAAOxK,KAAK,CAACwK,aAAb;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqO,yBAAT,CAAmC7Y,KAAnC,EAA0CuI,KAA1C,EAAiD;EAC7C,IAAIvI,KAAK,CAACn8D,MAAN,IAAgBm8D,KAAK,CAACn8D,MAAN,CAAa2mE,aAAb,KAA+B,CAAC,CAApD,EAAuD;IACnD;IACA;IACA,OAAOxK,KAAK,CAACn8D,MAAN,CAAa2mE,aAApB,CAHmD,CAGhB;EACtC,CAL4C,CAM7C;EACA;EACA;;;EACA,IAAIyO,qBAAqB,GAAG,CAA5B;EACA,IAAIjI,WAAW,GAAG,IAAlB;EACA,IAAIkI,WAAW,GAAG3Q,KAAlB,CAX6C,CAY7C;EACA;EACA;;EACA,OAAO2Q,WAAW,KAAK,IAAvB,EAA6B;IACzBlI,WAAW,GAAGmI,iBAAiB,CAACD,WAAD,CAA/B;;IACA,IAAIlI,WAAW,KAAK,IAApB,EAA0B;MACtB;MACA,OAAO+D,kBAAP;IACH;;IACD11B,SAAS,IAAI2xB,WAAb,IAA4B1I,mBAAmB,CAAC0I,WAAD,EAAckI,WAAW,CAACpS,gBAAD,CAAzB,CAA/C,CANyB,CAOzB;;IACAmS,qBAAqB;IACrBC,WAAW,GAAGA,WAAW,CAACpS,gBAAD,CAAzB;;IACA,IAAIkK,WAAW,CAACxG,aAAZ,KAA8B,CAAC,CAAnC,EAAsC;MAClC;MACA,OAAQwG,WAAW,CAACxG,aAAZ,GACHyO,qBAAqB,IAAI;MAAG;MADjC;IAEH;EACJ;;EACD,OAAOlE,kBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqE,kBAAT,CAA4B5O,aAA5B,EAA2CvK,KAA3C,EAAkDpV,KAAlD,EAAyD;EACrDutB,QAAQ,CAAC5N,aAAD,EAAgBvK,KAAhB,EAAuBpV,KAAvB,CAAR;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,SAASwuB,mBAAT,CAA6BrZ,KAA7B,EAAoCsZ,gBAApC,EAAsD;EAClDj6B,SAAS,IAAIw2B,eAAe,CAAC7V,KAAD,EAAQ;EAAG;EAAH,EAAkC;EAAE;EAA5C,CAA5B;EACA3gB,SAAS,IAAIwd,aAAa,CAACmD,KAAD,EAAQ,iBAAR,CAA1B;;EACA,IAAIsZ,gBAAgB,KAAK,OAAzB,EAAkC;IAC9B,OAAOtZ,KAAK,CAACuZ,OAAb;EACH;;EACD,IAAID,gBAAgB,KAAK,OAAzB,EAAkC;IAC9B,OAAOtZ,KAAK,CAAC8D,MAAb;EACH;;EACD,MAAMqS,KAAK,GAAGnW,KAAK,CAACmW,KAApB;;EACA,IAAIA,KAAJ,EAAW;IACP,MAAMqD,WAAW,GAAGrD,KAAK,CAAC/1E,MAA1B;IACA,IAAIF,CAAC,GAAG,CAAR;;IACA,OAAOA,CAAC,GAAGs5E,WAAX,EAAwB;MACpB,MAAM5mE,KAAK,GAAGujE,KAAK,CAACj2E,CAAD,CAAnB,CADoB,CAEpB;;MACA,IAAIs2E,yBAAyB,CAAC5jE,KAAD,CAA7B,EACI,MAJgB,CAKpB;;MACA,IAAIA,KAAK,KAAK;MAAE;MAAhB,EAAoD;QAChD;QACA;QACA;QACA;QACA1S,CAAC,GAAGA,CAAC,GAAG,CAAR;MACH,CAND,MAOK,IAAI,OAAO0S,KAAP,KAAiB,QAArB,EAA+B;QAChC;QACA1S,CAAC;;QACD,OAAOA,CAAC,GAAGs5E,WAAJ,IAAmB,OAAOrD,KAAK,CAACj2E,CAAD,CAAZ,KAAoB,QAA9C,EAAwD;UACpDA,CAAC;QACJ;MACJ,CANI,MAOA,IAAI0S,KAAK,KAAK0mE,gBAAd,EAAgC;QACjC,OAAOnD,KAAK,CAACj2E,CAAC,GAAG,CAAL,CAAZ;MACH,CAFI,MAGA;QACDA,CAAC,GAAGA,CAAC,GAAG,CAAR;MACH;IACJ;EACJ;;EACD,OAAO,IAAP;AACH;;AACD,SAASu5E,oBAAT,CAA8B7a,aAA9B,EAA6C/T,KAA7C,EAAoDvF,KAApD,EAA2D;EACvD,IAAIA,KAAK,GAAGgZ,WAAW,CAAC79B,QAAxB,EAAkC;IAC9B,OAAOm+B,aAAP;EACH,CAFD,MAGK;IACDnD,0BAA0B,CAAC5Q,KAAD,EAAQ,cAAR,CAA1B;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6uB,8BAAT,CAAwCnR,KAAxC,EAA+C1d,KAA/C,EAAsDvF,KAAtD,EAA6DsZ,aAA7D,EAA4E;EACxE,IAAItZ,KAAK,GAAGgZ,WAAW,CAAC79B,QAApB,IAAgCm+B,aAAa,KAAKjgE,SAAtD,EAAiE;IAC7D;IACAigE,aAAa,GAAG,IAAhB;EACH;;EACD,IAAI,CAACtZ,KAAK,IAAIgZ,WAAW,CAACqb,IAAZ,GAAmBrb,WAAW,CAAC/8B,IAAnC,CAAN,MAAoD,CAAxD,EAA2D;IACvD,MAAMq4C,cAAc,GAAGrR,KAAK,CAAC/B,UAAD,CAA5B,CADuD,CAEvD;IACA;IACA;;IACA,MAAMqT,4BAA4B,GAAGpb,uBAAuB,CAAC9/D,SAAD,CAA5D;;IACA,IAAI;MACA,IAAIi7E,cAAJ,EAAoB;QAChB,OAAOA,cAAc,CAACzjE,GAAf,CAAmB00C,KAAnB,EAA0B+T,aAA1B,EAAyCtZ,KAAK,GAAGgZ,WAAW,CAAC79B,QAA7D,CAAP;MACH,CAFD,MAGK;QACD,OAAOk+B,kBAAkB,CAAC9T,KAAD,EAAQ+T,aAAR,EAAuBtZ,KAAK,GAAGgZ,WAAW,CAAC79B,QAA3C,CAAzB;MACH;IACJ,CAPD,SAQQ;MACJg+B,uBAAuB,CAACob,4BAAD,CAAvB;IACH;EACJ;;EACD,OAAOJ,oBAAoB,CAAC7a,aAAD,EAAgB/T,KAAhB,EAAuBvF,KAAvB,CAA3B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw0B,qBAAT,CAA+B9Z,KAA/B,EAAsCuI,KAAtC,EAA6C1d,KAA7C,EAAoDvF,KAAK,GAAGgZ,WAAW,CAACc,OAAxE,EAAiFR,aAAjF,EAAgG;EAC5F,IAAIoB,KAAK,KAAK,IAAd,EAAoB;IAChB;IACA;IACA,IAAIuI,KAAK,CAACtC,KAAD,CAAL,GAAe;IAAK;IAAxB,EAAkE;MAC9D,MAAM8T,qBAAqB,GAAGC,gCAAgC,CAACha,KAAD,EAAQuI,KAAR,EAAe1d,KAAf,EAAsBvF,KAAtB,EAA6B6yB,SAA7B,CAA9D;;MACA,IAAI4B,qBAAqB,KAAK5B,SAA9B,EAAyC;QACrC,OAAO4B,qBAAP;MACH;IACJ,CARe,CAShB;;;IACA,MAAMnnE,KAAK,GAAGqnE,4BAA4B,CAACja,KAAD,EAAQuI,KAAR,EAAe1d,KAAf,EAAsBvF,KAAtB,EAA6B6yB,SAA7B,CAA1C;;IACA,IAAIvlE,KAAK,KAAKulE,SAAd,EAAyB;MACrB,OAAOvlE,KAAP;IACH;EACJ,CAf2F,CAgB5F;;;EACA,OAAO8mE,8BAA8B,CAACnR,KAAD,EAAQ1d,KAAR,EAAevF,KAAf,EAAsBsZ,aAAtB,CAArC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqb,4BAAT,CAAsCja,KAAtC,EAA6CuI,KAA7C,EAAoD1d,KAApD,EAA2DvF,KAA3D,EAAkEsZ,aAAlE,EAAiF;EAC7E,MAAMyZ,SAAS,GAAG6B,qBAAqB,CAACrvB,KAAD,CAAvC,CAD6E,CAE7E;EACA;;EACA,IAAI,OAAOwtB,SAAP,KAAqB,UAAzB,EAAqC;IACjC,IAAI,CAACvH,OAAO,CAACvI,KAAD,EAAQvI,KAAR,EAAe1a,KAAf,CAAZ,EAAmC;MAC/B;MACA;MACA,OAAQA,KAAK,GAAGgZ,WAAW,CAAC/8B,IAArB,GACHk4C,oBAAoB,CAAC7a,aAAD,EAAgB/T,KAAhB,EAAuBvF,KAAvB,CADjB,GAEHo0B,8BAA8B,CAACnR,KAAD,EAAQ1d,KAAR,EAAevF,KAAf,EAAsBsZ,aAAtB,CAFlC;IAGH;;IACD,IAAI;MACA,MAAMhsD,KAAK,GAAGylE,SAAS,CAAC/yB,KAAD,CAAvB;;MACA,IAAI1yC,KAAK,IAAI,IAAT,IAAiB,EAAE0yC,KAAK,GAAGgZ,WAAW,CAAC79B,QAAtB,CAArB,EAAsD;QAClDg7B,0BAA0B,CAAC5Q,KAAD,CAA1B;MACH,CAFD,MAGK;QACD,OAAOj4C,KAAP;MACH;IACJ,CARD,SASQ;MACJi/D,OAAO;IACV;EACJ,CApBD,MAqBK,IAAI,OAAOwG,SAAP,KAAqB,QAAzB,EAAmC;IACpC;IACA;IACA;IACA,IAAI8B,aAAa,GAAG,IAApB;IACA,IAAI3P,aAAa,GAAGiO,gBAAgB,CAACzY,KAAD,EAAQuI,KAAR,CAApC;IACA,IAAI6O,cAAc,GAAGrC,kBAArB;IACA,IAAIqF,gBAAgB,GAAG90B,KAAK,GAAGgZ,WAAW,CAAC/8B,IAApB,GAA2BgnC,KAAK,CAACxB,0BAAD,CAAL,CAAkCV,MAAlC,CAA3B,GAAuE,IAA9F,CAPoC,CAQpC;IACA;;IACA,IAAImE,aAAa,KAAK,CAAC,CAAnB,IAAwBllB,KAAK,GAAGgZ,WAAW,CAACyS,QAAhD,EAA0D;MACtDqG,cAAc,GAAG5M,aAAa,KAAK,CAAC,CAAnB,GAAuBqO,yBAAyB,CAAC7Y,KAAD,EAAQuI,KAAR,CAAhD,GACbA,KAAK,CAACiC,aAAa,GAAG;MAAE;MAAnB,CADT;;MAEA,IAAI4M,cAAc,KAAKrC,kBAAnB,IAAyC,CAACsF,kBAAkB,CAAC/0B,KAAD,EAAQ,KAAR,CAAhE,EAAgF;QAC5EklB,aAAa,GAAG,CAAC,CAAjB;MACH,CAFD,MAGK;QACD2P,aAAa,GAAG5R,KAAK,CAACvC,KAAD,CAArB;QACAwE,aAAa,GAAG6M,sBAAsB,CAACD,cAAD,CAAtC;QACA7O,KAAK,GAAGiP,qBAAqB,CAACJ,cAAD,EAAiB7O,KAAjB,CAA7B;MACH;IACJ,CArBmC,CAsBpC;IACA;;;IACA,OAAOiC,aAAa,KAAK,CAAC,CAA1B,EAA6B;MACzBnrB,SAAS,IAAIkrB,kBAAkB,CAAChC,KAAD,EAAQiC,aAAR,CAA/B,CADyB,CAEzB;;MACA,MAAMvK,KAAK,GAAGsI,KAAK,CAACvC,KAAD,CAAnB;MACA3mB,SAAS,IACLipB,mBAAmB,CAACrI,KAAK,CAAC9lD,IAAN,CAAWqwD,aAAa,GAAG;MAAE;MAA7B,CAAD,EAA+DjC,KAA/D,CADvB;;MAEA,IAAI+R,aAAa,CAACjC,SAAD,EAAY7N,aAAZ,EAA2BvK,KAAK,CAAC9lD,IAAjC,CAAjB,EAAyD;QACrD;QACA;QACA;QACA,MAAMgU,QAAQ,GAAGosD,sBAAsB,CAAC/P,aAAD,EAAgBjC,KAAhB,EAAuB1d,KAAvB,EAA8BsvB,aAA9B,EAA6C70B,KAA7C,EAAoD80B,gBAApD,CAAvC;;QACA,IAAIjsD,QAAQ,KAAKgqD,SAAjB,EAA4B;UACxB,OAAOhqD,QAAP;QACH;MACJ;;MACDipD,cAAc,GAAG7O,KAAK,CAACiC,aAAa,GAAG;MAAE;MAAnB,CAAtB;;MACA,IAAI4M,cAAc,KAAKrC,kBAAnB,IACAsF,kBAAkB,CAAC/0B,KAAD,EAAQijB,KAAK,CAACvC,KAAD,CAAL,CAAa7rD,IAAb,CAAkBqwD,aAAa,GAAG;MAAE;MAApC,MAAwE4P,gBAAhF,CADlB,IAEAE,aAAa,CAACjC,SAAD,EAAY7N,aAAZ,EAA2BjC,KAA3B,CAFjB,EAEoD;QAChD;QACA;QACA4R,aAAa,GAAGla,KAAhB;QACAuK,aAAa,GAAG6M,sBAAsB,CAACD,cAAD,CAAtC;QACA7O,KAAK,GAAGiP,qBAAqB,CAACJ,cAAD,EAAiB7O,KAAjB,CAA7B;MACH,CARD,MASK;QACD;QACA;QACA;QACAiC,aAAa,GAAG,CAAC,CAAjB;MACH;IACJ;EACJ;;EACD,OAAO5L,aAAP;AACH;;AACD,SAAS2b,sBAAT,CAAgC/P,aAAhC,EAA+CjC,KAA/C,EAAsD1d,KAAtD,EAA6DsvB,aAA7D,EAA4E70B,KAA5E,EAAmF80B,gBAAnF,EAAqG;EACjG,MAAMI,YAAY,GAAGjS,KAAK,CAACvC,KAAD,CAA1B;EACA,MAAMhG,KAAK,GAAGwa,YAAY,CAACrgE,IAAb,CAAkBqwD,aAAa,GAAG;EAAE;EAApC,CAAd,CAFiG,CAGjG;EACA;;EACA,MAAMiQ,sBAAsB,GAAGN,aAAa,IAAI,IAAjB,GAC3B;EACA;EACA;EACA;EACA;EACA;EACA;EACCjS,eAAe,CAAClI,KAAD,CAAf,IAA0B4X,oBARA,GAS3B;EACA;EACA;EACA;EACA;EACA;EACCuC,aAAa,IAAIK,YAAjB,IAAkC,CAACxa,KAAK,CAACz8D,IAAN,GAAa;EAAE;EAAhB,MAA8C,CAfrF,CALiG,CAqBjG;EACA;;EACA,MAAMm3E,iBAAiB,GAAIp1B,KAAK,GAAGgZ,WAAW,CAAC/8B,IAArB,IAA8B64C,gBAAgB,KAAKpa,KAA7E;EACA,MAAM2a,aAAa,GAAGC,yBAAyB,CAAC5a,KAAD,EAAQwa,YAAR,EAAsB3vB,KAAtB,EAA6B4vB,sBAA7B,EAAqDC,iBAArD,CAA/C;;EACA,IAAIC,aAAa,KAAK,IAAtB,EAA4B;IACxB,OAAOE,iBAAiB,CAACtS,KAAD,EAAQiS,YAAR,EAAsBG,aAAtB,EAAqC3a,KAArC,CAAxB;EACH,CAFD,MAGK;IACD,OAAOmY,SAAP;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyC,yBAAT,CAAmC5a,KAAnC,EAA0CC,KAA1C,EAAiDpV,KAAjD,EAAwD4vB,sBAAxD,EAAgFC,iBAAhF,EAAmG;EAC/F,MAAMI,mBAAmB,GAAG9a,KAAK,CAAC+a,eAAlC;EACA,MAAMC,YAAY,GAAG/a,KAAK,CAAC9lD,IAA3B;EACA,MAAM8gE,gBAAgB,GAAGH,mBAAmB,GAAG;EAAQ;EAAvD;EACA,MAAMI,eAAe,GAAGlb,KAAK,CAACoT,cAA9B;EACA,MAAMC,YAAY,GAAGrT,KAAK,CAACqT,YAA3B;EACA,MAAM8H,qBAAqB,GAAGL,mBAAmB,IAAI;EAAG;EAAxD;EACA,MAAMM,aAAa,GAAGX,sBAAsB,GAAGQ,gBAAH,GAAsBA,gBAAgB,GAAGE,qBAArF,CAP+F,CAQ/F;;EACA,MAAME,QAAQ,GAAGX,iBAAiB,GAAGO,gBAAgB,GAAGE,qBAAtB,GAA8C9H,YAAhF;;EACA,KAAK,IAAInzE,CAAC,GAAGk7E,aAAb,EAA4Bl7E,CAAC,GAAGm7E,QAAhC,EAA0Cn7E,CAAC,EAA3C,EAA+C;IAC3C,MAAMo7E,kBAAkB,GAAGN,YAAY,CAAC96E,CAAD,CAAvC;;IACA,IAAIA,CAAC,GAAGg7E,eAAJ,IAAuBrwB,KAAK,KAAKywB,kBAAjC,IACAp7E,CAAC,IAAIg7E,eAAL,IAAwBI,kBAAkB,CAAC/3E,IAAnB,KAA4BsnD,KADxD,EAC+D;MAC3D,OAAO3qD,CAAP;IACH;EACJ;;EACD,IAAIw6E,iBAAJ,EAAuB;IACnB,MAAMa,MAAM,GAAGP,YAAY,CAACE,eAAD,CAA3B;;IACA,IAAIK,MAAM,IAAInT,cAAc,CAACmT,MAAD,CAAxB,IAAoCA,MAAM,CAACh4E,IAAP,KAAgBsnD,KAAxD,EAA+D;MAC3D,OAAOqwB,eAAP;IACH;EACJ;;EACD,OAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASL,iBAAT,CAA2BtS,KAA3B,EAAkCtI,KAAlC,EAAyCv+D,KAAzC,EAAgDs+D,KAAhD,EAAuD;EACnD,IAAIptD,KAAK,GAAG21D,KAAK,CAAC7mE,KAAD,CAAjB;EACA,MAAM8uE,KAAK,GAAGvQ,KAAK,CAAC9lD,IAApB;;EACA,IAAIm7D,SAAS,CAAC1iE,KAAD,CAAb,EAAsB;IAClB,MAAMk4C,OAAO,GAAGl4C,KAAhB;;IACA,IAAIk4C,OAAO,CAACqqB,SAAZ,EAAuB;MACnBla,0BAA0B,CAACD,iBAAiB,CAACwV,KAAK,CAAC9uE,KAAD,CAAN,CAAlB,CAA1B;IACH;;IACD,MAAM85E,4BAA4B,GAAG3D,uBAAuB,CAAC/sB,OAAO,CAACsqB,mBAAT,CAA5D;IACAtqB,OAAO,CAACqqB,SAAR,GAAoB,IAApB;IACA,MAAM0E,4BAA4B,GAAG/uB,OAAO,CAACuqB,UAAR,GAAqB5W,uBAAuB,CAAC3T,OAAO,CAACuqB,UAAT,CAA5C,GAAmE,IAAxG;IACA,MAAMoG,OAAO,GAAG3K,OAAO,CAACvI,KAAD,EAAQvI,KAAR,EAAe1B,WAAW,CAACc,OAA3B,CAAvB;IACA/f,SAAS,IACLgd,WAAW,CAACof,OAAD,EAAU,IAAV,EAAgB,6EAAhB,CADf;;IAEA,IAAI;MACA7oE,KAAK,GAAG21D,KAAK,CAAC7mE,KAAD,CAAL,GAAeopD,OAAO,CAACA,OAAR,CAAgBnsD,SAAhB,EAA2B6xE,KAA3B,EAAkCjI,KAAlC,EAAyCvI,KAAzC,CAAvB,CADA,CAEA;MACA;MACA;MACA;MACA;MACA;;MACA,IAAIC,KAAK,CAACF,eAAN,IAAyBr+D,KAAK,IAAIs+D,KAAK,CAACoT,cAA5C,EAA4D;QACxD/zB,SAAS,IAAIsqB,kBAAkB,CAAC6G,KAAK,CAAC9uE,KAAD,CAAN,CAA/B;QACAkxE,qBAAqB,CAAClxE,KAAD,EAAQ8uE,KAAK,CAAC9uE,KAAD,CAAb,EAAsBu+D,KAAtB,CAArB;MACH;IACJ,CAZD,SAaQ;MACJ4Z,4BAA4B,KAAK,IAAjC,IACIpb,uBAAuB,CAACob,4BAAD,CAD3B;MAEAhC,uBAAuB,CAAC2D,4BAAD,CAAvB;MACA1wB,OAAO,CAACqqB,SAAR,GAAoB,KAApB;MACAtD,OAAO;IACV;EACJ;;EACD,OAAOj/D,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsnE,qBAAT,CAA+BrvB,KAA/B,EAAsC;EAClCxL,SAAS,IAAIwd,aAAa,CAAChS,KAAD,EAAQ,uBAAR,CAA1B;;EACA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;IAC3B,OAAOA,KAAK,CAAC6rB,UAAN,CAAiB,CAAjB,KAAuB,CAA9B;EACH;;EACD,MAAMgF,OAAO,GACb;EACA7wB,KAAK,CAACvqD,cAAN,CAAqB0hE,aAArB,IAAsCnX,KAAK,CAACmX,aAAD,CAA3C,GAA6DrjE,SAF7D,CALkC,CAQlC;;EACA,IAAI,OAAO+8E,OAAP,KAAmB,QAAvB,EAAiC;IAC7B,IAAIA,OAAO,IAAI,CAAf,EAAkB;MACd,OAAOA,OAAO,GAAG1D,UAAjB;IACH,CAFD,MAGK;MACD34B,SAAS,IACLgd,WAAW,CAACqf,OAAD,EAAU,CAAC;MAAE;MAAb,EAA6C,sCAA7C,CADf;MAEA,OAAOC,kBAAP;IACH;EACJ,CATD,MAUK;IACD,OAAOD,OAAP;EACH;AACJ;;AACD,SAASpB,aAAT,CAAuBjC,SAAvB,EAAkC7N,aAAlC,EAAiDoR,YAAjD,EAA+D;EAC3D;EACA;EACA;EACA,MAAMtD,IAAI,GAAG,KAAKD,SAAlB,CAJ2D,CAK3D;EACA;EACA;;EACA,MAAMzlE,KAAK,GAAGgpE,YAAY,CAACpR,aAAa,IAAI6N,SAAS,IAAIJ,iBAAjB,CAAd,CAA1B,CAR2D,CAS3D;EACA;;EACA,OAAO,CAAC,EAAErlE,KAAK,GAAG0lE,IAAV,CAAR;AACH;AACD;;;AACA,SAAS+B,kBAAT,CAA4B/0B,KAA5B,EAAmCu2B,gBAAnC,EAAqD;EACjD,OAAO,EAAEv2B,KAAK,GAAGgZ,WAAW,CAACqb,IAAtB,KAA+B,EAAEr0B,KAAK,GAAGgZ,WAAW,CAAC/8B,IAApB,IAA4Bs6C,gBAA9B,CAAtC;AACH;;AACD,MAAMC,YAAN,CAAmB;EACfp5E,WAAW,CAACq5E,MAAD,EAASC,MAAT,EAAiB;IACxB,KAAKD,MAAL,GAAcA,MAAd;IACA,KAAKC,MAAL,GAAcA,MAAd;EACH;;EACD7lE,GAAG,CAAC00C,KAAD,EAAQ+T,aAAR,EAAuBtZ,KAAvB,EAA8B;IAC7B,OAAOw0B,qBAAqB,CAAC,KAAKiC,MAAN,EAAc,KAAKC,MAAnB,EAA2BnxB,KAA3B,EAAkCvF,KAAlC,EAAyCsZ,aAAzC,CAA5B;EACH;;AAPc;AASnB;;;AACA,SAAS+c,kBAAT,GAA8B;EAC1B,OAAO,IAAIG,YAAJ,CAAiBjN,eAAe,EAAhC,EAAoCN,QAAQ,EAA5C,CAAP;AACH;AACD;AACA;AACA;;;AACA,SAAS0N,qBAAT,CAA+B14E,IAA/B,EAAqC;EACjC,OAAOw7D,aAAa,CAAC,MAAM;IACvB,MAAMmd,cAAc,GAAG34E,IAAI,CAAChB,SAAL,CAAeG,WAAtC;IACA,MAAMy5E,UAAU,GAAGD,cAAc,CAACna,cAAD,CAAd,IAAkCqa,YAAY,CAACF,cAAD,CAAjE;IACA,MAAMG,eAAe,GAAG/6E,MAAM,CAACiB,SAA/B;IACA,IAAIsB,MAAM,GAAGvC,MAAM,CAAC8jB,cAAP,CAAsB7hB,IAAI,CAAChB,SAA3B,EAAsCG,WAAnD,CAJuB,CAKvB;;IACA,OAAOmB,MAAM,IAAIA,MAAM,KAAKw4E,eAA5B,EAA6C;MACzC,MAAMvxB,OAAO,GAAGjnD,MAAM,CAACk+D,cAAD,CAAN,IAA0Bqa,YAAY,CAACv4E,MAAD,CAAtD,CADyC,CAEzC;MACA;MACA;MACA;MACA;;MACA,IAAIinD,OAAO,IAAIA,OAAO,KAAKqxB,UAA3B,EAAuC;QACnC,OAAOrxB,OAAP;MACH;;MACDjnD,MAAM,GAAGvC,MAAM,CAAC8jB,cAAP,CAAsBvhB,MAAtB,CAAT;IACH,CAjBsB,CAkBvB;IACA;IACA;IACA;;;IACA,OAAOgO,CAAC,IAAI,IAAIA,CAAJ,EAAZ;EACH,CAvBmB,CAApB;AAwBH;;AACD,SAASuqE,YAAT,CAAsB74E,IAAtB,EAA4B;EACxB,IAAIi3D,YAAY,CAACj3D,IAAD,CAAhB,EAAwB;IACpB,OAAO,MAAM;MACT,MAAMunD,OAAO,GAAGsxB,YAAY,CAAC7hB,iBAAiB,CAACh3D,IAAD,CAAlB,CAA5B;MACA,OAAOunD,OAAO,IAAIA,OAAO,EAAzB;IACH,CAHD;EAIH;;EACD,OAAO2f,aAAa,CAAClnE,IAAD,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy2E,gCAAT,CAA0Cha,KAA1C,EAAiDuI,KAAjD,EAAwD1d,KAAxD,EAA+DvF,KAA/D,EAAsEsZ,aAAtE,EAAqF;EACjF,IAAIkQ,YAAY,GAAG9O,KAAnB;EACA,IAAIsc,YAAY,GAAG/T,KAAnB,CAFiF,CAGjF;EACA;EACA;EACA;EACA;EACA;;EACA,OAAOuG,YAAY,KAAK,IAAjB,IAAyBwN,YAAY,KAAK,IAA1C,IACFA,YAAY,CAACrW,KAAD,CAAZ,GAAsB;EAAK;EADzB,GAEH,EAAEqW,YAAY,CAACrW,KAAD,CAAZ,GAAsB;EAAI;EAA5B,CAFJ,EAE0D;IACtD5mB,SAAS,IAAIipB,mBAAmB,CAACwG,YAAD,EAAewN,YAAf,CAAhC,CADsD,CAEtD;IACA;IACA;;IACA,MAAMC,iBAAiB,GAAGtC,4BAA4B,CAACnL,YAAD,EAAewN,YAAf,EAA6BzxB,KAA7B,EAAoCvF,KAAK,GAAGgZ,WAAW,CAACqb,IAAxD,EAA8DxB,SAA9D,CAAtD;;IACA,IAAIoE,iBAAiB,KAAKpE,SAA1B,EAAqC;MACjC,OAAOoE,iBAAP;IACH,CARqD,CAStD;;;IACA,IAAIvL,WAAW,GAAGlC,YAAY,CAACjrE,MAA/B,CAVsD,CAWtD;IACA;;IACA,IAAI,CAACmtE,WAAL,EAAkB;MACd;MACA,MAAMwL,oBAAoB,GAAGF,YAAY,CAAClV,sBAAD,CAAzC;;MACA,IAAIoV,oBAAJ,EAA0B;QACtB,MAAMC,yBAAyB,GAAGD,oBAAoB,CAACrmE,GAArB,CAAyB00C,KAAzB,EAAgCstB,SAAhC,EAA2C7yB,KAA3C,CAAlC;;QACA,IAAIm3B,yBAAyB,KAAKtE,SAAlC,EAA6C;UACzC,OAAOsE,yBAAP;QACH;MACJ,CARa,CASd;;;MACAzL,WAAW,GAAGmI,iBAAiB,CAACmD,YAAD,CAA/B;MACAA,YAAY,GAAGA,YAAY,CAACxV,gBAAD,CAA3B;IACH;;IACDgI,YAAY,GAAGkC,WAAf;EACH;;EACD,OAAOpS,aAAP;AACH;AACD;;;AACA,SAASua,iBAAT,CAA2B5Q,KAA3B,EAAkC;EAC9B,MAAMtI,KAAK,GAAGsI,KAAK,CAACvC,KAAD,CAAnB;EACA,MAAM0W,SAAS,GAAGzc,KAAK,CAAC18D,IAAxB,CAF8B,CAG9B;;EACA,IAAIm5E,SAAS,KAAK;EAAE;EAApB,EAA8C;IAC1Cr9B,SAAS,IAAIwd,aAAa,CAACoD,KAAK,CAAC4Q,SAAP,EAAkB,kDAAlB,CAA1B;IACA,OAAO5Q,KAAK,CAAC4Q,SAAb;EACH,CAHD,MAIK,IAAI6L,SAAS,KAAK;EAAE;EAApB,EAA+C;IAChD;IACA;IACA,OAAOnU,KAAK,CAAClC,MAAD,CAAZ;EACH;;EACD,OAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsW,iBAAT,CAA2BrD,gBAA3B,EAA6C;EACzC,OAAOD,mBAAmB,CAACxK,eAAe,EAAhB,EAAoByK,gBAApB,CAA1B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMsD,WAAW,GAAG,iBAApB;AACA,MAAMC,UAAU,GAAG,gBAAnB;AACA,MAAMC,aAAa,GAAG,oBAAtB;AACA;AACA;AACA;;AACA,SAASC,aAAT,CAAuBt8E,IAAvB,EAA6BiM,KAA7B,EAAoCswE,WAApC,EAAiDC,oBAAjD,EAAuEC,MAAvE,EAA+E;EAC3E,OAAOne,aAAa,CAAC,MAAM;IACvB,MAAMoe,QAAQ,GAAGC,gBAAgB,CAAC1wE,KAAD,CAAjC;;IACA,SAAS2wE,gBAAT,CAA0B,GAAGt6E,IAA7B,EAAmC;MAC/B,IAAI,gBAAgBs6E,gBAApB,EAAsC;QAClCF,QAAQ,CAAC98E,IAAT,CAAc,IAAd,EAAoB,GAAG0C,IAAvB;QACA,OAAO,IAAP;MACH;;MACD,MAAMu6E,kBAAkB,GAAG,IAAID,gBAAJ,CAAqB,GAAGt6E,IAAxB,CAA3B;MACA,OAAO,SAASw6E,aAAT,CAAuBC,GAAvB,EAA4B;QAC/B,IAAIN,MAAJ,EACIA,MAAM,CAACM,GAAD,EAAM,GAAGz6E,IAAT,CAAN,CAF2B,CAG/B;QACA;;QACA,MAAM06E,WAAW,GAAGD,GAAG,CAACl9E,cAAJ,CAAmBs8E,WAAnB,IAChBY,GAAG,CAACZ,WAAD,CADa,GAEhBt7E,MAAM,CAACo8E,cAAP,CAAsBF,GAAtB,EAA2BZ,WAA3B,EAAwC;UAAEhqE,KAAK,EAAE;QAAT,CAAxC,EAAuDgqE,WAAvD,CAFJ;QAGAa,WAAW,CAAC34E,IAAZ,CAAiBw4E,kBAAjB;QACA,IAAIL,oBAAJ,EACIA,oBAAoB,CAACO,GAAD,CAApB;QACJ,OAAOA,GAAP;MACH,CAZD;IAaH;;IACD,IAAIR,WAAJ,EAAiB;MACbK,gBAAgB,CAAC96E,SAAjB,GAA6BjB,MAAM,CAACmB,MAAP,CAAcu6E,WAAW,CAACz6E,SAA1B,CAA7B;IACH;;IACD86E,gBAAgB,CAAC96E,SAAjB,CAA2Bo7E,cAA3B,GAA4Cl9E,IAA5C;IACA48E,gBAAgB,CAACO,aAAjB,GAAiCP,gBAAjC;IACA,OAAOA,gBAAP;EACH,CA5BmB,CAApB;AA6BH;;AACD,SAASD,gBAAT,CAA0B1wE,KAA1B,EAAiC;EAC7B,OAAO,SAASmxE,IAAT,CAAc,GAAG96E,IAAjB,EAAuB;IAC1B,IAAI2J,KAAJ,EAAW;MACP,MAAM7H,MAAM,GAAG6H,KAAK,CAAC,GAAG3J,IAAJ,CAApB;;MACA,KAAK,MAAM+6E,QAAX,IAAuBj5E,MAAvB,EAA+B;QAC3B,KAAKi5E,QAAL,IAAiBj5E,MAAM,CAACi5E,QAAD,CAAvB;MACH;IACJ;EACJ,CAPD;AAQH;;AACD,SAASC,kBAAT,CAA4Bt9E,IAA5B,EAAkCiM,KAAlC,EAAyCswE,WAAzC,EAAsD;EAClD,OAAOje,aAAa,CAAC,MAAM;IACvB,MAAMoe,QAAQ,GAAGC,gBAAgB,CAAC1wE,KAAD,CAAjC;;IACA,SAASsxE,qBAAT,CAA+B,GAAGj7E,IAAlC,EAAwC;MACpC,IAAI,gBAAgBi7E,qBAApB,EAA2C;QACvCb,QAAQ,CAACh8E,KAAT,CAAe,IAAf,EAAqB4B,IAArB;QACA,OAAO,IAAP;MACH;;MACD,MAAMu6E,kBAAkB,GAAG,IAAIU,qBAAJ,CAA0B,GAAGj7E,IAA7B,CAA3B;MACAk7E,cAAc,CAACC,UAAf,GAA4BZ,kBAA5B;MACA,OAAOW,cAAP;;MACA,SAASA,cAAT,CAAwBT,GAAxB,EAA6BW,SAA7B,EAAwCz8E,KAAxC,EAA+C;QAC3C;QACA;QACA,MAAM08E,UAAU,GAAGZ,GAAG,CAACl9E,cAAJ,CAAmBu8E,UAAnB,IACfW,GAAG,CAACX,UAAD,CADY,GAEfv7E,MAAM,CAACo8E,cAAP,CAAsBF,GAAtB,EAA2BX,UAA3B,EAAuC;UAAEjqE,KAAK,EAAE;QAAT,CAAvC,EAAsDiqE,UAAtD,CAFJ,CAH2C,CAM3C;QACA;;QACA,OAAOuB,UAAU,CAACh+E,MAAX,IAAqBsB,KAA5B,EAAmC;UAC/B08E,UAAU,CAACt5E,IAAX,CAAgB,IAAhB;QACH;;QACD,CAACs5E,UAAU,CAAC18E,KAAD,CAAV,GAAoB08E,UAAU,CAAC18E,KAAD,CAAV,IAAqB,EAA1C,EAA8CoD,IAA9C,CAAmDw4E,kBAAnD;QACA,OAAOE,GAAP;MACH;IACJ;;IACD,IAAIR,WAAJ,EAAiB;MACbgB,qBAAqB,CAACz7E,SAAtB,GAAkCjB,MAAM,CAACmB,MAAP,CAAcu6E,WAAW,CAACz6E,SAA1B,CAAlC;IACH;;IACDy7E,qBAAqB,CAACz7E,SAAtB,CAAgCo7E,cAAhC,GAAiDl9E,IAAjD;IACAu9E,qBAAqB,CAACJ,aAAtB,GAAsCI,qBAAtC;IACA,OAAOA,qBAAP;EACH,CA/BmB,CAApB;AAgCH;;AACD,SAASK,iBAAT,CAA2B59E,IAA3B,EAAiCiM,KAAjC,EAAwCswE,WAAxC,EAAqDC,oBAArD,EAA2E;EACvE,OAAOle,aAAa,CAAC,MAAM;IACvB,MAAMoe,QAAQ,GAAGC,gBAAgB,CAAC1wE,KAAD,CAAjC;;IACA,SAAS4xE,oBAAT,CAA8B,GAAGv7E,IAAjC,EAAuC;MACnC,IAAI,gBAAgBu7E,oBAApB,EAA0C;QACtCnB,QAAQ,CAACh8E,KAAT,CAAe,IAAf,EAAqB4B,IAArB;QACA,OAAO,IAAP;MACH;;MACD,MAAMw7E,iBAAiB,GAAG,IAAID,oBAAJ,CAAyB,GAAGv7E,IAA5B,CAA1B;;MACA,SAASy7E,aAAT,CAAuBj9E,MAAvB,EAA+Bd,IAA/B,EAAqC;QACjC,MAAMiC,WAAW,GAAGnB,MAAM,CAACmB,WAA3B,CADiC,CAEjC;QACA;;QACA,MAAM+7E,IAAI,GAAG/7E,WAAW,CAACpC,cAAZ,CAA2Bw8E,aAA3B,IACTp6E,WAAW,CAACo6E,aAAD,CADF,GAETx7E,MAAM,CAACo8E,cAAP,CAAsBh7E,WAAtB,EAAmCo6E,aAAnC,EAAkD;UAAElqE,KAAK,EAAE;QAAT,CAAlD,EAAiEkqE,aAAjE,CAFJ;QAGA2B,IAAI,CAACh+E,IAAD,CAAJ,GAAag+E,IAAI,CAACn+E,cAAL,CAAoBG,IAApB,KAA6Bg+E,IAAI,CAACh+E,IAAD,CAAjC,IAA2C,EAAxD;QACAg+E,IAAI,CAACh+E,IAAD,CAAJ,CAAW82C,OAAX,CAAmBgnC,iBAAnB;QACA,IAAItB,oBAAJ,EACIA,oBAAoB,CAAC17E,MAAD,EAASd,IAAT,EAAe,GAAGsC,IAAlB,CAApB;MACP;;MACD,OAAOy7E,aAAP;IACH;;IACD,IAAIxB,WAAJ,EAAiB;MACbsB,oBAAoB,CAAC/7E,SAArB,GAAiCjB,MAAM,CAACmB,MAAP,CAAcu6E,WAAW,CAACz6E,SAA1B,CAAjC;IACH;;IACD+7E,oBAAoB,CAAC/7E,SAArB,CAA+Bo7E,cAA/B,GAAgDl9E,IAAhD;IACA69E,oBAAoB,CAACV,aAArB,GAAqCU,oBAArC;IACA,OAAOA,oBAAP;EACH,CA5BmB,CAApB;AA6BH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM98C,SAAS,GAAGu8C,kBAAkB,CAAC,WAAD,EAAeW,aAAD,KAAoB;EAAEA,aAAF;EAAiBzc,iBAAiB,EAAE,MAAM0a,iBAAiB,CAAC+B,aAAD;AAA3D,CAApB,CAAd,CAApC;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,MAAMr+C,cAAN,CAAqB;EACjB;AACJ;AACA;AACA;AACA;AACA;EACI39B,WAAW,CAACi8E,KAAD,EAAQ72E,OAAR,EAAiB;IACxB,KAAK62E,KAAL,GAAaA,KAAb;IACA;;IACA,KAAKhB,cAAL,GAAsB,gBAAtB;IACA,KAAK/6C,KAAL,GAAajkC,SAAb;;IACA,IAAI,OAAOmJ,OAAP,IAAkB,QAAtB,EAAgC;MAC5B,CAAC,OAAOu3C,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACIqd,cAAc,CAAC50D,OAAD,EAAU,CAAV,EAAa,0CAAb,CADlB,CAD4B,CAG5B;MACA;;MACA,KAAKm6D,iBAAL,GAAyBn6D,OAAzB;IACH,CAND,MAOK,IAAIA,OAAO,KAAKnJ,SAAhB,EAA2B;MAC5B,KAAKikC,KAAL,GAAaZ,kBAAkB,CAAC;QAC5B6oB,KAAK,EAAE,IADqB;QAE5B/nB,UAAU,EAAEh7B,OAAO,CAACg7B,UAAR,IAAsB,MAFN;QAG5BgoB,OAAO,EAAEhjD,OAAO,CAACgjD;MAHW,CAAD,CAA/B;IAKH;EACJ;EACD;AACJ;AACA;;;EACa,IAALyO,KAAK,GAAG;IACR,OAAO,IAAP;EACH;;EACDnsC,QAAQ,GAAG;IACP,OAAQ,kBAAiB,KAAKuxD,KAAM,EAApC;EACH;;AAnCgB;AAsCrB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,4BAA4B,GAAG,IAAIv+C,cAAJ,CAAmB,2BAAnB,CAArC,EACA;AACA;;AACA,MAAMw+C,mCAAmC,GAAG,IAA5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,KAAN,CAAY;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,eAAe,GAAGV,iBAAiB,CAAC,iBAAD,EAAoB,CAACn4D,QAAD,EAAW/L,IAAI,GAAG,EAAlB,MAA0B;EACnF+L,QADmF;EAEnFhB,KAAK,EAAE,KAF4E;EAGnF85D,WAAW,EAAE,KAHsE;EAInFC,WAAW,EAAE,KAJsE;EAKnFC,uBAAuB,EAAEL,mCAL0D;EAMnF,GAAG1kE;AANgF,CAA1B,CAApB,EAOrC2kE,KAPqC,CAAzC;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMK,YAAY,GAAGd,iBAAiB,CAAC,cAAD,EAAiB,CAACn4D,QAAD,EAAW/L,IAAI,GAAG,EAAlB,MAA0B;EAAE+L,QAAF;EAAYhB,KAAK,EAAE,IAAnB;EAAyB85D,WAAW,EAAE,KAAtC;EAA6CC,WAAW,EAAE,IAA1D;EAAgE,GAAG9kE;AAAnE,CAA1B,CAAjB,EAAuH2kE,KAAvH,CAAtC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMM,YAAY,GAAGf,iBAAiB,CAAC,cAAD,EAAiB,CAACn4D,QAAD,EAAW/L,IAAI,GAAG,EAAlB,MAA0B;EAC7E+L,QAD6E;EAE7EhB,KAAK,EAAE,KAFsE;EAG7E85D,WAAW,EAAE,IAHgE;EAI7EC,WAAW,EAAE,IAJgE;EAK7EC,uBAAuB,EAAEL,mCALoD;EAM7E,GAAG1kE;AAN0E,CAA1B,CAAjB,EAOlC2kE,KAPkC,CAAtC;AAQA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMO,SAAS,GAAGhB,iBAAiB,CAAC,WAAD,EAAc,CAACn4D,QAAD,EAAW/L,IAAX,MAAqB;EAAE+L,QAAF;EAAYhB,KAAK,EAAE,IAAnB;EAAyB85D,WAAW,EAAE,IAAtC;EAA4CC,WAAW,EAAE,IAAzD;EAA+D,GAAG9kE;AAAlE,CAArB,CAAd,EAA8G2kE,KAA9G,CAAnC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIQ,aAAJ;;AACA,CAAC,UAAUA,aAAV,EAAyB;EACtBA,aAAa,CAACA,aAAa,CAAC,WAAD,CAAb,GAA6B,CAA9B,CAAb,GAAgD,WAAhD;EACAA,aAAa,CAACA,aAAa,CAAC,WAAD,CAAb,GAA6B,CAA9B,CAAb,GAAgD,WAAhD;EACAA,aAAa,CAACA,aAAa,CAAC,YAAD,CAAb,GAA8B,CAA/B,CAAb,GAAiD,YAAjD;EACAA,aAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;EACAA,aAAa,CAACA,aAAa,CAAC,UAAD,CAAb,GAA4B,CAA7B,CAAb,GAA+C,UAA/C;AACH,CAND,EAMGA,aAAa,KAAKA,aAAa,GAAG,EAArB,CANhB;;AAOA,IAAIC,wBAAJ;;AACA,CAAC,UAAUA,wBAAV,EAAoC;EACjCA,wBAAwB,CAACA,wBAAwB,CAAC,WAAD,CAAxB,GAAwC,CAAzC,CAAxB,GAAsE,WAAtE;EACAA,wBAAwB,CAACA,wBAAwB,CAAC,MAAD,CAAxB,GAAmC,CAApC,CAAxB,GAAiE,MAAjE;EACAA,wBAAwB,CAACA,wBAAwB,CAAC,UAAD,CAAxB,GAAuC,CAAxC,CAAxB,GAAqE,UAArE;AACH,CAJD,EAIGA,wBAAwB,KAAKA,wBAAwB,GAAG,EAAhC,CAJ3B;;AAKA,IAAIjgB,iBAAJ;;AACA,CAAC,UAAUA,iBAAV,EAA6B;EAC1BA,iBAAiB,CAACA,iBAAiB,CAAC,UAAD,CAAjB,GAAgC,CAAjC,CAAjB,GAAuD,UAAvD,CAD0B,CAE1B;;EACAA,iBAAiB,CAACA,iBAAiB,CAAC,MAAD,CAAjB,GAA4B,CAA7B,CAAjB,GAAmD,MAAnD;EACAA,iBAAiB,CAACA,iBAAiB,CAAC,WAAD,CAAjB,GAAiC,CAAlC,CAAjB,GAAwD,WAAxD;AACH,CALD,EAKGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CALpB;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkgB,iBAAT,CAA2BpsB,OAA3B,EAAoC;EAChC,MAAMqsB,QAAQ,GAAGlgB,OAAO,CAAC,IAAD,CAAxB;;EACA,IAAIkgB,QAAQ,IAAIA,QAAQ,CAACC,eAAzB,EAA0C;IACtC,OAAOD,QAAQ,CAACC,eAAhB;EACH;;EACD,IAAI,OAAOrgC,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;IAC/C;IACA;IACAp+C,OAAO,CAACub,KAAR,CAAe,8BAA6B42C,OAAO,CAACusB,IAAK,EAAzD,EAA4DvsB,OAAO,CAAC7vD,IAApE;IACA,IAAI7C,OAAO,GAAI,OAAM0yD,OAAO,CAACusB,IAAK,KAAIvsB,OAAO,CACxC7vD,IADiC,CAC5B9C,IAAK,8FADf;;IAEA,IAAI2yD,OAAO,CAACwsB,KAAR,KAAkB;IAAE;IAAxB,EAAmE;MAC/Dl/E,OAAO,IAAK,OAAM0yD,OAAO,CAACusB,IAAK,2DAA/B;MACAj/E,OAAO,IACF,4GADL;MAEAA,OAAO,IAAI,IAAX;MACAA,OAAO,IACF,4FADL;IAEH,CAPD,MAQK;MACDA,OAAO,IACF,6FADL;IAEH;;IACDA,OAAO,IACF,8IADL;IAEAA,OAAO,IACF,2FADL;IAEA,MAAM,IAAIG,KAAJ,CAAUH,OAAV,CAAN;EACH,CAvBD,MAwBK;IACD,MAAM,IAAIG,KAAJ,CAAU,0BAAV,CAAN;EACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM4H,IAAI,GAAGo3E,QAAb;;AACA,SAASC,MAAT,CAAgBzzE,CAAhB,EAAmB;EACf,OAAO,OAAOA,CAAP,KAAa,UAApB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0zE,aAAT,CAAuBC,KAAvB,EAA8B9iB,GAA9B,EAAmC;EAC/B,KAAK,IAAIh9D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8/E,KAAK,CAAC5/E,MAA1B,EAAkCF,CAAC,EAAnC,EAAuC;IACnCg9D,GAAG,CAACp4D,IAAJ,CAASk7E,KAAK,CAAC9/E,CAAD,CAAd;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+/E,WAAT,CAAqBj7E,CAArB,EAAwBC,CAAxB,EAA2Bi7E,gBAA3B,EAA6C;EACzC,IAAIl7E,CAAC,CAAC5E,MAAF,KAAa6E,CAAC,CAAC7E,MAAnB,EACI,OAAO,KAAP;;EACJ,KAAK,IAAIF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8E,CAAC,CAAC5E,MAAtB,EAA8BF,CAAC,EAA/B,EAAmC;IAC/B,IAAIigF,MAAM,GAAGn7E,CAAC,CAAC9E,CAAD,CAAd;IACA,IAAIkgF,MAAM,GAAGn7E,CAAC,CAAC/E,CAAD,CAAd;;IACA,IAAIggF,gBAAJ,EAAsB;MAClBC,MAAM,GAAGD,gBAAgB,CAACC,MAAD,CAAzB;MACAC,MAAM,GAAGF,gBAAgB,CAACE,MAAD,CAAzB;IACH;;IACD,IAAIA,MAAM,KAAKD,MAAf,EAAuB;MACnB,OAAO,KAAP;IACH;EACJ;;EACD,OAAO,IAAP;AACH;AACD;AACA;AACA;;;AACA,SAASE,OAAT,CAAiBpwB,IAAjB,EAAuB2mB,GAAvB,EAA4B;EACxB,IAAIA,GAAG,KAAKj4E,SAAZ,EACIi4E,GAAG,GAAG3mB,IAAN;;EACJ,KAAK,IAAI/vD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+vD,IAAI,CAAC7vD,MAAzB,EAAiCF,CAAC,EAAlC,EAAsC;IAClC,IAAIsZ,IAAI,GAAGy2C,IAAI,CAAC/vD,CAAD,CAAf;;IACA,IAAIL,KAAK,CAACC,OAAN,CAAc0Z,IAAd,CAAJ,EAAyB;MACrB;MACA,IAAIo9D,GAAG,KAAK3mB,IAAZ,EAAkB;QACd;QACA;QACA2mB,GAAG,GAAG3mB,IAAI,CAACzrD,KAAL,CAAW,CAAX,EAActE,CAAd,CAAN;MACH;;MACDmgF,OAAO,CAAC7mE,IAAD,EAAOo9D,GAAP,CAAP;IACH,CARD,MASK,IAAIA,GAAG,KAAK3mB,IAAZ,EAAkB;MACnB2mB,GAAG,CAAC9xE,IAAJ,CAAS0U,IAAT;IACH;EACJ;;EACD,OAAOo9D,GAAP;AACH;;AACD,SAAS0J,WAAT,CAAqBr3E,KAArB,EAA4B3J,EAA5B,EAAgC;EAC5B2J,KAAK,CAAC9I,OAAN,CAAcyS,KAAK,IAAI/S,KAAK,CAACC,OAAN,CAAc8S,KAAd,IAAuB0tE,WAAW,CAAC1tE,KAAD,EAAQtT,EAAR,CAAlC,GAAgDA,EAAE,CAACsT,KAAD,CAAzE;AACH;;AACD,SAAS2tE,UAAT,CAAoBrjB,GAApB,EAAyBx7D,KAAzB,EAAgCkR,KAAhC,EAAuC;EACnC;EACA,IAAIlR,KAAK,IAAIw7D,GAAG,CAAC98D,MAAjB,EAAyB;IACrB88D,GAAG,CAACp4D,IAAJ,CAAS8N,KAAT;EACH,CAFD,MAGK;IACDsqD,GAAG,CAACnuD,MAAJ,CAAWrN,KAAX,EAAkB,CAAlB,EAAqBkR,KAArB;EACH;AACJ;;AACD,SAAS4tE,eAAT,CAAyBtjB,GAAzB,EAA8Bx7D,KAA9B,EAAqC;EACjC;EACA,IAAIA,KAAK,IAAIw7D,GAAG,CAAC98D,MAAJ,GAAa,CAA1B,EAA6B;IACzB,OAAO88D,GAAG,CAACl5C,GAAJ,EAAP;EACH,CAFD,MAGK;IACD,OAAOk5C,GAAG,CAACnuD,MAAJ,CAAWrN,KAAX,EAAkB,CAAlB,EAAqB,CAArB,CAAP;EACH;AACJ;;AACD,SAAS++E,QAAT,CAAkBpwC,IAAlB,EAAwBz9B,KAAxB,EAA+B;EAC3B,MAAMq9C,IAAI,GAAG,EAAb;;EACA,KAAK,IAAI/vD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmwC,IAApB,EAA0BnwC,CAAC,EAA3B,EAA+B;IAC3B+vD,IAAI,CAACnrD,IAAL,CAAU8N,KAAV;EACH;;EACD,OAAOq9C,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASywB,WAAT,CAAqB32D,KAArB,EAA4BroB,KAA5B,EAAmCoW,KAAnC,EAA0C;EACtC,MAAM1X,MAAM,GAAG2pB,KAAK,CAAC3pB,MAAN,GAAe0X,KAA9B;;EACA,OAAOpW,KAAK,GAAGtB,MAAf,EAAuB;IACnB2pB,KAAK,CAACroB,KAAD,CAAL,GAAeqoB,KAAK,CAACroB,KAAK,GAAGoW,KAAT,CAApB;IACApW,KAAK;EACR;;EACD,OAAOoW,KAAK,EAAZ,EAAgB;IACZiS,KAAK,CAAC/F,GAAN,GADY,CACC;EAChB;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS28D,WAAT,CAAqB52D,KAArB,EAA4BroB,KAA5B,EAAmCkR,KAAnC,EAA0C;EACtCysC,SAAS,IAAI4c,qBAAqB,CAACv6D,KAAD,EAAQqoB,KAAK,CAAC3pB,MAAd,EAAsB,+BAAtB,CAAlC;EACA,IAAI2M,GAAG,GAAGgd,KAAK,CAAC3pB,MAAhB;;EACA,OAAO2M,GAAG,GAAGrL,KAAb,EAAoB;IAChB,MAAMk/E,WAAW,GAAG7zE,GAAG,GAAG,CAA1B;IACAgd,KAAK,CAAChd,GAAD,CAAL,GAAagd,KAAK,CAAC62D,WAAD,CAAlB;IACA7zE,GAAG,GAAG6zE,WAAN;EACH;;EACD72D,KAAK,CAACroB,KAAD,CAAL,GAAekR,KAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiuE,YAAT,CAAsB92D,KAAtB,EAA6BroB,KAA7B,EAAoCo/E,MAApC,EAA4CC,MAA5C,EAAoD;EAChD1hC,SAAS,IAAI4c,qBAAqB,CAACv6D,KAAD,EAAQqoB,KAAK,CAAC3pB,MAAd,EAAsB,+BAAtB,CAAlC;EACA,IAAI2M,GAAG,GAAGgd,KAAK,CAAC3pB,MAAhB;;EACA,IAAI2M,GAAG,IAAIrL,KAAX,EAAkB;IACd;IACAqoB,KAAK,CAACjlB,IAAN,CAAWg8E,MAAX,EAAmBC,MAAnB;EACH,CAHD,MAIK,IAAIh0E,GAAG,KAAK,CAAZ,EAAe;IAChB;IACAgd,KAAK,CAACjlB,IAAN,CAAWi8E,MAAX,EAAmBh3D,KAAK,CAAC,CAAD,CAAxB;IACAA,KAAK,CAAC,CAAD,CAAL,GAAW+2D,MAAX;EACH,CAJI,MAKA;IACD/zE,GAAG;IACHgd,KAAK,CAACjlB,IAAN,CAAWilB,KAAK,CAAChd,GAAG,GAAG,CAAP,CAAhB,EAA2Bgd,KAAK,CAAChd,GAAD,CAAhC;;IACA,OAAOA,GAAG,GAAGrL,KAAb,EAAoB;MAChB,MAAMk/E,WAAW,GAAG7zE,GAAG,GAAG,CAA1B;MACAgd,KAAK,CAAChd,GAAD,CAAL,GAAagd,KAAK,CAAC62D,WAAD,CAAlB;MACA7zE,GAAG;IACN;;IACDgd,KAAK,CAACroB,KAAD,CAAL,GAAeo/E,MAAf;IACA/2D,KAAK,CAACroB,KAAK,GAAG,CAAT,CAAL,GAAmBq/E,MAAnB;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,iBAAT,CAA2Bj3D,KAA3B,EAAkCnX,KAAlC,EAAyC;EACrC,IAAIlR,KAAK,GAAGu/E,kBAAkB,CAACl3D,KAAD,EAAQnX,KAAR,CAA9B;;EACA,IAAIlR,KAAK,GAAG,CAAZ,EAAe;IACX;IACAA,KAAK,GAAG,CAACA,KAAT;IACAi/E,WAAW,CAAC52D,KAAD,EAAQroB,KAAR,EAAekR,KAAf,CAAX;EACH;;EACD,OAAOlR,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw/E,iBAAT,CAA2Bn3D,KAA3B,EAAkCnX,KAAlC,EAAyC;EACrC,MAAMlR,KAAK,GAAGu/E,kBAAkB,CAACl3D,KAAD,EAAQnX,KAAR,CAAhC;;EACA,IAAIlR,KAAK,IAAI,CAAb,EAAgB;IACZg/E,WAAW,CAAC32D,KAAD,EAAQroB,KAAR,EAAe,CAAf,CAAX;EACH;;EACD,OAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu/E,kBAAT,CAA4Bl3D,KAA5B,EAAmCnX,KAAnC,EAA0C;EACtC,OAAOuuE,mBAAmB,CAACp3D,KAAD,EAAQnX,KAAR,EAAe,CAAf,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwuE,gBAAT,CAA0BC,aAA1B,EAAyC38E,GAAzC,EAA8CkO,KAA9C,EAAqD;EACjD,IAAIlR,KAAK,GAAG4/E,oBAAoB,CAACD,aAAD,EAAgB38E,GAAhB,CAAhC;;EACA,IAAIhD,KAAK,IAAI,CAAb,EAAgB;IACZ;IACA2/E,aAAa,CAAC3/E,KAAK,GAAG,CAAT,CAAb,GAA2BkR,KAA3B;EACH,CAHD,MAIK;IACDlR,KAAK,GAAG,CAACA,KAAT;IACAm/E,YAAY,CAACQ,aAAD,EAAgB3/E,KAAhB,EAAuBgD,GAAvB,EAA4BkO,KAA5B,CAAZ;EACH;;EACD,OAAOlR,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6/E,gBAAT,CAA0BF,aAA1B,EAAyC38E,GAAzC,EAA8C;EAC1C,MAAMhD,KAAK,GAAG4/E,oBAAoB,CAACD,aAAD,EAAgB38E,GAAhB,CAAlC;;EACA,IAAIhD,KAAK,IAAI,CAAb,EAAgB;IACZ;IACA,OAAO2/E,aAAa,CAAC3/E,KAAK,GAAG,CAAT,CAApB;EACH;;EACD,OAAO/C,SAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2iF,oBAAT,CAA8BD,aAA9B,EAA6C38E,GAA7C,EAAkD;EAC9C,OAAOy8E,mBAAmB,CAACE,aAAD,EAAgB38E,GAAhB,EAAqB,CAArB,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS88E,mBAAT,CAA6BH,aAA7B,EAA4C38E,GAA5C,EAAiD;EAC7C,MAAMhD,KAAK,GAAG4/E,oBAAoB,CAACD,aAAD,EAAgB38E,GAAhB,CAAlC;;EACA,IAAIhD,KAAK,IAAI,CAAb,EAAgB;IACZ;IACAg/E,WAAW,CAACW,aAAD,EAAgB3/E,KAAhB,EAAuB,CAAvB,CAAX;EACH;;EACD,OAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy/E,mBAAT,CAA6Bp3D,KAA7B,EAAoCnX,KAApC,EAA2CiW,KAA3C,EAAkD;EAC9Cw2B,SAAS,IAAIgd,WAAW,CAACx8D,KAAK,CAACC,OAAN,CAAciqB,KAAd,CAAD,EAAuB,IAAvB,EAA6B,oBAA7B,CAAxB;EACA,IAAIjd,KAAK,GAAG,CAAZ;EACA,IAAIC,GAAG,GAAGgd,KAAK,CAAC3pB,MAAN,IAAgByoB,KAA1B;;EACA,OAAO9b,GAAG,KAAKD,KAAf,EAAsB;IAClB,MAAM20E,MAAM,GAAG30E,KAAK,IAAKC,GAAG,GAAGD,KAAP,IAAiB,CAArB,CAApB,CADkB,CAC2B;;IAC7C,MAAMw+D,OAAO,GAAGvhD,KAAK,CAAC03D,MAAM,IAAI54D,KAAX,CAArB;;IACA,IAAIjW,KAAK,KAAK04D,OAAd,EAAuB;MACnB,OAAQmW,MAAM,IAAI54D,KAAlB;IACH,CAFD,MAGK,IAAIyiD,OAAO,GAAG14D,KAAd,EAAqB;MACtB7F,GAAG,GAAG00E,MAAN;IACH,CAFI,MAGA;MACD30E,KAAK,GAAG20E,MAAM,GAAG,CAAjB,CADC,CACmB;IACvB;EACJ;;EACD,OAAO,EAAE10E,GAAG,IAAI8b,KAAT,CAAP;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,MAAM64D,iBAAiB,GAAG,sGAA1B;AACA;;AACA,MAAMC,sBAAsB,GAAG,2CAA/B;AACA;AACA;AACA;AACA;;AACA,MAAMC,gCAAgC,GAAG,kEAAzC;AACA;AACA;AACA;AACA;;AACA,MAAMC,yCAAyC,GAAG,qGAAlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,cAAT,CAAwBC,OAAxB,EAAiC;EAC7B,OAAOL,iBAAiB,CAACt7E,IAAlB,CAAuB27E,OAAvB,KACHF,yCAAyC,CAACz7E,IAA1C,CAA+C27E,OAA/C,CADG,IAEFJ,sBAAsB,CAACv7E,IAAvB,CAA4B27E,OAA5B,KAAwC,CAACH,gCAAgC,CAACx7E,IAAjC,CAAsC27E,OAAtC,CAF9C;AAGH;;AACD,MAAMC,sBAAN,CAA6B;EACzBt/E,WAAW,CAACu/E,OAAD,EAAU;IACjB,KAAKC,QAAL,GAAgBD,OAAO,IAAI1iB,OAAO,CAAC,SAAD,CAAlC;EACH;;EACDzU,OAAO,CAACj5C,CAAD,EAAI;IACP,OAAO,CAAC,GAAG9O,IAAJ,KAAa,IAAI8O,CAAJ,CAAM,GAAG9O,IAAT,CAApB;EACH;EACD;;;EACAo/E,uBAAuB,CAACC,UAAD,EAAaC,gBAAb,EAA+B;IAClD,IAAIngE,MAAJ;;IACA,IAAI,OAAOkgE,UAAP,KAAsB,WAA1B,EAAuC;MACnClgE,MAAM,GAAGu+D,QAAQ,CAAC4B,gBAAgB,CAACjiF,MAAlB,CAAjB;IACH,CAFD,MAGK;MACD8hB,MAAM,GAAGu+D,QAAQ,CAAC2B,UAAU,CAAChiF,MAAZ,CAAjB;IACH;;IACD,KAAK,IAAIF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgiB,MAAM,CAAC9hB,MAA3B,EAAmCF,CAAC,EAApC,EAAwC;MACpC;MACA;MACA;MACA,IAAI,OAAOkiF,UAAP,KAAsB,WAA1B,EAAuC;QACnClgE,MAAM,CAAChiB,CAAD,CAAN,GAAY,EAAZ;MACH,CAFD,MAGK,IAAIkiF,UAAU,CAACliF,CAAD,CAAV,IAAiBkiF,UAAU,CAACliF,CAAD,CAAV,IAAiBoB,MAAtC,EAA8C;QAC/C4gB,MAAM,CAAChiB,CAAD,CAAN,GAAY,CAACkiF,UAAU,CAACliF,CAAD,CAAX,CAAZ;MACH,CAFI,MAGA;QACDgiB,MAAM,CAAChiB,CAAD,CAAN,GAAY,EAAZ;MACH;;MACD,IAAImiF,gBAAgB,IAAIA,gBAAgB,CAACniF,CAAD,CAAhB,IAAuB,IAA/C,EAAqD;QACjDgiB,MAAM,CAAChiB,CAAD,CAAN,GAAYgiB,MAAM,CAAChiB,CAAD,CAAN,CAAU6P,MAAV,CAAiBsyE,gBAAgB,CAACniF,CAAD,CAAjC,CAAZ;MACH;IACJ;;IACD,OAAOgiB,MAAP;EACH;;EACDogE,cAAc,CAAC/+E,IAAD,EAAOg/E,UAAP,EAAmB;IAC7B,MAAMR,OAAO,GAAGx+E,IAAI,CAAC6pB,QAAL,EAAhB,CAD6B,CAE7B;IACA;IACA;IACA;IACA;IACA;IACA;;IACA,IAAI00D,cAAc,CAACC,OAAD,CAAlB,EAA6B;MACzB,OAAO,IAAP;IACH,CAX4B,CAY7B;;;IACA,IAAIx+E,IAAI,CAAC66E,UAAL,IAAmB76E,IAAI,CAAC66E,UAAL,KAAoBmE,UAAU,CAACnE,UAAtD,EAAkE;MAC9D,OAAO76E,IAAI,CAAC66E,UAAZ;IACH,CAf4B,CAgB7B;;;IACA,MAAMoE,iBAAiB,GAAGj/E,IAAI,CAACk/E,cAA/B;;IACA,IAAID,iBAAiB,IAAIA,iBAAiB,KAAKD,UAAU,CAACE,cAA1D,EAA0E;MACtE;MACA;MACA,MAAMA,cAAc,GAAG,OAAOD,iBAAP,KAA6B,UAA7B,GAA0CA,iBAAiB,EAA3D,GAAgEA,iBAAvF;MACA,MAAMJ,UAAU,GAAGK,cAAc,CAAC19D,GAAf,CAAoB29D,SAAD,IAAeA,SAAS,IAAIA,SAAS,CAACn/E,IAAzD,CAAnB;MACA,MAAM8+E,gBAAgB,GAAGI,cAAc,CAAC19D,GAAf,CAAoB29D,SAAD,IAAeA,SAAS,IAAIC,mCAAmC,CAACD,SAAS,CAAC79C,UAAX,CAAlF,CAAzB;MACA,OAAO,KAAKs9C,uBAAL,CAA6BC,UAA7B,EAAyCC,gBAAzC,CAAP;IACH,CAzB4B,CA0B7B;;;IACA,MAAMA,gBAAgB,GAAG9+E,IAAI,CAACjD,cAAL,CAAoBu8E,UAApB,KAAmCt5E,IAAI,CAACs5E,UAAD,CAAhE;;IACA,MAAMuF,UAAU,GAAG,KAAKF,QAAL,IAAiB,KAAKA,QAAL,CAAcU,cAA/B,IACf,KAAKV,QAAL,CAAcU,cAAd,CAA6B,mBAA7B,EAAkDr/E,IAAlD,CADJ;;IAEA,IAAI6+E,UAAU,IAAIC,gBAAlB,EAAoC;MAChC,OAAO,KAAKF,uBAAL,CAA6BC,UAA7B,EAAyCC,gBAAzC,CAAP;IACH,CAhC4B,CAiC7B;IACA;IACA;IACA;;;IACA,OAAO5B,QAAQ,CAACl9E,IAAI,CAACnD,MAAN,CAAf;EACH;;EACDg+E,UAAU,CAAC76E,IAAD,EAAO;IACb;IACA;IACA,IAAI,CAACu8E,MAAM,CAACv8E,IAAD,CAAX,EAAmB;MACf,OAAO,EAAP;IACH;;IACD,MAAMg/E,UAAU,GAAGM,aAAa,CAACt/E,IAAD,CAAhC;;IACA,IAAI66E,UAAU,GAAG,KAAKkE,cAAL,CAAoB/+E,IAApB,EAA0Bg/E,UAA1B,CAAjB;;IACA,IAAI,CAACnE,UAAD,IAAemE,UAAU,KAAKjhF,MAAlC,EAA0C;MACtC88E,UAAU,GAAG,KAAKA,UAAL,CAAgBmE,UAAhB,CAAb;IACH;;IACD,OAAOnE,UAAU,IAAI,EAArB;EACH;;EACD0E,eAAe,CAACC,UAAD,EAAaR,UAAb,EAAyB;IACpC;IACA,IAAIQ,UAAU,CAACtF,WAAX,IAA0BsF,UAAU,CAACtF,WAAX,KAA2B8E,UAAU,CAAC9E,WAApE,EAAiF;MAC7E,IAAIA,WAAW,GAAGsF,UAAU,CAACtF,WAA7B;;MACA,IAAI,OAAOA,WAAP,KAAuB,UAAvB,IAAqCA,WAAW,CAACA,WAArD,EAAkE;QAC9DA,WAAW,GAAGA,WAAW,CAACA,WAA1B;MACH;;MACD,OAAOA,WAAP;IACH,CARmC,CASpC;;;IACA,IAAIsF,UAAU,CAACl+C,UAAX,IAAyBk+C,UAAU,CAACl+C,UAAX,KAA0B09C,UAAU,CAAC19C,UAAlE,EAA8E;MAC1E,OAAO89C,mCAAmC,CAACI,UAAU,CAACl+C,UAAZ,CAA1C;IACH,CAZmC,CAapC;;;IACA,IAAIk+C,UAAU,CAACziF,cAAX,CAA0Bs8E,WAA1B,CAAJ,EAA4C;MACxC,OAAOmG,UAAU,CAACnG,WAAD,CAAjB;IACH;;IACD,OAAO,IAAP;EACH;;EACDa,WAAW,CAACsF,UAAD,EAAa;IACpB,IAAI,CAACjD,MAAM,CAACiD,UAAD,CAAX,EAAyB;MACrB,OAAO,EAAP;IACH;;IACD,MAAMR,UAAU,GAAGM,aAAa,CAACE,UAAD,CAAhC;IACA,MAAMC,cAAc,GAAG,KAAKF,eAAL,CAAqBC,UAArB,EAAiCR,UAAjC,KAAgD,EAAvE;IACA,MAAMU,iBAAiB,GAAGV,UAAU,KAAKjhF,MAAf,GAAwB,KAAKm8E,WAAL,CAAiB8E,UAAjB,CAAxB,GAAuD,EAAjF;IACA,OAAOU,iBAAiB,CAAClzE,MAAlB,CAAyBizE,cAAzB,CAAP;EACH;;EACDE,gBAAgB,CAACH,UAAD,EAAaR,UAAb,EAAyB;IACrC;IACA,IAAIQ,UAAU,CAACI,YAAX,IACAJ,UAAU,CAACI,YAAX,KAA4BZ,UAAU,CAACY,YAD3C,EACyD;MACrD,IAAIA,YAAY,GAAGJ,UAAU,CAACI,YAA9B;;MACA,IAAI,OAAOA,YAAP,KAAwB,UAAxB,IAAsCA,YAAY,CAACA,YAAvD,EAAqE;QACjEA,YAAY,GAAGA,YAAY,CAACA,YAA5B;MACH;;MACD,OAAOA,YAAP;IACH,CAToC,CAUrC;;;IACA,IAAIJ,UAAU,CAACK,cAAX,IACAL,UAAU,CAACK,cAAX,KAA8Bb,UAAU,CAACa,cAD7C,EAC6D;MACzD,MAAMA,cAAc,GAAGL,UAAU,CAACK,cAAlC;MACA,MAAMD,YAAY,GAAG,EAArB;MACA7hF,MAAM,CAACW,IAAP,CAAYmhF,cAAZ,EAA4BjjF,OAA5B,CAAoCkF,IAAI,IAAI;QACxC89E,YAAY,CAAC99E,IAAD,CAAZ,GAAqBs9E,mCAAmC,CAACS,cAAc,CAAC/9E,IAAD,CAAf,CAAxD;MACH,CAFD;MAGA,OAAO89E,YAAP;IACH,CAnBoC,CAoBrC;;;IACA,IAAIJ,UAAU,CAACziF,cAAX,CAA0Bw8E,aAA1B,CAAJ,EAA8C;MAC1C,OAAOiG,UAAU,CAACjG,aAAD,CAAjB;IACH;;IACD,OAAO,IAAP;EACH;;EACDqG,YAAY,CAACJ,UAAD,EAAa;IACrB,IAAI,CAACjD,MAAM,CAACiD,UAAD,CAAX,EAAyB;MACrB,OAAO,EAAP;IACH;;IACD,MAAMR,UAAU,GAAGM,aAAa,CAACE,UAAD,CAAhC;IACA,MAAMI,YAAY,GAAG,EAArB;;IACA,IAAIZ,UAAU,KAAKjhF,MAAnB,EAA2B;MACvB,MAAM+hF,kBAAkB,GAAG,KAAKF,YAAL,CAAkBZ,UAAlB,CAA3B;MACAjhF,MAAM,CAACW,IAAP,CAAYohF,kBAAZ,EAAgCljF,OAAhC,CAAyC29E,QAAD,IAAc;QAClDqF,YAAY,CAACrF,QAAD,CAAZ,GAAyBuF,kBAAkB,CAACvF,QAAD,CAA3C;MACH,CAFD;IAGH;;IACD,MAAMwF,eAAe,GAAG,KAAKJ,gBAAL,CAAsBH,UAAtB,EAAkCR,UAAlC,CAAxB;;IACA,IAAIe,eAAJ,EAAqB;MACjBhiF,MAAM,CAACW,IAAP,CAAYqhF,eAAZ,EAA6BnjF,OAA7B,CAAsC29E,QAAD,IAAc;QAC/C,MAAMj5C,UAAU,GAAG,EAAnB;;QACA,IAAIs+C,YAAY,CAAC7iF,cAAb,CAA4Bw9E,QAA5B,CAAJ,EAA2C;UACvCj5C,UAAU,CAAC//B,IAAX,CAAgB,GAAGq+E,YAAY,CAACrF,QAAD,CAA/B;QACH;;QACDj5C,UAAU,CAAC//B,IAAX,CAAgB,GAAGw+E,eAAe,CAACxF,QAAD,CAAlC;QACAqF,YAAY,CAACrF,QAAD,CAAZ,GAAyBj5C,UAAzB;MACH,CAPD;IAQH;;IACD,OAAOs+C,YAAP;EACH;;EACDG,eAAe,CAACP,UAAD,EAAa;IACxB,IAAI,CAACjD,MAAM,CAACiD,UAAD,CAAX,EAAyB;MACrB,OAAO,EAAP;IACH;;IACD,OAAO,KAAKG,gBAAL,CAAsBH,UAAtB,EAAkCF,aAAa,CAACE,UAAD,CAA/C,KAAgE,EAAvE;EACH;;EACDQ,gBAAgB,CAAChgF,IAAD,EAAOigF,UAAP,EAAmB;IAC/B,OAAOjgF,IAAI,YAAYkF,IAAhB,IAAwB+6E,UAAU,IAAIjgF,IAAI,CAAChB,SAAlD;EACH;;AA9KwB;;AAgL7B,SAASogF,mCAAT,CAA6Cc,oBAA7C,EAAmE;EAC/D,IAAI,CAACA,oBAAL,EAA2B;IACvB,OAAO,EAAP;EACH;;EACD,OAAOA,oBAAoB,CAAC1+D,GAArB,CAAyB2+D,mBAAmB,IAAI;IACnD,MAAMC,aAAa,GAAGD,mBAAmB,CAACngF,IAA1C;IACA,MAAMq6E,aAAa,GAAG+F,aAAa,CAAC/F,aAApC;IACA,MAAMgG,cAAc,GAAGF,mBAAmB,CAAC3gF,IAApB,GAA2B2gF,mBAAmB,CAAC3gF,IAA/C,GAAsD,EAA7E;IACA,OAAO,IAAI66E,aAAJ,CAAkB,GAAGgG,cAArB,CAAP;EACH,CALM,CAAP;AAMH;;AACD,SAASf,aAAT,CAAuBhF,IAAvB,EAA6B;EACzB,MAAMgG,WAAW,GAAGhG,IAAI,CAACt7E,SAAL,GAAiBjB,MAAM,CAAC8jB,cAAP,CAAsBy4D,IAAI,CAACt7E,SAA3B,CAAjB,GAAyD,IAA7E;EACA,MAAMggF,UAAU,GAAGsB,WAAW,GAAGA,WAAW,CAACnhF,WAAf,GAA6B,IAA3D,CAFyB,CAGzB;EACA;;EACA,OAAO6/E,UAAU,IAAIjhF,MAArB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMwiF,mBAAmB,GAAG,EAA5B;AACA,MAAMC,kBAAkB,GAAGD,mBAA3B;AACA;AACA;AACA;AACA;AACA;;AACA,MAAME,iBAAiB,GAAG,gBAA1B;AACA,MAAMC,kBAAkB,GAAG,iBAA3B;AACA,MAAMC,aAAa,GAAG,aAAtB;AACA,MAAMC,QAAQ,GAAG,MAAjB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,MAAM,GAAG,UAAf;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIC,gBAAgB,GAAG3lF,SAAvB;;AACA,SAAS4lF,kBAAT,CAA4B9lC,QAA5B,EAAsC;EAClC,MAAM+lC,MAAM,GAAGF,gBAAf;EACAA,gBAAgB,GAAG7lC,QAAnB;EACA,OAAO+lC,MAAP;AACH;;AACD,SAASC,kBAAT,CAA4B55B,KAA5B,EAAmCvF,KAAK,GAAGgZ,WAAW,CAACc,OAAvD,EAAgE;EAC5D,IAAIklB,gBAAgB,KAAK3lF,SAAzB,EAAoC;IAChC,MAAM,IAAI+7D,YAAJ,CAAiB,CAAC;IAAI;IAAtB,EAAwErb,SAAS,IAClF,8GADC,CAAN;EAEH,CAHD,MAIK,IAAIilC,gBAAgB,KAAK,IAAzB,EAA+B;IAChC,OAAO3lB,kBAAkB,CAAC9T,KAAD,EAAQlsD,SAAR,EAAmB2mD,KAAnB,CAAzB;EACH,CAFI,MAGA;IACD,OAAOg/B,gBAAgB,CAACnuE,GAAjB,CAAqB00C,KAArB,EAA4BvF,KAAK,GAAGgZ,WAAW,CAAC79B,QAApB,GAA+B,IAA/B,GAAsC9hC,SAAlE,EAA6E2mD,KAA7E,CAAP;EACH;AACJ;;AACD,SAAS/kB,QAAT,CAAkBsqB,KAAlB,EAAyBvF,KAAK,GAAGgZ,WAAW,CAACc,OAA7C,EAAsD;EAClD,OAAO,CAACZ,uBAAuB,MAAMimB,kBAA9B,EAAkDlqB,iBAAiB,CAAC1P,KAAD,CAAnE,EAA4EvF,KAA5E,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo/B,mBAAT,CAA6BhjF,KAA7B,EAAoC;EAChC,MAAM,IAAIg5D,YAAJ,CAAiB;EAAI;EAArB,EAAwErb,SAAS,IAClF,wGAAuG39C,KAAM;AACtH;AACA;AACA,2DAA2DA,KAAM,iGAJvD,CAAN;AAKH;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,SAASijF,MAAT,CAAgB95B,KAAhB,EAAuBvF,KAAK,GAAGgZ,WAAW,CAACc,OAA3C,EAAoD;EAChD,IAAI,OAAO9Z,KAAP,KAAiB,QAArB,EAA+B;IAC3B;IACA;IACA;IACAA,KAAK,GAAI;IAAE;IAAF,IAAsC;IAC1CA,KAAK,CAACs/B,QAAN,IAAkB;IAAE;IADhB,KAEJt/B,KAAK,CAACu/B,IAAN,IAAc;IAAE;IAFZ,KAGJv/B,KAAK,CAACz9C,IAAN,IAAc;IAAE;IAHZ,KAIJy9C,KAAK,CAACw/B,QAAN,IAAkB;IAAE;IAJhB,CAAT;EAKH;;EACD,OAAOvkD,QAAQ,CAACsqB,KAAD,EAAQvF,KAAR,CAAf;AACH;;AACD,SAASy/B,UAAT,CAAoB3hF,KAApB,EAA2B;EACvB,MAAML,IAAI,GAAG,EAAb;;EACA,KAAK,IAAI7C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkD,KAAK,CAAChD,MAA1B,EAAkCF,CAAC,EAAnC,EAAuC;IACnC,MAAMN,GAAG,GAAG26D,iBAAiB,CAACn3D,KAAK,CAAClD,CAAD,CAAN,CAA7B;;IACA,IAAIL,KAAK,CAACC,OAAN,CAAcF,GAAd,CAAJ,EAAwB;MACpB,IAAIA,GAAG,CAACQ,MAAJ,KAAe,CAAnB,EAAsB;QAClB,MAAM,IAAIs6D,YAAJ,CAAiB;QAAI;QAArB,EAAkErb,SAAS,IAAI,sCAA/E,CAAN;MACH;;MACD,IAAI97C,IAAI,GAAG5E,SAAX;MACA,IAAI2mD,KAAK,GAAGgZ,WAAW,CAACc,OAAxB;;MACA,KAAK,IAAI7lB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG35C,GAAG,CAACQ,MAAxB,EAAgCm5C,CAAC,EAAjC,EAAqC;QACjC,MAAMklC,IAAI,GAAG7+E,GAAG,CAAC25C,CAAD,CAAhB;QACA,MAAMyrC,IAAI,GAAGC,aAAa,CAACxG,IAAD,CAA1B;;QACA,IAAI,OAAOuG,IAAP,KAAgB,QAApB,EAA8B;UAC1B;UACA,IAAIA,IAAI,KAAK,CAAC;UAAE;UAAhB,EAA6C;YACzCzhF,IAAI,GAAGk7E,IAAI,CAAC5zB,KAAZ;UACH,CAFD,MAGK;YACDvF,KAAK,IAAI0/B,IAAT;UACH;QACJ,CARD,MASK;UACDzhF,IAAI,GAAGk7E,IAAP;QACH;MACJ;;MACD17E,IAAI,CAAC+B,IAAL,CAAUy7B,QAAQ,CAACh9B,IAAD,EAAO+hD,KAAP,CAAlB;IACH,CAvBD,MAwBK;MACDviD,IAAI,CAAC+B,IAAL,CAAUy7B,QAAQ,CAAC3gC,GAAD,CAAlB;IACH;EACJ;;EACD,OAAOmD,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmiF,gBAAT,CAA0BC,SAA1B,EAAqCH,IAArC,EAA2C;EACvCG,SAAS,CAACnB,iBAAD,CAAT,GAA+BgB,IAA/B;EACAG,SAAS,CAAC5iF,SAAV,CAAoByhF,iBAApB,IAAyCgB,IAAzC;EACA,OAAOG,SAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASF,aAAT,CAAuBp6B,KAAvB,EAA8B;EAC1B,OAAOA,KAAK,CAACm5B,iBAAD,CAAZ;AACH;;AACD,SAASoB,kBAAT,CAA4BxkF,CAA5B,EAA+BiqD,KAA/B,EAAsCw6B,iBAAtC,EAAyD1jF,MAAzD,EAAiE;EAC7D,MAAM2jF,SAAS,GAAG1kF,CAAC,CAACqjF,kBAAD,CAAnB;;EACA,IAAIp5B,KAAK,CAACw5B,MAAD,CAAT,EAAmB;IACfiB,SAAS,CAAC/tC,OAAV,CAAkBsT,KAAK,CAACw5B,MAAD,CAAvB;EACH;;EACDzjF,CAAC,CAACF,OAAF,GAAY6kF,WAAW,CAAC,OAAO3kF,CAAC,CAACF,OAAV,EAAmB4kF,SAAnB,EAA8BD,iBAA9B,EAAiD1jF,MAAjD,CAAvB;EACAf,CAAC,CAACsjF,aAAD,CAAD,GAAmBoB,SAAnB;EACA1kF,CAAC,CAACqjF,kBAAD,CAAD,GAAwB,IAAxB;EACA,MAAMrjF,CAAN;AACH;;AACD,SAAS2kF,WAAT,CAAqBr3C,IAArB,EAA2BluC,GAA3B,EAAgCqlF,iBAAhC,EAAmD1jF,MAAM,GAAG,IAA5D,EAAkE;EAC9DusC,IAAI,GAAGA,IAAI,IAAIA,IAAI,CAACgL,MAAL,CAAY,CAAZ,MAAmB,IAA3B,IAAmChL,IAAI,CAACgL,MAAL,CAAY,CAAZ,KAAkBkrC,WAArD,GAAmEl2C,IAAI,CAAC1pC,KAAL,CAAW,CAAX,CAAnE,GAAmF0pC,IAA1F;EACA,IAAI1uC,OAAO,GAAG4gD,SAAS,CAACpgD,GAAD,CAAvB;;EACA,IAAIH,KAAK,CAACC,OAAN,CAAcE,GAAd,CAAJ,EAAwB;IACpBR,OAAO,GAAGQ,GAAG,CAAC+kB,GAAJ,CAAQq7B,SAAR,EAAmB9sC,IAAnB,CAAwB,MAAxB,CAAV;EACH,CAFD,MAGK,IAAI,OAAOtT,GAAP,KAAe,QAAnB,EAA6B;IAC9B,IAAI2tC,KAAK,GAAG,EAAZ;;IACA,KAAK,IAAIjpC,GAAT,IAAgB1E,GAAhB,EAAqB;MACjB,IAAIA,GAAG,CAACM,cAAJ,CAAmBoE,GAAnB,CAAJ,EAA6B;QACzB,IAAIkO,KAAK,GAAG5S,GAAG,CAAC0E,GAAD,CAAf;QACAipC,KAAK,CAAC7oC,IAAN,CAAWJ,GAAG,GAAG,GAAN,IAAa,OAAOkO,KAAP,KAAiB,QAAjB,GAA4ButC,IAAI,CAACC,SAAL,CAAextC,KAAf,CAA5B,GAAoDwtC,SAAS,CAACxtC,KAAD,CAA1E,CAAX;MACH;IACJ;;IACDpT,OAAO,GAAI,IAAGmuC,KAAK,CAACr6B,IAAN,CAAW,IAAX,CAAiB,GAA/B;EACH;;EACD,OAAQ,GAAE+xE,iBAAkB,GAAE1jF,MAAM,GAAG,MAAMA,MAAN,GAAe,GAAlB,GAAwB,EAAG,IAAGnC,OAAQ,MAAK0uC,IAAI,CAACntC,OAAL,CAAaojF,QAAb,EAAuB,MAAvB,CAA+B,EAA9G;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM3jD,MAAM,GAAG0kD,gBAAgB,EAC/B;AACA;AACAnH,kBAAkB,CAAC,QAAD,EAAYlzB,KAAD,KAAY;EAAEA;AAAF,CAAZ,CAAX,CAHa,EAGuB,CAAC;AAAE;AAH1B,CAA/B;AAIA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMpqB,QAAQ,GACd;AACA;AACAykD,gBAAgB,CAACnH,kBAAkB,CAAC,UAAD,CAAnB,EAAiC;AAAE;AAAnC,CAHhB;AAIA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMpE,IAAI,GACV;AACA;AACAuL,gBAAgB,CAACnH,kBAAkB,CAAC,MAAD,CAAnB,EAA6B;AAAE;AAA/B,CAHhB;AAIA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMhN,QAAQ,GACd;AACA;AACAmU,gBAAgB,CAACnH,kBAAkB,CAAC,UAAD,CAAnB,EAAiC;AAAE;AAAnC,CAHhB;AAIA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMx8C,IAAI,GACV;AACA;AACA2jD,gBAAgB,CAACnH,kBAAkB,CAAC,MAAD,CAAnB,EAA6B;AAAE;AAA/B,CAHhB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAImE,QAAQ,GAAG,IAAf;;AACA,SAASsD,UAAT,GAAsB;EAClB,OAAQtD,QAAQ,GAAGA,QAAQ,IAAI,IAAIF,sBAAJ,EAA/B;AACH;;AACD,SAASyD,mBAAT,CAA6BliF,IAA7B,EAAmC;EAC/B,OAAOmiF,mBAAmB,CAACF,UAAU,GAAGpH,UAAb,CAAwB76E,IAAxB,CAAD,CAA1B;AACH;;AACD,SAASmiF,mBAAT,CAA6BtrC,IAA7B,EAAmC;EAC/B,OAAOA,IAAI,CAACr1B,GAAL,CAAS4gE,GAAG,IAAIC,iBAAiB,CAACD,GAAD,CAAjC,CAAP;AACH;;AACD,SAASC,iBAAT,CAA2BD,GAA3B,EAAgC;EAC5B,MAAMlH,IAAI,GAAG;IACT5zB,KAAK,EAAE,IADE;IAETg7B,SAAS,EAAE,IAFF;IAGThB,IAAI,EAAE,KAHG;IAITD,QAAQ,EAAE,KAJD;IAKT/8E,IAAI,EAAE,KALG;IAMTi9E,QAAQ,EAAE;EAND,CAAb;;EAQA,IAAIjlF,KAAK,CAACC,OAAN,CAAc6lF,GAAd,KAAsBA,GAAG,CAACvlF,MAAJ,GAAa,CAAvC,EAA0C;IACtC,KAAK,IAAIm5C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGosC,GAAG,CAACvlF,MAAxB,EAAgCm5C,CAAC,EAAjC,EAAqC;MACjC,MAAMwW,KAAK,GAAG41B,GAAG,CAACpsC,CAAD,CAAjB;;MACA,IAAIwW,KAAK,KAAKpxD,SAAd,EAAyB;QACrB;QACA;MACH;;MACD,MAAMmnF,KAAK,GAAGxkF,MAAM,CAAC8jB,cAAP,CAAsB2qC,KAAtB,CAAd;;MACA,IAAIA,KAAK,YAAYtvB,QAAjB,IAA6BqlD,KAAK,CAACnI,cAAN,KAAyB,UAA1D,EAAsE;QAClEc,IAAI,CAACmG,QAAL,GAAgB,IAAhB;MACH,CAFD,MAGK,IAAI70B,KAAK,YAAYghB,QAAjB,IAA6B+U,KAAK,CAACnI,cAAN,KAAyB,UAA1D,EAAsE;QACvEc,IAAI,CAACqG,QAAL,GAAgB,IAAhB;MACH,CAFI,MAGA,IAAI/0B,KAAK,YAAY4pB,IAAjB,IAAyBmM,KAAK,CAACnI,cAAN,KAAyB,MAAtD,EAA8D;QAC/Dc,IAAI,CAAC52E,IAAL,GAAY,IAAZ;MACH,CAFI,MAGA,IAAIkoD,KAAK,YAAYxuB,IAAjB,IAAyBukD,KAAK,CAACnI,cAAN,KAAyB,MAAtD,EAA8D;QAC/Dc,IAAI,CAACoG,IAAL,GAAY,IAAZ;MACH,CAFI,MAGA,IAAI90B,KAAK,YAAYvvB,MAArB,EAA6B;QAC9Bi+C,IAAI,CAAC5zB,KAAL,GAAakF,KAAK,CAAClF,KAAnB;MACH,CAFI,MAGA,IAAIkF,KAAK,YAAYvuB,SAArB,EAAgC;QACjC,IAAIuuB,KAAK,CAAC2uB,aAAN,KAAwB//E,SAA5B,EAAuC;UACnC,MAAM,IAAI+7D,YAAJ,CAAiB;UAAI;UAArB,EAAqErb,SAAS,IAAK,iCAAnF,CAAN;QACH;;QACDo/B,IAAI,CAACoH,SAAL,GAAiB91B,KAAK,CAAC2uB,aAAvB;MACH,CALI,MAMA;QACDD,IAAI,CAAC5zB,KAAL,GAAakF,KAAb;MACH;IACJ;EACJ,CAjCD,MAkCK,IAAI41B,GAAG,KAAKhnF,SAAR,IAAsBkB,KAAK,CAACC,OAAN,CAAc6lF,GAAd,KAAsBA,GAAG,CAACvlF,MAAJ,KAAe,CAA/D,EAAmE;IACpEq+E,IAAI,CAAC5zB,KAAL,GAAa,IAAb;EACH,CAFI,MAGA;IACD4zB,IAAI,CAAC5zB,KAAL,GAAa86B,GAAb;EACH;;EACD,OAAOlH,IAAP;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,SAASsH,yBAAT,CAAmCC,gBAAnC,EAAqD;EACjD;EACA,MAAMC,iBAAiB,GAAG,EAA1B,CAFiD,CAGjD;;EACA,MAAMC,MAAM,GAAG,IAAIv9B,GAAJ,EAAf;;EACA,SAASw9B,qBAAT,CAA+B7hD,GAA/B,EAAoC;IAChC,IAAIxW,OAAO,GAAGo4D,MAAM,CAAC/vE,GAAP,CAAWmuB,GAAX,CAAd;;IACA,IAAI,CAACxW,OAAL,EAAc;MACV,MAAMs4D,IAAI,GAAGJ,gBAAgB,CAAC1hD,GAAD,CAA7B;MACA4hD,MAAM,CAACrzE,GAAP,CAAWyxB,GAAX,EAAgBxW,OAAO,GAAGs4D,IAAI,CAAC95D,IAAL,CAAU+5D,cAAV,CAA1B;IACH;;IACD,OAAOv4D,OAAP;EACH;;EACDw4D,gCAAgC,CAACnmF,OAAjC,CAAyC,CAAComF,SAAD,EAAYhjF,IAAZ,KAAqB;IAC1D,MAAMijF,QAAQ,GAAG,EAAjB;;IACA,IAAID,SAAS,CAACE,WAAd,EAA2B;MACvBD,QAAQ,CAAC1hF,IAAT,CAAcqhF,qBAAqB,CAACI,SAAS,CAACE,WAAX,CAArB,CAA6Cn6D,IAA7C,CAAmDw4B,QAAD,IAAc;QAC1EyhC,SAAS,CAACzhC,QAAV,GAAqBA,QAArB;MACH,CAFa,CAAd;IAGH;;IACD,MAAM4hC,SAAS,GAAGH,SAAS,CAACG,SAA5B;IACA,MAAM5iB,MAAM,GAAGyiB,SAAS,CAACziB,MAAV,KAAqByiB,SAAS,CAACziB,MAAV,GAAmB,EAAxC,CAAf;IACA,MAAM6iB,WAAW,GAAGJ,SAAS,CAACziB,MAAV,CAAiB1jE,MAArC;IACAsmF,SAAS,IAAIA,SAAS,CAACvmF,OAAV,CAAkB,CAACymF,QAAD,EAAWllF,KAAX,KAAqB;MAChDoiE,MAAM,CAACh/D,IAAP,CAAY,EAAZ,EADgD,CAC/B;;MACjB0hF,QAAQ,CAAC1hF,IAAT,CAAcqhF,qBAAqB,CAACS,QAAD,CAArB,CAAgCt6D,IAAhC,CAAsCra,KAAD,IAAW;QAC1D6xD,MAAM,CAAC6iB,WAAW,GAAGjlF,KAAf,CAAN,GAA8BuQ,KAA9B;QACAy0E,SAAS,CAAC33E,MAAV,CAAiB23E,SAAS,CAACxiF,OAAV,CAAkB0iF,QAAlB,CAAjB,EAA8C,CAA9C;;QACA,IAAIF,SAAS,CAACtmF,MAAV,IAAoB,CAAxB,EAA2B;UACvBmmF,SAAS,CAACG,SAAV,GAAsB/nF,SAAtB;QACH;MACJ,CANa,CAAd;IAOH,CATY,CAAb;IAUA,MAAMkoF,aAAa,GAAGroE,OAAO,CAAC5O,GAAR,CAAY42E,QAAZ,EAAsBl6D,IAAtB,CAA2B,MAAMw6D,oBAAoB,CAACvjF,IAAD,CAArD,CAAtB;IACA0iF,iBAAiB,CAACnhF,IAAlB,CAAuB+hF,aAAvB;EACH,CAtBD;EAuBAE,wCAAwC;EACxC,OAAOvoE,OAAO,CAAC5O,GAAR,CAAYq2E,iBAAZ,EAA+B35D,IAA/B,CAAoC,MAAM3tB,SAA1C,CAAP;AACH;;AACD,IAAI2nF,gCAAgC,GAAG,IAAI39B,GAAJ,EAAvC,EACA;;AACA,MAAMq+B,6BAA6B,GAAG,IAAI7pC,GAAJ,EAAtC;;AACA,SAAS8pC,wCAAT,CAAkD1jF,IAAlD,EAAwD2jF,QAAxD,EAAkE;EAC9D,IAAIC,wBAAwB,CAACD,QAAD,CAA5B,EAAwC;IACpCZ,gCAAgC,CAACzzE,GAAjC,CAAqCtP,IAArC,EAA2C2jF,QAA3C;IACAF,6BAA6B,CAACvtE,GAA9B,CAAkClW,IAAlC;EACH;AACJ;;AACD,SAAS6jF,+BAAT,CAAyC7jF,IAAzC,EAA+C;EAC3C,OAAOyjF,6BAA6B,CAACv4B,GAA9B,CAAkClrD,IAAlC,CAAP;AACH;;AACD,SAAS4jF,wBAAT,CAAkCZ,SAAlC,EAA6C;EACzC,OAAO,CAAC,EAAGA,SAAS,CAACE,WAAV,IAAyB,CAACF,SAAS,CAACjmF,cAAV,CAAyB,UAAzB,CAA3B,IACNimF,SAAS,CAACG,SAAV,IAAuBH,SAAS,CAACG,SAAV,CAAoBtmF,MADvC,CAAR;AAEH;;AACD,SAAS2mF,wCAAT,GAAoD;EAChD,MAAMM,GAAG,GAAGf,gCAAZ;EACAA,gCAAgC,GAAG,IAAI39B,GAAJ,EAAnC;EACA,OAAO0+B,GAAP;AACH;;AACD,SAASC,+BAAT,CAAyCC,KAAzC,EAAgD;EAC5CP,6BAA6B,CAACzoC,KAA9B;EACAgpC,KAAK,CAACpnF,OAAN,CAAc,CAAC4jE,CAAD,EAAIxgE,IAAJ,KAAayjF,6BAA6B,CAACvtE,GAA9B,CAAkClW,IAAlC,CAA3B;EACA+iF,gCAAgC,GAAGiB,KAAnC;AACH;;AACD,SAASC,uCAAT,GAAmD;EAC/C,OAAOlB,gCAAgC,CAACj2C,IAAjC,KAA0C,CAAjD;AACH;;AACD,SAASg2C,cAAT,CAAwB5vB,QAAxB,EAAkC;EAC9B,OAAO,OAAOA,QAAP,IAAmB,QAAnB,GAA8BA,QAA9B,GAAyCA,QAAQ,CAACvoB,IAAT,EAAhD;AACH;;AACD,SAAS44C,oBAAT,CAA8BvjF,IAA9B,EAAoC;EAChCyjF,6BAA6B,CAACj4B,MAA9B,CAAqCxrD,IAArC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMkkF,OAAO,GAAG,IAAI9+B,GAAJ,EAAhB;AACA;AACA;AACA;AACA;AACA;;AACA,IAAI++B,0BAA0B,GAAG,IAAjC;;AACA,SAASC,uBAAT,CAAiC7yE,EAAjC,EAAqCvR,IAArC,EAA2CqkF,QAA3C,EAAqD;EACjD,IAAIrkF,IAAI,IAAIA,IAAI,KAAKqkF,QAAjB,IAA6BF,0BAAjC,EAA6D;IACzD,MAAM,IAAI7mF,KAAJ,CAAW,mCAAkCiU,EAAG,MAAKsrC,SAAS,CAAC78C,IAAD,CAAO,OAAM68C,SAAS,CAAC78C,IAAI,CAAC9C,IAAN,CAAY,EAAhG,CAAN;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASonF,oBAAT,CAA8BxsB,YAA9B,EAA4CvmD,EAA5C,EAAgD;EAC5C,MAAMgF,QAAQ,GAAG2tE,OAAO,CAACtxE,GAAR,CAAYrB,EAAZ,KAAmB,IAApC;EACA6yE,uBAAuB,CAAC7yE,EAAD,EAAKgF,QAAL,EAAeuhD,YAAf,CAAvB;EACAosB,OAAO,CAAC50E,GAAR,CAAYiC,EAAZ,EAAgBumD,YAAhB;AACH;;AACD,SAASysB,mBAAT,GAA+B;EAC3BL,OAAO,CAAClpC,KAAR;AACH;;AACD,SAASwpC,yBAAT,CAAmCjzE,EAAnC,EAAuC;EACnC,OAAO2yE,OAAO,CAACtxE,GAAR,CAAYrB,EAAZ,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkzE,mCAAT,CAA6CC,eAA7C,EAA8D;EAC1DP,0BAA0B,GAAG,CAACO,eAA9B;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,IAAI1lD,QAAQ,GAAG5jC,SAAf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASupF,WAAT,CAAqBzpF,QAArB,EAA+B;EAC3B8jC,QAAQ,GAAG9jC,QAAX;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0pF,WAAT,GAAuB;EACnB,IAAI5lD,QAAQ,KAAK5jC,SAAjB,EAA4B;IACxB,OAAO4jC,QAAP;EACH,CAFD,MAGK,IAAI,OAAO9jC,QAAP,KAAoB,WAAxB,EAAqC;IACtC,OAAOA,QAAP;EACH,CANkB,CAOnB;EACA;EACA;EACA;EACA;;;EACA,OAAOE,SAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,IAAIypF,QAAJ;AACA;AACA;AACA;AACA;;AACA,SAASC,WAAT,GAAuB;EACnB,IAAID,QAAQ,KAAKzpF,SAAjB,EAA4B;IACxBypF,QAAQ,GAAG,IAAX;;IACA,IAAI7oB,OAAO,CAAC+oB,YAAZ,EAA0B;MACtB,IAAI;QACAF,QAAQ,GAAG7oB,OAAO,CAAC+oB,YAAR,CAAqBC,YAArB,CAAkC,SAAlC,EAA6C;UACpDC,UAAU,EAAGxrD,CAAD,IAAOA,CADiC;UAEpDyrD,YAAY,EAAGzrD,CAAD,IAAOA,CAF+B;UAGpD0rD,eAAe,EAAG1rD,CAAD,IAAOA;QAH4B,CAA7C,CAAX;MAKH,CAND,CAOA,MAAM,CACF;QACA;QACA;QACA;MACH;IACJ;EACJ;;EACD,OAAOorD,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,qBAAT,CAA+BC,IAA/B,EAAqC;EAAA;;EACjC,OAAO,gBAAAP,WAAW,YAAX,kDAAeG,UAAf,CAA0BI,IAA1B,MAAmCA,IAA1C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiCxzB,MAAjC,EAAyC;EAAA;;EACrC,OAAO,iBAAAgzB,WAAW,YAAX,oDAAeI,YAAf,CAA4BpzB,MAA5B,MAAuCA,MAA9C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyzB,0BAAT,CAAoCxkD,GAApC,EAAyC;EAAA;;EACrC,OAAO,iBAAA+jD,WAAW,YAAX,oDAAeK,eAAf,CAA+BpkD,GAA/B,MAAuCA,GAA9C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASykD,wBAAT,CAAkC,GAAGhmF,IAArC,EAA2C;EACvC,IAAI,OAAOs8C,SAAP,KAAqB,WAAzB,EAAsC;IAClC,MAAM,IAAIx+C,KAAJ,CAAU,+DAAV,CAAN;EACH;;EACD,IAAI,CAAC0+D,OAAO,CAAC+oB,YAAb,EAA2B;IACvB;IACA;IACA,OAAO,IAAIzI,QAAJ,CAAa,GAAG98E,IAAhB,CAAP;EACH,CARsC,CASvC;EACA;EACA;EACA;;;EACA,MAAMimF,MAAM,GAAGjmF,IAAI,CAACyB,KAAL,CAAW,CAAX,EAAc,CAAC,CAAf,EAAkB8O,IAAlB,CAAuB,GAAvB,CAAf;EACA,MAAM21E,MAAM,GAAGlmF,IAAI,CAACA,IAAI,CAAC3C,MAAL,GAAc,CAAf,CAAnB;EACA,MAAMmsD,IAAI,GAAI,uBAAsBy8B,MAAO;AAC/C,MAAMC,MAAO;AACb,GAFI,CAfuC,CAkBvC;EACA;EACA;;EACA,MAAM3pF,EAAE,GAAGigE,OAAO,CAAC,MAAD,CAAP,CAAgBspB,uBAAuB,CAACt8B,IAAD,CAAvC,CAAX;;EACA,IAAIjtD,EAAE,CAAC+gB,IAAH,KAAY1hB,SAAhB,EAA2B;IACvB;IACA;IACA;IACA;IACA,OAAO,IAAIkhF,QAAJ,CAAa,GAAG98E,IAAhB,CAAP;EACH,CA5BsC,CA6BvC;EACA;EACA;;;EACAzD,EAAE,CAAC8tB,QAAH,GAAc,MAAMm/B,IAApB,CAhCuC,CAiCvC;;;EACA,OAAOjtD,EAAE,CAAC+gB,IAAH,CAAQk/C,OAAR,CAAP,CAlCuC,CAmCvC;EACA;EACA;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,IAAI2pB,MAAJ;AACA;AACA;AACA;AACA;;AACA,SAASC,SAAT,GAAqB;EACjB,IAAID,MAAM,KAAKvqF,SAAf,EAA0B;IACtBuqF,MAAM,GAAG,IAAT;;IACA,IAAI3pB,OAAO,CAAC+oB,YAAZ,EAA0B;MACtB,IAAI;QACAY,MAAM,GAAG3pB,OAAO,CAAC+oB,YAAR,CACJC,YADI,CACS,uBADT,EACkC;UACvCC,UAAU,EAAGxrD,CAAD,IAAOA,CADoB;UAEvCyrD,YAAY,EAAGzrD,CAAD,IAAOA,CAFkB;UAGvC0rD,eAAe,EAAG1rD,CAAD,IAAOA;QAHe,CADlC,CAAT;MAMH,CAPD,CAQA,MAAM,CACF;QACA;QACA;QACA;MACH;IACJ;EACJ;;EACD,OAAOksD,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,2BAAT,CAAqCR,IAArC,EAA2C;EAAA;;EACvC,OAAO,eAAAO,SAAS,YAAT,gDAAaX,UAAb,CAAwBI,IAAxB,MAAiCA,IAAxC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASS,6BAAT,CAAuCh0B,MAAvC,EAA+C;EAAA;;EAC3C,OAAO,gBAAA8zB,SAAS,YAAT,kDAAaV,YAAb,CAA0BpzB,MAA1B,MAAqCA,MAA5C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASi0B,gCAAT,CAA0ChlD,GAA1C,EAA+C;EAAA;;EAC3C,OAAO,gBAAA6kD,SAAS,YAAT,kDAAaT,eAAb,CAA6BpkD,GAA7B,MAAqCA,GAA5C;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMilD,aAAN,CAAoB;EAChB7mF,WAAW,CAAC8mF,qCAAD,EAAwC;IAC/C,KAAKA,qCAAL,GAA6CA,qCAA7C;EACH;;EACDp8D,QAAQ,GAAG;IACP,OAAQ,0CAAyC,KAAKo8D,qCAAsC,EAArF,GACF,qCADL;EAEH;;AAPe;;AASpB,MAAMC,YAAN,SAA2BF,aAA3B,CAAyC;EACrC/oC,WAAW,GAAG;IACV,OAAO;IAAO;IAAd;EACH;;AAHoC;;AAKzC,MAAMkpC,aAAN,SAA4BH,aAA5B,CAA0C;EACtC/oC,WAAW,GAAG;IACV,OAAO;IAAQ;IAAf;EACH;;AAHqC;;AAK1C,MAAMmpC,cAAN,SAA6BJ,aAA7B,CAA2C;EACvC/oC,WAAW,GAAG;IACV,OAAO;IAAS;IAAhB;EACH;;AAHsC;;AAK3C,MAAMopC,WAAN,SAA0BL,aAA1B,CAAwC;EACpC/oC,WAAW,GAAG;IACV,OAAO;IAAM;IAAb;EACH;;AAHmC;;AAKxC,MAAMqpC,mBAAN,SAAkCN,aAAlC,CAAgD;EAC5C/oC,WAAW,GAAG;IACV,OAAO;IAAc;IAArB;EACH;;AAH2C;;AAKhD,SAASspC,eAAT,CAAyBl3E,KAAzB,EAAgC;EAC5B,OAAOA,KAAK,YAAY22E,aAAjB,GAAiC32E,KAAK,CAAC42E,qCAAvC,GACH52E,KADJ;AAEH;;AACD,SAASm3E,+BAAT,CAAyCn3E,KAAzC,EAAgDrP,IAAhD,EAAsD;EAClD,MAAMymF,UAAU,GAAGC,yBAAyB,CAACr3E,KAAD,CAA5C;;EACA,IAAIo3E,UAAU,IAAI,IAAd,IAAsBA,UAAU,KAAKzmF,IAAzC,EAA+C;IAC3C;IACA,IAAIymF,UAAU,KAAK;IAAc;IAA7B,GAA6DzmF,IAAI,KAAK;IAAM;IAAhF,EACI,OAAO,IAAP;IACJ,MAAM,IAAI1C,KAAJ,CAAW,mBAAkB0C,IAAK,WAAUymF,UAAW,qCAAvD,CAAN;EACH;;EACD,OAAOA,UAAU,KAAKzmF,IAAtB;AACH;;AACD,SAAS0mF,yBAAT,CAAmCr3E,KAAnC,EAA0C;EACtC,OAAOA,KAAK,YAAY22E,aAAjB,IAAkC32E,KAAK,CAAC4tC,WAAN,EAAlC,IAAyD,IAAhE;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0pC,2BAAT,CAAqCC,WAArC,EAAkD;EAC9C,OAAO,IAAIV,YAAJ,CAAiBU,WAAjB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,4BAAT,CAAsCC,YAAtC,EAAoD;EAChD,OAAO,IAAIX,aAAJ,CAAkBW,YAAlB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,6BAAT,CAAuCC,aAAvC,EAAsD;EAClD,OAAO,IAAIZ,cAAJ,CAAmBY,aAAnB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,0BAAT,CAAoCC,UAApC,EAAgD;EAC5C,OAAO,IAAIb,WAAJ,CAAgBa,UAAhB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,kCAAT,CAA4CC,kBAA5C,EAAgE;EAC5D,OAAO,IAAId,mBAAJ,CAAwBc,kBAAxB,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,kBAAT,CAA4BC,UAA5B,EAAwC;EACpC,MAAMC,mBAAmB,GAAG,IAAIC,mBAAJ,CAAwBF,UAAxB,CAA5B;EACA,OAAOG,oBAAoB,KAAK,IAAIC,eAAJ,CAAoBH,mBAApB,CAAL,GAAgDA,mBAA3E;AACH;AACD;AACA;AACA;AACA;;;AACA,MAAMG,eAAN,CAAsB;EAClBvoF,WAAW,CAACooF,mBAAD,EAAsB;IAC7B,KAAKA,mBAAL,GAA2BA,mBAA3B;EACH;;EACDI,mBAAmB,CAACtC,IAAD,EAAO;IACtB;IACA;IACA;IACA;IACAA,IAAI,GAAG,4BAA4BA,IAAnC;;IACA,IAAI;MACA,MAAMr8B,IAAI,GAAG,IAAI/tD,MAAM,CAAC2sF,SAAX,GACRC,eADQ,CACQzC,qBAAqB,CAACC,IAAD,CAD7B,EACqC,WADrC,EAERr8B,IAFL;;MAGA,IAAIA,IAAI,KAAK,IAAb,EAAmB;QACf;QACA;QACA;QACA,OAAO,KAAKu+B,mBAAL,CAAyBI,mBAAzB,CAA6CtC,IAA7C,CAAP;MACH;;MACDr8B,IAAI,CAACv8B,WAAL,CAAiBu8B,IAAI,CAACilB,UAAtB;MACA,OAAOjlB,IAAP;IACH,CAZD,CAaA,MAAM;MACF,OAAO,IAAP;IACH;EACJ;;AA1BiB;AA4BtB;AACA;AACA;AACA;AACA;;;AACA,MAAMw+B,mBAAN,CAA0B;EACtBroF,WAAW,CAACmoF,UAAD,EAAa;IACpB,KAAKA,UAAL,GAAkBA,UAAlB;IACA,KAAKQ,aAAL,GAAqB,KAAKR,UAAL,CAAgBv1B,cAAhB,CAA+BC,kBAA/B,CAAkD,oBAAlD,CAArB;;IACA,IAAI,KAAK81B,aAAL,CAAmB9+B,IAAnB,IAA2B,IAA/B,EAAqC;MACjC;MACA;MACA,MAAM++B,SAAS,GAAG,KAAKD,aAAL,CAAmBvsF,aAAnB,CAAiC,MAAjC,CAAlB;MACA,KAAKusF,aAAL,CAAmB58D,WAAnB,CAA+B68D,SAA/B;MACA,MAAMC,gBAAgB,GAAG,KAAKF,aAAL,CAAmBvsF,aAAnB,CAAiC,MAAjC,CAAzB;MACAwsF,SAAS,CAAC78D,WAAV,CAAsB88D,gBAAtB;IACH;EACJ;;EACDL,mBAAmB,CAACtC,IAAD,EAAO;IACtB;IACA,MAAM4C,UAAU,GAAG,KAAKH,aAAL,CAAmBvsF,aAAnB,CAAiC,UAAjC,CAAnB;;IACA,IAAI,aAAa0sF,UAAjB,EAA6B;MACzBA,UAAU,CAACC,SAAX,GAAuB9C,qBAAqB,CAACC,IAAD,CAA5C;MACA,OAAO4C,UAAP;IACH,CANqB,CAOtB;IACA;IACA;IACA;IACA;IACA;IACA;;;IACA,MAAME,SAAS,GAAG,KAAKL,aAAL,CAAmBvsF,aAAnB,CAAiC,MAAjC,CAAlB;IACA4sF,SAAS,CAACD,SAAV,GAAsB9C,qBAAqB,CAACC,IAAD,CAA3C,CAfsB,CAgBtB;IACA;;IACA,IAAI,KAAKiC,UAAL,CAAgBxvD,YAApB,EAAkC;MAC9B,KAAKswD,kBAAL,CAAwBD,SAAxB;IACH;;IACD,OAAOA,SAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIC,kBAAkB,CAAC3vD,EAAD,EAAK;IACnB,MAAM4vD,OAAO,GAAG5vD,EAAE,CAAC6vD,UAAnB,CADmB,CAEnB;;IACA,KAAK,IAAI3rF,CAAC,GAAG0rF,OAAO,CAACxrF,MAAR,GAAiB,CAA9B,EAAiC,IAAIF,CAArC,EAAwCA,CAAC,EAAzC,EAA6C;MACzC,MAAM4rF,MAAM,GAAGF,OAAO,CAACpyE,IAAR,CAAatZ,CAAb,CAAf;MACA,MAAM+jD,QAAQ,GAAG6nC,MAAM,CAACrrF,IAAxB;;MACA,IAAIwjD,QAAQ,KAAK,WAAb,IAA4BA,QAAQ,CAAC//C,OAAT,CAAiB,MAAjB,MAA6B,CAA7D,EAAgE;QAC5D83B,EAAE,CAACxK,eAAH,CAAmByyB,QAAnB;MACH;IACJ;;IACD,IAAI8nC,SAAS,GAAG/vD,EAAE,CAACw1C,UAAnB;;IACA,OAAOua,SAAP,EAAkB;MACd,IAAIA,SAAS,CAACrtD,QAAV,KAAuBs+B,IAAI,CAACgvB,YAAhC,EACI,KAAKL,kBAAL,CAAwBI,SAAxB;MACJA,SAAS,GAAGA,SAAS,CAACE,WAAtB;IACH;EACJ;;AA5DqB;AA8D1B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASjB,oBAAT,GAAgC;EAC5B,IAAI;IACA,OAAO,CAAC,CAAC,IAAIxsF,MAAM,CAAC2sF,SAAX,GAAuBC,eAAvB,CAAuCzC,qBAAqB,CAAC,EAAD,CAA5D,EAAkE,WAAlE,CAAT;EACH,CAFD,CAGA,MAAM;IACF,OAAO,KAAP;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;AACA;AACA;AACA;;;AACA,MAAMuD,gBAAgB,GAAG,iEAAzB;AACA;;AACA,MAAMC,mBAAmB,GAAG,8CAA5B;AACA;;AACA,MAAMC,gBAAgB,GAAG,sIAAzB;;AACA,SAASC,YAAT,CAAsB/nD,GAAtB,EAA2B;EACvBA,GAAG,GAAGxF,MAAM,CAACwF,GAAD,CAAZ;EACA,IAAIA,GAAG,CAACc,KAAJ,CAAU8mD,gBAAV,KAA+B5nD,GAAG,CAACc,KAAJ,CAAUgnD,gBAAV,CAAnC,EACI,OAAO9nD,GAAP;;EACJ,IAAI,OAAO+a,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;IAC/Cp+C,OAAO,CAACC,IAAR,CAAc,wCAAuCojC,GAAI,qCAAzD;EACH;;EACD,OAAO,YAAYA,GAAnB;AACH;;AACD,SAASgoD,cAAT,CAAwBC,MAAxB,EAAgC;EAC5BA,MAAM,GAAGztD,MAAM,CAACytD,MAAD,CAAf;EACA,OAAOA,MAAM,CAACnoF,KAAP,CAAa,GAAb,EAAkB2gB,GAAlB,CAAuBwnE,MAAD,IAAYF,YAAY,CAACE,MAAM,CAACpoF,IAAP,EAAD,CAA9C,EAA+DmP,IAA/D,CAAoE,IAApE,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASk5E,MAAT,CAAgBC,IAAhB,EAAsB;EAClB,MAAMjiD,GAAG,GAAG,EAAZ;;EACA,KAAK,MAAM34B,CAAX,IAAgB46E,IAAI,CAACroF,KAAL,CAAW,GAAX,CAAhB,EACIomC,GAAG,CAAC34B,CAAD,CAAH,GAAS,IAAT;;EACJ,OAAO24B,GAAP;AACH;;AACD,SAASxoC,KAAT,CAAe,GAAG0qF,IAAlB,EAAwB;EACpB,MAAMliD,GAAG,GAAG,EAAZ;;EACA,KAAK,MAAMxN,CAAX,IAAgB0vD,IAAhB,EAAsB;IAClB,KAAK,MAAMrgF,CAAX,IAAgB2wB,CAAhB,EAAmB;MACf,IAAIA,CAAC,CAAC18B,cAAF,CAAiB+L,CAAjB,CAAJ,EACIm+B,GAAG,CAACn+B,CAAD,CAAH,GAAS,IAAT;IACP;EACJ;;EACD,OAAOm+B,GAAP;AACH,EACD;AACA;AACA;AACA;AACA;;;AACA,MAAMmiD,aAAa,GAAGH,MAAM,CAAC,wBAAD,CAA5B,EACA;AACA;;AACA,MAAMI,+BAA+B,GAAGJ,MAAM,CAAC,gDAAD,CAA9C;AACA,MAAMK,gCAAgC,GAAGL,MAAM,CAAC,OAAD,CAA/C;AACA,MAAMM,yBAAyB,GAAG9qF,KAAK,CAAC6qF,gCAAD,EAAmCD,+BAAnC,CAAvC,EACA;;AACA,MAAMG,cAAc,GAAG/qF,KAAK,CAAC4qF,+BAAD,EAAkCJ,MAAM,CAAC,qBACjE,wGADiE,GAEjE,2EAFgE,CAAxC,CAA5B,EAGA;;AACA,MAAMQ,eAAe,GAAGhrF,KAAK,CAAC6qF,gCAAD,EAAmCL,MAAM,CAAC,4BACnE,+FADmE,GAEnE,wEAFkE,CAAzC,CAA7B;AAGA,MAAMS,cAAc,GAAGjrF,KAAK,CAAC2qF,aAAD,EAAgBI,cAAhB,EAAgCC,eAAhC,EAAiDF,yBAAjD,CAA5B,EACA;;AACA,MAAMI,SAAS,GAAGV,MAAM,CAAC,8DAAD,CAAxB,EACA;;AACA,MAAMW,YAAY,GAAGX,MAAM,CAAC,QAAD,CAA3B;AACA,MAAMY,UAAU,GAAGZ,MAAM,CAAC,kHACtB,mGADsB,GAEtB,gIAFsB,GAGtB,0GAHsB,GAItB,2BAJqB,CAAzB,EAKA;;AACA,MAAMa,UAAU,GAAGb,MAAM,CAAC,4GACtB,sGADsB,GAEtB,kGAFsB,GAGtB,8FAHsB,GAItB,4GAJsB,GAKtB,0GALsB,GAMtB,iFANqB,CAAzB,EAOA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMc,WAAW,GAAGtrF,KAAK,CAACkrF,SAAD,EAAYC,YAAZ,EAA0BC,UAA1B,EAAsCC,UAAtC,CAAzB,EACA;AACA;AACA;AACA;AACA;;AACA,MAAME,2CAA2C,GAAGf,MAAM,CAAC,uBAAD,CAA1D;AACA;AACA;AACA;AACA;;AACA,MAAMgB,wBAAN,CAA+B;EAC3B9qF,WAAW,GAAG;IACV;IACA;IACA,KAAK+qF,kBAAL,GAA0B,KAA1B;IACA,KAAKC,GAAL,GAAW,EAAX;EACH;;EACDC,gBAAgB,CAAC3xD,EAAD,EAAK;IACjB;IACA;IACA;IACA,IAAIsvC,OAAO,GAAGtvC,EAAE,CAACw1C,UAAjB;IACA,IAAIoc,eAAe,GAAG,IAAtB;;IACA,OAAOtiB,OAAP,EAAgB;MACZ,IAAIA,OAAO,CAAC5sC,QAAR,KAAqBs+B,IAAI,CAACgvB,YAA9B,EAA4C;QACxC4B,eAAe,GAAG,KAAKC,YAAL,CAAkBviB,OAAlB,CAAlB;MACH,CAFD,MAGK,IAAIA,OAAO,CAAC5sC,QAAR,KAAqBs+B,IAAI,CAAC8wB,SAA9B,EAAyC;QAC1C,KAAKC,KAAL,CAAWziB,OAAO,CAAC0iB,SAAnB;MACH,CAFI,MAGA;QACD;QACA,KAAKP,kBAAL,GAA0B,IAA1B;MACH;;MACD,IAAIG,eAAe,IAAItiB,OAAO,CAACkG,UAA/B,EAA2C;QACvClG,OAAO,GAAGA,OAAO,CAACkG,UAAlB;QACA;MACH;;MACD,OAAOlG,OAAP,EAAgB;QACZ;QACA,IAAIA,OAAO,CAAC5sC,QAAR,KAAqBs+B,IAAI,CAACgvB,YAA9B,EAA4C;UACxC,KAAKiC,UAAL,CAAgB3iB,OAAhB;QACH;;QACD,IAAIxvD,IAAI,GAAG,KAAKoyE,qBAAL,CAA2B5iB,OAA3B,EAAoCA,OAAO,CAAC2gB,WAA5C,CAAX;;QACA,IAAInwE,IAAJ,EAAU;UACNwvD,OAAO,GAAGxvD,IAAV;UACA;QACH;;QACDwvD,OAAO,GAAG,KAAK4iB,qBAAL,CAA2B5iB,OAA3B,EAAoCA,OAAO,CAACxnE,UAA5C,CAAV;MACH;IACJ;;IACD,OAAO,KAAK4pF,GAAL,CAASp6E,IAAT,CAAc,EAAd,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIu6E,YAAY,CAACloF,OAAD,EAAU;IAClB,MAAMo5B,OAAO,GAAGp5B,OAAO,CAACs2B,QAAR,CAAiBttB,WAAjB,EAAhB;;IACA,IAAI,CAACs+E,cAAc,CAAC3sF,cAAf,CAA8By+B,OAA9B,CAAL,EAA6C;MACzC,KAAK0uD,kBAAL,GAA0B,IAA1B;MACA,OAAO,CAACF,2CAA2C,CAACjtF,cAA5C,CAA2Dy+B,OAA3D,CAAR;IACH;;IACD,KAAK2uD,GAAL,CAAS5oF,IAAT,CAAc,GAAd;IACA,KAAK4oF,GAAL,CAAS5oF,IAAT,CAAci6B,OAAd;IACA,MAAM6sD,OAAO,GAAGjmF,OAAO,CAACkmF,UAAxB;;IACA,KAAK,IAAI3rF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0rF,OAAO,CAACxrF,MAA5B,EAAoCF,CAAC,EAArC,EAAyC;MACrC,MAAMiuF,MAAM,GAAGvC,OAAO,CAACpyE,IAAR,CAAatZ,CAAb,CAAf;MACA,MAAM+jD,QAAQ,GAAGkqC,MAAM,CAAC1tF,IAAxB;MACA,MAAMypE,KAAK,GAAGjmB,QAAQ,CAACt1C,WAAT,EAAd;;MACA,IAAI,CAAC2+E,WAAW,CAAChtF,cAAZ,CAA2B4pE,KAA3B,CAAL,EAAwC;QACpC,KAAKujB,kBAAL,GAA0B,IAA1B;QACA;MACH;;MACD,IAAI76E,KAAK,GAAGu7E,MAAM,CAACv7E,KAAnB,CARqC,CASrC;;MACA,IAAIs6E,SAAS,CAAChjB,KAAD,CAAb,EACIt3D,KAAK,GAAGy5E,YAAY,CAACz5E,KAAD,CAApB;MACJ,IAAIu6E,YAAY,CAACjjB,KAAD,CAAhB,EACIt3D,KAAK,GAAG05E,cAAc,CAAC15E,KAAD,CAAtB;MACJ,KAAK86E,GAAL,CAAS5oF,IAAT,CAAc,GAAd,EAAmBm/C,QAAnB,EAA6B,IAA7B,EAAmCmqC,cAAc,CAACx7E,KAAD,CAAjD,EAA0D,GAA1D;IACH;;IACD,KAAK86E,GAAL,CAAS5oF,IAAT,CAAc,GAAd;IACA,OAAO,IAAP;EACH;;EACDmpF,UAAU,CAAC3iB,OAAD,EAAU;IAChB,MAAMvsC,OAAO,GAAGusC,OAAO,CAACrvC,QAAR,CAAiBttB,WAAjB,EAAhB;;IACA,IAAIs+E,cAAc,CAAC3sF,cAAf,CAA8By+B,OAA9B,KAA0C,CAAC4tD,aAAa,CAACrsF,cAAd,CAA6By+B,OAA7B,CAA/C,EAAsF;MAClF,KAAK2uD,GAAL,CAAS5oF,IAAT,CAAc,IAAd;MACA,KAAK4oF,GAAL,CAAS5oF,IAAT,CAAci6B,OAAd;MACA,KAAK2uD,GAAL,CAAS5oF,IAAT,CAAc,GAAd;IACH;EACJ;;EACDipF,KAAK,CAACA,KAAD,EAAQ;IACT,KAAKL,GAAL,CAAS5oF,IAAT,CAAcspF,cAAc,CAACL,KAAD,CAA5B;EACH;;EACDG,qBAAqB,CAACtqF,IAAD,EAAOmpD,QAAP,EAAiB;IAClC,IAAIA,QAAQ,IACR,CAACnpD,IAAI,CAACyqF,uBAAL,CAA6BthC,QAA7B,IACGiQ,IAAI,CAACsxB,8BADT,MAC6CtxB,IAAI,CAACsxB,8BAFtD,EAEsF;MAClF,MAAM,IAAIztF,KAAJ,CAAW,6DAA4D+C,IAAI,CAAC2qF,SAAU,EAAtF,CAAN;IACH;;IACD,OAAOxhC,QAAP;EACH;;AAjG0B,EAmG/B;;;AACA,MAAMyhC,qBAAqB,GAAG,iCAA9B,EACA;;AACA,MAAMC,uBAAuB,GAAG,eAAhC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASL,cAAT,CAAwBx7E,KAAxB,EAA+B;EAC3B,OAAOA,KAAK,CAAC7R,OAAN,CAAc,IAAd,EAAoB,OAApB,EACFA,OADE,CACMytF,qBADN,EAC6B,UAAUppD,KAAV,EAAiB;IACjD,MAAMspD,EAAE,GAAGtpD,KAAK,CAACsxC,UAAN,CAAiB,CAAjB,CAAX;IACA,MAAMiY,GAAG,GAAGvpD,KAAK,CAACsxC,UAAN,CAAiB,CAAjB,CAAZ;IACA,OAAO,QAAS,CAACgY,EAAE,GAAG,MAAN,IAAgB,KAAjB,IAA2BC,GAAG,GAAG,MAAjC,IAA2C,OAAnD,IAA8D,GAArE;EACH,CALM,EAMF5tF,OANE,CAMM0tF,uBANN,EAM+B,UAAUrpD,KAAV,EAAiB;IACnD,OAAO,OAAOA,KAAK,CAACsxC,UAAN,CAAiB,CAAjB,CAAP,GAA6B,GAApC;EACH,CARM,EASF31E,OATE,CASM,IATN,EASY,MATZ,EAUFA,OAVE,CAUM,IAVN,EAUY,MAVZ,CAAP;AAWH;;AACD,IAAI6tF,eAAJ;AACA;AACA;AACA;AACA;;AACA,SAASC,aAAT,CAAuBhE,UAAvB,EAAmCiE,eAAnC,EAAoD;EAChD,IAAIvD,gBAAgB,GAAG,IAAvB;;EACA,IAAI;IACAqD,eAAe,GAAGA,eAAe,IAAIhE,kBAAkB,CAACC,UAAD,CAAvD,CADA,CAEA;;IACA,IAAIkE,UAAU,GAAGD,eAAe,GAAGhwD,MAAM,CAACgwD,eAAD,CAAT,GAA6B,EAA7D;IACAvD,gBAAgB,GAAGqD,eAAe,CAAC1D,mBAAhB,CAAoC6D,UAApC,CAAnB,CAJA,CAKA;IACA;;IACA,IAAIC,YAAY,GAAG,CAAnB;IACA,IAAIC,UAAU,GAAGF,UAAjB;;IACA,GAAG;MACC,IAAIC,YAAY,KAAK,CAArB,EAAwB;QACpB,MAAM,IAAInuF,KAAJ,CAAU,uDAAV,CAAN;MACH;;MACDmuF,YAAY;MACZD,UAAU,GAAGE,UAAb;MACAA,UAAU,GAAG1D,gBAAgB,CAACE,SAA9B;MACAF,gBAAgB,GAAGqD,eAAe,CAAC1D,mBAAhB,CAAoC6D,UAApC,CAAnB;IACH,CARD,QAQSA,UAAU,KAAKE,UARxB;;IASA,MAAMC,SAAS,GAAG,IAAI1B,wBAAJ,EAAlB;IACA,MAAM2B,QAAQ,GAAGD,SAAS,CAACvB,gBAAV,CAA2ByB,kBAAkB,CAAC7D,gBAAD,CAAlB,IAAwCA,gBAAnE,CAAjB;;IACA,IAAI,CAAC,OAAOlsC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD6vC,SAAS,CAACzB,kBAAjE,EAAqF;MACjFxsF,OAAO,CAACC,IAAR,CAAa,kFAAb;IACH;;IACD,OAAOynF,qBAAqB,CAACwG,QAAD,CAA5B;EACH,CAxBD,SAyBQ;IACJ;IACA,IAAI5D,gBAAJ,EAAsB;MAClB,MAAM1nF,MAAM,GAAGurF,kBAAkB,CAAC7D,gBAAD,CAAlB,IAAwCA,gBAAvD;;MACA,OAAO1nF,MAAM,CAAC2tE,UAAd,EAA0B;QACtB3tE,MAAM,CAACmsB,WAAP,CAAmBnsB,MAAM,CAAC2tE,UAA1B;MACH;IACJ;EACJ;AACJ;;AACD,SAAS4d,kBAAT,CAA4BpzD,EAA5B,EAAgC;EAC5B,OAAO,aAAaA;EAAG;EAAhB,GAAqDqzD,iBAAiB,CAACrzD,EAAD,CAAtE,GACHA,EAAE,CAACszD,OADA,GAEH,IAFJ;AAGH;;AACD,SAASD,iBAAT,CAA2BrzD,EAA3B,EAA+B;EAC3B,OAAOA,EAAE,CAAC0C,QAAH,KAAgBs+B,IAAI,CAACgvB,YAArB,IAAqChwD,EAAE,CAACC,QAAH,KAAgB,UAA5D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIszD,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;EACxBA,eAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;EACAA,eAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;EACAA,eAAe,CAACA,eAAe,CAAC,OAAD,CAAf,GAA2B,CAA5B,CAAf,GAAgD,OAAhD;EACAA,eAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;EACAA,eAAe,CAACA,eAAe,CAAC,KAAD,CAAf,GAAyB,CAA1B,CAAf,GAA8C,KAA9C;EACAA,eAAe,CAACA,eAAe,CAAC,cAAD,CAAf,GAAkC,CAAnC,CAAf,GAAuD,cAAvD;AACH,CAPD,EAOGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CAPlB;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,cAAT,CAAwBT,UAAxB,EAAoC;EAChC,MAAMG,SAAS,GAAGO,YAAY,EAA9B;;EACA,IAAIP,SAAJ,EAAe;IACX,OAAO9F,2BAA2B,CAAC8F,SAAS,CAACQ,QAAV,CAAmBH,eAAe,CAACI,IAAnC,EAAyCZ,UAAzC,KAAwD,EAAzD,CAAlC;EACH;;EACD,IAAIhF,+BAA+B,CAACgF,UAAD,EAAa;EAAO;EAApB,CAAnC,EAA+E;IAC3E,OAAO3F,2BAA2B,CAACU,eAAe,CAACiF,UAAD,CAAhB,CAAlC;EACH;;EACD,OAAOF,aAAa,CAAC1G,WAAW,EAAZ,EAAgBptB,eAAe,CAACg0B,UAAD,CAA/B,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASa,eAAT,CAAyBC,WAAzB,EAAsC;EAClC,MAAMX,SAAS,GAAGO,YAAY,EAA9B;;EACA,IAAIP,SAAJ,EAAe;IACX,OAAOA,SAAS,CAACQ,QAAV,CAAmBH,eAAe,CAACO,KAAnC,EAA0CD,WAA1C,KAA0D,EAAjE;EACH;;EACD,IAAI9F,+BAA+B,CAAC8F,WAAD,EAAc;EAAQ;EAAtB,CAAnC,EAAkF;IAC9E,OAAO/F,eAAe,CAAC+F,WAAD,CAAtB;EACH;;EACD,OAAO90B,eAAe,CAAC80B,WAAD,CAAtB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,aAAT,CAAuBC,SAAvB,EAAkC;EAC9B,MAAMd,SAAS,GAAGO,YAAY,EAA9B;;EACA,IAAIP,SAAJ,EAAe;IACX,OAAOA,SAAS,CAACQ,QAAV,CAAmBH,eAAe,CAACU,GAAnC,EAAwCD,SAAxC,KAAsD,EAA7D;EACH;;EACD,IAAIjG,+BAA+B,CAACiG,SAAD,EAAY;EAAM;EAAlB,CAAnC,EAA4E;IACxE,OAAOlG,eAAe,CAACkG,SAAD,CAAtB;EACH;;EACD,OAAO3D,YAAY,CAACtxB,eAAe,CAACi1B,SAAD,CAAhB,CAAnB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,qBAAT,CAA+BC,iBAA/B,EAAkD;EAC9C,MAAMjB,SAAS,GAAGO,YAAY,EAA9B;;EACA,IAAIP,SAAJ,EAAe;IACX,OAAO5F,gCAAgC,CAAC4F,SAAS,CAACQ,QAAV,CAAmBH,eAAe,CAACa,YAAnC,EAAiDD,iBAAjD,KAAuE,EAAxE,CAAvC;EACH;;EACD,IAAIpG,+BAA+B,CAACoG,iBAAD,EAAoB;EAAc;EAAlC,CAAnC,EAAoG;IAChG,OAAO7G,gCAAgC,CAACQ,eAAe,CAACqG,iBAAD,CAAhB,CAAvC;EACH;;EACD,MAAM,IAAIz1B,YAAJ,CAAiB;EAAI;EAArB,EAA0Erb,SAAS,IACrF,gFADE,CAAN;AAEH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgxC,gBAAT,CAA0BC,YAA1B,EAAwC;EACpC,MAAMpB,SAAS,GAAGO,YAAY,EAA9B;;EACA,IAAIP,SAAJ,EAAe;IACX,OAAO7F,6BAA6B,CAAC6F,SAAS,CAACQ,QAAV,CAAmBH,eAAe,CAACgB,MAAnC,EAA2CD,YAA3C,KAA4D,EAA7D,CAApC;EACH;;EACD,IAAIvG,+BAA+B,CAACuG,YAAD,EAAe;EAAS;EAAxB,CAAnC,EAAqF;IACjF,OAAOjH,6BAA6B,CAACS,eAAe,CAACwG,YAAD,CAAhB,CAApC;EACH;;EACD,MAAM,IAAI51B,YAAJ,CAAiB;EAAI;EAArB,EAAoErb,SAAS,IAAI,uCAAjF,CAAN;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmxC,mBAAT,CAA6B5H,IAA7B,EAAmC;EAC/B;EACA;EACA;EACA;EACA;EACA;EACA,IAAIvpC,SAAS,KAAK,CAACx/C,KAAK,CAACC,OAAN,CAAc8oF,IAAd,CAAD,IAAwB,CAAC/oF,KAAK,CAACC,OAAN,CAAc8oF,IAAI,CAAC6H,GAAnB,CAAzB,IAAoD7H,IAAI,CAACxoF,MAAL,KAAgB,CAAzE,CAAb,EAA0F;IACtF,MAAM,IAAIS,KAAJ,CAAW,sDAAqD+nF,IAAI,CAACt1E,IAAL,CAAU,GAAV,CAAe,EAA/E,CAAN;EACH;;EACD,OAAOq1E,qBAAqB,CAACC,IAAI,CAAC,CAAD,CAAL,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8H,0BAAT,CAAoCpsD,GAApC,EAAyC;EACrC;EACA;EACA;EACA;EACA;EACA;EACA,IAAI+a,SAAS,KAAK,CAACx/C,KAAK,CAACC,OAAN,CAAcwkC,GAAd,CAAD,IAAuB,CAACzkC,KAAK,CAACC,OAAN,CAAcwkC,GAAG,CAACmsD,GAAlB,CAAxB,IAAkDnsD,GAAG,CAAClkC,MAAJ,KAAe,CAAtE,CAAb,EAAuF;IACnF,MAAM,IAAIS,KAAJ,CAAW,qDAAoDyjC,GAAG,CAAChxB,IAAJ,CAAS,GAAT,CAAc,EAA7E,CAAN;EACH;;EACD,OAAOw1E,0BAA0B,CAACxkD,GAAG,CAAC,CAAD,CAAJ,CAAjC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqsD,eAAT,CAAyBC,GAAzB,EAA8BvrF,IAA9B,EAAoC;EAChC,IAAKA,IAAI,KAAK,KAAT,KACAurF,GAAG,KAAK,OAAR,IAAmBA,GAAG,KAAK,OAA3B,IAAsCA,GAAG,KAAK,QAA9C,IAA0DA,GAAG,KAAK,OAAlE,IACGA,GAAG,KAAK,QAFX,CAAD,IAGCvrF,IAAI,KAAK,MAAT,KAAoBurF,GAAG,KAAK,MAAR,IAAkBA,GAAG,KAAK,MAA9C,CAHL,EAG6D;IACzD,OAAOV,qBAAP;EACH;;EACD,OAAOH,aAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASc,0BAAT,CAAoCb,SAApC,EAA+CY,GAA/C,EAAoDvrF,IAApD,EAA0D;EACtD,OAAOsrF,eAAe,CAACC,GAAD,EAAMvrF,IAAN,CAAf,CAA2B2qF,SAA3B,CAAP;AACH;;AACD,SAASc,8BAAT,CAAwCrwF,IAAxC,EAA8C;EAC1C,IAAIA,IAAI,CAACkO,WAAL,GAAmBs2B,UAAnB,CAA8B,IAA9B,CAAJ,EAAyC;IACrC,MAAMsb,YAAY,GAAI,8BAA6B9/C,IAAK,wCAAnC,GAChB,eAAcA,IAAI,CAAC+D,KAAL,CAAW,CAAX,CAAc,OADZ,GAEhB,SAAQ/D,IAAK,oEAFG,GAGhB,kBAHL;IAIA,MAAM,IAAIi6D,YAAJ,CAAiB;IAAI;IAArB,EAAmEna,YAAnE,CAAN;EACH;AACJ;;AACD,SAASwwC,8BAAT,CAAwCtwF,IAAxC,EAA8C;EAC1C,IAAIA,IAAI,CAACkO,WAAL,GAAmBs2B,UAAnB,CAA8B,IAA9B,CAAJ,EAAyC;IACrC,MAAMsb,YAAY,GAAI,+BAA8B9/C,IAAK,wCAApC,GAChB,eAAcA,IAAI,CAAC+D,KAAL,CAAW,CAAX,CAAc,OADjC;IAEA,MAAM,IAAIk2D,YAAJ,CAAiB;IAAI;IAArB,EAAmEna,YAAnE,CAAN;EACH;AACJ;;AACD,SAASkvC,YAAT,GAAwB;EACpB,MAAMlnB,KAAK,GAAGgG,QAAQ,EAAtB;EACA,OAAOhG,KAAK,IAAIA,KAAK,CAAC5B,SAAD,CAArB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqqB,uBAAuB,GAAG,IAAI3wD,cAAJ,CAAmB,yBAAnB,CAAhC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM4wD,QAAQ,GAAG,IAAI5wD,cAAJ,CAAmB,UAAnB,EACjB;AACA;AACA,CAAC;AAAE;AAHc,CAAjB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM6wD,kBAAkB,GAAG,IAAI7wD,cAAJ,CAAmB,oBAAnB,CAA3B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM8wD,YAAN,CAAmB;EACfh7E,GAAG,CAAC00C,KAAD,EAAQ+T,aAAa,GAAGmlB,kBAAxB,EAA4C;IAC3C,IAAInlB,aAAa,KAAKmlB,kBAAtB,EAA0C;MACtC,MAAMvnE,KAAK,GAAG,IAAI3b,KAAJ,CAAW,sCAAqCu/C,SAAS,CAACyK,KAAD,CAAQ,GAAjE,CAAd;MACAruC,KAAK,CAAC/b,IAAN,GAAa,mBAAb;MACA,MAAM+b,KAAN;IACH;;IACD,OAAOoiD,aAAP;EACH;;AARc;AAWnB;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwyB,mBAAT,CAA6B,GAAGnsE,OAAhC,EAAyC;EACrC,OAAO;IAAEu2C,UAAU,EAAE61B,2BAA2B,CAAC,IAAD,EAAOpsE,OAAP;EAAzC,CAAP;AACH;;AACD,SAASosE,2BAAT,CAAqCC,qBAArC,EAA4D,GAAGrsE,OAA/D,EAAwE;EACpE,MAAMssE,YAAY,GAAG,EAArB;EACA,MAAMC,KAAK,GAAG,IAAIr0C,GAAJ,EAAd,CAFoE,CAE3C;;EACzB,IAAIs0C,0BAAJ;EACAnR,WAAW,CAACr7D,OAAD,EAAUtjB,MAAM,IAAI;IAC3B,IAAI,CAAC,OAAO09C,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDiyC,qBAAvD,EAA8E;MAC1E,MAAMI,MAAM,GAAGhtB,eAAe,CAAC/iE,MAAD,CAA9B;;MACA,IAAI+vF,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAE7zC,UAAZ,EAAwB;QACpB,MAAM,IAAI6c,YAAJ,CAAiB;QAAI;QAArB,EAA+E,gGAA+FM,iBAAiB,CAACr5D,MAAD,CAAS,GAAxM,CAAN;MACH;IACJ,CAN0B,CAO3B;;;IACA,MAAMgwF,cAAc,GAAGhwF,MAAvB;;IACA,IAAIiwF,gBAAgB,CAACD,cAAD,EAAiBJ,YAAjB,EAA+B,EAA/B,EAAmCC,KAAnC,CAApB,EAA+D;MAC3DC,0BAA0B,KAAKA,0BAA0B,GAAG,EAAlC,CAA1B;MACAA,0BAA0B,CAAC3sF,IAA3B,CAAgC6sF,cAAhC;IACH;EACJ,CAbU,CAAX,CAJoE,CAkBpE;;EACA,IAAIF,0BAA0B,KAAK9yF,SAAnC,EAA8C;IAC1CkzF,iCAAiC,CAACJ,0BAAD,EAA6BF,YAA7B,CAAjC;EACH;;EACD,OAAOA,YAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASM,iCAAT,CAA2CC,kBAA3C,EAA+DP,YAA/D,EAA6E;EACzE,KAAK,IAAIrxF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4xF,kBAAkB,CAAC1xF,MAAvC,EAA+CF,CAAC,EAAhD,EAAoD;IAChD,MAAM;MAAEk+C,QAAF;MAAY6a;IAAZ,IAA0B64B,kBAAkB,CAAC5xF,CAAD,CAAlD;IACAogF,WAAW,CAACrnB,SAAD,EAAYqC,QAAQ,IAAI;MAC/Bjc,SAAS,IAAI0yC,gBAAgB,CAACz2B,QAAD,EAAWrC,SAAS,IAAIuI,WAAxB,EAAqCpjB,QAArC,CAA7B;MACAmzC,YAAY,CAACzsF,IAAb,CAAkBw2D,QAAlB;IACH,CAHU,CAAX;EAIH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASs2B,gBAAT,CAA0BI,SAA1B,EAAqCT,YAArC,EAAmDU,OAAnD,EAA4DT,KAA5D,EAAmE;EAC/DQ,SAAS,GAAGz3B,iBAAiB,CAACy3B,SAAD,CAA7B;EACA,IAAI,CAACA,SAAL,EACI,OAAO,KAAP,CAH2D,CAI/D;EACA;;EACA,IAAIE,OAAO,GAAG,IAAd;EACA,IAAIC,MAAM,GAAGl0B,cAAc,CAAC+zB,SAAD,CAA3B;EACA,MAAMN,MAAM,GAAG,CAACS,MAAD,IAAWztB,eAAe,CAACstB,SAAD,CAAzC;;EACA,IAAI,CAACG,MAAD,IAAW,CAACT,MAAhB,EAAwB;IACpB;IACA;IACA;IACA;IACA;IACA,MAAMtzC,QAAQ,GAAG4zC,SAAS,CAAC5zC,QAA3B;IACA+zC,MAAM,GAAGl0B,cAAc,CAAC7f,QAAD,CAAvB;;IACA,IAAI+zC,MAAJ,EAAY;MACRD,OAAO,GAAG9zC,QAAV;IACH,CAFD,MAGK;MACD;MACA,OAAO,KAAP;IACH;EACJ,CAfD,MAgBK,IAAIszC,MAAM,IAAI,CAACA,MAAM,CAAC7zC,UAAtB,EAAkC;IACnC,OAAO,KAAP;EACH,CAFI,MAGA;IACDq0C,OAAO,GAAGF,SAAV;EACH,CA9B8D,CA+B/D;;;EACA,IAAI3yC,SAAS,IAAI4yC,OAAO,CAAC/tF,OAAR,CAAgBguF,OAAhB,MAA6B,CAAC,CAA/C,EAAkD;IAC9C,MAAME,OAAO,GAAGhyC,SAAS,CAAC8xC,OAAD,CAAzB;IACA,MAAM9rD,IAAI,GAAG6rD,OAAO,CAACltE,GAAR,CAAYq7B,SAAZ,CAAb;IACA6a,0BAA0B,CAACm3B,OAAD,EAAUhsD,IAAV,CAA1B;EACH,CApC8D,CAqC/D;;;EACA,MAAMisD,WAAW,GAAGb,KAAK,CAAC/iC,GAAN,CAAUyjC,OAAV,CAApB;;EACA,IAAIR,MAAJ,EAAY;IACR,IAAIW,WAAJ,EAAiB;MACb;MACA,OAAO,KAAP;IACH;;IACDb,KAAK,CAAC/3E,GAAN,CAAUy4E,OAAV;;IACA,IAAIR,MAAM,CAACnuB,YAAX,EAAyB;MACrB,MAAMnpB,IAAI,GAAG,OAAOs3C,MAAM,CAACnuB,YAAd,KAA+B,UAA/B,GAA4CmuB,MAAM,CAACnuB,YAAP,EAA5C,GAAoEmuB,MAAM,CAACnuB,YAAxF;;MACA,KAAK,MAAMoiB,GAAX,IAAkBvrC,IAAlB,EAAwB;QACpBw3C,gBAAgB,CAACjM,GAAD,EAAM4L,YAAN,EAAoBU,OAApB,EAA6BT,KAA7B,CAAhB;MACH;IACJ;EACJ,CAZD,MAaK,IAAIW,MAAJ,EAAY;IACb;IACA,IAAIA,MAAM,CAACjoC,OAAP,IAAkB,IAAlB,IAA0B,CAACmoC,WAA/B,EAA4C;MACxC;MACA;MACAhzC,SAAS,IAAI4yC,OAAO,CAACntF,IAAR,CAAaotF,OAAb,CAAb,CAHwC,CAIxC;;MACAV,KAAK,CAAC/3E,GAAN,CAAUy4E,OAAV;MACA,IAAII,wBAAJ;;MACA,IAAI;QACAhS,WAAW,CAAC6R,MAAM,CAACjoC,OAAR,EAAiBqoC,QAAQ,IAAI;UACpC,IAAIX,gBAAgB,CAACW,QAAD,EAAWhB,YAAX,EAAyBU,OAAzB,EAAkCT,KAAlC,CAApB,EAA8D;YAC1Dc,wBAAwB,KAAKA,wBAAwB,GAAG,EAAhC,CAAxB,CAD0D,CAE1D;YACA;;YACAA,wBAAwB,CAACxtF,IAAzB,CAA8BytF,QAA9B;UACH;QACJ,CAPU,CAAX;MAQH,CATD,SAUQ;QACJ;QACAlzC,SAAS,IAAI4yC,OAAO,CAACjuE,GAAR,EAAb;MACH,CApBuC,CAqBxC;MACA;MACA;;;MACA,IAAIsuE,wBAAwB,KAAK3zF,SAAjC,EAA4C;QACxCkzF,iCAAiC,CAACS,wBAAD,EAA2Bf,YAA3B,CAAjC;MACH;IACJ;;IACD,IAAI,CAACc,WAAL,EAAkB;MACd;MACA;MACA,MAAMvnC,OAAO,GAAG2f,aAAa,CAACynB,OAAD,CAAb,KAA2B,MAAM,IAAIA,OAAJ,EAAjC,CAAhB,CAHc,CAId;MACA;MACA;;;MACAX,YAAY,CAACzsF,IAAb,EACA;MACA;QAAEo0D,OAAO,EAAEg5B,OAAX;QAAoBnvD,UAAU,EAAE+nB,OAAhC;QAAyC1Q,IAAI,EAAEonB;MAA/C,CAFA,EAGA;MACA;QAAEtI,OAAO,EAAEg4B,kBAAX;QAA+B73B,QAAQ,EAAE64B,OAAzC;QAAkD34B,KAAK,EAAE;MAAzD,CAJA,EAKA;MACA;QAAEL,OAAO,EAAE83B,uBAAX;QAAoC33B,QAAQ,EAAE,MAAM94B,QAAQ,CAAC2xD,OAAD,CAA5D;QAAuE34B,KAAK,EAAE;MAA9E,CANA,CAMqF;MANrF;IAQH,CA7CY,CA8Cb;;;IACA,MAAMi5B,YAAY,GAAGL,MAAM,CAACl5B,SAA5B;;IACA,IAAIu5B,YAAY,IAAI,IAAhB,IAAwB,CAACH,WAA7B,EAA0C;MACtC,MAAMI,YAAY,GAAGT,SAArB;MACA1R,WAAW,CAACkS,YAAD,EAAel3B,QAAQ,IAAI;QAClCjc,SAAS,IAAI0yC,gBAAgB,CAACz2B,QAAD,EAAWk3B,YAAX,EAAyBC,YAAzB,CAA7B;QACAlB,YAAY,CAACzsF,IAAb,CAAkBw2D,QAAlB;MACH,CAHU,CAAX;IAIH;EACJ,CAvDI,MAwDA;IACD;IACA,OAAO,KAAP;EACH;;EACD,OAAQ42B,OAAO,KAAKF,SAAZ,IACJA,SAAS,CAAC/4B,SAAV,KAAwBt6D,SAD5B;AAEH;;AACD,SAASozF,gBAAT,CAA0Bz2B,QAA1B,EAAoCrC,SAApC,EAA+Cy5B,aAA/C,EAA8D;EAC1D,IAAIC,cAAc,CAACr3B,QAAD,CAAd,IAA4Bs3B,eAAe,CAACt3B,QAAD,CAA3C,IAAyDu3B,iBAAiB,CAACv3B,QAAD,CAA1E,IACAw3B,kBAAkB,CAACx3B,QAAD,CADtB,EACkC;IAC9B;EACH,CAJyD,CAK1D;;;EACA,MAAMy3B,QAAQ,GAAGx4B,iBAAiB,CAACe,QAAQ,KAAKA,QAAQ,CAACnC,QAAT,IAAqBmC,QAAQ,CAACpC,OAAnC,CAAT,CAAlC;;EACA,IAAI,CAAC65B,QAAL,EAAe;IACX33B,yBAAyB,CAACs3B,aAAD,EAAgBz5B,SAAhB,EAA2BqC,QAA3B,CAAzB;EACH;AACJ;;AACD,MAAM03B,WAAW,GAAGp5B,sBAAsB,CAAC;EAAEV,OAAO,EAAEp6B,MAAX;EAAmBu6B,QAAQ,EAAEO;AAA7B,CAAD,CAA1C;;AACA,SAASg5B,eAAT,CAAyBhgF,KAAzB,EAAgC;EAC5B,OAAOA,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,IAAgB,QAAlC,IAA8CogF,WAAW,IAAIpgF,KAApE;AACH;;AACD,SAASkgF,kBAAT,CAA4BlgF,KAA5B,EAAmC;EAC/B,OAAO,CAAC,EAAEA,KAAK,IAAIA,KAAK,CAAC0mD,WAAjB,CAAR;AACH;;AACD,SAASu5B,iBAAT,CAA2BjgF,KAA3B,EAAkC;EAC9B,OAAO,CAAC,EAAEA,KAAK,IAAIA,KAAK,CAACmwB,UAAjB,CAAR;AACH;;AACD,SAAS4vD,cAAT,CAAwB//E,KAAxB,EAA+B;EAC3B,OAAO,OAAOA,KAAP,KAAiB,UAAxB;AACH;;AACD,SAASqgF,eAAT,CAAyBrgF,KAAzB,EAAgC;EAC5B,OAAO,CAAC,CAACA,KAAK,CAACumD,QAAf;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+5B,cAAc,GAAG,IAAI7yD,cAAJ,CAAmB,qBAAnB,CAAvB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,MAAM8yD,OAAO,GAAG,EAAhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,QAAQ,GAAG,EAAjB;AACA;AACA;AACA;;AACA,IAAIC,eAAe,GAAG10F,SAAtB;;AACA,SAAS20F,eAAT,GAA2B;EACvB,IAAID,eAAe,KAAK10F,SAAxB,EAAmC;IAC/B00F,eAAe,GAAG,IAAIlC,YAAJ,EAAlB;EACH;;EACD,OAAOkC,eAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,mBAAN,CAA0B;;AAE1B,MAAMC,UAAN,SAAyBD,mBAAzB,CAA6C;EACzC7wF,WAAW,CAACu2D,SAAD,EAAYp1D,MAAZ,EAAoBlC,MAApB,EAA4B8xF,MAA5B,EAAoC;IAC3C;IACA,KAAK5vF,MAAL,GAAcA,MAAd;IACA,KAAKlC,MAAL,GAAcA,MAAd;IACA,KAAK8xF,MAAL,GAAcA,MAAd;IACA;AACR;AACA;AACA;AACA;;IACQ,KAAKC,OAAL,GAAe,IAAI/qC,GAAJ,EAAf;IACA;AACR;AACA;;IACQ,KAAKgrC,iBAAL,GAAyB,IAAIx2C,GAAJ,EAAzB;IACA,KAAKy2C,eAAL,GAAuB,EAAvB;IACA,KAAKC,UAAL,GAAkB,KAAlB,CAhB2C,CAiB3C;;IACAC,qBAAqB,CAAC76B,SAAD,EAAYqC,QAAQ,IAAI,KAAKy4B,eAAL,CAAqBz4B,QAArB,CAAxB,CAArB,CAlB2C,CAmB3C;;IACA,KAAKo4B,OAAL,CAAa7gF,GAAb,CAAiBo+E,QAAjB,EAA2B+C,UAAU,CAACr1F,SAAD,EAAY,IAAZ,CAArC,EApB2C,CAqB3C;;IACA,IAAI80F,MAAM,CAAChlC,GAAP,CAAW,aAAX,CAAJ,EAA+B;MAC3B,KAAKilC,OAAL,CAAa7gF,GAAb,CAAiB0gF,mBAAjB,EAAsCS,UAAU,CAACr1F,SAAD,EAAY,IAAZ,CAAhD;IACH,CAxB0C,CAyB3C;IACA;;;IACA,MAAMi+C,MAAM,GAAG,KAAK82C,OAAL,CAAav9E,GAAb,CAAiB+8E,cAAjB,CAAf;;IACA,IAAIt2C,MAAM,IAAI,IAAV,IAAkB,OAAOA,MAAM,CAAChqC,KAAd,KAAwB,QAA9C,EAAwD;MACpD,KAAK6gF,MAAL,CAAYh6E,GAAZ,CAAgBmjC,MAAM,CAAChqC,KAAvB;IACH;;IACD,KAAKqhF,gBAAL,GACI,IAAI92C,GAAJ,CAAQ,KAAKhnC,GAAL,CAAS+6E,kBAAkB,CAAC33B,KAA5B,EAAmCiI,WAAnC,EAAgDlD,WAAW,CAACqb,IAA5D,CAAR,CADJ;EAEH;EACD;AACJ;AACA;;;EACiB,IAATua,SAAS,GAAG;IACZ,OAAO,KAAKL,UAAZ;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACItrF,OAAO,GAAG;IACN,KAAK4rF,kBAAL,GADM,CAEN;;IACA,KAAKN,UAAL,GAAkB,IAAlB;;IACA,IAAI;MACA;MACA,KAAK,MAAMO,OAAX,IAAsB,KAAKT,iBAA3B,EAA8C;QAC1CS,OAAO,CAACnuD,WAAR;MACH;;MACD,KAAK,MAAMyuC,IAAX,IAAmB,KAAKkf,eAAxB,EAAyC;QACrClf,IAAI;MACP;IACJ,CARD,SASQ;MACJ;MACA,KAAKgf,OAAL,CAAan1C,KAAb;;MACA,KAAKo1C,iBAAL,CAAuBp1C,KAAvB;;MACA,KAAK01C,gBAAL,CAAsB11C,KAAtB;MACA,KAAKq1C,eAAL,CAAqBxzF,MAArB,GAA8B,CAA9B;IACH;EACJ;;EACDylE,SAAS,CAACj+D,QAAD,EAAW;IAChB,KAAKgsF,eAAL,CAAqB9uF,IAArB,CAA0B8C,QAA1B;EACH;;EACDysF,YAAY,CAAC/0F,EAAD,EAAK;IACb,KAAK60F,kBAAL;IACA,MAAMG,gBAAgB,GAAG/P,kBAAkB,CAAC,IAAD,CAA3C;IACA,MAAM1K,4BAA4B,GAAGpb,uBAAuB,CAAC9/D,SAAD,CAA5D;;IACA,IAAI;MACA,OAAOW,EAAE,EAAT;IACH,CAFD,SAGQ;MACJilF,kBAAkB,CAAC+P,gBAAD,CAAlB;MACA71B,uBAAuB,CAACob,4BAAD,CAAvB;IACH;EACJ;;EACD1jE,GAAG,CAAC00C,KAAD,EAAQ+T,aAAa,GAAGmlB,kBAAxB,EAA4Cz+B,KAAK,GAAGgZ,WAAW,CAACc,OAAhE,EAAyE;IACxE,KAAK+0B,kBAAL,GADwE,CAExE;;IACA,MAAMG,gBAAgB,GAAG/P,kBAAkB,CAAC,IAAD,CAA3C;IACA,MAAM1K,4BAA4B,GAAGpb,uBAAuB,CAAC9/D,SAAD,CAA5D;;IACA,IAAI;MACA;MACA,IAAI,EAAE2mD,KAAK,GAAGgZ,WAAW,CAACyS,QAAtB,CAAJ,EAAqC;QACjC;QACA,IAAIn0B,MAAM,GAAG,KAAK82C,OAAL,CAAav9E,GAAb,CAAiB00C,KAAjB,CAAb;;QACA,IAAIjO,MAAM,KAAKj+C,SAAf,EAA0B;UACtB;UACA;UACA,MAAMo/D,GAAG,GAAGw2B,qBAAqB,CAAC1pC,KAAD,CAArB,IAAgC4S,gBAAgB,CAAC5S,KAAD,CAA5D;;UACA,IAAIkT,GAAG,IAAI,KAAKy2B,oBAAL,CAA0Bz2B,GAA1B,CAAX,EAA2C;YACvC;YACA;YACAnhB,MAAM,GAAGo3C,UAAU,CAACS,iCAAiC,CAAC5pC,KAAD,CAAlC,EAA2CsoC,OAA3C,CAAnB;UACH,CAJD,MAKK;YACDv2C,MAAM,GAAG,IAAT;UACH;;UACD,KAAK82C,OAAL,CAAa7gF,GAAb,CAAiBg4C,KAAjB,EAAwBjO,MAAxB;QACH,CAhBgC,CAiBjC;;;QACA,IAAIA,MAAM,IAAI;QAAK;QAAnB,EAAgD;UAC5C,OAAO,KAAK83C,OAAL,CAAa7pC,KAAb,EAAoBjO,MAApB,CAAP;QACH;MACJ,CAvBD,CAwBA;MACA;;;MACA,MAAM+3C,YAAY,GAAG,EAAErvC,KAAK,GAAGgZ,WAAW,CAACqb,IAAtB,IAA8B,KAAK91E,MAAnC,GAA4CyvF,eAAe,EAAhF,CA1BA,CA2BA;MACA;;MACA10B,aAAa,GAAItZ,KAAK,GAAGgZ,WAAW,CAAC79B,QAArB,IAAkCm+B,aAAa,KAAKmlB,kBAApD,GACZ,IADY,GAEZnlB,aAFJ;MAGA,OAAO+1B,YAAY,CAACx+E,GAAb,CAAiB00C,KAAjB,EAAwB+T,aAAxB,CAAP;IACH,CAjCD,CAkCA,OAAOh+D,CAAP,EAAU;MACN,IAAIA,CAAC,CAACH,IAAF,KAAW,mBAAf,EAAoC;QAChC,MAAM2lC,IAAI,GAAGxlC,CAAC,CAACqjF,kBAAD,CAAD,GAAwBrjF,CAAC,CAACqjF,kBAAD,CAAD,IAAyB,EAA9D;QACA79C,IAAI,CAACmR,OAAL,CAAa6I,SAAS,CAACyK,KAAD,CAAtB;;QACA,IAAIypC,gBAAJ,EAAsB;UAClB;UACA,MAAM1zF,CAAN;QACH,CAHD,MAIK;UACD;UACA,OAAOwkF,kBAAkB,CAACxkF,CAAD,EAAIiqD,KAAJ,EAAW,iBAAX,EAA8B,KAAKlpD,MAAnC,CAAzB;QACH;MACJ,CAXD,MAYK;QACD,MAAMf,CAAN;MACH;IACJ,CAlDD,SAmDQ;MACJ;MACA69D,uBAAuB,CAACob,4BAAD,CAAvB;MACA0K,kBAAkB,CAAC+P,gBAAD,CAAlB;IACH;EACJ;EACD;;;EACAM,2BAA2B,GAAG;IAC1B,MAAMN,gBAAgB,GAAG/P,kBAAkB,CAAC,IAAD,CAA3C;IACA,MAAM1K,4BAA4B,GAAGpb,uBAAuB,CAAC9/D,SAAD,CAA5D;;IACA,IAAI;MACA,MAAMk2F,YAAY,GAAG,KAAK1+E,GAAL,CAAS66E,uBAAuB,CAACz3B,KAAjC,EAAwCiI,WAAxC,EAAqDlD,WAAW,CAACqb,IAAjE,CAArB;;MACA,IAAIt6B,SAAS,IAAI,CAACx/C,KAAK,CAACC,OAAN,CAAc+0F,YAAd,CAAlB,EAA+C;QAC3C,MAAM,IAAIn6B,YAAJ,CAAiB;QAAI;QAArB,EAAoE,kEACrE,+BAA8B,OAAOm6B,YAAa,KADmB,GAEtE,2EAFsE,GAGtE,yBAHE,CAAN;MAIH;;MACD,KAAK,MAAMC,WAAX,IAA0BD,YAA1B,EAAwC;QACpCC,WAAW;MACd;IACJ,CAXD,SAYQ;MACJvQ,kBAAkB,CAAC+P,gBAAD,CAAlB;MACA71B,uBAAuB,CAACob,4BAAD,CAAvB;IACH;EACJ;;EACDzsD,QAAQ,GAAG;IACP,MAAM2nE,MAAM,GAAG,EAAf;IACA,MAAMrB,OAAO,GAAG,KAAKA,OAArB;;IACA,KAAK,MAAM7oC,KAAX,IAAoB6oC,OAAO,CAACzxF,IAAR,EAApB,EAAoC;MAChC8yF,MAAM,CAACjwF,IAAP,CAAYs7C,SAAS,CAACyK,KAAD,CAArB;IACH;;IACD,OAAQ,cAAakqC,MAAM,CAACzhF,IAAP,CAAY,IAAZ,CAAkB,GAAvC;EACH;;EACD6gF,kBAAkB,GAAG;IACjB,IAAI,KAAKN,UAAT,EAAqB;MACjB,MAAM,IAAIn5B,YAAJ,CAAiB;MAAI;MAArB,EAAwErb,SAAS,IAAI,sCAArF,CAAN;IACH;EACJ;EACD;AACJ;AACA;;;EACI00C,eAAe,CAACz4B,QAAD,EAAW;IACtB;IACA;IACAA,QAAQ,GAAGf,iBAAiB,CAACe,QAAD,CAA5B;IACA,IAAIzQ,KAAK,GAAG8nC,cAAc,CAACr3B,QAAD,CAAd,GAA2BA,QAA3B,GAAsCf,iBAAiB,CAACe,QAAQ,IAAIA,QAAQ,CAACpC,OAAtB,CAAnE,CAJsB,CAKtB;;IACA,MAAMtc,MAAM,GAAGo4C,gBAAgB,CAAC15B,QAAD,CAA/B;;IACA,IAAI,CAACq3B,cAAc,CAACr3B,QAAD,CAAf,IAA6BA,QAAQ,CAAC/B,KAAT,KAAmB,IAApD,EAA0D;MACtD;MACA;MACA,IAAI07B,WAAW,GAAG,KAAKvB,OAAL,CAAav9E,GAAb,CAAiB00C,KAAjB,CAAlB;;MACA,IAAIoqC,WAAJ,EAAiB;QACb;QACA,IAAI51C,SAAS,IAAI41C,WAAW,CAAC17B,KAAZ,KAAsB56D,SAAvC,EAAkD;UAC9Cw8D,4BAA4B;QAC/B;MACJ,CALD,MAMK;QACD85B,WAAW,GAAGjB,UAAU,CAACr1F,SAAD,EAAYw0F,OAAZ,EAAqB,IAArB,CAAxB;;QACA8B,WAAW,CAACnqC,OAAZ,GAAsB,MAAMi6B,UAAU,CAACkQ,WAAW,CAAC17B,KAAb,CAAtC;;QACA,KAAKm6B,OAAL,CAAa7gF,GAAb,CAAiBg4C,KAAjB,EAAwBoqC,WAAxB;MACH;;MACDpqC,KAAK,GAAGyQ,QAAR;MACA25B,WAAW,CAAC17B,KAAZ,CAAkBz0D,IAAlB,CAAuBw2D,QAAvB;IACH,CAjBD,MAkBK;MACD,MAAMxhD,QAAQ,GAAG,KAAK45E,OAAL,CAAav9E,GAAb,CAAiB00C,KAAjB,CAAjB;;MACA,IAAIxL,SAAS,IAAIvlC,QAAb,IAAyBA,QAAQ,CAACy/C,KAAT,KAAmB56D,SAAhD,EAA2D;QACvDw8D,4BAA4B;MAC/B;IACJ;;IACD,KAAKu4B,OAAL,CAAa7gF,GAAb,CAAiBg4C,KAAjB,EAAwBjO,MAAxB;EACH;;EACD83C,OAAO,CAAC7pC,KAAD,EAAQjO,MAAR,EAAgB;IACnB,IAAIyC,SAAS,IAAIzC,MAAM,CAAChqC,KAAP,KAAiBwgF,QAAlC,EAA4C;MACxCn4B,0BAA0B,CAAC7a,SAAS,CAACyK,KAAD,CAAV,CAA1B;IACH,CAFD,MAGK,IAAIjO,MAAM,CAAChqC,KAAP,KAAiBugF,OAArB,EAA8B;MAC/Bv2C,MAAM,CAAChqC,KAAP,GAAewgF,QAAf;MACAx2C,MAAM,CAAChqC,KAAP,GAAegqC,MAAM,CAACkO,OAAP,EAAf;IACH;;IACD,IAAI,OAAOlO,MAAM,CAAChqC,KAAd,KAAwB,QAAxB,IAAoCgqC,MAAM,CAAChqC,KAA3C,IAAoDsiF,YAAY,CAACt4C,MAAM,CAAChqC,KAAR,CAApE,EAAoF;MAChF,KAAK+gF,iBAAL,CAAuBl6E,GAAvB,CAA2BmjC,MAAM,CAAChqC,KAAlC;IACH;;IACD,OAAOgqC,MAAM,CAAChqC,KAAd;EACH;;EACD4hF,oBAAoB,CAACz2B,GAAD,EAAM;IACtB,IAAI,CAACA,GAAG,CAACj7B,UAAT,EAAqB;MACjB,OAAO,KAAP;IACH;;IACD,MAAMA,UAAU,GAAGy3B,iBAAiB,CAACwD,GAAG,CAACj7B,UAAL,CAApC;;IACA,IAAI,OAAOA,UAAP,KAAsB,QAA1B,EAAoC;MAChC,OAAOA,UAAU,KAAK,KAAf,IAAyB,KAAK2wD,MAAL,CAAYhlC,GAAZ,CAAgB3rB,UAAhB,CAAhC;IACH,CAFD,MAGK;MACD,OAAO,KAAKmxD,gBAAL,CAAsBxlC,GAAtB,CAA0B3rB,UAA1B,CAAP;IACH;EACJ;;AA/OwC;;AAiP7C,SAAS2xD,iCAAT,CAA2C5pC,KAA3C,EAAkD;EAC9C;EACA,MAAMgU,aAAa,GAAGpB,gBAAgB,CAAC5S,KAAD,CAAtC;EACA,MAAMC,OAAO,GAAG+T,aAAa,KAAK,IAAlB,GAAyBA,aAAa,CAAC/T,OAAvC,GAAiD2f,aAAa,CAAC5f,KAAD,CAA9E;;EACA,IAAIC,OAAO,KAAK,IAAhB,EAAsB;IAClB,OAAOA,OAAP;EACH,CAN6C,CAO9C;EACA;;;EACA,IAAID,KAAK,YAAYxqB,cAArB,EAAqC;IACjC,MAAM,IAAIq6B,YAAJ,CAAiB;IAAI;IAArB,EAAqErb,SAAS,IAAK,SAAQe,SAAS,CAACyK,KAAD,CAAQ,iCAA5G,CAAN;EACH,CAX6C,CAY9C;;;EACA,IAAIA,KAAK,YAAYg1B,QAArB,EAA+B;IAC3B,OAAOsV,+BAA+B,CAACtqC,KAAD,CAAtC;EACH,CAf6C,CAgB9C;;;EACA,MAAM,IAAI6P,YAAJ,CAAiB;EAAI;EAArB,EAAqErb,SAAS,IAAI,aAAlF,CAAN;AACH;;AACD,SAAS81C,+BAAT,CAAyCtqC,KAAzC,EAAgD;EAC5C;EACA,MAAMuqC,WAAW,GAAGvqC,KAAK,CAACzqD,MAA1B;;EACA,IAAIg1F,WAAW,GAAG,CAAlB,EAAqB;IACjB,MAAMryF,IAAI,GAAG09E,QAAQ,CAAC2U,WAAD,EAAc,GAAd,CAArB;IACA,MAAM,IAAI16B,YAAJ,CAAiB;IAAI;IAArB,EAAqErb,SAAS,IAAK,oCAAmCe,SAAS,CAACyK,KAAD,CAAQ,MAAK9nD,IAAI,CAACuQ,IAAL,CAAU,IAAV,CAAgB,IAA5J,CAAN;EACH,CAN2C,CAO5C;EACA;EACA;EACA;EACA;;;EACA,MAAM+hF,sBAAsB,GAAGv3B,yBAAyB,CAACjT,KAAD,CAAxD;;EACA,IAAIwqC,sBAAsB,KAAK,IAA/B,EAAqC;IACjC,OAAO,MAAMA,sBAAsB,CAACvqC,OAAvB,CAA+BD,KAA/B,CAAb;EACH,CAFD,MAGK;IACD,OAAO,MAAM,IAAIA,KAAJ,EAAb;EACH;AACJ;;AACD,SAASmqC,gBAAT,CAA0B15B,QAA1B,EAAoC;EAChC,IAAIs3B,eAAe,CAACt3B,QAAD,CAAnB,EAA+B;IAC3B,OAAO04B,UAAU,CAACr1F,SAAD,EAAY28D,QAAQ,CAACjC,QAArB,CAAjB;EACH,CAFD,MAGK;IACD,MAAMvO,OAAO,GAAGwqC,iBAAiB,CAACh6B,QAAD,CAAjC;IACA,OAAO04B,UAAU,CAAClpC,OAAD,EAAUqoC,OAAV,CAAjB;EACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASmC,iBAAT,CAA2Bh6B,QAA3B,EAAqCD,YAArC,EAAmDpC,SAAnD,EAA8D;EAC1D,IAAInO,OAAO,GAAGnsD,SAAd;;EACA,IAAI0gD,SAAS,IAAIk2C,2BAA2B,CAACj6B,QAAD,CAA5C,EAAwD;IACpDF,yBAAyB,CAACz8D,SAAD,EAAYs6D,SAAZ,EAAuBqC,QAAvB,CAAzB;EACH;;EACD,IAAIq3B,cAAc,CAACr3B,QAAD,CAAlB,EAA8B;IAC1B,MAAMk6B,iBAAiB,GAAGj7B,iBAAiB,CAACe,QAAD,CAA3C;IACA,OAAOmP,aAAa,CAAC+qB,iBAAD,CAAb,IAAoCf,iCAAiC,CAACe,iBAAD,CAA5E;EACH,CAHD,MAIK;IACD,IAAI5C,eAAe,CAACt3B,QAAD,CAAnB,EAA+B;MAC3BxQ,OAAO,GAAG,MAAMyP,iBAAiB,CAACe,QAAQ,CAACjC,QAAV,CAAjC;IACH,CAFD,MAGK,IAAIw5B,iBAAiB,CAACv3B,QAAD,CAArB,EAAiC;MAClCxQ,OAAO,GAAG,MAAMwQ,QAAQ,CAACv4B,UAAT,CAAoB,GAAGgiD,UAAU,CAACzpB,QAAQ,CAAClhB,IAAT,IAAiB,EAAlB,CAAjC,CAAhB;IACH,CAFI,MAGA,IAAI04C,kBAAkB,CAACx3B,QAAD,CAAtB,EAAkC;MACnCxQ,OAAO,GAAG,MAAMvqB,QAAQ,CAACg6B,iBAAiB,CAACe,QAAQ,CAAChC,WAAV,CAAlB,CAAxB;IACH,CAFI,MAGA;MACD,MAAMy5B,QAAQ,GAAGx4B,iBAAiB,CAACe,QAAQ,KACtCA,QAAQ,CAACnC,QAAT,IAAqBmC,QAAQ,CAACpC,OADQ,CAAT,CAAlC;;MAEA,IAAI7Z,SAAS,IAAI,CAAC0zC,QAAlB,EAA4B;QACxB33B,yBAAyB,CAACC,YAAD,EAAepC,SAAf,EAA0BqC,QAA1B,CAAzB;MACH;;MACD,IAAIm6B,OAAO,CAACn6B,QAAD,CAAX,EAAuB;QACnBxQ,OAAO,GAAG,MAAM,IAAKioC,QAAL,CAAe,GAAGhO,UAAU,CAACzpB,QAAQ,CAAClhB,IAAV,CAA5B,CAAhB;MACH,CAFD,MAGK;QACD,OAAOqwB,aAAa,CAACsoB,QAAD,CAAb,IAA2B0B,iCAAiC,CAAC1B,QAAD,CAAnE;MACH;IACJ;EACJ;;EACD,OAAOjoC,OAAP;AACH;;AACD,SAASkpC,UAAT,CAAoBlpC,OAApB,EAA6Bl4C,KAA7B,EAAoC2mD,KAAK,GAAG,KAA5C,EAAmD;EAC/C,OAAO;IACHzO,OAAO,EAAEA,OADN;IAEHl4C,KAAK,EAAEA,KAFJ;IAGH2mD,KAAK,EAAEA,KAAK,GAAG,EAAH,GAAQ56D;EAHjB,CAAP;AAKH;;AACD,SAAS82F,OAAT,CAAiB7iF,KAAjB,EAAwB;EACpB,OAAO,CAAC,CAACA,KAAK,CAACwnC,IAAf;AACH;;AACD,SAAS86C,YAAT,CAAsBtiF,KAAtB,EAA6B;EACzB,OAAOA,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,KAAiB,QAAnC,IACH,OAAOA,KAAK,CAACqzB,WAAb,KAA6B,UADjC;AAEH;;AACD,SAASsuD,qBAAT,CAA+B3hF,KAA/B,EAAsC;EAClC,OAAQ,OAAOA,KAAP,KAAiB,UAAlB,IACF,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,YAAYytB,cADnD;AAEH;;AACD,SAASk1D,2BAAT,CAAqCj6B,QAArC,EAA+C;EAC3C,OAAO,CAAC,CAACA,QAAQ,CAACE,UAAlB;AACH;;AACD,SAASs4B,qBAAT,CAA+B76B,SAA/B,EAA0C35D,EAA1C,EAA8C;EAC1C,KAAK,MAAMg8D,QAAX,IAAuBrC,SAAvB,EAAkC;IAC9B,IAAIp5D,KAAK,CAACC,OAAN,CAAcw7D,QAAd,CAAJ,EAA6B;MACzBw4B,qBAAqB,CAACx4B,QAAD,EAAWh8D,EAAX,CAArB;IACH,CAFD,MAGK,IAAIi2F,2BAA2B,CAACj6B,QAAD,CAA/B,EAA2C;MAC5Cw4B,qBAAqB,CAACx4B,QAAQ,CAACE,UAAV,EAAsBl8D,EAAtB,CAArB;IACH,CAFI,MAGA;MACDA,EAAE,CAACg8D,QAAD,CAAF;IACH;EACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMo6B,cAAN,CAAqB;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,kBAAN,CAAyB;AAGzB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiCrP,SAAjC,EAA4C;EACxC,MAAM/pE,KAAK,GAAG3b,KAAK,CAAE,kCAAiCu/C,SAAS,CAACmmC,SAAD,CAAY,gDAAxD,CAAnB;EACA/pE,KAAK,CAACq5E,eAAD,CAAL,GAAyBtP,SAAzB;EACA,OAAO/pE,KAAP;AACH;;AACD,MAAMq5E,eAAe,GAAG,aAAxB;;AACA,SAASC,cAAT,CAAwBt5E,KAAxB,EAA+B;EAC3B,OAAOA,KAAK,CAACq5E,eAAD,CAAZ;AACH;;AACD,MAAME,6BAAN,CAAoC;EAChCC,uBAAuB,CAACzP,SAAD,EAAY;IAC/B,MAAMqP,uBAAuB,CAACrP,SAAD,CAA7B;EACH;;AAH+B;AAKpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM0P,0BAAN,CAAiC;;AAEjCA,0BAA0B,CAACC,IAA3B,GAAoC,eAAe,IAAIH,6BAAJ,EAAnD;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,SAASI,gBAAT,GAA4B;EACxB,OAAOC,gBAAgB,CAACvnB,eAAe,EAAhB,EAAoBN,QAAQ,EAA5B,CAAvB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6nB,gBAAT,CAA0Bp2B,KAA1B,EAAiCuI,KAAjC,EAAwC;EACpC,OAAO,IAAI7qB,UAAJ,CAAe+uB,gBAAgB,CAACzM,KAAD,EAAQuI,KAAR,CAA/B,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM7qB,UAAN,CAAiB;EACbh7C,WAAW,CAAC46C,aAAD,EAAgB;IACvB,KAAKA,aAAL,GAAqBA,aAArB;EACH;;AAHY;AAKjB;AACA;AACA;AACA;;;AACAI,UAAU,CAACukB,iBAAX,GAA+Bk0B,gBAA/B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASE,gBAAT,CAA0BzjF,KAA1B,EAAiC;EAC7B,OAAOA,KAAK,YAAY8qC,UAAjB,GAA8B9qC,KAAK,CAAC0qC,aAApC,GAAoD1qC,KAA3D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM0jF,oBAAoB,GAAG,IAAIj2D,cAAJ,CAAmB,sBAAnB,CAA7B;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMk2D,gBAAN,CAAuB;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM54C,SAAN,CAAgB;AAEhB;AACA;AACA;AACA;;;AACAA,SAAS,CAACskB,iBAAV,GAA8B,MAAMu0B,eAAe,EAAnD;AACA;;;AACA,SAASA,eAAT,GAA2B;EACvB;EACA;EACA,MAAMjuB,KAAK,GAAGgG,QAAQ,EAAtB;EACA,MAAMvO,KAAK,GAAG6O,eAAe,EAA7B;EACA,MAAM4nB,WAAW,GAAG5pB,wBAAwB,CAAC7M,KAAK,CAACt+D,KAAP,EAAc6mE,KAAd,CAA5C;EACA,OAAO,CAACR,OAAO,CAAC0uB,WAAD,CAAP,GAAuBA,WAAvB,GAAqCluB,KAAtC,EAA6C7B,QAA7C,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgwB,SAAN,CAAgB;AAEhB;;;AACAA,SAAS,CAAC9zD,KAAV,GAAkBZ,kBAAkB,CAAC;EACjC6oB,KAAK,EAAE6rC,SAD0B;EAEjC5zD,UAAU,EAAE,MAFqB;EAGjCgoB,OAAO,EAAE,MAAM;AAHkB,CAAD,CAApC;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM/oB,OAAN,CAAc;EACVr/B,WAAW,CAACi0F,IAAD,EAAO;IACd,KAAKA,IAAL,GAAYA,IAAZ;IACA,KAAKC,KAAL,GAAaD,IAAI,CAACvyF,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAb;IACA,KAAKyyF,KAAL,GAAaF,IAAI,CAACvyF,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAb;IACA,KAAKwvD,KAAL,GAAa+iC,IAAI,CAACvyF,KAAL,CAAW,GAAX,EAAgBI,KAAhB,CAAsB,CAAtB,EAAyB8O,IAAzB,CAA8B,GAA9B,CAAb;EACH;;AANS;AAQd;AACA;AACA;;;AACA,MAAMoF,OAAO,GAAG,IAAIqpB,OAAJ,CAAY,QAAZ,CAAhB;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,MAAM+0D,qCAAqC,GAAG,EAA9C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,sBAAsB,GAAG;EAC3Bt2F,IAAI,EAAE;AADqB,CAA/B;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMu2F,gBAAgB,GAAG;EACrBv2F,IAAI,EAAE;AADe,CAAzB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIw2F,gCAAgC,GAAG,KAAvC;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,4BAAT,CAAsCC,WAAtC,EAAmD;EAC/CF,gCAAgC,GAAGE,WAAnC;AACH;AACD;AACA;AACA;;;AACA,SAASC,4BAAT,GAAwC;EACpC,OAAOH,gCAAP;AACH;;AACD,IAAII,iCAAiC,GAAG,KAAxC;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,6BAAT,CAAuCH,WAAvC,EAAoD;EAChDE,iCAAiC,GAAGF,WAApC;AACH;AACD;AACA;AACA;;;AACA,SAASI,6BAAT,GAAyC;EACrC,OAAOF,iCAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,sBAAT,CAAgC7xF,OAAhC,EAAyC4iE,KAAzC,EAAgDxpC,OAAhD,EAAyDklC,OAAzD,EAAkEwzB,aAAlE,EAAiF;EAC7E;EACA;EACA;EACA;EACA,IAAIxzB,OAAO,KAAK,IAAhB,EACI,OANyE,CAO7E;;EACA,IAAI,CAACwzB,aAAD,IAAkB14D,OAAO,KAAK,IAAlC,EAAwC;IACpC;IACA;IACA;IACA,MAAM24D,SAAS,GACf;IACA;IACC,OAAOC,kBAAP,KAA8B,WAA9B,IAA6CA,kBAA7C,IACGhyF,OAAO,YAAYgyF,kBADvB,IAEK,OAAOC,cAAP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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIymC,MAAM,GAAG;IACL,KAAKzmC,MAAL,CAAY/V,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;;;EACIy8C,QAAQ,GAAG;IACP,KAAK1mC,MAAL,CAAY/V,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;;;EACI08C,aAAa,GAAG;IACZ/B,qBAAqB,CAAC,KAAK5kC,MAAL,CAAYhW,KAAZ,CAAD,EAAqB,KAAKgW,MAA1B,EAAkC,KAAKx8E,OAAvC,CAArB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIojH,cAAc,GAAG;IACb,IAAIvjE,SAAJ,EAAe;MACXyhE,sBAAsB,CAAC,KAAK9kC,MAAL,CAAYhW,KAAZ,CAAD,EAAqB,KAAKgW,MAA1B,EAAkC,KAAKx8E,OAAvC,CAAtB;IACH;EACJ;;EACDqjH,wBAAwB,GAAG;IACvB,IAAI,KAAKR,OAAT,EAAkB;MACd,MAAM,IAAI3nD,YAAJ,CAAiB;MAAI;MAArB,EAAmErb,SAAS,IAAI,+DAAhF,CAAN;IAC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C,cAApB,CAAvB;EACAgB,qBAAqB;EACrB,OAAOC,kBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,gBAAT,GAA4B;EACxB,OAAO/9C,QAAQ,EAAf;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAAS/hD,SAAT,CAAmBxsB,GAAnB,EAAwB;EACpB;EACA;EACA,OAAO,CAAC,CAACA,GAAF,IAAS,OAAOA,GAAG,CAACssB,IAAX,KAAoB,UAApC;AACH;AACD;AACA;AACA;;;AACA,SAASigG,cAAT,CAAwBvsH,GAAxB,EAA6B;EACzB,OAAO,CAAC,CAACA,GAAF,IAAS,OAAOA,GAAG,CAACod,SAAX,KAAyB,UAAzC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMovG,YAAY,GAAGD,cAArB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASE,UAAT,CAAoBxuF,SAApB,EAA+ByuF,UAA/B,EAA2CC,UAA3C,EAAuDC,mBAAvD,EAA4E;EACxE,MAAMrkD,KAAK,GAAGgG,QAAQ,EAAtB;EACA,MAAMtO,KAAK,GAAGuO,QAAQ,EAAtB;EACA,MAAMxO,KAAK,GAAG6O,eAAe,EAA7B;EACAg+C,gBAAgB,CAAC5sD,KAAD,EAAQsI,KAAR,EAAeA,KAAK,CAAC7B,QAAD,CAApB,EAAgC1G,KAAhC,EAAuC/hC,SAAvC,EAAkDyuF,UAAlD,EAA8D,CAAC,CAACC,UAAhE,EAA4EC,mBAA5E,CAAhB;EACA,OAAOH,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASK,uBAAT,CAAiC7uF,SAAjC,EAA4CyuF,UAA5C,EAAwD;EACpD,MAAM1sD,KAAK,GAAG6O,eAAe,EAA7B;EAC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xF,CAA5B;IACH;EACJ;;EACD,OAAOwE,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;AACA;AACA;;;AACA,SAASC,qBAAT,CAA+Bl/C,KAA/B,EAAsCxQ,KAAtC,EAA6C2vD,qBAA7C,EAAoEjuH,KAApE,EAA2EkuH,aAA3E,EAA0FC,cAA1F,EAA0G;EACtGxwE,SAAS,IAAIoqB,qBAAqB,CAAC+E,QAAQ,EAAT,CAAlC;EACA,IAAIshD,SAAS,GAAGD,cAAc,GAAG7vD,KAAK,CAACmzC,aAAT,GAAyBnzC,KAAK,CAA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KAAK,CAACgzC,cAAN,GAAuBwd,QAA5E;EACH;;EACD,OAAOsD,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,0BAAT,CAAoC7jD,KAApC,EAA2CxQ,KAA3C,EAAkDulC,YAAlD,EAAgE;EAC5D,MAAMuO,QAAQ,GAAGvO,YAAY,GAAGvlC,KAAK,CAACmzC,aAAT,GAAyBnzC,KAAK,CAACozC,aAA5D;;EACA,IAAIlD,oBAAoB,CAAC4D,QAAD,CAApB,KAAmC,CAAvC,EAA0C;IACtC;IACA,OAAOn1G,SAAP;EACH;;EACD,OAAO6xE,KAAK,CAACq/B,oBAAoB,CAACiE,QAAD,CAArB,CAAZ;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,SAASwgB,0BAAT,CAAoC9jD,KAApC,EAA2CxQ,KAA3C,EAAkDulC,YAAlD,EAAgE2qB,WAAhE,EAA6E;EACzE,MAAMpc,QAAQ,GAAGvO,YAAY,GAAGvlC,KAAK,CAACmzC,aAAT,GAAyBnzC,KAAK,CAACozC,aAA5D;EACA/zD,SAAS,IACLkd,cAAc,CAAC2zC,oBAAoB,CAAC4D,QAAD,CAArB,EAAiC,CAAjC,EAAoC,0DAApC,CADlB;EAEAtjC,KAAK,CAACq/B,oBAAoB,CAACiE,QAAD,CAArB,CAAL,GAAwCoc,WAAxC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqE,eAAT,CAAyB/jD,KAAzB,EAAgCxQ,KAAhC,EAAuCulC,YAAvC,EAAqD;EACjD,IAAIirB,QAAQ,GAAG7xH,SAAf;EACA,MAAM00E,YAAY,GAAGrT,KAAK,CAACq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AACA;AACA;AACA;AACA;;AACA,MAAMC,YAAY,GAAG1+D,iBAAiB,CAAC,cAAD,EAAiB,CAACpgD,SAAD,EAAYl7B,IAAZ,MAAsB;EAAEk7B,SAAF;EAAal7B;AAAb,CAAtB,CAAjB,CAAtC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,MAAM++B,QAAQ,GAAGi7C,aAAa,CAAC,UAAD,EAAc3+B,QAAD,IAAcA,QAA3B,EAAqCz/C,SAArC,EAAgDA,SAAhD;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC4E,IAAD,EAAOk7E,IAAP,KAAgB63D,eAAe,CAAC/yI,IAAD,EAAOk7E,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,SAAStzD,IAAT,CAAc,GAAGpoB,IAAjB,EAAuB,CACnB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMi6I,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,IAAI58G,cAAJ,CAAmB,yBAAnB,CAAxB;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM68G,qBAAN,CAA4B;EACxBx6I,WAAW,CAACy6I,QAAD,EAAW;IAClB,KAAKA,QAAL,GAAgBA,QAAhB;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CG,UAAU,EAAE;AAArD,CAAD,CAAhD;;AACA,CAAC,YAAY;EAAE,CAAC,OAAOuc,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDqsF,gBAAgB,CAAC2S,OAAD,EAAU,CAAC;IACrF96I,IAAI,EAAE+8B,UAD+E;IAErFv9B,IAAI,EAAE,CAAC;MAAE+/B,UAAU,EAAE;IAAd,CAAD;EAF+E,CAAD,CAAV,EAG1E,IAH0E,EAGpE,IAHoE,CAAnE;AAGO,CAHtB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy7G,eAAT,GAA2B;EACvB,IAAI,OAAOjmB,iBAAP,KAA6B,WAA7B,IAA4CA,iBAA5C,IACA,OAAOC,IAAP,KAAgB,WADhB,IAC+BA,IAAI,CAACimB,MAAL,KAAgB,IADnD,EACyD;IACrD;IACA;IACA;IACA,OAAOjmB,IAAI,CAACimB,MAAZ;EACH,CAND,MAOK;IACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,OAAQ,OAAOC,SAAP,KAAqB,WAArB,IAAoCA,SAAS,CAACp2G,MAA/C,IAA0DqxF,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,MAAM34F,SAAS,GAAG,IAAIV,cAAJ,CAAmB,UAAnB,EAA+B;EAC7CyC,UAAU,EAAE,MADiC;EAE7CgoB,OAAO,EAAE,MAAM65B,MAAM,CAAC5jD,SAAD,EAAYu9B,WAAW,CAAC79B,QAAZ,GAAuB69B,WAAW,CAACyS,QAA/C,CAAN,IAAkEwtE,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,MAAM18G,qBAAqB,GAAG,IAAIxB,cAAJ,CAAmB,qBAAnB,EAA0C;EACpEyC,UAAU,EAAE,MADwD;EAEpEgoB,OAAO,EAAE,MAAM6uE;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,MAAM+kB,YAAY,GAAG,IAAIr+G,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,MAAMs+G,mBAAmB,GAAG,IAAIt+G,cAAJ,CAAmB,oBAAnB,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,IAAIu+G,0BAAJ;;AACA,CAAC,UAAUA,0BAAV,EAAsC;EACnCA,0BAA0B,CAACA,0BAA0B,CAAC,OAAD,CAA1B,GAAsC,CAAvC,CAA1B,GAAsE,OAAtE;EACAA,0BAA0B,CAACA,0BAA0B,CAAC,SAAD,CAA1B,GAAwC,CAAzC,CAA1B,GAAwE,SAAxE;EACAA,0BAA0B,CAACA,0BAA0B,CAAC,QAAD,CAA1B,GAAuC,CAAxC,CAA1B,GAAuE,QAAvE;AACH,CAJD,EAIGA,0BAA0B,KAAKA,0BAA0B,GAAG,EAAlC,CAJ7B;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,4BAAN,CAAmC;EAC/Bn8I,WAAW,CAAC47C,eAAD,EAAkBwgG,kBAAlB,EAAsC;IAC7C,KAAKxgG,eAAL,GAAuBA,eAAvB;IACA,KAAKwgG,kBAAL,GAA0BA,kBAA1B;EACH;;AAJ8B;AAMnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,QAAN,CAAe;EACX;AACJ;AACA;AACA;EACIC,iBAAiB,CAAChW,UAAD,EAAa;IAC1B,OAAO,IAAID,eAAJ,CAAoBC,UAApB,CAAP;EACH;EACD;AACJ;AACA;;;EACIiW,kBAAkB,CAACjW,UAAD,EAAa;IAC3B,OAAOxqH,OAAO,CAACL,OAAR,CAAgB,KAAK6gI,iBAAL,CAAuBhW,UAAvB,CAAhB,CAAP;EACH;EACD;AACJ;AACA;;;EACIkW,iCAAiC,CAAClW,UAAD,EAAa;IAC1C,MAAM1qF,eAAe,GAAG,KAAK0gG,iBAAL,CAAuBhW,UAAvB,CAAxB;IACA,MAAMmW,SAAS,GAAG/5E,cAAc,CAAC4jE,UAAD,CAAhC;IACA,MAAM8V,kBAAkB,GAAGhiD,aAAa,CAACqiD,SAAS,CAACp6E,YAAX,CAAb,CACtBzjD,MADsB,CACf,CAAC61F,SAAD,EAAYk/B,WAAZ,KAA4B;MACpC,MAAM59C,YAAY,GAAG/zB,eAAe,CAAC2xE,WAAD,CAApC;MACA59C,YAAY,IAAI0e,SAAS,CAACryG,IAAV,CAAe,IAAIq+G,gBAAJ,CAAqB1qB,YAArB,CAAf,CAAhB;MACA,OAAO0e,SAAP;IACH,CAL0B,EAKxB,EALwB,CAA3B;IAMA,OAAO,IAAI0nC,4BAAJ,CAAiCvgG,eAAjC,EAAkDwgG,kBAAlD,CAAP;EACH;EACD;AACJ;AACA;;;EACIM,kCAAkC,CAACpW,UAAD,EAAa;IAC3C,OAAOxqH,OAAO,CAACL,OAAR,CAAgB,KAAK+gI,iCAAL,CAAuClW,UAAvC,CAAhB,CAAP;EACH;EACD;AACJ;AACA;;;EACIqW,UAAU,GAAG,CAAG;EAChB;AACJ;AACA;;;EACIC,aAAa,CAAC/7I,IAAD,EAAO,CAAG;EACvB;AACJ;AACA;;;EACIg8I,WAAW,CAACvW,UAAD,EAAa;IACpB,OAAOrqI,SAAP;EACH;;AA/CU;;AAiDfogJ,QAAQ,CAACp8G,IAAT,GAAgB,SAAS68G,gBAAT,CAA0B3tI,CAA1B,EAA6B;EAAE,OAAO,KAAKA,CAAC,IAAIktI,QAAV,GAAP;AAA+B,CAA9E;;AACAA,QAAQ,CAACn8G,KAAT,GAAiB,aAAcZ,kBAAkB,CAAC;EAAE6oB,KAAK,EAAEk0F,QAAT;EAAmBj0F,OAAO,EAAEi0F,QAAQ,CAACp8G,IAArC;EAA2CG,UAAU,EAAE;AAAvD,CAAD,CAAjD;;AACA,CAAC,YAAY;EAAE,CAAC,OAAOuc,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDqsF,gBAAgB,CAACqT,QAAD,EAAW,CAAC;IACtFx7I,IAAI,EAAE+8B,UADgF;IAEtFv9B,IAAI,EAAE,CAAC;MAAE+/B,UAAU,EAAE;IAAd,CAAD;EAFgF,CAAD,CAAX,EAG1E,IAH0E,EAGpE,IAHoE,CAAnE;AAGO,CAHtB;AAIA;AACA;AACA;AACA;AACA;;;AACA,MAAM28G,gBAAgB,GAAG,IAAIp/G,cAAJ,CAAmB,iBAAnB,CAAzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMq/G,eAAN,CAAsB;AAGtB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,YAAT,CAAsBp5D,SAAtB,EAAiC;EAC7B0kC,SAAS,CAAC1kC,SAAD,CAAT;EACAwjD,iBAAiB,CAACxjD,SAAD,CAAjB,CAA6BpmF,OAA7B,CAAqC27F,aAAa,IAAI6mB,aAAa,CAAC7mB,aAAD,CAAnE;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM8jD,0BAA0B,GAAG,IAAnC;AACA,IAAIC,UAAU,GAAG,KAAjB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,2BAAT,GAAuC;EACnC,IAAI,CAACD,UAAL,EAAiB;IACbA,UAAU,GAAG,IAAb;IACA;AACR;AACA;AACA;AACA;;IACQE,iBAAiB,CAAC,cAAD,EAAiBn0E,WAAjB,CAAjB;IACAm0E,iBAAiB,CAAC,sBAAD,EAAyBzV,sBAAzB,CAAjB;IACAyV,iBAAiB,CAAC,cAAD,EAAiBrW,YAAjB,CAAjB;IACAqW,iBAAiB,CAAC,YAAD,EAAenW,UAAf,CAAjB;IACAmW,iBAAiB,CAAC,cAAD,EAAiBlV,YAAjB,CAAjB;IACAkV,iBAAiB,CAAC,oBAAD,EAAuBlW,kBAAvB,CAAjB;IACAkW,iBAAiB,CAAC,gBAAD,EAAmBtV,cAAnB,CAAjB;IACAsV,iBAAiB,CAAC,aAAD,EAAgB/V,WAAhB,CAAjB;IACA+V,iBAAiB,CAAC,mBAAD,EAAsBhW,iBAAtB,CAAjB;IACAgW,iBAAiB,CAAC,eAAD,EAAkB3V,aAAlB,CAAjB;IACA2V,iBAAiB,CAAC,cAAD,EAAiBJ,YAAjB,CAAjB;EACH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAASI,iBAAT,CAA2Bt/I,IAA3B,EAAiCnB,EAAjC,EAAqC;EACjC,IAAI,OAAO0gJ,QAAP,KAAoB,WAApB,IAAmC,CAACA,QAAxC,EAAkD;IAC9C;IACA;IACA;IACA;IACA,MAAMC,CAAC,GAAG1gF,OAAV;IACAlgB,SAAS,IAAIwd,aAAa,CAACv9D,EAAD,EAAK,sBAAL,CAA1B;;IACA,IAAI2gJ,CAAJ,EAAO;MACH,IAAIjuD,SAAS,GAAGiuD,CAAC,CAACL,0BAAD,CAAjB;;MACA,IAAI,CAAC5tD,SAAL,EAAgB;QACZA,SAAS,GAAGiuD,CAAC,CAACL,0BAAD,CAAD,GAAgC,EAA5C;MACH;;MACD5tD,SAAS,CAACvxF,IAAD,CAAT,GAAkBnB,EAAlB;IACH;EACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMwuB,OAAO,GAAG,CAAC,MAAMtP,OAAO,CAACL,OAAR,CAAgB,CAAhB,CAAP,GAAhB;;AACA,SAAS+hI,iBAAT,CAA2B5gJ,EAA3B,EAA+B;EAC3B,IAAI,OAAO6gJ,IAAP,KAAgB,WAApB,EAAiC;IAC7B;IACAryH,OAAO,CAACxB,IAAR,CAAa,MAAM;MACfhtB,EAAE,IAAIA,EAAE,CAAC6B,KAAH,CAAS,IAAT,EAAe,IAAf,CAAN;IACH,CAFD;EAGH,CALD,MAMK;IACDg/I,IAAI,CAAC70E,OAAL,CAAa40E,iBAAb,CAA+B,mBAA/B,EAAoD5gJ,EAApD;EACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8gJ,8BAAT,GAA0C;EACtC,IAAIC,2BAA2B,GAAG9gF,OAAO,CAAC,uBAAD,CAAzC;EACA,IAAI+gF,0BAA0B,GAAG/gF,OAAO,CAAC,sBAAD,CAAxC;;EACA,IAAI,OAAO4gF,IAAP,KAAgB,WAAhB,IAA+BE,2BAA/B,IAA8DC,0BAAlE,EAA8F;IAC1F;IACA;IACA,MAAMC,8BAA8B,GAAGF,2BAA2B,CAACF,IAAI,CAACK,UAAL,CAAgB,kBAAhB,CAAD,CAAlE;;IACA,IAAID,8BAAJ,EAAoC;MAChCF,2BAA2B,GAAGE,8BAA9B;IACH;;IACD,MAAME,6BAA6B,GAAGH,0BAA0B,CAACH,IAAI,CAACK,UAAL,CAAgB,kBAAhB,CAAD,CAAhE;;IACA,IAAIC,6BAAJ,EAAmC;MAC/BH,0BAA0B,GAAGG,6BAA7B;IACH;EACJ;;EACD,OAAO;IAAEJ,2BAAF;IAA+BC;EAA/B,CAAP;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,MAAMI,MAAN,CAAa;EACTh+I,WAAW,CAAC;IAAEi+I,oBAAoB,GAAG,KAAzB;IAAgCC,kCAAkC,GAAG,KAArE;IAA4EC,gCAAgC,GAAG;EAA/G,CAAD,EAAyH;IAChI,KAAKC,oBAAL,GAA4B,KAA5B;IACA,KAAKC,oBAAL,GAA4B,KAA5B;IACA;AACR;A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CH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASgf,eAAT,CAAyBhf,IAAzB,EAA+B;EAC3B,MAAMxuC,QAAQ,GAAG1pB,iBAAiB,CAAC;IAAEI,KAAK,EAAE;IAAE;IAAX;IAAsDD,IAAI,EAAE,MAA5D;IAAoEp8E,IAAI,EAAEm0I,IAAI,CAACn0I;EAA/E,CAAD,CAAlC;EACA,OAAO2lG,QAAQ,CAACytD,sBAAT,CAAgCthB,cAAhC,EAAiD,SAAQqC,IAAI,CAACn0I,IAAL,CAAU9C,IAAK,WAAxE,EAAoFi3I,IAApF,CAAP;AACH;AAED;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS54F,eAAT,CAAyBynC,SAAzB,EAAoCz+E,OAApC,EAA6C;EACzCu3C,SAAS,IAAI29C,kBAAkB,CAACzW,SAAD,CAA/B;EACA,MAAMkS,YAAY,GAAG/zB,eAAe,CAAC6hB,SAAD,CAApC;EACA,MAAMqwE,eAAe,GAAG9uJ,OAAO,CAAC8uJ,eAAR,IAA2BtjE,eAAe,EAAlE;EACA,MAAMxoC,OAAO,GAAG,IAAIq4D,gBAAJ,CAAqB1qB,YAArB,CAAhB;EACA,OAAO3tC,OAAO,CAACroD,MAAR,CAAem0J,eAAf,EAAgC9uJ,OAAO,CAACk3C,gBAAxC,EAA0Dl3C,OAAO,CAAC8iI,WAAlE,EAA+E9iI,OAAO,CAACg8G,mBAAvF,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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,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,MAAM09H,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,OAAH1sI,GAAG,CAACA,GAAD,EAAM;IACZ,OAAO2sI,YAAY,CAAC3sI,GAAD,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACc,OAAHW,GAAG,CAACA,GAAD,EAAM;IACZ,OAAOisI,YAAY,CAACjsI,GAAD,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACmB,OAARksI,QAAQ,CAACC,OAAD,EAAU;IACrB,OAAOC,iBAAiB,CAACD,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,OAAZE,YAAY,CAACF,OAAD,EAAU;IACzB,OAAOG,qBAAqB,CAACH,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,OAALI,KAAK,CAACJ,OAAD,EAAU;IAClB,OAAOK,cAAc,CAACL,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,OAATM,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,OAATE,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACkB,OAAP9oH,OAAO,CAACA,OAAD,EAAU;IACpB,OAAOgpH,gBAAgB,CAAChpH,OAAD,CAAvB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACwB,OAAbipH,aAAa,CAACX,OAAD,EAAU;IAC1B,OAAOW,aAAa,CAACX,OAAD,CAApB;EACH;;EACa,OAAPY,OAAO,CAACC,UAAD,EAAa;IACvB,OAAOD,OAAO,CAACC,UAAD,CAAd;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACuB,OAAZC,YAAY,CAACD,UAAD,EAAa;IAC5B,OAAOC,YAAY,CAACD,UAAD,CAAnB;EACH;;AAlRY;AAoRjB;AACA;AACA;AACA;;;AACA,SAAShB,YAAT,CAAsB3sI,GAAtB,EAA2B;EACvB,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/J,OAAT,EACI,KAAKA,OAAL,CAAapoJ,KAAb,CAAmBpD,KAAnB;EACP;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;;;EACImJ,QAAQ,CAACimJ,SAAD,EAAY57H,IAAZ,EAAkB;IACtB,OAAO,KAAKg4H,OAAL,GAAe,KAAKA,OAAL,CAAariJ,QAAb,CAAsBimJ,SAAtB,EAAiC57H,IAAjC,CAAf,GAAwD,KAA/D;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;;;EACI67H,QAAQ,CAACD,SAAD,EAAY57H,IAAZ,EAAkB;IACtB,OAAO,KAAKg4H,OAAL,GAAe,KAAKA,OAAL,CAAa6D,QAAb,CAAsBD,SAAtB,EAAiC57H,IAAjC,CAAf,GAAwD,IAA/D;EACH;;AApQ0B;AAuQ/B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM87H,gBAAN,SAA+BnB,wBAA/B,CAAwD;EACpD;AACJ;AACA;AACA;EACqB,IAAboB,aAAa,GAAG;IAChB,OAAO,IAAP;EACH;EACD;AACJ;AACA;AACA;;;EACY,IAAJ/7H,IAAI,GAAG;IACP,OAAO,IAAP;EACH;;AAdmD;AAiBxD;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMg8H,SAAN,SAAwBrB,wBAAxB,CAAiD;EAC7Cr+J,WAAW,GAAG;IACV,MAAM,GAAGtB,SAAT;IACA;AACR;AACA;AACA;AACA;AACA;;IACQ,KAAK6sG,OAAL,GAAe,IAAf;IACA;AACR;AACA;AACA;;IACQ,KAAKxtG,IAAL,GAAY,IAAZ;IACA;AACR;AACA;AACA;;IACQ,KAAK4hK,aAAL,GAAqB,IAArB;EACH;;AApB4C;AAuBjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,qBAAN,CAA4B;EACxB5/J,WAAW,CAAC6/J,EAAD,EAAK;IACZ,KAAKC,GAAL,GAAWD,EAAX;EACH;;EACY,IAATE,SAAS,GAAG;IAAA;;IACZ,OAAO,CAAC,eAAC,KAAKD,GAAN,2DAAC,UAAUpE,OAAX,8CAAC,kBAAmBiD,OAApB,CAAR;EACH;;EACc,IAAXqB,WAAW,GAAG;IAAA;;IACd,OAAO,CAAC,gBAAC,KAAKF,GAAN,6DAAC,WAAUpE,OAAX,+CAAC,mBAAmBkD,SAApB,CAAR;EACH;;EACa,IAAVqB,UAAU,GAAG;IAAA;;IACb,OAAO,CAAC,gBAAC,KAAKH,GAAN,6DAAC,WAAUpE,OAAX,+CAAC,mBAAmBgD,QAApB,CAAR;EACH;;EACU,IAAPjP,OAAO,GAAG;IAAA;;IACV,OAAO,CAAC,gBAAC,KAAKqQ,GAAN,6DAAC,WAAUpE,OAAX,+CAAC,mBAAmBroD,KAApB,CAAR;EACH;;EACU,IAAPv/F,OAAO,GAAG;IAAA;;IACV,OAAO,CAAC,gBAAC,KAAKgsJ,GAAN,6DAAC,WAAUpE,OAAX,+CAAC,mBAAmB6C,KAApB,CAAR;EACH;;EACY,IAAT2B,SAAS,GAAG;IAAA;;IACZ,OAAO,CAAC,gBAAC,KAAKJ,GAAN,6DAAC,WAAUpE,OAAX,+CAAC,mBAAmB8C,OAApB,CAAR;EACH;;EACY,IAAT2B,SAAS,GAAG;IAAA;;IACZ,OAAO,CAAC,gBAAC,KAAKL,GAAN,6DAAC,WAAUpE,OAAX,+CAAC,mBAAmBjZ,OAApB,CAAR;EACH;;EACc,IAAX2d,WAAW,GAAG;IAAA;;IACd;IACA;IACA,OAAO,CAAC,gBAAC,KAAKN,GAAN,uCAAC,WAAUO,SAAX,CAAR;EACH;;AA7BuB;;AA+B5B,MAAMC,mBAAmB,GAAG;EACxB,wBAAwB,aADA;EAExB,sBAAsB,WAFE;EAGxB,uBAAuB,YAHC;EAIxB,oBAAoB,SAJI;EAKxB,oBAAoB,SALI;EAMxB,sBAAsB,WANE;EAOxB,sBAAsB;AAPE,CAA5B;AASA,MAAMC,iBAAiB,GAAG,EACtB,GAAGD,mBADmB;EAEtB,wBAAwB;AAFF,CAA1B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAME,eAAN,SAA8BZ,qBAA9B,CAAoD;EAChD5/J,WAAW,CAAC6/J,EAAD,EAAK;IACZ,MAAMA,EAAN;EACH;;AAH+C;;AAKpDW,eAAe,CAACvgI,IAAhB;EAAA,iBAA4GugI,eAA5G,EAhyC2G9iI,+DAgyC3G,CAA6IgiI,SAA7I;AAAA;;AACAc,eAAe,CAACtlH,IAAhB,kBAjyC2Gxd,+DAiyC3G;EAAA,MAAgG8iI,eAAhG;EAAA;EAAA;EAAA;IAAA;MAjyC2G9iI,yDAiyC3G;IAAA;EAAA;EAAA,WAjyC2GA,wEAiyC3G;AAAA;;AACA;EAAA,mDAlyC2GA,+DAkyC3G,CAA2F8iI,eAA3F,EAAwH,CAAC;IAC7G3/J,IAAI,EAAE49B,oDADuG;IAE7Gp+B,IAAI,EAAE,CAAC;MAAEmjB,QAAQ,EAAE,2CAAZ;MAAyD2+D,IAAI,EAAEm+E;IAA/D,CAAD;EAFuG,CAAD,CAAxH,EAG4B,YAAY;IAAE,OAAO,CAAC;MAAEz/J,IAAI,EAAE6+J,SAAR;MAAmBv9H,UAAU,EAAE,CAAC;QAC9DthC,IAAI,EAAEo2E,+CAAIA;MADoD,CAAD;IAA/B,CAAD,CAAP;EAElB,CALxB;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMwpF,oBAAN,SAAmCb,qBAAnC,CAAyD;EACrD5/J,WAAW,CAAC6/J,EAAD,EAAK;IACZ,MAAMA,EAAN;EACH;;AAHoD;;AAKzDY,oBAAoB,CAACxgI,IAArB;EAAA,iBAAiHwgI,oBAAjH,EAzzC2G/iI,+DAyzC3G,CAAuJ8hI,gBAAvJ;AAAA;;AACAiB,oBAAoB,CAACvlH,IAArB,kBA1zC2Gxd,+DA0zC3G;EAAA,MAAqG+iI,oBAArG;EAAA;EAAA;EAAA;IAAA;MA1zC2G/iI,yDA0zC3G;IAAA;EAAA;EAAA,WA1zC2GA,wEA0zC3G;AAAA;;AACA;EAAA,mDA3zC2GA,+DA2zC3G,CAA2F+iI,oBAA3F,EAA6H,CAAC;IAClH5/J,IAAI,EAAE49B,oDAD4G;IAElHp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,0FADX;MAEC2+D,IAAI,EAAEo+E;IAFP,CAAD;EAF4G,CAAD,CAA7H,EAM4B,YAAY;IAAE,OAAO,CAAC;MAAE1/J,IAAI,EAAE2+J,gBAAR;MAA0Br9H,UAAU,EAAE,CAAC;QACrEthC,IAAI,EAAEk9B,mDAAQA;MADuD,CAAD,EAErE;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAFqE;IAAtC,CAAD,CAAP;EAIlB,CAVxB;AAAA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMypF,sBAAsB,GAAI;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MATA;AAUA,MAAMC,oBAAoB,GAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAXA;AAYA,MAAMC,oBAAoB,GAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAdA;AAeA,MAAMC,mBAAmB,GAAI;AAC7B;AACA;AACA;AACA;AACA,UALA;AAMA,MAAMC,2BAA2B,GAAI;AACrC;AACA;AACA;AACA;AACA,CALA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,sBAAT,GAAkC;EAC9B,OAAO,IAAIniI,2DAAJ,CAAkB;EAAK;EAAvB,EAAiF;AAC5F;AACA;AACA;AACA;AACA,MAAM8hI,sBAAuB,EALlB,CAAP;AAMH;;AACD,SAASM,qBAAT,GAAiC;EAC7B,OAAO,IAAIpiI,2DAAJ,CAAkB;EAAK;EAAvB,EAAqF;AAChG;AACA;AACA;AACA;AACA,QAAQ+hI,oBAAqB;AAC7B;AACA;AACA;AACA,QAAQE,mBAAoB,EATjB,CAAP;AAUH;;AACD,SAASI,oBAAT,GAAgC;EAC5B,OAAO,IAAIriI,2DAAJ,CAAkB;EAAK;EAAvB,EAA4E;AACvF;AACA;AACA;AACA,QAAQ8hI,sBAAuB,EAJpB,CAAP;AAKH;;AACD,SAASQ,oBAAT,GAAgC;EAC5B,OAAO,IAAItiI,2DAAJ,CAAkB;EAAK;EAAvB,EAA+E;AAC1F;AACA;AACA;AACA;AACA,MAAM+hI,oBAAqB,EALhB,CAAP;AAMH;;AACD,SAASQ,oBAAT,GAAgC;EAC5B,OAAO,IAAIviI,2DAAJ,CAAkB;EAAK;EAAvB,EAA+E;AAC1F;AACA;AACA;AACA;AACA,QAAQgiI,oBAAqB,EALlB,CAAP;AAMH;;AACD,MAAMQ,mBAAmB,GAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAVA;AAWA,MAAMC,qCAAqC,GAAI;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAdA;;AAeA,SAASC,cAAT,CAAwB9/G,aAAxB,EAAuC;EACnC,OAAQ;AACZ,iEAAiEA,aAAc;AAC/E;AACA;AACA;AACA;AACA;AACA,iCAAiCA,aAAa,KAAK,aAAlB,GAAkC,sBAAlC,GAA2D,iBAAkB;AAC9G,GARI;AASH;;AACD,SAAS+/G,WAAT,CAAqBC,WAArB,EAAkCx/J,GAAlC,EAAuC;EACnC,OAAOw/J,WAAW,GAAI,eAAcx/J,GAAI,GAAtB,GAA4B,aAAYA,GAAI,EAA9D;AACH;;AACD,SAASy/J,eAAT,CAAyBD,WAAzB,EAAsC;EAClC,OAAQ;AACZ,sDAAsDA,WAAW,GAAG,OAAH,GAAa,OAAQ;AACtF;AACA,GAHI;AAIH;;AACD,SAASE,mBAAT,CAA6BF,WAA7B,EAA0Cx/J,GAA1C,EAA+C;EAC3C,OAAQ,4BAA2Bu/J,WAAW,CAACC,WAAD,EAAcx/J,GAAd,CAAmB,EAAjE;AACH;;AACD,SAAS2/J,wBAAT,CAAkCH,WAAlC,EAA+Cx/J,GAA/C,EAAoD;EAChD,OAAQ,wCAAuCu/J,WAAW,CAACC,WAAD,EAAcx/J,GAAd,CAAmB,EAA7E;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM06C,WAAW,GAAG,OAAOC,SAAP,KAAqB,WAArB,IAAoC,CAAC,CAACA,SAA1D;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMilH,KAAK,GAAG,OAAd;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,OAAO,GAAG,SAAhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,OAAO,GAAG,SAAhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,QAAQ,GAAG,UAAjB;AACA;AACA;AACA;;AACA,SAASC,cAAT,CAAwBC,eAAxB,EAAyC;EACrC,OAAO,CAACC,YAAY,CAACD,eAAD,CAAZ,GAAgCA,eAAe,CAAC1F,UAAhD,GAA6D0F,eAA9D,KAAkF,IAAzF;AACH;AACD;AACA;AACA;;;AACA,SAASE,iBAAT,CAA2BnF,SAA3B,EAAsC;EAClC,OAAO7/J,KAAK,CAACC,OAAN,CAAc4/J,SAAd,IAA2BK,iBAAiB,CAACL,SAAD,CAA5C,GAA0DA,SAAS,IAAI,IAA9E;AACH;AACD;AACA;AACA;;;AACA,SAASoF,mBAAT,CAA6BjD,cAA7B,EAA6C8C,eAA7C,EAA8D;EAC1D,IAAI,OAAOtlH,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;IAC/C,IAAIulH,YAAY,CAACD,eAAD,CAAZ,IAAiC9C,cAArC,EAAqD;MACjD5gK,OAAO,CAACC,IAAR,CAAa6iK,qCAAb;IACH;EACJ;;EACD,OAAO,CAACa,YAAY,CAACD,eAAD,CAAZ,GAAgCA,eAAe,CAACI,eAAhD,GAAkElD,cAAnE,KAAsF,IAA7F;AACH;AACD;AACA;AACA;;;AACA,SAASmD,sBAAT,CAAgCnD,cAAhC,EAAgD;EAC5C,OAAOhiK,KAAK,CAACC,OAAN,CAAc+hK,cAAd,IAAgC7B,sBAAsB,CAAC6B,cAAD,CAAtD,GACHA,cAAc,IAAI,IADtB;AAEH;;AACD,SAAS+C,YAAT,CAAsBD,eAAtB,EAAuC;EACnC,OAAOA,eAAe,IAAI,IAAnB,IAA2B,CAAC9kK,KAAK,CAACC,OAAN,CAAc6kK,eAAd,CAA5B,IACH,OAAOA,eAAP,KAA2B,QAD/B;AAEH;;AACD,SAASM,oBAAT,CAA8BphK,MAA9B,EAAsCqhK,OAAtC,EAA+CxgK,GAA/C,EAAoD;EAChD,MAAMygK,QAAQ,GAAGthK,MAAM,CAACshK,QAAxB;EACA,MAAM1T,UAAU,GAAGyT,OAAO,GAAG5jK,MAAM,CAACW,IAAP,CAAYkjK,QAAZ,CAAH,GAA2BA,QAArD;;EACA,IAAI,CAAC1T,UAAU,CAACrxJ,MAAhB,EAAwB;IACpB,MAAM,IAAIkhC,2DAAJ,CAAkB;IAAK;IAAvB,EAA2D8d,WAAW,GAAG+kH,eAAe,CAACe,OAAD,CAAlB,GAA8B,EAApG,CAAN;EACH;;EACD,IAAI,CAACC,QAAQ,CAACzgK,GAAD,CAAb,EAAoB;IAChB,MAAM,IAAI48B,2DAAJ,CAAkB;IAAK;IAAvB,EAA+D8d,WAAW,GAAGglH,mBAAmB,CAACc,OAAD,EAAUxgK,GAAV,CAAtB,GAAuC,EAAjH,CAAN;EACH;AACJ;;AACD,SAAS0gK,sBAAT,CAAgChH,OAAhC,EAAyC8G,OAAzC,EAAkDtyJ,KAAlD,EAAyD;EACrDwrJ,OAAO,CAACiH,aAAR,CAAsB,CAACthG,CAAD,EAAIr/D,GAAJ,KAAY;IAC9B,IAAIkO,KAAK,CAAClO,GAAD,CAAL,KAAe/F,SAAnB,EAA8B;MAC1B,MAAM,IAAI2iC,2DAAJ,CAAkB;MAAK;MAAvB,EAAqE8d,WAAW,GAAGilH,wBAAwB,CAACa,OAAD,EAAUxgK,GAAV,CAA3B,GAA4C,EAA5H,CAAN;IACH;EACJ,CAJD;AAKH,EACD;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM4gK,eAAN,CAAsB;EAClB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACI5iK,WAAW,CAACu8J,UAAD,EAAa8F,eAAb,EAA8B;IACrC;IACA,KAAKQ,aAAL,GAAqB,KAArB;IACA;AACR;AACA;AACA;AACA;;IACQ,KAAKC,4BAAL,GAAoC,KAApC;IACA;;IACA,KAAKC,eAAL,GAAuB,KAAvB;IACA;;IACA,KAAKC,mBAAL,GAA2B,MAAM,CAAG,CAApC;;IACA,KAAKz3D,OAAL,GAAe,IAAf;IACA;AACR;AACA;AACA;AACA;AACA;AACA;;IACQ,KAAKmzD,QAAL,GAAgB,IAAhB;IACA;AACR;AACA;AACA;AACA;AACA;;IACQ,KAAKC,OAAL,GAAe,KAAf;IACA;;IACA,KAAKsE,iBAAL,GAAyB,EAAzB;IACA,KAAKtF,cAAL,GAAsBpB,UAAtB;IACA,KAAKsB,mBAAL,GAA2BwE,eAA3B;IACA,KAAKrD,oBAAL,GAA4BmD,iBAAiB,CAAC,KAAKxE,cAAN,CAA7C;IACA,KAAKuB,yBAAL,GAAiCoD,sBAAsB,CAAC,KAAKzE,mBAAN,CAAvD;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACiB,IAATb,SAAS,GAAG;IACZ,OAAO,KAAKgC,oBAAZ;EACH;;EACY,IAAThC,SAAS,CAACkG,WAAD,EAAc;IACvB,KAAKvF,cAAL,GAAsB,KAAKqB,oBAAL,GAA4BkE,WAAlD;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACsB,IAAd/D,cAAc,GAAG;IACjB,OAAO,KAAKD,yBAAZ;EACH;;EACiB,IAAdC,cAAc,CAACgE,gBAAD,EAAmB;IACjC,KAAKtF,mBAAL,GAA2B,KAAKqB,yBAAL,GAAiCiE,gBAA5D;EACH;EACD;AACJ;AACA;;;EACc,IAANhiK,MAAM,GAAG;IACT,OAAO,KAAKoqG,OAAZ;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACa,IAALgzD,KAAK,GAAG;IACR,OAAO,KAAKxuG,MAAL,KAAgB6xG,KAAvB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACe,IAAPpD,OAAO,GAAG;IACV,OAAO,KAAKzuG,MAAL,KAAgB8xG,OAAvB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACe,IAAPpf,OAAO,GAAG;IACV,OAAO,KAAK1yF,MAAL,IAAe+xG,OAAtB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACgB,IAARrD,QAAQ,GAAG;IACX,OAAO,KAAK1uG,MAAL,KAAgBgyG,QAAvB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACe,IAAPrnH,OAAO,GAAG;IACV,OAAO,KAAKqV,MAAL,KAAgBgyG,QAAvB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACa,IAAL1uD,KAAK,GAAG;IACR,OAAO,CAAC,KAAKqrD,QAAb;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACiB,IAATE,SAAS,GAAG;IACZ,OAAO,CAAC,KAAKD,OAAb;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACgB,IAARyE,QAAQ,GAAG;IACX,OAAO,KAAKC,SAAL,GAAiB,KAAKA,SAAtB,GAAmC,KAAKliK,MAAL,GAAc,KAAKA,MAAL,CAAYiiK,QAA1B,GAAqC,QAA/E;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIE,aAAa,CAAC/G,UAAD,EAAa;IACtB,KAAKoB,cAAL,GAAsBpB,UAAtB;IACA,KAAKyC,oBAAL,GAA4BmD,iBAAiB,CAAC5F,UAAD,CAA7C;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIgH,kBAAkB,CAAChH,UAAD,EAAa;IAC3B,KAAKsB,mBAAL,GAA2BtB,UAA3B;IACA,KAAK2C,yBAAL,GAAiCoD,sBAAsB,CAAC/F,UAAD,CAAvD;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI0B,aAAa,CAAC1B,UAAD,EAAa;IACtB,KAAK+G,aAAL,CAAmBrF,aAAa,CAAC1B,UAAD,EAAa,KAAKoB,cAAlB,CAAhC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI6F,kBAAkB,CAACjH,UAAD,EAAa;IAC3B,KAAKgH,kBAAL,CAAwBtF,aAAa,CAAC1B,UAAD,EAAa,KAAKsB,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;;;EACIO,gBAAgB,CAAC7B,UAAD,EAAa;IACzB,KAAK+G,aAAL,CAAmBlF,gBAAgB,CAAC7B,UAAD,EAAa,KAAKoB,cAAlB,CAAnC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI8F,qBAAqB,CAAClH,UAAD,EAAa;IAC9B,KAAKgH,kBAAL,CAAwBnF,gBAAgB,CAAC7B,UAAD,EAAa,KAAKsB,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,CAACf,SAAD,EAAY;IACpB,OAAOe,YAAY,CAAC,KAAKJ,cAAN,EAAsBX,SAAtB,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI0G,iBAAiB,CAAC1G,SAAD,EAAY;IACzB,OAAOe,YAAY,CAAC,KAAKF,mBAAN,EAA2Bb,SAA3B,CAAnB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI2G,eAAe,GAAG;IACd,KAAK3G,SAAL,GAAiB,IAAjB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI4G,oBAAoB,GAAG;IACnB,KAAKzE,cAAL,GAAsB,IAAtB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;EACI0E,aAAa,CAACjpG,IAAI,GAAG,EAAR,EAAY;IACrB,KAAK+jG,OAAL,GAAe,IAAf;;IACA,IAAI,KAAKpzD,OAAL,IAAgB,CAAC3wC,IAAI,CAACkpG,QAA1B,EAAoC;MAChC,KAAKv4D,OAAL,CAAas4D,aAAb,CAA2BjpG,IAA3B;IACH;EACJ;EACD;AACJ;AACA;AACA;;;EACImpG,gBAAgB,GAAG;I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CH;EACD;;;EACAJ,KAAK,CAAC5nK,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqoK,SAAN,SAAwBxD,eAAxB,CAAwC;EACpC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACI5iK,WAAW,CAACyiK,QAAD,EAAWR,eAAX,EAA4B9C,cAA5B,EAA4C;IACnD,MAAM6C,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAACjD,cAAD,EAAiB8C,eAAjB,CAA1D;IACA,KAAKQ,QAAL,GAAgBA,QAAhB;;IACA,KAAKmD,gBAAL;;IACA,KAAKM,kBAAL,CAAwBjE,eAAxB;;IACA,KAAKoE,cAAL;;IACA,KAAKzB,sBAAL,CAA4B;MACxBd,QAAQ,EAAE,IADc;MAExB;MACA;MACA;MACAQ,SAAS,EAAE,CAAC,CAAC,KAAKnF;IALM,CAA5B;EAOH;;EACDmH,eAAe,CAACvoK,IAAD,EAAO29J,OAAP,EAAgB;IAC3B,IAAI,KAAK+G,QAAL,CAAc1k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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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMixJ,OAAN,SAAsBhN,SAAtB,CAAgC;EAC5B1/J,WAAW,CAACmB,MAAD,EAASo7J,UAAT,EAAqB8F,eAArB,EAAsCwH,cAAtC,EAAsD8C,kBAAtD,EAA0E;IACjF;IACA,KAAKA,kBAAL,GAA0BA,kBAA1B;IACA,KAAKjR,OAAL,GAAe,IAAI+P,WAAJ,EAAf;IACA;;IACA,KAAKmB,WAAL,GAAmB,KAAnB;IACA;AACR;AACA;AACA;AACA;;IACQ,KAAKt8J,MAAL,GAAc,IAAI0tB,uDAAJ,EAAd;IACA,KAAKutE,OAAL,GAAepqG,MAAf;;IACA,KAAK49J,cAAL,CAAoBxC,UAApB;;IACA,KAAK0C,mBAAL,CAAyBoD,eAAzB;;IACA,KAAK1C,aAAL,GAAqBiK,mBAAmB,CAAC,IAAD,EAAOC,cAAP,CAAxC;EACH;EACD;;;EACAtuH,WAAW,CAACvB,OAAD,EAAU;IACjB,KAAK6yH,eAAL;;IACA,IAAI,CAAC,KAAKD,WAAN,IAAqB,UAAU5yH,OAAnC,EAA4C;MACxC,IAAI,KAAK4yH,WAAT,EAAsB;QAClB,KAAKE,UAAL;;QACA,IAAI,KAAKrN,aAAT,EAAwB;UACpB;UACA;UACA;UACA;UACA,MAAMsN,OAAO,GAAG/yH,OAAO,CAAC,MAAD,CAAP,CAAgBO,aAAhC;UACA,KAAKklH,aAAL,CAAmB+G,aAAnB,CAAiC;YAAEzoK,IAAI,EAAEgvK,OAAR;YAAiBrpI,IAAI,EAAE,KAAKspI,QAAL,CAAcD,OAAd;UAAvB,CAAjC;QACH;MACJ;;MACD,KAAKE,aAAL;IACH;;IACD,IAAI,gBAAgBjzH,OAApB,EAA6B;MACzB,KAAKkzH,eAAL,CAAqBlzH,OAArB;IACH;;IACD,IAAIwvH,iBAAiB,CAACxvH,OAAD,EAAU,KAAKyvH,SAAf,CAArB,EAAgD;MAC5C,KAAKhF,YAAL,CAAkB,KAAK0I,KAAvB;;MACA,KAAK1D,SAAL,GAAiB,KAAK0D,KAAtB;IACH;EACJ;EACD;;;EACA5pI,WAAW,GAAG;IACV,KAAKk8H,aAAL,IAAsB,KAAKA,aAAL,CAAmB+G,aAAnB,CAAiC,IAAjC,CAAtB;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACY,IAAJ9iI,IAAI,GAAG;IACP,OAAO,KAAKspI,QAAL,CAAc,KAAKjvK,IAAnB,CAAP;EACH;EACD;AACJ;AACA;AACA;;;EACqB,IAAb0hK,aAAa,GAAG;IAChB,OAAO,KAAKl0D,OAAL,GAAe,KAAKA,OAAL,CAAak0D,aAA5B,GAA4C,IAAnD;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIsJ,iBAAiB,CAACtoH,QAAD,EAAW;IACxB,KAAKgpH,SAAL,GAAiBhpH,QAAjB;IACA,KAAKnwC,MAAL,CAAYtJ,IAAZ,CAAiBy5C,QAAjB;EACH;;EACDwsH,aAAa,GAAG;IACZ,KAAK/G,kBAAL;;IACA,KAAKkH,aAAL,KAAuB,KAAKC,gBAAL,EAAvB,GAAiD,KAAK5N,aAAL,CAAmB8G,UAAnB,CAA8B,IAA9B,CAAjD;IACA,KAAKqG,WAAL,GAAmB,IAAnB;EACH;;EACD1G,kBAAkB,GAAG;IACjB,IAAI,KAAK9gK,OAAL,IAAgB,KAAKA,OAAL,CAAag+J,QAAb,IAAyB,IAA7C,EAAmD;MAC/C,KAAK1H,OAAL,CAAa2H,SAAb,GAAyB,KAAKj+J,OAAL,CAAag+J,QAAtC;IACH;EACJ;;EACDgK,aAAa,GAAG;IACZ,OAAO,CAAC,KAAK7hE,OAAN,IAAiB,CAAC,EAAE,KAAKnmG,OAAL,IAAgB,KAAKA,OAAL,CAAa+1C,UAA/B,CAAzB;EACH;;EACDkyH,gBAAgB,GAAG;IACf7F,YAAY,CAAC,KAAK9L,OAAN,EAAe,IAAf,CAAZ;IACA,KAAKA,OAAL,CAAakJ,sBAAb,CAAoC;MAAEN,SAAS,EAAE;IAAb,CAApC;EACH;;EACDuI,eAAe,GAAG;IACd,IAAI,CAAC,KAAKO,aAAL,EAAL,EAA2B;MACvB,KAAKlB,gBAAL;IACH;;IACD,KAAKY,UAAL;EACH;;EACDZ,gBAAgB,GAAG;IACf,IAAI,OAAOvvH,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;MAC/C,IAAI,EAAE,KAAK4uD,OAAL,YAAwBihE,YAA1B,KACA,KAAKjhE,OAAL,YAAwB0gE,0BAD5B,EACwD;QACpD,MAAMG,sBAAsB,EAA5B;MACH,CAHD,MAIK,IAAI,EAAE,KAAK7gE,OAAL,YAAwBihE,YAA1B,KAA2C,EAAE,KAAKjhE,OAAL,YAAwBg/D,MAA1B,CAA/C,EAAkF;QACnF,MAAM4B,oBAAoB,EAA1B;MACH;IACJ;EACJ;;EACDW,UAAU,GAAG;IACT,IAAI,KAAK1nK,OAAL,IAAgB,KAAKA,OAAL,CAAarH,IAAjC,EACI,KAAKA,IAAL,GAAY,KAAKqH,OAAL,CAAarH,IAAzB;;IACJ,IAAI,CAAC,KAAKqvK,aAAL,EAAD,IAAyB,CAAC,KAAKrvK,IAA/B,KAAwC,OAAO4+C,SAAP,KAAqB,WAArB,IAAoCA,SAA5E,CAAJ,EAA4F;MACxF,MAAM0vH,oBAAoB,EAA1B;IACH;EACJ;;EACD5H,YAAY,CAACv0J,KAAD,EAAQ;IAChBiiD,eAAe,CAACvoC,IAAhB,CAAqB,MAAM;MAAA;;MACvB,KAAK8xI,OAAL,CAAav+D,QAAb,CAAsBjtF,KAAtB,EAA6B;QAAE47J,qBAAqB,EAAE;MAAzB,CAA7B;MACA,8BAAKa,kBAAL,gFAAyBloH,YAAzB;IACH,CAHD;EAIH;;EACDyoH,eAAe,CAAClzH,OAAD,EAAU;IACrB,MAAMszH,aAAa,GAAGtzH,OAAO,CAAC,YAAD,CAAP,CAAsBI,YAA5C,CADqB,CAErB;;IACA,MAAM2/G,UAAU,GAAGuT,aAAa,KAAK,CAAlB,IAAuB9W,kEAAgB,CAAC8W,aAAD,CAA1D;IACAn7G,eAAe,CAACvoC,IAAhB,CAAqB,MAAM;MAAA;;MACvB,IAAImwI,UAAU,IAAI,CAAC,KAAK2B,OAAL,CAAa+C,QAAhC,EAA0C;QACtC,KAAK/C,OAAL,CAAaruI,OAAb;MACH,CAFD,MAGK,IAAI,CAAC0sI,UAAD,IAAe,KAAK2B,OAAL,CAAa+C,QAAhC,EAA0C;QAC3C,KAAK/C,OAAL,CAAal2J,MAAb;MACH;;MACD,+BAAKmnK,kBAAL,kFAAyBloH,YAAzB;IACH,CARD;EASH;;EACDuoH,QAAQ,CAACrG,WAAD,EAAc;IAClB,OAAO,KAAKp7D,OAAL,GAAeg8D,WAAW,CAACZ,WAAD,EAAc,KAAKp7D,OAAnB,CAA1B,GAAwD,CAACo7D,WAAD,CAA/D;EACH;;AAvI2B;;AAyIhC+F,OAAO,CAACzsI,IAAR;EAAA,iBAAoGysI,OAApG,EA1+H2GhvI,+DA0+H3G,CAA6H8hI,gBAA7H,MA1+H2G9hI,+DA0+H3G,CAAsLy9H,aAAtL,OA1+H2Gz9H,+DA0+H3G,CAA4O09H,mBAA5O,OA1+H2G19H,+DA0+H3G,CAAwSu8H,iBAAxS,OA1+H2Gv8H,+DA0+H3G,CAAkWgnB,4DAAlW;AAAA;;AACAgoH,OAAO,CAACxxH,IAAR,kBA3+H2Gxd,+DA2+H3G;EAAA,MAAwFgvI,OAAxF;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA;EAAA,WA3+H2GhvI,gEA2+H3G,CAA0V,CAAC+uI,oBAAD,CAA1V,GA3+H2G/uI,wEA2+H3G,EA3+H2GA,kEA2+H3G;AAAA;;AACA;EAAA,mDA5+H2GA,+DA4+H3G,CAA2FgvI,OAA3F,EAAgH,CAAC;IACrG7rK,IAAI,EAAE49B,oDAD+F;IAErGp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,qDADX;MAEC+yC,SAAS,EAAE,CAACk2G,oBAAD,CAFZ;MAGClsG,QAAQ,EAAE;IAHX,CAAD;EAF+F,CAAD,CAAhH,EAO4B,YAAY;IAAE,OAAO,CAAC;MAAE1/D,IAAI,EAAE2+J,gBAAR;MAA0Br9H,UAAU,EAAE,CAAC;QACrEthC,IAAI,EAAEk9B,mDAAQA;MADuD,CAAD,EAErE;QACCl9B,IAAI,EAAEg+B,+CAAIA;MADX,CAFqE;IAAtC,CAAD,EAI3B;MAAEh+B,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAFkC,EAIlC;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC86J,aAAD;MAFP,CAJkC;IAA/B,CAJ2B,EAW3B;MAAEt6J,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAFkC,EAIlC;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC+6J,mBAAD;MAFP,CAJkC;IAA/B,CAX2B,EAkB3B;MAAEv6J,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAFkC,EAIlC;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC45J,iBAAD;MAFP,CAJkC;IAA/B,CAlB2B,EAyB3B;MAAEp5J,IAAI,EAAE68B,4DAAR;MAA8ByE,UAAU,EAAE,CAAC;QAC7CthC,IAAI,EAAEk9B,mDAAQA;MAD+B,CAAD,EAE7C;QACCl9B,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAACqkD,4DAAD;MAFP,CAF6C;IAA1C,CAzB2B,CAAP;EA8BlB,CArCxB,EAqC0C;IAAE3mD,IAAI,EAAE,CAAC;MACnC8C,IAAI,EAAEmE,gDAAKA;IADwB,CAAD,CAAR;IAE1B+0J,UAAU,EAAE,CAAC;MACbl5J,IAAI,EAAEmE,gDADO;MAEb3E,IAAI,EAAE,CAAC,UAAD;IAFO,CAAD,CAFc;IAK1B8sK,KAAK,EAAE,CAAC;MACRtsK,IAAI,EAAEmE,gDADE;MAER3E,IAAI,EAAE,CAAC,SAAD;IAFE,CAAD,CALmB;IAQ1B+E,OAAO,EAAE,CAAC;MACVvE,IAAI,EAAEmE,gDADI;MAEV3E,IAAI,EAAE,CAAC,gBAAD;IAFI,CAAD,CARiB;IAW1BiQ,MAAM,EAAE,CAAC;MACTzP,IAAI,EAAEq5I,iDADG;MAET75I,IAAI,EAAE,CAAC,eAAD;IAFG,CAAD;EAXkB,CArC1C;AAAA;AAqDA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMktK,aAAN,CAAoB;;AAEpBA,aAAa,CAACttI,IAAd;EAAA,iBAA0GstI,aAA1G;AAAA;;AACAA,aAAa,CAACryH,IAAd,kBA5jI2Gxd,+DA4jI3G;EAAA,MAA8F6vI,aAA9F;EAAA;EAAA,0BAA2M,EAA3M;AAAA;;AACA;EAAA,mDA7jI2G7vI,+DA6jI3G,CAA2F6vI,aAA3F,EAAsH,CAAC;IAC3G1sK,IAAI,EAAE49B,oDADqG;IAE3Gp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,8CADX;MAEC2+D,IAAI,EAAE;QAAE,cAAc;MAAhB;IAFP,CAAD;EAFqG,CAAD,CAAtH;AAAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqrF,qBAAqB,GAAG;EAC1Bh3G,OAAO,EAAEyjG,iBADiB;EAE1BrjG,WAAW,EAAEe,yDAAU,CAAC,MAAM81G,mBAAP,CAFG;EAG1B52G,KAAK,EAAE;AAHmB,CAA9B;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM42G,mBAAN,SAAkCzT,2BAAlC,CAA8D;EAC1D;AACJ;AACA;AACA;EACII,UAAU,CAAClqJ,KAAD,EAAQ;IACd;IACA,MAAM0qJ,eAAe,GAAG1qJ,KAAK,IAAI,IAAT,GAAgB,EAAhB,GAAqBA,KAA7C;IACA,KAAK2jE,WAAL,CAAiB,OAAjB,EAA0B+mF,eAA1B;EACH;EACD;AACJ;AACA;AACA;;;EACIf,gBAAgB,CAACj9J,EAAD,EAAK;IACjB,KAAK88J,QAAL,GAAiBxpJ,KAAD,IAAW;MACvBtT,EAAE,CAACsT,KAAK,IAAI,EAAT,GAAc,IAAd,GAAqBye,UAAU,CAACze,KAAD,CAAhC,CAAF;IACH,CAFD;EAGH;;AAlByD;;AAoB9Du9J,mBAAmB,CAACxtI,IAApB;EAAA;EAAA;IAAA,gFA7nI2GvC,mEA6nI3G,CAAgH+vI,mBAAhH,SAAgHA,mBAAhH;EAAA;AAAA;;AACAA,mBAAmB,CAACvyH,IAApB,kBA9nI2Gxd,+DA8nI3G;EAAA,MAAoG+vI,mBAApG;EAAA;EAAA;IAAA;MA9nI2G/vI,wDA8nI3G;QAAA,OAAoG,iCAApG;MAAA;QAAA,OAAoG,eAApG;MAAA;IAAA;EAAA;EAAA,WA9nI2GA,gEA8nI3G,CAA2U,CAAC8vI,qBAAD,CAA3U,GA9nI2G9vI,wEA8nI3G;AAAA;;AACA;EAAA,mDA/nI2GA,+DA+nI3G,CAA2F+vI,mBAA3F,EAA4H,CAAC;IACjH5sK,IAAI,EAAE49B,oDAD2G;IAEjHp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,iGADX;MAEC2+D,IAAI,EAAE;QAAE,WAAW,+BAAb;QAA8C,UAAU;MAAxD,CAFP;MAGC5rB,SAAS,EAAE,CAACi3G,qBAAD;IAHZ,CAAD;EAF2G,CAAD,CAA5H;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,oBAAoB,GAAG;EACzBl3G,OAAO,EAAEyjG,iBADgB;EAEzBrjG,WAAW,EAAEe,yDAAU,CAAC,MAAMg2G,yBAAP,CAFE;EAGzB92G,KAAK,EAAE;AAHkB,CAA7B;;AAKA,SAAS+2G,cAAT,GAA0B;EACtB,MAAM,IAAIhvI,2DAAJ,CAAkB;EAAK;EAAvB,EAAsF;AAChG;AACA;AACA,KAHU,CAAN;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMivI,0BAAN,CAAiC;;AAEjCA,0BAA0B,CAAC5tI,IAA3B;EAAA,iBAAuH4tI,0BAAvH;AAAA;;AACAA,0BAA0B,CAACvmH,IAA3B,kBAnqI2G5pB,8DAmqI3G;EAAA,MAAwHmwI;AAAxH;AACAA,0BAA0B,CAACtmH,IAA3B,kBApqI2G7pB,8DAoqI3G;;AACA;EAAA,mDArqI2GA,+DAqqI3G,CAA2FmwI,0BAA3F,EAAmI,CAAC;IACxHhtK,IAAI,EAAEu+B,mDAAQA;EAD0G,CAAD,CAAnI;AAAA;AAGA;AACA;AACA;AACA;;;AACA,MAAM0uI,oBAAN,CAA2B;EACvB9tK,WAAW,GAAG;IACV,KAAK+tK,UAAL,GAAkB,EAAlB;EACH;EACD;AACJ;AACA;AACA;;;EACIh3J,GAAG,CAAC2kJ,OAAD,EAAUsS,QAAV,EAAoB;IACnB,KAAKD,UAAL,CAAgB3rK,IAAhB,CAAqB,CAACs5J,OAAD,EAAUsS,QAAV,CAArB;EACH;EACD;AACJ;AACA;AACA;;;EACI32J,MAAM,CAAC22J,QAAD,EAAW;IACb,KAAK,IAAIxwK,CAAC,GAAG,KAAKuwK,UAAL,CAAgBrwK,MAAhB,GAAyB,CAAtC,EAAyCF,CAAC,IAAI,CAA9C,EAAiD,EAAEA,CAAnD,EAAsD;MAClD,IAAI,KAAKuwK,UAAL,CAAgBvwK,CAAhB,EAAmB,CAAnB,MAA0BwwK,QAA9B,EAAwC;QACpC,KAAKD,UAAL,CAAgB1hK,MAAhB,CAAuB7O,CAAvB,EAA0B,CAA1B;;QACA;MACH;IACJ;EACJ;EACD;AACJ;AACA;AACA;;;EACIywK,MAAM,CAACD,QAAD,EAAW;IACb,KAAKD,UAAL,CAAgBtwK,OAAhB,CAAyB2yB,CAAD,IAAO;MAC3B,IAAI,KAAK89I,YAAL,CAAkB99I,CAAlB,EAAqB49I,QAArB,KAAkC59I,CAAC,CAAC,CAAD,CAAD,KAAS49I,QAA/C,EAAyD;QACrD59I,CAAC,CAAC,CAAD,CAAD,CAAK+9I,WAAL,CAAiBH,QAAQ,CAAC99J,KAA1B;MACH;IACJ,CAJD;EAKH;;EACDg+J,YAAY,CAACE,WAAD,EAAcJ,QAAd,EAAwB;IAChC,IAAI,CAACI,WAAW,CAAC,CAAD,CAAX,CAAe1S,OAApB,EACI,OAAO,KAAP;IACJ,OAAO0S,WAAW,CAAC,CAAD,CAAX,CAAe7iE,OAAf,KAA2ByiE,QAAQ,CAACK,QAAT,CAAkB9iE,OAA7C,IACH6iE,WAAW,CAAC,CAAD,CAAX,CAAerwK,IAAf,KAAwBiwK,QAAQ,CAACjwK,IADrC;EAEH;;AAvCsB;;AAyC3B+vK,oBAAoB,CAAC7tI,IAArB;EAAA,iBAAiH6tI,oBAAjH;AAAA;;AACAA,oBAAoB,CAAC5tI,KAArB,kBAttI2GxC,gEAstI3G;EAAA,OAAqHowI,oBAArH;EAAA,SAAqHA,oBAArH;EAAA,YAAuJD;AAAvJ;;AACA;EAAA,mDAvtI2GnwI,+DAutI3G,CAA2FowI,oBAA3F,EAA6H,CAAC;IAClHjtK,IAAI,EAAE+8B,qDAD4G;IAElHv9B,IAAI,EAAE,CAAC;MAAE+/B,UAAU,EAAEytI;IAAd,CAAD;EAF4G,CAAD,CAA7H;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMF,yBAAN,SAAwC3T,2BAAxC,CAAoE;EAChEh6J,WAAW,CAACuzE,QAAD,EAAW25D,UAAX,EAAuBohC,SAAvB,EAAkC3nC,SAAlC,EAA6C;IACpD,MAAMpzD,QAAN,EAAgB25D,UAAhB;IACA,KAAKohC,SAAL,GAAiBA,SAAjB;IACA,KAAK3nC,SAAL,GAAiBA,SAAjB;IACA;AACR;AACA;AACA;AACA;AACA;AACA;;IACQ,KAAK+yB,QAAL,GAAgB,MAAM,CAAG,CAAzB;EACH;EACD;;;EACArpF,QAAQ,GAAG;IACP,KAAKg+F,QAAL,GAAgB,KAAK1nC,SAAL,CAAelzH,GAAf,CAAmBisJ,SAAnB,CAAhB;;IACA,KAAKoN,UAAL;;IACA,KAAKwB,SAAL,CAAev3J,GAAf,CAAmB,KAAKs3J,QAAxB,EAAkC,IAAlC;EACH;EACD;;;EACA9qI,WAAW,GAAG;IACV,KAAK+qI,SAAL,CAAej3J,MAAf,CAAsB,IAAtB;EACH;EACD;AACJ;AACA;AACA;;;EACI+iJ,UAAU,CAAClqJ,KAAD,EAAQ;IACd,KAAKq+J,MAAL,GAAcr+J,KAAK,KAAK,KAAKA,KAA7B;IACA,KAAK2jE,WAAL,CAAiB,SAAjB,EAA4B,KAAK06F,MAAjC;EACH;EACD;AACJ;AACA;AACA;;;EACI1U,gBAAgB,CAACj9J,EAAD,EAAK;IACjB,KAAK4xK,GAAL,GAAW5xK,EAAX;;IACA,KAAK88J,QAAL,GAAgB,MAAM;MAClB98J,EAAE,CAAC,KAAKsT,KAAN,CAAF;;MACA,KAAKo+J,SAAL,CAAeL,MAAf,CAAsB,IAAtB;IACH,CAHD;EAIH;EACD;AACJ;AACA;AACA;AACA;;;EACIE,WAAW,CAACj+J,KAAD,EAAQ;IACf,KAAKkqJ,UAAL,CAAgBlqJ,KAAhB;EACH;;EACD48J,UAAU,GAAG;IACT,IAAI,KAAK/uK,IAAL,IAAa,KAAK0wK,eAAlB,IAAqC,KAAK1wK,IAAL,KAAc,KAAK0wK,eAAxD,KACC,OAAO9xH,SAAP,KAAqB,WAArB,IAAoCA,SADrC,CAAJ,EACqD;MACjDixH,cAAc;IACjB;;IACD,IAAI,CAAC,KAAK7vK,IAAN,IAAc,KAAK0wK,eAAvB,EACI,KAAK1wK,IAAL,GAAY,KAAK0wK,eAAjB;EACP;;AA1D+D;;AA4DpEd,yBAAyB,CAAC1tI,IAA1B;EAAA,iBAAsH0tI,yBAAtH,EA3yI2GjwI,+DA2yI3G,CAAiKA,oDAAjK,GA3yI2GA,+DA2yI3G,CAA0LA,qDAA1L,GA3yI2GA,+DA2yI3G,CAAoNowI,oBAApN,GA3yI2GpwI,+DA2yI3G,CAAqPA,mDAArP;AAAA;;AACAiwI,yBAAyB,CAACzyH,IAA1B,kBA5yI2Gxd,+DA4yI3G;EAAA,MAA0GiwI,yBAA1G;EAAA;EAAA;IAAA;MA5yI2GjwI,wDA4yI3G;QAAA,OAA0G,cAA1G;MAAA;QAAA,OAA0G,eAA1G;MAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;EAAA;EAAA,WA5yI2GA,gEA4yI3G,CAAgZ,CAACgwI,oBAAD,CAAhZ,GA5yI2GhwI,wEA4yI3G;AAAA;;AACA;EAAA,mDA7yI2GA,+DA6yI3G,CAA2FiwI,yBAA3F,EAAkI,CAAC;IACvH9sK,IAAI,EAAE49B,oDADiH;IAEvHp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,8FADX;MAEC2+D,IAAI,EAAE;QAAE,YAAY,YAAd;QAA4B,UAAU;MAAtC,CAFP;MAGC5rB,SAAS,EAAE,CAACm3G,oBAAD;IAHZ,CAAD;EAFiH,CAAD,CAAlI,EAO4B,YAAY;IAAE,OAAO,CAAC;MAAE7sK,IAAI,EAAE68B,oDAAYud;IAApB,CAAD,EAAyB;MAAEp6C,IAAI,EAAE68B,qDAAasd;IAArB,CAAzB,EAAkD;MAAEn6C,IAAI,EAAEitK;IAAR,CAAlD,EAAkF;MAAEjtK,IAAI,EAAE68B,mDAAWy4B;IAAnB,CAAlF,CAAP;EAAkH,CAP5J,EAO8K;IAAEp4D,IAAI,EAAE,CAAC;MACvK8C,IAAI,EAAEmE,gDAAKA;IAD4J,CAAD,CAAR;IAE9JypK,eAAe,EAAE,CAAC;MAClB5tK,IAAI,EAAEmE,gDAAKA;IADO,CAAD,CAF6I;IAI9JkL,KAAK,EAAE,CAAC;MACRrP,IAAI,EAAEmE,gDAAKA;IADH,CAAD;EAJuJ,CAP9K;AAAA;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM0pK,oBAAoB,GAAG;EACzBl4G,OAAO,EAAEyjG,iBADgB;EAEzBrjG,WAAW,EAAEe,yDAAU,CAAC,MAAMg3G,kBAAP,CAFE;EAGzB93G,KAAK,EAAE;AAHkB,CAA7B;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM83G,kBAAN,SAAiC3U,2BAAjC,CAA6D;EACzD;AACJ;AACA;AACA;EACII,UAAU,CAAClqJ,KAAD,EAAQ;IACd,KAAK2jE,WAAL,CAAiB,OAAjB,EAA0BllD,UAAU,CAACze,KAAD,CAApC;EACH;EACD;AACJ;AACA;AACA;;;EACI2pJ,gBAAgB,CAACj9J,EAAD,EAAK;IACjB,KAAK88J,QAAL,GAAiBxpJ,KAAD,IAAW;MACvBtT,EAAE,CAACsT,KAAK,IAAI,EAAT,GAAc,IAAd,GAAqBye,UAAU,CAACze,KAAD,CAAhC,CAAF;IACH,CAFD;EAGH;;AAhBwD;;AAkB7Dy+J,kBAAkB,CAAC1uI,IAAnB;EAAA;EAAA;IAAA,8EAl3I2GvC,mEAk3I3G,CAA+GixI,kBAA/G,SAA+GA,kBAA/G;EAAA;AAAA;;AACAA,kBAAkB,CAACzzH,IAAnB,kBAn3I2Gxd,+DAm3I3G;EAAA,MAAmGixI,kBAAnG;EAAA;EAAA;IAAA;MAn3I2GjxI,wDAm3I3G;QAAA,OAAmG,iCAAnG;MAAA;QAAA,OAAmG,iCAAnG;MAAA;QAAA,OAAmG,eAAnG;MAAA;IAAA;EAAA;EAAA,WAn3I2GA,gEAm3I3G,CAAiX,CAACgxI,oBAAD,CAAjX,GAn3I2GhxI,wEAm3I3G;AAAA;;AACA;EAAA,mDAp3I2GA,+DAo3I3G,CAA2FixI,kBAA3F,EAA2H,CAAC;IAChH9tK,IAAI,EAAE49B,oDAD0G;IAEhHp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,8FADX;MAEC2+D,IAAI,EAAE;QACF,YAAY,+BADV;QAEF,WAAW,+BAFT;QAGF,UAAU;MAHR,CAFP;MAOC5rB,SAAS,EAAE,CAACm4G,oBAAD;IAPZ,CAAD;EAF0G,CAAD,CAA3H;AAAA;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAME,kCAAkC,GAAG,IAAIjxI,yDAAJ,CAAmB,+BAAnB,CAA3C;AACA,MAAMkxI,kBAAkB,GAAG;EACvBr4G,OAAO,EAAEkpG,SADc;EAEvB9oG,WAAW,EAAEe,yDAAU,CAAC,MAAMm3G,oBAAP;AAFA,CAA3B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMA,oBAAN,SAAmCpP,SAAnC,CAA6C;EACzC1/J,WAAW,CAACu8J,UAAD,EAAa8F,eAAb,EAA8BwH,cAA9B,EAA8CkF,qBAA9C,EAAqE;IAC5E;IACA,KAAKA,qBAAL,GAA6BA,qBAA7B;IACA;;IACA,KAAKz+J,MAAL,GAAc,IAAI0tB,uDAAJ,EAAd;IACA;AACR;AACA;AACA;AACA;AACA;AACA;;IACQ,KAAKqsI,mBAAL,GAA2B,KAA3B;;IACA,KAAKtL,cAAL,CAAoBxC,UAApB;;IACA,KAAK0C,mBAAL,CAAyBoD,eAAzB;;IACA,KAAK1C,aAAL,GAAqBiK,mBAAmB,CAAC,IAAD,EAAOC,cAAP,CAAxC;EACH;EACD;AACJ;AACA;AACA;;;EACkB,IAAV9P,UAAU,CAACA,UAAD,EAAa;IACvB,IAAI,OAAOp9G,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;MAC/Cp+C,OAAO,CAACC,IAAR,CAAa4iK,mBAAb;IACH;EACJ;EACD;;;EACA7lH,WAAW,CAACvB,OAAD,EAAU;IACjB,IAAI,KAAKg1H,iBAAL,CAAuBh1H,OAAvB,CAAJ,EAAqC;MACjC,MAAMi1H,YAAY,GAAGj1H,OAAO,CAAC,MAAD,CAAP,CAAgBO,aAArC;;MACA,IAAI00H,YAAJ,EAAkB;QACdlH,cAAc,CAACkH,YAAD,EAAe,IAAf;QAAqB;QAAsC,KAA3D,CAAd;MACH;;MACDzH,YAAY,CAAC,KAAKz4H,IAAN,EAAY,IAAZ,CAAZ;MACA,KAAKA,IAAL,CAAU61H,sBAAV,CAAiC;QAAEN,SAAS,EAAE;MAAb,CAAjC;IACH;;IACD,IAAIkF,iBAAiB,CAACxvH,OAAD,EAAU,KAAKyvH,SAAf,CAArB,EAAgD;MAC5C,IAAI,OAAO9sH,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;QAC/CutH,eAAe,CAAC,aAAD,EAAgB4E,oBAAhB,EAAsC,IAAtC,EAA4C,KAAKC,qBAAjD,CAAf;MACH;;MACD,KAAKhgI,IAAL,CAAUouD,QAAV,CAAmB,KAAKgwE,KAAxB;MACA,KAAK1D,SAAL,GAAiB,KAAK0D,KAAtB;IACH;EACJ;EACD;;;EACA5pI,WAAW,GAAG;IACV,IAAI,KAAKwL,IAAT,EAAe;MACXg5H,cAAc,CAAC,KAAKh5H,IAAN,EAAY,IAAZ;MAAkB;MAAsC,KAAxD,CAAd;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;;;EACY,IAAJrL,IAAI,GAAG;IACP,OAAO,EAAP;EACH;EACD;AACJ;AACA;AACA;;;EACe,IAAPg4H,OAAO,GAAG;IACV,OAAO,KAAK3sH,IAAZ;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIg6H,iBAAiB,CAACtoH,QAAD,EAAW;IACxB,KAAKgpH,SAAL,GAAiBhpH,QAAjB;IACA,KAAKnwC,MAAL,CAAYtJ,IAAZ,CAAiBy5C,QAAjB;EACH;;EACDuuH,iBAAiB,CAACh1H,OAAD,EAAU;IACvB,OAAOA,OAAO,CAACp8C,cAAR,CAAuB,MAAvB,CAAP;EACH;;AA9EwC;AAgF7C;AACA;AACA;AACA;AACA;AACA;AACA;;;AACAkxK,oBAAoB,CAAC1E,uBAArB,GAA+C,KAA/C;;AACA0E,oBAAoB,CAAC7uI,IAArB;EAAA,iBAAiH6uI,oBAAjH,EA9/I2GpxI,+DA8/I3G,CAAuJy9H,aAAvJ,OA9/I2Gz9H,+DA8/I3G,CAA6M09H,mBAA7M,OA9/I2G19H,+DA8/I3G,CAAyQu8H,iBAAzQ,OA9/I2Gv8H,+DA8/I3G,CAAmUkxI,kCAAnU;AAAA;;AACAE,oBAAoB,CAAC5zH,IAArB,kBA//I2Gxd,+DA+/I3G;EAAA,MAAqGoxI,oBAArG;EAAA;EAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA;EAAA,WA//I2GpxI,gEA+/I3G,CAAuT,CAACmxI,kBAAD,CAAvT,GA//I2GnxI,wEA+/I3G,EA//I2GA,kEA+/I3G;AAAA;;AACA;EAAA,mDAhgJ2GA,+DAggJ3G,CAA2FoxI,oBAA3F,EAA6H,CAAC;IAClHjuK,IAAI,EAAE49B,oDAD4G;IAElHp+B,IAAI,EAAE,CAAC;MAAEmjB,QAAQ,EAAE,eAAZ;MAA6B+yC,SAAS,EAAE,CAACs4G,kBAAD,CAAxC;MAA8DtuG,QAAQ,EAAE;IAAxE,CAAD;EAF4G,CAAD,CAA7H,EAG4B,YAAY;IAAE,OAAO,CAAC;MAAE1/D,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAC9DthC,IAAI,EAAEk9B,mDAAQA;MADgD,CAAD,EAE9D;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAF8D,EAI9D;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC86J,aAAD;MAFP,CAJ8D;IAA/B,CAAD,EAO3B;MAAEt6J,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAFkC,EAIlC;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC+6J,mBAAD;MAFP,CAJkC;IAA/B,CAP2B,EAc3B;MAAEv6J,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAFkC,EAIlC;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC45J,iBAAD;MAFP,CAJkC;IAA/B,CAd2B,EAqB3B;MAAEp5J,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAACuuK,kCAAD;MAFP,CAFkC;IAA/B,CArB2B,CAAP;EA0BlB,CA7BxB,EA6B0C;IAAE7/H,IAAI,EAAE,CAAC;MACnCluC,IAAI,EAAEmE,gDAD6B;MAEnC3E,IAAI,EAAE,CAAC,aAAD;IAF6B,CAAD,CAAR;IAG1B05J,UAAU,EAAE,CAAC;MACbl5J,IAAI,EAAEmE,gDADO;MAEb3E,IAAI,EAAE,CAAC,UAAD;IAFO,CAAD,CAHc;IAM1B8sK,KAAK,EAAE,CAAC;MACRtsK,IAAI,EAAEmE,gDADE;MAER3E,IAAI,EAAE,CAAC,SAAD;IAFE,CAAD,CANmB;IAS1BiQ,MAAM,EAAE,CAAC;MACTzP,IAAI,EAAEq5I,iDADG;MAET75I,IAAI,EAAE,CAAC,eAAD;IAFG,CAAD;EATkB,CA7B1C;AAAA;AA2CA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM6uK,qBAAqB,GAAG;EAC1B14G,OAAO,EAAEgpG,gBADiB;EAE1B5oG,WAAW,EAAEe,yDAAU,CAAC,MAAMw3G,kBAAP;AAFG,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,MAAMA,kBAAN,SAAiC3P,gBAAjC,CAAkD;EAC9Cx/J,WAAW,CAACu8J,UAAD,EAAa8F,eAAb,EAA8B;IACrC;IACA,KAAK9F,UAAL,GAAkBA,UAAlB;IACA,KAAK8F,eAAL,GAAuBA,eAAvB;IACA;AACR;AACA;AACA;;IACQ,KAAKhC,SAAL,GAAiB,KAAjB;IACA;AACR;AACA;AACA;;IACQ,KAAK2C,mBAAL,GAA2B,MAAM,KAAKoM,eAAL,EAAjC;IACA;AACR;AACA;AACA;;;IACQ,KAAKttG,UAAL,GAAkB,EAAlB;IACA;AACR;AACA;AACA;;IACQ,KAAK/yB,IAAL,GAAY,IAAZ;IACA;AACR;AACA;AACA;;IACQ,KAAK27H,QAAL,GAAgB,IAAI1sI,uDAAJ,EAAhB;;IACA,KAAK+gI,cAAL,CAAoBxC,UAApB;;IACA,KAAK0C,mBAAL,CAAyBoD,eAAzB;EACH;EACD;;;EACA9mH,WAAW,CAACvB,OAAD,EAAU;IACjB,KAAKq1H,iBAAL;;IACA,IAAIr1H,OAAO,CAACp8C,cAAR,CAAuB,MAAvB,CAAJ,EAAoC;MAChC,KAAK0xK,iBAAL;;MACA,KAAKF,eAAL;;MACA,KAAKG,oBAAL;;MACA,KAAKC,QAAL,GAAgB,KAAKzgI,IAArB;IACH;EACJ;EACD;;;EACAxL,WAAW,GAAG;IACV,IAAI,KAAKwL,IAAT,EAAe;MACXm5H,iBAAiB,CAAC,KAAKn5H,IAAN,EAAY,IAAZ,CAAjB,CADW,CAEX;MACA;MACA;MACA;MACA;MACA;;MACA,IAAI,KAAKA,IAAL,CAAUi0H,mBAAV,KAAkC,KAAKA,mBAA3C,EAAgE;QAC5D,KAAKj0H,IAAL,CAAUk3H,2BAAV,CAAsC,MAAM,CAAG,CAA/C;MACH;IACJ;EACJ;EACD;AACJ;AACA;AACA;;;EACqB,IAAbxG,aAAa,GAAG;IAChB,OAAO,IAAP;EACH;EACD;AACJ;AACA;AACA;;;EACe,IAAP/D,OAAO,GAAG;IACV,OAAO,KAAK3sH,IAAZ;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACY,IAAJrL,IAAI,GAAG;IACP,OAAO,EAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI6iI,UAAU,CAAC1nH,GAAD,EAAM;IACZ,MAAMwmH,IAAI,GAAG,KAAKt2H,IAAL,CAAUt7B,GAAV,CAAcorC,GAAG,CAACnb,IAAlB,CAAb;IACA8jI,YAAY,CAACnC,IAAD,EAAOxmH,GAAP,CAAZ;IACAwmH,IAAI,CAACT,sBAAL,CAA4B;MAAEN,SAAS,EAAE;IAAb,CAA5B;IACA,KAAKxiG,UAAL,CAAgB1/D,IAAhB,CAAqBy8C,GAArB;IACA,OAAOwmH,IAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIuF,UAAU,CAAC/rH,GAAD,EAAM;IACZ,OAAO,KAAK9P,IAAL,CAAUt7B,GAAV,CAAcorC,GAAG,CAACnb,IAAlB,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACI8iI,aAAa,CAAC3nH,GAAD,EAAM;IACfkpH,cAAc,CAAClpH,GAAG,CAAC68G,OAAJ,IAAe,IAAhB,EAAsB78G,GAAtB;IAA2B;IAAsC,KAAjE,CAAd;IACAorH,gBAAgB,CAAC,KAAKnoG,UAAN,EAAkBjjB,GAAlB,CAAhB;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACIgsH,YAAY,CAAChsH,GAAD,EAAM;IACd,KAAK4wH,mBAAL,CAAyB5wH,GAAzB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIksH,eAAe,CAAClsH,GAAD,EAAM;IACjB,KAAK6wH,qBAAL,CAA2B7wH,GAA3B;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACImsH,YAAY,CAACnsH,GAAD,EAAM;IACd,OAAO,KAAK9P,IAAL,CAAUt7B,GAAV,CAAcorC,GAAG,CAACnb,IAAlB,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACIisI,YAAY,CAAC9wH,GAAD,EAAM;IACd,KAAK4wH,mBAAL,CAAyB5wH,GAAzB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACI+wH,eAAe,CAAC/wH,GAAD,EAAM;IACjB,KAAK6wH,qBAAL,CAA2B7wH,GAA3B;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIgxH,YAAY,CAAChxH,GAAD,EAAM;IACd,OAAO,KAAK9P,IAAL,CAAUt7B,GAAV,CAAcorC,GAAG,CAACnb,IAAlB,CAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIunI,WAAW,CAACpsH,GAAD,EAAM3uC,KAAN,EAAa;IACpB,MAAMm1J,IAAI,GAAG,KAAKt2H,IAAL,CAAUt7B,GAAV,CAAcorC,GAAG,CAACnb,IAAlB,CAAb;IACA2hI,IAAI,CAACloE,QAAL,CAAcjtF,KAAd;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIg7J,QAAQ,CAACC,MAAD,EAAS;IACb,KAAK9K,SAAL,GAAiB,IAAjB;IACAsJ,mBAAmB,CAAC,KAAK56H,IAAN,EAAY,KAAK+yB,UAAjB,CAAnB;IACA,KAAK4oG,QAAL,CAAc1jK,IAAd,CAAmBmkK,MAAnB;IACA,OAAO,KAAP;EACH;EACD;AACJ;AACA;AACA;;;EACIC,OAAO,GAAG;IACN,KAAKC,SAAL;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIA,SAAS,CAACn7J,KAAK,GAAGjU,SAAT,EAAoB;IACzB,KAAK8yC,IAAL,CAAUz7B,KAAV,CAAgBpD,KAAhB;IACA,KAAKmwJ,SAAL,GAAiB,KAAjB;EACH;EACD;;;EACA+O,eAAe,GAAG;IACd,KAAKttG,UAAL,CAAgBrkE,OAAhB,CAAwBohD,GAAG,IAAI;MAC3B,MAAMixH,OAAO,GAAGjxH,GAAG,CAAC68G,OAApB;MACA,MAAMqU,OAAO,GAAG,KAAKhhI,IAAL,CAAUt7B,GAAV,CAAcorC,GAAG,CAACnb,IAAlB,CAAhB;;MACA,IAAIosI,OAAO,KAAKC,OAAhB,EAAyB;QACrB;QACA;QACAhI,cAAc,CAAC+H,OAAO,IAAI,IAAZ,EAAkBjxH,GAAlB,CAAd,CAHqB,CAIrB;QACA;QACA;QACA;QACA;;QACA,IAAImtH,aAAa,CAAC+D,OAAD,CAAjB,EAA4B;UACxBvI,YAAY,CAACuI,OAAD,EAAUlxH,GAAV,CAAZ;UACAA,GAAG,CAAC68G,OAAJ,GAAcqU,OAAd;QACH;MACJ;IACJ,CAjBD;;IAkBA,KAAKhhI,IAAL,CAAUq2H,mBAAV,CAA8B;MAAEd,SAAS,EAAE;IAAb,CAA9B;EACH;;EACDmL,mBAAmB,CAAC5wH,GAAD,EAAM;IACrB,MAAMwmH,IAAI,GAAG,KAAKt2H,IAAL,CAAUt7B,GAAV,CAAcorC,GAAG,CAACnb,IAAlB,CAAb;IACAwlI,kBAAkB,CAAC7D,IAAD,EAAOxmH,GAAP,CAAlB,CAFqB,CAGrB;IACA;IACA;;IACAwmH,IAAI,CAACT,sBAAL,CAA4B;MAAEN,SAAS,EAAE;IAAb,CAA5B;EACH;;EACDoL,qBAAqB,CAAC7wH,GAAD,EAAM;IACvB,IAAI,KAAK9P,IAAT,EAAe;MACX,MAAMs2H,IAAI,GAAG,KAAKt2H,IAAL,CAAUt7B,GAAV,CAAcorC,GAAG,CAACnb,IAAlB,CAAb;;MACA,IAAI2hI,IAAJ,EAAU;QACN,MAAMmD,gBAAgB,GAAGW,oBAAoB,CAAC9D,IAAD,EAAOxmH,GAAP,CAA7C;;QACA,IAAI2pH,gBAAJ,EAAsB;UAClB;UACA;UACAnD,IAAI,CAACT,sBAAL,CAA4B;YAAEN,SAAS,EAAE;UAAb,CAA5B;QACH;MACJ;IACJ;EACJ;;EACDiL,oBAAoB,GAAG;IACnB,KAAKxgI,IAAL,CAAUk3H,2BAAV,CAAsC,KAAKjD,mBAA3C;;IACA,IAAI,KAAKwM,QAAT,EAAmB;MACf,KAAKA,QAAL,CAAcvJ,2BAAd,CAA0C,MAAM,CAAG,CAAnD;IACH;EACJ;;EACDqJ,iBAAiB,GAAG;IAChB5H,eAAe,CAAC,KAAK34H,IAAN,EAAY,IAAZ,CAAf;;IACA,IAAI,KAAKygI,QAAT,EAAmB;MACftH,iBAAiB,CAAC,KAAKsH,QAAN,EAAgB,IAAhB,CAAjB;IACH;EACJ;;EACDH,iBAAiB,GAAG;IAChB,IAAI,CAAC,KAAKtgI,IAAN,KAAe,OAAO4N,SAAP,KAAqB,WAArB,IAAoCA,SAAnD,CAAJ,EAAmE;MAC/D,MAAMskH,oBAAoB,EAA1B;IACH;EACJ;;AAxQ6C;;AA0QlDkO,kBAAkB,CAAClvI,IAAnB;EAAA,iBAA+GkvI,kBAA/G,EAx1J2GzxI,+DAw1J3G,CAAmJy9H,aAAnJ,OAx1J2Gz9H,+DAw1J3G,CAAyM09H,mBAAzM;AAAA;;AACA+T,kBAAkB,CAACj0H,IAAnB,kBAz1J2Gxd,+DAy1J3G;EAAA,MAAmGyxI,kBAAnG;EAAA;EAAA;IAAA;MAz1J2GzxI,wDAy1J3G;QAAA,OAAmG,oBAAnG;MAAA;QAAA,OAAmG,aAAnG;MAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA;EAAA,WAz1J2GA,gEAy1J3G,CAAoT,CAACwxI,qBAAD,CAApT,GAz1J2GxxI,wEAy1J3G,EAz1J2GA,kEAy1J3G;AAAA;;AACA;EAAA,mDA11J2GA,+DA01J3G,CAA2FyxI,kBAA3F,EAA2H,CAAC;IAChHtuK,IAAI,EAAE49B,oDAD0G;IAEhHp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,aADX;MAEC+yC,SAAS,EAAE,CAAC24G,qBAAD,CAFZ;MAGC/sF,IAAI,EAAE;QAAE,YAAY,kBAAd;QAAkC,WAAW;MAA7C,CAHP;MAIC5hB,QAAQ,EAAE;IAJX,CAAD;EAF0G,CAAD,CAA3H,EAQ4B,YAAY;IAAE,OAAO,CAAC;MAAE1/D,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAC9DthC,IAAI,EAAEk9B,mDAAQA;MADgD,CAAD,EAE9D;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAF8D,EAI9D;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC86J,aAAD;MAFP,CAJ8D;IAA/B,CAAD,EAO3B;MAAEt6J,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAFkC,EAIlC;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC+6J,mBAAD;MAFP,CAJkC;IAA/B,CAP2B,CAAP;EAclB,CAtBxB,EAsB0C;IAAErsH,IAAI,EAAE,CAAC;MACnCluC,IAAI,EAAEmE,gDAD6B;MAEnC3E,IAAI,EAAE,CAAC,WAAD;IAF6B,CAAD,CAAR;IAG1BqqK,QAAQ,EAAE,CAAC;MACX7pK,IAAI,EAAEq5I,iDAAMA;IADD,CAAD;EAHgB,CAtB1C;AAAA;AA6BA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM81B,qBAAqB,GAAG;EAC1Bx5G,OAAO,EAAEgpG,gBADiB;EAE1B5oG,WAAW,EAAEe,yDAAU,CAAC,MAAMs4G,aAAP;AAFG,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMA,aAAN,SAA4BhE,0BAA5B,CAAuD;EACnDjsK,WAAW,CAACmB,MAAD,EAASo7J,UAAT,EAAqB8F,eAArB,EAAsC;IAC7C;IACA,KAAK92D,OAAL,GAAepqG,MAAf;;IACA,KAAK49J,cAAL,CAAoBxC,UAApB;;IACA,KAAK0C,mBAAL,CAAyBoD,eAAzB;EACH;EACD;;;EACA6J,gBAAgB,GAAG;IACf,IAAIgE,iBAAiB,CAAC,KAAK3kE,OAAN,CAAjB,KAAoC,OAAO5uD,SAAP,KAAqB,WAArB,IAAoCA,SAAxE,CAAJ,EAAwF;MACpF,MAAMukH,oBAAoB,EAA1B;IACH;EACJ;;AAZkD;;AAcvD+O,aAAa,CAAChwI,IAAd;EAAA,iBAA0GgwI,aAA1G,EA/7J2GvyI,+DA+7J3G,CAAyI8hI,gBAAzI,OA/7J2G9hI,+DA+7J3G,CAAkNy9H,aAAlN,OA/7J2Gz9H,+DA+7J3G,CAAwQ09H,mBAAxQ;AAAA;;AACA6U,aAAa,CAAC/0H,IAAd,kBAh8J2Gxd,+DAg8J3G;EAAA,MAA8FuyI,aAA9F;EAAA;EAAA;IAAA;EAAA;EAAA,WAh8J2GvyI,gEAg8J3G,CAAkM,CAACsyI,qBAAD,CAAlM,GAh8J2GtyI,wEAg8J3G;AAAA;;AACA;EAAA,mDAj8J2GA,+DAi8J3G,CAA2FuyI,aAA3F,EAAsH,CAAC;IAC3GpvK,IAAI,EAAE49B,oDADqG;IAE3Gp+B,IAAI,EAAE,CAAC;MAAEmjB,QAAQ,EAAE,iBAAZ;MAA+B+yC,SAAS,EAAE,CAACy5G,qBAAD;IAA1C,CAAD;EAFqG,CAAD,CAAtH,EAG4B,YAAY;IAAE,OAAO,CAAC;MAAEnvK,IAAI,EAAE2+J,gBAAR;MAA0Br9H,UAAU,EAAE,CAAC;QACrEthC,IAAI,EAAEk9B,mDAAQA;MADuD,CAAD,EAErE;QACCl9B,IAAI,EAAEg+B,+CAAIA;MADX,CAFqE,EAIrE;QACCh+B,IAAI,EAAEwtE,mDAAQA;MADf,CAJqE;IAAtC,CAAD,EAM3B;MAAExtE,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAFkC,EAIlC;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC86J,aAAD;MAFP,CAJkC;IAA/B,CAN2B,EAa3B;MAAEt6J,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAFkC,EAIlC;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC+6J,mBAAD;MAFP,CAJkC;IAA/B,CAb2B,CAAP;EAoBlB,CAvBxB,EAuB0C;IAAEr9J,IAAI,EAAE,CAAC;MACnC8C,IAAI,EAAEmE,gDAD6B;MAEnC3E,IAAI,EAAE,CAAC,eAAD;IAF6B,CAAD;EAAR,CAvB1C;AAAA;;AA2BA,MAAM8vK,qBAAqB,GAAG;EAC1B35G,OAAO,EAAEgpG,gBADiB;EAE1B5oG,WAAW,EAAEe,yDAAU,CAAC,MAAMy4G,aAAP;AAFG,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,MAAMA,aAAN,SAA4B5Q,gBAA5B,CAA6C;EACzCx/J,WAAW,CAACmB,MAAD,EAASo7J,UAAT,EAAqB8F,eAArB,EAAsC;IAC7C;IACA,KAAK92D,OAAL,GAAepqG,MAAf;;IACA,KAAK49J,cAAL,CAAoBxC,UAApB;;IACA,KAAK0C,mBAAL,CAAyBoD,eAAzB;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACIhyF,QAAQ,GAAG;IACP,KAAK67F,gBAAL;;IACA,KAAKzM,aAAL,CAAmBkQ,YAAnB,CAAgC,IAAhC;EACH;EACD;AACJ;AACA;AACA;;;EACIpsI,WAAW,GAAG;IACV,IAAI,KAAKk8H,aAAT,EAAwB;MACpB,KAAKA,aAAL,CAAmBmQ,eAAnB,CAAmC,IAAnC;IACH;EACJ;EACD;AACJ;AACA;AACA;;;EACe,IAAPlU,OAAO,GAAG;IACV,OAAO,KAAK+D,aAAL,CAAmBoQ,YAAnB,CAAgC,IAAhC,CAAP;EACH;EACD;AACJ;AACA;AACA;;;EACqB,IAAbpQ,aAAa,GAAG;IAChB,OAAO,KAAKl0D,OAAL,GAAe,KAAKA,OAAL,CAAak0D,aAA5B,GAA4C,IAAnD;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACY,IAAJ/7H,IAAI,GAAG;IACP,OAAO6jI,WAAW,CAAC,KAAKxpK,IAAL,IAAa,IAAb,GAAoB,KAAKA,IAAzB,GAAgC,KAAKA,IAAL,CAAU2sB,QAAV,EAAjC,EAAuD,KAAK6gF,OAA5D,CAAlB;EACH;;EACD2gE,gBAAgB,GAAG;IACf,IAAIgE,iBAAiB,CAAC,KAAK3kE,OAAN,CAAjB,KAAoC,OAAO5uD,SAAP,KAAqB,WAArB,IAAoCA,SAAxE,CAAJ,EAAwF;MACpF,MAAMwkH,oBAAoB,EAA1B;IACH;EACJ;;AAnDwC;;AAqD7CiP,aAAa,CAACnwI,IAAd;EAAA,iBAA0GmwI,aAA1G,EA7iK2G1yI,+DA6iK3G,CAAyI8hI,gBAAzI,OA7iK2G9hI,+DA6iK3G,CAAkNy9H,aAAlN,OA7iK2Gz9H,+DA6iK3G,CAAwQ09H,mBAAxQ;AAAA;;AACAgV,aAAa,CAACl1H,IAAd,kBA9iK2Gxd,+DA8iK3G;EAAA,MAA8F0yI,aAA9F;EAAA;EAAA;IAAA;EAAA;EAAA,WA9iK2G1yI,gEA8iK3G,CAAkM,CAACyyI,qBAAD,CAAlM,GA9iK2GzyI,wEA8iK3G;AAAA;;AACA;EAAA,mDA/iK2GA,+DA+iK3G,CAA2F0yI,aAA3F,EAAsH,CAAC;IAC3GvvK,IAAI,EAAE49B,oDADqG;IAE3Gp+B,IAAI,EAAE,CAAC;MAAEmjB,QAAQ,EAAE,iBAAZ;MAA+B+yC,SAAS,EAAE,CAAC45G,qBAAD;IAA1C,CAAD;EAFqG,CAAD,CAAtH,EAG4B,YAAY;IAAE,OAAO,CAAC;MAAEtvK,IAAI,EAAE2+J,gBAAR;MAA0Br9H,UAAU,EAAE,CAAC;QACrEthC,IAAI,EAAEk9B,mDAAQA;MADuD,CAAD,EAErE;QACCl9B,IAAI,EAAEg+B,+CAAIA;MADX,CAFqE,EAIrE;QACCh+B,IAAI,EAAEwtE,mDAAQA;MADf,CAJqE;IAAtC,CAAD,EAM3B;MAAExtE,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAFkC,EAIlC;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC86J,aAAD;MAFP,CAJkC;IAA/B,CAN2B,EAa3B;MAAEt6J,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAFkC,EAIlC;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC+6J,mBAAD;MAFP,CAJkC;IAA/B,CAb2B,CAAP;EAoBlB,CAvBxB,EAuB0C;IAAEr9J,IAAI,EAAE,CAAC;MACnC8C,IAAI,EAAEmE,gDAD6B;MAEnC3E,IAAI,EAAE,CAAC,eAAD;IAF6B,CAAD;EAAR,CAvB1C;AAAA;;AA2BA,SAAS6vK,iBAAT,CAA2B/uK,MAA3B,EAAmC;EAC/B,OAAO,EAAEA,MAAM,YAAY8uK,aAApB,KAAsC,EAAE9uK,MAAM,YAAYguK,kBAApB,CAAtC,IACH,EAAEhuK,MAAM,YAAYivK,aAApB,CADJ;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,kBAAkB,GAAG;EACvB75G,OAAO,EAAEkpG,SADc;EAEvB9oG,WAAW,EAAEe,yDAAU,CAAC,MAAM24G,eAAP;AAFA,CAA3B;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,MAAMA,eAAN,SAA8B5Q,SAA9B,CAAwC;EACpC1/J,WAAW,CAACmB,MAAD,EAASo7J,UAAT,EAAqB8F,eAArB,EAAsCwH,cAAtC,EAAsDkF,qBAAtD,EAA6E;IACpF;IACA,KAAKA,qBAAL,GAA6BA,qBAA7B;IACA,KAAKwB,MAAL,GAAc,KAAd;IACA;;IACA,KAAKjgK,MAAL,GAAc,IAAI0tB,uDAAJ,EAAd;IACA;AACR;AACA;AACA;AACA;AACA;AACA;;IACQ,KAAKqsI,mBAAL,GAA2B,KAA3B;IACA,KAAK9+D,OAAL,GAAepqG,MAAf;;IACA,KAAK49J,cAAL,CAAoBxC,UAApB;;IACA,KAAK0C,mBAAL,CAAyBoD,eAAzB;;IACA,KAAK1C,aAAL,GAAqBiK,mBAAmB,CAAC,IAAD,EAAOC,cAAP,CAAxC;EACH;EACD;AACJ;AACA;AACA;;;EACkB,IAAV9P,UAAU,CAACA,UAAD,EAAa;IACvB,IAAI,OAAOp9G,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;MAC/Cp+C,OAAO,CAACC,IAAR,CAAa4iK,mBAAb;IACH;EACJ;EACD;;;EACA7lH,WAAW,CAACvB,OAAD,EAAU;IACjB,IAAI,CAAC,KAAKu2H,MAAV,EACI,KAAKtD,aAAL;;IACJ,IAAIzD,iBAAiB,CAACxvH,OAAD,EAAU,KAAKyvH,SAAf,CAArB,EAAgD;MAC5C,IAAI,OAAO9sH,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;QAC/CutH,eAAe,CAAC,iBAAD,EAAoBoG,eAApB,EAAqC,IAArC,EAA2C,KAAKvB,qBAAhD,CAAf;MACH;;MACD,KAAKtF,SAAL,GAAiB,KAAK0D,KAAtB;MACA,KAAK1N,aAAL,CAAmBwL,WAAnB,CAA+B,IAA/B,EAAqC,KAAKkC,KAA1C;IACH;EACJ;EACD;;;EACA5pI,WAAW,GAAG;IACV,IAAI,KAAKk8H,aAAT,EAAwB;MACpB,KAAKA,aAAL,CAAmB+G,aAAnB,CAAiC,IAAjC;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;;;EACIuC,iBAAiB,CAACtoH,QAAD,EAAW;IACxB,KAAKgpH,SAAL,GAAiBhpH,QAAjB;IACA,KAAKnwC,MAAL,CAAYtJ,IAAZ,CAAiBy5C,QAAjB;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACY,IAAJ/c,IAAI,GAAG;IACP,OAAO6jI,WAAW,CAAC,KAAKxpK,IAAL,IAAa,IAAb,GAAoB,KAAKA,IAAzB,GAAgC,KAAKA,IAAL,CAAU2sB,QAAV,EAAjC,EAAuD,KAAK6gF,OAA5D,CAAlB;EACH;EACD;AACJ;AACA;AACA;;;EACqB,IAAbk0D,aAAa,GAAG;IAChB,OAAO,KAAKl0D,OAAL,GAAe,KAAKA,OAAL,CAAak0D,aAA5B,GAA4C,IAAnD;EACH;;EACDyM,gBAAgB,GAAG;IACf,IAAI,OAAOvvH,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;MAC/C,IAAI,EAAE,KAAK4uD,OAAL,YAAwB0kE,aAA1B,KACA,KAAK1kE,OAAL,YAAwB0gE,0BAD5B,EACwD;QACpD,MAAMjL,qBAAqB,EAA3B;MACH,CAHD,MAIK,IAAI,EAAE,KAAKz1D,OAAL,YAAwB0kE,aAA1B,KACL,EAAE,KAAK1kE,OAAL,YAAwB4jE,kBAA1B,CADK,IAEL,EAAE,KAAK5jE,OAAL,YAAwB6kE,aAA1B,CAFC,EAEyC;QAC1C,MAAMrP,sBAAsB,EAA5B;MACH;IACJ;EACJ;;EACDkM,aAAa,GAAG;IACZ,KAAKf,gBAAL;;IACA,KAAKxQ,OAAL,GAAe,KAAK+D,aAAL,CAAmB8G,UAAnB,CAA8B,IAA9B,CAAf;IACA,KAAKgK,MAAL,GAAc,IAAd;EACH;;AAzFmC;AA2FxC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACAD,eAAe,CAAClG,uBAAhB,GAA0C,KAA1C;;AACAkG,eAAe,CAACrwI,IAAhB;EAAA,iBAA4GqwI,eAA5G,EA/tK2G5yI,+DA+tK3G,CAA6I8hI,gBAA7I,OA/tK2G9hI,+DA+tK3G,CAAsNy9H,aAAtN,OA/tK2Gz9H,+DA+tK3G,CAA4Q09H,mBAA5Q,OA/tK2G19H,+DA+tK3G,CAAwUu8H,iBAAxU,OA/tK2Gv8H,+DA+tK3G,CAAkYkxI,kCAAlY;AAAA;;AACA0B,eAAe,CAACp1H,IAAhB,kBAhuK2Gxd,+DAguK3G;EAAA,MAAgG4yI,eAAhG;EAAA;EAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA,WAhuK2G5yI,gEAguK3G,CAAqT,CAAC2yI,kBAAD,CAArT,GAhuK2G3yI,wEAguK3G,EAhuK2GA,kEAguK3G;AAAA;;AACA;EAAA,mDAjuK2GA,+DAiuK3G,CAA2F4yI,eAA3F,EAAwH,CAAC;IAC7GzvK,IAAI,EAAE49B,oDADuG;IAE7Gp+B,IAAI,EAAE,CAAC;MAAEmjB,QAAQ,EAAE,mBAAZ;MAAiC+yC,SAAS,EAAE,CAAC85G,kBAAD;IAA5C,CAAD;EAFuG,CAAD,CAAxH,EAG4B,YAAY;IAAE,OAAO,CAAC;MAAExvK,IAAI,EAAE2+J,gBAAR;MAA0Br9H,UAAU,EAAE,CAAC;QACrEthC,IAAI,EAAEk9B,mDAAQA;MADuD,CAAD,EAErE;QACCl9B,IAAI,EAAEg+B,+CAAIA;MADX,CAFqE,EAIrE;QACCh+B,IAAI,EAAEwtE,mDAAQA;MADf,CAJqE;IAAtC,CAAD,EAM3B;MAAExtE,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAFkC,EAIlC;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC86J,aAAD;MAFP,CAJkC;IAA/B,CAN2B,EAa3B;MAAEt6J,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAFkC,EAIlC;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC+6J,mBAAD;MAFP,CAJkC;IAA/B,CAb2B,EAoB3B;MAAEv6J,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEo2E,+CAAIA;MADX,CAFkC,EAIlC;QACCp2E,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAAC45J,iBAAD;MAFP,CAJkC;IAA/B,CApB2B,EA2B3B;MAAEp5J,IAAI,EAAE5E,SAAR;MAAmBkmC,UAAU,EAAE,CAAC;QAClCthC,IAAI,EAAEk9B,mDAAQA;MADoB,CAAD,EAElC;QACCl9B,IAAI,EAAEi9B,iDADP;QAECz9B,IAAI,EAAE,CAACuuK,kCAAD;MAFP,CAFkC;IAA/B,CA3B2B,CAAP;EAgClB,CAnCxB,EAmC0C;IAAE7wK,IAAI,EAAE,CAAC;MACnC8C,IAAI,EAAEmE,gDAD6B;MAEnC3E,IAAI,EAAE,CAAC,iBAAD;IAF6B,CAAD,CAAR;IAG1B05J,UAAU,EAAE,CAAC;MACbl5J,IAAI,EAAEmE,gDADO;MAEb3E,IAAI,EAAE,CAAC,UAAD;IAFO,CAAD,CAHc;IAM1B8sK,KAAK,EAAE,CAAC;MACRtsK,IAAI,EAAEmE,gDADE;MAER3E,IAAI,EAAE,CAAC,SAAD;IAFE,CAAD,CANmB;IAS1BiQ,MAAM,EAAE,CAAC;MACTzP,IAAI,EAAEq5I,iDADG;MAET75I,IAAI,EAAE,CAAC,eAAD;IAFG,CAAD;EATkB,CAnC1C;AAAA;AAiDA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMmwK,qBAAqB,GAAG;EAC1Bh6G,OAAO,EAAEyjG,iBADiB;EAE1BrjG,WAAW,EAAEe,yDAAU,CAAC,MAAM84G,0BAAP,CAFG;EAG1B55G,KAAK,EAAE;AAHmB,CAA9B;;AAKA,SAAS65G,mBAAT,CAA6Bt+J,EAA7B,EAAiClC,KAAjC,EAAwC;EACpC,IAAIkC,EAAE,IAAI,IAAV,EACI,OAAQ,GAAElC,KAAM,EAAhB;EACJ,IAAIA,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA9B,EACIA,KAAK,GAAG,QAAR;EACJ,OAAQ,GAAEkC,EAAG,KAAIlC,KAAM,EAAhB,CAAkBpO,KAAlB,CAAwB,CAAxB,EAA2B,EAA3B,CAAP;AACH;;AACD,SAAS6uK,YAAT,CAAsBC,WAAtB,EAAmC;EAC/B,OAAOA,WAAW,CAAClvK,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,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,MAAM+uK,0BAAN,SAAyCzW,2BAAzC,CAAqE;EACjEh6J,WAAW,GAAG;IACV,MAAM,GAAGtB,SAAT;IACA;;IACA,KAAKmyK,UAAL,GAAkB,IAAI5qH,GAAJ,EAAlB;IACA;;IACA,KAAK6qH,UAAL,GAAkB,CAAlB;IACA,KAAKC,YAAL,GAAoBnyK,MAAM,CAACwmH,EAA3B;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACmB,IAAX4rD,WAAW,CAACp0K,EAAD,EAAK;IAChB,IAAI,OAAOA,EAAP,KAAc,UAAd,KAA6B,OAAO+/C,SAAP,KAAqB,WAArB,IAAoCA,SAAjE,CAAJ,EAAiF;MAC7E,MAAM,IAAI/d,2DAAJ,CAAkB;MAAK;MAAvB,EAAqE,gDAA+C6e,IAAI,CAACC,SAAL,CAAe9gD,EAAf,CAAmB,EAAvI,CAAN;IACH;;IACD,KAAKm0K,YAAL,GAAoBn0K,EAApB;EACH;EACD;AACJ;AACA;AACA;;;EACIw9J,UAAU,CAAClqJ,KAAD,EAAQ;IACd,KAAKA,KAAL,GAAaA,KAAb;;IACA,MAAMkC,EAAE,GAAG,KAAK6+J,YAAL,CAAkB/gK,KAAlB,CAAX;;IACA,MAAM0gK,WAAW,GAAGF,mBAAmB,CAACt+J,EAAD,EAAKlC,KAAL,CAAvC;;IACA,KAAK2jE,WAAL,CAAiB,OAAjB,EAA0B+8F,WAA1B;EACH;EACD;AACJ;AACA;AACA;;;EACI/W,gBAAgB,CAACj9J,EAAD,EAAK;IACjB,KAAK88J,QAAL,GAAiBkX,WAAD,IAAiB;MAC7B,KAAK1gK,KAAL,GAAa,KAAKghK,eAAL,CAAqBN,WAArB,CAAb;MACAh0K,EAAE,CAAC,KAAKsT,KAAN,CAAF;IACH,CAHD;EAIH;EACD;;;EACAihK,eAAe,GAAG;IACd,OAAO,CAAC,KAAKL,UAAL,EAAD,EAAoBpmJ,QAApB,EAAP;EACH;EACD;;;EACAumJ,YAAY,CAAC/gK,KAAD,EAAQ;IAChB,KAAK,MAAMkC,EAAX,IAAiBjV,KAAK,CAAC6kB,IAAN,CAAW,KAAK6uJ,UAAL,CAAgBtxK,IAAhB,EAAX,CAAjB,EAAqD;MACjD,IAAI,KAAKwxK,YAAL,CAAkB,KAAKF,UAAL,CAAgBp9J,GAAhB,CAAoBrB,EAApB,CAAlB,EAA2ClC,KAA3C,CAAJ,EACI,OAAOkC,EAAP;IACP;;IACD,OAAO,IAAP;EACH;EACD;;;EACA8+J,eAAe,CAACN,WAAD,EAAc;IACzB,MAAMx+J,EAAE,GAAGu+J,YAAY,CAACC,WAAD,CAAvB;;IACA,OAAO,KAAKC,UAAL,CAAgB9kH,GAAhB,CAAoB35C,EAApB,IAA0B,KAAKy+J,UAAL,CAAgBp9J,GAAhB,CAAoBrB,EAApB,CAA1B,GAAoDw+J,WAA3D;EACH;;AAxDgE;;AA0DrEH,0BAA0B,CAACxwI,IAA3B;EAAA;EAAA;IAAA,8FA15K2GvC,mEA05K3G,CAAuH+yI,0BAAvH,SAAuHA,0BAAvH;EAAA;AAAA;;AACAA,0BAA0B,CAACv1H,IAA3B,kBA35K2Gxd,+DA25K3G;EAAA,MAA2G+yI,0BAA3G;EAAA;EAAA;IAAA;MA35K2G/yI,wDA25K3G;QAAA,OAA2G,iCAA3G;MAAA;QAAA,OAA2G,eAA3G;MAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA,WA35K2GA,gEA25K3G,CAA8Y,CAAC8yI,qBAAD,CAA9Y,GA35K2G9yI,wEA25K3G;AAAA;;AACA;EAAA,mDA55K2GA,+DA45K3G,CAA2F+yI,0BAA3F,EAAmI,CAAC;IACxH5vK,IAAI,EAAE49B,oDADkH;IAExHp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,6GADX;MAEC2+D,IAAI,EAAE;QAAE,YAAY,+BAAd;QAA+C,UAAU;MAAzD,CAFP;MAGC5rB,SAAS,EAAE,CAACi6G,qBAAD;IAHZ,CAAD;EAFkH,CAAD,CAAnI,QAO4B;IAAEQ,WAAW,EAAE,CAAC;MAC5BnwK,IAAI,EAAEmE,gDAAKA;IADiB,CAAD;EAAf,CAP5B;AAAA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMosK,cAAN,CAAqB;EACjBpxK,WAAW,CAACqxK,QAAD,EAAWn4H,SAAX,EAAsBo4H,OAAtB,EAA+B;IACtC,KAAKD,QAAL,GAAgBA,QAAhB;IACA,KAAKn4H,SAAL,GAAiBA,SAAjB;IACA,KAAKo4H,OAAL,GAAeA,OAAf;IACA,IAAI,KAAKA,OAAT,EACI,KAAKl/J,EAAL,GAAU,KAAKk/J,OAAL,CAAaH,eAAb,EAAV;EACP;EACD;AACJ;AACA;AACA;AACA;;;EACe,IAAPI,OAAO,CAACrhK,KAAD,EAAQ;IACf,IAAI,KAAKohK,OAAL,IAAgB,IAApB,EACI;;IACJ,KAAKA,OAAL,CAAaT,UAAb,CAAwB1gK,GAAxB,CAA4B,KAAKiC,EAAjC,EAAqClC,KAArC;;IACA,KAAKshK,gBAAL,CAAsBd,mBAAmB,CAAC,KAAKt+J,EAAN,EAAUlC,KAAV,CAAzC;;IACA,KAAKohK,OAAL,CAAalX,UAAb,CAAwB,KAAKkX,OAAL,CAAaphK,KAArC;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACa,IAALA,KAAK,CAACA,KAAD,EAAQ;IACb,KAAKshK,gBAAL,CAAsBthK,KAAtB;;IACA,IAAI,KAAKohK,OAAT,EACI,KAAKA,OAAL,CAAalX,UAAb,CAAwB,KAAKkX,OAAL,CAAaphK,KAArC;EACP;EACD;;;EACAshK,gBAAgB,CAACthK,KAAD,EAAQ;IACpB,KAAKgpC,SAAL,CAAe26B,WAAf,CAA2B,KAAKw9F,QAAL,CAAcz2H,aAAzC,EAAwD,OAAxD,EAAiE1qC,KAAjE;EACH;EACD;;;EACAqzB,WAAW,GAAG;IACV,IAAI,KAAK+tI,OAAT,EAAkB;MACd,KAAKA,OAAL,CAAaT,UAAb,CAAwBxkH,MAAxB,CAA+B,KAAKj6C,EAApC;;MACA,KAAKk/J,OAAL,CAAalX,UAAb,CAAwB,KAAKkX,OAAL,CAAaphK,KAArC;IACH;EACJ;;AAxCgB;;AA0CrBkhK,cAAc,CAACnxI,IAAf;EAAA,iBAA2GmxI,cAA3G,EA19K2G1zI,+DA09K3G,CAA2IA,qDAA3I,GA19K2GA,+DA09K3G,CAAqKA,oDAArK,GA19K2GA,+DA09K3G,CAA8L+yI,0BAA9L;AAAA;;AACAW,cAAc,CAACl2H,IAAf,kBA39K2Gxd,+DA29K3G;EAAA,MAA+F0zI,cAA/F;EAAA;EAAA;IAAA;IAAA;EAAA;AAAA;;AACA;EAAA,mDA59K2G1zI,+DA49K3G,CAA2F0zI,cAA3F,EAAuH,CAAC;IAC5GvwK,IAAI,EAAE49B,oDADsG;IAE5Gp+B,IAAI,EAAE,CAAC;MAAEmjB,QAAQ,EAAE;IAAZ,CAAD;EAFsG,CAAD,CAAvH,EAG4B,YAAY;IAAE,OAAO,CAAC;MAAE3iB,IAAI,EAAE68B,qDAAasd;IAArB,CAAD,EAA0B;MAAEn6C,IAAI,EAAE68B,oDAAYud;IAApB,CAA1B,EAAkD;MAAEp6C,IAAI,EAAE4vK,0BAAR;MAAoCtuI,UAAU,EAAE,CAAC;QAChIthC,IAAI,EAAEk9B,mDAAQA;MADkH,CAAD,EAEhI;QACCl9B,IAAI,EAAEg+B,+CAAIA;MADX,CAFgI;IAAhD,CAAlD,CAAP;EAIlB,CAPxB,EAO0C;IAAE0yI,OAAO,EAAE,CAAC;MACtC1wK,IAAI,EAAEmE,gDADgC;MAEtC3E,IAAI,EAAE,CAAC,SAAD;IAFgC,CAAD,CAAX;IAG1B6P,KAAK,EAAE,CAAC;MACRrP,IAAI,EAAEmE,gDADE;MAER3E,IAAI,EAAE,CAAC,OAAD;IAFE,CAAD;EAHmB,CAP1C;AAAA;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMoxK,8BAA8B,GAAG;EACnCj7G,OAAO,EAAEyjG,iBAD0B;EAEnCrjG,WAAW,EAAEe,yDAAU,CAAC,MAAM+5G,kCAAP,CAFY;EAGnC76G,KAAK,EAAE;AAH4B,CAAvC;;AAKA,SAAS86G,iBAAT,CAA2Bv/J,EAA3B,EAA+BlC,KAA/B,EAAsC;EAClC,IAAIkC,EAAE,IAAI,IAAV,EACI,OAAQ,GAAElC,KAAM,EAAhB;EACJ,IAAI,OAAOA,KAAP,KAAiB,QAArB,EACIA,KAAK,GAAI,IAAGA,KAAM,GAAlB;EACJ,IAAIA,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA9B,EACIA,KAAK,GAAG,QAAR;EACJ,OAAQ,GAAEkC,EAAG,KAAIlC,KAAM,EAAhB,CAAkBpO,KAAlB,CAAwB,CAAxB,EAA2B,EAA3B,CAAP;AACH;;AACD,SAAS8vK,UAAT,CAAoBhB,WAApB,EAAiC;EAC7B,OAAOA,WAAW,CAAClvK,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAP;AACH;AACD;;;AACA,MAAMmwK,cAAN,CAAqB;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMH,kCAAN,SAAiD1X,2BAAjD,CAA6E;EACzEh6J,WAAW,GAAG;IACV,MAAM,GAAGtB,SAAT;IACA;;IACA,KAAKmyK,UAAL,GAAkB,IAAI5qH,GAAJ,EAAlB;IACA;;IACA,KAAK6qH,UAAL,GAAkB,CAAlB;IACA,KAAKC,YAAL,GAAoBnyK,MAAM,CAACwmH,EAA3B;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACmB,IAAX4rD,WAAW,CAACp0K,EAAD,EAAK;IAChB,IAAI,OAAOA,EAAP,KAAc,UAAd,KAA6B,OAAO+/C,SAAP,KAAqB,WAArB,IAAoCA,SAAjE,CAAJ,EAAiF;MAC7E,MAAM,IAAI/d,2DAAJ,CAAkB;MAAK;MAAvB,EAAqE,gDAA+C6e,IAAI,CAACC,SAAL,CAAe9gD,EAAf,CAAmB,EAAvI,CAAN;IACH;;IACD,KAAKm0K,YAAL,GAAoBn0K,EAApB;EACH;EACD;AACJ;AACA;AACA;;;EACIw9J,UAAU,CAAClqJ,KAAD,EAAQ;IACd,KAAKA,KAAL,GAAaA,KAAb;IACA,IAAI4hK,yBAAJ;;IACA,IAAI30K,KAAK,CAACC,OAAN,CAAc8S,KAAd,CAAJ,EAA0B;MACtB;MACA,MAAM6hK,GAAG,GAAG7hK,KAAK,CAACmS,GAAN,CAAW1Y,CAAD,IAAO,KAAKsnK,YAAL,CAAkBtnK,CAAlB,CAAjB,CAAZ;;MACAmoK,yBAAyB,GAAG,CAACE,GAAD,EAAMp2I,CAAN,KAAY;QACpCo2I,GAAG,CAACC,YAAJ,CAAiBF,GAAG,CAACvwK,OAAJ,CAAYo6B,CAAC,CAAClR,QAAF,EAAZ,IAA4B,CAAC,CAA9C;MACH,CAFD;IAGH,CAND,MAOK;MACDonJ,yBAAyB,GAAG,CAACE,GAAD,EAAMp2I,CAAN,KAAY;QACpCo2I,GAAG,CAACC,YAAJ,CAAiB,KAAjB;MACH,CAFD;IAGH;;IACD,KAAKpB,UAAL,CAAgBpzK,OAAhB,CAAwBq0K,yBAAxB;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACIjY,gBAAgB,CAACj9J,EAAD,EAAK;IACjB,KAAK88J,QAAL,GAAiBz2J,OAAD,IAAa;MACzB,MAAMivK,QAAQ,GAAG,EAAjB;MACA,MAAMC,eAAe,GAAGlvK,OAAO,CAACkvK,eAAhC;;MACA,IAAIA,eAAe,KAAKl2K,SAAxB,EAAmC;QAC/B,MAAMmJ,OAAO,GAAG+sK,eAAhB;;QACA,KAAK,IAAI30K,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4H,OAAO,CAAC1H,MAA5B,EAAoCF,CAAC,EAArC,EAAyC;UACrC,MAAMw0K,GAAG,GAAG5sK,OAAO,CAAC5H,CAAD,CAAnB;;UACA,MAAM4C,GAAG,GAAG,KAAK8wK,eAAL,CAAqBc,GAAG,CAAC9hK,KAAzB,CAAZ;;UACAgiK,QAAQ,CAAC9vK,IAAT,CAAchC,GAAd;QACH;MACJ,CAPD,CAQA;MACA;MACA;MAVA,KAWK;QACD,MAAMgF,OAAO,GAAGnC,OAAO,CAACmC,OAAxB;;QACA,KAAK,IAAI5H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4H,OAAO,CAAC1H,MAA5B,EAAoCF,CAAC,EAArC,EAAyC;UACrC,MAAMw0K,GAAG,GAAG5sK,OAAO,CAAC5H,CAAD,CAAnB;;UACA,IAAIw0K,GAAG,CAACE,QAAR,EAAkB;YACd,MAAM9xK,GAAG,GAAG,KAAK8wK,eAAL,CAAqBc,GAAG,CAAC9hK,KAAzB,CAAZ;;YACAgiK,QAAQ,CAAC9vK,IAAT,CAAchC,GAAd;UACH;QACJ;MACJ;;MACD,KAAK8P,KAAL,GAAagiK,QAAb;MACAt1K,EAAE,CAACs1K,QAAD,CAAF;IACH,CA1BD;EA2BH;EACD;;;EACAf,eAAe,CAACjhK,KAAD,EAAQ;IACnB,MAAMkC,EAAE,GAAG,CAAC,KAAK0+J,UAAL,EAAD,EAAoBpmJ,QAApB,EAAX;;IACA,KAAKmmJ,UAAL,CAAgB1gK,GAAhB,CAAoBiC,EAApB,EAAwBlC,KAAxB;;IACA,OAAOkC,EAAP;EACH;EACD;;;EACA6+J,YAAY,CAAC/gK,KAAD,EAAQ;IAChB,KAAK,MAAMkC,EAAX,IAAiBjV,KAAK,CAAC6kB,IAAN,CAAW,KAAK6uJ,UAAL,CAAgBtxK,IAAhB,EAAX,CAAjB,EAAqD;MACjD,IAAI,KAAKwxK,YAAL,CAAkB,KAAKF,UAAL,CAAgBp9J,GAAhB,CAAoBrB,EAApB,EAAwB0G,MAA1C,EAAkD5I,KAAlD,CAAJ,EACI,OAAOkC,EAAP;IACP;;IACD,OAAO,IAAP;EACH;EACD;;;EACA8+J,eAAe,CAACN,WAAD,EAAc;IACzB,MAAMx+J,EAAE,GAAGw/J,UAAU,CAAChB,WAAD,CAArB;;IACA,OAAO,KAAKC,UAAL,CAAgB9kH,GAAhB,CAAoB35C,EAApB,IAA0B,KAAKy+J,UAAL,CAAgBp9J,GAAhB,CAAoBrB,EAApB,EAAwB0G,MAAlD,GAA2D83J,WAAlE;EACH;;AA7FwE;;AA+F7Ec,kCAAkC,CAACzxI,IAAnC;EAAA;EAAA;IAAA,8GAxoL2GvC,mEAwoL3G,CAA+Hg0I,kCAA/H,SAA+HA,kCAA/H;EAAA;AAAA;;AACAA,kCAAkC,CAACx2H,IAAnC,kBAzoL2Gxd,+DAyoL3G;EAAA,MAAmHg0I,kCAAnH;EAAA;EAAA;IAAA;MAzoL2Gh0I,wDAyoL3G;QAAA,OAAmH,2BAAnH;MAAA;QAAA,OAAmH,eAAnH;MAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA,WAzoL2GA,gEAyoL3G,CAAsY,CAAC+zI,8BAAD,CAAtY,GAzoL2G/zI,wEAyoL3G;AAAA;;AACA;EAAA,mDA1oL2GA,+DA0oL3G,CAA2Fg0I,kCAA3F,EAA2I,CAAC;IAChI7wK,IAAI,EAAE49B,oDAD0H;IAEhIp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,2FADX;MAEC2+D,IAAI,EAAE;QAAE,YAAY,yBAAd;QAAyC,UAAU;MAAnD,CAFP;MAGC5rB,SAAS,EAAE,CAACk7G,8BAAD;IAHZ,CAAD;EAF0H,CAAD,CAA3I,QAO4B;IAAET,WAAW,EAAE,CAAC;MAC5BnwK,IAAI,EAAEmE,gDAAKA;IADiB,CAAD;EAAf,CAP5B;AAAA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMotK,uBAAN,CAA8B;EAC1BpyK,WAAW,CAACqxK,QAAD,EAAWn4H,SAAX,EAAsBo4H,OAAtB,EAA+B;IACtC,KAAKD,QAAL,GAAgBA,QAAhB;IACA,KAAKn4H,SAAL,GAAiBA,SAAjB;IACA,KAAKo4H,OAAL,GAAeA,OAAf;;IACA,IAAI,KAAKA,OAAT,EAAkB;MACd,KAAKl/J,EAAL,GAAU,KAAKk/J,OAAL,CAAaH,eAAb,CAA6B,IAA7B,CAAV;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;;;EACe,IAAPI,OAAO,CAACrhK,KAAD,EAAQ;IACf,IAAI,KAAKohK,OAAL,IAAgB,IAApB,EACI;IACJ,KAAKx4J,MAAL,GAAc5I,KAAd;;IACA,KAAKshK,gBAAL,CAAsBG,iBAAiB,CAAC,KAAKv/J,EAAN,EAAUlC,KAAV,CAAvC;;IACA,KAAKohK,OAAL,CAAalX,UAAb,CAAwB,KAAKkX,OAAL,CAAaphK,KAArC;EACH;EACD;AACJ;AACA;AACA;AACA;;;EACa,IAALA,KAAK,CAACA,KAAD,EAAQ;IACb,IAAI,KAAKohK,OAAT,EAAkB;MACd,KAAKx4J,MAAL,GAAc5I,KAAd;;MACA,KAAKshK,gBAAL,CAAsBG,iBAAiB,CAAC,KAAKv/J,EAAN,EAAUlC,KAAV,CAAvC;;MACA,KAAKohK,OAAL,CAAalX,UAAb,CAAwB,KAAKkX,OAAL,CAAaphK,KAArC;IACH,CAJD,MAKK;MACD,KAAKshK,gBAAL,CAAsBthK,KAAtB;IACH;EACJ;EACD;;;EACAshK,gBAAgB,CAACthK,KAAD,EAAQ;IACpB,KAAKgpC,SAAL,CAAe26B,WAAf,CAA2B,KAAKw9F,QAAL,CAAcz2H,aAAzC,EAAwD,OAAxD,EAAiE1qC,KAAjE;EACH;EACD;;;EACA+hK,YAAY,CAACC,QAAD,EAAW;IACnB,KAAKh5H,SAAL,CAAe26B,WAAf,CAA2B,KAAKw9F,QAAL,CAAcz2H,aAAzC,EAAwD,UAAxD,EAAoEs3H,QAApE;EACH;EACD;;;EACA3uI,WAAW,GAAG;IACV,IAAI,KAAK+tI,OAAT,EAAkB;MACd,KAAKA,OAAL,CAAaT,UAAb,CAAwBxkH,MAAxB,CAA+B,KAAKj6C,EAApC;;MACA,KAAKk/J,OAAL,CAAalX,UAAb,CAAwB,KAAKkX,OAAL,CAAaphK,KAArC;IACH;EACJ;;AAlDyB;;AAoD9BkiK,uBAAuB,CAACnyI,IAAxB;EAAA,iBAAoHmyI,uBAApH,EAltL2G10I,+DAktL3G,CAA6JA,qDAA7J,GAltL2GA,+DAktL3G,CAAuLA,oDAAvL,GAltL2GA,+DAktL3G,CAAgNg0I,kCAAhN;AAAA;;AACAU,uBAAuB,CAACl3H,IAAxB,kBAntL2Gxd,+DAmtL3G;EAAA,MAAwG00I,uBAAxG;EAAA;EAAA;IAAA;IAAA;EAAA;AAAA;;AACA;EAAA,mDAptL2G10I,+DAotL3G,CAA2F00I,uBAA3F,EAAgI,CAAC;IACrHvxK,IAAI,EAAE49B,oDAD+G;IAErHp+B,IAAI,EAAE,CAAC;MAAEmjB,QAAQ,EAAE;IAAZ,CAAD;EAF+G,CAAD,CAAhI,EAG4B,YAAY;IAAE,OAAO,CAAC;MAAE3iB,IAAI,EAAE68B,qDAAasd;IAArB,CAAD,EAA0B;MAAEn6C,IAAI,EAAE68B,oDAAYud;IAApB,CAA1B,EAAkD;MAAEp6C,IAAI,EAAE6wK,kCAAR;MAA4CvvI,UAAU,EAAE,CAAC;QACxIthC,IAAI,EAAEk9B,mDAAQA;MAD0H,CAAD,EAExI;QACCl9B,IAAI,EAAEg+B,+CAAIA;MADX,CAFwI;IAAxD,CAAlD,CAAP;EAIlB,CAPxB,EAO0C;IAAE0yI,OAAO,EAAE,CAAC;MACtC1wK,IAAI,EAAEmE,gDADgC;MAEtC3E,IAAI,EAAE,CAAC,SAAD;IAFgC,CAAD,CAAX;IAG1B6P,KAAK,EAAE,CAAC;MACRrP,IAAI,EAAEmE,gDADE;MAER3E,IAAI,EAAE,CAAC,OAAD;IAFE,CAAD;EAHmB,CAP1C;AAAA;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgyK,SAAT,CAAmBniK,KAAnB,EAA0B;EACtB,OAAO,OAAOA,KAAP,KAAiB,QAAjB,GAA4BA,KAA5B,GAAoCqnC,QAAQ,CAACrnC,KAAD,EAAQ,EAAR,CAAnD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoiK,OAAT,CAAiBpiK,KAAjB,EAAwB;EACpB,OAAO,OAAOA,KAAP,KAAiB,QAAjB,GAA4BA,KAA5B,GAAoCye,UAAU,CAACze,KAAD,CAArD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqiK,0BAAN,CAAiC;EAC7BvyK,WAAW,GAAG;IACV,KAAKwyK,UAAL,GAAkBnW,aAAlB;EACH;EACD;;;EACA9gH,WAAW,CAACvB,OAAD,EAAU;IACjB,IAAI,KAAKy4H,SAAL,IAAkBz4H,OAAtB,EAA+B;MAC3B,MAAMzzC,KAAK,GAAG,KAAKmsK,cAAL,CAAoB14H,OAAO,CAAC,KAAKy4H,SAAN,CAAP,CAAwBr4H,YAA5C,CAAd;MACA,KAAKu4H,QAAL,GAAgB,KAAKj4H,OAAL,CAAan0C,KAAb,CAAhB;MACA,KAAKisK,UAAL,GAAkB,KAAKG,QAAL,GAAgB,KAAKC,eAAL,CAAqBrsK,KAArB,CAAhB,GAA8C81J,aAAhE;;MACA,IAAI,KAAKqP,SAAT,EAAoB;QAChB,KAAKA,SAAL;MACH;IACJ;EACJ;EACD;;;EACAxO,QAAQ,CAACxB,OAAD,EAAU;IACd,OAAO,KAAK8W,UAAL,CAAgB9W,OAAhB,CAAP;EACH;EACD;;;EACAyM,yBAAyB,CAACvrK,EAAD,EAAK;IAC1B,KAAK8uK,SAAL,GAAiB9uK,EAAjB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI89C,OAAO,CAACn0C,KAAD,EAAQ;IACX,OAAOA,KAAK,IAAI;IAAK;IAArB;EACH;;AAhC4B;;AAkCjCgsK,0BAA0B,CAACtyI,IAA3B;EAAA,iBAAuHsyI,0BAAvH;AAAA;;AACAA,0BAA0B,CAACr3H,IAA3B,kBAryL2Gxd,+DAqyL3G;EAAA,MAA2G60I,0BAA3G;EAAA,WAryL2G70I,kEAqyL3G;AAAA;;AACA;EAAA,mDAtyL2GA,+DAsyL3G,CAA2F60I,0BAA3F,EAAmI,CAAC;IACxH1xK,IAAI,EAAE49B,oDAASA;EADyG,CAAD,CAAnI;AAAA;AAGA;AACA;AACA;AACA;;;AACA,MAAMo0I,aAAa,GAAG;EAClBr8G,OAAO,EAAE2kG,aADS;EAElBvkG,WAAW,EAAEe,yDAAU,CAAC,MAAMm7G,YAAP,CAFL;EAGlBj8G,KAAK,EAAE;AAHW,CAAtB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMi8G,YAAN,SAA2BP,0BAA3B,CAAsD;EAClDvyK,WAAW,GAAG;IACV,MAAM,GAAGtB,SAAT;IACA;;IACA,KAAK+zK,SAAL,GAAiB,KAAjB;IACA;;IACA,KAAKC,cAAL,GAAuBnsK,KAAD,IAAW+rK,OAAO,CAAC/rK,KAAD,CAAxC;IACA;;;IACA,KAAKqsK,eAAL,GAAwBrjJ,GAAD,IAASisI,YAAY,CAACjsI,GAAD,CAA5C;EACH;;AATiD;;AAWtDujJ,YAAY,CAAC7yI,IAAb;EAAA;EAAA;IAAA,kEAl1L2GvC,mEAk1L3G,CAAyGo1I,YAAzG,SAAyGA,YAAzG;EAAA;AAAA;;AACAA,YAAY,CAAC53H,IAAb,kBAn1L2Gxd,+DAm1L3G;EAAA,MAA6Fo1I,YAA7F;EAAA;EAAA;EAAA;IAAA;MAn1L2Gp1I,yDAm1L3G;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA,WAn1L2GA,gEAm1L3G,CAAyU,CAACm1I,aAAD,CAAzU,GAn1L2Gn1I,wEAm1L3G;AAAA;;AACA;EAAA,mDAp1L2GA,+DAo1L3G,CAA2Fo1I,YAA3F,EAAqH,CAAC;IAC1GjyK,IAAI,EAAE49B,oDADoG;IAE1Gp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,gHADX;MAEC+yC,SAAS,EAAE,CAACs8G,aAAD,CAFZ;MAGC1wF,IAAI,EAAE;QAAE,cAAc;MAAhB;IAHP,CAAD;EAFoG,CAAD,CAArH,QAO4B;IAAE5yD,GAAG,EAAE,CAAC;MACpB1uB,IAAI,EAAEmE,gDAAKA;IADS,CAAD;EAAP,CAP5B;AAAA;AAUA;AACA;AACA;AACA;;;AACA,MAAM+tK,aAAa,GAAG;EAClBv8G,OAAO,EAAE2kG,aADS;EAElBvkG,WAAW,EAAEe,yDAAU,CAAC,MAAMq7G,YAAP,CAFL;EAGlBn8G,KAAK,EAAE;AAHW,CAAtB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMm8G,YAAN,SAA2BT,0BAA3B,CAAsD;EAClDvyK,WAAW,GAAG;IACV,MAAM,GAAGtB,SAAT;IACA;;IACA,KAAK+zK,SAAL,GAAiB,KAAjB;IACA;;IACA,KAAKC,cAAL,GAAuBnsK,KAAD,IAAW+rK,OAAO,CAAC/rK,KAAD,CAAxC;IACA;;;IACA,KAAKqsK,eAAL,GAAwBhkJ,GAAD,IAAS2sI,YAAY,CAAC3sI,GAAD,CAA5C;EACH;;AATiD;;AAWtDokJ,YAAY,CAAC/yI,IAAb;EAAA;EAAA;IAAA,kEAv4L2GvC,mEAu4L3G,CAAyGs1I,YAAzG,SAAyGA,YAAzG;EAAA;AAAA;;AACAA,YAAY,CAAC93H,IAAb,kBAx4L2Gxd,+DAw4L3G;EAAA,MAA6Fs1I,YAA7F;EAAA;EAAA;EAAA;IAAA;MAx4L2Gt1I,yDAw4L3G;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA,WAx4L2GA,gEAw4L3G,CAAyU,CAACq1I,aAAD,CAAzU,GAx4L2Gr1I,wEAw4L3G;AAAA;;AACA;EAAA,mDAz4L2GA,+DAy4L3G,CAA2Fs1I,YAA3F,EAAqH,CAAC;IAC1GnyK,IAAI,EAAE49B,oDADoG;IAE1Gp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,gHADX;MAEC+yC,SAAS,EAAE,CAACw8G,aAAD,CAFZ;MAGC5wF,IAAI,EAAE;QAAE,cAAc;MAAhB;IAHP,CAAD;EAFoG,CAAD,CAArH,QAO4B;IAAEvzD,GAAG,EAAE,CAAC;MACpB/tB,IAAI,EAAEmE,gDAAKA;IADS,CAAD;EAAP,CAP5B;AAAA;AAUA;AACA;AACA;AACA;;;AACA,MAAMiuK,kBAAkB,GAAG;EACvBz8G,OAAO,EAAE2kG,aADc;EAEvBvkG,WAAW,EAAEe,yDAAU,CAAC,MAAMu7G,iBAAP,CAFA;EAGvBr8G,KAAK,EAAE;AAHgB,CAA3B;AAKA;AACA;AACA;AACA;;AACA,MAAMs8G,2BAA2B,GAAG;EAChC38G,OAAO,EAAE2kG,aADuB;EAEhCvkG,WAAW,EAAEe,yDAAU,CAAC,MAAMy7G,yBAAP,CAFS;EAGhCv8G,KAAK,EAAE;AAHyB,CAApC;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMq8G,iBAAN,SAAgCX,0BAAhC,CAA2D;EACvDvyK,WAAW,GAAG;IACV,MAAM,GAAGtB,SAAT;IACA;;IACA,KAAK+zK,SAAL,GAAiB,UAAjB;IACA;;IACA,KAAKC,cAAL,GAAsBlc,8DAAtB;IACA;;IACA,KAAKoc,eAAL,GAAwBrsK,KAAD,IAAWo1J,iBAAlC;EACH;EACD;;;EACAjhH,OAAO,CAACn0C,KAAD,EAAQ;IACX,OAAOA,KAAP;EACH;;AAbsD;;AAe3D2sK,iBAAiB,CAACjzI,IAAlB;EAAA;EAAA;IAAA,4EAv8L2GvC,mEAu8L3G,CAA8Gw1I,iBAA9G,SAA8GA,iBAA9G;EAAA;AAAA;;AACAA,iBAAiB,CAACh4H,IAAlB,kBAx8L2Gxd,+DAw8L3G;EAAA,MAAkGw1I,iBAAlG;EAAA;EAAA;EAAA;IAAA;MAx8L2Gx1I,yDAw8L3G;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA,WAx8L2GA,gEAw8L3G,CAA2X,CAACu1I,kBAAD,CAA3X,GAx8L2Gv1I,wEAw8L3G;AAAA;;AACA;EAAA,mDAz8L2GA,+DAy8L3G,CAA2Fw1I,iBAA3F,EAA0H,CAAC;IAC/GryK,IAAI,EAAE49B,oDADyG;IAE/Gp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,wIADX;MAEC+yC,SAAS,EAAE,CAAC08G,kBAAD,CAFZ;MAGC9wF,IAAI,EAAE;QAAE,mBAAmB;MAArB;IAHP,CAAD;EAFyG,CAAD,CAA1H,QAO4B;IAAEs5E,QAAQ,EAAE,CAAC;MACzB56J,IAAI,EAAEmE,gDAAKA;IADc,CAAD;EAAZ,CAP5B;AAAA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMouK,yBAAN,SAAwCF,iBAAxC,CAA0D;EACtDlzK,WAAW,GAAG;IACV,MAAM,GAAGtB,SAAT;IACA;;IACA,KAAKk0K,eAAL,GAAwBrsK,KAAD,IAAWs1J,qBAAlC;EACH;;AALqD;;AAO1DuX,yBAAyB,CAACnzI,IAA1B;EAAA;EAAA;IAAA,4FA/+L2GvC,mEA++L3G,CAAsH01I,yBAAtH,SAAsHA,yBAAtH;EAAA;AAAA;;AACAA,yBAAyB,CAACl4H,IAA1B,kBAh/L2Gxd,+DAg/L3G;EAAA,MAA0G01I,yBAA1G;EAAA;EAAA;EAAA;IAAA;MAh/L2G11I,yDAg/L3G;IAAA;EAAA;EAAA,WAh/L2GA,gEAg/L3G,CAAsW,CAACy1I,2BAAD,CAAtW,GAh/L2Gz1I,wEAg/L3G;AAAA;;AACA;EAAA,mDAj/L2GA,+DAi/L3G,CAA2F01I,yBAA3F,EAAkI,CAAC;IACvHvyK,IAAI,EAAE49B,oDADiH;IAEvHp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,qIADX;MAEC+yC,SAAS,EAAE,CAAC48G,2BAAD,CAFZ;MAGChxF,IAAI,EAAE;QAAE,mBAAmB;MAArB;IAHP,CAAD;EAFiH,CAAD,CAAlI;AAAA;AAQA;AACA;AACA;AACA;;;AACA,MAAMkxF,eAAe,GAAG;EACpB78G,OAAO,EAAE2kG,aADW;EAEpBvkG,WAAW,EAAEe,yDAAU,CAAC,MAAM27G,cAAP,CAFH;EAGpBz8G,KAAK,EAAE;AAHa,CAAxB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMy8G,cAAN,SAA6Bf,0BAA7B,CAAwD;EACpDvyK,WAAW,GAAG;IACV,MAAM,GAAGtB,SAAT;IACA;;IACA,KAAK+zK,SAAL,GAAiB,OAAjB;IACA;;IACA,KAAKC,cAAL,GAAsBlc,8DAAtB;IACA;;IACA,KAAKoc,eAAL,GAAwBrsK,KAAD,IAAWw1J,cAAlC;EACH;EACD;;;EACArhH,OAAO,CAACn0C,KAAD,EAAQ;IACX,OAAOA,KAAP;EACH;;AAbmD;;AAexD+sK,cAAc,CAACrzI,IAAf;EAAA;EAAA;IAAA,sEA5iM2GvC,mEA4iM3G,CAA2G41I,cAA3G,SAA2GA,cAA3G;EAAA;AAAA;;AACAA,cAAc,CAACp4H,IAAf,kBA7iM2Gxd,+DA6iM3G;EAAA,MAA+F41I,cAA/F;EAAA;EAAA;IAAA;EAAA;EAAA,WA7iM2G51I,gEA6iM3G,CAAkO,CAAC21I,eAAD,CAAlO,GA7iM2G31I,wEA6iM3G;AAAA;;AACA;EAAA,mDA9iM2GA,+DA8iM3G,CAA2F41I,cAA3F,EAAuH,CAAC;IAC5GzyK,IAAI,EAAE49B,oDADsG;IAE5Gp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,gEADX;MAEC+yC,SAAS,EAAE,CAAC88G,eAAD;IAFZ,CAAD;EAFsG,CAAD,CAAvH,QAM4B;IAAEvX,KAAK,EAAE,CAAC;MACtBj7J,IAAI,EAAEmE,gDAAKA;IADW,CAAD;EAAT,CAN5B;AAAA;AASA;AACA;AACA;AACA;;;AACA,MAAMuuK,oBAAoB,GAAG;EACzB/8G,OAAO,EAAE2kG,aADgB;EAEzBvkG,WAAW,EAAEe,yDAAU,CAAC,MAAM67G,kBAAP,CAFE;EAGzB38G,KAAK,EAAE;AAHkB,CAA7B;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM28G,kBAAN,SAAiCjB,0BAAjC,CAA4D;EACxDvyK,WAAW,GAAG;IACV,MAAM,GAAGtB,SAAT;IACA;;IACA,KAAK+zK,SAAL,GAAiB,WAAjB;IACA;;IACA,KAAKC,cAAL,GAAuBnsK,KAAD,IAAW8rK,SAAS,CAAC9rK,KAAD,CAA1C;IACA;;;IACA,KAAKqsK,eAAL,GAAwBa,SAAD,IAAexX,kBAAkB,CAACwX,SAAD,CAAxD;EACH;;AATuD;;AAW5DD,kBAAkB,CAACvzI,IAAnB;EAAA;EAAA;IAAA,8EAhmM2GvC,mEAgmM3G,CAA+G81I,kBAA/G,SAA+GA,kBAA/G;EAAA;AAAA;;AACAA,kBAAkB,CAACt4H,IAAnB,kBAjmM2Gxd,+DAimM3G;EAAA,MAAmG81I,kBAAnG;EAAA;EAAA;EAAA;IAAA;MAjmM2G91I,yDAimM3G;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA,WAjmM2GA,gEAimM3G,CAAyU,CAAC61I,oBAAD,CAAzU,GAjmM2G71I,wEAimM3G;AAAA;;AACA;EAAA,mDAlmM2GA,+DAkmM3G,CAA2F81I,kBAA3F,EAA2H,CAAC;IAChH3yK,IAAI,EAAE49B,oDAD0G;IAEhHp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,4EADX;MAEC+yC,SAAS,EAAE,CAACg9G,oBAAD,CAFZ;MAGCpxF,IAAI,EAAE;QAAE,oBAAoB;MAAtB;IAHP,CAAD;EAF0G,CAAD,CAA3H,QAO4B;IAAEsxF,SAAS,EAAE,CAAC;MAC1B5yK,IAAI,EAAEmE,gDAAKA;IADe,CAAD;EAAb,CAP5B;AAAA;AAUA;AACA;AACA;AACA;;;AACA,MAAM0uK,oBAAoB,GAAG;EACzBl9G,OAAO,EAAE2kG,aADgB;EAEzBvkG,WAAW,EAAEe,yDAAU,CAAC,MAAMg8G,kBAAP,CAFE;EAGzB98G,KAAK,EAAE;AAHkB,CAA7B;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM88G,kBAAN,SAAiCpB,0BAAjC,CAA4D;EACxDvyK,WAAW,GAAG;IACV,MAAM,GAAGtB,SAAT;IACA;;IACA,KAAK+zK,SAAL,GAAiB,WAAjB;IACA;;IACA,KAAKC,cAAL,GAAuBnsK,KAAD,IAAW8rK,SAAS,CAAC9rK,KAAD,CAA1C;IACA;;;IACA,KAAKqsK,eAAL,GAAwBgB,SAAD,IAAezX,kBAAkB,CAACyX,SAAD,CAAxD;EACH;;AATuD;;AAW5DD,kBAAkB,CAAC1zI,IAAnB;EAAA;EAAA;IAAA,8EArpM2GvC,mEAqpM3G,CAA+Gi2I,kBAA/G,SAA+GA,kBAA/G;EAAA;AAAA;;AACAA,kBAAkB,CAACz4H,IAAnB,kBAtpM2Gxd,+DAspM3G;EAAA,MAAmGi2I,kBAAnG;EAAA;EAAA;EAAA;IAAA;MAtpM2Gj2I,yDAspM3G;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA,WAtpM2GA,gEAspM3G,CAAyU,CAACg2I,oBAAD,CAAzU,GAtpM2Gh2I,wEAspM3G;AAAA;;AACA;EAAA,mDAvpM2GA,+DAupM3G,CAA2Fi2I,kBAA3F,EAA2H,CAAC;IAChH9yK,IAAI,EAAE49B,oDAD0G;IAEhHp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,4EADX;MAEC+yC,SAAS,EAAE,CAACm9G,oBAAD,CAFZ;MAGCvxF,IAAI,EAAE;QAAE,oBAAoB;MAAtB;IAHP,CAAD;EAF0G,CAAD,CAA3H,QAO4B;IAAEyxF,SAAS,EAAE,CAAC;MAC1B/yK,IAAI,EAAEmE,gDAAKA;IADe,CAAD;EAAb,CAP5B;AAAA;AAUA;AACA;AACA;AACA;;;AACA,MAAM6uK,iBAAiB,GAAG;EACtBr9G,OAAO,EAAE2kG,aADa;EAEtBvkG,WAAW,EAAEe,yDAAU,CAAC,MAAMm8G,gBAAP,CAFD;EAGtBj9G,KAAK,EAAE;AAHe,CAA1B;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMi9G,gBAAN,SAA+BvB,0BAA/B,CAA0D;EACtDvyK,WAAW,GAAG;IACV,MAAM,GAAGtB,SAAT;IACA;;IACA,KAAK+zK,SAAL,GAAiB,SAAjB;IACA;;IACA,KAAKC,cAAL,GAAuBnsK,KAAD,IAAWA,KAAjC;IACA;;;IACA,KAAKqsK,eAAL,GAAwBrsK,KAAD,IAAW61J,gBAAgB,CAAC71J,KAAD,CAAlD;EACH;;AATqD;;AAW1DutK,gBAAgB,CAAC7zI,IAAjB;EAAA;EAAA;IAAA,0EA5sM2GvC,mEA4sM3G,CAA6Go2I,gBAA7G,SAA6GA,gBAA7G;EAAA;AAAA;;AACAA,gBAAgB,CAAC54H,IAAjB,kBA7sM2Gxd,+DA6sM3G;EAAA,MAAiGo2I,gBAAjG;EAAA;EAAA;EAAA;IAAA;MA7sM2Gp2I,yDA6sM3G;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA,WA7sM2GA,gEA6sM3G,CAAuT,CAACm2I,iBAAD,CAAvT,GA7sM2Gn2I,wEA6sM3G;AAAA;;AACA;EAAA,mDA9sM2GA,+DA8sM3G,CAA2Fo2I,gBAA3F,EAAyH,CAAC;IAC9GjzK,IAAI,EAAE49B,oDADwG;IAE9Gp+B,IAAI,EAAE,CAAC;MACCmjB,QAAQ,EAAE,sEADX;MAEC+yC,SAAS,EAAE,CAACs9G,iBAAD,CAFZ;MAGC1xF,IAAI,EAAE;QAAE,kBAAkB;MAApB;IAHP,CAAD;EAFwG,CAAD,CAAzH,QAO4B;IAAE/uC,OAAO,EAAE,CAAC;MACxBvyC,IAAI,EAAEmE,gDAAKA;IADa,CAAD;EAAX,CAP5B;AAAA;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+uK,sBAAsB,GAAG,CAC3BxG,aAD2B,EAE3B6D,cAF2B,EAG3BgB,uBAH2B,EAI3B9X,oBAJ2B,EAK3BmT,mBAL2B,EAM3BkB,kBAN2B,EAO3BxU,4BAP2B,EAQ3BsW,0BAR2B,EAS3BiB,kCAT2B,EAU3B/D,yBAV2B,EAW3BnN,eAX2B,EAY3BC,oBAZ2B,EAa3ByS,iBAb2B,EAc3BM,kBAd2B,EAe3BG,kBAf2B,EAgB3BG,gBAhB2B,EAiB3BV,yBAjB2B,EAkB3BE,cAlB2B,EAmB3BN,YAnB2B,EAoB3BF,YApB2B,CAA/B;AAsBA,MAAMkB,0BAA0B,GAAG,CAACtH,OAAD,EAAUF,YAAV,EAAwBjC,MAAxB,CAAnC;AACA,MAAM0J,0BAA0B,GAAG,CAACnF,oBAAD,EAAuBK,kBAAvB,EAA2CmB,eAA3C,EAA4DL,aAA5D,EAA2EG,aAA3E,CAAnC;AACA;AACA;AACA;;AACA,MAAM8D,0BAAN,CAAiC;;AAEjCA,0BAA0B,CAACj0I,IAA3B;EAAA,iBAAuHi0I,0BAAvH;AAAA;;AACAA,0BAA0B,CAAC5sH,IAA3B,kBA9vM2G5pB,8DA8vM3G;EAAA,MAAwHw2I;AAAxH;AAuCAA,0BAA0B,CAAC3sH,IAA3B,kBAryM2G7pB,8DAqyM3G;EAAA,UAA8JmwI,0BAA9J;AAAA;;AACA;EAAA,mDAtyM2GnwI,+DAsyM3G,CAA2Fw2I,0BAA3F,EAAmI,CAAC;IACxHrzK,IAAI,EAAEu+B,mDADkH;IAExH/+B,IAAI,EAAE,CAAC;MACCgiE,YAAY,EAAE0xG,sBADf;MAECvsH,OAAO,EAAE,CAACqmH,0BAAD,CAFV;MAGCn1J,OAAO,EAAEq7J;IAHV,CAAD;EAFkH,CAAD,CAAnI;AAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMI,WAAN,CAAkB;;AAElBA,WAAW,CAACl0I,IAAZ;EAAA,iBAAwGk0I,WAAxG;AAAA;;AACAA,WAAW,CAAC7sH,IAAZ,kBAr0M2G5pB,8DAq0M3G;EAAA,MAAyGy2I;AAAzG;AACAA,WAAW,CAAC5sH,IAAZ,kBAt0M2G7pB,8DAs0M3G;EAAA,UAAgIw2I,0BAAhI;AAAA;;AACA;EAAA,mDAv0M2Gx2I,+DAu0M3G,CAA2Fy2I,WAA3F,EAAoH,CAAC;IACzGtzK,IAAI,EAAEu+B,mDADmG;IAEzG/+B,IAAI,EAAE,CAAC;MACCgiE,YAAY,EAAE2xG,0BADf;MAECt7J,OAAO,EAAE,CAACw7J,0BAAD,EAA6BF,0BAA7B;IAFV,CAAD;EAFmG,CAAD,CAApH;AAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMI,mBAAN,CAA0B;EACtB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACqB,OAAVC,UAAU,CAACz5G,IAAD,EAAO;IACpB,OAAO;MACHlf,QAAQ,EAAE04H,mBADP;MAEH79G,SAAS,EAAE,CACP;QAAEC,OAAO,EAAEo4G,kCAAX;QAA+Cj4G,QAAQ,EAAEiE,IAAI,CAAC05G;MAA9D,CADO;IAFR,CAAP;EAMH;;AAhBqB;;AAkB1BF,mBAAmB,CAACn0I,IAApB;EAAA,iBAAgHm0I,mBAAhH;AAAA;;AACAA,mBAAmB,CAAC9sH,IAApB,kBA92M2G5pB,8DA82M3G;EAAA,MAAiH02I;AAAjH;AACAA,mBAAmB,CAAC7sH,IAApB,kBA/2M2G7pB,8DA+2M3G;EAAA,UAAgJw2I,0BAAhJ;AAAA;;AACA;EAAA,mDAh3M2Gx2I,+DAg3M3G,CAA2F02I,mBAA3F,EAA4H,CAAC;IACjHvzK,IAAI,EAAEu+B,mDAD2G;IAEjH/+B,IAAI,EAAE,CAAC;MACCgiE,YAAY,EAAE,CAAC4xG,0BAAD,CADf;MAECv7J,OAAO,EAAE,CAACw7J,0BAAD,EAA6BD,0BAA7B;IAFV,CAAD;EAF2G,CAAD,CAA5H;AAAA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,SAAwB3R,eAAxB,CAAwC;EACpC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACI5iK,WAAW,CAACyiK,QAAD,EAAWR,eAAX,EAA4B9C,cAA5B,EAA4C;IACnD,MAAM6C,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAACjD,cAAD,EAAiB8C,eAAjB,CAA1D;IACA,KAAKQ,QAAL,GAAgBA,QAAhB;;IACA,KAAKmD,gBAAL;;IACA,KAAKM,kBAAL,CAAwBjE,eAAxB;;IACA,KAAKoE,cAAL;;IACA,KAAKzB,sBAAL,CAA4B;MACxBd,QAAQ,EAAE,IADc;MAExB;MACA;MACA;MACA;MACAQ,SAAS,EAAE,CAAC,CAAC,KAAKnF;IANM,CAA5B;EAQH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACIqV,EAAE,CAACx1K,KAAD,EAAQ;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","sources":["./node_modules/hammerjs/hammer.js","./node_modules/rxjs/_esm2015/internal/BehaviorSubject.js","./node_modules/rxjs/_esm2015/internal/InnerSubscriber.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/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/innerSubscribe.js","./node_modules/rxjs/_esm2015/internal/observable/ConnectableObservable.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/merge.js","./node_modules/rxjs/_esm2015/internal/observable/of.js","./node_modules/rxjs/_esm2015/internal/observable/throwError.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/defaultIfEmpty.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/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/refCount.js","./node_modules/rxjs/_esm2015/internal/operators/scan.js","./node_modules/rxjs/_esm2015/internal/operators/share.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/takeWhile.js","./node_modules/rxjs/_esm2015/internal/operators/tap.js","./node_modules/rxjs/_esm2015/internal/operators/throwIfEmpty.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/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/ObjectUnsubscribedError.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/isFunction.js","./node_modules/rxjs/_esm2015/internal/util/isInteropObservable.js","./node_modules/rxjs/_esm2015/internal/util/isIterable.js","./node_modules/rxjs/_esm2015/internal/util/isObject.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/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/svg-pan-zoom/src/browserify.js","./node_modules/svg-pan-zoom/src/control-icons.js","./node_modules/svg-pan-zoom/src/shadow-viewport.js","./node_modules/svg-pan-zoom/src/svg-pan-zoom.js","./node_modules/svg-pan-zoom/src/svg-utilities.js","./node_modules/svg-pan-zoom/src/uniwheel.js","./node_modules/svg-pan-zoom/src/utilities.js","./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/platform-browser.mjs","./node_modules/@angular/router/fesm2020/router.mjs"],"sourcesContent":["/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\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 { 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 { 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._ctorUnsubscribe = true;\n this._unsubscribe = unsubscribe;\n }\n }\n unsubscribe() {\n let errors;\n if (this.closed) {\n return;\n }\n let { _parentOrParents, _ctorUnsubscribe, _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 if (_ctorUnsubscribe) {\n this._unsubscribe = undefined;\n }\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 { Subscriber } from './Subscriber';\nimport { Observable } from './Observable';\nimport { subscribeTo } from './util/subscribeTo';\nexport class SimpleInnerSubscriber extends Subscriber {\n constructor(parent) {\n super();\n this.parent = parent;\n }\n _next(value) {\n this.parent.notifyNext(value);\n }\n _error(error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n }\n _complete() {\n this.parent.notifyComplete();\n this.unsubscribe();\n }\n}\nexport class ComplexInnerSubscriber extends Subscriber {\n constructor(parent, outerValue, outerIndex) {\n super();\n this.parent = parent;\n this.outerValue = outerValue;\n this.outerIndex = outerIndex;\n }\n _next(value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this);\n }\n _error(error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n }\n _complete() {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n }\n}\nexport class SimpleOuterSubscriber extends Subscriber {\n notifyNext(innerValue) {\n this.destination.next(innerValue);\n }\n notifyError(err) {\n this.destination.error(err);\n }\n notifyComplete() {\n this.destination.complete();\n }\n}\nexport class ComplexOuterSubscriber extends Subscriber {\n notifyNext(_outerValue, innerValue, _outerIndex, _innerSub) {\n this.destination.next(innerValue);\n }\n notifyError(error) {\n this.destination.error(error);\n }\n notifyComplete(_innerSub) {\n this.destination.complete();\n }\n}\nexport function innerSubscribe(result, innerSubscriber) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n let subscription;\n try {\n subscription = subscribeTo(result)(innerSubscriber);\n }\n catch (error) {\n innerSubscriber.error(error);\n }\n return subscription;\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 { 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 = undefined;\n let scheduler = undefined;\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, undefined, i));\n }\n }\n }\n notifyComplete(unused) {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n }\n notifyNext(_outerValue, innerValue, outerIndex) {\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 { 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 { 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';\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 { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\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 SimpleOuterSubscriber {\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 SimpleInnerSubscriber(this);\n this.add(innerSubscriber);\n const innerSubscription = innerSubscribe(result, 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';\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 { 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 { 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 { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\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 SimpleOuterSubscriber {\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);\n }\n _innerSub(ish) {\n const innerSubscriber = new SimpleInnerSubscriber(this);\n const destination = this.destination;\n destination.add(innerSubscriber);\n const innerSubscription = innerSubscribe(ish, 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(innerValue) {\n this.destination.next(innerValue);\n }\n notifyComplete() {\n const buffer = this.buffer;\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}\nexport const flatMap = mergeMap;\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';\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 { 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 { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\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 SimpleOuterSubscriber {\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);\n }\n _innerSub(result) {\n const innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n const innerSubscriber = new SimpleInnerSubscriber(this);\n const destination = this.destination;\n destination.add(innerSubscriber);\n this.innerSubscription = innerSubscribe(result, 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 = undefined;\n }\n notifyComplete() {\n this.innerSubscription = undefined;\n if (this.isStopped) {\n super._complete();\n }\n }\n notifyNext(innerValue) {\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 { 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 { 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","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","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 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 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","export function isObject(x) {\n return x !== null && typeof x === 'object';\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","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 let item;\n try {\n item = iterator.next();\n }\n catch (err) {\n subscriber.error(err);\n return subscriber;\n }\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","var SvgPanZoom = require(\"./svg-pan-zoom.js\");\n\nmodule.exports = SvgPanZoom;\n","var SvgUtils = require(\"./svg-utilities\");\n\nmodule.exports = {\n enable: function(instance) {\n // Select (and create if necessary) defs\n var defs = instance.svg.querySelector(\"defs\");\n if (!defs) {\n defs = document.createElementNS(SvgUtils.svgNS, \"defs\");\n instance.svg.appendChild(defs);\n }\n\n // Check for style element, and create it if it doesn't exist\n var styleEl = defs.querySelector(\"style#svg-pan-zoom-controls-styles\");\n if (!styleEl) {\n var style = document.createElementNS(SvgUtils.svgNS, \"style\");\n style.setAttribute(\"id\", \"svg-pan-zoom-controls-styles\");\n style.setAttribute(\"type\", \"text/css\");\n style.textContent =\n \".svg-pan-zoom-control { cursor: pointer; fill: black; fill-opacity: 0.333; } .svg-pan-zoom-control:hover { fill-opacity: 0.8; } .svg-pan-zoom-control-background { fill: white; fill-opacity: 0.5; } .svg-pan-zoom-control-background { fill-opacity: 0.8; }\";\n defs.appendChild(style);\n }\n\n // Zoom Group\n var zoomGroup = document.createElementNS(SvgUtils.svgNS, \"g\");\n zoomGroup.setAttribute(\"id\", \"svg-pan-zoom-controls\");\n zoomGroup.setAttribute(\n \"transform\",\n \"translate(\" +\n (instance.width - 70) +\n \" \" +\n (instance.height - 76) +\n \") scale(0.75)\"\n );\n zoomGroup.setAttribute(\"class\", \"svg-pan-zoom-control\");\n\n // Control elements\n zoomGroup.appendChild(this._createZoomIn(instance));\n zoomGroup.appendChild(this._createZoomReset(instance));\n zoomGroup.appendChild(this._createZoomOut(instance));\n\n // Finally append created element\n instance.svg.appendChild(zoomGroup);\n\n // Cache control instance\n instance.controlIcons = zoomGroup;\n },\n\n _createZoomIn: function(instance) {\n var zoomIn = document.createElementNS(SvgUtils.svgNS, \"g\");\n zoomIn.setAttribute(\"id\", \"svg-pan-zoom-zoom-in\");\n zoomIn.setAttribute(\"transform\", \"translate(30.5 5) scale(0.015)\");\n zoomIn.setAttribute(\"class\", \"svg-pan-zoom-control\");\n zoomIn.addEventListener(\n \"click\",\n function() {\n instance.getPublicInstance().zoomIn();\n },\n false\n );\n zoomIn.addEventListener(\n \"touchstart\",\n function() {\n instance.getPublicInstance().zoomIn();\n },\n false\n );\n\n var zoomInBackground = document.createElementNS(SvgUtils.svgNS, \"rect\"); // TODO change these background space fillers to rounded rectangles so they look prettier\n zoomInBackground.setAttribute(\"x\", \"0\");\n zoomInBackground.setAttribute(\"y\", \"0\");\n zoomInBackground.setAttribute(\"width\", \"1500\"); // larger than expected because the whole group is transformed to scale down\n zoomInBackground.setAttribute(\"height\", \"1400\");\n zoomInBackground.setAttribute(\"class\", \"svg-pan-zoom-control-background\");\n zoomIn.appendChild(zoomInBackground);\n\n var zoomInShape = document.createElementNS(SvgUtils.svgNS, \"path\");\n zoomInShape.setAttribute(\n \"d\",\n \"M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z\"\n );\n zoomInShape.setAttribute(\"class\", \"svg-pan-zoom-control-element\");\n zoomIn.appendChild(zoomInShape);\n\n return zoomIn;\n },\n\n _createZoomReset: function(instance) {\n // reset\n var resetPanZoomControl = document.createElementNS(SvgUtils.svgNS, \"g\");\n resetPanZoomControl.setAttribute(\"id\", \"svg-pan-zoom-reset-pan-zoom\");\n resetPanZoomControl.setAttribute(\"transform\", \"translate(5 35) scale(0.4)\");\n resetPanZoomControl.setAttribute(\"class\", \"svg-pan-zoom-control\");\n resetPanZoomControl.addEventListener(\n \"click\",\n function() {\n instance.getPublicInstance().reset();\n },\n false\n );\n resetPanZoomControl.addEventListener(\n \"touchstart\",\n function() {\n instance.getPublicInstance().reset();\n },\n false\n );\n\n var resetPanZoomControlBackground = document.createElementNS(\n SvgUtils.svgNS,\n \"rect\"\n ); // TODO change these background space fillers to rounded rectangles so they look prettier\n resetPanZoomControlBackground.setAttribute(\"x\", \"2\");\n resetPanZoomControlBackground.setAttribute(\"y\", \"2\");\n resetPanZoomControlBackground.setAttribute(\"width\", \"182\"); // larger than expected because the whole group is transformed to scale down\n resetPanZoomControlBackground.setAttribute(\"height\", \"58\");\n resetPanZoomControlBackground.setAttribute(\n \"class\",\n \"svg-pan-zoom-control-background\"\n );\n resetPanZoomControl.appendChild(resetPanZoomControlBackground);\n\n var resetPanZoomControlShape1 = document.createElementNS(\n SvgUtils.svgNS,\n \"path\"\n );\n resetPanZoomControlShape1.setAttribute(\n \"d\",\n \"M33.051,20.632c-0.742-0.406-1.854-0.609-3.338-0.609h-7.969v9.281h7.769c1.543,0,2.701-0.188,3.473-0.562c1.365-0.656,2.048-1.953,2.048-3.891C35.032,22.757,34.372,21.351,33.051,20.632z\"\n );\n resetPanZoomControlShape1.setAttribute(\n \"class\",\n \"svg-pan-zoom-control-element\"\n );\n resetPanZoomControl.appendChild(resetPanZoomControlShape1);\n\n var resetPanZoomControlShape2 = document.createElementNS(\n SvgUtils.svgNS,\n \"path\"\n );\n resetPanZoomControlShape2.setAttribute(\n \"d\",\n \"M170.231,0.5H15.847C7.102,0.5,0.5,5.708,0.5,11.84v38.861C0.5,56.833,7.102,61.5,15.847,61.5h154.384c8.745,0,15.269-4.667,15.269-10.798V11.84C185.5,5.708,178.976,0.5,170.231,0.5z M42.837,48.569h-7.969c-0.219-0.766-0.375-1.383-0.469-1.852c-0.188-0.969-0.289-1.961-0.305-2.977l-0.047-3.211c-0.03-2.203-0.41-3.672-1.142-4.406c-0.732-0.734-2.103-1.102-4.113-1.102h-7.05v13.547h-7.055V14.022h16.524c2.361,0.047,4.178,0.344,5.45,0.891c1.272,0.547,2.351,1.352,3.234,2.414c0.731,0.875,1.31,1.844,1.737,2.906s0.64,2.273,0.64,3.633c0,1.641-0.414,3.254-1.242,4.84s-2.195,2.707-4.102,3.363c1.594,0.641,2.723,1.551,3.387,2.73s0.996,2.98,0.996,5.402v2.32c0,1.578,0.063,2.648,0.19,3.211c0.19,0.891,0.635,1.547,1.333,1.969V48.569z M75.579,48.569h-26.18V14.022h25.336v6.117H56.454v7.336h16.781v6H56.454v8.883h19.125V48.569z M104.497,46.331c-2.44,2.086-5.887,3.129-10.34,3.129c-4.548,0-8.125-1.027-10.731-3.082s-3.909-4.879-3.909-8.473h6.891c0.224,1.578,0.662,2.758,1.316,3.539c1.196,1.422,3.246,2.133,6.15,2.133c1.739,0,3.151-0.188,4.236-0.562c2.058-0.719,3.087-2.055,3.087-4.008c0-1.141-0.504-2.023-1.512-2.648c-1.008-0.609-2.607-1.148-4.796-1.617l-3.74-0.82c-3.676-0.812-6.201-1.695-7.576-2.648c-2.328-1.594-3.492-4.086-3.492-7.477c0-3.094,1.139-5.664,3.417-7.711s5.623-3.07,10.036-3.07c3.685,0,6.829,0.965,9.431,2.895c2.602,1.93,3.966,4.73,4.093,8.402h-6.938c-0.128-2.078-1.057-3.555-2.787-4.43c-1.154-0.578-2.587-0.867-4.301-0.867c-1.907,0-3.428,0.375-4.565,1.125c-1.138,0.75-1.706,1.797-1.706,3.141c0,1.234,0.561,2.156,1.682,2.766c0.721,0.406,2.25,0.883,4.589,1.43l6.063,1.43c2.657,0.625,4.648,1.461,5.975,2.508c2.059,1.625,3.089,3.977,3.089,7.055C108.157,41.624,106.937,44.245,104.497,46.331z M139.61,48.569h-26.18V14.022h25.336v6.117h-18.281v7.336h16.781v6h-16.781v8.883h19.125V48.569z M170.337,20.14h-10.336v28.43h-7.266V20.14h-10.383v-6.117h27.984V20.14z\"\n );\n resetPanZoomControlShape2.setAttribute(\n \"class\",\n \"svg-pan-zoom-control-element\"\n );\n resetPanZoomControl.appendChild(resetPanZoomControlShape2);\n\n return resetPanZoomControl;\n },\n\n _createZoomOut: function(instance) {\n // zoom out\n var zoomOut = document.createElementNS(SvgUtils.svgNS, \"g\");\n zoomOut.setAttribute(\"id\", \"svg-pan-zoom-zoom-out\");\n zoomOut.setAttribute(\"transform\", \"translate(30.5 70) scale(0.015)\");\n zoomOut.setAttribute(\"class\", \"svg-pan-zoom-control\");\n zoomOut.addEventListener(\n \"click\",\n function() {\n instance.getPublicInstance().zoomOut();\n },\n false\n );\n zoomOut.addEventListener(\n \"touchstart\",\n function() {\n instance.getPublicInstance().zoomOut();\n },\n false\n );\n\n var zoomOutBackground = document.createElementNS(SvgUtils.svgNS, \"rect\"); // TODO change these background space fillers to rounded rectangles so they look prettier\n zoomOutBackground.setAttribute(\"x\", \"0\");\n zoomOutBackground.setAttribute(\"y\", \"0\");\n zoomOutBackground.setAttribute(\"width\", \"1500\"); // larger than expected because the whole group is transformed to scale down\n zoomOutBackground.setAttribute(\"height\", \"1400\");\n zoomOutBackground.setAttribute(\"class\", \"svg-pan-zoom-control-background\");\n zoomOut.appendChild(zoomOutBackground);\n\n var zoomOutShape = document.createElementNS(SvgUtils.svgNS, \"path\");\n zoomOutShape.setAttribute(\n \"d\",\n \"M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z\"\n );\n zoomOutShape.setAttribute(\"class\", \"svg-pan-zoom-control-element\");\n zoomOut.appendChild(zoomOutShape);\n\n return zoomOut;\n },\n\n disable: function(instance) {\n if (instance.controlIcons) {\n instance.controlIcons.parentNode.removeChild(instance.controlIcons);\n instance.controlIcons = null;\n }\n }\n};\n","var SvgUtils = require(\"./svg-utilities\"),\n Utils = require(\"./utilities\");\n\nvar ShadowViewport = function(viewport, options) {\n this.init(viewport, options);\n};\n\n/**\n * Initialization\n *\n * @param {SVGElement} viewport\n * @param {Object} options\n */\nShadowViewport.prototype.init = function(viewport, options) {\n // DOM Elements\n this.viewport = viewport;\n this.options = options;\n\n // State cache\n this.originalState = { zoom: 1, x: 0, y: 0 };\n this.activeState = { zoom: 1, x: 0, y: 0 };\n\n this.updateCTMCached = Utils.proxy(this.updateCTM, this);\n\n // Create a custom requestAnimationFrame taking in account refreshRate\n this.requestAnimationFrame = Utils.createRequestAnimationFrame(\n this.options.refreshRate\n );\n\n // ViewBox\n this.viewBox = { x: 0, y: 0, width: 0, height: 0 };\n this.cacheViewBox();\n\n // Process CTM\n var newCTM = this.processCTM();\n\n // Update viewport CTM and cache zoom and pan\n this.setCTM(newCTM);\n\n // Update CTM in this frame\n this.updateCTM();\n};\n\n/**\n * Cache initial viewBox value\n * If no viewBox is defined, then use viewport size/position instead for viewBox values\n */\nShadowViewport.prototype.cacheViewBox = function() {\n var svgViewBox = this.options.svg.getAttribute(\"viewBox\");\n\n if (svgViewBox) {\n var viewBoxValues = svgViewBox\n .split(/[\\s\\,]/)\n .filter(function(v) {\n return v;\n })\n .map(parseFloat);\n\n // Cache viewbox x and y offset\n this.viewBox.x = viewBoxValues[0];\n this.viewBox.y = viewBoxValues[1];\n this.viewBox.width = viewBoxValues[2];\n this.viewBox.height = viewBoxValues[3];\n\n var zoom = Math.min(\n this.options.width / this.viewBox.width,\n this.options.height / this.viewBox.height\n );\n\n // Update active state\n this.activeState.zoom = zoom;\n this.activeState.x = (this.options.width - this.viewBox.width * zoom) / 2;\n this.activeState.y = (this.options.height - this.viewBox.height * zoom) / 2;\n\n // Force updating CTM\n this.updateCTMOnNextFrame();\n\n this.options.svg.removeAttribute(\"viewBox\");\n } else {\n this.simpleViewBoxCache();\n }\n};\n\n/**\n * Recalculate viewport sizes and update viewBox cache\n */\nShadowViewport.prototype.simpleViewBoxCache = function() {\n var bBox = this.viewport.getBBox();\n\n this.viewBox.x = bBox.x;\n this.viewBox.y = bBox.y;\n this.viewBox.width = bBox.width;\n this.viewBox.height = bBox.height;\n};\n\n/**\n * Returns a viewbox object. Safe to alter\n *\n * @return {Object} viewbox object\n */\nShadowViewport.prototype.getViewBox = function() {\n return Utils.extend({}, this.viewBox);\n};\n\n/**\n * Get initial zoom and pan values. Save them into originalState\n * Parses viewBox attribute to alter initial sizes\n *\n * @return {CTM} CTM object based on options\n */\nShadowViewport.prototype.processCTM = function() {\n var newCTM = this.getCTM();\n\n if (this.options.fit || this.options.contain) {\n var newScale;\n if (this.options.fit) {\n newScale = Math.min(\n this.options.width / this.viewBox.width,\n this.options.height / this.viewBox.height\n );\n } else {\n newScale = Math.max(\n this.options.width / this.viewBox.width,\n this.options.height / this.viewBox.height\n );\n }\n\n newCTM.a = newScale; //x-scale\n newCTM.d = newScale; //y-scale\n newCTM.e = -this.viewBox.x * newScale; //x-transform\n newCTM.f = -this.viewBox.y * newScale; //y-transform\n }\n\n if (this.options.center) {\n var offsetX =\n (this.options.width -\n (this.viewBox.width + this.viewBox.x * 2) * newCTM.a) *\n 0.5,\n offsetY =\n (this.options.height -\n (this.viewBox.height + this.viewBox.y * 2) * newCTM.a) *\n 0.5;\n\n newCTM.e = offsetX;\n newCTM.f = offsetY;\n }\n\n // Cache initial values. Based on activeState and fix+center opitons\n this.originalState.zoom = newCTM.a;\n this.originalState.x = newCTM.e;\n this.originalState.y = newCTM.f;\n\n return newCTM;\n};\n\n/**\n * Return originalState object. Safe to alter\n *\n * @return {Object}\n */\nShadowViewport.prototype.getOriginalState = function() {\n return Utils.extend({}, this.originalState);\n};\n\n/**\n * Return actualState object. Safe to alter\n *\n * @return {Object}\n */\nShadowViewport.prototype.getState = function() {\n return Utils.extend({}, this.activeState);\n};\n\n/**\n * Get zoom scale\n *\n * @return {Float} zoom scale\n */\nShadowViewport.prototype.getZoom = function() {\n return this.activeState.zoom;\n};\n\n/**\n * Get zoom scale for pubilc usage\n *\n * @return {Float} zoom scale\n */\nShadowViewport.prototype.getRelativeZoom = function() {\n return this.activeState.zoom / this.originalState.zoom;\n};\n\n/**\n * Compute zoom scale for pubilc usage\n *\n * @return {Float} zoom scale\n */\nShadowViewport.prototype.computeRelativeZoom = function(scale) {\n return scale / this.originalState.zoom;\n};\n\n/**\n * Get pan\n *\n * @return {Object}\n */\nShadowViewport.prototype.getPan = function() {\n return { x: this.activeState.x, y: this.activeState.y };\n};\n\n/**\n * Return cached viewport CTM value that can be safely modified\n *\n * @return {SVGMatrix}\n */\nShadowViewport.prototype.getCTM = function() {\n var safeCTM = this.options.svg.createSVGMatrix();\n\n // Copy values manually as in FF they are not itterable\n safeCTM.a = this.activeState.zoom;\n safeCTM.b = 0;\n safeCTM.c = 0;\n safeCTM.d = this.activeState.zoom;\n safeCTM.e = this.activeState.x;\n safeCTM.f = this.activeState.y;\n\n return safeCTM;\n};\n\n/**\n * Set a new CTM\n *\n * @param {SVGMatrix} newCTM\n */\nShadowViewport.prototype.setCTM = function(newCTM) {\n var willZoom = this.isZoomDifferent(newCTM),\n willPan = this.isPanDifferent(newCTM);\n\n if (willZoom || willPan) {\n // Before zoom\n if (willZoom) {\n // If returns false then cancel zooming\n if (\n this.options.beforeZoom(\n this.getRelativeZoom(),\n this.computeRelativeZoom(newCTM.a)\n ) === false\n ) {\n newCTM.a = newCTM.d = this.activeState.zoom;\n willZoom = false;\n } else {\n this.updateCache(newCTM);\n this.options.onZoom(this.getRelativeZoom());\n }\n }\n\n // Before pan\n if (willPan) {\n var preventPan = this.options.beforePan(this.getPan(), {\n x: newCTM.e,\n y: newCTM.f\n }),\n // If prevent pan is an object\n preventPanX = false,\n preventPanY = false;\n\n // If prevent pan is Boolean false\n if (preventPan === false) {\n // Set x and y same as before\n newCTM.e = this.getPan().x;\n newCTM.f = this.getPan().y;\n\n preventPanX = preventPanY = true;\n } else if (Utils.isObject(preventPan)) {\n // Check for X axes attribute\n if (preventPan.x === false) {\n // Prevent panning on x axes\n newCTM.e = this.getPan().x;\n preventPanX = true;\n } else if (Utils.isNumber(preventPan.x)) {\n // Set a custom pan value\n newCTM.e = preventPan.x;\n }\n\n // Check for Y axes attribute\n if (preventPan.y === false) {\n // Prevent panning on x axes\n newCTM.f = this.getPan().y;\n preventPanY = true;\n } else if (Utils.isNumber(preventPan.y)) {\n // Set a custom pan value\n newCTM.f = preventPan.y;\n }\n }\n\n // Update willPan flag\n // Check if newCTM is still different\n if ((preventPanX && preventPanY) || !this.isPanDifferent(newCTM)) {\n willPan = false;\n } else {\n this.updateCache(newCTM);\n this.options.onPan(this.getPan());\n }\n }\n\n // Check again if should zoom or pan\n if (willZoom || willPan) {\n this.updateCTMOnNextFrame();\n }\n }\n};\n\nShadowViewport.prototype.isZoomDifferent = function(newCTM) {\n return this.activeState.zoom !== newCTM.a;\n};\n\nShadowViewport.prototype.isPanDifferent = function(newCTM) {\n return this.activeState.x !== newCTM.e || this.activeState.y !== newCTM.f;\n};\n\n/**\n * Update cached CTM and active state\n *\n * @param {SVGMatrix} newCTM\n */\nShadowViewport.prototype.updateCache = function(newCTM) {\n this.activeState.zoom = newCTM.a;\n this.activeState.x = newCTM.e;\n this.activeState.y = newCTM.f;\n};\n\nShadowViewport.prototype.pendingUpdate = false;\n\n/**\n * Place a request to update CTM on next Frame\n */\nShadowViewport.prototype.updateCTMOnNextFrame = function() {\n if (!this.pendingUpdate) {\n // Lock\n this.pendingUpdate = true;\n\n // Throttle next update\n this.requestAnimationFrame.call(window, this.updateCTMCached);\n }\n};\n\n/**\n * Update viewport CTM with cached CTM\n */\nShadowViewport.prototype.updateCTM = function() {\n var ctm = this.getCTM();\n\n // Updates SVG element\n SvgUtils.setCTM(this.viewport, ctm, this.defs);\n\n // Free the lock\n this.pendingUpdate = false;\n\n // Notify about the update\n if (this.options.onUpdatedCTM) {\n this.options.onUpdatedCTM(ctm);\n }\n};\n\nmodule.exports = function(viewport, options) {\n return new ShadowViewport(viewport, options);\n};\n","var Wheel = require(\"./uniwheel\"),\n ControlIcons = require(\"./control-icons\"),\n Utils = require(\"./utilities\"),\n SvgUtils = require(\"./svg-utilities\"),\n ShadowViewport = require(\"./shadow-viewport\");\n\nvar SvgPanZoom = function(svg, options) {\n this.init(svg, options);\n};\n\nvar optionsDefaults = {\n viewportSelector: \".svg-pan-zoom_viewport\", // Viewport selector. Can be querySelector string or SVGElement\n panEnabled: true, // enable or disable panning (default enabled)\n controlIconsEnabled: false, // insert icons to give user an option in addition to mouse events to control pan/zoom (default disabled)\n zoomEnabled: true, // enable or disable zooming (default enabled)\n dblClickZoomEnabled: true, // enable or disable zooming by double clicking (default enabled)\n mouseWheelZoomEnabled: true, // enable or disable zooming by mouse wheel (default enabled)\n preventMouseEventsDefault: true, // enable or disable preventDefault for mouse events\n zoomScaleSensitivity: 0.1, // Zoom sensitivity\n minZoom: 0.5, // Minimum Zoom level\n maxZoom: 10, // Maximum Zoom level\n fit: true, // enable or disable viewport fit in SVG (default true)\n contain: false, // enable or disable viewport contain the svg (default false)\n center: true, // enable or disable viewport centering in SVG (default true)\n refreshRate: \"auto\", // Maximum number of frames per second (altering SVG's viewport)\n beforeZoom: null,\n onZoom: null,\n beforePan: null,\n onPan: null,\n customEventsHandler: null,\n eventsListenerElement: null,\n onUpdatedCTM: null\n};\n\nvar passiveListenerOption = { passive: true };\n\nSvgPanZoom.prototype.init = function(svg, options) {\n var that = this;\n\n this.svg = svg;\n this.defs = svg.querySelector(\"defs\");\n\n // Add default attributes to SVG\n SvgUtils.setupSvgAttributes(this.svg);\n\n // Set options\n this.options = Utils.extend(Utils.extend({}, optionsDefaults), options);\n\n // Set default state\n this.state = \"none\";\n\n // Get dimensions\n var boundingClientRectNormalized = SvgUtils.getBoundingClientRectNormalized(\n svg\n );\n this.width = boundingClientRectNormalized.width;\n this.height = boundingClientRectNormalized.height;\n\n // Init shadow viewport\n this.viewport = ShadowViewport(\n SvgUtils.getOrCreateViewport(this.svg, this.options.viewportSelector),\n {\n svg: this.svg,\n width: this.width,\n height: this.height,\n fit: this.options.fit,\n contain: this.options.contain,\n center: this.options.center,\n refreshRate: this.options.refreshRate,\n // Put callbacks into functions as they can change through time\n beforeZoom: function(oldScale, newScale) {\n if (that.viewport && that.options.beforeZoom) {\n return that.options.beforeZoom(oldScale, newScale);\n }\n },\n onZoom: function(scale) {\n if (that.viewport && that.options.onZoom) {\n return that.options.onZoom(scale);\n }\n },\n beforePan: function(oldPoint, newPoint) {\n if (that.viewport && that.options.beforePan) {\n return that.options.beforePan(oldPoint, newPoint);\n }\n },\n onPan: function(point) {\n if (that.viewport && that.options.onPan) {\n return that.options.onPan(point);\n }\n },\n onUpdatedCTM: function(ctm) {\n if (that.viewport && that.options.onUpdatedCTM) {\n return that.options.onUpdatedCTM(ctm);\n }\n }\n }\n );\n\n // Wrap callbacks into public API context\n var publicInstance = this.getPublicInstance();\n publicInstance.setBeforeZoom(this.options.beforeZoom);\n publicInstance.setOnZoom(this.options.onZoom);\n publicInstance.setBeforePan(this.options.beforePan);\n publicInstance.setOnPan(this.options.onPan);\n publicInstance.setOnUpdatedCTM(this.options.onUpdatedCTM);\n\n if (this.options.controlIconsEnabled) {\n ControlIcons.enable(this);\n }\n\n // Init events handlers\n this.lastMouseWheelEventTime = Date.now();\n this.setupHandlers();\n};\n\n/**\n * Register event handlers\n */\nSvgPanZoom.prototype.setupHandlers = function() {\n var that = this,\n prevEvt = null; // use for touchstart event to detect double tap\n\n this.eventListeners = {\n // Mouse down group\n mousedown: function(evt) {\n var result = that.handleMouseDown(evt, prevEvt);\n prevEvt = evt;\n return result;\n },\n touchstart: function(evt) {\n var result = that.handleMouseDown(evt, prevEvt);\n prevEvt = evt;\n return result;\n },\n\n // Mouse up group\n mouseup: function(evt) {\n return that.handleMouseUp(evt);\n },\n touchend: function(evt) {\n return that.handleMouseUp(evt);\n },\n\n // Mouse move group\n mousemove: function(evt) {\n return that.handleMouseMove(evt);\n },\n touchmove: function(evt) {\n return that.handleMouseMove(evt);\n },\n\n // Mouse leave group\n mouseleave: function(evt) {\n return that.handleMouseUp(evt);\n },\n touchleave: function(evt) {\n return that.handleMouseUp(evt);\n },\n touchcancel: function(evt) {\n return that.handleMouseUp(evt);\n }\n };\n\n // Init custom events handler if available\n // eslint-disable-next-line eqeqeq\n if (this.options.customEventsHandler != null) {\n this.options.customEventsHandler.init({\n svgElement: this.svg,\n eventsListenerElement: this.options.eventsListenerElement,\n instance: this.getPublicInstance()\n });\n\n // Custom event handler may halt builtin listeners\n var haltEventListeners = this.options.customEventsHandler\n .haltEventListeners;\n if (haltEventListeners && haltEventListeners.length) {\n for (var i = haltEventListeners.length - 1; i >= 0; i--) {\n if (this.eventListeners.hasOwnProperty(haltEventListeners[i])) {\n delete this.eventListeners[haltEventListeners[i]];\n }\n }\n }\n }\n\n // Bind eventListeners\n for (var event in this.eventListeners) {\n // Attach event to eventsListenerElement or SVG if not available\n (this.options.eventsListenerElement || this.svg).addEventListener(\n event,\n this.eventListeners[event],\n !this.options.preventMouseEventsDefault ? passiveListenerOption : false\n );\n }\n\n // Zoom using mouse wheel\n if (this.options.mouseWheelZoomEnabled) {\n this.options.mouseWheelZoomEnabled = false; // set to false as enable will set it back to true\n this.enableMouseWheelZoom();\n }\n};\n\n/**\n * Enable ability to zoom using mouse wheel\n */\nSvgPanZoom.prototype.enableMouseWheelZoom = function() {\n if (!this.options.mouseWheelZoomEnabled) {\n var that = this;\n\n // Mouse wheel listener\n this.wheelListener = function(evt) {\n return that.handleMouseWheel(evt);\n };\n\n // Bind wheelListener\n var isPassiveListener = !this.options.preventMouseEventsDefault;\n Wheel.on(\n this.options.eventsListenerElement || this.svg,\n this.wheelListener,\n isPassiveListener\n );\n\n this.options.mouseWheelZoomEnabled = true;\n }\n};\n\n/**\n * Disable ability to zoom using mouse wheel\n */\nSvgPanZoom.prototype.disableMouseWheelZoom = function() {\n if (this.options.mouseWheelZoomEnabled) {\n var isPassiveListener = !this.options.preventMouseEventsDefault;\n Wheel.off(\n this.options.eventsListenerElement || this.svg,\n this.wheelListener,\n isPassiveListener\n );\n this.options.mouseWheelZoomEnabled = false;\n }\n};\n\n/**\n * Handle mouse wheel event\n *\n * @param {Event} evt\n */\nSvgPanZoom.prototype.handleMouseWheel = function(evt) {\n if (!this.options.zoomEnabled || this.state !== \"none\") {\n return;\n }\n\n if (this.options.preventMouseEventsDefault) {\n if (evt.preventDefault) {\n evt.preventDefault();\n } else {\n evt.returnValue = false;\n }\n }\n\n // Default delta in case that deltaY is not available\n var delta = evt.deltaY || 1,\n timeDelta = Date.now() - this.lastMouseWheelEventTime,\n divider = 3 + Math.max(0, 30 - timeDelta);\n\n // Update cache\n this.lastMouseWheelEventTime = Date.now();\n\n // Make empirical adjustments for browsers that give deltaY in pixels (deltaMode=0)\n if (\"deltaMode\" in evt && evt.deltaMode === 0 && evt.wheelDelta) {\n delta = evt.deltaY === 0 ? 0 : Math.abs(evt.wheelDelta) / evt.deltaY;\n }\n\n delta =\n -0.3 < delta && delta < 0.3\n ? delta\n : ((delta > 0 ? 1 : -1) * Math.log(Math.abs(delta) + 10)) / divider;\n\n var inversedScreenCTM = this.svg.getScreenCTM().inverse(),\n relativeMousePoint = SvgUtils.getEventPoint(evt, this.svg).matrixTransform(\n inversedScreenCTM\n ),\n zoom = Math.pow(1 + this.options.zoomScaleSensitivity, -1 * delta); // multiplying by neg. 1 so as to make zoom in/out behavior match Google maps behavior\n\n this.zoomAtPoint(zoom, relativeMousePoint);\n};\n\n/**\n * Zoom in at a SVG point\n *\n * @param {SVGPoint} point\n * @param {Float} zoomScale Number representing how much to zoom\n * @param {Boolean} zoomAbsolute Default false. If true, zoomScale is treated as an absolute value.\n * Otherwise, zoomScale is treated as a multiplied (e.g. 1.10 would zoom in 10%)\n */\nSvgPanZoom.prototype.zoomAtPoint = function(zoomScale, point, zoomAbsolute) {\n var originalState = this.viewport.getOriginalState();\n\n if (!zoomAbsolute) {\n // Fit zoomScale in set bounds\n if (\n this.getZoom() * zoomScale <\n this.options.minZoom * originalState.zoom\n ) {\n zoomScale = (this.options.minZoom * originalState.zoom) / this.getZoom();\n } else if (\n this.getZoom() * zoomScale >\n this.options.maxZoom * originalState.zoom\n ) {\n zoomScale = (this.options.maxZoom * originalState.zoom) / this.getZoom();\n }\n } else {\n // Fit zoomScale in set bounds\n zoomScale = Math.max(\n this.options.minZoom * originalState.zoom,\n Math.min(this.options.maxZoom * originalState.zoom, zoomScale)\n );\n // Find relative scale to achieve desired scale\n zoomScale = zoomScale / this.getZoom();\n }\n\n var oldCTM = this.viewport.getCTM(),\n relativePoint = point.matrixTransform(oldCTM.inverse()),\n modifier = this.svg\n .createSVGMatrix()\n .translate(relativePoint.x, relativePoint.y)\n .scale(zoomScale)\n .translate(-relativePoint.x, -relativePoint.y),\n newCTM = oldCTM.multiply(modifier);\n\n if (newCTM.a !== oldCTM.a) {\n this.viewport.setCTM(newCTM);\n }\n};\n\n/**\n * Zoom at center point\n *\n * @param {Float} scale\n * @param {Boolean} absolute Marks zoom scale as relative or absolute\n */\nSvgPanZoom.prototype.zoom = function(scale, absolute) {\n this.zoomAtPoint(\n scale,\n SvgUtils.getSvgCenterPoint(this.svg, this.width, this.height),\n absolute\n );\n};\n\n/**\n * Zoom used by public instance\n *\n * @param {Float} scale\n * @param {Boolean} absolute Marks zoom scale as relative or absolute\n */\nSvgPanZoom.prototype.publicZoom = function(scale, absolute) {\n if (absolute) {\n scale = this.computeFromRelativeZoom(scale);\n }\n\n this.zoom(scale, absolute);\n};\n\n/**\n * Zoom at point used by public instance\n *\n * @param {Float} scale\n * @param {SVGPoint|Object} point An object that has x and y attributes\n * @param {Boolean} absolute Marks zoom scale as relative or absolute\n */\nSvgPanZoom.prototype.publicZoomAtPoint = function(scale, point, absolute) {\n if (absolute) {\n // Transform zoom into a relative value\n scale = this.computeFromRelativeZoom(scale);\n }\n\n // If not a SVGPoint but has x and y then create a SVGPoint\n if (Utils.getType(point) !== \"SVGPoint\") {\n if (\"x\" in point && \"y\" in point) {\n point = SvgUtils.createSVGPoint(this.svg, point.x, point.y);\n } else {\n throw new Error(\"Given point is invalid\");\n }\n }\n\n this.zoomAtPoint(scale, point, absolute);\n};\n\n/**\n * Get zoom scale\n *\n * @return {Float} zoom scale\n */\nSvgPanZoom.prototype.getZoom = function() {\n return this.viewport.getZoom();\n};\n\n/**\n * Get zoom scale for public usage\n *\n * @return {Float} zoom scale\n */\nSvgPanZoom.prototype.getRelativeZoom = function() {\n return this.viewport.getRelativeZoom();\n};\n\n/**\n * Compute actual zoom from public zoom\n *\n * @param {Float} zoom\n * @return {Float} zoom scale\n */\nSvgPanZoom.prototype.computeFromRelativeZoom = function(zoom) {\n return zoom * this.viewport.getOriginalState().zoom;\n};\n\n/**\n * Set zoom to initial state\n */\nSvgPanZoom.prototype.resetZoom = function() {\n var originalState = this.viewport.getOriginalState();\n\n this.zoom(originalState.zoom, true);\n};\n\n/**\n * Set pan to initial state\n */\nSvgPanZoom.prototype.resetPan = function() {\n this.pan(this.viewport.getOriginalState());\n};\n\n/**\n * Set pan and zoom to initial state\n */\nSvgPanZoom.prototype.reset = function() {\n this.resetZoom();\n this.resetPan();\n};\n\n/**\n * Handle double click event\n * See handleMouseDown() for alternate detection method\n *\n * @param {Event} evt\n */\nSvgPanZoom.prototype.handleDblClick = function(evt) {\n if (this.options.preventMouseEventsDefault) {\n if (evt.preventDefault) {\n evt.preventDefault();\n } else {\n evt.returnValue = false;\n }\n }\n\n // Check if target was a control button\n if (this.options.controlIconsEnabled) {\n var targetClass = evt.target.getAttribute(\"class\") || \"\";\n if (targetClass.indexOf(\"svg-pan-zoom-control\") > -1) {\n return false;\n }\n }\n\n var zoomFactor;\n\n if (evt.shiftKey) {\n zoomFactor = 1 / ((1 + this.options.zoomScaleSensitivity) * 2); // zoom out when shift key pressed\n } else {\n zoomFactor = (1 + this.options.zoomScaleSensitivity) * 2;\n }\n\n var point = SvgUtils.getEventPoint(evt, this.svg).matrixTransform(\n this.svg.getScreenCTM().inverse()\n );\n this.zoomAtPoint(zoomFactor, point);\n};\n\n/**\n * Handle click event\n *\n * @param {Event} evt\n */\nSvgPanZoom.prototype.handleMouseDown = function(evt, prevEvt) {\n if (this.options.preventMouseEventsDefault) {\n if (evt.preventDefault) {\n evt.preventDefault();\n } else {\n evt.returnValue = false;\n }\n }\n\n Utils.mouseAndTouchNormalize(evt, this.svg);\n\n // Double click detection; more consistent than ondblclick\n if (this.options.dblClickZoomEnabled && Utils.isDblClick(evt, prevEvt)) {\n this.handleDblClick(evt);\n } else {\n // Pan mode\n this.state = \"pan\";\n this.firstEventCTM = this.viewport.getCTM();\n this.stateOrigin = SvgUtils.getEventPoint(evt, this.svg).matrixTransform(\n this.firstEventCTM.inverse()\n );\n }\n};\n\n/**\n * Handle mouse move event\n *\n * @param {Event} evt\n */\nSvgPanZoom.prototype.handleMouseMove = function(evt) {\n if (this.options.preventMouseEventsDefault) {\n if (evt.preventDefault) {\n evt.preventDefault();\n } else {\n evt.returnValue = false;\n }\n }\n\n if (this.state === \"pan\" && this.options.panEnabled) {\n // Pan mode\n var point = SvgUtils.getEventPoint(evt, this.svg).matrixTransform(\n this.firstEventCTM.inverse()\n ),\n viewportCTM = this.firstEventCTM.translate(\n point.x - this.stateOrigin.x,\n point.y - this.stateOrigin.y\n );\n\n this.viewport.setCTM(viewportCTM);\n }\n};\n\n/**\n * Handle mouse button release event\n *\n * @param {Event} evt\n */\nSvgPanZoom.prototype.handleMouseUp = function(evt) {\n if (this.options.preventMouseEventsDefault) {\n if (evt.preventDefault) {\n evt.preventDefault();\n } else {\n evt.returnValue = false;\n }\n }\n\n if (this.state === \"pan\") {\n // Quit pan mode\n this.state = \"none\";\n }\n};\n\n/**\n * Adjust viewport size (only) so it will fit in SVG\n * Does not center image\n */\nSvgPanZoom.prototype.fit = function() {\n var viewBox = this.viewport.getViewBox(),\n newScale = Math.min(\n this.width / viewBox.width,\n this.height / viewBox.height\n );\n\n this.zoom(newScale, true);\n};\n\n/**\n * Adjust viewport size (only) so it will contain the SVG\n * Does not center image\n */\nSvgPanZoom.prototype.contain = function() {\n var viewBox = this.viewport.getViewBox(),\n newScale = Math.max(\n this.width / viewBox.width,\n this.height / viewBox.height\n );\n\n this.zoom(newScale, true);\n};\n\n/**\n * Adjust viewport pan (only) so it will be centered in SVG\n * Does not zoom/fit/contain image\n */\nSvgPanZoom.prototype.center = function() {\n var viewBox = this.viewport.getViewBox(),\n offsetX =\n (this.width - (viewBox.width + viewBox.x * 2) * this.getZoom()) * 0.5,\n offsetY =\n (this.height - (viewBox.height + viewBox.y * 2) * this.getZoom()) * 0.5;\n\n this.getPublicInstance().pan({ x: offsetX, y: offsetY });\n};\n\n/**\n * Update content cached BorderBox\n * Use when viewport contents change\n */\nSvgPanZoom.prototype.updateBBox = function() {\n this.viewport.simpleViewBoxCache();\n};\n\n/**\n * Pan to a rendered position\n *\n * @param {Object} point {x: 0, y: 0}\n */\nSvgPanZoom.prototype.pan = function(point) {\n var viewportCTM = this.viewport.getCTM();\n viewportCTM.e = point.x;\n viewportCTM.f = point.y;\n this.viewport.setCTM(viewportCTM);\n};\n\n/**\n * Relatively pan the graph by a specified rendered position vector\n *\n * @param {Object} point {x: 0, y: 0}\n */\nSvgPanZoom.prototype.panBy = function(point) {\n var viewportCTM = this.viewport.getCTM();\n viewportCTM.e += point.x;\n viewportCTM.f += point.y;\n this.viewport.setCTM(viewportCTM);\n};\n\n/**\n * Get pan vector\n *\n * @return {Object} {x: 0, y: 0}\n */\nSvgPanZoom.prototype.getPan = function() {\n var state = this.viewport.getState();\n\n return { x: state.x, y: state.y };\n};\n\n/**\n * Recalculates cached svg dimensions and controls position\n */\nSvgPanZoom.prototype.resize = function() {\n // Get dimensions\n var boundingClientRectNormalized = SvgUtils.getBoundingClientRectNormalized(\n this.svg\n );\n this.width = boundingClientRectNormalized.width;\n this.height = boundingClientRectNormalized.height;\n\n // Recalculate original state\n var viewport = this.viewport;\n viewport.options.width = this.width;\n viewport.options.height = this.height;\n viewport.processCTM();\n\n // Reposition control icons by re-enabling them\n if (this.options.controlIconsEnabled) {\n this.getPublicInstance().disableControlIcons();\n this.getPublicInstance().enableControlIcons();\n }\n};\n\n/**\n * Unbind mouse events, free callbacks and destroy public instance\n */\nSvgPanZoom.prototype.destroy = function() {\n var that = this;\n\n // Free callbacks\n this.beforeZoom = null;\n this.onZoom = null;\n this.beforePan = null;\n this.onPan = null;\n this.onUpdatedCTM = null;\n\n // Destroy custom event handlers\n // eslint-disable-next-line eqeqeq\n if (this.options.customEventsHandler != null) {\n this.options.customEventsHandler.destroy({\n svgElement: this.svg,\n eventsListenerElement: this.options.eventsListenerElement,\n instance: this.getPublicInstance()\n });\n }\n\n // Unbind eventListeners\n for (var event in this.eventListeners) {\n (this.options.eventsListenerElement || this.svg).removeEventListener(\n event,\n this.eventListeners[event],\n !this.options.preventMouseEventsDefault ? passiveListenerOption : false\n );\n }\n\n // Unbind wheelListener\n this.disableMouseWheelZoom();\n\n // Remove control icons\n this.getPublicInstance().disableControlIcons();\n\n // Reset zoom and pan\n this.reset();\n\n // Remove instance from instancesStore\n instancesStore = instancesStore.filter(function(instance) {\n return instance.svg !== that.svg;\n });\n\n // Delete options and its contents\n delete this.options;\n\n // Delete viewport to make public shadow viewport functions uncallable\n delete this.viewport;\n\n // Destroy public instance and rewrite getPublicInstance\n delete this.publicInstance;\n delete this.pi;\n this.getPublicInstance = function() {\n return null;\n };\n};\n\n/**\n * Returns a public instance object\n *\n * @return {Object} Public instance object\n */\nSvgPanZoom.prototype.getPublicInstance = function() {\n var that = this;\n\n // Create cache\n if (!this.publicInstance) {\n this.publicInstance = this.pi = {\n // Pan\n enablePan: function() {\n that.options.panEnabled = true;\n return that.pi;\n },\n disablePan: function() {\n that.options.panEnabled = false;\n return that.pi;\n },\n isPanEnabled: function() {\n return !!that.options.panEnabled;\n },\n pan: function(point) {\n that.pan(point);\n return that.pi;\n },\n panBy: function(point) {\n that.panBy(point);\n return that.pi;\n },\n getPan: function() {\n return that.getPan();\n },\n // Pan event\n setBeforePan: function(fn) {\n that.options.beforePan =\n fn === null ? null : Utils.proxy(fn, that.publicInstance);\n return that.pi;\n },\n setOnPan: function(fn) {\n that.options.onPan =\n fn === null ? null : Utils.proxy(fn, that.publicInstance);\n return that.pi;\n },\n // Zoom and Control Icons\n enableZoom: function() {\n that.options.zoomEnabled = true;\n return that.pi;\n },\n disableZoom: function() {\n that.options.zoomEnabled = false;\n return that.pi;\n },\n isZoomEnabled: function() {\n return !!that.options.zoomEnabled;\n },\n enableControlIcons: function() {\n if (!that.options.controlIconsEnabled) {\n that.options.controlIconsEnabled = true;\n ControlIcons.enable(that);\n }\n return that.pi;\n },\n disableControlIcons: function() {\n if (that.options.controlIconsEnabled) {\n that.options.controlIconsEnabled = false;\n ControlIcons.disable(that);\n }\n return that.pi;\n },\n isControlIconsEnabled: function() {\n return !!that.options.controlIconsEnabled;\n },\n // Double click zoom\n enableDblClickZoom: function() {\n that.options.dblClickZoomEnabled = true;\n return that.pi;\n },\n disableDblClickZoom: function() {\n that.options.dblClickZoomEnabled = false;\n return that.pi;\n },\n isDblClickZoomEnabled: function() {\n return !!that.options.dblClickZoomEnabled;\n },\n // Mouse wheel zoom\n enableMouseWheelZoom: function() {\n that.enableMouseWheelZoom();\n return that.pi;\n },\n disableMouseWheelZoom: function() {\n that.disableMouseWheelZoom();\n return that.pi;\n },\n isMouseWheelZoomEnabled: function() {\n return !!that.options.mouseWheelZoomEnabled;\n },\n // Zoom scale and bounds\n setZoomScaleSensitivity: function(scale) {\n that.options.zoomScaleSensitivity = scale;\n return that.pi;\n },\n setMinZoom: function(zoom) {\n that.options.minZoom = zoom;\n return that.pi;\n },\n setMaxZoom: function(zoom) {\n that.options.maxZoom = zoom;\n return that.pi;\n },\n // Zoom event\n setBeforeZoom: function(fn) {\n that.options.beforeZoom =\n fn === null ? null : Utils.proxy(fn, that.publicInstance);\n return that.pi;\n },\n setOnZoom: function(fn) {\n that.options.onZoom =\n fn === null ? null : Utils.proxy(fn, that.publicInstance);\n return that.pi;\n },\n // Zooming\n zoom: function(scale) {\n that.publicZoom(scale, true);\n return that.pi;\n },\n zoomBy: function(scale) {\n that.publicZoom(scale, false);\n return that.pi;\n },\n zoomAtPoint: function(scale, point) {\n that.publicZoomAtPoint(scale, point, true);\n return that.pi;\n },\n zoomAtPointBy: function(scale, point) {\n that.publicZoomAtPoint(scale, point, false);\n return that.pi;\n },\n zoomIn: function() {\n this.zoomBy(1 + that.options.zoomScaleSensitivity);\n return that.pi;\n },\n zoomOut: function() {\n this.zoomBy(1 / (1 + that.options.zoomScaleSensitivity));\n return that.pi;\n },\n getZoom: function() {\n return that.getRelativeZoom();\n },\n // CTM update\n setOnUpdatedCTM: function(fn) {\n that.options.onUpdatedCTM =\n fn === null ? null : Utils.proxy(fn, that.publicInstance);\n return that.pi;\n },\n // Reset\n resetZoom: function() {\n that.resetZoom();\n return that.pi;\n },\n resetPan: function() {\n that.resetPan();\n return that.pi;\n },\n reset: function() {\n that.reset();\n return that.pi;\n },\n // Fit, Contain and Center\n fit: function() {\n that.fit();\n return that.pi;\n },\n contain: function() {\n that.contain();\n return that.pi;\n },\n center: function() {\n that.center();\n return that.pi;\n },\n // Size and Resize\n updateBBox: function() {\n that.updateBBox();\n return that.pi;\n },\n resize: function() {\n that.resize();\n return that.pi;\n },\n getSizes: function() {\n return {\n width: that.width,\n height: that.height,\n realZoom: that.getZoom(),\n viewBox: that.viewport.getViewBox()\n };\n },\n // Destroy\n destroy: function() {\n that.destroy();\n return that.pi;\n }\n };\n }\n\n return this.publicInstance;\n};\n\n/**\n * Stores pairs of instances of SvgPanZoom and SVG\n * Each pair is represented by an object {svg: SVGSVGElement, instance: SvgPanZoom}\n *\n * @type {Array}\n */\nvar instancesStore = [];\n\nvar svgPanZoom = function(elementOrSelector, options) {\n var svg = Utils.getSvg(elementOrSelector);\n\n if (svg === null) {\n return null;\n } else {\n // Look for existent instance\n for (var i = instancesStore.length - 1; i >= 0; i--) {\n if (instancesStore[i].svg === svg) {\n return instancesStore[i].instance.getPublicInstance();\n }\n }\n\n // If instance not found - create one\n instancesStore.push({\n svg: svg,\n instance: new SvgPanZoom(svg, options)\n });\n\n // Return just pushed instance\n return instancesStore[\n instancesStore.length - 1\n ].instance.getPublicInstance();\n }\n};\n\nmodule.exports = svgPanZoom;\n","var Utils = require(\"./utilities\"),\n _browser = \"unknown\";\n\n// http://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser\nif (/*@cc_on!@*/ false || !!document.documentMode) {\n // internet explorer\n _browser = \"ie\";\n}\n\nmodule.exports = {\n svgNS: \"http://www.w3.org/2000/svg\",\n xmlNS: \"http://www.w3.org/XML/1998/namespace\",\n xmlnsNS: \"http://www.w3.org/2000/xmlns/\",\n xlinkNS: \"http://www.w3.org/1999/xlink\",\n evNS: \"http://www.w3.org/2001/xml-events\",\n\n /**\n * Get svg dimensions: width and height\n *\n * @param {SVGSVGElement} svg\n * @return {Object} {width: 0, height: 0}\n */\n getBoundingClientRectNormalized: function(svg) {\n if (svg.clientWidth && svg.clientHeight) {\n return { width: svg.clientWidth, height: svg.clientHeight };\n } else if (!!svg.getBoundingClientRect()) {\n return svg.getBoundingClientRect();\n } else {\n throw new Error(\"Cannot get BoundingClientRect for SVG.\");\n }\n },\n\n /**\n * Gets g element with class of \"viewport\" or creates it if it doesn't exist\n *\n * @param {SVGSVGElement} svg\n * @return {SVGElement} g (group) element\n */\n getOrCreateViewport: function(svg, selector) {\n var viewport = null;\n\n if (Utils.isElement(selector)) {\n viewport = selector;\n } else {\n viewport = svg.querySelector(selector);\n }\n\n // Check if there is just one main group in SVG\n if (!viewport) {\n var childNodes = Array.prototype.slice\n .call(svg.childNodes || svg.children)\n .filter(function(el) {\n return el.nodeName !== \"defs\" && el.nodeName !== \"#text\";\n });\n\n // Node name should be SVGGElement and should have no transform attribute\n // Groups with transform are not used as viewport because it involves parsing of all transform possibilities\n if (\n childNodes.length === 1 &&\n childNodes[0].nodeName === \"g\" &&\n childNodes[0].getAttribute(\"transform\") === null\n ) {\n viewport = childNodes[0];\n }\n }\n\n // If no favorable group element exists then create one\n if (!viewport) {\n var viewportId =\n \"viewport-\" + new Date().toISOString().replace(/\\D/g, \"\");\n viewport = document.createElementNS(this.svgNS, \"g\");\n viewport.setAttribute(\"id\", viewportId);\n\n // Internet Explorer (all versions?) can't use childNodes, but other browsers prefer (require?) using childNodes\n var svgChildren = svg.childNodes || svg.children;\n if (!!svgChildren && svgChildren.length > 0) {\n for (var i = svgChildren.length; i > 0; i--) {\n // Move everything into viewport except defs\n if (svgChildren[svgChildren.length - i].nodeName !== \"defs\") {\n viewport.appendChild(svgChildren[svgChildren.length - i]);\n }\n }\n }\n svg.appendChild(viewport);\n }\n\n // Parse class names\n var classNames = [];\n if (viewport.getAttribute(\"class\")) {\n classNames = viewport.getAttribute(\"class\").split(\" \");\n }\n\n // Set class (if not set already)\n if (!~classNames.indexOf(\"svg-pan-zoom_viewport\")) {\n classNames.push(\"svg-pan-zoom_viewport\");\n viewport.setAttribute(\"class\", classNames.join(\" \"));\n }\n\n return viewport;\n },\n\n /**\n * Set SVG attributes\n *\n * @param {SVGSVGElement} svg\n */\n setupSvgAttributes: function(svg) {\n // Setting default attributes\n svg.setAttribute(\"xmlns\", this.svgNS);\n svg.setAttributeNS(this.xmlnsNS, \"xmlns:xlink\", this.xlinkNS);\n svg.setAttributeNS(this.xmlnsNS, \"xmlns:ev\", this.evNS);\n\n // Needed for Internet Explorer, otherwise the viewport overflows\n if (svg.parentNode !== null) {\n var style = svg.getAttribute(\"style\") || \"\";\n if (style.toLowerCase().indexOf(\"overflow\") === -1) {\n svg.setAttribute(\"style\", \"overflow: hidden; \" + style);\n }\n }\n },\n\n /**\n * How long Internet Explorer takes to finish updating its display (ms).\n */\n internetExplorerRedisplayInterval: 300,\n\n /**\n * Forces the browser to redisplay all SVG elements that rely on an\n * element defined in a 'defs' section. It works globally, for every\n * available defs element on the page.\n * The throttling is intentionally global.\n *\n * This is only needed for IE. It is as a hack to make markers (and 'use' elements?)\n * visible after pan/zoom when there are multiple SVGs on the page.\n * See bug report: https://connect.microsoft.com/IE/feedback/details/781964/\n * also see svg-pan-zoom issue: https://github.com/ariutta/svg-pan-zoom/issues/62\n */\n refreshDefsGlobal: Utils.throttle(\n function() {\n var allDefs = document.querySelectorAll(\"defs\");\n var allDefsCount = allDefs.length;\n for (var i = 0; i < allDefsCount; i++) {\n var thisDefs = allDefs[i];\n thisDefs.parentNode.insertBefore(thisDefs, thisDefs);\n }\n },\n this ? this.internetExplorerRedisplayInterval : null\n ),\n\n /**\n * Sets the current transform matrix of an element\n *\n * @param {SVGElement} element\n * @param {SVGMatrix} matrix CTM\n * @param {SVGElement} defs\n */\n setCTM: function(element, matrix, defs) {\n var that = this,\n s =\n \"matrix(\" +\n matrix.a +\n \",\" +\n matrix.b +\n \",\" +\n matrix.c +\n \",\" +\n matrix.d +\n \",\" +\n matrix.e +\n \",\" +\n matrix.f +\n \")\";\n\n element.setAttributeNS(null, \"transform\", s);\n if (\"transform\" in element.style) {\n element.style.transform = s;\n } else if (\"-ms-transform\" in element.style) {\n element.style[\"-ms-transform\"] = s;\n } else if (\"-webkit-transform\" in element.style) {\n element.style[\"-webkit-transform\"] = s;\n }\n\n // IE has a bug that makes markers disappear on zoom (when the matrix \"a\" and/or \"d\" elements change)\n // see http://stackoverflow.com/questions/17654578/svg-marker-does-not-work-in-ie9-10\n // and http://srndolha.wordpress.com/2013/11/25/svg-line-markers-may-disappear-in-internet-explorer-11/\n if (_browser === \"ie\" && !!defs) {\n // this refresh is intended for redisplaying the SVG during zooming\n defs.parentNode.insertBefore(defs, defs);\n // this refresh is intended for redisplaying the other SVGs on a page when panning a given SVG\n // it is also needed for the given SVG itself, on zoomEnd, if the SVG contains any markers that\n // are located under any other element(s).\n window.setTimeout(function() {\n that.refreshDefsGlobal();\n }, that.internetExplorerRedisplayInterval);\n }\n },\n\n /**\n * Instantiate an SVGPoint object with given event coordinates\n *\n * @param {Event} evt\n * @param {SVGSVGElement} svg\n * @return {SVGPoint} point\n */\n getEventPoint: function(evt, svg) {\n var point = svg.createSVGPoint();\n\n Utils.mouseAndTouchNormalize(evt, svg);\n\n point.x = evt.clientX;\n point.y = evt.clientY;\n\n return point;\n },\n\n /**\n * Get SVG center point\n *\n * @param {SVGSVGElement} svg\n * @return {SVGPoint}\n */\n getSvgCenterPoint: function(svg, width, height) {\n return this.createSVGPoint(svg, width / 2, height / 2);\n },\n\n /**\n * Create a SVGPoint with given x and y\n *\n * @param {SVGSVGElement} svg\n * @param {Number} x\n * @param {Number} y\n * @return {SVGPoint}\n */\n createSVGPoint: function(svg, x, y) {\n var point = svg.createSVGPoint();\n point.x = x;\n point.y = y;\n\n return point;\n }\n};\n","// uniwheel 0.1.2 (customized)\n// A unified cross browser mouse wheel event handler\n// https://github.com/teemualap/uniwheel\n\nmodule.exports = (function(){\n\n //Full details: https://developer.mozilla.org/en-US/docs/Web/Reference/Events/wheel\n\n var prefix = \"\", _addEventListener, _removeEventListener, support, fns = [];\n var passiveOption = {passive: true};\n\n // detect event model\n if ( window.addEventListener ) {\n _addEventListener = \"addEventListener\";\n _removeEventListener = \"removeEventListener\";\n } else {\n _addEventListener = \"attachEvent\";\n _removeEventListener = \"detachEvent\";\n prefix = \"on\";\n }\n\n // detect available wheel event\n support = \"onwheel\" in document.createElement(\"div\") ? \"wheel\" : // Modern browsers support \"wheel\"\n document.onmousewheel !== undefined ? \"mousewheel\" : // Webkit and IE support at least \"mousewheel\"\n \"DOMMouseScroll\"; // let's assume that remaining browsers are older Firefox\n\n\n function createCallback(element,callback) {\n\n var fn = function(originalEvent) {\n\n !originalEvent && ( originalEvent = window.event );\n\n // create a normalized event object\n var event = {\n // keep a ref to the original event object\n originalEvent: originalEvent,\n target: originalEvent.target || originalEvent.srcElement,\n type: \"wheel\",\n deltaMode: originalEvent.type == \"MozMousePixelScroll\" ? 0 : 1,\n deltaX: 0,\n delatZ: 0,\n preventDefault: function() {\n originalEvent.preventDefault ?\n originalEvent.preventDefault() :\n originalEvent.returnValue = false;\n }\n };\n\n // calculate deltaY (and deltaX) according to the event\n if ( support == \"mousewheel\" ) {\n event.deltaY = - 1/40 * originalEvent.wheelDelta;\n // Webkit also support wheelDeltaX\n originalEvent.wheelDeltaX && ( event.deltaX = - 1/40 * originalEvent.wheelDeltaX );\n } else {\n event.deltaY = originalEvent.detail;\n }\n\n // it's time to fire the callback\n return callback( event );\n\n };\n\n fns.push({\n element: element,\n fn: fn,\n });\n\n return fn;\n }\n\n function getCallback(element) {\n for (var i = 0; i < fns.length; i++) {\n if (fns[i].element === element) {\n return fns[i].fn;\n }\n }\n return function(){};\n }\n\n function removeCallback(element) {\n for (var i = 0; i < fns.length; i++) {\n if (fns[i].element === element) {\n return fns.splice(i,1);\n }\n }\n }\n\n function _addWheelListener(elem, eventName, callback, isPassiveListener ) {\n var cb;\n\n if (support === \"wheel\") {\n cb = callback;\n } else {\n cb = createCallback(elem, callback);\n }\n\n elem[_addEventListener](prefix + eventName, cb, isPassiveListener ? passiveOption : false);\n }\n\n function _removeWheelListener(elem, eventName, callback, isPassiveListener ) {\n\n var cb;\n\n if (support === \"wheel\") {\n cb = callback;\n } else {\n cb = getCallback(elem);\n }\n\n elem[_removeEventListener](prefix + eventName, cb, isPassiveListener ? passiveOption : false);\n\n removeCallback(elem);\n }\n\n function addWheelListener( elem, callback, isPassiveListener ) {\n _addWheelListener(elem, support, callback, isPassiveListener );\n\n // handle MozMousePixelScroll in older Firefox\n if( support == \"DOMMouseScroll\" ) {\n _addWheelListener(elem, \"MozMousePixelScroll\", callback, isPassiveListener );\n }\n }\n\n function removeWheelListener(elem, callback, isPassiveListener){\n _removeWheelListener(elem, support, callback, isPassiveListener);\n\n // handle MozMousePixelScroll in older Firefox\n if( support == \"DOMMouseScroll\" ) {\n _removeWheelListener(elem, \"MozMousePixelScroll\", callback, isPassiveListener);\n }\n }\n\n return {\n on: addWheelListener,\n off: removeWheelListener\n };\n\n})();\n","module.exports = {\n /**\n * Extends an object\n *\n * @param {Object} target object to extend\n * @param {Object} source object to take properties from\n * @return {Object} extended object\n */\n extend: function(target, source) {\n target = target || {};\n for (var prop in source) {\n // Go recursively\n if (this.isObject(source[prop])) {\n target[prop] = this.extend(target[prop], source[prop]);\n } else {\n target[prop] = source[prop];\n }\n }\n return target;\n },\n\n /**\n * Checks if an object is a DOM element\n *\n * @param {Object} o HTML element or String\n * @return {Boolean} returns true if object is a DOM element\n */\n isElement: function(o) {\n return (\n o instanceof HTMLElement ||\n o instanceof SVGElement ||\n o instanceof SVGSVGElement || //DOM2\n (o &&\n typeof o === \"object\" &&\n o !== null &&\n o.nodeType === 1 &&\n typeof o.nodeName === \"string\")\n );\n },\n\n /**\n * Checks if an object is an Object\n *\n * @param {Object} o Object\n * @return {Boolean} returns true if object is an Object\n */\n isObject: function(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n },\n\n /**\n * Checks if variable is Number\n *\n * @param {Integer|Float} n\n * @return {Boolean} returns true if variable is Number\n */\n isNumber: function(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n },\n\n /**\n * Search for an SVG element\n *\n * @param {Object|String} elementOrSelector DOM Element or selector String\n * @return {Object|Null} SVG or null\n */\n getSvg: function(elementOrSelector) {\n var element, svg;\n\n if (!this.isElement(elementOrSelector)) {\n // If selector provided\n if (\n typeof elementOrSelector === \"string\" ||\n elementOrSelector instanceof String\n ) {\n // Try to find the element\n element = document.querySelector(elementOrSelector);\n\n if (!element) {\n throw new Error(\n \"Provided selector did not find any elements. Selector: \" +\n elementOrSelector\n );\n return null;\n }\n } else {\n throw new Error(\"Provided selector is not an HTML object nor String\");\n return null;\n }\n } else {\n element = elementOrSelector;\n }\n\n if (element.tagName.toLowerCase() === \"svg\") {\n svg = element;\n } else {\n if (element.tagName.toLowerCase() === \"object\") {\n svg = element.contentDocument.documentElement;\n } else {\n if (element.tagName.toLowerCase() === \"embed\") {\n svg = element.getSVGDocument().documentElement;\n } else {\n if (element.tagName.toLowerCase() === \"img\") {\n throw new Error(\n 'Cannot script an SVG in an \"img\" element. Please use an \"object\" element or an in-line SVG.'\n );\n } else {\n throw new Error(\"Cannot get SVG.\");\n }\n return null;\n }\n }\n }\n\n return svg;\n },\n\n /**\n * Attach a given context to a function\n * @param {Function} fn Function\n * @param {Object} context Context\n * @return {Function} Function with certain context\n */\n proxy: function(fn, context) {\n return function() {\n return fn.apply(context, arguments);\n };\n },\n\n /**\n * Returns object type\n * Uses toString that returns [object SVGPoint]\n * And than parses object type from string\n *\n * @param {Object} o Any object\n * @return {String} Object type\n */\n getType: function(o) {\n return Object.prototype.toString\n .apply(o)\n .replace(/^\\[object\\s/, \"\")\n .replace(/\\]$/, \"\");\n },\n\n /**\n * If it is a touch event than add clientX and clientY to event object\n *\n * @param {Event} evt\n * @param {SVGSVGElement} svg\n */\n mouseAndTouchNormalize: function(evt, svg) {\n // If no clientX then fallback\n if (evt.clientX === void 0 || evt.clientX === null) {\n // Fallback\n evt.clientX = 0;\n evt.clientY = 0;\n\n // If it is a touch event\n if (evt.touches !== void 0 && evt.touches.length) {\n if (evt.touches[0].clientX !== void 0) {\n evt.clientX = evt.touches[0].clientX;\n evt.clientY = evt.touches[0].clientY;\n } else if (evt.touches[0].pageX !== void 0) {\n var rect = svg.getBoundingClientRect();\n\n evt.clientX = evt.touches[0].pageX - rect.left;\n evt.clientY = evt.touches[0].pageY - rect.top;\n }\n // If it is a custom event\n } else if (evt.originalEvent !== void 0) {\n if (evt.originalEvent.clientX !== void 0) {\n evt.clientX = evt.originalEvent.clientX;\n evt.clientY = evt.originalEvent.clientY;\n }\n }\n }\n },\n\n /**\n * Check if an event is a double click/tap\n * TODO: For touch gestures use a library (hammer.js) that takes in account other events\n * (touchmove and touchend). It should take in account tap duration and traveled distance\n *\n * @param {Event} evt\n * @param {Event} prevEvt Previous Event\n * @return {Boolean}\n */\n isDblClick: function(evt, prevEvt) {\n // Double click detected by browser\n if (evt.detail === 2) {\n return true;\n }\n // Try to compare events\n else if (prevEvt !== void 0 && prevEvt !== null) {\n var timeStampDiff = evt.timeStamp - prevEvt.timeStamp, // should be lower than 250 ms\n touchesDistance = Math.sqrt(\n Math.pow(evt.clientX - prevEvt.clientX, 2) +\n Math.pow(evt.clientY - prevEvt.clientY, 2)\n );\n\n return timeStampDiff < 250 && touchesDistance < 10;\n }\n\n // Nothing found\n return false;\n },\n\n /**\n * Returns current timestamp as an integer\n *\n * @return {Number}\n */\n now:\n Date.now ||\n function() {\n return new Date().getTime();\n },\n\n // From underscore.\n // Returns a function, that, when invoked, will only be triggered at most once\n // during a given window of time. Normally, the throttled function will run\n // as much as it can, without ever going more than once per `wait` duration;\n // but if you'd like to disable the execution on the leading edge, pass\n // `{leading: false}`. To disable execution on the trailing edge, ditto.\n throttle: function(func, wait, options) {\n var that = this;\n var context, args, result;\n var timeout = null;\n var previous = 0;\n if (!options) {\n options = {};\n }\n var later = function() {\n previous = options.leading === false ? 0 : that.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) {\n context = args = null;\n }\n };\n return function() {\n var now = that.now();\n if (!previous && options.leading === false) {\n previous = now;\n }\n var remaining = wait - (now - previous);\n context = this; // eslint-disable-line consistent-this\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n clearTimeout(timeout);\n timeout = null;\n previous = now;\n result = func.apply(context, args);\n if (!timeout) {\n context = args = null;\n }\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n },\n\n /**\n * Create a requestAnimationFrame simulation\n *\n * @param {Number|String} refreshRate\n * @return {Function}\n */\n createRequestAnimationFrame: function(refreshRate) {\n var timeout = null;\n\n // Convert refreshRate to timeout\n if (refreshRate !== \"auto\" && refreshRate < 60 && refreshRate > 1) {\n timeout = Math.floor(1000 / refreshRate);\n }\n\n if (timeout === null) {\n return window.requestAnimationFrame || requestTimeout(33);\n } else {\n return requestTimeout(timeout);\n }\n }\n};\n\n/**\n * Create a callback that will execute after a given timeout\n *\n * @param {Function} timeout\n * @return {Function}\n */\nfunction requestTimeout(timeout) {\n return function(callback) {\n window.setTimeout(callback, timeout);\n };\n}\n","/**\n * @license Angular v14.1.0\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, 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.0\", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.0\", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: useBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: BrowserPlatformLocation, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBrowserPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.0\", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: createBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.0\", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: provideLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", ngImport: i0, type: LocationStrategy, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: provideLocationStrategy }]\n }] });\nfunction provideLocationStrategy() {\n // See #23917\n const location = ɵɵinject(DOCUMENT).location;\n return new PathLocationStrategy(ɵɵinject(PlatformLocation), location && location.origin || '');\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 must provide a {@link APP_BASE_HREF}\n * or add a `` element to the document.\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 if (href == null) {\n href = this._platformLocation.getBaseHrefFromDOM();\n }\n if (href == null) {\n throw new Error(`No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.`);\n }\n this._baseHref = href;\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.0\", 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.0\", ngImport: i0, type: PathLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", ngImport: i0, type: PathLocationStrategy, 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 * 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.0\", 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.0\", ngImport: i0, type: HashLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Injectable });\nLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.0\", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.0\", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocaleLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.0\", ngImport: i0, type: NgLocaleLocalization });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", 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.0\", type: NgClass, isStandalone: true, selector: \"[ngClass]\", inputs: { klass: [\"class\", \"klass\"], ngClass: \"ngClass\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgComponentOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.0\", 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.0\", 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.0\", 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.0\", 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.0\", 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.0\", 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.0\", type: NgIf, isStandalone: true, selector: \"[ngIf]\", inputs: { ngIf: \"ngIf\", ngIfThen: \"ngIfThen\", ngIfElse: \"ngIfElse\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.0\", type: NgSwitch, isStandalone: true, selector: \"[ngSwitch]\", inputs: { ngSwitch: \"ngSwitch\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", 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.0\", type: NgSwitchCase, isStandalone: true, selector: \"[ngSwitchCase]\", inputs: { ngSwitchCase: \"ngSwitchCase\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", 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.0\", type: NgSwitchDefault, isStandalone: true, selector: \"[ngSwitchDefault]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });\nNgPlural.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.0\", type: NgPlural, isStandalone: true, selector: \"[ngPlural]\", inputs: { ngPlural: \"ngPlural\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", 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.0\", type: NgPluralCase, isStandalone: true, selector: \"[ngPluralCase]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", 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.0\", type: NgStyle, isStandalone: true, selector: \"[ngStyle]\", inputs: { ngStyle: \"ngStyle\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTemplateOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"14.1.0\", 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.0\", 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.0\", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });\nAsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.0\", ngImport: i0, type: AsyncPipe, isStandalone: true, name: \"async\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nLowerCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.0\", ngImport: i0, type: LowerCasePipe, isStandalone: true, name: \"lowercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nTitleCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.0\", ngImport: i0, type: TitleCasePipe, isStandalone: true, name: \"titlecase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nUpperCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.0\", ngImport: i0, type: UpperCasePipe, isStandalone: true, name: \"uppercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", 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.0\", ngImport: i0, type: DatePipe, isStandalone: true, name: \"date\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });\nI18nPluralPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.0\", ngImport: i0, type: I18nPluralPipe, isStandalone: true, name: \"i18nPlural\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nI18nSelectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.0\", ngImport: i0, type: I18nSelectPipe, isStandalone: true, name: \"i18nSelect\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nJsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.0\", ngImport: i0, type: JsonPipe, isStandalone: true, name: \"json\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });\nKeyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.0\", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: \"keyvalue\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nDecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.0\", ngImport: i0, type: DecimalPipe, isStandalone: true, name: \"number\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.0\", ngImport: i0, type: PercentPipe, isStandalone: true, name: \"percent\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", 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.0\", ngImport: i0, type: CurrencyPipe, isStandalone: true, name: \"currency\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nSlicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"14.1.0\", ngImport: i0, type: SlicePipe, isStandalone: true, name: \"slice\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: CommonModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.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 * 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.0\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.0\", ngImport: i0, type: HttpClient, deps: [{ token: HttpHandler }], target: i0.ɵɵFactoryTarget.Injectable });\nHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.0\", ngImport: i0, type: HttpClient });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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.0\", ngImport: i0, type: NoopInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"14.1.0\", ngImport: i0, type: NoopInterceptor });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.1.0\", 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