{"version":3,"file":"main.b5c3ec47b0f4287cf9e6.js","mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,OAAT,CAAiBC,IAAjB,EAAuBC,WAAvB,EAAoC;AAChC,SAAO;AAAEpY,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAyBmY,IAAAA,IAAzB;AAA+BC,IAAAA,WAA/B;AAA4CC,IAAAA,OAAO,EAAE;AAArD,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,OAAT,CAAiBC,OAAjB,EAA0BtX,MAAM,GAAG,IAAnC,EAAyC;AACrC,SAAO;AAAEjB,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAyBiB,IAAAA,MAAzB;AAAiCsX,IAAAA;AAAjC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,KAAT,CAAeC,KAAf,EAAsBJ,OAAO,GAAG,IAAhC,EAAsC;AAClC,SAAO;AAAErY,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAuByY,IAAAA,KAAvB;AAA8BJ,IAAAA;AAA9B,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASK,QAAT,CAAkBD,KAAlB,EAAyBJ,OAAO,GAAG,IAAnC,EAAyC;AACrC,SAAO;AAAErY,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA0ByY,IAAAA,KAA1B;AAAiCJ,IAAAA;AAAjC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASM,KAAT,CAAeC,MAAf,EAAuB;AACnB,SAAO;AAAE5Y,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAuBiB,IAAAA,MAAM,EAAE2X,MAA/B;AAAuCC,IAAAA,MAAM,EAAE;AAA/C,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,KAAT,CAAeX,IAAf,EAAqBlX,MAArB,EAA6BoX,OAA7B,EAAsC;AAClC,SAAO;AAAErY,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAuBmY,IAAAA,IAAvB;AAA6BlX,IAAAA,MAA7B;AAAqCoX,IAAAA;AAArC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASU,SAAT,CAAmBN,KAAnB,EAA0B;AACtB,SAAO;AAAEzY,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA2ByY,IAAAA;AAA3B,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,UAAT,CAAoBC,eAApB,EAAqCR,KAArC,EAA4CJ,OAAO,GAAG,IAAtD,EAA4D;AACxD,SAAO;AAAErY,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA4BkZ,IAAAA,IAAI,EAAED,eAAlC;AAAmDxN,IAAAA,SAAS,EAAEgN,KAA9D;AAAqEJ,IAAAA;AAArE,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS5M,SAAT,CAAmBgN,KAAnB,EAA0BJ,OAAO,GAAG,IAApC,EAA0C;AACtC,SAAO;AAAErY,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA2ByL,IAAAA,SAAS,EAAEgN,KAAtC;AAA6CJ,IAAAA;AAA7C,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASc,YAAT,CAAsBd,OAAO,GAAG,IAAhC,EAAsC;AAClC,SAAO;AAAErY,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA8BqY,IAAAA;AAA9B,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASe,YAAT,CAAsB3N,SAAtB,EAAiC4M,OAAO,GAAG,IAA3C,EAAiD;AAC7C,SAAO;AAAErY,IAAAA,IAAI,EAAE;AAAG;AAAX;AAA6ByL,IAAAA,SAA7B;AAAwC4M,IAAAA;AAAxC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgB,KAAT,CAAeC,QAAf,EAAyB7N,SAAzB,EAAoC4M,OAAO,GAAG,IAA9C,EAAoD;AAChD,SAAO;AAAErY,IAAAA,IAAI,EAAE;AAAG;AAAX;AAAwBsZ,IAAAA,QAAxB;AAAkC7N,IAAAA,SAAlC;AAA6C4M,IAAAA;AAA7C,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkB,OAAT,CAAiBhB,OAAjB,EAA0B9M,SAA1B,EAAqC;AACjC,SAAO;AAAEzL,IAAAA,IAAI,EAAE;AAAG;AAAX;AAA0BuY,IAAAA,OAA1B;AAAmC9M,IAAAA;AAAnC,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+N,iBAAT,CAA2BC,EAA3B,EAA+B;AAC3BC,EAAAA,OAAO,CAACC,OAAR,CAAgB,IAAhB,EAAsBC,IAAtB,CAA2BH,EAA3B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMI,mBAAN,CAA0B;AACtBxb,EAAAA,WAAW,CAACyb,QAAQ,GAAG,CAAZ,EAAeC,KAAK,GAAG,CAAvB,EAA0B;AACjC,SAAKC,UAAL,GAAkB,EAAlB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA,SAAKC,aAAL,GAAqB,EAArB;AACA,SAAKC,QAAL,GAAgB,KAAhB;AACA,SAAK3Y,UAAL,GAAkB,KAAlB;AACA,SAAK4Y,SAAL,GAAiB,KAAjB;AACA,SAAKC,SAAL,GAAiB,CAAjB;AACA,SAAKC,YAAL,GAAoB,IAApB;AACA,SAAKC,SAAL,GAAiBT,QAAQ,GAAGC,KAA5B;AACH;;AACDS,EAAAA,SAAS,GAAG;AACR,QAAI,CAAC,KAAKJ,SAAV,EAAqB;AACjB,WAAKA,SAAL,GAAiB,IAAjB;;AACA,WAAKJ,UAAL,CAAgBS,OAAhB,CAAwBpH,EAAE,IAAIA,EAAE,EAAhC;;AACA,WAAK2G,UAAL,GAAkB,EAAlB;AACH;AACJ;;AACDU,EAAAA,OAAO,CAACrH,EAAD,EAAK;AACR,SAAK4G,WAAL,CAAiBU,IAAjB,CAAsBtH,EAAtB;AACH;;AACDuH,EAAAA,MAAM,CAACvH,EAAD,EAAK;AACP,SAAK2G,UAAL,CAAgBW,IAAhB,CAAqBtH,EAArB;AACH;;AACDwH,EAAAA,SAAS,CAACxH,EAAD,EAAK;AACV,SAAK6G,aAAL,CAAmBS,IAAnB,CAAwBtH,EAAxB;AACH;;AACDyH,EAAAA,UAAU,GAAG;AACT,WAAO,KAAKX,QAAZ;AACH;;AACDY,EAAAA,IAAI,GAAG,CAAG;;AACVC,EAAAA,IAAI,GAAG;AACH,QAAI,CAAC,KAAKF,UAAL,EAAL,EAAwB;AACpB,WAAKG,QAAL;;AACA,WAAKC,gBAAL;AACH;;AACD,SAAKf,QAAL,GAAgB,IAAhB;AACH;AACD;;;AACAe,EAAAA,gBAAgB,GAAG;AACf1B,IAAAA,iBAAiB,CAAC,MAAM,KAAKgB,SAAL,EAAP,CAAjB;AACH;;AACDS,EAAAA,QAAQ,GAAG;AACP,SAAKhB,WAAL,CAAiBQ,OAAjB,CAAyBpH,EAAE,IAAIA,EAAE,EAAjC;;AACA,SAAK4G,WAAL,GAAmB,EAAnB;AACH;;AACDkB,EAAAA,KAAK,GAAG,CAAG;;AACXC,EAAAA,OAAO,GAAG,CAAG;;AACbC,EAAAA,MAAM,GAAG;AACL,SAAKb,SAAL;AACH;;AACDc,EAAAA,OAAO,GAAG;AACN,QAAI,CAAC,KAAK9Z,UAAV,EAAsB;AAClB,WAAKA,UAAL,GAAkB,IAAlB;;AACA,UAAI,CAAC,KAAKsZ,UAAL,EAAL,EAAwB;AACpB,aAAKG,QAAL;AACH;;AACD,WAAKI,MAAL;;AACA,WAAKnB,aAAL,CAAmBO,OAAnB,CAA2BpH,EAAE,IAAIA,EAAE,EAAnC;;AACA,WAAK6G,aAAL,GAAqB,EAArB;AACH;AACJ;;AACDqB,EAAAA,KAAK,GAAG;AACJ,SAAKpB,QAAL,GAAgB,KAAhB;AACH;;AACDqB,EAAAA,WAAW,CAAC5K,QAAD,EAAW;AAClB,SAAKyJ,SAAL,GAAiB,KAAKE,SAAL,GAAiB3J,QAAQ,GAAG,KAAK2J,SAAjC,GAA6C,CAA9D;AACH;;AACDkB,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKlB,SAAL,GAAiB,KAAKF,SAAL,GAAiB,KAAKE,SAAvC,GAAmD,CAA1D;AACH;AACD;;;AACAmB,EAAAA,eAAe,CAACC,SAAD,EAAY;AACvB,UAAMC,OAAO,GAAGD,SAAS,IAAI,OAAb,GAAuB,KAAK1B,WAA5B,GAA0C,KAAKD,UAA/D;AACA4B,IAAAA,OAAO,CAACnB,OAAR,CAAgBpH,EAAE,IAAIA,EAAE,EAAxB;AACAuI,IAAAA,OAAO,CAAC7f,MAAR,GAAiB,CAAjB;AACH;;AA7EqB;AAgF1B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8f,oBAAN,CAA2B;AACvBxd,EAAAA,WAAW,CAACyd,QAAD,EAAW;AAClB,SAAK9B,UAAL,GAAkB,EAAlB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA,SAAKG,SAAL,GAAiB,KAAjB;AACA,SAAKD,QAAL,GAAgB,KAAhB;AACA,SAAK3Y,UAAL,GAAkB,KAAlB;AACA,SAAK0Y,aAAL,GAAqB,EAArB;AACA,SAAKI,YAAL,GAAoB,IAApB;AACA,SAAKC,SAAL,GAAiB,CAAjB;AACA,SAAKwB,OAAL,GAAeD,QAAf;AACA,QAAIE,SAAS,GAAG,CAAhB;AACA,QAAIC,YAAY,GAAG,CAAnB;AACA,QAAIC,UAAU,GAAG,CAAjB;AACA,UAAMC,KAAK,GAAG,KAAKJ,OAAL,CAAahgB,MAA3B;;AACA,QAAIogB,KAAK,IAAI,CAAb,EAAgB;AACZ3C,MAAAA,iBAAiB,CAAC,MAAM,KAAKgB,SAAL,EAAP,CAAjB;AACH,KAFD,MAGK;AACD,WAAKuB,OAAL,CAAatB,OAAb,CAAqB2B,MAAM,IAAI;AAC3BA,QAAAA,MAAM,CAACxB,MAAP,CAAc,MAAM;AAChB,cAAI,EAAEoB,SAAF,IAAeG,KAAnB,EAA0B;AACtB,iBAAK3B,SAAL;AACH;AACJ,SAJD;AAKA4B,QAAAA,MAAM,CAACvB,SAAP,CAAiB,MAAM;AACnB,cAAI,EAAEoB,YAAF,IAAkBE,KAAtB,EAA6B;AACzB,iBAAKE,UAAL;AACH;AACJ,SAJD;AAKAD,QAAAA,MAAM,CAAC1B,OAAP,CAAe,MAAM;AACjB,cAAI,EAAEwB,UAAF,IAAgBC,KAApB,EAA2B;AACvB,iBAAKlB,QAAL;AACH;AACJ,SAJD;AAKH,OAhBD;AAiBH;;AACD,SAAKV,SAAL,GAAiB,KAAKwB,OAAL,CAAaO,MAAb,CAAoB,CAACC,IAAD,EAAOH,MAAP,KAAkBpiB,IAAI,CAACK,GAAL,CAASkiB,IAAT,EAAeH,MAAM,CAAC7B,SAAtB,CAAtC,EAAwE,CAAxE,CAAjB;AACH;;AACDC,EAAAA,SAAS,GAAG;AACR,QAAI,CAAC,KAAKJ,SAAV,EAAqB;AACjB,WAAKA,SAAL,GAAiB,IAAjB;;AACA,WAAKJ,UAAL,CAAgBS,OAAhB,CAAwBpH,EAAE,IAAIA,EAAE,EAAhC;;AACA,WAAK2G,UAAL,GAAkB,EAAlB;AACH;AACJ;;AACDe,EAAAA,IAAI,GAAG;AACH,SAAKgB,OAAL,CAAatB,OAAb,CAAqB2B,MAAM,IAAIA,MAAM,CAACrB,IAAP,EAA/B;AACH;;AACDL,EAAAA,OAAO,CAACrH,EAAD,EAAK;AACR,SAAK4G,WAAL,CAAiBU,IAAjB,CAAsBtH,EAAtB;AACH;;AACD4H,EAAAA,QAAQ,GAAG;AACP,QAAI,CAAC,KAAKH,UAAL,EAAL,EAAwB;AACpB,WAAKX,QAAL,GAAgB,IAAhB;;AACA,WAAKF,WAAL,CAAiBQ,OAAjB,CAAyBpH,EAAE,IAAIA,EAAE,EAAjC;;AACA,WAAK4G,WAAL,GAAmB,EAAnB;AACH;AACJ;;AACDW,EAAAA,MAAM,CAACvH,EAAD,EAAK;AACP,SAAK2G,UAAL,CAAgBW,IAAhB,CAAqBtH,EAArB;AACH;;AACDwH,EAAAA,SAAS,CAACxH,EAAD,EAAK;AACV,SAAK6G,aAAL,CAAmBS,IAAnB,CAAwBtH,EAAxB;AACH;;AACDyH,EAAAA,UAAU,GAAG;AACT,WAAO,KAAKX,QAAZ;AACH;;AACDa,EAAAA,IAAI,GAAG;AACH,QAAI,CAAC,KAAKV,YAAV,EAAwB;AACpB,WAAKS,IAAL;AACH;;AACD,SAAKE,QAAL;;AACA,SAAKc,OAAL,CAAatB,OAAb,CAAqB2B,MAAM,IAAIA,MAAM,CAACpB,IAAP,EAA/B;AACH;;AACDG,EAAAA,KAAK,GAAG;AACJ,SAAKY,OAAL,CAAatB,OAAb,CAAqB2B,MAAM,IAAIA,MAAM,CAACjB,KAAP,EAA/B;AACH;;AACDC,EAAAA,OAAO,GAAG;AACN,SAAKW,OAAL,CAAatB,OAAb,CAAqB2B,MAAM,IAAIA,MAAM,CAAChB,OAAP,EAA/B;AACH;;AACDC,EAAAA,MAAM,GAAG;AACL,SAAKb,SAAL;;AACA,SAAKuB,OAAL,CAAatB,OAAb,CAAqB2B,MAAM,IAAIA,MAAM,CAACf,MAAP,EAA/B;AACH;;AACDC,EAAAA,OAAO,GAAG;AACN,SAAKe,UAAL;AACH;;AACDA,EAAAA,UAAU,GAAG;AACT,QAAI,CAAC,KAAK7a,UAAV,EAAsB;AAClB,WAAKA,UAAL,GAAkB,IAAlB;;AACA,WAAKgZ,SAAL;;AACA,WAAKuB,OAAL,CAAatB,OAAb,CAAqB2B,MAAM,IAAIA,MAAM,CAACd,OAAP,EAA/B;;AACA,WAAKpB,aAAL,CAAmBO,OAAnB,CAA2BpH,EAAE,IAAIA,EAAE,EAAnC;;AACA,WAAK6G,aAAL,GAAqB,EAArB;AACH;AACJ;;AACDqB,EAAAA,KAAK,GAAG;AACJ,SAAKQ,OAAL,CAAatB,OAAb,CAAqB2B,MAAM,IAAIA,MAAM,CAACb,KAAP,EAA/B;AACA,SAAK/Z,UAAL,GAAkB,KAAlB;AACA,SAAK4Y,SAAL,GAAiB,KAAjB;AACA,SAAKD,QAAL,GAAgB,KAAhB;AACH;;AACDqB,EAAAA,WAAW,CAACgB,CAAD,EAAI;AACX,UAAMC,cAAc,GAAGD,CAAC,GAAG,KAAKjC,SAAhC;AACA,SAAKwB,OAAL,CAAatB,OAAb,CAAqB2B,MAAM,IAAI;AAC3B,YAAMxL,QAAQ,GAAGwL,MAAM,CAAC7B,SAAP,GAAmBvgB,IAAI,CAACG,GAAL,CAAS,CAAT,EAAYsiB,cAAc,GAAGL,MAAM,CAAC7B,SAApC,CAAnB,GAAoE,CAArF;AACA6B,MAAAA,MAAM,CAACZ,WAAP,CAAmB5K,QAAnB;AACH,KAHD;AAIH;;AACD6K,EAAAA,WAAW,GAAG;AACV,UAAMiB,aAAa,GAAG,KAAKX,OAAL,CAAaO,MAAb,CAAoB,CAACK,YAAD,EAAeP,MAAf,KAA0B;AAChE,YAAMQ,kBAAkB,GAAGD,YAAY,KAAK,IAAjB,IAAyBP,MAAM,CAAC7B,SAAP,GAAmBoC,YAAY,CAACpC,SAApF;AACA,aAAOqC,kBAAkB,GAAGR,MAAH,GAAYO,YAArC;AACH,KAHqB,EAGnB,IAHmB,CAAtB;AAIA,WAAOD,aAAa,IAAI,IAAjB,GAAwBA,aAAa,CAACjB,WAAd,EAAxB,GAAsD,CAA7D;AACH;;AACDoB,EAAAA,aAAa,GAAG;AACZ,SAAKd,OAAL,CAAatB,OAAb,CAAqB2B,MAAM,IAAI;AAC3B,UAAIA,MAAM,CAACS,aAAX,EAA0B;AACtBT,QAAAA,MAAM,CAACS,aAAP;AACH;AACJ,KAJD;AAKH;AACD;;;AACAnB,EAAAA,eAAe,CAACC,SAAD,EAAY;AACvB,UAAMC,OAAO,GAAGD,SAAS,IAAI,OAAb,GAAuB,KAAK1B,WAA5B,GAA0C,KAAKD,UAA/D;AACA4B,IAAAA,OAAO,CAACnB,OAAR,CAAgBpH,EAAE,IAAIA,EAAE,EAAxB;AACAuI,IAAAA,OAAO,CAAC7f,MAAR,GAAiB,CAAjB;AACH;;AAjIsB;AAoI3B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+gB,UAAU,GAAG,GAAnB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChrCA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA,SAASE,SAAT,GAAqB;AACjB,SAAQ,OAAOC,MAAP,KAAkB,WAAlB,IAAiC,OAAOA,MAAM,CAACnb,QAAd,KAA2B,WAApE;AACH;;AACD,SAASob,MAAT,GAAkB;AACd;AACA;AACA;AACA;AACA;AACA,SAAO,OAAOC,OAAP,KAAmB,WAAnB,IAAkC,GAAGzhB,QAAH,CAAY0hB,IAAZ,CAAiBD,OAAjB,MAA8B,kBAAvE;AACH;;AACD,SAASE,mBAAT,CAA6BtB,OAA7B,EAAsC;AAClC,UAAQA,OAAO,CAAChgB,MAAhB;AACI,SAAK,CAAL;AACI,aAAO,IAAI8d,oEAAJ,EAAP;;AACJ,SAAK,CAAL;AACI,aAAOkC,OAAO,CAAC,CAAD,CAAd;;AACJ;AACI,aAAO,IAAIgB,yEAAJ,CAA0BhB,OAA1B,CAAP;AANR;AAQH;;AACD,SAASuB,kBAAT,CAA4BC,MAA5B,EAAoCC,UAApC,EAAgDxK,OAAhD,EAAyD+F,SAAzD,EAAoE0E,SAAS,GAAG,EAAhF,EAAoFC,UAAU,GAAG,EAAjG,EAAqG;AACjG,QAAMC,MAAM,GAAG,EAAf;AACA,QAAMC,mBAAmB,GAAG,EAA5B;AACA,MAAIC,cAAc,GAAG,CAAC,CAAtB;AACA,MAAIC,gBAAgB,GAAG,IAAvB;AACA/E,EAAAA,SAAS,CAAC0B,OAAV,CAAkBsD,EAAE,IAAI;AACpB,UAAMlF,MAAM,GAAGkF,EAAE,CAAC,QAAD,CAAjB;AACA,UAAMC,YAAY,GAAGnF,MAAM,IAAIgF,cAA/B;AACA,UAAMI,kBAAkB,GAAID,YAAY,IAAIF,gBAAjB,IAAsC,EAAjE;AACAI,IAAAA,MAAM,CAACC,IAAP,CAAYJ,EAAZ,EAAgBtD,OAAhB,CAAwB2D,IAAI,IAAI;AAC5B,UAAIC,cAAc,GAAGD,IAArB;AACA,UAAIE,eAAe,GAAGP,EAAE,CAACK,IAAD,CAAxB;;AACA,UAAIA,IAAI,KAAK,QAAb,EAAuB;AACnBC,QAAAA,cAAc,GAAGb,UAAU,CAACe,qBAAX,CAAiCF,cAAjC,EAAiDV,MAAjD,CAAjB;;AACA,gBAAQW,eAAR;AACI,eAAKxB,8DAAL;AACIwB,YAAAA,eAAe,GAAGb,SAAS,CAACW,IAAD,CAA3B;AACA;;AACJ,eAAKnG,2DAAL;AACIqG,YAAAA,eAAe,GAAGZ,UAAU,CAACU,IAAD,CAA5B;AACA;;AACJ;AACIE,YAAAA,eAAe,GACXd,UAAU,CAACgB,mBAAX,CAA+BJ,IAA/B,EAAqCC,cAArC,EAAqDC,eAArD,EAAsEX,MAAtE,CADJ;AAEA;AAVR;AAYH;;AACDM,MAAAA,kBAAkB,CAACI,cAAD,CAAlB,GAAqCC,eAArC;AACH,KAnBD;;AAoBA,QAAI,CAACN,YAAL,EAAmB;AACfJ,MAAAA,mBAAmB,CAACjD,IAApB,CAAyBsD,kBAAzB;AACH;;AACDH,IAAAA,gBAAgB,GAAGG,kBAAnB;AACAJ,IAAAA,cAAc,GAAGhF,MAAjB;AACH,GA7BD;;AA8BA,MAAI8E,MAAM,CAAC5hB,MAAX,EAAmB;AACf,UAAM0iB,UAAU,GAAG,OAAnB;AACA,UAAM,IAAItgB,KAAJ,CAAW,iDAAgDsgB,UAAW,GAAEd,MAAM,CAAC9hB,IAAP,CAAY4iB,UAAZ,CAAwB,EAAhG,CAAN;AACH;;AACD,SAAOb,mBAAP;AACH;;AACD,SAASc,cAAT,CAAwBtC,MAAxB,EAAgCuC,SAAhC,EAA2CxO,KAA3C,EAAkDyO,QAAlD,EAA4D;AACxD,UAAQD,SAAR;AACI,SAAK,OAAL;AACIvC,MAAAA,MAAM,CAAC1B,OAAP,CAAe,MAAMkE,QAAQ,CAACzO,KAAK,IAAI0O,kBAAkB,CAAC1O,KAAD,EAAQ,OAAR,EAAiBiM,MAAjB,CAA5B,CAA7B;AACA;;AACJ,SAAK,MAAL;AACIA,MAAAA,MAAM,CAACxB,MAAP,CAAc,MAAMgE,QAAQ,CAACzO,KAAK,IAAI0O,kBAAkB,CAAC1O,KAAD,EAAQ,MAAR,EAAgBiM,MAAhB,CAA5B,CAA5B;AACA;;AACJ,SAAK,SAAL;AACIA,MAAAA,MAAM,CAACvB,SAAP,CAAiB,MAAM+D,QAAQ,CAACzO,KAAK,IAAI0O,kBAAkB,CAAC1O,KAAD,EAAQ,SAAR,EAAmBiM,MAAnB,CAA5B,CAA/B;AACA;AATR;AAWH;;AACD,SAASyC,kBAAT,CAA4Bpc,CAA5B,EAA+BkZ,SAA/B,EAA0CS,MAA1C,EAAkD;AAC9C,QAAM7B,SAAS,GAAG6B,MAAM,CAAC7B,SAAzB;AACA,QAAMrN,QAAQ,GAAGkP,MAAM,CAAClP,QAAP,GAAkB,IAAlB,GAAyB,KAA1C;AACA,QAAMiD,KAAK,GAAG2O,kBAAkB,CAACrc,CAAC,CAACuQ,OAAH,EAAYvQ,CAAC,CAACsc,WAAd,EAA2Btc,CAAC,CAACuc,SAA7B,EAAwCvc,CAAC,CAACwc,OAA1C,EAAmDtD,SAAS,IAAIlZ,CAAC,CAACkZ,SAAlE,EAA6EpB,SAAS,IAAInN,SAAb,GAAyB3K,CAAC,CAAC8X,SAA3B,GAAuCA,SAApH,EAA+HrN,QAA/H,CAAhC;AACA,QAAMjS,IAAI,GAAGwH,CAAC,CAAC,OAAD,CAAd;;AACA,MAAIxH,IAAI,IAAI,IAAZ,EAAkB;AACdkV,IAAAA,KAAK,CAAC,OAAD,CAAL,GAAiBlV,IAAjB;AACH;;AACD,SAAOkV,KAAP;AACH;;AACD,SAAS2O,kBAAT,CAA4B9L,OAA5B,EAAqC+L,WAArC,EAAkDC,SAAlD,EAA6DC,OAA7D,EAAsEtD,SAAS,GAAG,EAAlF,EAAsFpB,SAAS,GAAG,CAAlG,EAAqGrN,QAArG,EAA+G;AAC3G,SAAO;AAAE8F,IAAAA,OAAF;AAAW+L,IAAAA,WAAX;AAAwBC,IAAAA,SAAxB;AAAmCC,IAAAA,OAAnC;AAA4CtD,IAAAA,SAA5C;AAAuDpB,IAAAA,SAAvD;AAAkErN,IAAAA,QAAQ,EAAE,CAAC,CAACA;AAA9E,GAAP;AACH;;AACD,SAASgS,eAAT,CAAyBC,GAAzB,EAA8BC,GAA9B,EAAmCC,YAAnC,EAAiD;AAC7C,MAAI5a,KAAJ;;AACA,MAAI0a,GAAG,YAAYG,GAAnB,EAAwB;AACpB7a,IAAAA,KAAK,GAAG0a,GAAG,CAACrb,GAAJ,CAAQsb,GAAR,CAAR;;AACA,QAAI,CAAC3a,KAAL,EAAY;AACR0a,MAAAA,GAAG,CAACI,GAAJ,CAAQH,GAAR,EAAa3a,KAAK,GAAG4a,YAArB;AACH;AACJ,GALD,MAMK;AACD5a,IAAAA,KAAK,GAAG0a,GAAG,CAACC,GAAD,CAAX;;AACA,QAAI,CAAC3a,KAAL,EAAY;AACRA,MAAAA,KAAK,GAAG0a,GAAG,CAACC,GAAD,CAAH,GAAWC,YAAnB;AACH;AACJ;;AACD,SAAO5a,KAAP;AACH;;AACD,SAAS+a,oBAAT,CAA8BC,OAA9B,EAAuC;AACnC,QAAMC,YAAY,GAAGD,OAAO,CAACE,OAAR,CAAgB,GAAhB,CAArB;AACA,QAAM9K,EAAE,GAAG4K,OAAO,CAACG,SAAR,CAAkB,CAAlB,EAAqBF,YAArB,CAAX;AACA,QAAMG,MAAM,GAAGJ,OAAO,CAACK,MAAR,CAAeJ,YAAY,GAAG,CAA9B,CAAf;AACA,SAAO,CAAC7K,EAAD,EAAKgL,MAAL,CAAP;AACH;;AACD,IAAIE,SAAS,GAAG,CAACC,IAAD,EAAOC,IAAP,KAAgB,KAAhC;;AACA,MAAMC,EAAE,GAAGH,SAAX;;AACA,IAAII,QAAQ,GAAG,CAACnN,OAAD,EAAUsG,QAAV,KAAuB,KAAtC;;AACA,MAAM8G,EAAE,GAAGD,QAAX;;AACA,IAAIE,MAAM,GAAG,CAACrN,OAAD,EAAUsG,QAAV,EAAoBtH,KAApB,KAA8B;AACvC,SAAO,EAAP;AACH,CAFD;;AAGA,MAAMsO,EAAE,GAAGD,MAAX,EACA;AACA;;AACA,MAAME,OAAO,gBAAGrD,MAAM,EAAtB;;AACA,IAAIqD,OAAO,IAAI,OAAOC,OAAP,KAAmB,WAAlC,EAA+C;AAC3C,MAAI,eAACxD,SAAS,EAAd,EAAkB;AACd+C,IAAAA,SAAS,GAAG,CAACC,IAAD,EAAOC,IAAP,KAAgBD,IAAI,CAACS,QAAL,CAAcR,IAAd,CAA5B;AACH,GAFD,MAGK;AACDF,IAAAA,SAAS,GAAG,CAACC,IAAD,EAAOC,IAAP,KAAgB;AACxB,aAAOA,IAAI,IAAIA,IAAI,KAAKne,QAAQ,CAAC4e,eAAjC,EAAkD;AAC9C,YAAIT,IAAI,KAAKD,IAAb,EAAmB;AACf,iBAAO,IAAP;AACH;;AACDC,QAAAA,IAAI,GAAGA,IAAI,CAACU,UAAL,IAAmBV,IAAI,CAACW,IAA/B,CAJ8C,CAIT;AACxC;;AACD,aAAO,KAAP;AACH,KARD;AASH;;AACDT,EAAAA,QAAQ,gBAAG,CAAC,MAAM;AACd,QAAII,OAAO,IAAIC,OAAO,CAACK,SAAR,CAAkBC,OAAjC,EAA0C;AACtC,aAAO,CAAC9N,OAAD,EAAUsG,QAAV,KAAuBtG,OAAO,CAAC8N,OAAR,CAAgBxH,QAAhB,CAA9B;AACH,KAFD,MAGK;AACD,YAAMyH,KAAK,GAAGP,OAAO,CAACK,SAAtB;AACA,YAAMxN,EAAE,GAAG0N,KAAK,CAACC,eAAN,IAAyBD,KAAK,CAACE,kBAA/B,IAAqDF,KAAK,CAACG,iBAA3D,IACPH,KAAK,CAACI,gBADC,IACmBJ,KAAK,CAACK,qBADpC;;AAEA,UAAI/N,EAAJ,EAAQ;AACJ,eAAO,CAACL,OAAD,EAAUsG,QAAV,KAAuBjG,EAAE,CAACgO,KAAH,CAASrO,OAAT,EAAkB,CAACsG,QAAD,CAAlB,CAA9B;AACH,OAFD,MAGK;AACD,eAAO6G,QAAP;AACH;AACJ;AACJ,GAfU,GAAX;;AAgBAE,EAAAA,MAAM,GAAG,CAACrN,OAAD,EAAUsG,QAAV,EAAoBtH,KAApB,KAA8B;AACnC,QAAIsP,OAAO,GAAG,EAAd;;AACA,QAAItP,KAAJ,EAAW;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAMuP,KAAK,GAAGvO,OAAO,CAACwO,gBAAR,CAAyBlI,QAAzB,CAAd;;AACA,WAAK,IAAImI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,KAAK,CAACxlB,MAA1B,EAAkC0lB,CAAC,EAAnC,EAAuC;AACnCH,QAAAA,OAAO,CAAC3G,IAAR,CAAa4G,KAAK,CAACE,CAAD,CAAlB;AACH;AACJ,KAZD,MAaK;AACD,YAAMC,GAAG,GAAG1O,OAAO,CAAC2O,aAAR,CAAsBrI,QAAtB,CAAZ;;AACA,UAAIoI,GAAJ,EAAS;AACLJ,QAAAA,OAAO,CAAC3G,IAAR,CAAa+G,GAAb;AACH;AACJ;;AACD,WAAOJ,OAAP;AACH,GAtBD;AAuBH;;AACD,SAASM,oBAAT,CAA8BxD,IAA9B,EAAoC;AAChC;AACA;AACA,SAAOA,IAAI,CAACwB,SAAL,CAAe,CAAf,EAAkB,CAAlB,KAAwB,OAA/B,CAHgC,CAGQ;AAC3C;;AACD,IAAIiC,YAAY,GAAG,IAAnB;AACA,IAAIC,UAAU,GAAG,KAAjB;;AACA,SAASC,qBAAT,CAA+B3D,IAA/B,EAAqC;AACjC,MAAI,CAACyD,YAAL,EAAmB;AACfA,IAAAA,YAAY,GAAGG,WAAW,MAAM,EAAhC;AACAF,IAAAA,UAAU,GAAGD,YAAY,CAAClJ,KAAb,GAAsB,sBAAsBkJ,YAAY,CAAClJ,KAAzD,GAAkE,KAA/E;AACH;;AACD,MAAIsJ,MAAM,GAAG,IAAb;;AACA,MAAIJ,YAAY,CAAClJ,KAAb,IAAsB,CAACiJ,oBAAoB,CAACxD,IAAD,CAA/C,EAAuD;AACnD6D,IAAAA,MAAM,GAAG7D,IAAI,IAAIyD,YAAY,CAAClJ,KAA9B;;AACA,QAAI,CAACsJ,MAAD,IAAWH,UAAf,EAA2B;AACvB,YAAMI,SAAS,GAAG,WAAW9D,IAAI,CAACxiB,MAAL,CAAY,CAAZ,EAAeumB,WAAf,EAAX,GAA0C/D,IAAI,CAAC0B,MAAL,CAAY,CAAZ,CAA5D;AACAmC,MAAAA,MAAM,GAAGC,SAAS,IAAIL,YAAY,CAAClJ,KAAnC;AACH;AACJ;;AACD,SAAOsJ,MAAP;AACH;;AACD,SAASD,WAAT,GAAuB;AACnB,MAAI,OAAOlgB,QAAP,IAAmB,WAAvB,EAAoC;AAChC,WAAOA,QAAQ,CAACsgB,IAAhB;AACH;;AACD,SAAO,IAAP;AACH;;AACD,MAAMC,cAAc,GAAGlC,QAAvB;AACA,MAAMmC,eAAe,GAAGvC,SAAxB;AACA,MAAMwC,WAAW,GAAGlC,MAApB;;AACA,SAASmC,mBAAT,CAA6BC,MAA7B,EAAqC;AACjC,QAAMC,MAAM,GAAG,EAAf;AACAxE,EAAAA,MAAM,CAACC,IAAP,CAAYsE,MAAZ,EAAoBhI,OAApB,CAA4B2D,IAAI,IAAI;AAChC,UAAMuE,OAAO,GAAGvE,IAAI,CAACxgB,OAAL,CAAa,iBAAb,EAAgC,OAAhC,CAAhB;AACA8kB,IAAAA,MAAM,CAACC,OAAD,CAAN,GAAkBF,MAAM,CAACrE,IAAD,CAAxB;AACH,GAHD;AAIA,SAAOsE,MAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;IACME;AAAN,QAAMA,mBAAN,CAA0B;AACtBb,IAAAA,qBAAqB,CAAC3D,IAAD,EAAO;AACxB,aAAO2D,qBAAqB,CAAC3D,IAAD,CAA5B;AACH;;AACDiE,IAAAA,cAAc,CAACrP,OAAD,EAAUsG,QAAV,EAAoB;AAC9B,aAAO+I,cAAc,CAACrP,OAAD,EAAUsG,QAAV,CAArB;AACH;;AACDgJ,IAAAA,eAAe,CAACtC,IAAD,EAAOC,IAAP,EAAa;AACxB,aAAOqC,eAAe,CAACtC,IAAD,EAAOC,IAAP,CAAtB;AACH;;AACD5G,IAAAA,KAAK,CAACrG,OAAD,EAAUsG,QAAV,EAAoBtH,KAApB,EAA2B;AAC5B,aAAOuQ,WAAW,CAACvP,OAAD,EAAUsG,QAAV,EAAoBtH,KAApB,CAAlB;AACH;;AACD6Q,IAAAA,YAAY,CAAC7P,OAAD,EAAUoL,IAAV,EAAgBiB,YAAhB,EAA8B;AACtC,aAAOA,YAAY,IAAI,EAAvB;AACH;;AACD/G,IAAAA,OAAO,CAACtF,OAAD,EAAU+F,SAAV,EAAqBe,QAArB,EAA+BC,KAA/B,EAAsC+I,MAAtC,EAA8CC,eAAe,GAAG,EAAhE,EAAoEC,uBAApE,EAA6F;AAChG,aAAO,IAAInJ,oEAAJ,CAAwBC,QAAxB,EAAkCC,KAAlC,CAAP;AACH;;AAlBqB;;AAoB1B6I,EAAAA,mBAAmB,CAACjjB,IAApB,GAA2B,SAASsjB,2BAAT,CAAqCpjB,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAI+iB,mBAAV,GAAP;AAA0C,GAA/G;;AACAA,EAAAA,mBAAmB,CAAC7Z,KAApB,GAA4B,aAAc3R,gEAAA,CAA0B;AAAE6R,IAAAA,KAAK,EAAE2Z,mBAAT;AAA8B1Z,IAAAA,OAAO,EAAE0Z,mBAAmB,CAACjjB;AAA3D,GAA1B,CAA1C;SArBMijB;;;AAsBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOzhB,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAEO,CAFtB;AAGA;AACA;AACA;;;IACM+hB;AAAN,QAAMA,eAAN,CAAsB;;AAEtBA,EAAAA,eAAe,CAACC,IAAhB,GAAyB,eAAe,IAAIP,mBAAJ,EAAxC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;SAVMM;;AAWN,MAAME,UAAU,GAAG,IAAnB;AACA,MAAMC,uBAAuB,GAAG,IAAhC;AACA,MAAMC,qBAAqB,GAAG,IAA9B;AACA,MAAMC,eAAe,GAAG,UAAxB;AACA,MAAMC,eAAe,GAAG,UAAxB;AACA,MAAMC,cAAc,GAAG,WAAvB;AACA,MAAMC,cAAc,GAAG,WAAvB;AACA,MAAMC,oBAAoB,GAAG,YAA7B;AACA,MAAMC,mBAAmB,GAAG,aAA5B;AACA,MAAMC,sBAAsB,GAAG,cAA/B;AACA,MAAMC,qBAAqB,GAAG,eAA9B;;AACA,SAASC,kBAAT,CAA4Btf,KAA5B,EAAmC;AAC/B,MAAI,OAAOA,KAAP,IAAgB,QAApB,EACI,OAAOA,KAAP;AACJ,QAAMqc,OAAO,GAAGrc,KAAK,CAAC3G,KAAN,CAAY,mBAAZ,CAAhB;AACA,MAAI,CAACgjB,OAAD,IAAYA,OAAO,CAAC/kB,MAAR,GAAiB,CAAjC,EACI,OAAO,CAAP;AACJ,SAAOioB,qBAAqB,CAAC/nB,UAAU,CAAC6kB,OAAO,CAAC,CAAD,CAAR,CAAX,EAAyBA,OAAO,CAAC,CAAD,CAAhC,CAA5B;AACH;;AACD,SAASkD,qBAAT,CAA+Bvf,KAA/B,EAAsCwf,IAAtC,EAA4C;AACxC,UAAQA,IAAR;AACI,SAAK,GAAL;AACI,aAAOxf,KAAK,GAAG2e,UAAf;;AACJ;AAAS;AACL,aAAO3e,KAAP;AAJR;AAMH;;AACD,SAASyf,aAAT,CAAuB3L,OAAvB,EAAgCoF,MAAhC,EAAwCwG,mBAAxC,EAA6D;AACzD,SAAO5L,OAAO,CAAC6L,cAAR,CAAuB,UAAvB,IACH7L,OADG,GAEH8L,mBAAmB,CAAC9L,OAAD,EAAUoF,MAAV,EAAkBwG,mBAAlB,CAFvB;AAGH;;AACD,SAASE,mBAAT,CAA6BC,GAA7B,EAAkC3G,MAAlC,EAA0CwG,mBAA1C,EAA+D;AAC3D,QAAMI,KAAK,GAAG,0EAAd;AACA,MAAIzK,QAAJ;AACA,MAAIC,KAAK,GAAG,CAAZ;AACA,MAAI+I,MAAM,GAAG,EAAb;;AACA,MAAI,OAAOwB,GAAP,KAAe,QAAnB,EAA6B;AACzB,UAAMxD,OAAO,GAAGwD,GAAG,CAACxmB,KAAJ,CAAUymB,KAAV,CAAhB;;AACA,QAAIzD,OAAO,KAAK,IAAhB,EAAsB;AAClBnD,MAAAA,MAAM,CAAChD,IAAP,CAAa,8BAA6B2J,GAAI,eAA9C;AACA,aAAO;AAAExK,QAAAA,QAAQ,EAAE,CAAZ;AAAeC,QAAAA,KAAK,EAAE,CAAtB;AAAyB+I,QAAAA,MAAM,EAAE;AAAjC,OAAP;AACH;;AACDhJ,IAAAA,QAAQ,GAAGkK,qBAAqB,CAAC/nB,UAAU,CAAC6kB,OAAO,CAAC,CAAD,CAAR,CAAX,EAAyBA,OAAO,CAAC,CAAD,CAAhC,CAAhC;AACA,UAAM0D,UAAU,GAAG1D,OAAO,CAAC,CAAD,CAA1B;;AACA,QAAI0D,UAAU,IAAI,IAAlB,EAAwB;AACpBzK,MAAAA,KAAK,GAAGiK,qBAAqB,CAAC/nB,UAAU,CAACuoB,UAAD,CAAX,EAAyB1D,OAAO,CAAC,CAAD,CAAhC,CAA7B;AACH;;AACD,UAAM2D,SAAS,GAAG3D,OAAO,CAAC,CAAD,CAAzB;;AACA,QAAI2D,SAAJ,EAAe;AACX3B,MAAAA,MAAM,GAAG2B,SAAT;AACH;AACJ,GAfD,MAgBK;AACD3K,IAAAA,QAAQ,GAAGwK,GAAX;AACH;;AACD,MAAI,CAACH,mBAAL,EAA0B;AACtB,QAAIO,cAAc,GAAG,KAArB;AACA,QAAIC,UAAU,GAAGhH,MAAM,CAAC5hB,MAAxB;;AACA,QAAI+d,QAAQ,GAAG,CAAf,EAAkB;AACd6D,MAAAA,MAAM,CAAChD,IAAP,CAAa,kEAAb;AACA+J,MAAAA,cAAc,GAAG,IAAjB;AACH;;AACD,QAAI3K,KAAK,GAAG,CAAZ,EAAe;AACX4D,MAAAA,MAAM,CAAChD,IAAP,CAAa,+DAAb;AACA+J,MAAAA,cAAc,GAAG,IAAjB;AACH;;AACD,QAAIA,cAAJ,EAAoB;AAChB/G,MAAAA,MAAM,CAACiH,MAAP,CAAcD,UAAd,EAA0B,CAA1B,EAA8B,8BAA6BL,GAAI,eAA/D;AACH;AACJ;;AACD,SAAO;AAAExK,IAAAA,QAAF;AAAYC,IAAAA,KAAZ;AAAmB+I,IAAAA;AAAnB,GAAP;AACH;;AACD,SAAS+B,OAAT,CAAiB9mB,GAAjB,EAAsB+mB,WAAW,GAAG,EAApC,EAAwC;AACpC5G,EAAAA,MAAM,CAACC,IAAP,CAAYpgB,GAAZ,EAAiB0c,OAAjB,CAAyB2D,IAAI,IAAI;AAC7B0G,IAAAA,WAAW,CAAC1G,IAAD,CAAX,GAAoBrgB,GAAG,CAACqgB,IAAD,CAAvB;AACH,GAFD;AAGA,SAAO0G,WAAP;AACH;;AACD,SAASC,eAAT,CAAyB9jB,MAAzB,EAAiC;AAC7B,QAAM+jB,gBAAgB,GAAG,EAAzB;;AACA,MAAIC,KAAK,CAACC,OAAN,CAAcjkB,MAAd,CAAJ,EAA2B;AACvBA,IAAAA,MAAM,CAACwZ,OAAP,CAAexf,IAAI,IAAIkqB,UAAU,CAAClqB,IAAD,EAAO,KAAP,EAAc+pB,gBAAd,CAAjC;AACH,GAFD,MAGK;AACDG,IAAAA,UAAU,CAAClkB,MAAD,EAAS,KAAT,EAAgB+jB,gBAAhB,CAAV;AACH;;AACD,SAAOA,gBAAP;AACH;;AACD,SAASG,UAAT,CAAoBlkB,MAApB,EAA4BmkB,aAA5B,EAA2CN,WAAW,GAAG,EAAzD,EAA6D;AACzD,MAAIM,aAAJ,EAAmB;AACf;AACA;AACA;AACA,SAAK,IAAIhH,IAAT,IAAiBnd,MAAjB,EAAyB;AACrB6jB,MAAAA,WAAW,CAAC1G,IAAD,CAAX,GAAoBnd,MAAM,CAACmd,IAAD,CAA1B;AACH;AACJ,GAPD,MAQK;AACDyG,IAAAA,OAAO,CAAC5jB,MAAD,EAAS6jB,WAAT,CAAP;AACH;;AACD,SAAOA,WAAP;AACH;;AACD,SAASO,uBAAT,CAAiCrS,OAAjC,EAA0CoM,GAA1C,EAA+C3a,KAA/C,EAAsD;AAClD;AACA;AACA,MAAIA,KAAJ,EAAW;AACP,WAAO2a,GAAG,GAAG,GAAN,GAAY3a,KAAZ,GAAoB,GAA3B;AACH,GAFD,MAGK;AACD,WAAO,EAAP;AACH;AACJ;;AACD,SAAS6gB,mBAAT,CAA6BtS,OAA7B,EAAsC;AAClC;AACA;AACA;AACA;AACA,MAAIuS,cAAc,GAAG,EAArB;;AACA,OAAK,IAAI9D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGzO,OAAO,CAAC2F,KAAR,CAAc5c,MAAlC,EAA0C0lB,CAAC,EAA3C,EAA+C;AAC3C,UAAMrC,GAAG,GAAGpM,OAAO,CAAC2F,KAAR,CAAc6M,IAAd,CAAmB/D,CAAnB,CAAZ;AACA8D,IAAAA,cAAc,IAAIF,uBAAuB,CAACrS,OAAD,EAAUoM,GAAV,EAAepM,OAAO,CAAC2F,KAAR,CAAc8M,gBAAd,CAA+BrG,GAA/B,CAAf,CAAzC;AACH;;AACD,OAAK,MAAMA,GAAX,IAAkBpM,OAAO,CAAC2F,KAA1B,EAAiC;AAC7B;AACA,QAAI,CAAC3F,OAAO,CAAC2F,KAAR,CAAcyL,cAAd,CAA6BhF,GAA7B,CAAD,IAAsCA,GAAG,CAACsG,UAAJ,CAAe,GAAf,CAA1C,EAA+D;AAC3D;AACH;;AACD,UAAMC,OAAO,GAAGC,mBAAmB,CAACxG,GAAD,CAAnC;AACAmG,IAAAA,cAAc,IAAIF,uBAAuB,CAACrS,OAAD,EAAU2S,OAAV,EAAmB3S,OAAO,CAAC2F,KAAR,CAAcyG,GAAd,CAAnB,CAAzC;AACH;;AACDpM,EAAAA,OAAO,CAACjD,YAAR,CAAqB,OAArB,EAA8BwV,cAA9B;AACH;;AACD,SAASM,SAAT,CAAmB7S,OAAnB,EAA4B/R,MAA5B,EAAoC6kB,YAApC,EAAkD;AAC9C,MAAI9S,OAAO,CAAC,OAAD,CAAX,EAAsB;AAClBkL,IAAAA,MAAM,CAACC,IAAP,CAAYld,MAAZ,EAAoBwZ,OAApB,CAA4B2D,IAAI,IAAI;AAChC,YAAM8D,SAAS,GAAG6D,mBAAmB,CAAC3H,IAAD,CAArC;;AACA,UAAI0H,YAAY,IAAI,CAACA,YAAY,CAAC1B,cAAb,CAA4BhG,IAA5B,CAArB,EAAwD;AACpD0H,QAAAA,YAAY,CAAC1H,IAAD,CAAZ,GAAqBpL,OAAO,CAAC2F,KAAR,CAAcuJ,SAAd,CAArB;AACH;;AACDlP,MAAAA,OAAO,CAAC2F,KAAR,CAAcuJ,SAAd,IAA2BjhB,MAAM,CAACmd,IAAD,CAAjC;AACH,KAND,EADkB,CAQlB;;AACA,QAAIlB,MAAM,EAAV,EAAc;AACVoI,MAAAA,mBAAmB,CAACtS,OAAD,CAAnB;AACH;AACJ;AACJ;;AACD,SAASgT,WAAT,CAAqBhT,OAArB,EAA8B/R,MAA9B,EAAsC;AAClC,MAAI+R,OAAO,CAAC,OAAD,CAAX,EAAsB;AAClBkL,IAAAA,MAAM,CAACC,IAAP,CAAYld,MAAZ,EAAoBwZ,OAApB,CAA4B2D,IAAI,IAAI;AAChC,YAAM8D,SAAS,GAAG6D,mBAAmB,CAAC3H,IAAD,CAArC;AACApL,MAAAA,OAAO,CAAC2F,KAAR,CAAcuJ,SAAd,IAA2B,EAA3B;AACH,KAHD,EADkB,CAKlB;;AACA,QAAIhF,MAAM,EAAV,EAAc;AACVoI,MAAAA,mBAAmB,CAACtS,OAAD,CAAnB;AACH;AACJ;AACJ;;AACD,SAASiT,uBAAT,CAAiCxN,KAAjC,EAAwC;AACpC,MAAIwM,KAAK,CAACC,OAAN,CAAczM,KAAd,CAAJ,EAA0B;AACtB,QAAIA,KAAK,CAAC1c,MAAN,IAAgB,CAApB,EACI,OAAO0c,KAAK,CAAC,CAAD,CAAZ;AACJ,WAAOC,6DAAQ,CAACD,KAAD,CAAf;AACH;;AACD,SAAOA,KAAP;AACH;;AACD,SAASyN,mBAAT,CAA6BzhB,KAA7B,EAAoC4T,OAApC,EAA6CsF,MAA7C,EAAqD;AACjD,QAAMwI,MAAM,GAAG9N,OAAO,CAAC8N,MAAR,IAAkB,EAAjC;AACA,QAAMrF,OAAO,GAAGsF,kBAAkB,CAAC3hB,KAAD,CAAlC;;AACA,MAAIqc,OAAO,CAAC/kB,MAAZ,EAAoB;AAChB+kB,IAAAA,OAAO,CAACrG,OAAR,CAAgB4L,OAAO,IAAI;AACvB,UAAI,CAACF,MAAM,CAAC/B,cAAP,CAAsBiC,OAAtB,CAAL,EAAqC;AACjC1I,QAAAA,MAAM,CAAChD,IAAP,CAAa,+CAA8C0L,OAAQ,8BAAnE;AACH;AACJ,KAJD;AAKH;AACJ;;AACD,MAAMC,WAAW,gBAAG,IAAIvpB,MAAJ,CAAY,GAAEsmB,uBAAwB,gBAAeC,qBAAsB,EAA3E,EAA8E,GAA9E,CAApB;;AACA,SAAS8C,kBAAT,CAA4B3hB,KAA5B,EAAmC;AAC/B,MAAI0hB,MAAM,GAAG,EAAb;;AACA,MAAI,OAAO1hB,KAAP,KAAiB,QAArB,EAA+B;AAC3B,QAAI3G,KAAJ;;AACA,WAAOA,KAAK,GAAGwoB,WAAW,CAACtoB,IAAZ,CAAiByG,KAAjB,CAAf,EAAwC;AACpC0hB,MAAAA,MAAM,CAACxL,IAAP,CAAY7c,KAAK,CAAC,CAAD,CAAjB;AACH;;AACDwoB,IAAAA,WAAW,CAACC,SAAZ,GAAwB,CAAxB;AACH;;AACD,SAAOJ,MAAP;AACH;;AACD,SAASK,iBAAT,CAA2B/hB,KAA3B,EAAkC0hB,MAAlC,EAA0CxI,MAA1C,EAAkD;AAC9C,QAAM8I,QAAQ,GAAGhiB,KAAK,CAAC/I,QAAN,EAAjB;AACA,QAAMgrB,GAAG,GAAGD,QAAQ,CAAC7oB,OAAT,CAAiB0oB,WAAjB,EAA8B,CAAC/hB,CAAD,EAAI8hB,OAAJ,KAAgB;AACtD,QAAIM,QAAQ,GAAGR,MAAM,CAACE,OAAD,CAArB,CADsD,CAEtD;;AACA,QAAI,CAACF,MAAM,CAAC/B,cAAP,CAAsBiC,OAAtB,CAAL,EAAqC;AACjC1I,MAAAA,MAAM,CAAChD,IAAP,CAAa,kDAAiD0L,OAAQ,EAAtE;AACAM,MAAAA,QAAQ,GAAG,EAAX;AACH;;AACD,WAAOA,QAAQ,CAACjrB,QAAT,EAAP;AACH,GARW,CAAZ,CAF8C,CAW9C;;AACA,SAAOgrB,GAAG,IAAID,QAAP,GAAkBhiB,KAAlB,GAA0BiiB,GAAjC;AACH;;AACD,SAASE,eAAT,CAAyBC,QAAzB,EAAmC;AAC/B,QAAMC,GAAG,GAAG,EAAZ;AACA,MAAItB,IAAI,GAAGqB,QAAQ,CAACnlB,IAAT,EAAX;;AACA,SAAO,CAAC8jB,IAAI,CAACuB,IAAb,EAAmB;AACfD,IAAAA,GAAG,CAACnM,IAAJ,CAAS6K,IAAI,CAAC/gB,KAAd;AACA+gB,IAAAA,IAAI,GAAGqB,QAAQ,CAACnlB,IAAT,EAAP;AACH;;AACD,SAAOolB,GAAP;AACH;;AACD,MAAME,gBAAgB,GAAG,eAAzB;;AACA,SAASjB,mBAAT,CAA6B3X,KAA7B,EAAoC;AAChC,SAAOA,KAAK,CAACxQ,OAAN,CAAcopB,gBAAd,EAAgC,CAAC,GAAGC,CAAJ,KAAUA,CAAC,CAAC,CAAD,CAAD,CAAK9E,WAAL,EAA1C,CAAP;AACH;;AACD,SAASyD,mBAAT,CAA6BxX,KAA7B,EAAoC;AAChC,SAAOA,KAAK,CAACxQ,OAAN,CAAc,iBAAd,EAAiC,OAAjC,EAA0CC,WAA1C,EAAP;AACH;;AACD,SAASqpB,8BAAT,CAAwCpN,QAAxC,EAAkDC,KAAlD,EAAyD;AACrD,SAAOD,QAAQ,KAAK,CAAb,IAAkBC,KAAK,KAAK,CAAnC;AACH;;AACD,SAASoN,kCAAT,CAA4CnU,OAA5C,EAAqD+F,SAArD,EAAgEqO,cAAhE,EAAgF;AAC5E,QAAMC,kBAAkB,GAAGnJ,MAAM,CAACC,IAAP,CAAYiJ,cAAZ,CAA3B;;AACA,MAAIC,kBAAkB,CAACtrB,MAAnB,IAA6Bgd,SAAS,CAAChd,MAA3C,EAAmD;AAC/C,QAAIurB,gBAAgB,GAAGvO,SAAS,CAAC,CAAD,CAAhC;AACA,QAAIwO,iBAAiB,GAAG,EAAxB;AACAF,IAAAA,kBAAkB,CAAC5M,OAAnB,CAA2B2D,IAAI,IAAI;AAC/B,UAAI,CAACkJ,gBAAgB,CAAClD,cAAjB,CAAgChG,IAAhC,CAAL,EAA4C;AACxCmJ,QAAAA,iBAAiB,CAAC5M,IAAlB,CAAuByD,IAAvB;AACH;;AACDkJ,MAAAA,gBAAgB,CAAClJ,IAAD,CAAhB,GAAyBgJ,cAAc,CAAChJ,IAAD,CAAvC;AACH,KALD;;AAMA,QAAImJ,iBAAiB,CAACxrB,MAAtB,EAA8B;AAC1B;AACA,WAAK,IAAI0lB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG1I,SAAS,CAAChd,MAA9B,EAAsC0lB,CAAC,EAAvC,EAA2C;AACvC,YAAI1D,EAAE,GAAGhF,SAAS,CAAC0I,CAAD,CAAlB;AACA8F,QAAAA,iBAAiB,CAAC9M,OAAlB,CAA0B,UAAU2D,IAAV,EAAgB;AACtCL,UAAAA,EAAE,CAACK,IAAD,CAAF,GAAWyE,YAAY,CAAC7P,OAAD,EAAUoL,IAAV,CAAvB;AACH,SAFD;AAGH;AACJ;AACJ;;AACD,SAAOrF,SAAP;AACH;;AACD,SAASyO,YAAT,CAAsBC,OAAtB,EAA+BC,IAA/B,EAAqCC,OAArC,EAA8C;AAC1C,UAAQD,IAAI,CAAC1nB,IAAb;AACI,SAAK;AAAE;AAAP;AACI,aAAOynB,OAAO,CAACG,YAAR,CAAqBF,IAArB,EAA2BC,OAA3B,CAAP;;AACJ,SAAK;AAAE;AAAP;AACI,aAAOF,OAAO,CAACI,UAAR,CAAmBH,IAAnB,EAAyBC,OAAzB,CAAP;;AACJ,SAAK;AAAE;AAAP;AACI,aAAOF,OAAO,CAACK,eAAR,CAAwBJ,IAAxB,EAA8BC,OAA9B,CAAP;;AACJ,SAAK;AAAE;AAAP;AACI,aAAOF,OAAO,CAACM,aAAR,CAAsBL,IAAtB,EAA4BC,OAA5B,CAAP;;AACJ,SAAK;AAAE;AAAP;AACI,aAAOF,OAAO,CAACO,UAAR,CAAmBN,IAAnB,EAAyBC,OAAzB,CAAP;;AACJ,SAAK;AAAE;AAAP;AACI,aAAOF,OAAO,CAACQ,YAAR,CAAqBP,IAArB,EAA2BC,OAA3B,CAAP;;AACJ,SAAK;AAAE;AAAP;AACI,aAAOF,OAAO,CAACS,cAAR,CAAuBR,IAAvB,EAA6BC,OAA7B,CAAP;;AACJ,SAAK;AAAE;AAAP;AACI,aAAOF,OAAO,CAACU,UAAR,CAAmBT,IAAnB,EAAyBC,OAAzB,CAAP;;AACJ,SAAK;AAAE;AAAP;AACI,aAAOF,OAAO,CAACW,cAAR,CAAuBV,IAAvB,EAA6BC,OAA7B,CAAP;;AACJ,SAAK;AAAE;AAAP;AACI,aAAOF,OAAO,CAACY,iBAAR,CAA0BX,IAA1B,EAAgCC,OAAhC,CAAP;;AACJ,SAAK;AAAG;AAAR;AACI,aAAOF,OAAO,CAACa,eAAR,CAAwBZ,IAAxB,EAA8BC,OAA9B,CAAP;;AACJ,SAAK;AAAG;AAAR;AACI,aAAOF,OAAO,CAACc,UAAR,CAAmBb,IAAnB,EAAyBC,OAAzB,CAAP;;AACJ,SAAK;AAAG;AAAR;AACI,aAAOF,OAAO,CAACe,YAAR,CAAqBd,IAArB,EAA2BC,OAA3B,CAAP;;AACJ;AACI,YAAM,IAAIxpB,KAAJ,CAAW,8CAA6CupB,IAAI,CAAC1nB,IAAK,EAAlE,CAAN;AA5BR;AA8BH;;AACD,SAAS6iB,YAAT,CAAsB7P,OAAtB,EAA+BoL,IAA/B,EAAqC;AACjC,SAAOnB,MAAM,CAACwL,gBAAP,CAAwBzV,OAAxB,EAAiCoL,IAAjC,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMsK,SAAS,GAAG,GAAlB;;AACA,SAASC,mBAAT,CAA6BC,eAA7B,EAA8CjL,MAA9C,EAAsD;AAClD,QAAMkL,WAAW,GAAG,EAApB;;AACA,MAAI,OAAOD,eAAP,IAA0B,QAA9B,EAAwC;AACpCA,IAAAA,eAAe,CAACE,KAAhB,CAAsB,SAAtB,EAAiCrO,OAAjC,CAAyCiM,GAAG,IAAIqC,uBAAuB,CAACrC,GAAD,EAAMmC,WAAN,EAAmBlL,MAAnB,CAAvE;AACH,GAFD,MAGK;AACDkL,IAAAA,WAAW,CAAClO,IAAZ,CAAiBiO,eAAjB;AACH;;AACD,SAAOC,WAAP;AACH;;AACD,SAASE,uBAAT,CAAiCC,QAAjC,EAA2CH,WAA3C,EAAwDlL,MAAxD,EAAgE;AAC5D,MAAIqL,QAAQ,CAAC,CAAD,CAAR,IAAe,GAAnB,EAAwB;AACpB,UAAM/G,MAAM,GAAGgH,mBAAmB,CAACD,QAAD,EAAWrL,MAAX,CAAlC;;AACA,QAAI,OAAOsE,MAAP,IAAiB,UAArB,EAAiC;AAC7B4G,MAAAA,WAAW,CAAClO,IAAZ,CAAiBsH,MAAjB;AACA;AACH;;AACD+G,IAAAA,QAAQ,GAAG/G,MAAX;AACH;;AACD,QAAMnkB,KAAK,GAAGkrB,QAAQ,CAAClrB,KAAT,CAAe,yCAAf,CAAd;;AACA,MAAIA,KAAK,IAAI,IAAT,IAAiBA,KAAK,CAAC/B,MAAN,GAAe,CAApC,EAAuC;AACnC4hB,IAAAA,MAAM,CAAChD,IAAP,CAAa,uCAAsCqO,QAAS,oBAA5D;AACA,WAAOH,WAAP;AACH;;AACD,QAAM7J,SAAS,GAAGlhB,KAAK,CAAC,CAAD,CAAvB;AACA,QAAMorB,SAAS,GAAGprB,KAAK,CAAC,CAAD,CAAvB;AACA,QAAMmhB,OAAO,GAAGnhB,KAAK,CAAC,CAAD,CAArB;AACA+qB,EAAAA,WAAW,CAAClO,IAAZ,CAAiBwO,oBAAoB,CAACnK,SAAD,EAAYC,OAAZ,CAArC;AACA,QAAMmK,kBAAkB,GAAGpK,SAAS,IAAI0J,SAAb,IAA0BzJ,OAAO,IAAIyJ,SAAhE;;AACA,MAAIQ,SAAS,CAAC,CAAD,CAAT,IAAgB,GAAhB,IAAuB,CAACE,kBAA5B,EAAgD;AAC5CP,IAAAA,WAAW,CAAClO,IAAZ,CAAiBwO,oBAAoB,CAAClK,OAAD,EAAUD,SAAV,CAArC;AACH;AACJ;;AACD,SAASiK,mBAAT,CAA6BI,KAA7B,EAAoC1L,MAApC,EAA4C;AACxC,UAAQ0L,KAAR;AACI,SAAK,QAAL;AACI,aAAO,WAAP;;AACJ,SAAK,QAAL;AACI,aAAO,WAAP;;AACJ,SAAK,YAAL;AACI,aAAO,CAACrK,SAAD,EAAYC,OAAZ,KAAwBhjB,UAAU,CAACgjB,OAAD,CAAV,GAAsBhjB,UAAU,CAAC+iB,SAAD,CAA/D;;AACJ,SAAK,YAAL;AACI,aAAO,CAACA,SAAD,EAAYC,OAAZ,KAAwBhjB,UAAU,CAACgjB,OAAD,CAAV,GAAsBhjB,UAAU,CAAC+iB,SAAD,CAA/D;;AACJ;AACIrB,MAAAA,MAAM,CAAChD,IAAP,CAAa,+BAA8B0O,KAAM,oBAAjD;AACA,aAAO,QAAP;AAXR;AAaH,EACD;AACA;AACA;AACA;;;AACA,MAAMC,mBAAmB,gBAAG,IAAIC,GAAJ,CAAQ,CAAC,MAAD,EAAS,GAAT,CAAR,CAA5B;AACA,MAAMC,oBAAoB,gBAAG,IAAID,GAAJ,CAAQ,CAAC,OAAD,EAAU,GAAV,CAAR,CAA7B;;AACA,SAASJ,oBAAT,CAA8BM,GAA9B,EAAmCC,GAAnC,EAAwC;AACpC,QAAMC,iBAAiB,GAAGL,mBAAmB,CAACM,GAApB,CAAwBH,GAAxB,KAAgCD,oBAAoB,CAACI,GAArB,CAAyBH,GAAzB,CAA1D;AACA,QAAMI,iBAAiB,GAAGP,mBAAmB,CAACM,GAApB,CAAwBF,GAAxB,KAAgCF,oBAAoB,CAACI,GAArB,CAAyBF,GAAzB,CAA1D;AACA,SAAO,CAAC1K,SAAD,EAAYC,OAAZ,KAAwB;AAC3B,QAAI6K,QAAQ,GAAGL,GAAG,IAAIf,SAAP,IAAoBe,GAAG,IAAIzK,SAA1C;AACA,QAAI+K,QAAQ,GAAGL,GAAG,IAAIhB,SAAP,IAAoBgB,GAAG,IAAIzK,OAA1C;;AACA,QAAI,CAAC6K,QAAD,IAAaH,iBAAb,IAAkC,OAAO3K,SAAP,KAAqB,SAA3D,EAAsE;AAClE8K,MAAAA,QAAQ,GAAG9K,SAAS,GAAGsK,mBAAmB,CAACM,GAApB,CAAwBH,GAAxB,CAAH,GAAkCD,oBAAoB,CAACI,GAArB,CAAyBH,GAAzB,CAAtD;AACH;;AACD,QAAI,CAACM,QAAD,IAAaF,iBAAb,IAAkC,OAAO5K,OAAP,KAAmB,SAAzD,EAAoE;AAChE8K,MAAAA,QAAQ,GAAG9K,OAAO,GAAGqK,mBAAmB,CAACM,GAApB,CAAwBF,GAAxB,CAAH,GAAkCF,oBAAoB,CAACI,GAArB,CAAyBF,GAAzB,CAApD;AACH;;AACD,WAAOI,QAAQ,IAAIC,QAAnB;AACH,GAVD;AAWH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,UAAU,GAAG,OAAnB;AACA,MAAMC,gBAAgB,gBAAG,IAAIltB,MAAJ,CAAY,MAAKitB,UAAW,OAA5B,EAAoC,GAApC,CAAzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASE,iBAAT,CAA2B3M,MAA3B,EAAmC4M,QAAnC,EAA6CxM,MAA7C,EAAqD;AACjD,SAAO,IAAIyM,0BAAJ,CAA+B7M,MAA/B,EAAuC8M,KAAvC,CAA6CF,QAA7C,EAAuDxM,MAAvD,CAAP;AACH;;AACD,MAAM2M,aAAa,GAAG,EAAtB;;AACA,MAAMF,0BAAN,CAAiC;AAC7B/rB,EAAAA,WAAW,CAACksB,OAAD,EAAU;AACjB,SAAKA,OAAL,GAAeA,OAAf;AACH;;AACDF,EAAAA,KAAK,CAACF,QAAD,EAAWxM,MAAX,EAAmB;AACpB,UAAMgK,OAAO,GAAG,IAAI6C,0BAAJ,CAA+B7M,MAA/B,CAAhB;;AACA,SAAK8M,6BAAL,CAAmC9C,OAAnC;;AACA,WAAOH,YAAY,CAAC,IAAD,EAAOvB,uBAAuB,CAACkE,QAAD,CAA9B,EAA0CxC,OAA1C,CAAnB;AACH;;AACD8C,EAAAA,6BAA6B,CAAC9C,OAAD,EAAU;AACnCA,IAAAA,OAAO,CAAC+C,oBAAR,GAA+BJ,aAA/B;AACA3C,IAAAA,OAAO,CAACgD,eAAR,GAA0B,EAA1B;AACAhD,IAAAA,OAAO,CAACgD,eAAR,CAAwBL,aAAxB,IAAyC,EAAzC;AACA3C,IAAAA,OAAO,CAACiD,WAAR,GAAsB,CAAtB;AACH;;AACDhD,EAAAA,YAAY,CAACuC,QAAD,EAAWxC,OAAX,EAAoB;AAC5B,QAAIkD,UAAU,GAAGlD,OAAO,CAACkD,UAAR,GAAqB,CAAtC;AACA,QAAIC,QAAQ,GAAGnD,OAAO,CAACmD,QAAR,GAAmB,CAAlC;AACA,UAAMC,MAAM,GAAG,EAAf;AACA,UAAMC,WAAW,GAAG,EAApB;;AACA,QAAIb,QAAQ,CAAChS,IAAT,CAAcvc,MAAd,CAAqB,CAArB,KAA2B,GAA/B,EAAoC;AAChC+rB,MAAAA,OAAO,CAAChK,MAAR,CAAehD,IAAf,CAAoB,wFAApB;AACH;;AACDwP,IAAAA,QAAQ,CAAC/R,WAAT,CAAqBqC,OAArB,CAA6BwQ,GAAG,IAAI;AAChC,WAAKR,6BAAL,CAAmC9C,OAAnC;;AACA,UAAIsD,GAAG,CAACjrB,IAAJ,IAAY;AAAE;AAAlB,QAA+B;AAC3B,cAAMkrB,QAAQ,GAAGD,GAAjB;AACA,cAAM9S,IAAI,GAAG+S,QAAQ,CAAC/S,IAAtB;AACAA,QAAAA,IAAI,CAACzc,QAAL,GAAgBotB,KAAhB,CAAsB,SAAtB,EAAiCrO,OAAjC,CAAyC0Q,CAAC,IAAI;AAC1CD,UAAAA,QAAQ,CAAC/S,IAAT,GAAgBgT,CAAhB;AACAJ,UAAAA,MAAM,CAACpQ,IAAP,CAAY,KAAKkN,UAAL,CAAgBqD,QAAhB,EAA0BvD,OAA1B,CAAZ;AACH,SAHD;AAIAuD,QAAAA,QAAQ,CAAC/S,IAAT,GAAgBA,IAAhB;AACH,OARD,MASK,IAAI8S,GAAG,CAACjrB,IAAJ,IAAY;AAAE;AAAlB,QAAoC;AACrC,cAAMgZ,UAAU,GAAG,KAAK8O,eAAL,CAAqBmD,GAArB,EAA0BtD,OAA1B,CAAnB;AACAkD,QAAAA,UAAU,IAAI7R,UAAU,CAAC6R,UAAzB;AACAC,QAAAA,QAAQ,IAAI9R,UAAU,CAAC8R,QAAvB;AACAE,QAAAA,WAAW,CAACrQ,IAAZ,CAAiB3B,UAAjB;AACH,OALI,MAMA;AACD2O,QAAAA,OAAO,CAAChK,MAAR,CAAehD,IAAf,CAAoB,yEAApB;AACH;AACJ,KApBD;AAqBA,WAAO;AACH3a,MAAAA,IAAI,EAAE;AAAE;AADL;AAEHmY,MAAAA,IAAI,EAAEgS,QAAQ,CAAChS,IAFZ;AAGH4S,MAAAA,MAHG;AAIHC,MAAAA,WAJG;AAKHH,MAAAA,UALG;AAMHC,MAAAA,QANG;AAOHzS,MAAAA,OAAO,EAAE;AAPN,KAAP;AASH;;AACDwP,EAAAA,UAAU,CAACsC,QAAD,EAAWxC,OAAX,EAAoB;AAC1B,UAAMyD,QAAQ,GAAG,KAAKjD,UAAL,CAAgBgC,QAAQ,CAAClpB,MAAzB,EAAiC0mB,OAAjC,CAAjB;AACA,UAAM0D,SAAS,GAAIlB,QAAQ,CAAC9R,OAAT,IAAoB8R,QAAQ,CAAC9R,OAAT,CAAiB8N,MAAtC,IAAiD,IAAnE;;AACA,QAAIiF,QAAQ,CAACE,qBAAb,EAAoC;AAChC,YAAMC,WAAW,GAAG,IAAIhC,GAAJ,EAApB;AACA,YAAMpD,MAAM,GAAGkF,SAAS,IAAI,EAA5B;AACAD,MAAAA,QAAQ,CAACnqB,MAAT,CAAgBwZ,OAAhB,CAAwBhW,KAAK,IAAI;AAC7B,YAAI+mB,QAAQ,CAAC/mB,KAAD,CAAZ,EAAqB;AACjB,gBAAMgnB,SAAS,GAAGhnB,KAAlB;AACAyZ,UAAAA,MAAM,CAACC,IAAP,CAAYsN,SAAZ,EAAuBhR,OAAvB,CAA+B2D,IAAI,IAAI;AACnCgI,YAAAA,kBAAkB,CAACqF,SAAS,CAACrN,IAAD,CAAV,CAAlB,CAAoC3D,OAApC,CAA4CiR,GAAG,IAAI;AAC/C,kBAAI,CAACvF,MAAM,CAAC/B,cAAP,CAAsBsH,GAAtB,CAAL,EAAiC;AAC7BH,gBAAAA,WAAW,CAACI,GAAZ,CAAgBD,GAAhB;AACH;AACJ,aAJD;AAKH,WAND;AAOH;AACJ,OAXD;;AAYA,UAAIH,WAAW,CAACK,IAAhB,EAAsB;AAClB,cAAMC,cAAc,GAAGjF,eAAe,CAAC2E,WAAW,CAACO,MAAZ,EAAD,CAAtC;AACAnE,QAAAA,OAAO,CAAChK,MAAR,CAAehD,IAAf,CAAqB,UAASwP,QAAQ,CACjChS,IAAK,iFAAgF0T,cAAc,CAAChwB,IAAf,CAAoB,IAApB,CAA0B,EADpH;AAEH;AACJ;;AACD,WAAO;AACHmE,MAAAA,IAAI,EAAE;AAAE;AADL;AAEHmY,MAAAA,IAAI,EAAEgS,QAAQ,CAAChS,IAFZ;AAGHQ,MAAAA,KAAK,EAAEyS,QAHJ;AAIH/S,MAAAA,OAAO,EAAEgT,SAAS,GAAG;AAAElF,QAAAA,MAAM,EAAEkF;AAAV,OAAH,GAA2B;AAJ1C,KAAP;AAMH;;AACDvD,EAAAA,eAAe,CAACqC,QAAD,EAAWxC,OAAX,EAAoB;AAC/BA,IAAAA,OAAO,CAACkD,UAAR,GAAqB,CAArB;AACAlD,IAAAA,OAAO,CAACmD,QAAR,GAAmB,CAAnB;AACA,UAAMrf,SAAS,GAAG+b,YAAY,CAAC,IAAD,EAAOvB,uBAAuB,CAACkE,QAAQ,CAAC1e,SAAV,CAA9B,EAAoDkc,OAApD,CAA9B;AACA,UAAM7qB,QAAQ,GAAG6rB,mBAAmB,CAACwB,QAAQ,CAACjR,IAAV,EAAgByO,OAAO,CAAChK,MAAxB,CAApC;AACA,WAAO;AACH3d,MAAAA,IAAI,EAAE;AAAE;AADL;AAEHlD,MAAAA,QAFG;AAGH2O,MAAAA,SAHG;AAIHof,MAAAA,UAAU,EAAElD,OAAO,CAACkD,UAJjB;AAKHC,MAAAA,QAAQ,EAAEnD,OAAO,CAACmD,QALf;AAMHzS,MAAAA,OAAO,EAAE0T,yBAAyB,CAAC5B,QAAQ,CAAC9R,OAAV;AAN/B,KAAP;AAQH;;AACD0P,EAAAA,aAAa,CAACoC,QAAD,EAAWxC,OAAX,EAAoB;AAC7B,WAAO;AACH3nB,MAAAA,IAAI,EAAE;AAAE;AADL;AAEHyY,MAAAA,KAAK,EAAE0R,QAAQ,CAAC1R,KAAT,CAAe0G,GAAf,CAAmB6M,CAAC,IAAIxE,YAAY,CAAC,IAAD,EAAOwE,CAAP,EAAUrE,OAAV,CAApC,CAFJ;AAGHtP,MAAAA,OAAO,EAAE0T,yBAAyB,CAAC5B,QAAQ,CAAC9R,OAAV;AAH/B,KAAP;AAKH;;AACD2P,EAAAA,UAAU,CAACmC,QAAD,EAAWxC,OAAX,EAAoB;AAC1B,UAAMiD,WAAW,GAAGjD,OAAO,CAACiD,WAA5B;AACA,QAAIqB,YAAY,GAAG,CAAnB;AACA,UAAMxT,KAAK,GAAG0R,QAAQ,CAAC1R,KAAT,CAAe0G,GAAf,CAAmB+M,IAAI,IAAI;AACrCvE,MAAAA,OAAO,CAACiD,WAAR,GAAsBA,WAAtB;AACA,YAAMuB,QAAQ,GAAG3E,YAAY,CAAC,IAAD,EAAO0E,IAAP,EAAavE,OAAb,CAA7B;AACAsE,MAAAA,YAAY,GAAGjyB,IAAI,CAACK,GAAL,CAAS4xB,YAAT,EAAuBtE,OAAO,CAACiD,WAA/B,CAAf;AACA,aAAOuB,QAAP;AACH,KALa,CAAd;AAMAxE,IAAAA,OAAO,CAACiD,WAAR,GAAsBqB,YAAtB;AACA,WAAO;AACHjsB,MAAAA,IAAI,EAAE;AAAE;AADL;AAEHyY,MAAAA,KAFG;AAGHJ,MAAAA,OAAO,EAAE0T,yBAAyB,CAAC5B,QAAQ,CAAC9R,OAAV;AAH/B,KAAP;AAKH;;AACD4P,EAAAA,YAAY,CAACkC,QAAD,EAAWxC,OAAX,EAAoB;AAC5B,UAAMyE,SAAS,GAAGC,kBAAkB,CAAClC,QAAQ,CAAC5R,OAAV,EAAmBoP,OAAO,CAAChK,MAA3B,CAApC;AACAgK,IAAAA,OAAO,CAAC2E,qBAAR,GAAgCF,SAAhC;AACA,QAAIhB,QAAJ;AACA,QAAImB,aAAa,GAAGpC,QAAQ,CAAClpB,MAAT,GAAkBkpB,QAAQ,CAAClpB,MAA3B,GAAoC0X,0DAAK,CAAC,EAAD,CAA7D;;AACA,QAAI4T,aAAa,CAACvsB,IAAd,IAAsB;AAAE;AAA5B,MAA6C;AACzCorB,MAAAA,QAAQ,GAAG,KAAKlD,cAAL,CAAoBqE,aAApB,EAAmC5E,OAAnC,CAAX;AACH,KAFD,MAGK;AACD,UAAI4E,aAAa,GAAGpC,QAAQ,CAAClpB,MAA7B;AACA,UAAIurB,OAAO,GAAG,KAAd;;AACA,UAAI,CAACD,aAAL,EAAoB;AAChBC,QAAAA,OAAO,GAAG,IAAV;AACA,cAAMC,YAAY,GAAG,EAArB;;AACA,YAAIL,SAAS,CAACtJ,MAAd,EAAsB;AAClB2J,UAAAA,YAAY,CAAC,QAAD,CAAZ,GAAyBL,SAAS,CAACtJ,MAAnC;AACH;;AACDyJ,QAAAA,aAAa,GAAG5T,0DAAK,CAAC8T,YAAD,CAArB;AACH;;AACD9E,MAAAA,OAAO,CAACiD,WAAR,IAAuBwB,SAAS,CAACtS,QAAV,GAAqBsS,SAAS,CAACrS,KAAtD;;AACA,YAAM2S,SAAS,GAAG,KAAKvE,UAAL,CAAgBoE,aAAhB,EAA+B5E,OAA/B,CAAlB;;AACA+E,MAAAA,SAAS,CAACC,WAAV,GAAwBH,OAAxB;AACApB,MAAAA,QAAQ,GAAGsB,SAAX;AACH;;AACD/E,IAAAA,OAAO,CAAC2E,qBAAR,GAAgC,IAAhC;AACA,WAAO;AACHtsB,MAAAA,IAAI,EAAE;AAAE;AADL;AAEHuY,MAAAA,OAAO,EAAE6T,SAFN;AAGHzT,MAAAA,KAAK,EAAEyS,QAHJ;AAIH/S,MAAAA,OAAO,EAAE;AAJN,KAAP;AAMH;;AACD8P,EAAAA,UAAU,CAACgC,QAAD,EAAWxC,OAAX,EAAoB;AAC1B,UAAMiF,GAAG,GAAG,KAAKC,aAAL,CAAmB1C,QAAnB,EAA6BxC,OAA7B,CAAZ;;AACA,SAAKmF,iBAAL,CAAuBF,GAAvB,EAA4BjF,OAA5B;;AACA,WAAOiF,GAAP;AACH;;AACDC,EAAAA,aAAa,CAAC1C,QAAD,EAAWxC,OAAX,EAAoB;AAC7B,UAAM1mB,MAAM,GAAG,EAAf;;AACA,QAAIgkB,KAAK,CAACC,OAAN,CAAciF,QAAQ,CAAClpB,MAAvB,CAAJ,EAAoC;AAChCkpB,MAAAA,QAAQ,CAAClpB,MAAT,CAAgBwZ,OAAhB,CAAwBsS,UAAU,IAAI;AAClC,YAAI,OAAOA,UAAP,IAAqB,QAAzB,EAAmC;AAC/B,cAAIA,UAAU,IAAI9U,2DAAlB,EAA8B;AAC1BhX,YAAAA,MAAM,CAAC0Z,IAAP,CAAYoS,UAAZ;AACH,WAFD,MAGK;AACDpF,YAAAA,OAAO,CAAChK,MAAR,CAAehD,IAAf,CAAqB,mCAAkCoS,UAAW,kBAAlE;AACH;AACJ,SAPD,MAQK;AACD9rB,UAAAA,MAAM,CAAC0Z,IAAP,CAAYoS,UAAZ;AACH;AACJ,OAZD;AAaH,KAdD,MAeK;AACD9rB,MAAAA,MAAM,CAAC0Z,IAAP,CAAYwP,QAAQ,CAAClpB,MAArB;AACH;;AACD,QAAIqqB,qBAAqB,GAAG,KAA5B;AACA,QAAI0B,eAAe,GAAG,IAAtB;AACA/rB,IAAAA,MAAM,CAACwZ,OAAP,CAAewS,SAAS,IAAI;AACxB,UAAIzB,QAAQ,CAACyB,SAAD,CAAZ,EAAyB;AACrB,cAAMC,QAAQ,GAAGD,SAAjB;AACA,cAAMnK,MAAM,GAAGoK,QAAQ,CAAC,QAAD,CAAvB;;AACA,YAAIpK,MAAJ,EAAY;AACRkK,UAAAA,eAAe,GAAGlK,MAAlB;AACA,iBAAOoK,QAAQ,CAAC,QAAD,CAAf;AACH;;AACD,YAAI,CAAC5B,qBAAL,EAA4B;AACxB,eAAK,IAAIlN,IAAT,IAAiB8O,QAAjB,EAA2B;AACvB,kBAAMzoB,KAAK,GAAGyoB,QAAQ,CAAC9O,IAAD,CAAtB;;AACA,gBAAI3Z,KAAK,CAAC/I,QAAN,GAAiBikB,OAAjB,CAAyB0D,uBAAzB,KAAqD,CAAzD,EAA4D;AACxDiI,cAAAA,qBAAqB,GAAG,IAAxB;AACA;AACH;AACJ;AACJ;AACJ;AACJ,KAlBD;AAmBA,WAAO;AACHtrB,MAAAA,IAAI,EAAE;AAAE;AADL;AAEHiB,MAAAA,MAFG;AAGH6hB,MAAAA,MAAM,EAAEkK,eAHL;AAIHnU,MAAAA,MAAM,EAAEsR,QAAQ,CAACtR,MAJd;AAKHyS,MAAAA,qBALG;AAMHjT,MAAAA,OAAO,EAAE;AANN,KAAP;AAQH;;AACDyU,EAAAA,iBAAiB,CAACF,GAAD,EAAMjF,OAAN,EAAe;AAC5B,UAAMpP,OAAO,GAAGoP,OAAO,CAAC2E,qBAAxB;AACA,QAAIa,OAAO,GAAGxF,OAAO,CAACiD,WAAtB;AACA,QAAIwC,SAAS,GAAGzF,OAAO,CAACiD,WAAxB;;AACA,QAAIrS,OAAO,IAAI6U,SAAS,GAAG,CAA3B,EAA8B;AAC1BA,MAAAA,SAAS,IAAI7U,OAAO,CAACuB,QAAR,GAAmBvB,OAAO,CAACwB,KAAxC;AACH;;AACD6S,IAAAA,GAAG,CAAC3rB,MAAJ,CAAWwZ,OAAX,CAAmB4S,KAAK,IAAI;AACxB,UAAI,OAAOA,KAAP,IAAgB,QAApB,EACI;AACJnP,MAAAA,MAAM,CAACC,IAAP,CAAYkP,KAAZ,EAAmB5S,OAAnB,CAA2B2D,IAAI,IAAI;AAC/B,YAAI,CAAC,KAAKmM,OAAL,CAAaxI,qBAAb,CAAmC3D,IAAnC,CAAL,EAA+C;AAC3CuJ,UAAAA,OAAO,CAAChK,MAAR,CAAehD,IAAf,CAAqB,oCAAmCyD,IAAK,kDAA7D;AACA;AACH;;AACD,cAAMuM,eAAe,GAAGhD,OAAO,CAACgD,eAAR,CAAwBhD,OAAO,CAAC+C,oBAAhC,CAAxB;AACA,cAAM4C,cAAc,GAAG3C,eAAe,CAACvM,IAAD,CAAtC;AACA,YAAImP,oBAAoB,GAAG,IAA3B;;AACA,YAAID,cAAJ,EAAoB;AAChB,cAAIF,SAAS,IAAID,OAAb,IAAwBC,SAAS,IAAIE,cAAc,CAACF,SAApD,IACAD,OAAO,IAAIG,cAAc,CAACH,OAD9B,EACuC;AACnCxF,YAAAA,OAAO,CAAChK,MAAR,CAAehD,IAAf,CAAqB,qBAAoByD,IAAK,uCAAsCkP,cAAc,CAACF,SAAU,YAAWE,cAAc,CACjIH,OAAQ,4EAA2EC,SAAU,YAAWD,OAAQ,KADrH;AAEAI,YAAAA,oBAAoB,GAAG,KAAvB;AACH,WANe,CAOhB;AACA;AACA;;;AACAH,UAAAA,SAAS,GAAGE,cAAc,CAACF,SAA3B;AACH;;AACD,YAAIG,oBAAJ,EAA0B;AACtB5C,UAAAA,eAAe,CAACvM,IAAD,CAAf,GAAwB;AAAEgP,YAAAA,SAAF;AAAaD,YAAAA;AAAb,WAAxB;AACH;;AACD,YAAIxF,OAAO,CAACtP,OAAZ,EAAqB;AACjB6N,UAAAA,mBAAmB,CAACmH,KAAK,CAACjP,IAAD,CAAN,EAAcuJ,OAAO,CAACtP,OAAtB,EAA+BsP,OAAO,CAAChK,MAAvC,CAAnB;AACH;AACJ,OA1BD;AA2BH,KA9BD;AA+BH;;AACDuK,EAAAA,cAAc,CAACiC,QAAD,EAAWxC,OAAX,EAAoB;AAC9B,UAAMiF,GAAG,GAAG;AAAE5sB,MAAAA,IAAI,EAAE;AAAE;AAAV;AAA2BiB,MAAAA,MAAM,EAAE,EAAnC;AAAuCoX,MAAAA,OAAO,EAAE;AAAhD,KAAZ;;AACA,QAAI,CAACsP,OAAO,CAAC2E,qBAAb,EAAoC;AAChC3E,MAAAA,OAAO,CAAChK,MAAR,CAAehD,IAAf,CAAqB,0DAArB;AACA,aAAOiS,GAAP;AACH;;AACD,UAAMY,mBAAmB,GAAG,CAA5B;AACA,QAAIC,yBAAyB,GAAG,CAAhC;AACA,UAAMC,OAAO,GAAG,EAAhB;AACA,QAAIC,iBAAiB,GAAG,KAAxB;AACA,QAAIC,mBAAmB,GAAG,KAA1B;AACA,QAAI/P,cAAc,GAAG,CAArB;AACA,UAAM9E,SAAS,GAAGoR,QAAQ,CAAC1R,KAAT,CAAe0G,GAAf,CAAmBle,MAAM,IAAI;AAC3C,YAAM0X,KAAK,GAAG,KAAKkU,aAAL,CAAmB5rB,MAAnB,EAA2B0mB,OAA3B,CAAd;;AACA,UAAIkG,SAAS,GAAGlV,KAAK,CAACE,MAAN,IAAgB,IAAhB,GAAuBF,KAAK,CAACE,MAA7B,GAAsCiV,aAAa,CAACnV,KAAK,CAAC1X,MAAP,CAAnE;AACA,UAAI4X,MAAM,GAAG,CAAb;;AACA,UAAIgV,SAAS,IAAI,IAAjB,EAAuB;AACnBJ,QAAAA,yBAAyB;AACzB5U,QAAAA,MAAM,GAAGF,KAAK,CAACE,MAAN,GAAegV,SAAxB;AACH;;AACDD,MAAAA,mBAAmB,GAAGA,mBAAmB,IAAI/U,MAAM,GAAG,CAAhC,IAAqCA,MAAM,GAAG,CAApE;AACA8U,MAAAA,iBAAiB,GAAGA,iBAAiB,IAAI9U,MAAM,GAAGgF,cAAlD;AACAA,MAAAA,cAAc,GAAGhF,MAAjB;AACA6U,MAAAA,OAAO,CAAC/S,IAAR,CAAa9B,MAAb;AACA,aAAOF,KAAP;AACH,KAbiB,CAAlB;;AAcA,QAAIiV,mBAAJ,EAAyB;AACrBjG,MAAAA,OAAO,CAAChK,MAAR,CAAehD,IAAf,CAAqB,6DAArB;AACH;;AACD,QAAIgT,iBAAJ,EAAuB;AACnBhG,MAAAA,OAAO,CAAChK,MAAR,CAAehD,IAAf,CAAqB,sDAArB;AACH;;AACD,UAAM5e,MAAM,GAAGouB,QAAQ,CAAC1R,KAAT,CAAe1c,MAA9B;AACA,QAAIgyB,eAAe,GAAG,CAAtB;;AACA,QAAIN,yBAAyB,GAAG,CAA5B,IAAiCA,yBAAyB,GAAG1xB,MAAjE,EAAyE;AACrE4rB,MAAAA,OAAO,CAAChK,MAAR,CAAehD,IAAf,CAAqB,uEAArB;AACH,KAFD,MAGK,IAAI8S,yBAAyB,IAAI,CAAjC,EAAoC;AACrCM,MAAAA,eAAe,GAAGP,mBAAmB,IAAIzxB,MAAM,GAAG,CAAb,CAArC;AACH;;AACD,UAAMiyB,KAAK,GAAGjyB,MAAM,GAAG,CAAvB;AACA,UAAM6uB,WAAW,GAAGjD,OAAO,CAACiD,WAA5B;AACA,UAAM0B,qBAAqB,GAAG3E,OAAO,CAAC2E,qBAAtC;AACA,UAAM2B,eAAe,GAAG3B,qBAAqB,CAACxS,QAA9C;AACAf,IAAAA,SAAS,CAAC0B,OAAV,CAAkB,CAACsD,EAAD,EAAK0D,CAAL,KAAW;AACzB,YAAM5I,MAAM,GAAGkV,eAAe,GAAG,CAAlB,GAAuBtM,CAAC,IAAIuM,KAAL,GAAa,CAAb,GAAkBD,eAAe,GAAGtM,CAA3D,GAAiEiM,OAAO,CAACjM,CAAD,CAAvF;AACA,YAAMyM,qBAAqB,GAAGrV,MAAM,GAAGoV,eAAvC;AACAtG,MAAAA,OAAO,CAACiD,WAAR,GAAsBA,WAAW,GAAG0B,qBAAqB,CAACvS,KAApC,GAA4CmU,qBAAlE;AACA5B,MAAAA,qBAAqB,CAACxS,QAAtB,GAAiCoU,qBAAjC;;AACA,WAAKpB,iBAAL,CAAuB/O,EAAvB,EAA2B4J,OAA3B;;AACA5J,MAAAA,EAAE,CAAClF,MAAH,GAAYA,MAAZ;AACA+T,MAAAA,GAAG,CAAC3rB,MAAJ,CAAW0Z,IAAX,CAAgBoD,EAAhB;AACH,KARD;AASA,WAAO6O,GAAP;AACH;;AACDxE,EAAAA,cAAc,CAAC+B,QAAD,EAAWxC,OAAX,EAAoB;AAC9B,WAAO;AACH3nB,MAAAA,IAAI,EAAE;AAAE;AADL;AAEHyL,MAAAA,SAAS,EAAE+b,YAAY,CAAC,IAAD,EAAOvB,uBAAuB,CAACkE,QAAQ,CAAC1e,SAAV,CAA9B,EAAoDkc,OAApD,CAFpB;AAGHtP,MAAAA,OAAO,EAAE0T,yBAAyB,CAAC5B,QAAQ,CAAC9R,OAAV;AAH/B,KAAP;AAKH;;AACDgQ,EAAAA,iBAAiB,CAAC8B,QAAD,EAAWxC,OAAX,EAAoB;AACjCA,IAAAA,OAAO,CAACmD,QAAR;AACA,WAAO;AACH9qB,MAAAA,IAAI,EAAE;AAAE;AADL;AAEHqY,MAAAA,OAAO,EAAE0T,yBAAyB,CAAC5B,QAAQ,CAAC9R,OAAV;AAF/B,KAAP;AAIH;;AACDiQ,EAAAA,eAAe,CAAC6B,QAAD,EAAWxC,OAAX,EAAoB;AAC/B,WAAO;AACH3nB,MAAAA,IAAI,EAAE;AAAG;AADN;AAEHyL,MAAAA,SAAS,EAAE,KAAK2c,cAAL,CAAoB+B,QAAQ,CAAC1e,SAA7B,EAAwCkc,OAAxC,CAFR;AAGHtP,MAAAA,OAAO,EAAE0T,yBAAyB,CAAC5B,QAAQ,CAAC9R,OAAV;AAH/B,KAAP;AAKH;;AACDkQ,EAAAA,UAAU,CAAC4B,QAAD,EAAWxC,OAAX,EAAoB;AAC1B,UAAMwG,cAAc,GAAGxG,OAAO,CAAC+C,oBAA/B;AACA,UAAMrS,OAAO,GAAI8R,QAAQ,CAAC9R,OAAT,IAAoB,EAArC;AACAsP,IAAAA,OAAO,CAACkD,UAAR;AACAlD,IAAAA,OAAO,CAACyG,YAAR,GAAuBjE,QAAvB;AACA,UAAM,CAAC7Q,QAAD,EAAW+U,WAAX,IAA0BC,iBAAiB,CAACnE,QAAQ,CAAC7Q,QAAV,CAAjD;AACAqO,IAAAA,OAAO,CAAC+C,oBAAR,GACIyD,cAAc,CAACpyB,MAAf,GAAyBoyB,cAAc,GAAG,GAAjB,GAAuB7U,QAAhD,GAA4DA,QADhE;AAEA4F,IAAAA,eAAe,CAACyI,OAAO,CAACgD,eAAT,EAA0BhD,OAAO,CAAC+C,oBAAlC,EAAwD,EAAxD,CAAf;AACA,UAAMjf,SAAS,GAAG+b,YAAY,CAAC,IAAD,EAAOvB,uBAAuB,CAACkE,QAAQ,CAAC1e,SAAV,CAA9B,EAAoDkc,OAApD,CAA9B;AACAA,IAAAA,OAAO,CAACyG,YAAR,GAAuB,IAAvB;AACAzG,IAAAA,OAAO,CAAC+C,oBAAR,GAA+ByD,cAA/B;AACA,WAAO;AACHnuB,MAAAA,IAAI,EAAE;AAAG;AADN;AAEHsZ,MAAAA,QAFG;AAGH0U,MAAAA,KAAK,EAAE3V,OAAO,CAAC2V,KAAR,IAAiB,CAHrB;AAIHO,MAAAA,QAAQ,EAAE,CAAC,CAAClW,OAAO,CAACkW,QAJjB;AAKHF,MAAAA,WALG;AAMH5iB,MAAAA,SANG;AAOH+iB,MAAAA,gBAAgB,EAAErE,QAAQ,CAAC7Q,QAPxB;AAQHjB,MAAAA,OAAO,EAAE0T,yBAAyB,CAAC5B,QAAQ,CAAC9R,OAAV;AAR/B,KAAP;AAUH;;AACDmQ,EAAAA,YAAY,CAAC2B,QAAD,EAAWxC,OAAX,EAAoB;AAC5B,QAAI,CAACA,OAAO,CAACyG,YAAb,EAA2B;AACvBzG,MAAAA,OAAO,CAAChK,MAAR,CAAehD,IAAf,CAAqB,8CAArB;AACH;;AACD,UAAMpC,OAAO,GAAG4R,QAAQ,CAAC5R,OAAT,KAAqB,MAArB,GACZ;AAAEuB,MAAAA,QAAQ,EAAE,CAAZ;AAAeC,MAAAA,KAAK,EAAE,CAAtB;AAAyB+I,MAAAA,MAAM,EAAE;AAAjC,KADY,GAEZoB,aAAa,CAACiG,QAAQ,CAAC5R,OAAV,EAAmBoP,OAAO,CAAChK,MAA3B,EAAmC,IAAnC,CAFjB;AAGA,WAAO;AACH3d,MAAAA,IAAI,EAAE;AAAG;AADN;AAEHyL,MAAAA,SAAS,EAAE+b,YAAY,CAAC,IAAD,EAAOvB,uBAAuB,CAACkE,QAAQ,CAAC1e,SAAV,CAA9B,EAAoDkc,OAApD,CAFpB;AAGHpP,MAAAA,OAHG;AAIHF,MAAAA,OAAO,EAAE;AAJN,KAAP;AAMH;;AAxW4B;;AA0WjC,SAASiW,iBAAT,CAA2BhV,QAA3B,EAAqC;AACjC,QAAMmV,YAAY,GAAGnV,QAAQ,CAACwP,KAAT,CAAe,SAAf,EAA0B4F,IAA1B,CAA+BzlB,KAAK,IAAIA,KAAK,IAAI+gB,UAAjD,IAA+D,IAA/D,GAAsE,KAA3F;;AACA,MAAIyE,YAAJ,EAAkB;AACdnV,IAAAA,QAAQ,GAAGA,QAAQ,CAAC1b,OAAT,CAAiBqsB,gBAAjB,EAAmC,EAAnC,CAAX;AACH,GAJgC,CAKjC;;;AACA3Q,EAAAA,QAAQ,GAAGA,QAAQ,CAAC1b,OAAT,CAAiB,MAAjB,EAAyBgmB,mBAAzB,EACNhmB,OADM,CACE,OADF,EACWE,KAAK,IAAI8lB,mBAAmB,GAAG,GAAtB,GAA4B9lB,KAAK,CAACgiB,MAAN,CAAa,CAAb,CADhD,EAENliB,OAFM,CAEE,aAFF,EAEiBkmB,qBAFjB,CAAX;AAGA,SAAO,CAACxK,QAAD,EAAWmV,YAAX,CAAP;AACH;;AACD,SAASE,eAAT,CAAyB5wB,GAAzB,EAA8B;AAC1B,SAAOA,GAAG,GAAG8mB,OAAO,CAAC9mB,GAAD,CAAV,GAAkB,IAA5B;AACH;;AACD,MAAMysB,0BAAN,CAAiC;AAC7BnsB,EAAAA,WAAW,CAACsf,MAAD,EAAS;AAChB,SAAKA,MAAL,GAAcA,MAAd;AACA,SAAKkN,UAAL,GAAkB,CAAlB;AACA,SAAKC,QAAL,GAAgB,CAAhB;AACA,SAAK8D,iBAAL,GAAyB,IAAzB;AACA,SAAKR,YAAL,GAAoB,IAApB;AACA,SAAK1D,oBAAL,GAA4B,IAA5B;AACA,SAAK4B,qBAAL,GAA6B,IAA7B;AACA,SAAK1B,WAAL,GAAmB,CAAnB;AACA,SAAKD,eAAL,GAAuB,EAAvB;AACA,SAAKtS,OAAL,GAAe,IAAf;AACH;;AAZ4B;;AAcjC,SAASyV,aAAT,CAAuB7sB,MAAvB,EAA+B;AAC3B,MAAI,OAAOA,MAAP,IAAiB,QAArB,EACI,OAAO,IAAP;AACJ,MAAI4X,MAAM,GAAG,IAAb;;AACA,MAAIoM,KAAK,CAACC,OAAN,CAAcjkB,MAAd,CAAJ,EAA2B;AACvBA,IAAAA,MAAM,CAACwZ,OAAP,CAAesS,UAAU,IAAI;AACzB,UAAIvB,QAAQ,CAACuB,UAAD,CAAR,IAAwBA,UAAU,CAAC3I,cAAX,CAA0B,QAA1B,CAA5B,EAAiE;AAC7D,cAAMrmB,GAAG,GAAGgvB,UAAZ;AACAlU,QAAAA,MAAM,GAAG5c,UAAU,CAAC8B,GAAG,CAAC,QAAD,CAAJ,CAAnB;AACA,eAAOA,GAAG,CAAC,QAAD,CAAV;AACH;AACJ,KAND;AAOH,GARD,MASK,IAAIytB,QAAQ,CAACvqB,MAAD,CAAR,IAAoBA,MAAM,CAACmjB,cAAP,CAAsB,QAAtB,CAAxB,EAAyD;AAC1D,UAAMrmB,GAAG,GAAGkD,MAAZ;AACA4X,IAAAA,MAAM,GAAG5c,UAAU,CAAC8B,GAAG,CAAC,QAAD,CAAJ,CAAnB;AACA,WAAOA,GAAG,CAAC,QAAD,CAAV;AACH;;AACD,SAAO8a,MAAP;AACH;;AACD,SAAS2S,QAAT,CAAkB/mB,KAAlB,EAAyB;AACrB,SAAO,CAACwgB,KAAK,CAACC,OAAN,CAAczgB,KAAd,CAAD,IAAyB,OAAOA,KAAP,IAAgB,QAAhD;AACH;;AACD,SAAS4nB,kBAAT,CAA4B5nB,KAA5B,EAAmCkZ,MAAnC,EAA2C;AACvC,MAAIpF,OAAO,GAAG,IAAd;;AACA,MAAI9T,KAAK,CAAC2f,cAAN,CAAqB,UAArB,CAAJ,EAAsC;AAClC7L,IAAAA,OAAO,GAAG9T,KAAV;AACH,GAFD,MAGK,IAAI,OAAOA,KAAP,IAAgB,QAApB,EAA8B;AAC/B,UAAMqV,QAAQ,GAAGoK,aAAa,CAACzf,KAAD,EAAQkZ,MAAR,CAAb,CAA6B7D,QAA9C;AACA,WAAO+U,aAAa,CAAC/U,QAAD,EAAW,CAAX,EAAc,EAAd,CAApB;AACH;;AACD,QAAMgV,QAAQ,GAAGrqB,KAAjB;AACA,QAAMsqB,SAAS,GAAGD,QAAQ,CAAChG,KAAT,CAAe,KAAf,EAAsBkG,IAAtB,CAA2BC,CAAC,IAAIA,CAAC,CAACrzB,MAAF,CAAS,CAAT,KAAe,GAAf,IAAsBqzB,CAAC,CAACrzB,MAAF,CAAS,CAAT,KAAe,GAArE,CAAlB;;AACA,MAAImzB,SAAJ,EAAe;AACX,UAAMnC,GAAG,GAAGiC,aAAa,CAAC,CAAD,EAAI,CAAJ,EAAO,EAAP,CAAzB;AACAjC,IAAAA,GAAG,CAACsC,OAAJ,GAAc,IAAd;AACAtC,IAAAA,GAAG,CAACkC,QAAJ,GAAeA,QAAf;AACA,WAAOlC,GAAP;AACH;;AACDrU,EAAAA,OAAO,GAAGA,OAAO,IAAI2L,aAAa,CAAC4K,QAAD,EAAWnR,MAAX,CAAlC;AACA,SAAOkR,aAAa,CAACtW,OAAO,CAACuB,QAAT,EAAmBvB,OAAO,CAACwB,KAA3B,EAAkCxB,OAAO,CAACuK,MAA1C,CAApB;AACH;;AACD,SAASiJ,yBAAT,CAAmC1T,OAAnC,EAA4C;AACxC,MAAIA,OAAJ,EAAa;AACTA,IAAAA,OAAO,GAAGwM,OAAO,CAACxM,OAAD,CAAjB;;AACA,QAAIA,OAAO,CAAC,QAAD,CAAX,EAAuB;AACnBA,MAAAA,OAAO,CAAC,QAAD,CAAP,GAAoBsW,eAAe,CAACtW,OAAO,CAAC,QAAD,CAAR,CAAnC;AACH;AACJ,GALD,MAMK;AACDA,IAAAA,OAAO,GAAG,EAAV;AACH;;AACD,SAAOA,OAAP;AACH;;AACD,SAASwW,aAAT,CAAuB/U,QAAvB,EAAiCC,KAAjC,EAAwC+I,MAAxC,EAAgD;AAC5C,SAAO;AAAEhJ,IAAAA,QAAF;AAAYC,IAAAA,KAAZ;AAAmB+I,IAAAA;AAAnB,GAAP;AACH;;AAED,SAASqM,yBAAT,CAAmCnc,OAAnC,EAA4C+F,SAA5C,EAAuDqW,aAAvD,EAAsEC,cAAtE,EAAsFvV,QAAtF,EAAgGC,KAAhG,EAAuG+I,MAAM,GAAG,IAAhH,EAAsHwM,WAAW,GAAG,KAApI,EAA2I;AACvI,SAAO;AACHtvB,IAAAA,IAAI,EAAE;AAAE;AADL;AAEHgT,IAAAA,OAFG;AAGH+F,IAAAA,SAHG;AAIHqW,IAAAA,aAJG;AAKHC,IAAAA,cALG;AAMHvV,IAAAA,QANG;AAOHC,IAAAA,KAPG;AAQHQ,IAAAA,SAAS,EAAET,QAAQ,GAAGC,KARnB;AASH+I,IAAAA,MATG;AAUHwM,IAAAA;AAVG,GAAP;AAYH;;AAED,MAAMC,qBAAN,CAA4B;AACxBlxB,EAAAA,WAAW,GAAG;AACV,SAAKmxB,IAAL,GAAY,IAAIlQ,GAAJ,EAAZ;AACH;;AACDmQ,EAAAA,OAAO,CAACzc,OAAD,EAAU;AACb,QAAI0c,YAAY,GAAG,KAAKF,IAAL,CAAU1rB,GAAV,CAAckP,OAAd,CAAnB;;AACA,QAAI0c,YAAJ,EAAkB;AACd,WAAKF,IAAL,CAAUG,MAAV,CAAiB3c,OAAjB;AACH,KAFD,MAGK;AACD0c,MAAAA,YAAY,GAAG,EAAf;AACH;;AACD,WAAOA,YAAP;AACH;;AACDE,EAAAA,MAAM,CAAC5c,OAAD,EAAU0c,YAAV,EAAwB;AAC1B,QAAIG,oBAAoB,GAAG,KAAKL,IAAL,CAAU1rB,GAAV,CAAckP,OAAd,CAA3B;;AACA,QAAI,CAAC6c,oBAAL,EAA2B;AACvB,WAAKL,IAAL,CAAUjQ,GAAV,CAAcvM,OAAd,EAAuB6c,oBAAoB,GAAG,EAA9C;AACH;;AACDA,IAAAA,oBAAoB,CAAClV,IAArB,CAA0B,GAAG+U,YAA7B;AACH;;AACD9F,EAAAA,GAAG,CAAC5W,OAAD,EAAU;AACT,WAAO,KAAKwc,IAAL,CAAU5F,GAAV,CAAc5W,OAAd,CAAP;AACH;;AACD8c,EAAAA,KAAK,GAAG;AACJ,SAAKN,IAAL,CAAUM,KAAV;AACH;;AA1BuB;AA6B5B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,yBAAyB,GAAG,CAAlC;AACA,MAAMC,WAAW,GAAG,QAApB;AACA,MAAMC,iBAAiB,gBAAG,IAAIlzB,MAAJ,CAAWizB,WAAX,EAAwB,GAAxB,CAA1B;AACA,MAAME,WAAW,GAAG,QAApB;AACA,MAAMC,iBAAiB,gBAAG,IAAIpzB,MAAJ,CAAWmzB,WAAX,EAAwB,GAAxB,CAA1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASE,uBAAT,CAAiC7S,MAAjC,EAAyC8S,WAAzC,EAAsDzD,GAAtD,EAA2D0D,cAA3D,EAA2EC,cAA3E,EAA2FC,cAAc,GAAG,EAA5G,EAAgHC,WAAW,GAAG,EAA9H,EAAkIpY,OAAlI,EAA2IqY,eAA3I,EAA4J/S,MAAM,GAAG,EAArK,EAAyK;AACrK,SAAO,IAAIgT,+BAAJ,GAAsCC,cAAtC,CAAqDrT,MAArD,EAA6D8S,WAA7D,EAA0EzD,GAA1E,EAA+E0D,cAA/E,EAA+FC,cAA/F,EAA+GC,cAA/G,EAA+HC,WAA/H,EAA4IpY,OAA5I,EAAqJqY,eAArJ,EAAsK/S,MAAtK,CAAP;AACH;;AACD,MAAMgT,+BAAN,CAAsC;AAClCC,EAAAA,cAAc,CAACrT,MAAD,EAAS8S,WAAT,EAAsBzD,GAAtB,EAA2B0D,cAA3B,EAA2CC,cAA3C,EAA2DC,cAA3D,EAA2EC,WAA3E,EAAwFpY,OAAxF,EAAiGqY,eAAjG,EAAkH/S,MAAM,GAAG,EAA3H,EAA+H;AACzI+S,IAAAA,eAAe,GAAGA,eAAe,IAAI,IAAInB,qBAAJ,EAArC;AACA,UAAM5H,OAAO,GAAG,IAAIkJ,wBAAJ,CAA6BtT,MAA7B,EAAqC8S,WAArC,EAAkDK,eAAlD,EAAmEJ,cAAnE,EAAmFC,cAAnF,EAAmG5S,MAAnG,EAA2G,EAA3G,CAAhB;AACAgK,IAAAA,OAAO,CAACtP,OAAR,GAAkBA,OAAlB;AACAsP,IAAAA,OAAO,CAACmJ,eAAR,CAAwBjL,SAAxB,CAAkC,CAAC2K,cAAD,CAAlC,EAAoD,IAApD,EAA0D7I,OAAO,CAAChK,MAAlE,EAA0EtF,OAA1E;AACAmP,IAAAA,YAAY,CAAC,IAAD,EAAOoF,GAAP,EAAYjF,OAAZ,CAAZ,CALyI,CAMzI;;AACA,UAAMoJ,SAAS,GAAGpJ,OAAO,CAACoJ,SAAR,CAAkBt6B,MAAlB,CAAyBu6B,QAAQ,IAAIA,QAAQ,CAACC,iBAAT,EAArC,CAAlB;;AACA,QAAIF,SAAS,CAACh1B,MAAV,IAAoBmiB,MAAM,CAACC,IAAP,CAAYsS,WAAZ,EAAyB10B,MAAjD,EAAyD;AACrD,YAAMm1B,EAAE,GAAGH,SAAS,CAACA,SAAS,CAACh1B,MAAV,GAAmB,CAApB,CAApB;;AACA,UAAI,CAACm1B,EAAE,CAACC,uBAAH,EAAL,EAAmC;AAC/BD,QAAAA,EAAE,CAACrL,SAAH,CAAa,CAAC4K,WAAD,CAAb,EAA4B,IAA5B,EAAkC9I,OAAO,CAAChK,MAA1C,EAAkDtF,OAAlD;AACH;AACJ;;AACD,WAAO0Y,SAAS,CAACh1B,MAAV,GAAmBg1B,SAAS,CAAC5R,GAAV,CAAc6R,QAAQ,IAAIA,QAAQ,CAACJ,cAAT,EAA1B,CAAnB,GACH,CAACzB,yBAAyB,CAACkB,WAAD,EAAc,EAAd,EAAkB,EAAlB,EAAsB,EAAtB,EAA0B,CAA1B,EAA6B,CAA7B,EAAgC,EAAhC,EAAoC,KAApC,CAA1B,CADJ;AAEH;;AACDzI,EAAAA,YAAY,CAACgF,GAAD,EAAMjF,OAAN,EAAe,CACvB;AACH;;AACDE,EAAAA,UAAU,CAAC+E,GAAD,EAAMjF,OAAN,EAAe,CACrB;AACH;;AACDG,EAAAA,eAAe,CAAC8E,GAAD,EAAMjF,OAAN,EAAe,CAC1B;AACH;;AACDU,EAAAA,iBAAiB,CAACuE,GAAD,EAAMjF,OAAN,EAAe;AAC5B,UAAMyJ,mBAAmB,GAAGzJ,OAAO,CAAC+I,eAAR,CAAwBjB,OAAxB,CAAgC9H,OAAO,CAAC3U,OAAxC,CAA5B;;AACA,QAAIoe,mBAAJ,EAAyB;AACrB,YAAMC,YAAY,GAAG1J,OAAO,CAAC2J,gBAAR,CAAyB1E,GAAG,CAACvU,OAA7B,CAArB;AACA,YAAM+U,SAAS,GAAGzF,OAAO,CAACmJ,eAAR,CAAwBlG,WAA1C;;AACA,YAAMuC,OAAO,GAAG,KAAKoE,qBAAL,CAA2BH,mBAA3B,EAAgDC,YAAhD,EAA8DA,YAAY,CAAChZ,OAA3E,CAAhB;;AACA,UAAI+U,SAAS,IAAID,OAAjB,EAA0B;AACtB;AACA;AACAxF,QAAAA,OAAO,CAAC6J,wBAAR,CAAiCrE,OAAjC;AACH;AACJ;;AACDxF,IAAAA,OAAO,CAAC8J,YAAR,GAAuB7E,GAAvB;AACH;;AACDtE,EAAAA,eAAe,CAACsE,GAAD,EAAMjF,OAAN,EAAe;AAC1B,UAAM0J,YAAY,GAAG1J,OAAO,CAAC2J,gBAAR,CAAyB1E,GAAG,CAACvU,OAA7B,CAArB;AACAgZ,IAAAA,YAAY,CAACG,wBAAb;AACA,SAAKpJ,cAAL,CAAoBwE,GAAG,CAACnhB,SAAxB,EAAmC4lB,YAAnC;AACA1J,IAAAA,OAAO,CAAC6J,wBAAR,CAAiCH,YAAY,CAACP,eAAb,CAA6BlG,WAA9D;AACAjD,IAAAA,OAAO,CAAC8J,YAAR,GAAuB7E,GAAvB;AACH;;AACD2E,EAAAA,qBAAqB,CAAC7B,YAAD,EAAe/H,OAAf,EAAwBtP,OAAxB,EAAiC;AAClD,UAAM+U,SAAS,GAAGzF,OAAO,CAACmJ,eAAR,CAAwBlG,WAA1C;AACA,QAAIqB,YAAY,GAAGmB,SAAnB,CAFkD,CAGlD;AACA;;AACA,UAAMtT,QAAQ,GAAGzB,OAAO,CAACyB,QAAR,IAAoB,IAApB,GAA2BiK,kBAAkB,CAAC1L,OAAO,CAACyB,QAAT,CAA7C,GAAkE,IAAnF;AACA,UAAMC,KAAK,GAAG1B,OAAO,CAAC0B,KAAR,IAAiB,IAAjB,GAAwBgK,kBAAkB,CAAC1L,OAAO,CAAC0B,KAAT,CAA1C,GAA4D,IAA1E;;AACA,QAAID,QAAQ,KAAK,CAAjB,EAAoB;AAChB4V,MAAAA,YAAY,CAACjV,OAAb,CAAqBiX,WAAW,IAAI;AAChC,cAAMC,kBAAkB,GAAGhK,OAAO,CAACiK,2BAAR,CAAoCF,WAApC,EAAiD5X,QAAjD,EAA2DC,KAA3D,CAA3B;AACAkS,QAAAA,YAAY,GACRjyB,IAAI,CAACK,GAAL,CAAS4xB,YAAT,EAAuB0F,kBAAkB,CAAC7X,QAAnB,GAA8B6X,kBAAkB,CAAC5X,KAAxE,CADJ;AAEH,OAJD;AAKH;;AACD,WAAOkS,YAAP;AACH;;AACD7D,EAAAA,cAAc,CAACwE,GAAD,EAAMjF,OAAN,EAAe;AACzBA,IAAAA,OAAO,CAACkK,aAAR,CAAsBjF,GAAG,CAACvU,OAA1B,EAAmC,IAAnC;AACAmP,IAAAA,YAAY,CAAC,IAAD,EAAOoF,GAAG,CAACnhB,SAAX,EAAsBkc,OAAtB,CAAZ;AACAA,IAAAA,OAAO,CAAC8J,YAAR,GAAuB7E,GAAvB;AACH;;AACD7E,EAAAA,aAAa,CAAC6E,GAAD,EAAMjF,OAAN,EAAe;AACxB,UAAMmK,eAAe,GAAGnK,OAAO,CAACmK,eAAhC;AACA,QAAI55B,GAAG,GAAGyvB,OAAV;AACA,UAAMtP,OAAO,GAAGuU,GAAG,CAACvU,OAApB;;AACA,QAAIA,OAAO,KAAKA,OAAO,CAAC8N,MAAR,IAAkB9N,OAAO,CAAC0B,KAA/B,CAAX,EAAkD;AAC9C7hB,MAAAA,GAAG,GAAGyvB,OAAO,CAAC2J,gBAAR,CAAyBjZ,OAAzB,CAAN;AACAngB,MAAAA,GAAG,CAACs5B,wBAAJ;;AACA,UAAInZ,OAAO,CAAC0B,KAAR,IAAiB,IAArB,EAA2B;AACvB,YAAI7hB,GAAG,CAACu5B,YAAJ,CAAiBzxB,IAAjB,IAAyB;AAAE;AAA/B,UAA4C;AACxC9H,UAAAA,GAAG,CAAC44B,eAAJ,CAAoBiB,qBAApB;AACA75B,UAAAA,GAAG,CAACu5B,YAAJ,GAAmBO,0BAAnB;AACH;;AACD,cAAMjY,KAAK,GAAGgK,kBAAkB,CAAC1L,OAAO,CAAC0B,KAAT,CAAhC;AACA7hB,QAAAA,GAAG,CAAC+5B,aAAJ,CAAkBlY,KAAlB;AACH;AACJ;;AACD,QAAI6S,GAAG,CAACnU,KAAJ,CAAU1c,MAAd,EAAsB;AAClB6wB,MAAAA,GAAG,CAACnU,KAAJ,CAAUgC,OAAV,CAAkBuR,CAAC,IAAIxE,YAAY,CAAC,IAAD,EAAOwE,CAAP,EAAU9zB,GAAV,CAAnC,EADkB,CAElB;;AACAA,MAAAA,GAAG,CAAC44B,eAAJ,CAAoBoB,qBAApB,GAHkB,CAIlB;AACA;AACA;;AACA,UAAIh6B,GAAG,CAAC45B,eAAJ,GAAsBA,eAA1B,EAA2C;AACvC55B,QAAAA,GAAG,CAACs5B,wBAAJ;AACH;AACJ;;AACD7J,IAAAA,OAAO,CAAC8J,YAAR,GAAuB7E,GAAvB;AACH;;AACD5E,EAAAA,UAAU,CAAC4E,GAAD,EAAMjF,OAAN,EAAe;AACrB,UAAMwK,cAAc,GAAG,EAAvB;AACA,QAAIlG,YAAY,GAAGtE,OAAO,CAACmJ,eAAR,CAAwBlG,WAA3C;AACA,UAAM7Q,KAAK,GAAG6S,GAAG,CAACvU,OAAJ,IAAeuU,GAAG,CAACvU,OAAJ,CAAY0B,KAA3B,GAAmCgK,kBAAkB,CAAC6I,GAAG,CAACvU,OAAJ,CAAY0B,KAAb,CAArD,GAA2E,CAAzF;AACA6S,IAAAA,GAAG,CAACnU,KAAJ,CAAUgC,OAAV,CAAkBuR,CAAC,IAAI;AACnB,YAAMqF,YAAY,GAAG1J,OAAO,CAAC2J,gBAAR,CAAyB1E,GAAG,CAACvU,OAA7B,CAArB;;AACA,UAAI0B,KAAJ,EAAW;AACPsX,QAAAA,YAAY,CAACY,aAAb,CAA2BlY,KAA3B;AACH;;AACDyN,MAAAA,YAAY,CAAC,IAAD,EAAOwE,CAAP,EAAUqF,YAAV,CAAZ;AACApF,MAAAA,YAAY,GAAGjyB,IAAI,CAACK,GAAL,CAAS4xB,YAAT,EAAuBoF,YAAY,CAACP,eAAb,CAA6BlG,WAApD,CAAf;AACAuH,MAAAA,cAAc,CAACxX,IAAf,CAAoB0W,YAAY,CAACP,eAAjC;AACH,KARD,EAJqB,CAarB;AACA;AACA;;AACAqB,IAAAA,cAAc,CAAC1X,OAAf,CAAuBuW,QAAQ,IAAIrJ,OAAO,CAACmJ,eAAR,CAAwBsB,4BAAxB,CAAqDpB,QAArD,CAAnC;AACArJ,IAAAA,OAAO,CAAC6J,wBAAR,CAAiCvF,YAAjC;AACAtE,IAAAA,OAAO,CAAC8J,YAAR,GAAuB7E,GAAvB;AACH;;AACDyF,EAAAA,YAAY,CAACzF,GAAD,EAAMjF,OAAN,EAAe;AACvB,QAAIiF,GAAG,CAACsC,OAAR,EAAiB;AACb,YAAMJ,QAAQ,GAAGlC,GAAG,CAACkC,QAArB;AACA,YAAMwD,WAAW,GAAG3K,OAAO,CAACxB,MAAR,GAAiBK,iBAAiB,CAACsI,QAAD,EAAWnH,OAAO,CAACxB,MAAnB,EAA2BwB,OAAO,CAAChK,MAAnC,CAAlC,GAA+EmR,QAAnG;AACA,aAAO5K,aAAa,CAACoO,WAAD,EAAc3K,OAAO,CAAChK,MAAtB,CAApB;AACH,KAJD,MAKK;AACD,aAAO;AAAE7D,QAAAA,QAAQ,EAAE8S,GAAG,CAAC9S,QAAhB;AAA0BC,QAAAA,KAAK,EAAE6S,GAAG,CAAC7S,KAArC;AAA4C+I,QAAAA,MAAM,EAAE8J,GAAG,CAAC9J;AAAxD,OAAP;AACH;AACJ;;AACDmF,EAAAA,YAAY,CAAC2E,GAAD,EAAMjF,OAAN,EAAe;AACvB,UAAMpP,OAAO,GAAGoP,OAAO,CAAC2E,qBAAR,GAAgC,KAAK+F,YAAL,CAAkBzF,GAAG,CAACrU,OAAtB,EAA+BoP,OAA/B,CAAhD;;AACA,UAAMqJ,QAAQ,GAAGrJ,OAAO,CAACmJ,eAAzB;;AACA,QAAIvY,OAAO,CAACwB,KAAZ,EAAmB;AACf4N,MAAAA,OAAO,CAAC4K,aAAR,CAAsBha,OAAO,CAACwB,KAA9B;AACAiX,MAAAA,QAAQ,CAACe,qBAAT;AACH;;AACD,UAAMpZ,KAAK,GAAGiU,GAAG,CAACjU,KAAlB;;AACA,QAAIA,KAAK,CAAC3Y,IAAN,IAAc;AAAE;AAApB,MAAqC;AACjC,WAAKkoB,cAAL,CAAoBvP,KAApB,EAA2BgP,OAA3B;AACH,KAFD,MAGK;AACDA,MAAAA,OAAO,CAAC4K,aAAR,CAAsBha,OAAO,CAACuB,QAA9B;AACA,WAAKqO,UAAL,CAAgBxP,KAAhB,EAAuBgP,OAAvB;AACAqJ,MAAAA,QAAQ,CAACkB,qBAAT;AACH;;AACDvK,IAAAA,OAAO,CAAC2E,qBAAR,GAAgC,IAAhC;AACA3E,IAAAA,OAAO,CAAC8J,YAAR,GAAuB7E,GAAvB;AACH;;AACDzE,EAAAA,UAAU,CAACyE,GAAD,EAAMjF,OAAN,EAAe;AACrB,UAAMqJ,QAAQ,GAAGrJ,OAAO,CAACmJ,eAAzB;AACA,UAAMvY,OAAO,GAAGoP,OAAO,CAAC2E,qBAAxB,CAFqB,CAGrB;AACA;;AACA,QAAI,CAAC/T,OAAD,IAAYyY,QAAQ,CAACwB,yBAAT,GAAqCz2B,MAArD,EAA6D;AACzDi1B,MAAAA,QAAQ,CAACyB,YAAT;AACH;;AACD,UAAM3P,MAAM,GAAIvK,OAAO,IAAIA,OAAO,CAACuK,MAApB,IAA+B8J,GAAG,CAAC9J,MAAlD;;AACA,QAAI8J,GAAG,CAACD,WAAR,EAAqB;AACjBqE,MAAAA,QAAQ,CAAC0B,cAAT,CAAwB5P,MAAxB;AACH,KAFD,MAGK;AACDkO,MAAAA,QAAQ,CAACnL,SAAT,CAAmB+G,GAAG,CAAC3rB,MAAvB,EAA+B6hB,MAA/B,EAAuC6E,OAAO,CAAChK,MAA/C,EAAuDgK,OAAO,CAACtP,OAA/D;AACH;;AACDsP,IAAAA,OAAO,CAAC8J,YAAR,GAAuB7E,GAAvB;AACH;;AACD1E,EAAAA,cAAc,CAAC0E,GAAD,EAAMjF,OAAN,EAAe;AACzB,UAAM2E,qBAAqB,GAAG3E,OAAO,CAAC2E,qBAAtC;AACA,UAAMc,SAAS,GAAIzF,OAAO,CAACmJ,eAAT,CAA0BhX,QAA5C;AACA,UAAMA,QAAQ,GAAGwS,qBAAqB,CAACxS,QAAvC;AACA,UAAMuX,YAAY,GAAG1J,OAAO,CAAC2J,gBAAR,EAArB;AACA,UAAMqB,aAAa,GAAGtB,YAAY,CAACP,eAAnC;AACA6B,IAAAA,aAAa,CAAC7P,MAAd,GAAuBwJ,qBAAqB,CAACxJ,MAA7C;AACA8J,IAAAA,GAAG,CAAC3rB,MAAJ,CAAWwZ,OAAX,CAAmByR,IAAI,IAAI;AACvB,YAAMrT,MAAM,GAAGqT,IAAI,CAACrT,MAAL,IAAe,CAA9B;AACA8Z,MAAAA,aAAa,CAACC,WAAd,CAA0B/Z,MAAM,GAAGiB,QAAnC;AACA6Y,MAAAA,aAAa,CAAC9M,SAAd,CAAwBqG,IAAI,CAACjrB,MAA7B,EAAqCirB,IAAI,CAACpJ,MAA1C,EAAkD6E,OAAO,CAAChK,MAA1D,EAAkEgK,OAAO,CAACtP,OAA1E;AACAsa,MAAAA,aAAa,CAACT,qBAAd;AACH,KALD,EAPyB,CAazB;AACA;;AACAvK,IAAAA,OAAO,CAACmJ,eAAR,CAAwBsB,4BAAxB,CAAqDO,aAArD,EAfyB,CAgBzB;AACA;;AACAhL,IAAAA,OAAO,CAAC6J,wBAAR,CAAiCpE,SAAS,GAAGtT,QAA7C;AACA6N,IAAAA,OAAO,CAAC8J,YAAR,GAAuB7E,GAAvB;AACH;;AACDrE,EAAAA,UAAU,CAACqE,GAAD,EAAMjF,OAAN,EAAe;AACrB;AACA;AACA,UAAMyF,SAAS,GAAGzF,OAAO,CAACmJ,eAAR,CAAwBlG,WAA1C;AACA,UAAMvS,OAAO,GAAIuU,GAAG,CAACvU,OAAJ,IAAe,EAAhC;AACA,UAAM0B,KAAK,GAAG1B,OAAO,CAAC0B,KAAR,GAAgBgK,kBAAkB,CAAC1L,OAAO,CAAC0B,KAAT,CAAlC,GAAoD,CAAlE;;AACA,QAAIA,KAAK,KACJ4N,OAAO,CAAC8J,YAAR,CAAqBzxB,IAArB,KAA8B;AAAE;AAAhC,OACIotB,SAAS,IAAI,CAAb,IAAkBzF,OAAO,CAACmJ,eAAR,CAAwB0B,yBAAxB,GAAoDz2B,MAFtE,CAAT,EAEyF;AACrF4rB,MAAAA,OAAO,CAACmJ,eAAR,CAAwBiB,qBAAxB;AACApK,MAAAA,OAAO,CAAC8J,YAAR,GAAuBO,0BAAvB;AACH;;AACD,QAAI/F,YAAY,GAAGmB,SAAnB;AACA,UAAMyF,IAAI,GAAGlL,OAAO,CAACpF,WAAR,CAAoBqK,GAAG,CAACtT,QAAxB,EAAkCsT,GAAG,CAAC4B,gBAAtC,EAAwD5B,GAAG,CAACoB,KAA5D,EAAmEpB,GAAG,CAACyB,WAAvE,EAAoFhW,OAAO,CAACkW,QAAR,GAAmB,IAAnB,GAA0B,KAA9G,EAAqH5G,OAAO,CAAChK,MAA7H,CAAb;AACAgK,IAAAA,OAAO,CAACmL,iBAAR,GAA4BD,IAAI,CAAC92B,MAAjC;AACA,QAAIg3B,mBAAmB,GAAG,IAA1B;AACAF,IAAAA,IAAI,CAACpY,OAAL,CAAa,CAACzH,OAAD,EAAUyO,CAAV,KAAgB;AACzBkG,MAAAA,OAAO,CAACqL,iBAAR,GAA4BvR,CAA5B;AACA,YAAM4P,YAAY,GAAG1J,OAAO,CAAC2J,gBAAR,CAAyB1E,GAAG,CAACvU,OAA7B,EAAsCrF,OAAtC,CAArB;;AACA,UAAI+G,KAAJ,EAAW;AACPsX,QAAAA,YAAY,CAACY,aAAb,CAA2BlY,KAA3B;AACH;;AACD,UAAI/G,OAAO,KAAK2U,OAAO,CAAC3U,OAAxB,EAAiC;AAC7B+f,QAAAA,mBAAmB,GAAG1B,YAAY,CAACP,eAAnC;AACH;;AACDtJ,MAAAA,YAAY,CAAC,IAAD,EAAOoF,GAAG,CAACnhB,SAAX,EAAsB4lB,YAAtB,CAAZ,CATyB,CAUzB;AACA;AACA;;AACAA,MAAAA,YAAY,CAACP,eAAb,CAA6BoB,qBAA7B;AACA,YAAM/E,OAAO,GAAGkE,YAAY,CAACP,eAAb,CAA6BlG,WAA7C;AACAqB,MAAAA,YAAY,GAAGjyB,IAAI,CAACK,GAAL,CAAS4xB,YAAT,EAAuBkB,OAAvB,CAAf;AACH,KAhBD;AAiBAxF,IAAAA,OAAO,CAACqL,iBAAR,GAA4B,CAA5B;AACArL,IAAAA,OAAO,CAACmL,iBAAR,GAA4B,CAA5B;AACAnL,IAAAA,OAAO,CAAC6J,wBAAR,CAAiCvF,YAAjC;;AACA,QAAI8G,mBAAJ,EAAyB;AACrBpL,MAAAA,OAAO,CAACmJ,eAAR,CAAwBsB,4BAAxB,CAAqDW,mBAArD;AACApL,MAAAA,OAAO,CAACmJ,eAAR,CAAwBiB,qBAAxB;AACH;;AACDpK,IAAAA,OAAO,CAAC8J,YAAR,GAAuB7E,GAAvB;AACH;;AACDpE,EAAAA,YAAY,CAACoE,GAAD,EAAMjF,OAAN,EAAe;AACvB,UAAMsL,aAAa,GAAGtL,OAAO,CAACsL,aAA9B;AACA,UAAM/B,EAAE,GAAGvJ,OAAO,CAACmJ,eAAnB;AACA,UAAMvY,OAAO,GAAGqU,GAAG,CAACrU,OAApB;AACA,UAAMuB,QAAQ,GAAG9f,IAAI,CAACk5B,GAAL,CAAS3a,OAAO,CAACuB,QAAjB,CAAjB;AACA,UAAMqZ,OAAO,GAAGrZ,QAAQ,IAAI6N,OAAO,CAACmL,iBAAR,GAA4B,CAAhC,CAAxB;AACA,QAAI/Y,KAAK,GAAGD,QAAQ,GAAG6N,OAAO,CAACqL,iBAA/B;AACA,QAAII,kBAAkB,GAAG7a,OAAO,CAACuB,QAAR,GAAmB,CAAnB,GAAuB,SAAvB,GAAmCvB,OAAO,CAACuK,MAApE;;AACA,YAAQsQ,kBAAR;AACI,WAAK,SAAL;AACIrZ,QAAAA,KAAK,GAAGoZ,OAAO,GAAGpZ,KAAlB;AACA;;AACJ,WAAK,MAAL;AACIA,QAAAA,KAAK,GAAGkZ,aAAa,CAACI,kBAAtB;AACA;AANR;;AAQA,UAAMrC,QAAQ,GAAGrJ,OAAO,CAACmJ,eAAzB;;AACA,QAAI/W,KAAJ,EAAW;AACPiX,MAAAA,QAAQ,CAACiB,aAAT,CAAuBlY,KAAvB;AACH;;AACD,UAAMuZ,YAAY,GAAGtC,QAAQ,CAACpG,WAA9B;AACApD,IAAAA,YAAY,CAAC,IAAD,EAAOoF,GAAG,CAACnhB,SAAX,EAAsBkc,OAAtB,CAAZ;AACAA,IAAAA,OAAO,CAAC8J,YAAR,GAAuB7E,GAAvB,CAtBuB,CAuBvB;AACA;AACA;AACA;;AACAqG,IAAAA,aAAa,CAACI,kBAAd,GACKnC,EAAE,CAACtG,WAAH,GAAiB0I,YAAlB,IAAmCpC,EAAE,CAAC9D,SAAH,GAAe6F,aAAa,CAACnC,eAAd,CAA8B1D,SAAhF,CADJ;AAEH;;AAhQiC;;AAkQtC,MAAM4E,0BAA0B,GAAG,EAAnC;;AACA,MAAMnB,wBAAN,CAA+B;AAC3BxyB,EAAAA,WAAW,CAACksB,OAAD,EAAUvX,OAAV,EAAmB0d,eAAnB,EAAoC6C,eAApC,EAAqDC,eAArD,EAAsE7V,MAAtE,EAA8EoT,SAA9E,EAAyF0C,eAAzF,EAA0G;AACjH,SAAKlJ,OAAL,GAAeA,OAAf;AACA,SAAKvX,OAAL,GAAeA,OAAf;AACA,SAAK0d,eAAL,GAAuBA,eAAvB;AACA,SAAK6C,eAAL,GAAuBA,eAAvB;AACA,SAAKC,eAAL,GAAuBA,eAAvB;AACA,SAAK7V,MAAL,GAAcA,MAAd;AACA,SAAKoT,SAAL,GAAiBA,SAAjB;AACA,SAAKkC,aAAL,GAAqB,IAArB;AACA,SAAK3G,qBAAL,GAA6B,IAA7B;AACA,SAAKmF,YAAL,GAAoBO,0BAApB;AACA,SAAKF,eAAL,GAAuB,CAAvB;AACA,SAAKzZ,OAAL,GAAe,EAAf;AACA,SAAK2a,iBAAL,GAAyB,CAAzB;AACA,SAAKF,iBAAL,GAAyB,CAAzB;AACA,SAAKO,kBAAL,GAA0B,CAA1B;AACA,SAAKvC,eAAL,GAAuB2C,eAAe,IAAI,IAAIC,eAAJ,CAAoB,KAAKnJ,OAAzB,EAAkCvX,OAAlC,EAA2C,CAA3C,CAA1C;AACA+d,IAAAA,SAAS,CAACpW,IAAV,CAAe,KAAKmW,eAApB;AACH;;AACS,MAAN3K,MAAM,GAAG;AACT,WAAO,KAAK9N,OAAL,CAAa8N,MAApB;AACH;;AACD0L,EAAAA,aAAa,CAACxZ,OAAD,EAAUsb,YAAV,EAAwB;AACjC,QAAI,CAACtb,OAAL,EACI;AACJ,UAAMub,UAAU,GAAGvb,OAAnB;AACA,QAAIwb,eAAe,GAAG,KAAKxb,OAA3B,CAJiC,CAKjC;;AACA,QAAIub,UAAU,CAAC9Z,QAAX,IAAuB,IAA3B,EAAiC;AAC7B+Z,MAAAA,eAAe,CAAC/Z,QAAhB,GAA2BiK,kBAAkB,CAAC6P,UAAU,CAAC9Z,QAAZ,CAA7C;AACH;;AACD,QAAI8Z,UAAU,CAAC7Z,KAAX,IAAoB,IAAxB,EAA8B;AAC1B8Z,MAAAA,eAAe,CAAC9Z,KAAhB,GAAwBgK,kBAAkB,CAAC6P,UAAU,CAAC7Z,KAAZ,CAA1C;AACH;;AACD,UAAM+Z,SAAS,GAAGF,UAAU,CAACzN,MAA7B;;AACA,QAAI2N,SAAJ,EAAe;AACX,UAAIC,cAAc,GAAGF,eAAe,CAAC1N,MAArC;;AACA,UAAI,CAAC4N,cAAL,EAAqB;AACjBA,QAAAA,cAAc,GAAG,KAAK1b,OAAL,CAAa8N,MAAb,GAAsB,EAAvC;AACH;;AACDjI,MAAAA,MAAM,CAACC,IAAP,CAAY2V,SAAZ,EAAuBrZ,OAAvB,CAA+BtC,IAAI,IAAI;AACnC,YAAI,CAACwb,YAAD,IAAiB,CAACI,cAAc,CAAC3P,cAAf,CAA8BjM,IAA9B,CAAtB,EAA2D;AACvD4b,UAAAA,cAAc,CAAC5b,IAAD,CAAd,GAAuBqO,iBAAiB,CAACsN,SAAS,CAAC3b,IAAD,CAAV,EAAkB4b,cAAlB,EAAkC,KAAKpW,MAAvC,CAAxC;AACH;AACJ,OAJD;AAKH;AACJ;;AACDqW,EAAAA,YAAY,GAAG;AACX,UAAM3b,OAAO,GAAG,EAAhB;;AACA,QAAI,KAAKA,OAAT,EAAkB;AACd,YAAM4b,SAAS,GAAG,KAAK5b,OAAL,CAAa8N,MAA/B;;AACA,UAAI8N,SAAJ,EAAe;AACX,cAAM9N,MAAM,GAAG9N,OAAO,CAAC,QAAD,CAAP,GAAoB,EAAnC;AACA6F,QAAAA,MAAM,CAACC,IAAP,CAAY8V,SAAZ,EAAuBxZ,OAAvB,CAA+BtC,IAAI,IAAI;AACnCgO,UAAAA,MAAM,CAAChO,IAAD,CAAN,GAAe8b,SAAS,CAAC9b,IAAD,CAAxB;AACH,SAFD;AAGH;AACJ;;AACD,WAAOE,OAAP;AACH;;AACDiZ,EAAAA,gBAAgB,CAACjZ,OAAO,GAAG,IAAX,EAAiBrF,OAAjB,EAA0BkhB,OAA1B,EAAmC;AAC/C,UAAMviB,MAAM,GAAGqB,OAAO,IAAI,KAAKA,OAA/B;AACA,UAAM2U,OAAO,GAAG,IAAIkJ,wBAAJ,CAA6B,KAAKtG,OAAlC,EAA2C5Y,MAA3C,EAAmD,KAAK+e,eAAxD,EAAyE,KAAK6C,eAA9E,EAA+F,KAAKC,eAApG,EAAqH,KAAK7V,MAA1H,EAAkI,KAAKoT,SAAvI,EAAkJ,KAAKD,eAAL,CAAqBqD,IAArB,CAA0BxiB,MAA1B,EAAkCuiB,OAAO,IAAI,CAA7C,CAAlJ,CAAhB;AACAvM,IAAAA,OAAO,CAAC8J,YAAR,GAAuB,KAAKA,YAA5B;AACA9J,IAAAA,OAAO,CAAC2E,qBAAR,GAAgC,KAAKA,qBAArC;AACA3E,IAAAA,OAAO,CAACtP,OAAR,GAAkB,KAAK2b,YAAL,EAAlB;AACArM,IAAAA,OAAO,CAACkK,aAAR,CAAsBxZ,OAAtB;AACAsP,IAAAA,OAAO,CAACqL,iBAAR,GAA4B,KAAKA,iBAAjC;AACArL,IAAAA,OAAO,CAACmL,iBAAR,GAA4B,KAAKA,iBAAjC;AACAnL,IAAAA,OAAO,CAACsL,aAAR,GAAwB,IAAxB;AACA,SAAKnB,eAAL;AACA,WAAOnK,OAAP;AACH;;AACD6J,EAAAA,wBAAwB,CAAC0C,OAAD,EAAU;AAC9B,SAAKzC,YAAL,GAAoBO,0BAApB;AACA,SAAKlB,eAAL,GAAuB,KAAKA,eAAL,CAAqBqD,IAArB,CAA0B,KAAKnhB,OAA/B,EAAwCkhB,OAAxC,CAAvB;AACA,SAAKnD,SAAL,CAAepW,IAAf,CAAoB,KAAKmW,eAAzB;AACA,WAAO,KAAKA,eAAZ;AACH;;AACDc,EAAAA,2BAA2B,CAACF,WAAD,EAAc5X,QAAd,EAAwBC,KAAxB,EAA+B;AACtD,UAAMqa,cAAc,GAAG;AACnBta,MAAAA,QAAQ,EAAEA,QAAQ,IAAI,IAAZ,GAAmBA,QAAnB,GAA8B4X,WAAW,CAAC5X,QADjC;AAEnBC,MAAAA,KAAK,EAAE,KAAK+W,eAAL,CAAqBlG,WAArB,IAAoC7Q,KAAK,IAAI,IAAT,GAAgBA,KAAhB,GAAwB,CAA5D,IAAiE2X,WAAW,CAAC3X,KAFjE;AAGnB+I,MAAAA,MAAM,EAAE;AAHW,KAAvB;AAKA,UAAMuR,OAAO,GAAG,IAAIC,kBAAJ,CAAuB,KAAK/J,OAA5B,EAAqCmH,WAAW,CAAC1e,OAAjD,EAA0D0e,WAAW,CAAC3Y,SAAtE,EAAiF2Y,WAAW,CAACtC,aAA7F,EAA4GsC,WAAW,CAACrC,cAAxH,EAAwI+E,cAAxI,EAAwJ1C,WAAW,CAAC6C,uBAApK,CAAhB;AACA,SAAKxD,SAAL,CAAepW,IAAf,CAAoB0Z,OAApB;AACA,WAAOD,cAAP;AACH;;AACD7B,EAAAA,aAAa,CAAChW,IAAD,EAAO;AAChB,SAAKuU,eAAL,CAAqB8B,WAArB,CAAiC,KAAK9B,eAAL,CAAqBhX,QAArB,GAAgCyC,IAAjE;AACH;;AACD0V,EAAAA,aAAa,CAAClY,KAAD,EAAQ;AACjB;AACA,QAAIA,KAAK,GAAG,CAAZ,EAAe;AACX,WAAK+W,eAAL,CAAqBmB,aAArB,CAAmClY,KAAnC;AACH;AACJ;;AACDwI,EAAAA,WAAW,CAACjJ,QAAD,EAAWkV,gBAAX,EAA6BR,KAA7B,EAAoCK,WAApC,EAAiDE,QAAjD,EAA2D5Q,MAA3D,EAAmE;AAC1E,QAAI2D,OAAO,GAAG,EAAd;;AACA,QAAI+M,WAAJ,EAAiB;AACb/M,MAAAA,OAAO,CAAC3G,IAAR,CAAa,KAAK3H,OAAlB;AACH;;AACD,QAAIsG,QAAQ,CAACvd,MAAT,GAAkB,CAAtB,EAAyB;AAAE;AACvBud,MAAAA,QAAQ,GAAGA,QAAQ,CAAC1b,OAAT,CAAiBqyB,iBAAjB,EAAoC,MAAM,KAAKsD,eAA/C,CAAX;AACAja,MAAAA,QAAQ,GAAGA,QAAQ,CAAC1b,OAAT,CAAiBuyB,iBAAjB,EAAoC,MAAM,KAAKqD,eAA/C,CAAX;AACA,YAAMxhB,KAAK,GAAGgc,KAAK,IAAI,CAAvB;;AACA,UAAIwG,QAAQ,GAAG,KAAKjK,OAAL,CAAalR,KAAb,CAAmB,KAAKrG,OAAxB,EAAiCsG,QAAjC,EAA2CtH,KAA3C,CAAf;;AACA,UAAIgc,KAAK,KAAK,CAAd,EAAiB;AACbwG,QAAAA,QAAQ,GAAGxG,KAAK,GAAG,CAAR,GAAYwG,QAAQ,CAAC3sB,KAAT,CAAe2sB,QAAQ,CAACz4B,MAAT,GAAkBiyB,KAAjC,EAAwCwG,QAAQ,CAACz4B,MAAjD,CAAZ,GACPy4B,QAAQ,CAAC3sB,KAAT,CAAe,CAAf,EAAkBmmB,KAAlB,CADJ;AAEH;;AACD1M,MAAAA,OAAO,CAAC3G,IAAR,CAAa,GAAG6Z,QAAhB;AACH;;AACD,QAAI,CAACjG,QAAD,IAAajN,OAAO,CAACvlB,MAAR,IAAkB,CAAnC,EAAsC;AAClC4hB,MAAAA,MAAM,CAAChD,IAAP,CAAa,YAAW6T,gBAAiB,8CAA6CA,gBAAiB,sDAAvG;AACH;;AACD,WAAOlN,OAAP;AACH;;AAvH0B;;AAyH/B,MAAMoS,eAAN,CAAsB;AAClBr1B,EAAAA,WAAW,CAACksB,OAAD,EAAUvX,OAAV,EAAmBoa,SAAnB,EAA8BqH,4BAA9B,EAA4D;AACnE,SAAKlK,OAAL,GAAeA,OAAf;AACA,SAAKvX,OAAL,GAAeA,OAAf;AACA,SAAKoa,SAAL,GAAiBA,SAAjB;AACA,SAAKqH,4BAAL,GAAoCA,4BAApC;AACA,SAAK3a,QAAL,GAAgB,CAAhB;AACA,SAAK4a,iBAAL,GAAyB,EAAzB;AACA,SAAKC,gBAAL,GAAwB,EAAxB;AACA,SAAKC,UAAL,GAAkB,IAAItV,GAAJ,EAAlB;AACA,SAAKuV,aAAL,GAAqB,EAArB;AACA,SAAKC,cAAL,GAAsB,EAAtB;AACA,SAAKC,SAAL,GAAiB,EAAjB;AACA,SAAKC,yBAAL,GAAiC,IAAjC;;AACA,QAAI,CAAC,KAAKP,4BAAV,EAAwC;AACpC,WAAKA,4BAAL,GAAoC,IAAInV,GAAJ,EAApC;AACH;;AACD,SAAK2V,oBAAL,GAA4B/W,MAAM,CAACrO,MAAP,CAAc,KAAKklB,SAAnB,EAA8B,EAA9B,CAA5B;AACA,SAAKG,qBAAL,GAA6B,KAAKT,4BAAL,CAAkC3wB,GAAlC,CAAsCkP,OAAtC,CAA7B;;AACA,QAAI,CAAC,KAAKkiB,qBAAV,EAAiC;AAC7B,WAAKA,qBAAL,GAA6B,KAAKD,oBAAlC;;AACA,WAAKR,4BAAL,CAAkClV,GAAlC,CAAsCvM,OAAtC,EAA+C,KAAKiiB,oBAApD;AACH;;AACD,SAAKE,aAAL;AACH;;AACDlE,EAAAA,iBAAiB,GAAG;AAChB,YAAQ,KAAK2D,UAAL,CAAgBhJ,IAAxB;AACI,WAAK,CAAL;AACI,eAAO,KAAP;;AACJ,WAAK,CAAL;AACI,eAAO,KAAK4G,yBAAL,GAAiCz2B,MAAjC,GAA0C,CAAjD;;AACJ;AACI,eAAO,IAAP;AANR;AAQH;;AACDy2B,EAAAA,yBAAyB,GAAG;AACxB,WAAOtU,MAAM,CAACC,IAAP,CAAY,KAAKwW,gBAAjB,CAAP;AACH;;AACc,MAAX/J,WAAW,GAAG;AACd,WAAO,KAAKwC,SAAL,GAAiB,KAAKtT,QAA7B;AACH;;AACDmY,EAAAA,aAAa,CAAClY,KAAD,EAAQ;AACjB;AACA;AACA;AACA;AACA,UAAMqb,eAAe,GAAG,KAAKR,UAAL,CAAgBhJ,IAAhB,IAAwB,CAAxB,IAA6B1N,MAAM,CAACC,IAAP,CAAY,KAAK2W,cAAjB,EAAiC/4B,MAAtF;;AACA,QAAI,KAAK+d,QAAL,IAAiBsb,eAArB,EAAsC;AAClC,WAAKxC,WAAL,CAAiB,KAAKhI,WAAL,GAAmB7Q,KAApC;;AACA,UAAIqb,eAAJ,EAAqB;AACjB,aAAKrD,qBAAL;AACH;AACJ,KALD,MAMK;AACD,WAAK3E,SAAL,IAAkBrT,KAAlB;AACH;AACJ;;AACDoa,EAAAA,IAAI,CAACnhB,OAAD,EAAU4X,WAAV,EAAuB;AACvB,SAAKsH,qBAAL;AACA,WAAO,IAAIwB,eAAJ,CAAoB,KAAKnJ,OAAzB,EAAkCvX,OAAlC,EAA2C4X,WAAW,IAAI,KAAKA,WAA/D,EAA4E,KAAK6J,4BAAjF,CAAP;AACH;;AACDU,EAAAA,aAAa,GAAG;AACZ,QAAI,KAAKR,gBAAT,EAA2B;AACvB,WAAKD,iBAAL,GAAyB,KAAKC,gBAA9B;AACH;;AACD,SAAKA,gBAAL,GAAwB,KAAKC,UAAL,CAAgB9wB,GAAhB,CAAoB,KAAKgW,QAAzB,CAAxB;;AACA,QAAI,CAAC,KAAK6a,gBAAV,EAA4B;AACxB,WAAKA,gBAAL,GAAwBzW,MAAM,CAACrO,MAAP,CAAc,KAAKklB,SAAnB,EAA8B,EAA9B,CAAxB;;AACA,WAAKH,UAAL,CAAgBrV,GAAhB,CAAoB,KAAKzF,QAAzB,EAAmC,KAAK6a,gBAAxC;AACH;AACJ;;AACDlC,EAAAA,YAAY,GAAG;AACX,SAAK3Y,QAAL,IAAiBiW,yBAAjB;;AACA,SAAKoF,aAAL;AACH;;AACDvC,EAAAA,WAAW,CAACrW,IAAD,EAAO;AACd,SAAK2V,qBAAL;AACA,SAAKpY,QAAL,GAAgByC,IAAhB;;AACA,SAAK4Y,aAAL;AACH;;AACDE,EAAAA,YAAY,CAACjX,IAAD,EAAO3Z,KAAP,EAAc;AACtB,SAAKwwB,oBAAL,CAA0B7W,IAA1B,IAAkC3Z,KAAlC;AACA,SAAKywB,qBAAL,CAA2B9W,IAA3B,IAAmC3Z,KAAnC;AACA,SAAKowB,aAAL,CAAmBzW,IAAnB,IAA2B;AAAE7B,MAAAA,IAAI,EAAE,KAAKqO,WAAb;AAA0BnmB,MAAAA;AAA1B,KAA3B;AACH;;AACD0sB,EAAAA,uBAAuB,GAAG;AACtB,WAAO,KAAK6D,yBAAL,KAAmC,KAAKL,gBAA/C;AACH;;AACDjC,EAAAA,cAAc,CAAC5P,MAAD,EAAS;AACnB,QAAIA,MAAJ,EAAY;AACR,WAAK4R,iBAAL,CAAuB,QAAvB,IAAmC5R,MAAnC;AACH,KAHkB,CAInB;AACA;AACA;AACA;AACA;AACA;;;AACA5E,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAK+W,qBAAjB,EAAwCza,OAAxC,CAAgD2D,IAAI,IAAI;AACpD,WAAK2W,SAAL,CAAe3W,IAAf,IAAuB,KAAK8W,qBAAL,CAA2B9W,IAA3B,KAAoCnG,2DAA3D;AACA,WAAK0c,gBAAL,CAAsBvW,IAAtB,IAA8BnG,2DAA9B;AACH,KAHD;AAIA,SAAK+c,yBAAL,GAAiC,KAAKL,gBAAtC;AACH;;AACD9O,EAAAA,SAAS,CAACzX,KAAD,EAAQ0U,MAAR,EAAgBnF,MAAhB,EAAwBtF,OAAxB,EAAiC;AACtC,QAAIyK,MAAJ,EAAY;AACR,WAAK4R,iBAAL,CAAuB,QAAvB,IAAmC5R,MAAnC;AACH;;AACD,UAAMqD,MAAM,GAAI9N,OAAO,IAAIA,OAAO,CAAC8N,MAApB,IAA+B,EAA9C;AACA,UAAMllB,MAAM,GAAGq0B,aAAa,CAAClnB,KAAD,EAAQ,KAAK8mB,qBAAb,CAA5B;AACAhX,IAAAA,MAAM,CAACC,IAAP,CAAYld,MAAZ,EAAoBwZ,OAApB,CAA4B2D,IAAI,IAAI;AAChC,YAAM/hB,GAAG,GAAGmqB,iBAAiB,CAACvlB,MAAM,CAACmd,IAAD,CAAP,EAAe+H,MAAf,EAAuBxI,MAAvB,CAA7B;AACA,WAAKmX,cAAL,CAAoB1W,IAApB,IAA4B/hB,GAA5B;;AACA,UAAI,CAAC,KAAK44B,oBAAL,CAA0B7Q,cAA1B,CAAyChG,IAAzC,CAAL,EAAqD;AACjD,aAAK2W,SAAL,CAAe3W,IAAf,IAAuB,KAAK8W,qBAAL,CAA2B9Q,cAA3B,CAA0ChG,IAA1C,IACnB,KAAK8W,qBAAL,CAA2B9W,IAA3B,CADmB,GAEnBnG,2DAFJ;AAGH;;AACD,WAAKod,YAAL,CAAkBjX,IAAlB,EAAwB/hB,GAAxB;AACH,KATD;AAUH;;AACD61B,EAAAA,qBAAqB,GAAG;AACpB,UAAMjxB,MAAM,GAAG,KAAK6zB,cAApB;AACA,UAAMS,KAAK,GAAGrX,MAAM,CAACC,IAAP,CAAYld,MAAZ,CAAd;AACA,QAAIs0B,KAAK,CAACx5B,MAAN,IAAgB,CAApB,EACI;AACJ,SAAK+4B,cAAL,GAAsB,EAAtB;AACAS,IAAAA,KAAK,CAAC9a,OAAN,CAAc2D,IAAI,IAAI;AAClB,YAAM/hB,GAAG,GAAG4E,MAAM,CAACmd,IAAD,CAAlB;AACA,WAAKuW,gBAAL,CAAsBvW,IAAtB,IAA8B/hB,GAA9B;AACH,KAHD;AAIA6hB,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAK8W,oBAAjB,EAAuCxa,OAAvC,CAA+C2D,IAAI,IAAI;AACnD,UAAI,CAAC,KAAKuW,gBAAL,CAAsBvQ,cAAtB,CAAqChG,IAArC,CAAL,EAAiD;AAC7C,aAAKuW,gBAAL,CAAsBvW,IAAtB,IAA8B,KAAK6W,oBAAL,CAA0B7W,IAA1B,CAA9B;AACH;AACJ,KAJD;AAKH;;AACD2T,EAAAA,qBAAqB,GAAG;AACpB7T,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAK8W,oBAAjB,EAAuCxa,OAAvC,CAA+C2D,IAAI,IAAI;AACnD,YAAM/hB,GAAG,GAAG,KAAK44B,oBAAL,CAA0B7W,IAA1B,CAAZ;AACA,WAAK0W,cAAL,CAAoB1W,IAApB,IAA4B/hB,GAA5B;;AACA,WAAKg5B,YAAL,CAAkBjX,IAAlB,EAAwB/hB,GAAxB;AACH,KAJD;AAKH;;AACDm5B,EAAAA,gBAAgB,GAAG;AACf,WAAO,KAAKZ,UAAL,CAAgB9wB,GAAhB,CAAoB,KAAKgW,QAAzB,CAAP;AACH;;AACa,MAAV2b,UAAU,GAAG;AACb,UAAMA,UAAU,GAAG,EAAnB;;AACA,SAAK,IAAIrX,IAAT,IAAiB,KAAKuW,gBAAtB,EAAwC;AACpCc,MAAAA,UAAU,CAAC9a,IAAX,CAAgByD,IAAhB;AACH;;AACD,WAAOqX,UAAP;AACH;;AACDrD,EAAAA,4BAA4B,CAACpB,QAAD,EAAW;AACnC9S,IAAAA,MAAM,CAACC,IAAP,CAAY6S,QAAQ,CAAC6D,aAArB,EAAoCpa,OAApC,CAA4C2D,IAAI,IAAI;AAChD,YAAMsX,QAAQ,GAAG,KAAKb,aAAL,CAAmBzW,IAAnB,CAAjB;AACA,YAAMuX,QAAQ,GAAG3E,QAAQ,CAAC6D,aAAT,CAAuBzW,IAAvB,CAAjB;;AACA,UAAI,CAACsX,QAAD,IAAaC,QAAQ,CAACpZ,IAAT,GAAgBmZ,QAAQ,CAACnZ,IAA1C,EAAgD;AAC5C,aAAK8Y,YAAL,CAAkBjX,IAAlB,EAAwBuX,QAAQ,CAAClxB,KAAjC;AACH;AACJ,KAND;AAOH;;AACDmsB,EAAAA,cAAc,GAAG;AACb,SAAKsB,qBAAL;AACA,UAAM9C,aAAa,GAAG,IAAI7F,GAAJ,EAAtB;AACA,UAAM8F,cAAc,GAAG,IAAI9F,GAAJ,EAAvB;AACA,UAAMiD,OAAO,GAAG,KAAKoI,UAAL,CAAgBhJ,IAAhB,KAAyB,CAAzB,IAA8B,KAAK9R,QAAL,KAAkB,CAAhE;AACA,QAAI8b,cAAc,GAAG,EAArB;;AACA,SAAKhB,UAAL,CAAgBna,OAAhB,CAAwB,CAACob,QAAD,EAAWtZ,IAAX,KAAoB;AACxC,YAAMuZ,aAAa,GAAG3Q,UAAU,CAAC0Q,QAAD,EAAW,IAAX,CAAhC;AACA3X,MAAAA,MAAM,CAACC,IAAP,CAAY2X,aAAZ,EAA2Brb,OAA3B,CAAmC2D,IAAI,IAAI;AACvC,cAAM3Z,KAAK,GAAGqxB,aAAa,CAAC1X,IAAD,CAA3B;;AACA,YAAI3Z,KAAK,IAAIqY,8DAAb,EAAyB;AACrBsS,UAAAA,aAAa,CAACzD,GAAd,CAAkBvN,IAAlB;AACH,SAFD,MAGK,IAAI3Z,KAAK,IAAIwT,2DAAb,EAAyB;AAC1BoX,UAAAA,cAAc,CAAC1D,GAAf,CAAmBvN,IAAnB;AACH;AACJ,OARD;;AASA,UAAI,CAACoO,OAAL,EAAc;AACVsJ,QAAAA,aAAa,CAAC,QAAD,CAAb,GAA0BvZ,IAAI,GAAG,KAAKzC,QAAtC;AACH;;AACD8b,MAAAA,cAAc,CAACjb,IAAf,CAAoBmb,aAApB;AACH,KAfD;;AAgBA,UAAMC,QAAQ,GAAG3G,aAAa,CAACxD,IAAd,GAAqBhF,eAAe,CAACwI,aAAa,CAACtD,MAAd,EAAD,CAApC,GAA+D,EAAhF;AACA,UAAMkK,SAAS,GAAG3G,cAAc,CAACzD,IAAf,GAAsBhF,eAAe,CAACyI,cAAc,CAACvD,MAAf,EAAD,CAArC,GAAiE,EAAnF,CAvBa,CAwBb;;AACA,QAAIU,OAAJ,EAAa;AACT,YAAMyJ,GAAG,GAAGL,cAAc,CAAC,CAAD,CAA1B;AACA,YAAMM,GAAG,GAAGrR,OAAO,CAACoR,GAAD,CAAnB;AACAA,MAAAA,GAAG,CAAC,QAAD,CAAH,GAAgB,CAAhB;AACAC,MAAAA,GAAG,CAAC,QAAD,CAAH,GAAgB,CAAhB;AACAN,MAAAA,cAAc,GAAG,CAACK,GAAD,EAAMC,GAAN,CAAjB;AACH;;AACD,WAAO/G,yBAAyB,CAAC,KAAKnc,OAAN,EAAe4iB,cAAf,EAA+BG,QAA/B,EAAyCC,SAAzC,EAAoD,KAAKlc,QAAzD,EAAmE,KAAKsT,SAAxE,EAAmF,KAAKtK,MAAxF,EAAgG,KAAhG,CAAhC;AACH;;AApMiB;;AAsMtB,MAAMwR,kBAAN,SAAiCZ,eAAjC,CAAiD;AAC7Cr1B,EAAAA,WAAW,CAACkf,MAAD,EAASvK,OAAT,EAAkB+F,SAAlB,EAA6BqW,aAA7B,EAA4CC,cAA5C,EAA4D9W,OAA5D,EAAqE4d,wBAAwB,GAAG,KAAhG,EAAuG;AAC9G,UAAM5Y,MAAN,EAAcvK,OAAd,EAAuBuF,OAAO,CAACwB,KAA/B;AACA,SAAKhB,SAAL,GAAiBA,SAAjB;AACA,SAAKqW,aAAL,GAAqBA,aAArB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAK8G,wBAAL,GAAgCA,wBAAhC;AACA,SAAK5d,OAAL,GAAe;AAAEuB,MAAAA,QAAQ,EAAEvB,OAAO,CAACuB,QAApB;AAA8BC,MAAAA,KAAK,EAAExB,OAAO,CAACwB,KAA7C;AAAoD+I,MAAAA,MAAM,EAAEvK,OAAO,CAACuK;AAApE,KAAf;AACH;;AACDmO,EAAAA,iBAAiB,GAAG;AAChB,WAAO,KAAKlY,SAAL,CAAehd,MAAf,GAAwB,CAA/B;AACH;;AACD60B,EAAAA,cAAc,GAAG;AACb,QAAI7X,SAAS,GAAG,KAAKA,SAArB;AACA,QAAI;AAAEgB,MAAAA,KAAF;AAASD,MAAAA,QAAT;AAAmBgJ,MAAAA;AAAnB,QAA8B,KAAKvK,OAAvC;;AACA,QAAI,KAAK4d,wBAAL,IAAiCpc,KAArC,EAA4C;AACxC,YAAMqc,YAAY,GAAG,EAArB;AACA,YAAM7b,SAAS,GAAGT,QAAQ,GAAGC,KAA7B;AACA,YAAMsc,WAAW,GAAGtc,KAAK,GAAGQ,SAA5B,CAHwC,CAIxC;;AACA,YAAM+b,gBAAgB,GAAGnR,UAAU,CAACpM,SAAS,CAAC,CAAD,CAAV,EAAe,KAAf,CAAnC;AACAud,MAAAA,gBAAgB,CAAC,QAAD,CAAhB,GAA6B,CAA7B;AACAF,MAAAA,YAAY,CAACzb,IAAb,CAAkB2b,gBAAlB;AACA,YAAMC,gBAAgB,GAAGpR,UAAU,CAACpM,SAAS,CAAC,CAAD,CAAV,EAAe,KAAf,CAAnC;AACAwd,MAAAA,gBAAgB,CAAC,QAAD,CAAhB,GAA6BC,WAAW,CAACH,WAAD,CAAxC;AACAD,MAAAA,YAAY,CAACzb,IAAb,CAAkB4b,gBAAlB;AACA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIY;;AACA,YAAMvI,KAAK,GAAGjV,SAAS,CAAChd,MAAV,GAAmB,CAAjC;;AACA,WAAK,IAAI0lB,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAIuM,KAArB,EAA4BvM,CAAC,EAA7B,EAAiC;AAC7B,YAAI1D,EAAE,GAAGoH,UAAU,CAACpM,SAAS,CAAC0I,CAAD,CAAV,EAAe,KAAf,CAAnB;AACA,cAAMgV,SAAS,GAAG1Y,EAAE,CAAC,QAAD,CAApB;AACA,cAAM2Y,cAAc,GAAG3c,KAAK,GAAG0c,SAAS,GAAG3c,QAA3C;AACAiE,QAAAA,EAAE,CAAC,QAAD,CAAF,GAAeyY,WAAW,CAACE,cAAc,GAAGnc,SAAlB,CAA1B;AACA6b,QAAAA,YAAY,CAACzb,IAAb,CAAkBoD,EAAlB;AACH,OAjCuC,CAkCxC;;;AACAjE,MAAAA,QAAQ,GAAGS,SAAX;AACAR,MAAAA,KAAK,GAAG,CAAR;AACA+I,MAAAA,MAAM,GAAG,EAAT;AACA/J,MAAAA,SAAS,GAAGqd,YAAZ;AACH;;AACD,WAAOjH,yBAAyB,CAAC,KAAKnc,OAAN,EAAe+F,SAAf,EAA0B,KAAKqW,aAA/B,EAA8C,KAAKC,cAAnD,EAAmEvV,QAAnE,EAA6EC,KAA7E,EAAoF+I,MAApF,EAA4F,IAA5F,CAAhC;AACH;;AAxD4C;;AA0DjD,SAAS0T,WAAT,CAAqB3d,MAArB,EAA6B8d,aAAa,GAAG,CAA7C,EAAgD;AAC5C,QAAMC,IAAI,GAAG58B,IAAI,CAAC68B,GAAL,CAAS,EAAT,EAAaF,aAAa,GAAG,CAA7B,CAAb;AACA,SAAO38B,IAAI,CAACC,KAAL,CAAW4e,MAAM,GAAG+d,IAApB,IAA4BA,IAAnC;AACH;;AACD,SAAStB,aAAT,CAAuBlnB,KAAvB,EAA8B0oB,SAA9B,EAAyC;AACrC,QAAM71B,MAAM,GAAG,EAAf;AACA,MAAI81B,aAAJ;AACA3oB,EAAAA,KAAK,CAACqM,OAAN,CAAcxR,KAAK,IAAI;AACnB,QAAIA,KAAK,KAAK,GAAd,EAAmB;AACf8tB,MAAAA,aAAa,GAAGA,aAAa,IAAI7Y,MAAM,CAACC,IAAP,CAAY2Y,SAAZ,CAAjC;AACAC,MAAAA,aAAa,CAACtc,OAAd,CAAsB2D,IAAI,IAAI;AAC1Bnd,QAAAA,MAAM,CAACmd,IAAD,CAAN,GAAenG,2DAAf;AACH,OAFD;AAGH,KALD,MAMK;AACDkN,MAAAA,UAAU,CAAClc,KAAD,EAAQ,KAAR,EAAehI,MAAf,CAAV;AACH;AACJ,GAVD;AAWA,SAAOA,MAAP;AACH;;AAED,MAAM+1B,SAAN,CAAgB;AACZ34B,EAAAA,WAAW,CAACksB,OAAD,EAAUnc,KAAV,EAAiB;AACxB,SAAKmc,OAAL,GAAeA,OAAf;AACA,UAAM5M,MAAM,GAAG,EAAf;AACA,UAAMiP,GAAG,GAAG1C,iBAAiB,CAACK,OAAD,EAAUnc,KAAV,EAAiBuP,MAAjB,CAA7B;;AACA,QAAIA,MAAM,CAAC5hB,MAAX,EAAmB;AACf,YAAMk7B,YAAY,GAAI,iCAAgCtZ,MAAM,CAAC9hB,IAAP,CAAY,IAAZ,CAAkB,EAAxE;AACA,YAAM,IAAIsC,KAAJ,CAAU84B,YAAV,CAAN;AACH;;AACD,SAAKC,aAAL,GAAqBtK,GAArB;AACH;;AACDuK,EAAAA,cAAc,CAACnkB,OAAD,EAAUwd,cAAV,EAA0B4G,iBAA1B,EAA6C/e,OAA7C,EAAsDqY,eAAtD,EAAuE;AACjF,UAAM2G,KAAK,GAAGpS,KAAK,CAACC,OAAN,CAAcsL,cAAd,IAAgCzL,eAAe,CAACyL,cAAD,CAA/C,GACVA,cADJ;AAEA,UAAM8G,IAAI,GAAGrS,KAAK,CAACC,OAAN,CAAckS,iBAAd,IAAmCrS,eAAe,CAACqS,iBAAD,CAAlD,GACTA,iBADJ;AAEA,UAAMzZ,MAAM,GAAG,EAAf;AACA+S,IAAAA,eAAe,GAAGA,eAAe,IAAI,IAAInB,qBAAJ,EAArC;AACA,UAAMtN,MAAM,GAAGmO,uBAAuB,CAAC,KAAK7F,OAAN,EAAevX,OAAf,EAAwB,KAAKkkB,aAA7B,EAA4C3T,eAA5C,EAA6DC,eAA7D,EAA8E6T,KAA9E,EAAqFC,IAArF,EAA2Fjf,OAA3F,EAAoGqY,eAApG,EAAqH/S,MAArH,CAAtC;;AACA,QAAIA,MAAM,CAAC5hB,MAAX,EAAmB;AACf,YAAMk7B,YAAY,GAAI,+BAA8BtZ,MAAM,CAAC9hB,IAAP,CAAY,IAAZ,CAAkB,EAAtE;AACA,YAAM,IAAIsC,KAAJ,CAAU84B,YAAV,CAAN;AACH;;AACD,WAAOhV,MAAP;AACH;;AAxBW;AA2BhB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMsV,wBAAN,CAA+B;AAE/B;AACA;AACA;;;AACA,MAAMC,4BAAN,CAAmC;AAC/BjZ,EAAAA,qBAAqB,CAACkZ,YAAD,EAAe9Z,MAAf,EAAuB;AACxC,WAAO8Z,YAAP;AACH;;AACDjZ,EAAAA,mBAAmB,CAACkZ,oBAAD,EAAuBC,kBAAvB,EAA2ClzB,KAA3C,EAAkDkZ,MAAlD,EAA0D;AACzE,WAAOlZ,KAAP;AACH;;AAN8B;AASnC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMmzB,4BAAN,SAA2CL,wBAA3C,CAAoE;AAChEhZ,EAAAA,qBAAqB,CAACkZ,YAAD,EAAe9Z,MAAf,EAAuB;AACxC,WAAOoI,mBAAmB,CAAC0R,YAAD,CAA1B;AACH;;AACDjZ,EAAAA,mBAAmB,CAACkZ,oBAAD,EAAuBC,kBAAvB,EAA2ClzB,KAA3C,EAAkDkZ,MAAlD,EAA0D;AACzE,QAAIsG,IAAI,GAAG,EAAX;AACA,UAAM4T,MAAM,GAAGpzB,KAAK,CAAC/I,QAAN,GAAiBo8B,IAAjB,EAAf;;AACA,QAAIC,oBAAoB,CAACJ,kBAAD,CAApB,IAA4ClzB,KAAK,KAAK,CAAtD,IAA2DA,KAAK,KAAK,GAAzE,EAA8E;AAC1E,UAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3Bwf,QAAAA,IAAI,GAAG,IAAP;AACH,OAFD,MAGK;AACD,cAAM+T,iBAAiB,GAAGvzB,KAAK,CAAC3G,KAAN,CAAY,wBAAZ,CAA1B;;AACA,YAAIk6B,iBAAiB,IAAIA,iBAAiB,CAAC,CAAD,CAAjB,CAAqBj8B,MAArB,IAA+B,CAAxD,EAA2D;AACvD4hB,UAAAA,MAAM,CAAChD,IAAP,CAAa,uCAAsC+c,oBAAqB,IAAGjzB,KAAM,EAAjF;AACH;AACJ;AACJ;;AACD,WAAOozB,MAAM,GAAG5T,IAAhB;AACH;;AAnB+D;;AAqBpE,MAAMgU,IAAI,GAAG,MAAMC,cAAc,CAAC,iUAC7BpP,KAD6B,CACvB,GADuB,CAAD,CAAjC;;AAEA,MAAMiP,oBAAoB,gBAAIE,IAAD,EAA7B;;AACA,SAASC,cAAT,CAAwB/Z,IAAxB,EAA8B;AAC1B,QAAMgB,GAAG,GAAG,EAAZ;AACAhB,EAAAA,IAAI,CAAC1D,OAAL,CAAa2E,GAAG,IAAID,GAAG,CAACC,GAAD,CAAH,GAAW,IAA/B;AACA,SAAOD,GAAP;AACH;;AAED,SAASgZ,2BAAT,CAAqCnlB,OAArC,EAA8C+L,WAA9C,EAA2DC,SAA3D,EAAsEC,OAAtE,EAA+EmZ,mBAA/E,EAAoGC,UAApG,EAAgHC,QAAhH,EAA0HvH,SAA1H,EAAqIwH,eAArI,EAAsJnJ,aAAtJ,EAAqKC,cAArK,EAAqL9U,SAArL,EAAgMoD,MAAhM,EAAwM;AACpM,SAAO;AACH3d,IAAAA,IAAI,EAAE;AAAE;AADL;AAEHgT,IAAAA,OAFG;AAGH+L,IAAAA,WAHG;AAIHqZ,IAAAA,mBAJG;AAKHpZ,IAAAA,SALG;AAMHqZ,IAAAA,UANG;AAOHpZ,IAAAA,OAPG;AAQHqZ,IAAAA,QARG;AASHvH,IAAAA,SATG;AAUHwH,IAAAA,eAVG;AAWHnJ,IAAAA,aAXG;AAYHC,IAAAA,cAZG;AAaH9U,IAAAA,SAbG;AAcHoD,IAAAA;AAdG,GAAP;AAgBH;;AAED,MAAM6a,YAAY,GAAG,EAArB;;AACA,MAAMC,0BAAN,CAAiC;AAC7Bp6B,EAAAA,WAAW,CAACq6B,YAAD,EAAe9L,GAAf,EAAoB+L,YAApB,EAAkC;AACzC,SAAKD,YAAL,GAAoBA,YAApB;AACA,SAAK9L,GAAL,GAAWA,GAAX;AACA,SAAK+L,YAAL,GAAoBA,YAApB;AACH;;AACD76B,EAAAA,KAAK,CAAC86B,YAAD,EAAeC,SAAf,EAA0B7lB,OAA1B,EAAmCmT,MAAnC,EAA2C;AAC5C,WAAO2S,yBAAyB,CAAC,KAAKlM,GAAL,CAAS9vB,QAAV,EAAoB87B,YAApB,EAAkCC,SAAlC,EAA6C7lB,OAA7C,EAAsDmT,MAAtD,CAAhC;AACH;;AACD4S,EAAAA,WAAW,CAACC,SAAD,EAAY7S,MAAZ,EAAoBxI,MAApB,EAA4B;AACnC,UAAMsb,iBAAiB,GAAG,KAAKN,YAAL,CAAkB,GAAlB,CAA1B;AACA,UAAMO,WAAW,GAAG,KAAKP,YAAL,CAAkBK,SAAlB,CAApB;AACA,UAAMG,YAAY,GAAGF,iBAAiB,GAAGA,iBAAiB,CAACF,WAAlB,CAA8B5S,MAA9B,EAAsCxI,MAAtC,CAAH,GAAmD,EAAzF;AACA,WAAOub,WAAW,GAAGA,WAAW,CAACH,WAAZ,CAAwB5S,MAAxB,EAAgCxI,MAAhC,CAAH,GAA6Cwb,YAA/D;AACH;;AACD9O,EAAAA,KAAK,CAAC9M,MAAD,EAASvK,OAAT,EAAkB4lB,YAAlB,EAAgCC,SAAhC,EAA2CvI,cAA3C,EAA2DC,cAA3D,EAA2E6I,cAA3E,EAA2FC,WAA3F,EAAwG3I,eAAxG,EAAyH4I,YAAzH,EAAuI;AACxI,UAAM3b,MAAM,GAAG,EAAf;AACA,UAAM4b,yBAAyB,GAAG,KAAK3M,GAAL,CAASvU,OAAT,IAAoB,KAAKuU,GAAL,CAASvU,OAAT,CAAiB8N,MAArC,IAA+CqS,YAAjF;AACA,UAAMgB,sBAAsB,GAAGJ,cAAc,IAAIA,cAAc,CAACjT,MAAjC,IAA2CqS,YAA1E;AACA,UAAMiB,kBAAkB,GAAG,KAAKV,WAAL,CAAiBH,YAAjB,EAA+BY,sBAA/B,EAAuD7b,MAAvD,CAA3B;AACA,UAAM+b,mBAAmB,GAAGL,WAAW,IAAIA,WAAW,CAAClT,MAA3B,IAAqCqS,YAAjE;AACA,UAAMmB,eAAe,GAAG,KAAKZ,WAAL,CAAiBF,SAAjB,EAA4Ba,mBAA5B,EAAiD/b,MAAjD,CAAxB;AACA,UAAM4a,eAAe,GAAG,IAAIhP,GAAJ,EAAxB;AACA,UAAMqQ,WAAW,GAAG,IAAIta,GAAJ,EAApB;AACA,UAAMua,YAAY,GAAG,IAAIva,GAAJ,EAArB;AACA,UAAMwa,SAAS,GAAGjB,SAAS,KAAK,MAAhC;AACA,UAAMkB,gBAAgB,GAAG;AAAE5T,MAAAA,MAAM,EAAEjI,MAAM,CAAC8b,MAAP,CAAc9b,MAAM,CAAC8b,MAAP,CAAc,EAAd,EAAkBT,yBAAlB,CAAd,EAA4DG,mBAA5D;AAAV,KAAzB;AACA,UAAM3I,SAAS,GAAGuI,YAAY,GAC1B,EAD0B,GAE1BlJ,uBAAuB,CAAC7S,MAAD,EAASvK,OAAT,EAAkB,KAAK4Z,GAAL,CAASnhB,SAA3B,EAAsC6kB,cAAtC,EAAsDC,cAAtD,EAAsEkJ,kBAAtE,EAA0FE,eAA1F,EAA2GI,gBAA3G,EAA6HrJ,eAA7H,EAA8I/S,MAA9I,CAF3B;AAGA,QAAIpD,SAAS,GAAG,CAAhB;AACAwW,IAAAA,SAAS,CAACtW,OAAV,CAAkByW,EAAE,IAAI;AACpB3W,MAAAA,SAAS,GAAGvgB,IAAI,CAACK,GAAL,CAAS62B,EAAE,CAACpX,QAAH,GAAcoX,EAAE,CAACnX,KAA1B,EAAiCQ,SAAjC,CAAZ;AACH,KAFD;;AAGA,QAAIoD,MAAM,CAAC5hB,MAAX,EAAmB;AACf,aAAOo8B,2BAA2B,CAACnlB,OAAD,EAAU,KAAK0lB,YAAf,EAA6BE,YAA7B,EAA2CC,SAA3C,EAAsDiB,SAAtD,EAAiEL,kBAAjE,EAAqFE,eAArF,EAAsG,EAAtG,EAA0G,EAA1G,EAA8GC,WAA9G,EAA2HC,YAA3H,EAAyItf,SAAzI,EAAoJoD,MAApJ,CAAlC;AACH;;AACDoT,IAAAA,SAAS,CAACtW,OAAV,CAAkByW,EAAE,IAAI;AACpB,YAAMxP,GAAG,GAAGwP,EAAE,CAACle,OAAf;AACA,YAAM+iB,QAAQ,GAAG7W,eAAe,CAAC0a,WAAD,EAAclY,GAAd,EAAmB,EAAnB,CAAhC;AACAwP,MAAAA,EAAE,CAAC9B,aAAH,CAAiB3U,OAAjB,CAAyB2D,IAAI,IAAI2X,QAAQ,CAAC3X,IAAD,CAAR,GAAiB,IAAlD;AACA,YAAM4X,SAAS,GAAG9W,eAAe,CAAC2a,YAAD,EAAenY,GAAf,EAAoB,EAApB,CAAjC;AACAwP,MAAAA,EAAE,CAAC7B,cAAH,CAAkB5U,OAAlB,CAA0B2D,IAAI,IAAI4X,SAAS,CAAC5X,IAAD,CAAT,GAAkB,IAApD;;AACA,UAAIsD,GAAG,KAAK1O,OAAZ,EAAqB;AACjBulB,QAAAA,eAAe,CAAC5M,GAAhB,CAAoBjK,GAApB;AACH;AACJ,KATD;AAUA,UAAMuY,mBAAmB,GAAGrT,eAAe,CAAC2R,eAAe,CAACzM,MAAhB,EAAD,CAA3C;AACA,WAAOqM,2BAA2B,CAACnlB,OAAD,EAAU,KAAK0lB,YAAf,EAA6BE,YAA7B,EAA2CC,SAA3C,EAAsDiB,SAAtD,EAAiEL,kBAAjE,EAAqFE,eAArF,EAAsG5I,SAAtG,EAAiHkJ,mBAAjH,EAAsIL,WAAtI,EAAmJC,YAAnJ,EAAiKtf,SAAjK,CAAlC;AACH;;AAjD4B;;AAmDjC,SAASue,yBAAT,CAAmCoB,QAAnC,EAA6CtB,YAA7C,EAA2DC,SAA3D,EAAsE7lB,OAAtE,EAA+EmT,MAA/E,EAAuF;AACnF,SAAO+T,QAAQ,CAAClL,IAAT,CAAc3b,EAAE,IAAIA,EAAE,CAACulB,YAAD,EAAeC,SAAf,EAA0B7lB,OAA1B,EAAmCmT,MAAnC,CAAtB,CAAP;AACH;;AACD,MAAMgU,oBAAN,CAA2B;AACvB97B,EAAAA,WAAW,CAAC4C,MAAD,EAASm5B,aAAT,EAAwB5c,UAAxB,EAAoC;AAC3C,SAAKvc,MAAL,GAAcA,MAAd;AACA,SAAKm5B,aAAL,GAAqBA,aAArB;AACA,SAAK5c,UAAL,GAAkBA,UAAlB;AACH;;AACDub,EAAAA,WAAW,CAAC5S,MAAD,EAASxI,MAAT,EAAiB;AACxB,UAAM8S,WAAW,GAAG,EAApB;AACA,UAAM4J,cAAc,GAAGxV,OAAO,CAAC,KAAKuV,aAAN,CAA9B;AACAlc,IAAAA,MAAM,CAACC,IAAP,CAAYgI,MAAZ,EAAoB1L,OAApB,CAA4B2E,GAAG,IAAI;AAC/B,YAAM3a,KAAK,GAAG0hB,MAAM,CAAC/G,GAAD,CAApB;;AACA,UAAI3a,KAAK,IAAI,IAAb,EAAmB;AACf41B,QAAAA,cAAc,CAACjb,GAAD,CAAd,GAAsB3a,KAAtB;AACH;AACJ,KALD;AAMA,SAAKxD,MAAL,CAAYA,MAAZ,CAAmBwZ,OAAnB,CAA2BhW,KAAK,IAAI;AAChC,UAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,cAAM61B,QAAQ,GAAG71B,KAAjB;AACAyZ,QAAAA,MAAM,CAACC,IAAP,CAAYmc,QAAZ,EAAsB7f,OAAtB,CAA8B2D,IAAI,IAAI;AAClC,cAAI/hB,GAAG,GAAGi+B,QAAQ,CAAClc,IAAD,CAAlB;;AACA,cAAI/hB,GAAG,CAACN,MAAJ,GAAa,CAAjB,EAAoB;AAChBM,YAAAA,GAAG,GAAGmqB,iBAAiB,CAACnqB,GAAD,EAAMg+B,cAAN,EAAsB1c,MAAtB,CAAvB;AACH;;AACD,gBAAMU,cAAc,GAAG,KAAKb,UAAL,CAAgBe,qBAAhB,CAAsCH,IAAtC,EAA4CT,MAA5C,CAAvB;AACAthB,UAAAA,GAAG,GAAG,KAAKmhB,UAAL,CAAgBgB,mBAAhB,CAAoCJ,IAApC,EAA0CC,cAA1C,EAA0DhiB,GAA1D,EAA+DshB,MAA/D,CAAN;AACA8S,UAAAA,WAAW,CAACpS,cAAD,CAAX,GAA8BhiB,GAA9B;AACH,SARD;AASH;AACJ,KAbD;AAcA,WAAOo0B,WAAP;AACH;;AA9BsB;;AAiC3B,SAAS8J,YAAT,CAAsBpiB,IAAtB,EAA4ByU,GAA5B,EAAiCpP,UAAjC,EAA6C;AACzC,SAAO,IAAIgd,gBAAJ,CAAqBriB,IAArB,EAA2ByU,GAA3B,EAAgCpP,UAAhC,CAAP;AACH;;AACD,MAAMgd,gBAAN,CAAuB;AACnBn8B,EAAAA,WAAW,CAAC8Z,IAAD,EAAOyU,GAAP,EAAY6N,WAAZ,EAAyB;AAChC,SAAKtiB,IAAL,GAAYA,IAAZ;AACA,SAAKyU,GAAL,GAAWA,GAAX;AACA,SAAK6N,WAAL,GAAmBA,WAAnB;AACA,SAAKC,mBAAL,GAA2B,EAA3B;AACA,SAAK3P,MAAL,GAAc,EAAd;AACA6B,IAAAA,GAAG,CAAC7B,MAAJ,CAAWtQ,OAAX,CAAmBmS,GAAG,IAAI;AACtB,YAAMwN,aAAa,GAAIxN,GAAG,CAACvU,OAAJ,IAAeuU,GAAG,CAACvU,OAAJ,CAAY8N,MAA5B,IAAuC,EAA7D;AACA,WAAK4E,MAAL,CAAY6B,GAAG,CAACzU,IAAhB,IAAwB,IAAIgiB,oBAAJ,CAAyBvN,GAAG,CAACjU,KAA7B,EAAoCyhB,aAApC,EAAmDK,WAAnD,CAAxB;AACH,KAHD;AAIAE,IAAAA,iBAAiB,CAAC,KAAK5P,MAAN,EAAc,MAAd,EAAsB,GAAtB,CAAjB;AACA4P,IAAAA,iBAAiB,CAAC,KAAK5P,MAAN,EAAc,OAAd,EAAuB,GAAvB,CAAjB;AACA6B,IAAAA,GAAG,CAAC5B,WAAJ,CAAgBvQ,OAAhB,CAAwBmS,GAAG,IAAI;AAC3B,WAAK8N,mBAAL,CAAyB/f,IAAzB,CAA8B,IAAI8d,0BAAJ,CAA+BtgB,IAA/B,EAAqCyU,GAArC,EAA0C,KAAK7B,MAA/C,CAA9B;AACH,KAFD;AAGA,SAAK6P,kBAAL,GAA0BC,wBAAwB,CAAC1iB,IAAD,EAAO,KAAK4S,MAAZ,EAAoB,KAAK0P,WAAzB,CAAlD;AACH;;AACkB,MAAfK,eAAe,GAAG;AAClB,WAAO,KAAKlO,GAAL,CAAS/B,UAAT,GAAsB,CAA7B;AACH;;AACDkQ,EAAAA,eAAe,CAACnC,YAAD,EAAeC,SAAf,EAA0B7lB,OAA1B,EAAmCmT,MAAnC,EAA2C;AACtD,UAAM6U,KAAK,GAAG,KAAKN,mBAAL,CAAyBhM,IAAzB,CAA8BuM,CAAC,IAAIA,CAAC,CAACn9B,KAAF,CAAQ86B,YAAR,EAAsBC,SAAtB,EAAiC7lB,OAAjC,EAA0CmT,MAA1C,CAAnC,CAAd;AACA,WAAO6U,KAAK,IAAI,IAAhB;AACH;;AACDE,EAAAA,WAAW,CAACtC,YAAD,EAAezS,MAAf,EAAuBxI,MAAvB,EAA+B;AACtC,WAAO,KAAKid,kBAAL,CAAwB7B,WAAxB,CAAoCH,YAApC,EAAkDzS,MAAlD,EAA0DxI,MAA1D,CAAP;AACH;;AA3BkB;;AA6BvB,SAASkd,wBAAT,CAAkC9b,WAAlC,EAA+CgM,MAA/C,EAAuDvN,UAAvD,EAAmE;AAC/D,QAAM1gB,QAAQ,GAAG,CAAC,CAACkiB,SAAD,EAAYC,OAAZ,KAAwB,IAAzB,CAAjB;AACA,QAAMxT,SAAS,GAAG;AAAEzL,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA0ByY,IAAAA,KAAK,EAAE,EAAjC;AAAqCJ,IAAAA,OAAO,EAAE;AAA9C,GAAlB;AACA,QAAMW,UAAU,GAAG;AACfhZ,IAAAA,IAAI,EAAE;AAAE;AADO;AAEfyL,IAAAA,SAFe;AAGf3O,IAAAA,QAHe;AAIfub,IAAAA,OAAO,EAAE,IAJM;AAKfwS,IAAAA,UAAU,EAAE,CALG;AAMfC,IAAAA,QAAQ,EAAE;AANK,GAAnB;AAQA,SAAO,IAAI2N,0BAAJ,CAA+B1Z,WAA/B,EAA4C/F,UAA5C,EAAwD+R,MAAxD,CAAP;AACH;;AACD,SAAS4P,iBAAT,CAA2B58B,GAA3B,EAAgCo9B,IAAhC,EAAsCC,IAAtC,EAA4C;AACxC,MAAIr9B,GAAG,CAACqmB,cAAJ,CAAmB+W,IAAnB,CAAJ,EAA8B;AAC1B,QAAI,CAACp9B,GAAG,CAACqmB,cAAJ,CAAmBgX,IAAnB,CAAL,EAA+B;AAC3Br9B,MAAAA,GAAG,CAACq9B,IAAD,CAAH,GAAYr9B,GAAG,CAACo9B,IAAD,CAAf;AACH;AACJ,GAJD,MAKK,IAAIp9B,GAAG,CAACqmB,cAAJ,CAAmBgX,IAAnB,CAAJ,EAA8B;AAC/Br9B,IAAAA,GAAG,CAACo9B,IAAD,CAAH,GAAYp9B,GAAG,CAACq9B,IAAD,CAAf;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,qBAAqB,gBAAG,IAAI9L,qBAAJ,EAA9B;;AACA,MAAM+L,uBAAN,CAA8B;AAC1Bj9B,EAAAA,WAAW,CAACk9B,QAAD,EAAWhR,OAAX,EAAoBkQ,WAApB,EAAiC;AACxC,SAAKc,QAAL,GAAgBA,QAAhB;AACA,SAAKhR,OAAL,GAAeA,OAAf;AACA,SAAKkQ,WAAL,GAAmBA,WAAnB;AACA,SAAKe,WAAL,GAAmB,EAAnB;AACA,SAAKC,YAAL,GAAoB,EAApB;AACA,SAAK1f,OAAL,GAAe,EAAf;AACH;;AACD2f,EAAAA,QAAQ,CAAC7mB,EAAD,EAAKsV,QAAL,EAAe;AACnB,UAAMxM,MAAM,GAAG,EAAf;AACA,UAAMiP,GAAG,GAAG1C,iBAAiB,CAAC,KAAKK,OAAN,EAAeJ,QAAf,EAAyBxM,MAAzB,CAA7B;;AACA,QAAIA,MAAM,CAAC5hB,MAAX,EAAmB;AACf,YAAM,IAAIoC,KAAJ,CAAW,8DAA6Dwf,MAAM,CAAC9hB,IAAP,CAAY,IAAZ,CAAkB,EAA1F,CAAN;AACH,KAFD,MAGK;AACD,WAAK2/B,WAAL,CAAiB3mB,EAAjB,IAAuB+X,GAAvB;AACH;AACJ;;AACD+O,EAAAA,YAAY,CAACla,CAAD,EAAIhE,SAAJ,EAAeC,UAAf,EAA2B;AACnC,UAAM1K,OAAO,GAAGyO,CAAC,CAACzO,OAAlB;AACA,UAAM+F,SAAS,GAAGuE,kBAAkB,CAAC,KAAKiN,OAAN,EAAe,KAAKkQ,WAApB,EAAiCznB,OAAjC,EAA0CyO,CAAC,CAAC1I,SAA5C,EAAuD0E,SAAvD,EAAkEC,UAAlE,CAApC;AACA,WAAO,KAAK6M,OAAL,CAAajS,OAAb,CAAqBtF,OAArB,EAA8B+F,SAA9B,EAAyC0I,CAAC,CAAC3H,QAA3C,EAAqD2H,CAAC,CAAC1H,KAAvD,EAA8D0H,CAAC,CAACqB,MAAhE,EAAwE,EAAxE,EAA4E,IAA5E,CAAP;AACH;;AACDjT,EAAAA,MAAM,CAACgF,EAAD,EAAK7B,OAAL,EAAcqF,OAAO,GAAG,EAAxB,EAA4B;AAC9B,UAAMsF,MAAM,GAAG,EAAf;AACA,UAAMiP,GAAG,GAAG,KAAK4O,WAAL,CAAiB3mB,EAAjB,CAAZ;AACA,QAAI6a,YAAJ;AACA,UAAMkM,aAAa,GAAG,IAAItc,GAAJ,EAAtB;;AACA,QAAIsN,GAAJ,EAAS;AACL8C,MAAAA,YAAY,GAAGU,uBAAuB,CAAC,KAAK7F,OAAN,EAAevX,OAAf,EAAwB4Z,GAAxB,EAA6BrJ,eAA7B,EAA8CC,eAA9C,EAA+D,EAA/D,EAAmE,EAAnE,EAAuEnL,OAAvE,EAAgFgjB,qBAAhF,EAAuG1d,MAAvG,CAAtC;AACA+R,MAAAA,YAAY,CAACjV,OAAb,CAAqBohB,IAAI,IAAI;AACzB,cAAM56B,MAAM,GAAGie,eAAe,CAAC0c,aAAD,EAAgBC,IAAI,CAAC7oB,OAArB,EAA8B,EAA9B,CAA9B;AACA6oB,QAAAA,IAAI,CAACxM,cAAL,CAAoB5U,OAApB,CAA4B2D,IAAI,IAAInd,MAAM,CAACmd,IAAD,CAAN,GAAe,IAAnD;AACH,OAHD;AAIH,KAND,MAOK;AACDT,MAAAA,MAAM,CAAChD,IAAP,CAAY,sEAAZ;AACA+U,MAAAA,YAAY,GAAG,EAAf;AACH;;AACD,QAAI/R,MAAM,CAAC5hB,MAAX,EAAmB;AACf,YAAM,IAAIoC,KAAJ,CAAW,+DAA8Dwf,MAAM,CAAC9hB,IAAP,CAAY,IAAZ,CAAkB,EAA3F,CAAN;AACH;;AACD+/B,IAAAA,aAAa,CAACnhB,OAAd,CAAsB,CAACxZ,MAAD,EAAS+R,OAAT,KAAqB;AACvCkL,MAAAA,MAAM,CAACC,IAAP,CAAYld,MAAZ,EAAoBwZ,OAApB,CAA4B2D,IAAI,IAAI;AAChCnd,QAAAA,MAAM,CAACmd,IAAD,CAAN,GAAe,KAAKmM,OAAL,CAAa1H,YAAb,CAA0B7P,OAA1B,EAAmCoL,IAAnC,EAAyCnG,2DAAzC,CAAf;AACH,OAFD;AAGH,KAJD;AAKA,UAAM8D,OAAO,GAAG2T,YAAY,CAACvQ,GAAb,CAAiBsC,CAAC,IAAI;AAClC,YAAMxgB,MAAM,GAAG26B,aAAa,CAAC93B,GAAd,CAAkB2d,CAAC,CAACzO,OAApB,CAAf;AACA,aAAO,KAAK2oB,YAAL,CAAkBla,CAAlB,EAAqB,EAArB,EAAyBxgB,MAAzB,CAAP;AACH,KAHe,CAAhB;AAIA,UAAMmb,MAAM,GAAGiB,mBAAmB,CAACtB,OAAD,CAAlC;AACA,SAAK0f,YAAL,CAAkB5mB,EAAlB,IAAwBuH,MAAxB;AACAA,IAAAA,MAAM,CAACvB,SAAP,CAAiB,MAAM,KAAKS,OAAL,CAAazG,EAAb,CAAvB;AACA,SAAKkH,OAAL,CAAapB,IAAb,CAAkByB,MAAlB;AACA,WAAOA,MAAP;AACH;;AACDd,EAAAA,OAAO,CAACzG,EAAD,EAAK;AACR,UAAMuH,MAAM,GAAG,KAAK0f,UAAL,CAAgBjnB,EAAhB,CAAf;;AACAuH,IAAAA,MAAM,CAACd,OAAP;AACA,WAAO,KAAKmgB,YAAL,CAAkB5mB,EAAlB,CAAP;AACA,UAAMknB,KAAK,GAAG,KAAKhgB,OAAL,CAAa4D,OAAb,CAAqBvD,MAArB,CAAd;;AACA,QAAI2f,KAAK,IAAI,CAAb,EAAgB;AACZ,WAAKhgB,OAAL,CAAa6I,MAAb,CAAoBmX,KAApB,EAA2B,CAA3B;AACH;AACJ;;AACDD,EAAAA,UAAU,CAACjnB,EAAD,EAAK;AACX,UAAMuH,MAAM,GAAG,KAAKqf,YAAL,CAAkB5mB,EAAlB,CAAf;;AACA,QAAI,CAACuH,MAAL,EAAa;AACT,YAAM,IAAIje,KAAJ,CAAW,oDAAmD0W,EAAG,EAAjE,CAAN;AACH;;AACD,WAAOuH,MAAP;AACH;;AACD4f,EAAAA,MAAM,CAACnnB,EAAD,EAAK7B,OAAL,EAAc2L,SAAd,EAAyBC,QAAzB,EAAmC;AACrC;AACA,UAAMqd,SAAS,GAAGnd,kBAAkB,CAAC9L,OAAD,EAAU,EAAV,EAAc,EAAd,EAAkB,EAAlB,CAApC;AACA0L,IAAAA,cAAc,CAAC,KAAKod,UAAL,CAAgBjnB,EAAhB,CAAD,EAAsB8J,SAAtB,EAAiCsd,SAAjC,EAA4Crd,QAA5C,CAAd;AACA,WAAO,MAAM,CAAG,CAAhB;AACH;;AACDa,EAAAA,OAAO,CAAC5K,EAAD,EAAK7B,OAAL,EAAcyM,OAAd,EAAuByc,IAAvB,EAA6B;AAChC,QAAIzc,OAAO,IAAI,UAAf,EAA2B;AACvB,WAAKic,QAAL,CAAc7mB,EAAd,EAAkBqnB,IAAI,CAAC,CAAD,CAAtB;AACA;AACH;;AACD,QAAIzc,OAAO,IAAI,QAAf,EAAyB;AACrB,YAAMpH,OAAO,GAAI6jB,IAAI,CAAC,CAAD,CAAJ,IAAW,EAA5B;AACA,WAAKrsB,MAAL,CAAYgF,EAAZ,EAAgB7B,OAAhB,EAAyBqF,OAAzB;AACA;AACH;;AACD,UAAM+D,MAAM,GAAG,KAAK0f,UAAL,CAAgBjnB,EAAhB,CAAf;;AACA,YAAQ4K,OAAR;AACI,WAAK,MAAL;AACIrD,QAAAA,MAAM,CAACpB,IAAP;AACA;;AACJ,WAAK,OAAL;AACIoB,QAAAA,MAAM,CAACjB,KAAP;AACA;;AACJ,WAAK,OAAL;AACIiB,QAAAA,MAAM,CAACb,KAAP;AACA;;AACJ,WAAK,SAAL;AACIa,QAAAA,MAAM,CAAChB,OAAP;AACA;;AACJ,WAAK,QAAL;AACIgB,QAAAA,MAAM,CAACf,MAAP;AACA;;AACJ,WAAK,MAAL;AACIe,QAAAA,MAAM,CAACrB,IAAP;AACA;;AACJ,WAAK,aAAL;AACIqB,QAAAA,MAAM,CAACZ,WAAP,CAAmBvf,UAAU,CAACigC,IAAI,CAAC,CAAD,CAAL,CAA7B;AACA;;AACJ,WAAK,SAAL;AACI,aAAK5gB,OAAL,CAAazG,EAAb;AACA;AAxBR;AA0BH;;AArHyB;AAwH9B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMsnB,gBAAgB,GAAG,mBAAzB;AACA,MAAMC,eAAe,GAAG,oBAAxB;AACA,MAAMC,kBAAkB,GAAG,qBAA3B;AACA,MAAMC,iBAAiB,GAAG,sBAA1B;AACA,MAAMC,cAAc,GAAG,kBAAvB;AACA,MAAMC,aAAa,GAAG,mBAAtB;AACA,MAAMC,kBAAkB,GAAG,EAA3B;AACA,MAAMC,kBAAkB,GAAG;AACvBC,EAAAA,WAAW,EAAE,EADU;AAEvBC,EAAAA,aAAa,EAAE,KAFQ;AAGvBC,EAAAA,UAAU,EAAE,KAHW;AAIvBC,EAAAA,YAAY,EAAE,KAJS;AAKvBC,EAAAA,oBAAoB,EAAE;AALC,CAA3B;AAOA,MAAMC,0BAA0B,GAAG;AAC/BL,EAAAA,WAAW,EAAE,EADkB;AAE/BE,EAAAA,UAAU,EAAE,KAFmB;AAG/BD,EAAAA,aAAa,EAAE,KAHgB;AAI/BE,EAAAA,YAAY,EAAE,KAJiB;AAK/BC,EAAAA,oBAAoB,EAAE;AALS,CAAnC;AAOA,MAAME,YAAY,GAAG,cAArB;;AACA,MAAMC,UAAN,CAAiB;AACb7+B,EAAAA,WAAW,CAAC+P,KAAD,EAAQuuB,WAAW,GAAG,EAAtB,EAA0B;AACjC,SAAKA,WAAL,GAAmBA,WAAnB;AACA,UAAMQ,KAAK,GAAG/uB,KAAK,IAAIA,KAAK,CAACgW,cAAN,CAAqB,OAArB,CAAvB;AACA,UAAM3f,KAAK,GAAG04B,KAAK,GAAG/uB,KAAK,CAAC,OAAD,CAAR,GAAoBA,KAAvC;AACA,SAAK3J,KAAL,GAAa24B,qBAAqB,CAAC34B,KAAD,CAAlC;;AACA,QAAI04B,KAAJ,EAAW;AACP,YAAM9kB,OAAO,GAAGwM,OAAO,CAACzW,KAAD,CAAvB;AACA,aAAOiK,OAAO,CAAC,OAAD,CAAd;AACA,WAAKA,OAAL,GAAeA,OAAf;AACH,KAJD,MAKK;AACD,WAAKA,OAAL,GAAe,EAAf;AACH;;AACD,QAAI,CAAC,KAAKA,OAAL,CAAa8N,MAAlB,EAA0B;AACtB,WAAK9N,OAAL,CAAa8N,MAAb,GAAsB,EAAtB;AACH;AACJ;;AACS,MAANA,MAAM,GAAG;AACT,WAAO,KAAK9N,OAAL,CAAa8N,MAApB;AACH;;AACDkX,EAAAA,aAAa,CAAChlB,OAAD,EAAU;AACnB,UAAMyb,SAAS,GAAGzb,OAAO,CAAC8N,MAA1B;;AACA,QAAI2N,SAAJ,EAAe;AACX,YAAMG,SAAS,GAAG,KAAK5b,OAAL,CAAa8N,MAA/B;AACAjI,MAAAA,MAAM,CAACC,IAAP,CAAY2V,SAAZ,EAAuBrZ,OAAvB,CAA+B2D,IAAI,IAAI;AACnC,YAAI6V,SAAS,CAAC7V,IAAD,CAAT,IAAmB,IAAvB,EAA6B;AACzB6V,UAAAA,SAAS,CAAC7V,IAAD,CAAT,GAAkB0V,SAAS,CAAC1V,IAAD,CAA3B;AACH;AACJ,OAJD;AAKH;AACJ;;AA/BY;;AAiCjB,MAAMkf,UAAU,GAAG,MAAnB;AACA,MAAMC,mBAAmB,gBAAG,IAAIL,UAAJ,CAAeI,UAAf,CAA5B;;AACA,MAAME,4BAAN,CAAmC;AAC/Bn/B,EAAAA,WAAW,CAACwW,EAAD,EAAK4oB,WAAL,EAAkBC,OAAlB,EAA2B;AAClC,SAAK7oB,EAAL,GAAUA,EAAV;AACA,SAAK4oB,WAAL,GAAmBA,WAAnB;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAK3hB,OAAL,GAAe,EAAf;AACA,SAAK4hB,SAAL,GAAiB,EAAjB;AACA,SAAKC,MAAL,GAAc,EAAd;AACA,SAAKC,iBAAL,GAAyB,IAAIve,GAAJ,EAAzB;AACA,SAAKwe,cAAL,GAAsB,YAAYjpB,EAAlC;AACAkpB,IAAAA,QAAQ,CAACN,WAAD,EAAc,KAAKK,cAAnB,CAAR;AACH;;AACD9B,EAAAA,MAAM,CAAChpB,OAAD,EAAUmF,IAAV,EAAgB6lB,KAAhB,EAAuBpf,QAAvB,EAAiC;AACnC,QAAI,CAAC,KAAK+e,SAAL,CAAevZ,cAAf,CAA8BjM,IAA9B,CAAL,EAA0C;AACtC,YAAM,IAAIha,KAAJ,CAAW,oDAAmD6/B,KAAM,oCAAmC7lB,IAAK,mBAA5G,CAAN;AACH;;AACD,QAAI6lB,KAAK,IAAI,IAAT,IAAiBA,KAAK,CAACjiC,MAAN,IAAgB,CAArC,EAAwC;AACpC,YAAM,IAAIoC,KAAJ,CAAW,8CAA6Cga,IAAK,4CAA7D,CAAN;AACH;;AACD,QAAI,CAAC8lB,mBAAmB,CAACD,KAAD,CAAxB,EAAiC;AAC7B,YAAM,IAAI7/B,KAAJ,CAAW,yCAAwC6/B,KAAM,gCAA+B7lB,IAAK,qBAA7F,CAAN;AACH;;AACD,UAAM+lB,SAAS,GAAGhf,eAAe,CAAC,KAAK2e,iBAAN,EAAyB7qB,OAAzB,EAAkC,EAAlC,CAAjC;AACA,UAAM/X,IAAI,GAAG;AAAEkd,MAAAA,IAAF;AAAQ6lB,MAAAA,KAAR;AAAepf,MAAAA;AAAf,KAAb;AACAsf,IAAAA,SAAS,CAACvjB,IAAV,CAAe1f,IAAf;AACA,UAAMkjC,kBAAkB,GAAGjf,eAAe,CAAC,KAAKwe,OAAL,CAAaU,eAAd,EAA+BprB,OAA/B,EAAwC,EAAxC,CAA1C;;AACA,QAAI,CAACmrB,kBAAkB,CAAC/Z,cAAnB,CAAkCjM,IAAlC,CAAL,EAA8C;AAC1C4lB,MAAAA,QAAQ,CAAC/qB,OAAD,EAAU2Q,oBAAV,CAAR;AACAoa,MAAAA,QAAQ,CAAC/qB,OAAD,EAAU2Q,oBAAoB,GAAG,GAAvB,GAA6BxL,IAAvC,CAAR;AACAgmB,MAAAA,kBAAkB,CAAChmB,IAAD,CAAlB,GAA2BolB,mBAA3B;AACH;;AACD,WAAO,MAAM;AACT;AACA;AACA;AACA,WAAKG,OAAL,CAAaW,UAAb,CAAwB,MAAM;AAC1B,cAAMtC,KAAK,GAAGmC,SAAS,CAACve,OAAV,CAAkB1kB,IAAlB,CAAd;;AACA,YAAI8gC,KAAK,IAAI,CAAb,EAAgB;AACZmC,UAAAA,SAAS,CAACtZ,MAAV,CAAiBmX,KAAjB,EAAwB,CAAxB;AACH;;AACD,YAAI,CAAC,KAAK4B,SAAL,CAAexlB,IAAf,CAAL,EAA2B;AACvB,iBAAOgmB,kBAAkB,CAAChmB,IAAD,CAAzB;AACH;AACJ,OARD;AASH,KAbD;AAcH;;AACDujB,EAAAA,QAAQ,CAACvjB,IAAD,EAAOyU,GAAP,EAAY;AAChB,QAAI,KAAK+Q,SAAL,CAAexlB,IAAf,CAAJ,EAA0B;AACtB;AACA,aAAO,KAAP;AACH,KAHD,MAIK;AACD,WAAKwlB,SAAL,CAAexlB,IAAf,IAAuByU,GAAvB;AACA,aAAO,IAAP;AACH;AACJ;;AACD0R,EAAAA,WAAW,CAACnmB,IAAD,EAAO;AACd,UAAMD,OAAO,GAAG,KAAKylB,SAAL,CAAexlB,IAAf,CAAhB;;AACA,QAAI,CAACD,OAAL,EAAc;AACV,YAAM,IAAI/Z,KAAJ,CAAW,mCAAkCga,IAAK,4BAAlD,CAAN;AACH;;AACD,WAAOD,OAAP;AACH;;AACDA,EAAAA,OAAO,CAAClF,OAAD,EAAU+L,WAAV,EAAuBta,KAAvB,EAA8B85B,iBAAiB,GAAG,IAAlD,EAAwD;AAC3D,UAAMrmB,OAAO,GAAG,KAAKomB,WAAL,CAAiBvf,WAAjB,CAAhB;;AACA,UAAM3C,MAAM,GAAG,IAAIoiB,yBAAJ,CAA8B,KAAK3pB,EAAnC,EAAuCkK,WAAvC,EAAoD/L,OAApD,CAAf;;AACA,QAAImrB,kBAAkB,GAAG,KAAKT,OAAL,CAAaU,eAAb,CAA6Bt6B,GAA7B,CAAiCkP,OAAjC,CAAzB;;AACA,QAAI,CAACmrB,kBAAL,EAAyB;AACrBJ,MAAAA,QAAQ,CAAC/qB,OAAD,EAAU2Q,oBAAV,CAAR;AACAoa,MAAAA,QAAQ,CAAC/qB,OAAD,EAAU2Q,oBAAoB,GAAG,GAAvB,GAA6B5E,WAAvC,CAAR;;AACA,WAAK2e,OAAL,CAAaU,eAAb,CAA6B7e,GAA7B,CAAiCvM,OAAjC,EAA0CmrB,kBAAkB,GAAG,EAA/D;AACH;;AACD,QAAInf,SAAS,GAAGmf,kBAAkB,CAACpf,WAAD,CAAlC;AACA,UAAME,OAAO,GAAG,IAAIie,UAAJ,CAAez4B,KAAf,EAAsB,KAAKoQ,EAA3B,CAAhB;AACA,UAAMsoB,KAAK,GAAG14B,KAAK,IAAIA,KAAK,CAAC2f,cAAN,CAAqB,OAArB,CAAvB;;AACA,QAAI,CAAC+Y,KAAD,IAAUne,SAAd,EAAyB;AACrBC,MAAAA,OAAO,CAACoe,aAAR,CAAsBre,SAAS,CAAC3G,OAAhC;AACH;;AACD8lB,IAAAA,kBAAkB,CAACpf,WAAD,CAAlB,GAAkCE,OAAlC;;AACA,QAAI,CAACD,SAAL,EAAgB;AACZA,MAAAA,SAAS,GAAGue,mBAAZ;AACH;;AACD,UAAMzD,SAAS,GAAG7a,OAAO,CAACxa,KAAR,KAAkB64B,UAApC,CAnB2D,CAoB3D;AACA;AACA;AACA;AACA;AACA;;AACA,QAAI,CAACxD,SAAD,IAAc9a,SAAS,CAACva,KAAV,KAAoBwa,OAAO,CAACxa,KAA9C,EAAqD;AACjD;AACA;AACA,UAAI,CAACg6B,SAAS,CAACzf,SAAS,CAACmH,MAAX,EAAmBlH,OAAO,CAACkH,MAA3B,CAAd,EAAkD;AAC9C,cAAMxI,MAAM,GAAG,EAAf;AACA,cAAM0a,UAAU,GAAGngB,OAAO,CAACgjB,WAAR,CAAoBlc,SAAS,CAACva,KAA9B,EAAqCua,SAAS,CAACmH,MAA/C,EAAuDxI,MAAvD,CAAnB;AACA,cAAM2a,QAAQ,GAAGpgB,OAAO,CAACgjB,WAAR,CAAoBjc,OAAO,CAACxa,KAA5B,EAAmCwa,OAAO,CAACkH,MAA3C,EAAmDxI,MAAnD,CAAjB;;AACA,YAAIA,MAAM,CAAC5hB,MAAX,EAAmB;AACf,eAAK2hC,OAAL,CAAagB,WAAb,CAAyB/gB,MAAzB;AACH,SAFD,MAGK;AACD,eAAK+f,OAAL,CAAaW,UAAb,CAAwB,MAAM;AAC1BrY,YAAAA,WAAW,CAAChT,OAAD,EAAUqlB,UAAV,CAAX;AACAxS,YAAAA,SAAS,CAAC7S,OAAD,EAAUslB,QAAV,CAAT;AACH,WAHD;AAIH;AACJ;;AACD;AACH;;AACD,UAAMqG,gBAAgB,GAAGzf,eAAe,CAAC,KAAKwe,OAAL,CAAakB,gBAAd,EAAgC5rB,OAAhC,EAAyC,EAAzC,CAAxC;AACA2rB,IAAAA,gBAAgB,CAAClkB,OAAjB,CAAyB2B,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA,UAAIA,MAAM,CAACugB,WAAP,IAAsB,KAAK9nB,EAA3B,IAAiCuH,MAAM,CAAC2C,WAAP,IAAsBA,WAAvD,IAAsE3C,MAAM,CAACyiB,MAAjF,EAAyF;AACrFziB,QAAAA,MAAM,CAACd,OAAP;AACH;AACJ,KARD;AASA,QAAItC,UAAU,GAAGd,OAAO,CAAC6iB,eAAR,CAAwB/b,SAAS,CAACva,KAAlC,EAAyCwa,OAAO,CAACxa,KAAjD,EAAwDuO,OAAxD,EAAiEiM,OAAO,CAACkH,MAAzE,CAAjB;AACA,QAAI2Y,oBAAoB,GAAG,KAA3B;;AACA,QAAI,CAAC9lB,UAAL,EAAiB;AACb,UAAI,CAACulB,iBAAL,EACI;AACJvlB,MAAAA,UAAU,GAAGd,OAAO,CAAC0iB,kBAArB;AACAkE,MAAAA,oBAAoB,GAAG,IAAvB;AACH;;AACD,SAAKpB,OAAL,CAAaqB,kBAAb;;AACA,SAAKnB,MAAL,CAAYjjB,IAAZ,CAAiB;AAAE3H,MAAAA,OAAF;AAAW+L,MAAAA,WAAX;AAAwB/F,MAAAA,UAAxB;AAAoCgG,MAAAA,SAApC;AAA+CC,MAAAA,OAA/C;AAAwD7C,MAAAA,MAAxD;AAAgE0iB,MAAAA;AAAhE,KAAjB;;AACA,QAAI,CAACA,oBAAL,EAA2B;AACvBf,MAAAA,QAAQ,CAAC/qB,OAAD,EAAUmpB,gBAAV,CAAR;AACA/f,MAAAA,MAAM,CAAC1B,OAAP,CAAe,MAAM;AACjBskB,QAAAA,WAAW,CAAChsB,OAAD,EAAUmpB,gBAAV,CAAX;AACH,OAFD;AAGH;;AACD/f,IAAAA,MAAM,CAACxB,MAAP,CAAc,MAAM;AAChB,UAAImhB,KAAK,GAAG,KAAKhgB,OAAL,CAAa4D,OAAb,CAAqBvD,MAArB,CAAZ;;AACA,UAAI2f,KAAK,IAAI,CAAb,EAAgB;AACZ,aAAKhgB,OAAL,CAAa6I,MAAb,CAAoBmX,KAApB,EAA2B,CAA3B;AACH;;AACD,YAAMhgB,OAAO,GAAG,KAAK2hB,OAAL,CAAakB,gBAAb,CAA8B96B,GAA9B,CAAkCkP,OAAlC,CAAhB;;AACA,UAAI+I,OAAJ,EAAa;AACT,YAAIggB,KAAK,GAAGhgB,OAAO,CAAC4D,OAAR,CAAgBvD,MAAhB,CAAZ;;AACA,YAAI2f,KAAK,IAAI,CAAb,EAAgB;AACZhgB,UAAAA,OAAO,CAAC6I,MAAR,CAAemX,KAAf,EAAsB,CAAtB;AACH;AACJ;AACJ,KAZD;AAaA,SAAKhgB,OAAL,CAAapB,IAAb,CAAkByB,MAAlB;AACAuiB,IAAAA,gBAAgB,CAAChkB,IAAjB,CAAsByB,MAAtB;AACA,WAAOA,MAAP;AACH;;AACD6iB,EAAAA,UAAU,CAAC9mB,IAAD,EAAO;AACb,WAAO,KAAKwlB,SAAL,CAAexlB,IAAf,CAAP;;AACA,SAAKulB,OAAL,CAAaU,eAAb,CAA6B3jB,OAA7B,CAAqC,CAACykB,QAAD,EAAWlsB,OAAX,KAAuB;AACxD,aAAOksB,QAAQ,CAAC/mB,IAAD,CAAf;AACH,KAFD;;AAGA,SAAK0lB,iBAAL,CAAuBpjB,OAAvB,CAA+B,CAACyjB,SAAD,EAAYlrB,OAAZ,KAAwB;AACnD,WAAK6qB,iBAAL,CAAuBte,GAAvB,CAA2BvM,OAA3B,EAAoCkrB,SAAS,CAACznC,MAAV,CAAiBukC,KAAK,IAAI;AAC1D,eAAOA,KAAK,CAAC7iB,IAAN,IAAcA,IAArB;AACH,OAFmC,CAApC;AAGH,KAJD;AAKH;;AACDgnB,EAAAA,iBAAiB,CAACnsB,OAAD,EAAU;AACvB,SAAK0qB,OAAL,CAAaU,eAAb,CAA6BzO,MAA7B,CAAoC3c,OAApC;;AACA,SAAK6qB,iBAAL,CAAuBlO,MAAvB,CAA8B3c,OAA9B;;AACA,UAAMosB,cAAc,GAAG,KAAK1B,OAAL,CAAakB,gBAAb,CAA8B96B,GAA9B,CAAkCkP,OAAlC,CAAvB;;AACA,QAAIosB,cAAJ,EAAoB;AAChBA,MAAAA,cAAc,CAAC3kB,OAAf,CAAuB2B,MAAM,IAAIA,MAAM,CAACd,OAAP,EAAjC;;AACA,WAAKoiB,OAAL,CAAakB,gBAAb,CAA8BjP,MAA9B,CAAqC3c,OAArC;AACH;AACJ;;AACDqsB,EAAAA,8BAA8B,CAAChP,WAAD,EAAc1I,OAAd,EAAuB;AACjD,UAAM6M,QAAQ,GAAG,KAAKkJ,OAAL,CAAangB,MAAb,CAAoBlE,KAApB,CAA0BgX,WAA1B,EAAuCzM,mBAAvC,EAA4D,IAA5D,CAAjB,CADiD,CAEjD;AACA;AACA;;;AACA4Q,IAAAA,QAAQ,CAAC/Z,OAAT,CAAiBiH,GAAG,IAAI;AACpB;AACA;AACA,UAAIA,GAAG,CAACub,YAAD,CAAP,EACI;;AACJ,YAAMqC,UAAU,GAAG,KAAK5B,OAAL,CAAa6B,wBAAb,CAAsC7d,GAAtC,CAAnB;;AACA,UAAI4d,UAAU,CAAC1T,IAAf,EAAqB;AACjB0T,QAAAA,UAAU,CAAC7kB,OAAX,CAAmB+kB,EAAE,IAAIA,EAAE,CAACC,qBAAH,CAAyB/d,GAAzB,EAA8BiG,OAA9B,EAAuC,KAAvC,EAA8C,IAA9C,CAAzB;AACH,OAFD,MAGK;AACD,aAAKwX,iBAAL,CAAuBzd,GAAvB;AACH;AACJ,KAZD,EALiD,CAkBjD;AACA;;AACA,SAAKgc,OAAL,CAAagC,wBAAb,CAAsC,MAAMlL,QAAQ,CAAC/Z,OAAT,CAAiBiH,GAAG,IAAI,KAAKyd,iBAAL,CAAuBzd,GAAvB,CAAxB,CAA5C;AACH;;AACD+d,EAAAA,qBAAqB,CAACzsB,OAAD,EAAU2U,OAAV,EAAmBgY,oBAAnB,EAAyCpB,iBAAzC,EAA4D;AAC7E,UAAMqB,aAAa,GAAG,KAAKlC,OAAL,CAAaU,eAAb,CAA6Bt6B,GAA7B,CAAiCkP,OAAjC,CAAtB;;AACA,QAAI4sB,aAAJ,EAAmB;AACf,YAAM7jB,OAAO,GAAG,EAAhB;AACAmC,MAAAA,MAAM,CAACC,IAAP,CAAYyhB,aAAZ,EAA2BnlB,OAA3B,CAAmCsE,WAAW,IAAI;AAC9C;AACA;AACA,YAAI,KAAK4e,SAAL,CAAe5e,WAAf,CAAJ,EAAiC;AAC7B,gBAAM3C,MAAM,GAAG,KAAKlE,OAAL,CAAalF,OAAb,EAAsB+L,WAAtB,EAAmCue,UAAnC,EAA+CiB,iBAA/C,CAAf;;AACA,cAAIniB,MAAJ,EAAY;AACRL,YAAAA,OAAO,CAACpB,IAAR,CAAayB,MAAb;AACH;AACJ;AACJ,OATD;;AAUA,UAAIL,OAAO,CAAChgB,MAAZ,EAAoB;AAChB,aAAK2hC,OAAL,CAAamC,oBAAb,CAAkC,KAAKhrB,EAAvC,EAA2C7B,OAA3C,EAAoD,IAApD,EAA0D2U,OAA1D;;AACA,YAAIgY,oBAAJ,EAA0B;AACtBtiB,UAAAA,mBAAmB,CAACtB,OAAD,CAAnB,CAA6BnB,MAA7B,CAAoC,MAAM,KAAK8iB,OAAL,CAAaoC,gBAAb,CAA8B9sB,OAA9B,CAA1C;AACH;;AACD,eAAO,IAAP;AACH;AACJ;;AACD,WAAO,KAAP;AACH;;AACD+sB,EAAAA,8BAA8B,CAAC/sB,OAAD,EAAU;AACpC,UAAMkrB,SAAS,GAAG,KAAKL,iBAAL,CAAuB/5B,GAAvB,CAA2BkP,OAA3B,CAAlB;;AACA,UAAMgtB,aAAa,GAAG,KAAKtC,OAAL,CAAaU,eAAb,CAA6Bt6B,GAA7B,CAAiCkP,OAAjC,CAAtB,CAFoC,CAGpC;AACA;;;AACA,QAAIkrB,SAAS,IAAI8B,aAAjB,EAAgC;AAC5B,YAAMC,eAAe,GAAG,IAAI1W,GAAJ,EAAxB;AACA2U,MAAAA,SAAS,CAACzjB,OAAV,CAAkBylB,QAAQ,IAAI;AAC1B,cAAMnhB,WAAW,GAAGmhB,QAAQ,CAAC/nB,IAA7B;AACA,YAAI8nB,eAAe,CAACrW,GAAhB,CAAoB7K,WAApB,CAAJ,EACI;AACJkhB,QAAAA,eAAe,CAACtU,GAAhB,CAAoB5M,WAApB;AACA,cAAM7G,OAAO,GAAG,KAAKylB,SAAL,CAAe5e,WAAf,CAAhB;AACA,cAAM/F,UAAU,GAAGd,OAAO,CAAC0iB,kBAA3B;AACA,cAAM5b,SAAS,GAAGghB,aAAa,CAACjhB,WAAD,CAAb,IAA8Bwe,mBAAhD;AACA,cAAMte,OAAO,GAAG,IAAIie,UAAJ,CAAeI,UAAf,CAAhB;AACA,cAAMlhB,MAAM,GAAG,IAAIoiB,yBAAJ,CAA8B,KAAK3pB,EAAnC,EAAuCkK,WAAvC,EAAoD/L,OAApD,CAAf;AACA,aAAK0qB,OAAL,CAAaqB,kBAAb;;AACA,aAAKnB,MAAL,CAAYjjB,IAAZ,CAAiB;AACb3H,UAAAA,OADa;AAEb+L,UAAAA,WAFa;AAGb/F,UAAAA,UAHa;AAIbgG,UAAAA,SAJa;AAKbC,UAAAA,OALa;AAMb7C,UAAAA,MANa;AAOb0iB,UAAAA,oBAAoB,EAAE;AAPT,SAAjB;AASH,OApBD;AAqBH;AACJ;;AACDqB,EAAAA,UAAU,CAACntB,OAAD,EAAU2U,OAAV,EAAmB;AACzB,UAAMyY,MAAM,GAAG,KAAK1C,OAApB;;AACA,QAAI1qB,OAAO,CAACqtB,iBAAZ,EAA+B;AAC3B,WAAKhB,8BAAL,CAAoCrsB,OAApC,EAA6C2U,OAA7C;AACH,KAJwB,CAKzB;;;AACA,QAAI,KAAK8X,qBAAL,CAA2BzsB,OAA3B,EAAoC2U,OAApC,EAA6C,IAA7C,CAAJ,EACI,OAPqB,CAQzB;AACA;;AACA,QAAI2Y,iCAAiC,GAAG,KAAxC;;AACA,QAAIF,MAAM,CAACG,eAAX,EAA4B;AACxB,YAAMC,cAAc,GAAGJ,MAAM,CAACrkB,OAAP,CAAehgB,MAAf,GAAwBqkC,MAAM,CAACK,uBAAP,CAA+B38B,GAA/B,CAAmCkP,OAAnC,CAAxB,GAAsE,EAA7F,CADwB,CAExB;AACA;AACA;AACA;;AACA,UAAIwtB,cAAc,IAAIA,cAAc,CAACzkC,MAArC,EAA6C;AACzCukC,QAAAA,iCAAiC,GAAG,IAApC;AACH,OAFD,MAGK;AACD,YAAII,MAAM,GAAG1tB,OAAb;;AACA,eAAO0tB,MAAM,GAAGA,MAAM,CAAC/f,UAAvB,EAAmC;AAC/B,gBAAMggB,QAAQ,GAAGP,MAAM,CAAChC,eAAP,CAAuBt6B,GAAvB,CAA2B48B,MAA3B,CAAjB;;AACA,cAAIC,QAAJ,EAAc;AACVL,YAAAA,iCAAiC,GAAG,IAApC;AACA;AACH;AACJ;AACJ;AACJ,KA9BwB,CA+BzB;AACA;AACA;AACA;;;AACA,SAAKP,8BAAL,CAAoC/sB,OAApC,EAnCyB,CAoCzB;AACA;;AACA,QAAIstB,iCAAJ,EAAuC;AACnCF,MAAAA,MAAM,CAACP,oBAAP,CAA4B,KAAKhrB,EAAjC,EAAqC7B,OAArC,EAA8C,KAA9C,EAAqD2U,OAArD;AACH,KAFD,MAGK;AACD,YAAMiZ,WAAW,GAAG5tB,OAAO,CAACiqB,YAAD,CAA3B;;AACA,UAAI,CAAC2D,WAAD,IAAgBA,WAAW,KAAKlE,kBAApC,EAAwD;AACpD;AACA;AACA0D,QAAAA,MAAM,CAAC/B,UAAP,CAAkB,MAAM,KAAKc,iBAAL,CAAuBnsB,OAAvB,CAAxB;AACAotB,QAAAA,MAAM,CAACS,sBAAP,CAA8B7tB,OAA9B;;AACAotB,QAAAA,MAAM,CAACU,kBAAP,CAA0B9tB,OAA1B,EAAmC2U,OAAnC;AACH;AACJ;AACJ;;AACDoZ,EAAAA,UAAU,CAAC/tB,OAAD,EAAU0tB,MAAV,EAAkB;AACxB3C,IAAAA,QAAQ,CAAC/qB,OAAD,EAAU,KAAK8qB,cAAf,CAAR;AACH;;AACDkD,EAAAA,sBAAsB,CAACC,WAAD,EAAc;AAChC,UAAMvR,YAAY,GAAG,EAArB;;AACA,SAAKkO,MAAL,CAAYnjB,OAAZ,CAAoBugB,KAAK,IAAI;AACzB,YAAM5e,MAAM,GAAG4e,KAAK,CAAC5e,MAArB;AACA,UAAIA,MAAM,CAAC8kB,SAAX,EACI;AACJ,YAAMluB,OAAO,GAAGgoB,KAAK,CAAChoB,OAAtB;;AACA,YAAMkrB,SAAS,GAAG,KAAKL,iBAAL,CAAuB/5B,GAAvB,CAA2BkP,OAA3B,CAAlB;;AACA,UAAIkrB,SAAJ,EAAe;AACXA,QAAAA,SAAS,CAACzjB,OAAV,CAAmBylB,QAAD,IAAc;AAC5B,cAAIA,QAAQ,CAAC/nB,IAAT,IAAiB6iB,KAAK,CAACjc,WAA3B,EAAwC;AACpC,kBAAMkd,SAAS,GAAGnd,kBAAkB,CAAC9L,OAAD,EAAUgoB,KAAK,CAACjc,WAAhB,EAA6Bic,KAAK,CAAChc,SAAN,CAAgBva,KAA7C,EAAoDu2B,KAAK,CAAC/b,OAAN,CAAcxa,KAAlE,CAApC;AACAw3B,YAAAA,SAAS,CAAC,OAAD,CAAT,GAAqBgF,WAArB;AACAviB,YAAAA,cAAc,CAACsc,KAAK,CAAC5e,MAAP,EAAe8jB,QAAQ,CAAClC,KAAxB,EAA+B/B,SAA/B,EAA0CiE,QAAQ,CAACthB,QAAnD,CAAd;AACH;AACJ,SAND;AAOH;;AACD,UAAIxC,MAAM,CAAC+kB,gBAAX,EAA6B;AACzB,aAAKzD,OAAL,CAAaW,UAAb,CAAwB,MAAM;AAC1B;AACA;AACAjiB,UAAAA,MAAM,CAACd,OAAP;AACH,SAJD;AAKH,OAND,MAOK;AACDoU,QAAAA,YAAY,CAAC/U,IAAb,CAAkBqgB,KAAlB;AACH;AACJ,KAzBD;;AA0BA,SAAK4C,MAAL,GAAc,EAAd;AACA,WAAOlO,YAAY,CAAC0R,IAAb,CAAkB,CAAC9lC,CAAD,EAAIF,CAAJ,KAAU;AAC/B;AACA;AACA,YAAMimC,EAAE,GAAG/lC,CAAC,CAAC0d,UAAF,CAAa4T,GAAb,CAAiB9B,QAA5B;AACA,YAAMwW,EAAE,GAAGlmC,CAAC,CAAC4d,UAAF,CAAa4T,GAAb,CAAiB9B,QAA5B;;AACA,UAAIuW,EAAE,IAAI,CAAN,IAAWC,EAAE,IAAI,CAArB,EAAwB;AACpB,eAAOD,EAAE,GAAGC,EAAZ;AACH;;AACD,aAAO,KAAK5D,OAAL,CAAangB,MAAb,CAAoB+E,eAApB,CAAoChnB,CAAC,CAAC0X,OAAtC,EAA+C5X,CAAC,CAAC4X,OAAjD,IAA4D,CAA5D,GAAgE,CAAC,CAAxE;AACH,KATM,CAAP;AAUH;;AACDsI,EAAAA,OAAO,CAACqM,OAAD,EAAU;AACb,SAAK5L,OAAL,CAAatB,OAAb,CAAqB+B,CAAC,IAAIA,CAAC,CAAClB,OAAF,EAA1B;;AACA,SAAK+jB,8BAAL,CAAoC,KAAK5B,WAAzC,EAAsD9V,OAAtD;AACH;;AACD4Z,EAAAA,mBAAmB,CAACvuB,OAAD,EAAU;AACzB,QAAIwuB,YAAY,GAAG,KAAnB;AACA,QAAI,KAAK3D,iBAAL,CAAuBjU,GAAvB,CAA2B5W,OAA3B,CAAJ,EACIwuB,YAAY,GAAG,IAAf;AACJA,IAAAA,YAAY,GACR,CAAC,KAAK5D,MAAL,CAAYlP,IAAZ,CAAiBsM,KAAK,IAAIA,KAAK,CAAChoB,OAAN,KAAkBA,OAA5C,IAAuD,IAAvD,GAA8D,KAA/D,KAAyEwuB,YAD7E;AAEA,WAAOA,YAAP;AACH;;AAjW8B;;AAmWnC,MAAMC,yBAAN,CAAgC;AAC5BpjC,EAAAA,WAAW,CAACk9B,QAAD,EAAWhe,MAAX,EAAmBkd,WAAnB,EAAgC;AACvC,SAAKc,QAAL,GAAgBA,QAAhB;AACA,SAAKhe,MAAL,GAAcA,MAAd;AACA,SAAKkd,WAAL,GAAmBA,WAAnB;AACA,SAAK1e,OAAL,GAAe,EAAf;AACA,SAAK2lB,eAAL,GAAuB,IAAIpiB,GAAJ,EAAvB;AACA,SAAKsf,gBAAL,GAAwB,IAAItf,GAAJ,EAAxB;AACA,SAAKmhB,uBAAL,GAA+B,IAAInhB,GAAJ,EAA/B;AACA,SAAK8e,eAAL,GAAuB,IAAI9e,GAAJ,EAAvB;AACA,SAAKqiB,aAAL,GAAqB,IAAIpY,GAAJ,EAArB;AACA,SAAKgX,eAAL,GAAuB,CAAvB;AACA,SAAKxB,kBAAL,GAA0B,CAA1B;AACA,SAAK6C,gBAAL,GAAwB,EAAxB;AACA,SAAKC,cAAL,GAAsB,EAAtB;AACA,SAAKC,SAAL,GAAiB,EAAjB;AACA,SAAKC,aAAL,GAAqB,EAArB;AACA,SAAKC,uBAAL,GAA+B,IAAI1iB,GAAJ,EAA/B;AACA,SAAK2iB,sBAAL,GAA8B,EAA9B;AACA,SAAKC,sBAAL,GAA8B,EAA9B,CAlBuC,CAmBvC;;AACA,SAAKC,iBAAL,GAAyB,CAACnvB,OAAD,EAAU2U,OAAV,KAAsB,CAAG,CAAlD;AACH;AACD;;;AACAmZ,EAAAA,kBAAkB,CAAC9tB,OAAD,EAAU2U,OAAV,EAAmB;AACjC,SAAKwa,iBAAL,CAAuBnvB,OAAvB,EAAgC2U,OAAhC;AACH;;AACgB,MAAbya,aAAa,GAAG;AAChB,UAAMrmB,OAAO,GAAG,EAAhB;;AACA,SAAK8lB,cAAL,CAAoBpnB,OAApB,CAA4B+kB,EAAE,IAAI;AAC9BA,MAAAA,EAAE,CAACzjB,OAAH,CAAWtB,OAAX,CAAmB2B,MAAM,IAAI;AACzB,YAAIA,MAAM,CAACyiB,MAAX,EAAmB;AACf9iB,UAAAA,OAAO,CAACpB,IAAR,CAAayB,MAAb;AACH;AACJ,OAJD;AAKH,KAND;;AAOA,WAAOL,OAAP;AACH;;AACDsmB,EAAAA,eAAe,CAAC1F,WAAD,EAAcc,WAAd,EAA2B;AACtC,UAAM+B,EAAE,GAAG,IAAIhC,4BAAJ,CAAiCb,WAAjC,EAA8Cc,WAA9C,EAA2D,IAA3D,CAAX;;AACA,QAAI,KAAKlC,QAAL,IAAiB,KAAKhe,MAAL,CAAY+E,eAAZ,CAA4B,KAAKiZ,QAAjC,EAA2CkC,WAA3C,CAArB,EAA8E;AAC1E,WAAK6E,qBAAL,CAA2B9C,EAA3B,EAA+B/B,WAA/B;AACH,KAFD,MAGK;AACD;AACA;AACA;AACA,WAAKiE,eAAL,CAAqBniB,GAArB,CAAyBke,WAAzB,EAAsC+B,EAAtC,EAJC,CAKD;AACA;AACA;AACA;AACA;;AACA,WAAK+C,mBAAL,CAAyB9E,WAAzB;AACH;;AACD,WAAO,KAAKmE,gBAAL,CAAsBjF,WAAtB,IAAqC6C,EAA5C;AACH;;AACD8C,EAAAA,qBAAqB,CAAC9C,EAAD,EAAK/B,WAAL,EAAkB;AACnC,UAAMzP,KAAK,GAAG,KAAK6T,cAAL,CAAoB9lC,MAApB,GAA6B,CAA3C;;AACA,QAAIiyB,KAAK,IAAI,CAAb,EAAgB;AACZ,UAAIwU,KAAK,GAAG,KAAZ;;AACA,WAAK,IAAI/gB,CAAC,GAAGuM,KAAb,EAAoBvM,CAAC,IAAI,CAAzB,EAA4BA,CAAC,EAA7B,EAAiC;AAC7B,cAAMghB,aAAa,GAAG,KAAKZ,cAAL,CAAoBpgB,CAApB,CAAtB;;AACA,YAAI,KAAKlE,MAAL,CAAY+E,eAAZ,CAA4BmgB,aAAa,CAAChF,WAA1C,EAAuDA,WAAvD,CAAJ,EAAyE;AACrE,eAAKoE,cAAL,CAAoBjd,MAApB,CAA2BnD,CAAC,GAAG,CAA/B,EAAkC,CAAlC,EAAqC+d,EAArC;;AACAgD,UAAAA,KAAK,GAAG,IAAR;AACA;AACH;AACJ;;AACD,UAAI,CAACA,KAAL,EAAY;AACR,aAAKX,cAAL,CAAoBjd,MAApB,CAA2B,CAA3B,EAA8B,CAA9B,EAAiC4a,EAAjC;AACH;AACJ,KAbD,MAcK;AACD,WAAKqC,cAAL,CAAoBlnB,IAApB,CAAyB6kB,EAAzB;AACH;;AACD,SAAKwC,uBAAL,CAA6BziB,GAA7B,CAAiCke,WAAjC,EAA8C+B,EAA9C;AACA,WAAOA,EAAP;AACH;;AACD9D,EAAAA,QAAQ,CAACiB,WAAD,EAAcc,WAAd,EAA2B;AAC/B,QAAI+B,EAAE,GAAG,KAAKoC,gBAAL,CAAsBjF,WAAtB,CAAT;;AACA,QAAI,CAAC6C,EAAL,EAAS;AACLA,MAAAA,EAAE,GAAG,KAAK6C,eAAL,CAAqB1F,WAArB,EAAkCc,WAAlC,CAAL;AACH;;AACD,WAAO+B,EAAP;AACH;;AACDkD,EAAAA,eAAe,CAAC/F,WAAD,EAAcxkB,IAAd,EAAoBD,OAApB,EAA6B;AACxC,QAAIsnB,EAAE,GAAG,KAAKoC,gBAAL,CAAsBjF,WAAtB,CAAT;;AACA,QAAI6C,EAAE,IAAIA,EAAE,CAAC9D,QAAH,CAAYvjB,IAAZ,EAAkBD,OAAlB,CAAV,EAAsC;AAClC,WAAKqoB,eAAL;AACH;AACJ;;AACDjlB,EAAAA,OAAO,CAACqhB,WAAD,EAAchV,OAAd,EAAuB;AAC1B,QAAI,CAACgV,WAAL,EACI;;AACJ,UAAM6C,EAAE,GAAG,KAAKmD,eAAL,CAAqBhG,WAArB,CAAX;;AACA,SAAK0B,UAAL,CAAgB,MAAM;AAClB,WAAK2D,uBAAL,CAA6BrS,MAA7B,CAAoC6P,EAAE,CAAC/B,WAAvC;AACA,aAAO,KAAKmE,gBAAL,CAAsBjF,WAAtB,CAAP;;AACA,YAAMZ,KAAK,GAAG,KAAK8F,cAAL,CAAoBliB,OAApB,CAA4B6f,EAA5B,CAAd;;AACA,UAAIzD,KAAK,IAAI,CAAb,EAAgB;AACZ,aAAK8F,cAAL,CAAoBjd,MAApB,CAA2BmX,KAA3B,EAAkC,CAAlC;AACH;AACJ,KAPD;AAQA,SAAK2D,wBAAL,CAA8B,MAAMF,EAAE,CAAClkB,OAAH,CAAWqM,OAAX,CAApC;AACH;;AACDgb,EAAAA,eAAe,CAAC9tB,EAAD,EAAK;AAChB,WAAO,KAAK+sB,gBAAL,CAAsB/sB,EAAtB,CAAP;AACH;;AACD0qB,EAAAA,wBAAwB,CAACvsB,OAAD,EAAU;AAC9B;AACA;AACA;AACA;AACA;AACA,UAAMssB,UAAU,GAAG,IAAI/V,GAAJ,EAAnB;AACA,UAAMyW,aAAa,GAAG,KAAK5B,eAAL,CAAqBt6B,GAArB,CAAyBkP,OAAzB,CAAtB;;AACA,QAAIgtB,aAAJ,EAAmB;AACf,YAAM7hB,IAAI,GAAGD,MAAM,CAACC,IAAP,CAAY6hB,aAAZ,CAAb;;AACA,WAAK,IAAIve,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGtD,IAAI,CAACpiB,MAAzB,EAAiC0lB,CAAC,EAAlC,EAAsC;AAClC,cAAMmhB,IAAI,GAAG5C,aAAa,CAAC7hB,IAAI,CAACsD,CAAD,CAAL,CAAb,CAAuBkb,WAApC;;AACA,YAAIiG,IAAJ,EAAU;AACN,gBAAMpD,EAAE,GAAG,KAAKmD,eAAL,CAAqBC,IAArB,CAAX;;AACA,cAAIpD,EAAJ,EAAQ;AACJF,YAAAA,UAAU,CAAC3T,GAAX,CAAe6T,EAAf;AACH;AACJ;AACJ;AACJ;;AACD,WAAOF,UAAP;AACH;;AACDpnB,EAAAA,OAAO,CAACykB,WAAD,EAAc3pB,OAAd,EAAuBmF,IAAvB,EAA6B1T,KAA7B,EAAoC;AACvC,QAAIo+B,aAAa,CAAC7vB,OAAD,CAAjB,EAA4B;AACxB,YAAMwsB,EAAE,GAAG,KAAKmD,eAAL,CAAqBhG,WAArB,CAAX;;AACA,UAAI6C,EAAJ,EAAQ;AACJA,QAAAA,EAAE,CAACtnB,OAAH,CAAWlF,OAAX,EAAoBmF,IAApB,EAA0B1T,KAA1B;AACA,eAAO,IAAP;AACH;AACJ;;AACD,WAAO,KAAP;AACH;;AACDs8B,EAAAA,UAAU,CAACpE,WAAD,EAAc3pB,OAAd,EAAuB0tB,MAAvB,EAA+BoC,YAA/B,EAA6C;AACnD,QAAI,CAACD,aAAa,CAAC7vB,OAAD,CAAlB,EACI,OAF+C,CAGnD;AACA;;AACA,UAAM+vB,OAAO,GAAG/vB,OAAO,CAACiqB,YAAD,CAAvB;;AACA,QAAI8F,OAAO,IAAIA,OAAO,CAACnG,aAAvB,EAAsC;AAClCmG,MAAAA,OAAO,CAACnG,aAAR,GAAwB,KAAxB;AACAmG,MAAAA,OAAO,CAAClG,UAAR,GAAqB,IAArB;AACA,YAAMd,KAAK,GAAG,KAAKmG,sBAAL,CAA4BviB,OAA5B,CAAoC3M,OAApC,CAAd;;AACA,UAAI+oB,KAAK,IAAI,CAAb,EAAgB;AACZ,aAAKmG,sBAAL,CAA4Btd,MAA5B,CAAmCmX,KAAnC,EAA0C,CAA1C;AACH;AACJ,KAbkD,CAcnD;AACA;AACA;;;AACA,QAAIY,WAAJ,EAAiB;AACb,YAAM6C,EAAE,GAAG,KAAKmD,eAAL,CAAqBhG,WAArB,CAAX,CADa,CAEb;AACA;AACA;AACA;AACA;AACA;;;AACA,UAAI6C,EAAJ,EAAQ;AACJA,QAAAA,EAAE,CAACuB,UAAH,CAAc/tB,OAAd,EAAuB0tB,MAAvB;AACH;AACJ,KA5BkD,CA6BnD;;;AACA,QAAIoC,YAAJ,EAAkB;AACd,WAAKP,mBAAL,CAAyBvvB,OAAzB;AACH;AACJ;;AACDuvB,EAAAA,mBAAmB,CAACvvB,OAAD,EAAU;AACzB,SAAKivB,sBAAL,CAA4BtnB,IAA5B,CAAiC3H,OAAjC;AACH;;AACDgwB,EAAAA,qBAAqB,CAAChwB,OAAD,EAAUvO,KAAV,EAAiB;AAClC,QAAIA,KAAJ,EAAW;AACP,UAAI,CAAC,KAAKk9B,aAAL,CAAmB/X,GAAnB,CAAuB5W,OAAvB,CAAL,EAAsC;AAClC,aAAK2uB,aAAL,CAAmBhW,GAAnB,CAAuB3Y,OAAvB;AACA+qB,QAAAA,QAAQ,CAAC/qB,OAAD,EAAUqpB,kBAAV,CAAR;AACH;AACJ,KALD,MAMK,IAAI,KAAKsF,aAAL,CAAmB/X,GAAnB,CAAuB5W,OAAvB,CAAJ,EAAqC;AACtC,WAAK2uB,aAAL,CAAmBhS,MAAnB,CAA0B3c,OAA1B;AACAgsB,MAAAA,WAAW,CAAChsB,OAAD,EAAUqpB,kBAAV,CAAX;AACH;AACJ;;AACD8D,EAAAA,UAAU,CAACxD,WAAD,EAAc3pB,OAAd,EAAuBiwB,aAAvB,EAAsCtb,OAAtC,EAA+C;AACrD,QAAIkb,aAAa,CAAC7vB,OAAD,CAAjB,EAA4B;AACxB,YAAMwsB,EAAE,GAAG7C,WAAW,GAAG,KAAKgG,eAAL,CAAqBhG,WAArB,CAAH,GAAuC,IAA7D;;AACA,UAAI6C,EAAJ,EAAQ;AACJA,QAAAA,EAAE,CAACW,UAAH,CAAcntB,OAAd,EAAuB2U,OAAvB;AACH,OAFD,MAGK;AACD,aAAKkY,oBAAL,CAA0BlD,WAA1B,EAAuC3pB,OAAvC,EAAgD,KAAhD,EAAuD2U,OAAvD;AACH;;AACD,UAAIsb,aAAJ,EAAmB;AACf,cAAMC,MAAM,GAAG,KAAKlB,uBAAL,CAA6Bl+B,GAA7B,CAAiCkP,OAAjC,CAAf;;AACA,YAAIkwB,MAAM,IAAIA,MAAM,CAACruB,EAAP,KAAc8nB,WAA5B,EAAyC;AACrCuG,UAAAA,MAAM,CAAC/C,UAAP,CAAkBntB,OAAlB,EAA2B2U,OAA3B;AACH;AACJ;AACJ,KAdD,MAeK;AACD,WAAKmZ,kBAAL,CAAwB9tB,OAAxB,EAAiC2U,OAAjC;AACH;AACJ;;AACDkY,EAAAA,oBAAoB,CAAClD,WAAD,EAAc3pB,OAAd,EAAuB8pB,YAAvB,EAAqCnV,OAArC,EAA8C;AAC9D,SAAKua,sBAAL,CAA4BvnB,IAA5B,CAAiC3H,OAAjC;AACAA,IAAAA,OAAO,CAACiqB,YAAD,CAAP,GACI;AAAEN,MAAAA,WAAF;AAAeC,MAAAA,aAAa,EAAEjV,OAA9B;AAAuCmV,MAAAA,YAAvC;AAAqDC,MAAAA,oBAAoB,EAAE;AAA3E,KADJ;AAEH;;AACDf,EAAAA,MAAM,CAACW,WAAD,EAAc3pB,OAAd,EAAuBmF,IAAvB,EAA6B6lB,KAA7B,EAAoCpf,QAApC,EAA8C;AAChD,QAAIikB,aAAa,CAAC7vB,OAAD,CAAjB,EAA4B;AACxB,aAAO,KAAK2vB,eAAL,CAAqBhG,WAArB,EAAkCX,MAAlC,CAAyChpB,OAAzC,EAAkDmF,IAAlD,EAAwD6lB,KAAxD,EAA+Dpf,QAA/D,CAAP;AACH;;AACD,WAAO,MAAM,CAAG,CAAhB;AACH;;AACDukB,EAAAA,iBAAiB,CAACnI,KAAD,EAAQoI,YAAR,EAAsB9S,cAAtB,EAAsCC,cAAtC,EAAsD8S,YAAtD,EAAoE;AACjF,WAAOrI,KAAK,CAAChiB,UAAN,CAAiBqR,KAAjB,CAAuB,KAAK9M,MAA5B,EAAoCyd,KAAK,CAAChoB,OAA1C,EAAmDgoB,KAAK,CAAChc,SAAN,CAAgBva,KAAnE,EAA0Eu2B,KAAK,CAAC/b,OAAN,CAAcxa,KAAxF,EAA+F6rB,cAA/F,EAA+GC,cAA/G,EAA+HyK,KAAK,CAAChc,SAAN,CAAgB3G,OAA/I,EAAwJ2iB,KAAK,CAAC/b,OAAN,CAAc5G,OAAtK,EAA+K+qB,YAA/K,EAA6LC,YAA7L,CAAP;AACH;;AACDxC,EAAAA,sBAAsB,CAACyC,gBAAD,EAAmB;AACrC,QAAI9O,QAAQ,GAAG,KAAKjX,MAAL,CAAYlE,KAAZ,CAAkBiqB,gBAAlB,EAAoC1f,mBAApC,EAAyD,IAAzD,CAAf;AACA4Q,IAAAA,QAAQ,CAAC/Z,OAAT,CAAiBzH,OAAO,IAAI,KAAKuwB,iCAAL,CAAuCvwB,OAAvC,CAA5B;AACA,QAAI,KAAKytB,uBAAL,CAA6B7U,IAA7B,IAAqC,CAAzC,EACI;AACJ4I,IAAAA,QAAQ,GAAG,KAAKjX,MAAL,CAAYlE,KAAZ,CAAkBiqB,gBAAlB,EAAoCxf,qBAApC,EAA2D,IAA3D,CAAX;AACA0Q,IAAAA,QAAQ,CAAC/Z,OAAT,CAAiBzH,OAAO,IAAI,KAAKwwB,qCAAL,CAA2CxwB,OAA3C,CAA5B;AACH;;AACDuwB,EAAAA,iCAAiC,CAACvwB,OAAD,EAAU;AACvC,UAAM+I,OAAO,GAAG,KAAK6iB,gBAAL,CAAsB96B,GAAtB,CAA0BkP,OAA1B,CAAhB;;AACA,QAAI+I,OAAJ,EAAa;AACTA,MAAAA,OAAO,CAACtB,OAAR,CAAgB2B,MAAM,IAAI;AACtB;AACA;AACA;AACA,YAAIA,MAAM,CAACyiB,MAAX,EAAmB;AACfziB,UAAAA,MAAM,CAAC+kB,gBAAP,GAA0B,IAA1B;AACH,SAFD,MAGK;AACD/kB,UAAAA,MAAM,CAACd,OAAP;AACH;AACJ,OAVD;AAWH;AACJ;;AACDkoB,EAAAA,qCAAqC,CAACxwB,OAAD,EAAU;AAC3C,UAAM+I,OAAO,GAAG,KAAK0kB,uBAAL,CAA6B38B,GAA7B,CAAiCkP,OAAjC,CAAhB;;AACA,QAAI+I,OAAJ,EAAa;AACTA,MAAAA,OAAO,CAACtB,OAAR,CAAgB2B,MAAM,IAAIA,MAAM,CAACf,MAAP,EAA1B;AACH;AACJ;;AACDooB,EAAAA,iBAAiB,GAAG;AAChB,WAAO,IAAI/pB,OAAJ,CAAYC,OAAO,IAAI;AAC1B,UAAI,KAAKoC,OAAL,CAAahgB,MAAjB,EAAyB;AACrB,eAAOshB,mBAAmB,CAAC,KAAKtB,OAAN,CAAnB,CAAkCnB,MAAlC,CAAyC,MAAMjB,OAAO,EAAtD,CAAP;AACH,OAFD,MAGK;AACDA,QAAAA,OAAO;AACV;AACJ,KAPM,CAAP;AAQH;;AACDmmB,EAAAA,gBAAgB,CAAC9sB,OAAD,EAAU;AACtB,UAAM+vB,OAAO,GAAG/vB,OAAO,CAACiqB,YAAD,CAAvB;;AACA,QAAI8F,OAAO,IAAIA,OAAO,CAACnG,aAAvB,EAAsC;AAClC;AACA5pB,MAAAA,OAAO,CAACiqB,YAAD,CAAP,GAAwBP,kBAAxB;;AACA,UAAIqG,OAAO,CAACpG,WAAZ,EAAyB;AACrB,aAAKkE,sBAAL,CAA4B7tB,OAA5B;;AACA,cAAMwsB,EAAE,GAAG,KAAKmD,eAAL,CAAqBI,OAAO,CAACpG,WAA7B,CAAX;;AACA,YAAI6C,EAAJ,EAAQ;AACJA,UAAAA,EAAE,CAACL,iBAAH,CAAqBnsB,OAArB;AACH;AACJ;;AACD,WAAK8tB,kBAAL,CAAwB9tB,OAAxB,EAAiC+vB,OAAO,CAACnG,aAAzC;AACH;;AACD,QAAI,KAAKrf,MAAL,CAAY8E,cAAZ,CAA2BrP,OAA3B,EAAoCspB,iBAApC,CAAJ,EAA4D;AACxD,WAAK0G,qBAAL,CAA2BhwB,OAA3B,EAAoC,KAApC;AACH;;AACD,SAAKuK,MAAL,CAAYlE,KAAZ,CAAkBrG,OAAlB,EAA2BspB,iBAA3B,EAA8C,IAA9C,EAAoD7hB,OAApD,CAA4DiN,IAAI,IAAI;AAChE,WAAKsb,qBAAL,CAA2Btb,IAA3B,EAAiC,KAAjC;AACH,KAFD;AAGH;;AACDgc,EAAAA,KAAK,CAACzC,WAAW,GAAG,CAAC,CAAhB,EAAmB;AACpB,QAAIllB,OAAO,GAAG,EAAd;;AACA,QAAI,KAAK2lB,eAAL,CAAqB9V,IAAzB,EAA+B;AAC3B,WAAK8V,eAAL,CAAqBjnB,OAArB,CAA6B,CAAC+kB,EAAD,EAAKxsB,OAAL,KAAiB,KAAKsvB,qBAAL,CAA2B9C,EAA3B,EAA+BxsB,OAA/B,CAA9C;AACA,WAAK0uB,eAAL,CAAqB5R,KAArB;AACH;;AACD,QAAI,KAAKyQ,eAAL,IAAwB,KAAK0B,sBAAL,CAA4BlmC,MAAxD,EAAgE;AAC5D,WAAK,IAAI0lB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKwgB,sBAAL,CAA4BlmC,MAAhD,EAAwD0lB,CAAC,EAAzD,EAA6D;AACzD,cAAMC,GAAG,GAAG,KAAKugB,sBAAL,CAA4BxgB,CAA5B,CAAZ;AACAsc,QAAAA,QAAQ,CAACrc,GAAD,EAAM6a,cAAN,CAAR;AACH;AACJ;;AACD,QAAI,KAAKsF,cAAL,CAAoB9lC,MAApB,KACC,KAAKgjC,kBAAL,IAA2B,KAAKmD,sBAAL,CAA4BnmC,MADxD,CAAJ,EACqE;AACjE,YAAM4nC,UAAU,GAAG,EAAnB;;AACA,UAAI;AACA5nB,QAAAA,OAAO,GAAG,KAAK6nB,gBAAL,CAAsBD,UAAtB,EAAkC1C,WAAlC,CAAV;AACH,OAFD,SAGQ;AACJ,aAAK,IAAIxf,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkiB,UAAU,CAAC5nC,MAA/B,EAAuC0lB,CAAC,EAAxC,EAA4C;AACxCkiB,UAAAA,UAAU,CAACliB,CAAD,CAAV;AACH;AACJ;AACJ,KAXD,MAYK;AACD,WAAK,IAAIA,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKygB,sBAAL,CAA4BnmC,MAAhD,EAAwD0lB,CAAC,EAAzD,EAA6D;AACzD,cAAMzO,OAAO,GAAG,KAAKkvB,sBAAL,CAA4BzgB,CAA5B,CAAhB;AACA,aAAKqe,gBAAL,CAAsB9sB,OAAtB;AACH;AACJ;;AACD,SAAK+rB,kBAAL,GAA0B,CAA1B;AACA,SAAKkD,sBAAL,CAA4BlmC,MAA5B,GAAqC,CAArC;AACA,SAAKmmC,sBAAL,CAA4BnmC,MAA5B,GAAqC,CAArC;;AACA,SAAK+lC,SAAL,CAAernB,OAAf,CAAuBpH,EAAE,IAAIA,EAAE,EAA/B;;AACA,SAAKyuB,SAAL,GAAiB,EAAjB;;AACA,QAAI,KAAKC,aAAL,CAAmBhmC,MAAvB,EAA+B;AAC3B;AACA;AACA;AACA,YAAM8nC,QAAQ,GAAG,KAAK9B,aAAtB;AACA,WAAKA,aAAL,GAAqB,EAArB;;AACA,UAAIhmB,OAAO,CAAChgB,MAAZ,EAAoB;AAChBshB,QAAAA,mBAAmB,CAACtB,OAAD,CAAnB,CAA6BnB,MAA7B,CAAoC,MAAM;AACtCipB,UAAAA,QAAQ,CAACppB,OAAT,CAAiBpH,EAAE,IAAIA,EAAE,EAAzB;AACH,SAFD;AAGH,OAJD,MAKK;AACDwwB,QAAAA,QAAQ,CAACppB,OAAT,CAAiBpH,EAAE,IAAIA,EAAE,EAAzB;AACH;AACJ;AACJ;;AACDqrB,EAAAA,WAAW,CAAC/gB,MAAD,EAAS;AAChB,UAAM,IAAIxf,KAAJ,CAAW,kFAAiFwf,MAAM,CAAC9hB,IAAP,CAAY,IAAZ,CAAkB,EAA9G,CAAN;AACH;;AACD+nC,EAAAA,gBAAgB,CAACD,UAAD,EAAa1C,WAAb,EAA0B;AACtC,UAAMmC,YAAY,GAAG,IAAI7T,qBAAJ,EAArB;AACA,UAAMuU,cAAc,GAAG,EAAvB;AACA,UAAMC,iBAAiB,GAAG,IAAIzkB,GAAJ,EAA1B;AACA,UAAM0kB,kBAAkB,GAAG,EAA3B;AACA,UAAMzL,eAAe,GAAG,IAAIjZ,GAAJ,EAAxB;AACA,UAAM2kB,mBAAmB,GAAG,IAAI3kB,GAAJ,EAA5B;AACA,UAAM4kB,oBAAoB,GAAG,IAAI5kB,GAAJ,EAA7B;AACA,UAAM6kB,mBAAmB,GAAG,IAAI5a,GAAJ,EAA5B;AACA,SAAKoY,aAAL,CAAmBlnB,OAAnB,CAA2BiN,IAAI,IAAI;AAC/Byc,MAAAA,mBAAmB,CAACxY,GAApB,CAAwBjE,IAAxB;AACA,YAAM0c,oBAAoB,GAAG,KAAK7mB,MAAL,CAAYlE,KAAZ,CAAkBqO,IAAlB,EAAwB0U,eAAxB,EAAyC,IAAzC,CAA7B;;AACA,WAAK,IAAI3a,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2iB,oBAAoB,CAACroC,MAAzC,EAAiD0lB,CAAC,EAAlD,EAAsD;AAClD0iB,QAAAA,mBAAmB,CAACxY,GAApB,CAAwByY,oBAAoB,CAAC3iB,CAAD,CAA5C;AACH;AACJ,KAND;AAOA,UAAM8Z,QAAQ,GAAG,KAAKA,QAAtB;AACA,UAAM8I,kBAAkB,GAAGpf,KAAK,CAACqf,IAAN,CAAW,KAAKlG,eAAL,CAAqBjgB,IAArB,EAAX,CAA3B;AACA,UAAMomB,YAAY,GAAGC,YAAY,CAACH,kBAAD,EAAqB,KAAKpC,sBAA1B,CAAjC,CAlBsC,CAmBtC;AACA;AACA;;AACA,UAAMwC,eAAe,GAAG,IAAInlB,GAAJ,EAAxB;AACA,QAAImC,CAAC,GAAG,CAAR;AACA8iB,IAAAA,YAAY,CAAC9pB,OAAb,CAAqB,CAACiqB,KAAD,EAAQC,IAAR,KAAiB;AAClC,YAAMC,SAAS,GAAGrhB,eAAe,GAAG9B,CAAC,EAArC;AACAgjB,MAAAA,eAAe,CAACllB,GAAhB,CAAoBolB,IAApB,EAA0BC,SAA1B;AACAF,MAAAA,KAAK,CAACjqB,OAAN,CAAciN,IAAI,IAAIqW,QAAQ,CAACrW,IAAD,EAAOkd,SAAP,CAA9B;AACH,KAJD;AAKA,UAAMC,aAAa,GAAG,EAAtB;AACA,UAAMC,gBAAgB,GAAG,IAAIvb,GAAJ,EAAzB;AACA,UAAMwb,2BAA2B,GAAG,IAAIxb,GAAJ,EAApC;;AACA,SAAK,IAAI9H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKygB,sBAAL,CAA4BnmC,MAAhD,EAAwD0lB,CAAC,EAAzD,EAA6D;AACzD,YAAMzO,OAAO,GAAG,KAAKkvB,sBAAL,CAA4BzgB,CAA5B,CAAhB;AACA,YAAMshB,OAAO,GAAG/vB,OAAO,CAACiqB,YAAD,CAAvB;;AACA,UAAI8F,OAAO,IAAIA,OAAO,CAACnG,aAAvB,EAAsC;AAClCiI,QAAAA,aAAa,CAAClqB,IAAd,CAAmB3H,OAAnB;AACA8xB,QAAAA,gBAAgB,CAACnZ,GAAjB,CAAqB3Y,OAArB;;AACA,YAAI+vB,OAAO,CAACjG,YAAZ,EAA0B;AACtB,eAAKvf,MAAL,CAAYlE,KAAZ,CAAkBrG,OAAlB,EAA2BwpB,aAA3B,EAA0C,IAA1C,EAAgD/hB,OAAhD,CAAwDiH,GAAG,IAAIojB,gBAAgB,CAACnZ,GAAjB,CAAqBjK,GAArB,CAA/D;AACH,SAFD,MAGK;AACDqjB,UAAAA,2BAA2B,CAACpZ,GAA5B,CAAgC3Y,OAAhC;AACH;AACJ;AACJ;;AACD,UAAMgyB,eAAe,GAAG,IAAI1lB,GAAJ,EAAxB;AACA,UAAM2lB,YAAY,GAAGT,YAAY,CAACH,kBAAD,EAAqBpf,KAAK,CAACqf,IAAN,CAAWQ,gBAAX,CAArB,CAAjC;AACAG,IAAAA,YAAY,CAACxqB,OAAb,CAAqB,CAACiqB,KAAD,EAAQC,IAAR,KAAiB;AAClC,YAAMC,SAAS,GAAGphB,eAAe,GAAG/B,CAAC,EAArC;AACAujB,MAAAA,eAAe,CAACzlB,GAAhB,CAAoBolB,IAApB,EAA0BC,SAA1B;AACAF,MAAAA,KAAK,CAACjqB,OAAN,CAAciN,IAAI,IAAIqW,QAAQ,CAACrW,IAAD,EAAOkd,SAAP,CAA9B;AACH,KAJD;AAKAjB,IAAAA,UAAU,CAAChpB,IAAX,CAAgB,MAAM;AAClB4pB,MAAAA,YAAY,CAAC9pB,OAAb,CAAqB,CAACiqB,KAAD,EAAQC,IAAR,KAAiB;AAClC,cAAMC,SAAS,GAAGH,eAAe,CAAC3gC,GAAhB,CAAoB6gC,IAApB,CAAlB;AACAD,QAAAA,KAAK,CAACjqB,OAAN,CAAciN,IAAI,IAAIsX,WAAW,CAACtX,IAAD,EAAOkd,SAAP,CAAjC;AACH,OAHD;AAIAK,MAAAA,YAAY,CAACxqB,OAAb,CAAqB,CAACiqB,KAAD,EAAQC,IAAR,KAAiB;AAClC,cAAMC,SAAS,GAAGI,eAAe,CAAClhC,GAAhB,CAAoB6gC,IAApB,CAAlB;AACAD,QAAAA,KAAK,CAACjqB,OAAN,CAAciN,IAAI,IAAIsX,WAAW,CAACtX,IAAD,EAAOkd,SAAP,CAAjC;AACH,OAHD;AAIAC,MAAAA,aAAa,CAACpqB,OAAd,CAAsBzH,OAAO,IAAI;AAC7B,aAAK8sB,gBAAL,CAAsB9sB,OAAtB;AACH,OAFD;AAGH,KAZD;AAaA,UAAMkyB,UAAU,GAAG,EAAnB;AACA,UAAMC,oBAAoB,GAAG,EAA7B;;AACA,SAAK,IAAI1jB,CAAC,GAAG,KAAKogB,cAAL,CAAoB9lC,MAApB,GAA6B,CAA1C,EAA6C0lB,CAAC,IAAI,CAAlD,EAAqDA,CAAC,EAAtD,EAA0D;AACtD,YAAM+d,EAAE,GAAG,KAAKqC,cAAL,CAAoBpgB,CAApB,CAAX;AACA+d,MAAAA,EAAE,CAACwB,sBAAH,CAA0BC,WAA1B,EAAuCxmB,OAAvC,CAA+CugB,KAAK,IAAI;AACpD,cAAM5e,MAAM,GAAG4e,KAAK,CAAC5e,MAArB;AACA,cAAMpJ,OAAO,GAAGgoB,KAAK,CAAChoB,OAAtB;AACAkyB,QAAAA,UAAU,CAACvqB,IAAX,CAAgByB,MAAhB;;AACA,YAAI,KAAK6lB,sBAAL,CAA4BlmC,MAAhC,EAAwC;AACpC,gBAAMgnC,OAAO,GAAG/vB,OAAO,CAACiqB,YAAD,CAAvB,CADoC,CAEpC;;AACA,cAAI8F,OAAO,IAAIA,OAAO,CAAClG,UAAvB,EAAmC;AAC/BzgB,YAAAA,MAAM,CAACd,OAAP;AACA;AACH;AACJ;;AACD,cAAM8pB,cAAc,GAAG,CAAC7J,QAAD,IAAa,CAAC,KAAKhe,MAAL,CAAY+E,eAAZ,CAA4BiZ,QAA5B,EAAsCvoB,OAAtC,CAArC;AACA,cAAMud,cAAc,GAAGyU,eAAe,CAAClhC,GAAhB,CAAoBkP,OAApB,CAAvB;AACA,cAAMsd,cAAc,GAAGmU,eAAe,CAAC3gC,GAAhB,CAAoBkP,OAApB,CAAvB;;AACA,cAAM0e,WAAW,GAAG,KAAKyR,iBAAL,CAAuBnI,KAAvB,EAA8BoI,YAA9B,EAA4C9S,cAA5C,EAA4DC,cAA5D,EAA4E6U,cAA5E,CAApB;;AACA,YAAI1T,WAAW,CAAC/T,MAAZ,IAAsB+T,WAAW,CAAC/T,MAAZ,CAAmB5hB,MAA7C,EAAqD;AACjDopC,UAAAA,oBAAoB,CAACxqB,IAArB,CAA0B+W,WAA1B;AACA;AACH,SAnBmD,CAoBpD;AACA;AACA;AACA;;;AACA,YAAI0T,cAAJ,EAAoB;AAChBhpB,UAAAA,MAAM,CAAC1B,OAAP,CAAe,MAAMsL,WAAW,CAAChT,OAAD,EAAU0e,WAAW,CAAC2G,UAAtB,CAAhC;AACAjc,UAAAA,MAAM,CAACvB,SAAP,CAAiB,MAAMgL,SAAS,CAAC7S,OAAD,EAAU0e,WAAW,CAAC4G,QAAtB,CAAhC;AACAwL,UAAAA,cAAc,CAACnpB,IAAf,CAAoByB,MAApB;AACA;AACH,SA7BmD,CA8BpD;AACA;;;AACA,YAAI4e,KAAK,CAAC8D,oBAAV,EAAgC;AAC5B1iB,UAAAA,MAAM,CAAC1B,OAAP,CAAe,MAAMsL,WAAW,CAAChT,OAAD,EAAU0e,WAAW,CAAC2G,UAAtB,CAAhC;AACAjc,UAAAA,MAAM,CAACvB,SAAP,CAAiB,MAAMgL,SAAS,CAAC7S,OAAD,EAAU0e,WAAW,CAAC4G,QAAtB,CAAhC;AACAwL,UAAAA,cAAc,CAACnpB,IAAf,CAAoByB,MAApB;AACA;AACH,SArCmD,CAsCpD;AACA;AACA;AACA;AACA;;;AACAsV,QAAAA,WAAW,CAACX,SAAZ,CAAsBtW,OAAtB,CAA8ByW,EAAE,IAAIA,EAAE,CAACqD,uBAAH,GAA6B,IAAjE;AACA6O,QAAAA,YAAY,CAACxT,MAAb,CAAoB5c,OAApB,EAA6B0e,WAAW,CAACX,SAAzC;AACA,cAAM1D,KAAK,GAAG;AAAEqE,UAAAA,WAAF;AAAetV,UAAAA,MAAf;AAAuBpJ,UAAAA;AAAvB,SAAd;AACAgxB,QAAAA,kBAAkB,CAACrpB,IAAnB,CAAwB0S,KAAxB;AACAqE,QAAAA,WAAW,CAAC6G,eAAZ,CAA4B9d,OAA5B,CAAoCzH,OAAO,IAAIkM,eAAe,CAACqZ,eAAD,EAAkBvlB,OAAlB,EAA2B,EAA3B,CAAf,CAA8C2H,IAA9C,CAAmDyB,MAAnD,CAA/C;AACAsV,QAAAA,WAAW,CAACtC,aAAZ,CAA0B3U,OAA1B,CAAkC,CAAC4qB,SAAD,EAAYryB,OAAZ,KAAwB;AACtD,gBAAMuiB,KAAK,GAAGrX,MAAM,CAACC,IAAP,CAAYknB,SAAZ,CAAd;;AACA,cAAI9P,KAAK,CAACx5B,MAAV,EAAkB;AACd,gBAAIupC,MAAM,GAAGrB,mBAAmB,CAACngC,GAApB,CAAwBkP,OAAxB,CAAb;;AACA,gBAAI,CAACsyB,MAAL,EAAa;AACTrB,cAAAA,mBAAmB,CAAC1kB,GAApB,CAAwBvM,OAAxB,EAAiCsyB,MAAM,GAAG,IAAI/b,GAAJ,EAA1C;AACH;;AACDgM,YAAAA,KAAK,CAAC9a,OAAN,CAAc2D,IAAI,IAAIknB,MAAM,CAAC3Z,GAAP,CAAWvN,IAAX,CAAtB;AACH;AACJ,SATD;AAUAsT,QAAAA,WAAW,CAACrC,cAAZ,CAA2B5U,OAA3B,CAAmC,CAAC4qB,SAAD,EAAYryB,OAAZ,KAAwB;AACvD,gBAAMuiB,KAAK,GAAGrX,MAAM,CAACC,IAAP,CAAYknB,SAAZ,CAAd;AACA,cAAIC,MAAM,GAAGpB,oBAAoB,CAACpgC,GAArB,CAAyBkP,OAAzB,CAAb;;AACA,cAAI,CAACsyB,MAAL,EAAa;AACTpB,YAAAA,oBAAoB,CAAC3kB,GAArB,CAAyBvM,OAAzB,EAAkCsyB,MAAM,GAAG,IAAI/b,GAAJ,EAA3C;AACH;;AACDgM,UAAAA,KAAK,CAAC9a,OAAN,CAAc2D,IAAI,IAAIknB,MAAM,CAAC3Z,GAAP,CAAWvN,IAAX,CAAtB;AACH,SAPD;AAQH,OAlED;AAmEH;;AACD,QAAI+mB,oBAAoB,CAACppC,MAAzB,EAAiC;AAC7B,YAAM4hB,MAAM,GAAG,EAAf;AACAwnB,MAAAA,oBAAoB,CAAC1qB,OAArB,CAA6BiX,WAAW,IAAI;AACxC/T,QAAAA,MAAM,CAAChD,IAAP,CAAa,IAAG+W,WAAW,CAAC3S,WAAY,uBAAxC;AACA2S,QAAAA,WAAW,CAAC/T,MAAZ,CAAmBlD,OAAnB,CAA2B8qB,KAAK,IAAI5nB,MAAM,CAAChD,IAAP,CAAa,KAAI4qB,KAAM,IAAvB,CAApC;AACH,OAHD;AAIAL,MAAAA,UAAU,CAACzqB,OAAX,CAAmB2B,MAAM,IAAIA,MAAM,CAACd,OAAP,EAA7B;AACA,WAAKojB,WAAL,CAAiB/gB,MAAjB;AACH;;AACD,UAAM6nB,qBAAqB,GAAG,IAAIlmB,GAAJ,EAA9B,CAnJsC,CAoJtC;AACA;AACA;AACA;;AACA,UAAMmmB,mBAAmB,GAAG,IAAInmB,GAAJ,EAA5B;AACA0kB,IAAAA,kBAAkB,CAACvpB,OAAnB,CAA2BugB,KAAK,IAAI;AAChC,YAAMhoB,OAAO,GAAGgoB,KAAK,CAAChoB,OAAtB;;AACA,UAAIowB,YAAY,CAACxZ,GAAb,CAAiB5W,OAAjB,CAAJ,EAA+B;AAC3ByyB,QAAAA,mBAAmB,CAAClmB,GAApB,CAAwBvM,OAAxB,EAAiCA,OAAjC;;AACA,aAAK0yB,qBAAL,CAA2B1K,KAAK,CAAC5e,MAAN,CAAaugB,WAAxC,EAAqD3B,KAAK,CAACtJ,WAA3D,EAAwE8T,qBAAxE;AACH;AACJ,KAND;AAOA1B,IAAAA,cAAc,CAACrpB,OAAf,CAAuB2B,MAAM,IAAI;AAC7B,YAAMpJ,OAAO,GAAGoJ,MAAM,CAACpJ,OAAvB;;AACA,YAAM+P,eAAe,GAAG,KAAK4iB,mBAAL,CAAyB3yB,OAAzB,EAAkC,KAAlC,EAAyCoJ,MAAM,CAACugB,WAAhD,EAA6DvgB,MAAM,CAAC2C,WAApE,EAAiF,IAAjF,CAAxB;;AACAgE,MAAAA,eAAe,CAACtI,OAAhB,CAAwBmrB,UAAU,IAAI;AAClC1mB,QAAAA,eAAe,CAACsmB,qBAAD,EAAwBxyB,OAAxB,EAAiC,EAAjC,CAAf,CAAoD2H,IAApD,CAAyDirB,UAAzD;AACAA,QAAAA,UAAU,CAACtqB,OAAX;AACH,OAHD;AAIH,KAPD,EAhKsC,CAwKtC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,UAAMuqB,YAAY,GAAGhB,aAAa,CAACpuC,MAAd,CAAqBixB,IAAI,IAAI;AAC9C,aAAOoe,sBAAsB,CAACpe,IAAD,EAAOuc,mBAAP,EAA4BC,oBAA5B,CAA7B;AACH,KAFoB,CAArB,CA/KsC,CAkLtC;;AACA,UAAM6B,aAAa,GAAG,IAAIzmB,GAAJ,EAAtB;AACA,UAAM0mB,oBAAoB,GAAGC,qBAAqB,CAACF,aAAD,EAAgB,KAAKxoB,MAArB,EAA6BwnB,2BAA7B,EAA0Db,oBAA1D,EAAgFjsB,2DAAhF,CAAlD;AACA+tB,IAAAA,oBAAoB,CAACvrB,OAArB,CAA6BiN,IAAI,IAAI;AACjC,UAAIoe,sBAAsB,CAACpe,IAAD,EAAOuc,mBAAP,EAA4BC,oBAA5B,CAA1B,EAA6E;AACzE2B,QAAAA,YAAY,CAAClrB,IAAb,CAAkB+M,IAAlB;AACH;AACJ,KAJD,EArLsC,CA0LtC;;AACA,UAAMwe,YAAY,GAAG,IAAI5mB,GAAJ,EAArB;AACAilB,IAAAA,YAAY,CAAC9pB,OAAb,CAAqB,CAACiqB,KAAD,EAAQC,IAAR,KAAiB;AAClCsB,MAAAA,qBAAqB,CAACC,YAAD,EAAe,KAAK3oB,MAApB,EAA4B,IAAIgM,GAAJ,CAAQmb,KAAR,CAA5B,EAA4CT,mBAA5C,EAAiEnnB,8DAAjE,CAArB;AACH,KAFD;AAGA+oB,IAAAA,YAAY,CAACprB,OAAb,CAAqBiN,IAAI,IAAI;AACzB,YAAMye,IAAI,GAAGJ,aAAa,CAACjiC,GAAd,CAAkB4jB,IAAlB,CAAb;AACA,YAAM0e,GAAG,GAAGF,YAAY,CAACpiC,GAAb,CAAiB4jB,IAAjB,CAAZ;AACAqe,MAAAA,aAAa,CAACxmB,GAAd,CAAkBmI,IAAlB,EAAwBxJ,MAAM,CAAC8b,MAAP,CAAc9b,MAAM,CAAC8b,MAAP,CAAc,EAAd,EAAkBmM,IAAlB,CAAd,EAAuCC,GAAvC,CAAxB;AACH,KAJD;AAKA,UAAMC,WAAW,GAAG,EAApB;AACA,UAAMC,UAAU,GAAG,EAAnB;AACA,UAAMC,oCAAoC,GAAG,EAA7C;AACAvC,IAAAA,kBAAkB,CAACvpB,OAAnB,CAA2BugB,KAAK,IAAI;AAChC,YAAM;AAAEhoB,QAAAA,OAAF;AAAWoJ,QAAAA,MAAX;AAAmBsV,QAAAA;AAAnB,UAAmCsJ,KAAzC,CADgC,CAEhC;AACA;;AACA,UAAIoI,YAAY,CAACxZ,GAAb,CAAiB5W,OAAjB,CAAJ,EAA+B;AAC3B,YAAImxB,mBAAmB,CAACva,GAApB,CAAwB5W,OAAxB,CAAJ,EAAsC;AAClCoJ,UAAAA,MAAM,CAACvB,SAAP,CAAiB,MAAMgL,SAAS,CAAC7S,OAAD,EAAU0e,WAAW,CAAC4G,QAAtB,CAAhC;AACAlc,UAAAA,MAAM,CAAClP,QAAP,GAAkB,IAAlB;AACAkP,UAAAA,MAAM,CAACoqB,iBAAP,CAAyB9U,WAAW,CAACnX,SAArC;AACAupB,UAAAA,cAAc,CAACnpB,IAAf,CAAoByB,MAApB;AACA;AACH,SAP0B,CAQ3B;AACA;AACA;AACA;AACA;AACA;;;AACA,YAAIqqB,mBAAmB,GAAGF,oCAA1B;;AACA,YAAId,mBAAmB,CAAC7Z,IAApB,GAA2B,CAA/B,EAAkC;AAC9B,cAAIlK,GAAG,GAAG1O,OAAV;AACA,gBAAM0zB,YAAY,GAAG,EAArB;;AACA,iBAAOhlB,GAAG,GAAGA,GAAG,CAACf,UAAjB,EAA6B;AACzB,kBAAMgmB,cAAc,GAAGlB,mBAAmB,CAAC3hC,GAApB,CAAwB4d,GAAxB,CAAvB;;AACA,gBAAIilB,cAAJ,EAAoB;AAChBF,cAAAA,mBAAmB,GAAGE,cAAtB;AACA;AACH;;AACDD,YAAAA,YAAY,CAAC/rB,IAAb,CAAkB+G,GAAlB;AACH;;AACDglB,UAAAA,YAAY,CAACjsB,OAAb,CAAqBimB,MAAM,IAAI+E,mBAAmB,CAAClmB,GAApB,CAAwBmhB,MAAxB,EAAgC+F,mBAAhC,CAA/B;AACH;;AACD,cAAMG,WAAW,GAAG,KAAKC,eAAL,CAAqBzqB,MAAM,CAACugB,WAA5B,EAAyCjL,WAAzC,EAAsD8T,qBAAtD,EAA6EzB,iBAA7E,EAAgGmC,YAAhG,EAA8GH,aAA9G,CAApB;;AACA3pB,QAAAA,MAAM,CAAC0qB,aAAP,CAAqBF,WAArB;;AACA,YAAIH,mBAAmB,KAAKF,oCAA5B,EAAkE;AAC9DF,UAAAA,WAAW,CAAC1rB,IAAZ,CAAiByB,MAAjB;AACH,SAFD,MAGK;AACD,gBAAM2qB,aAAa,GAAG,KAAKnI,gBAAL,CAAsB96B,GAAtB,CAA0B2iC,mBAA1B,CAAtB;;AACA,cAAIM,aAAa,IAAIA,aAAa,CAAChrC,MAAnC,EAA2C;AACvCqgB,YAAAA,MAAM,CAAC9B,YAAP,GAAsB+C,mBAAmB,CAAC0pB,aAAD,CAAzC;AACH;;AACDjD,UAAAA,cAAc,CAACnpB,IAAf,CAAoByB,MAApB;AACH;AACJ,OAxCD,MAyCK;AACD4J,QAAAA,WAAW,CAAChT,OAAD,EAAU0e,WAAW,CAAC2G,UAAtB,CAAX;AACAjc,QAAAA,MAAM,CAACvB,SAAP,CAAiB,MAAMgL,SAAS,CAAC7S,OAAD,EAAU0e,WAAW,CAAC4G,QAAtB,CAAhC,EAFC,CAGD;AACA;AACA;;AACAgO,QAAAA,UAAU,CAAC3rB,IAAX,CAAgByB,MAAhB;;AACA,YAAI+nB,mBAAmB,CAACva,GAApB,CAAwB5W,OAAxB,CAAJ,EAAsC;AAClC8wB,UAAAA,cAAc,CAACnpB,IAAf,CAAoByB,MAApB;AACH;AACJ;AACJ,KAxDD,EAvMsC,CAgQtC;;AACAkqB,IAAAA,UAAU,CAAC7rB,OAAX,CAAmB2B,MAAM,IAAI;AACzB;AACA;AACA,YAAM4qB,iBAAiB,GAAGjD,iBAAiB,CAACjgC,GAAlB,CAAsBsY,MAAM,CAACpJ,OAA7B,CAA1B;;AACA,UAAIg0B,iBAAiB,IAAIA,iBAAiB,CAACjrC,MAA3C,EAAmD;AAC/C,cAAM6qC,WAAW,GAAGvpB,mBAAmB,CAAC2pB,iBAAD,CAAvC;AACA5qB,QAAAA,MAAM,CAAC0qB,aAAP,CAAqBF,WAArB;AACH;AACJ,KARD,EAjQsC,CA0QtC;AACA;AACA;;AACA9C,IAAAA,cAAc,CAACrpB,OAAf,CAAuB2B,MAAM,IAAI;AAC7B,UAAIA,MAAM,CAAC9B,YAAX,EAAyB;AACrB8B,QAAAA,MAAM,CAAC6qB,gBAAP,CAAwB7qB,MAAM,CAAC9B,YAA/B;AACH,OAFD,MAGK;AACD8B,QAAAA,MAAM,CAACd,OAAP;AACH;AACJ,KAPD,EA7QsC,CAqRtC;AACA;AACA;;AACA,SAAK,IAAImG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGojB,aAAa,CAAC9oC,MAAlC,EAA0C0lB,CAAC,EAA3C,EAA+C;AAC3C,YAAMzO,OAAO,GAAG6xB,aAAa,CAACpjB,CAAD,CAA7B;AACA,YAAMshB,OAAO,GAAG/vB,OAAO,CAACiqB,YAAD,CAAvB;AACA+B,MAAAA,WAAW,CAAChsB,OAAD,EAAUwQ,eAAV,CAAX,CAH2C,CAI3C;AACA;AACA;;AACA,UAAIuf,OAAO,IAAIA,OAAO,CAACjG,YAAvB,EACI;AACJ,UAAI/gB,OAAO,GAAG,EAAd,CAT2C,CAU3C;AACA;AACA;;AACA,UAAIwc,eAAe,CAAC3M,IAApB,EAA0B;AACtB,YAAIsb,oBAAoB,GAAG3O,eAAe,CAACz0B,GAAhB,CAAoBkP,OAApB,CAA3B;;AACA,YAAIk0B,oBAAoB,IAAIA,oBAAoB,CAACnrC,MAAjD,EAAyD;AACrDggB,UAAAA,OAAO,CAACpB,IAAR,CAAa,GAAGusB,oBAAhB;AACH;;AACD,YAAIC,oBAAoB,GAAG,KAAK5pB,MAAL,CAAYlE,KAAZ,CAAkBrG,OAAlB,EAA2B8Q,qBAA3B,EAAkD,IAAlD,CAA3B;;AACA,aAAK,IAAIsjB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,oBAAoB,CAACprC,MAAzC,EAAiDqrC,CAAC,EAAlD,EAAsD;AAClD,cAAIC,cAAc,GAAG9O,eAAe,CAACz0B,GAAhB,CAAoBqjC,oBAAoB,CAACC,CAAD,CAAxC,CAArB;;AACA,cAAIC,cAAc,IAAIA,cAAc,CAACtrC,MAArC,EAA6C;AACzCggB,YAAAA,OAAO,CAACpB,IAAR,CAAa,GAAG0sB,cAAhB;AACH;AACJ;AACJ;;AACD,YAAMC,aAAa,GAAGvrB,OAAO,CAACtlB,MAAR,CAAe+lB,CAAC,IAAI,CAACA,CAAC,CAAC0kB,SAAvB,CAAtB;;AACA,UAAIoG,aAAa,CAACvrC,MAAlB,EAA0B;AACtBwrC,QAAAA,6BAA6B,CAAC,IAAD,EAAOv0B,OAAP,EAAgBs0B,aAAhB,CAA7B;AACH,OAFD,MAGK;AACD,aAAKxH,gBAAL,CAAsB9sB,OAAtB;AACH;AACJ,KAzTqC,CA0TtC;;;AACA6xB,IAAAA,aAAa,CAAC9oC,MAAd,GAAuB,CAAvB;AACAsqC,IAAAA,WAAW,CAAC5rB,OAAZ,CAAoB2B,MAAM,IAAI;AAC1B,WAAKL,OAAL,CAAapB,IAAb,CAAkByB,MAAlB;AACAA,MAAAA,MAAM,CAACxB,MAAP,CAAc,MAAM;AAChBwB,QAAAA,MAAM,CAACd,OAAP;AACA,cAAMygB,KAAK,GAAG,KAAKhgB,OAAL,CAAa4D,OAAb,CAAqBvD,MAArB,CAAd;AACA,aAAKL,OAAL,CAAa6I,MAAb,CAAoBmX,KAApB,EAA2B,CAA3B;AACH,OAJD;AAKA3f,MAAAA,MAAM,CAACpB,IAAP;AACH,KARD;AASA,WAAOqrB,WAAP;AACH;;AACD9E,EAAAA,mBAAmB,CAAC5E,WAAD,EAAc3pB,OAAd,EAAuB;AACtC,QAAIwuB,YAAY,GAAG,KAAnB;AACA,UAAMuB,OAAO,GAAG/vB,OAAO,CAACiqB,YAAD,CAAvB;AACA,QAAI8F,OAAO,IAAIA,OAAO,CAACnG,aAAvB,EACI4E,YAAY,GAAG,IAAf;AACJ,QAAI,KAAK5C,gBAAL,CAAsBhV,GAAtB,CAA0B5W,OAA1B,CAAJ,EACIwuB,YAAY,GAAG,IAAf;AACJ,QAAI,KAAKf,uBAAL,CAA6B7W,GAA7B,CAAiC5W,OAAjC,CAAJ,EACIwuB,YAAY,GAAG,IAAf;AACJ,QAAI,KAAKpD,eAAL,CAAqBxU,GAArB,CAAyB5W,OAAzB,CAAJ,EACIwuB,YAAY,GAAG,IAAf;AACJ,WAAO,KAAKmB,eAAL,CAAqBhG,WAArB,EAAkC4E,mBAAlC,CAAsDvuB,OAAtD,KAAkEwuB,YAAzE;AACH;;AACDnD,EAAAA,UAAU,CAACzf,QAAD,EAAW;AACjB,SAAKkjB,SAAL,CAAennB,IAAf,CAAoBiE,QAApB;AACH;;AACD8gB,EAAAA,wBAAwB,CAAC9gB,QAAD,EAAW;AAC/B,SAAKmjB,aAAL,CAAmBpnB,IAAnB,CAAwBiE,QAAxB;AACH;;AACD+mB,EAAAA,mBAAmB,CAAC3yB,OAAD,EAAUw0B,gBAAV,EAA4B7K,WAA5B,EAAyC5d,WAAzC,EAAsD0oB,YAAtD,EAAoE;AACnF,QAAI1rB,OAAO,GAAG,EAAd;;AACA,QAAIyrB,gBAAJ,EAAsB;AAClB,YAAME,qBAAqB,GAAG,KAAKjH,uBAAL,CAA6B38B,GAA7B,CAAiCkP,OAAjC,CAA9B;;AACA,UAAI00B,qBAAJ,EAA2B;AACvB3rB,QAAAA,OAAO,GAAG2rB,qBAAV;AACH;AACJ,KALD,MAMK;AACD,YAAMtI,cAAc,GAAG,KAAKR,gBAAL,CAAsB96B,GAAtB,CAA0BkP,OAA1B,CAAvB;;AACA,UAAIosB,cAAJ,EAAoB;AAChB,cAAMuI,kBAAkB,GAAG,CAACF,YAAD,IAAiBA,YAAY,IAAInK,UAA5D;AACA8B,QAAAA,cAAc,CAAC3kB,OAAf,CAAuB2B,MAAM,IAAI;AAC7B,cAAIA,MAAM,CAACyiB,MAAX,EACI;AACJ,cAAI,CAAC8I,kBAAD,IAAuBvrB,MAAM,CAAC2C,WAAP,IAAsBA,WAAjD,EACI;AACJhD,UAAAA,OAAO,CAACpB,IAAR,CAAayB,MAAb;AACH,SAND;AAOH;AACJ;;AACD,QAAIugB,WAAW,IAAI5d,WAAnB,EAAgC;AAC5BhD,MAAAA,OAAO,GAAGA,OAAO,CAACtlB,MAAR,CAAe2lB,MAAM,IAAI;AAC/B,YAAIugB,WAAW,IAAIA,WAAW,IAAIvgB,MAAM,CAACugB,WAAzC,EACI,OAAO,KAAP;AACJ,YAAI5d,WAAW,IAAIA,WAAW,IAAI3C,MAAM,CAAC2C,WAAzC,EACI,OAAO,KAAP;AACJ,eAAO,IAAP;AACH,OANS,CAAV;AAOH;;AACD,WAAOhD,OAAP;AACH;;AACD2pB,EAAAA,qBAAqB,CAAC/I,WAAD,EAAcjL,WAAd,EAA2B8T,qBAA3B,EAAkD;AACnE,UAAMzmB,WAAW,GAAG2S,WAAW,CAAC3S,WAAhC;AACA,UAAMsR,WAAW,GAAGqB,WAAW,CAAC1e,OAAhC,CAFmE,CAGnE;AACA;;AACA,UAAM40B,iBAAiB,GAAGlW,WAAW,CAAC0G,mBAAZ,GAAkChrB,SAAlC,GAA8CuvB,WAAxE;AACA,UAAMkL,iBAAiB,GAAGnW,WAAW,CAAC0G,mBAAZ,GAAkChrB,SAAlC,GAA8C2R,WAAxE;;AACA,SAAK,MAAM+oB,mBAAX,IAAkCpW,WAAW,CAACX,SAA9C,EAAyD;AACrD,YAAM/d,OAAO,GAAG80B,mBAAmB,CAAC90B,OAApC;AACA,YAAMw0B,gBAAgB,GAAGx0B,OAAO,KAAKqd,WAArC;AACA,YAAMtU,OAAO,GAAGmD,eAAe,CAACsmB,qBAAD,EAAwBxyB,OAAxB,EAAiC,EAAjC,CAA/B;;AACA,YAAM+P,eAAe,GAAG,KAAK4iB,mBAAL,CAAyB3yB,OAAzB,EAAkCw0B,gBAAlC,EAAoDI,iBAApD,EAAuEC,iBAAvE,EAA0FnW,WAAW,CAACzS,OAAtG,CAAxB;;AACA8D,MAAAA,eAAe,CAACtI,OAAhB,CAAwB2B,MAAM,IAAI;AAC9B,cAAM2rB,UAAU,GAAG3rB,MAAM,CAAC4rB,aAAP,EAAnB;;AACA,YAAID,UAAU,CAAClrB,aAAf,EAA8B;AAC1BkrB,UAAAA,UAAU,CAAClrB,aAAX;AACH;;AACDT,QAAAA,MAAM,CAACd,OAAP;AACAS,QAAAA,OAAO,CAACpB,IAAR,CAAayB,MAAb;AACH,OAPD;AAQH,KApBkE,CAqBnE;AACA;;;AACA4J,IAAAA,WAAW,CAACqK,WAAD,EAAcqB,WAAW,CAAC2G,UAA1B,CAAX;AACH;;AACDwO,EAAAA,eAAe,CAAClK,WAAD,EAAcjL,WAAd,EAA2B8T,qBAA3B,EAAkDzB,iBAAlD,EAAqEmC,YAArE,EAAmFH,aAAnF,EAAkG;AAC7G,UAAMhnB,WAAW,GAAG2S,WAAW,CAAC3S,WAAhC;AACA,UAAMsR,WAAW,GAAGqB,WAAW,CAAC1e,OAAhC,CAF6G,CAG7G;AACA;;AACA,UAAMi1B,iBAAiB,GAAG,EAA1B;AACA,UAAMC,mBAAmB,GAAG,IAAI3e,GAAJ,EAA5B;AACA,UAAM4e,cAAc,GAAG,IAAI5e,GAAJ,EAAvB;AACA,UAAM6e,aAAa,GAAG1W,WAAW,CAACX,SAAZ,CAAsB5R,GAAtB,CAA0B2oB,mBAAmB,IAAI;AACnE,YAAM90B,OAAO,GAAG80B,mBAAmB,CAAC90B,OAApC;AACAk1B,MAAAA,mBAAmB,CAACvc,GAApB,CAAwB3Y,OAAxB,EAFmE,CAGnE;;AACA,YAAM+vB,OAAO,GAAG/vB,OAAO,CAACiqB,YAAD,CAAvB;AACA,UAAI8F,OAAO,IAAIA,OAAO,CAAChG,oBAAvB,EACI,OAAO,IAAIljB,oEAAJ,CAAwBiuB,mBAAmB,CAAChuB,QAA5C,EAAsDguB,mBAAmB,CAAC/tB,KAA1E,CAAP;AACJ,YAAMytB,gBAAgB,GAAGx0B,OAAO,KAAKqd,WAArC;AACA,YAAMtN,eAAe,GAAGslB,mBAAmB,CAAC,CAAC7C,qBAAqB,CAAC1hC,GAAtB,CAA0BkP,OAA1B,KAAsCypB,kBAAvC,EACvCtd,GADuC,CACnC3C,CAAC,IAAIA,CAAC,CAACwrB,aAAF,EAD8B,CAAD,CAAnB,CAEnBvxC,MAFmB,CAEZ+lB,CAAC,IAAI;AACb;AACA;AACA;AACA;AACA,cAAM8rB,EAAE,GAAG9rB,CAAX;AACA,eAAO8rB,EAAE,CAACt1B,OAAH,GAAas1B,EAAE,CAACt1B,OAAH,KAAeA,OAA5B,GAAsC,KAA7C;AACH,OATuB,CAAxB;AAUA,YAAMyK,SAAS,GAAGyoB,YAAY,CAACpiC,GAAb,CAAiBkP,OAAjB,CAAlB;AACA,YAAM0K,UAAU,GAAGqoB,aAAa,CAACjiC,GAAd,CAAkBkP,OAAlB,CAAnB;AACA,YAAM+F,SAAS,GAAGuE,kBAAkB,CAAC,KAAKC,MAAN,EAAc,KAAKkd,WAAnB,EAAgCznB,OAAhC,EAAyC80B,mBAAmB,CAAC/uB,SAA7D,EAAwE0E,SAAxE,EAAmFC,UAAnF,CAApC;;AACA,YAAMtB,MAAM,GAAG,KAAKuf,YAAL,CAAkBmM,mBAAlB,EAAuC/uB,SAAvC,EAAkDgK,eAAlD,CAAf,CArBmE,CAsBnE;AACA;;;AACA,UAAI+kB,mBAAmB,CAACxY,WAApB,IAAmCyU,iBAAvC,EAA0D;AACtDoE,QAAAA,cAAc,CAACxc,GAAf,CAAmB3Y,OAAnB;AACH;;AACD,UAAIw0B,gBAAJ,EAAsB;AAClB,cAAMe,aAAa,GAAG,IAAI/J,yBAAJ,CAA8B7B,WAA9B,EAA2C5d,WAA3C,EAAwD/L,OAAxD,CAAtB;AACAu1B,QAAAA,aAAa,CAACzB,aAAd,CAA4B1qB,MAA5B;AACA6rB,QAAAA,iBAAiB,CAACttB,IAAlB,CAAuB4tB,aAAvB;AACH;;AACD,aAAOnsB,MAAP;AACH,KAjCqB,CAAtB;AAkCA6rB,IAAAA,iBAAiB,CAACxtB,OAAlB,CAA0B2B,MAAM,IAAI;AAChC8C,MAAAA,eAAe,CAAC,KAAKuhB,uBAAN,EAA+BrkB,MAAM,CAACpJ,OAAtC,EAA+C,EAA/C,CAAf,CAAkE2H,IAAlE,CAAuEyB,MAAvE;AACAA,MAAAA,MAAM,CAACxB,MAAP,CAAc,MAAM4tB,kBAAkB,CAAC,KAAK/H,uBAAN,EAA+BrkB,MAAM,CAACpJ,OAAtC,EAA+CoJ,MAA/C,CAAtC;AACH,KAHD;AAIA8rB,IAAAA,mBAAmB,CAACztB,OAApB,CAA4BzH,OAAO,IAAI+qB,QAAQ,CAAC/qB,OAAD,EAAU6Q,sBAAV,CAA/C;AACA,UAAMzH,MAAM,GAAGiB,mBAAmB,CAAC+qB,aAAD,CAAlC;AACAhsB,IAAAA,MAAM,CAACvB,SAAP,CAAiB,MAAM;AACnBqtB,MAAAA,mBAAmB,CAACztB,OAApB,CAA4BzH,OAAO,IAAIgsB,WAAW,CAAChsB,OAAD,EAAU6Q,sBAAV,CAAlD;AACAgC,MAAAA,SAAS,CAACwK,WAAD,EAAcqB,WAAW,CAAC4G,QAA1B,CAAT;AACH,KAHD,EAhD6G,CAoD7G;AACA;;AACA6P,IAAAA,cAAc,CAAC1tB,OAAf,CAAuBzH,OAAO,IAAI;AAC9BkM,MAAAA,eAAe,CAAC6kB,iBAAD,EAAoB/wB,OAApB,EAA6B,EAA7B,CAAf,CAAgD2H,IAAhD,CAAqDyB,MAArD;AACH,KAFD;AAGA,WAAOA,MAAP;AACH;;AACDuf,EAAAA,YAAY,CAACjK,WAAD,EAAc3Y,SAAd,EAAyBgK,eAAzB,EAA0C;AAClD,QAAIhK,SAAS,CAAChd,MAAV,GAAmB,CAAvB,EAA0B;AACtB,aAAO,KAAKwhB,MAAL,CAAYjF,OAAZ,CAAoBoZ,WAAW,CAAC1e,OAAhC,EAAyC+F,SAAzC,EAAoD2Y,WAAW,CAAC5X,QAAhE,EAA0E4X,WAAW,CAAC3X,KAAtF,EAA6F2X,WAAW,CAAC5O,MAAzG,EAAiHC,eAAjH,CAAP;AACH,KAHiD,CAIlD;AACA;;;AACA,WAAO,IAAIlJ,oEAAJ,CAAwB6X,WAAW,CAAC5X,QAApC,EAA8C4X,WAAW,CAAC3X,KAA1D,CAAP;AACH;;AAxyB2B;;AA0yBhC,MAAMykB,yBAAN,CAAgC;AAC5BngC,EAAAA,WAAW,CAACs+B,WAAD,EAAc5d,WAAd,EAA2B/L,OAA3B,EAAoC;AAC3C,SAAK2pB,WAAL,GAAmBA,WAAnB;AACA,SAAK5d,WAAL,GAAmBA,WAAnB;AACA,SAAK/L,OAAL,GAAeA,OAAf;AACA,SAAKy1B,OAAL,GAAe,IAAI5uB,oEAAJ,EAAf;AACA,SAAK6uB,mBAAL,GAA2B,KAA3B;AACA,SAAKC,gBAAL,GAAwB,EAAxB;AACA,SAAKzH,SAAL,GAAiB,KAAjB;AACA,SAAKC,gBAAL,GAAwB,KAAxB;AACA,SAAKj0B,QAAL,GAAgB,KAAhB;AACA,SAAK2xB,MAAL,GAAc,IAAd;AACA,SAAKtkB,SAAL,GAAiB,CAAjB;AACH;;AACDusB,EAAAA,aAAa,CAAC1qB,MAAD,EAAS;AAClB,QAAI,KAAKssB,mBAAT,EACI;AACJ,SAAKD,OAAL,GAAersB,MAAf;AACA8B,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAKwqB,gBAAjB,EAAmCluB,OAAnC,CAA2CujB,KAAK,IAAI;AAChD,WAAK2K,gBAAL,CAAsB3K,KAAtB,EAA6BvjB,OAA7B,CAAqCmE,QAAQ,IAAIF,cAAc,CAACtC,MAAD,EAAS4hB,KAAT,EAAgB5wB,SAAhB,EAA2BwR,QAA3B,CAA/D;AACH,KAFD;AAGA,SAAK+pB,gBAAL,GAAwB,EAAxB;AACA,SAAKD,mBAAL,GAA2B,IAA3B;AACA,SAAKlC,iBAAL,CAAuBpqB,MAAM,CAAC7B,SAA9B;AACA,SAAKskB,MAAL,GAAc,KAAd;AACH;;AACDmJ,EAAAA,aAAa,GAAG;AACZ,WAAO,KAAKS,OAAZ;AACH;;AACDjC,EAAAA,iBAAiB,CAACjsB,SAAD,EAAY;AACzB,SAAKA,SAAL,GAAiBA,SAAjB;AACH;;AACD0sB,EAAAA,gBAAgB,CAAC7qB,MAAD,EAAS;AACrB,UAAMI,CAAC,GAAG,KAAKisB,OAAf;;AACA,QAAIjsB,CAAC,CAACd,eAAN,EAAuB;AACnBU,MAAAA,MAAM,CAAC1B,OAAP,CAAe,MAAM8B,CAAC,CAACd,eAAF,CAAkB,OAAlB,CAArB;AACH;;AACDU,IAAAA,MAAM,CAACxB,MAAP,CAAc,MAAM,KAAKS,MAAL,EAApB;AACAe,IAAAA,MAAM,CAACvB,SAAP,CAAiB,MAAM,KAAKS,OAAL,EAAvB;AACH;;AACDstB,EAAAA,WAAW,CAACzwB,IAAD,EAAOyG,QAAP,EAAiB;AACxBM,IAAAA,eAAe,CAAC,KAAKypB,gBAAN,EAAwBxwB,IAAxB,EAA8B,EAA9B,CAAf,CAAiDwC,IAAjD,CAAsDiE,QAAtD;AACH;;AACDhE,EAAAA,MAAM,CAACvH,EAAD,EAAK;AACP,QAAI,KAAKwrB,MAAT,EAAiB;AACb,WAAK+J,WAAL,CAAiB,MAAjB,EAAyBv1B,EAAzB;AACH;;AACD,SAAKo1B,OAAL,CAAa7tB,MAAb,CAAoBvH,EAApB;AACH;;AACDqH,EAAAA,OAAO,CAACrH,EAAD,EAAK;AACR,QAAI,KAAKwrB,MAAT,EAAiB;AACb,WAAK+J,WAAL,CAAiB,OAAjB,EAA0Bv1B,EAA1B;AACH;;AACD,SAAKo1B,OAAL,CAAa/tB,OAAb,CAAqBrH,EAArB;AACH;;AACDwH,EAAAA,SAAS,CAACxH,EAAD,EAAK;AACV,QAAI,KAAKwrB,MAAT,EAAiB;AACb,WAAK+J,WAAL,CAAiB,SAAjB,EAA4Bv1B,EAA5B;AACH;;AACD,SAAKo1B,OAAL,CAAa5tB,SAAb,CAAuBxH,EAAvB;AACH;;AACD0H,EAAAA,IAAI,GAAG;AACH,SAAK0tB,OAAL,CAAa1tB,IAAb;AACH;;AACDD,EAAAA,UAAU,GAAG;AACT,WAAO,KAAK+jB,MAAL,GAAc,KAAd,GAAsB,KAAK4J,OAAL,CAAa3tB,UAAb,EAA7B;AACH;;AACDE,EAAAA,IAAI,GAAG;AACH,KAAC,KAAK6jB,MAAN,IAAgB,KAAK4J,OAAL,CAAaztB,IAAb,EAAhB;AACH;;AACDG,EAAAA,KAAK,GAAG;AACJ,KAAC,KAAK0jB,MAAN,IAAgB,KAAK4J,OAAL,CAAattB,KAAb,EAAhB;AACH;;AACDC,EAAAA,OAAO,GAAG;AACN,KAAC,KAAKyjB,MAAN,IAAgB,KAAK4J,OAAL,CAAartB,OAAb,EAAhB;AACH;;AACDC,EAAAA,MAAM,GAAG;AACL,SAAKotB,OAAL,CAAaptB,MAAb;AACH;;AACDC,EAAAA,OAAO,GAAG;AACN,SAAK4lB,SAAL,GAAiB,IAAjB;;AACA,SAAKuH,OAAL,CAAantB,OAAb;AACH;;AACDC,EAAAA,KAAK,GAAG;AACJ,KAAC,KAAKsjB,MAAN,IAAgB,KAAK4J,OAAL,CAAaltB,KAAb,EAAhB;AACH;;AACDC,EAAAA,WAAW,CAACgB,CAAD,EAAI;AACX,QAAI,CAAC,KAAKqiB,MAAV,EAAkB;AACd,WAAK4J,OAAL,CAAajtB,WAAb,CAAyBgB,CAAzB;AACH;AACJ;;AACDf,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKojB,MAAL,GAAc,CAAd,GAAkB,KAAK4J,OAAL,CAAahtB,WAAb,EAAzB;AACH;AACD;;;AACAC,EAAAA,eAAe,CAACC,SAAD,EAAY;AACvB,UAAMa,CAAC,GAAG,KAAKisB,OAAf;;AACA,QAAIjsB,CAAC,CAACd,eAAN,EAAuB;AACnBc,MAAAA,CAAC,CAACd,eAAF,CAAkBC,SAAlB;AACH;AACJ;;AApG2B;;AAsGhC,SAAS6sB,kBAAT,CAA4BrpB,GAA5B,EAAiCC,GAAjC,EAAsC3a,KAAtC,EAA6C;AACzC,MAAIokC,aAAJ;;AACA,MAAI1pB,GAAG,YAAYG,GAAnB,EAAwB;AACpBupB,IAAAA,aAAa,GAAG1pB,GAAG,CAACrb,GAAJ,CAAQsb,GAAR,CAAhB;;AACA,QAAIypB,aAAJ,EAAmB;AACf,UAAIA,aAAa,CAAC9sC,MAAlB,EAA0B;AACtB,cAAMggC,KAAK,GAAG8M,aAAa,CAAClpB,OAAd,CAAsBlb,KAAtB,CAAd;AACAokC,QAAAA,aAAa,CAACjkB,MAAd,CAAqBmX,KAArB,EAA4B,CAA5B;AACH;;AACD,UAAI8M,aAAa,CAAC9sC,MAAd,IAAwB,CAA5B,EAA+B;AAC3BojB,QAAAA,GAAG,CAACwQ,MAAJ,CAAWvQ,GAAX;AACH;AACJ;AACJ,GAXD,MAYK;AACDypB,IAAAA,aAAa,GAAG1pB,GAAG,CAACC,GAAD,CAAnB;;AACA,QAAIypB,aAAJ,EAAmB;AACf,UAAIA,aAAa,CAAC9sC,MAAlB,EAA0B;AACtB,cAAMggC,KAAK,GAAG8M,aAAa,CAAClpB,OAAd,CAAsBlb,KAAtB,CAAd;AACAokC,QAAAA,aAAa,CAACjkB,MAAd,CAAqBmX,KAArB,EAA4B,CAA5B;AACH;;AACD,UAAI8M,aAAa,CAAC9sC,MAAd,IAAwB,CAA5B,EAA+B;AAC3B,eAAOojB,GAAG,CAACC,GAAD,CAAV;AACH;AACJ;AACJ;;AACD,SAAOypB,aAAP;AACH;;AACD,SAASzL,qBAAT,CAA+B34B,KAA/B,EAAsC;AAClC;AACA;AACA;AACA,SAAOA,KAAK,IAAI,IAAT,GAAgBA,KAAhB,GAAwB,IAA/B;AACH;;AACD,SAASo+B,aAAT,CAAuBnb,IAAvB,EAA6B;AACzB,SAAOA,IAAI,IAAIA,IAAI,CAAC,UAAD,CAAJ,KAAqB,CAApC;AACH;;AACD,SAASuW,mBAAT,CAA6Btf,SAA7B,EAAwC;AACpC,SAAOA,SAAS,IAAI,OAAb,IAAwBA,SAAS,IAAI,MAA5C;AACH;;AACD,SAASmqB,YAAT,CAAsB91B,OAAtB,EAA+BvO,KAA/B,EAAsC;AAClC,QAAMyJ,QAAQ,GAAG8E,OAAO,CAAC2F,KAAR,CAAcvP,OAA/B;AACA4J,EAAAA,OAAO,CAAC2F,KAAR,CAAcvP,OAAd,GAAwB3E,KAAK,IAAI,IAAT,GAAgBA,KAAhB,GAAwB,MAAhD;AACA,SAAOyJ,QAAP;AACH;;AACD,SAAS+3B,qBAAT,CAA+B8C,SAA/B,EAA0CxrB,MAA1C,EAAkDiX,QAAlD,EAA4DwU,eAA5D,EAA6EC,YAA7E,EAA2F;AACvF,QAAMC,SAAS,GAAG,EAAlB;AACA1U,EAAAA,QAAQ,CAAC/Z,OAAT,CAAiBzH,OAAO,IAAIk2B,SAAS,CAACvuB,IAAV,CAAemuB,YAAY,CAAC91B,OAAD,CAA3B,CAA5B;AACA,QAAMm2B,cAAc,GAAG,EAAvB;AACAH,EAAAA,eAAe,CAACvuB,OAAhB,CAAwB,CAAC8a,KAAD,EAAQviB,OAAR,KAAoB;AACxC,UAAM/R,MAAM,GAAG,EAAf;AACAs0B,IAAAA,KAAK,CAAC9a,OAAN,CAAc2D,IAAI,IAAI;AAClB,YAAM3Z,KAAK,GAAGxD,MAAM,CAACmd,IAAD,CAAN,GAAeb,MAAM,CAACsF,YAAP,CAAoB7P,OAApB,EAA6BoL,IAA7B,EAAmC6qB,YAAnC,CAA7B,CADkB,CAElB;AACA;;AACA,UAAI,CAACxkC,KAAD,IAAUA,KAAK,CAAC1I,MAAN,IAAgB,CAA9B,EAAiC;AAC7BiX,QAAAA,OAAO,CAACiqB,YAAD,CAAP,GAAwBD,0BAAxB;AACAmM,QAAAA,cAAc,CAACxuB,IAAf,CAAoB3H,OAApB;AACH;AACJ,KARD;AASA+1B,IAAAA,SAAS,CAACxpB,GAAV,CAAcvM,OAAd,EAAuB/R,MAAvB;AACH,GAZD,EAJuF,CAiBvF;AACA;;AACA,MAAIwgB,CAAC,GAAG,CAAR;AACA+S,EAAAA,QAAQ,CAAC/Z,OAAT,CAAiBzH,OAAO,IAAI81B,YAAY,CAAC91B,OAAD,EAAUk2B,SAAS,CAACznB,CAAC,EAAF,CAAnB,CAAxC;AACA,SAAO0nB,cAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS3E,YAAT,CAAsB4E,KAAtB,EAA6B1E,KAA7B,EAAoC;AAChC,QAAM2E,OAAO,GAAG,IAAI/pB,GAAJ,EAAhB;AACA8pB,EAAAA,KAAK,CAAC3uB,OAAN,CAAckqB,IAAI,IAAI0E,OAAO,CAAC9pB,GAAR,CAAYolB,IAAZ,EAAkB,EAAlB,CAAtB;AACA,MAAID,KAAK,CAAC3oC,MAAN,IAAgB,CAApB,EACI,OAAOstC,OAAP;AACJ,QAAMC,SAAS,GAAG,CAAlB;AACA,QAAMC,OAAO,GAAG,IAAIhgB,GAAJ,CAAQmb,KAAR,CAAhB;AACA,QAAM8E,YAAY,GAAG,IAAIlqB,GAAJ,EAArB;;AACA,WAASmqB,OAAT,CAAiB/hB,IAAjB,EAAuB;AACnB,QAAI,CAACA,IAAL,EACI,OAAO4hB,SAAP;AACJ,QAAI3E,IAAI,GAAG6E,YAAY,CAAC1lC,GAAb,CAAiB4jB,IAAjB,CAAX;AACA,QAAIid,IAAJ,EACI,OAAOA,IAAP;AACJ,UAAMjE,MAAM,GAAGhZ,IAAI,CAAC/G,UAApB;;AACA,QAAI0oB,OAAO,CAACzf,GAAR,CAAY8W,MAAZ,CAAJ,EAAyB;AAAE;AACvBiE,MAAAA,IAAI,GAAGjE,MAAP;AACH,KAFD,MAGK,IAAI6I,OAAO,CAAC3f,GAAR,CAAY8W,MAAZ,CAAJ,EAAyB;AAAE;AAC5BiE,MAAAA,IAAI,GAAG2E,SAAP;AACH,KAFI,MAGA;AAAE;AACH3E,MAAAA,IAAI,GAAG8E,OAAO,CAAC/I,MAAD,CAAd;AACH;;AACD8I,IAAAA,YAAY,CAACjqB,GAAb,CAAiBmI,IAAjB,EAAuBid,IAAvB;AACA,WAAOA,IAAP;AACH;;AACDD,EAAAA,KAAK,CAACjqB,OAAN,CAAciN,IAAI,IAAI;AAClB,UAAMid,IAAI,GAAG8E,OAAO,CAAC/hB,IAAD,CAApB;;AACA,QAAIid,IAAI,KAAK2E,SAAb,EAAwB;AACpBD,MAAAA,OAAO,CAACvlC,GAAR,CAAY6gC,IAAZ,EAAkBhqB,IAAlB,CAAuB+M,IAAvB;AACH;AACJ,GALD;AAMA,SAAO2hB,OAAP;AACH;;AACD,MAAMK,iBAAiB,GAAG,WAA1B;;AACA,SAASC,aAAT,CAAuB32B,OAAvB,EAAgC4xB,SAAhC,EAA2C;AACvC,MAAI5xB,OAAO,CAAC42B,SAAZ,EAAuB;AACnB,WAAO52B,OAAO,CAAC42B,SAAR,CAAkBnpB,QAAlB,CAA2BmkB,SAA3B,CAAP;AACH,GAFD,MAGK;AACD,UAAMiF,OAAO,GAAG72B,OAAO,CAAC02B,iBAAD,CAAvB;AACA,WAAOG,OAAO,IAAIA,OAAO,CAACjF,SAAD,CAAzB;AACH;AACJ;;AACD,SAAS7G,QAAT,CAAkB/qB,OAAlB,EAA2B4xB,SAA3B,EAAsC;AAClC,MAAI5xB,OAAO,CAAC42B,SAAZ,EAAuB;AACnB52B,IAAAA,OAAO,CAAC42B,SAAR,CAAkBje,GAAlB,CAAsBiZ,SAAtB;AACH,GAFD,MAGK;AACD,QAAIiF,OAAO,GAAG72B,OAAO,CAAC02B,iBAAD,CAArB;;AACA,QAAI,CAACG,OAAL,EAAc;AACVA,MAAAA,OAAO,GAAG72B,OAAO,CAAC02B,iBAAD,CAAP,GAA6B,EAAvC;AACH;;AACDG,IAAAA,OAAO,CAACjF,SAAD,CAAP,GAAqB,IAArB;AACH;AACJ;;AACD,SAAS5F,WAAT,CAAqBhsB,OAArB,EAA8B4xB,SAA9B,EAAyC;AACrC,MAAI5xB,OAAO,CAAC42B,SAAZ,EAAuB;AACnB52B,IAAAA,OAAO,CAAC42B,SAAR,CAAkBE,MAAlB,CAAyBlF,SAAzB;AACH,GAFD,MAGK;AACD,QAAIiF,OAAO,GAAG72B,OAAO,CAAC02B,iBAAD,CAArB;;AACA,QAAIG,OAAJ,EAAa;AACT,aAAOA,OAAO,CAACjF,SAAD,CAAd;AACH;AACJ;AACJ;;AACD,SAAS2C,6BAAT,CAAuCnH,MAAvC,EAA+CptB,OAA/C,EAAwD+I,OAAxD,EAAiE;AAC7DsB,EAAAA,mBAAmB,CAACtB,OAAD,CAAnB,CAA6BnB,MAA7B,CAAoC,MAAMwlB,MAAM,CAACN,gBAAP,CAAwB9sB,OAAxB,CAA1C;AACH;;AACD,SAASq1B,mBAAT,CAA6BtsB,OAA7B,EAAsC;AAClC,QAAMguB,YAAY,GAAG,EAArB;;AACAC,EAAAA,yBAAyB,CAACjuB,OAAD,EAAUguB,YAAV,CAAzB;;AACA,SAAOA,YAAP;AACH;;AACD,SAASC,yBAAT,CAAmCjuB,OAAnC,EAA4CguB,YAA5C,EAA0D;AACtD,OAAK,IAAItoB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG1F,OAAO,CAAChgB,MAA5B,EAAoC0lB,CAAC,EAArC,EAAyC;AACrC,UAAMrF,MAAM,GAAGL,OAAO,CAAC0F,CAAD,CAAtB;;AACA,QAAIrF,MAAM,YAAYW,yEAAtB,EAA6C;AACzCitB,MAAAA,yBAAyB,CAAC5tB,MAAM,CAACL,OAAR,EAAiBguB,YAAjB,CAAzB;AACH,KAFD,MAGK;AACDA,MAAAA,YAAY,CAACpvB,IAAb,CAAkByB,MAAlB;AACH;AACJ;AACJ;;AACD,SAASqiB,SAAT,CAAmBnjC,CAAnB,EAAsBF,CAAtB,EAAyB;AACrB,QAAM6uC,EAAE,GAAG/rB,MAAM,CAACC,IAAP,CAAY7iB,CAAZ,CAAX;AACA,QAAM4uC,EAAE,GAAGhsB,MAAM,CAACC,IAAP,CAAY/iB,CAAZ,CAAX;AACA,MAAI6uC,EAAE,CAACluC,MAAH,IAAamuC,EAAE,CAACnuC,MAApB,EACI,OAAO,KAAP;;AACJ,OAAK,IAAI0lB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwoB,EAAE,CAACluC,MAAvB,EAA+B0lB,CAAC,EAAhC,EAAoC;AAChC,UAAMrD,IAAI,GAAG6rB,EAAE,CAACxoB,CAAD,CAAf;AACA,QAAI,CAACrmB,CAAC,CAACgpB,cAAF,CAAiBhG,IAAjB,CAAD,IAA2B9iB,CAAC,CAAC8iB,IAAD,CAAD,KAAYhjB,CAAC,CAACgjB,IAAD,CAA5C,EACI,OAAO,KAAP;AACP;;AACD,SAAO,IAAP;AACH;;AACD,SAAS0nB,sBAAT,CAAgC9yB,OAAhC,EAAyCixB,mBAAzC,EAA8DC,oBAA9D,EAAoF;AAChF,QAAMiG,SAAS,GAAGjG,oBAAoB,CAACpgC,GAArB,CAAyBkP,OAAzB,CAAlB;AACA,MAAI,CAACm3B,SAAL,EACI,OAAO,KAAP;AACJ,MAAIC,QAAQ,GAAGnG,mBAAmB,CAACngC,GAApB,CAAwBkP,OAAxB,CAAf;;AACA,MAAIo3B,QAAJ,EAAc;AACVD,IAAAA,SAAS,CAAC1vB,OAAV,CAAkBxf,IAAI,IAAImvC,QAAQ,CAACze,GAAT,CAAa1wB,IAAb,CAA1B;AACH,GAFD,MAGK;AACDgpC,IAAAA,mBAAmB,CAAC1kB,GAApB,CAAwBvM,OAAxB,EAAiCm3B,SAAjC;AACH;;AACDjG,EAAAA,oBAAoB,CAACvU,MAArB,CAA4B3c,OAA5B;AACA,SAAO,IAAP;AACH;;AAED,MAAMq3B,eAAN,CAAsB;AAClBhsC,EAAAA,WAAW,CAACk9B,QAAD,EAAWhR,OAAX,EAAoBkQ,WAApB,EAAiC;AACxC,SAAKc,QAAL,GAAgBA,QAAhB;AACA,SAAKhR,OAAL,GAAeA,OAAf;AACA,SAAKkQ,WAAL,GAAmBA,WAAnB;AACA,SAAK6P,aAAL,GAAqB,EAArB,CAJwC,CAKxC;;AACA,SAAKnI,iBAAL,GAAyB,CAACnvB,OAAD,EAAU2U,OAAV,KAAsB,CAAG,CAAlD;;AACA,SAAK4iB,iBAAL,GAAyB,IAAI9I,yBAAJ,CAA8BlG,QAA9B,EAAwChR,OAAxC,EAAiDkQ,WAAjD,CAAzB;AACA,SAAK+P,eAAL,GAAuB,IAAIlP,uBAAJ,CAA4BC,QAA5B,EAAsChR,OAAtC,EAA+CkQ,WAA/C,CAAvB;;AACA,SAAK8P,iBAAL,CAAuBpI,iBAAvB,GAA2C,CAACnvB,OAAD,EAAU2U,OAAV,KAAsB,KAAKwa,iBAAL,CAAuBnvB,OAAvB,EAAgC2U,OAAhC,CAAjE;AACH;;AACD+a,EAAAA,eAAe,CAAC+H,WAAD,EAAc9N,WAAd,EAA2Bc,WAA3B,EAAwCtlB,IAAxC,EAA8CgS,QAA9C,EAAwD;AACnE,UAAMugB,QAAQ,GAAGD,WAAW,GAAG,GAAd,GAAoBtyB,IAArC;AACA,QAAID,OAAO,GAAG,KAAKoyB,aAAL,CAAmBI,QAAnB,CAAd;;AACA,QAAI,CAACxyB,OAAL,EAAc;AACV,YAAMyF,MAAM,GAAG,EAAf;AACA,YAAMiP,GAAG,GAAG1C,iBAAiB,CAAC,KAAKK,OAAN,EAAeJ,QAAf,EAAyBxM,MAAzB,CAA7B;;AACA,UAAIA,MAAM,CAAC5hB,MAAX,EAAmB;AACf,cAAM,IAAIoC,KAAJ,CAAW,0BAAyBga,IAAK,0DAAyDwF,MAAM,CAAC9hB,IAAP,CAAY,OAAZ,CAAqB,EAAvH,CAAN;AACH;;AACDqc,MAAAA,OAAO,GAAGqiB,YAAY,CAACpiB,IAAD,EAAOyU,GAAP,EAAY,KAAK6N,WAAjB,CAAtB;AACA,WAAK6P,aAAL,CAAmBI,QAAnB,IAA+BxyB,OAA/B;AACH;;AACD,SAAKqyB,iBAAL,CAAuB7H,eAAvB,CAAuC/F,WAAvC,EAAoDxkB,IAApD,EAA0DD,OAA1D;AACH;;AACDwjB,EAAAA,QAAQ,CAACiB,WAAD,EAAcc,WAAd,EAA2B;AAC/B,SAAK8M,iBAAL,CAAuB7O,QAAvB,CAAgCiB,WAAhC,EAA6Cc,WAA7C;AACH;;AACDniB,EAAAA,OAAO,CAACqhB,WAAD,EAAchV,OAAd,EAAuB;AAC1B,SAAK4iB,iBAAL,CAAuBjvB,OAAvB,CAA+BqhB,WAA/B,EAA4ChV,OAA5C;AACH;;AACDgjB,EAAAA,QAAQ,CAAChO,WAAD,EAAc3pB,OAAd,EAAuB0tB,MAAvB,EAA+BoC,YAA/B,EAA6C;AACjD,SAAKyH,iBAAL,CAAuBxJ,UAAvB,CAAkCpE,WAAlC,EAA+C3pB,OAA/C,EAAwD0tB,MAAxD,EAAgEoC,YAAhE;AACH;;AACD8H,EAAAA,QAAQ,CAACjO,WAAD,EAAc3pB,OAAd,EAAuB2U,OAAvB,EAAgCsb,aAAhC,EAA+C;AACnD,SAAKsH,iBAAL,CAAuBpK,UAAvB,CAAkCxD,WAAlC,EAA+C3pB,OAA/C,EAAwDiwB,aAAa,IAAI,KAAzE,EAAgFtb,OAAhF;AACH;;AACDkjB,EAAAA,iBAAiB,CAAC73B,OAAD,EAAU83B,OAAV,EAAmB;AAChC,SAAKP,iBAAL,CAAuBvH,qBAAvB,CAA6ChwB,OAA7C,EAAsD83B,OAAtD;AACH;;AACD3tB,EAAAA,OAAO,CAACwf,WAAD,EAAc3pB,OAAd,EAAuB+3B,QAAvB,EAAiCtmC,KAAjC,EAAwC;AAC3C,QAAIsmC,QAAQ,CAACnvC,MAAT,CAAgB,CAAhB,KAAsB,GAA1B,EAA+B;AAC3B,YAAM,CAACiZ,EAAD,EAAKgL,MAAL,IAAeL,oBAAoB,CAACurB,QAAD,CAAzC;AACA,YAAM7O,IAAI,GAAGz3B,KAAb;;AACA,WAAK+lC,eAAL,CAAqB/qB,OAArB,CAA6B5K,EAA7B,EAAiC7B,OAAjC,EAA0C6M,MAA1C,EAAkDqc,IAAlD;AACH,KAJD,MAKK;AACD,WAAKqO,iBAAL,CAAuBryB,OAAvB,CAA+BykB,WAA/B,EAA4C3pB,OAA5C,EAAqD+3B,QAArD,EAA+DtmC,KAA/D;AACH;AACJ;;AACDu3B,EAAAA,MAAM,CAACW,WAAD,EAAc3pB,OAAd,EAAuB2L,SAAvB,EAAkCqsB,UAAlC,EAA8CpsB,QAA9C,EAAwD;AAC1D;AACA,QAAID,SAAS,CAAC/iB,MAAV,CAAiB,CAAjB,KAAuB,GAA3B,EAAgC;AAC5B,YAAM,CAACiZ,EAAD,EAAKgL,MAAL,IAAeL,oBAAoB,CAACb,SAAD,CAAzC;AACA,aAAO,KAAK6rB,eAAL,CAAqBxO,MAArB,CAA4BnnB,EAA5B,EAAgC7B,OAAhC,EAAyC6M,MAAzC,EAAiDjB,QAAjD,CAAP;AACH;;AACD,WAAO,KAAK2rB,iBAAL,CAAuBvO,MAAvB,CAA8BW,WAA9B,EAA2C3pB,OAA3C,EAAoD2L,SAApD,EAA+DqsB,UAA/D,EAA2EpsB,QAA3E,CAAP;AACH;;AACD8kB,EAAAA,KAAK,CAACzC,WAAW,GAAG,CAAC,CAAhB,EAAmB;AACpB,SAAKsJ,iBAAL,CAAuB7G,KAAvB,CAA6BzC,WAA7B;AACH;;AACU,MAAPllB,OAAO,GAAG;AACV,WAAO,KAAKwuB,iBAAL,CAAuBxuB,OAAvB,CACFkvB,MADE,CACK,KAAKT,eAAL,CAAqBzuB,OAD1B,CAAP;AAEH;;AACD0nB,EAAAA,iBAAiB,GAAG;AAChB,WAAO,KAAK8G,iBAAL,CAAuB9G,iBAAvB,EAAP;AACH;;AApEiB;AAuEtB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyH,0BAAT,CAAoCl4B,OAApC,EAA6C/R,MAA7C,EAAqD;AACjD,MAAIkqC,WAAW,GAAG,IAAlB;AACA,MAAIC,SAAS,GAAG,IAAhB;;AACA,MAAInmB,KAAK,CAACC,OAAN,CAAcjkB,MAAd,KAAyBA,MAAM,CAAClF,MAApC,EAA4C;AACxCovC,IAAAA,WAAW,GAAGE,yBAAyB,CAACpqC,MAAM,CAAC,CAAD,CAAP,CAAvC;;AACA,QAAIA,MAAM,CAAClF,MAAP,GAAgB,CAApB,EAAuB;AACnBqvC,MAAAA,SAAS,GAAGC,yBAAyB,CAACpqC,MAAM,CAACA,MAAM,CAAClF,MAAP,GAAgB,CAAjB,CAAP,CAArC;AACH;AACJ,GALD,MAMK,IAAIkF,MAAJ,EAAY;AACbkqC,IAAAA,WAAW,GAAGE,yBAAyB,CAACpqC,MAAD,CAAvC;AACH;;AACD,SAAQkqC,WAAW,IAAIC,SAAhB,GAA6B,IAAIE,kBAAJ,CAAuBt4B,OAAvB,EAAgCm4B,WAAhC,EAA6CC,SAA7C,CAA7B,GACH,IADJ;AAEH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACME;AAAN,QAAMA,kBAAN,CAAyB;AACrBjtC,IAAAA,WAAW,CAACktC,QAAD,EAAWC,YAAX,EAAyBC,UAAzB,EAAqC;AAC5C,WAAKF,QAAL,GAAgBA,QAAhB;AACA,WAAKC,YAAL,GAAoBA,YAApB;AACA,WAAKC,UAAL,GAAkBA,UAAlB;AACA,WAAKC,MAAL,GAAc;AAAE;AAAhB;AACA,UAAIC,aAAa,GAAGL,kBAAkB,CAACM,sBAAnB,CAA0C9nC,GAA1C,CAA8CynC,QAA9C,CAApB;;AACA,UAAI,CAACI,aAAL,EAAoB;AAChBL,QAAAA,kBAAkB,CAACM,sBAAnB,CAA0CrsB,GAA1C,CAA8CgsB,QAA9C,EAAwDI,aAAa,GAAG,EAAxE;AACH;;AACD,WAAKE,cAAL,GAAsBF,aAAtB;AACH;;AACDtU,IAAAA,KAAK,GAAG;AACJ,UAAI,KAAKqU,MAAL,GAAc;AAAE;AAApB,QAAmC;AAC/B,YAAI,KAAKF,YAAT,EAAuB;AACnB3lB,UAAAA,SAAS,CAAC,KAAK0lB,QAAN,EAAgB,KAAKC,YAArB,EAAmC,KAAKK,cAAxC,CAAT;AACH;;AACD,aAAKH,MAAL,GAAc;AAAE;AAAhB;AACH;AACJ;;AACDrwB,IAAAA,MAAM,GAAG;AACL,WAAKgc,KAAL;;AACA,UAAI,KAAKqU,MAAL,GAAc;AAAE;AAApB,QAAoC;AAChC7lB,QAAAA,SAAS,CAAC,KAAK0lB,QAAN,EAAgB,KAAKM,cAArB,CAAT;;AACA,YAAI,KAAKJ,UAAT,EAAqB;AACjB5lB,UAAAA,SAAS,CAAC,KAAK0lB,QAAN,EAAgB,KAAKE,UAArB,CAAT;AACA,eAAKA,UAAL,GAAkB,IAAlB;AACH;;AACD,aAAKC,MAAL,GAAc;AAAE;AAAhB;AACH;AACJ;;AACDpwB,IAAAA,OAAO,GAAG;AACN,WAAKD,MAAL;;AACA,UAAI,KAAKqwB,MAAL,GAAc;AAAE;AAApB,QAAqC;AACjCJ,QAAAA,kBAAkB,CAACM,sBAAnB,CAA0Cjc,MAA1C,CAAiD,KAAK4b,QAAtD;;AACA,YAAI,KAAKC,YAAT,EAAuB;AACnBxlB,UAAAA,WAAW,CAAC,KAAKulB,QAAN,EAAgB,KAAKC,YAArB,CAAX;AACA,eAAKC,UAAL,GAAkB,IAAlB;AACH;;AACD,YAAI,KAAKA,UAAT,EAAqB;AACjBzlB,UAAAA,WAAW,CAAC,KAAKulB,QAAN,EAAgB,KAAKE,UAArB,CAAX;AACA,eAAKA,UAAL,GAAkB,IAAlB;AACH;;AACD5lB,QAAAA,SAAS,CAAC,KAAK0lB,QAAN,EAAgB,KAAKM,cAArB,CAAT;AACA,aAAKH,MAAL,GAAc;AAAE;AAAhB;AACH;AACJ;;AA9CoB;;AAgDzBJ,EAAAA,kBAAkB,CAACM,sBAAnB,GAA8C,eAAe,IAAIE,OAAJ,EAA7D;SAhDMR;;;AAiDN,SAASD,yBAAT,CAAmCpqC,MAAnC,EAA2C;AACvC,MAAIghB,MAAM,GAAG,IAAb;AACA,QAAMsT,KAAK,GAAGrX,MAAM,CAACC,IAAP,CAAYld,MAAZ,CAAd;;AACA,OAAK,IAAIwgB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8T,KAAK,CAACx5B,MAA1B,EAAkC0lB,CAAC,EAAnC,EAAuC;AACnC,UAAMrD,IAAI,GAAGmX,KAAK,CAAC9T,CAAD,CAAlB;;AACA,QAAIsqB,oBAAoB,CAAC3tB,IAAD,CAAxB,EAAgC;AAC5B6D,MAAAA,MAAM,GAAGA,MAAM,IAAI,EAAnB;AACAA,MAAAA,MAAM,CAAC7D,IAAD,CAAN,GAAend,MAAM,CAACmd,IAAD,CAArB;AACH;AACJ;;AACD,SAAO6D,MAAP;AACH;;AACD,SAAS8pB,oBAAT,CAA8B3tB,IAA9B,EAAoC;AAChC,SAAOA,IAAI,KAAK,SAAT,IAAsBA,IAAI,KAAK,UAAtC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM4tB,+BAA+B,GAAG,CAAxC;AACA,MAAMC,cAAc,GAAG,WAAvB;AACA,MAAMC,kBAAkB,GAAG,cAA3B;AACA,MAAMC,YAAY,GAAG,IAArB;;AACA,MAAMC,4BAAN,CAAmC;AAC/B/tC,EAAAA,WAAW,CAACktC,QAAD,EAAWc,KAAX,EAAkBC,SAAlB,EAA6BC,MAA7B,EAAqCC,OAArC,EAA8CC,SAA9C,EAAyDC,SAAzD,EAAoE;AAC3E,SAAKnB,QAAL,GAAgBA,QAAhB;AACA,SAAKc,KAAL,GAAaA,KAAb;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKtyB,SAAL,GAAiB,KAAjB;AACA,SAAK5Y,UAAL,GAAkB,KAAlB;AACA,SAAKmrC,UAAL,GAAkB,CAAlB;AACA,SAAKtyB,SAAL,GAAiB,CAAjB;;AACA,SAAKuyB,QAAL,GAAiBnqC,CAAD,IAAO,KAAKoqC,eAAL,CAAqBpqC,CAArB,CAAvB;AACH;;AACD4e,EAAAA,KAAK,GAAG;AACJyrB,IAAAA,sBAAsB,CAAC,KAAKvB,QAAN,EAAiB,GAAE,KAAKe,SAAU,MAAK,KAAKE,OAAQ,IAAG,KAAKD,MAAO,eAAc,KAAKE,SAAU,IAAG,KAAKJ,KAAM,EAA9G,CAAtB;AACAU,IAAAA,uBAAuB,CAAC,KAAKxB,QAAN,EAAgB,KAAKqB,QAArB,EAA+B,KAA/B,CAAvB;AACA,SAAKD,UAAL,GAAkBK,IAAI,CAACC,GAAL,EAAlB;AACH;;AACD9xB,EAAAA,KAAK,GAAG;AACJ+xB,IAAAA,kBAAkB,CAAC,KAAK3B,QAAN,EAAgB,KAAKc,KAArB,EAA4B,QAA5B,CAAlB;AACH;;AACDc,EAAAA,MAAM,GAAG;AACLD,IAAAA,kBAAkB,CAAC,KAAK3B,QAAN,EAAgB,KAAKc,KAArB,EAA4B,SAA5B,CAAlB;AACH;;AACD7wB,EAAAA,WAAW,CAAC5K,QAAD,EAAW;AAClB,UAAMmrB,KAAK,GAAGqR,qBAAqB,CAAC,KAAK7B,QAAN,EAAgB,KAAKc,KAArB,CAAnC;AACA,SAAKhyB,SAAL,GAAiBzJ,QAAQ,GAAG,KAAK07B,SAAjC;AACAe,IAAAA,iBAAiB,CAAC,KAAK9B,QAAN,EAAgB,OAAhB,EAA0B,IAAG,KAAKlxB,SAAU,IAA5C,EAAiD0hB,KAAjD,CAAjB;AACH;;AACDtgB,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKpB,SAAZ;AACH;;AACDwyB,EAAAA,eAAe,CAAC18B,KAAD,EAAQ;AACnB,UAAMm9B,SAAS,GAAGn9B,KAAK,CAACo9B,sBAAN,IAAgCP,IAAI,CAACC,GAAL,EAAlD;AACA,UAAMO,WAAW,GAAGvxC,UAAU,CAACkU,KAAK,CAACq9B,WAAN,CAAkBC,OAAlB,CAA0BzB,+BAA1B,CAAD,CAAV,GAAyEG,YAA7F;;AACA,QAAIh8B,KAAK,CAACu9B,aAAN,IAAuB,KAAKrB,KAA5B,IACAryC,IAAI,CAACK,GAAL,CAASizC,SAAS,GAAG,KAAKX,UAA1B,EAAsC,CAAtC,KAA4C,KAAKJ,MADjD,IAC2DiB,WAAW,IAAI,KAAKlB,SADnF,EAC8F;AAC1F,WAAKjxB,MAAL;AACH;AACJ;;AACDA,EAAAA,MAAM,GAAG;AACL,QAAI,KAAKjB,SAAT,EACI;AACJ,SAAKA,SAAL,GAAiB,IAAjB;;AACA,SAAKsyB,SAAL;;AACAK,IAAAA,uBAAuB,CAAC,KAAKxB,QAAN,EAAgB,KAAKqB,QAArB,EAA+B,IAA/B,CAAvB;AACH;;AACDtxB,EAAAA,OAAO,GAAG;AACN,QAAI,KAAK9Z,UAAT,EACI;AACJ,SAAKA,UAAL,GAAkB,IAAlB;AACA,SAAK6Z,MAAL;AACAsyB,IAAAA,uBAAuB,CAAC,KAAKpC,QAAN,EAAgB,KAAKc,KAArB,CAAvB;AACH;;AAvD8B;;AAyDnC,SAASa,kBAAT,CAA4Bl6B,OAA5B,EAAqCmF,IAArC,EAA2Cy1B,MAA3C,EAAmD;AAC/C,QAAM7R,KAAK,GAAGqR,qBAAqB,CAACp6B,OAAD,EAAUmF,IAAV,CAAnC;AACAk1B,EAAAA,iBAAiB,CAACr6B,OAAD,EAAU,WAAV,EAAuB46B,MAAvB,EAA+B7R,KAA/B,CAAjB;AACH;;AACD,SAAS+Q,sBAAT,CAAgC95B,OAAhC,EAAyCvO,KAAzC,EAAgD;AAC5C,QAAMopC,IAAI,GAAGC,iBAAiB,CAAC96B,OAAD,EAAU,EAAV,CAAjB,CAA+B8kB,IAA/B,EAAb;AACA,MAAIiE,KAAK,GAAG,CAAZ;;AACA,MAAI8R,IAAI,CAAC9xC,MAAT,EAAiB;AACbggC,IAAAA,KAAK,GAAGgS,UAAU,CAACF,IAAD,EAAO,GAAP,CAAV,GAAwB,CAAhC;AACAppC,IAAAA,KAAK,GAAI,GAAEopC,IAAK,KAAIppC,KAAM,EAA1B;AACH;;AACD4oC,EAAAA,iBAAiB,CAACr6B,OAAD,EAAU,EAAV,EAAcvO,KAAd,CAAjB;AACA,SAAOs3B,KAAP;AACH;;AACD,SAAS4R,uBAAT,CAAiC36B,OAAjC,EAA0CmF,IAA1C,EAAgD;AAC5C,QAAM01B,IAAI,GAAGC,iBAAiB,CAAC96B,OAAD,EAAU,EAAV,CAA9B;AACA,QAAM4F,MAAM,GAAGi1B,IAAI,CAAC/kB,KAAL,CAAW,GAAX,CAAf;AACA,QAAMiT,KAAK,GAAGiS,sBAAsB,CAACp1B,MAAD,EAAST,IAAT,CAApC;;AACA,MAAI4jB,KAAK,IAAI,CAAb,EAAgB;AACZnjB,IAAAA,MAAM,CAACgM,MAAP,CAAcmX,KAAd,EAAqB,CAArB;AACA,UAAMzuB,QAAQ,GAAGsL,MAAM,CAAC/c,IAAP,CAAY,GAAZ,CAAjB;AACAwxC,IAAAA,iBAAiB,CAACr6B,OAAD,EAAU,EAAV,EAAc1F,QAAd,CAAjB;AACH;AACJ;;AACD,SAAS8/B,qBAAT,CAA+Bp6B,OAA/B,EAAwCvO,KAAxC,EAA+C;AAC3C,QAAMopC,IAAI,GAAGC,iBAAiB,CAAC96B,OAAD,EAAU,EAAV,CAA9B;;AACA,MAAI66B,IAAI,CAACluB,OAAL,CAAa,GAAb,IAAoB,CAAxB,EAA2B;AACvB,UAAM/G,MAAM,GAAGi1B,IAAI,CAAC/kB,KAAL,CAAW,GAAX,CAAf;AACA,WAAOklB,sBAAsB,CAACp1B,MAAD,EAASnU,KAAT,CAA7B;AACH;;AACD,SAAOupC,sBAAsB,CAAC,CAACH,IAAD,CAAD,EAASppC,KAAT,CAA7B;AACH;;AACD,SAASupC,sBAAT,CAAgCp1B,MAAhC,EAAwCq1B,WAAxC,EAAqD;AACjD,OAAK,IAAIxsB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG7I,MAAM,CAAC7c,MAA3B,EAAmC0lB,CAAC,EAApC,EAAwC;AACpC,QAAI7I,MAAM,CAAC6I,CAAD,CAAN,CAAU9B,OAAV,CAAkBsuB,WAAlB,KAAkC,CAAtC,EAAyC;AACrC,aAAOxsB,CAAP;AACH;AACJ;;AACD,SAAO,CAAC,CAAR;AACH;;AACD,SAASsrB,uBAAT,CAAiC/5B,OAAjC,EAA0CK,EAA1C,EAA8C66B,QAA9C,EAAwD;AACpDA,EAAAA,QAAQ,GAAGl7B,OAAO,CAAC/P,mBAAR,CAA4BipC,kBAA5B,EAAgD74B,EAAhD,CAAH,GACJL,OAAO,CAACpQ,gBAAR,CAAyBspC,kBAAzB,EAA6C74B,EAA7C,CADJ;AAEH;;AACD,SAASg6B,iBAAT,CAA2Br6B,OAA3B,EAAoCmF,IAApC,EAA0C1T,KAA1C,EAAiDs3B,KAAjD,EAAwD;AACpD,QAAM3d,IAAI,GAAG6tB,cAAc,GAAG9zB,IAA9B;;AACA,MAAI4jB,KAAK,IAAI,IAAb,EAAmB;AACf,UAAM7tB,QAAQ,GAAG8E,OAAO,CAAC2F,KAAR,CAAcyF,IAAd,CAAjB;;AACA,QAAIlQ,QAAQ,CAACnS,MAAb,EAAqB;AACjB,YAAM6c,MAAM,GAAG1K,QAAQ,CAAC4a,KAAT,CAAe,GAAf,CAAf;AACAlQ,MAAAA,MAAM,CAACmjB,KAAD,CAAN,GAAgBt3B,KAAhB;AACAA,MAAAA,KAAK,GAAGmU,MAAM,CAAC/c,IAAP,CAAY,GAAZ,CAAR;AACH;AACJ;;AACDmX,EAAAA,OAAO,CAAC2F,KAAR,CAAcyF,IAAd,IAAsB3Z,KAAtB;AACH;;AACD,SAASqpC,iBAAT,CAA2B96B,OAA3B,EAAoCmF,IAApC,EAA0C;AACtC,SAAOnF,OAAO,CAAC2F,KAAR,CAAcszB,cAAc,GAAG9zB,IAA/B,KAAwC,EAA/C;AACH;;AACD,SAAS41B,UAAT,CAAoBtpC,KAApB,EAA2B0pC,IAA3B,EAAiC;AAC7B,MAAIC,KAAK,GAAG,CAAZ;;AACA,OAAK,IAAI3sB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGhd,KAAK,CAAC1I,MAA1B,EAAkC0lB,CAAC,EAAnC,EAAuC;AACnC,UAAM3lB,CAAC,GAAG2I,KAAK,CAAC7I,MAAN,CAAa6lB,CAAb,CAAV;AACA,QAAI3lB,CAAC,KAAKqyC,IAAV,EACIC,KAAK;AACZ;;AACD,SAAOA,KAAP;AACH;;AAED,MAAMC,iBAAiB,GAAG,UAA1B;AACA,MAAMC,cAAc,GAAG,QAAvB;;AACA,MAAMC,kBAAN,CAAyB;AACrBlwC,EAAAA,WAAW,CAAC2U,OAAD,EAAU+F,SAAV,EAAqB20B,aAArB,EAAoCpB,SAApC,EAA+CC,MAA/C,EAAuDzpB,MAAvD,EAA+D0rB,YAA/D,EAA6EC,cAA7E,EAA6F;AACpG,SAAKz7B,OAAL,GAAeA,OAAf;AACA,SAAK+F,SAAL,GAAiBA,SAAjB;AACA,SAAK20B,aAAL,GAAqBA,aAArB;AACA,SAAKpB,SAAL,GAAiBA,SAAjB;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKiC,YAAL,GAAoBA,YAApB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKz0B,UAAL,GAAkB,EAAlB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA,SAAKC,aAAL,GAAqB,EAArB;AACA,SAAKw0B,eAAL,GAAuB,EAAvB;AACA,SAAKhD,MAAL,GAAc,CAAd;AACA,SAAK5oB,MAAL,GAAcA,MAAM,IAAIwrB,cAAxB;AACA,SAAK/zB,SAAL,GAAiB+xB,SAAS,GAAGC,MAA7B;;AACA,SAAKoC,YAAL;AACH;;AACDj0B,EAAAA,OAAO,CAACrH,EAAD,EAAK;AACR,SAAK4G,WAAL,CAAiBU,IAAjB,CAAsBtH,EAAtB;AACH;;AACDuH,EAAAA,MAAM,CAACvH,EAAD,EAAK;AACP,SAAK2G,UAAL,CAAgBW,IAAhB,CAAqBtH,EAArB;AACH;;AACDwH,EAAAA,SAAS,CAACxH,EAAD,EAAK;AACV,SAAK6G,aAAL,CAAmBS,IAAnB,CAAwBtH,EAAxB;AACH;;AACDiI,EAAAA,OAAO,GAAG;AACN,SAAKP,IAAL;AACA,QAAI,KAAK2wB,MAAL,IAAe;AAAE;AAArB,MACI;AACJ,SAAKA,MAAL,GAAc;AAAE;AAAhB;;AACA,SAAKkD,OAAL,CAAatzB,OAAb;;AACA,SAAKuzB,cAAL;;AACA,SAAKC,aAAL;;AACA,QAAI,KAAKL,cAAT,EAAyB;AACrB,WAAKA,cAAL,CAAoBnzB,OAApB;AACH;;AACD,SAAKpB,aAAL,CAAmBO,OAAnB,CAA2BpH,EAAE,IAAIA,EAAE,EAAnC;;AACA,SAAK6G,aAAL,GAAqB,EAArB;AACH;;AACD40B,EAAAA,aAAa,GAAG;AACZ,SAAK90B,UAAL,CAAgBS,OAAhB,CAAwBpH,EAAE,IAAIA,EAAE,EAAhC;;AACA,SAAK2G,UAAL,GAAkB,EAAlB;AACH;;AACD60B,EAAAA,cAAc,GAAG;AACb,SAAK50B,WAAL,CAAiBQ,OAAjB,CAAyBpH,EAAE,IAAIA,EAAE,EAAjC;;AACA,SAAK4G,WAAL,GAAmB,EAAnB;AACH;;AACDoB,EAAAA,MAAM,GAAG;AACL,SAAKN,IAAL;AACA,QAAI,KAAK2wB,MAAL,IAAe;AAAE;AAArB,MACI;AACJ,SAAKA,MAAL,GAAc;AAAE;AAAhB;;AACA,SAAKkD,OAAL,CAAavzB,MAAb;;AACA,SAAKwzB,cAAL;;AACA,QAAI,KAAKJ,cAAT,EAAyB;AACrB,WAAKA,cAAL,CAAoBpzB,MAApB;AACH;;AACD,SAAKyzB,aAAL;AACH;;AACDtzB,EAAAA,WAAW,CAAC/W,KAAD,EAAQ;AACf,SAAKmqC,OAAL,CAAapzB,WAAb,CAAyB/W,KAAzB;AACH;;AACDgX,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKmzB,OAAL,CAAanzB,WAAb,EAAP;AACH;;AACDX,EAAAA,UAAU,GAAG;AACT,WAAO,KAAK4wB,MAAL,IAAe;AAAE;AAAxB;AACH;;AACD3wB,EAAAA,IAAI,GAAG;AACH,QAAI,KAAK2wB,MAAL,IAAe;AAAE;AAArB,MACI;AACJ,SAAKA,MAAL,GAAc;AAAE;AAAhB;AACA,UAAMhqB,GAAG,GAAG,KAAK1O,OAAjB;;AACA,SAAK47B,OAAL,CAAavtB,KAAb;;AACA,QAAI,KAAKkrB,MAAT,EAAiB;AACb,WAAKqC,OAAL,CAAazzB,KAAb;AACH;AACJ;;AACDH,EAAAA,IAAI,GAAG;AACH,SAAKD,IAAL;;AACA,QAAI,CAAC,KAAKD,UAAL,EAAL,EAAwB;AACpB,WAAK+zB,cAAL;;AACA,WAAKnD,MAAL,GAAc;AAAE;AAAhB;;AACA,UAAI,KAAK+C,cAAT,EAAyB;AACrB,aAAKA,cAAL,CAAoBpX,KAApB;AACH;AACJ;;AACD,SAAKuX,OAAL,CAAazB,MAAb;AACH;;AACDhyB,EAAAA,KAAK,GAAG;AACJ,SAAKJ,IAAL;;AACA,SAAK6zB,OAAL,CAAazzB,KAAb;AACH;;AACDC,EAAAA,OAAO,GAAG;AACN,SAAKG,KAAL;AACA,SAAKP,IAAL;AACH;;AACDO,EAAAA,KAAK,GAAG;AACJ,SAAKmwB,MAAL,GAAc;AAAE;AAAhB;;AACA,SAAKkD,OAAL,CAAatzB,OAAb;;AACA,SAAKqzB,YAAL;;AACA,SAAKC,OAAL,CAAavtB,KAAb;AACH;;AACDstB,EAAAA,YAAY,GAAG;AACX,SAAKC,OAAL,GAAe,IAAIxC,4BAAJ,CAAiC,KAAKp5B,OAAtC,EAA+C,KAAK06B,aAApD,EAAmE,KAAKpB,SAAxE,EAAmF,KAAKC,MAAxF,EAAgG,KAAKzpB,MAArG,EAA6GurB,iBAA7G,EAAgI,MAAM,KAAKhzB,MAAL,EAAtI,CAAf;AACH;AACD;;;AACAK,EAAAA,eAAe,CAACC,SAAD,EAAY;AACvB,UAAMC,OAAO,GAAGD,SAAS,IAAI,OAAb,GAAuB,KAAK1B,WAA5B,GAA0C,KAAKD,UAA/D;AACA4B,IAAAA,OAAO,CAACnB,OAAR,CAAgBpH,EAAE,IAAIA,EAAE,EAAxB;AACAuI,IAAAA,OAAO,CAAC7f,MAAR,GAAiB,CAAjB;AACH;;AACD8gB,EAAAA,aAAa,GAAG;AACZ,SAAK9B,IAAL;AACA,UAAM9Z,MAAM,GAAG,EAAf;;AACA,QAAI,KAAK6Z,UAAL,EAAJ,EAAuB;AACnB,YAAMi0B,QAAQ,GAAG,KAAKrD,MAAL,IAAe;AAAE;AAAlC;AACAxtB,MAAAA,MAAM,CAACC,IAAP,CAAY,KAAKqwB,YAAjB,EAA+B/zB,OAA/B,CAAuC2D,IAAI,IAAI;AAC3C,YAAIA,IAAI,IAAI,QAAZ,EAAsB;AAClBnd,UAAAA,MAAM,CAACmd,IAAD,CAAN,GAAe2wB,QAAQ,GAAG,KAAKP,YAAL,CAAkBpwB,IAAlB,CAAH,GAA6ByE,YAAY,CAAC,KAAK7P,OAAN,EAAeoL,IAAf,CAAhE;AACH;AACJ,OAJD;AAKH;;AACD,SAAKswB,eAAL,GAAuBztC,MAAvB;AACH;;AA9HoB;AAiIzB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+tC,iBAAN,SAAgCn1B,oEAAhC,CAAoD;AAChDxb,EAAAA,WAAW,CAAC2U,OAAD,EAAU/R,MAAV,EAAkB;AACzB;AACA,SAAK+R,OAAL,GAAeA,OAAf;AACA,SAAKi8B,eAAL,GAAuB,EAAvB;AACA,SAAKC,aAAL,GAAqB,KAArB;AACA,SAAKC,OAAL,GAAe3sB,mBAAmB,CAACvhB,MAAD,CAAlC;AACH;;AACD8Z,EAAAA,IAAI,GAAG;AACH,QAAI,KAAKm0B,aAAL,IAAsB,CAAC,KAAKD,eAAhC,EACI;AACJ,SAAKC,aAAL,GAAqB,IAArB;AACAhxB,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAKgxB,OAAjB,EAA0B10B,OAA1B,CAAkC2D,IAAI,IAAI;AACtC,WAAK6wB,eAAL,CAAqB7wB,IAArB,IAA6B,KAAKpL,OAAL,CAAa2F,KAAb,CAAmByF,IAAnB,CAA7B;AACH,KAFD;AAGA,UAAMrD,IAAN;AACH;;AACDC,EAAAA,IAAI,GAAG;AACH,QAAI,CAAC,KAAKi0B,eAAV,EACI;AACJ,SAAKl0B,IAAL;AACAmD,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAKgxB,OAAjB,EACK10B,OADL,CACa2D,IAAI,IAAI,KAAKpL,OAAL,CAAa2F,KAAb,CAAmBy2B,WAAnB,CAA+BhxB,IAA/B,EAAqC,KAAK+wB,OAAL,CAAa/wB,IAAb,CAArC,CADrB;AAEA,UAAMpD,IAAN;AACH;;AACDM,EAAAA,OAAO,GAAG;AACN,QAAI,CAAC,KAAK2zB,eAAV,EACI;AACJ/wB,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAK8wB,eAAjB,EAAkCx0B,OAAlC,CAA0C2D,IAAI,IAAI;AAC9C,YAAM3Z,KAAK,GAAG,KAAKwqC,eAAL,CAAqB7wB,IAArB,CAAd;;AACA,UAAI3Z,KAAJ,EAAW;AACP,aAAKuO,OAAL,CAAa2F,KAAb,CAAmBy2B,WAAnB,CAA+BhxB,IAA/B,EAAqC3Z,KAArC;AACH,OAFD,MAGK;AACD,aAAKuO,OAAL,CAAa2F,KAAb,CAAmB02B,cAAnB,CAAkCjxB,IAAlC;AACH;AACJ,KARD;AASA,SAAK6wB,eAAL,GAAuB,IAAvB;AACA,UAAM3zB,OAAN;AACH;;AAvC+C;;AA0CpD,MAAMg0B,qBAAqB,GAAG,aAA9B;AACA,MAAMC,SAAS,GAAG,GAAlB;;AACA,MAAMC,kBAAN,CAAyB;AACrBnxC,EAAAA,WAAW,GAAG;AACV,SAAKoxC,MAAL,GAAc,CAAd;AACH;;AACD1tB,EAAAA,qBAAqB,CAAC3D,IAAD,EAAO;AACxB,WAAO2D,qBAAqB,CAAC3D,IAAD,CAA5B;AACH;;AACDiE,EAAAA,cAAc,CAACrP,OAAD,EAAUsG,QAAV,EAAoB;AAC9B,WAAO+I,cAAc,CAACrP,OAAD,EAAUsG,QAAV,CAArB;AACH;;AACDgJ,EAAAA,eAAe,CAACtC,IAAD,EAAOC,IAAP,EAAa;AACxB,WAAOqC,eAAe,CAACtC,IAAD,EAAOC,IAAP,CAAtB;AACH;;AACD5G,EAAAA,KAAK,CAACrG,OAAD,EAAUsG,QAAV,EAAoBtH,KAApB,EAA2B;AAC5B,WAAOuQ,WAAW,CAACvP,OAAD,EAAUsG,QAAV,EAAoBtH,KAApB,CAAlB;AACH;;AACD6Q,EAAAA,YAAY,CAAC7P,OAAD,EAAUoL,IAAV,EAAgBiB,YAAhB,EAA8B;AACtC,WAAOpC,MAAM,CAACwL,gBAAP,CAAwBzV,OAAxB,EAAiCoL,IAAjC,CAAP;AACH;;AACDsxB,EAAAA,oBAAoB,CAAC18B,OAAD,EAAUmF,IAAV,EAAgBY,SAAhB,EAA2B;AAC3CA,IAAAA,SAAS,GAAGA,SAAS,CAACoG,GAAV,CAAcpB,EAAE,IAAIyE,mBAAmB,CAACzE,EAAD,CAAvC,CAAZ;AACA,QAAI4xB,WAAW,GAAI,cAAax3B,IAAK,MAArC;AACA,QAAIy3B,GAAG,GAAG,EAAV;AACA72B,IAAAA,SAAS,CAAC0B,OAAV,CAAkBsD,EAAE,IAAI;AACpB6xB,MAAAA,GAAG,GAAGL,SAAN;AACA,YAAM12B,MAAM,GAAG5c,UAAU,CAAC8hB,EAAE,CAAC,QAAD,CAAH,CAAzB;AACA4xB,MAAAA,WAAW,IAAK,GAAEC,GAAI,GAAE/2B,MAAM,GAAG,GAAI,OAArC;AACA+2B,MAAAA,GAAG,IAAIL,SAAP;AACArxB,MAAAA,MAAM,CAACC,IAAP,CAAYJ,EAAZ,EAAgBtD,OAAhB,CAAwB2D,IAAI,IAAI;AAC5B,cAAM3Z,KAAK,GAAGsZ,EAAE,CAACK,IAAD,CAAhB;;AACA,gBAAQA,IAAR;AACI,eAAK,QAAL;AACI;;AACJ,eAAK,QAAL;AACI,gBAAI3Z,KAAJ,EAAW;AACPkrC,cAAAA,WAAW,IAAK,GAAEC,GAAI,8BAA6BnrC,KAAM,KAAzD;AACH;;AACD;;AACJ;AACIkrC,YAAAA,WAAW,IAAK,GAAEC,GAAI,GAAExxB,IAAK,KAAI3Z,KAAM,KAAvC;AACA;AAVR;AAYH,OAdD;AAeAkrC,MAAAA,WAAW,IAAK,GAAEC,GAAI,KAAtB;AACH,KArBD;AAsBAD,IAAAA,WAAW,IAAK,KAAhB;AACA,UAAME,KAAK,GAAG/tC,QAAQ,CAACguC,aAAT,CAAuB,OAAvB,CAAd;AACAD,IAAAA,KAAK,CAACE,WAAN,GAAoBJ,WAApB;AACA,WAAOE,KAAP;AACH;;AACDv3B,EAAAA,OAAO,CAACtF,OAAD,EAAU+F,SAAV,EAAqBe,QAArB,EAA+BC,KAA/B,EAAsC+I,MAAtC,EAA8CC,eAAe,GAAG,EAAhE,EAAoEC,uBAApE,EAA6F;AAChG,QAAI,CAAC,OAAO7hB,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD6hB,uBAAvD,EAAgF;AAC5EgtB,MAAAA,oBAAoB;AACvB;;AACD,UAAMC,0BAA0B,GAAGltB,eAAe,CAACtsB,MAAhB,CAAuB2lB,MAAM,IAAIA,MAAM,YAAYmyB,kBAAnD,CAAnC;AACA,UAAMnnB,cAAc,GAAG,EAAvB;;AACA,QAAIF,8BAA8B,CAACpN,QAAD,EAAWC,KAAX,CAAlC,EAAqD;AACjDk2B,MAAAA,0BAA0B,CAACx1B,OAA3B,CAAmC2B,MAAM,IAAI;AACzC,YAAInb,MAAM,GAAGmb,MAAM,CAACsyB,eAApB;AACAxwB,QAAAA,MAAM,CAACC,IAAP,CAAYld,MAAZ,EAAoBwZ,OAApB,CAA4B2D,IAAI,IAAIgJ,cAAc,CAAChJ,IAAD,CAAd,GAAuBnd,MAAM,CAACmd,IAAD,CAAjE;AACH,OAHD;AAIH;;AACDrF,IAAAA,SAAS,GAAGoO,kCAAkC,CAACnU,OAAD,EAAU+F,SAAV,EAAqBqO,cAArB,CAA9C;AACA,UAAMqJ,WAAW,GAAGyf,0BAA0B,CAACn3B,SAAD,CAA9C,CAbgG,CAchG;AACA;AACA;AACA;;AACA,QAAIe,QAAQ,IAAI,CAAhB,EAAmB;AACf,aAAO,IAAIk1B,iBAAJ,CAAsBh8B,OAAtB,EAA+Byd,WAA/B,CAAP;AACH;;AACD,UAAMid,aAAa,GAAI,GAAE4B,qBAAsB,GAAE,KAAKG,MAAL,EAAc,EAA/D;AACA,UAAMI,KAAK,GAAG,KAAKH,oBAAL,CAA0B18B,OAA1B,EAAmC06B,aAAnC,EAAkD30B,SAAlD,CAAd;AACA,UAAMo3B,iBAAiB,GAAGC,+BAA+B,CAACp9B,OAAD,CAAzD;AACAm9B,IAAAA,iBAAiB,CAACE,WAAlB,CAA8BR,KAA9B;AACA,UAAMS,aAAa,GAAGpF,0BAA0B,CAACl4B,OAAD,EAAU+F,SAAV,CAAhD;AACA,UAAMqD,MAAM,GAAG,IAAImyB,kBAAJ,CAAuBv7B,OAAvB,EAAgC+F,SAAhC,EAA2C20B,aAA3C,EAA0D5zB,QAA1D,EAAoEC,KAApE,EAA2E+I,MAA3E,EAAmF2N,WAAnF,EAAgG6f,aAAhG,CAAf;AACAl0B,IAAAA,MAAM,CAACvB,SAAP,CAAiB,MAAM01B,aAAa,CAACV,KAAD,CAApC;AACA,WAAOzzB,MAAP;AACH;;AA/EoB;;AAiFzB,SAASg0B,+BAAT,CAAyCp9B,OAAzC,EAAkD;AAC9C,MAAIvU,EAAJ;;AACA,QAAM+xC,QAAQ,GAAG,CAAC/xC,EAAE,GAAGuU,OAAO,CAACy9B,WAAd,MAA+B,IAA/B,IAAuChyC,EAAE,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,EAAE,CAAC2e,IAAH,CAAQpK,OAAR,CAAjF;;AACA,MAAI,OAAO09B,UAAP,KAAsB,WAAtB,IAAqCF,QAAQ,YAAYE,UAA7D,EAAyE;AACrE,WAAOF,QAAP;AACH;;AACD,SAAO1uC,QAAQ,CAAC6uC,IAAhB;AACH;;AACD,SAAST,0BAAT,CAAoCn3B,SAApC,EAA+C;AAC3C,MAAI63B,aAAa,GAAG,EAApB;;AACA,MAAI73B,SAAJ,EAAe;AACX,UAAM83B,GAAG,GAAG5rB,KAAK,CAACC,OAAN,CAAcnM,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CAAnD;AACA83B,IAAAA,GAAG,CAACp2B,OAAJ,CAAYsD,EAAE,IAAI;AACdG,MAAAA,MAAM,CAACC,IAAP,CAAYJ,EAAZ,EAAgBtD,OAAhB,CAAwB2D,IAAI,IAAI;AAC5B,YAAIA,IAAI,IAAI,QAAR,IAAoBA,IAAI,IAAI,QAAhC,EACI;AACJwyB,QAAAA,aAAa,CAACxyB,IAAD,CAAb,GAAsBL,EAAE,CAACK,IAAD,CAAxB;AACH,OAJD;AAKH,KAND;AAOH;;AACD,SAAOwyB,aAAP;AACH;;AACD,SAASL,aAAT,CAAuB7oB,IAAvB,EAA6B;AACzBA,EAAAA,IAAI,CAAC/G,UAAL,CAAgBmwB,WAAhB,CAA4BppB,IAA5B;AACH;;AACD,IAAIqpB,aAAa,GAAG,KAApB;;AACA,SAASf,oBAAT,GAAgC;AAC5B,MAAIe,aAAJ,EACI;AACJC,EAAAA,OAAO,CAACC,IAAR,CAAa,mGAAb,EAAkH,wFAAlH;AACAF,EAAAA,aAAa,GAAG,IAAhB;AACH;;AAED,MAAMG,mBAAN,CAA0B;AACtB7yC,EAAAA,WAAW,CAAC2U,OAAD,EAAU+F,SAAV,EAAqBV,OAArB,EAA8Bo2B,cAA9B,EAA8C;AACrD,SAAKz7B,OAAL,GAAeA,OAAf;AACA,SAAK+F,SAAL,GAAiBA,SAAjB;AACA,SAAKV,OAAL,GAAeA,OAAf;AACA,SAAKo2B,cAAL,GAAsBA,cAAtB;AACA,SAAKz0B,UAAL,GAAkB,EAAlB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA,SAAKC,aAAL,GAAqB,EAArB;AACA,SAAKi3B,YAAL,GAAoB,KAApB;AACA,SAAK/2B,SAAL,GAAiB,KAAjB;AACA,SAAKD,QAAL,GAAgB,KAAhB;AACA,SAAK3Y,UAAL,GAAkB,KAAlB;AACA,SAAK+a,IAAL,GAAY,CAAZ;AACA,SAAKjC,YAAL,GAAoB,IAApB;AACA,SAAKo0B,eAAL,GAAuB,EAAvB;AACA,SAAKpC,SAAL,GAAiBj0B,OAAO,CAAC,UAAD,CAAxB;AACA,SAAKk0B,MAAL,GAAcl0B,OAAO,CAAC,OAAD,CAAP,IAAoB,CAAlC;AACA,SAAKkE,IAAL,GAAY,KAAK+vB,SAAL,GAAiB,KAAKC,MAAlC;AACH;;AACD/xB,EAAAA,SAAS,GAAG;AACR,QAAI,CAAC,KAAKJ,SAAV,EAAqB;AACjB,WAAKA,SAAL,GAAiB,IAAjB;;AACA,WAAKJ,UAAL,CAAgBS,OAAhB,CAAwBpH,EAAE,IAAIA,EAAE,EAAhC;;AACA,WAAK2G,UAAL,GAAkB,EAAlB;AACH;AACJ;;AACDe,EAAAA,IAAI,GAAG;AACH,SAAK4gB,YAAL;;AACA,SAAKyV,yBAAL;AACH;;AACDzV,EAAAA,YAAY,GAAG;AACX,QAAI,KAAKwV,YAAT,EACI;AACJ,SAAKA,YAAL,GAAoB,IAApB;AACA,UAAMp4B,SAAS,GAAG,KAAKA,SAAvB;AACA,SAAKs4B,SAAL,GACI,KAAKC,oBAAL,CAA0B,KAAKt+B,OAA/B,EAAwC+F,SAAxC,EAAmD,KAAKV,OAAxD,CADJ;AAEA,SAAKk5B,cAAL,GAAsBx4B,SAAS,CAAChd,MAAV,GAAmBgd,SAAS,CAACA,SAAS,CAAChd,MAAV,GAAmB,CAApB,CAA5B,GAAqD,EAA3E;AACA,SAAKs1C,SAAL,CAAezuC,gBAAf,CAAgC,QAAhC,EAA0C,MAAM,KAAK4X,SAAL,EAAhD;AACH;;AACD42B,EAAAA,yBAAyB,GAAG;AACxB;AACA,QAAI,KAAK7E,MAAT,EAAiB;AACb,WAAKiF,oBAAL;AACH,KAFD,MAGK;AACD,WAAKH,SAAL,CAAel2B,KAAf;AACH;AACJ;AACD;;;AACAm2B,EAAAA,oBAAoB,CAACt+B,OAAD,EAAU+F,SAAV,EAAqBV,OAArB,EAA8B;AAC9C;AACA;AACA,WAAOrF,OAAO,CAAC,SAAD,CAAP,CAAmB+F,SAAnB,EAA8BV,OAA9B,CAAP;AACH;;AACDqC,EAAAA,OAAO,CAACrH,EAAD,EAAK;AACR,SAAK4G,WAAL,CAAiBU,IAAjB,CAAsBtH,EAAtB;AACH;;AACDuH,EAAAA,MAAM,CAACvH,EAAD,EAAK;AACP,SAAK2G,UAAL,CAAgBW,IAAhB,CAAqBtH,EAArB;AACH;;AACDwH,EAAAA,SAAS,CAACxH,EAAD,EAAK;AACV,SAAK6G,aAAL,CAAmBS,IAAnB,CAAwBtH,EAAxB;AACH;;AACD2H,EAAAA,IAAI,GAAG;AACH,SAAK2gB,YAAL;;AACA,QAAI,CAAC,KAAK7gB,UAAL,EAAL,EAAwB;AACpB,WAAKb,WAAL,CAAiBQ,OAAjB,CAAyBpH,EAAE,IAAIA,EAAE,EAAjC;;AACA,WAAK4G,WAAL,GAAmB,EAAnB;AACA,WAAKE,QAAL,GAAgB,IAAhB;;AACA,UAAI,KAAKs0B,cAAT,EAAyB;AACrB,aAAKA,cAAL,CAAoBpX,KAApB;AACH;AACJ;;AACD,SAAKga,SAAL,CAAer2B,IAAf;AACH;;AACDG,EAAAA,KAAK,GAAG;AACJ,SAAKJ,IAAL;AACA,SAAKs2B,SAAL,CAAel2B,KAAf;AACH;;AACDE,EAAAA,MAAM,GAAG;AACL,SAAKN,IAAL;;AACA,QAAI,KAAK0zB,cAAT,EAAyB;AACrB,WAAKA,cAAL,CAAoBpzB,MAApB;AACH;;AACD,SAAKb,SAAL;;AACA,SAAK62B,SAAL,CAAeh2B,MAAf;AACH;;AACDE,EAAAA,KAAK,GAAG;AACJ,SAAKi2B,oBAAL;;AACA,SAAKhwC,UAAL,GAAkB,KAAlB;AACA,SAAK4Y,SAAL,GAAiB,KAAjB;AACA,SAAKD,QAAL,GAAgB,KAAhB;AACH;;AACDq3B,EAAAA,oBAAoB,GAAG;AACnB,QAAI,KAAKH,SAAT,EAAoB;AAChB,WAAKA,SAAL,CAAeI,MAAf;AACH;AACJ;;AACDr2B,EAAAA,OAAO,GAAG;AACN,SAAKG,KAAL;AACA,SAAKP,IAAL;AACH;;AACDF,EAAAA,UAAU,GAAG;AACT,WAAO,KAAKX,QAAZ;AACH;;AACDmB,EAAAA,OAAO,GAAG;AACN,QAAI,CAAC,KAAK9Z,UAAV,EAAsB;AAClB,WAAKA,UAAL,GAAkB,IAAlB;;AACA,WAAKgwC,oBAAL;;AACA,WAAKh3B,SAAL;;AACA,UAAI,KAAKi0B,cAAT,EAAyB;AACrB,aAAKA,cAAL,CAAoBnzB,OAApB;AACH;;AACD,WAAKpB,aAAL,CAAmBO,OAAnB,CAA2BpH,EAAE,IAAIA,EAAE,EAAnC;;AACA,WAAK6G,aAAL,GAAqB,EAArB;AACH;AACJ;;AACDsB,EAAAA,WAAW,CAACgB,CAAD,EAAI;AACX,QAAI,KAAK60B,SAAL,KAAmBjkC,SAAvB,EAAkC;AAC9B,WAAK2N,IAAL;AACH;;AACD,SAAKs2B,SAAL,CAAezmB,WAAf,GAA6BpO,CAAC,GAAG,KAAKD,IAAtC;AACH;;AACDd,EAAAA,WAAW,GAAG;AACV,WAAO,KAAK41B,SAAL,CAAezmB,WAAf,GAA6B,KAAKrO,IAAzC;AACH;;AACY,MAAThC,SAAS,GAAG;AACZ,WAAO,KAAKgyB,MAAL,GAAc,KAAKD,SAA1B;AACH;;AACDzvB,EAAAA,aAAa,GAAG;AACZ,UAAM5b,MAAM,GAAG,EAAf;;AACA,QAAI,KAAK6Z,UAAL,EAAJ,EAAuB;AACnBoD,MAAAA,MAAM,CAACC,IAAP,CAAY,KAAKozB,cAAjB,EAAiC92B,OAAjC,CAAyC2D,IAAI,IAAI;AAC7C,YAAIA,IAAI,IAAI,QAAZ,EAAsB;AAClBnd,UAAAA,MAAM,CAACmd,IAAD,CAAN,GACI,KAAKhE,SAAL,GAAiB,KAAKm3B,cAAL,CAAoBnzB,IAApB,CAAjB,GAA6CyE,YAAY,CAAC,KAAK7P,OAAN,EAAeoL,IAAf,CAD7D;AAEH;AACJ,OALD;AAMH;;AACD,SAAKswB,eAAL,GAAuBztC,MAAvB;AACH;AACD;;;AACAya,EAAAA,eAAe,CAACC,SAAD,EAAY;AACvB,UAAMC,OAAO,GAAGD,SAAS,IAAI,OAAb,GAAuB,KAAK1B,WAA5B,GAA0C,KAAKD,UAA/D;AACA4B,IAAAA,OAAO,CAACnB,OAAR,CAAgBpH,EAAE,IAAIA,EAAE,EAAxB;AACAuI,IAAAA,OAAO,CAAC7f,MAAR,GAAiB,CAAjB;AACH;;AApJqB;;AAuJ1B,MAAM21C,mBAAN,CAA0B;AACtBrzC,EAAAA,WAAW,GAAG;AACV,SAAKszC,aAAL,GAAqB,8BAA8BC,IAA9B,CAAmCC,mBAAmB,GAAGn2C,QAAtB,EAAnC,CAArB;AACA,SAAKo2C,mBAAL,GAA2B,IAAItC,kBAAJ,EAA3B;AACH;;AACDztB,EAAAA,qBAAqB,CAAC3D,IAAD,EAAO;AACxB,WAAO2D,qBAAqB,CAAC3D,IAAD,CAA5B;AACH;;AACDiE,EAAAA,cAAc,CAACrP,OAAD,EAAUsG,QAAV,EAAoB;AAC9B,WAAO+I,cAAc,CAACrP,OAAD,EAAUsG,QAAV,CAArB;AACH;;AACDgJ,EAAAA,eAAe,CAACtC,IAAD,EAAOC,IAAP,EAAa;AACxB,WAAOqC,eAAe,CAACtC,IAAD,EAAOC,IAAP,CAAtB;AACH;;AACD5G,EAAAA,KAAK,CAACrG,OAAD,EAAUsG,QAAV,EAAoBtH,KAApB,EAA2B;AAC5B,WAAOuQ,WAAW,CAACvP,OAAD,EAAUsG,QAAV,EAAoBtH,KAApB,CAAlB;AACH;;AACD6Q,EAAAA,YAAY,CAAC7P,OAAD,EAAUoL,IAAV,EAAgBiB,YAAhB,EAA8B;AACtC,WAAOpC,MAAM,CAACwL,gBAAP,CAAwBzV,OAAxB,EAAiCoL,IAAjC,CAAP;AACH;;AACD2zB,EAAAA,4BAA4B,CAACC,SAAD,EAAY;AACpC,SAAKL,aAAL,GAAqBK,SAArB;AACH;;AACD15B,EAAAA,OAAO,CAACtF,OAAD,EAAU+F,SAAV,EAAqBe,QAArB,EAA+BC,KAA/B,EAAsC+I,MAAtC,EAA8CC,eAAe,GAAG,EAAhE,EAAoEC,uBAApE,EAA6F;AAChG,UAAMivB,YAAY,GAAG,CAACjvB,uBAAD,IAA4B,CAAC,KAAK2uB,aAAvD;;AACA,QAAIM,YAAJ,EAAkB;AACd,aAAO,KAAKH,mBAAL,CAAyBx5B,OAAzB,CAAiCtF,OAAjC,EAA0C+F,SAA1C,EAAqDe,QAArD,EAA+DC,KAA/D,EAAsE+I,MAAtE,EAA8EC,eAA9E,CAAP;AACH;;AACD,UAAM1a,IAAI,GAAG0R,KAAK,IAAI,CAAT,GAAa,MAAb,GAAsB,UAAnC;AACA,UAAMm4B,aAAa,GAAG;AAAEp4B,MAAAA,QAAF;AAAYC,MAAAA,KAAZ;AAAmB1R,MAAAA;AAAnB,KAAtB,CANgG,CAOhG;AACA;;AACA,QAAIya,MAAJ,EAAY;AACRovB,MAAAA,aAAa,CAAC,QAAD,CAAb,GAA0BpvB,MAA1B;AACH;;AACD,UAAMsE,cAAc,GAAG,EAAvB;AACA,UAAM+qB,2BAA2B,GAAGpvB,eAAe,CAACtsB,MAAhB,CAAuB2lB,MAAM,IAAIA,MAAM,YAAY80B,mBAAnD,CAApC;;AACA,QAAIhqB,8BAA8B,CAACpN,QAAD,EAAWC,KAAX,CAAlC,EAAqD;AACjDo4B,MAAAA,2BAA2B,CAAC13B,OAA5B,CAAoC2B,MAAM,IAAI;AAC1C,YAAInb,MAAM,GAAGmb,MAAM,CAACsyB,eAApB;AACAxwB,QAAAA,MAAM,CAACC,IAAP,CAAYld,MAAZ,EAAoBwZ,OAApB,CAA4B2D,IAAI,IAAIgJ,cAAc,CAAChJ,IAAD,CAAd,GAAuBnd,MAAM,CAACmd,IAAD,CAAjE;AACH,OAHD;AAIH;;AACDrF,IAAAA,SAAS,GAAGA,SAAS,CAACoG,GAAV,CAAcle,MAAM,IAAIkkB,UAAU,CAAClkB,MAAD,EAAS,KAAT,CAAlC,CAAZ;AACA8X,IAAAA,SAAS,GAAGoO,kCAAkC,CAACnU,OAAD,EAAU+F,SAAV,EAAqBqO,cAArB,CAA9C;AACA,UAAMkpB,aAAa,GAAGpF,0BAA0B,CAACl4B,OAAD,EAAU+F,SAAV,CAAhD;AACA,WAAO,IAAIm4B,mBAAJ,CAAwBl+B,OAAxB,EAAiC+F,SAAjC,EAA4Cm5B,aAA5C,EAA2D5B,aAA3D,CAAP;AACH;;AA/CqB;;AAiD1B,SAAS8B,qBAAT,GAAiC;AAC7B,SAAO,OAAOP,mBAAmB,EAA1B,KAAiC,UAAxC;AACH;;AACD,SAASA,mBAAT,GAA+B;AAC3B,SAAQ70B,SAAS,MAAMwD,OAAO,CAACK,SAAR,CAAkB,SAAlB,CAAhB,IAAiD,EAAxD;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtlJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA;AACA;AACA;AACA,MAAMw0B,YAAY,GAAG,GAArB;AACA;AACA;AACA;AACA;;AACA,SAASC,mBAAT,CAA6BC,EAA7B,EAAiCC,IAAjC,EAAuC3gC,EAAvC,EAA2C;AACvC,QAAM4gC,GAAG,GAAGC,mBAAmB,CAACH,EAAD,EAAKC,IAAL,CAA/B;;AACA,MAAIC,GAAG,CAACzmB,IAAJ,CAAS2mB,UAAU,IAAIA,UAAU,CAAC7d,IAAX,MAAqBjjB,EAAE,CAACijB,IAAH,EAA5C,CAAJ,EAA4D;AACxD;AACH;;AACD2d,EAAAA,GAAG,CAAC96B,IAAJ,CAAS9F,EAAE,CAACijB,IAAH,EAAT;AACAyd,EAAAA,EAAE,CAACxlC,YAAH,CAAgBylC,IAAhB,EAAsBC,GAAG,CAAC55C,IAAJ,CAASw5C,YAAT,CAAtB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASO,sBAAT,CAAgCL,EAAhC,EAAoCC,IAApC,EAA0C3gC,EAA1C,EAA8C;AAC1C,QAAM4gC,GAAG,GAAGC,mBAAmB,CAACH,EAAD,EAAKC,IAAL,CAA/B;AACA,QAAMK,WAAW,GAAGJ,GAAG,CAACh/C,MAAJ,CAAW4F,GAAG,IAAIA,GAAG,IAAIwY,EAAE,CAACijB,IAAH,EAAzB,CAApB;;AACA,MAAI+d,WAAW,CAAC95C,MAAhB,EAAwB;AACpBw5C,IAAAA,EAAE,CAACxlC,YAAH,CAAgBylC,IAAhB,EAAsBK,WAAW,CAACh6C,IAAZ,CAAiBw5C,YAAjB,CAAtB;AACH,GAFD,MAGK;AACDE,IAAAA,EAAE,CAACO,eAAH,CAAmBN,IAAnB;AACH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAASE,mBAAT,CAA6BH,EAA7B,EAAiCC,IAAjC,EAAuC;AACnC;AACA,SAAO,CAACD,EAAE,CAACQ,YAAH,CAAgBP,IAAhB,KAAyB,EAA1B,EAA8B13C,KAA9B,CAAoC,MAApC,KAA+C,EAAtD;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMk4C,qBAAqB,GAAG,mCAA9B;AACA;;AACA,MAAMC,yBAAyB,GAAG,yBAAlC;AACA;;AACA,MAAMC,8BAA8B,GAAG,sBAAvC;AACA;;AACA,IAAIC,MAAM,GAAG,CAAb;AACA;;AACA,MAAMC,eAAe,gBAAG,IAAI92B,GAAJ,EAAxB;AACA;;AACA,IAAI+2B,iBAAiB,GAAG,IAAxB;AACA;AACA;AACA;AACA;AACA;;IACMC;AAAN,QAAMA,aAAN,CAAoB;AAChBj4C,IAAAA,WAAW,CAAC+N,SAAD,EAAY;AACnB,WAAKA,SAAL,GAAiBA,SAAjB;AACH;;AACDmqC,IAAAA,QAAQ,CAAC9Y,WAAD,EAAc+Y,OAAd,EAAuBC,IAAvB,EAA6B;AACjC,UAAI,CAAC,KAAKC,eAAL,CAAqBjZ,WAArB,EAAkC+Y,OAAlC,CAAL,EAAiD;AAC7C;AACH;;AACD,YAAMp3B,GAAG,GAAGu3B,MAAM,CAACH,OAAD,EAAUC,IAAV,CAAlB;;AACA,UAAI,OAAOD,OAAP,KAAmB,QAAvB,EAAiC;AAC7B;AACAI,QAAAA,YAAY,CAACJ,OAAD,CAAZ;AACAJ,QAAAA,eAAe,CAAC72B,GAAhB,CAAoBH,GAApB,EAAyB;AAAEy3B,UAAAA,cAAc,EAAEL,OAAlB;AAA2BM,UAAAA,cAAc,EAAE;AAA3C,SAAzB;AACH,OAJD,MAKK,IAAI,CAACV,eAAe,CAACxsB,GAAhB,CAAoBxK,GAApB,CAAL,EAA+B;AAChC,aAAK23B,qBAAL,CAA2BP,OAA3B,EAAoCC,IAApC;AACH;;AACD,UAAI,CAAC,KAAKO,4BAAL,CAAkCvZ,WAAlC,EAA+Cre,GAA/C,CAAL,EAA0D;AACtD,aAAK63B,oBAAL,CAA0BxZ,WAA1B,EAAuCre,GAAvC;AACH;AACJ;;AACD83B,IAAAA,iBAAiB,CAACzZ,WAAD,EAAc+Y,OAAd,EAAuBC,IAAvB,EAA6B;AAC1C,UAAI,CAACD,OAAD,IAAY,CAAC,KAAKW,cAAL,CAAoB1Z,WAApB,CAAjB,EAAmD;AAC/C;AACH;;AACD,YAAMre,GAAG,GAAGu3B,MAAM,CAACH,OAAD,EAAUC,IAAV,CAAlB;;AACA,UAAI,KAAKO,4BAAL,CAAkCvZ,WAAlC,EAA+Cre,GAA/C,CAAJ,EAAyD;AACrD,aAAKg4B,uBAAL,CAA6B3Z,WAA7B,EAA0Cre,GAA1C;AACH,OAPyC,CAQ1C;AACA;;;AACA,UAAI,OAAOo3B,OAAP,KAAmB,QAAvB,EAAiC;AAC7B,cAAMa,iBAAiB,GAAGjB,eAAe,CAACtyC,GAAhB,CAAoBsb,GAApB,CAA1B;;AACA,YAAIi4B,iBAAiB,IAAIA,iBAAiB,CAACP,cAAlB,KAAqC,CAA9D,EAAiE;AAC7D,eAAKQ,qBAAL,CAA2Bl4B,GAA3B;AACH;AACJ;;AACD,UAAIi3B,iBAAiB,IAAIA,iBAAiB,CAACkB,UAAlB,CAA6Bx7C,MAA7B,KAAwC,CAAjE,EAAoE;AAChE,aAAKy7C,wBAAL;AACH;AACJ;AACD;;;AACA/1C,IAAAA,WAAW,GAAG;AACV,YAAMg2C,iBAAiB,GAAG,KAAKrrC,SAAL,CAAeoV,gBAAf,CAAiC,IAAG00B,8BAA+B,GAAnE,CAA1B;;AACA,WAAK,IAAIz0B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGg2B,iBAAiB,CAAC17C,MAAtC,EAA8C0lB,CAAC,EAA/C,EAAmD;AAC/C,aAAKi2B,iCAAL,CAAuCD,iBAAiB,CAACh2B,CAAD,CAAxD;;AACAg2B,QAAAA,iBAAiB,CAACh2B,CAAD,CAAjB,CAAqBq0B,eAArB,CAAqCI,8BAArC;AACH;;AACD,UAAIG,iBAAJ,EAAuB;AACnB,aAAKmB,wBAAL;AACH;;AACDpB,MAAAA,eAAe,CAACtmB,KAAhB;AACH;AACD;AACJ;AACA;AACA;;;AACIinB,IAAAA,qBAAqB,CAACP,OAAD,EAAUC,IAAV,EAAgB;AACjC,YAAMI,cAAc,GAAG,KAAKzqC,SAAL,CAAe0jC,aAAf,CAA6B,KAA7B,CAAvB;;AACA8G,MAAAA,YAAY,CAACC,cAAD,CAAZ;AACAA,MAAAA,cAAc,CAAC9G,WAAf,GAA6ByG,OAA7B;;AACA,UAAIC,IAAJ,EAAU;AACNI,QAAAA,cAAc,CAAC9mC,YAAf,CAA4B,MAA5B,EAAoC0mC,IAApC;AACH;;AACD,WAAKkB,wBAAL;;AACAtB,MAAAA,iBAAiB,CAAChG,WAAlB,CAA8BwG,cAA9B;AACAT,MAAAA,eAAe,CAAC72B,GAAhB,CAAoBo3B,MAAM,CAACH,OAAD,EAAUC,IAAV,CAA1B,EAA2C;AAAEI,QAAAA,cAAF;AAAkBC,QAAAA,cAAc,EAAE;AAAlC,OAA3C;AACH;AACD;;;AACAQ,IAAAA,qBAAqB,CAACl4B,GAAD,EAAM;AACvB,YAAMi4B,iBAAiB,GAAGjB,eAAe,CAACtyC,GAAhB,CAAoBsb,GAApB,CAA1B;AACA,YAAMy3B,cAAc,GAAGQ,iBAAiB,IAAIA,iBAAiB,CAACR,cAA9D;;AACA,UAAIR,iBAAiB,IAAIQ,cAAzB,EAAyC;AACrCR,QAAAA,iBAAiB,CAACvF,WAAlB,CAA8B+F,cAA9B;AACH;;AACDT,MAAAA,eAAe,CAACzmB,MAAhB,CAAuBvQ,GAAvB;AACH;AACD;;;AACAu4B,IAAAA,wBAAwB,GAAG;AACvB,UAAI,CAACtB,iBAAL,EAAwB;AACpB,cAAMuB,oBAAoB,GAAG,KAAKxrC,SAAL,CAAerK,cAAf,CAA8Bi0C,qBAA9B,CAA7B,CADoB,CAEpB;AACA;AACA;AACA;;;AACA,YAAI4B,oBAAoB,IAAIA,oBAAoB,CAACj3B,UAAjD,EAA6D;AACzDi3B,UAAAA,oBAAoB,CAACj3B,UAArB,CAAgCmwB,WAAhC,CAA4C8G,oBAA5C;AACH;;AACDvB,QAAAA,iBAAiB,GAAG,KAAKjqC,SAAL,CAAe0jC,aAAf,CAA6B,KAA7B,CAApB;AACAuG,QAAAA,iBAAiB,CAACxhC,EAAlB,GAAuBmhC,qBAAvB,CAVoB,CAWpB;AACA;AACA;AACA;;AACAK,QAAAA,iBAAiB,CAAC19B,KAAlB,CAAwBk/B,UAAxB,GAAqC,QAArC,CAfoB,CAgBpB;AACA;;AACAxB,QAAAA,iBAAiB,CAACzM,SAAlB,CAA4Bje,GAA5B,CAAgC,qBAAhC;;AACA,aAAKvf,SAAL,CAAegW,IAAf,CAAoBiuB,WAApB,CAAgCgG,iBAAhC;AACH;AACJ;AACD;;;AACAmB,IAAAA,wBAAwB,GAAG;AACvB,UAAInB,iBAAiB,IAAIA,iBAAiB,CAAC11B,UAA3C,EAAuD;AACnD01B,QAAAA,iBAAiB,CAAC11B,UAAlB,CAA6BmwB,WAA7B,CAAyCuF,iBAAzC;AACAA,QAAAA,iBAAiB,GAAG,IAApB;AACH;AACJ;AACD;;;AACAqB,IAAAA,iCAAiC,CAAC1kC,OAAD,EAAU;AACvC;AACA,YAAM8kC,oBAAoB,GAAGpC,mBAAmB,CAAC1iC,OAAD,EAAU,kBAAV,CAAnB,CACxBvc,MADwB,CACjBoe,EAAE,IAAIA,EAAE,CAAC8K,OAAH,CAAWs2B,yBAAX,KAAyC,CAD9B,CAA7B;AAEAjjC,MAAAA,OAAO,CAACjD,YAAR,CAAqB,kBAArB,EAAyC+nC,oBAAoB,CAACj8C,IAArB,CAA0B,GAA1B,CAAzC;AACH;AACD;AACJ;AACA;AACA;;;AACIo7C,IAAAA,oBAAoB,CAACjkC,OAAD,EAAUoM,GAAV,EAAe;AAC/B,YAAMi4B,iBAAiB,GAAGjB,eAAe,CAACtyC,GAAhB,CAAoBsb,GAApB,CAA1B,CAD+B,CAE/B;AACA;;AACAk2B,MAAAA,mBAAmB,CAACtiC,OAAD,EAAU,kBAAV,EAA8BqkC,iBAAiB,CAACR,cAAlB,CAAiChiC,EAA/D,CAAnB;AACA7B,MAAAA,OAAO,CAACjD,YAAR,CAAqBmmC,8BAArB,EAAqD,EAArD;AACAmB,MAAAA,iBAAiB,CAACP,cAAlB;AACH;AACD;AACJ;AACA;AACA;;;AACIM,IAAAA,uBAAuB,CAACpkC,OAAD,EAAUoM,GAAV,EAAe;AAClC,YAAMi4B,iBAAiB,GAAGjB,eAAe,CAACtyC,GAAhB,CAAoBsb,GAApB,CAA1B;AACAi4B,MAAAA,iBAAiB,CAACP,cAAlB;AACAlB,MAAAA,sBAAsB,CAAC5iC,OAAD,EAAU,kBAAV,EAA8BqkC,iBAAiB,CAACR,cAAlB,CAAiChiC,EAA/D,CAAtB;AACA7B,MAAAA,OAAO,CAAC8iC,eAAR,CAAwBI,8BAAxB;AACH;AACD;;;AACAc,IAAAA,4BAA4B,CAAChkC,OAAD,EAAUoM,GAAV,EAAe;AACvC,YAAM24B,YAAY,GAAGrC,mBAAmB,CAAC1iC,OAAD,EAAU,kBAAV,CAAxC;AACA,YAAMqkC,iBAAiB,GAAGjB,eAAe,CAACtyC,GAAhB,CAAoBsb,GAApB,CAA1B;AACA,YAAM44B,SAAS,GAAGX,iBAAiB,IAAIA,iBAAiB,CAACR,cAAlB,CAAiChiC,EAAxE;AACA,aAAO,CAAC,CAACmjC,SAAF,IAAeD,YAAY,CAACp4B,OAAb,CAAqBq4B,SAArB,KAAmC,CAAC,CAA1D;AACH;AACD;;;AACAtB,IAAAA,eAAe,CAAC1jC,OAAD,EAAUwjC,OAAV,EAAmB;AAC9B,UAAI,CAAC,KAAKW,cAAL,CAAoBnkC,OAApB,CAAL,EAAmC;AAC/B,eAAO,KAAP;AACH;;AACD,UAAIwjC,OAAO,IAAI,OAAOA,OAAP,KAAmB,QAAlC,EAA4C;AACxC;AACA;AACA;AACA,eAAO,IAAP;AACH;;AACD,YAAMyB,cAAc,GAAGzB,OAAO,IAAI,IAAX,GAAkB,EAAlB,GAAwB,GAAEA,OAAQ,EAAX,CAAa1e,IAAb,EAA9C;AACA,YAAMogB,SAAS,GAAGllC,OAAO,CAAC+iC,YAAR,CAAqB,YAArB,CAAlB,CAX8B,CAY9B;AACA;;AACA,aAAOkC,cAAc,GAAI,CAACC,SAAD,IAAcA,SAAS,CAACpgB,IAAV,OAAqBmgB,cAAvC,GAAyD,KAA9E;AACH;AACD;;;AACAd,IAAAA,cAAc,CAACnkC,OAAD,EAAU;AACpB,aAAOA,OAAO,CAACmlC,QAAR,KAAqB,KAAK/rC,SAAL,CAAegsC,YAA3C;AACH;;AApKe;;AAsKpB9B,EAAAA,aAAa,CAAC32C,IAAd,GAAqB,SAAS04C,qBAAT,CAA+Bx4C,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAIy2C,aAAV,EAAyBl/C,sDAAA,CAAgBvD,qDAAhB,CAAzB,CAAP;AAA6D,GAAtH;;AACAyiD,EAAAA,aAAa,CAACvtC,KAAd,GAAsBwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASmvC,qBAAT,GAAiC;AAAE,aAAO,IAAI/B,aAAJ,CAAkB/C,sDAAA,CAAYD,qDAAZ,CAAlB,CAAP;AAAqD,KAAnG;AAAqGrqC,IAAAA,KAAK,EAAEqtC,aAA5G;AAA2HiC,IAAAA,UAAU,EAAE;AAAvI,GAAtB,CAAtB;SAvKMjC;;;AA2KN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOn1C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAOA;;;AACA,SAASw1C,MAAT,CAAgBH,OAAhB,EAAyBC,IAAzB,EAA+B;AAC3B,SAAO,OAAOD,OAAP,KAAmB,QAAnB,GAA+B,GAAEC,IAAI,IAAI,EAAG,IAAGD,OAAQ,EAAvD,GAA2DA,OAAlE;AACH;AACD;;;AACA,SAASI,YAAT,CAAsB5jC,OAAtB,EAA+B;AAC3B,MAAI,CAACA,OAAO,CAAC6B,EAAb,EAAiB;AACb7B,IAAAA,OAAO,CAAC6B,EAAR,GAAc,GAAEohC,yBAA0B,IAAGE,MAAM,EAAG,EAAtD;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMqC,cAAN,CAAqB;AACjBn6C,EAAAA,WAAW,CAACo6C,MAAD,EAAS;AAChB,SAAKA,MAAL,GAAcA,MAAd;AACA,SAAKC,gBAAL,GAAwB,CAAC,CAAzB;AACA,SAAKC,WAAL,GAAmB,IAAnB;AACA,SAAKC,KAAL,GAAa,KAAb;AACA,SAAKC,gBAAL,GAAwB,IAAI5iD,yCAAJ,EAAxB;AACA,SAAK6iD,sBAAL,GAA8B3iD,oDAA9B;AACA,SAAK4iD,SAAL,GAAiB,IAAjB;AACA,SAAKC,oBAAL,GAA4B,EAA5B;AACA,SAAKC,WAAL,GAAmB,KAAnB;AACA;AACR;AACA;AACA;;AACQ,SAAKC,gBAAL,GAAyB1zB,IAAD,IAAUA,IAAI,CAACtY,QAAvC,CAdgB,CAehB;;;AACA,SAAKisC,eAAL,GAAuB,EAAvB;AACA;AACR;AACA;AACA;;AACQ,SAAKC,MAAL,GAAc,IAAInjD,yCAAJ,EAAd;AACA;;AACA,SAAKojD,MAAL,GAAc,IAAIpjD,yCAAJ,EAAd,CAvBgB,CAwBhB;AACA;AACA;;AACA,QAAIwiD,MAAM,YAAYjF,oDAAtB,EAAiC;AAC7BiF,MAAAA,MAAM,CAAC7zC,OAAP,CAAeN,SAAf,CAA0Bg1C,QAAD,IAAc;AACnC,YAAI,KAAKX,WAAT,EAAsB;AAClB,gBAAMY,SAAS,GAAGD,QAAQ,CAACE,OAAT,EAAlB;AACA,gBAAMC,QAAQ,GAAGF,SAAS,CAAC55B,OAAV,CAAkB,KAAKg5B,WAAvB,CAAjB;;AACA,cAAIc,QAAQ,GAAG,CAAC,CAAZ,IAAiBA,QAAQ,KAAK,KAAKf,gBAAvC,EAAyD;AACrD,iBAAKA,gBAAL,GAAwBe,QAAxB;AACH;AACJ;AACJ,OARD;AASH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACIC,EAAAA,aAAa,CAACC,SAAD,EAAY;AACrB,SAAKT,gBAAL,GAAwBS,SAAxB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIC,EAAAA,QAAQ,CAACC,UAAU,GAAG,IAAd,EAAoB;AACxB,SAAKjB,KAAL,GAAaiB,UAAb;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIC,EAAAA,uBAAuB,CAACC,OAAO,GAAG,IAAX,EAAiB;AACpC,SAAKhB,SAAL,GAAiBgB,OAAjB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIC,EAAAA,yBAAyB,CAACtrC,SAAD,EAAY;AACjC,SAAKurC,WAAL,GAAmBvrC,SAAnB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIwrC,EAAAA,uBAAuB,CAAC/7B,IAAD,EAAO;AAC1B,SAAK66B,oBAAL,GAA4B76B,IAA5B;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIg8B,EAAAA,aAAa,CAACC,gBAAgB,GAAG,GAApB,EAAyB;AAClC,QAAI,CAAC,OAAOj5C,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAoD,KAAKs3C,MAAL,CAAY18C,MAAZ,IACpD,KAAK08C,MAAL,CAAYzpB,IAAZ,CAAiBxJ,IAAI,IAAI,OAAOA,IAAI,CAAC60B,QAAZ,KAAyB,UAAlD,CADJ,EACoE;AAChE,YAAMl8C,KAAK,CAAC,8EAAD,CAAX;AACH;;AACD,SAAK26C,sBAAL,CAA4BjrC,WAA5B,GALkC,CAMlC;AACA;AACA;;;AACA,SAAKirC,sBAAL,GAA8B,KAAKD,gBAAL,CAAsBx0C,IAAtB,CAA2BowC,mDAAG,CAAC6F,MAAM,IAAI,KAAKnB,eAAL,CAAqBx+B,IAArB,CAA0B2/B,MAA1B,CAAX,CAA9B,EAA6EhkD,4DAAY,CAAC8jD,gBAAD,CAAzF,EAA6G3jD,sDAAM,CAAC,MAAM,KAAK0iD,eAAL,CAAqBp9C,MAArB,GAA8B,CAArC,CAAnH,EAA4JojB,mDAAG,CAAC,MAAM,KAAKg6B,eAAL,CAAqBt9C,IAArB,CAA0B,EAA1B,CAAP,CAA/J,EAAsMyI,SAAtM,CAAgNi2C,WAAW,IAAI;AACzP,YAAMC,KAAK,GAAG,KAAKC,cAAL,EAAd,CADyP,CAEzP;AACA;;;AACA,WAAK,IAAIh5B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+4B,KAAK,CAACz+C,MAAN,GAAe,CAAnC,EAAsC0lB,CAAC,EAAvC,EAA2C;AACvC,cAAMsa,KAAK,GAAG,CAAC,KAAK2c,gBAAL,GAAwBj3B,CAAzB,IAA8B+4B,KAAK,CAACz+C,MAAlD;AACA,cAAMypB,IAAI,GAAGg1B,KAAK,CAACze,KAAD,CAAlB;;AACA,YAAI,CAAC,KAAKmd,gBAAL,CAAsB1zB,IAAtB,CAAD,IACAA,IAAI,CAAC60B,QAAL,GAAgBl4B,WAAhB,GAA8B2V,IAA9B,GAAqCnY,OAArC,CAA6C46B,WAA7C,MAA8D,CADlE,EACqE;AACjE,eAAKG,aAAL,CAAmB3e,KAAnB;AACA;AACH;AACJ;;AACD,WAAKod,eAAL,GAAuB,EAAvB;AACH,KAd6B,CAA9B;AAeA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIwB,EAAAA,cAAc,CAACZ,OAAO,GAAG,IAAX,EAAiB;AAC3B,SAAKd,WAAL,GAAmBc,OAAnB;AACA,WAAO,IAAP;AACH;;AACDW,EAAAA,aAAa,CAACl1B,IAAD,EAAO;AAChB,UAAMo1B,kBAAkB,GAAG,KAAKjC,WAAhC;AACA,SAAKkC,gBAAL,CAAsBr1B,IAAtB;;AACA,QAAI,KAAKmzB,WAAL,KAAqBiC,kBAAzB,EAA6C;AACzC,WAAKvB,MAAL,CAAY33C,IAAZ,CAAiB,KAAKg3C,gBAAtB;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACIoC,EAAAA,SAAS,CAAC3qC,KAAD,EAAQ;AACb,UAAMC,OAAO,GAAGD,KAAK,CAACC,OAAtB;AACA,UAAM2qC,SAAS,GAAG,CAAC,QAAD,EAAW,SAAX,EAAsB,SAAtB,EAAiC,UAAjC,CAAlB;AACA,UAAMC,iBAAiB,GAAGD,SAAS,CAACE,KAAV,CAAgBC,QAAQ,IAAI;AAClD,aAAO,CAAC/qC,KAAK,CAAC+qC,QAAD,CAAN,IAAoB,KAAKlC,oBAAL,CAA0Br5B,OAA1B,CAAkCu7B,QAAlC,IAA8C,CAAC,CAA1E;AACH,KAFyB,CAA1B;;AAGA,YAAQ9qC,OAAR;AACI,WAAK+jC,sDAAL;AACI,aAAKiF,MAAL,CAAY13C,IAAZ;AACA;;AACJ,WAAK5K,6DAAL;AACI,YAAI,KAAKiiD,SAAL,IAAkBiC,iBAAtB,EAAyC;AACrC,eAAKG,iBAAL;AACA;AACH,SAHD,MAIK;AACD;AACH;;AACL,WAAKtkD,2DAAL;AACI,YAAI,KAAKkiD,SAAL,IAAkBiC,iBAAtB,EAAyC;AACrC,eAAKI,qBAAL;AACA;AACH,SAHD,MAIK;AACD;AACH;;AACL,WAAKlH,8DAAL;AACI,YAAI,KAAK+F,WAAL,IAAoBe,iBAAxB,EAA2C;AACvC,eAAKf,WAAL,KAAqB,KAArB,GAA6B,KAAKmB,qBAAL,EAA7B,GAA4D,KAAKD,iBAAL,EAA5D;AACA;AACH,SAHD,MAIK;AACD;AACH;;AACL,WAAKlH,6DAAL;AACI,YAAI,KAAKgG,WAAL,IAAoBe,iBAAxB,EAA2C;AACvC,eAAKf,WAAL,KAAqB,KAArB,GAA6B,KAAKkB,iBAAL,EAA7B,GAAwD,KAAKC,qBAAL,EAAxD;AACA;AACH,SAHD,MAIK;AACD;AACH;;AACL,WAAKpH,uDAAL;AACI,YAAI,KAAKiF,WAAL,IAAoB+B,iBAAxB,EAA2C;AACvC,eAAKK,kBAAL;AACA;AACH,SAHD,MAIK;AACD;AACH;;AACL,WAAKtH,sDAAL;AACI,YAAI,KAAKkF,WAAL,IAAoB+B,iBAAxB,EAA2C;AACvC,eAAKM,iBAAL;AACA;AACH,SAHD,MAIK;AACD;AACH;;AACL;AACI,YAAIN,iBAAiB,IAAItH,qEAAc,CAACvjC,KAAD,EAAQ,UAAR,CAAvC,EAA4D;AACxD;AACA;AACA,cAAIA,KAAK,CAACiP,GAAN,IAAajP,KAAK,CAACiP,GAAN,CAAUrjB,MAAV,KAAqB,CAAtC,EAAyC;AACrC,iBAAK88C,gBAAL,CAAsBn3C,IAAtB,CAA2ByO,KAAK,CAACiP,GAAN,CAAUm8B,iBAAV,EAA3B;AACH,WAFD,MAGK,IAAKnrC,OAAO,IAAIujC,oDAAX,IAAgBvjC,OAAO,IAAIwjC,oDAA5B,IAAmCxjC,OAAO,IAAIyjC,uDAAX,IAAmBzjC,OAAO,IAAI0jC,uDAArE,EAA4E;AAC7E,iBAAK+E,gBAAL,CAAsBn3C,IAAtB,CAA2B2B,MAAM,CAACm4C,YAAP,CAAoBprC,OAApB,CAA3B;AACH;AACJ,SAVL,CAWI;AACA;;;AACA;AAjER;;AAmEA,SAAK+oC,eAAL,GAAuB,EAAvB;AACAhpC,IAAAA,KAAK,CAACG,cAAN;AACH;AACD;;;AACmB,MAAfmrC,eAAe,GAAG;AAClB,WAAO,KAAK/C,gBAAZ;AACH;AACD;;;AACc,MAAVgD,UAAU,GAAG;AACb,WAAO,KAAK/C,WAAZ;AACH;AACD;;;AACAgD,EAAAA,QAAQ,GAAG;AACP,WAAO,KAAKxC,eAAL,CAAqBp9C,MAArB,GAA8B,CAArC;AACH;AACD;;;AACAs/C,EAAAA,kBAAkB,GAAG;AACjB,SAAKO,qBAAL,CAA2B,CAA3B,EAA8B,CAA9B;AACH;AACD;;;AACAN,EAAAA,iBAAiB,GAAG;AAChB,SAAKM,qBAAL,CAA2B,KAAKnD,MAAL,CAAY18C,MAAZ,GAAqB,CAAhD,EAAmD,CAAC,CAApD;AACH;AACD;;;AACAo/C,EAAAA,iBAAiB,GAAG;AAChB,SAAKzC,gBAAL,GAAwB,CAAxB,GAA4B,KAAK2C,kBAAL,EAA5B,GAAwD,KAAKQ,qBAAL,CAA2B,CAA3B,CAAxD;AACH;AACD;;;AACAT,EAAAA,qBAAqB,GAAG;AACpB,SAAK1C,gBAAL,GAAwB,CAAxB,IAA6B,KAAKE,KAAlC,GAA0C,KAAK0C,iBAAL,EAA1C,GACM,KAAKO,qBAAL,CAA2B,CAAC,CAA5B,CADN;AAEH;;AACDhB,EAAAA,gBAAgB,CAACr1B,IAAD,EAAO;AACnB,UAAM+zB,SAAS,GAAG,KAAKkB,cAAL,EAAlB;;AACA,UAAM1e,KAAK,GAAG,OAAOvW,IAAP,KAAgB,QAAhB,GAA2BA,IAA3B,GAAkC+zB,SAAS,CAAC55B,OAAV,CAAkB6F,IAAlB,CAAhD;AACA,UAAMk2B,UAAU,GAAGnC,SAAS,CAACxd,KAAD,CAA5B,CAHmB,CAInB;;AACA,SAAK4c,WAAL,GAAmB+C,UAAU,IAAI,IAAd,GAAqB,IAArB,GAA4BA,UAA/C;AACA,SAAKhD,gBAAL,GAAwB3c,KAAxB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI8f,EAAAA,qBAAqB,CAACC,KAAD,EAAQ;AACzB,SAAKlD,KAAL,GAAa,KAAKmD,oBAAL,CAA0BD,KAA1B,CAAb,GAAgD,KAAKE,uBAAL,CAA6BF,KAA7B,CAAhD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIC,EAAAA,oBAAoB,CAACD,KAAD,EAAQ;AACxB,UAAMtB,KAAK,GAAG,KAAKC,cAAL,EAAd;;AACA,SAAK,IAAIh5B,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAI+4B,KAAK,CAACz+C,MAA3B,EAAmC0lB,CAAC,EAApC,EAAwC;AACpC,YAAMsa,KAAK,GAAG,CAAC,KAAK2c,gBAAL,GAAyBoD,KAAK,GAAGr6B,CAAjC,GAAsC+4B,KAAK,CAACz+C,MAA7C,IAAuDy+C,KAAK,CAACz+C,MAA3E;AACA,YAAMypB,IAAI,GAAGg1B,KAAK,CAACze,KAAD,CAAlB;;AACA,UAAI,CAAC,KAAKmd,gBAAL,CAAsB1zB,IAAtB,CAAL,EAAkC;AAC9B,aAAKk1B,aAAL,CAAmB3e,KAAnB;AACA;AACH;AACJ;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACIigB,EAAAA,uBAAuB,CAACF,KAAD,EAAQ;AAC3B,SAAKF,qBAAL,CAA2B,KAAKlD,gBAAL,GAAwBoD,KAAnD,EAA0DA,KAA1D;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIF,EAAAA,qBAAqB,CAAC7f,KAAD,EAAQkgB,aAAR,EAAuB;AACxC,UAAMzB,KAAK,GAAG,KAAKC,cAAL,EAAd;;AACA,QAAI,CAACD,KAAK,CAACze,KAAD,CAAV,EAAmB;AACf;AACH;;AACD,WAAO,KAAKmd,gBAAL,CAAsBsB,KAAK,CAACze,KAAD,CAA3B,CAAP,EAA4C;AACxCA,MAAAA,KAAK,IAAIkgB,aAAT;;AACA,UAAI,CAACzB,KAAK,CAACze,KAAD,CAAV,EAAmB;AACf;AACH;AACJ;;AACD,SAAK2e,aAAL,CAAmB3e,KAAnB;AACH;AACD;;;AACA0e,EAAAA,cAAc,GAAG;AACb,WAAO,KAAKhC,MAAL,YAAuBjF,oDAAvB,GAAmC,KAAKiF,MAAL,CAAYe,OAAZ,EAAnC,GAA2D,KAAKf,MAAvE;AACH;;AA3SgB;AA8SrB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMyD,0BAAN,SAAyC1D,cAAzC,CAAwD;AACpDkC,EAAAA,aAAa,CAAC3e,KAAD,EAAQ;AACjB,QAAI,KAAK2f,UAAT,EAAqB;AACjB,WAAKA,UAAL,CAAgBS,iBAAhB;AACH;;AACD,UAAMzB,aAAN,CAAoB3e,KAApB;;AACA,QAAI,KAAK2f,UAAT,EAAqB;AACjB,WAAKA,UAAL,CAAgBU,eAAhB;AACH;AACJ;;AATmD;AAYxD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,eAAN,SAA8B7D,cAA9B,CAA6C;AACzCn6C,EAAAA,WAAW,GAAG;AACV,UAAM,GAAGi+C,SAAT;AACA,SAAKC,OAAL,GAAe,SAAf;AACH;AACD;AACJ;AACA;AACA;;;AACIC,EAAAA,cAAc,CAACC,MAAD,EAAS;AACnB,SAAKF,OAAL,GAAeE,MAAf;AACA,WAAO,IAAP;AACH;;AACD/B,EAAAA,aAAa,CAACl1B,IAAD,EAAO;AAChB,UAAMk1B,aAAN,CAAoBl1B,IAApB;;AACA,QAAI,KAAKk2B,UAAT,EAAqB;AACjB,WAAKA,UAAL,CAAgBhrC,KAAhB,CAAsB,KAAK6rC,OAA3B;AACH;AACJ;;AAlBwC;AAqB7C;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMG,iBAAN,CAAwB;AACpBr+C,EAAAA,WAAW,GAAG;AACV;AACR;AACA;AACQ,SAAKs+C,gBAAL,GAAwB,KAAxB;AACH;;AANmB,EAQxB;AACA;AACA;;AACA;AACA;AACA;AACA;;;IACMC;AAAN,QAAMA,oBAAN,CAA2B;AACvBv+C,IAAAA,WAAW,CAACw+C,SAAD,EAAY;AACnB,WAAKA,SAAL,GAAiBA,SAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIjpC,IAAAA,UAAU,CAACZ,OAAD,EAAU;AAChB;AACA;AACA,aAAOA,OAAO,CAAC8pC,YAAR,CAAqB,UAArB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIC,IAAAA,SAAS,CAAC/pC,OAAD,EAAU;AACf,aAAOgqC,WAAW,CAAChqC,OAAD,CAAX,IAAwByV,gBAAgB,CAACzV,OAAD,CAAhB,CAA0B6kC,UAA1B,KAAyC,SAAxE;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIoF,IAAAA,UAAU,CAACjqC,OAAD,EAAU;AAChB;AACA,UAAI,CAAC,KAAK6pC,SAAL,CAAe7/B,SAApB,EAA+B;AAC3B,eAAO,KAAP;AACH;;AACD,YAAMkgC,YAAY,GAAGC,eAAe,CAACC,SAAS,CAACpqC,OAAD,CAAV,CAApC;;AACA,UAAIkqC,YAAJ,EAAkB;AACd;AACA,YAAIG,gBAAgB,CAACH,YAAD,CAAhB,KAAmC,CAAC,CAAxC,EAA2C;AACvC,iBAAO,KAAP;AACH,SAJa,CAKd;;;AACA,YAAI,CAAC,KAAKH,SAAL,CAAeG,YAAf,CAAL,EAAmC;AAC/B,iBAAO,KAAP;AACH;AACJ;;AACD,UAAII,QAAQ,GAAGtqC,OAAO,CAACsqC,QAAR,CAAiBz/C,WAAjB,EAAf;AACA,UAAI0/C,aAAa,GAAGF,gBAAgB,CAACrqC,OAAD,CAApC;;AACA,UAAIA,OAAO,CAAC8pC,YAAR,CAAqB,iBAArB,CAAJ,EAA6C;AACzC,eAAOS,aAAa,KAAK,CAAC,CAA1B;AACH;;AACD,UAAID,QAAQ,KAAK,QAAb,IAAyBA,QAAQ,KAAK,QAA1C,EAAoD;AAChD;AACA;AACA;AACA,eAAO,KAAP;AACH,OA1Be,CA2BhB;;;AACA,UAAI,KAAKT,SAAL,CAAeW,MAAf,IAAyB,KAAKX,SAAL,CAAeY,GAAxC,IAA+C,CAACC,wBAAwB,CAAC1qC,OAAD,CAA5E,EAAuF;AACnF,eAAO,KAAP;AACH;;AACD,UAAIsqC,QAAQ,KAAK,OAAjB,EAA0B;AACtB;AACA;AACA,YAAI,CAACtqC,OAAO,CAAC8pC,YAAR,CAAqB,UAArB,CAAL,EAAuC;AACnC,iBAAO,KAAP;AACH,SALqB,CAMtB;AACA;;;AACA,eAAOS,aAAa,KAAK,CAAC,CAA1B;AACH;;AACD,UAAID,QAAQ,KAAK,OAAjB,EAA0B;AACtB;AACA;AACA;AACA;AACA,YAAIC,aAAa,KAAK,CAAC,CAAvB,EAA0B;AACtB,iBAAO,KAAP;AACH,SAPqB,CAQtB;AACA;;;AACA,YAAIA,aAAa,KAAK,IAAtB,EAA4B;AACxB,iBAAO,IAAP;AACH,SAZqB,CAatB;AACA;AACA;;;AACA,eAAO,KAAKV,SAAL,CAAec,OAAf,IAA0B3qC,OAAO,CAAC8pC,YAAR,CAAqB,UAArB,CAAjC;AACH;;AACD,aAAO9pC,OAAO,CAAC8C,QAAR,IAAoB,CAA3B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI8nC,IAAAA,WAAW,CAAC5qC,OAAD,EAAU/N,MAAV,EAAkB;AACzB;AACA;AACA,aAAO44C,sBAAsB,CAAC7qC,OAAD,CAAtB,IAAmC,CAAC,KAAKY,UAAL,CAAgBZ,OAAhB,CAApC,KACF,CAAC/N,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAAC03C,gBAAxD,KAA6E,KAAKI,SAAL,CAAe/pC,OAAf,CAD3E,CAAP;AAEH;;AA1GsB;;AA4G3B4pC,EAAAA,oBAAoB,CAACj9C,IAArB,GAA4B,SAASm+C,4BAAT,CAAsCj+C,CAAtC,EAAyC;AAAE,WAAO,KAAKA,CAAC,IAAI+8C,oBAAV,EAAgCxlD,sDAAA,CAAgBC,2DAAhB,CAAhC,CAAP;AAA2E,GAAlJ;;AACAulD,EAAAA,oBAAoB,CAAC7zC,KAArB,GAA6BwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAAS40C,4BAAT,GAAwC;AAAE,aAAO,IAAIlB,oBAAJ,CAAyBrJ,sDAAA,CAAYqB,2DAAZ,CAAzB,CAAP;AAA4D,KAAjH;AAAmH3rC,IAAAA,KAAK,EAAE2zC,oBAA1H;AAAgJrE,IAAAA,UAAU,EAAE;AAA5J,GAAtB,CAA7B;SA7GMqE;;;AAiHN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOz7C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGsD,CAHrE;AAIA;AACA;AACA;AACA;AACA;;;AACA,SAASg8C,eAAT,CAAyBlgC,MAAzB,EAAiC;AAC7B,MAAI;AACA,WAAOA,MAAM,CAACigC,YAAd;AACH,GAFD,CAGA,OAAOz+C,EAAP,EAAW;AACP,WAAO,IAAP;AACH;AACJ;AACD;;;AACA,SAASu+C,WAAT,CAAqBhqC,OAArB,EAA8B;AAC1B;AACA;AACA,SAAO,CAAC,EAAEA,OAAO,CAAC+qC,WAAR,IAAuB/qC,OAAO,CAACgrC,YAA/B,IACL,OAAOhrC,OAAO,CAACirC,cAAf,KAAkC,UAAlC,IAAgDjrC,OAAO,CAACirC,cAAR,GAAyBliD,MADtE,CAAR;AAEH;AACD;;;AACA,SAASmiD,mBAAT,CAA6BlrC,OAA7B,EAAsC;AAClC,MAAIsqC,QAAQ,GAAGtqC,OAAO,CAACsqC,QAAR,CAAiBz/C,WAAjB,EAAf;AACA,SAAOy/C,QAAQ,KAAK,OAAb,IACHA,QAAQ,KAAK,QADV,IAEHA,QAAQ,KAAK,QAFV,IAGHA,QAAQ,KAAK,UAHjB;AAIH;AACD;;;AACA,SAASa,aAAT,CAAuBnrC,OAAvB,EAAgC;AAC5B,SAAOorC,cAAc,CAACprC,OAAD,CAAd,IAA2BA,OAAO,CAAChT,IAAR,IAAgB,QAAlD;AACH;AACD;;;AACA,SAASq+C,gBAAT,CAA0BrrC,OAA1B,EAAmC;AAC/B,SAAOsrC,eAAe,CAACtrC,OAAD,CAAf,IAA4BA,OAAO,CAAC8pC,YAAR,CAAqB,MAArB,CAAnC;AACH;AACD;;;AACA,SAASsB,cAAT,CAAwBprC,OAAxB,EAAiC;AAC7B,SAAOA,OAAO,CAACsqC,QAAR,CAAiBz/C,WAAjB,MAAkC,OAAzC;AACH;AACD;;;AACA,SAASygD,eAAT,CAAyBtrC,OAAzB,EAAkC;AAC9B,SAAOA,OAAO,CAACsqC,QAAR,CAAiBz/C,WAAjB,MAAkC,GAAzC;AACH;AACD;;;AACA,SAAS0gD,gBAAT,CAA0BvrC,OAA1B,EAAmC;AAC/B,MAAI,CAACA,OAAO,CAAC8pC,YAAR,CAAqB,UAArB,CAAD,IAAqC9pC,OAAO,CAAC8C,QAAR,KAAqB1I,SAA9D,EAAyE;AACrE,WAAO,KAAP;AACH;;AACD,MAAI0I,QAAQ,GAAG9C,OAAO,CAAC+iC,YAAR,CAAqB,UAArB,CAAf,CAJ+B,CAK/B;;AACA,MAAIjgC,QAAQ,IAAI,QAAhB,EAA0B;AACtB,WAAO,KAAP;AACH;;AACD,SAAO,CAAC,EAAEA,QAAQ,IAAI,CAACM,KAAK,CAAC9Z,QAAQ,CAACwZ,QAAD,EAAW,EAAX,CAAT,CAApB,CAAR;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASunC,gBAAT,CAA0BrqC,OAA1B,EAAmC;AAC/B,MAAI,CAACurC,gBAAgB,CAACvrC,OAAD,CAArB,EAAgC;AAC5B,WAAO,IAAP;AACH,GAH8B,CAI/B;;;AACA,QAAM8C,QAAQ,GAAGxZ,QAAQ,CAAC0W,OAAO,CAAC+iC,YAAR,CAAqB,UAArB,KAAoC,EAArC,EAAyC,EAAzC,CAAzB;AACA,SAAO3/B,KAAK,CAACN,QAAD,CAAL,GAAkB,CAAC,CAAnB,GAAuBA,QAA9B;AACH;AACD;;;AACA,SAAS4nC,wBAAT,CAAkC1qC,OAAlC,EAA2C;AACvC,MAAIsqC,QAAQ,GAAGtqC,OAAO,CAACsqC,QAAR,CAAiBz/C,WAAjB,EAAf;AACA,MAAI2gD,SAAS,GAAGlB,QAAQ,KAAK,OAAb,IAAwBtqC,OAAO,CAAChT,IAAhD;AACA,SAAOw+C,SAAS,KAAK,MAAd,IACAA,SAAS,KAAK,UADd,IAEAlB,QAAQ,KAAK,QAFb,IAGAA,QAAQ,KAAK,UAHpB;AAIH;AACD;AACA;AACA;AACA;;;AACA,SAASO,sBAAT,CAAgC7qC,OAAhC,EAAyC;AACrC;AACA,MAAImrC,aAAa,CAACnrC,OAAD,CAAjB,EAA4B;AACxB,WAAO,KAAP;AACH;;AACD,SAAOkrC,mBAAmB,CAAClrC,OAAD,CAAnB,IACHqrC,gBAAgB,CAACrrC,OAAD,CADb,IAEHA,OAAO,CAAC8pC,YAAR,CAAqB,iBAArB,CAFG,IAGHyB,gBAAgB,CAACvrC,OAAD,CAHpB;AAIH;AACD;;;AACA,SAASoqC,SAAT,CAAmB11B,IAAnB,EAAyB;AACrB;AACA,SAAOA,IAAI,CAAC+2B,aAAL,IAAsB/2B,IAAI,CAAC+2B,aAAL,CAAmBC,WAAzC,IAAwDzhC,MAA/D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM0hC,SAAN,CAAgB;AACZtgD,EAAAA,WAAW,CAACktC,QAAD,EAAWqT,QAAX,EAAqBC,OAArB,EAA8BzyC,SAA9B,EAAyC0yC,YAAY,GAAG,KAAxD,EAA+D;AACtE,SAAKvT,QAAL,GAAgBA,QAAhB;AACA,SAAKqT,QAAL,GAAgBA,QAAhB;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKzyC,SAAL,GAAiBA,SAAjB;AACA,SAAK2yC,YAAL,GAAoB,KAApB,CALsE,CAMtE;;AACA,SAAKC,mBAAL,GAA2B,MAAM,KAAKC,wBAAL,EAAjC;;AACA,SAAKC,iBAAL,GAAyB,MAAM,KAAKC,yBAAL,EAA/B;;AACA,SAAKC,QAAL,GAAgB,IAAhB;;AACA,QAAI,CAACN,YAAL,EAAmB;AACf,WAAKO,aAAL;AACH;AACJ;AACD;;;AACW,MAAPtF,OAAO,GAAG;AAAE,WAAO,KAAKqF,QAAZ;AAAuB;;AAC5B,MAAPrF,OAAO,CAACt1C,KAAD,EAAQ;AACf,SAAK26C,QAAL,GAAgB36C,KAAhB;;AACA,QAAI,KAAK66C,YAAL,IAAqB,KAAKC,UAA9B,EAA0C;AACtC,WAAKC,qBAAL,CAA2B/6C,KAA3B,EAAkC,KAAK66C,YAAvC;;AACA,WAAKE,qBAAL,CAA2B/6C,KAA3B,EAAkC,KAAK86C,UAAvC;AACH;AACJ;AACD;;;AACAjkC,EAAAA,OAAO,GAAG;AACN,UAAMmkC,WAAW,GAAG,KAAKH,YAAzB;AACA,UAAMI,SAAS,GAAG,KAAKH,UAAvB;;AACA,QAAIE,WAAJ,EAAiB;AACbA,MAAAA,WAAW,CAACx8C,mBAAZ,CAAgC,OAAhC,EAAyC,KAAK+7C,mBAA9C;;AACA,UAAIS,WAAW,CAAC9+B,UAAhB,EAA4B;AACxB8+B,QAAAA,WAAW,CAAC9+B,UAAZ,CAAuBmwB,WAAvB,CAAmC2O,WAAnC;AACH;AACJ;;AACD,QAAIC,SAAJ,EAAe;AACXA,MAAAA,SAAS,CAACz8C,mBAAV,CAA8B,OAA9B,EAAuC,KAAKi8C,iBAA5C;;AACA,UAAIQ,SAAS,CAAC/+B,UAAd,EAA0B;AACtB++B,QAAAA,SAAS,CAAC/+B,UAAV,CAAqBmwB,WAArB,CAAiC4O,SAAjC;AACH;AACJ;;AACD,SAAKJ,YAAL,GAAoB,KAAKC,UAAL,GAAkB,IAAtC;AACA,SAAKR,YAAL,GAAoB,KAApB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIM,EAAAA,aAAa,GAAG;AACZ;AACA,QAAI,KAAKN,YAAT,EAAuB;AACnB,aAAO,IAAP;AACH;;AACD,SAAKF,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACjC,UAAI,CAAC,KAAK28C,YAAV,EAAwB;AACpB,aAAKA,YAAL,GAAoB,KAAKK,aAAL,EAApB;;AACA,aAAKL,YAAL,CAAkB18C,gBAAlB,CAAmC,OAAnC,EAA4C,KAAKo8C,mBAAjD;AACH;;AACD,UAAI,CAAC,KAAKO,UAAV,EAAsB;AAClB,aAAKA,UAAL,GAAkB,KAAKI,aAAL,EAAlB;;AACA,aAAKJ,UAAL,CAAgB38C,gBAAhB,CAAiC,OAAjC,EAA0C,KAAKs8C,iBAA/C;AACH;AACJ,KATD;;AAUA,QAAI,KAAK3T,QAAL,CAAc5qB,UAAlB,EAA8B;AAC1B,WAAK4qB,QAAL,CAAc5qB,UAAd,CAAyBmiB,YAAzB,CAAsC,KAAKwc,YAA3C,EAAyD,KAAK/T,QAA9D;;AACA,WAAKA,QAAL,CAAc5qB,UAAd,CAAyBmiB,YAAzB,CAAsC,KAAKyc,UAA3C,EAAuD,KAAKhU,QAAL,CAAcqU,WAArE;;AACA,WAAKb,YAAL,GAAoB,IAApB;AACH;;AACD,WAAO,KAAKA,YAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIc,EAAAA,4BAA4B,CAACxnC,OAAD,EAAU;AAClC,WAAO,IAAIqB,OAAJ,CAAYC,OAAO,IAAI;AAC1B,WAAKmmC,gBAAL,CAAsB,MAAMnmC,OAAO,CAAC,KAAKomC,mBAAL,CAAyB1nC,OAAzB,CAAD,CAAnC;AACH,KAFM,CAAP;AAGH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI2nC,EAAAA,kCAAkC,CAAC3nC,OAAD,EAAU;AACxC,WAAO,IAAIqB,OAAJ,CAAYC,OAAO,IAAI;AAC1B,WAAKmmC,gBAAL,CAAsB,MAAMnmC,OAAO,CAAC,KAAKwlC,yBAAL,CAA+B9mC,OAA/B,CAAD,CAAnC;AACH,KAFM,CAAP;AAGH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI4nC,EAAAA,iCAAiC,CAAC5nC,OAAD,EAAU;AACvC,WAAO,IAAIqB,OAAJ,CAAYC,OAAO,IAAI;AAC1B,WAAKmmC,gBAAL,CAAsB,MAAMnmC,OAAO,CAAC,KAAKslC,wBAAL,CAA8B5mC,OAA9B,CAAD,CAAnC;AACH,KAFM,CAAP;AAGH;AACD;AACJ;AACA;AACA;AACA;;;AACI6nC,EAAAA,kBAAkB,CAACC,KAAD,EAAQ;AACtB;AACA,QAAIC,OAAO,GAAG,KAAK7U,QAAL,CAAc/pB,gBAAd,CAAgC,qBAAoB2+B,KAAM,KAA3B,GACxC,kBAAiBA,KAAM,KADiB,GAExC,cAAaA,KAAM,GAFV,CAAd;;AAGA,SAAK,IAAI1+B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2+B,OAAO,CAACrkD,MAA5B,EAAoC0lB,CAAC,EAArC,EAAyC;AACrC;AACA,UAAI2+B,OAAO,CAAC3+B,CAAD,CAAP,CAAWq7B,YAAX,CAAyB,aAAYqD,KAAM,EAA3C,CAAJ,EAAmD;AAC/CnP,QAAAA,OAAO,CAACC,IAAR,CAAc,gDAA+CkP,KAAM,KAAtD,GACR,sBAAqBA,KAAM,4BADnB,GAER,qCAFL,EAE2CC,OAAO,CAAC3+B,CAAD,CAFlD;AAGH,OAJD,MAKK,IAAI2+B,OAAO,CAAC3+B,CAAD,CAAP,CAAWq7B,YAAX,CAAyB,oBAAmBqD,KAAM,EAAlD,CAAJ,EAA0D;AAC3DnP,QAAAA,OAAO,CAACC,IAAR,CAAc,uDAAsDkP,KAAM,KAA7D,GACR,sBAAqBA,KAAM,sCADnB,GAER,2BAFL,EAEiCC,OAAO,CAAC3+B,CAAD,CAFxC;AAGH;AACJ;;AACD,QAAI0+B,KAAK,IAAI,OAAb,EAAsB;AAClB,aAAOC,OAAO,CAACrkD,MAAR,GAAiBqkD,OAAO,CAAC,CAAD,CAAxB,GAA8B,KAAKC,wBAAL,CAA8B,KAAK9U,QAAnC,CAArC;AACH;;AACD,WAAO6U,OAAO,CAACrkD,MAAR,GACHqkD,OAAO,CAACA,OAAO,CAACrkD,MAAR,GAAiB,CAAlB,CADJ,GAC2B,KAAKukD,uBAAL,CAA6B,KAAK/U,QAAlC,CADlC;AAEH;AACD;AACJ;AACA;AACA;;;AACIwU,EAAAA,mBAAmB,CAAC1nC,OAAD,EAAU;AACzB;AACA,UAAMkoC,iBAAiB,GAAG,KAAKhV,QAAL,CAAc5pB,aAAd,CAA6B,uBAAD,GACjD,mBADqB,CAA1B;;AAEA,QAAI4+B,iBAAJ,EAAuB;AACnB;AACA,UAAIA,iBAAiB,CAACzD,YAAlB,CAAgC,mBAAhC,CAAJ,EAAyD;AACrD9L,QAAAA,OAAO,CAACC,IAAR,CAAc,yDAAD,GACR,0DADQ,GAER,0BAFL,EAEgCsP,iBAFhC;AAGH,OANkB,CAOnB;AACA;;;AACA,UAAI,CAAC,OAAOp/C,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACA,CAAC,KAAKy9C,QAAL,CAAchB,WAAd,CAA0B2C,iBAA1B,CADL,EACmD;AAC/CvP,QAAAA,OAAO,CAACC,IAAR,CAAc,wDAAd,EAAuEsP,iBAAvE;AACH;;AACD,UAAI,CAAC,KAAK3B,QAAL,CAAchB,WAAd,CAA0B2C,iBAA1B,CAAL,EAAmD;AAC/C,cAAMC,cAAc,GAAG,KAAKH,wBAAL,CAA8BE,iBAA9B,CAAvB;;AACAC,QAAAA,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAAC9vC,KAAf,CAAqB2H,OAArB,CAAhE;AACA,eAAO,CAAC,CAACmoC,cAAT;AACH;;AACDD,MAAAA,iBAAiB,CAAC7vC,KAAlB,CAAwB2H,OAAxB;AACA,aAAO,IAAP;AACH;;AACD,WAAO,KAAK8mC,yBAAL,CAA+B9mC,OAA/B,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI8mC,EAAAA,yBAAyB,CAAC9mC,OAAD,EAAU;AAC/B,UAAMkoC,iBAAiB,GAAG,KAAKL,kBAAL,CAAwB,OAAxB,CAA1B;;AACA,QAAIK,iBAAJ,EAAuB;AACnBA,MAAAA,iBAAiB,CAAC7vC,KAAlB,CAAwB2H,OAAxB;AACH;;AACD,WAAO,CAAC,CAACkoC,iBAAT;AACH;AACD;AACJ;AACA;AACA;;;AACItB,EAAAA,wBAAwB,CAAC5mC,OAAD,EAAU;AAC9B,UAAMkoC,iBAAiB,GAAG,KAAKL,kBAAL,CAAwB,KAAxB,CAA1B;;AACA,QAAIK,iBAAJ,EAAuB;AACnBA,MAAAA,iBAAiB,CAAC7vC,KAAlB,CAAwB2H,OAAxB;AACH;;AACD,WAAO,CAAC,CAACkoC,iBAAT;AACH;AACD;AACJ;AACA;;;AACIrxC,EAAAA,WAAW,GAAG;AACV,WAAO,KAAK6vC,YAAZ;AACH;AACD;;;AACAsB,EAAAA,wBAAwB,CAAC1b,IAAD,EAAO;AAC3B,QAAI,KAAKia,QAAL,CAAchB,WAAd,CAA0BjZ,IAA1B,KAAmC,KAAKia,QAAL,CAAc3B,UAAd,CAAyBtY,IAAzB,CAAvC,EAAuE;AACnE,aAAOA,IAAP;AACH,KAH0B,CAI3B;AACA;;;AACA,QAAI8b,QAAQ,GAAG9b,IAAI,CAAC8b,QAAL,IAAiB9b,IAAI,CAAC4S,UAArC;;AACA,SAAK,IAAI91B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGg/B,QAAQ,CAAC1kD,MAA7B,EAAqC0lB,CAAC,EAAtC,EAA0C;AACtC,UAAIi/B,aAAa,GAAGD,QAAQ,CAACh/B,CAAD,CAAR,CAAY02B,QAAZ,KAAyB,KAAK/rC,SAAL,CAAegsC,YAAxC,GAChB,KAAKiI,wBAAL,CAA8BI,QAAQ,CAACh/B,CAAD,CAAtC,CADgB,GAEhB,IAFJ;;AAGA,UAAIi/B,aAAJ,EAAmB;AACf,eAAOA,aAAP;AACH;AACJ;;AACD,WAAO,IAAP;AACH;AACD;;;AACAJ,EAAAA,uBAAuB,CAAC3b,IAAD,EAAO;AAC1B,QAAI,KAAKia,QAAL,CAAchB,WAAd,CAA0BjZ,IAA1B,KAAmC,KAAKia,QAAL,CAAc3B,UAAd,CAAyBtY,IAAzB,CAAvC,EAAuE;AACnE,aAAOA,IAAP;AACH,KAHyB,CAI1B;;;AACA,QAAI8b,QAAQ,GAAG9b,IAAI,CAAC8b,QAAL,IAAiB9b,IAAI,CAAC4S,UAArC;;AACA,SAAK,IAAI91B,CAAC,GAAGg/B,QAAQ,CAAC1kD,MAAT,GAAkB,CAA/B,EAAkC0lB,CAAC,IAAI,CAAvC,EAA0CA,CAAC,EAA3C,EAA+C;AAC3C,UAAIi/B,aAAa,GAAGD,QAAQ,CAACh/B,CAAD,CAAR,CAAY02B,QAAZ,KAAyB,KAAK/rC,SAAL,CAAegsC,YAAxC,GAChB,KAAKkI,uBAAL,CAA6BG,QAAQ,CAACh/B,CAAD,CAArC,CADgB,GAEhB,IAFJ;;AAGA,UAAIi/B,aAAJ,EAAmB;AACf,eAAOA,aAAP;AACH;AACJ;;AACD,WAAO,IAAP;AACH;AACD;;;AACAf,EAAAA,aAAa,GAAG;AACZ,UAAMgB,MAAM,GAAG,KAAKv0C,SAAL,CAAe0jC,aAAf,CAA6B,KAA7B,CAAf;;AACA,SAAK0P,qBAAL,CAA2B,KAAKJ,QAAhC,EAA0CuB,MAA1C;;AACAA,IAAAA,MAAM,CAAC/W,SAAP,CAAiBje,GAAjB,CAAqB,qBAArB;AACAg1B,IAAAA,MAAM,CAAC/W,SAAP,CAAiBje,GAAjB,CAAqB,uBAArB;AACAg1B,IAAAA,MAAM,CAAC5wC,YAAP,CAAoB,aAApB,EAAmC,MAAnC;AACA,WAAO4wC,MAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACInB,EAAAA,qBAAqB,CAACoB,SAAD,EAAYD,MAAZ,EAAoB;AACrC;AACA;AACAC,IAAAA,SAAS,GAAGD,MAAM,CAAC5wC,YAAP,CAAoB,UAApB,EAAgC,GAAhC,CAAH,GAA0C4wC,MAAM,CAAC7K,eAAP,CAAuB,UAAvB,CAAnD;AACH;AACD;AACJ;AACA;AACA;;;AACI+K,EAAAA,aAAa,CAAC9G,OAAD,EAAU;AACnB,QAAI,KAAKuF,YAAL,IAAqB,KAAKC,UAA9B,EAA0C;AACtC,WAAKC,qBAAL,CAA2BzF,OAA3B,EAAoC,KAAKuF,YAAzC;;AACA,WAAKE,qBAAL,CAA2BzF,OAA3B,EAAoC,KAAKwF,UAAzC;AACH;AACJ;AACD;;;AACAO,EAAAA,gBAAgB,CAACzsC,EAAD,EAAK;AACjB,QAAI,KAAKwrC,OAAL,CAAaiC,QAAjB,EAA2B;AACvBztC,MAAAA,EAAE;AACL,KAFD,MAGK;AACD,WAAKwrC,OAAL,CAAaxvC,QAAb,CAAsBhL,IAAtB,CAA2B7N,qDAAI,CAAC,CAAD,CAA/B,EAAoC8N,SAApC,CAA8C+O,EAA9C;AACH;AACJ;;AAxQW;AA0QhB;AACA;AACA;AACA;AACA;;;IACM0tC;AAAN,QAAMA,gBAAN,CAAuB;AACnB1iD,IAAAA,WAAW,CAACugD,QAAD,EAAWC,OAAX,EAAoBzyC,SAApB,EAA+B;AACtC,WAAKwyC,QAAL,GAAgBA,QAAhB;AACA,WAAKC,OAAL,GAAeA,OAAf;AACA,WAAKzyC,SAAL,GAAiBA,SAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIyD,IAAAA,MAAM,CAACmD,OAAD,EAAUguC,oBAAoB,GAAG,KAAjC,EAAwC;AAC1C,aAAO,IAAIrC,SAAJ,CAAc3rC,OAAd,EAAuB,KAAK4rC,QAA5B,EAAsC,KAAKC,OAA3C,EAAoD,KAAKzyC,SAAzD,EAAoE40C,oBAApE,CAAP;AACH;;AAfkB;;AAiBvBD,EAAAA,gBAAgB,CAACphD,IAAjB,GAAwB,SAASshD,wBAAT,CAAkCphD,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAIkhD,gBAAV,EAA4B3pD,sDAAA,CAAgBwlD,oBAAhB,CAA5B,EAAmExlD,sDAAA,CAAgBA,iDAAhB,CAAnE,EAAmGA,sDAAA,CAAgBvD,qDAAhB,CAAnG,CAAP;AAAuI,GAAtM;;AACAktD,EAAAA,gBAAgB,CAACh4C,KAAjB,GAAyBwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAAS+3C,wBAAT,GAAoC;AAAE,aAAO,IAAIF,gBAAJ,CAAqBxN,sDAAA,CAAYqJ,oBAAZ,CAArB,EAAwDrJ,sDAAA,CAAYA,iDAAZ,CAAxD,EAAgFA,sDAAA,CAAYD,qDAAZ,CAAhF,CAAP;AAAmH,KAApK;AAAsKrqC,IAAAA,KAAK,EAAE83C,gBAA7K;AAA+LxI,IAAAA,UAAU,EAAE;AAA3M,GAAtB,CAAzB;SAlBMwI;;;AAwBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO5/C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAOA;;;IACM+/C;AAAN,QAAMA,YAAN,CAAmB;AACf7iD,IAAAA,WAAW,CAAC4L,WAAD,EAAck3C,iBAAd;AACX;AACJ;AACA;AACA;AACI/0C,IAAAA,SALW,EAKA;AACP,WAAKnC,WAAL,GAAmBA,WAAnB;AACA,WAAKk3C,iBAAL,GAAyBA,iBAAzB;AACA;;AACA,WAAKC,yBAAL,GAAiC,IAAjC;AACA,WAAKC,SAAL,GAAiB,KAAKF,iBAAL,CAAuBtxC,MAAvB,CAA8B,KAAK5F,WAAL,CAAiB8I,aAA/C,EAA8D,IAA9D,CAAjB;AACH;AACD;;;AACW,QAAPgnC,OAAO,GAAG;AAAE,aAAO,KAAKsH,SAAL,CAAetH,OAAtB;AAAgC;;AACrC,QAAPA,OAAO,CAACt1C,KAAD,EAAQ;AAAE,WAAK48C,SAAL,CAAetH,OAAf,GAAyBpjD,6EAAqB,CAAC8N,KAAD,CAA9C;AAAwD;AAC7E;AACJ;AACA;AACA;;;AACmB,QAAX68C,WAAW,GAAG;AAAE,aAAO,KAAKC,YAAZ;AAA2B;;AAChC,QAAXD,WAAW,CAAC78C,KAAD,EAAQ;AAAE,WAAK88C,YAAL,GAAoB5qD,6EAAqB,CAAC8N,KAAD,CAAzC;AAAmD;;AAC5EhD,IAAAA,WAAW,GAAG;AACV,WAAK4/C,SAAL,CAAe/lC,OAAf,GADU,CAEV;AACA;;AACA,UAAI,KAAK8lC,yBAAT,EAAoC;AAChC,aAAKA,yBAAL,CAA+B1wC,KAA/B;;AACA,aAAK0wC,yBAAL,GAAiC,IAAjC;AACH;AACJ;;AACDjsC,IAAAA,kBAAkB,GAAG;AACjB,WAAKksC,SAAL,CAAehC,aAAf;;AACA,UAAI,KAAKiC,WAAT,EAAsB;AAClB,aAAKE,aAAL;AACH;AACJ;;AACDC,IAAAA,SAAS,GAAG;AACR,UAAI,CAAC,KAAKJ,SAAL,CAAenyC,WAAf,EAAL,EAAmC;AAC/B,aAAKmyC,SAAL,CAAehC,aAAf;AACH;AACJ;;AACD16C,IAAAA,WAAW,CAACC,OAAD,EAAU;AACjB,YAAM88C,iBAAiB,GAAG98C,OAAO,CAAC,aAAD,CAAjC;;AACA,UAAI88C,iBAAiB,IAAI,CAACA,iBAAiB,CAAC18C,WAAxC,IAAuD,KAAKs8C,WAA5D,IACA,KAAKD,SAAL,CAAenyC,WAAf,EADJ,EACkC;AAC9B,aAAKsyC,aAAL;AACH;AACJ;;AACDA,IAAAA,aAAa,GAAG;AACZ,WAAKJ,yBAAL,GAAiCtM,wFAAiC,EAAlE;AACA,WAAKuM,SAAL,CAAexB,4BAAf;AACH;;AApDc;;AAsDnBqB,EAAAA,YAAY,CAACvhD,IAAb,GAAoB,SAASgiD,oBAAT,CAA8B9hD,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAIqhD,YAAV,EAAwB9pD,+DAAA,CAAyBA,qDAAzB,CAAxB,EAAqEA,+DAAA,CAAyB2pD,gBAAzB,CAArE,EAAiH3pD,+DAAA,CAAyBvD,qDAAzB,CAAjH,CAAP;AAA8J,GAArN;;AACAqtD,EAAAA,YAAY,CAAC59C,IAAb,GAAoB,aAAclM,+DAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAEkhD,YAAR;AAAsBjhD,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,cAAL,EAAqB,EAArB,CAAD,CAAjC;AAA6DE,IAAAA,MAAM,EAAE;AAAE45C,MAAAA,OAAO,EAAE,CAAC,cAAD,EAAiB,SAAjB,CAAX;AAAwCuH,MAAAA,WAAW,EAAE,CAAC,yBAAD,EAA4B,aAA5B;AAArD,KAArE;AAAwKj2C,IAAAA,QAAQ,EAAE,CAAC,cAAD,CAAlL;AAAoMjF,IAAAA,QAAQ,EAAE,CAAChP,kEAAD;AAA9M,GAAzB,CAAlC;SAvDM8pD;;;AAiEN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO//C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAeC,CAfhB;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMygD,qBAAN,SAAoCjD,SAApC,CAA8C;AAC1CtgD,EAAAA,WAAW,CAACktC,QAAD,EAAWqT,QAAX,EAAqBC,OAArB,EAA8BzyC,SAA9B,EAAyCy1C,iBAAzC,EAA4DC,cAA5D,EAA4E78C,MAA5E,EAAoF;AAC3F,UAAMsmC,QAAN,EAAgBqT,QAAhB,EAA0BC,OAA1B,EAAmCzyC,SAAnC,EAA8CnH,MAAM,CAAC88C,KAArD;AACA,SAAKF,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;;AACA,SAAKD,iBAAL,CAAuBnmB,QAAvB,CAAgC,IAAhC;AACH;AACD;;;AACW,MAAPqe,OAAO,GAAG;AAAE,WAAO,KAAKqF,QAAZ;AAAuB;;AAC5B,MAAPrF,OAAO,CAACt1C,KAAD,EAAQ;AACf,SAAK26C,QAAL,GAAgB36C,KAAhB;;AACA,QAAI,KAAK26C,QAAT,EAAmB;AACf,WAAKyC,iBAAL,CAAuBnmB,QAAvB,CAAgC,IAAhC;AACH,KAFD,MAGK;AACD,WAAKmmB,iBAAL,CAAuB5iB,UAAvB,CAAkC,IAAlC;AACH;AACJ;AACD;;;AACA3jB,EAAAA,OAAO,GAAG;AACN,SAAKumC,iBAAL,CAAuB5iB,UAAvB,CAAkC,IAAlC;;AACA,UAAM3jB,OAAN;AACH;AACD;;;AACA0mC,EAAAA,OAAO,GAAG;AACN,SAAKF,cAAL,CAAoBG,YAApB,CAAiC,IAAjC;;AACA,SAAKpB,aAAL,CAAmB,IAAnB;AACH;AACD;;;AACAqB,EAAAA,QAAQ,GAAG;AACP,SAAKJ,cAAL,CAAoBK,UAApB,CAA+B,IAA/B;;AACA,SAAKtB,aAAL,CAAmB,KAAnB;AACH;;AAhCyC;AAmC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMuB,yBAAyB,gBAAG,IAAI7tD,yDAAJ,CAAmB,2BAAnB,CAAlC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA,SAAS8tD,OAAT,CAAiBrvC,OAAjB,EAA0BsG,QAA1B,EAAoC;AAChC,MAAI,EAAEtG,OAAO,YAAYsvC,IAArB,CAAJ,EAAgC;AAC5B,WAAO,IAAP;AACH;;AACD,MAAIC,IAAI,GAAGvvC,OAAX;;AACA,SAAOuvC,IAAI,IAAI,IAAR,IAAgB,EAAEA,IAAI,YAAY/hC,OAAlB,CAAvB,EAAmD;AAC/C+hC,IAAAA,IAAI,GAAGA,IAAI,CAAC5hC,UAAZ;AACH;;AACD,SAAO4hC,IAAI,KAAKC,gBAAgB,GAC5BD,IAAI,CAACF,OAAL,CAAa/oC,QAAb,CAD4B,GACHmpC,eAAe,CAACF,IAAD,EAAOjpC,QAAP,CADjC,CAAX;AAEH;AACD;;;AACA,SAASmpC,eAAT,CAAyBzvC,OAAzB,EAAkCsG,QAAlC,EAA4C;AACxC,MAAIipC,IAAI,GAAGvvC,OAAX;;AACA,SAAOuvC,IAAI,IAAI,IAAR,IAAgB,EAAEA,IAAI,YAAY/hC,OAAhB,IAA2BM,OAAO,CAACyhC,IAAD,EAAOjpC,QAAP,CAApC,CAAvB,EAA8E;AAC1EipC,IAAAA,IAAI,GAAGA,IAAI,CAAC5hC,UAAZ;AACH;;AACD,SAAQ4hC,IAAI,IAAI,IAAhB;AACH;;AACD,MAAMC,gBAAgB,GAAG,OAAOhiC,OAAP,IAAkB,WAAlB,IAAiC,CAAC,CAACA,OAAO,CAACK,SAAR,CAAkBwhC,OAA9E;AACA;;AACA,SAASvhC,OAAT,CAAiB9N,OAAjB,EAA0BsG,QAA1B,EAAoC;AAChC,SAAOtG,OAAO,CAAC8N,OAAR,GACH9N,OAAO,CAAC8N,OAAR,CAAgBxH,QAAhB,CADG,GAEHtG,OAAO,CAAC,mBAAD,CAAP,CAA6BsG,QAA7B,CAFJ;AAGH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMopC,mCAAN,CAA0C;AACtCrkD,EAAAA,WAAW,GAAG;AACV;AACA,SAAKskD,SAAL,GAAiB,IAAjB;AACH;AACD;;;AACAV,EAAAA,YAAY,CAACZ,SAAD,EAAY;AACpB;AACA,QAAI,KAAKsB,SAAT,EAAoB;AAChBtB,MAAAA,SAAS,CAACj1C,SAAV,CAAoBnJ,mBAApB,CAAwC,OAAxC,EAAiD,KAAK0/C,SAAtD,EAAiE,IAAjE;AACH;;AACD,SAAKA,SAAL,GAAkBlgD,CAAD,IAAO,KAAKmgD,UAAL,CAAgBvB,SAAhB,EAA2B5+C,CAA3B,CAAxB;;AACA4+C,IAAAA,SAAS,CAACxC,OAAV,CAAkBl8C,iBAAlB,CAAoC,MAAM;AACtC0+C,MAAAA,SAAS,CAACj1C,SAAV,CAAoBxJ,gBAApB,CAAqC,OAArC,EAA8C,KAAK+/C,SAAnD,EAA8D,IAA9D;AACH,KAFD;AAGH;AACD;;;AACAR,EAAAA,UAAU,CAACd,SAAD,EAAY;AAClB,QAAI,CAAC,KAAKsB,SAAV,EAAqB;AACjB;AACH;;AACDtB,IAAAA,SAAS,CAACj1C,SAAV,CAAoBnJ,mBAApB,CAAwC,OAAxC,EAAiD,KAAK0/C,SAAtD,EAAiE,IAAjE;;AACA,SAAKA,SAAL,GAAiB,IAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,UAAU,CAACvB,SAAD,EAAYlxC,KAAZ,EAAmB;AACzB,UAAMwB,MAAM,GAAGxB,KAAK,CAACwB,MAArB;AACA,UAAMkxC,aAAa,GAAGxB,SAAS,CAAC9V,QAAhC,CAFyB,CAGzB;AACA;;AACA,QAAI,CAACsX,aAAa,CAACpiC,QAAd,CAAuB9O,MAAvB,CAAD,IAAmC0wC,OAAO,CAAC1wC,MAAD,EAAS,sBAAT,CAAP,KAA4C,IAAnF,EAAyF;AACrF;AACA;AACA;AACAhB,MAAAA,UAAU,CAAC,MAAM;AACb;AACA,YAAI0wC,SAAS,CAACtH,OAAV,IAAqB,CAAC8I,aAAa,CAACpiC,QAAd,CAAuB4gC,SAAS,CAACj1C,SAAV,CAAoBkC,aAA3C,CAA1B,EAAqF;AACjF+yC,UAAAA,SAAS,CAAClC,yBAAV;AACH;AACJ,OALS,CAAV;AAMH;AACJ;;AA/CqC;AAkD1C;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACM2D;AAAN,QAAMA,gBAAN,CAAuB;AACnBzkD,IAAAA,WAAW,GAAG;AACV;AACA;AACA,WAAK0kD,eAAL,GAAuB,EAAvB;AACH;AACD;AACJ;AACA;AACA;;;AACIrnB,IAAAA,QAAQ,CAAC2lB,SAAD,EAAY;AAChB;AACA,WAAK0B,eAAL,GAAuB,KAAKA,eAAL,CAAqBtsD,MAArB,CAA6BusD,EAAD,IAAQA,EAAE,KAAK3B,SAA3C,CAAvB;AACA,UAAI4B,KAAK,GAAG,KAAKF,eAAjB;;AACA,UAAIE,KAAK,CAAClnD,MAAV,EAAkB;AACdknD,QAAAA,KAAK,CAACA,KAAK,CAAClnD,MAAN,GAAe,CAAhB,CAAL,CAAwBmmD,QAAxB;AACH;;AACDe,MAAAA,KAAK,CAACtoC,IAAN,CAAW0mC,SAAX;;AACAA,MAAAA,SAAS,CAACW,OAAV;AACH;AACD;AACJ;AACA;AACA;;;AACI/iB,IAAAA,UAAU,CAACoiB,SAAD,EAAY;AAClBA,MAAAA,SAAS,CAACa,QAAV;;AACA,YAAMe,KAAK,GAAG,KAAKF,eAAnB;AACA,YAAMthC,CAAC,GAAGwhC,KAAK,CAACtjC,OAAN,CAAc0hC,SAAd,CAAV;;AACA,UAAI5/B,CAAC,KAAK,CAAC,CAAX,EAAc;AACVwhC,QAAAA,KAAK,CAACr+B,MAAN,CAAanD,CAAb,EAAgB,CAAhB;;AACA,YAAIwhC,KAAK,CAAClnD,MAAV,EAAkB;AACdknD,UAAAA,KAAK,CAACA,KAAK,CAAClnD,MAAN,GAAe,CAAhB,CAAL,CAAwBimD,OAAxB;AACH;AACJ;AACJ;;AAlCkB;;AAoCvBc,EAAAA,gBAAgB,CAACnjD,IAAjB,GAAwB,SAASujD,wBAAT,CAAkCrjD,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAIijD,gBAAV,GAAP;AAAuC,GAAtG;;AACAA,EAAAA,gBAAgB,CAAC/5C,KAAjB,GAAyBwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASg6C,wBAAT,GAAoC;AAAE,aAAO,IAAIJ,gBAAJ,EAAP;AAAgC,KAAjF;AAAmF75C,IAAAA,KAAK,EAAE65C,gBAA1F;AAA4GvK,IAAAA,UAAU,EAAE;AAAxH,GAAtB,CAAzB;SArCMuK;;;AAsCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO3hD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAG6B,CAH5C;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACMgiD;AAAN,QAAMA,4BAAN,CAAmC;AAC/B9kD,IAAAA,WAAW,CAACugD,QAAD,EAAWC,OAAX,EAAoBgD,iBAApB,EAAuCz1C,SAAvC,EAAkD01C,cAAlD,EAAkE;AACzE,WAAKlD,QAAL,GAAgBA,QAAhB;AACA,WAAKC,OAAL,GAAeA,OAAf;AACA,WAAKgD,iBAAL,GAAyBA,iBAAzB;AACA,WAAKz1C,SAAL,GAAiBA,SAAjB,CAJyE,CAKzE;;AACA,WAAK01C,cAAL,GAAsBA,cAAc,IAAI,IAAIY,mCAAJ,EAAxC;AACH;;AACD7yC,IAAAA,MAAM,CAACmD,OAAD,EAAU/N,MAAM,GAAG;AAAE88C,MAAAA,KAAK,EAAE;AAAT,KAAnB,EAAqC;AACvC,UAAIqB,YAAJ;;AACA,UAAI,OAAOn+C,MAAP,KAAkB,SAAtB,EAAiC;AAC7Bm+C,QAAAA,YAAY,GAAG;AAAErB,UAAAA,KAAK,EAAE98C;AAAT,SAAf;AACH,OAFD,MAGK;AACDm+C,QAAAA,YAAY,GAAGn+C,MAAf;AACH;;AACD,aAAO,IAAI28C,qBAAJ,CAA0B5uC,OAA1B,EAAmC,KAAK4rC,QAAxC,EAAkD,KAAKC,OAAvD,EAAgE,KAAKzyC,SAArE,EAAgF,KAAKy1C,iBAArF,EAAwG,KAAKC,cAA7G,EAA6HsB,YAA7H,CAAP;AACH;;AAlB8B;;AAoBnCD,EAAAA,4BAA4B,CAACxjD,IAA7B,GAAoC,SAAS0jD,oCAAT,CAA8CxjD,CAA9C,EAAiD;AAAE,WAAO,KAAKA,CAAC,IAAIsjD,4BAAV,EAAwC/rD,sDAAA,CAAgBwlD,oBAAhB,CAAxC,EAA+ExlD,sDAAA,CAAgBA,iDAAhB,CAA/E,EAA+GA,sDAAA,CAAgB0rD,gBAAhB,CAA/G,EAAkJ1rD,sDAAA,CAAgBvD,qDAAhB,CAAlJ,EAA6KuD,sDAAA,CAAgBgrD,yBAAhB,EAA2C,CAA3C,CAA7K,CAAP;AAAqO,GAA5T;;AACAe,EAAAA,4BAA4B,CAACp6C,KAA7B,GAAqCwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASm6C,oCAAT,GAAgD;AAAE,aAAO,IAAIF,4BAAJ,CAAiC5P,sDAAA,CAAYqJ,oBAAZ,CAAjC,EAAoErJ,sDAAA,CAAYA,iDAAZ,CAApE,EAA4FA,sDAAA,CAAYuP,gBAAZ,CAA5F,EAA2HvP,sDAAA,CAAYD,qDAAZ,CAA3H,EAAqJC,sDAAA,CAAY6O,yBAAZ,EAAuC,CAAvC,CAArJ,CAAP;AAAyM,KAAtQ;AAAwQn5C,IAAAA,KAAK,EAAEk6C,4BAA/Q;AAA6S5K,IAAAA,UAAU,EAAE;AAAzT,GAAtB,CAArC;SArBM4K;;;AA6BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOhiD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAWe,CAX9B;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAASmiD,+BAAT,CAAyCnzC,KAAzC,EAAgD;AAC5C;AACA;AACA;AACA;AACA;AACA,SAAOA,KAAK,CAAClK,OAAN,KAAkB,CAAlB,IAAuBkK,KAAK,CAACjK,OAAN,KAAkB,CAAhD;AACH;AACD;;;AACA,SAASq9C,gCAAT,CAA0CpzC,KAA1C,EAAiD;AAC7C,QAAMqzC,KAAK,GAAIrzC,KAAK,CAACszC,OAAN,IAAiBtzC,KAAK,CAACszC,OAAN,CAAc,CAAd,CAAlB,IACTtzC,KAAK,CAACuzC,cAAN,IAAwBvzC,KAAK,CAACuzC,cAAN,CAAqB,CAArB,CAD7B,CAD6C,CAG7C;AACA;AACA;AACA;;AACA,SAAO,CAAC,CAACF,KAAF,IAAWA,KAAK,CAACG,UAAN,KAAqB,CAAC,CAAjC,KAAuCH,KAAK,CAACI,OAAN,IAAiB,IAAjB,IAAyBJ,KAAK,CAACI,OAAN,KAAkB,CAAlF,MACFJ,KAAK,CAACK,OAAN,IAAiB,IAAjB,IAAyBL,KAAK,CAACK,OAAN,KAAkB,CADzC,CAAP;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMC,+BAA+B,gBAAG,IAAIvvD,yDAAJ,CAAmB,qCAAnB,CAAxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMwvD,uCAAuC,GAAG;AAC5CC,EAAAA,UAAU,EAAE,CAAC5P,sDAAD,EAAMC,0DAAN,EAAeC,2DAAf,EAAyBC,uDAAzB,EAA+BC,wDAA/B;AADgC,CAAhD;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMyP,eAAe,GAAG,GAAxB;AACA;AACA;AACA;AACA;;AACA,MAAMC,4BAA4B,gBAAGnP,sFAA+B,CAAC;AACjEoP,EAAAA,OAAO,EAAE,IADwD;AAEjEC,EAAAA,OAAO,EAAE;AAFwD,CAAD,CAApE;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC;AAAN,QAAMA,qBAAN,CAA4B;AACxBhmD,IAAAA,WAAW,CAACw+C,SAAD,EAAYyH,MAAZ,EAAoBxiD,QAApB,EAA8BuW,OAA9B,EAAuC;AAC9C,WAAKwkC,SAAL,GAAiBA,SAAjB;AACA;AACR;AACA;AACA;;AACQ,WAAK0H,iBAAL,GAAyB,IAAzB;AACA;;AACA,WAAKC,SAAL,GAAiB,IAAI/Q,kDAAJ,CAAoB,IAApB,CAAjB;AACA;AACR;AACA;AACA;;AACQ,WAAKgR,YAAL,GAAoB,CAApB;AACA;AACR;AACA;AACA;;AACQ,WAAK3wC,UAAL,GAAmB3D,KAAD,IAAW;AACzB,YAAI1R,EAAJ,EAAQD,EAAR,CADyB,CAEzB;AACA;;;AACA,YAAI,CAACA,EAAE,GAAG,CAACC,EAAE,GAAG,KAAKimD,QAAX,MAAyB,IAAzB,IAAiCjmD,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAACulD,UAAnE,MAAmF,IAAnF,IAA2FxlD,EAAE,KAAK,KAAK,CAAvG,GAA2G,KAAK,CAAhH,GAAoHA,EAAE,CAACwwB,IAAH,CAAQ5e,OAAO,IAAIA,OAAO,KAAKD,KAAK,CAACC,OAArC,CAAxH,EAAuK;AACnK;AACH;;AACD,aAAKo0C,SAAL,CAAe9iD,IAAf,CAAoB,UAApB;;AACA,aAAK6iD,iBAAL,GAAyBvP,sEAAe,CAAC7kC,KAAD,CAAxC;AACH,OATD;AAUA;AACR;AACA;AACA;;;AACQ,WAAKw0C,YAAL,GAAqBx0C,KAAD,IAAW;AAC3B;AACA;AACA;AACA,YAAI68B,IAAI,CAACC,GAAL,KAAa,KAAKwX,YAAlB,GAAiCR,eAArC,EAAsD;AAClD;AACH,SAN0B,CAO3B;AACA;;;AACA,aAAKO,SAAL,CAAe9iD,IAAf,CAAoB4hD,+BAA+B,CAACnzC,KAAD,CAA/B,GAAyC,UAAzC,GAAsD,OAA1E;;AACA,aAAKo0C,iBAAL,GAAyBvP,sEAAe,CAAC7kC,KAAD,CAAxC;AACH,OAXD;AAYA;AACR;AACA;AACA;;;AACQ,WAAKy0C,aAAL,GAAsBz0C,KAAD,IAAW;AAC5B;AACA;AACA,YAAIozC,gCAAgC,CAACpzC,KAAD,CAApC,EAA6C;AACzC,eAAKq0C,SAAL,CAAe9iD,IAAf,CAAoB,UAApB;;AACA;AACH,SAN2B,CAO5B;AACA;;;AACA,aAAK+iD,YAAL,GAAoBzX,IAAI,CAACC,GAAL,EAApB;;AACA,aAAKuX,SAAL,CAAe9iD,IAAf,CAAoB,OAApB;;AACA,aAAK6iD,iBAAL,GAAyBvP,sEAAe,CAAC7kC,KAAD,CAAxC;AACH,OAZD;;AAaA,WAAKu0C,QAAL,GAAgBxmC,MAAM,CAAC8b,MAAP,CAAc9b,MAAM,CAAC8b,MAAP,CAAc,EAAd,EAAkB+pB,uCAAlB,CAAd,EAA0E1rC,OAA1E,CAAhB,CA7D8C,CA8D9C;;AACA,WAAKwsC,gBAAL,GAAwB,KAAKL,SAAL,CAAengD,IAAf,CAAoBqwC,qDAAI,CAAC,CAAD,CAAxB,CAAxB;AACA,WAAKoQ,eAAL,GAAuB,KAAKD,gBAAL,CAAsBxgD,IAAtB,CAA2B9N,qEAAoB,EAA/C,CAAvB,CAhE8C,CAiE9C;AACA;;AACA,UAAIsmD,SAAS,CAAC7/B,SAAd,EAAyB;AACrBsnC,QAAAA,MAAM,CAAC3hD,iBAAP,CAAyB,MAAM;AAC3Bb,UAAAA,QAAQ,CAACc,gBAAT,CAA0B,SAA1B,EAAqC,KAAKkR,UAA1C,EAAsDowC,4BAAtD;AACApiD,UAAAA,QAAQ,CAACc,gBAAT,CAA0B,WAA1B,EAAuC,KAAK+hD,YAA5C,EAA0DT,4BAA1D;AACApiD,UAAAA,QAAQ,CAACc,gBAAT,CAA0B,YAA1B,EAAwC,KAAKgiD,aAA7C,EAA4DV,4BAA5D;AACH,SAJD;AAKH;AACJ;AACD;;;AACsB,QAAlBa,kBAAkB,GAAG;AACrB,aAAO,KAAKP,SAAL,CAAe//C,KAAtB;AACH;;AACDhD,IAAAA,WAAW,GAAG;AACV,WAAK+iD,SAAL,CAAe7iD,QAAf;;AACA,UAAI,KAAKk7C,SAAL,CAAe7/B,SAAnB,EAA8B;AAC1Blb,QAAAA,QAAQ,CAACmB,mBAAT,CAA6B,SAA7B,EAAwC,KAAK6Q,UAA7C,EAAyDowC,4BAAzD;AACApiD,QAAAA,QAAQ,CAACmB,mBAAT,CAA6B,WAA7B,EAA0C,KAAK0hD,YAA/C,EAA6DT,4BAA7D;AACApiD,QAAAA,QAAQ,CAACmB,mBAAT,CAA6B,YAA7B,EAA2C,KAAK2hD,aAAhD,EAA+DV,4BAA/D;AACH;AACJ;;AAvFuB;;AAyF5BG,EAAAA,qBAAqB,CAAC1kD,IAAtB,GAA6B,SAASqlD,6BAAT,CAAuCnlD,CAAvC,EAA0C;AAAE,WAAO,KAAKA,CAAC,IAAIwkD,qBAAV,EAAiCjtD,sDAAA,CAAgBC,2DAAhB,CAAjC,EAAmED,sDAAA,CAAgBA,iDAAhB,CAAnE,EAAmGA,sDAAA,CAAgBvD,qDAAhB,CAAnG,EAA8HuD,sDAAA,CAAgB0sD,+BAAhB,EAAiD,CAAjD,CAA9H,CAAP;AAA4L,GAArQ;;AACAO,EAAAA,qBAAqB,CAACt7C,KAAtB,GAA8BwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAAS87C,6BAAT,GAAyC;AAAE,aAAO,IAAIX,qBAAJ,CAA0B9Q,sDAAA,CAAYqB,2DAAZ,CAA1B,EAAoDrB,sDAAA,CAAYA,iDAAZ,CAApD,EAA4EA,sDAAA,CAAYD,qDAAZ,CAA5E,EAAsGC,sDAAA,CAAYuQ,+BAAZ,EAA6C,CAA7C,CAAtG,CAAP;AAAgK,KAAtN;AAAwN76C,IAAAA,KAAK,EAAEo7C,qBAA/N;AAAsP9L,IAAAA,UAAU,EAAE;AAAlQ,GAAtB,CAA9B;SA1FM8L;;;AAiGN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOljD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAWe,CAX9B;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8jD,4BAA4B,gBAAG,IAAI1wD,yDAAJ,CAAmB,sBAAnB,EAA2C;AAC5EgkD,EAAAA,UAAU,EAAE,MADgE;AAE5ErvC,EAAAA,OAAO,EAAEg8C;AAFmE,CAA3C,CAArC;AAIA;;AACA,SAASA,oCAAT,GAAgD;AAC5C,SAAO,IAAP;AACH;AACD;;;AACA,MAAMC,8BAA8B,gBAAG,IAAI5wD,yDAAJ,CAAmB,gCAAnB,CAAvC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM6wD;AAAN,QAAMA,aAAN,CAAoB;AAChB/mD,IAAAA,WAAW,CAACgnD,YAAD,EAAexG,OAAf,EAAwBzyC,SAAxB,EAAmCk5C,eAAnC,EAAoD;AAC3D,WAAKzG,OAAL,GAAeA,OAAf;AACA,WAAKyG,eAAL,GAAuBA,eAAvB,CAF2D,CAG3D;AACA;AACA;;AACA,WAAKl5C,SAAL,GAAiBA,SAAjB;AACA,WAAKm5C,YAAL,GAAoBF,YAAY,IAAI,KAAKG,kBAAL,EAApC;AACH;;AACDC,IAAAA,QAAQ,CAACjP,OAAD,EAAU,GAAGta,IAAb,EAAmB;AACvB,YAAMwpB,cAAc,GAAG,KAAKJ,eAA5B;AACA,UAAIK,UAAJ;AACA,UAAI7rC,QAAJ;;AACA,UAAIoiB,IAAI,CAACngC,MAAL,KAAgB,CAAhB,IAAqB,OAAOmgC,IAAI,CAAC,CAAD,CAAX,KAAmB,QAA5C,EAAsD;AAClDpiB,QAAAA,QAAQ,GAAGoiB,IAAI,CAAC,CAAD,CAAf;AACH,OAFD,MAGK;AACD,SAACypB,UAAD,EAAa7rC,QAAb,IAAyBoiB,IAAzB;AACH;;AACD,WAAKpM,KAAL;AACA81B,MAAAA,YAAY,CAAC,KAAKC,gBAAN,CAAZ;;AACA,UAAI,CAACF,UAAL,EAAiB;AACbA,QAAAA,UAAU,GACLD,cAAc,IAAIA,cAAc,CAACC,UAAlC,GAAgDD,cAAc,CAACC,UAA/D,GAA4E,QADhF;AAEH;;AACD,UAAI7rC,QAAQ,IAAI,IAAZ,IAAoB4rC,cAAxB,EAAwC;AACpC5rC,QAAAA,QAAQ,GAAG4rC,cAAc,CAAC5rC,QAA1B;AACH,OAlBsB,CAmBvB;;;AACA,WAAKyrC,YAAL,CAAkBx1C,YAAlB,CAA+B,WAA/B,EAA4C41C,UAA5C,EApBuB,CAqBvB;AACA;AACA;AACA;AACA;;;AACA,aAAO,KAAK9G,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACxC,eAAO,IAAI+W,OAAJ,CAAYC,OAAO,IAAI;AAC1BisC,UAAAA,YAAY,CAAC,KAAKC,gBAAN,CAAZ;AACA,eAAKA,gBAAL,GAAwBl1C,UAAU,CAAC,MAAM;AACrC,iBAAK40C,YAAL,CAAkBxV,WAAlB,GAAgCyG,OAAhC;AACA78B,YAAAA,OAAO;;AACP,gBAAI,OAAOG,QAAP,KAAoB,QAAxB,EAAkC;AAC9B,mBAAK+rC,gBAAL,GAAwBl1C,UAAU,CAAC,MAAM,KAAKmf,KAAL,EAAP,EAAqBhW,QAArB,CAAlC;AACH;AACJ,WANiC,EAM/B,GAN+B,CAAlC;AAOH,SATM,CAAP;AAUH,OAXM,CAAP;AAYH;AACD;AACJ;AACA;AACA;AACA;;;AACIgW,IAAAA,KAAK,GAAG;AACJ,UAAI,KAAKy1B,YAAT,EAAuB;AACnB,aAAKA,YAAL,CAAkBxV,WAAlB,GAAgC,EAAhC;AACH;AACJ;;AACDtuC,IAAAA,WAAW,GAAG;AACVmkD,MAAAA,YAAY,CAAC,KAAKC,gBAAN,CAAZ;;AACA,UAAI,KAAKN,YAAL,IAAqB,KAAKA,YAAL,CAAkB5kC,UAA3C,EAAuD;AACnD,aAAK4kC,YAAL,CAAkB5kC,UAAlB,CAA6BmwB,WAA7B,CAAyC,KAAKyU,YAA9C;;AACA,aAAKA,YAAL,GAAoB,IAApB;AACH;AACJ;;AACDC,IAAAA,kBAAkB,GAAG;AACjB,YAAMM,YAAY,GAAG,4BAArB;;AACA,YAAMC,gBAAgB,GAAG,KAAK35C,SAAL,CAAe45C,sBAAf,CAAsCF,YAAtC,CAAzB;;AACA,YAAMG,MAAM,GAAG,KAAK75C,SAAL,CAAe0jC,aAAf,CAA6B,KAA7B,CAAf,CAHiB,CAIjB;;;AACA,WAAK,IAAIruB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGskC,gBAAgB,CAAChqD,MAArC,EAA6C0lB,CAAC,EAA9C,EAAkD;AAC9CskC,QAAAA,gBAAgB,CAACtkC,CAAD,CAAhB,CAAoBd,UAApB,CAA+BmwB,WAA/B,CAA2CiV,gBAAgB,CAACtkC,CAAD,CAA3D;AACH;;AACDwkC,MAAAA,MAAM,CAACrc,SAAP,CAAiBje,GAAjB,CAAqBm6B,YAArB;AACAG,MAAAA,MAAM,CAACrc,SAAP,CAAiBje,GAAjB,CAAqB,qBAArB;AACAs6B,MAAAA,MAAM,CAACl2C,YAAP,CAAoB,aAApB,EAAmC,MAAnC;AACAk2C,MAAAA,MAAM,CAACl2C,YAAP,CAAoB,WAApB,EAAiC,QAAjC;;AACA,WAAK3D,SAAL,CAAegW,IAAf,CAAoBiuB,WAApB,CAAgC4V,MAAhC;;AACA,aAAOA,MAAP;AACH;;AAhFe;;AAkFpBb,EAAAA,aAAa,CAACzlD,IAAd,GAAqB,SAASumD,qBAAT,CAA+BrmD,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAIulD,aAAV,EAAyBhuD,sDAAA,CAAgB6tD,4BAAhB,EAA8C,CAA9C,CAAzB,EAA2E7tD,sDAAA,CAAgBA,iDAAhB,CAA3E,EAA2GA,sDAAA,CAAgBvD,qDAAhB,CAA3G,EAAsIuD,sDAAA,CAAgB+tD,8BAAhB,EAAgD,CAAhD,CAAtI,CAAP;AAAmM,GAA5P;;AACAC,EAAAA,aAAa,CAACr8C,KAAd,GAAsBwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASg9C,qBAAT,GAAiC;AAAE,aAAO,IAAId,aAAJ,CAAkB7R,sDAAA,CAAY0R,4BAAZ,EAA0C,CAA1C,CAAlB,EAAgE1R,sDAAA,CAAYA,iDAAZ,CAAhE,EAAwFA,sDAAA,CAAYD,qDAAZ,CAAxF,EAAkHC,sDAAA,CAAY4R,8BAAZ,EAA4C,CAA5C,CAAlH,CAAP;AAA2K,KAAzN;AAA2Nl8C,IAAAA,KAAK,EAAEm8C,aAAlO;AAAiP7M,IAAAA,UAAU,EAAE;AAA7P,GAAtB,CAAtB;SAnFM6M;;;AA0FN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOjkD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAgBe,CAhB9B;AAiBA;AACA;AACA;AACA;;;IACMglD;AAAN,QAAMA,WAAN,CAAkB;AACd9nD,IAAAA,WAAW,CAAC4L,WAAD,EAAcm8C,cAAd,EAA8BC,gBAA9B,EAAgDxH,OAAhD,EAAyD;AAChE,WAAK50C,WAAL,GAAmBA,WAAnB;AACA,WAAKm8C,cAAL,GAAsBA,cAAtB;AACA,WAAKC,gBAAL,GAAwBA,gBAAxB;AACA,WAAKxH,OAAL,GAAeA,OAAf;AACA,WAAKyH,WAAL,GAAmB,QAAnB;AACH;AACD;;;AACc,QAAVX,UAAU,GAAG;AAAE,aAAO,KAAKW,WAAZ;AAA0B;;AAC/B,QAAVX,UAAU,CAAClhD,KAAD,EAAQ;AAClB,WAAK6hD,WAAL,GAAmB7hD,KAAK,KAAK,KAAV,IAAmBA,KAAK,KAAK,WAA7B,GAA2CA,KAA3C,GAAmD,QAAtE;;AACA,UAAI,KAAK6hD,WAAL,KAAqB,KAAzB,EAAgC;AAC5B,YAAI,KAAKC,aAAT,EAAwB;AACpB,eAAKA,aAAL,CAAmB14C,WAAnB;;AACA,eAAK04C,aAAL,GAAqB,IAArB;AACH;AACJ,OALD,MAMK,IAAI,CAAC,KAAKA,aAAV,EAAyB;AAC1B,aAAKA,aAAL,GAAqB,KAAK1H,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACtD,iBAAO,KAAK0jD,gBAAL,CACFG,OADE,CACM,KAAKv8C,WADX,EAEF3F,SAFE,CAEQ,MAAM;AACjB;AACA,kBAAMmiD,WAAW,GAAG,KAAKx8C,WAAL,CAAiB8I,aAAjB,CAA+Bg9B,WAAnD,CAFiB,CAGjB;AACA;;AACA,gBAAI0W,WAAW,KAAK,KAAKC,sBAAzB,EAAiD;AAC7C,mBAAKN,cAAL,CAAoBX,QAApB,CAA6BgB,WAA7B,EAA0C,KAAKH,WAA/C;;AACA,mBAAKI,sBAAL,GAA8BD,WAA9B;AACH;AACJ,WAXM,CAAP;AAYH,SAboB,CAArB;AAcH;AACJ;;AACDhlD,IAAAA,WAAW,GAAG;AACV,UAAI,KAAK8kD,aAAT,EAAwB;AACpB,aAAKA,aAAL,CAAmB14C,WAAnB;AACH;AACJ;;AAvCa;;AAyClBs4C,EAAAA,WAAW,CAACxmD,IAAZ,GAAmB,SAASgnD,mBAAT,CAA6B9mD,CAA7B,EAAgC;AAAE,WAAO,KAAKA,CAAC,IAAIsmD,WAAV,EAAuB/uD,+DAAA,CAAyBA,qDAAzB,CAAvB,EAAoEA,+DAAA,CAAyBguD,aAAzB,CAApE,EAA6GhuD,+DAAA,CAAyBE,oEAAzB,CAA7G,EAA+JF,+DAAA,CAAyBA,iDAAzB,CAA/J,CAAP;AAAiN,GAAtQ;;AACA+uD,EAAAA,WAAW,CAAC7iD,IAAZ,GAAmB,aAAclM,+DAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAEmmD,WAAR;AAAqBlmD,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,aAAL,EAAoB,EAApB,CAAD,CAAhC;AAA2DE,IAAAA,MAAM,EAAE;AAAEwlD,MAAAA,UAAU,EAAE,CAAC,aAAD,EAAgB,YAAhB;AAAd,KAAnE;AAAkHt6C,IAAAA,QAAQ,EAAE,CAAC,aAAD;AAA5H,GAAzB,CAAjC;SA1CM86C;;;AAoDN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOhlD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AASC,CAThB;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMylD,6BAA6B,gBAAG,IAAIryD,yDAAJ,CAAmB,mCAAnB,CAAtC;AACA;AACA;AACA;AACA;;AACA,MAAMsyD,2BAA2B,gBAAG9R,sFAA+B,CAAC;AAChEoP,EAAAA,OAAO,EAAE,IADuD;AAEhEC,EAAAA,OAAO,EAAE;AAFuD,CAAD,CAAnE;AAIA;;IACM0C;AAAN,QAAMA,YAAN,CAAmB;AACfzoD,IAAAA,WAAW,CAACwgD,OAAD,EAAUhC,SAAV,EAAqBkK,sBAArB;AACX;AACAjlD,IAAAA,QAFW,EAEDuW,OAFC,EAEQ;AACf,WAAKwmC,OAAL,GAAeA,OAAf;AACA,WAAKhC,SAAL,GAAiBA,SAAjB;AACA,WAAKkK,sBAAL,GAA8BA,sBAA9B;AACA;;AACA,WAAKxK,OAAL,GAAe,IAAf;AACA;;AACA,WAAKyK,cAAL,GAAsB,KAAtB;AACA;AACR;AACA;AACA;;AACQ,WAAKC,2BAAL,GAAmC,KAAnC;AACA;;AACA,WAAKC,YAAL,GAAoB,IAAI5nC,GAAJ,EAApB;AACA;;AACA,WAAK6nC,sBAAL,GAA8B,CAA9B;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,WAAKC,2BAAL,GAAmC,IAAI9nC,GAAJ,EAAnC;AACA;AACR;AACA;AACA;;AACQ,WAAK+nC,oBAAL,GAA4B,MAAM;AAC9B;AACA;AACA,aAAKL,cAAL,GAAsB,IAAtB;AACA,aAAKM,qBAAL,GAA6B32C,UAAU,CAAC,MAAM,KAAKq2C,cAAL,GAAsB,KAA7B,CAAvC;AACH,OALD;AAMA;;;AACA,WAAKO,0BAAL,GAAkC,IAAItxD,yCAAJ,EAAlC;AACA;AACR;AACA;AACA;;AACQ,WAAKuxD,6BAAL,GAAsCr3C,KAAD,IAAW;AAC5C,cAAMwB,MAAM,GAAGqjC,sEAAe,CAAC7kC,KAAD,CAA9B;;AACA,cAAMs3C,OAAO,GAAGt3C,KAAK,CAACnQ,IAAN,KAAe,OAAf,GAAyB,KAAK0nD,QAA9B,GAAyC,KAAKzzC,OAA9D,CAF4C,CAG5C;;AACA,aAAK,IAAIjB,OAAO,GAAGrB,MAAnB,EAA2BqB,OAA3B,EAAoCA,OAAO,GAAGA,OAAO,CAAC20C,aAAtD,EAAqE;AACjEF,UAAAA,OAAO,CAACrqC,IAAR,CAAa,IAAb,EAAmBjN,KAAnB,EAA0B6C,OAA1B;AACH;AACJ,OAPD;;AAQA,WAAK5G,SAAL,GAAiBtK,QAAjB;AACA,WAAK8lD,cAAL,GAAsB,CAACvvC,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAACwvC,aAA3D,KAA6E;AAAE;AAArG;AACH;;AACDC,IAAAA,OAAO,CAAC90C,OAAD,EAAU+0C,aAAa,GAAG,KAA1B,EAAiC;AACpC,YAAMh1C,aAAa,GAAG4hC,qEAAa,CAAC3hC,OAAD,CAAnC,CADoC,CAEpC;;AACA,UAAI,CAAC,KAAK6pC,SAAL,CAAe7/B,SAAhB,IAA6BjK,aAAa,CAAColC,QAAd,KAA2B,CAA5D,EAA+D;AAC3D,eAAO/hD,yCAAE,CAAC,IAAD,CAAT;AACH,OALmC,CAMpC;AACA;AACA;;;AACA,YAAMo6C,QAAQ,GAAGyE,qEAAc,CAACliC,aAAD,CAAd,IAAiC,KAAKi1C,YAAL,EAAlD;;AACA,YAAMC,UAAU,GAAG,KAAKf,YAAL,CAAkBpjD,GAAlB,CAAsBiP,aAAtB,CAAnB,CAVoC,CAWpC;;;AACA,UAAIk1C,UAAJ,EAAgB;AACZ,YAAIF,aAAJ,EAAmB;AACf;AACA;AACA;AACAE,UAAAA,UAAU,CAACF,aAAX,GAA2B,IAA3B;AACH;;AACD,eAAOE,UAAU,CAACC,OAAlB;AACH,OApBmC,CAqBpC;;;AACA,YAAMC,IAAI,GAAG;AACTJ,QAAAA,aAAa,EAAEA,aADN;AAETG,QAAAA,OAAO,EAAE,IAAIjyD,yCAAJ,EAFA;AAGTu6C,QAAAA;AAHS,OAAb;;AAKA,WAAK0W,YAAL,CAAkB3nC,GAAlB,CAAsBxM,aAAtB,EAAqCo1C,IAArC;;AACA,WAAKC,wBAAL,CAA8BD,IAA9B;;AACA,aAAOA,IAAI,CAACD,OAAZ;AACH;;AACDG,IAAAA,cAAc,CAACr1C,OAAD,EAAU;AACpB,YAAMD,aAAa,GAAG4hC,qEAAa,CAAC3hC,OAAD,CAAnC;;AACA,YAAMs1C,WAAW,GAAG,KAAKpB,YAAL,CAAkBpjD,GAAlB,CAAsBiP,aAAtB,CAApB;;AACA,UAAIu1C,WAAJ,EAAiB;AACbA,QAAAA,WAAW,CAACJ,OAAZ,CAAoBvmD,QAApB;;AACA,aAAK4mD,WAAL,CAAiBx1C,aAAjB;;AACA,aAAKm0C,YAAL,CAAkBv3B,MAAlB,CAAyB5c,aAAzB;;AACA,aAAKy1C,sBAAL,CAA4BF,WAA5B;AACH;AACJ;;AACDG,IAAAA,QAAQ,CAACz1C,OAAD,EAAUypC,MAAV,EAAkBpkC,OAAlB,EAA2B;AAC/B,YAAMtF,aAAa,GAAG4hC,qEAAa,CAAC3hC,OAAD,CAAnC;;AACA,YAAM01C,cAAc,GAAG,KAAKV,YAAL,GAAoB15C,aAA3C,CAF+B,CAG/B;AACA;AACA;;;AACA,UAAIyE,aAAa,KAAK21C,cAAtB,EAAsC;AAClC,aAAKC,uBAAL,CAA6B51C,aAA7B,EACK0H,OADL,CACa,CAAC,CAACmuC,cAAD,EAAiBT,IAAjB,CAAD,KAA4B,KAAKU,cAAL,CAAoBD,cAApB,EAAoCnM,MAApC,EAA4C0L,IAA5C,CADzC;AAEH,OAHD,MAIK;AACD,aAAKW,UAAL,CAAgBrM,MAAhB,EADC,CAED;;;AACA,YAAI,OAAO1pC,aAAa,CAACrC,KAArB,KAA+B,UAAnC,EAA+C;AAC3CqC,UAAAA,aAAa,CAACrC,KAAd,CAAoB2H,OAApB;AACH;AACJ;AACJ;;AACD5W,IAAAA,WAAW,GAAG;AACV,WAAKylD,YAAL,CAAkBzsC,OAAlB,CAA0B,CAACsuC,KAAD,EAAQ/1C,OAAR,KAAoB,KAAKq1C,cAAL,CAAoBr1C,OAApB,CAA9C;AACH;AACD;;;AACAg1C,IAAAA,YAAY,GAAG;AACX,aAAO,KAAK57C,SAAL,IAAkBtK,QAAzB;AACH;AACD;;;AACAknD,IAAAA,UAAU,GAAG;AACT,YAAMC,GAAG,GAAG,KAAKjB,YAAL,EAAZ;;AACA,aAAOiB,GAAG,CAACvK,WAAJ,IAAmBzhC,MAA1B;AACH;;AACDisC,IAAAA,YAAY,CAACl2C,OAAD,EAAU4xB,SAAV,EAAqBukB,SAArB,EAAgC;AACxC,UAAIA,SAAJ,EAAe;AACXn2C,QAAAA,OAAO,CAAC42B,SAAR,CAAkBje,GAAlB,CAAsBiZ,SAAtB;AACH,OAFD,MAGK;AACD5xB,QAAAA,OAAO,CAAC42B,SAAR,CAAkBE,MAAlB,CAAyBlF,SAAzB;AACH;AACJ;;AACDwkB,IAAAA,eAAe,CAACC,gBAAD,EAAmB;AAC9B,UAAI,KAAK9M,OAAT,EAAkB;AACd;AACA;AACA,YAAI,KAAK0K,2BAAT,EAAsC;AAClC,iBAAO,KAAKqC,0BAAL,CAAgCD,gBAAhC,IAAoD,OAApD,GAA8D,SAArE;AACH,SAFD,MAGK;AACD,iBAAO,KAAK9M,OAAZ;AACH;AACJ,OAV6B,CAW9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,aAAQ,KAAKyK,cAAL,IAAuB,KAAKuC,gBAA7B,GAAiD,KAAKA,gBAAtD,GAAyE,SAAhF;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACID,IAAAA,0BAA0B,CAACD,gBAAD,EAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAQ,KAAKzB,cAAL,KAAwB;AAAE;AAA3B,SACH,CAAC,EAAEyB,gBAAgB,KAAK,IAArB,IAA6BA,gBAAgB,KAAK,KAAK,CAAvD,GAA2D,KAAK,CAAhE,GAAoEA,gBAAgB,CAAC5oC,QAAjB,CAA0B,KAAKsmC,sBAAL,CAA4BxC,iBAAtD,CAAtE,CADL;AAEH;AACD;AACJ;AACA;AACA;AACA;;;AACIgE,IAAAA,WAAW,CAACv1C,OAAD,EAAUypC,MAAV,EAAkB;AACzB,WAAKyM,YAAL,CAAkBl2C,OAAlB,EAA2B,aAA3B,EAA0C,CAAC,CAACypC,MAA5C;;AACA,WAAKyM,YAAL,CAAkBl2C,OAAlB,EAA2B,mBAA3B,EAAgDypC,MAAM,KAAK,OAA3D;;AACA,WAAKyM,YAAL,CAAkBl2C,OAAlB,EAA2B,sBAA3B,EAAmDypC,MAAM,KAAK,UAA9D;;AACA,WAAKyM,YAAL,CAAkBl2C,OAAlB,EAA2B,mBAA3B,EAAgDypC,MAAM,KAAK,OAA3D;;AACA,WAAKyM,YAAL,CAAkBl2C,OAAlB,EAA2B,qBAA3B,EAAkDypC,MAAM,KAAK,SAA7D;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIqM,IAAAA,UAAU,CAACrM,MAAD,EAAS+M,iBAAiB,GAAG,KAA7B,EAAoC;AAC1C,WAAK3K,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACjC,aAAK45C,OAAL,GAAeE,MAAf;AACA,aAAKwK,2BAAL,GAAoCxK,MAAM,KAAK,OAAZ,IAAwB+M,iBAA3D,CAFiC,CAGjC;AACA;AACA;AACA;AACA;;AACA,YAAI,KAAK5B,cAAL,KAAwB;AAAE;AAA9B,UAA+C;AAC3ChC,UAAAA,YAAY,CAAC,KAAK6D,gBAAN,CAAZ;AACA,gBAAMC,EAAE,GAAG,KAAKzC,2BAAL,GAAmChD,eAAnC,GAAqD,CAAhE;AACA,eAAKwF,gBAAL,GAAwB94C,UAAU,CAAC,MAAM,KAAK4rC,OAAL,GAAe,IAAtB,EAA4BmN,EAA5B,CAAlC;AACH;AACJ,OAbD;AAcH;AACD;AACJ;AACA;AACA;AACA;;;AACIhC,IAAAA,QAAQ,CAACv3C,KAAD,EAAQ6C,OAAR,EAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,YAAMs1C,WAAW,GAAG,KAAKpB,YAAL,CAAkBpjD,GAAlB,CAAsBkP,OAAtB,CAApB;;AACA,YAAMq2C,gBAAgB,GAAGrU,sEAAe,CAAC7kC,KAAD,CAAxC;;AACA,UAAI,CAACm4C,WAAD,IAAiB,CAACA,WAAW,CAACP,aAAb,IAA8B/0C,OAAO,KAAKq2C,gBAA/D,EAAkF;AAC9E;AACH;;AACD,WAAKR,cAAL,CAAoB71C,OAApB,EAA6B,KAAKo2C,eAAL,CAAqBC,gBAArB,CAA7B,EAAqEf,WAArE;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIr0C,IAAAA,OAAO,CAAC9D,KAAD,EAAQ6C,OAAR,EAAiB;AACpB;AACA;AACA,YAAMs1C,WAAW,GAAG,KAAKpB,YAAL,CAAkBpjD,GAAlB,CAAsBkP,OAAtB,CAApB;;AACA,UAAI,CAACs1C,WAAD,IAAiBA,WAAW,CAACP,aAAZ,IAA6B53C,KAAK,CAACw5C,aAAN,YAA+BrH,IAA5D,IACjBtvC,OAAO,CAACyN,QAAR,CAAiBtQ,KAAK,CAACw5C,aAAvB,CADJ,EAC4C;AACxC;AACH;;AACD,WAAKpB,WAAL,CAAiBv1C,OAAjB;;AACA,WAAK42C,WAAL,CAAiBtB,WAAW,CAACJ,OAA7B,EAAsC,IAAtC;AACH;;AACD0B,IAAAA,WAAW,CAAC1B,OAAD,EAAUzL,MAAV,EAAkB;AACzB,WAAKoC,OAAL,CAAa97C,GAAb,CAAiB,MAAMmlD,OAAO,CAACxmD,IAAR,CAAa+6C,MAAb,CAAvB;AACH;;AACD2L,IAAAA,wBAAwB,CAACE,WAAD,EAAc;AAClC,UAAI,CAAC,KAAKzL,SAAL,CAAe7/B,SAApB,EAA+B;AAC3B;AACH;;AACD,YAAMwzB,QAAQ,GAAG8X,WAAW,CAAC9X,QAA7B;AACA,YAAMqZ,sBAAsB,GAAG,KAAKzC,2BAAL,CAAiCtjD,GAAjC,CAAqC0sC,QAArC,KAAkD,CAAjF;;AACA,UAAI,CAACqZ,sBAAL,EAA6B;AACzB,aAAKhL,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACjC6tC,UAAAA,QAAQ,CAAC5tC,gBAAT,CAA0B,OAA1B,EAAmC,KAAK4kD,6BAAxC,EAAuEX,2BAAvE;AACArW,UAAAA,QAAQ,CAAC5tC,gBAAT,CAA0B,MAA1B,EAAkC,KAAK4kD,6BAAvC,EAAsEX,2BAAtE;AACH,SAHD;AAIH;;AACD,WAAKO,2BAAL,CAAiC7nC,GAAjC,CAAqCixB,QAArC,EAA+CqZ,sBAAsB,GAAG,CAAxE,EAZkC,CAalC;;;AACA,UAAI,EAAE,KAAK1C,sBAAP,KAAkC,CAAtC,EAAyC;AACrC;AACA;AACA,aAAKtI,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACjC,gBAAMsa,MAAM,GAAG,KAAK+rC,UAAL,EAAf;;AACA/rC,UAAAA,MAAM,CAACra,gBAAP,CAAwB,OAAxB,EAAiC,KAAKykD,oBAAtC;AACH,SAHD,EAHqC,CAOrC;;;AACA,aAAKN,sBAAL,CAA4BlC,gBAA5B,CACKxgD,IADL,CACUhO,0DAAS,CAAC,KAAKkxD,0BAAN,CADnB,EAEKjjD,SAFL,CAEewlD,QAAQ,IAAI;AAAE,eAAKhB,UAAL,CAAgBgB,QAAhB,EAA0B;AAAK;AAA/B;AAA0D,SAFvF;AAGH;AACJ;;AACDtB,IAAAA,sBAAsB,CAACF,WAAD,EAAc;AAChC,YAAM9X,QAAQ,GAAG8X,WAAW,CAAC9X,QAA7B;;AACA,UAAI,KAAK4W,2BAAL,CAAiCx9B,GAAjC,CAAqC4mB,QAArC,CAAJ,EAAoD;AAChD,cAAMqZ,sBAAsB,GAAG,KAAKzC,2BAAL,CAAiCtjD,GAAjC,CAAqC0sC,QAArC,CAA/B;;AACA,YAAIqZ,sBAAsB,GAAG,CAA7B,EAAgC;AAC5B,eAAKzC,2BAAL,CAAiC7nC,GAAjC,CAAqCixB,QAArC,EAA+CqZ,sBAAsB,GAAG,CAAxE;AACH,SAFD,MAGK;AACDrZ,UAAAA,QAAQ,CAACvtC,mBAAT,CAA6B,OAA7B,EAAsC,KAAKukD,6BAA3C,EAA0EX,2BAA1E;AACArW,UAAAA,QAAQ,CAACvtC,mBAAT,CAA6B,MAA7B,EAAqC,KAAKukD,6BAA1C,EAAyEX,2BAAzE;;AACA,eAAKO,2BAAL,CAAiCz3B,MAAjC,CAAwC6gB,QAAxC;AACH;AACJ,OAZ+B,CAahC;;;AACA,UAAI,CAAC,GAAE,KAAK2W,sBAAZ,EAAoC;AAChC,cAAMlqC,MAAM,GAAG,KAAK+rC,UAAL,EAAf;;AACA/rC,QAAAA,MAAM,CAACha,mBAAP,CAA2B,OAA3B,EAAoC,KAAKokD,oBAAzC,EAFgC,CAGhC;;AACA,aAAKE,0BAAL,CAAgC7lD,IAAhC,GAJgC,CAKhC;;;AACAkkD,QAAAA,YAAY,CAAC,KAAK0B,qBAAN,CAAZ;AACA1B,QAAAA,YAAY,CAAC,KAAK6D,gBAAN,CAAZ;AACH;AACJ;AACD;;;AACAZ,IAAAA,cAAc,CAAC71C,OAAD,EAAUypC,MAAV,EAAkB6L,WAAlB,EAA+B;AACzC,WAAKC,WAAL,CAAiBv1C,OAAjB,EAA0BypC,MAA1B;;AACA,WAAKmN,WAAL,CAAiBtB,WAAW,CAACJ,OAA7B,EAAsCzL,MAAtC;;AACA,WAAK8M,gBAAL,GAAwB9M,MAAxB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIkM,IAAAA,uBAAuB,CAAC31C,OAAD,EAAU;AAC7B,YAAMsO,OAAO,GAAG,EAAhB;;AACA,WAAK4lC,YAAL,CAAkBzsC,OAAlB,CAA0B,CAAC0tC,IAAD,EAAOS,cAAP,KAA0B;AAChD,YAAIA,cAAc,KAAK51C,OAAnB,IAA+Bm1C,IAAI,CAACJ,aAAL,IAAsBa,cAAc,CAACnoC,QAAf,CAAwBzN,OAAxB,CAAzD,EAA4F;AACxFsO,UAAAA,OAAO,CAAC3G,IAAR,CAAa,CAACiuC,cAAD,EAAiBT,IAAjB,CAAb;AACH;AACJ,OAJD;;AAKA,aAAO7mC,OAAP;AACH;;AAhUc;;AAkUnBwlC,EAAAA,YAAY,CAACnnD,IAAb,GAAoB,SAASoqD,oBAAT,CAA8BlqD,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAIinD,YAAV,EAAwB1vD,sDAAA,CAAgBA,iDAAhB,CAAxB,EAAwDA,sDAAA,CAAgBC,2DAAhB,CAAxD,EAA0FD,sDAAA,CAAgBitD,qBAAhB,CAA1F,EAAkIjtD,sDAAA,CAAgBvD,qDAAhB,EAA0B,CAA1B,CAAlI,EAAgKuD,sDAAA,CAAgBwvD,6BAAhB,EAA+C,CAA/C,CAAhK,CAAP;AAA4N,GAAnR;;AACAE,EAAAA,YAAY,CAAC/9C,KAAb,GAAqBwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAAS6gD,oBAAT,GAAgC;AAAE,aAAO,IAAIjD,YAAJ,CAAiBvT,sDAAA,CAAYA,iDAAZ,CAAjB,EAAyCA,sDAAA,CAAYqB,2DAAZ,CAAzC,EAAmErB,sDAAA,CAAY8Q,qBAAZ,CAAnE,EAAuG9Q,sDAAA,CAAYD,qDAAZ,EAAyB,CAAzB,CAAvG,EAAoIC,sDAAA,CAAYqT,6BAAZ,EAA2C,CAA3C,CAApI,CAAP;AAA4L,KAAzO;AAA2O39C,IAAAA,KAAK,EAAE69C,YAAlP;AAAgQvO,IAAAA,UAAU,EAAE;AAA5Q,GAAtB,CAArB;SAnUMuO;;;AA2UN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO3lD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAae,CAb9B;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM6oD;AAAN,QAAMA,eAAN,CAAsB;AAClB3rD,IAAAA,WAAW,CAAC4L,WAAD,EAAcggD,aAAd,EAA6B;AACpC,WAAKhgD,WAAL,GAAmBA,WAAnB;AACA,WAAKggD,aAAL,GAAqBA,aAArB;AACA,WAAKC,cAAL,GAAsB,IAAIn2D,uDAAJ,EAAtB;AACH;;AACD6N,IAAAA,eAAe,GAAG;AACd,YAAMoR,OAAO,GAAG,KAAK/I,WAAL,CAAiB8I,aAAjC;AACA,WAAKo3C,oBAAL,GAA4B,KAAKF,aAAL,CAAmBnC,OAAnB,CAA2B90C,OAA3B,EAAoCA,OAAO,CAACmlC,QAAR,KAAqB,CAArB,IAA0BnlC,OAAO,CAAC8pC,YAAR,CAAqB,wBAArB,CAA9D,EACvBx4C,SADuB,CACbm4C,MAAM,IAAI,KAAKyN,cAAL,CAAoBxqD,IAApB,CAAyB+8C,MAAzB,CADG,CAA5B;AAEH;;AACDh7C,IAAAA,WAAW,GAAG;AACV,WAAKwoD,aAAL,CAAmB5B,cAAnB,CAAkC,KAAKp+C,WAAvC;;AACA,UAAI,KAAKkgD,oBAAT,EAA+B;AAC3B,aAAKA,oBAAL,CAA0Bt8C,WAA1B;AACH;AACJ;;AAhBiB;;AAkBtBm8C,EAAAA,eAAe,CAACrqD,IAAhB,GAAuB,SAASyqD,uBAAT,CAAiCvqD,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAImqD,eAAV,EAA2B5yD,+DAAA,CAAyBA,qDAAzB,CAA3B,EAAwEA,+DAAA,CAAyB0vD,YAAzB,CAAxE,CAAP;AAAyH,GAAtL;;AACAkD,EAAAA,eAAe,CAAC1mD,IAAhB,GAAuB,aAAclM,+DAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAEgqD,eAAR;AAAyB/pD,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,wBAAL,EAA+B,EAA/B,CAAD,EAAqC,CAAC,EAAD,EAAK,wBAAL,EAA+B,EAA/B,CAArC,CAApC;AAA8GG,IAAAA,OAAO,EAAE;AAAE8pD,MAAAA,cAAc,EAAE;AAAlB;AAAvH,GAAzB,CAArC;SAnBMF;;;AA2BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO7oD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOC,CAPhB;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMkpD,wBAAwB,GAAG,kCAAjC;AACA;;AACA,MAAMC,wBAAwB,GAAG,kCAAjC;AACA;;AACA,MAAMC,mCAAmC,GAAG,0BAA5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC;AAAN,QAAMA,wBAAN,CAA+B;AAC3BnsD,IAAAA,WAAW,CAACw+C,SAAD,EAAY/6C,QAAZ,EAAsB;AAC7B,WAAK+6C,SAAL,GAAiBA,SAAjB;AACA,WAAKzwC,SAAL,GAAiBtK,QAAjB;AACH;AACD;;;AACA2oD,IAAAA,mBAAmB,GAAG;AAClB,UAAI,CAAC,KAAK5N,SAAL,CAAe7/B,SAApB,EAA+B;AAC3B,eAAO;AAAE;AAAT;AACH,OAHiB,CAIlB;AACA;AACA;;;AACA,YAAM0tC,WAAW,GAAG,KAAKt+C,SAAL,CAAe0jC,aAAf,CAA6B,KAA7B,CAApB;;AACA4a,MAAAA,WAAW,CAAC/xC,KAAZ,CAAkBgyC,eAAlB,GAAoC,YAApC;AACAD,MAAAA,WAAW,CAAC/xC,KAAZ,CAAkB/H,QAAlB,GAA6B,UAA7B;;AACA,WAAKxE,SAAL,CAAegW,IAAf,CAAoBiuB,WAApB,CAAgCqa,WAAhC,EAVkB,CAWlB;AACA;AACA;AACA;;;AACA,YAAME,cAAc,GAAG,KAAKx+C,SAAL,CAAesyC,WAAf,IAA8BzhC,MAArD;AACA,YAAM4tC,aAAa,GAAID,cAAc,IAAIA,cAAc,CAACniC,gBAAlC,GAClBmiC,cAAc,CAACniC,gBAAf,CAAgCiiC,WAAhC,CADkB,GAC6B,IADnD;AAEA,YAAMI,aAAa,GAAG,CAACD,aAAa,IAAIA,aAAa,CAACF,eAA/B,IAAkD,EAAnD,EAAuD/sD,OAAvD,CAA+D,IAA/D,EAAqE,EAArE,CAAtB;;AACA,WAAKwO,SAAL,CAAegW,IAAf,CAAoB0uB,WAApB,CAAgC4Z,WAAhC;;AACA,cAAQI,aAAR;AACI,aAAK,YAAL;AAAmB,iBAAO;AAAE;AAAT;;AACnB,aAAK,kBAAL;AAAyB,iBAAO;AAAE;AAAT;AAF7B;;AAIA,aAAO;AAAE;AAAT;AACH;AACD;;;AACAC,IAAAA,oCAAoC,GAAG;AACnC,UAAI,CAAC,KAAKC,2BAAN,IAAqC,KAAKnO,SAAL,CAAe7/B,SAApD,IAAiE,KAAK5Q,SAAL,CAAegW,IAApF,EAA0F;AACtF,cAAM6oC,WAAW,GAAG,KAAK7+C,SAAL,CAAegW,IAAf,CAAoBwnB,SAAxC,CADsF,CAEtF;;AACAqhB,QAAAA,WAAW,CAACnhB,MAAZ,CAAmBygB,mCAAnB;AACAU,QAAAA,WAAW,CAACnhB,MAAZ,CAAmBugB,wBAAnB;AACAY,QAAAA,WAAW,CAACnhB,MAAZ,CAAmBwgB,wBAAnB;AACA,aAAKU,2BAAL,GAAmC,IAAnC;AACA,cAAME,IAAI,GAAG,KAAKT,mBAAL,EAAb;;AACA,YAAIS,IAAI,KAAK;AAAE;AAAf,UAAqC;AACjCD,UAAAA,WAAW,CAACt/B,GAAZ,CAAgB4+B,mCAAhB;AACAU,UAAAA,WAAW,CAACt/B,GAAZ,CAAgB0+B,wBAAhB;AACH,SAHD,MAIK,IAAIa,IAAI,KAAK;AAAE;AAAf,UAAqC;AACtCD,UAAAA,WAAW,CAACt/B,GAAZ,CAAgB4+B,mCAAhB;AACAU,UAAAA,WAAW,CAACt/B,GAAZ,CAAgB2+B,wBAAhB;AACH;AACJ;AACJ;;AAnD0B;;AAqD/BE,EAAAA,wBAAwB,CAAC7qD,IAAzB,GAAgC,SAASwrD,gCAAT,CAA0CtrD,CAA1C,EAA6C;AAAE,WAAO,KAAKA,CAAC,IAAI2qD,wBAAV,EAAoCpzD,sDAAA,CAAgBC,2DAAhB,CAApC,EAAsED,sDAAA,CAAgBvD,qDAAhB,CAAtE,CAAP;AAA0G,GAAzL;;AACA22D,EAAAA,wBAAwB,CAACzhD,KAAzB,GAAiCwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASiiD,gCAAT,GAA4C;AAAE,aAAO,IAAIX,wBAAJ,CAA6BjX,sDAAA,CAAYqB,2DAAZ,CAA7B,EAAuDrB,sDAAA,CAAYD,qDAAZ,CAAvD,CAAP;AAA0F,KAAnJ;AAAqJrqC,IAAAA,KAAK,EAAEuhD,wBAA5J;AAAsLjS,IAAAA,UAAU,EAAE;AAAlM,GAAtB,CAAjC;SAtDMiS;;;AA2DN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOrpD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMiqD;AAAN,QAAMA,UAAN,CAAiB;AACb/sD,IAAAA,WAAW,CAACgtD,wBAAD,EAA2B;AAClCA,MAAAA,wBAAwB,CAACN,oCAAzB;AACH;;AAHY;;AAKjBK,EAAAA,UAAU,CAACzrD,IAAX,GAAkB,SAAS2rD,kBAAT,CAA4BzrD,CAA5B,EAA+B;AAAE,WAAO,KAAKA,CAAC,IAAIurD,UAAV,EAAsBh0D,sDAAA,CAAgBozD,wBAAhB,CAAtB,CAAP;AAA0E,GAA7H;;AACAY,EAAAA,UAAU,CAAC10C,IAAX,GAAkB,aAActf,8DAAA,CAAwB;AAAE4I,IAAAA,IAAI,EAAEorD;AAAR,GAAxB,CAAhC;AACAA,EAAAA,UAAU,CAACx0C,IAAX,GAAkB,aAAcxf,8DAAA,CAAwB;AAAE2f,IAAAA,OAAO,EAAE,CAAC,CAACm+B,iEAAD,EAAiBE,oEAAjB,CAAD;AAAX,GAAxB,CAAhC;SAPMgW;;;AAWN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOjqD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAO+D,CAP9E;;AAQA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO6V,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD5f,gEAAA,CAA0Bg0D,UAA1B,EAAsC;AAAEl0C,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAACivC,WAAD,EAAcjF,YAAd,EAA4B8I,eAA5B,CAAP;AAAsD,KAApF;AAAsFjzC,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACm+B,iEAAD,EAAiBE,oEAAjB,CAAP;AAA2C,KAAxJ;AAA0Jj+B,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACgvC,WAAD,EAAcjF,YAAd,EAA4B8I,eAA5B,CAAP;AAAsD;AAAvO,GAAtC,CAAnD;AAAsU,CAArV;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;ACv6EA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA;AACA;AACA,IAAI0B,QAAQ,GAAG,CAAf;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,aAAa,gBAAG,IAAIp3D,yDAAJ,CAAmB,cAAnB,CAAtB;AACA;AACA;AACA;;IACMq3D;AAAN,QAAMA,YAAN,CAAmB;AACfvtD,IAAAA,WAAW,GAAG;AACV;AACA,WAAK4W,aAAL,GAAqB,IAAIhf,yCAAJ,EAArB;AACA;;AACA,WAAK41D,oBAAL,GAA4B,IAAI51D,yCAAJ,EAA5B;AACA;;AACA,WAAK4e,EAAL,GAAW,iBAAgB62C,QAAQ,EAAG,EAAtC;AACA,WAAKI,MAAL,GAAc,KAAd;AACH;AACD;;;AACS,QAAL95C,KAAK,GAAG;AAAE,aAAO,KAAK85C,MAAZ;AAAqB;;AAC1B,QAAL95C,KAAK,CAACA,KAAD,EAAQ;AAAE,WAAK85C,MAAL,GAAcn1D,4EAAqB,CAACqb,KAAD,CAAnC;AAA6C;AAChE;;;AACA+5C,IAAAA,OAAO,GAAG;AACN,UAAI,KAAKD,MAAT,EAAiB;AACb,aAAKD,oBAAL,CAA0BnqD,IAA1B,CAA+B,IAA/B;AACH;AACJ;AACD;;;AACAsqD,IAAAA,QAAQ,GAAG;AACP,WAAKH,oBAAL,CAA0BnqD,IAA1B,CAA+B,KAA/B;AACH;;AACDiD,IAAAA,WAAW,CAACC,OAAD,EAAU;AACjB,WAAKqQ,aAAL,CAAmBvT,IAAnB,CAAwBkD,OAAxB;AACH;;AACDnD,IAAAA,WAAW,GAAG;AACV,WAAKwT,aAAL,CAAmBtT,QAAnB;;AACA,WAAKkqD,oBAAL,CAA0BlqD,QAA1B;AACH;;AA7Bc;;AA+BnBiqD,EAAAA,YAAY,CAACjsD,IAAb,GAAoB,SAASssD,oBAAT,CAA8BpsD,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAI+rD,YAAV,GAAP;AAAmC,GAA1F;;AACAA,EAAAA,YAAY,CAACtoD,IAAb,GAAoB,aAAclM,+DAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAE4rD,YAAR;AAAsB3rD,IAAAA,SAAS,EAAE,CAAC,CAAC,eAAD,CAAD,EAAoB,CAAC,EAAD,EAAK,cAAL,EAAqB,EAArB,CAApB,CAAjC;AAAgFE,IAAAA,MAAM,EAAE;AAAE6R,MAAAA,KAAK,EAAE;AAAT,KAAxF;AAA4G3G,IAAAA,QAAQ,EAAE,CAAC,cAAD,CAAtH;AAAwIjF,IAAAA,QAAQ,EAAE,CAAChP,gEAAA,CAA0B,CAAC;AAAEyS,MAAAA,OAAO,EAAE8hD,aAAX;AAA0B75C,MAAAA,WAAW,EAAE85C;AAAvC,KAAD,CAA1B,CAAD,EAAqFx0D,kEAArF;AAAlJ,GAAzB,CAAlC;SAhCMw0D;;;AAoCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOzqD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AASC,CAThB;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,IAAIg1C,MAAM,GAAG,CAAb;AACA,MAAMj2B,EAAE,GAAG9S,SAAX;AACA;AACA;AACA;AACA;;IACM8+C;AAAN,QAAMA,gBAAN,CAAuB;AACnB7tD,IAAAA,WAAW,CAAC8tD,SAAD,EAAYC,kBAAZ,EAAgCC,oBAAhC,EAAsD;AAC7D,WAAKF,SAAL,GAAiBA,SAAjB;AACA,WAAKC,kBAAL,GAA0BA,kBAA1B;AACA,WAAKC,oBAAL,GAA4BA,oBAA5B;AACA;;AACA,WAAKC,yBAAL,GAAiCn2D,oDAAjC;AACA;;AACA,WAAKo2D,MAAL,GAAc,IAAIx4D,uDAAJ,EAAd;AACA;;AACA,WAAKwZ,MAAL,GAAc,IAAIxZ,uDAAJ,EAAd;AACA;;AACA,WAAKmtC,SAAL,GAAiB,IAAIntC,uDAAJ,EAAjB;AACA;AACR;AACA;AACA;AACA;;AACQ,WAAKy4D,cAAL,GAAsB,IAAIz4D,uDAAJ,EAAtB;AACA;;AACA,WAAK8gB,EAAL,GAAW,uBAAsBshC,MAAM,EAAG,EAA1C;AACA,WAAKsW,SAAL,GAAiB,KAAjB;AACA,WAAKt/C,SAAL,GAAiB,KAAjB;AACA;;AACA,WAAKu/C,8BAAL,GAAsC,MAAM,CAAG,CAA/C;;AACA,WAAKA,8BAAL,GACIL,oBAAoB,CAACrwB,MAArB,CAA4B,CAACnnB,EAAD,EAAK83C,WAAL,KAAqB;AAC7C,YAAI,KAAKR,SAAL,IAAkB,CAAC,KAAKA,SAAL,CAAen6C,KAAlC,IACA,KAAKm6C,SAAL,CAAet3C,EAAf,KAAsB83C,WADtB,IACqC,KAAK93C,EAAL,KAAYA,EADrD,EACyD;AACrD,eAAK+3C,QAAL,GAAgB,KAAhB;AACH;AACJ,OALD,CADJ,CAxB6D,CA+B7D;;AACA,UAAI,KAAKT,SAAT,EAAoB;AAChB,aAAKG,yBAAL,GAAiC,KAAKO,+BAAL,EAAjC;AACH;AACJ;AACD;;;AACY,QAARD,QAAQ,GAAG;AAAE,aAAO,KAAKH,SAAZ;AAAwB;;AAC7B,QAARG,QAAQ,CAACA,QAAD,EAAW;AACnBA,MAAAA,QAAQ,GAAGj2D,4EAAqB,CAACi2D,QAAD,CAAhC,CADmB,CAEnB;;AACA,UAAI,KAAKH,SAAL,KAAmBG,QAAvB,EAAiC;AAC7B,aAAKH,SAAL,GAAiBG,QAAjB;AACA,aAAKJ,cAAL,CAAoB9sD,IAApB,CAAyBktD,QAAzB;;AACA,YAAIA,QAAJ,EAAc;AACV,eAAKr/C,MAAL,CAAY7N,IAAZ;AACA;AAChB;AACA;AACA;;AACgB,gBAAMitD,WAAW,GAAG,KAAKR,SAAL,GAAiB,KAAKA,SAAL,CAAet3C,EAAhC,GAAqC,KAAKA,EAA9D;;AACA,eAAKw3C,oBAAL,CAA0BS,MAA1B,CAAiC,KAAKj4C,EAAtC,EAA0C83C,WAA1C;AACH,SARD,MASK;AACD,eAAKJ,MAAL,CAAY7sD,IAAZ;AACH,SAd4B,CAe7B;AACA;;;AACA,aAAK0sD,kBAAL,CAAwB52C,YAAxB;AACH;AACJ;AACD;;;AACY,QAARtI,QAAQ,GAAG;AAAE,aAAO,KAAKC,SAAZ;AAAwB;;AAC7B,QAARD,QAAQ,CAACA,QAAD,EAAW;AAAE,WAAKC,SAAL,GAAiBxW,4EAAqB,CAACuW,QAAD,CAAtC;AAAmD;AAC5E;;;AACAzL,IAAAA,WAAW,GAAG;AACV,WAAK8L,MAAL,CAAY5L,QAAZ;AACA,WAAK4qD,MAAL,CAAY5qD,QAAZ;AACA,WAAKu/B,SAAL,CAAexhC,IAAf;AACA,WAAKwhC,SAAL,CAAev/B,QAAf;;AACA,WAAK+qD,8BAAL;;AACA,WAAKJ,yBAAL,CAA+Bz+C,WAA/B;AACH;AACD;;;AACAk/C,IAAAA,MAAM,GAAG;AACL,UAAI,CAAC,KAAK7/C,QAAV,EAAoB;AAChB,aAAK0/C,QAAL,GAAgB,CAAC,KAAKA,QAAtB;AACH;AACJ;AACD;;;AACAn/C,IAAAA,KAAK,GAAG;AACJ,UAAI,CAAC,KAAKP,QAAV,EAAoB;AAChB,aAAK0/C,QAAL,GAAgB,KAAhB;AACH;AACJ;AACD;;;AACAp/C,IAAAA,IAAI,GAAG;AACH,UAAI,CAAC,KAAKN,QAAV,EAAoB;AAChB,aAAK0/C,QAAL,GAAgB,IAAhB;AACH;AACJ;;AACDC,IAAAA,+BAA+B,GAAG;AAC9B,aAAO,KAAKV,SAAL,CAAeN,oBAAf,CAAoCvnD,SAApC,CAA8CsoD,QAAQ,IAAI;AAC7D;AACA,YAAI,CAAC,KAAK1/C,QAAV,EAAoB;AAChB,eAAK0/C,QAAL,GAAgBA,QAAhB;AACH;AACJ,OALM,CAAP;AAMH;;AAnGkB;;AAqGvBV,EAAAA,gBAAgB,CAACvsD,IAAjB,GAAwB,SAASqtD,wBAAT,CAAkCntD,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAIqsD,gBAAV,EAA4B90D,+DAAA,CAAyBu0D,aAAzB,EAAwC,EAAxC,CAA5B,EAAyEv0D,+DAAA,CAAyBA,4DAAzB,CAAzE,EAA6HA,+DAAA,CAAyBC,+EAAzB,CAA7H,CAAP;AAAkM,GAAjQ;;AACA60D,EAAAA,gBAAgB,CAAC5oD,IAAjB,GAAwB,aAAclM,+DAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAEksD,gBAAR;AAA0BjsD,IAAAA,SAAS,EAAE,CAAC,CAAC,oBAAD,CAAD,EAAyB,CAAC,EAAD,EAAK,kBAAL,EAAyB,EAAzB,CAAzB,CAArC;AAA6FE,IAAAA,MAAM,EAAE;AAAEysD,MAAAA,QAAQ,EAAE,UAAZ;AAAwB1/C,MAAAA,QAAQ,EAAE;AAAlC,KAArG;AAAqJ9M,IAAAA,OAAO,EAAE;AAAEmsD,MAAAA,MAAM,EAAE,QAAV;AAAoBh/C,MAAAA,MAAM,EAAE,QAA5B;AAAsC2zB,MAAAA,SAAS,EAAE,WAAjD;AAA8DsrB,MAAAA,cAAc,EAAE;AAA9E,KAA9J;AAAgQnhD,IAAAA,QAAQ,EAAE,CAAC,kBAAD,CAA1Q;AAAgSjF,IAAAA,QAAQ,EAAE,CAAChP,gEAAA,CAA0B,CACxX;AACA;AACA;AAAEyS,MAAAA,OAAO,EAAE8hD,aAAX;AAA0BsB,MAAAA,QAAQ,EAAE/sC;AAApC,KAHwX,CAA1B,CAAD;AAA1S,GAAzB,CAAtC;SAtGMgsC;;;AAwHN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/qD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA8BC,CA9BhB;AAgCA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM+rD;AAAN,QAAMA,kBAAN,CAAyB;;AAEzBA,EAAAA,kBAAkB,CAACvtD,IAAnB,GAA0B,SAASwtD,0BAAT,CAAoCttD,CAApC,EAAuC;AAAE,WAAO,KAAKA,CAAC,IAAIqtD,kBAAV,GAAP;AAAyC,GAA5G;;AACAA,EAAAA,kBAAkB,CAACx2C,IAAnB,GAA0B,aAActf,8DAAA,CAAwB;AAAE4I,IAAAA,IAAI,EAAEktD;AAAR,GAAxB,CAAxC;AACAA,EAAAA,kBAAkB,CAACt2C,IAAnB,GAA0B,aAAcxf,8DAAA,CAAwB,EAAxB,CAAxC;SAJM81D;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/rD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;;AAOA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO6V,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD5f,gEAAA,CAA0B81D,kBAA1B,EAA8C;AAAEh2C,IAAAA,YAAY,EAAE,CAAC00C,YAAD,EAAeM,gBAAf,CAAhB;AAAkD/0C,IAAAA,OAAO,EAAE,CAACy0C,YAAD,EAAeM,gBAAf;AAA3D,GAA9C,CAAnD;AAAkM,CAAjN;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;AC7QA;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,MAAMoB,YAAY,gBAAG,IAAI/4D,yDAAJ,CAAmB,aAAnB,EAAkC;AACnDgkD,EAAAA,UAAU,EAAE,MADuC;AAEnDrvC,EAAAA,OAAO,EAAEqkD;AAF0C,CAAlC,CAArB;AAIA;;AACA,SAASA,oBAAT,GAAgC;AAC5B,SAAOF,qDAAM,CAACx5D,qDAAD,CAAb;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;IACM6C;AAAN,QAAMA,cAAN,CAAqB;AACjB2H,IAAAA,WAAW,CAAC+N,SAAD,EAAY;AACnB;AACA,WAAK3H,KAAL,GAAa,KAAb;AACA;;AACA,WAAK40C,MAAL,GAAc,IAAItlD,uDAAJ,EAAd;;AACA,UAAIqY,SAAJ,EAAe;AACX;AACA;AACA;AACA;AACA,cAAMohD,OAAO,GAAGphD,SAAS,CAACgW,IAAV,GAAiBhW,SAAS,CAACgW,IAAV,CAAeqrC,GAAhC,GAAsC,IAAtD;AACA,cAAMC,OAAO,GAAGthD,SAAS,CAACsU,eAAV,GAA4BtU,SAAS,CAACsU,eAAV,CAA0B+sC,GAAtD,GAA4D,IAA5E;AACA,cAAMhpD,KAAK,GAAG+oD,OAAO,IAAIE,OAAzB;AACA,aAAKjpD,KAAL,GAAcA,KAAK,KAAK,KAAV,IAAmBA,KAAK,KAAK,KAA9B,GAAuCA,KAAvC,GAA+C,KAA5D;AACH;AACJ;;AACDhD,IAAAA,WAAW,GAAG;AACV,WAAK43C,MAAL,CAAY13C,QAAZ;AACH;;AAnBgB;;AAqBrBjL,EAAAA,cAAc,CAACiJ,IAAf,GAAsB,SAASguD,sBAAT,CAAgC9tD,CAAhC,EAAmC;AAAE,WAAO,KAAKA,CAAC,IAAInJ,cAAV,EAA0BU,sDAAA,CAAgBk2D,YAAhB,EAA8B,CAA9B,CAA1B,CAAP;AAAqE,GAAhI;;AACA52D,EAAAA,cAAc,CAACqS,KAAf,GAAuBwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASykD,sBAAT,GAAkC;AAAE,aAAO,IAAIj3D,cAAJ,CAAmB68C,sDAAA,CAAY+Z,YAAZ,EAA0B,CAA1B,CAAnB,CAAP;AAA0D,KAAzG;AAA2GrkD,IAAAA,KAAK,EAAEvS,cAAlH;AAAkI6hD,IAAAA,UAAU,EAAE;AAA9I,GAAtB,CAAvB;SAtBM7hD;;;AA0BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOyK,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAQe,CAR9B;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMysD;AAAN,QAAMA,GAAN,CAAU;AACNvvD,IAAAA,WAAW,GAAG;AACV;AACA,WAAK6N,IAAL,GAAY,KAAZ;AACA;;AACA,WAAK2hD,cAAL,GAAsB,KAAtB;AACA;;AACA,WAAKxU,MAAL,GAAc,IAAItlD,uDAAJ,EAAd;AACH;AACD;;;AACO,QAAH05D,GAAG,GAAG;AAAE,aAAO,KAAKvhD,IAAZ;AAAmB;;AACxB,QAAHuhD,GAAG,CAAChpD,KAAD,EAAQ;AACX,YAAMqpD,GAAG,GAAG,KAAK5hD,IAAjB;AACA,YAAMoS,eAAe,GAAG7Z,KAAK,GAAGA,KAAK,CAAC5G,WAAN,EAAH,GAAyB4G,KAAtD;AACA,WAAKspD,OAAL,GAAetpD,KAAf;AACA,WAAKyH,IAAL,GAAaoS,eAAe,KAAK,KAApB,IAA6BA,eAAe,KAAK,KAAlD,GAA2DA,eAA3D,GAA6E,KAAzF;;AACA,UAAIwvC,GAAG,KAAK,KAAK5hD,IAAb,IAAqB,KAAK2hD,cAA9B,EAA8C;AAC1C,aAAKxU,MAAL,CAAY35C,IAAZ,CAAiB,KAAKwM,IAAtB;AACH;AACJ;AACD;;;AACS,QAALzH,KAAK,GAAG;AAAE,aAAO,KAAKgpD,GAAZ;AAAkB;AAChC;;;AACAt4C,IAAAA,kBAAkB,GAAG;AACjB,WAAK04C,cAAL,GAAsB,IAAtB;AACH;;AACDpsD,IAAAA,WAAW,GAAG;AACV,WAAK43C,MAAL,CAAY13C,QAAZ;AACH;;AA5BK;;AA8BVisD,EAAAA,GAAG,CAACjuD,IAAJ,GAAW,SAASquD,WAAT,CAAqBnuD,CAArB,EAAwB;AAAE,WAAO,KAAKA,CAAC,IAAI+tD,GAAV,GAAP;AAA0B,GAA/D;;AACAA,EAAAA,GAAG,CAACtqD,IAAJ,GAAW,aAAclM,+DAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAE4tD,GAAR;AAAa3tD,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,KAAL,EAAY,EAAZ,CAAD,CAAxB;AAA2C6K,IAAAA,QAAQ,EAAE,CAArD;AAAwDC,IAAAA,YAAY,EAAE,SAASkjD,gBAAT,CAA0Bh2D,EAA1B,EAA8BC,GAA9B,EAAmC;AAAE,UAAID,EAAE,GAAG,CAAT,EAAY;AACjKb,QAAAA,yDAAA,CAAmB,KAAnB,EAA0Bc,GAAG,CAAC61D,OAA9B;AACH;AAAE,KAF2C;AAEzC5tD,IAAAA,MAAM,EAAE;AAAEstD,MAAAA,GAAG,EAAE;AAAP,KAFiC;AAEjBrtD,IAAAA,OAAO,EAAE;AAAEi5C,MAAAA,MAAM,EAAE;AAAV,KAFQ;AAEiBhuC,IAAAA,QAAQ,EAAE,CAAC,KAAD,CAF3B;AAEoCjF,IAAAA,QAAQ,EAAE,CAAChP,gEAAA,CAA0B,CAAC;AAAEyS,MAAAA,OAAO,EAAEnT,cAAX;AAA2Bob,MAAAA,WAAW,EAAE87C;AAAxC,KAAD,CAA1B,CAAD;AAF9C,GAAzB,CAAzB;SA/BMA;;;AAsCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOzsD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAaC,CAbhB;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM+sD;AAAN,QAAMA,UAAN,CAAiB;;AAEjBA,EAAAA,UAAU,CAACvuD,IAAX,GAAkB,SAASwuD,kBAAT,CAA4BtuD,CAA5B,EAA+B;AAAE,WAAO,KAAKA,CAAC,IAAIquD,UAAV,GAAP;AAAiC,GAApF;;AACAA,EAAAA,UAAU,CAACx3C,IAAX,GAAkB,aAActf,8DAAA,CAAwB;AAAE4I,IAAAA,IAAI,EAAEkuD;AAAR,GAAxB,CAAhC;AACAA,EAAAA,UAAU,CAACt3C,IAAX,GAAkB,aAAcxf,8DAAA,CAAwB,EAAxB,CAAhC;SAJM82D;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/sD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;;AAOA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO6V,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD5f,gEAAA,CAA0B82D,UAA1B,EAAsC;AAAEh3C,IAAAA,YAAY,EAAE,CAAC02C,GAAD,CAAhB;AAAuBz2C,IAAAA,OAAO,EAAE,CAACy2C,GAAD;AAAhC,GAAtC,CAAnD;AAAoI,CAAnJ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpLA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA,MAAMU,OAAO,gBAAG,IAAID,kDAAJ,CAAY,SAAZ,CAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA,SAAS13D,qBAAT,CAA+B8N,KAA/B,EAAsC;AAClC,SAAOA,KAAK,IAAI,IAAT,IAAkB,GAAEA,KAAM,EAAT,KAAe,OAAvC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8pD,oBAAT,CAA8B9pD,KAA9B,EAAqC+pD,aAAa,GAAG,CAArD,EAAwD;AACpD,SAAOC,cAAc,CAAChqD,KAAD,CAAd,GAAwBD,MAAM,CAACC,KAAD,CAA9B,GAAwC+pD,aAA/C;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASC,cAAT,CAAwBhqD,KAAxB,EAA+B;AAC3B;AACA;AACA;AACA,SAAO,CAAC2R,KAAK,CAACna,UAAU,CAACwI,KAAD,CAAX,CAAN,IAA6B,CAAC2R,KAAK,CAAC5R,MAAM,CAACC,KAAD,CAAP,CAA1C;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiqD,WAAT,CAAqBjqD,KAArB,EAA4B;AACxB,SAAOwgB,KAAK,CAACC,OAAN,CAAczgB,KAAd,IAAuBA,KAAvB,GAA+B,CAACA,KAAD,CAAtC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAASkqD,mBAAT,CAA6BlqD,KAA7B,EAAoC;AAChC,MAAIA,KAAK,IAAI,IAAb,EAAmB;AACf,WAAO,EAAP;AACH;;AACD,SAAO,OAAOA,KAAP,KAAiB,QAAjB,GAA4BA,KAA5B,GAAqC,GAAEA,KAAM,IAApD;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,SAASkwC,aAAT,CAAuBia,YAAvB,EAAqC;AACjC,SAAOA,YAAY,YAAYn6D,qDAAxB,GAAqCm6D,YAAY,CAAC77C,aAAlD,GAAkE67C,YAAzE;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,SAASC,iBAAT,CAA2BpqD,KAA3B,EAAkCykB,SAAS,GAAG,KAA9C,EAAqD;AACjD,QAAMjH,MAAM,GAAG,EAAf;;AACA,MAAIxd,KAAK,IAAI,IAAb,EAAmB;AACf,UAAMqqD,YAAY,GAAG7pC,KAAK,CAACC,OAAN,CAAczgB,KAAd,IAAuBA,KAAvB,GAAgC,GAAEA,KAAM,EAAT,CAAWqkB,KAAX,CAAiBI,SAAjB,CAApD;;AACA,SAAK,MAAM6lC,WAAX,IAA0BD,YAA1B,EAAwC;AACpC,YAAME,aAAa,GAAI,GAAED,WAAY,EAAf,CAAiBj3B,IAAjB,EAAtB;;AACA,UAAIk3B,aAAJ,EAAmB;AACf/sC,QAAAA,MAAM,CAACtH,IAAP,CAAYq0C,aAAZ;AACH;AACJ;AACJ;;AACD,SAAO/sC,MAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChIA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA,MAAMitC,UAAN,CAAiB;AAEjB;;;AACA,SAASC,YAAT,CAAsB1qD,KAAtB,EAA6B;AACzB;AACA;AACA;AACA,SAAOA,KAAK,IAAI,OAAOA,KAAK,CAAC2qD,OAAb,KAAyB,UAAzC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMC,eAAN,SAA8BH,UAA9B,CAAyC;AACrC7wD,EAAAA,WAAW,CAACixD,KAAD,EAAQ;AACf;AACA,SAAKA,KAAL,GAAaA,KAAb;AACH;;AACDF,EAAAA,OAAO,GAAG;AACN,WAAOH,kDAAY,CAAC,KAAKK,KAAN,CAAZ,GAA2B,KAAKA,KAAhC,GAAwCl5D,wCAAE,CAAC,KAAKk5D,KAAN,CAAjD;AACH;;AACDC,EAAAA,UAAU,GAAG,CAAG;;AARqB;AAWzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,4BAAN,CAAmC;AAC/BC,EAAAA,YAAY,CAAC7qD,OAAD,EAAU+J,gBAAV,EAA4B+gD,kBAA5B,EAAgDC,iBAAhD,EAAmEC,eAAnE,EAAoF;AAC5FhrD,IAAAA,OAAO,CAACirD,gBAAR,CAAyB,CAACC,MAAD,EAASC,qBAAT,EAAgCC,YAAhC,KAAiD;AACtE,UAAIC,IAAJ;AACA,UAAIC,SAAJ;;AACA,UAAIJ,MAAM,CAACK,aAAP,IAAwB,IAA5B,EAAkC;AAC9B,cAAMC,aAAa,GAAGV,kBAAkB,CAACI,MAAD,EAASC,qBAAT,EAAgCC,YAAhC,CAAxC;AACAC,QAAAA,IAAI,GAAGthD,gBAAgB,CAAC0hD,kBAAjB,CAAoCD,aAAa,CAACE,WAAlD,EAA+DF,aAAa,CAACzoC,OAA7E,EAAsFyoC,aAAa,CAACr0B,KAApG,CAAP;AACAm0B,QAAAA,SAAS,GAAG;AAAE;AAAd;AACH,OAJD,MAKK,IAAIF,YAAY,IAAI,IAApB,EAA0B;AAC3BrhD,QAAAA,gBAAgB,CAACm7B,MAAjB,CAAwBimB,qBAAxB;AACAG,QAAAA,SAAS,GAAG;AAAE;AAAd;AACH,OAHI,MAIA;AACDD,QAAAA,IAAI,GAAGthD,gBAAgB,CAAC7K,GAAjB,CAAqBisD,qBAArB,CAAP;AACAphD,QAAAA,gBAAgB,CAAC4hD,IAAjB,CAAsBN,IAAtB,EAA4BD,YAA5B;AACAE,QAAAA,SAAS,GAAG;AAAE;AAAd;AACH;;AACD,UAAIN,eAAJ,EAAqB;AACjBA,QAAAA,eAAe,CAAC;AACZjoC,UAAAA,OAAO,EAAEsoC,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACtoC,OAD9C;AAEZuoC,UAAAA,SAFY;AAGZJ,UAAAA;AAHY,SAAD,CAAf;AAKH;AACJ,KAxBD;AAyBH;;AACDv/C,EAAAA,MAAM,GAAG,CACR;;AA7B8B;AAgCnC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMigD,4BAAN,CAAmC;AAC/BnyD,EAAAA,WAAW,GAAG;AACV;AACR;AACA;AACA;AACQ,SAAKoyD,aAAL,GAAqB,EAArB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,SAAKC,UAAL,GAAkB,EAAlB;AACH;AACD;;;AACAjB,EAAAA,YAAY,CAAC7qD,OAAD,EAAU+J,gBAAV,EAA4B+gD,kBAA5B,EAAgDC,iBAAhD,EAAmEC,eAAnE,EAAoF;AAC5F;AACAhrD,IAAAA,OAAO,CAACirD,gBAAR,CAAyB,CAACC,MAAD,EAASC,qBAAT,EAAgCC,YAAhC,KAAiD;AACtE,UAAIC,IAAJ;AACA,UAAIC,SAAJ;;AACA,UAAIJ,MAAM,CAACK,aAAP,IAAwB,IAA5B,EAAkC;AAAE;AAChC,cAAMQ,eAAe,GAAG,MAAMjB,kBAAkB,CAACI,MAAD,EAASC,qBAAT,EAAgCC,YAAhC,CAAhD;;AACAC,QAAAA,IAAI,GAAG,KAAKW,WAAL,CAAiBD,eAAjB,EAAkCX,YAAlC,EAAgDrhD,gBAAhD,EAAkEghD,iBAAiB,CAACG,MAAD,CAAnF,CAAP;AACAI,QAAAA,SAAS,GAAGD,IAAI,GAAG;AAAE;AAAL,UAAsB;AAAE;AAAxC;AACH,OAJD,MAKK,IAAID,YAAY,IAAI,IAApB,EAA0B;AAAE;AAC7B,aAAKa,mBAAL,CAAyBd,qBAAzB,EAAgDphD,gBAAhD;;AACAuhD,QAAAA,SAAS,GAAG;AAAE;AAAd;AACH,OAHI,MAIA;AAAE;AACHD,QAAAA,IAAI,GAAG,KAAKa,SAAL,CAAef,qBAAf,EAAsCC,YAAtC,EAAoDrhD,gBAApD,EAAsEghD,iBAAiB,CAACG,MAAD,CAAvF,CAAP;AACAI,QAAAA,SAAS,GAAG;AAAE;AAAd;AACH;;AACD,UAAIN,eAAJ,EAAqB;AACjBA,QAAAA,eAAe,CAAC;AACZjoC,UAAAA,OAAO,EAAEsoC,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACtoC,OAD9C;AAEZuoC,UAAAA,SAFY;AAGZJ,UAAAA;AAHY,SAAD,CAAf;AAKH;AACJ,KAvBD;AAwBH;;AACDv/C,EAAAA,MAAM,GAAG;AACL,SAAK,MAAM0/C,IAAX,IAAmB,KAAKS,UAAxB,EAAoC;AAChCT,MAAAA,IAAI,CAAC30C,OAAL;AACH;;AACD,SAAKo1C,UAAL,GAAkB,EAAlB;AACH;AACD;AACJ;AACA;AACA;;;AACIE,EAAAA,WAAW,CAACD,eAAD,EAAkBX,YAAlB,EAAgCrhD,gBAAhC,EAAkDlK,KAAlD,EAAyD;AAChE,UAAMssD,UAAU,GAAG,KAAKC,oBAAL,CAA0BhB,YAA1B,EAAwCrhD,gBAAxC,CAAnB;;AACA,QAAIoiD,UAAJ,EAAgB;AACZA,MAAAA,UAAU,CAACppC,OAAX,CAAmBhvB,SAAnB,GAA+B8L,KAA/B;AACA,aAAO2I,SAAP;AACH;;AACD,UAAM6jD,QAAQ,GAAGN,eAAe,EAAhC;AACA,WAAOhiD,gBAAgB,CAAC0hD,kBAAjB,CAAoCY,QAAQ,CAACX,WAA7C,EAA0DW,QAAQ,CAACtpC,OAAnE,EAA4EspC,QAAQ,CAACl1B,KAArF,CAAP;AACH;AACD;;;AACA80B,EAAAA,mBAAmB,CAAC90B,KAAD,EAAQptB,gBAAR,EAA0B;AACzC,UAAMuiD,YAAY,GAAGviD,gBAAgB,CAAC4B,MAAjB,CAAwBwrB,KAAxB,CAArB;;AACA,SAAKo1B,eAAL,CAAqBD,YAArB,EAAmCviD,gBAAnC;AACH;AACD;;;AACAmiD,EAAAA,SAAS,CAACf,qBAAD,EAAwBC,YAAxB,EAAsCrhD,gBAAtC,EAAwDlK,KAAxD,EAA+D;AACpE,UAAMwrD,IAAI,GAAGthD,gBAAgB,CAAC7K,GAAjB,CAAqBisD,qBAArB,CAAb;AACAphD,IAAAA,gBAAgB,CAAC4hD,IAAjB,CAAsBN,IAAtB,EAA4BD,YAA5B;AACAC,IAAAA,IAAI,CAACtoC,OAAL,CAAahvB,SAAb,GAAyB8L,KAAzB;AACA,WAAOwrD,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIkB,EAAAA,eAAe,CAAClB,IAAD,EAAOthD,gBAAP,EAAyB;AACpC,QAAI,KAAK+hD,UAAL,CAAgB30D,MAAhB,GAAyB,KAAK00D,aAAlC,EAAiD;AAC7C,WAAKC,UAAL,CAAgB/1C,IAAhB,CAAqBs1C,IAArB;AACH,KAFD,MAGK;AACD,YAAMl0B,KAAK,GAAGptB,gBAAgB,CAACgR,OAAjB,CAAyBswC,IAAzB,CAAd,CADC,CAED;AACA;AACA;AACA;;AACA,UAAIl0B,KAAK,KAAK,CAAC,CAAf,EAAkB;AACdk0B,QAAAA,IAAI,CAAC30C,OAAL;AACH,OAFD,MAGK;AACD3M,QAAAA,gBAAgB,CAACm7B,MAAjB,CAAwB/N,KAAxB;AACH;AACJ;AACJ;AACD;;;AACAi1B,EAAAA,oBAAoB,CAACj1B,KAAD,EAAQptB,gBAAR,EAA0B;AAC1C,UAAMoiD,UAAU,GAAG,KAAKL,UAAL,CAAgBU,GAAhB,EAAnB;;AACA,QAAIL,UAAJ,EAAgB;AACZpiD,MAAAA,gBAAgB,CAAC0iD,MAAjB,CAAwBN,UAAxB,EAAoCh1B,KAApC;AACH;;AACD,WAAOg1B,UAAU,IAAI,IAArB;AACH;;AAxG8B;AA2GnC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMO,cAAN,CAAqB;AACjBjzD,EAAAA,WAAW,CAACkzD,SAAS,GAAG,KAAb,EAAoBC,uBAApB,EAA6CC,YAAY,GAAG,IAA5D,EAAkE;AACzE,SAAKF,SAAL,GAAiBA,SAAjB;AACA,SAAKE,YAAL,GAAoBA,YAApB;AACA;;AACA,SAAKC,UAAL,GAAkB,IAAInoC,GAAJ,EAAlB;AACA;;AACA,SAAKooC,iBAAL,GAAyB,EAAzB;AACA;;AACA,SAAKC,eAAL,GAAuB,EAAvB;AACA;;AACA,SAAKC,OAAL,GAAe,IAAI57D,yCAAJ,EAAf;;AACA,QAAIu7D,uBAAuB,IAAIA,uBAAuB,CAACz1D,MAAvD,EAA+D;AAC3D,UAAIw1D,SAAJ,EAAe;AACXC,QAAAA,uBAAuB,CAAC/2C,OAAxB,CAAgChW,KAAK,IAAI,KAAKqtD,aAAL,CAAmBrtD,KAAnB,CAAzC;AACH,OAFD,MAGK;AACD,aAAKqtD,aAAL,CAAmBN,uBAAuB,CAAC,CAAD,CAA1C;AACH,OAN0D,CAO3D;;;AACA,WAAKI,eAAL,CAAqB71D,MAArB,GAA8B,CAA9B;AACH;AACJ;AACD;;;AACY,MAAR+W,QAAQ,GAAG;AACX,QAAI,CAAC,KAAKtH,SAAV,EAAqB;AACjB,WAAKA,SAAL,GAAiByZ,KAAK,CAACqf,IAAN,CAAW,KAAKotB,UAAL,CAAgB5lC,MAAhB,EAAX,CAAjB;AACH;;AACD,WAAO,KAAKtgB,SAAZ;AACH;AACD;AACJ;AACA;;;AACI1S,EAAAA,MAAM,CAAC,GAAGgzB,MAAJ,EAAY;AACd,SAAKimC,sBAAL,CAA4BjmC,MAA5B;;AACAA,IAAAA,MAAM,CAACrR,OAAP,CAAehW,KAAK,IAAI,KAAKqtD,aAAL,CAAmBrtD,KAAnB,CAAxB;;AACA,SAAKutD,gBAAL;AACH;AACD;AACJ;AACA;;;AACIC,EAAAA,QAAQ,CAAC,GAAGnmC,MAAJ,EAAY;AAChB,SAAKimC,sBAAL,CAA4BjmC,MAA5B;;AACAA,IAAAA,MAAM,CAACrR,OAAP,CAAehW,KAAK,IAAI,KAAKytD,eAAL,CAAqBztD,KAArB,CAAxB;;AACA,SAAKutD,gBAAL;AACH;AACD;AACJ;AACA;;;AACIjF,EAAAA,MAAM,CAACtoD,KAAD,EAAQ;AACV,SAAK0tD,UAAL,CAAgB1tD,KAAhB,IAAyB,KAAKwtD,QAAL,CAAcxtD,KAAd,CAAzB,GAAgD,KAAK3L,MAAL,CAAY2L,KAAZ,CAAhD;AACH;AACD;AACJ;AACA;;;AACIqrB,EAAAA,KAAK,GAAG;AACJ,SAAKsiC,UAAL;;AACA,SAAKJ,gBAAL;AACH;AACD;AACJ;AACA;;;AACIG,EAAAA,UAAU,CAAC1tD,KAAD,EAAQ;AACd,WAAO,KAAKitD,UAAL,CAAgB9nC,GAAhB,CAAoBnlB,KAApB,CAAP;AACH;AACD;AACJ;AACA;;;AACI+nB,EAAAA,OAAO,GAAG;AACN,WAAO,KAAKklC,UAAL,CAAgB9lC,IAAhB,KAAyB,CAAhC;AACH;AACD;AACJ;AACA;;;AACIymC,EAAAA,QAAQ,GAAG;AACP,WAAO,CAAC,KAAK7lC,OAAL,EAAR;AACH;AACD;AACJ;AACA;;;AACI4U,EAAAA,IAAI,CAACuY,SAAD,EAAY;AACZ,QAAI,KAAK4X,SAAL,IAAkB,KAAKz+C,QAA3B,EAAqC;AACjC,WAAKtH,SAAL,CAAe41B,IAAf,CAAoBuY,SAApB;AACH;AACJ;AACD;AACJ;AACA;;;AACI2Y,EAAAA,mBAAmB,GAAG;AAClB,WAAO,KAAKf,SAAZ;AACH;AACD;;;AACAS,EAAAA,gBAAgB,GAAG;AACf;AACA,SAAKxmD,SAAL,GAAiB,IAAjB;;AACA,QAAI,KAAKomD,eAAL,CAAqB71D,MAArB,IAA+B,KAAK41D,iBAAL,CAAuB51D,MAA1D,EAAkE;AAC9D,WAAK81D,OAAL,CAAanwD,IAAb,CAAkB;AACd6wD,QAAAA,MAAM,EAAE,IADM;AAEdC,QAAAA,KAAK,EAAE,KAAKZ,eAFE;AAGda,QAAAA,OAAO,EAAE,KAAKd;AAHA,OAAlB;AAKA,WAAKA,iBAAL,GAAyB,EAAzB;AACA,WAAKC,eAAL,GAAuB,EAAvB;AACH;AACJ;AACD;;;AACAE,EAAAA,aAAa,CAACrtD,KAAD,EAAQ;AACjB,QAAI,CAAC,KAAK0tD,UAAL,CAAgB1tD,KAAhB,CAAL,EAA6B;AACzB,UAAI,CAAC,KAAK8sD,SAAV,EAAqB;AACjB,aAAKa,UAAL;AACH;;AACD,WAAKV,UAAL,CAAgB/lC,GAAhB,CAAoBlnB,KAApB;;AACA,UAAI,KAAKgtD,YAAT,EAAuB;AACnB,aAAKG,eAAL,CAAqBj3C,IAArB,CAA0BlW,KAA1B;AACH;AACJ;AACJ;AACD;;;AACAytD,EAAAA,eAAe,CAACztD,KAAD,EAAQ;AACnB,QAAI,KAAK0tD,UAAL,CAAgB1tD,KAAhB,CAAJ,EAA4B;AACxB,WAAKitD,UAAL,CAAgB/hC,MAAhB,CAAuBlrB,KAAvB;;AACA,UAAI,KAAKgtD,YAAT,EAAuB;AACnB,aAAKE,iBAAL,CAAuBh3C,IAAvB,CAA4BlW,KAA5B;AACH;AACJ;AACJ;AACD;;;AACA2tD,EAAAA,UAAU,GAAG;AACT,QAAI,CAAC,KAAK5lC,OAAL,EAAL,EAAqB;AACjB,WAAKklC,UAAL,CAAgBj3C,OAAhB,CAAwBhW,KAAK,IAAI,KAAKytD,eAAL,CAAqBztD,KAArB,CAAjC;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACIstD,EAAAA,sBAAsB,CAACjmC,MAAD,EAAS;AAC3B,QAAIA,MAAM,CAAC/vB,MAAP,GAAgB,CAAhB,IAAqB,CAAC,KAAKw1D,SAA3B,KAAyC,OAAOpwD,SAAP,KAAqB,WAArB,IAAoCA,SAA7E,CAAJ,EAA6F;AACzF,YAAMuxD,uCAAuC,EAA7C;AACH;AACJ;;AA5IgB;AA8IrB;AACA;AACA;AACA;AACA;;;AACA,SAASA,uCAAT,GAAmD;AAC/C,SAAOv0D,KAAK,CAAC,yEAAD,CAAZ;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMstD;AAAN,QAAMA,yBAAN,CAAgC;AAC5BptD,IAAAA,WAAW,GAAG;AACV,WAAKs0D,UAAL,GAAkB,EAAlB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI7F,IAAAA,MAAM,CAACj4C,EAAD,EAAKsD,IAAL,EAAW;AACb,WAAK,IAAI+nB,QAAT,IAAqB,KAAKyyB,UAA1B,EAAsC;AAClCzyB,QAAAA,QAAQ,CAACrrB,EAAD,EAAKsD,IAAL,CAAR;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACI6jB,IAAAA,MAAM,CAACkE,QAAD,EAAW;AACb,WAAKyyB,UAAL,CAAgBh4C,IAAhB,CAAqBulB,QAArB;;AACA,aAAO,MAAM;AACT,aAAKyyB,UAAL,GAAkB,KAAKA,UAAL,CAAgBl8D,MAAhB,CAAwBm8D,UAAD,IAAgB;AACrD,iBAAO1yB,QAAQ,KAAK0yB,UAApB;AACH,SAFiB,CAAlB;AAGH,OAJD;AAKH;;AACDnxD,IAAAA,WAAW,GAAG;AACV,WAAKkxD,UAAL,GAAkB,EAAlB;AACH;;AA5B2B;;AA8BhClH,EAAAA,yBAAyB,CAAC9rD,IAA1B,GAAiC,SAASkzD,iCAAT,CAA2ChzD,CAA3C,EAA8C;AAAE,WAAO,KAAKA,CAAC,IAAI4rD,yBAAV,GAAP;AAAgD,GAAjI;;AACAA,EAAAA,yBAAyB,CAAC1iD,KAA1B,GAAkCwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAAS2pD,iCAAT,GAA6C;AAAE,aAAO,IAAIpH,yBAAJ,EAAP;AAAyC,KAAnG;AAAqGxiD,IAAAA,KAAK,EAAEwiD,yBAA5G;AAAuIlT,IAAAA,UAAU,EAAE;AAAnJ,GAAtB,CAAlC;SA/BMkT;;;AAgCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOtqD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAG6B,CAH5C;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM2xD,uBAAuB,gBAAG,IAAIv+D,yDAAJ,CAAmB,eAAnB,CAAhC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACndA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,SAASo/D,YAAT,CAAsBr8B,IAAtB,EAA4Bi7B,MAA5B,EAAoCqB,mBAApC,EAAyD;AACrD,OAAK,IAAIx0C,GAAT,IAAgBmzC,MAAhB,EAAwB;AACpB,QAAIA,MAAM,CAACnuC,cAAP,CAAsBhF,GAAtB,CAAJ,EAAgC;AAC5B,YAAM3a,KAAK,GAAG8tD,MAAM,CAACnzC,GAAD,CAApB;;AACA,UAAI3a,KAAJ,EAAW;AACP6yB,QAAAA,IAAI,CAAC8X,WAAL,CAAiBhwB,GAAjB,EAAsB3a,KAAtB,EAA6B,CAACmvD,mBAAmB,KAAK,IAAxB,IAAgCA,mBAAmB,KAAK,KAAK,CAA7D,GAAiE,KAAK,CAAtE,GAA0EA,mBAAmB,CAAChqC,GAApB,CAAwBxK,GAAxB,CAA3E,IAA2G,WAA3G,GAAyH,EAAtJ;AACH,OAFD,MAGK;AACDkY,QAAAA,IAAI,CAAC+X,cAAL,CAAoBjwB,GAApB;AACH;AACJ;AACJ;;AACD,SAAOkY,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu8B,4BAAT,CAAsC7gD,OAAtC,EAA+C8gD,MAA/C,EAAuD;AACnD,QAAMC,UAAU,GAAGD,MAAM,GAAG,EAAH,GAAQ,MAAjC;AACAH,EAAAA,YAAY,CAAC3gD,OAAO,CAAC2F,KAAT,EAAgB;AACxB,oBAAgBm7C,MAAM,GAAG,EAAH,GAAQ,MADN;AAExB,yBAAqBA,MAAM,GAAG,EAAH,GAAQ,MAFX;AAGxB,mCAA+BA,MAAM,GAAG,EAAH,GAAQ,aAHrB;AAIxB,mBAAeC,UAJS;AAKxB,uBAAmBA,UALK;AAMxB,2BAAuBA,UANC;AAOxB,wBAAoBA;AAPI,GAAhB,CAAZ;AASH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,gBAAT,CAA0BhhD,OAA1B,EAAmC8gD,MAAnC,EAA2CF,mBAA3C,EAAgE;AAC5DD,EAAAA,YAAY,CAAC3gD,OAAO,CAAC2F,KAAT,EAAgB;AACxB/H,IAAAA,QAAQ,EAAEkjD,MAAM,GAAG,EAAH,GAAQ,OADA;AAExBG,IAAAA,GAAG,EAAEH,MAAM,GAAG,EAAH,GAAQ,GAFK;AAGxBI,IAAAA,OAAO,EAAEJ,MAAM,GAAG,EAAH,GAAQ,GAHC;AAIxBK,IAAAA,IAAI,EAAEL,MAAM,GAAG,EAAH,GAAQ;AAJI,GAAhB,EAKTF,mBALS,CAAZ;AAMH;AACD;AACA;AACA;AACA;;;AACA,SAASQ,iBAAT,CAA2BC,SAA3B,EAAsCC,gBAAtC,EAAwD;AACpD,SAAOA,gBAAgB,IAAIA,gBAAgB,IAAI,MAAxC,GACFD,SAAS,GAAG,GAAZ,GAAkBC,gBADhB,GAEHD,SAFJ;AAGH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAASE,qBAAT,CAA+B9vD,KAA/B,EAAsC;AAClC;AACA,QAAM+vD,UAAU,GAAG/vD,KAAK,CAAC5G,WAAN,GAAoB8hB,OAApB,CAA4B,IAA5B,IAAoC,CAAC,CAArC,GAAyC,CAAzC,GAA6C,IAAhE;AACA,SAAO1jB,UAAU,CAACwI,KAAD,CAAV,GAAoB+vD,UAA3B;AACH;AACD;;;AACA,SAASC,kCAAT,CAA4CzhD,OAA5C,EAAqD;AACjD,QAAM63C,aAAa,GAAGpiC,gBAAgB,CAACzV,OAAD,CAAtC;AACA,QAAM0hD,sBAAsB,GAAGC,qBAAqB,CAAC9J,aAAD,EAAgB,qBAAhB,CAApD;AACA,QAAM9f,QAAQ,GAAG2pB,sBAAsB,CAAChmC,IAAvB,CAA4BtQ,IAAI,IAAIA,IAAI,KAAK,WAAT,IAAwBA,IAAI,KAAK,KAArE,CAAjB,CAHiD,CAIjD;;AACA,MAAI,CAAC2sB,QAAL,EAAe;AACX,WAAO,CAAP;AACH,GAPgD,CAQjD;AACA;;;AACA,QAAM6pB,aAAa,GAAGF,sBAAsB,CAAC/0C,OAAvB,CAA+BorB,QAA/B,CAAtB;AACA,QAAM8pB,YAAY,GAAGF,qBAAqB,CAAC9J,aAAD,EAAgB,qBAAhB,CAA1C;AACA,QAAMiK,SAAS,GAAGH,qBAAqB,CAAC9J,aAAD,EAAgB,kBAAhB,CAAvC;AACA,SAAO0J,qBAAqB,CAACM,YAAY,CAACD,aAAD,CAAb,CAArB,GACHL,qBAAqB,CAACO,SAAS,CAACF,aAAD,CAAV,CADzB;AAEH;AACD;;;AACA,SAASD,qBAAT,CAA+B9J,aAA/B,EAA8C1yC,IAA9C,EAAoD;AAChD,QAAM1T,KAAK,GAAGomD,aAAa,CAACplC,gBAAd,CAA+BtN,IAA/B,CAAd;AACA,SAAO1T,KAAK,CAACqkB,KAAN,CAAY,GAAZ,EAAiB3J,GAAjB,CAAqB41C,IAAI,IAAIA,IAAI,CAACj9B,IAAL,EAA7B,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAASk9B,oBAAT,CAA8BhiD,OAA9B,EAAuC;AACnC,QAAMiiD,UAAU,GAAGjiD,OAAO,CAACkiD,qBAAR,EAAnB,CADmC,CAEnC;AACA;AACA;AACA;;AACA,SAAO;AACHjB,IAAAA,GAAG,EAAEgB,UAAU,CAAChB,GADb;AAEHkB,IAAAA,KAAK,EAAEF,UAAU,CAACE,KAFf;AAGHC,IAAAA,MAAM,EAAEH,UAAU,CAACG,MAHhB;AAIHjB,IAAAA,IAAI,EAAEc,UAAU,CAACd,IAJd;AAKHlyD,IAAAA,KAAK,EAAEgzD,UAAU,CAAChzD,KALf;AAMHC,IAAAA,MAAM,EAAE+yD,UAAU,CAAC/yD;AANhB,GAAP;AAQH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmzD,kBAAT,CAA4BJ,UAA5B,EAAwCp6D,CAAxC,EAA2CC,CAA3C,EAA8C;AAC1C,QAAM;AAAEm5D,IAAAA,GAAF;AAAOmB,IAAAA,MAAP;AAAejB,IAAAA,IAAf;AAAqBgB,IAAAA;AAArB,MAA+BF,UAArC;AACA,SAAOn6D,CAAC,IAAIm5D,GAAL,IAAYn5D,CAAC,IAAIs6D,MAAjB,IAA2Bv6D,CAAC,IAAIs5D,IAAhC,IAAwCt5D,CAAC,IAAIs6D,KAApD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,gBAAT,CAA0BL,UAA1B,EAAsChB,GAAtC,EAA2CE,IAA3C,EAAiD;AAC7Cc,EAAAA,UAAU,CAAChB,GAAX,IAAkBA,GAAlB;AACAgB,EAAAA,UAAU,CAACG,MAAX,GAAoBH,UAAU,CAAChB,GAAX,GAAiBgB,UAAU,CAAC/yD,MAAhD;AACA+yD,EAAAA,UAAU,CAACd,IAAX,IAAmBA,IAAnB;AACAc,EAAAA,UAAU,CAACE,KAAX,GAAmBF,UAAU,CAACd,IAAX,GAAkBc,UAAU,CAAChzD,KAAhD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASszD,uBAAT,CAAiClzD,IAAjC,EAAuCmzD,SAAvC,EAAkDC,QAAlD,EAA4DC,QAA5D,EAAsE;AAClE,QAAM;AAAEzB,IAAAA,GAAF;AAAOkB,IAAAA,KAAP;AAAcC,IAAAA,MAAd;AAAsBjB,IAAAA,IAAtB;AAA4BlyD,IAAAA,KAA5B;AAAmCC,IAAAA;AAAnC,MAA8CG,IAApD;AACA,QAAMszD,UAAU,GAAG1zD,KAAK,GAAGuzD,SAA3B;AACA,QAAMI,UAAU,GAAG1zD,MAAM,GAAGszD,SAA5B;AACA,SAAOE,QAAQ,GAAGzB,GAAG,GAAG2B,UAAjB,IAA+BF,QAAQ,GAAGN,MAAM,GAAGQ,UAAnD,IACHH,QAAQ,GAAGtB,IAAI,GAAGwB,UADf,IAC6BF,QAAQ,GAAGN,KAAK,GAAGQ,UADvD;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAME,qBAAN,CAA4B;AACxBx3D,EAAAA,WAAW,CAAC+N,SAAD,EAAY0pD,cAAZ,EAA4B;AACnC,SAAK1pD,SAAL,GAAiBA,SAAjB;AACA,SAAK0pD,cAAL,GAAsBA,cAAtB;AACA;;AACA,SAAKC,SAAL,GAAiB,IAAIz2C,GAAJ,EAAjB;AACH;AACD;;;AACAwQ,EAAAA,KAAK,GAAG;AACJ,SAAKimC,SAAL,CAAejmC,KAAf;AACH;AACD;;;AACAkmC,EAAAA,KAAK,CAACxhC,QAAD,EAAW;AACZ,SAAK1E,KAAL;AACA,SAAKimC,SAAL,CAAex2C,GAAf,CAAmB,KAAKnT,SAAxB,EAAmC;AAC/B6pD,MAAAA,cAAc,EAAE,KAAKH,cAAL,CAAoBI,yBAApB;AADe,KAAnC;AAGA1hC,IAAAA,QAAQ,CAAC/Z,OAAT,CAAiBzH,OAAO,IAAI;AACxB,WAAK+iD,SAAL,CAAex2C,GAAf,CAAmBvM,OAAnB,EAA4B;AACxBijD,QAAAA,cAAc,EAAE;AAAEhC,UAAAA,GAAG,EAAEjhD,OAAO,CAACmjD,SAAf;AAA0BhC,UAAAA,IAAI,EAAEnhD,OAAO,CAACojD;AAAxC,SADQ;AAExBnB,QAAAA,UAAU,EAAED,oBAAoB,CAAChiD,OAAD;AAFR,OAA5B;AAIH,KALD;AAMH;AACD;;;AACAqjD,EAAAA,YAAY,CAAClmD,KAAD,EAAQ;AAChB,UAAMwB,MAAM,GAAGqjC,sEAAe,CAAC7kC,KAAD,CAA9B;;AACA,UAAMmmD,cAAc,GAAG,KAAKP,SAAL,CAAejyD,GAAf,CAAmB6N,MAAnB,CAAvB;;AACA,QAAI,CAAC2kD,cAAL,EAAqB;AACjB,aAAO,IAAP;AACH,KALe,CAMhB;AACA;AACA;;;AACA,UAAMC,kBAAkB,GAAG5kD,MAAM,KAAK,KAAKvF,SAAhB,GAA4BuF,MAAM,CAAC+O,eAAnC,GAAqD/O,MAAhF;AACA,UAAMskD,cAAc,GAAGK,cAAc,CAACL,cAAtC;AACA,QAAIO,MAAJ;AACA,QAAIC,OAAJ;;AACA,QAAI9kD,MAAM,KAAK,KAAKvF,SAApB,EAA+B;AAC3B,YAAMsqD,sBAAsB,GAAG,KAAKZ,cAAL,CAAoBI,yBAApB,EAA/B;;AACAM,MAAAA,MAAM,GAAGE,sBAAsB,CAACzC,GAAhC;AACAwC,MAAAA,OAAO,GAAGC,sBAAsB,CAACvC,IAAjC;AACH,KAJD,MAKK;AACDqC,MAAAA,MAAM,GAAG7kD,MAAM,CAACwkD,SAAhB;AACAM,MAAAA,OAAO,GAAG9kD,MAAM,CAACykD,UAAjB;AACH;;AACD,UAAMO,aAAa,GAAGV,cAAc,CAAChC,GAAf,GAAqBuC,MAA3C;AACA,UAAMI,cAAc,GAAGX,cAAc,CAAC9B,IAAf,GAAsBsC,OAA7C,CAvBgB,CAwBhB;AACA;;AACA,SAAKV,SAAL,CAAet7C,OAAf,CAAuB,CAAC7J,QAAD,EAAW8W,IAAX,KAAoB;AACvC,UAAI9W,QAAQ,CAACqkD,UAAT,IAAuBtjD,MAAM,KAAK+V,IAAlC,IAA0C6uC,kBAAkB,CAAC91C,QAAnB,CAA4BiH,IAA5B,CAA9C,EAAiF;AAC7E4tC,QAAAA,gBAAgB,CAAC1kD,QAAQ,CAACqkD,UAAV,EAAsB0B,aAAtB,EAAqCC,cAArC,CAAhB;AACH;AACJ,KAJD;AAKAX,IAAAA,cAAc,CAAChC,GAAf,GAAqBuC,MAArB;AACAP,IAAAA,cAAc,CAAC9B,IAAf,GAAsBsC,OAAtB;AACA,WAAO;AAAExC,MAAAA,GAAG,EAAE0C,aAAP;AAAsBxC,MAAAA,IAAI,EAAEyC;AAA5B,KAAP;AACH;;AA3DuB;AA8D5B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAASC,aAAT,CAAuBnvC,IAAvB,EAA6B;AACzB,QAAMovC,KAAK,GAAGpvC,IAAI,CAACqvC,SAAL,CAAe,IAAf,CAAd;AACA,QAAMC,iBAAiB,GAAGF,KAAK,CAACt1C,gBAAN,CAAuB,MAAvB,CAA1B;AACA,QAAM87B,QAAQ,GAAG51B,IAAI,CAAC41B,QAAL,CAAcz/C,WAAd,EAAjB,CAHyB,CAIzB;;AACAi5D,EAAAA,KAAK,CAAChhB,eAAN,CAAsB,IAAtB;;AACA,OAAK,IAAIr0B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGu1C,iBAAiB,CAACj7D,MAAtC,EAA8C0lB,CAAC,EAA/C,EAAmD;AAC/Cu1C,IAAAA,iBAAiB,CAACv1C,CAAD,CAAjB,CAAqBq0B,eAArB,CAAqC,IAArC;AACH;;AACD,MAAIwH,QAAQ,KAAK,QAAjB,EAA2B;AACvB2Z,IAAAA,kBAAkB,CAACvvC,IAAD,EAAOovC,KAAP,CAAlB;AACH,GAFD,MAGK,IAAIxZ,QAAQ,KAAK,OAAb,IAAwBA,QAAQ,KAAK,QAArC,IAAiDA,QAAQ,KAAK,UAAlE,EAA8E;AAC/E4Z,IAAAA,iBAAiB,CAACxvC,IAAD,EAAOovC,KAAP,CAAjB;AACH;;AACDK,EAAAA,YAAY,CAAC,QAAD,EAAWzvC,IAAX,EAAiBovC,KAAjB,EAAwBG,kBAAxB,CAAZ;AACAE,EAAAA,YAAY,CAAC,yBAAD,EAA4BzvC,IAA5B,EAAkCovC,KAAlC,EAAyCI,iBAAzC,CAAZ;AACA,SAAOJ,KAAP;AACH;AACD;;;AACA,SAASK,YAAT,CAAsB79C,QAAtB,EAAgCoO,IAAhC,EAAsCovC,KAAtC,EAA6Cl4C,QAA7C,EAAuD;AACnD,QAAMw4C,kBAAkB,GAAG1vC,IAAI,CAAClG,gBAAL,CAAsBlI,QAAtB,CAA3B;;AACA,MAAI89C,kBAAkB,CAACr7D,MAAvB,EAA+B;AAC3B,UAAMs7D,aAAa,GAAGP,KAAK,CAACt1C,gBAAN,CAAuBlI,QAAvB,CAAtB;;AACA,SAAK,IAAImI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG21C,kBAAkB,CAACr7D,MAAvC,EAA+C0lB,CAAC,EAAhD,EAAoD;AAChD7C,MAAAA,QAAQ,CAACw4C,kBAAkB,CAAC31C,CAAD,CAAnB,EAAwB41C,aAAa,CAAC51C,CAAD,CAArC,CAAR;AACH;AACJ;AACJ,EACD;;;AACA,IAAI61C,aAAa,GAAG,CAApB;AACA;;AACA,SAASJ,iBAAT,CAA2B3E,MAA3B,EAAmCuE,KAAnC,EAA0C;AACtC;AACA,MAAIA,KAAK,CAAC92D,IAAN,KAAe,MAAnB,EAA2B;AACvB82D,IAAAA,KAAK,CAACryD,KAAN,GAAc8tD,MAAM,CAAC9tD,KAArB;AACH,GAJqC,CAKtC;AACA;AACA;;;AACA,MAAIqyD,KAAK,CAAC92D,IAAN,KAAe,OAAf,IAA0B82D,KAAK,CAAC3+C,IAApC,EAA0C;AACtC2+C,IAAAA,KAAK,CAAC3+C,IAAN,GAAc,aAAY2+C,KAAK,CAAC3+C,IAAK,IAAGm/C,aAAa,EAAG,EAAxD;AACH;AACJ;AACD;;;AACA,SAASL,kBAAT,CAA4B1E,MAA5B,EAAoCuE,KAApC,EAA2C;AACvC,QAAMnvC,OAAO,GAAGmvC,KAAK,CAAC90D,UAAN,CAAiB,IAAjB,CAAhB;;AACA,MAAI2lB,OAAJ,EAAa;AACT;AACA;AACA,QAAI;AACAA,MAAAA,OAAO,CAAC4vC,SAAR,CAAkBhF,MAAlB,EAA0B,CAA1B,EAA6B,CAA7B;AACH,KAFD,CAGA,OAAO9zD,EAAP,EAAW,CAAG;AACjB;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAM+4D,2BAA2B,gBAAGziB,sFAA+B,CAAC;AAAEoP,EAAAA,OAAO,EAAE;AAAX,CAAD,CAAnE;AACA;;AACA,MAAMsT,0BAA0B,gBAAG1iB,sFAA+B,CAAC;AAAEoP,EAAAA,OAAO,EAAE;AAAX,CAAD,CAAlE;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMuT,uBAAuB,GAAG,GAAhC;AACA;;AACA,MAAMC,uBAAuB,gBAAG,IAAIpuC,GAAJ,CAAQ,CACpC;AACA,UAFoC,CAAR,CAAhC;AAIA;AACA;AACA;;AACA,MAAMquC,OAAN,CAAc;AACVv5D,EAAAA,WAAW,CAAC2U,OAAD,EAAU6kD,OAAV,EAAmBzrD,SAAnB,EAA8ByyC,OAA9B,EAAuCiX,cAAvC,EAAuDgC,iBAAvD,EAA0E;AACjF,SAAKD,OAAL,GAAeA,OAAf;AACA,SAAKzrD,SAAL,GAAiBA,SAAjB;AACA,SAAKyyC,OAAL,GAAeA,OAAf;AACA,SAAKiX,cAAL,GAAsBA,cAAtB;AACA,SAAKgC,iBAAL,GAAyBA,iBAAzB;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,SAAKC,iBAAL,GAAyB;AAAEl9D,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KAAzB;AACA;;AACA,SAAKk9D,gBAAL,GAAwB;AAAEn9D,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KAAxB;AACA;AACR;AACA;AACA;;AACQ,SAAKm9D,mBAAL,GAA2B,KAA3B;AACA;;AACA,SAAKC,WAAL,GAAmB,IAAIjiE,yCAAJ,EAAnB;AACA;;AACA,SAAKkiE,wBAAL,GAAgChiE,oDAAhC;AACA;;AACA,SAAKiiE,sBAAL,GAA8BjiE,oDAA9B;AACA;;AACA,SAAKkiE,mBAAL,GAA2BliE,oDAA3B;AACA;;AACA,SAAKmiE,mBAAL,GAA2BniE,oDAA3B;AACA;;AACA,SAAKoiE,gBAAL,GAAwB,IAAxB;AACA;;AACA,SAAKC,0BAAL,GAAkC,IAAlC;AACA;;AACA,SAAKC,QAAL,GAAgB,EAAhB;AACA;;AACA,SAAKC,gBAAL,GAAwB,IAAInvC,GAAJ,EAAxB;AACA;;AACA,SAAKovC,UAAL,GAAkB,KAAlB;AACA;AACR;AACA;AACA;;AACQ,SAAKC,cAAL,GAAsB,CAAtB;AACA,SAAKzrD,SAAL,GAAiB,KAAjB;AACA;;AACA,SAAK0rD,aAAL,GAAqB,IAAI5iE,yCAAJ,EAArB;AACA;;AACA,SAAK6iE,OAAL,GAAe,IAAI7iE,yCAAJ,EAAf;AACA;;AACA,SAAK8iE,QAAL,GAAgB,IAAI9iE,yCAAJ,EAAhB;AACA;;AACA,SAAK+iE,KAAL,GAAa,IAAI/iE,yCAAJ,EAAb;AACA;;AACA,SAAKgjE,OAAL,GAAe,IAAIhjE,yCAAJ,EAAf;AACA;;AACA,SAAKijE,MAAL,GAAc,IAAIjjE,yCAAJ,EAAd;AACA;;AACA,SAAKkjE,OAAL,GAAe,IAAIljE,yCAAJ,EAAf;AACA;AACR;AACA;AACA;;AACQ,SAAKmjE,KAAL,GAAa,KAAKlB,WAAlB;AACA;;AACA,SAAKmB,YAAL,GAAqBlpD,KAAD,IAAW;AAC3B,WAAK0oD,aAAL,CAAmBn3D,IAAnB,GAD2B,CAE3B;;AACA,UAAI,KAAK+2D,QAAL,CAAc18D,MAAlB,EAA0B;AACtB,cAAMu9D,YAAY,GAAG,KAAKb,QAAL,CAAc/pC,IAAd,CAAmB6qC,MAAM,IAAI;AAC9C,gBAAM5nD,MAAM,GAAGqjC,sEAAe,CAAC7kC,KAAD,CAA9B;;AACA,iBAAO,CAAC,CAACwB,MAAF,KAAaA,MAAM,KAAK4nD,MAAX,IAAqBA,MAAM,CAAC94C,QAAP,CAAgB9O,MAAhB,CAAlC,CAAP;AACH,SAHoB,CAArB;;AAIA,YAAI2nD,YAAY,IAAI,CAAC,KAAKZ,gBAAL,CAAsB9uC,GAAtB,CAA0B0vC,YAA1B,CAAjB,IAA4D,CAAC,KAAKpsD,QAAtE,EAAgF;AAC5E,eAAKssD,uBAAL,CAA6BF,YAA7B,EAA2CnpD,KAA3C;AACH;AACJ,OARD,MASK,IAAI,CAAC,KAAKjD,QAAV,EAAoB;AACrB,aAAKssD,uBAAL,CAA6B,KAAKC,YAAlC,EAAgDtpD,KAAhD;AACH;AACJ,KAfD;AAgBA;;;AACA,SAAKupD,YAAL,GAAqBvpD,KAAD,IAAW;AAC3B,YAAMwpD,eAAe,GAAG,KAAKC,yBAAL,CAA+BzpD,KAA/B,CAAxB;;AACA,UAAI,CAAC,KAAK8nD,mBAAV,EAA+B;AAC3B,cAAM4B,SAAS,GAAG7/D,IAAI,CAACk5B,GAAL,CAASymC,eAAe,CAAC9+D,CAAhB,GAAoB,KAAKi/D,qBAAL,CAA2Bj/D,CAAxD,CAAlB;AACA,cAAMk/D,SAAS,GAAG//D,IAAI,CAACk5B,GAAL,CAASymC,eAAe,CAAC7+D,CAAhB,GAAoB,KAAKg/D,qBAAL,CAA2Bh/D,CAAxD,CAAlB;AACA,cAAMk/D,eAAe,GAAGH,SAAS,GAAGE,SAAZ,IAAyB,KAAKlC,OAAL,CAAaoC,kBAA9D,CAH2B,CAI3B;AACA;AACA;AACA;;AACA,YAAID,eAAJ,EAAqB;AACjB,gBAAME,cAAc,GAAGltB,IAAI,CAACC,GAAL,MAAc,KAAKktB,cAAL,GAAsB,KAAKC,kBAAL,CAAwBjqD,KAAxB,CAA3D;;AACA,gBAAMkqD,SAAS,GAAG,KAAKC,cAAvB;;AACA,cAAI,CAACJ,cAAL,EAAqB;AACjB,iBAAKK,gBAAL,CAAsBpqD,KAAtB;;AACA;AACH,WANgB,CAOjB;AACA;AACA;;;AACA,cAAI,CAACkqD,SAAD,IAAe,CAACA,SAAS,CAACG,UAAV,EAAD,IAA2B,CAACH,SAAS,CAACI,WAAV,EAA/C,EAAyE;AACrE;AACA;AACAtqD,YAAAA,KAAK,CAACG,cAAN;AACA,iBAAK2nD,mBAAL,GAA2B,IAA3B;;AACA,iBAAKpZ,OAAL,CAAa97C,GAAb,CAAiB,MAAM,KAAK23D,kBAAL,CAAwBvqD,KAAxB,CAAvB;AACH;AACJ;;AACD;AACH,OA7B0B,CA8B3B;;;AACA,UAAI,KAAKooD,gBAAT,EAA2B;AACvB;AACA;AACA,YAAI,CAAC,KAAKoC,YAAN,IAAuB,CAAC,KAAKA,YAAL,CAAkB14D,KAAnB,IAA4B,CAAC,KAAK04D,YAAL,CAAkBz4D,MAA1E,EAAmF;AAC/E,eAAKy4D,YAAL,GAAoB,CAAC,KAAKC,QAAL,IAAiB,KAAKnB,YAAvB,EAAqCvE,qBAArC,EAApB;AACH;AACJ,OArC0B,CAsC3B;AACA;AACA;;;AACA/kD,MAAAA,KAAK,CAACG,cAAN;;AACA,YAAMuqD,0BAA0B,GAAG,KAAKC,8BAAL,CAAoCnB,eAApC,CAAnC;;AACA,WAAKoB,SAAL,GAAiB,IAAjB;AACA,WAAKC,yBAAL,GAAiCrB,eAAjC;;AACA,WAAKsB,4BAAL,CAAkCJ,0BAAlC;;AACA,UAAI,KAAKP,cAAT,EAAyB;AACrB,aAAKY,0BAAL,CAAgCL,0BAAhC,EAA4DlB,eAA5D;AACH,OAFD,MAGK;AACD,cAAMwB,eAAe,GAAG,KAAKnD,gBAA7B;AACAmD,QAAAA,eAAe,CAACtgE,CAAhB,GACIggE,0BAA0B,CAAChgE,CAA3B,GAA+B,KAAKi/D,qBAAL,CAA2Bj/D,CAA1D,GAA8D,KAAKk9D,iBAAL,CAAuBl9D,CADzF;AAEAsgE,QAAAA,eAAe,CAACrgE,CAAhB,GACI+/D,0BAA0B,CAAC//D,CAA3B,GAA+B,KAAKg/D,qBAAL,CAA2Bh/D,CAA1D,GAA8D,KAAKi9D,iBAAL,CAAuBj9D,CADzF;;AAEA,aAAKsgE,0BAAL,CAAgCD,eAAe,CAACtgE,CAAhD,EAAmDsgE,eAAe,CAACrgE,CAAnE,EANC,CAOD;;;AACA,YAAI,OAAOugE,UAAP,KAAsB,WAAtB,IAAqC,KAAK5B,YAAL,YAA6B4B,UAAtE,EAAkF;AAC9E,gBAAMC,gBAAgB,GAAI,aAAYH,eAAe,CAACtgE,CAAE,IAAGsgE,eAAe,CAACrgE,CAAE,GAA7E;;AACA,eAAK2+D,YAAL,CAAkB1pD,YAAlB,CAA+B,WAA/B,EAA4CurD,gBAA5C;AACH;AACJ,OA7D0B,CA8D3B;AACA;AACA;;;AACA,UAAI,KAAKpD,WAAL,CAAiBqD,SAAjB,CAA2Bx/D,MAA/B,EAAuC;AACnC,aAAK8iD,OAAL,CAAa97C,GAAb,CAAiB,MAAM;AACnB,eAAKm1D,WAAL,CAAiBx2D,IAAjB,CAAsB;AAClB6wD,YAAAA,MAAM,EAAE,IADU;AAElBoH,YAAAA,eAAe,EAAEkB,0BAFC;AAGlB1qD,YAAAA,KAHkB;AAIlBqrD,YAAAA,QAAQ,EAAE,KAAKC,gBAAL,CAAsBZ,0BAAtB,CAJQ;AAKlB/e,YAAAA,KAAK,EAAE,KAAK4f;AALM,WAAtB;AAOH,SARD;AASH;AACJ,KA5ED;AA6EA;;;AACA,SAAKC,UAAL,GAAmBxrD,KAAD,IAAW;AACzB,WAAKoqD,gBAAL,CAAsBpqD,KAAtB;AACH,KAFD;;AAGA,SAAKyrD,eAAL,CAAqB5oD,OAArB,EAA8B6oD,UAA9B,CAAyChE,OAAO,CAACiE,aAAR,IAAyB,IAAlE;AACA,SAAKC,gBAAL,GAAwB,IAAIlG,qBAAJ,CAA0BzpD,SAA1B,EAAqC0pD,cAArC,CAAxB;;AACAgC,IAAAA,iBAAiB,CAACkE,gBAAlB,CAAmC,IAAnC;AACH;AACD;;;AACY,MAAR9uD,QAAQ,GAAG;AACX,WAAO,KAAKC,SAAL,IAAkB,CAAC,EAAE,KAAKmtD,cAAL,IAAuB,KAAKA,cAAL,CAAoBptD,QAA7C,CAA1B;AACH;;AACW,MAARA,QAAQ,CAACzI,KAAD,EAAQ;AAChB,UAAM6I,QAAQ,GAAG3W,4EAAqB,CAAC8N,KAAD,CAAtC;;AACA,QAAI6I,QAAQ,KAAK,KAAKH,SAAtB,EAAiC;AAC7B,WAAKA,SAAL,GAAiBG,QAAjB;;AACA,WAAK2uD,6BAAL;;AACA,WAAKxD,QAAL,CAAch+C,OAAd,CAAsB8+C,MAAM,IAAI1F,4BAA4B,CAAC0F,MAAD,EAASjsD,QAAT,CAA5D;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACI4uD,EAAAA,qBAAqB,GAAG;AACpB,WAAO,KAAKC,YAAZ;AACH;AACD;;;AACAC,EAAAA,cAAc,GAAG;AACb,WAAO,KAAK3C,YAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACI4C,EAAAA,iBAAiB,GAAG;AAChB,WAAO,KAAK7B,UAAL,KAAoB,KAAK0B,qBAAL,EAApB,GAAmD,KAAKE,cAAL,EAA1D;AACH;AACD;;;AACAE,EAAAA,WAAW,CAACC,OAAD,EAAU;AACjB,SAAK9D,QAAL,GAAgB8D,OAAO,CAACp9C,GAAR,CAAYo6C,MAAM,IAAI5kB,oEAAa,CAAC4kB,MAAD,CAAnC,CAAhB;;AACA,SAAKd,QAAL,CAAch+C,OAAd,CAAsB8+C,MAAM,IAAI1F,4BAA4B,CAAC0F,MAAD,EAAS,KAAKrsD,QAAd,CAA5D;;AACA,SAAK+uD,6BAAL,GAHiB,CAIjB;AACA;AACA;AACA;;;AACA,UAAMO,eAAe,GAAG,IAAIjzC,GAAJ,EAAxB;;AACA,SAAKmvC,gBAAL,CAAsBj+C,OAAtB,CAA8B8+C,MAAM,IAAI;AACpC,UAAI,KAAKd,QAAL,CAAc94C,OAAd,CAAsB45C,MAAtB,IAAgC,CAAC,CAArC,EAAwC;AACpCiD,QAAAA,eAAe,CAAC7wC,GAAhB,CAAoB4tC,MAApB;AACH;AACJ,KAJD;;AAKA,SAAKb,gBAAL,GAAwB8D,eAAxB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIC,EAAAA,mBAAmB,CAACj8D,QAAD,EAAW;AAC1B,SAAKk8D,gBAAL,GAAwBl8D,QAAxB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIm8D,EAAAA,uBAAuB,CAACn8D,QAAD,EAAW;AAC9B,SAAKo8D,oBAAL,GAA4Bp8D,QAA5B;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIo7D,EAAAA,eAAe,CAACvrC,WAAD,EAAc;AACzB,UAAMrd,OAAO,GAAG2hC,oEAAa,CAACtkB,WAAD,CAA7B;;AACA,QAAIrd,OAAO,KAAK,KAAKymD,YAArB,EAAmC;AAC/B,UAAI,KAAKA,YAAT,EAAuB;AACnB,aAAKoD,2BAAL,CAAiC,KAAKpD,YAAtC;AACH;;AACD,WAAK5a,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACjCqQ,QAAAA,OAAO,CAACpQ,gBAAR,CAAyB,WAAzB,EAAsC,KAAKy2D,YAA3C,EAAyD5B,0BAAzD;AACAzkD,QAAAA,OAAO,CAACpQ,gBAAR,CAAyB,YAAzB,EAAuC,KAAKy2D,YAA5C,EAA0D7B,2BAA1D;AACH,OAHD;;AAIA,WAAKsF,iBAAL,GAAyB1vD,SAAzB;AACA,WAAKqsD,YAAL,GAAoBzmD,OAApB;AACH;;AACD,QAAI,OAAOqoD,UAAP,KAAsB,WAAtB,IAAqC,KAAK5B,YAAL,YAA6B4B,UAAtE,EAAkF;AAC9E,WAAK0B,gBAAL,GAAwB,KAAKtD,YAAL,CAAkBuD,eAA1C;AACH;;AACD,WAAO,IAAP;AACH;AACD;AACJ;AACA;;;AACIC,EAAAA,mBAAmB,CAACC,eAAD,EAAkB;AACjC,SAAK3E,gBAAL,GAAwB2E,eAAe,GAAGvoB,oEAAa,CAACuoB,eAAD,CAAhB,GAAoC,IAA3E;;AACA,SAAK5E,mBAAL,CAAyBzqD,WAAzB;;AACA,QAAIqvD,eAAJ,EAAqB;AACjB,WAAK5E,mBAAL,GAA2B,KAAKxC,cAAL,CACtBzc,MADsB,CACf,EADe,EAEtB/0C,SAFsB,CAEZ,MAAM,KAAK64D,8BAAL,EAFM,CAA3B;AAGH;;AACD,WAAO,IAAP;AACH;AACD;;;AACAtB,EAAAA,UAAU,CAACn7B,MAAD,EAAS;AACf,SAAK08B,cAAL,GAAsB18B,MAAtB;AACA,WAAO,IAAP;AACH;AACD;;;AACA3yB,EAAAA,OAAO,GAAG;AACN,SAAK8uD,2BAAL,CAAiC,KAAKpD,YAAtC,EADM,CAEN;AACA;;;AACA,QAAI,KAAKe,UAAL,EAAJ,EAAuB;AACnB;AACA;AACAr6B,MAAAA,UAAU,CAAC,KAAKs5B,YAAN,CAAV;AACH;;AACDt5B,IAAAA,UAAU,CAAC,KAAKk9B,OAAN,CAAV;;AACA,SAAKC,eAAL;;AACA,SAAKC,mBAAL;;AACA,SAAKzF,iBAAL,CAAuB0F,cAAvB,CAAsC,IAAtC;;AACA,SAAKC,oBAAL;;AACA,SAAK5E,aAAL,CAAmBl3D,QAAnB;AACA,SAAKm3D,OAAL,CAAan3D,QAAb;AACA,SAAKo3D,QAAL,CAAcp3D,QAAd;AACA,SAAKq3D,KAAL,CAAWr3D,QAAX;AACA,SAAKs3D,OAAL,CAAat3D,QAAb;AACA,SAAKu3D,MAAL,CAAYv3D,QAAZ;AACA,SAAKw3D,OAAL,CAAax3D,QAAb;;AACA,SAAKu2D,WAAL,CAAiBv2D,QAAjB;;AACA,SAAK82D,QAAL,GAAgB,EAAhB;;AACA,SAAKC,gBAAL,CAAsB5oC,KAAtB;;AACA,SAAKwqC,cAAL,GAAsBltD,SAAtB;;AACA,SAAKkrD,mBAAL,CAAyBzqD,WAAzB;;AACA,SAAKkuD,gBAAL,CAAsBjsC,KAAtB;;AACA,SAAKyoC,gBAAL,GAAwB,KAAKkB,YAAL,GAAoB,KAAKsD,gBAAL,GAAwB,KAAKH,oBAAL,GAChE,KAAKF,gBAAL,GAAwB,KAAKW,OAAL,GAAe,KAAKD,cAAL,GAAsB,IADjE;AAEH;AACD;;;AACA5C,EAAAA,UAAU,GAAG;AACT,WAAO,KAAKvC,mBAAL,IAA4B,KAAKH,iBAAL,CAAuB0C,UAAvB,CAAkC,IAAlC,CAAnC;AACH;AACD;;;AACAj/C,EAAAA,KAAK,GAAG;AACJ,SAAKk+C,YAAL,CAAkB9gD,KAAlB,CAAwB07C,SAAxB,GAAoC,KAAKyI,iBAAL,IAA0B,EAA9D;AACA,SAAK9E,gBAAL,GAAwB;AAAEn9D,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KAAxB;AACA,SAAKi9D,iBAAL,GAAyB;AAAEl9D,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KAAzB;AACH;AACD;AACJ;AACA;AACA;;;AACI4iE,EAAAA,aAAa,CAACnE,MAAD,EAAS;AAClB,QAAI,CAAC,KAAKb,gBAAL,CAAsB9uC,GAAtB,CAA0B2vC,MAA1B,CAAD,IAAsC,KAAKd,QAAL,CAAc94C,OAAd,CAAsB45C,MAAtB,IAAgC,CAAC,CAA3E,EAA8E;AAC1E,WAAKb,gBAAL,CAAsB/sC,GAAtB,CAA0B4tC,MAA1B;;AACA1F,MAAAA,4BAA4B,CAAC0F,MAAD,EAAS,IAAT,CAA5B;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACIoE,EAAAA,YAAY,CAACpE,MAAD,EAAS;AACjB,QAAI,KAAKb,gBAAL,CAAsB9uC,GAAtB,CAA0B2vC,MAA1B,CAAJ,EAAuC;AACnC,WAAKb,gBAAL,CAAsB/oC,MAAtB,CAA6B4pC,MAA7B;;AACA1F,MAAAA,4BAA4B,CAAC0F,MAAD,EAAS,KAAKrsD,QAAd,CAA5B;AACH;AACJ;AACD;;;AACA0wD,EAAAA,aAAa,CAAClvD,SAAD,EAAY;AACrB,SAAKiqD,UAAL,GAAkBjqD,SAAlB;AACA,WAAO,IAAP;AACH;AACD;;;AACAmvD,EAAAA,kBAAkB,CAACxD,SAAD,EAAY;AAC1B,SAAKC,cAAL,GAAsBD,SAAtB;AACH;AACD;AACJ;AACA;;;AACIyD,EAAAA,mBAAmB,GAAG;AAClB,UAAMltD,QAAQ,GAAG,KAAK4pD,UAAL,KAAoB,KAAKxC,gBAAzB,GAA4C,KAAKD,iBAAlE;AACA,WAAO;AAAEl9D,MAAAA,CAAC,EAAE+V,QAAQ,CAAC/V,CAAd;AAAiBC,MAAAA,CAAC,EAAE8V,QAAQ,CAAC9V;AAA7B,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIijE,EAAAA,mBAAmB,CAACt5D,KAAD,EAAQ;AACvB,SAAKuzD,gBAAL,GAAwB;AAAEn9D,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KAAxB;AACA,SAAKi9D,iBAAL,CAAuBl9D,CAAvB,GAA2B4J,KAAK,CAAC5J,CAAjC;AACA,SAAKk9D,iBAAL,CAAuBj9D,CAAvB,GAA2B2J,KAAK,CAAC3J,CAAjC;;AACA,QAAI,CAAC,KAAKw/D,cAAV,EAA0B;AACtB,WAAKc,0BAAL,CAAgC32D,KAAK,CAAC5J,CAAtC,EAAyC4J,KAAK,CAAC3J,CAA/C;AACH;;AACD,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIkjE,EAAAA,oBAAoB,CAACv5D,KAAD,EAAQ;AACxB,SAAKw5D,iBAAL,GAAyBx5D,KAAzB;AACA,WAAO,IAAP;AACH;AACD;;;AACAy5D,EAAAA,4BAA4B,GAAG;AAC3B,UAAMttD,QAAQ,GAAG,KAAKoqD,yBAAtB;;AACA,QAAIpqD,QAAQ,IAAI,KAAK0pD,cAArB,EAAqC;AACjC,WAAKY,0BAAL,CAAgC,KAAKJ,8BAAL,CAAoClqD,QAApC,CAAhC,EAA+EA,QAA/E;AACH;AACJ;AACD;;;AACA6sD,EAAAA,oBAAoB,GAAG;AACnB,SAAKtF,wBAAL,CAA8BtqD,WAA9B;;AACA,SAAKuqD,sBAAL,CAA4BvqD,WAA5B;;AACA,SAAKwqD,mBAAL,CAAyBxqD,WAAzB;AACH;AACD;;;AACAyvD,EAAAA,eAAe,GAAG;AACd,QAAI,KAAK1C,QAAT,EAAmB;AACfz6B,MAAAA,UAAU,CAAC,KAAKy6B,QAAN,CAAV;AACH;;AACD,QAAI,KAAKuD,WAAT,EAAsB;AAClB,WAAKA,WAAL,CAAiB7iD,OAAjB;AACH;;AACD,SAAKs/C,QAAL,GAAgB,KAAKuD,WAAL,GAAmB,IAAnC;AACH;AACD;;;AACAZ,EAAAA,mBAAmB,GAAG;AAClB,QAAI,KAAKpB,YAAT,EAAuB;AACnBh8B,MAAAA,UAAU,CAAC,KAAKg8B,YAAN,CAAV;AACH;;AACD,QAAI,KAAKiC,eAAT,EAA0B;AACtB,WAAKA,eAAL,CAAqB9iD,OAArB;AACH;;AACD,SAAK6gD,YAAL,GAAoB,KAAKiC,eAAL,GAAuB,IAA3C;AACH;AACD;AACJ;AACA;AACA;;;AACI7D,EAAAA,gBAAgB,CAACpqD,KAAD,EAAQ;AACpB;AACA;AACA;AACA;AACA,QAAI,CAAC,KAAK2nD,iBAAL,CAAuB0C,UAAvB,CAAkC,IAAlC,CAAL,EAA8C;AAC1C;AACH;;AACD,SAAKiD,oBAAL;;AACA,SAAK3F,iBAAL,CAAuBuG,YAAvB,CAAoC,IAApC;;AACA,SAAKpC,6BAAL;;AACA,QAAI,KAAKxD,QAAT,EAAmB;AACf,WAAKgB,YAAL,CAAkB9gD,KAAlB,CAAwB2lD,uBAAxB,GAAkD,KAAKC,wBAAvD;AACH;;AACD,QAAI,CAAC,KAAKtG,mBAAV,EAA+B;AAC3B;AACH;;AACD,SAAKc,QAAL,CAAcr3D,IAAd,CAAmB;AAAE6wD,MAAAA,MAAM,EAAE;AAAV,KAAnB;;AACA,QAAI,KAAK+H,cAAT,EAAyB;AACrB;AACA,WAAKA,cAAL,CAAoBkE,cAApB;;AACA,WAAKC,4BAAL,GAAoC7kD,IAApC,CAAyC,MAAM;AAC3C,aAAK8kD,qBAAL,CAA2BvuD,KAA3B;;AACA,aAAKwuD,wBAAL;;AACA,aAAK7G,iBAAL,CAAuBuG,YAAvB,CAAoC,IAApC;AACH,OAJD;AAKH,KARD,MASK;AACD;AACA;AACA;AACA,WAAKtG,iBAAL,CAAuBl9D,CAAvB,GAA2B,KAAKm9D,gBAAL,CAAsBn9D,CAAjD;;AACA,YAAM8+D,eAAe,GAAG,KAAKC,yBAAL,CAA+BzpD,KAA/B,CAAxB;;AACA,WAAK4nD,iBAAL,CAAuBj9D,CAAvB,GAA2B,KAAKk9D,gBAAL,CAAsBl9D,CAAjD;;AACA,WAAK+jD,OAAL,CAAa97C,GAAb,CAAiB,MAAM;AACnB,aAAKi2D,KAAL,CAAWt3D,IAAX,CAAgB;AACZ6wD,UAAAA,MAAM,EAAE,IADI;AAEZiJ,UAAAA,QAAQ,EAAE,KAAKC,gBAAL,CAAsB9B,eAAtB,CAFE;AAGZiF,UAAAA,SAAS,EAAEjF;AAHC,SAAhB;AAKH,OAND;;AAOA,WAAKgF,wBAAL;;AACA,WAAK7G,iBAAL,CAAuBuG,YAAvB,CAAoC,IAApC;AACH;AACJ;AACD;;;AACA3D,EAAAA,kBAAkB,CAACvqD,KAAD,EAAQ;AACtB,QAAI0uD,YAAY,CAAC1uD,KAAD,CAAhB,EAAyB;AACrB,WAAK2uD,mBAAL,GAA2B9xB,IAAI,CAACC,GAAL,EAA3B;AACH;;AACD,SAAKgvB,6BAAL;;AACA,UAAM8C,aAAa,GAAG,KAAKzE,cAA3B;;AACA,QAAIyE,aAAJ,EAAmB;AACf,YAAM/rD,OAAO,GAAG,KAAKymD,YAArB;AACA,YAAM/4B,MAAM,GAAG1tB,OAAO,CAAC2N,UAAvB;;AACA,YAAMq+C,WAAW,GAAG,KAAK7C,YAAL,GAAoB,KAAK8C,yBAAL,EAAxC;;AACA,YAAMte,MAAM,GAAG,KAAK0c,OAAL,GAAe,KAAKA,OAAL,IAAgB,KAAKjxD,SAAL,CAAe8yD,aAAf,CAA6B,EAA7B,CAA9C,CAJe,CAKf;;;AACA,YAAMC,UAAU,GAAG,KAAKlqB,cAAL,EAAnB,CANe,CAOf;;;AACAvU,MAAAA,MAAM,CAACoC,YAAP,CAAoB6d,MAApB,EAA4B3tC,OAA5B,EARe,CASf;AACA;;AACA,WAAK8pD,iBAAL,GAAyB9pD,OAAO,CAAC2F,KAAR,CAAc07C,SAAd,IAA2B,EAApD,CAXe,CAYf;AACA;;AACA,WAAKuG,QAAL,GAAgB,KAAKwE,qBAAL,EAAhB,CAde,CAef;AACA;AACA;;AACApL,MAAAA,gBAAgB,CAAChhD,OAAD,EAAU,KAAV,EAAiB2kD,uBAAjB,CAAhB;;AACA,WAAKvrD,SAAL,CAAegW,IAAf,CAAoBiuB,WAApB,CAAgC3P,MAAM,CAAC2+B,YAAP,CAAoBL,WAApB,EAAiChsD,OAAjC,CAAhC;;AACA,WAAKssD,yBAAL,CAA+B5+B,MAA/B,EAAuCy+B,UAAvC,EAAmD9uB,WAAnD,CAA+D,KAAKuqB,QAApE;;AACA,WAAK9B,OAAL,CAAap3D,IAAb,CAAkB;AAAE6wD,QAAAA,MAAM,EAAE;AAAV,OAAlB,EArBe,CAqBsB;;AACrCwM,MAAAA,aAAa,CAAC1nC,KAAd;AACA,WAAKkoC,iBAAL,GAAyBR,aAAzB;AACA,WAAKS,aAAL,GAAqBT,aAAa,CAACU,YAAd,CAA2B,IAA3B,CAArB;AACH,KAzBD,MA0BK;AACD,WAAK3G,OAAL,CAAap3D,IAAb,CAAkB;AAAE6wD,QAAAA,MAAM,EAAE;AAAV,OAAlB;AACA,WAAKgN,iBAAL,GAAyB,KAAKC,aAAL,GAAqBpyD,SAA9C;AACH,KAnCqB,CAoCtB;AACA;;;AACA,SAAK2uD,gBAAL,CAAsB/F,KAAtB,CAA4B+I,aAAa,GAAGA,aAAa,CAACW,oBAAd,EAAH,GAA0C,EAAnF;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIlG,EAAAA,uBAAuB,CAACmG,gBAAD,EAAmBxvD,KAAnB,EAA0B;AAC7C;AACA;AACA,QAAI,KAAKitD,cAAT,EAAyB;AACrBjtD,MAAAA,KAAK,CAACiF,eAAN;AACH;;AACD,UAAMolD,UAAU,GAAG,KAAKA,UAAL,EAAnB;AACA,UAAMoF,eAAe,GAAGf,YAAY,CAAC1uD,KAAD,CAApC;AACA,UAAM0vD,sBAAsB,GAAG,CAACD,eAAD,IAAoBzvD,KAAK,CAAC2vD,MAAN,KAAiB,CAApE;AACA,UAAMzvC,WAAW,GAAG,KAAKopC,YAAzB;;AACA,UAAM9nD,MAAM,GAAGqjC,sEAAe,CAAC7kC,KAAD,CAA9B;;AACA,UAAM4vD,gBAAgB,GAAG,CAACH,eAAD,IAAoB,KAAKd,mBAAzB,IACrB,KAAKA,mBAAL,GAA2BpH,uBAA3B,GAAqD1qB,IAAI,CAACC,GAAL,EADzD;AAEA,UAAM+yB,WAAW,GAAGJ,eAAe,GAAGrc,mFAAgC,CAACpzC,KAAD,CAAnC,GAC/BmzC,kFAA+B,CAACnzC,KAAD,CADnC,CAb6C,CAe7C;AACA;AACA;AACA;AACA;AACA;;AACA,QAAIwB,MAAM,IAAIA,MAAM,CAACsuD,SAAjB,IAA8B9vD,KAAK,CAACnQ,IAAN,KAAe,WAAjD,EAA8D;AAC1DmQ,MAAAA,KAAK,CAACG,cAAN;AACH,KAvB4C,CAwB7C;;;AACA,QAAIkqD,UAAU,IAAIqF,sBAAd,IAAwCE,gBAAxC,IAA4DC,WAAhE,EAA6E;AACzE;AACH,KA3B4C,CA4B7C;AACA;AACA;;;AACA,QAAI,KAAKvH,QAAL,CAAc18D,MAAlB,EAA0B;AACtB,WAAKwiE,wBAAL,GAAgCluC,WAAW,CAAC1X,KAAZ,CAAkB2lD,uBAAlB,IAA6C,EAA7E;AACAjuC,MAAAA,WAAW,CAAC1X,KAAZ,CAAkB2lD,uBAAlB,GAA4C,aAA5C;AACH;;AACD,SAAKrG,mBAAL,GAA2B,KAAK8C,SAAL,GAAiB,KAA5C,CAnC6C,CAoC7C;AACA;;AACA,SAAK0C,oBAAL;;AACA,SAAKtF,wBAAL,GAAgC,KAAKL,iBAAL,CAAuBoI,WAAvB,CAAmC57D,SAAnC,CAA6C,KAAKo1D,YAAlD,CAAhC;AACA,SAAKtB,sBAAL,GAA8B,KAAKN,iBAAL,CAAuBqI,SAAvB,CAAiC77D,SAAjC,CAA2C,KAAKq3D,UAAhD,CAA9B;AACA,SAAKtD,mBAAL,GAA2B,KAAKP,iBAAL,CACtBsI,QADsB,CACb,KAAKnrB,cAAL,EADa,EAEtB3wC,SAFsB,CAEZ+7D,WAAW,IAAI,KAAKC,eAAL,CAAqBD,WAArB,CAFH,CAA3B;;AAGA,QAAI,KAAK9H,gBAAT,EAA2B;AACvB,WAAKgI,aAAL,GAAqBvL,oBAAoB,CAAC,KAAKuD,gBAAN,CAAzC;AACH,KA9C4C,CA+C7C;AACA;AACA;;;AACA,UAAMiI,eAAe,GAAG,KAAK9D,gBAA7B;AACA,SAAK+D,wBAAL,GAAgCD,eAAe,IAAIA,eAAe,CAAChgE,QAAnC,IAC5B,CAACggE,eAAe,CAACE,SADW,GACC;AAAE7lE,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KADD,GAE5B,KAAK6lE,4BAAL,CAAkChB,gBAAlC,EAAoDxvD,KAApD,CAFJ;;AAGA,UAAMwpD,eAAe,GAAG,KAAKG,qBAAL,GAA6B,KAAKkB,yBAAL,GACjD,KAAKpB,yBAAL,CAA+BzpD,KAA/B,CADJ;;AAEA,SAAKurD,sBAAL,GAA8B;AAAE7gE,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KAA9B;AACA,SAAK8lE,qCAAL,GAA6C;AAAE/lE,MAAAA,CAAC,EAAE8+D,eAAe,CAAC9+D,CAArB;AAAwBC,MAAAA,CAAC,EAAE6+D,eAAe,CAAC7+D;AAA3C,KAA7C;AACA,SAAKq/D,cAAL,GAAsBntB,IAAI,CAACC,GAAL,EAAtB;;AACA,SAAK6qB,iBAAL,CAAuB+I,aAAvB,CAAqC,IAArC,EAA2C1wD,KAA3C;AACH;AACD;;;AACAuuD,EAAAA,qBAAqB,CAACvuD,KAAD,EAAQ;AACzB;AACA;AACA;AACA;AACA6jD,IAAAA,gBAAgB,CAAC,KAAKyF,YAAN,EAAoB,IAApB,EAA0B9B,uBAA1B,CAAhB;;AACA,SAAK0F,OAAL,CAAa18C,UAAb,CAAwB0+C,YAAxB,CAAqC,KAAK5F,YAA1C,EAAwD,KAAK4D,OAA7D;;AACA,SAAKC,eAAL;;AACA,SAAKC,mBAAL;;AACA,SAAKgD,aAAL,GAAqB,KAAK5F,YAAL,GAAoB,KAAKmC,iBAAL,GAAyB1vD,SAAlE,CATyB,CAUzB;;AACA,SAAKyxC,OAAL,CAAa97C,GAAb,CAAiB,MAAM;AACnB,YAAMs3D,SAAS,GAAG,KAAKC,cAAvB;AACA,YAAMtK,YAAY,GAAGqK,SAAS,CAACoF,YAAV,CAAuB,IAAvB,CAArB;;AACA,YAAM9F,eAAe,GAAG,KAAKC,yBAAL,CAA+BzpD,KAA/B,CAAxB;;AACA,YAAMqrD,QAAQ,GAAG,KAAKC,gBAAL,CAAsB9B,eAAtB,CAAjB;;AACA,YAAMmH,sBAAsB,GAAGzG,SAAS,CAAC0G,gBAAV,CAA2BpH,eAAe,CAAC9+D,CAA3C,EAA8C8+D,eAAe,CAAC7+D,CAA9D,CAA/B;;AACA,WAAKk+D,KAAL,CAAWt3D,IAAX,CAAgB;AAAE6wD,QAAAA,MAAM,EAAE,IAAV;AAAgBiJ,QAAAA,QAAhB;AAA0BoD,QAAAA,SAAS,EAAEjF;AAArC,OAAhB;AACA,WAAKR,OAAL,CAAaz3D,IAAb,CAAkB;AACd8jB,QAAAA,IAAI,EAAE,IADQ;AAEdwqC,QAAAA,YAFc;AAGdG,QAAAA,aAAa,EAAE,KAAKqP,aAHN;AAIdnF,QAAAA,SAAS,EAAEA,SAJG;AAKd2G,QAAAA,iBAAiB,EAAE,KAAKzB,iBALV;AAMduB,QAAAA,sBANc;AAOdtF,QAAAA,QAPc;AAQdoD,QAAAA,SAAS,EAAEjF;AARG,OAAlB;AAUAU,MAAAA,SAAS,CAAC4G,IAAV,CAAe,IAAf,EAAqBjR,YAArB,EAAmC,KAAKwP,aAAxC,EAAuD,KAAKD,iBAA5D,EAA+EuB,sBAA/E,EAAuGtF,QAAvG,EAAiH7B,eAAjH;AACA,WAAKW,cAAL,GAAsB,KAAKiF,iBAA3B;AACH,KAnBD;AAoBH;AACD;AACJ;AACA;AACA;;;AACIrE,EAAAA,0BAA0B,CAAC;AAAErgE,IAAAA,CAAF;AAAKC,IAAAA;AAAL,GAAD,EAAW;AAAED,IAAAA,CAAC,EAAEqmE,IAAL;AAAWpmE,IAAAA,CAAC,EAAEqmE;AAAd,GAAX,EAAiC;AACvD;AACA,QAAIC,YAAY,GAAG,KAAK7B,iBAAL,CAAuB8B,gCAAvB,CAAwD,IAAxD,EAA8DxmE,CAA9D,EAAiEC,CAAjE,CAAnB,CAFuD,CAGvD;AACA;AACA;AACA;;;AACA,QAAI,CAACsmE,YAAD,IAAiB,KAAK9G,cAAL,KAAwB,KAAKiF,iBAA9C,IACA,KAAKA,iBAAL,CAAuBwB,gBAAvB,CAAwClmE,CAAxC,EAA2CC,CAA3C,CADJ,EACmD;AAC/CsmE,MAAAA,YAAY,GAAG,KAAK7B,iBAApB;AACH;;AACD,QAAI6B,YAAY,IAAIA,YAAY,KAAK,KAAK9G,cAA1C,EAA0D;AACtD,WAAKzb,OAAL,CAAa97C,GAAb,CAAiB,MAAM;AACnB;AACA,aAAKm2D,MAAL,CAAYx3D,IAAZ,CAAiB;AAAE8jB,UAAAA,IAAI,EAAE,IAAR;AAAc60C,UAAAA,SAAS,EAAE,KAAKC;AAA9B,SAAjB;;AACA,aAAKA,cAAL,CAAoBgH,IAApB,CAAyB,IAAzB,EAHmB,CAInB;;;AACA,aAAKhH,cAAL,GAAsB8G,YAAtB;;AACA,aAAK9G,cAAL,CAAoBiH,KAApB,CAA0B,IAA1B,EAAgC1mE,CAAhC,EAAmCC,CAAnC,EAAsCsmE,YAAY,KAAK,KAAK7B,iBAAtB,IAClC;AACA;AACA6B,QAAAA,YAAY,CAACI,eAHqB,GAGH,KAAKhC,aAHF,GAGkBpyD,SAHxD;;AAIA,aAAK6rD,OAAL,CAAav3D,IAAb,CAAkB;AACd8jB,UAAAA,IAAI,EAAE,IADQ;AAEd60C,UAAAA,SAAS,EAAE+G,YAFG;AAGdpR,UAAAA,YAAY,EAAEoR,YAAY,CAAC3B,YAAb,CAA0B,IAA1B;AAHA,SAAlB;AAKH,OAfD;AAgBH,KA5BsD,CA6BvD;;;AACA,QAAI,KAAKjF,UAAL,EAAJ,EAAuB;AACnB,WAAKF,cAAL,CAAoBmH,0BAApB,CAA+CP,IAA/C,EAAqDC,IAArD;;AACA,WAAK7G,cAAL,CAAoBoH,SAApB,CAA8B,IAA9B,EAAoC7mE,CAApC,EAAuCC,CAAvC,EAA0C,KAAK4gE,sBAA/C;;AACA,WAAKiG,sBAAL,CAA4B9mE,CAAC,GAAG,KAAK4lE,wBAAL,CAA8B5lE,CAA9D,EAAiEC,CAAC,GAAG,KAAK2lE,wBAAL,CAA8B3lE,CAAnG;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACIskE,EAAAA,qBAAqB,GAAG;AACpB,UAAMwC,aAAa,GAAG,KAAKlF,gBAA3B;AACA,UAAMmF,YAAY,GAAG,KAAKA,YAA1B;AACA,UAAMrB,eAAe,GAAGoB,aAAa,GAAGA,aAAa,CAACphE,QAAjB,GAA4B,IAAjE;AACA,QAAIshE,OAAJ;;AACA,QAAItB,eAAe,IAAIoB,aAAvB,EAAsC;AAClC;AACA;AACA,YAAMG,QAAQ,GAAGH,aAAa,CAAClB,SAAd,GAA0B,KAAKjH,YAAL,CAAkBvE,qBAAlB,EAA1B,GAAsE,IAAvF;AACA,YAAM8M,OAAO,GAAGJ,aAAa,CAACK,aAAd,CAA4B5R,kBAA5B,CAA+CmQ,eAA/C,EAAgEoB,aAAa,CAACj6C,OAA9E,CAAhB;AACAq6C,MAAAA,OAAO,CAACE,aAAR;AACAJ,MAAAA,OAAO,GAAGrxB,WAAW,CAACuxB,OAAD,EAAU,KAAK51D,SAAf,CAArB;AACA,WAAK+xD,WAAL,GAAmB6D,OAAnB;;AACA,UAAIJ,aAAa,CAAClB,SAAlB,EAA6B;AACzByB,QAAAA,gBAAgB,CAACL,OAAD,EAAUC,QAAV,CAAhB;AACH,OAFD,MAGK;AACDD,QAAAA,OAAO,CAACnpD,KAAR,CAAc07C,SAAd,GACI+N,YAAY,CAAC,KAAKtI,qBAAL,CAA2Bj/D,CAA5B,EAA+B,KAAKi/D,qBAAL,CAA2Bh/D,CAA1D,CADhB;AAEH;AACJ,KAfD,MAgBK;AACD,YAAMkY,OAAO,GAAG,KAAKymD,YAArB;AACAqI,MAAAA,OAAO,GAAGjL,aAAa,CAAC7jD,OAAD,CAAvB;AACAmvD,MAAAA,gBAAgB,CAACL,OAAD,EAAU9uD,OAAO,CAACkiD,qBAAR,EAAV,CAAhB;;AACA,UAAI,KAAK4H,iBAAT,EAA4B;AACxBgF,QAAAA,OAAO,CAACnpD,KAAR,CAAc07C,SAAd,GAA0B,KAAKyI,iBAA/B;AACH;AACJ;;AACDnJ,IAAAA,YAAY,CAACmO,OAAO,CAACnpD,KAAT,EAAgB;AACxB;AACA;AACA,wBAAkB,MAHM;AAIxB;AACA,gBAAU,GALc;AAMxB,kBAAY,OANY;AAOxB,aAAO,GAPiB;AAQxB,cAAQ,GARgB;AASxB,iBAAY,GAAE,KAAKk/C,OAAL,CAAawK,MAAb,IAAuB,IAAK;AATlB,KAAhB,EAUT1K,uBAVS,CAAZ;AAWA9D,IAAAA,4BAA4B,CAACiO,OAAD,EAAU,KAAV,CAA5B;AACAA,IAAAA,OAAO,CAACl4B,SAAR,CAAkBje,GAAlB,CAAsB,kBAAtB;AACAm2C,IAAAA,OAAO,CAAC/xD,YAAR,CAAqB,KAArB,EAA4B,KAAK4oD,UAAjC;;AACA,QAAIkJ,YAAJ,EAAkB;AACd,UAAI58C,KAAK,CAACC,OAAN,CAAc28C,YAAd,CAAJ,EAAiC;AAC7BA,QAAAA,YAAY,CAACpnD,OAAb,CAAqBmqB,SAAS,IAAIk9B,OAAO,CAACl4B,SAAR,CAAkBje,GAAlB,CAAsBiZ,SAAtB,CAAlC;AACH,OAFD,MAGK;AACDk9B,QAAAA,OAAO,CAACl4B,SAAR,CAAkBje,GAAlB,CAAsBk2C,YAAtB;AACH;AACJ;;AACD,WAAOC,OAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIrD,EAAAA,4BAA4B,GAAG;AAC3B;AACA,QAAI,CAAC,KAAK1D,SAAV,EAAqB;AACjB,aAAOrhD,OAAO,CAACC,OAAR,EAAP;AACH;;AACD,UAAM2oD,eAAe,GAAG,KAAKnG,YAAL,CAAkBjH,qBAAlB,EAAxB,CAL2B,CAM3B;;;AACA,SAAK0F,QAAL,CAAchxB,SAAd,CAAwBje,GAAxB,CAA4B,oBAA5B,EAP2B,CAQ3B;;;AACA,SAAKg2C,sBAAL,CAA4BW,eAAe,CAACnO,IAA5C,EAAkDmO,eAAe,CAACrO,GAAlE,EAT2B,CAU3B;AACA;AACA;AACA;;;AACA,UAAMn6C,QAAQ,GAAG26C,kCAAkC,CAAC,KAAKmG,QAAN,CAAnD;;AACA,QAAI9gD,QAAQ,KAAK,CAAjB,EAAoB;AAChB,aAAOJ,OAAO,CAACC,OAAR,EAAP;AACH;;AACD,WAAO,KAAKklC,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACxC,aAAO,IAAI+W,OAAJ,CAAYC,OAAO,IAAI;AAC1B,cAAM8tC,OAAO,GAAKt3C,KAAD,IAAW;AACxB,cAAI1R,EAAJ;;AACA,cAAI,CAAC0R,KAAD,IAAW6kC,sEAAe,CAAC7kC,KAAD,CAAf,KAA2B,KAAKyqD,QAAhC,IACXzqD,KAAK,CAACsnB,YAAN,KAAuB,WAD3B,EACyC;AACrC,aAACh5B,EAAE,GAAG,KAAKm8D,QAAX,MAAyB,IAAzB,IAAiCn8D,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAACwE,mBAAH,CAAuB,eAAvB,EAAwCwkD,OAAxC,CAA1D;AACA9tC,YAAAA,OAAO;AACPisC,YAAAA,YAAY,CAAC2c,OAAD,CAAZ;AACH;AACJ,SARD,CAD0B,CAU1B;AACA;AACA;;;AACA,cAAMA,OAAO,GAAG5xD,UAAU,CAAC82C,OAAD,EAAU3tC,QAAQ,GAAG,GAArB,CAA1B;;AACA,aAAK8gD,QAAL,CAAch4D,gBAAd,CAA+B,eAA/B,EAAgD6kD,OAAhD;AACH,OAfM,CAAP;AAgBH,KAjBM,CAAP;AAkBH;AACD;;;AACAwX,EAAAA,yBAAyB,GAAG;AACxB,UAAMuD,iBAAiB,GAAG,KAAK5F,oBAA/B;AACA,UAAM6F,mBAAmB,GAAGD,iBAAiB,GAAGA,iBAAiB,CAAChiE,QAArB,GAAgC,IAA7E;AACA,QAAIw+D,WAAJ;;AACA,QAAIyD,mBAAJ,EAAyB;AACrB,WAAKrE,eAAL,GAAuBoE,iBAAiB,CAACP,aAAlB,CAAgC5R,kBAAhC,CAAmDoS,mBAAnD,EAAwED,iBAAiB,CAAC76C,OAA1F,CAAvB;;AACA,WAAKy2C,eAAL,CAAqB8D,aAArB;;AACAlD,MAAAA,WAAW,GAAGvuB,WAAW,CAAC,KAAK2tB,eAAN,EAAuB,KAAKhyD,SAA5B,CAAzB;AACH,KAJD,MAKK;AACD4yD,MAAAA,WAAW,GAAGnI,aAAa,CAAC,KAAK4C,YAAN,CAA3B;AACH;;AACDuF,IAAAA,WAAW,CAACp1B,SAAZ,CAAsBje,GAAtB,CAA0B,sBAA1B;AACA,WAAOqzC,WAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI2B,EAAAA,4BAA4B,CAAChB,gBAAD,EAAmBxvD,KAAnB,EAA0B;AAClD,UAAMuyD,WAAW,GAAG,KAAKjJ,YAAL,CAAkBvE,qBAAlB,EAApB;;AACA,UAAMyN,aAAa,GAAGhD,gBAAgB,KAAK,KAAKlG,YAA1B,GAAyC,IAAzC,GAAgDkG,gBAAtE;AACA,UAAMiD,aAAa,GAAGD,aAAa,GAAGA,aAAa,CAACzN,qBAAd,EAAH,GAA2CwN,WAA9E;AACA,UAAMG,KAAK,GAAGhE,YAAY,CAAC1uD,KAAD,CAAZ,GAAsBA,KAAK,CAAC2yD,aAAN,CAAoB,CAApB,CAAtB,GAA+C3yD,KAA7D;;AACA,UAAM8lD,cAAc,GAAG,KAAK8M,0BAAL,EAAvB;;AACA,UAAMloE,CAAC,GAAGgoE,KAAK,CAACG,KAAN,GAAcJ,aAAa,CAACzO,IAA5B,GAAmC8B,cAAc,CAAC9B,IAA5D;AACA,UAAMr5D,CAAC,GAAG+nE,KAAK,CAACI,KAAN,GAAcL,aAAa,CAAC3O,GAA5B,GAAkCgC,cAAc,CAAChC,GAA3D;AACA,WAAO;AACHp5D,MAAAA,CAAC,EAAE+nE,aAAa,CAACzO,IAAd,GAAqBuO,WAAW,CAACvO,IAAjC,GAAwCt5D,CADxC;AAEHC,MAAAA,CAAC,EAAE8nE,aAAa,CAAC3O,GAAd,GAAoByO,WAAW,CAACzO,GAAhC,GAAsCn5D;AAFtC,KAAP;AAIH;AACD;;;AACA8+D,EAAAA,yBAAyB,CAACzpD,KAAD,EAAQ;AAC7B,UAAM8lD,cAAc,GAAG,KAAK8M,0BAAL,EAAvB;;AACA,UAAMF,KAAK,GAAGhE,YAAY,CAAC1uD,KAAD,CAAZ,GACV;AACA;AACA;AACA;AACA;AACA;AACA;AACCA,IAAAA,KAAK,CAACszC,OAAN,CAAc,CAAd,KAAoBtzC,KAAK,CAACuzC,cAAN,CAAqB,CAArB,CAApB,IAA+C;AAAEsf,MAAAA,KAAK,EAAE,CAAT;AAAYC,MAAAA,KAAK,EAAE;AAAnB,KARtC,GAQgE9yD,KAR9E;AASA,UAAMtV,CAAC,GAAGgoE,KAAK,CAACG,KAAN,GAAc/M,cAAc,CAAC9B,IAAvC;AACA,UAAMr5D,CAAC,GAAG+nE,KAAK,CAACI,KAAN,GAAchN,cAAc,CAAChC,GAAvC,CAZ6B,CAa7B;AACA;;AACA,QAAI,KAAK8I,gBAAT,EAA2B;AACvB,YAAMmG,SAAS,GAAG,KAAKnG,gBAAL,CAAsBoG,YAAtB,EAAlB;;AACA,UAAID,SAAJ,EAAe;AACX,cAAME,QAAQ,GAAG,KAAKrG,gBAAL,CAAsBsG,cAAtB,EAAjB;;AACAD,QAAAA,QAAQ,CAACvoE,CAAT,GAAaA,CAAb;AACAuoE,QAAAA,QAAQ,CAACtoE,CAAT,GAAaA,CAAb;AACA,eAAOsoE,QAAQ,CAACE,eAAT,CAAyBJ,SAAS,CAACK,OAAV,EAAzB,CAAP;AACH;AACJ;;AACD,WAAO;AAAE1oE,MAAAA,CAAF;AAAKC,MAAAA;AAAL,KAAP;AACH;AACD;;;AACAggE,EAAAA,8BAA8B,CAAC+H,KAAD,EAAQ;AAClC,UAAMW,iBAAiB,GAAG,KAAKlJ,cAAL,GAAsB,KAAKA,cAAL,CAAoBmJ,QAA1C,GAAqD,IAA/E;AACA,QAAI;AAAE5oE,MAAAA,CAAF;AAAKC,MAAAA;AAAL,QAAW,KAAK4oE,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBb,KAAvB,EAA8B,IAA9B,CAAzB,GAA+DA,KAA9E;;AACA,QAAI,KAAKY,QAAL,KAAkB,GAAlB,IAAyBD,iBAAiB,KAAK,GAAnD,EAAwD;AACpD1oE,MAAAA,CAAC,GAAG,KAAKg/D,qBAAL,CAA2Bh/D,CAA/B;AACH,KAFD,MAGK,IAAI,KAAK2oE,QAAL,KAAkB,GAAlB,IAAyBD,iBAAiB,KAAK,GAAnD,EAAwD;AACzD3oE,MAAAA,CAAC,GAAG,KAAKi/D,qBAAL,CAA2Bj/D,CAA/B;AACH;;AACD,QAAI,KAAK0lE,aAAT,EAAwB;AACpB,YAAM;AAAE1lE,QAAAA,CAAC,EAAE8oE,OAAL;AAAc7oE,QAAAA,CAAC,EAAE8oE;AAAjB,UAA6B,KAAKnD,wBAAxC;AACA,YAAMoD,YAAY,GAAG,KAAKtD,aAA1B;AACA,YAAMuD,WAAW,GAAG,KAAKnJ,YAAzB;AACA,YAAMoJ,IAAI,GAAGF,YAAY,CAAC5P,GAAb,GAAmB2P,OAAhC;AACA,YAAMI,IAAI,GAAGH,YAAY,CAACzO,MAAb,IAAuB0O,WAAW,CAAC5hE,MAAZ,GAAqB0hE,OAA5C,CAAb;AACA,YAAMK,IAAI,GAAGJ,YAAY,CAAC1P,IAAb,GAAoBwP,OAAjC;AACA,YAAMO,IAAI,GAAGL,YAAY,CAAC1O,KAAb,IAAsB2O,WAAW,CAAC7hE,KAAZ,GAAoB0hE,OAA1C,CAAb;AACA9oE,MAAAA,CAAC,GAAGspE,OAAO,CAACtpE,CAAD,EAAIopE,IAAJ,EAAUC,IAAV,CAAX;AACAppE,MAAAA,CAAC,GAAGqpE,OAAO,CAACrpE,CAAD,EAAIipE,IAAJ,EAAUC,IAAV,CAAX;AACH;;AACD,WAAO;AAAEnpE,MAAAA,CAAF;AAAKC,MAAAA;AAAL,KAAP;AACH;AACD;;;AACAmgE,EAAAA,4BAA4B,CAACmJ,qBAAD,EAAwB;AAChD,UAAM;AAAEvpE,MAAAA,CAAF;AAAKC,MAAAA;AAAL,QAAWspE,qBAAjB;AACA,UAAMtoB,KAAK,GAAG,KAAK4f,sBAAnB;AACA,UAAM2I,uBAAuB,GAAG,KAAKzD,qCAArC,CAHgD,CAIhD;;AACA,UAAM0D,OAAO,GAAGtqE,IAAI,CAACk5B,GAAL,CAASr4B,CAAC,GAAGwpE,uBAAuB,CAACxpE,CAArC,CAAhB;AACA,UAAM0pE,OAAO,GAAGvqE,IAAI,CAACk5B,GAAL,CAASp4B,CAAC,GAAGupE,uBAAuB,CAACvpE,CAArC,CAAhB,CANgD,CAOhD;AACA;AACA;AACA;;AACA,QAAIwpE,OAAO,GAAG,KAAKzM,OAAL,CAAa2M,+BAA3B,EAA4D;AACxD1oB,MAAAA,KAAK,CAACjhD,CAAN,GAAUA,CAAC,GAAGwpE,uBAAuB,CAACxpE,CAA5B,GAAgC,CAAhC,GAAoC,CAAC,CAA/C;AACAwpE,MAAAA,uBAAuB,CAACxpE,CAAxB,GAA4BA,CAA5B;AACH;;AACD,QAAI0pE,OAAO,GAAG,KAAK1M,OAAL,CAAa2M,+BAA3B,EAA4D;AACxD1oB,MAAAA,KAAK,CAAChhD,CAAN,GAAUA,CAAC,GAAGupE,uBAAuB,CAACvpE,CAA5B,GAAgC,CAAhC,GAAoC,CAAC,CAA/C;AACAupE,MAAAA,uBAAuB,CAACvpE,CAAxB,GAA4BA,CAA5B;AACH;;AACD,WAAOghD,KAAP;AACH;AACD;;;AACAmgB,EAAAA,6BAA6B,GAAG;AAC5B,QAAI,CAAC,KAAKxC,YAAN,IAAsB,CAAC,KAAKhB,QAAhC,EAA0C;AACtC;AACH;;AACD,UAAMgM,YAAY,GAAG,KAAKhM,QAAL,CAAc18D,MAAd,GAAuB,CAAvB,IAA4B,CAAC,KAAKy+D,UAAL,EAAlD;;AACA,QAAIiK,YAAY,KAAK,KAAKjM,0BAA1B,EAAsD;AAClD,WAAKA,0BAAL,GAAkCiM,YAAlC;AACA5Q,MAAAA,4BAA4B,CAAC,KAAK4F,YAAN,EAAoBgL,YAApB,CAA5B;AACH;AACJ;AACD;;;AACA5H,EAAAA,2BAA2B,CAAC7pD,OAAD,EAAU;AACjCA,IAAAA,OAAO,CAAC/P,mBAAR,CAA4B,WAA5B,EAAyC,KAAKo2D,YAA9C,EAA4D5B,0BAA5D;AACAzkD,IAAAA,OAAO,CAAC/P,mBAAR,CAA4B,YAA5B,EAA0C,KAAKo2D,YAA/C,EAA6D7B,2BAA7D;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI4D,EAAAA,0BAA0B,CAACvgE,CAAD,EAAIC,CAAJ,EAAO;AAC7B,UAAMu5D,SAAS,GAAG+N,YAAY,CAACvnE,CAAD,EAAIC,CAAJ,CAA9B,CAD6B,CAE7B;AACA;AACA;;AACA,QAAI,KAAKgiE,iBAAL,IAA0B,IAA9B,EAAoC;AAChC,WAAKA,iBAAL,GAAyB,KAAKrD,YAAL,CAAkB9gD,KAAlB,CAAwB07C,SAAxB,IAClB,KAAKoF,YAAL,CAAkB9gD,KAAlB,CAAwB07C,SAAxB,IAAqC,MADnB,GAEnB,KAAKoF,YAAL,CAAkB9gD,KAAlB,CAAwB07C,SAFL,GAGnB,EAHN;AAIH,KAV4B,CAW7B;AACA;AACA;;;AACA,SAAKoF,YAAL,CAAkB9gD,KAAlB,CAAwB07C,SAAxB,GAAoCD,iBAAiB,CAACC,SAAD,EAAY,KAAKyI,iBAAjB,CAArD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI6E,EAAAA,sBAAsB,CAAC9mE,CAAD,EAAIC,CAAJ,EAAO;AACzB,QAAI2D,EAAJ,CADyB,CAEzB;AACA;;;AACA,UAAM61D,gBAAgB,GAAG,CAAC,CAAC71D,EAAE,GAAG,KAAKi+D,gBAAX,MAAiC,IAAjC,IAAyCj+D,EAAE,KAAK,KAAK,CAArD,GAAyD,KAAK,CAA9D,GAAkEA,EAAE,CAAC+B,QAAtE,IAAkF4M,SAAlF,GAA8F,KAAK0vD,iBAA5H;AACA,UAAMzI,SAAS,GAAG+N,YAAY,CAACvnE,CAAD,EAAIC,CAAJ,CAA9B;AACA,SAAK8/D,QAAL,CAAcjiD,KAAd,CAAoB07C,SAApB,GAAgCD,iBAAiB,CAACC,SAAD,EAAYC,gBAAZ,CAAjD;AACH;AACD;AACJ;AACA;AACA;;;AACImH,EAAAA,gBAAgB,CAACiJ,eAAD,EAAkB;AAC9B,UAAMC,cAAc,GAAG,KAAK7K,qBAA5B;;AACA,QAAI6K,cAAJ,EAAoB;AAChB,aAAO;AAAE9pE,QAAAA,CAAC,EAAE6pE,eAAe,CAAC7pE,CAAhB,GAAoB8pE,cAAc,CAAC9pE,CAAxC;AAA2CC,QAAAA,CAAC,EAAE4pE,eAAe,CAAC5pE,CAAhB,GAAoB6pE,cAAc,CAAC7pE;AAAjF,OAAP;AACH;;AACD,WAAO;AAAED,MAAAA,CAAC,EAAE,CAAL;AAAQC,MAAAA,CAAC,EAAE;AAAX,KAAP;AACH;AACD;;;AACA6jE,EAAAA,wBAAwB,GAAG;AACvB,SAAK4B,aAAL,GAAqB,KAAK5F,YAAL,GAAoBvtD,SAAzC;;AACA,SAAK2uD,gBAAL,CAAsBjsC,KAAtB;AACH;AACD;AACJ;AACA;AACA;;;AACIqtC,EAAAA,8BAA8B,GAAG;AAC7B,QAAI;AAAEtiE,MAAAA,CAAF;AAAKC,MAAAA;AAAL,QAAW,KAAKi9D,iBAApB;;AACA,QAAKl9D,CAAC,KAAK,CAAN,IAAWC,CAAC,KAAK,CAAlB,IAAwB,KAAK0/D,UAAL,EAAxB,IAA6C,CAAC,KAAKjC,gBAAvD,EAAyE;AACrE;AACH;;AACD,UAAMsL,YAAY,GAAG,KAAKtL,gBAAL,CAAsBrD,qBAAtB,EAArB;;AACA,UAAMwN,WAAW,GAAG,KAAKjJ,YAAL,CAAkBvE,qBAAlB,EAApB,CAN6B,CAO7B;AACA;;;AACA,QAAK2O,YAAY,CAAC5hE,KAAb,KAAuB,CAAvB,IAA4B4hE,YAAY,CAAC3hE,MAAb,KAAwB,CAArD,IACCwgE,WAAW,CAACzgE,KAAZ,KAAsB,CAAtB,IAA2BygE,WAAW,CAACxgE,MAAZ,KAAuB,CADvD,EAC2D;AACvD;AACH;;AACD,UAAM0iE,YAAY,GAAGf,YAAY,CAAC1P,IAAb,GAAoBuO,WAAW,CAACvO,IAArD;AACA,UAAM0Q,aAAa,GAAGnC,WAAW,CAACvN,KAAZ,GAAoB0O,YAAY,CAAC1O,KAAvD;AACA,UAAM2P,WAAW,GAAGjB,YAAY,CAAC5P,GAAb,GAAmByO,WAAW,CAACzO,GAAnD;AACA,UAAM8Q,cAAc,GAAGrC,WAAW,CAACtN,MAAZ,GAAqByO,YAAY,CAACzO,MAAzD,CAhB6B,CAiB7B;AACA;;AACA,QAAIyO,YAAY,CAAC5hE,KAAb,GAAqBygE,WAAW,CAACzgE,KAArC,EAA4C;AACxC,UAAI2iE,YAAY,GAAG,CAAnB,EAAsB;AAClB/pE,QAAAA,CAAC,IAAI+pE,YAAL;AACH;;AACD,UAAIC,aAAa,GAAG,CAApB,EAAuB;AACnBhqE,QAAAA,CAAC,IAAIgqE,aAAL;AACH;AACJ,KAPD,MAQK;AACDhqE,MAAAA,CAAC,GAAG,CAAJ;AACH,KA7B4B,CA8B7B;AACA;;;AACA,QAAIgpE,YAAY,CAAC3hE,MAAb,GAAsBwgE,WAAW,CAACxgE,MAAtC,EAA8C;AAC1C,UAAI4iE,WAAW,GAAG,CAAlB,EAAqB;AACjBhqE,QAAAA,CAAC,IAAIgqE,WAAL;AACH;;AACD,UAAIC,cAAc,GAAG,CAArB,EAAwB;AACpBjqE,QAAAA,CAAC,IAAIiqE,cAAL;AACH;AACJ,KAPD,MAQK;AACDjqE,MAAAA,CAAC,GAAG,CAAJ;AACH;;AACD,QAAID,CAAC,KAAK,KAAKk9D,iBAAL,CAAuBl9D,CAA7B,IAAkCC,CAAC,KAAK,KAAKi9D,iBAAL,CAAuBj9D,CAAnE,EAAsE;AAClE,WAAKijE,mBAAL,CAAyB;AAAEjjE,QAAAA,CAAF;AAAKD,QAAAA;AAAL,OAAzB;AACH;AACJ;AACD;;;AACAu/D,EAAAA,kBAAkB,CAACjqD,KAAD,EAAQ;AACtB,UAAM1L,KAAK,GAAG,KAAKm0D,cAAnB;;AACA,QAAI,OAAOn0D,KAAP,KAAiB,QAArB,EAA+B;AAC3B,aAAOA,KAAP;AACH,KAFD,MAGK,IAAIo6D,YAAY,CAAC1uD,KAAD,CAAhB,EAAyB;AAC1B,aAAO1L,KAAK,CAAC++C,KAAb;AACH;;AACD,WAAO/+C,KAAK,GAAGA,KAAK,CAACugE,KAAT,GAAiB,CAA7B;AACH;AACD;;;AACA1E,EAAAA,eAAe,CAACnwD,KAAD,EAAQ;AACnB,UAAM80D,gBAAgB,GAAG,KAAKlJ,gBAAL,CAAsB1F,YAAtB,CAAmClmD,KAAnC,CAAzB;;AACA,QAAI80D,gBAAJ,EAAsB;AAClB,YAAMtzD,MAAM,GAAGqjC,sEAAe,CAAC7kC,KAAD,CAA9B,CADkB,CAElB;AACA;AACA;;;AACA,UAAI,KAAKowD,aAAL,KAAuB5uD,MAAM,KAAK,KAAKvF,SAAhB,IACtBuF,MAAM,KAAK,KAAK4mD,gBAAhB,IAAoC5mD,MAAM,CAAC8O,QAAP,CAAgB,KAAK83C,gBAArB,CADrC,CAAJ,EACmF;AAC/EjD,QAAAA,gBAAgB,CAAC,KAAKiL,aAAN,EAAqB0E,gBAAgB,CAAChR,GAAtC,EAA2CgR,gBAAgB,CAAC9Q,IAA5D,CAAhB;AACH;;AACD,WAAK2F,qBAAL,CAA2Bj/D,CAA3B,IAAgCoqE,gBAAgB,CAAC9Q,IAAjD;AACA,WAAK2F,qBAAL,CAA2Bh/D,CAA3B,IAAgCmqE,gBAAgB,CAAChR,GAAjD,CAVkB,CAWlB;AACA;;AACA,UAAI,CAAC,KAAKqG,cAAV,EAA0B;AACtB,aAAKtC,gBAAL,CAAsBn9D,CAAtB,IAA2BoqE,gBAAgB,CAAC9Q,IAA5C;AACA,aAAK6D,gBAAL,CAAsBl9D,CAAtB,IAA2BmqE,gBAAgB,CAAChR,GAA5C;;AACA,aAAKmH,0BAAL,CAAgC,KAAKpD,gBAAL,CAAsBn9D,CAAtD,EAAyD,KAAKm9D,gBAAL,CAAsBl9D,CAA/E;AACH;AACJ;AACJ;AACD;;;AACAioE,EAAAA,0BAA0B,GAAG;AACzB,UAAMzM,cAAc,GAAG,KAAKyF,gBAAL,CAAsBhG,SAAtB,CAAgCjyD,GAAhC,CAAoC,KAAKsI,SAAzC,CAAvB;;AACA,WAAOkqD,cAAc,GAAGA,cAAc,CAACL,cAAlB,GACjB,KAAKH,cAAL,CAAoBI,yBAApB,EADJ;AAEH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIjhB,EAAAA,cAAc,GAAG;AACb,QAAI,KAAKiwB,iBAAL,KAA2B93D,SAA/B,EAA0C;AACtC,WAAK83D,iBAAL,GAAyBjwB,qEAAc,CAAC,KAAKwkB,YAAN,CAAvC;AACH;;AACD,WAAO,KAAKyL,iBAAZ;AACH;AACD;;;AACA5F,EAAAA,yBAAyB,CAAC6F,aAAD,EAAgBhG,UAAhB,EAA4B;AACjD,UAAMiG,gBAAgB,GAAG,KAAKnH,iBAAL,IAA0B,QAAnD;;AACA,QAAImH,gBAAgB,KAAK,QAAzB,EAAmC;AAC/B,aAAOD,aAAP;AACH;;AACD,QAAIC,gBAAgB,KAAK,QAAzB,EAAmC;AAC/B,YAAMC,WAAW,GAAG,KAAKj5D,SAAzB,CAD+B,CAE/B;AACA;AACA;;AACA,aAAO+yD,UAAU,IACbkG,WAAW,CAACC,iBADT,IAEHD,WAAW,CAACE,uBAFT,IAGHF,WAAW,CAACG,oBAHT,IAIHH,WAAW,CAACI,mBAJT,IAKHJ,WAAW,CAACjjD,IALhB;AAMH;;AACD,WAAOuyB,oEAAa,CAACywB,gBAAD,CAApB;AACH;;AAngCS;AAqgCd;AACA;AACA;AACA;AACA;;;AACA,SAAShD,YAAT,CAAsBvnE,CAAtB,EAAyBC,CAAzB,EAA4B;AACxB;AACA;AACA,SAAQ,eAAcd,IAAI,CAACC,KAAL,CAAWY,CAAX,CAAc,OAAMb,IAAI,CAACC,KAAL,CAAWa,CAAX,CAAc,QAAxD;AACH;AACD;;;AACA,SAASqpE,OAAT,CAAiB1/D,KAAjB,EAAwBtK,GAAxB,EAA6BE,GAA7B,EAAkC;AAC9B,SAAOL,IAAI,CAACK,GAAL,CAASF,GAAT,EAAcH,IAAI,CAACG,GAAL,CAASE,GAAT,EAAcoK,KAAd,CAAd,CAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS07B,UAAT,CAAoBzY,IAApB,EAA0B;AACtB,MAAIA,IAAI,IAAIA,IAAI,CAAC/G,UAAjB,EAA6B;AACzB+G,IAAAA,IAAI,CAAC/G,UAAL,CAAgBmwB,WAAhB,CAA4BppB,IAA5B;AACH;AACJ;AACD;;;AACA,SAASm3C,YAAT,CAAsB1uD,KAAtB,EAA6B;AACzB;AACA;AACA;AACA,SAAOA,KAAK,CAACnQ,IAAN,CAAW,CAAX,MAAkB,GAAzB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASywC,WAAT,CAAqBuxB,OAArB,EAA8B51D,SAA9B,EAAyC;AACrC,QAAMs5D,SAAS,GAAG1D,OAAO,CAAC0D,SAA1B;;AACA,MAAIA,SAAS,CAAC3pE,MAAV,KAAqB,CAArB,IAA0B2pE,SAAS,CAAC,CAAD,CAAT,CAAavtB,QAAb,KAA0B/rC,SAAS,CAACgsC,YAAlE,EAAgF;AAC5E,WAAOstB,SAAS,CAAC,CAAD,CAAhB;AACH;;AACD,QAAMC,OAAO,GAAGv5D,SAAS,CAAC0jC,aAAV,CAAwB,KAAxB,CAAhB;;AACA41B,EAAAA,SAAS,CAACjrD,OAAV,CAAkBiN,IAAI,IAAIi+C,OAAO,CAACt1B,WAAR,CAAoB3oB,IAApB,CAA1B;AACA,SAAOi+C,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASxD,gBAAT,CAA0BxwD,MAA1B,EAAkCi0D,UAAlC,EAA8C;AAC1Cj0D,EAAAA,MAAM,CAACgH,KAAP,CAAa1W,KAAb,GAAsB,GAAE2jE,UAAU,CAAC3jE,KAAM,IAAzC;AACA0P,EAAAA,MAAM,CAACgH,KAAP,CAAazW,MAAb,GAAuB,GAAE0jE,UAAU,CAAC1jE,MAAO,IAA3C;AACAyP,EAAAA,MAAM,CAACgH,KAAP,CAAa07C,SAAb,GAAyB+N,YAAY,CAACwD,UAAU,CAACzR,IAAZ,EAAkByR,UAAU,CAAC3R,GAA7B,CAArC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4R,eAAT,CAAyBC,KAAzB,EAAgCC,SAAhC,EAA2CC,OAA3C,EAAoD;AAChD,QAAM1hC,IAAI,GAAG2hC,KAAK,CAACF,SAAD,EAAYD,KAAK,CAAC/pE,MAAN,GAAe,CAA3B,CAAlB;AACA,QAAMmqE,EAAE,GAAGD,KAAK,CAACD,OAAD,EAAUF,KAAK,CAAC/pE,MAAN,GAAe,CAAzB,CAAhB;;AACA,MAAIuoC,IAAI,KAAK4hC,EAAb,EAAiB;AACb;AACH;;AACD,QAAMv0D,MAAM,GAAGm0D,KAAK,CAACxhC,IAAD,CAApB;AACA,QAAMwX,KAAK,GAAGoqB,EAAE,GAAG5hC,IAAL,GAAY,CAAC,CAAb,GAAiB,CAA/B;;AACA,OAAK,IAAI7iB,CAAC,GAAG6iB,IAAb,EAAmB7iB,CAAC,KAAKykD,EAAzB,EAA6BzkD,CAAC,IAAIq6B,KAAlC,EAAyC;AACrCgqB,IAAAA,KAAK,CAACrkD,CAAD,CAAL,GAAWqkD,KAAK,CAACrkD,CAAC,GAAGq6B,KAAL,CAAhB;AACH;;AACDgqB,EAAAA,KAAK,CAACI,EAAD,CAAL,GAAYv0D,MAAZ;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw0D,iBAAT,CAA2BC,YAA3B,EAAyCC,WAAzC,EAAsDrW,YAAtD,EAAoEsW,WAApE,EAAiF;AAC7E,QAAMhiC,IAAI,GAAG2hC,KAAK,CAACjW,YAAD,EAAeoW,YAAY,CAACrqE,MAAb,GAAsB,CAArC,CAAlB;AACA,QAAMmqE,EAAE,GAAGD,KAAK,CAACK,WAAD,EAAcD,WAAW,CAACtqE,MAA1B,CAAhB;;AACA,MAAIqqE,YAAY,CAACrqE,MAAjB,EAAyB;AACrBsqE,IAAAA,WAAW,CAACzhD,MAAZ,CAAmBshD,EAAnB,EAAuB,CAAvB,EAA0BE,YAAY,CAACxhD,MAAb,CAAoB0f,IAApB,EAA0B,CAA1B,EAA6B,CAA7B,CAA1B;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiiC,aAAT,CAAuBH,YAAvB,EAAqCC,WAArC,EAAkDrW,YAAlD,EAAgEsW,WAAhE,EAA6E;AACzE,QAAMJ,EAAE,GAAGD,KAAK,CAACK,WAAD,EAAcD,WAAW,CAACtqE,MAA1B,CAAhB;;AACA,MAAIqqE,YAAY,CAACrqE,MAAjB,EAAyB;AACrBsqE,IAAAA,WAAW,CAACzhD,MAAZ,CAAmBshD,EAAnB,EAAuB,CAAvB,EAA0BE,YAAY,CAACpW,YAAD,CAAtC;AACH;AACJ;AACD;;;AACA,SAASiW,KAAT,CAAexhE,KAAf,EAAsBpK,GAAtB,EAA2B;AACvB,SAAOL,IAAI,CAACK,GAAL,CAAS,CAAT,EAAYL,IAAI,CAACG,GAAL,CAASE,GAAT,EAAcoK,KAAd,CAAZ,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM+hE,wBAAwB,GAAG,IAAjC;AACA;AACA;AACA;AACA;;AACA,MAAMC,0BAA0B,GAAG,IAAnC;AACA;AACA;AACA;;AACA,MAAMC,WAAN,CAAkB;AACdroE,EAAAA,WAAW,CAAC2U,OAAD,EAAU8kD,iBAAV,EAA6B1rD,SAA7B,EAAwCyyC,OAAxC,EAAiDiX,cAAjD,EAAiE;AACxE,SAAKgC,iBAAL,GAAyBA,iBAAzB;AACA,SAAKjZ,OAAL,GAAeA,OAAf;AACA,SAAKiX,cAAL,GAAsBA,cAAtB;AACA;;AACA,SAAK5oD,QAAL,GAAgB,KAAhB;AACA;;AACA,SAAKs0D,eAAL,GAAuB,KAAvB;AACA;AACR;AACA;AACA;;AACQ,SAAKmF,kBAAL,GAA0B,KAA1B;AACA;;AACA,SAAKC,cAAL,GAAsB,CAAtB;AACA;AACR;AACA;AACA;;AACQ,SAAKC,cAAL,GAAsB,MAAM,IAA5B;AACA;;;AACA,SAAKC,aAAL,GAAqB,MAAM,IAA3B;AACA;;;AACA,SAAKjO,aAAL,GAAqB,IAAI5iE,yCAAJ,EAArB;AACA;AACR;AACA;;AACQ,SAAKgjE,OAAL,GAAe,IAAIhjE,yCAAJ,EAAf;AACA;AACR;AACA;AACA;;AACQ,SAAKijE,MAAL,GAAc,IAAIjjE,yCAAJ,EAAd;AACA;;AACA,SAAKkjE,OAAL,GAAe,IAAIljE,yCAAJ,EAAf;AACA;;AACA,SAAK8wE,MAAL,GAAc,IAAI9wE,yCAAJ,EAAd;AACA;;AACA,SAAK+wE,WAAL,GAAmB,KAAnB;AACA;;AACA,SAAKC,cAAL,GAAsB,EAAtB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKC,aAAL,GAAqB;AAAE3lE,MAAAA,IAAI,EAAE,IAAR;AAAcu6C,MAAAA,KAAK,EAAE,CAArB;AAAwBqrB,MAAAA,QAAQ,EAAE;AAAlC,KAArB;AACA;;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA;;AACA,SAAKC,SAAL,GAAiB,EAAjB;AACA;;AACA,SAAKC,YAAL,GAAoB,UAApB;AACA;;AACA,SAAKC,eAAL,GAAuB,IAAIh+C,GAAJ,EAAvB;AACA;;AACA,SAAKovC,UAAL,GAAkB,KAAlB;AACA;;AACA,SAAK6O,2BAAL,GAAmCrxE,oDAAnC;AACA;;AACA,SAAKsxE,wBAAL,GAAgC;AAAE;AAAlC;AACA;;AACA,SAAKC,0BAAL,GAAkC;AAAE;AAApC;AACA;;AACA,SAAKC,iBAAL,GAAyB,IAAI1xE,yCAAJ,EAAzB;AACA;;AACA,SAAKivE,iBAAL,GAAyB,IAAzB;AACA;;AACA,SAAK0C,oBAAL,GAA4B,MAAM;AAC9B,WAAKpJ,cAAL;;AACAlL,MAAAA,8CAAQ,CAAC,CAAD,EAAIC,yDAAJ,CAAR,CACKlvD,IADL,CACUhO,yDAAS,CAAC,KAAKsxE,iBAAN,CADnB,EAEKrjE,SAFL,CAEe,MAAM;AACjB,cAAMojB,IAAI,GAAG,KAAKmgD,WAAlB;AACA,cAAMC,UAAU,GAAG,KAAKlB,cAAxB;;AACA,YAAI,KAAKa,wBAAL,KAAkC;AAAE;AAAxC,UAAkD;AAC9CM,UAAAA,uBAAuB,CAACrgD,IAAD,EAAO,CAACogD,UAAR,CAAvB;AACH,SAFD,MAGK,IAAI,KAAKL,wBAAL,KAAkC;AAAE;AAAxC,UAAoD;AACrDM,UAAAA,uBAAuB,CAACrgD,IAAD,EAAOogD,UAAP,CAAvB;AACH;;AACD,YAAI,KAAKJ,0BAAL,KAAoC;AAAE;AAA1C,UAAsD;AAClDM,UAAAA,yBAAyB,CAACtgD,IAAD,EAAO,CAACogD,UAAR,CAAzB;AACH,SAFD,MAGK,IAAI,KAAKJ,0BAAL,KAAoC;AAAE;AAA1C,UAAuD;AACxDM,UAAAA,yBAAyB,CAACtgD,IAAD,EAAOogD,UAAP,CAAzB;AACH;AACJ,OAjBD;AAkBH,KApBD;;AAqBA,SAAK90D,OAAL,GAAe2hC,oEAAa,CAAC3hC,OAAD,CAA5B;AACA,SAAK5G,SAAL,GAAiBA,SAAjB;AACA,SAAK67D,qBAAL,CAA2B,CAAC,KAAKj1D,OAAN,CAA3B;;AACA8kD,IAAAA,iBAAiB,CAACoQ,qBAAlB,CAAwC,IAAxC;;AACA,SAAKnM,gBAAL,GAAwB,IAAIlG,qBAAJ,CAA0BzpD,SAA1B,EAAqC0pD,cAArC,CAAxB;AACH;AACD;;;AACA/nD,EAAAA,OAAO,GAAG;AACN,SAAKywD,cAAL;;AACA,SAAKmJ,iBAAL,CAAuBhmE,QAAvB;;AACA,SAAK6lE,2BAAL,CAAiC35D,WAAjC;;AACA,SAAKgrD,aAAL,CAAmBl3D,QAAnB;AACA,SAAKs3D,OAAL,CAAat3D,QAAb;AACA,SAAKu3D,MAAL,CAAYv3D,QAAZ;AACA,SAAKw3D,OAAL,CAAax3D,QAAb;AACA,SAAKolE,MAAL,CAAYplE,QAAZ;;AACA,SAAK4lE,eAAL,CAAqBz3C,KAArB;;AACA,SAAK+3C,WAAL,GAAmB,IAAnB;;AACA,SAAK9L,gBAAL,CAAsBjsC,KAAtB;;AACA,SAAKgoC,iBAAL,CAAuBqQ,mBAAvB,CAA2C,IAA3C;AACH;AACD;;;AACA3N,EAAAA,UAAU,GAAG;AACT,WAAO,KAAKwM,WAAZ;AACH;AACD;;;AACA3vC,EAAAA,KAAK,GAAG;AACJ,SAAK+wC,gBAAL;;AACA,SAAKC,wBAAL;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI9G,EAAAA,KAAK,CAAC/7C,IAAD,EAAOiwC,QAAP,EAAiBC,QAAjB,EAA2B35B,KAA3B,EAAkC;AACnC,SAAKqsC,gBAAL,GADmC,CAEnC;AACA;;;AACA,QAAI3uB,QAAJ;;AACA,QAAI1d,KAAK,IAAI,IAAb,EAAmB;AACf0d,MAAAA,QAAQ,GAAG,KAAK+nB,eAAL,GAAuB,KAAK4F,WAAL,CAAiBznD,OAAjB,CAAyB6F,IAAzB,CAAvB,GAAwD,CAAC,CAApE;;AACA,UAAIi0B,QAAQ,KAAK,CAAC,CAAlB,EAAqB;AACjB;AACA;AACAA,QAAAA,QAAQ,GAAG,KAAK6uB,gCAAL,CAAsC9iD,IAAtC,EAA4CiwC,QAA5C,EAAsDC,QAAtD,CAAX;AACH;AACJ,KAPD,MAQK;AACDjc,MAAAA,QAAQ,GAAG1d,KAAX;AACH;;AACD,UAAMwsC,gBAAgB,GAAG,KAAKC,iBAA9B;AACA,UAAMxY,YAAY,GAAGuY,gBAAgB,CAAC5oD,OAAjB,CAAyB6F,IAAzB,CAArB;AACA,UAAMw5C,WAAW,GAAGx5C,IAAI,CAAC02C,qBAAL,EAApB;AACA,QAAIuM,oBAAoB,GAAGF,gBAAgB,CAAC9uB,QAAD,CAA3C,CAnBmC,CAoBnC;AACA;AACA;;AACA,QAAIgvB,oBAAoB,KAAKjjD,IAA7B,EAAmC;AAC/BijD,MAAAA,oBAAoB,GAAGF,gBAAgB,CAAC9uB,QAAQ,GAAG,CAAZ,CAAvC;AACH,KAzBkC,CA0BnC;AACA;;;AACA,QAAIuW,YAAY,GAAG,CAAC,CAApB,EAAuB;AACnBuY,MAAAA,gBAAgB,CAAC3jD,MAAjB,CAAwBorC,YAAxB,EAAsC,CAAtC;AACH,KA9BkC,CA+BnC;AACA;;;AACA,QAAIyY,oBAAoB,IAAI,CAAC,KAAK3Q,iBAAL,CAAuB0C,UAAvB,CAAkCiO,oBAAlC,CAA7B,EAAsF;AAClF,YAAMz1D,OAAO,GAAGy1D,oBAAoB,CAACrM,cAArB,EAAhB;AACAppD,MAAAA,OAAO,CAAC20C,aAAR,CAAsB7kB,YAAtB,CAAmCk8B,WAAnC,EAAgDhsD,OAAhD;AACAu1D,MAAAA,gBAAgB,CAAC3jD,MAAjB,CAAwB60B,QAAxB,EAAkC,CAAlC,EAAqCj0B,IAArC;AACH,KAJD,MAKK,IAAI,KAAKkjD,wBAAL,CAA8BjT,QAA9B,EAAwCC,QAAxC,CAAJ,EAAuD;AACxD,YAAMiT,SAAS,GAAGJ,gBAAgB,CAAC,CAAD,CAAhB,CAAoBnM,cAApB,EAAlB;AACAuM,MAAAA,SAAS,CAAChoD,UAAV,CAAqBmiB,YAArB,CAAkCk8B,WAAlC,EAA+C2J,SAA/C;AACAJ,MAAAA,gBAAgB,CAACK,OAAjB,CAAyBpjD,IAAzB;AACH,KAJI,MAKA;AACDmvB,MAAAA,oEAAa,CAAC,KAAK3hC,OAAN,CAAb,CAA4Bq9B,WAA5B,CAAwC2uB,WAAxC;AACAuJ,MAAAA,gBAAgB,CAAC5tD,IAAjB,CAAsB6K,IAAtB;AACH,KA9CkC,CA+CnC;;;AACAw5C,IAAAA,WAAW,CAACrmD,KAAZ,CAAkB07C,SAAlB,GAA8B,EAA9B,CAhDmC,CAiDnC;AACA;;AACA,SAAKwU,mBAAL;;AACA,SAAKC,qBAAL,GApDmC,CAqDnC;;;AACA,SAAKT,wBAAL;;AACA,SAAKpP,OAAL,CAAav3D,IAAb,CAAkB;AAAE8jB,MAAAA,IAAF;AAAQ60C,MAAAA,SAAS,EAAE,IAAnB;AAAyBrK,MAAAA,YAAY,EAAE,KAAKyP,YAAL,CAAkBj6C,IAAlB;AAAvC,KAAlB;AACH;AACD;AACJ;AACA;AACA;;;AACI87C,EAAAA,IAAI,CAAC97C,IAAD,EAAO;AACP,SAAKujD,MAAL;;AACA,SAAK7P,MAAL,CAAYx3D,IAAZ,CAAiB;AAAE8jB,MAAAA,IAAF;AAAQ60C,MAAAA,SAAS,EAAE;AAAnB,KAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI4G,EAAAA,IAAI,CAACz7C,IAAD,EAAOwqC,YAAP,EAAqBG,aAArB,EAAoC6Q,iBAApC,EAAuDF,sBAAvD,EAA+EtF,QAA/E,EAAyFoD,SAAzF,EAAoG;AACpG,SAAKmK,MAAL;;AACA,SAAK5P,OAAL,CAAaz3D,IAAb,CAAkB;AACd8jB,MAAAA,IADc;AAEdwqC,MAAAA,YAFc;AAGdG,MAAAA,aAHc;AAIdkK,MAAAA,SAAS,EAAE,IAJG;AAKd2G,MAAAA,iBALc;AAMdF,MAAAA,sBANc;AAOdtF,MAAAA,QAPc;AAQdoD,MAAAA;AARc,KAAlB;AAUH;AACD;AACJ;AACA;AACA;;;AACIoK,EAAAA,SAAS,CAACxuB,KAAD,EAAQ;AACb,UAAMyuB,aAAa,GAAG,KAAK7B,WAA3B;AACA,SAAKA,WAAL,GAAmB5sB,KAAnB;AACAA,IAAAA,KAAK,CAAC//B,OAAN,CAAc+K,IAAI,IAAIA,IAAI,CAACq4C,kBAAL,CAAwB,IAAxB,CAAtB;;AACA,QAAI,KAAKrD,UAAL,EAAJ,EAAuB;AACnB,YAAM0O,YAAY,GAAGD,aAAa,CAACxyE,MAAd,CAAqB+uB,IAAI,IAAIA,IAAI,CAACg1C,UAAL,EAA7B,CAArB,CADmB,CAEnB;AACA;;AACA,UAAI0O,YAAY,CAACjuB,KAAb,CAAmBz1B,IAAI,IAAIg1B,KAAK,CAAC76B,OAAN,CAAc6F,IAAd,MAAwB,CAAC,CAApD,CAAJ,EAA4D;AACxD,aAAKujD,MAAL;AACH,OAFD,MAGK;AACD,aAAKI,WAAL;AACH;AACJ;;AACD,WAAO,IAAP;AACH;AACD;;;AACAvL,EAAAA,aAAa,CAAClvD,SAAD,EAAY;AACrB,SAAKiqD,UAAL,GAAkBjqD,SAAlB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI06D,EAAAA,WAAW,CAACA,WAAD,EAAc;AACrB,SAAK/B,SAAL,GAAiB+B,WAAW,CAACvhE,KAAZ,EAAjB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIwhE,EAAAA,eAAe,CAACC,WAAD,EAAc;AACzB,SAAKhC,YAAL,GAAoBgC,WAApB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIrB,EAAAA,qBAAqB,CAACzzC,QAAD,EAAW;AAC5B,UAAMxhB,OAAO,GAAG2hC,oEAAa,CAAC,KAAK3hC,OAAN,CAA7B,CAD4B,CAE5B;AACA;;AACA,SAAKu2D,mBAAL,GACI/0C,QAAQ,CAAC7U,OAAT,CAAiB3M,OAAjB,MAA8B,CAAC,CAA/B,GAAmC,CAACA,OAAD,EAAU,GAAGwhB,QAAb,CAAnC,GAA4DA,QAAQ,CAAC3sB,KAAT,EADhE;AAEA,WAAO,IAAP;AACH;AACD;;;AACA63D,EAAAA,oBAAoB,GAAG;AACnB,WAAO,KAAK6J,mBAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACI9J,EAAAA,YAAY,CAACj6C,IAAD,EAAO;AACf,QAAI,CAAC,KAAKwhD,WAAV,EAAuB;AACnB,aAAO,KAAKI,WAAL,CAAiBznD,OAAjB,CAAyB6F,IAAzB,CAAP;AACH,KAHc,CAIf;AACA;AACA;;;AACA,UAAMg1B,KAAK,GAAG,KAAK8sB,YAAL,KAAsB,YAAtB,IAAsC,KAAK3O,UAAL,KAAoB,KAA1D,GACV,KAAKsO,cAAL,CAAoBp/D,KAApB,GAA4B2hE,OAA5B,EADU,GAC8B,KAAKvC,cADjD;AAEA,WAAOwC,SAAS,CAACjvB,KAAD,EAAQkvB,WAAW,IAAIA,WAAW,CAACnoE,IAAZ,KAAqBikB,IAA5C,CAAhB;AACH;AACD;AACJ;AACA;AACA;;;AACIi1C,EAAAA,WAAW,GAAG;AACV,WAAO,KAAK8M,eAAL,CAAqB37C,IAArB,GAA4B,CAAnC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI81C,EAAAA,SAAS,CAACl8C,IAAD,EAAOiwC,QAAP,EAAiBC,QAAjB,EAA2BiU,YAA3B,EAAyC;AAC9C;AACA,QAAI,KAAKnI,eAAL,IAAwB,CAAC,KAAKoI,WAA9B,IACA,CAACrU,uBAAuB,CAAC,KAAKqU,WAAN,EAAmBpD,wBAAnB,EAA6C/Q,QAA7C,EAAuDC,QAAvD,CAD5B,EAC8F;AAC1F;AACH;;AACD,UAAMmU,QAAQ,GAAG,KAAK5C,cAAtB;;AACA,UAAMxtB,QAAQ,GAAG,KAAK6uB,gCAAL,CAAsC9iD,IAAtC,EAA4CiwC,QAA5C,EAAsDC,QAAtD,EAAgEiU,YAAhE,CAAjB;;AACA,QAAIlwB,QAAQ,KAAK,CAAC,CAAd,IAAmBowB,QAAQ,CAAC9tE,MAAT,GAAkB,CAAzC,EAA4C;AACxC;AACH;;AACD,UAAM+tE,YAAY,GAAG,KAAKxC,YAAL,KAAsB,YAA3C;AACA,UAAMtX,YAAY,GAAGyZ,SAAS,CAACI,QAAD,EAAWH,WAAW,IAAIA,WAAW,CAACnoE,IAAZ,KAAqBikB,IAA/C,CAA9B;AACA,UAAMukD,oBAAoB,GAAGF,QAAQ,CAACpwB,QAAD,CAArC;AACA,UAAMirB,eAAe,GAAGmF,QAAQ,CAAC7Z,YAAD,CAAR,CAAuBiF,UAA/C;AACA,UAAM+U,WAAW,GAAGD,oBAAoB,CAAC9U,UAAzC;AACA,UAAMnZ,KAAK,GAAGkU,YAAY,GAAGvW,QAAf,GAA0B,CAA1B,GAA8B,CAAC,CAA7C,CAhB8C,CAiB9C;;AACA,UAAMwwB,UAAU,GAAG,KAAKC,gBAAL,CAAsBxF,eAAtB,EAAuCsF,WAAvC,EAAoDluB,KAApD,CAAnB,CAlB8C,CAmB9C;;;AACA,UAAMquB,aAAa,GAAG,KAAKC,mBAAL,CAAyBpa,YAAzB,EAAuC6Z,QAAvC,EAAiD/tB,KAAjD,CAAtB,CApB8C,CAqB9C;AACA;;;AACA,UAAMuuB,QAAQ,GAAGR,QAAQ,CAAChiE,KAAT,EAAjB,CAvB8C,CAwB9C;;AACAg+D,IAAAA,eAAe,CAACgE,QAAD,EAAW7Z,YAAX,EAAyBvW,QAAzB,CAAf;AACA,SAAKstB,MAAL,CAAYrlE,IAAZ,CAAiB;AACbyuD,MAAAA,aAAa,EAAEH,YADF;AAEbA,MAAAA,YAAY,EAAEvW,QAFD;AAGb4gB,MAAAA,SAAS,EAAE,IAHE;AAIb70C,MAAAA;AAJa,KAAjB;AAMAqkD,IAAAA,QAAQ,CAACpvD,OAAT,CAAiB,CAAC6vD,OAAD,EAAUvuC,KAAV,KAAoB;AACjC;AACA,UAAIsuC,QAAQ,CAACtuC,KAAD,CAAR,KAAoBuuC,OAAxB,EAAiC;AAC7B;AACH;;AACD,YAAMC,aAAa,GAAGD,OAAO,CAAC/oE,IAAR,KAAiBikB,IAAvC;AACA,YAAM3M,MAAM,GAAG0xD,aAAa,GAAGN,UAAH,GAAgBE,aAA5C;AACA,YAAMK,eAAe,GAAGD,aAAa,GAAG/kD,IAAI,CAAC02C,qBAAL,EAAH,GACjCoO,OAAO,CAAC/oE,IAAR,CAAa66D,cAAb,EADJ,CAPiC,CASjC;;AACAkO,MAAAA,OAAO,CAACzxD,MAAR,IAAkBA,MAAlB,CAViC,CAWjC;AACA;AACA;AACA;;AACA,UAAIixD,YAAJ,EAAkB;AACd;AACA;AACAU,QAAAA,eAAe,CAAC7xD,KAAhB,CAAsB07C,SAAtB,GAAkCD,iBAAiB,CAAE,eAAcp6D,IAAI,CAACC,KAAL,CAAWqwE,OAAO,CAACzxD,MAAnB,CAA2B,WAA3C,EAAuDyxD,OAAO,CAAChW,gBAA/D,CAAnD;AACAgB,QAAAA,gBAAgB,CAACgV,OAAO,CAACrV,UAAT,EAAqB,CAArB,EAAwBp8C,MAAxB,CAAhB;AACH,OALD,MAMK;AACD2xD,QAAAA,eAAe,CAAC7xD,KAAhB,CAAsB07C,SAAtB,GAAkCD,iBAAiB,CAAE,kBAAiBp6D,IAAI,CAACC,KAAL,CAAWqwE,OAAO,CAACzxD,MAAnB,CAA2B,QAA9C,EAAuDyxD,OAAO,CAAChW,gBAA/D,CAAnD;AACAgB,QAAAA,gBAAgB,CAACgV,OAAO,CAACrV,UAAT,EAAqBp8C,MAArB,EAA6B,CAA7B,CAAhB;AACH;AACJ,KAzBD,EAhC8C,CA0D9C;;AACA,SAAKquD,aAAL,CAAmBC,QAAnB,GAA8B9R,kBAAkB,CAAC2U,WAAD,EAAcvU,QAAd,EAAwBC,QAAxB,CAAhD;AACA,SAAKwR,aAAL,CAAmB3lE,IAAnB,GAA0BwoE,oBAAoB,CAACxoE,IAA/C;AACA,SAAK2lE,aAAL,CAAmBprB,KAAnB,GAA2BguB,YAAY,GAAGH,YAAY,CAAC9uE,CAAhB,GAAoB8uE,YAAY,CAAC7uE,CAAxE;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI2mE,EAAAA,0BAA0B,CAAChM,QAAD,EAAWC,QAAX,EAAqB;AAC3C,QAAI,KAAKiR,kBAAT,EAA6B;AACzB;AACH;;AACD,QAAI8D,UAAJ;AACA,QAAIC,uBAAuB,GAAG;AAAE;AAAhC;AACA,QAAIC,yBAAyB,GAAG;AAAE;AAAlC,KAN2C,CAO3C;;AACA,SAAK5O,gBAAL,CAAsBhG,SAAtB,CAAgCt7C,OAAhC,CAAwC,CAAC7J,QAAD,EAAWoC,OAAX,KAAuB;AAC3D;AACA;AACA,UAAIA,OAAO,KAAK,KAAK5G,SAAjB,IAA8B,CAACwE,QAAQ,CAACqkD,UAAxC,IAAsDwV,UAA1D,EAAsE;AAClE;AACH;;AACD,UAAIlV,uBAAuB,CAAC3kD,QAAQ,CAACqkD,UAAV,EAAsBuR,wBAAtB,EAAgD/Q,QAAhD,EAA0DC,QAA1D,CAA3B,EAAgG;AAC5F,SAACgV,uBAAD,EAA0BC,yBAA1B,IAAuDC,0BAA0B,CAAC53D,OAAD,EAAUpC,QAAQ,CAACqkD,UAAnB,EAA+BQ,QAA/B,EAAyCC,QAAzC,CAAjF;;AACA,YAAIgV,uBAAuB,IAAIC,yBAA/B,EAA0D;AACtDF,UAAAA,UAAU,GAAGz3D,OAAb;AACH;AACJ;AACJ,KAZD,EAR2C,CAqB3C;;;AACA,QAAI,CAAC03D,uBAAD,IAA4B,CAACC,yBAAjC,EAA4D;AACxD,YAAM;AAAE1oE,QAAAA,KAAF;AAASC,QAAAA;AAAT,UAAoB,KAAK4zD,cAAL,CAAoB+U,eAApB,EAA1B;;AACA,YAAM5V,UAAU,GAAG;AAAEhzD,QAAAA,KAAF;AAASC,QAAAA,MAAT;AAAiB+xD,QAAAA,GAAG,EAAE,CAAtB;AAAyBkB,QAAAA,KAAK,EAAElzD,KAAhC;AAAuCmzD,QAAAA,MAAM,EAAElzD,MAA/C;AAAuDiyD,QAAAA,IAAI,EAAE;AAA7D,OAAnB;AACAuW,MAAAA,uBAAuB,GAAGI,0BAA0B,CAAC7V,UAAD,EAAaS,QAAb,CAApD;AACAiV,MAAAA,yBAAyB,GAAGI,4BAA4B,CAAC9V,UAAD,EAAaQ,QAAb,CAAxD;AACAgV,MAAAA,UAAU,GAAGxtD,MAAb;AACH;;AACD,QAAIwtD,UAAU,KAAKC,uBAAuB,KAAK,KAAKjD,wBAAjC,IACfkD,yBAAyB,KAAK,KAAKjD,0BADpB,IAEf+C,UAAU,KAAK,KAAK5C,WAFV,CAAd,EAEsC;AAClC,WAAKJ,wBAAL,GAAgCiD,uBAAhC;AACA,WAAKhD,0BAAL,GAAkCiD,yBAAlC;AACA,WAAK9C,WAAL,GAAmB4C,UAAnB;;AACA,UAAI,CAACC,uBAAuB,IAAIC,yBAA5B,KAA0DF,UAA9D,EAA0E;AACtE,aAAK5rB,OAAL,CAAal8C,iBAAb,CAA+B,KAAKilE,oBAApC;AACH,OAFD,MAGK;AACD,aAAKpJ,cAAL;AACH;AACJ;AACJ;AACD;;;AACAA,EAAAA,cAAc,GAAG;AACb,SAAKmJ,iBAAL,CAAuBjmE,IAAvB;AACH;AACD;;;AACA0mE,EAAAA,gBAAgB,GAAG;AACf,UAAMnnE,MAAM,GAAG0zC,oEAAa,CAAC,KAAK3hC,OAAN,CAAb,CAA4B2F,KAA3C;AACA,SAAKkgD,aAAL,CAAmBn3D,IAAnB;AACA,SAAKslE,WAAL,GAAmB,IAAnB,CAHe,CAIf;AACA;AACA;;AACA,SAAKgE,kBAAL,GAA0B/pE,MAAM,CAACgqE,gBAAP,IAA2BhqE,MAAM,CAACiqE,cAAlC,IAAoD,EAA9E;AACAjqE,IAAAA,MAAM,CAACiqE,cAAP,GAAwBjqE,MAAM,CAACgqE,gBAAP,GAA0B,MAAlD;;AACA,SAAK9B,WAAL;;AACA,SAAK3B,2BAAL,CAAiC35D,WAAjC;;AACA,SAAKs9D,qBAAL;AACH;AACD;;;AACArC,EAAAA,qBAAqB,GAAG;AACpB,UAAM91D,OAAO,GAAG2hC,oEAAa,CAAC,KAAK3hC,OAAN,CAA7B;;AACA,SAAK+oD,gBAAL,CAAsB/F,KAAtB,CAA4B,KAAKuT,mBAAjC,EAFoB,CAGpB;AACA;;;AACA,SAAKK,WAAL,GAAmB,KAAK7N,gBAAL,CAAsBhG,SAAtB,CAAgCjyD,GAAhC,CAAoCkP,OAApC,EAA6CiiD,UAAhE;AACH;AACD;;;AACA4T,EAAAA,mBAAmB,GAAG;AAClB,UAAMiB,YAAY,GAAG,KAAKxC,YAAL,KAAsB,YAA3C;AACA,SAAKL,cAAL,GAAsB,KAAKuB,iBAAL,CAAuBrpD,GAAvB,CAA2B5d,IAAI,IAAI;AACrD,YAAM6pE,gBAAgB,GAAG7pE,IAAI,CAAC86D,iBAAL,EAAzB;AACA,aAAO;AACH96D,QAAAA,IADG;AAEHsX,QAAAA,MAAM,EAAE,CAFL;AAGHy7C,QAAAA,gBAAgB,EAAE8W,gBAAgB,CAACzyD,KAAjB,CAAuB07C,SAAvB,IAAoC,EAHnD;AAIHY,QAAAA,UAAU,EAAED,oBAAoB,CAACoW,gBAAD;AAJ7B,OAAP;AAMH,KARqB,EAQnBhqC,IARmB,CAQd,CAAC9lC,CAAD,EAAIF,CAAJ,KAAU;AACd,aAAO0uE,YAAY,GAAGxuE,CAAC,CAAC25D,UAAF,CAAad,IAAb,GAAoB/4D,CAAC,CAAC65D,UAAF,CAAad,IAApC,GACf74D,CAAC,CAAC25D,UAAF,CAAahB,GAAb,GAAmB74D,CAAC,CAAC65D,UAAF,CAAahB,GADpC;AAEH,KAXqB,CAAtB;AAYH;AACD;;;AACA8U,EAAAA,MAAM,GAAG;AACL,SAAK/B,WAAL,GAAmB,KAAnB;AACA,UAAM/lE,MAAM,GAAG0zC,oEAAa,CAAC,KAAK3hC,OAAN,CAAb,CAA4B2F,KAA3C;AACA1X,IAAAA,MAAM,CAACiqE,cAAP,GAAwBjqE,MAAM,CAACgqE,gBAAP,GAA0B,KAAKD,kBAAvD,CAHK,CAIL;;AACA,SAAKxC,iBAAL,CAAuB/tD,OAAvB,CAA+B+K,IAAI,IAAI;AACnC,UAAI/mB,EAAJ;;AACA,YAAM4xB,WAAW,GAAG7K,IAAI,CAAC42C,cAAL,EAApB;;AACA,UAAI/rC,WAAJ,EAAiB;AACb,cAAMikC,gBAAgB,GAAG,CAAC71D,EAAE,GAAG,KAAKwoE,cAAL,CAC1Bv4C,IAD0B,CACrB28C,OAAO,IAAIA,OAAO,CAAC9pE,IAAR,KAAiBikB,IADP,CAAN,MACwB,IADxB,IACgC/mB,EAAE,KAAK,KAAK,CAD5C,GACgD,KAAK,CADrD,GACyDA,EAAE,CAAC61D,gBADrF;AAEAjkC,QAAAA,WAAW,CAAC1X,KAAZ,CAAkB07C,SAAlB,GAA8BC,gBAAgB,IAAI,EAAlD;AACH;AACJ,KARD;;AASA,SAAK+S,SAAL,CAAe5sD,OAAf,CAAuB6vD,OAAO,IAAIA,OAAO,CAACgB,cAAR,CAAuB,IAAvB,CAAlC;;AACA,SAAK9C,iBAAL,GAAyB,EAAzB;AACA,SAAKvB,cAAL,GAAsB,EAAtB;AACA,SAAKC,aAAL,CAAmB3lE,IAAnB,GAA0B,IAA1B;AACA,SAAK2lE,aAAL,CAAmBprB,KAAnB,GAA2B,CAA3B;AACA,SAAKorB,aAAL,CAAmBC,QAAnB,GAA8B,KAA9B;;AACA,SAAK3I,cAAL;;AACA,SAAKgJ,2BAAL,CAAiC35D,WAAjC;;AACA,SAAKkuD,gBAAL,CAAsBjsC,KAAtB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIs6C,EAAAA,mBAAmB,CAACpa,YAAD,EAAe6Z,QAAf,EAAyB/tB,KAAzB,EAAgC;AAC/C,UAAMguB,YAAY,GAAG,KAAKxC,YAAL,KAAsB,YAA3C;AACA,UAAM5C,eAAe,GAAGmF,QAAQ,CAAC7Z,YAAD,CAAR,CAAuBiF,UAA/C;AACA,UAAMsW,gBAAgB,GAAG1B,QAAQ,CAAC7Z,YAAY,GAAGlU,KAAK,GAAG,CAAC,CAAzB,CAAjC;AACA,QAAIquB,aAAa,GAAGzF,eAAe,CAACoF,YAAY,GAAG,OAAH,GAAa,QAA1B,CAAf,GAAqDhuB,KAAzE;;AACA,QAAIyvB,gBAAJ,EAAsB;AAClB,YAAMl0C,KAAK,GAAGyyC,YAAY,GAAG,MAAH,GAAY,KAAtC;AACA,YAAM0B,GAAG,GAAG1B,YAAY,GAAG,OAAH,GAAa,QAArC,CAFkB,CAGlB;AACA;AACA;AACA;;AACA,UAAIhuB,KAAK,KAAK,CAAC,CAAf,EAAkB;AACdquB,QAAAA,aAAa,IAAIoB,gBAAgB,CAACtW,UAAjB,CAA4B59B,KAA5B,IAAqCqtC,eAAe,CAAC8G,GAAD,CAArE;AACH,OAFD,MAGK;AACDrB,QAAAA,aAAa,IAAIzF,eAAe,CAACrtC,KAAD,CAAf,GAAyBk0C,gBAAgB,CAACtW,UAAjB,CAA4BuW,GAA5B,CAA1C;AACH;AACJ;;AACD,WAAOrB,aAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACID,EAAAA,gBAAgB,CAACxF,eAAD,EAAkBsF,WAAlB,EAA+BluB,KAA/B,EAAsC;AAClD,UAAMguB,YAAY,GAAG,KAAKxC,YAAL,KAAsB,YAA3C;AACA,QAAI2C,UAAU,GAAGH,YAAY,GAAGE,WAAW,CAAC7V,IAAZ,GAAmBuQ,eAAe,CAACvQ,IAAtC,GACzB6V,WAAW,CAAC/V,GAAZ,GAAkByQ,eAAe,CAACzQ,GADtC,CAFkD,CAIlD;;AACA,QAAInY,KAAK,KAAK,CAAC,CAAf,EAAkB;AACdmuB,MAAAA,UAAU,IAAIH,YAAY,GAAGE,WAAW,CAAC/nE,KAAZ,GAAoByiE,eAAe,CAACziE,KAAvC,GACtB+nE,WAAW,CAAC9nE,MAAZ,GAAqBwiE,eAAe,CAACxiE,MADzC;AAEH;;AACD,WAAO+nE,UAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIvB,EAAAA,wBAAwB,CAACjT,QAAD,EAAWC,QAAX,EAAqB;AACzC,QAAI,CAAC,KAAK8S,iBAAL,CAAuBzsE,MAA5B,EAAoC;AAChC,aAAO,KAAP;AACH;;AACD,UAAM0vE,aAAa,GAAG,KAAKxE,cAA3B;AACA,UAAM6C,YAAY,GAAG,KAAKxC,YAAL,KAAsB,YAA3C,CALyC,CAMzC;AACA;;AACA,UAAMoE,QAAQ,GAAGD,aAAa,CAAC,CAAD,CAAb,CAAiBlqE,IAAjB,KAA0B,KAAKinE,iBAAL,CAAuB,CAAvB,CAA3C;;AACA,QAAIkD,QAAJ,EAAc;AACV,YAAMC,YAAY,GAAGF,aAAa,CAACA,aAAa,CAAC1vE,MAAd,GAAuB,CAAxB,CAAb,CAAwCk5D,UAA7D;AACA,aAAO6U,YAAY,GAAGrU,QAAQ,IAAIkW,YAAY,CAACxW,KAA5B,GAAoCO,QAAQ,IAAIiW,YAAY,CAACvW,MAAhF;AACH,KAHD,MAIK;AACD,YAAMwW,aAAa,GAAGH,aAAa,CAAC,CAAD,CAAb,CAAiBxW,UAAvC;AACA,aAAO6U,YAAY,GAAGrU,QAAQ,IAAImW,aAAa,CAACzX,IAA7B,GAAoCuB,QAAQ,IAAIkW,aAAa,CAAC3X,GAAjF;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIqU,EAAAA,gCAAgC,CAAC9iD,IAAD,EAAOiwC,QAAP,EAAiBC,QAAjB,EAA2B5Z,KAA3B,EAAkC;AAC9D,UAAMguB,YAAY,GAAG,KAAKxC,YAAL,KAAsB,YAA3C;AACA,UAAMvrC,KAAK,GAAG0tC,SAAS,CAAC,KAAKxC,cAAN,EAAsB,CAAC;AAAE1lE,MAAAA,IAAF;AAAQ0zD,MAAAA;AAAR,KAAD,EAAuB1wD,CAAvB,EAA0BuhE,KAA1B,KAAoC;AAC7E,UAAIvkE,IAAI,KAAKikB,IAAb,EAAmB;AACf;AACA;AACA,eAAOsgD,KAAK,CAAC/pE,MAAN,GAAe,CAAtB;AACH;;AACD,UAAI+/C,KAAJ,EAAW;AACP,cAAMptC,SAAS,GAAGo7D,YAAY,GAAGhuB,KAAK,CAACjhD,CAAT,GAAaihD,KAAK,CAAChhD,CAAjD,CADO,CAEP;AACA;AACA;;AACA,YAAIyG,IAAI,KAAK,KAAK2lE,aAAL,CAAmB3lE,IAA5B,IAAoC,KAAK2lE,aAAL,CAAmBC,QAAvD,IACAz4D,SAAS,KAAK,KAAKw4D,aAAL,CAAmBprB,KADrC,EAC4C;AACxC,iBAAO,KAAP;AACH;AACJ;;AACD,aAAOguB,YAAY,GACf;AACA;AACArU,MAAAA,QAAQ,IAAIz7D,IAAI,CAAC6xE,KAAL,CAAW5W,UAAU,CAACd,IAAtB,CAAZ,IAA2CsB,QAAQ,GAAGz7D,IAAI,CAAC6xE,KAAL,CAAW5W,UAAU,CAACE,KAAtB,CAHvC,GAIfO,QAAQ,IAAI17D,IAAI,CAAC6xE,KAAL,CAAW5W,UAAU,CAAChB,GAAtB,CAAZ,IAA0CyB,QAAQ,GAAG17D,IAAI,CAAC6xE,KAAL,CAAW5W,UAAU,CAACG,MAAtB,CAJzD;AAKH,KArBsB,CAAvB;AAsBA,WAAQr5B,KAAK,KAAK,CAAC,CAAX,IAAgB,CAAC,KAAK+qC,aAAL,CAAmB/qC,KAAnB,EAA0BvW,IAA1B,EAAgC,IAAhC,CAAlB,GAA2D,CAAC,CAA5D,GAAgEuW,KAAvE;AACH;AACD;;;AACAotC,EAAAA,WAAW,GAAG;AACV,SAAKX,iBAAL,GAAyB,KAAKpB,WAAL,CAAiBv/D,KAAjB,EAAzB;;AACA,SAAKghE,mBAAL;;AACA,SAAKC,qBAAL;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI/H,EAAAA,gBAAgB,CAAClmE,CAAD,EAAIC,CAAJ,EAAO;AACnB,WAAO,KAAK8uE,WAAL,IAAoB,IAApB,IAA4BvU,kBAAkB,CAAC,KAAKuU,WAAN,EAAmB/uE,CAAnB,EAAsBC,CAAtB,CAArD;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIumE,EAAAA,gCAAgC,CAAC77C,IAAD,EAAO3qB,CAAP,EAAUC,CAAV,EAAa;AACzC,WAAO,KAAKusE,SAAL,CAAe34C,IAAf,CAAoB47C,OAAO,IAAIA,OAAO,CAACwB,WAAR,CAAoBtmD,IAApB,EAA0B3qB,CAA1B,EAA6BC,CAA7B,CAA/B,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIgxE,EAAAA,WAAW,CAACtmD,IAAD,EAAO3qB,CAAP,EAAUC,CAAV,EAAa;AACpB,QAAI,CAAC,KAAK8uE,WAAN,IAAqB,CAACvU,kBAAkB,CAAC,KAAKuU,WAAN,EAAmB/uE,CAAnB,EAAsBC,CAAtB,CAAxC,IACA,CAAC,KAAK+rE,cAAL,CAAoBrhD,IAApB,EAA0B,IAA1B,CADL,EACsC;AAClC,aAAO,KAAP;AACH;;AACD,UAAMumD,gBAAgB,GAAG,KAAK92B,cAAL,GAAsB82B,gBAAtB,CAAuClxE,CAAvC,EAA0CC,CAA1C,CAAzB,CALoB,CAMpB;AACA;;;AACA,QAAI,CAACixE,gBAAL,EAAuB;AACnB,aAAO,KAAP;AACH;;AACD,UAAMh5D,aAAa,GAAG4hC,oEAAa,CAAC,KAAK3hC,OAAN,CAAnC,CAXoB,CAYpB;AACA;AACA;AACA;AACA;AACA;;AACA,WAAO+4D,gBAAgB,KAAKh5D,aAArB,IAAsCA,aAAa,CAAC0N,QAAd,CAAuBsrD,gBAAvB,CAA7C;AACH;AACD;AACJ;AACA;AACA;;;AACIC,EAAAA,eAAe,CAAC1B,OAAD,EAAU9vB,KAAV,EAAiB;AAC5B,UAAMyxB,cAAc,GAAG,KAAK1E,eAA5B;;AACA,QAAI,CAAC0E,cAAc,CAACriD,GAAf,CAAmB0gD,OAAnB,CAAD,IAAgC9vB,KAAK,CAACS,KAAN,CAAYz1B,IAAI,IAAI;AACpD;AACA;AACA;AACA;AACA,aAAO,KAAKqhD,cAAL,CAAoBrhD,IAApB,EAA0B,IAA1B,KAAmC,KAAK4hD,WAAL,CAAiBznD,OAAjB,CAAyB6F,IAAzB,IAAiC,CAAC,CAA5E;AACH,KANmC,CAApC,EAMI;AACAymD,MAAAA,cAAc,CAACtgD,GAAf,CAAmB2+C,OAAnB;;AACA,WAAKxB,qBAAL;;AACA,WAAKqC,qBAAL;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACIG,EAAAA,cAAc,CAAChB,OAAD,EAAU;AACpB,SAAK/C,eAAL,CAAqB53C,MAArB,CAA4B26C,OAA5B;;AACA,SAAK9C,2BAAL,CAAiC35D,WAAjC;AACH;AACD;AACJ;AACA;AACA;;;AACIs9D,EAAAA,qBAAqB,GAAG;AACpB,SAAK3D,2BAAL,GAAmC,KAAK1P,iBAAL,CAC9BsI,QAD8B,CACrB,KAAKnrB,cAAL,EADqB,EAE9B3wC,SAF8B,CAEpB6L,KAAK,IAAI;AACpB,UAAI,KAAKqqD,UAAL,EAAJ,EAAuB;AACnB,cAAMyK,gBAAgB,GAAG,KAAKlJ,gBAAL,CAAsB1F,YAAtB,CAAmClmD,KAAnC,CAAzB;;AACA,YAAI80D,gBAAJ,EAAsB;AAClB;AACA;AACA;AACA;AACA,eAAKgC,cAAL,CAAoBxsD,OAApB,CAA4B,CAAC;AAAEw6C,YAAAA;AAAF,WAAD,KAAoB;AAC5CK,YAAAA,gBAAgB,CAACL,UAAD,EAAagQ,gBAAgB,CAAChR,GAA9B,EAAmCgR,gBAAgB,CAAC9Q,IAApD,CAAhB;AACH,WAFD,EALkB,CAQlB;AACA;;;AACA,eAAK8S,cAAL,CAAoBxsD,OAApB,CAA4B,CAAC;AAAElZ,YAAAA;AAAF,WAAD,KAAc;AACtC,gBAAI,KAAKu2D,iBAAL,CAAuB0C,UAAvB,CAAkCj5D,IAAlC,CAAJ,EAA6C;AACzC;AACA;AACAA,cAAAA,IAAI,CAAC28D,4BAAL;AACH;AACJ,WAND;AAOH;AACJ,OApBD,MAqBK,IAAI,KAAKzD,WAAL,EAAJ,EAAwB;AACzB,aAAKqO,qBAAL;AACH;AACJ,KA3BkC,CAAnC;AA4BH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI7zB,EAAAA,cAAc,GAAG;AACb,QAAI,CAAC,KAAKiwB,iBAAV,EAA6B;AACzB,YAAM/F,UAAU,GAAGlqB,qEAAc,CAACN,oEAAa,CAAC,KAAK3hC,OAAN,CAAd,CAAjC;;AACA,WAAKkyD,iBAAL,GAAyB/F,UAAU,IAAI,KAAK/yD,SAA5C;AACH;;AACD,WAAO,KAAK84D,iBAAZ;AACH;AACD;;;AACAmD,EAAAA,wBAAwB,GAAG;AACvB,UAAMa,YAAY,GAAG,KAAKV,iBAAL,CAAuB/xE,MAAvB,CAA8B+uB,IAAI,IAAIA,IAAI,CAACg1C,UAAL,EAAtC,CAArB;;AACA,SAAK6M,SAAL,CAAe5sD,OAAf,CAAuB6vD,OAAO,IAAIA,OAAO,CAAC0B,eAAR,CAAwB,IAAxB,EAA8B9C,YAA9B,CAAlC;AACH;;AAtsBa;AAwsBlB;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,SAAT,CAAmB3D,KAAnB,EAA0BnsB,SAA1B,EAAqC;AACjC,OAAK,IAAIl4B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqkD,KAAK,CAAC/pE,MAA1B,EAAkC0lB,CAAC,EAAnC,EAAuC;AACnC,QAAIk4B,SAAS,CAACmsB,KAAK,CAACrkD,CAAD,CAAN,EAAWA,CAAX,EAAcqkD,KAAd,CAAb,EAAmC;AAC/B,aAAOrkD,CAAP;AACH;AACJ;;AACD,SAAO,CAAC,CAAR;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASsmD,uBAAT,CAAiCrgD,IAAjC,EAAuCwkD,MAAvC,EAA+C;AAC3C,MAAIxkD,IAAI,KAAKzK,MAAb,EAAqB;AACjByK,IAAAA,IAAI,CAACykD,QAAL,CAAc,CAAd,EAAiBD,MAAjB;AACH,GAFD,MAGK;AACD;AACAxkD,IAAAA,IAAI,CAACyuC,SAAL,IAAkB+V,MAAlB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASlE,yBAAT,CAAmCtgD,IAAnC,EAAyCwkD,MAAzC,EAAiD;AAC7C,MAAIxkD,IAAI,KAAKzK,MAAb,EAAqB;AACjByK,IAAAA,IAAI,CAACykD,QAAL,CAAcD,MAAd,EAAsB,CAAtB;AACH,GAFD,MAGK;AACD;AACAxkD,IAAAA,IAAI,CAAC0uC,UAAL,IAAmB8V,MAAnB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASpB,0BAAT,CAAoC7V,UAApC,EAAgDS,QAAhD,EAA0D;AACtD,QAAM;AAAEzB,IAAAA,GAAF;AAAOmB,IAAAA,MAAP;AAAelzD,IAAAA;AAAf,MAA0B+yD,UAAhC;AACA,QAAMW,UAAU,GAAG1zD,MAAM,GAAGukE,0BAA5B;;AACA,MAAI/Q,QAAQ,IAAIzB,GAAG,GAAG2B,UAAlB,IAAgCF,QAAQ,IAAIzB,GAAG,GAAG2B,UAAtD,EAAkE;AAC9D,WAAO;AAAE;AAAT;AACH,GAFD,MAGK,IAAIF,QAAQ,IAAIN,MAAM,GAAGQ,UAArB,IAAmCF,QAAQ,IAAIN,MAAM,GAAGQ,UAA5D,EAAwE;AACzE,WAAO;AAAE;AAAT;AACH;;AACD,SAAO;AAAE;AAAT;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASmV,4BAAT,CAAsC9V,UAAtC,EAAkDQ,QAAlD,EAA4D;AACxD,QAAM;AAAEtB,IAAAA,IAAF;AAAQgB,IAAAA,KAAR;AAAelzD,IAAAA;AAAf,MAAyBgzD,UAA/B;AACA,QAAMU,UAAU,GAAG1zD,KAAK,GAAGwkE,0BAA3B;;AACA,MAAIhR,QAAQ,IAAItB,IAAI,GAAGwB,UAAnB,IAAiCF,QAAQ,IAAItB,IAAI,GAAGwB,UAAxD,EAAoE;AAChE,WAAO;AAAE;AAAT;AACH,GAFD,MAGK,IAAIF,QAAQ,IAAIN,KAAK,GAAGQ,UAApB,IAAkCF,QAAQ,IAAIN,KAAK,GAAGQ,UAA1D,EAAsE;AACvE,WAAO;AAAE;AAAT;AACH;;AACD,SAAO;AAAE;AAAT;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiV,0BAAT,CAAoC53D,OAApC,EAA6CiiD,UAA7C,EAAyDQ,QAAzD,EAAmEC,QAAnE,EAA6E;AACzE,QAAM0W,gBAAgB,GAAGtB,0BAA0B,CAAC7V,UAAD,EAAaS,QAAb,CAAnD;AACA,QAAM2W,kBAAkB,GAAGtB,4BAA4B,CAAC9V,UAAD,EAAaQ,QAAb,CAAvD;AACA,MAAIiV,uBAAuB,GAAG;AAAE;AAAhC;AACA,MAAIC,yBAAyB,GAAG;AAAE;AAAlC,GAJyE,CAKzE;AACA;AACA;AACA;;AACA,MAAIyB,gBAAJ,EAAsB;AAClB,UAAMjW,SAAS,GAAGnjD,OAAO,CAACmjD,SAA1B;;AACA,QAAIiW,gBAAgB,KAAK;AAAE;AAA3B,MAAqC;AACjC,UAAIjW,SAAS,GAAG,CAAhB,EAAmB;AACfuU,QAAAA,uBAAuB,GAAG;AAAE;AAA5B;AACH;AACJ,KAJD,MAKK,IAAI13D,OAAO,CAACs5D,YAAR,GAAuBnW,SAAvB,GAAmCnjD,OAAO,CAACu5D,YAA/C,EAA6D;AAC9D7B,MAAAA,uBAAuB,GAAG;AAAE;AAA5B;AACH;AACJ;;AACD,MAAI2B,kBAAJ,EAAwB;AACpB,UAAMjW,UAAU,GAAGpjD,OAAO,CAACojD,UAA3B;;AACA,QAAIiW,kBAAkB,KAAK;AAAE;AAA7B,MAAyC;AACrC,UAAIjW,UAAU,GAAG,CAAjB,EAAoB;AAChBuU,QAAAA,yBAAyB,GAAG;AAAE;AAA9B;AACH;AACJ,KAJD,MAKK,IAAI33D,OAAO,CAACw5D,WAAR,GAAsBpW,UAAtB,GAAmCpjD,OAAO,CAACy5D,WAA/C,EAA4D;AAC7D9B,MAAAA,yBAAyB,GAAG;AAAE;AAA9B;AACH;AACJ;;AACD,SAAO,CAACD,uBAAD,EAA0BC,yBAA1B,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAM+B,2BAA2B,gBAAG33B,sFAA+B,CAAC;AAChEoP,EAAAA,OAAO,EAAE,KADuD;AAEhEC,EAAAA,OAAO,EAAE;AAFuD,CAAD,CAAnE;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMuoB;AAAN,QAAMA,gBAAN,CAAuB;AACnBtuE,IAAAA,WAAW,CAACwgD,OAAD,EAAUzyC,SAAV,EAAqB;AAC5B,WAAKyyC,OAAL,GAAeA,OAAf;AACA;;AACA,WAAK+tB,cAAL,GAAsB,IAAIrjD,GAAJ,EAAtB;AACA;;AACA,WAAKsjD,cAAL,GAAsB,IAAItjD,GAAJ,EAAtB;AACA;;AACA,WAAKujD,oBAAL,GAA4B,EAA5B;AACA;;AACA,WAAKC,gBAAL,GAAwB,IAAIztD,GAAJ,EAAxB;AACA;AACR;AACA;AACA;;AACQ,WAAK0tD,kBAAL,GAA2BxnD,IAAD,IAAUA,IAAI,CAACg1C,UAAL,EAApC;AACA;AACR;AACA;AACA;;;AACQ,WAAK0F,WAAL,GAAmB,IAAIjqE,yCAAJ,EAAnB;AACA;AACR;AACA;AACA;;AACQ,WAAKkqE,SAAL,GAAiB,IAAIlqE,yCAAJ,EAAjB;AACA;AACR;AACA;AACA;AACA;;AACQ,WAAKg3E,MAAL,GAAc,IAAIh3E,yCAAJ,EAAd;AACA;AACR;AACA;AACA;;AACQ,WAAKi3E,4BAAL,GAAqC/8D,KAAD,IAAW;AAC3C,YAAI,KAAK28D,oBAAL,CAA0B/wE,MAA1B,GAAmC,CAAvC,EAA0C;AACtCoU,UAAAA,KAAK,CAACG,cAAN;AACH;AACJ,OAJD;AAKA;;;AACA,WAAK68D,4BAAL,GAAqCh9D,KAAD,IAAW;AAC3C,YAAI,KAAK28D,oBAAL,CAA0B/wE,MAA1B,GAAmC,CAAvC,EAA0C;AACtC;AACA;AACA;AACA,cAAI,KAAK+wE,oBAAL,CAA0B99C,IAA1B,CAA+B,KAAKg+C,kBAApC,CAAJ,EAA6D;AACzD78D,YAAAA,KAAK,CAACG,cAAN;AACH;;AACD,eAAK4vD,WAAL,CAAiBx+D,IAAjB,CAAsByO,KAAtB;AACH;AACJ,OAVD;;AAWA,WAAK/D,SAAL,GAAiBA,SAAjB;AACH;AACD;;;AACA87D,IAAAA,qBAAqB,CAACjH,IAAD,EAAO;AACxB,UAAI,CAAC,KAAK2L,cAAL,CAAoBhjD,GAApB,CAAwBq3C,IAAxB,CAAL,EAAoC;AAChC,aAAK2L,cAAL,CAAoBjhD,GAApB,CAAwBs1C,IAAxB;AACH;AACJ;AACD;;;AACAjF,IAAAA,gBAAgB,CAACz6D,IAAD,EAAO;AACnB,WAAKsrE,cAAL,CAAoBlhD,GAApB,CAAwBpqB,IAAxB,EADmB,CAEnB;AACA;AACA;;;AACA,UAAI,KAAKsrE,cAAL,CAAoBjhD,IAApB,KAA6B,CAAjC,EAAoC;AAChC,aAAKizB,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACjC;AACA;AACA,eAAKyJ,SAAL,CAAexJ,gBAAf,CAAgC,WAAhC,EAA6C,KAAKuqE,4BAAlD,EAAgFT,2BAAhF;AACH,SAJD;AAKH;AACJ;AACD;;;AACAvE,IAAAA,mBAAmB,CAAClH,IAAD,EAAO;AACtB,WAAK2L,cAAL,CAAoBj9C,MAApB,CAA2BsxC,IAA3B;AACH;AACD;;;AACAzD,IAAAA,cAAc,CAACj8D,IAAD,EAAO;AACjB,WAAKsrE,cAAL,CAAoBl9C,MAApB,CAA2BpuB,IAA3B;;AACA,WAAK88D,YAAL,CAAkB98D,IAAlB;;AACA,UAAI,KAAKsrE,cAAL,CAAoBjhD,IAApB,KAA6B,CAAjC,EAAoC;AAChC,aAAKxf,SAAL,CAAenJ,mBAAf,CAAmC,WAAnC,EAAgD,KAAKkqE,4BAArD,EAAmFT,2BAAnF;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACI7L,IAAAA,aAAa,CAACt/D,IAAD,EAAO4O,KAAP,EAAc;AACvB;AACA,UAAI,KAAK28D,oBAAL,CAA0BntD,OAA1B,CAAkCpe,IAAlC,IAA0C,CAAC,CAA/C,EAAkD;AAC9C;AACH;;AACD,WAAKurE,oBAAL,CAA0BnyD,IAA1B,CAA+BpZ,IAA/B;;AACA,UAAI,KAAKurE,oBAAL,CAA0B/wE,MAA1B,KAAqC,CAAzC,EAA4C;AACxC,cAAM8iE,YAAY,GAAG1uD,KAAK,CAACnQ,IAAN,CAAW0lB,UAAX,CAAsB,OAAtB,CAArB,CADwC,CAExC;AACA;AACA;;AACA,aAAKqnD,gBAAL,CACKxtD,GADL,CACSs/C,YAAY,GAAG,UAAH,GAAgB,SADrC,EACgD;AAC5CpX,UAAAA,OAAO,EAAGhlD,CAAD,IAAO,KAAK09D,SAAL,CAAez+D,IAAf,CAAoBe,CAApB,CAD4B;AAE5C4V,UAAAA,OAAO,EAAE;AAFmC,SADhD,EAKKkH,GALL,CAKS,QALT,EAKmB;AACfkoC,UAAAA,OAAO,EAAGhlD,CAAD,IAAO,KAAKwqE,MAAL,CAAYvrE,IAAZ,CAAiBe,CAAjB,CADD;AAEf;AACA;AACA4V,UAAAA,OAAO,EAAE;AAJM,SALnB,EAWI;AACA;AACA;AACA;AAdJ,SAeKkH,GAfL,CAeS,aAfT,EAewB;AACpBkoC,UAAAA,OAAO,EAAE,KAAKylB,4BADM;AAEpB70D,UAAAA,OAAO,EAAEq0D;AAFW,SAfxB,EALwC,CAwBxC;AACA;;;AACA,YAAI,CAAC7N,YAAL,EAAmB;AACf,eAAKkO,gBAAL,CAAsBxtD,GAAtB,CAA0B,WAA1B,EAAuC;AACnCkoC,YAAAA,OAAO,EAAGhlD,CAAD,IAAO,KAAKy9D,WAAL,CAAiBx+D,IAAjB,CAAsBe,CAAtB,CADmB;AAEnC4V,YAAAA,OAAO,EAAEq0D;AAF0B,WAAvC;AAIH;;AACD,aAAK7tB,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACjC,eAAKoqE,gBAAL,CAAsBtyD,OAAtB,CAA8B,CAACxV,MAAD,EAASkT,IAAT,KAAkB;AAC5C,iBAAK/L,SAAL,CAAexJ,gBAAf,CAAgCuV,IAAhC,EAAsClT,MAAM,CAACwiD,OAA7C,EAAsDxiD,MAAM,CAACoT,OAA7D;AACH,WAFD;AAGH,SAJD;AAKH;AACJ;AACD;;;AACAgmD,IAAAA,YAAY,CAAC98D,IAAD,EAAO;AACf,YAAMw6B,KAAK,GAAG,KAAK+wC,oBAAL,CAA0BntD,OAA1B,CAAkCpe,IAAlC,CAAd;;AACA,UAAIw6B,KAAK,GAAG,CAAC,CAAb,EAAgB;AACZ,aAAK+wC,oBAAL,CAA0BloD,MAA1B,CAAiCmX,KAAjC,EAAwC,CAAxC;;AACA,YAAI,KAAK+wC,oBAAL,CAA0B/wE,MAA1B,KAAqC,CAAzC,EAA4C;AACxC,eAAKqxE,qBAAL;AACH;AACJ;AACJ;AACD;;;AACA5S,IAAAA,UAAU,CAACj5D,IAAD,EAAO;AACb,aAAO,KAAKurE,oBAAL,CAA0BntD,OAA1B,CAAkCpe,IAAlC,IAA0C,CAAC,CAAlD;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI6+D,IAAAA,QAAQ,CAACjB,UAAD,EAAa;AACjB,YAAMkO,OAAO,GAAG,CAAC,KAAKJ,MAAN,CAAhB;;AACA,UAAI9N,UAAU,IAAIA,UAAU,KAAK,KAAK/yD,SAAtC,EAAiD;AAC7C;AACA;AACA;AACAihE,QAAAA,OAAO,CAAC1yD,IAAR,CAAa,IAAI64C,4CAAJ,CAAgB8Z,QAAD,IAAc;AACtC,iBAAO,KAAKzuB,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACxC,kBAAM4qE,YAAY,GAAG,IAArB;;AACA,kBAAM3uD,QAAQ,GAAIzO,KAAD,IAAW;AACxB,kBAAI,KAAK28D,oBAAL,CAA0B/wE,MAA9B,EAAsC;AAClCuxE,gBAAAA,QAAQ,CAAC5rE,IAAT,CAAcyO,KAAd;AACH;AACJ,aAJD;;AAKAgvD,YAAAA,UAAU,CAACv8D,gBAAX,CAA4B,QAA5B,EAAsCgc,QAAtC,EAAgD2uD,YAAhD;AACA,mBAAO,MAAM;AACTpO,cAAAA,UAAU,CAACl8D,mBAAX,CAA+B,QAA/B,EAAyC2b,QAAzC,EAAmD2uD,YAAnD;AACH,aAFD;AAGH,WAXM,CAAP;AAYH,SAbY,CAAb;AAcH;;AACD,aAAOr3E,2CAAK,CAAC,GAAGm3E,OAAJ,CAAZ;AACH;;AACD5rE,IAAAA,WAAW,GAAG;AACV,WAAKorE,cAAL,CAAoBpyD,OAApB,CAA4BrL,QAAQ,IAAI,KAAKouD,cAAL,CAAoBpuD,QAApB,CAAxC;;AACA,WAAKw9D,cAAL,CAAoBnyD,OAApB,CAA4BrL,QAAQ,IAAI,KAAK+4D,mBAAL,CAAyB/4D,QAAzB,CAAxC;;AACA,WAAKg+D,qBAAL;;AACA,WAAKlN,WAAL,CAAiBv+D,QAAjB;AACA,WAAKw+D,SAAL,CAAex+D,QAAf;AACH;AACD;;;AACAyrE,IAAAA,qBAAqB,GAAG;AACpB,WAAKL,gBAAL,CAAsBtyD,OAAtB,CAA8B,CAACxV,MAAD,EAASkT,IAAT,KAAkB;AAC5C,aAAK/L,SAAL,CAAenJ,mBAAf,CAAmCkV,IAAnC,EAAyClT,MAAM,CAACwiD,OAAhD,EAAyDxiD,MAAM,CAACoT,OAAhE;AACH,OAFD;;AAGA,WAAK00D,gBAAL,CAAsBj9C,KAAtB;AACH;;AAlMkB;;AAoMvB68C,EAAAA,gBAAgB,CAAChtE,IAAjB,GAAwB,SAAS6tE,wBAAT,CAAkC3tE,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAI8sE,gBAAV,EAA4Bv1E,uDAAA,CAAgBA,kDAAhB,CAA5B,EAA4DA,uDAAA,CAAgBvD,sDAAhB,CAA5D,CAAP;AAAgG,GAA/J;;AACA84E,EAAAA,gBAAgB,CAAC5jE,KAAjB,GAAyBwqC,iEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASskE,wBAAT,GAAoC;AAAE,aAAO,IAAIb,gBAAJ,CAAqBp5B,uDAAA,CAAYA,kDAAZ,CAArB,EAA6CA,uDAAA,CAAYqB,sDAAZ,CAA7C,CAAP;AAAgF,KAAjI;AAAmI3rC,IAAAA,KAAK,EAAE0jE,gBAA1I;AAA4Jp0B,IAAAA,UAAU,EAAE;AAAxK,GAAtB,CAAzB;SArMMo0B;;;AA0MN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOxrE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMssE,cAAc,GAAG;AACnBxT,EAAAA,kBAAkB,EAAE,CADD;AAEnBuK,EAAAA,+BAA+B,EAAE;AAFd,CAAvB;AAIA;AACA;AACA;;IACMkJ;AAAN,QAAMA,QAAN,CAAe;AACXrvE,IAAAA,WAAW,CAAC+N,SAAD,EAAYyyC,OAAZ,EAAqBiX,cAArB,EAAqCgC,iBAArC,EAAwD;AAC/D,WAAK1rD,SAAL,GAAiBA,SAAjB;AACA,WAAKyyC,OAAL,GAAeA,OAAf;AACA,WAAKiX,cAAL,GAAsBA,cAAtB;AACA,WAAKgC,iBAAL,GAAyBA,iBAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI6V,IAAAA,UAAU,CAAC36D,OAAD,EAAU/N,MAAM,GAAGwoE,cAAnB,EAAmC;AACzC,aAAO,IAAI7V,OAAJ,CAAY5kD,OAAZ,EAAqB/N,MAArB,EAA6B,KAAKmH,SAAlC,EAA6C,KAAKyyC,OAAlD,EAA2D,KAAKiX,cAAhE,EAAgF,KAAKgC,iBAArF,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI8V,IAAAA,cAAc,CAAC56D,OAAD,EAAU;AACpB,aAAO,IAAI0zD,WAAJ,CAAgB1zD,OAAhB,EAAyB,KAAK8kD,iBAA9B,EAAiD,KAAK1rD,SAAtD,EAAiE,KAAKyyC,OAAtE,EAA+E,KAAKiX,cAApF,CAAP;AACH;;AArBU;;AAuBf4X,EAAAA,QAAQ,CAAC/tE,IAAT,GAAgB,SAASkuE,gBAAT,CAA0BhuE,CAA1B,EAA6B;AAAE,WAAO,KAAKA,CAAC,IAAI6tE,QAAV,EAAoBt2E,uDAAA,CAAgBvD,sDAAhB,CAApB,EAA+CuD,uDAAA,CAAgBA,kDAAhB,CAA/C,EAA+EA,uDAAA,CAAgBC,kEAAhB,CAA/E,EAAsHD,uDAAA,CAAgBu1E,gBAAhB,CAAtH,CAAP;AAAkK,GAAjN;;AACAe,EAAAA,QAAQ,CAAC3kE,KAAT,GAAiBwqC,iEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAAS2kE,gBAAT,GAA4B;AAAE,aAAO,IAAIH,QAAJ,CAAan6B,uDAAA,CAAYqB,sDAAZ,CAAb,EAAuCrB,uDAAA,CAAYA,kDAAZ,CAAvC,EAA+DA,uDAAA,CAAYD,kEAAZ,CAA/D,EAA8FC,uDAAA,CAAYo5B,gBAAZ,CAA9F,CAAP;AAAsI,KAA/K;AAAiL1jE,IAAAA,KAAK,EAAEykE,QAAxL;AAAkMn1B,IAAAA,UAAU,EAAE;AAA9M,GAAtB,CAAjB;SAxBMm1B;;;AA+BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOvsE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMoG,CANnH;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2sE,eAAe,gBAAG,IAAIv5E,0DAAJ,CAAmB,iBAAnB,CAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMw5E,mBAAmB,gBAAG,IAAIx5E,0DAAJ,CAAmB,kBAAnB,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;;IACMy5E;AAAN,QAAMA,gBAAN,CAAuB;AACnB3vE,IAAAA,WAAW,GAAG;AACV;AACA,WAAKo6C,MAAL,GAAc,IAAIlvB,GAAJ,EAAd;AACA,WAAKpc,SAAL,GAAiB,KAAjB;AACH;AACD;;;AACY,QAARD,QAAQ,GAAG;AAAE,aAAO,KAAKC,SAAZ;AAAwB;;AAC7B,QAARD,QAAQ,CAACzI,KAAD,EAAQ;AAChB,WAAK0I,SAAL,GAAiBxW,4EAAqB,CAAC8N,KAAD,CAAtC;AACH;;AACDhD,IAAAA,WAAW,GAAG;AACV,WAAKg3C,MAAL,CAAY3oB,KAAZ;AACH;;AAbkB;;AAevBk+C,EAAAA,gBAAgB,CAACruE,IAAjB,GAAwB,SAASsuE,wBAAT,CAAkCpuE,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAImuE,gBAAV,GAAP;AAAuC,GAAtG;;AACAA,EAAAA,gBAAgB,CAAC1qE,IAAjB,GAAwB,aAAclM,gEAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAEguE,gBAAR;AAA0B/tE,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,kBAAL,EAAyB,EAAzB,CAAD,CAArC;AAAqEE,IAAAA,MAAM,EAAE;AAAE+M,MAAAA,QAAQ,EAAE,CAAC,0BAAD,EAA6B,UAA7B;AAAZ,KAA7E;AAAqI7B,IAAAA,QAAQ,EAAE,CAAC,kBAAD,CAA/I;AAAqKjF,IAAAA,QAAQ,EAAE,CAAChP,iEAAA,CAA0B,CAAC;AAAEyS,MAAAA,OAAO,EAAEkkE,mBAAX;AAAgCj8D,MAAAA,WAAW,EAAEk8D;AAA7C,KAAD,CAA1B,CAAD;AAA/K,GAAzB,CAAtC;SAhBMA;;;AAoBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO7sE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAUC,CAVhB;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM+sE,eAAe,gBAAG,IAAI35E,0DAAJ,CAAmB,iBAAnB,CAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS45E,iBAAT,CAA2BzmD,IAA3B,EAAiCvP,IAAjC,EAAuC;AACnC,MAAIuP,IAAI,CAACywB,QAAL,KAAkB,CAAtB,EAAyB;AACrB,UAAMh6C,KAAK,CAAE,GAAEga,IAAK,wCAAR,GACP,0BAAyBuP,IAAI,CAAC41B,QAAS,IADjC,CAAX;AAEH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,IAAI8wB,gBAAgB,GAAG,CAAvB;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,aAAa,gBAAG,IAAI95E,0DAAJ,CAAmB,aAAnB,CAAtB;AACA,MAAM2rB,EAAE,GAAG9S,SAAX;AACA;;IACMkhE;AAAN,QAAMA,WAAN,CAAkB;AACdjwE,IAAAA,WAAW;AACX;AACA2U,IAAAA,OAFW,EAEFu7D,QAFE,EAEQniB,kBAFR,EAE4BoiB,iBAF5B,EAE+CtiE,IAF/C,EAEqDuiE,MAFrD,EAE6DxpE,MAF7D,EAEqE;AAC5E,WAAK+N,OAAL,GAAeA,OAAf;AACA,WAAKo5C,kBAAL,GAA0BA,kBAA1B;AACA,WAAKoiB,iBAAL,GAAyBA,iBAAzB;AACA,WAAKtiE,IAAL,GAAYA,IAAZ;AACA,WAAKuiE,MAAL,GAAcA,MAAd;AACA;;AACA,WAAKjtE,UAAL,GAAkB,IAAIvL,yCAAJ,EAAlB;AACA;AACR;AACA;AACA;AACA;;AACQ,WAAKmzE,WAAL,GAAmB,EAAnB;AACA;AACR;AACA;AACA;;AACQ,WAAKv0D,EAAL,GAAW,iBAAgBu5D,gBAAgB,EAAG,EAA9C;AACA;AACR;AACA;AACA;;AACQ,WAAKvH,cAAL,GAAsB,MAAM,IAA5B;AACA;;;AACA,WAAKC,aAAL,GAAqB,MAAM,IAA3B;AACA;;;AACA,WAAK3N,OAAL,GAAe,IAAIplE,wDAAJ,EAAf;AACA;AACR;AACA;;AACQ,WAAKklE,OAAL,GAAe,IAAIllE,wDAAJ,EAAf;AACA;AACR;AACA;AACA;;AACQ,WAAKmlE,MAAL,GAAc,IAAInlE,wDAAJ,EAAd;AACA;;AACA,WAAKgzE,MAAL,GAAc,IAAIhzE,wDAAJ,EAAd;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,WAAK26E,cAAL,GAAsB,IAAInlD,GAAJ,EAAtB;;AACA,UAAI,OAAOpoB,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/CgtE,QAAAA,iBAAiB,CAACn7D,OAAO,CAACD,aAAT,EAAwB,aAAxB,CAAjB;AACH;;AACD,WAAK47D,YAAL,GAAoBJ,QAAQ,CAACX,cAAT,CAAwB56D,OAAxB,CAApB;AACA,WAAK27D,YAAL,CAAkB1zE,IAAlB,GAAyB,IAAzB;;AACA,UAAIgK,MAAJ,EAAY;AACR,aAAK2pE,eAAL,CAAqB3pE,MAArB;AACH;;AACD,WAAK0pE,YAAL,CAAkB9H,cAAlB,GAAmC,CAACtlE,IAAD,EAAO0/D,IAAP,KAAgB;AAC/C,eAAO,KAAK4F,cAAL,CAAoBtlE,IAAI,CAACtG,IAAzB,EAA+BgmE,IAAI,CAAChmE,IAApC,CAAP;AACH,OAFD;;AAGA,WAAK0zE,YAAL,CAAkB7H,aAAlB,GACI,CAAC/qC,KAAD,EAAQx6B,IAAR,EAAc0/D,IAAd,KAAuB;AACnB,eAAO,KAAK6F,aAAL,CAAmB/qC,KAAnB,EAA0Bx6B,IAAI,CAACtG,IAA/B,EAAqCgmE,IAAI,CAAChmE,IAA1C,CAAP;AACH,OAHL;;AAIA,WAAK4zE,2BAAL,CAAiC,KAAKF,YAAtC;;AACA,WAAKG,aAAL,CAAmB,KAAKH,YAAxB;;AACAL,MAAAA,WAAW,CAACS,UAAZ,CAAuBp0D,IAAvB,CAA4B,IAA5B;;AACA,UAAI8zD,MAAJ,EAAY;AACRA,QAAAA,MAAM,CAACh2B,MAAP,CAAc9sB,GAAd,CAAkB,IAAlB;AACH;AACJ;AACD;;;AACY,QAARze,QAAQ,GAAG;AACX,aAAO,KAAKC,SAAL,IAAmB,CAAC,CAAC,KAAKshE,MAAP,IAAiB,KAAKA,MAAL,CAAYvhE,QAAvD;AACH;;AACW,QAARA,QAAQ,CAACzI,KAAD,EAAQ;AAChB;AACA;AACA;AACA;AACA,WAAKkqE,YAAL,CAAkBzhE,QAAlB,GAA6B,KAAKC,SAAL,GAAiBxW,4EAAqB,CAAC8N,KAAD,CAAnE;AACH;AACD;;;AACAuqE,IAAAA,OAAO,CAACxpD,IAAD,EAAO;AACV,WAAKkpD,cAAL,CAAoB/iD,GAApB,CAAwBnG,IAAxB;;AACA,UAAI,KAAKmpD,YAAL,CAAkBnU,UAAlB,EAAJ,EAAoC;AAChC,aAAKyU,iBAAL;AACH;AACJ;AACD;;;AACAC,IAAAA,UAAU,CAAC1pD,IAAD,EAAO;AACb,WAAKkpD,cAAL,CAAoB/+C,MAApB,CAA2BnK,IAA3B;;AACA,UAAI,KAAKmpD,YAAL,CAAkBnU,UAAlB,EAAJ,EAAoC;AAChC,aAAKyU,iBAAL;AACH;AACJ;AACD;;;AACAE,IAAAA,cAAc,GAAG;AACb,aAAOlqD,KAAK,CAACqf,IAAN,CAAW,KAAKoqC,cAAhB,EAAgCttC,IAAhC,CAAqC,CAAC9lC,CAAD,EAAIF,CAAJ,KAAU;AAClD,cAAMg0E,gBAAgB,GAAG9zE,CAAC,CAAC+zE,QAAF,CAAWhT,iBAAX,GAA+BiT,uBAA/B,CAAuDl0E,CAAC,CAACi0E,QAAF,CAAWhT,iBAAX,EAAvD,CAAzB,CADkD,CAElD;AACA;AACA;;;AACA,eAAO+S,gBAAgB,GAAG9sB,IAAI,CAACitB,2BAAxB,GAAsD,CAAC,CAAvD,GAA2D,CAAlE;AACH,OANM,CAAP;AAOH;;AACD9tE,IAAAA,WAAW,GAAG;AACV,YAAMs6B,KAAK,GAAGuyC,WAAW,CAACS,UAAZ,CAAuBpvD,OAAvB,CAA+B,IAA/B,CAAd;;AACA,UAAIoc,KAAK,GAAG,CAAC,CAAb,EAAgB;AACZuyC,QAAAA,WAAW,CAACS,UAAZ,CAAuBnqD,MAAvB,CAA8BmX,KAA9B,EAAqC,CAArC;AACH;;AACD,UAAI,KAAK0yC,MAAT,EAAiB;AACb,aAAKA,MAAL,CAAYh2B,MAAZ,CAAmB9oB,MAAnB,CAA0B,IAA1B;AACH;;AACD,WAAK++C,cAAL,CAAoB5+C,KAApB;;AACA,WAAK6+C,YAAL,CAAkB5gE,OAAlB;;AACA,WAAKvM,UAAL,CAAgBE,IAAhB;;AACA,WAAKF,UAAL,CAAgBG,QAAhB;AACH;AACD;;;AACAktE,IAAAA,2BAA2B,CAACW,GAAD,EAAM;AAC7B,UAAI,KAAKtjE,IAAT,EAAe;AACX,aAAKA,IAAL,CAAUmtC,MAAV,CACKh1C,IADL,CACUovD,0DAAS,CAAC,KAAKvnD,IAAL,CAAUzH,KAAX,CADnB,EACsCpO,yDAAS,CAAC,KAAKmL,UAAN,CAD/C,EAEK8C,SAFL,CAEeG,KAAK,IAAI+qE,GAAG,CAAC5R,aAAJ,CAAkBn5D,KAAlB,CAFxB;AAGH;;AACD+qE,MAAAA,GAAG,CAAC3W,aAAJ,CAAkBv0D,SAAlB,CAA4B,MAAM;AAC9B,cAAMulE,QAAQ,GAAGnb,kEAAW,CAAC,KAAK0a,WAAN,CAAX,CAA8BjqD,GAA9B,CAAkC8hD,IAAI,IAAI;AACvD,cAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC1B,kBAAMwO,qBAAqB,GAAGnB,WAAW,CAACS,UAAZ,CAAuBrgD,IAAvB,CAA4BghD,IAAI,IAAIA,IAAI,CAAC76D,EAAL,KAAYosD,IAAhD,CAA9B;;AACA,gBAAI,CAACwO,qBAAD,KAA2B,OAAOtuE,SAAP,KAAqB,WAArB,IAAoCA,SAA/D,CAAJ,EAA+E;AAC3E6vC,cAAAA,OAAO,CAACC,IAAR,CAAc,2DAA0DgwB,IAAK,GAA7E;AACH;;AACD,mBAAOwO,qBAAP;AACH;;AACD,iBAAOxO,IAAP;AACH,SATgB,CAAjB;;AAUA,YAAI,KAAKwN,MAAT,EAAiB;AACb,eAAKA,MAAL,CAAYh2B,MAAZ,CAAmBh+B,OAAnB,CAA2BwmD,IAAI,IAAI;AAC/B,gBAAI4I,QAAQ,CAAClqD,OAAT,CAAiBshD,IAAjB,MAA2B,CAAC,CAAhC,EAAmC;AAC/B4I,cAAAA,QAAQ,CAAClvD,IAAT,CAAcsmD,IAAd;AACH;AACJ,WAJD;AAKH,SAjB6B,CAkB9B;AACA;;;AACA,YAAI,CAAC,KAAK0O,0BAAV,EAAsC;AAClC,gBAAMC,iBAAiB,GAAG,KAAKpB,iBAAL,CACrBqB,2BADqB,CACO,KAAK78D,OADZ,EAErBmM,GAFqB,CAEjB2wD,UAAU,IAAIA,UAAU,CAACC,aAAX,GAA2Bh9D,aAFxB,CAA1B;;AAGA,eAAK47D,YAAL,CAAkB1G,qBAAlB,CAAwC2H,iBAAxC,EAJkC,CAKlC;AACA;;;AACA,eAAKD,0BAAL,GAAkC,IAAlC;AACH;;AACDH,QAAAA,GAAG,CAACtiE,QAAJ,GAAe,KAAKA,QAApB;AACAsiE,QAAAA,GAAG,CAAC/L,QAAJ,GAAe,KAAKA,QAApB;AACA+L,QAAAA,GAAG,CAAChO,eAAJ,GAAsB7qE,4EAAqB,CAAC,KAAK6qE,eAAN,CAA3C;AACAgO,QAAAA,GAAG,CAAC7I,kBAAJ,GAAyBhwE,4EAAqB,CAAC,KAAKgwE,kBAAN,CAA9C;AACA6I,QAAAA,GAAG,CAAC5I,cAAJ,GAAqBrY,2EAAoB,CAAC,KAAKqY,cAAN,EAAsB,CAAtB,CAAzC;AACA4I,QAAAA,GAAG,CACEpG,WADL,CACiBS,QAAQ,CAACpzE,MAAT,CAAgBwqE,IAAI,IAAIA,IAAI,IAAIA,IAAI,KAAK,IAAzC,EAA+C9hD,GAA/C,CAAmDuwD,IAAI,IAAIA,IAAI,CAACf,YAAhE,CADjB,EAEKtF,eAFL,CAEqB,KAAKC,WAF1B;AAGH,OArCD;AAsCH;AACD;;;AACAwF,IAAAA,aAAa,CAACU,GAAD,EAAM;AACfA,MAAAA,GAAG,CAAC3W,aAAJ,CAAkBv0D,SAAlB,CAA4B,MAAM;AAC9B,aAAK2qE,iBAAL;;AACA,aAAK7iB,kBAAL,CAAwB52C,YAAxB;AACH,OAHD;AAIAg6D,MAAAA,GAAG,CAACvW,OAAJ,CAAY30D,SAAZ,CAAsB6L,KAAK,IAAI;AAC3B,aAAK8oD,OAAL,CAAav5D,IAAb,CAAkB;AACd26D,UAAAA,SAAS,EAAE,IADG;AAEd70C,UAAAA,IAAI,EAAErV,KAAK,CAACqV,IAAN,CAAWvqB,IAFH;AAGd+0D,UAAAA,YAAY,EAAE7/C,KAAK,CAAC6/C;AAHN,SAAlB;AAKH,OAND;AAOAwf,MAAAA,GAAG,CAACtW,MAAJ,CAAW50D,SAAX,CAAqB6L,KAAK,IAAI;AAC1B,aAAK+oD,MAAL,CAAYx5D,IAAZ,CAAiB;AACb26D,UAAAA,SAAS,EAAE,IADE;AAEb70C,UAAAA,IAAI,EAAErV,KAAK,CAACqV,IAAN,CAAWvqB;AAFJ,SAAjB;;AAIA,aAAKmxD,kBAAL,CAAwB52C,YAAxB;AACH,OAND;AAOAg6D,MAAAA,GAAG,CAACzI,MAAJ,CAAWziE,SAAX,CAAqB6L,KAAK,IAAI;AAC1B,aAAK42D,MAAL,CAAYrnE,IAAZ,CAAiB;AACbywD,UAAAA,aAAa,EAAEhgD,KAAK,CAACggD,aADR;AAEbH,UAAAA,YAAY,EAAE7/C,KAAK,CAAC6/C,YAFP;AAGbqK,UAAAA,SAAS,EAAE,IAHE;AAIb70C,UAAAA,IAAI,EAAErV,KAAK,CAACqV,IAAN,CAAWvqB;AAJJ,SAAjB;AAMH,OAPD;AAQAu0E,MAAAA,GAAG,CAACrW,OAAJ,CAAY70D,SAAZ,CAAsB6L,KAAK,IAAI;AAC3B,aAAKgpD,OAAL,CAAaz5D,IAAb,CAAkB;AACdywD,UAAAA,aAAa,EAAEhgD,KAAK,CAACggD,aADP;AAEdH,UAAAA,YAAY,EAAE7/C,KAAK,CAAC6/C,YAFN;AAGdgR,UAAAA,iBAAiB,EAAE7wD,KAAK,CAAC6wD,iBAAN,CAAwB/lE,IAH7B;AAIdo/D,UAAAA,SAAS,EAAElqD,KAAK,CAACkqD,SAAN,CAAgBp/D,IAJb;AAKduqB,UAAAA,IAAI,EAAErV,KAAK,CAACqV,IAAN,CAAWvqB,IALH;AAMd6lE,UAAAA,sBAAsB,EAAE3wD,KAAK,CAAC2wD,sBANhB;AAOdtF,UAAAA,QAAQ,EAAErrD,KAAK,CAACqrD,QAPF;AAQdoD,UAAAA,SAAS,EAAEzuD,KAAK,CAACyuD;AARH,SAAlB,EAD2B,CAW3B;AACA;;AACA,aAAKxS,kBAAL,CAAwB52C,YAAxB;AACH,OAdD;AAeH;AACD;;;AACAo5D,IAAAA,eAAe,CAAC3pE,MAAD,EAAS;AACpB,YAAM;AAAEw+D,QAAAA,QAAF;AAAYuM,QAAAA,gBAAZ;AAA8BxO,QAAAA,eAA9B;AAA+CyO,QAAAA,sBAA/C;AAAuEC,QAAAA;AAAvE,UAA2FjrE,MAAjG;AACA,WAAKiI,QAAL,GAAgB8iE,gBAAgB,IAAI,IAApB,GAA2B,KAA3B,GAAmCA,gBAAnD;AACA,WAAKxO,eAAL,GAAuBA,eAAe,IAAI,IAAnB,GAA0B,KAA1B,GAAkCA,eAAzD;AACA,WAAKmF,kBAAL,GAA0BsJ,sBAAsB,IAAI,IAA1B,GAAiC,KAAjC,GAAyCA,sBAAnE;AACA,WAAK3G,WAAL,GAAmB4G,eAAe,IAAI,UAAtC;;AACA,UAAIzM,QAAJ,EAAc;AACV,aAAKA,QAAL,GAAgBA,QAAhB;AACH;AACJ;AACD;;;AACAwL,IAAAA,iBAAiB,GAAG;AAChB,WAAKN,YAAL,CAAkB3F,SAAlB,CAA4B,KAAKmG,cAAL,GAAsBhwD,GAAtB,CAA0BqG,IAAI,IAAIA,IAAI,CAAC6pD,QAAvC,CAA5B;AACH;;AAhOa;;AAkOlBf,EAAAA,WAAW,CAAC3uE,IAAZ,GAAmB,SAASwwE,mBAAT,CAA6BtwE,CAA7B,EAAgC;AAAE,WAAO,KAAKA,CAAC,IAAIyuE,WAAV,EAAuBl3E,gEAAA,CAAyBA,sDAAzB,CAAvB,EAAoEA,gEAAA,CAAyBs2E,QAAzB,CAApE,EAAwGt2E,gEAAA,CAAyBA,6DAAzB,CAAxG,EAA4JA,gEAAA,CAAyBC,qEAAzB,CAA5J,EAA+MD,gEAAA,CAAyBE,8DAAzB,EAAgD,CAAhD,CAA/M,EAAmQF,gEAAA,CAAyB22E,mBAAzB,EAA8C,EAA9C,CAAnQ,EAAsT32E,gEAAA,CAAyB82E,eAAzB,EAA0C,CAA1C,CAAtT,CAAP;AAA6W,GAAla;;AACAI,EAAAA,WAAW,CAAChrE,IAAZ,GAAmB,aAAclM,gEAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAEsuE,WAAR;AAAqBruE,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,aAAL,EAAoB,EAApB,CAAD,EAA0B,CAAC,eAAD,CAA1B,CAAhC;AAA8EC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,eAAJ,CAAzF;AAA+G4K,IAAAA,QAAQ,EAAE,CAAzH;AAA4HC,IAAAA,YAAY,EAAE,SAASqlE,wBAAT,CAAkCn4E,EAAlC,EAAsCC,GAAtC,EAA2C;AAAE,UAAID,EAAE,GAAG,CAAT,EAAY;AACrPb,QAAAA,0DAAA,CAAmB,IAAnB,EAAyBc,GAAG,CAAC2c,EAA7B;AACAzd,QAAAA,0DAAA,CAAmB,wBAAnB,EAA6Cc,GAAG,CAACgV,QAAjD,EAA2D,wBAA3D,EAAqFhV,GAAG,CAACy2E,YAAJ,CAAiBnU,UAAjB,EAArF,EAAoH,yBAApH,EAA+ItiE,GAAG,CAACy2E,YAAJ,CAAiBlU,WAAjB,EAA/I;AACH;AAAE,KAHmD;AAGjDt6D,IAAAA,MAAM,EAAE;AAAEipE,MAAAA,WAAW,EAAE,CAAC,wBAAD,EAA2B,aAA3B,CAAf;AAA0Dv0D,MAAAA,EAAE,EAAE,IAA9D;AAAoEgyD,MAAAA,cAAc,EAAE,CAAC,2BAAD,EAA8B,gBAA9B,CAApF;AAAqIC,MAAAA,aAAa,EAAE,CAAC,0BAAD,EAA6B,eAA7B,CAApJ;AAAmM55D,MAAAA,QAAQ,EAAE,CAAC,qBAAD,EAAwB,UAAxB,CAA7M;AAAkPs0D,MAAAA,eAAe,EAAE,CAAC,4BAAD,EAA+B,iBAA/B,CAAnQ;AAAsTmF,MAAAA,kBAAkB,EAAE,CAAC,+BAAD,EAAkC,oBAAlC,CAA1U;AAAmY2C,MAAAA,WAAW,EAAE,CAAC,wBAAD,EAA2B,aAA3B,CAAhZ;AAA2b7F,MAAAA,QAAQ,EAAE,CAAC,qBAAD,EAAwB,UAAxB,CAArc;AAA0exoE,MAAAA,IAAI,EAAE,CAAC,iBAAD,EAAoB,MAApB,CAAhf;AAA6gB2rE,MAAAA,cAAc,EAAE,CAAC,2BAAD,EAA8B,gBAA9B;AAA7hB,KAHyC;AAGuiBxmE,IAAAA,OAAO,EAAE;AAAE+4D,MAAAA,OAAO,EAAE,oBAAX;AAAiCF,MAAAA,OAAO,EAAE,oBAA1C;AAAgEC,MAAAA,MAAM,EAAE,mBAAxE;AAA6F6N,MAAAA,MAAM,EAAE;AAArG,KAHhjB;AAG4qB17D,IAAAA,QAAQ,EAAE,CAAC,aAAD,CAHtrB;AAGusBjF,IAAAA,QAAQ,EAAE,CAAChP,iEAAA,CAA0B,CAC1xB;AACA;AAAEyS,MAAAA,OAAO,EAAEkkE,mBAAX;AAAgC9gB,MAAAA,QAAQ,EAAE/sC;AAA1C,KAF0xB,EAG1xB;AAAErW,MAAAA,OAAO,EAAEwkE,aAAX;AAA0Bv8D,MAAAA,WAAW,EAAEw8D;AAAvC,KAH0xB,CAA1B,CAAD;AAHjtB,GAAzB,CAAjC;AAQA;;AACAA,EAAAA,WAAW,CAACS,UAAZ,GAAyB,EAAzB;SA5OMT;;;AAuQN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOntE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA4EC,CA5EhB;AA8EA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMkvE,eAAe,gBAAG,IAAI97E,0DAAJ,CAAmB,eAAnB,CAAxB;AACA;;IACM+7E;AAAN,QAAMA,aAAN,CAAoB;AAChBjyE,IAAAA,WAAW,CAAC2U,OAAD,EAAUu9D,UAAV,EAAsB;AAC7B,WAAKv9D,OAAL,GAAeA,OAAf;AACA;;AACA,WAAKiC,aAAL,GAAqB,IAAIhf,yCAAJ,EAArB;AACA,WAAKkX,SAAL,GAAiB,KAAjB;;AACA,UAAI,OAAOhM,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/CgtE,QAAAA,iBAAiB,CAACn7D,OAAO,CAACD,aAAT,EAAwB,eAAxB,CAAjB;AACH;;AACD,WAAKy9D,WAAL,GAAmBD,UAAnB;AACH;AACD;;;AACY,QAARrjE,QAAQ,GAAG;AAAE,aAAO,KAAKC,SAAZ;AAAwB;;AAC7B,QAARD,QAAQ,CAACzI,KAAD,EAAQ;AAChB,WAAK0I,SAAL,GAAiBxW,4EAAqB,CAAC8N,KAAD,CAAtC;;AACA,WAAKwQ,aAAL,CAAmBvT,IAAnB,CAAwB,IAAxB;AACH;;AACDD,IAAAA,WAAW,GAAG;AACV,WAAKwT,aAAL,CAAmBtT,QAAnB;AACH;;AAnBe;;AAqBpB2uE,EAAAA,aAAa,CAAC3wE,IAAd,GAAqB,SAAS8wE,qBAAT,CAA+B5wE,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAIywE,aAAV,EAAyBl5E,gEAAA,CAAyBA,sDAAzB,CAAzB,EAAsEA,gEAAA,CAAyB02E,eAAzB,EAA0C,EAA1C,CAAtE,CAAP;AAA8H,GAAvL;;AACAwC,EAAAA,aAAa,CAAChtE,IAAd,GAAqB,aAAclM,gEAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAEswE,aAAR;AAAuBrwE,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAAD,CAAlC;AAA+DC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,iBAAJ,CAA1E;AAAkGC,IAAAA,MAAM,EAAE;AAAE+M,MAAAA,QAAQ,EAAE,CAAC,uBAAD,EAA0B,UAA1B;AAAZ,KAA1G;AAA+J9G,IAAAA,QAAQ,EAAE,CAAChP,iEAAA,CAA0B,CAAC;AAAEyS,MAAAA,OAAO,EAAEwmE,eAAX;AAA4Bv+D,MAAAA,WAAW,EAAEw+D;AAAzC,KAAD,CAA1B,CAAD;AAAzK,GAAzB,CAAnC;SAtBMA;;;AA8BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOnvE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAmBC,CAnBhB;AAqBA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMuvE,oBAAoB,gBAAG,IAAIn8E,0DAAJ,CAAmB,oBAAnB,CAA7B;AACA;AACA;AACA;AACA;;IACMo8E;AAAN,QAAMA,kBAAN,CAAyB;AACrBtyE,IAAAA,WAAW,CAACiyD,WAAD,EAAc;AACrB,WAAKA,WAAL,GAAmBA,WAAnB;AACH;;AAHoB;;AAKzBqgB,EAAAA,kBAAkB,CAAChxE,IAAnB,GAA0B,SAASixE,0BAAT,CAAoC/wE,CAApC,EAAuC;AAAE,WAAO,KAAKA,CAAC,IAAI8wE,kBAAV,EAA8Bv5E,gEAAA,CAAyBA,uDAAzB,CAA9B,CAAP;AAAqF,GAAxJ;;AACAu5E,EAAAA,kBAAkB,CAACrtE,IAAnB,GAA0B,aAAclM,gEAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAE2wE,kBAAR;AAA4B1wE,IAAAA,SAAS,EAAE,CAAC,CAAC,aAAD,EAAgB,oBAAhB,EAAsC,EAAtC,CAAD,CAAvC;AAAoFE,IAAAA,MAAM,EAAE;AAAElF,MAAAA,IAAI,EAAE;AAAR,KAA5F;AAA8GmL,IAAAA,QAAQ,EAAE,CAAChP,iEAAA,CAA0B,CAAC;AAAEyS,MAAAA,OAAO,EAAE6mE,oBAAX;AAAiC5+D,MAAAA,WAAW,EAAE6+D;AAA9C,KAAD,CAA1B,CAAD;AAAxH,GAAzB,CAAxC;SANMA;;;AAaN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOxvE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAQC,CARhB;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM0vE,gBAAgB,gBAAG,IAAIt8E,0DAAJ,CAAmB,gBAAnB,CAAzB;AACA;AACA;AACA;AACA;;IACMu8E;AAAN,QAAMA,cAAN,CAAqB;AACjBzyE,IAAAA,WAAW,CAACiyD,WAAD,EAAc;AACrB,WAAKA,WAAL,GAAmBA,WAAnB;AACA,WAAKygB,UAAL,GAAkB,KAAlB;AACH;AACD;;;AACa,QAATrQ,SAAS,GAAG;AAAE,aAAO,KAAKqQ,UAAZ;AAAyB;;AAC9B,QAATrQ,SAAS,CAACj8D,KAAD,EAAQ;AAAE,WAAKssE,UAAL,GAAkBp6E,4EAAqB,CAAC8N,KAAD,CAAvC;AAAiD;;AAPvD;;AASrBqsE,EAAAA,cAAc,CAACnxE,IAAf,GAAsB,SAASqxE,sBAAT,CAAgCnxE,CAAhC,EAAmC;AAAE,WAAO,KAAKA,CAAC,IAAIixE,cAAV,EAA0B15E,gEAAA,CAAyBA,uDAAzB,CAA1B,CAAP;AAAiF,GAA5I;;AACA05E,EAAAA,cAAc,CAACxtE,IAAf,GAAsB,aAAclM,gEAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAE8wE,cAAR;AAAwB7wE,IAAAA,SAAS,EAAE,CAAC,CAAC,aAAD,EAAgB,gBAAhB,EAAkC,EAAlC,CAAD,CAAnC;AAA4EE,IAAAA,MAAM,EAAE;AAAEugE,MAAAA,SAAS,EAAE,WAAb;AAA0BzlE,MAAAA,IAAI,EAAE;AAAhC,KAApF;AAA8HmL,IAAAA,QAAQ,EAAE,CAAChP,iEAAA,CAA0B,CAAC;AAAEyS,MAAAA,OAAO,EAAEgnE,gBAAX;AAA6B/+D,MAAAA,WAAW,EAAEg/D;AAA1C,KAAD,CAA1B,CAAD;AAAxI,GAAzB,CAApC;SAVMA;;;AAkBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO3vE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAUC,CAVhB;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8vE,eAAe,GAAG,UAAxB;AACA;;IACMC;AAAN,QAAMA,OAAN,CAAc;AACV7yE,IAAAA,WAAW;AACX;AACA2U,IAAAA,OAFW;AAGX;AACA+rD,IAAAA,aAJW;AAKX;AACJ;AACA;AACA;AACI3yD,IAAAA,SATW,EASAyyC,OATA,EASSxyC,iBATT,EAS4BpH,MAT5B,EASoCiH,IATpC,EAS0CqiE,QAT1C,EASoDniB,kBATpD,EASwE+kB,WATxE,EASqFX,WATrF,EASkG;AACzG,WAAKx9D,OAAL,GAAeA,OAAf;AACA,WAAK+rD,aAAL,GAAqBA,aAArB;AACA,WAAKlgB,OAAL,GAAeA,OAAf;AACA,WAAKxyC,iBAAL,GAAyBA,iBAAzB;AACA,WAAKH,IAAL,GAAYA,IAAZ;AACA,WAAKkgD,kBAAL,GAA0BA,kBAA1B;AACA,WAAK+kB,WAAL,GAAmBA,WAAnB;AACA,WAAKX,WAAL,GAAmBA,WAAnB;AACA,WAAKhvE,UAAL,GAAkB,IAAIvL,yCAAJ,EAAlB;AACA;;AACA,WAAK6iE,OAAL,GAAe,IAAI/kE,wDAAJ,EAAf;AACA;;AACA,WAAKglE,QAAL,GAAgB,IAAIhlE,wDAAJ,EAAhB;AACA;;AACA,WAAKilE,KAAL,GAAa,IAAIjlE,wDAAJ,EAAb;AACA;;AACA,WAAKklE,OAAL,GAAe,IAAIllE,wDAAJ,EAAf;AACA;;AACA,WAAKmlE,MAAL,GAAc,IAAInlE,wDAAJ,EAAd;AACA;;AACA,WAAKolE,OAAL,GAAe,IAAIplE,wDAAJ,EAAf;AACA;AACR;AACA;AACA;;AACQ,WAAKqlE,KAAL,GAAa,IAAI5F,4CAAJ,CAAgB8Z,QAAD,IAAc;AACtC,cAAM8D,YAAY,GAAG,KAAK/B,QAAL,CAAcjW,KAAd,CAAoB/0D,IAApB,CAAyB8a,oDAAG,CAACkyD,UAAU,KAAK;AAC7D9e,UAAAA,MAAM,EAAE,IADqD;AAE7DoH,UAAAA,eAAe,EAAE0X,UAAU,CAAC1X,eAFiC;AAG7DxpD,UAAAA,KAAK,EAAEkhE,UAAU,CAAClhE,KAH2C;AAI7D2rC,UAAAA,KAAK,EAAEu1B,UAAU,CAACv1B,KAJ2C;AAK7D0f,UAAAA,QAAQ,EAAE6V,UAAU,CAAC7V;AALwC,SAAL,CAAX,CAA5B,EAMhBl3D,SANgB,CAMNgpE,QANM,CAArB;;AAOA,eAAO,MAAM;AACT8D,UAAAA,YAAY,CAACvjE,WAAb;AACH,SAFD;AAGH,OAXY,CAAb;AAYA,WAAKwhE,QAAL,GAAgBd,QAAQ,CAACZ,UAAT,CAAoB36D,OAApB,EAA6B;AACzCinD,QAAAA,kBAAkB,EAAEh1D,MAAM,IAAIA,MAAM,CAACg1D,kBAAP,IAA6B,IAAvC,GAChBh1D,MAAM,CAACg1D,kBADS,GACY,CAFS;AAGzCuK,QAAAA,+BAA+B,EAAEv/D,MAAM,IAAIA,MAAM,CAACu/D,+BAAP,IAA0C,IAApD,GAC7Bv/D,MAAM,CAACu/D,+BADsB,GACY,CAJJ;AAKzCnC,QAAAA,MAAM,EAAEp9D,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACo9D;AALtB,OAA7B,CAAhB;AAOA,WAAKgN,QAAL,CAAcp0E,IAAd,GAAqB,IAArB,CA7CyG,CA8CzG;AACA;AACA;;AACAi2E,MAAAA,OAAO,CAACrE,cAAR,CAAuBlyD,IAAvB,CAA4B,IAA5B;;AACA,UAAI1V,MAAJ,EAAY;AACR,aAAK2pE,eAAL,CAAqB3pE,MAArB;AACH,OApDwG,CAqDzG;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,UAAI85D,aAAJ,EAAmB;AACf,aAAKsQ,QAAL,CAAcxR,kBAAd,CAAiCkB,aAAa,CAAC4P,YAA/C;;AACA5P,QAAAA,aAAa,CAACiQ,OAAd,CAAsB,IAAtB;AACH;;AACD,WAAKsC,WAAL,CAAiB,KAAKjC,QAAtB;;AACA,WAAKP,aAAL,CAAmB,KAAKO,QAAxB;AACH;AACD;;;AACY,QAARniE,QAAQ,GAAG;AACX,aAAO,KAAKC,SAAL,IAAmB,KAAK4xD,aAAL,IAAsB,KAAKA,aAAL,CAAmB7xD,QAAnE;AACH;;AACW,QAARA,QAAQ,CAACzI,KAAD,EAAQ;AAChB,WAAK0I,SAAL,GAAiBxW,4EAAqB,CAAC8N,KAAD,CAAtC;AACA,WAAK4qE,QAAL,CAAcniE,QAAd,GAAyB,KAAKC,SAA9B;AACH;AACD;AACJ;AACA;AACA;;;AACI+uD,IAAAA,qBAAqB,GAAG;AACpB,aAAO,KAAKmT,QAAL,CAAcnT,qBAAd,EAAP;AACH;AACD;;;AACAE,IAAAA,cAAc,GAAG;AACb,aAAO,KAAKiT,QAAL,CAAcjT,cAAd,EAAP;AACH;AACD;;;AACA7gD,IAAAA,KAAK,GAAG;AACJ,WAAK8zD,QAAL,CAAc9zD,KAAd;AACH;AACD;AACJ;AACA;;;AACIuiD,IAAAA,mBAAmB,GAAG;AAClB,aAAO,KAAKuR,QAAL,CAAcvR,mBAAd,EAAP;AACH;;AACDl8D,IAAAA,eAAe,GAAG;AACd;AACA;AACA,WAAKi9C,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACjC;AACA;AACA;AACA;AACA,aAAKk8C,OAAL,CAAaxvC,QAAb,CACKhL,IADL,CACU7N,qDAAI,CAAC,CAAD,CADd,EACmBH,yDAAS,CAAC,KAAKmL,UAAN,CAD5B,EAEK8C,SAFL,CAEe,MAAM;AACjB,eAAKitE,kBAAL;;AACA,eAAKC,qBAAL;;AACA,cAAI,KAAKC,gBAAT,EAA2B;AACvB,iBAAKpC,QAAL,CAActR,mBAAd,CAAkC,KAAK0T,gBAAvC;AACH;AACJ,SARD;AASH,OAdD;AAeH;;AACD9sE,IAAAA,WAAW,CAACC,OAAD,EAAU;AACjB,YAAM8sE,kBAAkB,GAAG9sE,OAAO,CAAC,qBAAD,CAAlC;AACA,YAAM+sE,cAAc,GAAG/sE,OAAO,CAAC,kBAAD,CAA9B,CAFiB,CAGjB;AACA;;AACA,UAAI8sE,kBAAkB,IAAI,CAACA,kBAAkB,CAAC1sE,WAA9C,EAA2D;AACvD,aAAKusE,kBAAL;AACH,OAPgB,CAQjB;;;AACA,UAAII,cAAc,IAAI,CAACA,cAAc,CAAC3sE,WAAlC,IAAiD,KAAKysE,gBAA1D,EAA4E;AACxE,aAAKpC,QAAL,CAActR,mBAAd,CAAkC,KAAK0T,gBAAvC;AACH;AACJ;;AACDhwE,IAAAA,WAAW,GAAG;AACV,UAAI,KAAKs9D,aAAT,EAAwB;AACpB,aAAKA,aAAL,CAAmBmQ,UAAnB,CAA8B,IAA9B;AACH;;AACD,YAAMnzC,KAAK,GAAGm1C,OAAO,CAACrE,cAAR,CAAuBltD,OAAvB,CAA+B,IAA/B,CAAd;;AACA,UAAIoc,KAAK,GAAG,CAAC,CAAb,EAAgB;AACZm1C,QAAAA,OAAO,CAACrE,cAAR,CAAuBjoD,MAAvB,CAA8BmX,KAA9B,EAAqC,CAArC;AACH,OAPS,CAQV;;;AACA,WAAK8iB,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACjC,aAAKnB,UAAL,CAAgBE,IAAhB;;AACA,aAAKF,UAAL,CAAgBG,QAAhB;;AACA,aAAK0tE,QAAL,CAActhE,OAAd;AACH,OAJD;AAKH;AACD;;;AACAwjE,IAAAA,kBAAkB,GAAG;AACjB,YAAMv+D,OAAO,GAAG,KAAKA,OAAL,CAAaD,aAA7B;AACA,YAAMsd,WAAW,GAAG,KAAKuhD,mBAAL,GAChBC,0BAA0B,CAAC7+D,OAAD,EAAU,KAAK4+D,mBAAf,CADV,GACgD5+D,OADpE;;AAEA,UAAIqd,WAAW,KAAK,OAAOlvB,SAAP,KAAqB,WAArB,IAAoCA,SAAzC,CAAf,EAAoE;AAChEgtE,QAAAA,iBAAiB,CAAC99C,WAAD,EAAc,SAAd,CAAjB;AACH;;AACD,WAAKg/C,QAAL,CAAczT,eAAd,CAA8BvrC,WAAW,IAAIrd,OAA7C;AACH;AACD;;;AACA8+D,IAAAA,mBAAmB,GAAG;AAClB,YAAMC,QAAQ,GAAG,KAAK7U,eAAtB;;AACA,UAAI,CAAC6U,QAAL,EAAe;AACX,eAAO,IAAP;AACH;;AACD,UAAI,OAAOA,QAAP,KAAoB,QAAxB,EAAkC;AAC9B,eAAOF,0BAA0B,CAAC,KAAK7+D,OAAL,CAAaD,aAAd,EAA6Bg/D,QAA7B,CAAjC;AACH;;AACD,YAAM/+D,OAAO,GAAG2hC,oEAAa,CAACo9B,QAAD,CAA7B;;AACA,UAAI,CAAC,OAAO5wE,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACA,CAAC6R,OAAO,CAACyN,QAAR,CAAiB,KAAKzN,OAAL,CAAaD,aAA9B,CADL,EACmD;AAC/C,cAAM5U,KAAK,CAAC,0EAAD,CAAX;AACH;;AACD,aAAO6U,OAAP;AACH;AACD;;;AACAs+D,IAAAA,WAAW,CAAC9B,GAAD,EAAM;AACbA,MAAAA,GAAG,CAAC3W,aAAJ,CAAkBv0D,SAAlB,CAA4B,MAAM;AAC9B,YAAI,CAACkrE,GAAG,CAAChV,UAAJ,EAAL,EAAuB;AACnB,gBAAM/M,GAAG,GAAG,KAAKvhD,IAAjB;AACA,gBAAM0sD,cAAc,GAAG,KAAKA,cAA5B;AACA,gBAAMoG,WAAW,GAAG,KAAKpC,oBAAL,GAA4B;AAC5Cp8D,YAAAA,QAAQ,EAAE,KAAKo8D,oBAAL,CAA0BtM,WADQ;AAE5C3oC,YAAAA,OAAO,EAAE,KAAKi1C,oBAAL,CAA0B3hE,IAFS;AAG5CgnE,YAAAA,aAAa,EAAE,KAAK51D;AAHwB,WAA5B,GAIhB,IAJJ;AAKA,gBAAMy1D,OAAO,GAAG,KAAKpF,gBAAL,GAAwB;AACpCl8D,YAAAA,QAAQ,EAAE,KAAKk8D,gBAAL,CAAsBpM,WADI;AAEpC3oC,YAAAA,OAAO,EAAE,KAAK+0C,gBAAL,CAAsBzhE,IAFK;AAGpCylE,YAAAA,SAAS,EAAE,KAAKhE,gBAAL,CAAsBgE,SAHG;AAIpCuB,YAAAA,aAAa,EAAE,KAAK51D;AAJgB,WAAxB,GAKZ,IALJ;AAMAmjE,UAAAA,GAAG,CAACtiE,QAAJ,GAAe,KAAKA,QAApB;AACAsiE,UAAAA,GAAG,CAAC/L,QAAJ,GAAe,KAAKA,QAApB;AACA+L,UAAAA,GAAG,CAAC5W,cAAJ,GAAsB,OAAOA,cAAP,KAA0B,QAA1B,IAAsCA,cAAvC,GACjBA,cADiB,GACArK,2EAAoB,CAACqK,cAAD,CADzC;AAEA4W,UAAAA,GAAG,CAAC9L,iBAAJ,GAAwB,KAAKA,iBAA7B;AACA8L,UAAAA,GAAG,CAAC3N,YAAJ,GAAmB,KAAKA,YAAxB;AACA2N,UAAAA,GAAG,CACEvS,mBADL,CACyB,KAAK6U,mBAAL,EADzB,EAEKnV,uBAFL,CAE6BqC,WAF7B,EAGKvC,mBAHL,CAGyBqF,OAHzB,EAIK9D,oBAJL,CAI0B,KAAKoH,gBAAL,IAAyB,QAJnD;;AAKA,cAAI3X,GAAJ,EAAS;AACL+hB,YAAAA,GAAG,CAAC5R,aAAJ,CAAkBnQ,GAAG,CAAChpD,KAAtB;AACH;AACJ;AACJ,OA9BD,EADa,CAgCb;;AACA+qE,MAAAA,GAAG,CAAC3W,aAAJ,CAAkBx0D,IAAlB,CAAuB7N,qDAAI,CAAC,CAAD,CAA3B,EAAgC8N,SAAhC,CAA0C,MAAM;AAC5C,YAAI7F,EAAJ,EAAQD,EAAR,CAD4C,CAE5C;;;AACA,YAAI,KAAKgyE,WAAT,EAAsB;AAClBhB,UAAAA,GAAG,CAAC3T,UAAJ,CAAe,KAAK2U,WAAL,CAAiBnB,QAAhC;AACA;AACH,SAN2C,CAO5C;AACA;;;AACA,YAAI3uC,MAAM,GAAG,KAAK1tB,OAAL,CAAaD,aAAb,CAA2B40C,aAAxC;;AACA,eAAOjnB,MAAP,EAAe;AACX;AACA,cAAI,CAACjiC,EAAE,GAAGiiC,MAAM,CAACkJ,SAAb,MAA4B,IAA5B,IAAoCnrC,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAACgiB,QAAH,CAAYwwD,eAAZ,CAAjE,EAA+F;AAC3FzB,YAAAA,GAAG,CAAC3T,UAAJ,CAAe,CAAC,CAACr9D,EAAE,GAAG0yE,OAAO,CAACrE,cAAR,CAAuBn+C,IAAvB,CAA4BntB,IAAI,IAAI;AACtD,qBAAOA,IAAI,CAACyR,OAAL,CAAaD,aAAb,KAA+B2tB,MAAtC;AACH,aAFqB,CAAN,MAER,IAFQ,IAEAliC,EAAE,KAAK,KAAK,CAFZ,GAEgB,KAAK,CAFrB,GAEyBA,EAAE,CAAC6wE,QAF7B,KAE0C,IAFzD;AAGA;AACH;;AACD3uC,UAAAA,MAAM,GAAGA,MAAM,CAACinB,aAAhB;AACH;AACJ,OApBD;AAqBH;AACD;;;AACAmnB,IAAAA,aAAa,CAACU,GAAD,EAAM;AACfA,MAAAA,GAAG,CAAC1W,OAAJ,CAAYx0D,SAAZ,CAAsB,MAAM;AACxB,aAAKw0D,OAAL,CAAap5D,IAAb,CAAkB;AAAE6yD,UAAAA,MAAM,EAAE;AAAV,SAAlB,EADwB,CAExB;AACA;;AACA,aAAKnG,kBAAL,CAAwB52C,YAAxB;AACH,OALD;AAMAg6D,MAAAA,GAAG,CAACzW,QAAJ,CAAaz0D,SAAb,CAAuB,MAAM;AACzB,aAAKy0D,QAAL,CAAcr5D,IAAd,CAAmB;AAAE6yD,UAAAA,MAAM,EAAE;AAAV,SAAnB;AACH,OAFD;AAGAid,MAAAA,GAAG,CAACxW,KAAJ,CAAU10D,SAAV,CAAoB6L,KAAK,IAAI;AACzB,aAAK6oD,KAAL,CAAWt5D,IAAX,CAAgB;AACZ6yD,UAAAA,MAAM,EAAE,IADI;AAEZiJ,UAAAA,QAAQ,EAAErrD,KAAK,CAACqrD,QAFJ;AAGZoD,UAAAA,SAAS,EAAEzuD,KAAK,CAACyuD;AAHL,SAAhB,EADyB,CAMzB;AACA;;AACA,aAAKxS,kBAAL,CAAwB52C,YAAxB;AACH,OATD;AAUAg6D,MAAAA,GAAG,CAACvW,OAAJ,CAAY30D,SAAZ,CAAsB6L,KAAK,IAAI;AAC3B,aAAK8oD,OAAL,CAAav5D,IAAb,CAAkB;AACd26D,UAAAA,SAAS,EAAElqD,KAAK,CAACkqD,SAAN,CAAgBp/D,IADb;AAEduqB,UAAAA,IAAI,EAAE,IAFQ;AAGdwqC,UAAAA,YAAY,EAAE7/C,KAAK,CAAC6/C;AAHN,SAAlB;AAKH,OAND;AAOAwf,MAAAA,GAAG,CAACtW,MAAJ,CAAW50D,SAAX,CAAqB6L,KAAK,IAAI;AAC1B,aAAK+oD,MAAL,CAAYx5D,IAAZ,CAAiB;AACb26D,UAAAA,SAAS,EAAElqD,KAAK,CAACkqD,SAAN,CAAgBp/D,IADd;AAEbuqB,UAAAA,IAAI,EAAE;AAFO,SAAjB;AAIH,OALD;AAMAgqD,MAAAA,GAAG,CAACrW,OAAJ,CAAY70D,SAAZ,CAAsB6L,KAAK,IAAI;AAC3B,aAAKgpD,OAAL,CAAaz5D,IAAb,CAAkB;AACdywD,UAAAA,aAAa,EAAEhgD,KAAK,CAACggD,aADP;AAEdH,UAAAA,YAAY,EAAE7/C,KAAK,CAAC6/C,YAFN;AAGdgR,UAAAA,iBAAiB,EAAE7wD,KAAK,CAAC6wD,iBAAN,CAAwB/lE,IAH7B;AAIdo/D,UAAAA,SAAS,EAAElqD,KAAK,CAACkqD,SAAN,CAAgBp/D,IAJb;AAKd6lE,UAAAA,sBAAsB,EAAE3wD,KAAK,CAAC2wD,sBALhB;AAMdt7C,UAAAA,IAAI,EAAE,IANQ;AAOdg2C,UAAAA,QAAQ,EAAErrD,KAAK,CAACqrD,QAPF;AAQdoD,UAAAA,SAAS,EAAEzuD,KAAK,CAACyuD;AARH,SAAlB;AAUH,OAXD;AAYH;AACD;;;AACAgQ,IAAAA,eAAe,CAAC3pE,MAAD,EAAS;AACpB,YAAM;AAAEw+D,QAAAA,QAAF;AAAY7K,QAAAA,cAAZ;AAA4B8K,QAAAA,iBAA5B;AAA+C7B,QAAAA,YAA/C;AAA6D3E,QAAAA,eAA7D;AAA8E8S,QAAAA,gBAA9E;AAAgG4B,QAAAA,mBAAhG;AAAqHxM,QAAAA;AAArH,UAA0IngE,MAAhJ;AACA,WAAKiI,QAAL,GAAgB8iE,gBAAgB,IAAI,IAApB,GAA2B,KAA3B,GAAmCA,gBAAnD;AACA,WAAKpX,cAAL,GAAsBA,cAAc,IAAI,CAAxC;;AACA,UAAI6K,QAAJ,EAAc;AACV,aAAKA,QAAL,GAAgBA,QAAhB;AACH;;AACD,UAAIC,iBAAJ,EAAuB;AACnB,aAAKA,iBAAL,GAAyBA,iBAAzB;AACH;;AACD,UAAI7B,YAAJ,EAAkB;AACd,aAAKA,YAAL,GAAoBA,YAApB;AACH;;AACD,UAAI3E,eAAJ,EAAqB;AACjB,aAAKA,eAAL,GAAuBA,eAAvB;AACH;;AACD,UAAI0U,mBAAJ,EAAyB;AACrB,aAAKA,mBAAL,GAA2BA,mBAA3B;AACH;;AACD,UAAIxM,gBAAJ,EAAsB;AAClB,aAAKA,gBAAL,GAAwBA,gBAAxB;AACH;AACJ;AACD;;;AACAoM,IAAAA,qBAAqB,GAAG;AACpB;AACA,WAAK/Y,QAAL,CAAc7zD,OAAd,CAAsBP,IAAtB,CAA2BovD,0DAAS,CAAC,KAAKgF,QAAN,CAApC,EACA;AACAhkB,MAAAA,oDAAG,CAAE8nB,OAAD,IAAa;AACb,cAAMyV,mBAAmB,GAAGzV,OAAO,CAC9B9lE,MADuB,CAChB8iE,MAAM,IAAIA,MAAM,CAACiX,WAAP,KAAuB,IADjB,EAEvBrxD,GAFuB,CAEnBo6C,MAAM,IAAIA,MAAM,CAACvmD,OAFE,CAA5B,CADa,CAIb;AACA;AACA;;AACA,YAAI,KAAKm+D,WAAL,IAAoB,KAAKS,mBAA7B,EAAkD;AAC9CI,UAAAA,mBAAmB,CAACr3D,IAApB,CAAyB,KAAK3H,OAA9B;AACH;;AACD,aAAKq8D,QAAL,CAAc/S,WAAd,CAA0B0V,mBAA1B;AACH,OAXE,CAFH,EAcA;AACAte,MAAAA,0DAAS,CAAE6I,OAAD,IAAa;AACnB,eAAOrmE,2CAAK,CAAC,GAAGqmE,OAAO,CAACp9C,GAAR,CAAYqG,IAAI,IAAI;AAChC,iBAAOA,IAAI,CAACvQ,aAAL,CAAmB5Q,IAAnB,CAAwBovD,0DAAS,CAACjuC,IAAD,CAAjC,CAAP;AACH,SAFe,CAAJ,CAAZ;AAGH,OAJQ,CAfT,EAmBInvB,yDAAS,CAAC,KAAKmL,UAAN,CAnBb,EAmBgC8C,SAnBhC,CAmB0C2tE,cAAc,IAAI;AACxD;AACA,cAAMC,OAAO,GAAG,KAAK7C,QAArB;AACA,cAAM9V,MAAM,GAAG0Y,cAAc,CAACj/D,OAAf,CAAuBD,aAAtC;AACAk/D,QAAAA,cAAc,CAAC/kE,QAAf,GAA0BglE,OAAO,CAACxU,aAAR,CAAsBnE,MAAtB,CAA1B,GAA0D2Y,OAAO,CAACvU,YAAR,CAAqBpE,MAArB,CAA1D;AACH,OAxBD;AAyBH;;AA9US;;AAgVd2X,EAAAA,OAAO,CAACvxE,IAAR,GAAe,SAASwyE,eAAT,CAAyBtyE,CAAzB,EAA4B;AAAE,WAAO,KAAKA,CAAC,IAAIqxE,OAAV,EAAmB95E,gEAAA,CAAyBA,sDAAzB,CAAnB,EAAgEA,gEAAA,CAAyBi3E,aAAzB,EAAwC,EAAxC,CAAhE,EAA6Gj3E,gEAAA,CAAyBvD,sDAAzB,CAA7G,EAAiJuD,gEAAA,CAAyBA,kDAAzB,CAAjJ,EAA0LA,gEAAA,CAAyBA,4DAAzB,CAA1L,EAA6OA,gEAAA,CAAyB82E,eAAzB,EAA0C,CAA1C,CAA7O,EAA2R92E,gEAAA,CAAyBE,8DAAzB,EAAgD,CAAhD,CAA3R,EAA+UF,gEAAA,CAAyBs2E,QAAzB,CAA/U,EAAmXt2E,gEAAA,CAAyBA,6DAAzB,CAAnX,EAAuaA,gEAAA,CAAyBi5E,eAAzB,EAA0C,EAA1C,CAAva,EAAsdj5E,gEAAA,CAAyB02E,eAAzB,EAA0C,EAA1C,CAAtd,CAAP;AAA8gB,GAA3jB;;AACAoD,EAAAA,OAAO,CAAC5tE,IAAR,GAAe,aAAclM,gEAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAEkxE,OAAR;AAAiBjxE,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,CAAD,CAA5B;AAAmDmyE,IAAAA,cAAc,EAAE,SAASC,sBAAT,CAAgCp6E,EAAhC,EAAoCC,GAApC,EAAyCo6E,QAAzC,EAAmD;AAAE,UAAIr6E,EAAE,GAAG,CAAT,EAAY;AAClLb,QAAAA,6DAAA,CAAsBk7E,QAAtB,EAAgCzB,gBAAhC,EAAkD,CAAlD;AACAz5E,QAAAA,6DAAA,CAAsBk7E,QAAtB,EAAgC5B,oBAAhC,EAAsD,CAAtD;AACAt5E,QAAAA,6DAAA,CAAsBk7E,QAAtB,EAAgCjC,eAAhC,EAAiD,CAAjD;AACH;;AAAC,UAAIp4E,EAAE,GAAG,CAAT,EAAY;AACV,YAAIwS,EAAJ;;AACArT,QAAAA,6DAAA,CAAsBqT,EAAE,GAAGrT,0DAAA,EAA3B,MAAqDc,GAAG,CAACwkE,gBAAJ,GAAuBjyD,EAAE,CAACI,KAA/E;AACAzT,QAAAA,6DAAA,CAAsBqT,EAAE,GAAGrT,0DAAA,EAA3B,MAAqDc,GAAG,CAAC0kE,oBAAJ,GAA2BnyD,EAAE,CAACI,KAAnF;AACAzT,QAAAA,6DAAA,CAAsBqT,EAAE,GAAGrT,0DAAA,EAA3B,MAAqDc,GAAG,CAACugE,QAAJ,GAAehuD,EAApE;AACH;AAAE,KAT+C;AAS7CvK,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,UAAJ,CATkC;AASjB4K,IAAAA,QAAQ,EAAE,CATO;AASJC,IAAAA,YAAY,EAAE,SAASynE,oBAAT,CAA8Bv6E,EAA9B,EAAkCC,GAAlC,EAAuC;AAAE,UAAID,EAAE,GAAG,CAAT,EAAY;AAC7Gb,QAAAA,0DAAA,CAAmB,mBAAnB,EAAwCc,GAAG,CAACgV,QAA5C,EAAsD,mBAAtD,EAA2EhV,GAAG,CAACm3E,QAAJ,CAAa7U,UAAb,EAA3E;AACH;AAAE,KAX+C;AAW7Cr6D,IAAAA,MAAM,EAAE;AAAE+M,MAAAA,QAAQ,EAAE,CAAC,iBAAD,EAAoB,UAApB,CAAZ;AAA6C0rD,MAAAA,cAAc,EAAE,CAAC,mBAAD,EAAsB,gBAAtB,CAA7D;AAAsG6K,MAAAA,QAAQ,EAAE,CAAC,iBAAD,EAAoB,UAApB,CAAhH;AAAiJC,MAAAA,iBAAiB,EAAE,CAAC,0BAAD,EAA6B,mBAA7B,CAApK;AAAuN7B,MAAAA,YAAY,EAAE,CAAC,qBAAD,EAAwB,cAAxB,CAArO;AAA8Q3E,MAAAA,eAAe,EAAE,CAAC,iBAAD,EAAoB,iBAApB,CAA/R;AAAuU0U,MAAAA,mBAAmB,EAAE,CAAC,oBAAD,EAAuB,qBAAvB,CAA5V;AAA2YxM,MAAAA,gBAAgB,EAAE,CAAC,yBAAD,EAA4B,kBAA5B,CAA7Z;AAA8cnqE,MAAAA,IAAI,EAAE,CAAC,aAAD,EAAgB,MAAhB,CAApd;AAA6ew2E,MAAAA,gBAAgB,EAAE,CAAC,yBAAD,EAA4B,kBAA5B;AAA/f,KAXqC;AAW6gBrxE,IAAAA,OAAO,EAAE;AAAE04D,MAAAA,OAAO,EAAE,gBAAX;AAA6BC,MAAAA,QAAQ,EAAE,iBAAvC;AAA0DC,MAAAA,KAAK,EAAE,cAAjE;AAAiFC,MAAAA,OAAO,EAAE,gBAA1F;AAA4GC,MAAAA,MAAM,EAAE,eAApH;AAAqIC,MAAAA,OAAO,EAAE,gBAA9I;AAAgKC,MAAAA,KAAK,EAAE;AAAvK,KAXthB;AAW+sB/tD,IAAAA,QAAQ,EAAE,CAAC,SAAD,CAXztB;AAWsuBjF,IAAAA,QAAQ,EAAE,CAAChP,iEAAA,CAA0B,CAAC;AAAEyS,MAAAA,OAAO,EAAEikE,eAAX;AAA4Bh8D,MAAAA,WAAW,EAAEo/D;AAAzC,KAAD,CAA1B,CAAD,EAAkF95E,mEAAlF;AAXhvB,GAAzB,CAA7B;AAYA85E,EAAAA,OAAO,CAACrE,cAAR,GAAyB,EAAzB;SA7VMqE;;;AAiYN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/vE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAuGC,CAvGhB;AAwGA;;;AACA,SAAS0wE,0BAAT,CAAoC7+D,OAApC,EAA6CsG,QAA7C,EAAuD;AACnD,MAAIsvC,cAAc,GAAG51C,OAAO,CAAC20C,aAA7B;;AACA,SAAOiB,cAAP,EAAuB;AACnB;AACA,QAAIA,cAAc,CAAC9nC,OAAf,GAAyB8nC,cAAc,CAAC9nC,OAAf,CAAuBxH,QAAvB,CAAzB,GACAsvC,cAAc,CAAC1nC,iBAAf,CAAiC5H,QAAjC,CADJ,EACgD;AAC5C,aAAOsvC,cAAP;AACH;;AACDA,IAAAA,cAAc,GAAGA,cAAc,CAACjB,aAAhC;AACH;;AACD,SAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM8qB;AAAN,QAAMA,cAAN,CAAqB;;AAErBA,EAAAA,cAAc,CAAC9yE,IAAf,GAAsB,SAAS+yE,sBAAT,CAAgC7yE,CAAhC,EAAmC;AAAE,WAAO,KAAKA,CAAC,IAAI4yE,cAAV,GAAP;AAAqC,GAAhG;;AACAA,EAAAA,cAAc,CAAC/7D,IAAf,GAAsB,aAActf,+DAAA,CAAwB;AAAE4I,IAAAA,IAAI,EAAEyyE;AAAR,GAAxB,CAApC;AACAA,EAAAA,cAAc,CAAC77D,IAAf,GAAsB,aAAcxf,+DAAA,CAAwB;AAAE0f,IAAAA,SAAS,EAAE,CACjE42D,QADiE,CAAb;AAErD32D,IAAAA,OAAO,EAAE,CAACs8C,wEAAD;AAF4C,GAAxB,CAApC;SAJMof;;;AAON;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOtxE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAwBO,CAxBtB;;AAyBA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO6V,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD5f,iEAAA,CAA0Bq7E,cAA1B,EAA0C;AAAEv7D,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAACo3D,WAAD,EAAcN,gBAAd,EAAgCkD,OAAhC,EAAyCZ,aAAzC,EAAwDQ,cAAxD,EAAwEH,kBAAxE,CAAP;AAAqG,KAAnI;AAAqIx5D,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACk8C,wEAAD,EAAsBib,WAAtB,EAAmCN,gBAAnC,EAAqDkD,OAArD,EAA8DZ,aAA9D,EAA6EQ,cAA7E,EAA6FH,kBAA7F,CAAP;AAA0H;AAAtR,GAA1C,CAAnD;AAAyX,CAAxY;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACptHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMgC,SAAS,GAAG,CAAlB;AACA,MAAMC,SAAS,GAAG,CAAlB;AACA,MAAMz+B,GAAG,GAAG,CAAZ;AACA,MAAM0+B,UAAU,GAAG,EAAnB;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMt+B,KAAK,GAAG,EAAd;AACA,MAAMH,OAAO,GAAG,EAAhB;AACA,MAAMD,GAAG,GAAG,EAAZ;AACA,MAAM2+B,KAAK,GAAG,EAAd;AACA,MAAMC,SAAS,GAAG,EAAlB;AACA,MAAMp8E,MAAM,GAAG,EAAf;AACA,MAAMq8E,KAAK,GAAG,EAAd;AACA,MAAMC,OAAO,GAAG,EAAhB;AACA,MAAMC,SAAS,GAAG,EAAlB;AACA,MAAMp/B,GAAG,GAAG,EAAZ;AACA,MAAMC,IAAI,GAAG,EAAb;AACA,MAAMC,UAAU,GAAG,EAAnB;AACA,MAAMp9C,QAAQ,GAAG,EAAjB;AACA,MAAMq9C,WAAW,GAAG,EAApB;AACA,MAAMp9C,UAAU,GAAG,EAAnB;AACA,MAAMs8E,SAAS,GAAG,EAAlB;AACA,MAAMC,YAAY,GAAG,EAArB;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAM1/B,IAAI,GAAG,EAAb;AACA,MAAM2/B,GAAG,GAAG,EAAZ;AACA,MAAMC,GAAG,GAAG,EAAZ;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMC,IAAI,GAAG,EAAb;AACA,MAAMC,IAAI,GAAG,EAAb;AACA,MAAMC,GAAG,GAAG,EAAZ;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMjgC,IAAI,GAAG,EAAb;AACA,MAAMkgC,YAAY,GAAG,EAArB,EAAyB;;AACzB,MAAMC,SAAS,GAAG,EAAlB,EAAsB;;AACtB,MAAMC,aAAa,GAAG,EAAtB;AACA,MAAMC,OAAO,GAAG,EAAhB;AACA,MAAMxgC,CAAC,GAAG,EAAV;AACA,MAAMygC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAM/hC,CAAC,GAAG,EAAV;AACA,MAAMW,IAAI,GAAG,EAAb,EAAiB;;AACjB,MAAMqhC,eAAe,GAAG,EAAxB;AACA,MAAMC,gBAAgB,GAAG,EAAzB;AACA,MAAMC,YAAY,GAAG,EAArB;AACA,MAAMC,WAAW,GAAG,EAApB;AACA,MAAMC,UAAU,GAAG,EAAnB;AACA,MAAMC,UAAU,GAAG,EAAnB;AACA,MAAMC,YAAY,GAAG,EAArB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,UAAU,GAAG,GAAnB;AACA,MAAMC,YAAY,GAAG,GAArB;AACA,MAAMC,YAAY,GAAG,GAArB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,eAAe,GAAG,GAAxB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,YAAY,GAAG,GAArB;AACA,MAAMC,aAAa,GAAG,GAAtB;AACA,MAAMC,aAAa,GAAG,GAAtB;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,GAAG,GAAG,GAAZ;AACA,MAAMC,GAAG,GAAG,GAAZ;AACA,MAAMC,GAAG,GAAG,GAAZ;AACA,MAAMC,QAAQ,GAAG,GAAjB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,QAAQ,GAAG,GAAjB;AACA,MAAMC,IAAI,GAAG,GAAb,EAAkB;;AAClB,MAAMC,WAAW,GAAG,GAApB,EAAyB;;AACzB,MAAMC,SAAS,GAAG,GAAlB,EAAuB;;AACvB,MAAMC,OAAO,GAAG,GAAhB;AACA,MAAMC,cAAc,GAAG,GAAvB;AACA,MAAMC,UAAU,GAAG,GAAnB;AACA,MAAMC,YAAY,GAAG,GAArB;AACA,MAAMC,SAAS,GAAG,GAAlB,EAAuB;;AACvB,MAAMC,MAAM,GAAG,GAAf,EAAoB;;AACpB,MAAMC,KAAK,GAAG,GAAd;AACA,MAAMC,IAAI,GAAG,GAAb,EAAkB;;AAClB,MAAMC,MAAM,GAAG,GAAf;AACA,MAAMC,KAAK,GAAG,GAAd;AACA,MAAMC,UAAU,GAAG,GAAnB;AACA,MAAMC,KAAK,GAAG,GAAd;AACA,MAAMC,mBAAmB,GAAG,GAA5B;AACA,MAAMC,SAAS,GAAG,GAAlB;AACA,MAAMC,oBAAoB,GAAG,GAA7B;AACA,MAAMC,YAAY,GAAG,GAArB;AACA,MAAM1kC,QAAQ,GAAG,GAAjB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,SAASZ,cAAT,CAAwBvjC,KAAxB,EAA+B,GAAG4qC,SAAlC,EAA6C;AACzC,MAAIA,SAAS,CAACh/C,MAAd,EAAsB;AAClB,WAAOg/C,SAAS,CAAC/rB,IAAV,CAAeksB,QAAQ,IAAI/qC,KAAK,CAAC+qC,QAAD,CAAhC,CAAP;AACH;;AACD,SAAO/qC,KAAK,CAACE,MAAN,IAAgBF,KAAK,CAAC8oE,QAAtB,IAAkC9oE,KAAK,CAAC+oE,OAAxC,IAAmD/oE,KAAK,CAACgpE,OAAhE;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3JA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;IACME;AAAN,QAAMA,YAAN,CAAmB;;AAEnBA,EAAAA,YAAY,CAAC15E,IAAb,GAAoB,SAAS25E,oBAAT,CAA8Bz5E,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAIw5E,YAAV,GAAP;AAAmC,GAA1F;;AACAA,EAAAA,YAAY,CAAC3iE,IAAb,GAAoB,aAActf,8DAAA,CAAwB;AAAE4I,IAAAA,IAAI,EAAEq5E;AAAR,GAAxB,CAAlC;AACAA,EAAAA,YAAY,CAACziE,IAAb,GAAoB,aAAcxf,8DAAA,CAAwB,EAAxB,CAAlC;SAJMiiF;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOl4E,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGO,CAHtB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMo4E,kCAAkC,gBAAG,IAAIhwD,GAAJ,EAA3C;AACA;;AACA,IAAIiwD,mBAAJ;AACA;;IACMC;AAAN,QAAMA,YAAN,CAAmB;AACfp7E,IAAAA,WAAW,CAACw+C,SAAD,EAAY;AACnB,WAAKA,SAAL,GAAiBA,SAAjB;AACA,WAAK68B,WAAL,GAAmB,KAAK78B,SAAL,CAAe7/B,SAAf,IAA4BC,MAAM,CAAC08D,UAAnC,GACf;AACA;AACA18D,MAAAA,MAAM,CAAC08D,UAAP,CAAkB72E,IAAlB,CAAuBma,MAAvB,CAHe,GAIf28D,cAJJ;AAKH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACID,IAAAA,UAAU,CAACtgE,KAAD,EAAQ;AACd,UAAI,KAAKwjC,SAAL,CAAeW,MAAf,IAAyB,KAAKX,SAAL,CAAeg9B,KAA5C,EAAmD;AAC/CC,QAAAA,oBAAoB,CAACzgE,KAAD,CAApB;AACH;;AACD,aAAO,KAAKqgE,WAAL,CAAiBrgE,KAAjB,CAAP;AACH;;AApBc;;AAsBnBogE,EAAAA,YAAY,CAAC95E,IAAb,GAAoB,SAASo6E,oBAAT,CAA8Bl6E,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAI45E,YAAV,EAAwBriF,sDAAA,CAAgBC,2DAAhB,CAAxB,CAAP;AAAmE,GAA1H;;AACAoiF,EAAAA,YAAY,CAAC1wE,KAAb,GAAqBwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAAS6wE,oBAAT,GAAgC;AAAE,aAAO,IAAIN,YAAJ,CAAiBlmC,sDAAA,CAAYqB,2DAAZ,CAAjB,CAAP;AAAoD,KAAjG;AAAmG3rC,IAAAA,KAAK,EAAEwwE,YAA1G;AAAwHlhC,IAAAA,UAAU,EAAE;AAApI,GAAtB,CAArB;SAvBMkhC;;;AA2BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOt4E,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGsD,CAHrE;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS24E,oBAAT,CAA8BzgE,KAA9B,EAAqC;AACjC,MAAIkgE,kCAAkC,CAAC3vD,GAAnC,CAAuCvQ,KAAvC,CAAJ,EAAmD;AAC/C;AACH;;AACD,MAAI;AACA,QAAI,CAACmgE,mBAAL,EAA0B;AACtBA,MAAAA,mBAAmB,GAAG13E,QAAQ,CAACguC,aAAT,CAAuB,OAAvB,CAAtB;AACA0pC,MAAAA,mBAAmB,CAACzpE,YAApB,CAAiC,MAAjC,EAAyC,UAAzC;AACAjO,MAAAA,QAAQ,CAAC6uC,IAAT,CAAcN,WAAd,CAA0BmpC,mBAA1B;AACH;;AACD,QAAIA,mBAAmB,CAACQ,KAAxB,EAA+B;AAC3BR,MAAAA,mBAAmB,CAACQ,KAApB,CAA0BC,UAA1B,CAAsC,UAAS5gE,KAAM,YAArD,EAAkE,CAAlE;AACAkgE,MAAAA,kCAAkC,CAAC5tD,GAAnC,CAAuCtS,KAAvC;AACH;AACJ,GAVD,CAWA,OAAO5W,CAAP,EAAU;AACNuuC,IAAAA,OAAO,CAACzL,KAAR,CAAc9iC,CAAd;AACH;AACJ;AACD;;;AACA,SAASm3E,cAAT,CAAwBvgE,KAAxB,EAA+B;AAC3B;AACA;AACA,SAAO;AACHyH,IAAAA,OAAO,EAAEzH,KAAK,KAAK,KAAV,IAAmBA,KAAK,KAAK,EADnC;AAEH6gE,IAAAA,KAAK,EAAE7gE,KAFJ;AAGH8gE,IAAAA,WAAW,EAAE,MAAM,CAAG,CAHnB;AAIHC,IAAAA,cAAc,EAAE,MAAM,CAAG;AAJtB,GAAP;AAMH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACMC;AAAN,QAAMA,kBAAN,CAAyB;AACrBh8E,IAAAA,WAAW,CAACi8E,aAAD,EAAgBtuE,KAAhB,EAAuB;AAC9B,WAAKsuE,aAAL,GAAqBA,aAArB;AACA,WAAKtuE,KAAL,GAAaA,KAAb;AACA;;AACA,WAAKuuE,QAAL,GAAgB,IAAIj7D,GAAJ,EAAhB;AACA;;AACA,WAAKk7D,eAAL,GAAuB,IAAIvkF,yCAAJ,EAAvB;AACH;AACD;;;AACAwL,IAAAA,WAAW,GAAG;AACV,WAAK+4E,eAAL,CAAqB94E,IAArB;;AACA,WAAK84E,eAAL,CAAqB74E,QAArB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI84E,IAAAA,SAAS,CAACh2E,KAAD,EAAQ;AACb,YAAMi2E,OAAO,GAAGC,YAAY,CAACjsB,kEAAW,CAACjqD,KAAD,CAAZ,CAA5B;AACA,aAAOi2E,OAAO,CAAC1rD,IAAR,CAAa4rD,UAAU,IAAI,KAAKC,cAAL,CAAoBD,UAApB,EAAgCE,GAAhC,CAAoCh6D,OAA/D,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI0lC,IAAAA,OAAO,CAAC/hD,KAAD,EAAQ;AACX,YAAMi2E,OAAO,GAAGC,YAAY,CAACjsB,kEAAW,CAACjqD,KAAD,CAAZ,CAA5B;AACA,YAAMs2E,WAAW,GAAGL,OAAO,CAACv7D,GAAR,CAAY9F,KAAK,IAAI,KAAKwhE,cAAL,CAAoBxhE,KAApB,EAA2B2hE,UAAhD,CAApB;AACA,UAAIC,eAAe,GAAG7B,mDAAa,CAAC2B,WAAD,CAAnC,CAHW,CAIX;;AACAE,MAAAA,eAAe,GAAGhwC,4CAAM,CAACgwC,eAAe,CAAC52E,IAAhB,CAAqB7N,oDAAI,CAAC,CAAD,CAAzB,CAAD,EAAgCykF,eAAe,CAAC52E,IAAhB,CAAqBqwC,oDAAI,CAAC,CAAD,CAAzB,EAA8Bp+C,4DAAY,CAAC,CAAD,CAA1C,CAAhC,CAAxB;AACA,aAAO2kF,eAAe,CAAC52E,IAAhB,CAAqB8a,mDAAG,CAAC+7D,gBAAgB,IAAI;AAChD,cAAMC,QAAQ,GAAG;AACbr6D,UAAAA,OAAO,EAAE,KADI;AAEbs6D,UAAAA,WAAW,EAAE;AAFA,SAAjB;AAIAF,QAAAA,gBAAgB,CAACzgE,OAAjB,CAAyB,CAAC;AAAEqG,UAAAA,OAAF;AAAWzH,UAAAA;AAAX,SAAD,KAAwB;AAC7C8hE,UAAAA,QAAQ,CAACr6D,OAAT,GAAmBq6D,QAAQ,CAACr6D,OAAT,IAAoBA,OAAvC;AACAq6D,UAAAA,QAAQ,CAACC,WAAT,CAAqB/hE,KAArB,IAA8ByH,OAA9B;AACH,SAHD;AAIA,eAAOq6D,QAAP;AACH,OAV8B,CAAxB,CAAP;AAWH;AACD;;;AACAN,IAAAA,cAAc,CAACxhE,KAAD,EAAQ;AAClB;AACA,UAAI,KAAKkhE,QAAL,CAAc3wD,GAAd,CAAkBvQ,KAAlB,CAAJ,EAA8B;AAC1B,eAAO,KAAKkhE,QAAL,CAAcz2E,GAAd,CAAkBuV,KAAlB,CAAP;AACH;;AACD,YAAMyhE,GAAG,GAAG,KAAKR,aAAL,CAAmBX,UAAnB,CAA8BtgE,KAA9B,CAAZ,CALkB,CAMlB;;;AACA,YAAMgiE,eAAe,GAAG,IAAI7nB,6CAAJ,CAAgB8Z,QAAD,IAAc;AACjD;AACA;AACA;AACA;AACA;AACA,cAAM7lB,OAAO,GAAIhlD,CAAD,IAAO,KAAKuJ,KAAL,CAAWjJ,GAAX,CAAe,MAAMuqE,QAAQ,CAAC5rE,IAAT,CAAce,CAAd,CAArB,CAAvB;;AACAq4E,QAAAA,GAAG,CAACX,WAAJ,CAAgB1yB,OAAhB;AACA,eAAO,MAAM;AACTqzB,UAAAA,GAAG,CAACV,cAAJ,CAAmB3yB,OAAnB;AACH,SAFD;AAGH,OAXuB,EAWrBpjD,IAXqB,CAWhBovD,0DAAS,CAACqnB,GAAD,CAXO,EAWA37D,mDAAG,CAAC,CAAC;AAAE2B,QAAAA;AAAF,OAAD,MAAkB;AAAEzH,QAAAA,KAAF;AAASyH,QAAAA;AAAT,OAAlB,CAAD,CAXH,EAW4CzqB,0DAAS,CAAC,KAAKmkF,eAAN,CAXrD,CAAxB,CAPkB,CAmBlB;;AACA,YAAMc,MAAM,GAAG;AAAEN,QAAAA,UAAU,EAAEK,eAAd;AAA+BP,QAAAA;AAA/B,OAAf;;AACA,WAAKP,QAAL,CAAch7D,GAAd,CAAkBlG,KAAlB,EAAyBiiE,MAAzB;;AACA,aAAOA,MAAP;AACH;;AAvEoB;;AAyEzBjB,EAAAA,kBAAkB,CAAC16E,IAAnB,GAA0B,SAAS47E,0BAAT,CAAoC17E,CAApC,EAAuC;AAAE,WAAO,KAAKA,CAAC,IAAIw6E,kBAAV,EAA8BjjF,sDAAA,CAAgBqiF,YAAhB,CAA9B,EAA6DriF,sDAAA,CAAgBA,iDAAhB,CAA7D,CAAP;AAAsG,GAAzK;;AACAijF,EAAAA,kBAAkB,CAACtxE,KAAnB,GAA2BwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASqyE,0BAAT,GAAsC;AAAE,aAAO,IAAIlB,kBAAJ,CAAuB9mC,sDAAA,CAAYkmC,YAAZ,CAAvB,EAAkDlmC,sDAAA,CAAYA,iDAAZ,CAAlD,CAAP;AAAmF,KAAtI;AAAwItqC,IAAAA,KAAK,EAAEoxE,kBAA/I;AAAmK9hC,IAAAA,UAAU,EAAE;AAA/K,GAAtB,CAA3B;SA1EM8hC;;;AA+EN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOl5E,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAG4E,CAH3F;AAIA;AACA;AACA;AACA;;;AACA,SAASw5E,YAAT,CAAsBD,OAAtB,EAA+B;AAC3B,SAAOA,OAAO,CAACv7D,GAAR,CAAY9F,KAAK,IAAIA,KAAK,CAACyP,KAAN,CAAY,GAAZ,CAArB,EACFxM,MADE,CACK,CAACk/D,EAAD,EAAKC,EAAL,KAAYD,EAAE,CAACvwC,MAAH,CAAUwwC,EAAV,CADjB,EAEFt8D,GAFE,CAEE9F,KAAK,IAAIA,KAAK,CAACye,IAAN,EAFX,CAAP;AAGH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM4jD,WAAW,GAAG;AAChBC,EAAAA,MAAM,EAAE,uBADQ;AAEhBC,EAAAA,KAAK,EAAE,8CAFS;AAGhBC,EAAAA,MAAM,EAAE,+CAHQ;AAIhBC,EAAAA,KAAK,EAAE,gDAJS;AAKhBC,EAAAA,MAAM,EAAE,qBALQ;AAMhBC,EAAAA,OAAO,EAAE,wDACL,oDAPY;AAQhBC,EAAAA,MAAM,EAAE,+EACJ,4EATY;AAUhBC,EAAAA,GAAG,EAAE,qDACD,kDAXY;AAYhBC,EAAAA,eAAe,EAAE,mDAZD;AAahBC,EAAAA,cAAc,EAAE,0EAbA;AAchBC,EAAAA,WAAW,EAAE,gDAdG;AAehBC,EAAAA,gBAAgB,EAAE,oDAfF;AAgBhBC,EAAAA,eAAe,EAAE,4EAhBD;AAiBhBC,EAAAA,YAAY,EAAE;AAjBE,CAApB;AAoBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AC1PA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA;IACMC;AAAN,QAAMA,uBAAN,CAA8B;AAC1B5sE,IAAAA,MAAM,CAAC+O,QAAD,EAAW;AACb,aAAO,OAAO89D,gBAAP,KAA4B,WAA5B,GAA0C,IAA1C,GAAiD,IAAIA,gBAAJ,CAAqB99D,QAArB,CAAxD;AACH;;AAHyB;;AAK9B69D,EAAAA,uBAAuB,CAAC98E,IAAxB,GAA+B,SAASg9E,+BAAT,CAAyC98E,CAAzC,EAA4C;AAAE,WAAO,KAAKA,CAAC,IAAI48E,uBAAV,GAAP;AAA8C,GAA3H;;AACAA,EAAAA,uBAAuB,CAAC1zE,KAAxB,GAAgCwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASyzE,+BAAT,GAA2C;AAAE,aAAO,IAAIF,uBAAJ,EAAP;AAAuC,KAA/F;AAAiGxzE,IAAAA,KAAK,EAAEwzE,uBAAxG;AAAiIlkC,IAAAA,UAAU,EAAE;AAA7I,GAAtB,CAAhC;SANMkkC;;;AAON;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOt7E,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGO,CAHtB;AAIA;;;IACMg0C;AAAN,QAAMA,eAAN,CAAsB;AAClB92C,IAAAA,WAAW,CAACu+E,wBAAD,EAA2B;AAClC,WAAKA,wBAAL,GAAgCA,wBAAhC;AACA;;AACA,WAAKC,iBAAL,GAAyB,IAAIv9D,GAAJ,EAAzB;AACH;;AACD7d,IAAAA,WAAW,GAAG;AACV,WAAKo7E,iBAAL,CAAuBpiE,OAAvB,CAA+B,CAAClW,CAAD,EAAIyO,OAAJ,KAAgB,KAAK8pE,gBAAL,CAAsB9pE,OAAtB,CAA/C;AACH;;AACDwzC,IAAAA,OAAO,CAACoI,YAAD,EAAe;AAClB,YAAM57C,OAAO,GAAG2hC,oEAAa,CAACia,YAAD,CAA7B;AACA,aAAO,IAAI4E,4CAAJ,CAAgB8Z,QAAD,IAAc;AAChC,cAAMyP,MAAM,GAAG,KAAKC,eAAL,CAAqBhqE,OAArB,CAAf;;AACA,cAAMo+D,YAAY,GAAG2L,MAAM,CAACz4E,SAAP,CAAiBgpE,QAAjB,CAArB;AACA,eAAO,MAAM;AACT8D,UAAAA,YAAY,CAACvjE,WAAb;;AACA,eAAKovE,iBAAL,CAAuBjqE,OAAvB;AACH,SAHD;AAIH,OAPM,CAAP;AAQH;AACD;AACJ;AACA;AACA;;;AACIgqE,IAAAA,eAAe,CAAChqE,OAAD,EAAU;AACrB,UAAI,CAAC,KAAK6pE,iBAAL,CAAuBjzD,GAAvB,CAA2B5W,OAA3B,CAAL,EAA0C;AACtC,cAAM+pE,MAAM,GAAG,IAAI9mF,yCAAJ,EAAf;;AACA,cAAMq3E,QAAQ,GAAG,KAAKsP,wBAAL,CAA8B/sE,MAA9B,CAAqCqtE,SAAS,IAAIH,MAAM,CAACr7E,IAAP,CAAYw7E,SAAZ,CAAlD,CAAjB;;AACA,YAAI5P,QAAJ,EAAc;AACVA,UAAAA,QAAQ,CAAC9mB,OAAT,CAAiBxzC,OAAjB,EAA0B;AACtBmqE,YAAAA,aAAa,EAAE,IADO;AAEtBC,YAAAA,SAAS,EAAE,IAFW;AAGtBC,YAAAA,OAAO,EAAE;AAHa,WAA1B;AAKH;;AACD,aAAKR,iBAAL,CAAuBt9D,GAAvB,CAA2BvM,OAA3B,EAAoC;AAAEs6D,UAAAA,QAAF;AAAYyP,UAAAA,MAAZ;AAAoB3uC,UAAAA,KAAK,EAAE;AAA3B,SAApC;AACH,OAXD,MAYK;AACD,aAAKyuC,iBAAL,CAAuB/4E,GAAvB,CAA2BkP,OAA3B,EAAoCo7B,KAApC;AACH;;AACD,aAAO,KAAKyuC,iBAAL,CAAuB/4E,GAAvB,CAA2BkP,OAA3B,EAAoC+pE,MAA3C;AACH;AACD;AACJ;AACA;AACA;;;AACIE,IAAAA,iBAAiB,CAACjqE,OAAD,EAAU;AACvB,UAAI,KAAK6pE,iBAAL,CAAuBjzD,GAAvB,CAA2B5W,OAA3B,CAAJ,EAAyC;AACrC,aAAK6pE,iBAAL,CAAuB/4E,GAAvB,CAA2BkP,OAA3B,EAAoCo7B,KAApC;;AACA,YAAI,CAAC,KAAKyuC,iBAAL,CAAuB/4E,GAAvB,CAA2BkP,OAA3B,EAAoCo7B,KAAzC,EAAgD;AAC5C,eAAK0uC,gBAAL,CAAsB9pE,OAAtB;AACH;AACJ;AACJ;AACD;;;AACA8pE,IAAAA,gBAAgB,CAAC9pE,OAAD,EAAU;AACtB,UAAI,KAAK6pE,iBAAL,CAAuBjzD,GAAvB,CAA2B5W,OAA3B,CAAJ,EAAyC;AACrC,cAAM;AAAEs6D,UAAAA,QAAF;AAAYyP,UAAAA;AAAZ,YAAuB,KAAKF,iBAAL,CAAuB/4E,GAAvB,CAA2BkP,OAA3B,CAA7B;;AACA,YAAIs6D,QAAJ,EAAc;AACVA,UAAAA,QAAQ,CAAC/d,UAAT;AACH;;AACDwtB,QAAAA,MAAM,CAACp7E,QAAP;;AACA,aAAKk7E,iBAAL,CAAuBltD,MAAvB,CAA8B3c,OAA9B;AACH;AACJ;;AAhEiB;;AAkEtBmiC,EAAAA,eAAe,CAACx1C,IAAhB,GAAuB,SAAS29E,uBAAT,CAAiCz9E,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIs1C,eAAV,EAA2B/9C,sDAAA,CAAgBqlF,uBAAhB,CAA3B,CAAP;AAA8E,GAA3I;;AACAtnC,EAAAA,eAAe,CAACpsC,KAAhB,GAAwBwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASo0E,uBAAT,GAAmC;AAAE,aAAO,IAAInoC,eAAJ,CAAoB5B,sDAAA,CAAYkpC,uBAAZ,CAApB,CAAP;AAAmE,KAAnH;AAAqHxzE,IAAAA,KAAK,EAAEksC,eAA5H;AAA6IoD,IAAAA,UAAU,EAAE;AAAzJ,GAAtB,CAAxB;SAnEMpD;;;AAuEN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOh0C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAG8D,CAH7E;AAIA;AACA;AACA;AACA;;;IACMo8E;AAAN,QAAMA,iBAAN,CAAwB;AACpBl/E,IAAAA,WAAW,CAACgoD,gBAAD,EAAmBp8C,WAAnB,EAAgC40C,OAAhC,EAAyC;AAChD,WAAKwH,gBAAL,GAAwBA,gBAAxB;AACA,WAAKp8C,WAAL,GAAmBA,WAAnB;AACA,WAAK40C,OAAL,GAAeA,OAAf;AACA;;AACA,WAAK1uC,KAAL,GAAa,IAAIpc,uDAAJ,EAAb;AACA,WAAKoZ,SAAL,GAAiB,KAAjB;AACA,WAAKqwE,oBAAL,GAA4B,IAA5B;AACH;AACD;AACJ;AACA;AACA;;;AACgB,QAARtwE,QAAQ,GAAG;AAAE,aAAO,KAAKC,SAAZ;AAAwB;;AAC7B,QAARD,QAAQ,CAACzI,KAAD,EAAQ;AAChB,WAAK0I,SAAL,GAAiBxW,4EAAqB,CAAC8N,KAAD,CAAtC;AACA,WAAK0I,SAAL,GAAiB,KAAKswE,YAAL,EAAjB,GAAuC,KAAKC,UAAL,EAAvC;AACH;AACD;;;AACY,QAARC,QAAQ,GAAG;AAAE,aAAO,KAAKC,SAAZ;AAAwB;;AAC7B,QAARD,QAAQ,CAACl5E,KAAD,EAAQ;AAChB,WAAKm5E,SAAL,GAAiBrvB,2EAAoB,CAAC9pD,KAAD,CAArC;;AACA,WAAKi5E,UAAL;AACH;;AACDvoE,IAAAA,kBAAkB,GAAG;AACjB,UAAI,CAAC,KAAKqoE,oBAAN,IAA8B,CAAC,KAAKtwE,QAAxC,EAAkD;AAC9C,aAAKwwE,UAAL;AACH;AACJ;;AACDj8E,IAAAA,WAAW,GAAG;AACV,WAAKg8E,YAAL;AACH;;AACDC,IAAAA,UAAU,GAAG;AACT,WAAKD,YAAL;;AACA,YAAMV,MAAM,GAAG,KAAK12B,gBAAL,CAAsBG,OAAtB,CAA8B,KAAKv8C,WAAnC,CAAf,CAFS,CAGT;AACA;AACA;AACA;;;AACA,WAAK40C,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACjC,aAAK66E,oBAAL,GACI,CAAC,KAAKG,QAAL,GAAgBZ,MAAM,CAAC14E,IAAP,CAAY/N,4DAAY,CAAC,KAAKqnF,QAAN,CAAxB,CAAhB,GAA2DZ,MAA5D,EAAoEz4E,SAApE,CAA8E,KAAK6L,KAAnF,CADJ;AAEH,OAHD;AAIH;;AACDstE,IAAAA,YAAY,GAAG;AACX,UAAIh/E,EAAJ;;AACA,OAACA,EAAE,GAAG,KAAK++E,oBAAX,MAAqC,IAArC,IAA6C/+E,EAAE,KAAK,KAAK,CAAzD,GAA6D,KAAK,CAAlE,GAAsEA,EAAE,CAACoP,WAAH,EAAtE;AACH;;AAhDmB;;AAkDxB0vE,EAAAA,iBAAiB,CAAC59E,IAAlB,GAAyB,SAASk+E,yBAAT,CAAmCh+E,CAAnC,EAAsC;AAAE,WAAO,KAAKA,CAAC,IAAI09E,iBAAV,EAA6BnmF,+DAAA,CAAyB+9C,eAAzB,CAA7B,EAAwE/9C,+DAAA,CAAyBA,qDAAzB,CAAxE,EAAqHA,+DAAA,CAAyBA,iDAAzB,CAArH,CAAP;AAAuK,GAAxO;;AACAmmF,EAAAA,iBAAiB,CAACj6E,IAAlB,GAAyB,aAAclM,+DAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAEu9E,iBAAR;AAA2Bt9E,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAAD,CAAtC;AAAuEE,IAAAA,MAAM,EAAE;AAAE+M,MAAAA,QAAQ,EAAE,CAAC,2BAAD,EAA8B,UAA9B,CAAZ;AAAuDywE,MAAAA,QAAQ,EAAE;AAAjE,KAA/E;AAA8Jv9E,IAAAA,OAAO,EAAE;AAAE+P,MAAAA,KAAK,EAAE;AAAT,KAAvK;AAAuM9E,IAAAA,QAAQ,EAAE,CAAC,mBAAD;AAAjN,GAAzB,CAAvC;SAnDMkyE;;;AA8DN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOp8E,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAcC,CAdhB;;IAeMi0C;AAAN,QAAMA,eAAN,CAAsB;;AAEtBA,EAAAA,eAAe,CAACz1C,IAAhB,GAAuB,SAASm+E,uBAAT,CAAiCj+E,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIu1C,eAAV,GAAP;AAAsC,GAAnG;;AACAA,EAAAA,eAAe,CAAC1+B,IAAhB,GAAuB,aAActf,8DAAA,CAAwB;AAAE4I,IAAAA,IAAI,EAAEo1C;AAAR,GAAxB,CAArC;AACAA,EAAAA,eAAe,CAACx+B,IAAhB,GAAuB,aAAcxf,8DAAA,CAAwB;AAAE0f,IAAAA,SAAS,EAAE,CAAC2lE,uBAAD;AAAb,GAAxB,CAArC;SAJMrnC;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOj0C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOO,CAPtB;;AAQA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO6V,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD5f,gEAAA,CAA0Bg+C,eAA1B,EAA2C;AAAEl+B,IAAAA,YAAY,EAAE,CAACqmE,iBAAD,CAAhB;AAAqCpmE,IAAAA,OAAO,EAAE,CAAComE,iBAAD;AAA9C,GAA3C,CAAnD;AAAqK,CAApL;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMoB,uBAAuB,gBAAGL,6EAAsB,EAAtD;AACA;AACA;AACA;;AACA,MAAMM,mBAAN,CAA0B;AACtBvgF,EAAAA,WAAW,CAACy3D,cAAD,EAAiBh0D,QAAjB,EAA2B;AAClC,SAAKg0D,cAAL,GAAsBA,cAAtB;AACA,SAAK+oB,mBAAL,GAA2B;AAAE5qB,MAAAA,GAAG,EAAE,EAAP;AAAWE,MAAAA,IAAI,EAAE;AAAjB,KAA3B;AACA,SAAK2qB,UAAL,GAAkB,KAAlB;AACA,SAAK1yE,SAAL,GAAiBtK,QAAjB;AACH;AACD;;;AACAqN,EAAAA,MAAM,GAAG,CAAG;AACZ;;;AACA2kD,EAAAA,MAAM,GAAG;AACL,QAAI,KAAKirB,aAAL,EAAJ,EAA0B;AACtB,YAAMp6C,IAAI,GAAG,KAAKv4B,SAAL,CAAesU,eAA5B;AACA,WAAKs+D,uBAAL,GAA+B,KAAKlpB,cAAL,CAAoBI,yBAApB,EAA/B,CAFsB,CAGtB;;AACA,WAAK2oB,mBAAL,CAAyB1qB,IAAzB,GAAgCxvB,IAAI,CAAChsB,KAAL,CAAWw7C,IAAX,IAAmB,EAAnD;AACA,WAAK0qB,mBAAL,CAAyB5qB,GAAzB,GAA+BtvB,IAAI,CAAChsB,KAAL,CAAWs7C,GAAX,IAAkB,EAAjD,CALsB,CAMtB;AACA;;AACAtvB,MAAAA,IAAI,CAAChsB,KAAL,CAAWw7C,IAAX,GAAkBxF,0EAAmB,CAAC,CAAC,KAAKqwB,uBAAL,CAA6B7qB,IAA/B,CAArC;AACAxvB,MAAAA,IAAI,CAAChsB,KAAL,CAAWs7C,GAAX,GAAiBtF,0EAAmB,CAAC,CAAC,KAAKqwB,uBAAL,CAA6B/qB,GAA/B,CAApC;AACAtvB,MAAAA,IAAI,CAACiF,SAAL,CAAeje,GAAf,CAAmB,wBAAnB;AACA,WAAKmzD,UAAL,GAAkB,IAAlB;AACH;AACJ;AACD;;;AACAh0C,EAAAA,OAAO,GAAG;AACN,QAAI,KAAKg0C,UAAT,EAAqB;AACjB,YAAMG,IAAI,GAAG,KAAK7yE,SAAL,CAAesU,eAA5B;AACA,YAAM0B,IAAI,GAAG,KAAKhW,SAAL,CAAegW,IAA5B;AACA,YAAM88D,SAAS,GAAGD,IAAI,CAACtmE,KAAvB;AACA,YAAMwmE,SAAS,GAAG/8D,IAAI,CAACzJ,KAAvB;AACA,YAAMymE,0BAA0B,GAAGF,SAAS,CAACG,cAAV,IAA4B,EAA/D;AACA,YAAMC,0BAA0B,GAAGH,SAAS,CAACE,cAAV,IAA4B,EAA/D;AACA,WAAKP,UAAL,GAAkB,KAAlB;AACAI,MAAAA,SAAS,CAAC/qB,IAAV,GAAiB,KAAK0qB,mBAAL,CAAyB1qB,IAA1C;AACA+qB,MAAAA,SAAS,CAACjrB,GAAV,GAAgB,KAAK4qB,mBAAL,CAAyB5qB,GAAzC;AACAgrB,MAAAA,IAAI,CAACr1C,SAAL,CAAeE,MAAf,CAAsB,wBAAtB,EAViB,CAWjB;AACA;AACA;AACA;AACA;;AACA,UAAI60C,uBAAJ,EAA6B;AACzBO,QAAAA,SAAS,CAACG,cAAV,GAA2BF,SAAS,CAACE,cAAV,GAA2B,MAAtD;AACH;;AACDpiE,MAAAA,MAAM,CAACgwD,MAAP,CAAc,KAAK+R,uBAAL,CAA6B7qB,IAA3C,EAAiD,KAAK6qB,uBAAL,CAA6B/qB,GAA9E;;AACA,UAAI0qB,uBAAJ,EAA6B;AACzBO,QAAAA,SAAS,CAACG,cAAV,GAA2BD,0BAA3B;AACAD,QAAAA,SAAS,CAACE,cAAV,GAA2BC,0BAA3B;AACH;AACJ;AACJ;;AACDP,EAAAA,aAAa,GAAG;AACZ;AACA;AACA;AACA,UAAME,IAAI,GAAG,KAAK7yE,SAAL,CAAesU,eAA5B;;AACA,QAAIu+D,IAAI,CAACr1C,SAAL,CAAenpB,QAAf,CAAwB,wBAAxB,KAAqD,KAAKq+D,UAA9D,EAA0E;AACtE,aAAO,KAAP;AACH;;AACD,UAAM18D,IAAI,GAAG,KAAKhW,SAAL,CAAegW,IAA5B;;AACA,UAAMm9D,QAAQ,GAAG,KAAKzpB,cAAL,CAAoB+U,eAApB,EAAjB;;AACA,WAAOzoD,IAAI,CAACkqD,YAAL,GAAoBiT,QAAQ,CAACr9E,MAA7B,IAAuCkgB,IAAI,CAACoqD,WAAL,GAAmB+S,QAAQ,CAACt9E,KAA1E;AACH;;AAhEqB;AAmE1B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASu9E,wCAAT,GAAoD;AAChD,SAAOrhF,KAAK,CAAE,4CAAF,CAAZ;AACH;AAED;AACA;AACA;;;AACA,MAAMshF,mBAAN,CAA0B;AACtBphF,EAAAA,WAAW,CAACmwE,iBAAD,EAAoB3vB,OAApB,EAA6BiX,cAA7B,EAA6C+B,OAA7C,EAAsD;AAC7D,SAAK2W,iBAAL,GAAyBA,iBAAzB;AACA,SAAK3vB,OAAL,GAAeA,OAAf;AACA,SAAKiX,cAAL,GAAsBA,cAAtB;AACA,SAAK+B,OAAL,GAAeA,OAAf;AACA,SAAKQ,mBAAL,GAA2B,IAA3B;AACA;;AACA,SAAKqnB,OAAL,GAAe,MAAM;AACjB,WAAK50C,OAAL;;AACA,UAAI,KAAK60C,WAAL,CAAiBzwE,WAAjB,EAAJ,EAAoC;AAChC,aAAK2vC,OAAL,CAAa97C,GAAb,CAAiB,MAAM,KAAK48E,WAAL,CAAiBpvE,MAAjB,EAAvB;AACH;AACJ,KALD;AAMH;AACD;;;AACApB,EAAAA,MAAM,CAACywE,UAAD,EAAa;AACf,QAAI,KAAKD,WAAL,KAAqB,OAAOx+E,SAAP,KAAqB,WAArB,IAAoCA,SAAzD,CAAJ,EAAyE;AACrE,YAAMq+E,wCAAwC,EAA9C;AACH;;AACD,SAAKG,WAAL,GAAmBC,UAAnB;AACH;AACD;;;AACA9rB,EAAAA,MAAM,GAAG;AACL,QAAI,KAAKuE,mBAAT,EAA8B;AAC1B;AACH;;AACD,UAAM0kB,MAAM,GAAG,KAAKvO,iBAAL,CAAuBpO,QAAvB,CAAgC,CAAhC,CAAf;;AACA,QAAI,KAAKvI,OAAL,IAAgB,KAAKA,OAAL,CAAarC,SAA7B,IAA0C,KAAKqC,OAAL,CAAarC,SAAb,GAAyB,CAAvE,EAA0E;AACtE,WAAKqqB,sBAAL,GAA8B,KAAK/pB,cAAL,CAAoBI,yBAApB,GAAgDjC,GAA9E;AACA,WAAKoE,mBAAL,GAA2B0kB,MAAM,CAACz4E,SAAP,CAAiB,MAAM;AAC9C,cAAM2xD,cAAc,GAAG,KAAKH,cAAL,CAAoBI,yBAApB,GAAgDjC,GAAvE;;AACA,YAAIj6D,IAAI,CAACk5B,GAAL,CAAS+iC,cAAc,GAAG,KAAK4pB,sBAA/B,IAAyD,KAAKhoB,OAAL,CAAarC,SAA1E,EAAqF;AACjF,eAAKkqB,OAAL;AACH,SAFD,MAGK;AACD,eAAKC,WAAL,CAAiBpwE,cAAjB;AACH;AACJ,OAR0B,CAA3B;AASH,KAXD,MAYK;AACD,WAAK8oD,mBAAL,GAA2B0kB,MAAM,CAACz4E,SAAP,CAAiB,KAAKo7E,OAAtB,CAA3B;AACH;AACJ;AACD;;;AACA50C,EAAAA,OAAO,GAAG;AACN,QAAI,KAAKutB,mBAAT,EAA8B;AAC1B,WAAKA,mBAAL,CAAyBxqD,WAAzB;;AACA,WAAKwqD,mBAAL,GAA2B,IAA3B;AACH;AACJ;;AACD9nD,EAAAA,MAAM,GAAG;AACL,SAAKu6B,OAAL;AACA,SAAK60C,WAAL,GAAmB,IAAnB;AACH;;AAtDqB;AAyD1B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMG,kBAAN,CAAyB;AACrB;AACAhsB,EAAAA,MAAM,GAAG,CAAG;AACZ;;;AACAhpB,EAAAA,OAAO,GAAG,CAAG;AACb;;;AACA37B,EAAAA,MAAM,GAAG,CAAG;;AANS;AASzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4wE,4BAAT,CAAsC/sE,OAAtC,EAA+CgtE,gBAA/C,EAAiE;AAC7D,SAAOA,gBAAgB,CAAChxD,IAAjB,CAAsBixD,eAAe,IAAI;AAC5C,UAAMC,YAAY,GAAGltE,OAAO,CAACoiD,MAAR,GAAiB6qB,eAAe,CAAChsB,GAAtD;AACA,UAAMksB,YAAY,GAAGntE,OAAO,CAACihD,GAAR,GAAcgsB,eAAe,CAAC7qB,MAAnD;AACA,UAAMgrB,WAAW,GAAGptE,OAAO,CAACmiD,KAAR,GAAgB8qB,eAAe,CAAC9rB,IAApD;AACA,UAAMksB,YAAY,GAAGrtE,OAAO,CAACmhD,IAAR,GAAe8rB,eAAe,CAAC9qB,KAApD;AACA,WAAO+qB,YAAY,IAAIC,YAAhB,IAAgCC,WAAhC,IAA+CC,YAAtD;AACH,GANM,CAAP;AAOH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,2BAAT,CAAqCttE,OAArC,EAA8CgtE,gBAA9C,EAAgE;AAC5D,SAAOA,gBAAgB,CAAChxD,IAAjB,CAAsBuxD,mBAAmB,IAAI;AAChD,UAAMC,YAAY,GAAGxtE,OAAO,CAACihD,GAAR,GAAcssB,mBAAmB,CAACtsB,GAAvD;AACA,UAAMwsB,YAAY,GAAGztE,OAAO,CAACoiD,MAAR,GAAiBmrB,mBAAmB,CAACnrB,MAA1D;AACA,UAAMsrB,WAAW,GAAG1tE,OAAO,CAACmhD,IAAR,GAAeosB,mBAAmB,CAACpsB,IAAvD;AACA,UAAMwsB,YAAY,GAAG3tE,OAAO,CAACmiD,KAAR,GAAgBorB,mBAAmB,CAACprB,KAAzD;AACA,WAAOqrB,YAAY,IAAIC,YAAhB,IAAgCC,WAAhC,IAA+CC,YAAtD;AACH,GANM,CAAP;AAOH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMC,wBAAN,CAA+B;AAC3BviF,EAAAA,WAAW,CAACmwE,iBAAD,EAAoB1Y,cAApB,EAAoCjX,OAApC,EAA6CgZ,OAA7C,EAAsD;AAC7D,SAAK2W,iBAAL,GAAyBA,iBAAzB;AACA,SAAK1Y,cAAL,GAAsBA,cAAtB;AACA,SAAKjX,OAAL,GAAeA,OAAf;AACA,SAAKgZ,OAAL,GAAeA,OAAf;AACA,SAAKQ,mBAAL,GAA2B,IAA3B;AACH;AACD;;;AACAlpD,EAAAA,MAAM,CAACywE,UAAD,EAAa;AACf,QAAI,KAAKD,WAAL,KAAqB,OAAOx+E,SAAP,KAAqB,WAArB,IAAoCA,SAAzD,CAAJ,EAAyE;AACrE,YAAMq+E,wCAAwC,EAA9C;AACH;;AACD,SAAKG,WAAL,GAAmBC,UAAnB;AACH;AACD;;;AACA9rB,EAAAA,MAAM,GAAG;AACL,QAAI,CAAC,KAAKuE,mBAAV,EAA+B;AAC3B,YAAMwoB,QAAQ,GAAG,KAAKhpB,OAAL,GAAe,KAAKA,OAAL,CAAaipB,cAA5B,GAA6C,CAA9D;AACA,WAAKzoB,mBAAL,GAA2B,KAAKmW,iBAAL,CAAuBpO,QAAvB,CAAgCygB,QAAhC,EAA0Cv8E,SAA1C,CAAoD,MAAM;AACjF,aAAKq7E,WAAL,CAAiBpwE,cAAjB,GADiF,CAEjF;;;AACA,YAAI,KAAKsoD,OAAL,IAAgB,KAAKA,OAAL,CAAakpB,SAAjC,EAA4C;AACxC,gBAAMC,WAAW,GAAG,KAAKrB,WAAL,CAAiB7vE,cAAjB,CAAgColD,qBAAhC,EAApB;;AACA,gBAAM;AAAEjzD,YAAAA,KAAF;AAASC,YAAAA;AAAT,cAAoB,KAAK4zD,cAAL,CAAoB+U,eAApB,EAA1B,CAFwC,CAGxC;AACA;;;AACA,gBAAMoW,WAAW,GAAG,CAAC;AAAEh/E,YAAAA,KAAF;AAASC,YAAAA,MAAT;AAAiBkzD,YAAAA,MAAM,EAAElzD,MAAzB;AAAiCizD,YAAAA,KAAK,EAAElzD,KAAxC;AAA+CgyD,YAAAA,GAAG,EAAE,CAApD;AAAuDE,YAAAA,IAAI,EAAE;AAA7D,WAAD,CAApB;;AACA,cAAI4rB,4BAA4B,CAACiB,WAAD,EAAcC,WAAd,CAAhC,EAA4D;AACxD,iBAAKn2C,OAAL;;AACA,iBAAK+T,OAAL,CAAa97C,GAAb,CAAiB,MAAM,KAAK48E,WAAL,CAAiBpvE,MAAjB,EAAvB;AACH;AACJ;AACJ,OAd0B,CAA3B;AAeH;AACJ;AACD;;;AACAu6B,EAAAA,OAAO,GAAG;AACN,QAAI,KAAKutB,mBAAT,EAA8B;AAC1B,WAAKA,mBAAL,CAAyBxqD,WAAzB;;AACA,WAAKwqD,mBAAL,GAA2B,IAA3B;AACH;AACJ;;AACD9nD,EAAAA,MAAM,GAAG;AACL,SAAKu6B,OAAL;AACA,SAAK60C,WAAL,GAAmB,IAAnB;AACH;;AA9C0B;AAiD/B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMuB;AAAN,QAAMA,qBAAN,CAA4B;AACxB7iF,IAAAA,WAAW,CAACmwE,iBAAD,EAAoB1Y,cAApB,EAAoCjX,OAApC,EAA6C/8C,QAA7C,EAAuD;AAC9D,WAAK0sE,iBAAL,GAAyBA,iBAAzB;AACA,WAAK1Y,cAAL,GAAsBA,cAAtB;AACA,WAAKjX,OAAL,GAAeA,OAAf;AACA;;AACA,WAAKsiC,IAAL,GAAY,MAAM,IAAIrB,kBAAJ,EAAlB;AACA;AACR;AACA;AACA;;;AACQ,WAAKryE,KAAL,GAAcxI,MAAD,IAAY,IAAIw6E,mBAAJ,CAAwB,KAAKjR,iBAA7B,EAAgD,KAAK3vB,OAArD,EAA8D,KAAKiX,cAAnE,EAAmF7wD,MAAnF,CAAzB;AACA;;;AACA,WAAKm8E,KAAL,GAAa,MAAM,IAAIxC,mBAAJ,CAAwB,KAAK9oB,cAA7B,EAA6C,KAAK1pD,SAAlD,CAAnB;AACA;AACR;AACA;AACA;AACA;;;AACQ,WAAKzC,UAAL,GAAmB1E,MAAD,IAAY,IAAI27E,wBAAJ,CAA6B,KAAKpS,iBAAlC,EAAqD,KAAK1Y,cAA1D,EAA0E,KAAKjX,OAA/E,EAAwF55C,MAAxF,CAA9B;;AACA,WAAKmH,SAAL,GAAiBtK,QAAjB;AACH;;AArBuB;;AAuB5Bo/E,EAAAA,qBAAqB,CAACvhF,IAAtB,GAA6B,SAAS0hF,6BAAT,CAAuCxhF,CAAvC,EAA0C;AAAE,WAAO,KAAKA,CAAC,IAAIqhF,qBAAV,EAAiC9pF,sDAAA,CAAgBC,oEAAhB,CAAjC,EAA2ED,sDAAA,CAAgBC,iEAAhB,CAA3E,EAAkHD,sDAAA,CAAgBA,iDAAhB,CAAlH,EAAkJA,sDAAA,CAAgBvD,qDAAhB,CAAlJ,CAAP;AAAsL,GAA/P;;AACAqtF,EAAAA,qBAAqB,CAACn4E,KAAtB,GAA8BwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASm4E,6BAAT,GAAyC;AAAE,aAAO,IAAIH,qBAAJ,CAA0B3tC,sDAAA,CAAYqB,oEAAZ,CAA1B,EAA4DrB,sDAAA,CAAYqB,iEAAZ,CAA5D,EAA2FrB,sDAAA,CAAYA,iDAAZ,CAA3F,EAAmHA,sDAAA,CAAY0qC,qDAAZ,CAAnH,CAAP;AAAwJ,KAA9M;AAAgNh1E,IAAAA,KAAK,EAAEi4E,qBAAvN;AAA8O3oC,IAAAA,UAAU,EAAE;AAA1P,GAAtB,CAA9B;SAxBM2oC;;;AA+BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO//E,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMnK,aAAN,CAAoB;AAChBqH,EAAAA,WAAW,CAAC4G,MAAD,EAAS;AAChB;AACA,SAAKkH,cAAL,GAAsB,IAAI2zE,kBAAJ,EAAtB;AACA;;AACA,SAAKlxE,UAAL,GAAkB,EAAlB;AACA;;AACA,SAAKe,WAAL,GAAmB,KAAnB;AACA;;AACA,SAAKC,aAAL,GAAqB,2BAArB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAK0xE,mBAAL,GAA2B,KAA3B;;AACA,QAAIr8E,MAAJ,EAAY;AACR;AACA;AACA;AACA,YAAMs8E,UAAU,GAAGrjE,MAAM,CAACC,IAAP,CAAYlZ,MAAZ,CAAnB;;AACA,WAAK,MAAMma,GAAX,IAAkBmiE,UAAlB,EAA8B;AAC1B,YAAIt8E,MAAM,CAACma,GAAD,CAAN,KAAgBhS,SAApB,EAA+B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,eAAKgS,GAAL,IAAYna,MAAM,CAACma,GAAD,CAAlB;AACH;AACJ;AACJ;AACJ;;AAjCe;AAoCpB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMoiE,sBAAN,CAA6B;AACzBnjF,EAAAA,WAAW,CAACo+C,MAAD,EAAShzC,OAAT;AACX;AACAxD,EAAAA,OAFW;AAGX;AACAC,EAAAA,OAJW;AAKX;AACA0I,EAAAA,UANW,EAMC;AACR,SAAK3I,OAAL,GAAeA,OAAf;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAK0I,UAAL,GAAkBA,UAAlB;AACA,SAAKwC,OAAL,GAAeqrC,MAAM,CAACrrC,OAAtB;AACA,SAAKC,OAAL,GAAeorC,MAAM,CAACprC,OAAtB;AACA,SAAKC,QAAL,GAAgB7H,OAAO,CAAC6H,QAAxB;AACA,SAAKC,QAAL,GAAgB9H,OAAO,CAAC8H,QAAxB;AACH;;AAfwB;AAiB7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMkwE,mBAAN,CAA0B;AAE1B;;;AACA,MAAMC,8BAAN,CAAqC;AACjCrjF,EAAAA,WAAW;AACX;AACAsjF,EAAAA,cAFW;AAGX;AACAC,EAAAA,wBAJW,EAIe;AACtB,SAAKD,cAAL,GAAsBA,cAAtB;AACA,SAAKC,wBAAL,GAAgCA,wBAAhC;AACH;;AARgC;;AAcrC;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,wBAAT,CAAkC92C,QAAlC,EAA4CtmC,KAA5C,EAAmD;AAC/C,MAAIA,KAAK,KAAK,KAAV,IAAmBA,KAAK,KAAK,QAA7B,IAAyCA,KAAK,KAAK,QAAvD,EAAiE;AAC7D,UAAMtG,KAAK,CAAE,8BAA6B4sC,QAAS,KAAItmC,KAAM,KAAjD,GACP,uCADM,CAAX;AAEH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASq9E,0BAAT,CAAoC/2C,QAApC,EAA8CtmC,KAA9C,EAAqD;AACjD,MAAIA,KAAK,KAAK,OAAV,IAAqBA,KAAK,KAAK,KAA/B,IAAwCA,KAAK,KAAK,QAAtD,EAAgE;AAC5D,UAAMtG,KAAK,CAAE,8BAA6B4sC,QAAS,KAAItmC,KAAM,KAAjD,GACP,sCADM,CAAX;AAEH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;IACMs9E;AAAN,QAAMA,qBAAN,CAA4B;AACxB1jF,IAAAA,WAAW,CAACyD,QAAD,EAAW;AAClB;AACA,WAAKkgF,iBAAL,GAAyB,EAAzB;AACA,WAAK51E,SAAL,GAAiBtK,QAAjB;AACH;;AACDL,IAAAA,WAAW,GAAG;AACV,WAAK8O,MAAL;AACH;AACD;;;AACAob,IAAAA,GAAG,CAACi0D,UAAD,EAAa;AACZ;AACA,WAAK91C,MAAL,CAAY81C,UAAZ;;AACA,WAAKoC,iBAAL,CAAuBrnE,IAAvB,CAA4BilE,UAA5B;AACH;AACD;;;AACA91C,IAAAA,MAAM,CAAC81C,UAAD,EAAa;AACf,YAAM7jD,KAAK,GAAG,KAAKimD,iBAAL,CAAuBriE,OAAvB,CAA+BigE,UAA/B,CAAd;;AACA,UAAI7jD,KAAK,GAAG,CAAC,CAAb,EAAgB;AACZ,aAAKimD,iBAAL,CAAuBp9D,MAAvB,CAA8BmX,KAA9B,EAAqC,CAArC;AACH,OAJc,CAKf;;;AACA,UAAI,KAAKimD,iBAAL,CAAuBjmF,MAAvB,KAAkC,CAAtC,EAAyC;AACrC,aAAKwU,MAAL;AACH;AACJ;;AAzBuB;;AA2B5BwxE,EAAAA,qBAAqB,CAACpiF,IAAtB,GAA6B,SAASsiF,6BAAT,CAAuCpiF,CAAvC,EAA0C;AAAE,WAAO,KAAKA,CAAC,IAAIkiF,qBAAV,EAAiC3qF,sDAAA,CAAgBvD,qDAAhB,CAAjC,CAAP;AAAqE,GAA9I;;AACAkuF,EAAAA,qBAAqB,CAACh5E,KAAtB,GAA8BwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAAS+4E,6BAAT,GAAyC;AAAE,aAAO,IAAIF,qBAAJ,CAA0BxuC,sDAAA,CAAY0qC,qDAAZ,CAA1B,CAAP;AAA+D,KAArH;AAAuHh1E,IAAAA,KAAK,EAAE84E,qBAA9H;AAAqJxpC,IAAAA,UAAU,EAAE;AAAjK,GAAtB,CAA9B;SA5BMwpC;;;AAgCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO5gF,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;IACM+gF;AAAN,QAAMA,yBAAN,SAAwCH,qBAAxC,CAA8D;AAC1D1jF,IAAAA,WAAW,CAACyD,QAAD,EAAW;AAClB,YAAMA,QAAN;AACA;;AACA,WAAKqgF,gBAAL,GAAyBhyE,KAAD,IAAW;AAC/B,cAAMiyE,QAAQ,GAAG,KAAKJ,iBAAtB;;AACA,aAAK,IAAIvgE,CAAC,GAAG2gE,QAAQ,CAACrmF,MAAT,GAAkB,CAA/B,EAAkC0lB,CAAC,GAAG,CAAC,CAAvC,EAA0CA,CAAC,EAA3C,EAA+C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,cAAI2gE,QAAQ,CAAC3gE,CAAD,CAAR,CAAY4gE,cAAZ,CAA2B9mB,SAA3B,CAAqCx/D,MAArC,GAA8C,CAAlD,EAAqD;AACjDqmF,YAAAA,QAAQ,CAAC3gE,CAAD,CAAR,CAAY4gE,cAAZ,CAA2B3gF,IAA3B,CAAgCyO,KAAhC;;AACA;AACH;AACJ;AACJ,OAdD;AAeH;AACD;;;AACAwb,IAAAA,GAAG,CAACi0D,UAAD,EAAa;AACZ,YAAMj0D,GAAN,CAAUi0D,UAAV,EADY,CAEZ;;AACA,UAAI,CAAC,KAAK0C,WAAV,EAAuB;AACnB,aAAKl2E,SAAL,CAAegW,IAAf,CAAoBxf,gBAApB,CAAqC,SAArC,EAAgD,KAAKu/E,gBAArD;;AACA,aAAKG,WAAL,GAAmB,IAAnB;AACH;AACJ;AACD;;;AACA/xE,IAAAA,MAAM,GAAG;AACL,UAAI,KAAK+xE,WAAT,EAAsB;AAClB,aAAKl2E,SAAL,CAAegW,IAAf,CAAoBnf,mBAApB,CAAwC,SAAxC,EAAmD,KAAKk/E,gBAAxD;;AACA,aAAKG,WAAL,GAAmB,KAAnB;AACH;AACJ;;AAnCyD;;AAqC9DJ,EAAAA,yBAAyB,CAACviF,IAA1B,GAAiC,SAAS4iF,iCAAT,CAA2C1iF,CAA3C,EAA8C;AAAE,WAAO,KAAKA,CAAC,IAAIqiF,yBAAV,EAAqC9qF,sDAAA,CAAgBvD,qDAAhB,CAArC,CAAP;AAAyE,GAA1J;;AACAquF,EAAAA,yBAAyB,CAACn5E,KAA1B,GAAkCwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASq5E,iCAAT,GAA6C;AAAE,aAAO,IAAIL,yBAAJ,CAA8B3uC,sDAAA,CAAY0qC,qDAAZ,CAA9B,CAAP;AAAmE,KAA7H;AAA+Hh1E,IAAAA,KAAK,EAAEi5E,yBAAtI;AAAiK3pC,IAAAA,UAAU,EAAE;AAA7K,GAAtB,CAAlC;SAtCM2pC;;;AA0CN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/gF,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;IACMqhF;AAAN,QAAMA,6BAAN,SAA4CT,qBAA5C,CAAkE;AAC9D1jF,IAAAA,WAAW,CAACyD,QAAD,EAAW+6C,SAAX,EAAsB;AAC7B,YAAM/6C,QAAN;AACA,WAAK+6C,SAAL,GAAiBA,SAAjB;AACA,WAAK4lC,iBAAL,GAAyB,KAAzB;AACA;;AACA,WAAKC,oBAAL,GAA6BvyE,KAAD,IAAW;AACnC,aAAKwyE,uBAAL,GAA+B3tC,sEAAe,CAAC7kC,KAAD,CAA9C;AACH,OAFD;AAGA;;;AACA,WAAKyyE,cAAL,GAAuBzyE,KAAD,IAAW;AAC7B,cAAMwB,MAAM,GAAGqjC,sEAAe,CAAC7kC,KAAD,CAA9B,CAD6B,CAE7B;AACA;AACA;AACA;AACA;AACA;;;AACA,cAAMssC,MAAM,GAAGtsC,KAAK,CAACnQ,IAAN,KAAe,OAAf,IAA0B,KAAK2iF,uBAA/B,GACT,KAAKA,uBADI,GACsBhxE,MADrC,CAR6B,CAU7B;AACA;;AACA,aAAKgxE,uBAAL,GAA+B,IAA/B,CAZ6B,CAa7B;AACA;AACA;;AACA,cAAMP,QAAQ,GAAG,KAAKJ,iBAAL,CAAuBn6E,KAAvB,EAAjB,CAhB6B,CAiB7B;AACA;AACA;AACA;;;AACA,aAAK,IAAI4Z,CAAC,GAAG2gE,QAAQ,CAACrmF,MAAT,GAAkB,CAA/B,EAAkC0lB,CAAC,GAAG,CAAC,CAAvC,EAA0CA,CAAC,EAA3C,EAA+C;AAC3C,gBAAMm+D,UAAU,GAAGwC,QAAQ,CAAC3gE,CAAD,CAA3B;;AACA,cAAIm+D,UAAU,CAACiD,qBAAX,CAAiCtnB,SAAjC,CAA2Cx/D,MAA3C,GAAoD,CAApD,IAAyD,CAAC6jF,UAAU,CAAC1wE,WAAX,EAA9D,EAAwF;AACpF;AACH,WAJ0C,CAK3C;AACA;AACA;;;AACA,cAAI0wE,UAAU,CAAC9vE,cAAX,CAA0B2Q,QAA1B,CAAmC9O,MAAnC,KACAiuE,UAAU,CAAC9vE,cAAX,CAA0B2Q,QAA1B,CAAmCg8B,MAAnC,CADJ,EACgD;AAC5C;AACH;;AACDmjC,UAAAA,UAAU,CAACiD,qBAAX,CAAiCnhF,IAAjC,CAAsCyO,KAAtC;AACH;AACJ,OAnCD;AAoCH;AACD;;;AACAwb,IAAAA,GAAG,CAACi0D,UAAD,EAAa;AACZ,YAAMj0D,GAAN,CAAUi0D,UAAV,EADY,CAEZ;AACA;AACA;AACA;AACA;AACA;;AACA,UAAI,CAAC,KAAK0C,WAAV,EAAuB;AACnB,cAAMlgE,IAAI,GAAG,KAAKhW,SAAL,CAAegW,IAA5B;AACAA,QAAAA,IAAI,CAACxf,gBAAL,CAAsB,aAAtB,EAAqC,KAAK8/E,oBAA1C,EAAgE,IAAhE;AACAtgE,QAAAA,IAAI,CAACxf,gBAAL,CAAsB,OAAtB,EAA+B,KAAKggF,cAApC,EAAoD,IAApD;AACAxgE,QAAAA,IAAI,CAACxf,gBAAL,CAAsB,UAAtB,EAAkC,KAAKggF,cAAvC,EAAuD,IAAvD;AACAxgE,QAAAA,IAAI,CAACxf,gBAAL,CAAsB,aAAtB,EAAqC,KAAKggF,cAA1C,EAA0D,IAA1D,EALmB,CAMnB;AACA;;AACA,YAAI,KAAK/lC,SAAL,CAAeY,GAAf,IAAsB,CAAC,KAAKglC,iBAAhC,EAAmD;AAC/C,eAAKK,oBAAL,GAA4B1gE,IAAI,CAACzJ,KAAL,CAAWoqE,MAAvC;AACA3gE,UAAAA,IAAI,CAACzJ,KAAL,CAAWoqE,MAAX,GAAoB,SAApB;AACA,eAAKN,iBAAL,GAAyB,IAAzB;AACH;;AACD,aAAKH,WAAL,GAAmB,IAAnB;AACH;AACJ;AACD;;;AACA/xE,IAAAA,MAAM,GAAG;AACL,UAAI,KAAK+xE,WAAT,EAAsB;AAClB,cAAMlgE,IAAI,GAAG,KAAKhW,SAAL,CAAegW,IAA5B;AACAA,QAAAA,IAAI,CAACnf,mBAAL,CAAyB,aAAzB,EAAwC,KAAKy/E,oBAA7C,EAAmE,IAAnE;AACAtgE,QAAAA,IAAI,CAACnf,mBAAL,CAAyB,OAAzB,EAAkC,KAAK2/E,cAAvC,EAAuD,IAAvD;AACAxgE,QAAAA,IAAI,CAACnf,mBAAL,CAAyB,UAAzB,EAAqC,KAAK2/E,cAA1C,EAA0D,IAA1D;AACAxgE,QAAAA,IAAI,CAACnf,mBAAL,CAAyB,aAAzB,EAAwC,KAAK2/E,cAA7C,EAA6D,IAA7D;;AACA,YAAI,KAAK/lC,SAAL,CAAeY,GAAf,IAAsB,KAAKglC,iBAA/B,EAAkD;AAC9CrgE,UAAAA,IAAI,CAACzJ,KAAL,CAAWoqE,MAAX,GAAoB,KAAKD,oBAAzB;AACA,eAAKL,iBAAL,GAAyB,KAAzB;AACH;;AACD,aAAKH,WAAL,GAAmB,KAAnB;AACH;AACJ;;AAtF6D;;AAwFlEE,EAAAA,6BAA6B,CAAC7iF,IAA9B,GAAqC,SAASqjF,qCAAT,CAA+CnjF,CAA/C,EAAkD;AAAE,WAAO,KAAKA,CAAC,IAAI2iF,6BAAV,EAAyCprF,sDAAA,CAAgBvD,qDAAhB,CAAzC,EAAoEuD,sDAAA,CAAgBE,2DAAhB,CAApE,CAAP;AAA+G,GAAxM;;AACAkrF,EAAAA,6BAA6B,CAACz5E,KAA9B,GAAsCwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAAS85E,qCAAT,GAAiD;AAAE,aAAO,IAAIR,6BAAJ,CAAkCjvC,sDAAA,CAAY0qC,qDAAZ,CAAlC,EAA8D1qC,sDAAA,CAAYD,2DAAZ,CAA9D,CAAP;AAAiG,KAA/J;AAAiKrqC,IAAAA,KAAK,EAAEu5E,6BAAxK;AAAuMjqC,IAAAA,UAAU,EAAE;AAAnN,GAAtB,CAAtC;SAzFMiqC;;;AA8FN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOrhF,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAM0C,CANzD;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACM8hF;AAAN,QAAMA,gBAAN,CAAuB;AACnB5kF,IAAAA,WAAW,CAACyD,QAAD,EAAW+6C,SAAX,EAAsB;AAC7B,WAAKA,SAAL,GAAiBA,SAAjB;AACA,WAAKzwC,SAAL,GAAiBtK,QAAjB;AACH;;AACDL,IAAAA,WAAW,GAAG;AACV,YAAM44D,SAAS,GAAG,KAAK6oB,iBAAvB;;AACA,UAAI7oB,SAAS,IAAIA,SAAS,CAAC15C,UAA3B,EAAuC;AACnC05C,QAAAA,SAAS,CAAC15C,UAAV,CAAqBmwB,WAArB,CAAiCupB,SAAjC;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI8oB,IAAAA,mBAAmB,GAAG;AAClB,UAAI,CAAC,KAAKD,iBAAV,EAA6B;AACzB,aAAKE,gBAAL;AACH;;AACD,aAAO,KAAKF,iBAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACIE,IAAAA,gBAAgB,GAAG;AACf,YAAMC,cAAc,GAAG,uBAAvB,CADe,CAEf;AACA;AACA;;AACA,UAAI,KAAKxmC,SAAL,CAAe7/B,SAAf,IAA4BuhE,yEAAkB,EAAlD,EAAsD;AAClD,cAAM+E,0BAA0B,GAAG,KAAKl3E,SAAL,CAAeoV,gBAAf,CAAiC,IAAG6hE,cAAe,uBAAnB,GAC9D,IAAGA,cAAe,mBADY,CAAnC,CADkD,CAGlD;AACA;;;AACA,aAAK,IAAI5hE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6hE,0BAA0B,CAACvnF,MAA/C,EAAuD0lB,CAAC,EAAxD,EAA4D;AACxD6hE,UAAAA,0BAA0B,CAAC7hE,CAAD,CAA1B,CAA8Bd,UAA9B,CAAyCmwB,WAAzC,CAAqDwyC,0BAA0B,CAAC7hE,CAAD,CAA/E;AACH;AACJ;;AACD,YAAM44C,SAAS,GAAG,KAAKjuD,SAAL,CAAe0jC,aAAf,CAA6B,KAA7B,CAAlB;;AACAuqB,MAAAA,SAAS,CAACzwB,SAAV,CAAoBje,GAApB,CAAwB03D,cAAxB,EAfe,CAgBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,UAAI9E,yEAAkB,EAAtB,EAA0B;AACtBlkB,QAAAA,SAAS,CAACtqD,YAAV,CAAuB,UAAvB,EAAmC,MAAnC;AACH,OAFD,MAGK,IAAI,CAAC,KAAK8sC,SAAL,CAAe7/B,SAApB,EAA+B;AAChCq9C,QAAAA,SAAS,CAACtqD,YAAV,CAAuB,UAAvB,EAAmC,QAAnC;AACH;;AACD,WAAK3D,SAAL,CAAegW,IAAf,CAAoBiuB,WAApB,CAAgCgqB,SAAhC;;AACA,WAAK6oB,iBAAL,GAAyB7oB,SAAzB;AACH;;AA5DkB;;AA8DvB4oB,EAAAA,gBAAgB,CAACtjF,IAAjB,GAAwB,SAAS4jF,wBAAT,CAAkC1jF,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAIojF,gBAAV,EAA4B7rF,sDAAA,CAAgBvD,qDAAhB,CAA5B,EAAuDuD,sDAAA,CAAgBE,2DAAhB,CAAvD,CAAP;AAAkG,GAAjK;;AACA2rF,EAAAA,gBAAgB,CAACl6E,KAAjB,GAAyBwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASq6E,wBAAT,GAAoC;AAAE,aAAO,IAAIN,gBAAJ,CAAqB1vC,sDAAA,CAAY0qC,qDAAZ,CAArB,EAAiD1qC,sDAAA,CAAYD,2DAAZ,CAAjD,CAAP;AAAoF,KAArI;AAAuIrqC,IAAAA,KAAK,EAAEg6E,gBAA9I;AAAgK1qC,IAAAA,UAAU,EAAE;AAA5K,GAAtB,CAAzB;SA/DM0qC;;;AAoEN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO9hF,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAM0C,CANzD;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMqiF,UAAN,CAAiB;AACbnlF,EAAAA,WAAW,CAAColF,aAAD,EAAgBC,KAAhB,EAAuBC,KAAvB,EAA8B9rB,OAA9B,EAAuChZ,OAAvC,EAAgD+kC,mBAAhD,EAAqEx3E,SAArE,EAAgFy3E,SAAhF,EAA2FC,uBAA3F,EAAoH;AAC3H,SAAKL,aAAL,GAAqBA,aAArB;AACA,SAAKC,KAAL,GAAaA,KAAb;AACA,SAAKC,KAAL,GAAaA,KAAb;AACA,SAAK9rB,OAAL,GAAeA,OAAf;AACA,SAAKhZ,OAAL,GAAeA,OAAf;AACA,SAAK+kC,mBAAL,GAA2BA,mBAA3B;AACA,SAAKx3E,SAAL,GAAiBA,SAAjB;AACA,SAAKy3E,SAAL,GAAiBA,SAAjB;AACA,SAAKC,uBAAL,GAA+BA,uBAA/B;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACA,SAAKC,cAAL,GAAsB,IAAI/tF,yCAAJ,EAAtB;AACA,SAAKguF,YAAL,GAAoB,IAAIhuF,yCAAJ,EAApB;AACA,SAAKiuF,YAAL,GAAoB,IAAIjuF,yCAAJ,EAApB;AACA,SAAKkuF,gBAAL,GAAwBhuF,oDAAxB;;AACA,SAAKiuF,qBAAL,GAA8Bj0E,KAAD,IAAW,KAAK6zE,cAAL,CAAoBtiF,IAApB,CAAyByO,KAAzB,CAAxC;AACA;;;AACA,SAAKkyE,cAAL,GAAsB,IAAIpsF,yCAAJ,EAAtB;AACA;;AACA,SAAK4sF,qBAAL,GAA6B,IAAI5sF,yCAAJ,EAA7B;;AACA,QAAI4hE,OAAO,CAAC1rD,cAAZ,EAA4B;AACxB,WAAKc,eAAL,GAAuB4qD,OAAO,CAAC1rD,cAA/B;;AACA,WAAKc,eAAL,CAAqBkC,MAArB,CAA4B,IAA5B;AACH;;AACD,SAAKk1E,iBAAL,GAAyBxsB,OAAO,CAACpoD,gBAAjC;AACH;AACD;;;AACkB,MAAdK,cAAc,GAAG;AACjB,WAAO,KAAK6zE,KAAZ;AACH;AACD;;;AACmB,MAAfW,eAAe,GAAG;AAClB,WAAO,KAAKP,gBAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACmB,MAAXtmD,WAAW,GAAG;AACd,WAAO,KAAKimD,KAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIv0E,EAAAA,MAAM,CAACo1E,MAAD,EAAS;AACX,QAAIC,YAAY,GAAG,KAAKf,aAAL,CAAmBt0E,MAAnB,CAA0Bo1E,MAA1B,CAAnB,CADW,CAEX;;;AACA,QAAI,CAAC,KAAKb,KAAL,CAAW/7B,aAAZ,IAA6B,KAAK88B,mBAAtC,EAA2D;AACvD,WAAKA,mBAAL,CAAyBp0C,WAAzB,CAAqC,KAAKqzC,KAA1C;AACH;;AACD,QAAI,KAAKW,iBAAT,EAA4B;AACxB,WAAKA,iBAAL,CAAuBl1E,MAAvB,CAA8B,IAA9B;AACH;;AACD,SAAKu1E,oBAAL;;AACA,SAAKC,kBAAL;;AACA,SAAKC,uBAAL;;AACA,QAAI,KAAK33E,eAAT,EAA0B;AACtB,WAAKA,eAAL,CAAqB6mD,MAArB;AACH,KAdU,CAeX;AACA;AACA;;;AACA,SAAKjV,OAAL,CAAaxvC,QAAb,CACKhL,IADL,CACU7N,oDAAI,CAAC,CAAD,CADd,EAEK8N,SAFL,CAEe,MAAM;AACjB;AACA,UAAI,KAAK4K,WAAL,EAAJ,EAAwB;AACpB,aAAKK,cAAL;AACH;AACJ,KAPD,EAlBW,CA0BX;;;AACA,SAAKs1E,oBAAL,CAA0B,IAA1B;;AACA,QAAI,KAAKhtB,OAAL,CAAaloD,WAAjB,EAA8B;AAC1B,WAAKm1E,eAAL;AACH;;AACD,QAAI,KAAKjtB,OAAL,CAAajpD,UAAjB,EAA6B;AACzB,WAAKm2E,cAAL,CAAoB,KAAKpB,KAAzB,EAAgC,KAAK9rB,OAAL,CAAajpD,UAA7C,EAAyD,IAAzD;AACH,KAjCU,CAkCX;;;AACA,SAAKq1E,YAAL,CAAkBviF,IAAlB,GAnCW,CAoCX;;;AACA,SAAKkiF,mBAAL,CAAyBj4D,GAAzB,CAA6B,IAA7B;;AACA,QAAI,KAAKksC,OAAL,CAAaypB,mBAAjB,EAAsC;AAClC,WAAK6C,gBAAL,GAAwB,KAAKN,SAAL,CAAev/E,SAAf,CAAyB,MAAM,KAAKyJ,OAAL,EAA/B,CAAxB;AACH;;AACD,SAAK+1E,uBAAL,CAA6Bn4D,GAA7B,CAAiC,IAAjC;;AACA,WAAO64D,YAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIj0E,EAAAA,MAAM,GAAG;AACL,QAAI,CAAC,KAAKrB,WAAL,EAAL,EAAyB;AACrB;AACH;;AACD,SAAK81E,cAAL,GAJK,CAKL;AACA;AACA;;AACA,SAAKH,oBAAL,CAA0B,KAA1B;;AACA,QAAI,KAAKR,iBAAL,IAA0B,KAAKA,iBAAL,CAAuB9zE,MAArD,EAA6D;AACzD,WAAK8zE,iBAAL,CAAuB9zE,MAAvB;AACH;;AACD,QAAI,KAAKtD,eAAT,EAA0B;AACtB,WAAKA,eAAL,CAAqB69B,OAArB;AACH;;AACD,UAAMm6C,gBAAgB,GAAG,KAAKxB,aAAL,CAAmBlzE,MAAnB,EAAzB,CAfK,CAgBL;;;AACA,SAAK2zE,YAAL,CAAkBxiF,IAAlB,GAjBK,CAkBL;;;AACA,SAAKkiF,mBAAL,CAAyB95C,MAAzB,CAAgC,IAAhC,EAnBK,CAoBL;AACA;;;AACA,SAAKo7C,wBAAL;;AACA,SAAKf,gBAAL,CAAsBt2E,WAAtB;;AACA,SAAKi2E,uBAAL,CAA6Bh6C,MAA7B,CAAoC,IAApC;;AACA,WAAOm7C,gBAAP;AACH;AACD;;;AACAl3E,EAAAA,OAAO,GAAG;AACN,UAAMyC,UAAU,GAAG,KAAKtB,WAAL,EAAnB;;AACA,QAAI,KAAKm1E,iBAAT,EAA4B;AACxB,WAAKA,iBAAL,CAAuBt2E,OAAvB;AACH;;AACD,SAAKo3E,sBAAL;;AACA,SAAKC,gBAAL,CAAsB,KAAKrB,gBAA3B;;AACA,SAAKI,gBAAL,CAAsBt2E,WAAtB;;AACA,SAAK+1E,mBAAL,CAAyB95C,MAAzB,CAAgC,IAAhC;;AACA,SAAK25C,aAAL,CAAmB11E,OAAnB;;AACA,SAAKk2E,YAAL,CAAkBtiF,QAAlB;;AACA,SAAKqiF,cAAL,CAAoBriF,QAApB;;AACA,SAAK0gF,cAAL,CAAoB1gF,QAApB;;AACA,SAAKkhF,qBAAL,CAA2BlhF,QAA3B;;AACA,SAAKmiF,uBAAL,CAA6Bh6C,MAA7B,CAAoC,IAApC;;AACA,QAAI,KAAK45C,KAAL,IAAc,KAAKA,KAAL,CAAW/iE,UAA7B,EAAyC;AACrC,WAAK+iE,KAAL,CAAW/iE,UAAX,CAAsBmwB,WAAtB,CAAkC,KAAK4yC,KAAvC;;AACA,WAAKA,KAAL,GAAa,IAAb;AACH;;AACD,SAAKe,mBAAL,GAA2B,KAAKd,KAAL,GAAa,IAAxC;;AACA,QAAInzE,UAAJ,EAAgB;AACZ,WAAK0zE,YAAL,CAAkBxiF,IAAlB;AACH;;AACD,SAAKwiF,YAAL,CAAkBviF,QAAlB;AACH;AACD;;;AACAuN,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKu0E,aAAL,CAAmBv0E,WAAnB,EAAP;AACH;AACD;;;AACAc,EAAAA,aAAa,GAAG;AACZ,WAAO,KAAKg0E,cAAZ;AACH;AACD;;;AACAqB,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKpB,YAAZ;AACH;AACD;;;AACAh0E,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKi0E,YAAZ;AACH;AACD;;;AACAh0E,EAAAA,aAAa,GAAG;AACZ,WAAO,KAAKmyE,cAAZ;AACH;AACD;;;AACAiD,EAAAA,oBAAoB,GAAG;AACnB,WAAO,KAAKzC,qBAAZ;AACH;AACD;;;AACA0C,EAAAA,SAAS,GAAG;AACR,WAAO,KAAK1tB,OAAZ;AACH;AACD;;;AACAtoD,EAAAA,cAAc,GAAG;AACb,QAAI,KAAK80E,iBAAT,EAA4B;AACxB,WAAKA,iBAAL,CAAuBhjE,KAAvB;AACH;AACJ;AACD;;;AACAmkE,EAAAA,sBAAsB,CAACC,QAAD,EAAW;AAC7B,QAAIA,QAAQ,KAAK,KAAKpB,iBAAtB,EAAyC;AACrC;AACH;;AACD,QAAI,KAAKA,iBAAT,EAA4B;AACxB,WAAKA,iBAAL,CAAuBt2E,OAAvB;AACH;;AACD,SAAKs2E,iBAAL,GAAyBoB,QAAzB;;AACA,QAAI,KAAKv2E,WAAL,EAAJ,EAAwB;AACpBu2E,MAAAA,QAAQ,CAACt2E,MAAT,CAAgB,IAAhB;AACA,WAAKI,cAAL;AACH;AACJ;AACD;;;AACAm2E,EAAAA,UAAU,CAACC,UAAD,EAAa;AACnB,SAAK9tB,OAAL,GAAe35C,MAAM,CAAC8b,MAAP,CAAc9b,MAAM,CAAC8b,MAAP,CAAc,EAAd,EAAkB,KAAK69B,OAAvB,CAAd,EAA+C8tB,UAA/C,CAAf;;AACA,SAAKhB,kBAAL;AACH;AACD;;;AACAiB,EAAAA,YAAY,CAACn4B,GAAD,EAAM;AACd,SAAKoK,OAAL,GAAe35C,MAAM,CAAC8b,MAAP,CAAc9b,MAAM,CAAC8b,MAAP,CAAc,EAAd,EAAkB,KAAK69B,OAAvB,CAAd,EAA+C;AAAEnpD,MAAAA,SAAS,EAAE++C;AAAb,KAA/C,CAAf;;AACA,SAAKm3B,uBAAL;AACH;AACD;;;AACAiB,EAAAA,aAAa,CAACh8C,OAAD,EAAU;AACnB,QAAI,KAAK85C,KAAT,EAAgB;AACZ,WAAKoB,cAAL,CAAoB,KAAKpB,KAAzB,EAAgC95C,OAAhC,EAAyC,IAAzC;AACH;AACJ;AACD;;;AACAi8C,EAAAA,gBAAgB,CAACj8C,OAAD,EAAU;AACtB,QAAI,KAAK85C,KAAT,EAAgB;AACZ,WAAKoB,cAAL,CAAoB,KAAKpB,KAAzB,EAAgC95C,OAAhC,EAAyC,KAAzC;AACH;AACJ;AACD;AACJ;AACA;;;AACIk8C,EAAAA,YAAY,GAAG;AACX,UAAMr3E,SAAS,GAAG,KAAKmpD,OAAL,CAAanpD,SAA/B;;AACA,QAAI,CAACA,SAAL,EAAgB;AACZ,aAAO,KAAP;AACH;;AACD,WAAO,OAAOA,SAAP,KAAqB,QAArB,GAAgCA,SAAhC,GAA4CA,SAAS,CAACjK,KAA7D;AACH;AACD;;;AACAuhF,EAAAA,oBAAoB,CAACP,QAAD,EAAW;AAC3B,QAAIA,QAAQ,KAAK,KAAKx4E,eAAtB,EAAuC;AACnC;AACH;;AACD,SAAKk4E,sBAAL;;AACA,SAAKl4E,eAAL,GAAuBw4E,QAAvB;;AACA,QAAI,KAAKv2E,WAAL,EAAJ,EAAwB;AACpBu2E,MAAAA,QAAQ,CAACt2E,MAAT,CAAgB,IAAhB;AACAs2E,MAAAA,QAAQ,CAAC3xB,MAAT;AACH;AACJ;AACD;;;AACA8wB,EAAAA,uBAAuB,GAAG;AACtB,SAAKlB,KAAL,CAAW3zE,YAAX,CAAwB,KAAxB,EAA+B,KAAKg2E,YAAL,EAA/B;AACH;AACD;;;AACApB,EAAAA,kBAAkB,GAAG;AACjB,QAAI,CAAC,KAAKhB,KAAV,EAAiB;AACb;AACH;;AACD,UAAMhrE,KAAK,GAAG,KAAKgrE,KAAL,CAAWhrE,KAAzB;AACAA,IAAAA,KAAK,CAAC1W,KAAN,GAAc0sD,0EAAmB,CAAC,KAAKkJ,OAAL,CAAa51D,KAAd,CAAjC;AACA0W,IAAAA,KAAK,CAACzW,MAAN,GAAeysD,0EAAmB,CAAC,KAAKkJ,OAAL,CAAa31D,MAAd,CAAlC;AACAyW,IAAAA,KAAK,CAACstE,QAAN,GAAiBt3B,0EAAmB,CAAC,KAAKkJ,OAAL,CAAaouB,QAAd,CAApC;AACAttE,IAAAA,KAAK,CAACutE,SAAN,GAAkBv3B,0EAAmB,CAAC,KAAKkJ,OAAL,CAAaquB,SAAd,CAArC;AACAvtE,IAAAA,KAAK,CAACwtE,QAAN,GAAiBx3B,0EAAmB,CAAC,KAAKkJ,OAAL,CAAasuB,QAAd,CAApC;AACAxtE,IAAAA,KAAK,CAACytE,SAAN,GAAkBz3B,0EAAmB,CAAC,KAAKkJ,OAAL,CAAauuB,SAAd,CAArC;AACH;AACD;;;AACAvB,EAAAA,oBAAoB,CAACwB,aAAD,EAAgB;AAChC,SAAK1C,KAAL,CAAWhrE,KAAX,CAAiB2tE,aAAjB,GAAiCD,aAAa,GAAG,EAAH,GAAQ,MAAtD;AACH;AACD;;;AACAvB,EAAAA,eAAe,GAAG;AACd,UAAMyB,YAAY,GAAG,8BAArB;AACA,SAAKxC,gBAAL,GAAwB,KAAK33E,SAAL,CAAe0jC,aAAf,CAA6B,KAA7B,CAAxB;;AACA,SAAKi0C,gBAAL,CAAsBn6C,SAAtB,CAAgCje,GAAhC,CAAoC,sBAApC;;AACA,QAAI,KAAKksC,OAAL,CAAajoD,aAAjB,EAAgC;AAC5B,WAAKm1E,cAAL,CAAoB,KAAKhB,gBAAzB,EAA2C,KAAKlsB,OAAL,CAAajoD,aAAxD,EAAuE,IAAvE;AACH,KANa,CAOd;AACA;;;AACA,SAAK8zE,KAAL,CAAW/7B,aAAX,CAAyB7kB,YAAzB,CAAsC,KAAKihD,gBAA3C,EAA6D,KAAKL,KAAlE,EATc,CAUd;AACA;;;AACA,SAAKK,gBAAL,CAAsBnhF,gBAAtB,CAAuC,OAAvC,EAAgD,KAAKwhF,qBAArD,EAZc,CAad;;;AACA,QAAI,OAAOoC,qBAAP,KAAiC,WAArC,EAAkD;AAC9C,WAAK3nC,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACjC6jF,QAAAA,qBAAqB,CAAC,MAAM;AACxB,cAAI,KAAKzC,gBAAT,EAA2B;AACvB,iBAAKA,gBAAL,CAAsBn6C,SAAtB,CAAgCje,GAAhC,CAAoC46D,YAApC;AACH;AACJ,SAJoB,CAArB;AAKH,OAND;AAOH,KARD,MASK;AACD,WAAKxC,gBAAL,CAAsBn6C,SAAtB,CAAgCje,GAAhC,CAAoC46D,YAApC;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI7B,EAAAA,oBAAoB,GAAG;AACnB,QAAI,KAAKhB,KAAL,CAAW9jC,WAAf,EAA4B;AACxB,WAAK8jC,KAAL,CAAW/iE,UAAX,CAAsB0vB,WAAtB,CAAkC,KAAKqzC,KAAvC;AACH;AACJ;AACD;;;AACAsB,EAAAA,cAAc,GAAG;AACb,UAAMyB,gBAAgB,GAAG,KAAK1C,gBAA9B;;AACA,QAAI,CAAC0C,gBAAL,EAAuB;AACnB;AACH;;AACD,QAAIC,SAAJ;;AACA,UAAMC,YAAY,GAAG,MAAM;AACvB;AACA,UAAIF,gBAAJ,EAAsB;AAClBA,QAAAA,gBAAgB,CAACxjF,mBAAjB,CAAqC,OAArC,EAA8C,KAAKmhF,qBAAnD;AACAqC,QAAAA,gBAAgB,CAACxjF,mBAAjB,CAAqC,eAArC,EAAsD0jF,YAAtD;;AACA,aAAKvB,gBAAL,CAAsBqB,gBAAtB;AACH;;AACD,UAAI,KAAK5uB,OAAL,CAAajoD,aAAjB,EAAgC;AAC5B,aAAKm1E,cAAL,CAAoB0B,gBAApB,EAAsC,KAAK5uB,OAAL,CAAajoD,aAAnD,EAAkE,KAAlE;AACH;;AACDg2C,MAAAA,YAAY,CAAC8gC,SAAD,CAAZ;AACH,KAXD;;AAYAD,IAAAA,gBAAgB,CAAC78C,SAAjB,CAA2BE,MAA3B,CAAkC,8BAAlC;;AACA,SAAK+U,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACjC8jF,MAAAA,gBAAgB,CAAC7jF,gBAAjB,CAAkC,eAAlC,EAAmD+jF,YAAnD;AACH,KAFD,EAnBa,CAsBb;AACA;;;AACAF,IAAAA,gBAAgB,CAAC9tE,KAAjB,CAAuB2tE,aAAvB,GAAuC,MAAvC,CAxBa,CAyBb;AACA;AACA;;AACAI,IAAAA,SAAS,GAAG,KAAK7nC,OAAL,CAAal8C,iBAAb,CAA+B,MAAMgO,UAAU,CAACg2E,YAAD,EAAe,GAAf,CAA/C,CAAZ;AACH;AACD;;;AACA5B,EAAAA,cAAc,CAAC/xE,OAAD,EAAU4zE,UAAV,EAAsBC,KAAtB,EAA6B;AACvC,UAAMj9C,SAAS,GAAG52B,OAAO,CAAC42B,SAA1B;AACA8kB,IAAAA,kEAAW,CAACk4B,UAAD,CAAX,CAAwBnsE,OAAxB,CAAgCqsE,QAAQ,IAAI;AACxC;AACA;AACA,UAAIA,QAAJ,EAAc;AACVD,QAAAA,KAAK,GAAGj9C,SAAS,CAACje,GAAV,CAAcm7D,QAAd,CAAH,GAA6Bl9C,SAAS,CAACE,MAAV,CAAiBg9C,QAAjB,CAAlC;AACH;AACJ,KAND;AAOH;AACD;;;AACA5B,EAAAA,wBAAwB,GAAG;AACvB;AACA;AACA;AACA,SAAKrmC,OAAL,CAAal8C,iBAAb,CAA+B,MAAM;AACjC;AACA;AACA;AACA,YAAMyuE,YAAY,GAAG,KAAKvyB,OAAL,CAAaxvC,QAAb,CAChBhL,IADgB,CACXhO,yDAAS,CAACH,2CAAK,CAAC,KAAK+tF,YAAN,EAAoB,KAAKC,YAAzB,CAAN,CADE,EAEhB5/E,SAFgB,CAEN,MAAM;AACjB;AACA;AACA,YAAI,CAAC,KAAKq/E,KAAN,IAAe,CAAC,KAAKD,KAArB,IAA8B,KAAKC,KAAL,CAAWljC,QAAX,CAAoB1kD,MAApB,KAA+B,CAAjE,EAAoE;AAChE,cAAI,KAAK4nF,KAAL,IAAc,KAAK9rB,OAAL,CAAajpD,UAA/B,EAA2C;AACvC,iBAAKm2E,cAAL,CAAoB,KAAKpB,KAAzB,EAAgC,KAAK9rB,OAAL,CAAajpD,UAA7C,EAAyD,KAAzD;AACH;;AACD,cAAI,KAAK80E,KAAL,IAAc,KAAKA,KAAL,CAAW/7B,aAA7B,EAA4C;AACxC,iBAAK88B,mBAAL,GAA2B,KAAKf,KAAL,CAAW/7B,aAAtC;;AACA,iBAAK88B,mBAAL,CAAyB3zC,WAAzB,CAAqC,KAAK4yC,KAA1C;AACH;;AACDtS,UAAAA,YAAY,CAACvjE,WAAb;AACH;AACJ,OAfoB,CAArB;AAgBH,KApBD;AAqBH;AACD;;;AACAs3E,EAAAA,sBAAsB,GAAG;AACrB,UAAMh5E,cAAc,GAAG,KAAKc,eAA5B;;AACA,QAAId,cAAJ,EAAoB;AAChBA,MAAAA,cAAc,CAAC2+B,OAAf;;AACA,UAAI3+B,cAAc,CAACoE,MAAnB,EAA2B;AACvBpE,QAAAA,cAAc,CAACoE,MAAf;AACH;AACJ;AACJ;AACD;;;AACA60E,EAAAA,gBAAgB,CAAC2B,QAAD,EAAW;AACvB,QAAIA,QAAJ,EAAc;AACV,UAAIA,QAAQ,CAACpmE,UAAb,EAAyB;AACrBomE,QAAAA,QAAQ,CAACpmE,UAAT,CAAoBmwB,WAApB,CAAgCi2C,QAAhC;AACH,OAHS,CAIV;AACA;AACA;;;AACA,UAAI,KAAKhD,gBAAL,KAA0BgD,QAA9B,EAAwC;AACpC,aAAKhD,gBAAL,GAAwB,IAAxB;AACH;AACJ;AACJ;;AA5YY;AA+YjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMiD,gBAAgB,GAAG,6CAAzB;AACA;;AACA,MAAMC,cAAc,GAAG,eAAvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,iCAAN,CAAwC;AACpC7oF,EAAAA,WAAW,CAAC+qE,WAAD,EAActT,cAAd,EAA8B1pD,SAA9B,EAAyCywC,SAAzC,EAAoDsqC,iBAApD,EAAuE;AAC9E,SAAKrxB,cAAL,GAAsBA,cAAtB;AACA,SAAK1pD,SAAL,GAAiBA,SAAjB;AACA,SAAKywC,SAAL,GAAiBA,SAAjB;AACA,SAAKsqC,iBAAL,GAAyBA,iBAAzB;AACA;;AACA,SAAKC,oBAAL,GAA4B;AAAEnlF,MAAAA,KAAK,EAAE,CAAT;AAAYC,MAAAA,MAAM,EAAE;AAApB,KAA5B;AACA;;AACA,SAAKmlF,SAAL,GAAiB,KAAjB;AACA;;AACA,SAAKC,QAAL,GAAgB,IAAhB;AACA;;AACA,SAAKC,cAAL,GAAsB,KAAtB;AACA;;AACA,SAAKC,sBAAL,GAA8B,IAA9B;AACA;;AACA,SAAKC,eAAL,GAAuB,KAAvB;AACA;;AACA,SAAKC,eAAL,GAAuB,CAAvB;AACA;;AACA,SAAKC,YAAL,GAAoB,EAApB;AACA;;AACA,SAAKC,mBAAL,GAA2B,EAA3B;AACA;;AACA,SAAKC,gBAAL,GAAwB,IAAI5xF,yCAAJ,EAAxB;AACA;;AACA,SAAKqiE,mBAAL,GAA2BniE,oDAA3B;AACA;;AACA,SAAK2xF,QAAL,GAAgB,CAAhB;AACA;;AACA,SAAKC,QAAL,GAAgB,CAAhB;AACA;;AACA,SAAKC,oBAAL,GAA4B,EAA5B;AACA;;AACA,SAAKC,eAAL,GAAuB,KAAKJ,gBAA5B;AACA,SAAKK,SAAL,CAAe9e,WAAf;AACH;AACD;;;AACa,MAATrT,SAAS,GAAG;AACZ,WAAO,KAAK6xB,mBAAZ;AACH;AACD;;;AACAz4E,EAAAA,MAAM,CAACywE,UAAD,EAAa;AACf,QAAI,KAAKD,WAAL,IAAoBC,UAAU,KAAK,KAAKD,WAAxC,KACC,OAAOx+E,SAAP,KAAqB,WAArB,IAAoCA,SADrC,CAAJ,EACqD;AACjD,YAAMhD,KAAK,CAAC,0DAAD,CAAX;AACH;;AACD,SAAKgqF,kBAAL;;AACAvI,IAAAA,UAAU,CAACniD,WAAX,CAAuBmM,SAAvB,CAAiCje,GAAjC,CAAqCq7D,gBAArC;AACA,SAAKrH,WAAL,GAAmBC,UAAnB;AACA,SAAKwI,YAAL,GAAoBxI,UAAU,CAACniD,WAA/B;AACA,SAAKkmD,KAAL,GAAa/D,UAAU,CAAC9vE,cAAxB;AACA,SAAKu4E,WAAL,GAAmB,KAAnB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACA,SAAKC,aAAL,GAAqB,IAArB;;AACA,SAAKjwB,mBAAL,CAAyBzqD,WAAzB;;AACA,SAAKyqD,mBAAL,GAA2B,KAAKxC,cAAL,CAAoBzc,MAApB,GAA6B/0C,SAA7B,CAAuC,MAAM;AACpE;AACA;AACA;AACA,WAAKgkF,gBAAL,GAAwB,IAAxB;AACA,WAAKjnE,KAAL;AACH,KAN0B,CAA3B;AAOH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIA,EAAAA,KAAK,GAAG;AACJ;AACA,QAAI,KAAKgnE,WAAL,IAAoB,CAAC,KAAKxrC,SAAL,CAAe7/B,SAAxC,EAAmD;AAC/C;AACH,KAJG,CAKJ;AACA;AACA;;;AACA,QAAI,CAAC,KAAKsrE,gBAAN,IAA0B,KAAKb,eAA/B,IAAkD,KAAKc,aAA3D,EAA0E;AACtE,WAAKC,mBAAL;AACA;AACH;;AACD,SAAKC,kBAAL;;AACA,SAAKC,0BAAL;;AACA,SAAKC,uBAAL,GAdI,CAeJ;AACA;AACA;;;AACA,SAAKC,aAAL,GAAqB,KAAKC,wBAAL,EAArB;AACA,SAAKC,WAAL,GAAmB,KAAKC,cAAL,EAAnB;AACA,SAAKC,YAAL,GAAoB,KAAKrF,KAAL,CAAWzuB,qBAAX,EAApB;AACA,UAAM+zB,UAAU,GAAG,KAAKH,WAAxB;AACA,UAAM9H,WAAW,GAAG,KAAKgI,YAAzB;AACA,UAAME,YAAY,GAAG,KAAKN,aAA1B,CAvBI,CAwBJ;;AACA,UAAMO,YAAY,GAAG,EAArB,CAzBI,CA0BJ;;AACA,QAAIC,QAAJ,CA3BI,CA4BJ;AACA;;AACA,SAAK,IAAIC,GAAT,IAAgB,KAAKzB,mBAArB,EAA0C;AACtC;AACA,UAAI0B,WAAW,GAAG,KAAKC,eAAL,CAAqBN,UAArB,EAAiCI,GAAjC,CAAlB,CAFsC,CAGtC;AACA;AACA;;;AACA,UAAIG,YAAY,GAAG,KAAKC,gBAAL,CAAsBH,WAAtB,EAAmCtI,WAAnC,EAAgDqI,GAAhD,CAAnB,CANsC,CAOtC;;;AACA,UAAIK,UAAU,GAAG,KAAKC,cAAL,CAAoBH,YAApB,EAAkCxI,WAAlC,EAA+CkI,YAA/C,EAA6DG,GAA7D,CAAjB,CARsC,CAStC;;;AACA,UAAIK,UAAU,CAACE,0BAAf,EAA2C;AACvC,aAAKvC,SAAL,GAAiB,KAAjB;;AACA,aAAKwC,cAAL,CAAoBR,GAApB,EAAyBC,WAAzB;;AACA;AACH,OAdqC,CAetC;AACA;;;AACA,UAAI,KAAKQ,6BAAL,CAAmCJ,UAAnC,EAA+CF,YAA/C,EAA6DN,YAA7D,CAAJ,EAAgF;AAC5E;AACA;AACAC,QAAAA,YAAY,CAACxuE,IAAb,CAAkB;AACd/J,UAAAA,QAAQ,EAAEy4E,GADI;AAEd5sC,UAAAA,MAAM,EAAE6sC,WAFM;AAGdtI,UAAAA,WAHc;AAId+I,UAAAA,eAAe,EAAE,KAAKC,yBAAL,CAA+BV,WAA/B,EAA4CD,GAA5C;AAJH,SAAlB;AAMA;AACH,OA3BqC,CA4BtC;AACA;AACA;;;AACA,UAAI,CAACD,QAAD,IAAaA,QAAQ,CAACM,UAAT,CAAoBO,WAApB,GAAkCP,UAAU,CAACO,WAA9D,EAA2E;AACvEb,QAAAA,QAAQ,GAAG;AAAEM,UAAAA,UAAF;AAAcF,UAAAA,YAAd;AAA4BF,UAAAA,WAA5B;AAAyC14E,UAAAA,QAAQ,EAAEy4E,GAAnD;AAAwDrI,UAAAA;AAAxD,SAAX;AACH;AACJ,KAhEG,CAiEJ;AACA;;;AACA,QAAImI,YAAY,CAACptF,MAAjB,EAAyB;AACrB,UAAImuF,OAAO,GAAG,IAAd;AACA,UAAIC,SAAS,GAAG,CAAC,CAAjB;;AACA,WAAK,MAAMC,GAAX,IAAkBjB,YAAlB,EAAgC;AAC5B,cAAMkB,KAAK,GAAGD,GAAG,CAACL,eAAJ,CAAoB9nF,KAApB,GAA4BmoF,GAAG,CAACL,eAAJ,CAAoB7nF,MAAhD,IAA0DkoF,GAAG,CAACx5E,QAAJ,CAAa05E,MAAb,IAAuB,CAAjF,CAAd;;AACA,YAAID,KAAK,GAAGF,SAAZ,EAAuB;AACnBA,UAAAA,SAAS,GAAGE,KAAZ;AACAH,UAAAA,OAAO,GAAGE,GAAV;AACH;AACJ;;AACD,WAAK/C,SAAL,GAAiB,KAAjB;;AACA,WAAKwC,cAAL,CAAoBK,OAAO,CAACt5E,QAA5B,EAAsCs5E,OAAO,CAACztC,MAA9C;;AACA;AACH,KAhFG,CAiFJ;AACA;;;AACA,QAAI,KAAK6qC,QAAT,EAAmB;AACf;AACA,WAAKD,SAAL,GAAiB,IAAjB;;AACA,WAAKwC,cAAL,CAAoBT,QAAQ,CAACx4E,QAA7B,EAAuCw4E,QAAQ,CAACE,WAAhD;;AACA;AACH,KAxFG,CAyFJ;AACA;;;AACA,SAAKO,cAAL,CAAoBT,QAAQ,CAACx4E,QAA7B,EAAuCw4E,QAAQ,CAACE,WAAhD;AACH;;AACD/4E,EAAAA,MAAM,GAAG;AACL,SAAKk4E,kBAAL;;AACA,SAAKF,aAAL,GAAqB,IAArB;AACA,SAAKgC,mBAAL,GAA2B,IAA3B;;AACA,SAAKjyB,mBAAL,CAAyBzqD,WAAzB;AACH;AACD;;;AACAE,EAAAA,OAAO,GAAG;AACN,QAAI,KAAKs6E,WAAT,EAAsB;AAClB;AACH,KAHK,CAIN;AACA;;;AACA,QAAI,KAAKD,YAAT,EAAuB;AACnBz0B,MAAAA,YAAY,CAAC,KAAKy0B,YAAL,CAAkBzvE,KAAnB,EAA0B;AAClCs7C,QAAAA,GAAG,EAAE,EAD6B;AAElCE,QAAAA,IAAI,EAAE,EAF4B;AAGlCgB,QAAAA,KAAK,EAAE,EAH2B;AAIlCC,QAAAA,MAAM,EAAE,EAJ0B;AAKlClzD,QAAAA,MAAM,EAAE,EAL0B;AAMlCD,QAAAA,KAAK,EAAE,EAN2B;AAOlCuoF,QAAAA,UAAU,EAAE,EAPsB;AAQlCC,QAAAA,cAAc,EAAE;AARkB,OAA1B,CAAZ;AAUH;;AACD,QAAI,KAAK9G,KAAT,EAAgB;AACZ,WAAK+E,0BAAL;AACH;;AACD,QAAI,KAAK/I,WAAT,EAAsB;AAClB,WAAKA,WAAL,CAAiBliD,WAAjB,CAA6BmM,SAA7B,CAAuCE,MAAvC,CAA8Ck9C,gBAA9C;AACH;;AACD,SAAKz2E,MAAL;;AACA,SAAKs3E,gBAAL,CAAsBlmF,QAAtB;;AACA,SAAKg+E,WAAL,GAAmB,KAAKyI,YAAL,GAAoB,IAAvC;AACA,SAAKC,WAAL,GAAmB,IAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIG,EAAAA,mBAAmB,GAAG;AAClB,QAAI,CAAC,KAAKH,WAAN,KAAsB,CAAC,KAAKxrC,SAAN,IAAmB,KAAKA,SAAL,CAAe7/B,SAAxD,CAAJ,EAAwE;AACpE,WAAK8rE,WAAL,GAAmB,KAAKC,cAAL,EAAnB;AACA,WAAKC,YAAL,GAAoB,KAAKrF,KAAL,CAAWzuB,qBAAX,EAApB;AACA,WAAK0zB,aAAL,GAAqB,KAAKC,wBAAL,EAArB;AACA,YAAM6B,YAAY,GAAG,KAAKnC,aAAL,IAAsB,KAAKX,mBAAL,CAAyB,CAAzB,CAA3C;;AACA,YAAM0B,WAAW,GAAG,KAAKC,eAAL,CAAqB,KAAKT,WAA1B,EAAuC4B,YAAvC,CAApB;;AACA,WAAKb,cAAL,CAAoBa,YAApB,EAAkCpB,WAAlC;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACIqB,EAAAA,wBAAwB,CAACC,WAAD,EAAc;AAClC,SAAKjD,YAAL,GAAoBiD,WAApB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIz5E,EAAAA,aAAa,CAAC4kD,SAAD,EAAY;AACrB,SAAK6xB,mBAAL,GAA2B7xB,SAA3B,CADqB,CAErB;AACA;;AACA,QAAIA,SAAS,CAACp2C,OAAV,CAAkB,KAAK4oE,aAAvB,MAA0C,CAAC,CAA/C,EAAkD;AAC9C,WAAKA,aAAL,GAAqB,IAArB;AACH;;AACD,SAAKJ,kBAAL;;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIl3E,EAAAA,kBAAkB,CAAC45E,MAAD,EAAS;AACvB,SAAKnD,eAAL,GAAuBmD,MAAvB;AACA,WAAO,IAAP;AACH;AACD;;;AACA75E,EAAAA,sBAAsB,CAAC85E,kBAAkB,GAAG,IAAtB,EAA4B;AAC9C,SAAKtD,sBAAL,GAA8BsD,kBAA9B;AACA,WAAO,IAAP;AACH;AACD;;;AACAC,EAAAA,iBAAiB,CAACC,aAAa,GAAG,IAAjB,EAAuB;AACpC,SAAKzD,cAAL,GAAsByD,aAAtB;AACA,WAAO,IAAP;AACH;AACD;;;AACAC,EAAAA,QAAQ,CAACC,OAAO,GAAG,IAAX,EAAiB;AACrB,SAAK5D,QAAL,GAAgB4D,OAAhB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIh6E,EAAAA,kBAAkB,CAACi6E,QAAQ,GAAG,IAAZ,EAAkB;AAChC,SAAK1D,eAAL,GAAuB0D,QAAvB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIjD,EAAAA,SAAS,CAACzrC,MAAD,EAAS;AACd,SAAKF,OAAL,GAAeE,MAAf;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI2uC,EAAAA,kBAAkB,CAACvyE,MAAD,EAAS;AACvB,SAAKivE,QAAL,GAAgBjvE,MAAhB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIwyE,EAAAA,kBAAkB,CAACxyE,MAAD,EAAS;AACvB,SAAKkvE,QAAL,GAAgBlvE,MAAhB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI9H,EAAAA,qBAAqB,CAACuI,QAAD,EAAW;AAC5B,SAAKgyE,wBAAL,GAAgChyE,QAAhC;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;;;AACIiwE,EAAAA,eAAe,CAACN,UAAD,EAAaI,GAAb,EAAkB;AAC7B,QAAIxuF,CAAJ;;AACA,QAAIwuF,GAAG,CAACj4E,OAAJ,IAAe,QAAnB,EAA6B;AACzB;AACA;AACAvW,MAAAA,CAAC,GAAGouF,UAAU,CAAC90B,IAAX,GAAmB80B,UAAU,CAAChnF,KAAX,GAAmB,CAA1C;AACH,KAJD,MAKK;AACD,YAAMspF,MAAM,GAAG,KAAKC,MAAL,KAAgBvC,UAAU,CAAC9zB,KAA3B,GAAmC8zB,UAAU,CAAC90B,IAA7D;AACA,YAAMs3B,IAAI,GAAG,KAAKD,MAAL,KAAgBvC,UAAU,CAAC90B,IAA3B,GAAkC80B,UAAU,CAAC9zB,KAA1D;AACAt6D,MAAAA,CAAC,GAAGwuF,GAAG,CAACj4E,OAAJ,IAAe,OAAf,GAAyBm6E,MAAzB,GAAkCE,IAAtC;AACH;;AACD,QAAI3wF,CAAJ;;AACA,QAAIuuF,GAAG,CAACh4E,OAAJ,IAAe,QAAnB,EAA6B;AACzBvW,MAAAA,CAAC,GAAGmuF,UAAU,CAACh1B,GAAX,GAAkBg1B,UAAU,CAAC/mF,MAAX,GAAoB,CAA1C;AACH,KAFD,MAGK;AACDpH,MAAAA,CAAC,GAAGuuF,GAAG,CAACh4E,OAAJ,IAAe,KAAf,GAAuB43E,UAAU,CAACh1B,GAAlC,GAAwCg1B,UAAU,CAAC7zB,MAAvD;AACH;;AACD,WAAO;AAAEv6D,MAAAA,CAAF;AAAKC,MAAAA;AAAL,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI2uF,EAAAA,gBAAgB,CAACH,WAAD,EAActI,WAAd,EAA2BqI,GAA3B,EAAgC;AAC5C;AACA;AACA,QAAIqC,aAAJ;;AACA,QAAIrC,GAAG,CAAC/3E,QAAJ,IAAgB,QAApB,EAA8B;AAC1Bo6E,MAAAA,aAAa,GAAG,CAAC1K,WAAW,CAAC/+E,KAAb,GAAqB,CAArC;AACH,KAFD,MAGK,IAAIonF,GAAG,CAAC/3E,QAAJ,KAAiB,OAArB,EAA8B;AAC/Bo6E,MAAAA,aAAa,GAAG,KAAKF,MAAL,KAAgB,CAACxK,WAAW,CAAC/+E,KAA7B,GAAqC,CAArD;AACH,KAFI,MAGA;AACDypF,MAAAA,aAAa,GAAG,KAAKF,MAAL,KAAgB,CAAhB,GAAoB,CAACxK,WAAW,CAAC/+E,KAAjD;AACH;;AACD,QAAI0pF,aAAJ;;AACA,QAAItC,GAAG,CAAC93E,QAAJ,IAAgB,QAApB,EAA8B;AAC1Bo6E,MAAAA,aAAa,GAAG,CAAC3K,WAAW,CAAC9+E,MAAb,GAAsB,CAAtC;AACH,KAFD,MAGK;AACDypF,MAAAA,aAAa,GAAGtC,GAAG,CAAC93E,QAAJ,IAAgB,KAAhB,GAAwB,CAAxB,GAA4B,CAACyvE,WAAW,CAAC9+E,MAAzD;AACH,KAnB2C,CAoB5C;;;AACA,WAAO;AACHrH,MAAAA,CAAC,EAAEyuF,WAAW,CAACzuF,CAAZ,GAAgB6wF,aADhB;AAEH5wF,MAAAA,CAAC,EAAEwuF,WAAW,CAACxuF,CAAZ,GAAgB6wF;AAFhB,KAAP;AAIH;AACD;;;AACAhC,EAAAA,cAAc,CAAC9mB,KAAD,EAAQ+oB,cAAR,EAAwBrM,QAAxB,EAAkC3uE,QAAlC,EAA4C;AACtD;AACA;AACA,UAAMnH,OAAO,GAAGoiF,4BAA4B,CAACD,cAAD,CAA5C;AACA,QAAI;AAAE/wF,MAAAA,CAAF;AAAKC,MAAAA;AAAL,QAAW+nE,KAAf;;AACA,QAAI58D,OAAO,GAAG,KAAK6lF,UAAL,CAAgBl7E,QAAhB,EAA0B,GAA1B,CAAd;;AACA,QAAI1K,OAAO,GAAG,KAAK4lF,UAAL,CAAgBl7E,QAAhB,EAA0B,GAA1B,CAAd,CANsD,CAOtD;;;AACA,QAAI3K,OAAJ,EAAa;AACTpL,MAAAA,CAAC,IAAIoL,OAAL;AACH;;AACD,QAAIC,OAAJ,EAAa;AACTpL,MAAAA,CAAC,IAAIoL,OAAL;AACH,KAbqD,CActD;;;AACA,QAAI0+D,YAAY,GAAG,IAAI/pE,CAAvB;AACA,QAAIgqE,aAAa,GAAIhqE,CAAC,GAAG4O,OAAO,CAACxH,KAAb,GAAsBs9E,QAAQ,CAACt9E,KAAnD;AACA,QAAI6iE,WAAW,GAAG,IAAIhqE,CAAtB;AACA,QAAIiqE,cAAc,GAAIjqE,CAAC,GAAG2O,OAAO,CAACvH,MAAb,GAAuBq9E,QAAQ,CAACr9E,MAArD,CAlBsD,CAmBtD;;AACA,QAAI6pF,YAAY,GAAG,KAAKC,kBAAL,CAAwBviF,OAAO,CAACxH,KAAhC,EAAuC2iE,YAAvC,EAAqDC,aAArD,CAAnB;;AACA,QAAIonB,aAAa,GAAG,KAAKD,kBAAL,CAAwBviF,OAAO,CAACvH,MAAhC,EAAwC4iE,WAAxC,EAAqDC,cAArD,CAApB;;AACA,QAAIklB,WAAW,GAAG8B,YAAY,GAAGE,aAAjC;AACA,WAAO;AACHhC,MAAAA,WADG;AAEHL,MAAAA,0BAA0B,EAAGngF,OAAO,CAACxH,KAAR,GAAgBwH,OAAO,CAACvH,MAAzB,KAAqC+nF,WAF9D;AAGHiC,MAAAA,wBAAwB,EAAED,aAAa,KAAKxiF,OAAO,CAACvH,MAHjD;AAIHiqF,MAAAA,0BAA0B,EAAEJ,YAAY,IAAItiF,OAAO,CAACxH;AAJjD,KAAP;AAMH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI6nF,EAAAA,6BAA6B,CAACM,GAAD,EAAMvnB,KAAN,EAAa0c,QAAb,EAAuB;AAChD,QAAI,KAAKiI,sBAAT,EAAiC;AAC7B,YAAM4E,eAAe,GAAG7M,QAAQ,CAACnqB,MAAT,GAAkByN,KAAK,CAAC/nE,CAAhD;AACA,YAAMuxF,cAAc,GAAG9M,QAAQ,CAACpqB,KAAT,GAAiB0N,KAAK,CAAChoE,CAA9C;AACA,YAAMqrF,SAAS,GAAGoG,aAAa,CAAC,KAAK3M,WAAL,CAAiB4F,SAAjB,GAA6BW,SAA9B,CAA/B;AACA,YAAMD,QAAQ,GAAGqG,aAAa,CAAC,KAAK3M,WAAL,CAAiB4F,SAAjB,GAA6BU,QAA9B,CAA9B;AACA,YAAMsG,WAAW,GAAGnC,GAAG,CAAC8B,wBAAJ,IACfhG,SAAS,IAAI,IAAb,IAAqBA,SAAS,IAAIkG,eADvC;AAEA,YAAMI,aAAa,GAAGpC,GAAG,CAAC+B,0BAAJ,IACjBlG,QAAQ,IAAI,IAAZ,IAAoBA,QAAQ,IAAIoG,cADrC;AAEA,aAAOE,WAAW,IAAIC,aAAtB;AACH;;AACD,WAAO,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,oBAAoB,CAACp1D,KAAD,EAAQu0D,cAAR,EAAwB31B,cAAxB,EAAwC;AACxD;AACA;AACA;AACA,QAAI,KAAKs0B,mBAAL,IAA4B,KAAK9C,eAArC,EAAsD;AAClD,aAAO;AACH5sF,QAAAA,CAAC,EAAEw8B,KAAK,CAACx8B,CAAN,GAAU,KAAK0vF,mBAAL,CAAyB1vF,CADnC;AAEHC,QAAAA,CAAC,EAAEu8B,KAAK,CAACv8B,CAAN,GAAU,KAAKyvF,mBAAL,CAAyBzvF;AAFnC,OAAP;AAIH,KATuD,CAUxD;AACA;;;AACA,UAAM2O,OAAO,GAAGoiF,4BAA4B,CAACD,cAAD,CAA5C;AACA,UAAMrM,QAAQ,GAAG,KAAKqJ,aAAtB,CAbwD,CAcxD;AACA;;AACA,UAAM8D,aAAa,GAAG1yF,IAAI,CAACK,GAAL,CAASg9B,KAAK,CAACx8B,CAAN,GAAU4O,OAAO,CAACxH,KAAlB,GAA0Bs9E,QAAQ,CAACt9E,KAA5C,EAAmD,CAAnD,CAAtB;AACA,UAAM0qF,cAAc,GAAG3yF,IAAI,CAACK,GAAL,CAASg9B,KAAK,CAACv8B,CAAN,GAAU2O,OAAO,CAACvH,MAAlB,GAA2Bq9E,QAAQ,CAACr9E,MAA7C,EAAqD,CAArD,CAAvB;AACA,UAAM0qF,WAAW,GAAG5yF,IAAI,CAACK,GAAL,CAASklF,QAAQ,CAACtrB,GAAT,GAAegC,cAAc,CAAChC,GAA9B,GAAoC58B,KAAK,CAACv8B,CAAnD,EAAsD,CAAtD,CAApB;AACA,UAAM+xF,YAAY,GAAG7yF,IAAI,CAACK,GAAL,CAASklF,QAAQ,CAACprB,IAAT,GAAgB8B,cAAc,CAAC9B,IAA/B,GAAsC98B,KAAK,CAACx8B,CAArD,EAAwD,CAAxD,CAArB,CAnBwD,CAoBxD;;AACA,QAAIiyF,KAAK,GAAG,CAAZ;AACA,QAAIC,KAAK,GAAG,CAAZ,CAtBwD,CAuBxD;AACA;AACA;;AACA,QAAItjF,OAAO,CAACxH,KAAR,IAAiBs9E,QAAQ,CAACt9E,KAA9B,EAAqC;AACjC6qF,MAAAA,KAAK,GAAGD,YAAY,IAAI,CAACH,aAAzB;AACH,KAFD,MAGK;AACDI,MAAAA,KAAK,GAAGz1D,KAAK,CAACx8B,CAAN,GAAU,KAAK6sF,eAAf,GAAkCnI,QAAQ,CAACprB,IAAT,GAAgB8B,cAAc,CAAC9B,IAAhC,GAAwC98B,KAAK,CAACx8B,CAA/E,GAAmF,CAA3F;AACH;;AACD,QAAI4O,OAAO,CAACvH,MAAR,IAAkBq9E,QAAQ,CAACr9E,MAA/B,EAAuC;AACnC6qF,MAAAA,KAAK,GAAGH,WAAW,IAAI,CAACD,cAAxB;AACH,KAFD,MAGK;AACDI,MAAAA,KAAK,GAAG11D,KAAK,CAACv8B,CAAN,GAAU,KAAK4sF,eAAf,GAAkCnI,QAAQ,CAACtrB,GAAT,GAAegC,cAAc,CAAChC,GAA/B,GAAsC58B,KAAK,CAACv8B,CAA7E,GAAiF,CAAzF;AACH;;AACD,SAAKyvF,mBAAL,GAA2B;AAAE1vF,MAAAA,CAAC,EAAEiyF,KAAL;AAAYhyF,MAAAA,CAAC,EAAEiyF;AAAf,KAA3B;AACA,WAAO;AACHlyF,MAAAA,CAAC,EAAEw8B,KAAK,CAACx8B,CAAN,GAAUiyF,KADV;AAEHhyF,MAAAA,CAAC,EAAEu8B,KAAK,CAACv8B,CAAN,GAAUiyF;AAFV,KAAP;AAIH;AACD;AACJ;AACA;AACA;AACA;;;AACIlD,EAAAA,cAAc,CAACj5E,QAAD,EAAW04E,WAAX,EAAwB;AAClC,SAAK0D,mBAAL,CAAyBp8E,QAAzB;;AACA,SAAKq8E,wBAAL,CAA8B3D,WAA9B,EAA2C14E,QAA3C;;AACA,SAAKs8E,qBAAL,CAA2B5D,WAA3B,EAAwC14E,QAAxC;;AACA,QAAIA,QAAQ,CAAChC,UAAb,EAAyB;AACrB,WAAKu+E,gBAAL,CAAsBv8E,QAAQ,CAAChC,UAA/B;AACH,KANiC,CAOlC;;;AACA,SAAK25E,aAAL,GAAqB33E,QAArB,CARkC,CASlC;AACA;AACA;;AACA,QAAI,KAAKi3E,gBAAL,CAAsBtsB,SAAtB,CAAgCx/D,MAApC,EAA4C;AACxC,YAAM6lF,wBAAwB,GAAG,KAAKwL,oBAAL,EAAjC;;AACA,YAAMC,WAAW,GAAG,IAAI3L,8BAAJ,CAAmC9wE,QAAnC,EAA6CgxE,wBAA7C,CAApB;;AACA,WAAKiG,gBAAL,CAAsBnmF,IAAtB,CAA2B2rF,WAA3B;AACH;;AACD,SAAK/E,gBAAL,GAAwB,KAAxB;AACH;AACD;;;AACA0E,EAAAA,mBAAmB,CAACp8E,QAAD,EAAW;AAC1B,QAAI,CAAC,KAAK06E,wBAAV,EAAoC;AAChC;AACH;;AACD,UAAM92D,QAAQ,GAAG,KAAK4zD,YAAL,CAAkB5mE,gBAAlB,CAAmC,KAAK8pE,wBAAxC,CAAjB;;AACA,QAAIgC,OAAJ;AACA,QAAIC,OAAO,GAAG38E,QAAQ,CAACW,QAAvB;;AACA,QAAIX,QAAQ,CAACU,QAAT,KAAsB,QAA1B,EAAoC;AAChCg8E,MAAAA,OAAO,GAAG,QAAV;AACH,KAFD,MAGK,IAAI,KAAK9B,MAAL,EAAJ,EAAmB;AACpB8B,MAAAA,OAAO,GAAG18E,QAAQ,CAACU,QAAT,KAAsB,OAAtB,GAAgC,OAAhC,GAA0C,MAApD;AACH,KAFI,MAGA;AACDg8E,MAAAA,OAAO,GAAG18E,QAAQ,CAACU,QAAT,KAAsB,OAAtB,GAAgC,MAAhC,GAAyC,OAAnD;AACH;;AACD,SAAK,IAAImQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+S,QAAQ,CAACz4B,MAA7B,EAAqC0lB,CAAC,EAAtC,EAA0C;AACtC+S,MAAAA,QAAQ,CAAC/S,CAAD,CAAR,CAAY9I,KAAZ,CAAkB60E,eAAlB,GAAqC,GAAEF,OAAQ,IAAGC,OAAQ,EAA1D;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIvD,EAAAA,yBAAyB,CAACvtC,MAAD,EAAS7rC,QAAT,EAAmB;AACxC,UAAM2uE,QAAQ,GAAG,KAAKqJ,aAAtB;;AACA,UAAM6E,KAAK,GAAG,KAAKjC,MAAL,EAAd;;AACA,QAAItpF,MAAJ,EAAY+xD,GAAZ,EAAiBmB,MAAjB;;AACA,QAAIxkD,QAAQ,CAACW,QAAT,KAAsB,KAA1B,EAAiC;AAC7B;AACA0iD,MAAAA,GAAG,GAAGxX,MAAM,CAAC3hD,CAAb;AACAoH,MAAAA,MAAM,GAAGq9E,QAAQ,CAACr9E,MAAT,GAAkB+xD,GAAlB,GAAwB,KAAKyzB,eAAtC;AACH,KAJD,MAKK,IAAI92E,QAAQ,CAACW,QAAT,KAAsB,QAA1B,EAAoC;AACrC;AACA;AACA;AACA6jD,MAAAA,MAAM,GAAGmqB,QAAQ,CAACr9E,MAAT,GAAkBu6C,MAAM,CAAC3hD,CAAzB,GAA6B,KAAK4sF,eAAL,GAAuB,CAA7D;AACAxlF,MAAAA,MAAM,GAAGq9E,QAAQ,CAACr9E,MAAT,GAAkBkzD,MAAlB,GAA2B,KAAKsyB,eAAzC;AACH,KANI,MAOA;AACD;AACA;AACA;AACA;AACA,YAAMgG,8BAA8B,GAAG1zF,IAAI,CAACG,GAAL,CAASolF,QAAQ,CAACnqB,MAAT,GAAkB3Y,MAAM,CAAC3hD,CAAzB,GAA6BykF,QAAQ,CAACtrB,GAA/C,EAAoDxX,MAAM,CAAC3hD,CAA3D,CAAvC;AACA,YAAM6yF,cAAc,GAAG,KAAKvG,oBAAL,CAA0BllF,MAAjD;AACAA,MAAAA,MAAM,GAAGwrF,8BAA8B,GAAG,CAA1C;AACAz5B,MAAAA,GAAG,GAAGxX,MAAM,CAAC3hD,CAAP,GAAW4yF,8BAAjB;;AACA,UAAIxrF,MAAM,GAAGyrF,cAAT,IAA2B,CAAC,KAAKrF,gBAAjC,IAAqD,CAAC,KAAKf,cAA/D,EAA+E;AAC3EtzB,QAAAA,GAAG,GAAGxX,MAAM,CAAC3hD,CAAP,GAAY6yF,cAAc,GAAG,CAAnC;AACH;AACJ,KA5BuC,CA6BxC;;;AACA,UAAMC,4BAA4B,GAAIh9E,QAAQ,CAACU,QAAT,KAAsB,OAAtB,IAAiC,CAACm8E,KAAnC,IAChC78E,QAAQ,CAACU,QAAT,KAAsB,KAAtB,IAA+Bm8E,KADpC,CA9BwC,CAgCxC;;AACA,UAAMI,2BAA2B,GAAIj9E,QAAQ,CAACU,QAAT,KAAsB,KAAtB,IAA+B,CAACm8E,KAAjC,IAC/B78E,QAAQ,CAACU,QAAT,KAAsB,OAAtB,IAAiCm8E,KADtC;AAEA,QAAIxrF,KAAJ,EAAWkyD,IAAX,EAAiBgB,KAAjB;;AACA,QAAI04B,2BAAJ,EAAiC;AAC7B14B,MAAAA,KAAK,GAAGoqB,QAAQ,CAACt9E,KAAT,GAAiBw6C,MAAM,CAAC5hD,CAAxB,GAA4B,KAAK6sF,eAAzC;AACAzlF,MAAAA,KAAK,GAAGw6C,MAAM,CAAC5hD,CAAP,GAAW,KAAK6sF,eAAxB;AACH,KAHD,MAIK,IAAIkG,4BAAJ,EAAkC;AACnCz5B,MAAAA,IAAI,GAAG1X,MAAM,CAAC5hD,CAAd;AACAoH,MAAAA,KAAK,GAAGs9E,QAAQ,CAACpqB,KAAT,GAAiB1Y,MAAM,CAAC5hD,CAAhC;AACH,KAHI,MAIA;AACD;AACA;AACA;AACA;AACA,YAAM6yF,8BAA8B,GAAG1zF,IAAI,CAACG,GAAL,CAASolF,QAAQ,CAACpqB,KAAT,GAAiB1Y,MAAM,CAAC5hD,CAAxB,GAA4B0kF,QAAQ,CAACprB,IAA9C,EAAoD1X,MAAM,CAAC5hD,CAA3D,CAAvC;AACA,YAAMizF,aAAa,GAAG,KAAK1G,oBAAL,CAA0BnlF,KAAhD;AACAA,MAAAA,KAAK,GAAGyrF,8BAA8B,GAAG,CAAzC;AACAv5B,MAAAA,IAAI,GAAG1X,MAAM,CAAC5hD,CAAP,GAAW6yF,8BAAlB;;AACA,UAAIzrF,KAAK,GAAG6rF,aAAR,IAAyB,CAAC,KAAKxF,gBAA/B,IAAmD,CAAC,KAAKf,cAA7D,EAA6E;AACzEpzB,QAAAA,IAAI,GAAG1X,MAAM,CAAC5hD,CAAP,GAAYizF,aAAa,GAAG,CAAnC;AACH;AACJ;;AACD,WAAO;AAAE75B,MAAAA,GAAG,EAAEA,GAAP;AAAYE,MAAAA,IAAI,EAAEA,IAAlB;AAAwBiB,MAAAA,MAAM,EAAEA,MAAhC;AAAwCD,MAAAA,KAAK,EAAEA,KAA/C;AAAsDlzD,MAAAA,KAAtD;AAA6DC,MAAAA;AAA7D,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIgrF,EAAAA,qBAAqB,CAACzwC,MAAD,EAAS7rC,QAAT,EAAmB;AACpC,UAAMm5E,eAAe,GAAG,KAAKC,yBAAL,CAA+BvtC,MAA/B,EAAuC7rC,QAAvC,CAAxB,CADoC,CAEpC;AACA;;;AACA,QAAI,CAAC,KAAK03E,gBAAN,IAA0B,CAAC,KAAKf,cAApC,EAAoD;AAChDwC,MAAAA,eAAe,CAAC7nF,MAAhB,GAAyBlI,IAAI,CAACG,GAAL,CAAS4vF,eAAe,CAAC7nF,MAAzB,EAAiC,KAAKklF,oBAAL,CAA0BllF,MAA3D,CAAzB;AACA6nF,MAAAA,eAAe,CAAC9nF,KAAhB,GAAwBjI,IAAI,CAACG,GAAL,CAAS4vF,eAAe,CAAC9nF,KAAzB,EAAgC,KAAKmlF,oBAAL,CAA0BnlF,KAA1D,CAAxB;AACH;;AACD,UAAMhB,MAAM,GAAG,EAAf;;AACA,QAAI,KAAK8sF,iBAAL,EAAJ,EAA8B;AAC1B9sF,MAAAA,MAAM,CAACgzD,GAAP,GAAahzD,MAAM,CAACkzD,IAAP,GAAc,GAA3B;AACAlzD,MAAAA,MAAM,CAACm0D,MAAP,GAAgBn0D,MAAM,CAACk0D,KAAP,GAAel0D,MAAM,CAACmlF,SAAP,GAAmBnlF,MAAM,CAACklF,QAAP,GAAkB,EAApE;AACAllF,MAAAA,MAAM,CAACgB,KAAP,GAAehB,MAAM,CAACiB,MAAP,GAAgB,MAA/B;AACH,KAJD,MAKK;AACD,YAAMkkF,SAAS,GAAG,KAAKzG,WAAL,CAAiB4F,SAAjB,GAA6Ba,SAA/C;;AACA,YAAMD,QAAQ,GAAG,KAAKxG,WAAL,CAAiB4F,SAAjB,GAA6BY,QAA9C;;AACAllF,MAAAA,MAAM,CAACiB,MAAP,GAAgBysD,0EAAmB,CAACo7B,eAAe,CAAC7nF,MAAjB,CAAnC;AACAjB,MAAAA,MAAM,CAACgzD,GAAP,GAAatF,0EAAmB,CAACo7B,eAAe,CAAC91B,GAAjB,CAAhC;AACAhzD,MAAAA,MAAM,CAACm0D,MAAP,GAAgBzG,0EAAmB,CAACo7B,eAAe,CAAC30B,MAAjB,CAAnC;AACAn0D,MAAAA,MAAM,CAACgB,KAAP,GAAe0sD,0EAAmB,CAACo7B,eAAe,CAAC9nF,KAAjB,CAAlC;AACAhB,MAAAA,MAAM,CAACkzD,IAAP,GAAcxF,0EAAmB,CAACo7B,eAAe,CAAC51B,IAAjB,CAAjC;AACAlzD,MAAAA,MAAM,CAACk0D,KAAP,GAAexG,0EAAmB,CAACo7B,eAAe,CAAC50B,KAAjB,CAAlC,CARC,CASD;;AACA,UAAIvkD,QAAQ,CAACU,QAAT,KAAsB,QAA1B,EAAoC;AAChCrQ,QAAAA,MAAM,CAACupF,UAAP,GAAoB,QAApB;AACH,OAFD,MAGK;AACDvpF,QAAAA,MAAM,CAACupF,UAAP,GAAoB55E,QAAQ,CAACU,QAAT,KAAsB,KAAtB,GAA8B,UAA9B,GAA2C,YAA/D;AACH;;AACD,UAAIV,QAAQ,CAACW,QAAT,KAAsB,QAA1B,EAAoC;AAChCtQ,QAAAA,MAAM,CAACwpF,cAAP,GAAwB,QAAxB;AACH,OAFD,MAGK;AACDxpF,QAAAA,MAAM,CAACwpF,cAAP,GAAwB75E,QAAQ,CAACW,QAAT,KAAsB,QAAtB,GAAiC,UAAjC,GAA8C,YAAtE;AACH;;AACD,UAAI60E,SAAJ,EAAe;AACXnlF,QAAAA,MAAM,CAACmlF,SAAP,GAAmBz3B,0EAAmB,CAACy3B,SAAD,CAAtC;AACH;;AACD,UAAID,QAAJ,EAAc;AACVllF,QAAAA,MAAM,CAACklF,QAAP,GAAkBx3B,0EAAmB,CAACw3B,QAAD,CAArC;AACH;AACJ;;AACD,SAAKiB,oBAAL,GAA4B2C,eAA5B;AACAp2B,IAAAA,YAAY,CAAC,KAAKy0B,YAAL,CAAkBzvE,KAAnB,EAA0B1X,MAA1B,CAAZ;AACH;AACD;;;AACA0nF,EAAAA,uBAAuB,GAAG;AACtBh1B,IAAAA,YAAY,CAAC,KAAKy0B,YAAL,CAAkBzvE,KAAnB,EAA0B;AAClCs7C,MAAAA,GAAG,EAAE,GAD6B;AAElCE,MAAAA,IAAI,EAAE,GAF4B;AAGlCgB,MAAAA,KAAK,EAAE,GAH2B;AAIlCC,MAAAA,MAAM,EAAE,GAJ0B;AAKlClzD,MAAAA,MAAM,EAAE,EAL0B;AAMlCD,MAAAA,KAAK,EAAE,EAN2B;AAOlCuoF,MAAAA,UAAU,EAAE,EAPsB;AAQlCC,MAAAA,cAAc,EAAE;AARkB,KAA1B,CAAZ;AAUH;AACD;;;AACA/B,EAAAA,0BAA0B,GAAG;AACzB/0B,IAAAA,YAAY,CAAC,KAAKgwB,KAAL,CAAWhrE,KAAZ,EAAmB;AAC3Bs7C,MAAAA,GAAG,EAAE,EADsB;AAE3BE,MAAAA,IAAI,EAAE,EAFqB;AAG3BiB,MAAAA,MAAM,EAAE,EAHmB;AAI3BD,MAAAA,KAAK,EAAE,EAJoB;AAK3BvkD,MAAAA,QAAQ,EAAE,EALiB;AAM3ByjD,MAAAA,SAAS,EAAE;AANgB,KAAnB,CAAZ;AAQH;AACD;;;AACA44B,EAAAA,wBAAwB,CAAC3D,WAAD,EAAc14E,QAAd,EAAwB;AAC5C,UAAM3P,MAAM,GAAG,EAAf;;AACA,UAAM+sF,gBAAgB,GAAG,KAAKD,iBAAL,EAAzB;;AACA,UAAME,qBAAqB,GAAG,KAAKzG,sBAAnC;;AACA,UAAMviF,MAAM,GAAG,KAAK06E,WAAL,CAAiB4F,SAAjB,EAAf;;AACA,QAAIyI,gBAAJ,EAAsB;AAClB,YAAM/3B,cAAc,GAAG,KAAKH,cAAL,CAAoBI,yBAApB,EAAvB;;AACAvC,MAAAA,YAAY,CAAC1yD,MAAD,EAAS,KAAKitF,iBAAL,CAAuBt9E,QAAvB,EAAiC04E,WAAjC,EAA8CrzB,cAA9C,CAAT,CAAZ;AACAtC,MAAAA,YAAY,CAAC1yD,MAAD,EAAS,KAAKktF,iBAAL,CAAuBv9E,QAAvB,EAAiC04E,WAAjC,EAA8CrzB,cAA9C,CAAT,CAAZ;AACH,KAJD,MAKK;AACDh1D,MAAAA,MAAM,CAAC2P,QAAP,GAAkB,QAAlB;AACH,KAZ2C,CAa5C;AACA;AACA;AACA;AACA;;;AACA,QAAIw9E,eAAe,GAAG,EAAtB;;AACA,QAAInoF,OAAO,GAAG,KAAK6lF,UAAL,CAAgBl7E,QAAhB,EAA0B,GAA1B,CAAd;;AACA,QAAI1K,OAAO,GAAG,KAAK4lF,UAAL,CAAgBl7E,QAAhB,EAA0B,GAA1B,CAAd;;AACA,QAAI3K,OAAJ,EAAa;AACTmoF,MAAAA,eAAe,IAAK,cAAanoF,OAAQ,MAAzC;AACH;;AACD,QAAIC,OAAJ,EAAa;AACTkoF,MAAAA,eAAe,IAAK,cAAaloF,OAAQ,KAAzC;AACH;;AACDjF,IAAAA,MAAM,CAACozD,SAAP,GAAmB+5B,eAAe,CAACt2D,IAAhB,EAAnB,CA3B4C,CA4B5C;AACA;AACA;AACA;AACA;;AACA,QAAI7yB,MAAM,CAACmhF,SAAX,EAAsB;AAClB,UAAI4H,gBAAJ,EAAsB;AAClB/sF,QAAAA,MAAM,CAACmlF,SAAP,GAAmBz3B,0EAAmB,CAAC1pD,MAAM,CAACmhF,SAAR,CAAtC;AACH,OAFD,MAGK,IAAI6H,qBAAJ,EAA2B;AAC5BhtF,QAAAA,MAAM,CAACmlF,SAAP,GAAmB,EAAnB;AACH;AACJ;;AACD,QAAInhF,MAAM,CAACkhF,QAAX,EAAqB;AACjB,UAAI6H,gBAAJ,EAAsB;AAClB/sF,QAAAA,MAAM,CAACklF,QAAP,GAAkBx3B,0EAAmB,CAAC1pD,MAAM,CAACkhF,QAAR,CAArC;AACH,OAFD,MAGK,IAAI8H,qBAAJ,EAA2B;AAC5BhtF,QAAAA,MAAM,CAACklF,QAAP,GAAkB,EAAlB;AACH;AACJ;;AACDxyB,IAAAA,YAAY,CAAC,KAAKgwB,KAAL,CAAWhrE,KAAZ,EAAmB1X,MAAnB,CAAZ;AACH;AACD;;;AACAitF,EAAAA,iBAAiB,CAACt9E,QAAD,EAAW04E,WAAX,EAAwBrzB,cAAxB,EAAwC;AACrD;AACA;AACA,QAAIh1D,MAAM,GAAG;AAAEgzD,MAAAA,GAAG,EAAE,EAAP;AAAWmB,MAAAA,MAAM,EAAE;AAAnB,KAAb;;AACA,QAAIo0B,YAAY,GAAG,KAAKC,gBAAL,CAAsBH,WAAtB,EAAmC,KAAKN,YAAxC,EAAsDp4E,QAAtD,CAAnB;;AACA,QAAI,KAAKy2E,SAAT,EAAoB;AAChBmC,MAAAA,YAAY,GAAG,KAAKiD,oBAAL,CAA0BjD,YAA1B,EAAwC,KAAKR,YAA7C,EAA2D/yB,cAA3D,CAAf;AACH;;AACD,QAAIo4B,qBAAqB,GAAG,KAAKlH,iBAAL,CAAuBhE,mBAAvB,GAA6CjuB,qBAA7C,GAAqEjB,GAAjG,CARqD,CASrD;AACA;AACA;AACA;;;AACAu1B,IAAAA,YAAY,CAAC1uF,CAAb,IAAkBuzF,qBAAlB,CAbqD,CAcrD;AACA;;AACA,QAAIz9E,QAAQ,CAACW,QAAT,KAAsB,QAA1B,EAAoC;AAChC;AACA;AACA,YAAM+8E,cAAc,GAAG,KAAKliF,SAAL,CAAesU,eAAf,CAA+B6rD,YAAtD;AACAtrE,MAAAA,MAAM,CAACm0D,MAAP,GAAiB,GAAEk5B,cAAc,IAAI9E,YAAY,CAAC1uF,CAAb,GAAiB,KAAKkuF,YAAL,CAAkB9mF,MAAvC,CAA+C,IAAhF;AACH,KALD,MAMK;AACDjB,MAAAA,MAAM,CAACgzD,GAAP,GAAatF,0EAAmB,CAAC66B,YAAY,CAAC1uF,CAAd,CAAhC;AACH;;AACD,WAAOmG,MAAP;AACH;AACD;;;AACAktF,EAAAA,iBAAiB,CAACv9E,QAAD,EAAW04E,WAAX,EAAwBrzB,cAAxB,EAAwC;AACrD;AACA;AACA,QAAIh1D,MAAM,GAAG;AAAEkzD,MAAAA,IAAI,EAAE,EAAR;AAAYgB,MAAAA,KAAK,EAAE;AAAnB,KAAb;;AACA,QAAIq0B,YAAY,GAAG,KAAKC,gBAAL,CAAsBH,WAAtB,EAAmC,KAAKN,YAAxC,EAAsDp4E,QAAtD,CAAnB;;AACA,QAAI,KAAKy2E,SAAT,EAAoB;AAChBmC,MAAAA,YAAY,GAAG,KAAKiD,oBAAL,CAA0BjD,YAA1B,EAAwC,KAAKR,YAA7C,EAA2D/yB,cAA3D,CAAf;AACH,KAPoD,CAQrD;AACA;AACA;AACA;;;AACA,QAAIs4B,uBAAJ;;AACA,QAAI,KAAK/C,MAAL,EAAJ,EAAmB;AACf+C,MAAAA,uBAAuB,GAAG39E,QAAQ,CAACU,QAAT,KAAsB,KAAtB,GAA8B,MAA9B,GAAuC,OAAjE;AACH,KAFD,MAGK;AACDi9E,MAAAA,uBAAuB,GAAG39E,QAAQ,CAACU,QAAT,KAAsB,KAAtB,GAA8B,OAA9B,GAAwC,MAAlE;AACH,KAlBoD,CAmBrD;AACA;;;AACA,QAAIi9E,uBAAuB,KAAK,OAAhC,EAAyC;AACrC,YAAMC,aAAa,GAAG,KAAKpiF,SAAL,CAAesU,eAAf,CAA+B+rD,WAArD;AACAxrE,MAAAA,MAAM,CAACk0D,KAAP,GAAgB,GAAEq5B,aAAa,IAAIhF,YAAY,CAAC3uF,CAAb,GAAiB,KAAKmuF,YAAL,CAAkB/mF,KAAvC,CAA8C,IAA7E;AACH,KAHD,MAIK;AACDhB,MAAAA,MAAM,CAACkzD,IAAP,GAAcxF,0EAAmB,CAAC66B,YAAY,CAAC3uF,CAAd,CAAjC;AACH;;AACD,WAAOoG,MAAP;AACH;AACD;AACJ;AACA;AACA;;;AACImsF,EAAAA,oBAAoB,GAAG;AACnB;AACA,UAAMqB,YAAY,GAAG,KAAK1F,cAAL,EAArB;;AACA,UAAM2F,aAAa,GAAG,KAAK/K,KAAL,CAAWzuB,qBAAX,EAAtB,CAHmB,CAInB;AACA;AACA;;;AACA,UAAMy5B,qBAAqB,GAAG,KAAKhH,YAAL,CAAkBxoE,GAAlB,CAAsB2wD,UAAU,IAAI;AAC9D,aAAOA,UAAU,CAACC,aAAX,GAA2Bh9D,aAA3B,CAAyCmiD,qBAAzC,EAAP;AACH,KAF6B,CAA9B;;AAGA,WAAO;AACH05B,MAAAA,eAAe,EAAEtO,2BAA2B,CAACmO,YAAD,EAAeE,qBAAf,CADzC;AAEHE,MAAAA,mBAAmB,EAAE9O,4BAA4B,CAAC0O,YAAD,EAAeE,qBAAf,CAF9C;AAGHG,MAAAA,gBAAgB,EAAExO,2BAA2B,CAACoO,aAAD,EAAgBC,qBAAhB,CAH1C;AAIHI,MAAAA,oBAAoB,EAAEhP,4BAA4B,CAAC2O,aAAD,EAAgBC,qBAAhB;AAJ/C,KAAP;AAMH;AACD;;;AACA3C,EAAAA,kBAAkB,CAACjwF,MAAD,EAAS,GAAGizF,SAAZ,EAAuB;AACrC,WAAOA,SAAS,CAAC1yE,MAAV,CAAiB,CAACzX,YAAD,EAAeoqF,eAAf,KAAmC;AACvD,aAAOpqF,YAAY,GAAG7K,IAAI,CAACK,GAAL,CAAS40F,eAAT,EAA0B,CAA1B,CAAtB;AACH,KAFM,EAEJlzF,MAFI,CAAP;AAGH;AACD;;;AACA8sF,EAAAA,wBAAwB,GAAG;AACvB;AACA;AACA;AACA;AACA;AACA,UAAM5mF,KAAK,GAAG,KAAKmK,SAAL,CAAesU,eAAf,CAA+B+rD,WAA7C;AACA,UAAMvqE,MAAM,GAAG,KAAKkK,SAAL,CAAesU,eAAf,CAA+B6rD,YAA9C;;AACA,UAAMtW,cAAc,GAAG,KAAKH,cAAL,CAAoBI,yBAApB,EAAvB;;AACA,WAAO;AACHjC,MAAAA,GAAG,EAAEgC,cAAc,CAAChC,GAAf,GAAqB,KAAKyzB,eAD5B;AAEHvzB,MAAAA,IAAI,EAAE8B,cAAc,CAAC9B,IAAf,GAAsB,KAAKuzB,eAF9B;AAGHvyB,MAAAA,KAAK,EAAEc,cAAc,CAAC9B,IAAf,GAAsBlyD,KAAtB,GAA8B,KAAKylF,eAHvC;AAIHtyB,MAAAA,MAAM,EAAEa,cAAc,CAAChC,GAAf,GAAqB/xD,MAArB,GAA8B,KAAKwlF,eAJxC;AAKHzlF,MAAAA,KAAK,EAAEA,KAAK,GAAI,IAAI,KAAKylF,eALtB;AAMHxlF,MAAAA,MAAM,EAAEA,MAAM,GAAI,IAAI,KAAKwlF;AANxB,KAAP;AAQH;AACD;;;AACA8D,EAAAA,MAAM,GAAG;AACL,WAAO,KAAK7L,WAAL,CAAiBoG,YAAjB,OAAoC,KAA3C;AACH;AACD;;;AACAgI,EAAAA,iBAAiB,GAAG;AAChB,WAAO,CAAC,KAAKvG,sBAAN,IAAgC,KAAKH,SAA5C;AACH;AACD;;;AACAyE,EAAAA,UAAU,CAACl7E,QAAD,EAAWs+E,IAAX,EAAiB;AACvB,QAAIA,IAAI,KAAK,GAAb,EAAkB;AACd;AACA;AACA,aAAOt+E,QAAQ,CAAC3K,OAAT,IAAoB,IAApB,GAA2B,KAAK6hF,QAAhC,GAA2Cl3E,QAAQ,CAAC3K,OAA3D;AACH;;AACD,WAAO2K,QAAQ,CAAC1K,OAAT,IAAoB,IAApB,GAA2B,KAAK6hF,QAAhC,GAA2Cn3E,QAAQ,CAAC1K,OAA3D;AACH;AACD;;;AACAiiF,EAAAA,kBAAkB,GAAG;AACjB,QAAI,OAAOhnF,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,UAAI,CAAC,KAAKymF,mBAAL,CAAyB7rF,MAA9B,EAAsC;AAClC,cAAMoC,KAAK,CAAC,uEAAD,CAAX;AACH,OAH8C,CAI/C;AACA;;;AACA,WAAKypF,mBAAL,CAAyBntE,OAAzB,CAAiC00E,IAAI,IAAI;AACrCrN,QAAAA,0BAA0B,CAAC,SAAD,EAAYqN,IAAI,CAAC/9E,OAAjB,CAA1B;AACAywE,QAAAA,wBAAwB,CAAC,SAAD,EAAYsN,IAAI,CAAC99E,OAAjB,CAAxB;AACAywE,QAAAA,0BAA0B,CAAC,UAAD,EAAaqN,IAAI,CAAC79E,QAAlB,CAA1B;AACAuwE,QAAAA,wBAAwB,CAAC,UAAD,EAAasN,IAAI,CAAC59E,QAAlB,CAAxB;AACH,OALD;AAMH;AACJ;AACD;;;AACA47E,EAAAA,gBAAgB,CAACvG,UAAD,EAAa;AACzB,QAAI,KAAKjD,KAAT,EAAgB;AACZj1B,MAAAA,kEAAW,CAACk4B,UAAD,CAAX,CAAwBnsE,OAAxB,CAAgCqsE,QAAQ,IAAI;AACxC,YAAIA,QAAQ,KAAK,EAAb,IAAmB,KAAKkB,oBAAL,CAA0BroE,OAA1B,CAAkCmnE,QAAlC,MAAgD,CAAC,CAAxE,EAA2E;AACvE,eAAKkB,oBAAL,CAA0BrtE,IAA1B,CAA+BmsE,QAA/B;;AACA,eAAKnD,KAAL,CAAW/5C,SAAX,CAAqBje,GAArB,CAAyBm7D,QAAzB;AACH;AACJ,OALD;AAMH;AACJ;AACD;;;AACA2B,EAAAA,kBAAkB,GAAG;AACjB,QAAI,KAAK9E,KAAT,EAAgB;AACZ,WAAKqE,oBAAL,CAA0BvtE,OAA1B,CAAkCqsE,QAAQ,IAAI;AAC1C,aAAKnD,KAAL,CAAW/5C,SAAX,CAAqBE,MAArB,CAA4Bg9C,QAA5B;AACH,OAFD;;AAGA,WAAKkB,oBAAL,GAA4B,EAA5B;AACH;AACJ;AACD;;;AACAe,EAAAA,cAAc,GAAG;AACb,UAAMtsC,MAAM,GAAG,KAAKF,OAApB;;AACA,QAAIE,MAAM,YAAYhoD,qDAAtB,EAAkC;AAC9B,aAAOgoD,MAAM,CAAC1pC,aAAP,CAAqBmiD,qBAArB,EAAP;AACH,KAJY,CAKb;;;AACA,QAAIzY,MAAM,YAAYj8B,OAAtB,EAA+B;AAC3B,aAAOi8B,MAAM,CAACyY,qBAAP,EAAP;AACH;;AACD,UAAMjzD,KAAK,GAAGw6C,MAAM,CAACx6C,KAAP,IAAgB,CAA9B;AACA,UAAMC,MAAM,GAAGu6C,MAAM,CAACv6C,MAAP,IAAiB,CAAhC,CAVa,CAWb;;AACA,WAAO;AACH+xD,MAAAA,GAAG,EAAExX,MAAM,CAAC3hD,CADT;AAEHs6D,MAAAA,MAAM,EAAE3Y,MAAM,CAAC3hD,CAAP,GAAWoH,MAFhB;AAGHiyD,MAAAA,IAAI,EAAE1X,MAAM,CAAC5hD,CAHV;AAIHs6D,MAAAA,KAAK,EAAE1Y,MAAM,CAAC5hD,CAAP,GAAWoH,KAJf;AAKHC,MAAAA,MALG;AAMHD,MAAAA;AANG,KAAP;AAQH;;AAh4BmC;AAk4BxC;;;AACA,SAAS0xD,YAAT,CAAsB7uC,WAAtB,EAAmCytC,MAAnC,EAA2C;AACvC,OAAK,IAAInzC,GAAT,IAAgBmzC,MAAhB,EAAwB;AACpB,QAAIA,MAAM,CAACnuC,cAAP,CAAsBhF,GAAtB,CAAJ,EAAgC;AAC5B0F,MAAAA,WAAW,CAAC1F,GAAD,CAAX,GAAmBmzC,MAAM,CAACnzC,GAAD,CAAzB;AACH;AACJ;;AACD,SAAO0F,WAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASwnE,aAAT,CAAuBl+E,KAAvB,EAA8B;AAC1B,MAAI,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,IAAI,IAA1C,EAAgD;AAC5C,UAAM,CAAC3J,KAAD,EAAQ2qF,KAAR,IAAiBhhF,KAAK,CAAC0a,KAAN,CAAYm+D,cAAZ,CAAvB;AACA,WAAQ,CAACmI,KAAD,IAAUA,KAAK,KAAK,IAArB,GAA6BnzF,UAAU,CAACwI,KAAD,CAAvC,GAAiD,IAAxD;AACH;;AACD,SAAO2J,KAAK,IAAI,IAAhB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy9E,4BAAT,CAAsC52B,UAAtC,EAAkD;AAC9C,SAAO;AACHhB,IAAAA,GAAG,EAAEj6D,IAAI,CAAC6xE,KAAL,CAAW5W,UAAU,CAAChB,GAAtB,CADF;AAEHkB,IAAAA,KAAK,EAAEn7D,IAAI,CAAC6xE,KAAL,CAAW5W,UAAU,CAACE,KAAtB,CAFJ;AAGHC,IAAAA,MAAM,EAAEp7D,IAAI,CAAC6xE,KAAL,CAAW5W,UAAU,CAACG,MAAtB,CAHL;AAIHjB,IAAAA,IAAI,EAAEn6D,IAAI,CAAC6xE,KAAL,CAAW5W,UAAU,CAACd,IAAtB,CAJH;AAKHlyD,IAAAA,KAAK,EAAEjI,IAAI,CAAC6xE,KAAL,CAAW5W,UAAU,CAAChzD,KAAtB,CALJ;AAMHC,IAAAA,MAAM,EAAElI,IAAI,CAAC6xE,KAAL,CAAW5W,UAAU,CAAC/yD,MAAtB;AANL,GAAP;AAQH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMmtF,yBAAN,CAAgC;AAC5BhxF,EAAAA,WAAW,CAACixF,SAAD,EAAYC,UAAZ,EAAwBnmB,WAAxB,EAAqComB,aAArC,EAAoD1tF,QAApD,EAA8D2tF,QAA9D,EAAwEC,gBAAxE,EAA0F;AACjG;AACA,SAAK9H,mBAAL,GAA2B,EAA3B,CAFiG,CAGjG;AACA;AACA;AACA;;AACA,SAAKvD,iBAAL,GAAyB,IAAI6C,iCAAJ,CAAsC9d,WAAtC,EAAmDomB,aAAnD,EAAkE1tF,QAAlE,EAA4E2tF,QAA5E,EAAsFC,gBAAtF,EACpB1+E,sBADoB,CACG,KADH,EAEpBi6E,QAFoB,CAEX,KAFW,EAGpBh6E,kBAHoB,CAGD,CAHC,CAAzB;AAIA,SAAK0+E,oBAAL,CAA0BL,SAA1B,EAAqCC,UAArC;AACA,SAAKK,gBAAL,GAAwB,KAAKvL,iBAAL,CAAuB4D,eAA/C;AACH;AACD;;;AACa,MAATlyB,SAAS,GAAG;AACZ,WAAO,KAAK6xB,mBAAZ;AACH;AACD;;;AACAz4E,EAAAA,MAAM,CAACywE,UAAD,EAAa;AACf,SAAKD,WAAL,GAAmBC,UAAnB;;AACA,SAAKyE,iBAAL,CAAuBl1E,MAAvB,CAA8BywE,UAA9B;;AACA,QAAI,KAAKjnB,UAAT,EAAqB;AACjBinB,MAAAA,UAAU,CAACgG,YAAX,CAAwB,KAAKjtB,UAA7B;AACA,WAAKA,UAAL,GAAkB,IAAlB;AACH;AACJ;AACD;;;AACA5qD,EAAAA,OAAO,GAAG;AACN,SAAKs2E,iBAAL,CAAuBt2E,OAAvB;AACH;AACD;;;AACAwC,EAAAA,MAAM,GAAG;AACL,SAAK8zE,iBAAL,CAAuB9zE,MAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI8Q,EAAAA,KAAK,GAAG;AACJ,SAAKgjE,iBAAL,CAAuBhjE,KAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIwuE,EAAAA,uBAAuB,GAAG;AACtB,SAAKxL,iBAAL,CAAuBmE,mBAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACImC,EAAAA,wBAAwB,CAACC,WAAD,EAAc;AAClC,SAAKvG,iBAAL,CAAuBsG,wBAAvB,CAAgDC,WAAhD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI+E,EAAAA,oBAAoB,CAACL,SAAD,EAAYC,UAAZ,EAAwBtpF,OAAxB,EAAiCC,OAAjC,EAA0C;AAC1D,UAAM0K,QAAQ,GAAG,IAAI4wE,sBAAJ,CAA2B8N,SAA3B,EAAsCC,UAAtC,EAAkDtpF,OAAlD,EAA2DC,OAA3D,CAAjB;;AACA,SAAK0hF,mBAAL,CAAyBjtE,IAAzB,CAA8B/J,QAA9B;;AACA,SAAKyzE,iBAAL,CAAuBlzE,aAAvB,CAAqC,KAAKy2E,mBAA1C;;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIhqB,EAAAA,aAAa,CAACnQ,GAAD,EAAM;AACf;AACA;AACA;AACA,QAAI,KAAKkyB,WAAT,EAAsB;AAClB,WAAKA,WAAL,CAAiBiG,YAAjB,CAA8Bn4B,GAA9B;AACH,KAFD,MAGK;AACD,WAAKkL,UAAL,GAAkBlL,GAAlB;AACH;;AACD,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIqiC,EAAAA,WAAW,CAACj3E,MAAD,EAAS;AAChB,SAAKwrE,iBAAL,CAAuB+G,kBAAvB,CAA0CvyE,MAA1C;;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIk3E,EAAAA,WAAW,CAACl3E,MAAD,EAAS;AAChB,SAAKwrE,iBAAL,CAAuBgH,kBAAvB,CAA0CxyE,MAA1C;;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI3H,EAAAA,kBAAkB,CAACi6E,QAAD,EAAW;AACzB,SAAK9G,iBAAL,CAAuBnzE,kBAAvB,CAA0Ci6E,QAA1C;;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIh6E,EAAAA,aAAa,CAAC4kD,SAAD,EAAY;AACrB,SAAK6xB,mBAAL,GAA2B7xB,SAAS,CAACluD,KAAV,EAA3B;;AACA,SAAKw8E,iBAAL,CAAuBlzE,aAAvB,CAAqC,KAAKy2E,mBAA1C;;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIM,EAAAA,SAAS,CAACzrC,MAAD,EAAS;AACd,SAAK4nC,iBAAL,CAAuB6D,SAAvB,CAAiCzrC,MAAjC;;AACA,WAAO,IAAP;AACH;;AAjI2B;AAoIhC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMuzC,YAAY,GAAG,4BAArB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,sBAAN,CAA6B;AACzB5xF,EAAAA,WAAW,GAAG;AACV,SAAK6xF,YAAL,GAAoB,QAApB;AACA,SAAKC,UAAL,GAAkB,EAAlB;AACA,SAAKC,aAAL,GAAqB,EAArB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA,SAAKC,YAAL,GAAoB,EAApB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA,SAAKC,eAAL,GAAuB,EAAvB;AACA,SAAKC,MAAL,GAAc,EAAd;AACA,SAAKC,OAAL,GAAe,EAAf;AACH;;AACDvhF,EAAAA,MAAM,CAACywE,UAAD,EAAa;AACf,UAAM36E,MAAM,GAAG26E,UAAU,CAAC2F,SAAX,EAAf;AACA,SAAK5F,WAAL,GAAmBC,UAAnB;;AACA,QAAI,KAAK6Q,MAAL,IAAe,CAACxrF,MAAM,CAAChD,KAA3B,EAAkC;AAC9B29E,MAAAA,UAAU,CAAC8F,UAAX,CAAsB;AAAEzjF,QAAAA,KAAK,EAAE,KAAKwuF;AAAd,OAAtB;AACH;;AACD,QAAI,KAAKC,OAAL,IAAgB,CAACzrF,MAAM,CAAC/C,MAA5B,EAAoC;AAChC09E,MAAAA,UAAU,CAAC8F,UAAX,CAAsB;AAAExjF,QAAAA,MAAM,EAAE,KAAKwuF;AAAf,OAAtB;AACH;;AACD9Q,IAAAA,UAAU,CAACniD,WAAX,CAAuBmM,SAAvB,CAAiCje,GAAjC,CAAqCqkE,YAArC;AACA,SAAK3H,WAAL,GAAmB,KAAnB;AACH;AACD;AACJ;AACA;AACA;;;AACIp0B,EAAAA,GAAG,CAACxvD,KAAK,GAAG,EAAT,EAAa;AACZ,SAAK2rF,aAAL,GAAqB,EAArB;AACA,SAAKD,UAAL,GAAkB1rF,KAAlB;AACA,SAAK8rF,WAAL,GAAmB,YAAnB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIp8B,EAAAA,IAAI,CAAC1vD,KAAK,GAAG,EAAT,EAAa;AACb,SAAK6rF,YAAL,GAAoB,EAApB;AACA,SAAKD,WAAL,GAAmB5rF,KAAnB;AACA,SAAK+rF,eAAL,GAAuB,YAAvB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIp7B,EAAAA,MAAM,CAAC3wD,KAAK,GAAG,EAAT,EAAa;AACf,SAAK0rF,UAAL,GAAkB,EAAlB;AACA,SAAKC,aAAL,GAAqB3rF,KAArB;AACA,SAAK8rF,WAAL,GAAmB,UAAnB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIp7B,EAAAA,KAAK,CAAC1wD,KAAK,GAAG,EAAT,EAAa;AACd,SAAK4rF,WAAL,GAAmB,EAAnB;AACA,SAAKC,YAAL,GAAoB7rF,KAApB;AACA,SAAK+rF,eAAL,GAAuB,UAAvB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIvuF,EAAAA,KAAK,CAACwC,KAAK,GAAG,EAAT,EAAa;AACd,QAAI,KAAKk7E,WAAT,EAAsB;AAClB,WAAKA,WAAL,CAAiB+F,UAAjB,CAA4B;AAAEzjF,QAAAA,KAAK,EAAEwC;AAAT,OAA5B;AACH,KAFD,MAGK;AACD,WAAKgsF,MAAL,GAAchsF,KAAd;AACH;;AACD,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIvC,EAAAA,MAAM,CAACuC,KAAK,GAAG,EAAT,EAAa;AACf,QAAI,KAAKk7E,WAAT,EAAsB;AAClB,WAAKA,WAAL,CAAiB+F,UAAjB,CAA4B;AAAExjF,QAAAA,MAAM,EAAEuC;AAAV,OAA5B;AACH,KAFD,MAGK;AACD,WAAKisF,OAAL,GAAejsF,KAAf;AACH;;AACD,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIksF,EAAAA,kBAAkB,CAAC93E,MAAM,GAAG,EAAV,EAAc;AAC5B,SAAKs7C,IAAL,CAAUt7C,MAAV;AACA,SAAK23E,eAAL,GAAuB,QAAvB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACII,EAAAA,gBAAgB,CAAC/3E,MAAM,GAAG,EAAV,EAAc;AAC1B,SAAKo7C,GAAL,CAASp7C,MAAT;AACA,SAAK03E,WAAL,GAAmB,QAAnB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIlvE,EAAAA,KAAK,GAAG;AACJ;AACA;AACA;AACA,QAAI,CAAC,KAAKs+D,WAAN,IAAqB,CAAC,KAAKA,WAAL,CAAiBzwE,WAAjB,EAA1B,EAA0D;AACtD;AACH;;AACD,UAAMjO,MAAM,GAAG,KAAK0+E,WAAL,CAAiB7vE,cAAjB,CAAgC6I,KAA/C;AACA,UAAMk4E,YAAY,GAAG,KAAKlR,WAAL,CAAiBliD,WAAjB,CAA6B9kB,KAAlD;;AACA,UAAM1T,MAAM,GAAG,KAAK06E,WAAL,CAAiB4F,SAAjB,EAAf;;AACA,UAAM;AAAEtjF,MAAAA,KAAF;AAASC,MAAAA,MAAT;AAAiBikF,MAAAA,QAAjB;AAA2BC,MAAAA;AAA3B,QAAyCnhF,MAA/C;AACA,UAAM6rF,yBAAyB,GAAG,CAAC7uF,KAAK,KAAK,MAAV,IAAoBA,KAAK,KAAK,OAA/B,MAC7B,CAACkkF,QAAD,IAAaA,QAAQ,KAAK,MAA1B,IAAoCA,QAAQ,KAAK,OADpB,CAAlC;AAEA,UAAM4K,uBAAuB,GAAG,CAAC7uF,MAAM,KAAK,MAAX,IAAqBA,MAAM,KAAK,OAAjC,MAC3B,CAACkkF,SAAD,IAAcA,SAAS,KAAK,MAA5B,IAAsCA,SAAS,KAAK,OADzB,CAAhC;AAEAnlF,IAAAA,MAAM,CAAC2P,QAAP,GAAkB,KAAKs/E,YAAvB;AACAjvF,IAAAA,MAAM,CAAC+vF,UAAP,GAAoBF,yBAAyB,GAAG,GAAH,GAAS,KAAKT,WAA3D;AACApvF,IAAAA,MAAM,CAACgwF,SAAP,GAAmBF,uBAAuB,GAAG,GAAH,GAAS,KAAKZ,UAAxD;AACAlvF,IAAAA,MAAM,CAACiwF,YAAP,GAAsB,KAAKd,aAA3B;AACAnvF,IAAAA,MAAM,CAACkwF,WAAP,GAAqB,KAAKb,YAA1B;;AACA,QAAIQ,yBAAJ,EAA+B;AAC3BD,MAAAA,YAAY,CAACpG,cAAb,GAA8B,YAA9B;AACH,KAFD,MAGK,IAAI,KAAK+F,eAAL,KAAyB,QAA7B,EAAuC;AACxCK,MAAAA,YAAY,CAACpG,cAAb,GAA8B,QAA9B;AACH,KAFI,MAGA,IAAI,KAAK9K,WAAL,CAAiB4F,SAAjB,GAA6B72E,SAA7B,KAA2C,KAA/C,EAAsD;AACvD;AACA;AACA;AACA;AACA,UAAI,KAAK8hF,eAAL,KAAyB,YAA7B,EAA2C;AACvCK,QAAAA,YAAY,CAACpG,cAAb,GAA8B,UAA9B;AACH,OAFD,MAGK,IAAI,KAAK+F,eAAL,KAAyB,UAA7B,EAAyC;AAC1CK,QAAAA,YAAY,CAACpG,cAAb,GAA8B,YAA9B;AACH;AACJ,KAXI,MAYA;AACDoG,MAAAA,YAAY,CAACpG,cAAb,GAA8B,KAAK+F,eAAnC;AACH;;AACDK,IAAAA,YAAY,CAACrG,UAAb,GAA0BuG,uBAAuB,GAAG,YAAH,GAAkB,KAAKR,WAAxE;AACH;AACD;AACJ;AACA;AACA;;;AACIxiF,EAAAA,OAAO,GAAG;AACN,QAAI,KAAKs6E,WAAL,IAAoB,CAAC,KAAK1I,WAA9B,EAA2C;AACvC;AACH;;AACD,UAAM1+E,MAAM,GAAG,KAAK0+E,WAAL,CAAiB7vE,cAAjB,CAAgC6I,KAA/C;AACA,UAAM+nB,MAAM,GAAG,KAAKi/C,WAAL,CAAiBliD,WAAhC;AACA,UAAMozD,YAAY,GAAGnwD,MAAM,CAAC/nB,KAA5B;AACA+nB,IAAAA,MAAM,CAACkJ,SAAP,CAAiBE,MAAjB,CAAwBkmD,YAAxB;AACAa,IAAAA,YAAY,CAACpG,cAAb,GAA8BoG,YAAY,CAACrG,UAAb,GAA0BvpF,MAAM,CAACgwF,SAAP,GACpDhwF,MAAM,CAACiwF,YAAP,GAAsBjwF,MAAM,CAAC+vF,UAAP,GAAoB/vF,MAAM,CAACkwF,WAAP,GAAqBlwF,MAAM,CAAC2P,QAAP,GAAkB,EADrF;AAEA,SAAK+uE,WAAL,GAAmB,IAAnB;AACA,SAAK0I,WAAL,GAAmB,IAAnB;AACH;;AAnLwB;AAsL7B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACM+I;AAAN,QAAMA,sBAAN,CAA6B;AACzB/yF,IAAAA,WAAW,CAACy3D,cAAD,EAAiB1pD,SAAjB,EAA4BywC,SAA5B,EAAuCsqC,iBAAvC,EAA0D;AACjE,WAAKrxB,cAAL,GAAsBA,cAAtB;AACA,WAAK1pD,SAAL,GAAiBA,SAAjB;AACA,WAAKywC,SAAL,GAAiBA,SAAjB;AACA,WAAKsqC,iBAAL,GAAyBA,iBAAzB;AACH;AACD;AACJ;AACA;;;AACIkK,IAAAA,MAAM,GAAG;AACL,aAAO,IAAIpB,sBAAJ,EAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI7mB,IAAAA,WAAW,CAACh/D,UAAD,EAAaklF,SAAb,EAAwBC,UAAxB,EAAoC;AAC3C,aAAO,IAAIF,yBAAJ,CAA8BC,SAA9B,EAAyCC,UAAzC,EAAqDnlF,UAArD,EAAiE,KAAK0rD,cAAtE,EAAsF,KAAK1pD,SAA3F,EAAsG,KAAKywC,SAA3G,EAAsH,KAAKsqC,iBAA3H,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIt2E,IAAAA,mBAAmB,CAAC4rC,MAAD,EAAS;AACxB,aAAO,IAAIyqC,iCAAJ,CAAsCzqC,MAAtC,EAA8C,KAAKqZ,cAAnD,EAAmE,KAAK1pD,SAAxE,EAAmF,KAAKywC,SAAxF,EAAmG,KAAKsqC,iBAAxG,CAAP;AACH;;AA9BwB;;AAgC7BiK,EAAAA,sBAAsB,CAACzxF,IAAvB,GAA8B,SAAS2xF,8BAAT,CAAwCzxF,CAAxC,EAA2C;AAAE,WAAO,KAAKA,CAAC,IAAIuxF,sBAAV,EAAkCh6F,sDAAA,CAAgBC,iEAAhB,CAAlC,EAAyED,sDAAA,CAAgBvD,qDAAhB,CAAzE,EAAoGuD,sDAAA,CAAgBE,2DAAhB,CAApG,EAAsIF,sDAAA,CAAgB6rF,gBAAhB,CAAtI,CAAP;AAAkL,GAA7P;;AACAmO,EAAAA,sBAAsB,CAACroF,KAAvB,GAA+BwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASooF,8BAAT,GAA0C;AAAE,aAAO,IAAIF,sBAAJ,CAA2B79C,sDAAA,CAAYqB,iEAAZ,CAA3B,EAA0DrB,sDAAA,CAAY0qC,qDAAZ,CAA1D,EAAsF1qC,sDAAA,CAAYD,2DAAZ,CAAtF,EAAgHC,sDAAA,CAAY0vC,gBAAZ,CAAhH,CAAP;AAAwJ,KAA/M;AAAiNh6E,IAAAA,KAAK,EAAEmoF,sBAAxN;AAAgP74C,IAAAA,UAAU,EAAE;AAA5P,GAAtB,CAA/B;SAjCM64C;;;AAwCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOjwF,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMsE,CANrF;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,IAAIowF,YAAY,GAAG,CAAnB,EACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMx6F;AAAN,QAAMA,OAAN,CAAc;AACVsH,IAAAA,WAAW;AACX;AACAqL,IAAAA,gBAFW,EAEOy9E,iBAFP,EAE0BqK,yBAF1B,EAEqDC,gBAFrD,EAEuE7N,mBAFvE,EAE4F8N,SAF5F,EAEuG7yC,OAFvG,EAEgHzyC,SAFhH,EAE2HulF,eAF3H,EAE4I9N,SAF5I,EAEuJC,uBAFvJ,EAEgL;AACvL,WAAKp6E,gBAAL,GAAwBA,gBAAxB;AACA,WAAKy9E,iBAAL,GAAyBA,iBAAzB;AACA,WAAKqK,yBAAL,GAAiCA,yBAAjC;AACA,WAAKC,gBAAL,GAAwBA,gBAAxB;AACA,WAAK7N,mBAAL,GAA2BA,mBAA3B;AACA,WAAK8N,SAAL,GAAiBA,SAAjB;AACA,WAAK7yC,OAAL,GAAeA,OAAf;AACA,WAAKzyC,SAAL,GAAiBA,SAAjB;AACA,WAAKulF,eAAL,GAAuBA,eAAvB;AACA,WAAK9N,SAAL,GAAiBA,SAAjB;AACA,WAAKC,uBAAL,GAA+BA,uBAA/B;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIj0E,IAAAA,MAAM,CAAC5K,MAAD,EAAS;AACX,YAAM2b,IAAI,GAAG,KAAKgxE,kBAAL,EAAb;;AACA,YAAMC,IAAI,GAAG,KAAKC,kBAAL,CAAwBlxE,IAAxB,CAAb;;AACA,YAAMmxE,YAAY,GAAG,KAAKC,mBAAL,CAAyBH,IAAzB,CAArB;;AACA,YAAMriF,aAAa,GAAG,IAAIxY,aAAJ,CAAkBiO,MAAlB,CAAtB;AACAuK,MAAAA,aAAa,CAACd,SAAd,GAA0Bc,aAAa,CAACd,SAAd,IAA2B,KAAKijF,eAAL,CAAqBltF,KAA1E;AACA,aAAO,IAAI++E,UAAJ,CAAeuO,YAAf,EAA6BnxE,IAA7B,EAAmCixE,IAAnC,EAAyCriF,aAAzC,EAAwD,KAAKqvC,OAA7D,EAAsE,KAAK+kC,mBAA3E,EAAgG,KAAKx3E,SAArG,EAAgH,KAAKy3E,SAArH,EAAgI,KAAKC,uBAArI,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIlzE,IAAAA,QAAQ,GAAG;AACP,aAAO,KAAK6gF,gBAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACIK,IAAAA,kBAAkB,CAAClxE,IAAD,EAAO;AACrB,YAAMixE,IAAI,GAAG,KAAKzlF,SAAL,CAAe0jC,aAAf,CAA6B,KAA7B,CAAb;;AACA+hD,MAAAA,IAAI,CAACh9E,EAAL,GAAW,eAAc08E,YAAY,EAAG,EAAxC;AACAM,MAAAA,IAAI,CAACjoD,SAAL,CAAeje,GAAf,CAAmB,kBAAnB;AACA/K,MAAAA,IAAI,CAACyvB,WAAL,CAAiBwhD,IAAjB;AACA,aAAOA,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACID,IAAAA,kBAAkB,GAAG;AACjB,YAAMhxE,IAAI,GAAG,KAAKxU,SAAL,CAAe0jC,aAAf,CAA6B,KAA7B,CAAb;;AACA,WAAKq3C,iBAAL,CAAuBhE,mBAAvB,GAA6C9yC,WAA7C,CAAyDzvB,IAAzD;;AACA,aAAOA,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIoxE,IAAAA,mBAAmB,CAACH,IAAD,EAAO;AACtB;AACA;AACA,UAAI,CAAC,KAAKI,OAAV,EAAmB;AACf,aAAKA,OAAL,GAAe,KAAKP,SAAL,CAAe5tF,GAAf,CAAmBq6E,yDAAnB,CAAf;AACH;;AACD,aAAO,IAAIK,iEAAJ,CAAoBqT,IAApB,EAA0B,KAAKL,yBAA/B,EAA0D,KAAKS,OAA/D,EAAwE,KAAKP,SAA7E,EAAwF,KAAKtlF,SAA7F,CAAP;AACH;;AAtES;;AAwEdrV,EAAAA,OAAO,CAAC4I,IAAR,GAAe,SAASuyF,eAAT,CAAyBryF,CAAzB,EAA4B;AAAE,WAAO,KAAKA,CAAC,IAAI9I,OAAV,EAAmBK,sDAAA,CAAgB8pF,qBAAhB,CAAnB,EAA2D9pF,sDAAA,CAAgB6rF,gBAAhB,CAA3D,EAA8F7rF,sDAAA,CAAgBA,mEAAhB,CAA9F,EAAgJA,sDAAA,CAAgBg6F,sBAAhB,CAAhJ,EAAyLh6F,sDAAA,CAAgB8qF,yBAAhB,CAAzL,EAAqO9qF,sDAAA,CAAgBA,mDAAhB,CAArO,EAAuQA,sDAAA,CAAgBA,iDAAhB,CAAvQ,EAAuSA,sDAAA,CAAgBvD,qDAAhB,CAAvS,EAAkUuD,sDAAA,CAAgBG,8DAAhB,CAAlU,EAA0WH,sDAAA,CAAgBI,qDAAhB,CAA1W,EAA4YJ,sDAAA,CAAgBorF,6BAAhB,CAA5Y,CAAP;AAAqc,GAAlf;;AACAzrF,EAAAA,OAAO,CAACgS,KAAR,GAAgB,aAAc3R,gEAAA,CAA0B;AAAE6R,IAAAA,KAAK,EAAElS,OAAT;AAAkBmS,IAAAA,OAAO,EAAEnS,OAAO,CAAC4I;AAAnC,GAA1B,CAA9B;SAzEM5I;;;AAuFN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOoK,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAKoH,CALnI;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMgxF,mBAAmB,GAAG,CACxB;AACI/gF,EAAAA,OAAO,EAAE,OADb;AAEIC,EAAAA,OAAO,EAAE,QAFb;AAGIC,EAAAA,QAAQ,EAAE,OAHd;AAIIC,EAAAA,QAAQ,EAAE;AAJd,CADwB,EAOxB;AACIH,EAAAA,OAAO,EAAE,OADb;AAEIC,EAAAA,OAAO,EAAE,KAFb;AAGIC,EAAAA,QAAQ,EAAE,OAHd;AAIIC,EAAAA,QAAQ,EAAE;AAJd,CAPwB,EAaxB;AACIH,EAAAA,OAAO,EAAE,KADb;AAEIC,EAAAA,OAAO,EAAE,KAFb;AAGIC,EAAAA,QAAQ,EAAE,KAHd;AAIIC,EAAAA,QAAQ,EAAE;AAJd,CAbwB,EAmBxB;AACIH,EAAAA,OAAO,EAAE,KADb;AAEIC,EAAAA,OAAO,EAAE,QAFb;AAGIC,EAAAA,QAAQ,EAAE,KAHd;AAIIC,EAAAA,QAAQ,EAAE;AAJd,CAnBwB,CAA5B;AA0BA;;AACA,MAAM6gF,qCAAqC,gBAAG,IAAI79F,yDAAJ,CAAmB,uCAAnB,CAA9C;AACA;AACA;AACA;AACA;;IACM89F;AAAN,QAAMA,gBAAN,CAAuB;AACnBh0F,IAAAA,WAAW;AACX;AACA+L,IAAAA,UAFW,EAEC;AACR,WAAKA,UAAL,GAAkBA,UAAlB;AACH;;AALkB;;AAOvBioF,EAAAA,gBAAgB,CAAC1yF,IAAjB,GAAwB,SAAS2yF,wBAAT,CAAkCzyF,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAIwyF,gBAAV,EAA4Bj7F,+DAAA,CAAyBA,qDAAzB,CAA5B,CAAP;AAAkF,GAAjJ;;AACAi7F,EAAAA,gBAAgB,CAAC/uF,IAAjB,GAAwB,aAAclM,+DAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAEqyF,gBAAR;AAA0BpyF,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,oBAAL,EAA2B,EAA3B,CAAD,EAAiC,CAAC,EAAD,EAAK,gBAAL,EAAuB,EAAvB,CAAjC,EAA6D,CAAC,EAAD,EAAK,kBAAL,EAAyB,EAAzB,CAA7D,CAArC;AAAiIoL,IAAAA,QAAQ,EAAE,CAAC,kBAAD;AAA3I,GAAzB,CAAtC;SARMgnF;;;AAYN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOlxF,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMwD,CANvE;AAOA;AACA;AACA;AACA;;;IACMoxF;AAAN,QAAMA,mBAAN,CAA0B;AACtB;AACAl0F,IAAAA,WAAW,CAAC0N,QAAD,EAAWukD,WAAX,EAAwB3hD,gBAAxB,EAA0C6jF,qBAA1C,EAAiEtmF,IAAjE,EAAuE;AAC9E,WAAKH,QAAL,GAAgBA,QAAhB;AACA,WAAKG,IAAL,GAAYA,IAAZ;AACA,WAAKumF,YAAL,GAAoB,KAApB;AACA,WAAKC,aAAL,GAAqB,KAArB;AACA,WAAKnL,cAAL,GAAsB,KAAtB;AACA,WAAKoL,mBAAL,GAA2B,KAA3B;AACA,WAAKC,KAAL,GAAa,KAAb;AACA,WAAKC,qBAAL,GAA6B18F,oDAA7B;AACA,WAAK28F,mBAAL,GAA2B38F,oDAA3B;AACA,WAAK48F,mBAAL,GAA2B58F,oDAA3B;AACA,WAAK68F,qBAAL,GAA6B78F,oDAA7B;AACA;;AACA,WAAK88F,cAAL,GAAsB,CAAtB;AACA;;AACA,WAAKzlF,IAAL,GAAY,KAAZ;AACA;;AACA,WAAK0lF,YAAL,GAAoB,KAApB;AACA;;AACA,WAAKljF,aAAL,GAAqB,IAAIjc,uDAAJ,EAArB;AACA;;AACA,WAAK49E,cAAL,GAAsB,IAAI59E,uDAAJ,EAAtB;AACA;;AACA,WAAKob,MAAL,GAAc,IAAIpb,uDAAJ,EAAd;AACA;;AACA,WAAKwc,MAAL,GAAc,IAAIxc,uDAAJ,EAAd;AACA;;AACA,WAAKo/F,cAAL,GAAsB,IAAIp/F,uDAAJ,EAAtB;AACA;;AACA,WAAKq/F,mBAAL,GAA2B,IAAIr/F,uDAAJ,EAA3B;AACA,WAAKs/F,eAAL,GAAuB,IAAI5U,gEAAJ,CAAmBnuB,WAAnB,EAAgC3hD,gBAAhC,CAAvB;AACA,WAAK2kF,sBAAL,GAA8Bd,qBAA9B;AACA,WAAKrmF,cAAL,GAAsB,KAAKmnF,sBAAL,EAAtB;AACH;AACD;;;AACW,QAAPrtF,OAAO,GAAG;AAAE,aAAO,KAAK6hF,QAAZ;AAAuB;;AAC5B,QAAP7hF,OAAO,CAACA,OAAD,EAAU;AACjB,WAAK6hF,QAAL,GAAgB7hF,OAAhB;;AACA,UAAI,KAAKoU,SAAT,EAAoB;AAChB,aAAKk5E,uBAAL,CAA6B,KAAKl5E,SAAlC;AACH;AACJ;AACD;;;AACW,QAAPnU,OAAO,GAAG;AAAE,aAAO,KAAK6hF,QAAZ;AAAuB;;AAC5B,QAAP7hF,OAAO,CAACA,OAAD,EAAU;AACjB,WAAK6hF,QAAL,GAAgB7hF,OAAhB;;AACA,UAAI,KAAKmU,SAAT,EAAoB;AAChB,aAAKk5E,uBAAL,CAA6B,KAAKl5E,SAAlC;AACH;AACJ;AACD;;;AACe,QAAX1K,WAAW,GAAG;AAAE,aAAO,KAAK8iF,YAAZ;AAA2B;;AAChC,QAAX9iF,WAAW,CAAClL,KAAD,EAAQ;AAAE,WAAKguF,YAAL,GAAoB97F,4EAAqB,CAAC8N,KAAD,CAAzC;AAAmD;AAC5E;;;AACgB,QAAZ+uF,YAAY,GAAG;AAAE,aAAO,KAAKd,aAAZ;AAA4B;;AACjC,QAAZc,YAAY,CAAC/uF,KAAD,EAAQ;AAAE,WAAKiuF,aAAL,GAAqB/7F,4EAAqB,CAAC8N,KAAD,CAA1C;AAAoD;AAC9E;;;AACsB,QAAlBqmF,kBAAkB,GAAG;AAAE,aAAO,KAAK6H,mBAAZ;AAAkC;;AACvC,QAAlB7H,kBAAkB,CAACrmF,KAAD,EAAQ;AAC1B,WAAKkuF,mBAAL,GAA2Bh8F,4EAAqB,CAAC8N,KAAD,CAAhD;AACH;AACD;;;AACiB,QAAbumF,aAAa,GAAG;AAAE,aAAO,KAAKzD,cAAZ;AAA6B;;AAClC,QAAbyD,aAAa,CAACvmF,KAAD,EAAQ;AAAE,WAAK8iF,cAAL,GAAsB5wF,4EAAqB,CAAC8N,KAAD,CAA3C;AAAqD;AAChF;;;AACQ,QAAJkW,IAAI,GAAG;AAAE,aAAO,KAAKi4E,KAAZ;AAAoB;;AACzB,QAAJj4E,IAAI,CAAClW,KAAD,EAAQ;AAAE,WAAKmuF,KAAL,GAAaj8F,4EAAqB,CAAC8N,KAAD,CAAlC;AAA4C;AAC9D;;;AACc,QAAVm7E,UAAU,GAAG;AACb,aAAO,KAAKD,WAAZ;AACH;AACD;;;AACO,QAAHlyB,GAAG,GAAG;AACN,aAAO,KAAKvhD,IAAL,GAAY,KAAKA,IAAL,CAAUzH,KAAtB,GAA8B,KAArC;AACH;;AACDhD,IAAAA,WAAW,GAAG;AACV,WAAKqxF,mBAAL,CAAyBjlF,WAAzB;;AACA,WAAKklF,mBAAL,CAAyBllF,WAAzB;;AACA,WAAKglF,qBAAL,CAA2BhlF,WAA3B;;AACA,WAAKmlF,qBAAL,CAA2BnlF,WAA3B;;AACA,UAAI,KAAK8xE,WAAT,EAAsB;AAClB,aAAKA,WAAL,CAAiB5xE,OAAjB;AACH;AACJ;;AACDpJ,IAAAA,WAAW,CAACC,OAAD,EAAU;AACjB,UAAI,KAAKyV,SAAT,EAAoB;AAChB,aAAKk5E,uBAAL,CAA6B,KAAKl5E,SAAlC;;AACA,aAAKslE,WAAL,CAAiB+F,UAAjB,CAA4B;AACxBzjF,UAAAA,KAAK,EAAE,KAAKA,KADY;AAExBgkF,UAAAA,QAAQ,EAAE,KAAKA,QAFS;AAGxB/jF,UAAAA,MAAM,EAAE,KAAKA,MAHW;AAIxBgkF,UAAAA,SAAS,EAAE,KAAKA;AAJQ,SAA5B;;AAMA,YAAIthF,OAAO,CAAC,QAAD,CAAP,IAAqB,KAAK4I,IAA9B,EAAoC;AAChC,eAAK6M,SAAL,CAAegH,KAAf;AACH;AACJ;;AACD,UAAIzc,OAAO,CAAC,MAAD,CAAX,EAAqB;AACjB,aAAK4I,IAAL,GAAY,KAAKimF,cAAL,EAAZ,GAAoC,KAAKC,cAAL,EAApC;AACH;AACJ;AACD;;;AACAC,IAAAA,cAAc,GAAG;AACb,UAAI,CAAC,KAAK59B,SAAN,IAAmB,CAAC,KAAKA,SAAL,CAAeh6D,MAAvC,EAA+C;AAC3C,aAAKg6D,SAAL,GAAiBo8B,mBAAjB;AACH;;AACD,YAAMvS,UAAU,GAAG,KAAKD,WAAL,GAAmB,KAAK5zE,QAAL,CAAc8D,MAAd,CAAqB,KAAK+jF,YAAL,EAArB,CAAtC;;AACA,WAAKd,mBAAL,GAA2BlT,UAAU,CAACyF,WAAX,GAAyB/gF,SAAzB,CAAmC,MAAM,KAAK6K,MAAL,CAAYzP,IAAZ,EAAzC,CAA3B;AACA,WAAKqzF,mBAAL,GAA2BnT,UAAU,CAAC3vE,WAAX,GAAyB3L,SAAzB,CAAmC,MAAM,KAAKiM,MAAL,CAAY7Q,IAAZ,EAAzC,CAA3B;AACAkgF,MAAAA,UAAU,CAAC1vE,aAAX,GAA2B5L,SAA3B,CAAsC6L,KAAD,IAAW;AAC5C,aAAKgjF,cAAL,CAAoBzxF,IAApB,CAAyByO,KAAzB;;AACA,YAAIA,KAAK,CAACC,OAAN,KAAkBxZ,0DAAlB,IAA4B,CAAC,KAAKs8F,YAAlC,IAAkD,CAACx/C,sEAAc,CAACvjC,KAAD,CAArE,EAA8E;AAC1EA,UAAAA,KAAK,CAACG,cAAN;;AACA,eAAKojF,cAAL;AACH;AACJ,OAND;;AAOA,WAAK/T,WAAL,CAAiB2F,oBAAjB,GAAwChhF,SAAxC,CAAmD6L,KAAD,IAAW;AACzD,aAAKijF,mBAAL,CAAyB1xF,IAAzB,CAA8ByO,KAA9B;AACH,OAFD;AAGH;AACD;;;AACAyjF,IAAAA,YAAY,GAAG;AACX,YAAMnkF,gBAAgB,GAAG,KAAK4K,SAAL,GACrB,KAAK5K,gBAAL,IAAyB,KAAKokF,uBAAL,EAD7B;;AAEA,YAAMrkF,aAAa,GAAG,IAAIxY,aAAJ,CAAkB;AACpC0X,QAAAA,SAAS,EAAE,KAAKxC,IADoB;AAEpCuD,QAAAA,gBAFoC;AAGpCtD,QAAAA,cAAc,EAAE,KAAKA,cAHe;AAIpCwD,QAAAA,WAAW,EAAE,KAAKA;AAJkB,OAAlB,CAAtB;;AAMA,UAAI,KAAK1N,KAAL,IAAc,KAAKA,KAAL,KAAe,CAAjC,EAAoC;AAChCuN,QAAAA,aAAa,CAACvN,KAAd,GAAsB,KAAKA,KAA3B;AACH;;AACD,UAAI,KAAKC,MAAL,IAAe,KAAKA,MAAL,KAAgB,CAAnC,EAAsC;AAClCsN,QAAAA,aAAa,CAACtN,MAAd,GAAuB,KAAKA,MAA5B;AACH;;AACD,UAAI,KAAK+jF,QAAL,IAAiB,KAAKA,QAAL,KAAkB,CAAvC,EAA0C;AACtCz2E,QAAAA,aAAa,CAACy2E,QAAd,GAAyB,KAAKA,QAA9B;AACH;;AACD,UAAI,KAAKC,SAAL,IAAkB,KAAKA,SAAL,KAAmB,CAAzC,EAA4C;AACxC12E,QAAAA,aAAa,CAAC02E,SAAd,GAA0B,KAAKA,SAA/B;AACH;;AACD,UAAI,KAAKt2E,aAAT,EAAwB;AACpBJ,QAAAA,aAAa,CAACI,aAAd,GAA8B,KAAKA,aAAnC;AACH;;AACD,UAAI,KAAKhB,UAAT,EAAqB;AACjBY,QAAAA,aAAa,CAACZ,UAAd,GAA2B,KAAKA,UAAhC;AACH;;AACD,aAAOY,aAAP;AACH;AACD;;;AACA+jF,IAAAA,uBAAuB,CAAC9jF,gBAAD,EAAmB;AACtC,YAAMsmD,SAAS,GAAG,KAAKA,SAAL,CAAe52C,GAAf,CAAmBulD,eAAe,KAAK;AACrDtzD,QAAAA,OAAO,EAAEszD,eAAe,CAACtzD,OAD4B;AAErDC,QAAAA,OAAO,EAAEqzD,eAAe,CAACrzD,OAF4B;AAGrDC,QAAAA,QAAQ,EAAEozD,eAAe,CAACpzD,QAH2B;AAIrDC,QAAAA,QAAQ,EAAEmzD,eAAe,CAACnzD,QAJ2B;AAKrDtL,QAAAA,OAAO,EAAEy+D,eAAe,CAACz+D,OAAhB,IAA2B,KAAKA,OALY;AAMrDC,QAAAA,OAAO,EAAEw+D,eAAe,CAACx+D,OAAhB,IAA2B,KAAKA,OANY;AAOrD0I,QAAAA,UAAU,EAAE81D,eAAe,CAAC91D,UAAhB,IAA8BxB;AAPW,OAAL,CAAlC,CAAlB;AASA,aAAOqC,gBAAgB,CAClBy4E,SADE,CACQ,KAAKzrC,MAAL,CAAYryC,UADpB,EAEF+G,aAFE,CAEY4kD,SAFZ,EAGF/kD,sBAHE,CAGqB,KAAK85E,kBAH1B,EAIFG,QAJE,CAIO,KAAKtwE,IAJZ,EAKFowE,iBALE,CAKgB,KAAKC,aALrB,EAMF/5E,kBANE,CAMiB,KAAKgiF,cANtB,EAOF/hF,kBAPE,CAOiB,KAAKsiF,YAPtB,EAQFziF,qBARE,CAQoB,KAAK+iF,uBARzB,CAAP;AASH;AACD;;;AACAD,IAAAA,uBAAuB,GAAG;AACtB,YAAMpO,QAAQ,GAAG,KAAK15E,QAAL,CAAc6E,QAAd,GAAyBC,mBAAzB,CAA6C,KAAK4rC,MAAL,CAAYryC,UAAzD,CAAjB;;AACA,WAAKmpF,uBAAL,CAA6B9N,QAA7B;;AACA,aAAOA,QAAP;AACH;AACD;;;AACAgO,IAAAA,cAAc,GAAG;AACb,UAAI,CAAC,KAAK9T,WAAV,EAAuB;AACnB,aAAKgU,cAAL;AACH,OAFD,MAGK;AACD;AACA,aAAKhU,WAAL,CAAiB4F,SAAjB,GAA6B51E,WAA7B,GAA2C,KAAKA,WAAhD;AACH;;AACD,UAAI,CAAC,KAAKgwE,WAAL,CAAiBzwE,WAAjB,EAAL,EAAqC;AACjC,aAAKywE,WAAL,CAAiBxwE,MAAjB,CAAwB,KAAKkkF,eAA7B;AACH;;AACD,UAAI,KAAK1jF,WAAT,EAAsB;AAClB,aAAKkjF,qBAAL,GAA6B,KAAKlT,WAAL,CAAiB3vE,aAAjB,GAAiC1L,SAAjC,CAA2C6L,KAAK,IAAI;AAC7E,eAAKH,aAAL,CAAmBtQ,IAAnB,CAAwByQ,KAAxB;AACH,SAF4B,CAA7B;AAGH,OAJD,MAKK;AACD,aAAK0iF,qBAAL,CAA2BhlF,WAA3B;AACH;;AACD,WAAKmlF,qBAAL,CAA2BnlF,WAA3B,GAnBa,CAoBb;AACA;;;AACA,UAAI,KAAK8jE,cAAL,CAAoBpW,SAApB,CAA8Bx/D,MAA9B,GAAuC,CAA3C,EAA8C;AAC1C,aAAKi3F,qBAAL,GAA6B,KAAK34E,SAAL,CAAe4tE,eAAf,CACxB5jF,IADwB,CACnBq6E,0DAAS,CAAC,MAAM,KAAK/M,cAAL,CAAoBpW,SAApB,CAA8Bx/D,MAA9B,GAAuC,CAA9C,CADU,EAExBuI,SAFwB,CAEdsM,QAAQ,IAAI;AACvB,eAAK+gE,cAAL,CAAoBjyE,IAApB,CAAyBkR,QAAzB;;AACA,cAAI,KAAK+gE,cAAL,CAAoBpW,SAApB,CAA8Bx/D,MAA9B,KAAyC,CAA7C,EAAgD;AAC5C,iBAAKi3F,qBAAL,CAA2BnlF,WAA3B;AACH;AACJ,SAP4B,CAA7B;AAQH;AACJ;AACD;;;AACA6lF,IAAAA,cAAc,GAAG;AACb,UAAI,KAAK/T,WAAT,EAAsB;AAClB,aAAKA,WAAL,CAAiBpvE,MAAjB;AACH;;AACD,WAAKsiF,qBAAL,CAA2BhlF,WAA3B;;AACA,WAAKmlF,qBAAL,CAA2BnlF,WAA3B;AACH;;AA5NqB;;AA8N1B0kF,EAAAA,mBAAmB,CAAC5yF,IAApB,GAA2B,SAASo0F,2BAAT,CAAqCl0F,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAI0yF,mBAAV,EAA+Bn7F,+DAAA,CAAyBL,OAAzB,CAA/B,EAAkEK,+DAAA,CAAyBA,sDAAzB,CAAlE,EAAgHA,+DAAA,CAAyBA,2DAAzB,CAAhH,EAAmKA,+DAAA,CAAyBg7F,qCAAzB,CAAnK,EAAoOh7F,+DAAA,CAAyBG,8DAAzB,EAAgD,CAAhD,CAApO,CAAP;AAAiS,GAAtW;;AACAg7F,EAAAA,mBAAmB,CAACjvF,IAApB,GAA2B,aAAclM,+DAAA,CAAyB;AAAE4I,IAAAA,IAAI,EAAEuyF,mBAAR;AAA6BtyF,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,uBAAL,EAA8B,EAA9B,CAAD,EAAoC,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAApC,EAAmE,CAAC,EAAD,EAAK,qBAAL,EAA4B,EAA5B,CAAnE,CAAxC;AAA6IE,IAAAA,MAAM,EAAE;AAAE8yF,MAAAA,cAAc,EAAE,CAAC,mCAAD,EAAsC,gBAAtC,CAAlB;AAA2EzlF,MAAAA,IAAI,EAAE,CAAC,yBAAD,EAA4B,MAA5B,CAAjF;AAAsH0lF,MAAAA,YAAY,EAAE,CAAC,iCAAD,EAAoC,cAApC,CAApI;AAAyL/mF,MAAAA,cAAc,EAAE,CAAC,mCAAD,EAAsC,gBAAtC,CAAzM;AAAkQlG,MAAAA,OAAO,EAAE,CAAC,4BAAD,EAA+B,SAA/B,CAA3Q;AAAsTC,MAAAA,OAAO,EAAE,CAAC,4BAAD,EAA+B,SAA/B,CAA/T;AAA0WyJ,MAAAA,WAAW,EAAE,CAAC,gCAAD,EAAmC,aAAnC,CAAvX;AAA0a6jF,MAAAA,YAAY,EAAE,CAAC,iCAAD,EAAoC,cAApC,CAAxb;AAA6e1I,MAAAA,kBAAkB,EAAE,CAAC,uCAAD,EAA0C,oBAA1C,CAAjgB;AAAkkBE,MAAAA,aAAa,EAAE,CAAC,kCAAD,EAAqC,eAArC,CAAjlB;AAAwoBrwE,MAAAA,IAAI,EAAE,CAAC,yBAAD,EAA4B,MAA5B,CAA9oB;AAAmrBo7C,MAAAA,SAAS,EAAE,CAAC,8BAAD,EAAiC,WAAjC,CAA9rB;AAA6uBtZ,MAAAA,MAAM,EAAE,CAAC,2BAAD,EAA8B,QAA9B,CAArvB;AAA8xBhtC,MAAAA,gBAAgB,EAAE,CAAC,qCAAD,EAAwC,kBAAxC,CAAhzB;AAA62BxN,MAAAA,KAAK,EAAE,CAAC,0BAAD,EAA6B,OAA7B,CAAp3B;AAA25BC,MAAAA,MAAM,EAAE,CAAC,2BAAD,EAA8B,QAA9B,CAAn6B;AAA48B+jF,MAAAA,QAAQ,EAAE,CAAC,6BAAD,EAAgC,UAAhC,CAAt9B;AAAmgCC,MAAAA,SAAS,EAAE,CAAC,8BAAD,EAAiC,WAAjC,CAA9gC;AAA6jCt2E,MAAAA,aAAa,EAAE,CAAC,kCAAD,EAAqC,eAArC,CAA5kC;AAAmoChB,MAAAA,UAAU,EAAE,CAAC,+BAAD,EAAkC,YAAlC,CAA/oC;AAAgsCklF,MAAAA,uBAAuB,EAAE,CAAC,sCAAD,EAAyC,yBAAzC;AAAztC,KAArJ;AAAq7C1zF,IAAAA,OAAO,EAAE;AAAE4P,MAAAA,aAAa,EAAE,eAAjB;AAAkC2hE,MAAAA,cAAc,EAAE,gBAAlD;AAAoExiE,MAAAA,MAAM,EAAE,QAA5E;AAAsFoB,MAAAA,MAAM,EAAE,QAA9F;AAAwG4iF,MAAAA,cAAc,EAAE,gBAAxH;AAA0IC,MAAAA,mBAAmB,EAAE;AAA/J,KAA97C;AAAsnD/nF,IAAAA,QAAQ,EAAE,CAAC,qBAAD,CAAhoD;AAAypDjF,IAAAA,QAAQ,EAAE,CAAChP,kEAAD;AAAnqD,GAAzB,CAAzC;SA/NMm7F;;;AAoQN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOpxF,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAsFC,CAtFhB;AAuFA;;;AACA,SAAS6yF,sDAAT,CAAgEvqF,OAAhE,EAAyE;AACrE,SAAO,MAAMA,OAAO,CAACC,gBAAR,CAAyBC,UAAzB,EAAb;AACH;AACD;;;AACA,MAAMsqF,8CAA8C,GAAG;AACnDpqF,EAAAA,OAAO,EAAEuoF,qCAD0C;AAEnDtoF,EAAAA,IAAI,EAAE,CAAC/S,OAAD,CAF6C;AAGnDgT,EAAAA,UAAU,EAAEiqF;AAHuC,CAAvD;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;IACME;AAAN,QAAMA,aAAN,CAAoB;;AAEpBA,EAAAA,aAAa,CAACv0F,IAAd,GAAqB,SAASw0F,qBAAT,CAA+Bt0F,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAIq0F,aAAV,GAAP;AAAoC,GAA7F;;AACAA,EAAAA,aAAa,CAACx9E,IAAd,GAAqB,aAActf,8DAAA,CAAwB;AAAE4I,IAAAA,IAAI,EAAEk0F;AAAR,GAAxB,CAAnC;AACAA,EAAAA,aAAa,CAACt9E,IAAd,GAAqB,aAAcxf,8DAAA,CAAwB;AAAE0f,IAAAA,SAAS,EAAE,CAChE/f,OADgE,EAEhEk9F,8CAFgE,CAAb;AAGpDl9E,IAAAA,OAAO,EAAE,CAAC,CAACm3C,0DAAD,EAAat6D,8DAAb,EAA2BmqF,mEAA3B,CAAD,EAA8CA,mEAA9C;AAH2C,GAAxB,CAAnC;SAJMmW;;;AAQN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/yF,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAWO,CAXtB;;AAYA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO6V,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD5f,gEAAA,CAA0B88F,aAA1B,EAAyC;AAAEh9E,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAACq7E,mBAAD,EAAsBF,gBAAtB,CAAP;AAAiD,KAA/E;AAAiFt7E,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACm3C,0DAAD,EAAat6D,8DAAb,EAA2BmqF,mEAA3B,CAAP;AAAqD,KAA7J;AAA+J5mE,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACo7E,mBAAD,EAAsBF,gBAAtB,EAAwCtU,mEAAxC,CAAP;AAAkE;AAAxP,GAAzC,CAAnD;AAA0V,CAAzW;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMqW;AAAN,QAAMA,0BAAN,SAAyCnR,gBAAzC,CAA0D;AACtD5kF,IAAAA,WAAW,CAAC+N,SAAD,EAAYqjF,QAAZ,EAAsB;AAC7B,YAAMrjF,SAAN,EAAiBqjF,QAAjB;AACH;;AACDhuF,IAAAA,WAAW,GAAG;AACV,YAAMA,WAAN;;AACA,UAAI,KAAK4yF,oBAAL,IAA6B,KAAKC,mBAAtC,EAA2D;AACvD,aAAKloF,SAAL,CAAenJ,mBAAf,CAAmC,KAAKoxF,oBAAxC,EAA8D,KAAKC,mBAAnE;AACH;AACJ;;AACDlR,IAAAA,gBAAgB,GAAG;AACf,YAAMA,gBAAN;;AACA,WAAKmR,gCAAL;;AACA,WAAKC,4BAAL,CAAkC,MAAM,KAAKD,gCAAL,EAAxC;AACH;;AACDA,IAAAA,gCAAgC,GAAG;AAC/B,UAAI,CAAC,KAAKrR,iBAAV,EAA6B;AACzB;AACH;;AACD,YAAM5d,iBAAiB,GAAG,KAAKmvB,oBAAL,EAA1B;AACA,YAAM/zD,MAAM,GAAG4kC,iBAAiB,IAAI,KAAKl5D,SAAL,CAAegW,IAAnD;AACAse,MAAAA,MAAM,CAAC2P,WAAP,CAAmB,KAAK6yC,iBAAxB;AACH;;AACDsR,IAAAA,4BAA4B,CAACnhF,EAAD,EAAK;AAC7B,YAAMsL,SAAS,GAAG,KAAK+1E,aAAL,EAAlB;;AACA,UAAI/1E,SAAJ,EAAe;AACX,YAAI,KAAK21E,mBAAT,EAA8B;AAC1B,eAAKloF,SAAL,CAAenJ,mBAAf,CAAmC0b,SAAnC,EAA8C,KAAK21E,mBAAnD;AACH;;AACD,aAAKloF,SAAL,CAAexJ,gBAAf,CAAgC+b,SAAhC,EAA2CtL,EAA3C;;AACA,aAAKihF,mBAAL,GAA2BjhF,EAA3B;AACH;AACJ;;AACDqhF,IAAAA,aAAa,GAAG;AACZ,UAAI,CAAC,KAAKL,oBAAV,EAAgC;AAC5B,cAAMjoF,SAAS,GAAG,KAAKA,SAAvB;;AACA,YAAIA,SAAS,CAACuoF,iBAAd,EAAiC;AAC7B,eAAKN,oBAAL,GAA4B,kBAA5B;AACH,SAFD,MAGK,IAAIjoF,SAAS,CAACwoF,uBAAd,EAAuC;AACxC,eAAKP,oBAAL,GAA4B,wBAA5B;AACH,SAFI,MAGA,IAAIjoF,SAAS,CAACyoF,oBAAd,EAAoC;AACrC,eAAKR,oBAAL,GAA4B,qBAA5B;AACH,SAFI,MAGA,IAAIjoF,SAAS,CAAC0oF,mBAAd,EAAmC;AACpC,eAAKT,oBAAL,GAA4B,oBAA5B;AACH;AACJ;;AACD,aAAO,KAAKA,oBAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACII,IAAAA,oBAAoB,GAAG;AACnB,YAAMroF,SAAS,GAAG,KAAKA,SAAvB;AACA,aAAOA,SAAS,CAACk5D,iBAAV,IACHl5D,SAAS,CAACm5D,uBADP,IAEHn5D,SAAS,CAACo5D,oBAFP,IAGHp5D,SAAS,CAACq5D,mBAHP,IAIH,IAJJ;AAKH;;AA9DqD;;AAgE1D2uB,EAAAA,0BAA0B,CAACz0F,IAA3B,GAAkC,SAASo1F,kCAAT,CAA4Cl1F,CAA5C,EAA+C;AAAE,WAAO,KAAKA,CAAC,IAAIu0F,0BAAV,EAAsCh9F,sDAAA,CAAgBvD,qDAAhB,CAAtC,EAAiEuD,sDAAA,CAAgBE,2DAAhB,CAAjE,CAAP;AAA4G,GAA/L;;AACA88F,EAAAA,0BAA0B,CAACrrF,KAA3B,GAAmCwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAAS6rF,kCAAT,GAA8C;AAAE,aAAO,IAAIX,0BAAJ,CAA+B7gD,sDAAA,CAAY0qC,qDAAZ,CAA/B,EAA2D1qC,sDAAA,CAAYD,2DAAZ,CAA3D,CAAP;AAA8F,KAAzJ;AAA2JrqC,IAAAA,KAAK,EAAEmrF,0BAAlK;AAA8L77C,IAAAA,UAAU,EAAE;AAA1M,GAAtB,CAAnC;SAjEM67C;;;AAsEN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOjzF,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAM0C,CANzD;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtqGA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,IAAIm0F,kBAAJ,EACA;AACA;AACA;AACA;AACA;;AACA,IAAI;AACAA,EAAAA,kBAAkB,GAAI,OAAOC,IAAP,KAAgB,WAAhB,IAA+BA,IAAI,CAACC,eAA1D;AACH,CAFD,CAGA,OAAO/2F,EAAP,EAAW;AACP62F,EAAAA,kBAAkB,GAAG,KAArB;AACH;AACD;AACA;AACA;AACA;;;IACMzgD;AAAN,QAAMA,QAAN,CAAe;AACXx2C,IAAAA,WAAW,CAACo3F,WAAD,EAAc;AACrB,WAAKA,WAAL,GAAmBA,WAAnB,CADqB,CAErB;AACA;AACA;;AACA;;AACA,WAAKz4E,SAAL,GAAiB,KAAKy4E,WAAL,GACbJ,kEAAiB,CAAC,KAAKI,WAAN,CADJ,GACyB,OAAO3zF,QAAP,KAAoB,QAApB,IAAgC,CAAC,CAACA,QAD5E;AAEA;;AACA,WAAK4zF,IAAL,GAAY,KAAK14E,SAAL,IAAkB,UAAU40B,IAAV,CAAe+jD,SAAS,CAACC,SAAzB,CAA9B;AACA;;AACA,WAAKC,OAAL,GAAe,KAAK74E,SAAL,IAAkB,kBAAkB40B,IAAlB,CAAuB+jD,SAAS,CAACC,SAAjC,CAAjC,CAXqB,CAYrB;;AACA;;AACA,WAAK/b,KAAL,GAAa,KAAK78D,SAAL,IAAmB,CAAC,EAAEC,MAAM,CAAC64E,MAAP,IAAiBR,kBAAnB,CAAD,IAC5B,OAAOS,GAAP,KAAe,WADa,IACE,CAAC,KAAKL,IADR,IACgB,CAAC,KAAKG,OADtD,CAdqB,CAgBrB;AACA;;AACA;;AACA,WAAKr4C,MAAL,GAAc,KAAKxgC,SAAL,IACV,eAAe40B,IAAf,CAAoB+jD,SAAS,CAACC,SAA9B,CADU,IACkC,CAAC,KAAK/b,KADxC,IACiD,CAAC,KAAK6b,IADvD,IAC+D,CAAC,KAAKG,OADnF;AAEA;;AACA,WAAKp4C,GAAL,GAAW,KAAKzgC,SAAL,IAAkB,mBAAmB40B,IAAnB,CAAwB+jD,SAAS,CAACC,SAAlC,CAAlB,IACP,EAAE,cAAc34E,MAAhB,CADJ,CAtBqB,CAwBrB;AACA;AACA;AACA;;AACA;;AACA,WAAK0gC,OAAL,GAAe,KAAK3gC,SAAL,IAAkB,uBAAuB40B,IAAvB,CAA4B+jD,SAAS,CAACC,SAAtC,CAAjC;AACA;AACA;;AACA,WAAKI,OAAL,GAAe,KAAKh5E,SAAL,IAAkB,WAAW40B,IAAX,CAAgB+jD,SAAS,CAACC,SAA1B,CAAlB,IAA0D,CAAC,KAAKC,OAA/E,CAhCqB,CAiCrB;AACA;AACA;;AACA;;AACA,WAAKI,MAAL,GAAc,KAAKj5E,SAAL,IAAkB,UAAU40B,IAAV,CAAe+jD,SAAS,CAACC,SAAzB,CAAlB,IAAyD,KAAKp4C,MAA5E;AACH;;AAvCU;;AAyCf3I,EAAAA,QAAQ,CAACl1C,IAAT,GAAgB,SAASu2F,gBAAT,CAA0Br2F,CAA1B,EAA6B;AAAE,WAAO,KAAKA,CAAC,IAAIg1C,QAAV,EAAoBz9C,sDAAA,CAAgBg+F,sDAAhB,CAApB,CAAP;AAA2D,GAA1G;;AACAvgD,EAAAA,QAAQ,CAAC9rC,KAAT,GAAiBwqC,gEAAA,CAAsB;AAAErqC,IAAAA,OAAO,EAAE,SAASgtF,gBAAT,GAA4B;AAAE,aAAO,IAAIrhD,QAAJ,CAAatB,sDAAA,CAAYA,sDAAZ,CAAb,CAAP;AAAmD,KAA5F;AAA8FtqC,IAAAA,KAAK,EAAE4rC,QAArG;AAA+G0D,IAAAA,UAAU,EAAE;AAA3H,GAAtB,CAAjB;SA1CM1D;;;AA8CN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO1zC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM+zC;AAAN,QAAMA,cAAN,CAAqB;;AAErBA,EAAAA,cAAc,CAACv1C,IAAf,GAAsB,SAASw2F,sBAAT,CAAgCt2F,CAAhC,EAAmC;AAAE,WAAO,KAAKA,CAAC,IAAIq1C,cAAV,GAAP;AAAqC,GAAhG;;AACAA,EAAAA,cAAc,CAACx+B,IAAf,GAAsB,aAActf,8DAAA,CAAwB;AAAE4I,IAAAA,IAAI,EAAEk1C;AAAR,GAAxB,CAApC;AACAA,EAAAA,cAAc,CAACt+B,IAAf,GAAsB,aAAcxf,8DAAA,CAAwB,EAAxB,CAApC;SAJM89C;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/zC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGO,CAHtB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,IAAIi1F,mBAAJ;AACA;;AACA,MAAMC,mBAAmB,GAAG,CACxB;AACA;AACA;AACA;AACA,OALwB,EAMxB,QANwB,EAOxB,UAPwB,EAQxB,MARwB,EASxB,gBATwB,EAUxB,OAVwB,EAWxB,MAXwB,EAYxB,QAZwB,EAaxB,OAbwB,EAcxB,OAdwB,EAexB,QAfwB,EAgBxB,UAhBwB,EAiBxB,OAjBwB,EAkBxB,OAlBwB,EAmBxB,OAnBwB,EAoBxB,QApBwB,EAqBxB,QArBwB,EAsBxB,KAtBwB,EAuBxB,MAvBwB,EAwBxB,MAxBwB,EAyBxB,KAzBwB,EA0BxB,MA1BwB,CAA5B;AA4BA;;AACA,SAASC,sBAAT,GAAkC;AAC9B;AACA,MAAIF,mBAAJ,EAAyB;AACrB,WAAOA,mBAAP;AACH,GAJ6B,CAK9B;AACA;AACA;;;AACA,MAAI,OAAOt0F,QAAP,KAAoB,QAApB,IAAgC,CAACA,QAArC,EAA+C;AAC3Cs0F,IAAAA,mBAAmB,GAAG,IAAI7sE,GAAJ,CAAQ8sE,mBAAR,CAAtB;AACA,WAAOD,mBAAP;AACH;;AACD,MAAIG,gBAAgB,GAAGz0F,QAAQ,CAACguC,aAAT,CAAuB,OAAvB,CAAvB;AACAsmD,EAAAA,mBAAmB,GAAG,IAAI7sE,GAAJ,CAAQ8sE,mBAAmB,CAAC5/F,MAApB,CAA2BgO,KAAK,IAAI;AAC9D8xF,IAAAA,gBAAgB,CAACxmF,YAAjB,CAA8B,MAA9B,EAAsCtL,KAAtC;AACA,WAAO8xF,gBAAgB,CAACv2F,IAAjB,KAA0ByE,KAAjC;AACH,GAH6B,CAAR,CAAtB;AAIA,SAAO2xF,mBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,IAAII,qBAAJ;AACA;AACA;AACA;AACA;;AACA,SAASC,6BAAT,GAAyC;AACrC,MAAID,qBAAqB,IAAI,IAAzB,IAAiC,OAAOv5E,MAAP,KAAkB,WAAvD,EAAoE;AAChE,QAAI;AACAA,MAAAA,MAAM,CAACra,gBAAP,CAAwB,MAAxB,EAAgC,IAAhC,EAAsCsb,MAAM,CAACw4E,cAAP,CAAsB,EAAtB,EAA0B,SAA1B,EAAqC;AACvE5yF,QAAAA,GAAG,EAAE,MAAM0yF,qBAAqB,GAAG;AADoC,OAArC,CAAtC;AAGH,KAJD,SAKQ;AACJA,MAAAA,qBAAqB,GAAGA,qBAAqB,IAAI,KAAjD;AACH;AACJ;;AACD,SAAOA,qBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASzhD,+BAAT,CAAyC18B,OAAzC,EAAkD;AAC9C,SAAOo+E,6BAA6B,KAAKp+E,OAAL,GAAe,CAAC,CAACA,OAAO,CAAC+rC,OAA7D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,IAAIuyC,iBAAJ;AACA;;AACA,IAAIhY,uBAAJ;AACA;;AACA,SAASL,sBAAT,GAAkC;AAC9B,MAAIK,uBAAuB,IAAI,IAA/B,EAAqC;AACjC;AACA;AACA,QAAI,OAAO78E,QAAP,KAAoB,QAApB,IAAgC,CAACA,QAAjC,IAA6C,OAAO0e,OAAP,KAAmB,UAAhE,IAA8E,CAACA,OAAnF,EAA4F;AACxFm+D,MAAAA,uBAAuB,GAAG,KAA1B;AACA,aAAOA,uBAAP;AACH,KANgC,CAOjC;;;AACA,QAAI,oBAAoB78E,QAAQ,CAAC4e,eAAT,CAAyB/H,KAAjD,EAAwD;AACpDgmE,MAAAA,uBAAuB,GAAG,IAA1B;AACH,KAFD,MAGK;AACD;AACA;AACA,YAAMiY,gBAAgB,GAAGp2E,OAAO,CAACK,SAAR,CAAkBg2E,QAA3C;;AACA,UAAID,gBAAJ,EAAsB;AAClB;AACA;AACA;AACA;AACAjY,QAAAA,uBAAuB,GAAG,CAAC,4BAA4B/sC,IAA5B,CAAiCglD,gBAAgB,CAACl7F,QAAjB,EAAjC,CAA3B;AACH,OAND,MAOK;AACDijF,QAAAA,uBAAuB,GAAG,KAA1B;AACH;AACJ;AACJ;;AACD,SAAOA,uBAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASmY,oBAAT,GAAgC;AAC5B;AACA,MAAI,OAAOh1F,QAAP,KAAoB,QAApB,IAAgC,CAACA,QAArC,EAA+C;AAC3C,WAAO;AAAE;AAAT;AACH;;AACD,MAAI60F,iBAAiB,IAAI,IAAzB,EAA+B;AAC3B;AACA,UAAMI,eAAe,GAAGj1F,QAAQ,CAACguC,aAAT,CAAuB,KAAvB,CAAxB;AACA,UAAMknD,cAAc,GAAGD,eAAe,CAACp+E,KAAvC;AACAo+E,IAAAA,eAAe,CAACtpC,GAAhB,GAAsB,KAAtB;AACAupC,IAAAA,cAAc,CAAC/0F,KAAf,GAAuB,KAAvB;AACA+0F,IAAAA,cAAc,CAACC,QAAf,GAA0B,MAA1B;AACAD,IAAAA,cAAc,CAACn/C,UAAf,GAA4B,QAA5B;AACAm/C,IAAAA,cAAc,CAAC1Q,aAAf,GAA+B,MAA/B;AACA0Q,IAAAA,cAAc,CAACpmF,QAAf,GAA0B,UAA1B;AACA,UAAMsmF,OAAO,GAAGp1F,QAAQ,CAACguC,aAAT,CAAuB,KAAvB,CAAhB;AACA,UAAMqnD,YAAY,GAAGD,OAAO,CAACv+E,KAA7B;AACAw+E,IAAAA,YAAY,CAACl1F,KAAb,GAAqB,KAArB;AACAk1F,IAAAA,YAAY,CAACj1F,MAAb,GAAsB,KAAtB;AACA60F,IAAAA,eAAe,CAAC1mD,WAAhB,CAA4B6mD,OAA5B;AACAp1F,IAAAA,QAAQ,CAACsgB,IAAT,CAAciuB,WAAd,CAA0B0mD,eAA1B;AACAJ,IAAAA,iBAAiB,GAAG;AAAE;AAAtB,KAhB2B,CAiB3B;AACA;AACA;;AACA,QAAII,eAAe,CAAC3gC,UAAhB,KAA+B,CAAnC,EAAsC;AAClC;AACA;AACA;AACA;AACA2gC,MAAAA,eAAe,CAAC3gC,UAAhB,GAA6B,CAA7B;AACAugC,MAAAA,iBAAiB,GACbI,eAAe,CAAC3gC,UAAhB,KAA+B,CAA/B,GAAmC;AAAE;AAArC,QAAqD;AAAE;AAD3D;AAEH;;AACD2gC,IAAAA,eAAe,CAACp2E,UAAhB,CAA2BmwB,WAA3B,CAAuCimD,eAAvC;AACH;;AACD,SAAOJ,iBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIS,oBAAJ;AACA;;AACA,SAASC,kBAAT,GAA8B;AAC1B,MAAID,oBAAoB,IAAI,IAA5B,EAAkC;AAC9B,UAAMzmD,IAAI,GAAG,OAAO7uC,QAAP,KAAoB,WAApB,GAAkCA,QAAQ,CAAC6uC,IAA3C,GAAkD,IAA/D;AACAymD,IAAAA,oBAAoB,GAAG,CAAC,EAAEzmD,IAAI,KAAKA,IAAI,CAAC2mD,gBAAL,IAAyB3mD,IAAI,CAAC4mD,YAAnC,CAAN,CAAxB;AACH;;AACD,SAAOH,oBAAP;AACH;AACD;;;AACA,SAASniD,cAAT,CAAwBjiC,OAAxB,EAAiC;AAC7B,MAAIqkF,kBAAkB,EAAtB,EAA0B;AACtB,UAAM7mD,QAAQ,GAAGx9B,OAAO,CAACy9B,WAAR,GAAsBz9B,OAAO,CAACy9B,WAAR,EAAtB,GAA8C,IAA/D,CADsB,CAEtB;AACA;;AACA,QAAI,OAAOC,UAAP,KAAsB,WAAtB,IAAqCA,UAArC,IAAmDF,QAAQ,YAAYE,UAA3E,EAAuF;AACnF,aAAOF,QAAP;AACH;AACJ;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASsE,iCAAT,GAA6C;AACzC,MAAIxmC,aAAa,GAAG,OAAOxM,QAAP,KAAoB,WAApB,IAAmCA,QAAnC,GAChBA,QAAQ,CAACwM,aADO,GACS,IAD7B;;AAEA,SAAOA,aAAa,IAAIA,aAAa,CAAC6wD,UAAtC,EAAkD;AAC9C,UAAMq4B,gBAAgB,GAAGlpF,aAAa,CAAC6wD,UAAd,CAAyB7wD,aAAlD;;AACA,QAAIkpF,gBAAgB,KAAKlpF,aAAzB,EAAwC;AACpC;AACH,KAFD,MAGK;AACDA,MAAAA,aAAa,GAAGkpF,gBAAhB;AACH;AACJ;;AACD,SAAOlpF,aAAP;AACH;AACD;;;AACA,SAAS0mC,eAAT,CAAyB7kC,KAAzB,EAAgC;AAC5B;AACA;AACA,SAAQA,KAAK,CAACsnF,YAAN,GAAqBtnF,KAAK,CAACsnF,YAAN,GAAqB,CAArB,CAArB,GAA+CtnF,KAAK,CAACwB,MAA7D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAAS4sE,kBAAT,GAA8B;AAC1B;AACA;AACA;AACA;AACA,SACA;AACC,WAAOmZ,SAAP,KAAqB,WAArB,IAAoC,CAAC,CAACA,SAAvC,IACI;AACC,WAAOC,OAAP,KAAmB,WAAnB,IAAkC,CAAC,CAACA,OAFzC,IAGI;AACC,WAAOC,IAAP,KAAgB,WAAhB,IAA+B,CAAC,CAACA,IAJtC,IAKI;AACC,WAAOC,KAAP,KAAiB,WAAjB,IAAgC,CAAC,CAACA;AARvC;AASH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChXA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA;;AACA,SAASC,oBAAT,GAAgC;AAC5B,QAAM35F,KAAK,CAAC,iCAAD,CAAX;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS45F,+BAAT,GAA2C;AACvC,QAAM55F,KAAK,CAAC,oCAAD,CAAX;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS65F,qCAAT,GAAiD;AAC7C,QAAM75F,KAAK,CAAC,6CAAD,CAAX;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS85F,2BAAT,GAAuC;AACnC,QAAM95F,KAAK,CAAC,kFACR,wCADO,CAAX;AAEH;AACD;AACA;AACA;AACA;;;AACA,SAAS+5F,0BAAT,GAAsC;AAClC,QAAM/5F,KAAK,CAAC,sDAAD,CAAX;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASg6F,0BAAT,GAAsC;AAClC,QAAMh6F,KAAK,CAAC,8DAAD,CAAX;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMi6F,MAAN,CAAa;AACT;AACAjpF,EAAAA,MAAM,CAACyR,IAAD,EAAO;AACT,QAAI,OAAOzf,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/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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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM0+H;AAAN,QAAMA,IAAN,CAAW;AACPrgI,IAAAA,WAAW,CAAC2yG,cAAD,EAAiB1gD,WAAjB,EAA8B;AACrC,WAAK0gD,cAAL,GAAsBA,cAAtB;AACA,WAAK2tB,QAAL,GAAgB,IAAIC,WAAJ,EAAhB;AACA,WAAKC,gBAAL,GAAwB,IAAxB;AACA,WAAKC,gBAAL,GAAwB,IAAxB;AACA,WAAKC,YAAL,GAAoB,IAApB;AACA,WAAKC,YAAL,GAAoB,IAApB;AACA,WAAKH,gBAAL,GAAwBvuE,WAAxB;AACH;AACD;AACJ;AACA;;;AACY,QAAJ2uE,IAAI,CAACC,SAAD,EAAY;AAChB,WAAKP,QAAL,CAAchmI,SAAd,GAA0B,KAAKgmI,QAAL,CAAcM,IAAd,GAAqBC,SAA/C;;AACA,WAAKC,WAAL;AACH;AACD;AACJ;AACA;;;AACgB,QAARC,QAAQ,CAAC9uE,WAAD,EAAc;AACtB+uE,MAAAA,cAAc,CAAC,UAAD,EAAa/uE,WAAb,CAAd;AACA,WAAKuuE,gBAAL,GAAwB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,KAAK,IAAI,IAAb,EACI,OAAO,IAAP;;AACJ,UAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,cAAMy+H,wBAAwB,CAAC0B,aAAD,EAAgBngI,KAAhB,CAA9B;AACH;;AACD,aAAOA,KAAK,CAAC0d,WAAN,EAAP;AACH;;AARe;;AAUpByiH,EAAAA,aAAa,CAACjlI,IAAd,GAAqB,SAASklI,qBAAT,CAA+BhlI,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAI+kI,aAAV,GAAP;AAAoC,GAA7F;;AACAA,EAAAA,aAAa,CAACT,KAAd,GAAsB,aAAc/sI,0DAAA,CAAoB;AAAE+gB,IAAAA,IAAI,EAAE,WAAR;AAAqBnY,IAAAA,IAAI,EAAE4kI,aAA3B;AAA0CP,IAAAA,IAAI,EAAE;AAAhD,GAApB,CAApC;SAXMO;;;AAYN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOzjI,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGO,CAHtB;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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A3B;AACH;;AAnB4C;AAsBjD;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsqG,OAAT,CAAiBx3H,OAAjB,EAA0B+J,IAA1B,EAAgC;AAC5B,SAAO;AACHA,IAAAA,IADG;AAEHunF,IAAAA,OAAO,EAAEtxF,OAAO,CAACsxF,OAFd;AAGHhiF,IAAAA,OAAO,EAAEtP,OAAO,CAACsP,OAHd;AAIH6+B,IAAAA,OAAO,EAAEnuC,OAAO,CAACmuC,OAJd;AAKHrgC,IAAAA,MAAM,EAAE9N,OAAO,CAAC8N,MALb;AAMHqoH,IAAAA,cAAc,EAAEn2H,OAAO,CAACm2H,cANrB;AAOHE,IAAAA,YAAY,EAAEr2H,OAAO,CAACq2H,YAPnB;AAQHD,IAAAA,eAAe,EAAEp2H,OAAO,CAACo2H;AARtB,GAAP;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;;;IACMqB;AAAN,QAAMA,UAAN,CAAiB;AACbzxI,IAAAA,WAAW,CAACopD,OAAD,EAAU;AACjB,WAAKA,OAAL,GAAeA,OAAf;AACH;AACD;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;;;AACIsoF,IAAAA,OAAO,CAACllI,KAAD,EAAQu7G,GAAR,EAAa/tG,OAAO,GAAG,EAAvB,EAA2B;AAC9B,UAAI23H,GAAJ,CAD8B,CAE9B;;AACA,UAAInlI,KAAK,YAAYwjI,WAArB,EAAkC;AAC9B;AACA;AACA2B,QAAAA,GAAG,GAAGnlI,KA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AAD,CAAX,IAAsB;AAAG;AAAvD,KADY,CAEZ;;AACA,QAAIiO,qBAAqB,GACpBtC,WAAW,CAAC3K,mBAAD,CAAX,IAAoC;AAAG;AADxC,OAEA,CAAC2K,WAAW,CAAC3L,KAAD,CAAX,GAAqB;AAAE;AAAxB,UAAsDwN,SAF1D,EAEqE;AACjE7B,MAAAA,WAAW,CAAC3L,KAAD,CAAX,IAAsB;AAAK;AAA3B;AACAwF,MAAAA,QAAQ,CAAC;AAAE;AAAH,QAA6BwI,SAA7B,EAAwCH,IAAxC,CAAR;;AACA,UAAI;AACAA,QAAAA,IAAI,CAAC9xI,IAAL,CAAUiyI,SAAV;AACH,OAFD,SAGQ;AACJxI,QAAAA,QAAQ,CAAC;AAAE;AAAH,UAA2BwI,SAA3B,EAAsCH,IAAtC,CAAR;AACH;AACJ;AACJ,GAfD,MAgBK;AACDrI,IAAAA,QAAQ,CAAC;AAAE;AAAH,MAA6BwI,SAA7B,EAAwCH,IAAxC,CAAR;;AACA,QAAI;AACAA,MAAAA,IAAI,CAAC9xI,IAAL,CAAUiyI,SAAV;AACH,KAFD,SAGQ;AACJxI,MAAAA,QAAQ,CAAC;AAAE;AAAH,QAA2BwI,SAA3B,EAAsCH,IAAtC,CAAR;AACH;AACJ;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;A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AAG8iC,KAAK,IAAI8nI,gBAAgB,CAAC9nI,KAAD,CAAjC;;AACA,WAAO9iC,CAAC,IAAI4qK,gBAAgB,CAAC5qK,CAAD,CAA5B,EAAiC;AAC7BA,MAAAA,CAAC,GAAG4qK,gBAAgB,CAAC5qK,CAAD,CAApB;AACH;;AACD,WAAOA,CAAC,IAAI,IAAZ;AACH;;AAhCc;AAmCnB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqrK,sBAAsB,GAAG;AAC3B31J,EAAAA,IAAI,EAAE;AADqB,CAA/B;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM41J,gBAAgB,GAAG;AACrB51J,EAAAA,IAAI,EAAE;AADe,CAAzB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM61J,kBAAkB,GAAG,4BAA3B;AACA;AACA;AACA;;AACA,MAAMC,iBAAiB,GAAG,OAA1B;AACA,MAAMC,yBAAyB,GAAG,gBAAlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,iBAAT,CAA2B1pK,KAA3B,EAAkC;AAC9B,SAAOA,KAAK,CAAC7G,OAAN,CAAcowK,kBAAd,EAAmCv+C,IAAD,IAAUA,IAAI,CAAC7xH,OAAL,CAAaqwK,iBAAb,EAAgCC,yBAAhC,CAA5C,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,oBAAT,CAA8Bj2J,IAA9B,EAAoC;AAChC;AACA,MAAIhX,SAAJ,EAAe;AACX,QAAI;AACA;AACA;AACA;AACA,aAAQwhK,wBAAwB,CAAC,OAAD,EAAW,gBAAexqJ,IAAK,kBAA/B,CAAzB,CAA4E8M,KAA5E,CAAP;AACH,KALD,C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rM,cAA7B,EAA6C;AAC9C0U,MAAAA,KAAK,GAAGk3L,aAAR;AACH;AACJ;;AACDl3L,EAAAA,KAAK,GAAGquI,iBAAiB,CAACruI,KAAD,CAAzB;;AACA,MAAIA,KAAK,IAAI,IAAb,EAAmB;AACf,WAAOi3L,iBAAiB,CAACj3L,KAAD,EAAQslB,QAAR,EAAkBspB,UAAlB,CAAxB;AACH,GAFD,MAGK;AACD,UAAM2lJ,iBAAiB,CAAC9gC,UAAD,EAAav2I,MAAb,CAAvB;AACH;AACJ;;AACD,SAAS+5K,iBAAT,CAA2Bj3L,KAA3B,EAAkCslB,QAAlC,EAA4CspB,UAA5C,EAAwD;AACpD,SAAO,IAAI8mJ,oBAAJ,CAAyBX,aAAa,CAACl6L,GAAd,CAAkBmF,KAAlB,CAAzB,EAAmDslB,QAAnD,EAA6DspB,UAA7D,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMuoJ,SAAS,GAAG,EAAlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,kBAAN,CAAyB;AACrB;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;AACkB,SAAP1mL,OAAO,CAAC7C,SAAD,EAAY;AACtB,WAAO4oL,0BAA0B,CAAC5oL,SAAD,CAAjC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAC2B,SAAhBwpL,gBAAgB,CAACxpL,SAAD,EAAY4pB,MAAZ,EAAoB;AACvC,UAAM6/J,2BAA2B,GAAGF,kBAAkB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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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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+Br6C,KAA/B,EAAsC3O,KAAtC,EAA6CipD,qBAA7C,EAAoE9pK,KAApE,EAA2E+pK,aAA3E,EAA0FC,cAA1F,EAA0G;AACtG5kM,EAAAA,SAAS,IAAIwjJ,qBAAqB,CAACgF,QAAQ,EAAT,CAAlC;AACA,MAAIq8C,SAAS,GAAGD,cAAc,GAAGnpD,KAAK,CAAC2gC,aAAT,GAAyB3gC,KAAK,CAAC4gC,aAA7D;AACA,MAAIyoB,QAAQ,GAAG3rB,oBAAoB,CAAC0rB,SAAD,CAAnC;AACA,MAAIE,QAAQ,GAAGvrB,oBAAoB,CAACqrB,SAAD,CAAnC;AACAz6C,EAAAA,KAAK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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIzlJ,EAAAA,MAAM,GAAG;AACL,SAAKylJ,MAAL,CAAY3U,KAAZ,KAAsB,CAAC;AAAI;AAA3B;AACH;AACD;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;;;AACIskE,EAAAA,QAAQ,GAAG;AACP,SAAK3vD,MAAL,CAAY3U,KAAZ,KAAsB;AAAI;AAA1B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIn/E,EAAAA,aAAa,GAAG;AACZ+oH,IAAAA,qBAAqB,CAAC,KAAKj1B,MAAL,CAAY5U,KAAZ,CAAD,EAAqB,KAAK4U,MAA1B,EAAkC,KAAKruI,OAAvC,CAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIi+L,EAAAA,cAAc,GAAG;AACbz6B,IAAAA,sBAAsB,CAAC,KAAKn1B,MAAL,CAAY5U,KAAZ,CAAD,EAAqB,KAAK4U,MAA1B,EAAkC,KAAKruI,OAAvC,CAAtB;AACH;;AACDk+L,EAAAA,wBAAwB,GAAG;AACvB,QAAI,KAAK5zH,OAAT,EAAkB;AACd,YAAM,IAAI9zF,KAAJ,CAAU,+DAAV,CAAN;AACH;;AACD,SAAKsnN,wBAAL,GAAgC,IAA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iO,OAAT;AAAkBliO,IAAAA,OAAO,EAAEkiO,OAAO,CAACzrO;AAAnC,GAAD,CAAhD;SAZMyrO;;;AAaN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOjqO,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD24N,gBAAgB,CAACsR,OAAD,EAAU,CAAC;AACrFprO,IAAAA,IAAI,EAAE1L;AAD+E,GAAD,CAAV,EAE1E,IAF0E,EAEpE,IAFoE,CAAnE;AAEO,CAFtB;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,MAAMi3O,WAAW,gBAAG,IAAIh3O,cAAJ,CAAmB,UAAnB,CAApB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM2vH,qBAAqB,gBAAG,IAAI3vH,cAAJ,CAAmB,qBAAnB,CAA9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMi3O,YAAY,gBAAG,IAAIj3O,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,MAAMk3O,mBAAmB,gBAAG,IAAIl3O,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,IAAIm3O,0BAA0B;AAA1BA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,2BAA2B,CAACF,IAAI,CAACK,UAAL,CAAgB,kBAAhB,CAAD,CAAlE;;AACA,QAAID,8BAAJ,EAAoC;AAChCF,MAAAA,2BAA2B,GAAGE,8BAA9B;AACH;;AACD,UAAME,6BAA6B,GAAGH,0BAA0B,CAACH,IAAI,CAACK,UAAL,CAAgB,kBAAhB,CAAD,CAAhE;;AACA,QAAIC,6BAAJ,EAAmC;AAC/BH,MAAAA,0BAA0B,GAAGG,6BAA7B;AACH;AACJ;;AACD,SAAO;AAAEJ,IAAAA,2BAAF;AAA+BC,IAAAA;AAA/B,GAAP;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,MAAMv5O,MAAN,CAAa;AACTgK,EAAAA,WAAW,CAAC;AAAE2vO,IAAAA,oBAAoB,GAAG,KAAzB;AAAgCC,IAAAA,kCAAkC,GAAG,KAArE;AAA4EC,IAAAA,gCAAgC,GAAG;AAA/G,GAAD,EAAyH;AAChI,SAAKC,oBAAL,GAA4B,KAA5B;AACA,SAAKC,oBAAL,GAA4B,KAA5B;AACA;AACR;AACA;;AACQ,SAAKttL,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;;AACQ,SAAKutL,UAAL,GAAkB,IAAIt6O,YAAJ,CAAiB,KAAjB,CAAlB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKu6O,gBAAL,GAAwB,IAAIv6O,YAAJ,CAAiB,KAAjB,CAAxB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKsb,QAAL,GAAgB,IAAItb,YAAJ,CAA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,GAA5B,CAAN;AACH,GAFD,MAGK;AACDA,IAAAA,GAAG,GAAGlzI,MAAM,CAAC8b,MAAP,CAAc9b,MAAM,CAAC8b,MAAP,CAAc,EAAd,EAAkBo3H,GAAlB,CAAd,EAAsC2vC,IAAtC,CAAN;AACH;;AACD,SAAO3vC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMjzE;AAAN,QAAMA,cAAN,CAAqB;AACjB;AACA9/E,IAAAA,WAAW,CAAC2N,KAAD,EAAQ0lF,SAAR,EAAmB+kJ,iBAAnB,EAAsCjlJ,yBAAtC,EAAiEklJ,WAAjE,EAA8E;AACrF,WAAK1qO,KAAL,GAAaA,KAAb;AACA,WAAK0lF,SAAL,GAAiBA,SAAjB;AACA,WAAK+kJ,iBAAL,GAAyBA,iBAAzB;AACA,WAAKjlJ,yBAAL,GAAiCA,yBAAjC;AACA,WAAKklJ,WAAL,GAAmBA,WAAnB;AACA;;AACA,WAAKC,mBAAL,GAA2B,EAA3B;AACA,WAAKC,MAAL,GAAc,EAAd;AACA,WAAKC,YAAL,GAAoB,KAApB;AACA,WAAKC,OAAL,GAAe,IAAf;AACA;AACR;AACA;AACA;;AACQ,WAAKC,cAAL,GAAsB,EAAtB;AACA;AACR;AACA;;AACQ,WAAKjrE,UAAL,GAAkB,EAAlB;AACA,WAAKkrE,6BAAL,GAAqC,KAAKhrO,KAAL,CAAWsiO,gBAAX,CAA4BhqO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I,CAACj0O,KAAL,EAAY;AACR,UAAM,IAAItG,KAAJ,CAAW,gBAAeu6O,UAAW,SAAQM,UAAW,GAAxD,CAAN;AACH;;AACD,SAAOv0O,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMw0O,SAAN,SAAwBlkP,iBAAxB,CAA0C;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMu3G,eAAN,SAA8B2sI,SAA9B,CAAwC;AAGxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMC,kBAAN,CAAyB;AACrB76O,EAAAA,WAAW,CAAC8Z,IAAD,EAAOyG,QAAP,EAAiB;AACxB,SAAKzG,IAAL,GAAYA,IAAZ;AACA,SAAKyG,QAAL,GAAgBA,QAAhB;AACH;;AAJoB;;AAMzB,MAAMu6N,mBAAN,CAA0B;AACtB96O,EAAAA,WAAW,CAAC+6O,UAAD,EAAa14M,MAAb,EAAqB24M,aAArB,EAAoC;AAC3C,SAAKn7M,SAAL,GAAiB,EAAjB;AACA,SAAKwC,MAAL,GAAc,IAAd;AACA,SAAK24M,aAAL,GAAqBA,aAArB;AACA,SAAKD,UAAL,GAAkBA,UAAlB;;AACA,QAAI14M,MAAM,IAAIA,MAAM,YAAY44M,sBAAhC,EAAwD;AACpD54M,MAAAA,MAAM,CAAC64M,QAAP,CAAgB,IAAhB;AACH;AACJ;;AACW,MAAR/gJ,QAAQ,GAAG;AACX,WAAO,KAAK6gJ,aAAL,CAAmB7gJ,QAA1B;AACH;;AACoB,MAAjB1pF,iBAAiB,GAAG;AACpB,WAAO,KAAKuqO,aA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AJ,CAAmB,cAAnB,CAAtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMgkQ,mBAAmB,gBAAG,IAAIhkQ,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,MAAMikQ,YAAY,GAAG,oMAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMpjQ,UAAN,CAAiB;AACb;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACc,SAAH+E,GAAG,CAACA,GAAD,EAAM;AACZ,WAAOs+P,YAAY,CAACt+P,GAAD,CAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACc,SAAHE,GAAG,CAACA,GAAD,EAAM;AACZ,WAAOq+P,YAAY,CAACr+P,GAAD,CAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACmB,SAARsJ,QAAQ,CAACmnG,OAAD,EAAU;AACrB,WAAO6tJ,iBAAiB,CAAC7tJ,OAAD,CAAxB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACuB,SAAZ8tJ,YAAY,CAAC9tJ,OAAD,EAAU;AACzB,WAAO+tJ,qBAAqB,CAAC/tJ,OAAD,CAA5B;AACH;AACD;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;;;AACgB,SAALguJ,KAAK,CAAChuJ,OAAD,EAAU;AAClB,WAAOiuJ,cAAc,CAACjuJ,OAAD,CAArB;AACH;AACD;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;;;AACoB,SAATkuJ,SAAS,CAACA,SAAD,EAAY;AACxB,WAAOC,kBAAkB,CAACD,SAAD,CAAzB;AACH;AACD;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;;;AACoB,SAATE,SAAS,CAACA,SAAD,EAAY;AACxB,WAAOC,kBAAkB,CAACD,SAAD,CAAzB;AACH;AACD;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;;;AACkB,SAAPt1P,OAAO,CAACA,OAAD,EAAU;AACpB,WAAOw1P,gBAAgB,CAACx1P,OAAD,CAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACwB,SAAby1P,aAAa,CAACvuJ,OAAD,EAAU;AAC1B,WAAOuuJ,aAAa,CAACvuJ,OAAD,CAApB;AACH;;AACa,SAAPp4F,OAAO,CAAC4mP,UAAD,EAAa;AACvB,WAAO5mP,OAAO,CAAC4mP,UAAD,CAAd;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACuB,SAA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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIkC,EAAAA,SAAS,CAAC3mP,MAAD,EAASw8H,IAAI,GAAG,EAAhB,EAAoB;AACzB,SAAKx8H,MAAL,GAAcA,MAAd;;AACA,SAAK4mP,qBAAL,CAA2BpqH,IAAI,CAACj1I,SAAL,KAAmB,KAA9C;AACH;AACD;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;;;AACIpB,EAAAA,GAAG,CAACikH,IAAD,EAAO;AACN,WAAOw5I,KAAK,CAAC,IAAD,EAAOx5I,IAAP,EAAa,GAAb,CAAZ;AACH;AACD;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;;;AACIk0I,EAAAA,QAAQ,CAACD,SAAD,EAAYj0I,IAAZ,EAAkB;AACtB,UAAMjd,OAAO,GAAGid,IAAI,GAAG,KAAKjkH,GAAL,CAASikH,IAAT,CAAH,GAAoB,IAAxC;AACA,WAAOjd,OAAO,IAAIA,OAAO,CAACntF,MAAnB,GAA4BmtF,OAAO,CAACntF,MAAR,CAAeq+O,SAAf,CAA5B,GAAwD,IAA/D;AACH;AACD;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;;;AACIl0J,EAAAA,QAAQ,CAACk0J,SAAD,EAAYj0I,IAAZ,EAAkB;AACtB,WAAO,CAAC,CAAC,KAAKk0I,QAAL,CAAcD,SAAd,EAAyBj0I,IAAzB,CAAT;AACH;AACD;AACJ;AACA;;;AACY,MAAJpjF,IAAI,GAAG;AACP,QAAI9pC,CAAC,GAAG,IAAR;;AACA,WAAOA,CAAC,CAAC8lM,OAAT,EAAkB;A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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMxvQ,WAAN,SAA0BgtQ,eAA1B,CAA0C;AACtC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI9jQ,EAAAA,WAAW,CAACymQ,SAAS,GAAG,IAAb,EAAmBhD,eAAnB,EAAoCjG,cAApC,EAAoD;AAC3D,UAAMgG,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAACpG,cAAD,EAAiBiG,eAAjB,CAA1D;AACA;;AACA,SAAKjuP,SAAL,GAAiB,EAAjB;;AACA,SAAKoxP,eAAL,CAAqBH,SAArB;;AACA,SAAKC,kBAAL,CAAwBjD,eAAxB;;AACA,SAAK0C,gBAAL;;AACA,SAAKvF,sBAAL,CAA4B;AACxB8D,MAAAA,QAAQ,EAAE,IADc;AAExB;AACA;AACA;AACA;AACA79P,MAAAA,SAAS,EAAE,CAAC,CAAC,KAAK22P;AANM,KAA5B;AAQH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI12P,EAAAA,QAAQ,CAACV,KAAD,EAAQ4T,OAAO,GAAG,EAAlB,EAAsB;AAC1B,SAAK5T,KAAL,GAAa,KAAK46P,aAAL,GAAqB56P,KAAlC;;AACA,QAAI,KAAKoP,SAAL,CAAe9X,MAAf,IAAyBsc,OAAO,CAACwnP,qBAAR,KAAkC,KAA/D,EAAsE;AAClE,WAAKhsP,SAAL,CAAe4G,OAAf,CAAwBkpP,QAAD,IAAcA,QAAQ,CAAC,KAAKl/P,KAAN,EAAa4T,OAAO,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nB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMuuP,iBAAiB,gBAAIjwO,IAAD,EAA1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMgwO;AAAN,QAAMA,OAAN,SAAsB1L,SAAtB,CAAgC;AAC5Bl+P,IAAAA,WAAW,CAACqiC,MAAD,EAAS44N,UAAT,EAAqBwF,eAArB,EAAsC4B,cAAtC,EAAsD;AAC7D;AACA,WAAK51J,OAAL,GAAe,IAAI31G,WAAJ,EAAf;AACA;;AACA,WAAKgzQ,WAAL,GAAmB,KAAnB;AACA;AACR;AACA;AACA;AACA;;AACQ,WAAKt8H,MAAL,GAAc,IAAI93I,uDAAJ,EAAd;AACA,WAAK4sM,OAAL,GAAejgK,MAAf;;AACA,WAAK+6N,cAAL,CAAoBnC,UAApB;;AACA,WAAKqC,mBAAL,CAAyBmD,eAAzB;;AACA,WAAKtC,aAAL,GAAqBiE,mBAAmB,CAAC,IAAD,EAAOC,cAAP,CAAxC;AACH;AACD;;;AACA/7P,IAAAA,WAAW,CAACC,OAAD,EAAU;AACjB,WAAKwjQ,eAAL;;AACA,UAAI,CAAC,KAAKD,WAAV,EACI,KAAKE,aAAL;;AACJ,UAAI,gBAAgBzjQ,OAApB,EAA6B;AACzB,aAAK0jQ,eAAL,CAAqB1jQ,OAArB;AACH;;AACD,UAAIw7P,iBAAiB,CAACx7P,OA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k/X,gBAAT,CAA0BhY,QAA1B,EAAoC;AAChC,OAAK,IAAI5mW,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4mW,QAAQ,CAACtsX,MAA7B,EAAqC0lB,CAAC,EAAtC,EAA0C;AACtC,UAAMkoW,GAAG,GAAGtB,QAAQ,CAAC5mW,CAAD,CAApB;;AACA,QAAIkoW,GAAG,IAAI,IAAX,EAAiB;AACb,YAAM,IAAIxrX,KAAJ,CAAW,+BAA8BwrX,GAAI,qBAAoBloW,CAAE,EAAnE,CAAN;AACH;AACJ;AACJ;;AACD,SAAS67W,4BAAT,CAAsC/qU,MAAtC,EAA8C;AAC1C,SAAOA,MAAM,KAAK,YAAlB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM+uU;AAAN,QAAMA,UAAN,CAAiB;AACbjjY,IAAAA,WAAW,CAACkjY,MAAD,EAASpjB,KAAT,EAAgBroW,QAAhB,EAA0BuxI,QAA1B,EAAoC9xG,EAApC,EAAwC;AAC/C,WAAKgsV,MAAL,GAAcA,MAAd;AACA,WAAKpjB,KAAL,GAAaA,KAAb;AACA,WAAKkK,QAAL,GAAgB,EAAhB;AACA;;AACA,WAAKmZ,SAAL,GAAiB,IAAIvrY,0CAAJ,EAAjB;;AACA,UAAI6f,QAAQ,IAAI,IAAhB,EAAsB;AAClBux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ACxqrB,MAAD,EAAS,QAAT,CAL5B;AAOA;;AACA,QAAI0rrB,OAAO,GAAG99pB,OAAO,IAAI,IAAIA,OAAJ,EAAzB;AAEA;;AACA,QAAI+9pB,SAAS,GAAG,EAAhB;AAEA;;AACA,QAAIC,kBAAkB,GAAGC,QAAQ,CAAC3xC,QAAD,CAAjC;AAAA,QACI4xC,aAAa,GAAGD,QAAQ,CAACzqrB,GAAD,CAD5B;AAAA,QAEI2qrB,iBAAiB,GAAGF,QAAQ,CAACrwrB,OAAD,CAFhC;AAAA,QAGIwwrB,aAAa,GAAGH,QAAQ,CAACxgrB,GAAD,CAH5B;AAAA,QAII4grB,iBAAiB,GAAGJ,QAAQ,CAACj+pB,OAAD,CAJhC;AAMA;;AACA,QAAIs+pB,WAAW,GAAGr0gB,MAAM,GAAGA,MAAM,CAACl1K,SAAV,GAAsBzT,SAA9C;AAAA,QACIi9rB,aAAa,GAAGD,WAAW,GAAGA,WAAW,CAACp0kB,OAAf,GAAyB5oH,SADxD;AAAA,QAEIk9rB,cAAc,GAAGF,WAAW,GAAGA,WAAW,CAAC1usB,QAAf,GAA0B0R,SAF1D;AAIA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,aAASm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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,aAAS67B,KAAT,CAAewmK,UAAf,EAA2B9nK,SAA3B,EAAsC8zU,KAAtC,EAA6C;AAC3C,UAAIwuB,IAAI,GAAG/2X,OAAO,CAACu8L,UAAD,CAAP,GAAsBgif,UAAtB,GAAmCgO,SAA9C;;AACA,UAAIhkV,KAAK,IAAImvV,cAAc,CAACn7f,UAAD,EAAa9nK,SAAb,EAAwB8zU,KAAxB,CAA3B,EAA2D;AACzD9zU,QAAAA,SAAS,GAAGvsC,SAAZ;AACD;;AACD,aAAO6uY,IAAI,CAACx6L,UAAD,EAAa01f,WAAW,CAACx9pB,SAAD,EAAY,CAAZ,CAAxB,CAAX;AACD;AAED;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;;;AACI,aAASljD,MAAT,CAAgBgrN,UAAhB,EAA4B9nK,SAA5B,EAAuC;AACrC,UAAIsiW,IAAI,GAAG/2X,OAAO,CAACu8L,UAAD,CAAP,GAAsBiif,WAAtB,GAAoCqO,UAA/C;AACA,aAAO91T,IAAI,CAACx6L,UAAD,EAAa01f,WAAW,CAACx9pB,SAAD,EAAY,CAAZ,CAAxB,CAAX;AACD;AAED;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;;;AACI,QAAIjrB,IAAI,GAAGgvrB,UAAU,CAACj0oB,SAAD,CAArB;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,Q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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,QAAIsksB,KAAK,GAAG/J,gBAAgB,CAAC,UAASv6rB,MAAT,EAAiBxd,KAAjB,EAAwB2a,GAAxB,EAA6B;AACxD6vrB,MAAAA,eAAe,CAAChtrB,MAAD,EAAS7C,GAAT,EAAc3a,KAAd,CAAf;AACD,KAF2B,CAA5B;AAIA;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;;AACI,aAAS0a,GAAT,CAAasiM,UAAb,EAAyB4hf,QAAzB,EAAmC;AACjC,UAAIpnT,IAAI,GAAG/2X,OAAO,CAACu8L,UAAD,CAAP,GAAsBsif,QAAtB,GAAiCmS,OAA5C;AACA,aAAOj6T,IAAI,CAACx6L,UAAD,EAAa01f,WAAW,CAAC9T,QAAD,EAAW,CAAX,CAAxB,CAAX;AACD;AAED;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;;;AACI,aAASmjB,OAAT,CAAiB/kgB,UAAjB,EAA6Buqf,SAA7B,EAAwCkL,MAAxC,EAAgDzpV,KAAhD,EAAuD;AACrD,UAAIhsK,UAAU,IAAI,IAAlB,EAAwB;AACtB,eAAO,EAAP;AACD;;AACD,UAAI,CAACv8L,OAAO,CAAC8mrB,SAAD,CAAZ,EAAyB;AACvBA,QAAAA,SAAS,GAAGA,SAAS,IAAI,IAAb,GAAoB,EAApB,GAAyB,CAACA,SAAD,CAArC;AACD;;AACDkL,MAAAA,MAAM,GAAGzpV,KAAK,GAAGrgX,SAAH,GAAe8psB,MAA7B;;AACA,UAAI,CAAChyrB,OAAO,CAACgyrB,MAAD,CAAZ,EAAsB;AACpBA,QAAAA,MAAM,GAAGA,MAAM,IAAI,IAAV,GAAiB,EAAjB,GAAsB,CAACA,MAAD,CAA/B;AACD;;AACD,aAAOD,WAAW,CAACx1f,UAAD,EAAauqf,SAAb,EAAwBkL,MAAxB,CAAlB;AACD;AAED;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;;;AACI,QAAIuP,SAAS,GAAGjK,gBAAgB,CAAC,UAASv6rB,MAAT,EAAiBxd,KAAjB,EAAwB2a,GAAxB,EAA6B;AAC5D6C,MAAAA,MAAM,CAAC7C,GAAG,GAAG,CAAH,GAAO,CAAX,CAAN,CAAoBzE,IAApB,CAAyBlW,KAAzB;AACD,KAF+B,EAE7B,YAAW;AAAE,aAAO,CAAC,EAAD,EAAK,EAAL,CAAP;AAAkB,KAFF,CAAhC;AAIA;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;;AACI,aAAS6X,MAAT,CAAgBmlM,UAAhB,EAA4B4hf,QAA5B,EAAsCC,WAAtC,EAAmD;AACjD,UAAIrnT,IAAI,GAAG/2X,OAAO,CAACu8L,UAAD,CAAP,GAAsBwif,WAAtB,GAAoCkB,UAA/C;AAAA,UACIjB,SAAS,GAAG5npB,SAAS,CAACvgD,MAAV,GAAmB,CADnC;AAGA,aAAOkgZ,IAAI,CAACx6L,UAAD,EAAa01f,WAAW,CAAC9T,QAAD,EAAW,CAAX,CAAxB,EAAuCC,WAAvC,EAAoDY,SAApD,EAA+DmL,QAA/D,CAAX;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASh1kB,WAAT,CAAqBonF,UAAr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,QAAxD;AACD;;AACD,aAAOt/nB,QAAQ,CAACs+T,IAAD,EAAO8yR,IAAP,EAAa;AAC1B,mBAAWy4C,OADe;AAE1B,mBAAWz4C,IAFe;AAG1B,oBAAYkuC;AAHc,OAAb,CAAf;AAKD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS0L,KAAT,CAAe1sU,IAAf,EAAqB;AACnB,aAAOsiU,GAAG,CAACtiU,IAAD,EAAO,CAAP,CAAV;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAStlN,IAAT,CAAclyL,KAAd,EAAqBkhE,OAArB,EAA8B;AAC5B,aAAO0jd,OAAO,CAACmxL,YAAY,CAAC70oB,OAAD,CAAb,EAAwBlhE,KAAxB,CAAd;AACD;AAED;;AAEA;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;;;AACI,aAASmktB,SAAT,GAAqB;AACnB,UAAI,CAACtsqB,SAAS,CAACvgD,MAAf,EAAuB;AACrB,eAAO,EAAP;AACD;;AACD,UAAI0I,KAAK,GAAG63C,SAAS,CAAC,CAAD,CAArB;AACA,aAAOp3B,OAAO,CAACzgB,KAAD,CAAP,GAAiBA,KAAjB,GAAyB,CAACA,KAAD,CAAhC;AACD;AAED;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;;;AACI,aAASqyD,KAAT,CAAeryD,KAAf,EAAsB;AACpB,aAAOmrsB,SAAS,CAACnrsB,KAAD,EAAQq0rB,kBAAR,CAAhB;AACD;AAED;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;;;AACI,aAAS+vB,SAAT,CAAmBpktB,KAAnB,EAA0BqrsB,UAA1B,EAAsC;AACpCA,MAAAA,UAAU,GAAG,OAAOA,UAAP,IAAqB,UAArB,GAAkCA,UAAlC,GAA+C1isB,SAA5D;AACA,aAAOwisB,SAAS,CAACnrsB,KAAD,EAAQq0rB,kBAAR,EAA4BgX,UAA5B,CAAhB;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASgZ,SAAT,CAAmBrktB,KAAnB,EAA0B;AACxB,aAAOmrsB,SAAS,CAACnrsB,KAAD,EAAQm0rB,eAAe,GAAGE,kBAA1B,CAAhB;AACD;AAED;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;;;AACI,aAASiwB,aAAT,CAAuBtktB,KAAvB,EAA8BqrsB,UAA9B,EAA0C;AACxCA,MAAAA,UAAU,GAAG,OAAOA,UAAP,IAAqB,UAArB,GAAkCA,UAAlC,GAA+C1isB,SAA5D;AACA,aAAOwisB,SAAS,CAACnrsB,KAAD,EAAQm0rB,eAAe,GAAGE,kBAA1B,EAA8CgX,UAA9C,CAAhB;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASkZ,UAAT,CAAoBvmsB,MAApB,EAA4B8vC,MAA5B,EAAoC;AAClC,aAAOA,MAAM,IAAI,IAAV,IAAkBw+oB,cAAc,CAACturB,MAAD,EAAS8vC,MAAT,EAAiBp0C,IAAI,CAACo0C,MAAD,CAArB,CAAvC;AACD;AAED;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;;;AACI,aAASuumB,EAAT,CAAYr8pB,KAAZ,EAAmBsnI,KAAnB,EAA0B;AACxB,aAAOtnI,KAAK,KAAKsnI,KAAV,IAAoBtnI,KAAK,KAAKA,KAAV,IAAmBsnI,KAAK,KAAKA,KAAxD;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,QAAIk9kB,EAAE,GAAG1J,yBAAyB,CAACxM,MAAD,CAAlC;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,QAAImW,GAAG,GAAG3J,yBAAyB,CAAC,UAAS96sB,KAAT,EAAgBsnI,KAAhB,EAAuB;AACzD,aAAOtnI,KAAK,IAAIsnI,KAAhB;AACD,KAFkC,CAAnC;AAIA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,QAAIuikB,WAAW,GAAGqF,eAAe,CAAC,YAAW;AAAE,aAAOr3pB,SAAP;AAAmB,KAAhC,EAAD,CAAf,GAAsDq3pB,eAAtD,GAAwE,UAASlvsB,KAAT,EAAgB;AACxG,aAAOs8iB,YAAY,CAACt8iB,KAAD,CAAZ,IAAuB2f,cAAc,CAAChH,IAAf,CAAoB3Y,KAApB,EAA2B,QAA3B,CAAvB,IACL,CAAC2jsB,oBAAoB,CAAChrrB,IAArB,CAA0B3Y,KAA1B,EAAiC,QAAjC,CADH;AAED,KAHD;AAKA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,QAAIygB,OAAO,GAAGD,KAAK,CAACC,OAApB;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,QAAI2oH,aAAa,GAAG80jB,iBAAiB,GAAG+C,SAAS,CAAC/C,iBAAD,CAAZ,GAAkCiR,iBAAvE;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,aAASryC,WAAT,CAAqB98pB,KAArB,EAA4B;AAC1B,aAAOA,KAAK,IAAI,IAAT,IAAiB+wsB,QAAQ,CAAC/wsB,KAAK,CAAC1I,MAAP,CAAzB,IAA2C,CAACsxX,UAAU,CAAC5oX,KAAD,CAA7D;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASqysB,iBAAT,CAA2BrysB,KAA3B,EAAkC;AAChC,aAAOs8iB,YAAY,CAACt8iB,KAAD,CAAZ,IAAuB88pB,WAAW,CAAC98pB,KAAD,CAAzC;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS6oX,SAAT,CAAmB7oX,KAAnB,EAA0B;AACxB,aAAOA,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,KAA5B,IACJs8iB,YAAY,CAACt8iB,KAAD,CAAZ,IAAuBmusB,UAAU,CAACnusB,KAAD,CAAV,IAAqBm2rB,OAD/C;AAED;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,QAAIz3C,QAAQ,GAAG8lD,cAAc,IAAIiZ,SAAjC;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,QAAI3slB,MAAM,GAAGqtkB,UAAU,GAAG8C,SAAS,CAAC9C,UAAD,CAAZ,GAA2BiR,UAAlD;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,aAASsV,SAAT,CAAmB1ktB,KAAnB,EAA0B;AACxB,aAAOs8iB,YAAY,CAACt8iB,KAAD,CAAZ,IAAuBA,KAAK,CAAC0zC,QAAN,KAAmB,CAA1C,IAA+C,CAAC6ogB,aAAa,CAACv8iB,KAAD,CAApE;AACD;AAED;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;;;AACI,aAAS+nB,OAAT,CAAiB/nB,KAAjB,EAAwB;AACtB,UAAIA,KAAK,IAAI,IAAb,EAAmB;AACjB,eAAO,IAAP;AACD;;AACD,UAAI88pB,WAAW,CAAC98pB,KAAD,CAAX,KACCygB,OAAO,CAACzgB,KAAD,CAAP,IAAkB,OAAOA,KAAP,IAAgB,QAAlC,IAA8C,OAAOA,KAAK,CAACmgB,MAAb,IAAuB,UAArE,IACCu+nB,QAAQ,CAAC1+oB,KAAD,CADT,IACoB0+rB,YAAY,CAAC1+rB,KAAD,CADhC,IAC2C6psB,WAAW,CAAC7psB,KAAD,CAFvD,CAAJ,EAEqE;AACnE,eAAO,CAACA,KAAK,CAAC1I,MAAd;AACD;;AACD,UAAIwiH,GAAG,GAAGy4P,MAAM,CAACvyW,KAAD,CAAhB;;AACA,UAAI85G,GAAG,IAAI28kB,MAAP,IAAiB38kB,GAAG,IAAIk9kB,MAA5B,EAAoC;AAClC,eAAO,CAACh3rB,KAAK,CAACmnB,IAAd;AACD;;AACD,UAAIiqrB,WAAW,CAACpxsB,KAAD,CAAf,EAAwB;AACtB,eAAO,CAACmxsB,QAAQ,CAACnxsB,KAAD,CAAR,CAAgB1I,MAAxB;AACD;;AACD,WAAK,IAAIqjB,GAAT,IAAgB3a,KAAhB,EAAuB;AACrB,YAAI2f,cAAc,CAAChH,IAAf,CAAoB3Y,KAApB,EAA2B2a,GAA3B,CAAJ,EAAqC;AACnC,iBAAO,KAAP;AACD;AACF;;AACD,aAAO,IAAP;AACD;AAED;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;;;AACI,aAASgqsB,OAAT,CAAiB3ktB,KAAjB,EAAwBsnI,KAAxB,EAA+B;AAC7B,aAAO+nkB,WAAW,CAACrvsB,KAAD,EAAQsnI,KAAR,CAAlB;AACD;AAED;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;;;AACI,aAASs9kB,WAAT,CAAqB5ktB,KAArB,EAA4BsnI,KAA5B,EAAmC+jkB,UAAnC,EAA+C;AAC7CA,MAAAA,UAAU,GAAG,OAAOA,UAAP,IAAqB,UAArB,GAAkCA,UAAlC,GAA+C1isB,SAA5D;AACA,UAAI6U,MAAM,GAAG6trB,UAAU,GAAGA,UAAU,CAACrrsB,KAAD,EAAQsnI,KAAR,CAAb,GAA8B3+H,SAArD;AACA,aAAO6U,MAAM,KAAK7U,SAAX,GAAuB0msB,WAAW,CAACrvsB,KAAD,EAAQsnI,KAAR,EAAe3+H,SAAf,EAA0B0isB,UAA1B,CAAlC,GAA0E,CAAC,CAAC7trB,MAAnF;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASqnsB,OAAT,CAAiB7ktB,KAAjB,EAAwB;AACtB,UAAI,CAACs8iB,YAAY,CAACt8iB,KAAD,CAAjB,EAA0B;AACxB,eAAO,KAAP;AACD;;AACD,UAAI85G,GAAG,GAAGq0lB,UAAU,CAACnusB,KAAD,CAApB;AACA,aAAO85G,GAAG,IAAIw8kB,QAAP,IAAmBx8kB,GAAG,IAAIu8kB,SAA1B,IACJ,OAAOr2rB,KAAK,CAAC+xC,OAAb,IAAwB,QAAxB,IAAoC,OAAO/xC,KAAK,CAAC0T,IAAb,IAAqB,QAAzD,IAAqE,CAAC6oiB,aAAa,CAACv8iB,KAAD,CADtF;AAED;AAED;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;;;AACI,aAASwyH,QAAT,CAAkBxyH,KAAlB,EAAyB;AACvB,aAAO,OAAOA,KAAP,IAAgB,QAAhB,IAA4ByksB,cAAc,CAACzksB,KAAD,CAAjD;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS4oX,UAAT,CAAoB5oX,KAApB,EAA2B;AACzB,UAAI,CAAC+mB,QAAQ,CAAC/mB,KAAD,CAAb,EAAsB;AACpB,eAAO,KAAP;AACD,OAHwB,CAIzB;AACA;;;AACA,UAAI85G,GAAG,GAAGq0lB,UAAU,CAACnusB,KAAD,CAApB;AACA,aAAO85G,GAAG,IAAIy8kB,OAAP,IAAkBz8kB,GAAG,IAAI08kB,MAAzB,IAAmC18kB,GAAG,IAAIo8kB,QAA1C,IAAsDp8kB,GAAG,IAAIg9kB,QAApE;AACD;AAED;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;;;AACI,aAASxyI,SAAT,CAAmBtkjB,KAAnB,EAA0B;AACxB,aAAO,OAAOA,KAAP,IAAgB,QAAhB,IAA4BA,KAAK,IAAIotsB,SAAS,CAACptsB,KAAD,CAArD;AACD;AAED;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;;;AACI,aAAS+wsB,QAAT,CAAkB/wsB,KAAlB,EAAyB;AACvB,aAAO,OAAOA,KAAP,IAAgB,QAAhB,IACLA,KAAK,GAAG,CAAC,CADJ,IACSA,KAAK,GAAG,CAAR,IAAa,CADtB,IAC2BA,KAAK,IAAI4tV,gBAD3C;AAED;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS7mU,QAAT,CAAkB/mB,KAAlB,EAAyB;AACvB,UAAIzE,IAAI,GAAG,OAAOyE,KAAlB;AACA,aAAOA,KAAK,IAAI,IAAT,KAAkBzE,IAAI,IAAI,QAAR,IAAoBA,IAAI,IAAI,UAA9C,CAAP;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS+gjB,YAAT,CAAsBt8iB,KAAtB,EAA6B;AAC3B,aAAOA,KAAK,IAAI,IAAT,IAAiB,OAAOA,KAAP,IAAgB,QAAxC;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,QAAImiM,KAAK,GAAGi8f,SAAS,GAAG6C,SAAS,CAAC7C,SAAD,CAAZ,GAA0BkS,SAA/C;AAEA;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;;AACI,aAASwU,OAAT,CAAiB9msB,MAAjB,EAAyB8vC,MAAzB,EAAiC;AAC/B,aAAO9vC,MAAM,KAAK8vC,MAAX,IAAqByipB,WAAW,CAACvyrB,MAAD,EAAS8vC,MAAT,EAAiB4jpB,YAAY,CAAC5jpB,MAAD,CAA7B,CAAvC;AACD;AAED;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;;;AACI,aAASi3pB,WAAT,CAAqB/msB,MAArB,EAA6B8vC,MAA7B,EAAqCu9oB,UAArC,EAAiD;AAC/CA,MAAAA,UAAU,GAAG,OAAOA,UAAP,IAAqB,UAArB,GAAkCA,UAAlC,GAA+C1isB,SAA5D;AACA,aAAO4nsB,WAAW,CAACvyrB,MAAD,EAAS8vC,MAAT,EAAiB4jpB,YAAY,CAAC5jpB,MAAD,CAA7B,EAAuCu9oB,UAAvC,CAAlB;AACD;AAED;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;;;AACI,aAAS15rB,KAAT,CAAe3R,KAAf,EAAsB;AACpB;AACA;AACA;AACA,aAAOq8iB,QAAQ,CAACr8iB,KAAD,CAAR,IAAmBA,KAAK,IAAI,CAACA,KAApC;AACD;AAED;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;;;AACI,aAASgltB,QAAT,CAAkBhltB,KAAlB,EAAyB;AACvB,UAAIw9sB,UAAU,CAACx9sB,KAAD,CAAd,EAAuB;AACrB,cAAM,IAAItG,KAAJ,CAAUm6rB,eAAV,CAAN;AACD;;AACD,aAAO8c,YAAY,CAAC3wsB,KAAD,CAAnB;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASm8iB,MAAT,CAAgBn8iB,KAAhB,EAAuB;AACrB,aAAOA,KAAK,KAAK,IAAjB;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASiltB,KAAT,CAAejltB,KAAf,EAAsB;AACpB,aAAOA,KAAK,IAAI,IAAhB;AACD;AAED;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;;;AACI,aAASq8iB,QAAT,CAAkBr8iB,KAAlB,EAAyB;AACvB,aAAO,OAAOA,KAAP,IAAgB,QAAhB,IACJs8iB,YAAY,CAACt8iB,KAAD,CAAZ,IAAuBmusB,UAAU,CAACnusB,KAAD,CAAV,IAAqB02rB,SAD/C;AAED;AAED;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;;;AACI,aAASn6I,aAAT,CAAuBv8iB,KAAvB,EAA8B;AAC5B,UAAI,CAACs8iB,YAAY,CAACt8iB,KAAD,CAAb,IAAwBmusB,UAAU,CAACnusB,KAAD,CAAV,IAAqB42rB,SAAjD,EAA4D;AAC1D,eAAO,KAAP;AACD;;AACD,UAAIt6qB,KAAK,GAAGmnrB,YAAY,CAACzjsB,KAAD,CAAxB;;AACA,UAAIsc,KAAK,KAAK,IAAd,EAAoB;AAClB,eAAO,IAAP;AACD;;AACD,UAAIqgpB,IAAI,GAAGh9oB,cAAc,CAAChH,IAAf,CAAoB2D,KAApB,EAA2B,aAA3B,KAA6CA,KAAK,CAAC1iB,WAA9D;AACA,aAAO,OAAO+iqB,IAAP,IAAe,UAAf,IAA6BA,IAAI,YAAYA,IAA7C,IACLsmC,YAAY,CAACtqrB,IAAb,CAAkBgkpB,IAAlB,KAA2B2mC,gBAD7B;AAED;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,QAAIhF,QAAQ,GAAGD,YAAY,GAAG4C,SAAS,CAAC5C,YAAD,CAAZ,GAA6BuS,YAAxD;AAEA;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;;AACI,aAASsU,aAAT,CAAuBlltB,KAAvB,EAA8B;AAC5B,aAAOskjB,SAAS,CAACtkjB,KAAD,CAAT,IAAoBA,KAAK,IAAI,CAAC4tV,gBAA9B,IAAkD5tV,KAAK,IAAI4tV,gBAAlE;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,QAAI4wW,KAAK,GAAGD,SAAS,GAAG0C,SAAS,CAAC1C,SAAD,CAAZ,GAA0BsS,SAA/C;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,aAASz0J,QAAT,CAAkBp8iB,KAAlB,EAAyB;AACvB,aAAO,OAAOA,KAAP,IAAgB,QAAhB,IACJ,CAACygB,OAAO,CAACzgB,KAAD,CAAR,IAAmBs8iB,YAAY,CAACt8iB,KAAD,CAA/B,IAA0CmusB,UAAU,CAACnusB,KAAD,CAAV,IAAqBi3rB,SADlE;AAED;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASiW,QAAT,CAAkBltsB,KAAlB,EAAyB;AACvB,aAAO,OAAOA,KAAP,IAAgB,QAAhB,IACJs8iB,YAAY,CAACt8iB,KAAD,CAAZ,IAAuBmusB,UAAU,CAACnusB,KAAD,CAAV,IAAqBk3rB,SAD/C;AAED;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,QAAIwH,YAAY,GAAGD,gBAAgB,GAAGwC,SAAS,CAACxC,gBAAD,CAAZ,GAAiCqS,gBAApE;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,aAAS50J,WAAT,CAAqBl8iB,KAArB,EAA4B;AAC1B,aAAOA,KAAK,KAAK2I,SAAjB;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASw8sB,SAAT,CAAmBnltB,KAAnB,EAA0B;AACxB,aAAOs8iB,YAAY,CAACt8iB,KAAD,CAAZ,IAAuBuyW,MAAM,CAACvyW,KAAD,CAAN,IAAiBo3rB,UAA/C;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASguB,SAAT,CAAmBpltB,KAAnB,EAA0B;AACxB,aAAOs8iB,YAAY,CAACt8iB,KAAD,CAAZ,IAAuBmusB,UAAU,CAACnusB,KAAD,CAAV,IAAqBq3rB,UAAnD;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,QAAIguB,EAAE,GAAGvK,yBAAyB,CAACtJ,MAAD,CAAlC;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,QAAI8T,GAAG,GAAGxK,yBAAyB,CAAC,UAAS96sB,KAAT,EAAgBsnI,KAAhB,EAAuB;AACzD,aAAOtnI,KAAK,IAAIsnI,KAAhB;AACD,KAFkC,CAAnC;AAIA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,aAASvyF,OAAT,CAAiB/0C,KAAjB,EAAwB;AACtB,UAAI,CAACA,KAAL,EAAY;AACV,eAAO,EAAP;AACD;;AACD,UAAI88pB,WAAW,CAAC98pB,KAAD,CAAf,EAAwB;AACtB,eAAOo8iB,QAAQ,CAACp8iB,KAAD,CAAR,GAAkBuisB,aAAa,CAACvisB,KAAD,CAA/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,CAAC19rB,KAAK,CAACoD,KAAN,CAAY,CAAZ,CAAD,EAAiBmitB,QAAQ,GAAG,CAAH,GAAO,CAAhC,CADT,GAEF7rB,UAAU,CAACvspB,IAAX,CAAgBntC,KAAhB,IAAyB21rB,GAAzB,GAA+B,CAAC31rB,KAFrC;AAGD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASy2c,aAAT,CAAuBz2c,KAAvB,EAA8B;AAC5B,aAAO8qsB,UAAU,CAAC9qsB,KAAD,EAAQgrsB,MAAM,CAAChrsB,KAAD,CAAd,CAAjB;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASwltB,aAAT,CAAuBxltB,KAAvB,EAA8B;AAC5B,aAAOA,KAAK,GACRqqsB,SAAS,CAAC+C,SAAS,CAACptsB,KAAD,CAAV,EAAmB,CAAC4tV,gBAApB,EAAsCA,gBAAtC,CADD,GAEP5tV,KAAK,KAAK,CAAV,GAAcA,KAAd,GAAsB,CAF3B;AAGD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS/I,QAAT,CAAkB+I,KAAlB,EAAyB;AACvB,aAAOA,KAAK,IAAI,IAAT,GAAgB,EAAhB,GAAqBk1sB,YAAY,CAACl1sB,KAAD,CAAxC;AACD;AAED;;AAEA;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;;;AACI,QAAIu1B,MAAM,GAAG0irB,cAAc,CAAC,UAASj6rB,MAAT,EAAiB8vC,MAAjB,EAAyB;AACnD,UAAIsjpB,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A;AACA;AACA;;AACI,aAASsurB,OAAT,CAAiB/nsB,MAAjB,EAAyBk3B,SAAzB,EAAoC;AAClC,aAAO8qpB,WAAW,CAAChirB,MAAD,EAAS00rB,WAAW,CAACx9pB,SAAD,EAAY,CAAZ,CAApB,EAAoC23pB,UAApC,CAAlB;AACD;AAED;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;;;AACI,aAASmZ,WAAT,CAAqBhosB,MAArB,EAA6Bk3B,SAA7B,EAAwC;AACtC,aAAO8qpB,WAAW,CAAChirB,MAAD,EAAS00rB,WAAW,CAACx9pB,SAAD,EAAY,CAAZ,CAApB,EAAoC63pB,eAApC,CAAlB;AACD;AAED;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;;;AACI,aAASkZ,KAAT,CAAejosB,MAAf,EAAuB4grB,QAAvB,EAAiC;AAC/B,aAAO5grB,MAAM,IAAI,IAAV,GACHA,MADG,GAEH0vrB,OAAO,CAAC1vrB,MAAD,EAAS00rB,WAAW,CAAC9T,QAAD,EAAW,CAAX,CAApB,EAAmCoM,MAAnC,CAFX;AAGD;AAED;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;;;AACI,aAASkb,UAAT,CAAoBlosB,MAApB,EAA4B4grB,QAA5B,EAAsC;AACpC,aAAO5grB,MAAM,IAAI,IAAV,GACHA,MADG,GAEH4vrB,YAAY,CAAC5vrB,MAAD,EAAS00rB,WAAW,CAAC9T,QAAD,EAAW,CAAX,CAApB,EAAmCoM,MAAnC,CAFhB;AAGD;AAED;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;;;AACI,aAASmb,MAAT,CAAgBnosB,MAAhB,EAAwB4grB,QAAxB,EAAkC;AAChC,aAAO5grB,MAAM,IAAI6urB,UAAU,CAAC7urB,MAAD,EAAS00rB,WAAW,CAAC9T,QAAD,EAAW,CAAX,CAApB,CAA3B;AACD;AAED;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;;;AACI,aAASwnB,WAAT,CAAqBposB,MAArB,EAA6B4grB,QAA7B,EAAuC;AACrC,aAAO5grB,MAAM,IAAI+urB,eAAe,CAAC/urB,MAAD,EAAS00rB,WAAW,CAAC9T,QAAD,EAAW,CAAX,CAApB,CAAhC;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS3tT,SAAT,CAAmBjzX,MAAnB,EAA2B;AACzB,aAAOA,MAAM,IAAI,IAAV,GAAiB,EAAjB,GAAsB6vrB,aAAa,CAAC7vrB,MAAD,EAAStE,IAAI,CAACsE,MAAD,CAAb,CAA1C;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASqosB,WAAT,CAAqBrosB,MAArB,EAA6B;AAC3B,aAAOA,MAAM,IAAI,IAAV,GAAiB,EAAjB,GAAsB6vrB,aAAa,CAAC7vrB,MAAD,EAASgtrB,MAAM,CAAChtrB,MAAD,CAAf,CAA1C;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS3e,GAAT,CAAa2e,MAAb,EAAqBslG,IAArB,EAA2B1oG,YAA3B,EAAyC;AACvC,UAAI4C,MAAM,GAAGQ,MAAM,IAAI,IAAV,GAAiBrV,SAAjB,GAA6BmlsB,OAAO,CAAC9vrB,MAAD,EAASslG,IAAT,CAAjD;AACA,aAAO9lG,MAAM,KAAK7U,SAAX,GAAuBiS,YAAvB,GAAsC4C,MAA7C;AACD;AAED;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;;;AACI,aAAS2H,GAAT,CAAanH,MAAb,EAAqBslG,IAArB,EAA2B;AACzB,aAAOtlG,MAAM,IAAI,IAAV,IAAkBq/rB,OAAO,CAACr/rB,MAAD,EAASslG,IAAT,EAAeirlB,OAAf,CAAhC;AACD;AAED;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;;;AACI,aAASuD,KAAT,CAAe9zrB,MAAf,EAAuBslG,IAAvB,EAA6B;AAC3B,aAAOtlG,MAAM,IAAI,IAAV,IAAkBq/rB,OAAO,CAACr/rB,MAAD,EAASslG,IAAT,EAAekrlB,SAAf,CAAhC;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,QAAIz8I,MAAM,GAAGqoJ,cAAc,CAAC,UAAS58rB,MAAT,EAAiBxd,KAAjB,EAAwB2a,GAAxB,EAA6B;AACvD,UAAI3a,KAAK,IAAI,IAAT,IACA,OAAOA,KAAK,CAAC/I,QAAb,IAAyB,UAD7B,EACyC;AACvC+I,QAAAA,KAAK,GAAGqjsB,oBAAoB,CAAC1qrB,IAArB,CAA0B3Y,KAA1B,CAAR;AACD;;AAEDwd,MAAAA,MAAM,CAACxd,KAAD,CAAN,GAAgB2a,GAAhB;AACD,KAP0B,EAOxBo5rB,QAAQ,CAAC9uU,QAAD,CAPgB,CAA3B;AASA;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;;AACI,QAAIqhV,QAAQ,GAAGlM,cAAc,CAAC,UAAS58rB,MAAT,EAAiBxd,KAAjB,EAAwB2a,GAAxB,EAA6B;AACzD,UAAI3a,KAAK,IAAI,IAAT,IACA,OAAOA,KAAK,CAAC/I,QAAb,IAAyB,UAD7B,EACyC;AACvC+I,QAAAA,KAAK,GAAGqjsB,oBAAoB,CAAC1qrB,IAArB,CAA0B3Y,KAA1B,CAAR;AACD;;AAED,UAAI2f,cAAc,CAAChH,IAAf,CAAoB6E,MAApB,EAA4Bxd,KAA5B,CAAJ,EAAwC;AACtCwd,QAAAA,MAAM,CAACxd,KAAD,CAAN,CAAckW,IAAd,CAAmByE,GAAnB;AACD,OAFD,MAEO;AACL6C,QAAAA,MAAM,CAACxd,KAAD,CAAN,GAAgB,CAAC2a,GAAD,CAAhB;AACD;AACF,KAX4B,EAW1B+3rB,WAX0B,CAA7B;AAaA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,QAAIvne,MAAM,GAAGooe,QAAQ,CAACtE,UAAD,CAArB;AAEA;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;;AACI,aAASv1rB,IAAT,CAAcsE,MAAd,EAAsB;AACpB,aAAO8+oB,WAAW,CAAC9+oB,MAAD,CAAX,GAAsB0rrB,aAAa,CAAC1rrB,MAAD,CAAnC,GAA8CmzrB,QAAQ,CAACnzrB,MAAD,CAA7D;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASgtrB,MAAT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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASlD,GAAT,CAAakD,MAAb,EAAqBslG,IAArB,EAA2BtjH,KAA3B,EAAkC;AAChC,aAAOge,MAAM,IAAI,IAAV,GAAiBA,MAAjB,GAA0B+0rB,OAAO,CAAC/0rB,MAAD,EAASslG,IAAT,EAAetjH,KAAf,CAAxC;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS2mtB,OAAT,CAAiB3osB,MAAjB,EAAyBslG,IAAzB,EAA+BtjH,KAA/B,EAAsCqrsB,UAAtC,EAAkD;AAChDA,MAAAA,UAAU,GAAG,OAAOA,UAAP,IAAqB,UAArB,GAAkCA,UAAlC,GAA+C1isB,SAA5D;AACA,aAAOqV,MAAM,IAAI,IAAV,GAAiBA,MAAjB,GAA0B+0rB,OAAO,CAAC/0rB,MAAD,EAASslG,IAAT,EAAetjH,KAAf,EAAsBqrsB,UAAtB,CAAxC;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,QAAIub,OAAO,GAAGnL,aAAa,CAAC/hsB,IAAD,CAA3B;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,QAAImtsB,SAAS,GAAGpL,aAAa,CAACzQ,MAAD,CAA7B;AAEA;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;;AACI,aAASp7oB,SAAT,CAAmB5xC,MAAnB,EAA2B4grB,QAA3B,EAAqCC,WAArC,EAAkD;AAChD,UAAIuI,KAAK,GAAG3mrB,OAAO,CAACzC,MAAD,CAAnB;AAAA,UACI8osB,SAAS,GAAG1f,KAAK,IAAI1oD,QAAQ,CAAC1goB,MAAD,CAAjB,IAA6B0grB,YAAY,CAAC1grB,MAAD,CADzD;AAGA4grB,MAAAA,QAAQ,GAAG8T,WAAW,CAAC9T,QAAD,EAAW,CAAX,CAAtB;;AACA,UAAIC,WAAW,IAAI,IAAnB,EAAyB;AACvB,YAAIliC,IAAI,GAAG3+oB,MAAM,IAAIA,MAAM,CAACpkB,WAA5B;;AACA,YAAIkttB,SAAJ,EAAe;AACbjoB,UAAAA,WAAW,GAAGuI,KAAK,GAAG,IAAIzqC,IAAJ,EAAH,GAAc,EAAjC;AACD,SAFD,MAGK,IAAI51oB,QAAQ,CAAC/I,MAAD,CAAZ,EAAsB;AACzB6grB,UAAAA,WAAW,GAAGj2U,UAAU,CAAC+zS,IAAD,CAAV,GAAmBupC,UAAU,CAACzC,YAAY,CAACzlrB,MAAD,CAAb,CAA7B,GAAsD,EAApE;AACD,SAFI,MAGA;AACH6grB,UAAAA,WAAW,GAAG,EAAd;AACD;AACF;;AACD,OAACioB,SAAS,GAAGhoB,SAAH,GAAe+N,UAAzB,EAAqC7urB,MAArC,EAA6C,UAAShe,KAAT,EAAgBs3B,KAAhB,EAAuBtZ,MAAvB,EAA+B;AAC1E,eAAO4grB,QAAQ,CAACC,WAAD,EAAc7+rB,KAAd,EAAqBs3B,KAArB,EAA4BtZ,MAA5B,CAAf;AACD,OAFD;AAGA,aAAO6grB,WAAP;AACD;AAED;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;;;AACI,aAASn+G,KAAT,CAAe1ikB,MAAf,EAAuBslG,IAAvB,EAA6B;AAC3B,aAAOtlG,MAAM,IAAI,IAAV,GAAiB,IAAjB,GAAwBo1rB,SAAS,CAACp1rB,MAAD,EAASslG,IAAT,CAAxC;AACD;AAED;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;;;AACI,aAAS8jB,MAAT,CAAgBppH,MAAhB,EAAwBslG,IAAxB,EAA8BiylB,OAA9B,EAAuC;AACrC,aAAOv3rB,MAAM,IAAI,IAAV,GAAiBA,MAAjB,GAA0Bs3rB,UAAU,CAACt3rB,MAAD,EAASslG,IAAT,EAAeyylB,YAAY,CAACR,OAAD,CAA3B,CAA3C;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASwR,UAAT,CAAoB/osB,MAApB,EAA4BslG,IAA5B,EAAkCiylB,OAAlC,EAA2ClK,UAA3C,EAAuD;AACrDA,MAAAA,UAAU,GAAG,OAAOA,UAAP,IAAqB,UAArB,GAAkCA,UAAlC,GAA+C1isB,SAA5D;AACA,aAAOqV,MAAM,IAAI,IAAV,GAAiBA,MAAjB,GAA0Bs3rB,UAAU,CAACt3rB,MAAD,EAASslG,IAAT,EAAeyylB,YAAY,CAACR,OAAD,CAA3B,EAAsClK,UAAtC,CAA3C;AACD;AAED;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;;;AACI,aAAShkrB,MAAT,CAAgBrJ,MAAhB,EAAwB;AACtB,aAAOA,MAAM,IAAI,IAAV,GAAiB,EAAjB,GAAsBkjrB,UAAU,CAACljrB,MAAD,EAAStE,IAAI,CAACsE,MAAD,CAAb,CAAvC;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASgpsB,QAAT,CAAkBhpsB,MAAlB,EAA0B;AACxB,aAAOA,MAAM,IAAI,IAAV,GAAiB,EAAjB,GAAsBkjrB,UAAU,CAACljrB,MAAD,EAASgtrB,MAAM,CAAChtrB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ACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASnR,QAAT,CAAkB0jpB,MAAlB,EAA0B7roB,OAA1B,EAAmCo1W,KAAnC,EAA0C;AACxC;AACA;AACA;AACA,UAAIqqF,QAAQ,GAAGyyP,MAAM,CAACY,gBAAtB;;AAEA,UAAI19U,KAAK,IAAImvV,cAAc,CAAC14D,MAAD,EAAS7roB,OAAT,EAAkBo1W,KAAlB,CAA3B,EAAqD;AACnDp1W,QAAAA,OAAO,GAAGjL,SAAV;AACD;;AACD82oB,MAAAA,MAAM,GAAGxopB,QAAQ,CAACwopB,MAAD,CAAjB;AACA7roB,MAAAA,OAAO,GAAG8xsB,YAAY,CAAC,EAAD,EAAK9xsB,OAAL,EAAcy/b,QAAd,EAAwBuoQ,sBAAxB,CAAtB;AAEA,UAAItpsB,OAAO,GAAGozsB,YAAY,CAAC,EAAD,EAAK9xsB,OAAO,CAACtB,OAAb,EAAsB+gc,QAAQ,CAAC/gc,OAA/B,EAAwCspsB,sBAAxC,CAA1B;AAAA,UACIiM,WAAW,GAAGnusB,IAAI,CAACpH,OAAD,CADtB;AAAA,UAEIw1sB,aAAa,GAAG5mB,UAAU,CAAC5urB,OAAD,EAAUu1sB,WAAV,CAF9B;AAIA,UAAIE,UAAJ;AAAA,UACIC,YADJ;AAAA,UAEI1wrB,KA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ACA;;;AACI,aAAS0xrB,QAAT,CAAkBr7pB,MAAlB,EAA0B;AACxB,aAAOu+oB,YAAY,CAAClB,SAAS,CAACr9oB,MAAD,EAASqmoB,eAAT,CAAV,CAAnB;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS4f,QAAT,CAAkB/zsB,KAAlB,EAAyB;AACvB,aAAO,YAAW;AAChB,eAAOA,KAAP;AACD,OAFD;AAGD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASoptB,SAAT,CAAmBpptB,KAAnB,EAA0B4a,YAA1B,EAAwC;AACtC,aAAQ5a,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAKA,KAA5B,GAAqC4a,YAArC,GAAoD5a,KAA3D;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,QAAIqptB,IAAI,GAAGlQ,UAAU,EAArB;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,QAAImQ,SAAS,GAAGnQ,UAAU,CAAC,IAAD,CAA1B;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,aAASl0U,QAAT,CAAkBjlY,KAAlB,EAAyB;AACvB,aAAOA,KAAP;AACD;AAED;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;;;AACI,aAAS4+rB,QAAT,CAAkBpnT,IAAlB,EAAwB;AACtB,aAAOw5T,YAAY,CAAC,OAAOx5T,IAAP,IAAe,UAAf,GAA4BA,IAA5B,GAAmC2zT,SAAS,CAAC3zT,IAAD,EAAO28S,eAAP,CAA7C,CAAnB;AACD;AAED;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;;;AACI,aAAS93qB,OAAT,CAAiByxC,MAAjB,EAAyB;AACvB,aAAOojpB,WAAW,CAAC/F,SAAS,CAACr9oB,MAAD,EAASqmoB,eAAT,CAAV,CAAlB;AACD;AAED;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;;;AACI,aAASo1B,eAAT,CAAyBjmmB,IAAzB,EAA+BotlB,QAA/B,EAAyC;AACvC,aAAOO,mBAAmB,CAAC3tlB,IAAD,EAAO6nlB,SAAS,CAACuF,QAAD,EAAWvc,eAAX,CAAhB,CAA1B;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,QAAIhrjB,MAAM,GAAGoqkB,QAAQ,CAAC,UAASjwlB,IAAT,EAAe7rF,IAAf,EAAqB;AACzC,aAAO,UAASzZ,MAAT,EAAiB;AACtB,eAAOixrB,UAAU,CAACjxrB,MAAD,EAASslG,IAAT,EAAe7rF,IAAf,CAAjB;AACD,OAFD;AAGD,KAJoB,CAArB;AAMA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,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AAO,CAAC96qB,IAAD,EAAO/Q,CAAP,CAAd;AACD,OAFc,CAAf;AAGD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,QAAIijsB,IAAI,GAAGpP,UAAU,CAACjb,QAAD,CAArB;AAEA;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;;AACI,QAAIsqB,SAAS,GAAGrP,UAAU,CAACvb,UAAD,CAA1B;AAEA;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;;AACI,QAAI6qB,QAAQ,GAAGtP,UAAU,CAAC5a,SAAD,CAAzB;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,aAASr5pB,QAAT,CAAkBg9E,IAAlB,EAAwB;AACtB,aAAOsulB,KAAK,CAACtulB,IAAD,CAAL,GAAcu8kB,YAAY,CAACmO,KAAK,CAAC1qlB,IAAD,CAAN,CAA1B,GAA0C0vlB,gBAAgB,CAAC1vlB,IAAD,CAAjE;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASwmmB,UAAT,CAAoB9rsB,MAApB,EAA4B;AAC1B,aAAO,UAASslG,IAAT,EAAe;AACpB,eAAOtlG,MAAM,IAAI,IAAV,GAAiBrV,SAAjB,GAA6BmlsB,OAAO,CAAC9vrB,MAAD,EAASslG,IAAT,CAA3C;AACD,OAFD;AAGD;AAED;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;;;AACI,QAAIxlB,KAAK,GAAG88mB,WAAW,EAAvB;AAEA;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;;AACI,QAAImP,UAAU,GAAGnP,WAAW,CAAC,IAAD,CAA5B;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,aAASqC,SAAT,GAAqB;AACnB,aAAO,EAAP;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASQ,SAAT,GAAqB;AACnB,aAAO,KAAP;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASuM,UAAT,GAAsB;AACpB,aAAO,EAAP;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASC,UAAT,GAAsB;AACpB,aAAO,EAAP;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASC,QAAT,GAAoB;AAClB,aAAO,IAAP;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASh+H,KAAT,CAAexlkB,CAAf,EAAkBk4qB,QAAlB,EAA4B;AAC1Bl4qB,MAAAA,CAAC,GAAG0mrB,SAAS,CAAC1mrB,CAAD,CAAb;;AACA,UAAIA,CAAC,GAAG,CAAJ,IAASA,CAAC,GAAGknU,gBAAjB,EAAmC;AACjC,eAAO,EAAP;AACD;;AACD,UAAIt2T,KAAK,GAAGs+pB,gBAAZ;AAAA,UACIt+rB,MAAM,GAAGutsB,SAAS,CAACn+qB,CAAD,EAAIkvqB,gBAAJ,CADtB;AAGAgJ,MAAAA,QAAQ,GAAG8T,WAAW,CAAC9T,QAAD,CAAtB;AACAl4qB,MAAAA,CAAC,IAAIkvqB,gBAAL;AAEA,UAAIp4qB,MAAM,GAAGqjrB,SAAS,CAACvpsB,MAAD,EAASsnsB,QAAT,CAAtB;;AACA,aAAO,EAAEtnqB,KAAF,GAAU5Q,CAAjB,EAAoB;AAClBk4qB,QAAAA,QAAQ,CAACtnqB,KAAD,CAAR;AACD;;AACD,aAAO9Z,MAAP;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS2ssB,MAAT,CAAgBnqtB,KAAhB,EAAuB;AACrB,UAAIygB,OAAO,CAACzgB,KAAD,CAAX,EAAoB;AAClB,eAAOs/rB,QAAQ,CAACt/rB,KAAD,EAAQgusB,KAAR,CAAf;AACD;;AACD,aAAOd,QAAQ,CAACltsB,KAAD,CAAR,GAAkB,CAACA,KAAD,CAAlB,GAA4BinsB,SAAS,CAAC+O,YAAY,CAAC/+sB,QAAQ,CAAC+I,KAAD,CAAT,CAAb,CAA5C;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS8sS,QAAT,CAAkBhiI,MAAlB,EAA0B;AACxB,UAAI16J,EAAE,GAAG,EAAE8yrB,SAAX;AACA,aAAOjssB,QAAQ,CAAC6zK,MAAD,CAAR,GAAmB16J,EAA1B;AACD;AAED;;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,QAAI8W,GAAG,GAAGozrB,mBAAmB,CAAC,UAAS8P,MAAT,EAAiBC,MAAjB,EAAyB;AACrD,aAAOD,MAAM,GAAGC,MAAhB;AACD,KAF4B,EAE1B,CAF0B,CAA7B;AAIA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,QAAInxnB,IAAI,GAAGqinB,WAAW,CAAC,MAAD,CAAtB;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,QAAI3nH,MAAM,GAAG0mH,mBAAmB,CAAC,UAAS3kE,QAAT,EAAmBC,OAAnB,EAA4B;AAC3D,aAAOD,QAAQ,GAAGC,OAAlB;AACD,KAF+B,EAE7B,CAF6B,CAAhC;AAIA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,QAAIxukB,KAAK,GAAGm0oB,WAAW,CAAC,OAAD,CAAvB;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI,aAAS3ltB,GAAT,CAAayrE,KAAb,EAAoB;AAClB,aAAQA,KAAK,IAAIA,KAAK,CAAC/pE,MAAhB,GACH21sB,YAAY,CAAC5roB,KAAD,EAAQ4jU,QAAR,EAAkBqpU,MAAlB,CADT,GAEH3lsB,SAFJ;AAGD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS2htB,KAAT,CAAejppB,KAAf,EAAsBu9nB,QAAtB,EAAgC;AAC9B,aAAQv9nB,KAAK,IAAIA,KAAK,CAAC/pE,MAAhB,GACH21sB,YAAY,CAAC5roB,KAAD,EAAQqxoB,WAAW,CAAC9T,QAAD,EAAW,CAAX,CAAnB,EAAkC0P,MAAlC,CADT,GAEH3lsB,SAFJ;AAGD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS4htB,IAAT,CAAclppB,KAAd,EAAqB;AACnB,aAAOk/nB,QAAQ,CAACl/nB,KAAD,EAAQ4jU,QAAR,CAAf;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASulV,MAAT,CAAgBnppB,KAAhB,EAAuBu9nB,QAAvB,EAAiC;AAC/B,aAAO2B,QAAQ,CAACl/nB,KAAD,EAAQqxoB,WAAW,CAAC9T,QAAD,EAAW,CAAX,CAAnB,CAAf;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAASlpsB,GAAT,CAAa2rE,KAAb,EAAoB;AAClB,aAAQA,KAAK,IAAIA,KAAK,CAAC/pE,MAAhB,GACH21sB,YAAY,CAAC5roB,KAAD,EAAQ4jU,QAAR,EAAkBusU,MAAlB,CADT,GAEH7osB,SAFJ;AAGD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,aAAS8htB,KAAT,CAAepppB,KAAf,EAAsBu9nB,QAAtB,EAAgC;AAC9B,aAAQv9nB,KAAK,IAAIA,KAAK,CAAC/pE,MAAhB,GACH21sB,YAAY,CAAC5roB,KAAD,EAAQqxoB,WAAW,CAAC9T,QAAD,EAAW,CAAX,CAAnB,EAAkC4S,MAAlC,CADT,GAEH7osB,SAFJ;AAGD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,QAAIyplB,QAAQ,GAAGkoH,mBAAmB,CAAC,UAASvqpB,UAAT,EAAqB26pB,YAArB,EAAmC;AACpE,aAAO36pB,UAAU,GAAG26pB,YAApB;AACD,KAFiC,EAE/B,CAF+B,CAAlC;AAIA;AACJ;AACA;AACA;AAC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AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACO;AACP;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,6DAA6D,cAAc;AAC3E;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACO;AACP,oCAAoC;AACpC;AACA;AACO;AACP;AACA;AACA;AACO;AACP,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACO;AACP,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACO;AACP;AACA,mCAAmC,oCAAoC,gBAAgB;AACvF,CAAC;AACD;AACA;AACA,CAAC;AACD;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACA;AACO;AACP,kDAAkD,QAAQ;AAC1D,yCAAyC,QAAQ;AACjD,yDAAyD,QAAQ;AACjE;AACA;AACA;AACA;AACO;AACP,6EAA6E,OAAO;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA,iBAAiB,uFAAuF,cAAc;AACtH,uBAAuB,gCAAgC,qCAAqC,2CAA2C;AACvI,4BAA4B,MAAM,iBAAiB,YAAY;AAC/D,uBAAuB;AACvB,8BAA8B;AAC9B,6BAA6B;AAC7B,4BAA4B;AAC5B;AACA;AACO;AACP;AACA,iBAAiB,6CAA6C,UAAU,sDAAsD,cAAc;AAC5I,0BAA0B,6BAA6B,oBAAoB,gDAAgD,kBAAkB;AAC7I;AACA;AACO;AACP;AACA;AACA,2GAA2G,uFAAuF,cAAc;AAChN,uBAAuB,8BAA8B,gDAAgD,wDAAwD;AAC7J,6CAA6C,sCAAsC,UAAU,mBAAmB,IAAI;AACpH;AACA;AACO;AACP,iCAAiC,uCAAuC,YAAY,KAAK,OAAO;AAChG;AACA;AACA;AACA;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6CAA6C;AAC7C;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnSA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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/B,8BAX+B,EAY/B,WAZ+B,CAAnC;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,gCAAgC,GAAG,IAAI9slC,yDAAJ,CAAmB,kCAAnB,CAAzC;AACA;;AACA,MAAM+slC,yBAAyB,GAAGF,0BAAlC;AACA;;AACA,MAAMG,8BAA8B,GAAGF,gCAAvC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMG;AAAN,QAAMA,gCAAN,CAAuC;;AAEvCA,EAAAA,gCAAgC,CAAC7hlC,IAAjC;AAAA,qBAA8H6hlC,gCAA9H;AAAA;;AACAA,EAAAA,gCAAgC,CAACl+kC,IAAjC,kBA3DiHiwC,+DA2DjH;AAAA,UAAkHiuiC,gCAAlH;AAAA;AAAA;SAHMA;;;AAIN;AAAA;AAAA;AAOA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMzlwB,uBAAuB,GAAG,GAAhC;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM0lwB;AAAN,QAAMA,wBAAN,CAA+B;AAC3BpjlC,IAAAA,WAAW,CAACqjlC,SAAD,EAAYzs3B,iBAAZ,EAA+Bn/J,cAA/B,EAA+C6rhC,SAAS,GAAG,IAA3D,EAAiEC,YAAY,GAAG,IAAhF,EAAsFl8hC,cAAtF,EAAsG;AAC7G,WAAKg8hC,SAAL,GAAiBA,SAAjB;AACA,WAAKzs3B,iBAAL,GAAyBA,iBAAzB;AA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","sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./node_modules/@angular-material-components/color-picker/fesm2015/angular-material-components-color-picker.js","./node_modules/@angular/animations/fesm2015/animations.js","./node_modules/@angular/animations/fesm2015/browser.js","./node_modules/@angular/cdk/fesm2015/a11y.js","./node_modules/@angular/cdk/fesm2015/accordion.js","./node_modules/@angular/cdk/fesm2015/bidi.js","./node_modules/@angular/cdk/fesm2015/cdk.js","./node_modules/@angular/cdk/fesm2015/coercion.js","./node_modules/@angular/cdk/fesm2015/collections.js","./node_modules/@angular/cdk/fesm2015/drag-drop.js","./node_modules/@angular/cdk/fesm2015/keycodes.js","./node_modules/@angular/cdk/fesm2015/layout.js","./node_modules/@angular/cdk/fesm2015/observers.js","./node_modules/@angular/cdk/fesm2015/overlay.js","./node_modules/@angular/cdk/fesm2015/platform.js","./node_modules/@angular/cdk/fesm2015/portal.js","./node_modules/@angular/cdk/fesm2015/scrolling.js","./node_modules/@angular/cdk/fesm2015/stepper.js","./node_modules/@angular/cdk/fesm2015/table.js","./node_modules/@angular/cdk/fesm2015/text-field.js","./node_modules/@angular/common/fesm2015/common.js","./node_modules/@angular/common/fesm2015/http.js","./node_modules/@angular/common/locales/de.js","./node_modules/@angular/core/fesm2015/core.js","./node_modules/@angular/forms/fesm2015/forms.js","./node_modules/@angular/material/fesm2015/autocomplete.js","./node_modules/@angular/material/fesm2015/badge.js","./node_modules/@angular/material/fesm2015/button-toggle.js","./node_modules/@angular/material/fesm2015/button.js","./node_modules/@angular/material/fesm2015/card.js","./node_modules/@angular/material/fesm2015/checkbox.js","./node_modules/@angular/material/fesm2015/chips.js","./node_modules/@angular/material/fesm2015/core.js","./node_modules/@angular/material/fesm2015/datepicker.js","./node_modules/@angular/material/fesm2015/dialog.js","./node_modules/@angular/material/fesm2015/divider.js","./node_modules/@angular/material/fesm2015/expansion.js","./node_modules/@angular/material/fesm2015/form-field.js","./node_modules/@angular/material/fesm2015/grid-list.js","./node_modules/@angular/material/fesm2015/icon.js","./node_modules/@angular/material/fesm2015/input.js","./node_modules/@angular/material/fesm2015/list.js","./node_modules/@angular/material/fesm2015/menu.js","./node_modules/@angular/material/fesm2015/paginator.js","./node_modules/@angular/material/fesm2015/progress-spinner.js","./node_modules/@angular/material/fesm2015/radio.js","./node_modules/@angular/material/fesm2015/select.js","./node_modules/@angular/material/fesm2015/slide-toggle.js","./node_modules/@angular/material/fesm2015/sort.js","./node_modules/@angular/material/fesm2015/stepper.js","./node_modules/@angular/material/fesm2015/table.js","./node_modules/@angular/material/fesm2015/tabs.js","./node_modules/@angular/material/fesm2015/tooltip.js","./node_modules/@angular/platform-browser/fesm2015/animations.js","./node_modules/@angular/platform-browser/fesm2015/platform-browser.js","./node_modules/@angular/router/fesm2015/router.js","./node_modules/@angularclass/hmr/dist/experimental.js","./node_modules/@angularclass/hmr/dist/helpers.js","./node_modules/@angularclass/hmr/dist/hmr.js","./node_modules/@angularclass/hmr/dist/index.js","./node_modules/@fortawesome/angular-fontawesome/fesm2015/angular-fontawesome.js","./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","./node_modules/@fortawesome/free-regular-svg-icons/index.es.js","./node_modules/@fortawesome/free-solid-svg-icons/index.es.js","./node_modules/@fullcalendar/angular/fesm2015/fullcalendar-angular.js","./node_modules/@fullcalendar/bootstrap/main.js","./node_modules/@fullcalendar/common/main.js","./node_modules/@fullcalendar/common/vdom.js","./node_modules/@fullcalendar/core/main.js","./node_modules/@fullcalendar/core/vdom.js","./node_modules/@fullcalendar/daygrid/main.js","./node_modules/@fullcalendar/interaction/main.js","./node_modules/@fullcalendar/moment/main.js","./node_modules/@fullcalendar/premium-common/main.js","./node_modules/@fullcalendar/resource-common/main.js","./node_modules/@fullcalendar/resource-timeline/main.js","./node_modules/@fullcalendar/scrollgrid/main.js","./node_modules/@fullcalendar/timegrid/main.js","./node_modules/@fullcalendar/timeline/main.js","./node_modules/@material/animation/animationframe.js","./node_modules/@material/animation/util.js","./node_modules/@material/base/component.js","./node_modules/@material/base/foundation.js","./node_modules/@material/dom/keyboard.js","./node_modules/@material/tooltip/component.js","./node_modules/@material/tooltip/constants.js","./node_modules/@material/tooltip/foundation.js","./node_modules/@ngrx/effects/fesm2015/ngrx-effects.js","./node_modules/@ngrx/store-devtools/fesm2015/ngrx-store-devtools.js","./node_modules/@ngrx/store/fesm2015/ngrx-store.js","./node_modules/@ngx-pwa/local-storage/fesm2015/ngx-pwa-local-storage.js","./node_modules/@ngx-translate/core/fesm2015/ngx-translate-core.js","./node_modules/@ngx-translate/http-loader/fesm2015/ngx-translate-http-loader.js","./node_modules/@zxing/browser/esm/common/HTMLCanvasElementLuminanceSource.js","./node_modules/@zxing/browser/esm/common/navigator-utils.js","./node_modules/@zxing/browser/esm/index.js","./node_modules/@zxing/browser/esm/readers/BrowserAztecCodeReader.js","./node_modules/@zxing/browser/esm/readers/BrowserCodeReader.js","./node_modules/@zxing/browser/esm/readers/BrowserDatamatrixCodeReader.js","./node_modules/@zxing/browser/esm/readers/BrowserMultiFormatOneDReader.js","./node_modules/@zxing/browser/esm/readers/BrowserMultiFormatReader.js","./node_modules/@zxing/browser/esm/readers/BrowserPDF417Reader.js","./node_modules/@zxing/browser/esm/readers/BrowserQRCodeReader.js","./node_modules/@zxing/browser/esm/writers/BrowserCodeSvgWriter.js","./node_modules/@zxing/browser/esm/writers/BrowserQRCodeSvgWriter.js","./node_modules/@zxing/library/esm/browser.js","./node_modules/@zxing/library/esm/browser/BrowserAztecCodeReader.js","./node_modules/@zxing/library/esm/browser/BrowserBarcodeReader.js","./node_modules/@zxing/library/esm/browser/BrowserCodeReader.js","./node_modules/@zxing/library/esm/browser/BrowserDatamatrixCodeReader.js","./node_modules/@zxing/library/esm/browser/BrowserMultiFormatReader.js","./node_modules/@zxing/library/esm/browser/BrowserPDF417Reader.js","./node_modules/@zxing/library/esm/browser/BrowserQRCodeReader.js","./node_modules/@zxing/library/esm/browser/BrowserQRCodeSvgWriter.js","./node_modules/@zxing/library/esm/browser/HTMLCanvasElementLuminanceSource.js","./node_modules/@zxing/library/esm/browser/VideoInputDevice.js","./node_modules/@zxing/library/esm/core/ArgumentException.js","./node_modules/@zxing/library/esm/core/ArithmeticException.js","./node_modules/@zxing/library/esm/core/ArrayIndexOutOfBoundsException.js","./node_modules/@zxing/library/esm/core/BarcodeFormat.js","./node_modules/@zxing/library/esm/core/Binarizer.js","./node_modules/@zxing/library/esm/core/BinaryBitmap.js","./node_modules/@zxing/library/esm/core/ChecksumException.js","./node_modules/@zxing/library/esm/core/DecodeHintType.js","./node_modules/@zxing/library/esm/core/EncodeHintType.js","./node_modules/@zxing/library/esm/core/Exception.js","./node_modules/@zxing/library/esm/core/FormatException.js","./node_modules/@zxing/library/esm/core/IllegalArgumentException.js","./node_modules/@zxing/library/esm/core/IllegalStateException.js","./node_modules/@zxing/library/esm/core/IndexOutOfBoundsException.js","./node_modules/@zxing/library/esm/core/InvertedLuminanceSource.js","./node_modules/@zxing/library/esm/core/LuminanceSource.js","./node_modules/@zxing/library/esm/core/MultiFormatReader.js","./node_modules/@zxing/library/esm/core/MultiFormatWriter.js","./node_modules/@zxing/library/esm/core/NotFoundException.js","./node_modules/@zxing/library/esm/core/NullPointerException.js","./node_modules/@zxing/library/esm/core/OutOfMemoryError.js","./node_modules/@zxing/library/esm/core/PlanarYUVLuminanceSource.js","./node_modules/@zxing/library/esm/core/RGBLuminanceSource.js","./node_modules/@zxing/library/esm/core/ReaderException.js","./node_modules/@zxing/library/esm/core/ReedSolomonException.js","./node_modules/@zxing/library/esm/core/Result.js","./node_modules/@zxing/library/esm/core/ResultMetadataType.js","./node_modules/@zxing/library/esm/core/ResultPoint.js","./node_modules/@zxing/library/esm/core/UnsupportedOperationException.js","./node_modules/@zxing/library/esm/core/WriterException.js","./node_modules/@zxing/library/esm/core/aztec/AztecDetectorResult.js","./node_modules/@zxing/library/esm/core/aztec/AztecReader.js","./node_modules/@zxing/library/esm/core/aztec/AztecWriter.js","./node_modules/@zxing/library/esm/core/aztec/decoder/Decoder.js","./node_modules/@zxing/library/esm/core/aztec/detector/Detector.js","./node_modules/@zxing/library/esm/core/aztec/encoder/AztecCode.js","./node_modules/@zxing/library/esm/core/aztec/encoder/BinaryShiftToken.js","./node_modules/@zxing/library/esm/core/aztec/encoder/CharMap.js","./node_modules/@zxing/library/esm/core/aztec/encoder/Encoder.js","./node_modules/@zxing/library/esm/core/aztec/encoder/EncoderConstants.js","./node_modules/@zxing/library/esm/core/aztec/encoder/HighLevelEncoder.js","./node_modules/@zxing/library/esm/core/aztec/encoder/LatchTable.js","./node_modules/@zxing/library/esm/core/aztec/encoder/ShiftTable.js","./node_modules/@zxing/library/esm/core/aztec/encoder/SimpleToken.js","./node_modules/@zxing/library/esm/core/aztec/encoder/State.js","./node_modules/@zxing/library/esm/core/aztec/encoder/Token.js","./node_modules/@zxing/library/esm/core/aztec/encoder/TokenHelpers.js","./node_modules/@zxing/library/esm/core/common/BitArray.js","./node_modules/@zxing/library/esm/core/common/BitMatrix.js","./node_modules/@zxing/library/esm/core/common/BitSource.js","./node_modules/@zxing/library/esm/core/common/CharacterSetECI.js","./node_modules/@zxing/library/esm/core/common/DecoderResult.js","./node_modules/@zxing/library/esm/core/common/DefaultGridSampler.js","./node_modules/@zxing/library/esm/core/common/DetectorResult.js","./node_modules/@zxing/library/esm/core/common/GlobalHistogramBinarizer.js","./node_modules/@zxing/library/esm/core/common/GridSampler.js","./node_modules/@zxing/library/esm/core/common/GridSamplerInstance.js","./node_modules/@zxing/library/esm/core/common/HybridBinarizer.js","./node_modules/@zxing/library/esm/core/common/PerspectiveTransform.js","./node_modules/@zxing/library/esm/core/common/StringUtils.js","./node_modules/@zxing/library/esm/core/common/detector/MathUtils.js","./node_modules/@zxing/library/esm/core/common/detector/WhiteRectangleDetector.js","./node_modules/@zxing/library/esm/core/common/reedsolomon/AbstractGenericGF.js","./node_modules/@zxing/library/esm/core/common/reedsolomon/GenericGF.js","./node_modules/@zxing/library/esm/core/common/reedsolomon/GenericGFPoly.js","./node_modules/@zxing/library/esm/core/common/reedsolomon/ReedSolomonDecoder.js","./node_modules/@zxing/library/esm/core/common/reedsolomon/ReedSolomonEncoder.js","./node_modules/@zxing/library/esm/core/datamatrix/DataMatrixReader.js","./node_modules/@zxing/library/esm/core/datamatrix/decoder/BitMatrixParser.js","./node_modules/@zxing/library/esm/core/datamatrix/decoder/DataBlock.js","./node_modules/@zxing/library/esm/core/datamatrix/decoder/DecodedBitStreamParser.js","./node_modules/@zxing/library/esm/core/datamatrix/decoder/Decoder.js","./node_modules/@zxing/library/esm/core/datamatrix/decoder/Version.js","./node_modules/@zxing/library/esm/core/datamatrix/detector/Detector.js","./node_modules/@zxing/library/esm/core/oned/AbstractUPCEANReader.js","./node_modules/@zxing/library/esm/core/oned/Code128Reader.js","./node_modules/@zxing/library/esm/core/oned/Code39Reader.js","./node_modules/@zxing/library/esm/core/oned/EAN13Reader.js","./node_modules/@zxing/library/esm/core/oned/EAN8Reader.js","./node_modules/@zxing/library/esm/core/oned/ITFReader.js","./node_modules/@zxing/library/esm/core/oned/MultiFormatOneDReader.js","./node_modules/@zxing/library/esm/core/oned/MultiFormatUPCEANReader.js","./node_modules/@zxing/library/esm/core/oned/OneDReader.js","./node_modules/@zxing/library/esm/core/oned/UPCAReader.js","./node_modules/@zxing/library/esm/core/oned/UPCEANExtension2Support.js","./node_modules/@zxing/library/esm/core/oned/UPCEANExtension5Support.js","./node_modules/@zxing/library/esm/core/oned/UPCEANExtensionSupport.js","./node_modules/@zxing/library/esm/core/oned/UPCEANReader.js","./node_modules/@zxing/library/esm/core/oned/UPCEReader.js","./node_modules/@zxing/library/esm/core/oned/rss/AbstractRSSReader.js","./node_modules/@zxing/library/esm/core/oned/rss/DataCharacter.js","./node_modules/@zxing/library/esm/core/oned/rss/FinderPattern.js","./node_modules/@zxing/library/esm/core/oned/rss/Pair.js","./node_modules/@zxing/library/esm/core/oned/rss/RSS14Reader.js","./node_modules/@zxing/library/esm/core/oned/rss/RSSUtils.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/BitArrayBuilder.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/ExpandedPair.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/ExpandedRow.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/RSSExpandedReader.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI013103decoder.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01320xDecoder.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01392xDecoder.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01393xDecoder.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI013x0x1xDecoder.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI013x0xDecoder.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01AndOtherAIs.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01decoder.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AI01weightDecoder.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AbstractExpandedDecoder.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AbstractExpandedDecoderComplement.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/AnyAIDecoder.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/BlockParsedResult.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/DecodedChar.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/DecodedInformation.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/DecodedNumeric.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/DecodedObject.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/FieldParser.js","./node_modules/@zxing/library/esm/core/oned/rss/expanded/decoders/GeneralAppIdDecoder.js","./node_modules/@zxing/library/esm/core/pdf417/PDF417Common.js","./node_modules/@zxing/library/esm/core/pdf417/PDF417Reader.js","./node_modules/@zxing/library/esm/core/pdf417/PDF417ResultMetadata.js","./node_modules/@zxing/library/esm/core/pdf417/decoder/BarcodeMetadata.js","./node_modules/@zxing/library/esm/core/pdf417/decoder/BarcodeValue.js","./node_modules/@zxing/library/esm/core/pdf417/decoder/BoundingBox.js","./node_modules/@zxing/library/esm/core/pdf417/decoder/Codeword.js","./node_modules/@zxing/library/esm/core/pdf417/decoder/DecodedBitStreamParser.js","./node_modules/@zxing/library/esm/core/pdf417/decoder/DetectionResult.js","./node_modules/@zxing/library/esm/core/pdf417/decoder/DetectionResultColumn.js","./node_modules/@zxing/library/esm/core/pdf417/decoder/DetectionResultRowIndicatorColumn.js","./node_modules/@zxing/library/esm/core/pdf417/decoder/PDF417CodewordDecoder.js","./node_modules/@zxing/library/esm/core/pdf417/decoder/PDF417ScanningDecoder.js","./node_modules/@zxing/library/esm/core/pdf417/decoder/ec/ErrorCorrection.js","./node_modules/@zxing/library/esm/core/pdf417/decoder/ec/ModulusBase.js","./node_modules/@zxing/library/esm/core/pdf417/decoder/ec/ModulusGF.js","./node_modules/@zxing/library/esm/core/pdf417/decoder/ec/ModulusPoly.js","./node_modules/@zxing/library/esm/core/pdf417/detector/Detector.js","./node_modules/@zxing/library/esm/core/pdf417/detector/PDF417DetectorResult.js","./node_modules/@zxing/library/esm/core/qrcode/QRCodeReader.js","./node_modules/@zxing/library/esm/core/qrcode/QRCodeWriter.js","./node_modules/@zxing/library/esm/core/qrcode/decoder/BitMatrixParser.js","./node_modules/@zxing/library/esm/core/qrcode/decoder/DataBlock.js","./node_modules/@zxing/library/esm/core/qrcode/decoder/DataMask.js","./node_modules/@zxing/library/esm/core/qrcode/decoder/DecodedBitStreamParser.js","./node_modules/@zxing/library/esm/core/qrcode/decoder/Decoder.js","./node_modules/@zxing/library/esm/core/qrcode/decoder/ECB.js","./node_modules/@zxing/library/esm/core/qrcode/decoder/ECBlocks.js","./node_modules/@zxing/library/esm/core/qrcode/decoder/ErrorCorrectionLevel.js","./node_modules/@zxing/library/esm/core/qrcode/decoder/FormatInformation.js","./node_modules/@zxing/library/esm/core/qrcode/decoder/Mode.js","./node_modules/@zxing/library/esm/core/qrcode/decoder/QRCodeDecoderMetaData.js","./node_modules/@zxing/library/esm/core/qrcode/decoder/Version.js","./node_modules/@zxing/library/esm/core/qrcode/detector/AlignmentPattern.js","./node_modules/@zxing/library/esm/core/qrcode/detector/AlignmentPatternFinder.js","./node_modules/@zxing/library/esm/core/qrcode/detector/Detector.js","./node_modules/@zxing/library/esm/core/qrcode/detector/FinderPattern.js","./node_modules/@zxing/library/esm/core/qrcode/detector/FinderPatternFinder.js","./node_modules/@zxing/library/esm/core/qrcode/detector/FinderPatternInfo.js","./node_modules/@zxing/library/esm/core/qrcode/encoder/BlockPair.js","./node_modules/@zxing/library/esm/core/qrcode/encoder/ByteMatrix.js","./node_modules/@zxing/library/esm/core/qrcode/encoder/Encoder.js","./node_modules/@zxing/library/esm/core/qrcode/encoder/MaskUtil.js","./node_modules/@zxing/library/esm/core/qrcode/encoder/MatrixUtil.js","./node_modules/@zxing/library/esm/core/qrcode/encoder/QRCode.js","./node_modules/@zxing/library/esm/core/util/Arrays.js","./node_modules/@zxing/library/esm/core/util/ByteArrayOutputStream.js","./node_modules/@zxing/library/esm/core/util/Charset.js","./node_modules/@zxing/library/esm/core/util/Collections.js","./node_modules/@zxing/library/esm/core/util/Float.js","./node_modules/@zxing/library/esm/core/util/Formatter.js","./node_modules/@zxing/library/esm/core/util/Integer.js","./node_modules/@zxing/library/esm/core/util/Long.js","./node_modules/@zxing/library/esm/core/util/OutputStream.js","./node_modules/@zxing/library/esm/core/util/StandardCharsets.js","./node_modules/@zxing/library/esm/core/util/StringBuilder.js","./node_modules/@zxing/library/esm/core/util/StringEncoding.js","./node_modules/@zxing/library/esm/core/util/System.js","./node_modules/@zxing/library/esm/index.js","./node_modules/@zxing/ngx-scanner/fesm2015/zxing-ngx-scanner.js","./node_modules/base64-js/index.js","./node_modules/buffer/index.js","./node_modules/check-password-strength/index.js","./node_modules/codelyzer/angular/styles/chars.js","./node_modules/crypto-js/core.js","./node_modules/crypto-js/sha1.js","./node_modules/deep-freeze-strict/index.js","./node_modules/dijkstrajs/dijkstra.js","./node_modules/encode-utf8/index.js","./node_modules/exif-js/exif.js","./node_modules/fast-deep-equal/index.js","./node_modules/ieee754/index.js","./node_modules/jquery-slimscroll/jquery.slimscroll.js","./node_modules/jquery/dist/jquery.js","./node_modules/localforage/dist/localforage.js","./node_modules/lodash/lodash.js","./node_modules/moment-duration-format/lib/moment-duration-format.js","./node_modules/moment/locale/af.js","./node_modules/moment/locale/ar-dz.js","./node_modules/moment/locale/ar-kw.js","./node_modules/moment/locale/ar-ly.js","./node_modules/moment/locale/ar-ma.js","./node_modules/moment/locale/ar-sa.js","./node_modules/moment/locale/ar-tn.js","./node_modules/moment/locale/ar.js","./node_modules/moment/locale/az.js","./node_modules/moment/locale/be.js","./node_modules/moment/locale/bg.js","./node_modules/moment/locale/bm.js","./node_modules/moment/locale/bn-bd.js","./node_modules/moment/locale/bn.js","./node_modules/moment/locale/bo.js","./node_modules/moment/locale/br.js","./node_modules/moment/locale/bs.js","./node_modules/moment/locale/ca.js","./node_modules/moment/locale/cs.js","./node_modules/moment/locale/cv.js","./node_modules/moment/locale/cy.js","./node_modules/moment/locale/da.js","./node_modules/moment/locale/de-at.js","./node_modules/moment/locale/de-ch.js","./node_modules/moment/locale/de.js","./node_modules/moment/locale/dv.js","./node_modules/moment/locale/el.js","./node_modules/moment/locale/en-au.js","./node_modules/moment/locale/en-ca.js","./node_modules/moment/locale/en-gb.js","./node_modules/moment/locale/en-ie.js","./node_modules/moment/locale/en-il.js","./node_modules/moment/locale/en-in.js","./node_modules/moment/locale/en-nz.js","./node_modules/moment/locale/en-sg.js","./node_modules/moment/locale/eo.js","./node_modules/moment/locale/es-do.js","./node_modules/moment/locale/es-mx.js","./node_modules/moment/locale/es-us.js","./node_modules/moment/locale/es.js","./node_modules/moment/locale/et.js","./node_modules/moment/locale/eu.js","./node_modules/moment/locale/fa.js","./node_modules/moment/locale/fi.js","./node_modules/moment/locale/fil.js","./node_modules/moment/locale/fo.js","./node_modules/moment/locale/fr-ca.js","./node_modules/moment/locale/fr-ch.js","./node_modules/moment/locale/fr.js","./node_modules/moment/locale/fy.js","./node_modules/moment/locale/ga.js","./node_modules/moment/locale/gd.js","./node_modules/moment/locale/gl.js","./node_modules/moment/locale/gom-deva.js","./node_modules/moment/locale/gom-latn.js","./node_modules/moment/locale/gu.js","./node_modules/moment/locale/he.js","./node_modules/moment/locale/hi.js","./node_modules/moment/locale/hr.js","./node_modules/moment/locale/hu.js","./node_modules/moment/locale/hy-am.js","./node_modules/moment/locale/id.js","./node_modules/moment/locale/is.js","./node_modules/moment/locale/it-ch.js","./node_modules/moment/locale/it.js","./node_modules/moment/locale/ja.js","./node_modules/moment/locale/jv.js","./node_modules/moment/locale/ka.js","./node_modules/moment/locale/kk.js","./node_modules/moment/locale/km.js","./node_modules/moment/locale/kn.js","./node_modules/moment/locale/ko.js","./node_modules/moment/locale/ku.js","./node_modules/moment/locale/ky.js","./node_modules/moment/locale/lb.js","./node_modules/moment/locale/lo.js","./node_modules/moment/locale/lt.js","./node_modules/moment/locale/lv.js","./node_modules/moment/locale/me.js","./node_modules/moment/locale/mi.js","./node_modules/moment/locale/mk.js","./node_modules/moment/locale/ml.js","./node_modules/moment/locale/mn.js","./node_modules/moment/locale/mr.js","./node_modules/moment/locale/ms-my.js","./node_modules/moment/locale/ms.js","./node_modules/moment/locale/mt.js","./node_modules/moment/locale/my.js","./node_modules/moment/locale/nb.js","./node_modules/moment/locale/ne.js","./node_modules/moment/locale/nl-be.js","./node_modules/moment/locale/nl.js","./node_modules/moment/locale/nn.js","./node_modules/moment/locale/oc-lnc.js","./node_modules/moment/locale/pa-in.js","./node_modules/moment/locale/pl.js","./node_modules/moment/locale/pt-br.js","./node_modules/moment/locale/pt.js","./node_modules/moment/locale/ro.js","./node_modules/moment/locale/ru.js","./node_modules/moment/locale/sd.js","./node_modules/moment/locale/se.js","./node_modules/moment/locale/si.js","./node_modules/moment/locale/sk.js","./node_modules/moment/locale/sl.js","./node_modules/moment/locale/sq.js","./node_modules/moment/locale/sr-cyrl.js","./node_modules/moment/locale/sr.js","./node_modules/moment/locale/ss.js","./node_modules/moment/locale/sv.js","./node_modules/moment/locale/sw.js","./node_modules/moment/locale/ta.js","./node_modules/moment/locale/te.js","./node_modules/moment/locale/tet.js","./node_modules/moment/locale/tg.js","./node_modules/moment/locale/th.js","./node_modules/moment/locale/tk.js","./node_modules/moment/locale/tl-ph.js","./node_modules/moment/locale/tlh.js","./node_modules/moment/locale/tr.js","./node_modules/moment/locale/tzl.js","./node_modules/moment/locale/tzm-latn.js","./node_modules/moment/locale/tzm.js","./node_modules/moment/locale/ug-cn.js","./node_modules/moment/locale/uk.js","./node_modules/moment/locale/ur.js","./node_modules/moment/locale/uz-latn.js","./node_modules/moment/locale/uz.js","./node_modules/moment/locale/vi.js","./node_modules/moment/locale/x-pseudo.js","./node_modules/moment/locale/yo.js","./node_modules/moment/locale/zh-cn.js","./node_modules/moment/locale/zh-hk.js","./node_modules/moment/locale/zh-mo.js","./node_modules/moment/locale/zh-tw.js","./node_modules/moment/moment.js","./node_modules/ng-qrcode/fesm2015/ng-qrcode.js","./node_modules/ngrx-store-freeze/es6/index.js","./node_modules/ngrx-store-freeze/es6/src/index.js","./node_modules/ngrx-store-logger/dist/index.js","./node_modules/ngx-device-detector/fesm2015/ngx-device-detector.js","./node_modules/ngx-pagination/dist/ngx-pagination.js","./node_modules/pdfjs-dist/build/pdf.js","./node_modules/pdfjs-dist/web/pdf_viewer.js","./node_modules/preact/compat/dist/compat.module.js","./node_modules/preact/dist/preact.module.js","./node_modules/preact/hooks/dist/hooks.module.js","./node_modules/primeng/fesm2015/primeng-accordion.js","./node_modules/primeng/fesm2015/primeng-api.js","./node_modules/primeng/fesm2015/primeng-badge.js","./node_modules/primeng/fesm2015/primeng-blockui.js","./node_modules/primeng/fesm2015/primeng-button.js","./node_modules/primeng/fesm2015/primeng-calendar.js","./node_modules/primeng/fesm2015/primeng-checkbox.js","./node_modules/primeng/fesm2015/primeng-dialog.js","./node_modules/primeng/fesm2015/primeng-dom.js","./node_modules/primeng/fesm2015/primeng-dropdown.js","./node_modules/primeng/fesm2015/primeng-fileupload.js","./node_modules/primeng/fesm2015/primeng-focustrap.js","./node_modules/primeng/fesm2015/primeng-inputnumber.js","./node_modules/primeng/fesm2015/primeng-inputswitch.js","./node_modules/primeng/fesm2015/primeng-inputtext.js","./node_modules/primeng/fesm2015/primeng-inputtextarea.js","./node_modules/primeng/fesm2015/primeng-listbox.js","./node_modules/primeng/fesm2015/primeng-menu.js","./node_modules/primeng/fesm2015/primeng-menubar.js","./node_modules/primeng/fesm2015/primeng-messages.js","./node_modules/primeng/fesm2015/primeng-overlaypanel.js","./node_modules/primeng/fesm2015/primeng-paginator.js","./node_modules/primeng/fesm2015/primeng-panel.js","./node_modules/primeng/fesm2015/primeng-panelmenu.js","./node_modules/primeng/fesm2015/primeng-progressbar.js","./node_modules/primeng/fesm2015/primeng-progressspinner.js","./node_modules/primeng/fesm2015/primeng-ripple.js","./node_modules/primeng/fesm2015/primeng-selectbutton.js","./node_modules/primeng/fesm2015/primeng-slider.js","./node_modules/primeng/fesm2015/primeng-splitbutton.js","./node_modules/primeng/fesm2015/primeng-table.js","./node_modules/primeng/fesm2015/primeng-tabview.js","./node_modules/primeng/fesm2015/primeng-toast.js","./node_modules/primeng/fesm2015/primeng-togglebutton.js","./node_modules/primeng/fesm2015/primeng-tooltip.js","./node_modules/primeng/fesm2015/primeng-tristatecheckbox.js","./node_modules/primeng/fesm2015/primeng-utils.js","./node_modules/qrcode/lib/browser.js","./node_modules/qrcode/lib/can-promise.js","./node_modules/qrcode/lib/core/alignment-pattern.js","./node_modules/qrcode/lib/core/alphanumeric-data.js","./node_modules/qrcode/lib/core/bit-buffer.js","./node_modules/qrcode/lib/core/bit-matrix.js","./node_modules/qrcode/lib/core/byte-data.js","./node_modules/qrcode/lib/core/error-correction-code.js","./node_modules/qrcode/lib/core/error-correction-level.js","./node_modules/qrcode/lib/core/finder-pattern.js","./node_modules/qrcode/lib/core/format-info.js","./node_modules/qrcode/lib/core/galois-field.js","./node_modules/qrcode/lib/core/kanji-data.js","./node_modules/qrcode/lib/core/mask-pattern.js","./node_modules/qrcode/lib/core/mode.js","./node_modules/qrcode/lib/core/numeric-data.js","./node_modules/qrcode/lib/core/polynomial.js","./node_modules/qrcode/lib/core/qrcode.js","./node_modules/qrcode/lib/core/reed-solomon-encoder.js","./node_modules/qrcode/lib/core/regex.js","./node_modules/qrcode/lib/core/segments.js","./node_modules/qrcode/lib/core/utils.js","./node_modules/qrcode/lib/core/version-check.js","./node_modules/qrcode/lib/core/version.js","./node_modules/qrcode/lib/renderer/canvas.js","./node_modules/qrcode/lib/renderer/svg-tag.js","./node_modules/qrcode/lib/renderer/utils.js","./node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","./node_modules/rxjs/dist/esm/internal/Notification.js","./node_modules/rxjs/dist/esm/internal/NotificationFactories.js","./node_modules/rxjs/dist/esm/internal/Observable.js","./node_modules/rxjs/dist/esm/internal/ReplaySubject.js","./node_modules/rxjs/dist/esm/internal/Scheduler.js","./node_modules/rxjs/dist/esm/internal/Subject.js","./node_modules/rxjs/dist/esm/internal/Subscriber.js","./node_modules/rxjs/dist/esm/internal/Subscription.js","./node_modules/rxjs/dist/esm/internal/config.js","./node_modules/rxjs/dist/esm/internal/firstValueFrom.js","./node_modules/rxjs/dist/esm/internal/lastValueFrom.js","./node_modules/rxjs/dist/esm/internal/observable/ConnectableObservable.js","./node_modules/rxjs/dist/esm/internal/observable/combineLatest.js","./node_modules/rxjs/dist/esm/internal/observable/concat.js","./node_modules/rxjs/dist/esm/internal/observable/defer.js","./node_modules/rxjs/dist/esm/internal/observable/empty.js","./node_modules/rxjs/dist/esm/internal/observable/forkJoin.js","./node_modules/rxjs/dist/esm/internal/observable/from.js","./node_modules/rxjs/dist/esm/internal/observable/fromEvent.js","./node_modules/rxjs/dist/esm/internal/observable/innerFrom.js","./node_modules/rxjs/dist/esm/internal/observable/interval.js","./node_modules/rxjs/dist/esm/internal/observable/merge.js","./node_modules/rxjs/dist/esm/internal/observable/of.js","./node_modules/rxjs/dist/esm/internal/observable/race.js","./node_modules/rxjs/dist/esm/internal/observable/throwError.js","./node_modules/rxjs/dist/esm/internal/observable/timer.js","./node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","./node_modules/rxjs/dist/esm/internal/operators/audit.js","./node_modules/rxjs/dist/esm/internal/operators/auditTime.js","./node_modules/rxjs/dist/esm/internal/operators/bufferCount.js","./node_modules/rxjs/dist/esm/internal/operators/catchError.js","./node_modules/rxjs/dist/esm/internal/operators/concatAll.js","./node_modules/rxjs/dist/esm/internal/operators/concatMap.js","./node_modules/rxjs/dist/esm/internal/operators/debounce.js","./node_modules/rxjs/dist/esm/internal/operators/debounceTime.js","./node_modules/rxjs/dist/esm/internal/operators/defaultIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/delay.js","./node_modules/rxjs/dist/esm/internal/operators/delayWhen.js","./node_modules/rxjs/dist/esm/internal/operators/dematerialize.js","./node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js","./node_modules/rxjs/dist/esm/internal/operators/exhaustMap.js","./node_modules/rxjs/dist/esm/internal/operators/filter.js","./node_modules/rxjs/dist/esm/internal/operators/finalize.js","./node_modules/rxjs/dist/esm/internal/operators/first.js","./node_modules/rxjs/dist/esm/internal/operators/groupBy.js","./node_modules/rxjs/dist/esm/internal/operators/ignoreElements.js","./node_modules/rxjs/dist/esm/internal/operators/last.js","./node_modules/rxjs/dist/esm/internal/operators/map.js","./node_modules/rxjs/dist/esm/internal/operators/mapTo.js","./node_modules/rxjs/dist/esm/internal/operators/materialize.js","./node_modules/rxjs/dist/esm/internal/operators/mergeAll.js","./node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js","./node_modules/rxjs/dist/esm/internal/operators/mergeMap.js","./node_modules/rxjs/dist/esm/internal/operators/observeOn.js","./node_modules/rxjs/dist/esm/internal/operators/pairwise.js","./node_modules/rxjs/dist/esm/internal/operators/pluck.js","./node_modules/rxjs/dist/esm/internal/operators/reduce.js","./node_modules/rxjs/dist/esm/internal/operators/refCount.js","./node_modules/rxjs/dist/esm/internal/operators/scan.js","./node_modules/rxjs/dist/esm/internal/operators/scanInternals.js","./node_modules/rxjs/dist/esm/internal/operators/share.js","./node_modules/rxjs/dist/esm/internal/operators/shareReplay.js","./node_modules/rxjs/dist/esm/internal/operators/skip.js","./node_modules/rxjs/dist/esm/internal/operators/startWith.js","./node_modules/rxjs/dist/esm/internal/operators/subscribeOn.js","./node_modules/rxjs/dist/esm/internal/operators/switchMap.js","./node_modules/rxjs/dist/esm/internal/operators/take.js","./node_modules/rxjs/dist/esm/internal/operators/takeLast.js","./node_modules/rxjs/dist/esm/internal/operators/takeUntil.js","./node_modules/rxjs/dist/esm/internal/operators/takeWhile.js","./node_modules/rxjs/dist/esm/internal/operators/tap.js","./node_modules/rxjs/dist/esm/internal/operators/throttle.js","./node_modules/rxjs/dist/esm/internal/operators/throttleTime.js","./node_modules/rxjs/dist/esm/internal/operators/throwIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/timeout.js","./node_modules/rxjs/dist/esm/internal/operators/toArray.js","./node_modules/rxjs/dist/esm/internal/operators/withLatestFrom.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","./node_modules/rxjs/dist/esm/internal/scheduler/Action.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/QueueAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/QueueScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrame.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/asap.js","./node_modules/rxjs/dist/esm/internal/scheduler/async.js","./node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/immediateProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/queue.js","./node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","./node_modules/rxjs/dist/esm/internal/symbol/iterator.js","./node_modules/rxjs/dist/esm/internal/symbol/observable.js","./node_modules/rxjs/dist/esm/internal/util/EmptyError.js","./node_modules/rxjs/dist/esm/internal/util/Immediate.js","./node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","./node_modules/rxjs/dist/esm/internal/util/args.js","./node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js","./node_modules/rxjs/dist/esm/internal/util/argsOrArgArray.js","./node_modules/rxjs/dist/esm/internal/util/arrRemove.js","./node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","./node_modules/rxjs/dist/esm/internal/util/createObject.js","./node_modules/rxjs/dist/esm/internal/util/errorContext.js","./node_modules/rxjs/dist/esm/internal/util/executeSchedule.js","./node_modules/rxjs/dist/esm/internal/util/identity.js","./node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","./node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/util/isDate.js","./node_modules/rxjs/dist/esm/internal/util/isFunction.js","./node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","./node_modules/rxjs/dist/esm/internal/util/isIterable.js","./node_modules/rxjs/dist/esm/internal/util/isObservable.js","./node_modules/rxjs/dist/esm/internal/util/isPromise.js","./node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/util/isScheduler.js","./node_modules/rxjs/dist/esm/internal/util/lift.js","./node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js","./node_modules/rxjs/dist/esm/internal/util/noop.js","./node_modules/rxjs/dist/esm/internal/util/pipe.js","./node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","./node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","./node_modules/ts-md5/dist/md5.js","./node_modules/twix/dist/twix.js","./src/app/components/wl-clockpicker/scr/clockpicker.js","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/app.route.ts","./src/app/components/components.module.ts","./src/app/components/dialogs/tx-time-tracking/tx-time-tracking.dialog.ts","./src/app/components/dialogs/tx-time-tracking/tx-time-tracking.dialog.html","./src/app/components/personaloffice/tx-dayview/tx-dayview.component.html","./src/app/components/personaloffice/tx-dayview/tx-dayview.component.ts","./src/app/components/personaloffice/tx-personal-files/dialogs/tx-personal-files.dialog.component.ts","./src/app/components/personaloffice/tx-personal-files/dialogs/tx-personal-files.dialog.component.html","./src/app/components/personaloffice/tx-personal-files/time-model-one-changed/tx-personal-files.tmoc.dialog.ts","./src/app/components/personaloffice/tx-personal-files/time-model-one-changed/tx-personal-files.tmoc.dialog.html","./src/app/components/personaloffice/tx-personal-files/tx-personal-files.component.ts","./src/app/components/personaloffice/tx-personal-files/tx-personal-files.component.html","./src/app/components/personaloffice/tx-po-accounts/tx-po-accounts.component.ts","./src/app/components/personaloffice/tx-po-accounts/tx-po-accounts.component.html","./src/app/components/personaloffice/tx-po-time-account/tx-po-time-account.component.ts","./src/app/components/personaloffice/tx-po-time-account/tx-po-time-account.component.html","./src/app/components/personaloffice/tx-teamconfiguration/dialogs/tx-create-teamleader/tx-create-team-leader.dialog.component.ts","./src/app/components/personaloffice/tx-teamconfiguration/dialogs/tx-create-teamleader/tx-create-team-leader.dialog.component.html","./src/app/components/personaloffice/tx-teamconfiguration/tx-teamconfiguration.component.ts","./src/app/components/personaloffice/tx-teamconfiguration/tx-teamconfiguration.component.html","./src/app/components/personaloffice/tx-time-beam/tx-time-beam.component.ts","./src/app/components/personaloffice/tx-time-beam/tx-time-beam.component.html","./src/app/components/projectoffice/tx-project-office-workstep-dialog/tx-project-office-workstep-dialog.component.ts","./src/app/components/projectoffice/tx-project-office-workstep-dialog/tx-project-office-workstep-dialog.component.html","./src/app/components/projectoffice/tx-project-office-worksteps-dialog/tx-project-office-worksteps-dialog.component.ts","./src/app/components/projectoffice/tx-project-office-worksteps-dialog/tx-project-office-worksteps-dialog.component.html","./src/app/components/projectoffice/tx-project-office/tx-project-office.component.ts","./src/app/components/projectoffice/tx-project-office/tx-project-office.component.html","./src/app/components/projectoffice/tx-projects-office/tx-projects-office.component.ts","./src/app/components/projectoffice/tx-projects-office/tx-projects-office.component.html","./src/app/components/tx-apply-booking/tx-apply-booking.component.ts","./src/app/components/tx-apply-booking/tx-apply-booking.component.html","./src/app/components/tx-bde-assignment/tx-bde-assignment.component.ts","./src/app/components/tx-bde-assignment/tx-bde-assignment.component.html","./src/app/components/tx-bde/dialogs/tx-barcode-scanner.component.ts","./src/app/components/tx-bde/dialogs/tx-barcode-scanner.component.html","./src/app/components/tx-bde/tx-bde.component.ts","./src/app/components/tx-bde/tx-bde.component.html","./src/app/components/tx-blockable-div/tx-blockable-div.component.ts","./src/app/components/tx-buchungen/txbuchungen.component.ts","./src/app/components/tx-buchungen/txbuchungen.component.html","./src/app/components/tx-chat/tx-chat.component.ts","./src/app/components/tx-chat/tx-chat.component.html","./src/app/components/tx-code-scanner/tx-code-scanner.component.ts","./src/app/components/tx-code-scanner/tx-code-scanner.component.html","./src/app/components/tx-error/tx-error.component.ts","./src/app/components/tx-error/tx-error.template.html","./src/app/components/tx-event/tx-event.component.ts","./src/app/components/tx-event/tx-event.component.html","./src/app/components/tx-help/tx-help.component.ts","./src/app/components/tx-help/tx-help.component.html","./src/app/components/tx-imageupload/tx-imageupload.component.ts","./src/app/components/tx-imageupload/tx-imageupload.component.html","./src/app/components/tx-kalender/txkalender.component.ts","./src/app/components/tx-kalender/txkalender.component.html","./src/app/components/tx-login/tx-login.component.ts","./src/app/components/tx-login/tx-login.template.html","./src/app/components/tx-messagecenter/client/tx-messagecenter-client.component.ts","./src/app/components/tx-messagecenter/client/tx-messagecenter-client.component.html","./src/app/components/tx-messagecenter/tx-messagecenter.component.ts","./src/app/components/tx-messagecenter/tx-messagecenter.component.html","./src/app/components/tx-modal-pdf/tx-modal-pdf.component.ts","./src/app/components/tx-modal-pdf/tx-modal-pdf.component.html","./src/app/components/tx-my-account/tx-my-account.component.ts","./src/app/components/tx-my-account/tx-my-account.component.html","./src/app/components/tx-planing/tx-planing-plan-dialog/tx-planing-plan-dialog.component.ts","./src/app/components/tx-planing/tx-planing-plan-dialog/tx-planing-plan-dialog.component.html","./src/app/components/tx-planing/tx-planing-plans-dialog/tx-planing-plans-dialog.component.ts","./src/app/components/tx-planing/tx-planing-plans-dialog/tx-planing-plans-dialog.component.html","./src/app/components/tx-planing/tx-planing-select-plan-dialog/tx-planing-select-plan-dialog.component.ts","./src/app/components/tx-planing/tx-planing-select-plan-dialog/tx-planing-select-plan-dialog.component.html","./src/app/components/tx-planing/tx-planing.component.ts","./src/app/components/tx-planing/tx-planing.component.html","./src/app/components/tx-scheduler/dialogs/tx-scheduler-fz/tx-scheduler-fz.dialog.component.ts","./src/app/components/tx-scheduler/dialogs/tx-scheduler-fz/tx-scheduler-fz.dialog.component.html","./src/app/components/tx-scheduler/dialogs/tx-select-type-dialog/tx-select-type.dialog.component.ts","./src/app/components/tx-scheduler/dialogs/tx-select-type-dialog/tx-select-type.dialog.component.html","./src/app/components/tx-scheduler/dialogs/tx-warning-dialog/tx-warning.dialog.component.ts","./src/app/components/tx-scheduler/dialogs/tx-warning-dialog/tx-warning.dialog.component.html","./src/app/components/tx-scheduler/tx-scheduler-bde/tx-scheduler-bde.component.ts","./src/app/components/tx-scheduler/tx-scheduler-bde/tx-scheduler-bde.component.html","./src/app/components/tx-scheduler/tx-scheduler-pze/tx-scheduler-pze.component.ts","./src/app/components/tx-scheduler/tx-scheduler-pze/tx-scheduler-pze.component.html","./src/app/components/tx-scheduler/tx-scheduler.component.ts","./src/app/components/tx-scheduler/tx-scheduler.component.html","./src/app/components/tx-teamleaderprotocol/tx-teamleaderprotocol.component.ts","./src/app/components/tx-teamleaderprotocol/tx-teamleaderprotocol.component.html","./src/app/components/tx-teamleiter/dialogs/tx-teamleiter-fsc/tx-teamleiter-fsc.dialog.component.ts","./src/app/components/tx-teamleiter/dialogs/tx-teamleiter-fsc/tx-teamleiter-fsc.dialog.component.html","./src/app/components/tx-teamleiter/txteamleiter.component.ts","./src/app/components/tx-teamleiter/txteamleiter.component.html","./src/app/components/tx-timemodels/tx-timemodels.component.ts","./src/app/components/tx-timemodels/tx-timemodels.component.html","./src/app/components/tx-welcome/tx-welcome.component.ts","./src/app/components/tx-welcome/tx-welcome.component.html","./src/app/components/tx-workflow-calendar/tx-workflow-calendar.component.ts","./src/app/components/tx-workflow-calendar/tx-workflow-calendar.component.html","./src/app/components/tx-workflow/txworkflow.component.ts","./src/app/components/tx-workflow/txworkflow.component.html","./src/app/components/tx-zeitkonto/chart/tx-time-sums-chart.component.ts","./src/app/components/tx-zeitkonto/chart/tx-time-sums-chart.component.html","./src/app/components/tx-zeitkonto/tx-zeitkonto.component.ts","./src/app/components/tx-zeitkonto/txzeitkonto.component.html","./src/app/components/wl-clockpicker/wl-clockpicker.component.ts","./src/app/components/wl-clockpicker/wl-clockpicker.template.html","./src/app/globalConstants.ts","./src/app/index.ts","./src/app/layout/infocenter/infocenter.component.ts","./src/app/layout/infocenter/infocenter.template.html","./src/app/layout/infocenter/infocenter.pipe.ts","./src/app/layout/layout.component.ts","./src/app/layout/layout.component.html","./src/app/layout/list-content/list-content.component.ts","./src/app/layout/list-content/list-content.component.html","./src/app/layout/navbar/navbar.component.ts","./src/app/layout/navbar/navbar.template.html","./src/app/layout/sidebar/sidebar.component.ts","./src/app/layout/sidebar/sidebar.template.html","./src/app/shared/adapter/tx-date-adapter.ts","./src/app/shared/directives/confirm-dialog-click.directive.ts","./src/app/shared/directives/equal-validator.directive.ts","./src/app/shared/directives/masked-input.directive.ts","./src/app/shared/directives/stop-click-propagation.directive.ts","./src/app/shared/helpers/index.ts","./src/app/shared/interceptors/request-queue.interceptor.ts","./src/app/shared/interceptors/valid-session.interceptor.ts","./src/app/shared/interfaces/CameraConfig.ts","./src/app/shared/interfaces/PersonalAccountsConfig.ts","./src/app/shared/interfaces/PlaningConfig.ts","./src/app/shared/interfaces/ProjectFilter.ts","./src/app/shared/interfaces/bde.ts","./src/app/shared/interfaces/bdebuchung.ts","./src/app/shared/interfaces/buchungen.ts","./src/app/shared/interfaces/my-account.ts","./src/app/shared/interfaces/protokollInfocenter.ts","./src/app/shared/interfaces/scheduler.ts","./src/app/shared/interfaces/session.ts","./src/app/shared/interfaces/user-info.ts","./src/app/shared/interfaces/workflow.ts","./src/app/shared/pipes/array.pipe.ts","./src/app/shared/pipes/coTime.pipe.ts","./src/app/shared/pipes/filter.pipe.ts","./src/app/shared/pipes/group-filter.pipe.ts","./src/app/shared/pipes/moment.pipe.ts","./src/app/shared/pipes/objtoArr.pipe.ts","./src/app/shared/pipes/sort.pipe.ts","./src/app/shared/pipes/stringFilter.pipe.ts","./src/app/shared/pipes/timeFormat.pipe.ts","./src/app/shared/pipes/zeroFill.pipe.ts","./src/app/shared/resolver/contracts.resolver.ts","./src/app/shared/resolver/department.resolver.ts","./src/app/shared/resolver/employeeGroups.resolver.ts","./src/app/shared/resolver/kst.resolver.ts","./src/app/shared/resolver/messages-client.resolve.ts","./src/app/shared/resolver/plan-calendar.resolver.ts","./src/app/shared/resolver/plans.resolver.ts","./src/app/shared/resolver/po-employee-relations.resolver.ts","./src/app/shared/resolver/po-teamleader.resolver.ts","./src/app/shared/resolver/po-teams.resolver.ts","./src/app/shared/resolver/po-timemodeldetail.resolver.ts","./src/app/shared/resolver/po-timemodels.resolver.ts","./src/app/shared/resolver/po-typelists.resolver.ts","./src/app/shared/resolver/po-user-detail.resolver.ts","./src/app/shared/resolver/po-users.resolver.ts","./src/app/shared/resolver/project-office-calendar-group.resolver.ts","./src/app/shared/resolver/project-office-detail-bookings.resolver.ts","./src/app/shared/resolver/project-office-detail.resolver.ts","./src/app/shared/resolver/project-office-list.resolver.ts","./src/app/shared/resolver/project-office-projectStates.resolver.ts","./src/app/shared/resolver/project-office-workstepTypes.resolver.ts","./src/app/shared/resolver/project-office-worksteps.resolver.ts","./src/app/shared/resolver/reports.resolver.ts","./src/app/shared/resolver/teamleader-calendar.resolver.ts","./src/app/shared/services/activebde.service.ts","./src/app/shared/services/appconfig.service.ts","./src/app/shared/services/auth-guard.service.ts","./src/app/shared/services/auth.service.ts","./src/app/shared/services/booking.service.ts","./src/app/shared/services/calendar-pze.service.ts","./src/app/shared/services/calendar.service.ts","./src/app/shared/services/connection-state.service.ts","./src/app/shared/services/data.service.ts","./src/app/shared/services/errorlogger.service.ts","./src/app/shared/services/formatdate.service.ts","./src/app/shared/services/geodata.service.ts","./src/app/shared/services/heartbeat.service.ts","./src/app/shared/services/image-upload.service.ts","./src/app/shared/services/infocenter.service.ts","./src/app/shared/services/leave-guard.service.ts","./src/app/shared/services/local-storage.service.ts","./src/app/shared/services/message-center.service.ts","./src/app/shared/services/messenger.service.ts","./src/app/shared/services/navigation.service.ts","./src/app/shared/services/personal-office.service.ts","./src/app/shared/services/plans.service.ts","./src/app/shared/services/project-office.service.ts","./src/app/shared/services/stalled-requests.service.ts","./src/app/shared/services/tabstate.service.ts","./src/app/shared/services/team-member.service.ts","./src/app/shared/services/teamleader.service.ts","./src/app/shared/services/terminal.service.ts","./src/app/shared/services/tl-protocol.service.ts","./src/app/shared/services/txapi.service.ts","./src/app/shared/services/txreportapi.service.ts","./src/app/shared/services/user-info.service.ts","./src/app/shared/services/user-status.service.ts","./src/app/shared/services/vibration.service.ts","./src/app/shared/services/workflow.service.ts","./src/app/shared/shared.module.ts","./src/app/store/actions/data.actions.ts","./src/app/store/actions/events.actions.ts","./src/app/store/actions/index.ts","./src/app/store/actions/message-center.actions.ts","./src/app/store/actions/personal-office.actions.ts","./src/app/store/actions/plans.actions.ts","./src/app/store/actions/project-office.actions.ts","./src/app/store/actions/reports.actions.ts","./src/app/store/actions/teamleader.actions.ts","./src/app/store/actions/timemodel.actions.ts","./src/app/store/actions/user-state.actions.ts","./src/app/store/actions/user.actions.ts","./src/app/store/effects/data.effects.ts","./src/app/store/effects/events.effects.ts","./src/app/store/effects/message-center.effects.ts","./src/app/store/effects/personal-office.effects.ts","./src/app/store/effects/plans.effects.ts","./src/app/store/effects/project-office.effects.ts","./src/app/store/effects/reports.effects.ts","./src/app/store/effects/teamleader.effects.ts","./src/app/store/effects/timemodel.effects.ts","./src/app/store/effects/user-state.effects.ts","./src/app/store/effects/user.effects.ts","./src/app/store/entities/Api/EmployeeDetail.response.ts","./src/app/store/entities/Api/ListOfAuftragResponse.ts","./src/app/store/entities/Api/ListOfCalendarGroupResponse.ts","./src/app/store/entities/Api/ListOfDataListItemResponse.ts","./src/app/store/entities/Api/ListOfDepartment.response.ts","./src/app/store/entities/Api/ListOfEmployeeGroup.response.ts","./src/app/store/entities/Api/ListOfEmployeeHolidayAccount.response.ts","./src/app/store/entities/Api/ListOfEmploymentRelation.ts","./src/app/store/entities/Api/ListOfKST.response.ts","./src/app/store/entities/Api/ListOfMessage.response.ts","./src/app/store/entities/Api/ListOfPlanCalendarResponse.ts","./src/app/store/entities/Api/ListOfPlanItemResponse.ts","./src/app/store/entities/Api/ListOfPlanResponse.ts","./src/app/store/entities/Api/ListOfProjectResponse.ts","./src/app/store/entities/Api/ListOfStatesResponse.ts","./src/app/store/entities/Api/ListOfTeam.response.ts","./src/app/store/entities/Api/ListOfTeamleaderAssignmentResponse.ts","./src/app/store/entities/Api/ListOfTeamleaderResponse.ts","./src/app/store/entities/Api/ListOfTimeModelResponse.ts","./src/app/store/entities/Api/ListOfUserPermissionResponse.ts","./src/app/store/entities/Api/ListOfWorkstepResponse.ts","./src/app/store/entities/Api/MessageHead.response.ts","./src/app/store/entities/Api/MessageHeadEntity.ts","./src/app/store/entities/Api/Report.response.ts","./src/app/store/entities/Api/TimeModelDetailResponse.ts","./src/app/store/entities/CalendarGroupEntity.ts","./src/app/store/entities/ContractEntity.ts","./src/app/store/entities/EmployeeEntity.ts","./src/app/store/entities/EmployeeRelation.ts","./src/app/store/entities/EmployeeTeamleaderAssingmentEntity.ts","./src/app/store/entities/ListOfDepartmentEntity.ts","./src/app/store/entities/ListOfEmployeeGroupEntity.ts","./src/app/store/entities/ListOfEmployeeHolidayAccountEntity.ts","./src/app/store/entities/ListOfKSTEntity.ts","./src/app/store/entities/MessageEntity.ts","./src/app/store/entities/NotificationEntity.ts","./src/app/store/entities/Permissions.ts","./src/app/store/entities/PlanCalendarEntity.ts","./src/app/store/entities/PlanEntity.ts","./src/app/store/entities/ProjectBookingEntity.ts","./src/app/store/entities/ProjectDetailEntity.ts","./src/app/store/entities/ProjectEntity.ts","./src/app/store/entities/ProjectStateEntity.ts","./src/app/store/entities/ReportEntity.ts","./src/app/store/entities/StateEntity.ts","./src/app/store/entities/TeamEntity.ts","./src/app/store/entities/TeamLeaderEntity.ts","./src/app/store/entities/TimeModelDetailEntity.ts","./src/app/store/entities/TimemodelEntity.ts","./src/app/store/entities/TypeEntity.ts","./src/app/store/entities/UserPermissionEntity.ts","./src/app/store/entities/WorkstepEntity.ts","./src/app/store/entities/WorkstepTypeEntity.ts","./src/app/store/reducers/data.reducer.ts","./src/app/store/reducers/events.reducer.ts","./src/app/store/reducers/index.ts","./src/app/store/reducers/message-center.reducer.ts","./src/app/store/reducers/personal-office.reducer.ts","./src/app/store/reducers/plans.reducer.ts","./src/app/store/reducers/project-office.reducer.ts","./src/app/store/reducers/reports.reducer.ts","./src/app/store/reducers/teamleader.reducer.ts","./src/app/store/reducers/user-state.reducer.ts","./src/app/store/reducers/user.reducer.ts","./src/app/store/selectors/data.selectors.ts","./src/app/store/selectors/message-center.selectors.ts","./src/app/store/selectors/personal-office.selectors.ts","./src/app/store/selectors/plans.selectors.ts","./src/app/store/selectors/project-office.selectors.ts","./src/app/store/selectors/reports.selectors.ts","./src/app/store/selectors/teamleader.selectors.ts","./src/app/store/selectors/user-state.selectors.ts","./src/app/store/selectors/user.selectors.ts","./src/app/store/store.module.ts","./src/app/widgets/tx-list/tx-list.component.ts","./src/app/widgets/tx-list/tx-list.component.html","./src/app/widgets/tx-progressbar/tx-progressbar.component.html","./src/app/widgets/tx-progressbar/tx-progressbar.component.ts","./src/app/widgets/widgets.module.ts","./src/environments/environment.test.ts","./src/hmr.ts","./src/main.ts","./node_modules/@babel/runtime/helpers/asyncToGenerator.js","./node_modules/tslib/tslib.es6.js","/home/runner/work/txportal/txportal/node_modules/moment/locale|sync|/^\\.\\/.*$/","ignored|/home/runner/work/txportal/txportal/node_modules/pdfjs-dist/build|canvas","ignored|/home/runner/work/txportal/txportal/node_modules/pdfjs-dist/build|fs","ignored|/home/runner/work/txportal/txportal/node_modules/pdfjs-dist/build|http","ignored|/home/runner/work/txportal/txportal/node_modules/pdfjs-dist/build|https","ignored|/home/runner/work/txportal/txportal/node_modules/pdfjs-dist/build|url","ignored|/home/runner/work/txportal/txportal/node_modules/pdfjs-dist/build|zlib","./node_modules/chroma-js/chroma.js","./node_modules/@w11k/angular-sticky-things/fesm2015/w11k-angular-sticky-things.mjs","./node_modules/chart.js/dist/chart.mjs","./node_modules/chart.js/dist/chunks/helpers.segment.mjs","./node_modules/idb-keyval/dist/idb-keyval.mjs","./node_modules/ng2-pdf-viewer/fesm2015/ng2-pdf-viewer.mjs","./node_modules/ngx-drag-drop/fesm2015/ngx-drag-drop.mjs","./node_modules/ngx-mask/fesm2015/ngx-mask.mjs","./node_modules/ngx-mat-select-search/fesm2015/ngx-mat-select-search.mjs","./node_modules/ts-custom-error/dist/custom-error.mjs","./node_modules/workbox-window/build/workbox-window.prod.es5.mjs","./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(() => {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { ComponentPortal, PortalModule } from '@angular/cdk/portal';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { EventEmitter, Component, ViewEncapsulation, Output, Input, Directive, NgZone, Injectable, InjectionToken, ChangeDetectionStrategy, ElementRef, ViewChild, Optional, Inject, ViewContainerRef, forwardRef, ChangeDetectorRef, HostListener, NgModule } from '@angular/core';\nimport { FormGroup, FormControl, Validators, NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MAT_INPUT_VALUE_ACCESSOR, MatInputModule } from '@angular/material/input';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { Subject, merge, Subscription, of } from 'rxjs';\nimport { takeUntil, debounceTime, distinctUntilChanged, take, filter } from 'rxjs/operators';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ESCAPE, UP_ARROW, DOWN_ARROW } from '@angular/cdk/keycodes';\nimport { Overlay, OverlayConfig } from '@angular/cdk/overlay';\nimport { mixinColor } from '@angular/material/core';\nimport { matDatepickerAnimations } from '@angular/material/datepicker';\nimport { MatFormField } from '@angular/material/form-field';\n\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/forms';\nimport * as ɵngcc2 from '@angular/material/form-field';\nimport * as ɵngcc3 from '@angular/material/input';\nimport * as ɵngcc4 from '@angular/material/button';\nimport * as ɵngcc5 from '@angular/common';\nimport * as ɵngcc6 from '@angular/material/dialog';\nimport * as ɵngcc7 from '@angular/cdk/overlay';\nimport * as ɵngcc8 from '@angular/cdk/bidi';\nimport * as ɵngcc9 from '@angular/material/icon';\n\nconst _c0 = function (a0) { return { \"active\": a0 }; };\nfunction NgxMatColorCollectionComponent_button_1_Template(rf, ctx) { if (rf & 1) {\n const _r4 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"button\", 2);\n ɵngcc0.ɵɵlistener(\"click\", function NgxMatColorCollectionComponent_button_1_Template_button_click_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r4); const c_r2 = restoredCtx.$implicit; const ctx_r3 = ɵngcc0.ɵɵnextContext(); return ctx_r3.select(c_r2); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const c_r2 = ctx.$implicit;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"background-color\", c_r2);\n ɵngcc0.ɵɵproperty(\"ngClass\", ɵngcc0.ɵɵpureFunction1(3, _c0, ctx_r0.selectedColor === c_r2));\n} }\nfunction NgxMatColorCollectionComponent_button_3_Template(rf, ctx) { if (rf & 1) {\n const _r7 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"button\", 2);\n ɵngcc0.ɵɵlistener(\"click\", function NgxMatColorCollectionComponent_button_3_Template_button_click_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r7); const c_r5 = restoredCtx.$implicit; const ctx_r6 = ɵngcc0.ɵɵnextContext(); return ctx_r6.select(c_r5); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const c_r5 = ctx.$implicit;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"background-color\", c_r5);\n ɵngcc0.ɵɵproperty(\"ngClass\", ɵngcc0.ɵɵpureFunction1(3, _c0, ctx_r1.selectedColor === c_r5));\n} }\nconst _c1 = [\"button\"];\nconst trimLeft = /^\\s+/;\r\nconst trimRight = /\\s+$/;\r\nconst tinyCounter = 0;\r\nconst mathRound = Math.round;\r\nconst mathMin = Math.min;\r\nconst mathMax = Math.max;\r\nconst mathRandom = Math.random;\r\nconst NUMERIC_REGEX = /[^0-9]/g;\r\nconst MAX_RGB = 255;\r\nconst MIN_RGB = 0;\r\n/** List basic colors */\r\nconst BASIC_COLORS = [\"#ffffff\", \"#ffff00\", \"#ff00ff\", \"#ff0000\",\r\n \"#c0c0c0\", \"#808080\", \"#808000\", \"#800080\",\r\n \"#800000\", \"#00ffff\", \"#00ff00\", \"#008080\",\r\n \"#008000\", \"#0000ff\", \"#000080\", \"#000000\"\r\n];\r\n/**\r\n * Get color at position\r\n * @param ctx\r\n * @param x\r\n * @param y\r\n */\r\nfunction getColorAtPosition(ctx, x, y) {\r\n const imageData = ctx.getImageData(x, y, 1, 1).data;\r\n return { r: imageData[0], g: imageData[1], b: imageData[2] };\r\n}\r\n// `rgbaToHex`\r\n// Converts an RGBA color plus alpha transparency to hex\r\n// Assumes r, g, b are contained in the set [0, 255] and\r\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\r\nfunction rgbaToHex(r, g, b, a, allow4Char) {\r\n var hex = [\r\n pad2(mathRound(r).toString(16)),\r\n pad2(mathRound(g).toString(16)),\r\n pad2(mathRound(b).toString(16)),\r\n pad2(convertDecimalToHex(a))\r\n ];\r\n // Return a 4 character hex if possible\r\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\r\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\r\n }\r\n return hex.join(\"\");\r\n}\r\n// Force a hex value to have 2 characters\r\nfunction pad2(c) {\r\n return c.length == 1 ? '0' + c : '' + c;\r\n}\r\n// Converts a decimal to a hex value\r\nfunction convertDecimalToHex(d) {\r\n return Math.round(parseFloat(d) * 255).toString(16);\r\n}\r\n// Converts a hex value to a decimal\r\nfunction convertHexToDecimal(h) {\r\n return (parseIntFromHex(h) / 255);\r\n}\r\n// Parse a base-16 hex value into a base-10 integer\r\nfunction parseIntFromHex(val) {\r\n return parseInt(val, 16);\r\n}\r\n// `rgbToHex`\r\n// Converts an RGB color to hex\r\n// Assumes r, g, and b are contained in the set [0, 255]\r\n// Returns a 3 or 6 character hex\r\nfunction rgbToHex(r, g, b, allow3Char) {\r\n var hex = [\r\n pad2(mathRound(r).toString(16)),\r\n pad2(mathRound(g).toString(16)),\r\n pad2(mathRound(b).toString(16))\r\n ];\r\n // Return a 3 character hex if possible\r\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\r\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\r\n }\r\n return hex.join(\"\");\r\n}\r\n// Actual matching.\r\n// Parentheses and commas are optional, but not required.\r\n// Whitespace can take the place of commas or opening parent\r\nconst CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\r\nconst CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\r\nconst CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\r\nconst PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\r\nconst PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\r\nconst matchers = {\r\n CSS_UNIT: new RegExp(CSS_UNIT),\r\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\r\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\r\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\r\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\r\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\r\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\r\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\r\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\r\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\r\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\r\n};\r\n// `stringInputToObject`\r\n// Permissive string parsing. Take in a number of formats, and output an object\r\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\r\nfunction stringInputToObject(color) {\r\n color = color.replace(trimLeft, '').replace(trimRight, '').toLowerCase();\r\n // Try to match string input using regular expressions.\r\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\r\n // Just return an object and let the conversion functions handle that.\r\n // This way the result will be the same whether the tinycolor is initialized with string or object.\r\n let match;\r\n let obj;\r\n if ((match = matchers.rgb.exec(color))) {\r\n return { r: match[1], g: match[2], b: match[3], a: 1 };\r\n }\r\n if ((match = matchers.rgba.exec(color))) {\r\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\r\n }\r\n if ((match = matchers.hex8.exec(color))) {\r\n return {\r\n r: parseIntFromHex(match[1]),\r\n g: parseIntFromHex(match[2]),\r\n b: parseIntFromHex(match[3]),\r\n a: convertHexToDecimal(match[4]),\r\n };\r\n }\r\n if ((match = matchers.hex6.exec(color))) {\r\n return {\r\n r: parseIntFromHex(match[1]),\r\n g: parseIntFromHex(match[2]),\r\n b: parseIntFromHex(match[3]),\r\n a: 1\r\n };\r\n }\r\n if ((match = matchers.hex4.exec(color))) {\r\n return {\r\n r: parseIntFromHex(match[1] + '' + match[1]),\r\n g: parseIntFromHex(match[2] + '' + match[2]),\r\n b: parseIntFromHex(match[3] + '' + match[3]),\r\n a: convertHexToDecimal(match[4] + '' + match[4]),\r\n };\r\n }\r\n if ((match = matchers.hex3.exec(color))) {\r\n return {\r\n r: parseIntFromHex(match[1] + '' + match[1]),\r\n g: parseIntFromHex(match[2] + '' + match[2]),\r\n b: parseIntFromHex(match[3] + '' + match[3]),\r\n a: 1\r\n };\r\n }\r\n return null;\r\n}\r\nfunction createMissingDateImplError(provider) {\r\n return Error(`NgxMatColorPicker: No provider found for ${provider}. You must define MAT_COLOR_FORMATS in your module`);\r\n}\n\nclass Color {\r\n constructor(_r, _g, _b, _a) {\r\n this.r = _r > MAX_RGB ? MAX_RGB : _r;\r\n this.g = _g > MAX_RGB ? MAX_RGB : _g;\r\n this.b = _b > MAX_RGB ? MAX_RGB : _b;\r\n if (_a != null) {\r\n this.a = _a > 1 ? 1 : _a;\r\n }\r\n else {\r\n this.a = 1;\r\n }\r\n this.roundA = Math.round(this.a);\r\n this.hex = rgbToHex(this.r, this.g, this.b);\r\n this.rgba = this.toRgba();\r\n }\r\n toHex(allow3Char) {\r\n return rgbToHex(this.r, this.g, this.b, allow3Char);\r\n }\r\n toRgba() {\r\n return `rgba(${this.r},${this.g},${this.b},${this.a})`;\r\n }\r\n toHexString(allow3Char) {\r\n return '#' + this.toHex(allow3Char);\r\n }\r\n toRgbString() {\r\n return (this.a === 1) ?\r\n \"rgb(\" + Math.round(this.r) + \", \" + Math.round(this.g) + \", \" + Math.round(this.b) + \")\" :\r\n \"rgba(\" + Math.round(this.r) + \", \" + Math.round(this.g) + \", \" + Math.round(this.b) + \", \" + this.roundA + \")\";\r\n }\r\n toHex8(allow4Char) {\r\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\r\n }\r\n toHex8String(allow4Char) {\r\n return '#' + this.toHex8(allow4Char);\r\n }\r\n toString(format) {\r\n let formatSet = !!format;\r\n let formattedString;\r\n let hasAlpha = this.a < 1 && this.a >= 0;\r\n let needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\"\r\n || format === \"hex3\" || format === \"hex4\" || format === \"hex8\");\r\n if (needsAlphaFormat) {\r\n return this.toRgbString();\r\n }\r\n if (format === \"rgb\") {\r\n formattedString = this.toRgbString();\r\n }\r\n if (format === \"hex\" || format === \"hex6\") {\r\n formattedString = this.toHexString();\r\n }\r\n if (format === \"hex3\") {\r\n formattedString = this.toHexString(true);\r\n }\r\n if (format === \"hex4\") {\r\n formattedString = this.toHex8String(true);\r\n }\r\n if (format === \"hex8\") {\r\n formattedString = this.toHex8String();\r\n }\r\n return formattedString || this.toHexString();\r\n }\r\n}\n\nclass NgxMatColorPaletteComponent {\r\n constructor() {\r\n this.colorChanged = new EventEmitter();\r\n }\r\n ngOnInit() {\r\n }\r\n handleColorChanged(color) {\r\n this.colorChanged.emit(color);\r\n }\r\n}\nNgxMatColorPaletteComponent.ɵfac = function NgxMatColorPaletteComponent_Factory(t) { return new (t || NgxMatColorPaletteComponent)(); };\nNgxMatColorPaletteComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: NgxMatColorPaletteComponent, selectors: [[\"ngx-mat-color-palette\"]], hostAttrs: [1, \"ngx-mat-color-palette\"], inputs: { color: \"color\" }, outputs: { colorChanged: \"colorChanged\" }, decls: 2, vars: 2, consts: [[3, \"color\", \"colorChanged\"]], template: function NgxMatColorPaletteComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-mat-color-canvas\", 0);\n ɵngcc0.ɵɵlistener(\"colorChanged\", function NgxMatColorPaletteComponent_Template_ngx_mat_color_canvas_colorChanged_0_listener($event) { return ctx.handleColorChanged($event); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(1, \"ngx-mat-color-collection\", 0);\n ɵngcc0.ɵɵlistener(\"colorChanged\", function NgxMatColorPaletteComponent_Template_ngx_mat_color_collection_colorChanged_1_listener($event) { return ctx.handleColorChanged($event); });\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"color\", ctx.color);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"color\", ctx.color);\n } }, directives: function () { return [NgxMatColorCanvasComponent, NgxMatColorCollectionComponent]; }, styles: [\".ngx-mat-color-palette .actions{margin-top:10px;display:flex}.ngx-mat-color-palette .actions .left{display:flex;flex-direction:column;margin-right:15px}.ngx-mat-color-palette .actions .left .preview{flex:2 1 auto;margin-bottom:10px}.ngx-mat-color-palette .actions .right{display:flex;width:40px;flex-direction:column}\"], encapsulation: 2 });\r\n/** @nocollapse */\r\nNgxMatColorPaletteComponent.ctorParameters = () => [];\r\nNgxMatColorPaletteComponent.propDecorators = {\r\n colorChanged: [{ type: Output }],\r\n color: [{ type: Input }]\r\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxMatColorPaletteComponent, [{\n type: Component,\n args: [{\n selector: 'ngx-mat-color-palette',\n template: \"\\r\\n\",\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'ngx-mat-color-palette'\n },\n styles: [\".ngx-mat-color-palette .actions{margin-top:10px;display:flex}.ngx-mat-color-palette .actions .left{display:flex;flex-direction:column;margin-right:15px}.ngx-mat-color-palette .actions .left .preview{flex:2 1 auto;margin-bottom:10px}.ngx-mat-color-palette .actions .right{display:flex;width:40px;flex-direction:column}\"]\n }]\n }], function () { return []; }, { colorChanged: [{\n type: Output\n }], color: [{\n type: Input\n }] }); })();\n\nclass NgxMatBaseColorCanvas {\r\n constructor(zone, elementId) {\r\n this.zone = zone;\r\n this.colorChanged = new EventEmitter();\r\n this.x = 0;\r\n this.y = 0;\r\n this.drag = false;\r\n this._destroyed = new Subject();\r\n this.elementId = elementId;\r\n }\r\n ngOnDestroy() {\r\n this._destroyed.next();\r\n this._destroyed.complete();\r\n }\r\n ngAfterViewInit() {\r\n this.canvas = document.getElementById(this.elementId);\r\n this.ctx = this.canvas.getContext('2d');\r\n this.width = this.canvas.width;\r\n this.height = this.canvas.height;\r\n this.draw();\r\n }\r\n draw() {\r\n this.ctx.clearRect(0, 0, this.width, this.height);\r\n this.ctx.rect(0, 0, this.width, this.height);\r\n this.fillGradient();\r\n if (this.y != 0) {\r\n this.redrawIndicator(this.x, this.y);\r\n }\r\n }\r\n onMousedown(e) {\r\n this.drag = true;\r\n this.changeColor(e);\r\n this.zone.runOutsideAngular(() => {\r\n this.canvas.addEventListener('mousemove', this.onMousemove.bind(this));\r\n });\r\n }\r\n onMousemove(e) {\r\n if (this.drag) {\r\n this.zone.run(() => {\r\n this.changeColor(e);\r\n });\r\n }\r\n }\r\n onMouseup(e) {\r\n this.drag = false;\r\n this.canvas.removeEventListener('mousemove', this.onMousemove);\r\n }\r\n emitChange(color) {\r\n this.colorChanged.emit(color);\r\n }\r\n}\nNgxMatBaseColorCanvas.ɵfac = function NgxMatBaseColorCanvas_Factory(t) { return new (t || NgxMatBaseColorCanvas)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(String)); };\nNgxMatBaseColorCanvas.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgxMatBaseColorCanvas, inputs: { color: \"color\" }, outputs: { colorChanged: \"colorChanged\" } });\r\n/** @nocollapse */\r\nNgxMatBaseColorCanvas.ctorParameters = () => [\r\n { type: NgZone },\r\n { type: String }\r\n];\r\nNgxMatBaseColorCanvas.propDecorators = {\r\n colorChanged: [{ type: Output }],\r\n color: [{ type: Input }]\r\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxMatBaseColorCanvas, [{\n type: Directive,\n args: [{}]\n }], function () { return [{ type: ɵngcc0.NgZone }, { type: String }]; }, { colorChanged: [{\n type: Output\n }], color: [{\n type: Input\n }] }); })();\n\nconst RADIUS_NOB = 5;\r\nclass NgxMatColorCanvasComponent extends NgxMatBaseColorCanvas {\r\n constructor(zone) {\r\n super(zone, 'color-block');\r\n this.zone = zone;\r\n this._resetBaseColor = true;\r\n this.formGroup = new FormGroup({\r\n r: new FormControl(null, [Validators.required]),\r\n g: new FormControl(null, [Validators.required]),\r\n b: new FormControl(null, [Validators.required]),\r\n a: new FormControl(null, [Validators.required]),\r\n hex: new FormControl(null, [Validators.required, Validators.pattern(matchers.hex6)]),\r\n });\r\n }\r\n get rCtrl() {\r\n return this.formGroup.get('r');\r\n }\r\n get gCtrl() {\r\n return this.formGroup.get('g');\r\n }\r\n get bCtrl() {\r\n return this.formGroup.get('b');\r\n }\r\n get aCtrl() {\r\n return this.formGroup.get('a');\r\n }\r\n get hexCtrl() {\r\n return this.formGroup.get('hex');\r\n }\r\n ngOnInit() {\r\n const rgbaCtrl$ = merge(this.rCtrl.valueChanges, this.gCtrl.valueChanges, this.bCtrl.valueChanges, this.aCtrl.valueChanges);\r\n rgbaCtrl$.pipe(takeUntil(this._destroyed), debounceTime(400))\r\n .subscribe(_ => {\r\n const color = new Color(Number(this.rCtrl.value), Number(this.gCtrl.value), Number(this.bCtrl.value), Number(this.aCtrl.value));\r\n this.emitChange(color);\r\n });\r\n const hexCtrl$ = this.hexCtrl.valueChanges;\r\n hexCtrl$.pipe(takeUntil(this._destroyed), debounceTime(400), distinctUntilChanged())\r\n .subscribe(hex => {\r\n const obj = stringInputToObject(hex);\r\n if (obj != null) {\r\n const color = new Color(obj.r, obj.g, obj.b, obj.a);\r\n this.emitChange(color);\r\n }\r\n });\r\n }\r\n ngOnChanges(changes) {\r\n if (changes.color && changes.color.currentValue) {\r\n this.updateForm(changes.color.currentValue);\r\n if (this._resetBaseColor) {\r\n this._baseColor = changes.color.currentValue;\r\n }\r\n this._resetBaseColor = true;\r\n if (!changes.color.firstChange) {\r\n this.draw();\r\n }\r\n }\r\n }\r\n updateForm(val) {\r\n const config = { emitEvent: false };\r\n this.rCtrl.setValue(val.r, config);\r\n this.gCtrl.setValue(val.g, config);\r\n this.bCtrl.setValue(val.b, config);\r\n this.aCtrl.setValue(val.a, config);\r\n this.hexCtrl.setValue(val.hex, config);\r\n }\r\n redrawIndicator(x, y) {\r\n this.ctx.beginPath();\r\n this.ctx.strokeStyle = 'white';\r\n this.ctx.arc(x, y, RADIUS_NOB, 0, 2 * Math.PI, false);\r\n this.ctx.stroke();\r\n this.ctx.closePath();\r\n }\r\n fillGradient() {\r\n this.ctx.fillStyle = this._baseColor ? this._baseColor.rgba : 'rgba(255,255,255,1)';\r\n this.ctx.fillRect(0, 0, this.width, this.height);\r\n const grdWhite = this.ctx.createLinearGradient(0, 0, this.width, 0);\r\n grdWhite.addColorStop(0, 'rgba(255,255,255,1)');\r\n grdWhite.addColorStop(1, 'rgba(255,255,255,0)');\r\n this.ctx.fillStyle = grdWhite;\r\n this.ctx.fillRect(0, 0, this.width, this.height);\r\n const grdBlack = this.ctx.createLinearGradient(0, 0, 0, this.height);\r\n grdBlack.addColorStop(0, 'rgba(0,0,0,0)');\r\n grdBlack.addColorStop(1, 'rgba(0,0,0,1)');\r\n this.ctx.fillStyle = grdBlack;\r\n this.ctx.fillRect(0, 0, this.width, this.height);\r\n }\r\n onSliderColorChanged(c) {\r\n this._baseColor = c;\r\n this.color = c;\r\n this.fillGradient();\r\n this.emitChange(c);\r\n }\r\n changeColor(e) {\r\n this.x = e.offsetX;\r\n this.y = e.offsetY;\r\n this._resetBaseColor = false;\r\n this.draw();\r\n const { r, g, b } = getColorAtPosition(this.ctx, e.offsetX, e.offsetY);\r\n this.emitChange(new Color(r, g, b));\r\n }\r\n}\nNgxMatColorCanvasComponent.ɵfac = function NgxMatColorCanvasComponent_Factory(t) { return new (t || NgxMatColorCanvasComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nNgxMatColorCanvasComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: NgxMatColorCanvasComponent, selectors: [[\"ngx-mat-color-canvas\"]], hostAttrs: [1, \"ngx-mat-color-canvas\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature], decls: 30, vars: 3, consts: [[3, \"formGroup\"], [1, \"color-canvas-row\"], [1, \"zone-canvas\"], [\"id\", \"color-block\", \"width\", \"200\", \"height\", \"200\", 1, \"zone-block\", 3, \"mousedown\", \"mouseup\"], [3, \"colorChanged\"], [1, \"zone-inputs\"], [\"matInput\", \"\", \"formControlName\", \"r\", \"ngxMatNumericColorInput\", \"\", \"autocomplete\", \"off\"], [\"matInput\", \"\", \"formControlName\", \"g\", \"ngxMatNumericColorInput\", \"\", \"autocomplete\", \"off\"], [\"matInput\", \"\", \"formControlName\", \"b\", \"ngxMatNumericColorInput\", \"\", \"autocomplete\", \"off\"], [\"mat-mini-fab\", \"\", 1, \"preview\"], [\"matPrefix\", \"\", 1, \"symbol\"], [\"matInput\", \"\", \"formControlName\", \"hex\", \"autocomplete\", \"off\"], [\"matInput\", \"\", \"formControlName\", \"a\", \"type\", \"number\", \"min\", \"0\", \"max\", \"1\", \"step\", \"0.1\", \"autocomplete\", \"off\"]], template: function NgxMatColorCanvasComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"form\", 0);\n ɵngcc0.ɵɵelementStart(1, \"div\", 1);\n ɵngcc0.ɵɵelementStart(2, \"div\", 2);\n ɵngcc0.ɵɵelementStart(3, \"canvas\", 3);\n ɵngcc0.ɵɵlistener(\"mousedown\", function NgxMatColorCanvasComponent_Template_canvas_mousedown_3_listener($event) { return ctx.onMousedown($event); })(\"mouseup\", function NgxMatColorCanvasComponent_Template_canvas_mouseup_3_listener($event) { return ctx.onMouseup($event); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(4, \"ngx-mat-color-slider\", 4);\n ɵngcc0.ɵɵlistener(\"colorChanged\", function NgxMatColorCanvasComponent_Template_ngx_mat_color_slider_colorChanged_4_listener($event) { return ctx.onSliderColorChanged($event); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(5, \"div\", 5);\n ɵngcc0.ɵɵelementStart(6, \"mat-form-field\");\n ɵngcc0.ɵɵelementStart(7, \"mat-label\");\n ɵngcc0.ɵɵtext(8, \"R\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(9, \"input\", 6);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(10, \"mat-form-field\");\n ɵngcc0.ɵɵelementStart(11, \"mat-label\");\n ɵngcc0.ɵɵtext(12, \"G\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(13, \"input\", 7);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(14, \"mat-form-field\");\n ɵngcc0.ɵɵelementStart(15, \"mat-label\");\n ɵngcc0.ɵɵtext(16, \"B\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(17, \"input\", 8);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(18, \"div\", 1);\n ɵngcc0.ɵɵelement(19, \"button\", 9);\n ɵngcc0.ɵɵelementStart(20, \"mat-form-field\");\n ɵngcc0.ɵɵelementStart(21, \"mat-label\");\n ɵngcc0.ɵɵtext(22, \"HEX6\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(23, \"mat-label\", 10);\n ɵngcc0.ɵɵtext(24, \"#\\u00A0\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(25, \"input\", 11);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(26, \"mat-form-field\");\n ɵngcc0.ɵɵelementStart(27, \"mat-label\");\n ɵngcc0.ɵɵtext(28, \"A\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(29, \"input\", 12);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"formGroup\", ctx.formGroup);\n ɵngcc0.ɵɵadvance(19);\n ɵngcc0.ɵɵstyleProp(\"background-color\", (ctx.color == null ? null : ctx.color.rgba) || \"transparent\");\n } }, directives: function () { return [ɵngcc1.ɵNgNoValidate, ɵngcc1.NgControlStatusGroup, ɵngcc1.FormGroupDirective, NgxMatColorSliderComponent, ɵngcc2.MatFormField, ɵngcc2.MatLabel, ɵngcc3.MatInput, ɵngcc1.DefaultValueAccessor, ɵngcc1.NgControlStatus, ɵngcc1.FormControlName, NumericColorInputDirective, ɵngcc4.MatButton, ɵngcc2.MatPrefix, ɵngcc1.NumberValueAccessor, ɵngcc1.MinValidator, ɵngcc1.MaxValidator]; }, styles: [\".ngx-mat-color-canvas .color-canvas-row{display:flex}.ngx-mat-color-canvas .color-canvas-row:first-of-type{height:200px;margin-bottom:12px}.ngx-mat-color-canvas .color-canvas-row:first-of-type .card{height:180px}.ngx-mat-color-canvas .color-canvas-row canvas:hover{cursor:crosshair}.ngx-mat-color-canvas .color-canvas-row .zone{display:flex}.ngx-mat-color-canvas .color-canvas-row .zone-canvas{height:200px}.ngx-mat-color-canvas .color-canvas-row .zone-canvas .zone-block{border:1px solid rgba(0,0,0,.12)}.ngx-mat-color-canvas .color-canvas-row .zone-strip{flex-basis:auto;margin-left:10px}.ngx-mat-color-canvas .color-canvas-row .zone-inputs{display:flex;width:40px;height:200px;flex-direction:column;margin-left:16px;margin-top:12px}.ngx-mat-color-canvas .color-canvas-row:nth-of-type(2){display:flex}.ngx-mat-color-canvas .color-canvas-row:nth-of-type(2) .preview{min-width:40px;min-height:40px;height:40px;width:40px}.ngx-mat-color-canvas .color-canvas-row:nth-of-type(2) .mat-form-field{margin-left:16px}.ngx-mat-color-canvas .color-canvas-row:nth-of-type(2) .mat-form-field:first-of-type{width:170px}.ngx-mat-color-canvas .color-canvas-row:nth-of-type(2) .mat-form-field:first-of-type .symbol{font-weight:700;color:rgba(0,0,0,.54)}.ngx-mat-color-canvas .color-canvas-row:nth-of-type(2) .mat-form-field:last-of-type{width:40px}.ngx-mat-color-canvas .mat-form-field-label{font-weight:700}\"], encapsulation: 2 });\r\n/** @nocollapse */\r\nNgxMatColorCanvasComponent.ctorParameters = () => [\r\n { type: NgZone }\r\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxMatColorCanvasComponent, [{\n type: Component,\n args: [{\n selector: 'ngx-mat-color-canvas',\n template: \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n R\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n G\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n B\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n HEX6\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n A\\r\\n \\r\\n \\r\\n
\\r\\n
\",\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'ngx-mat-color-canvas'\n },\n styles: [\".ngx-mat-color-canvas .color-canvas-row{display:flex}.ngx-mat-color-canvas .color-canvas-row:first-of-type{height:200px;margin-bottom:12px}.ngx-mat-color-canvas .color-canvas-row:first-of-type .card{height:180px}.ngx-mat-color-canvas .color-canvas-row canvas:hover{cursor:crosshair}.ngx-mat-color-canvas .color-canvas-row .zone{display:flex}.ngx-mat-color-canvas .color-canvas-row .zone-canvas{height:200px}.ngx-mat-color-canvas .color-canvas-row .zone-canvas .zone-block{border:1px solid rgba(0,0,0,.12)}.ngx-mat-color-canvas .color-canvas-row .zone-strip{flex-basis:auto;margin-left:10px}.ngx-mat-color-canvas .color-canvas-row .zone-inputs{display:flex;width:40px;height:200px;flex-direction:column;margin-left:16px;margin-top:12px}.ngx-mat-color-canvas .color-canvas-row:nth-of-type(2){display:flex}.ngx-mat-color-canvas .color-canvas-row:nth-of-type(2) .preview{min-width:40px;min-height:40px;height:40px;width:40px}.ngx-mat-color-canvas .color-canvas-row:nth-of-type(2) .mat-form-field{margin-left:16px}.ngx-mat-color-canvas .color-canvas-row:nth-of-type(2) .mat-form-field:first-of-type{width:170px}.ngx-mat-color-canvas .color-canvas-row:nth-of-type(2) .mat-form-field:first-of-type .symbol{font-weight:700;color:rgba(0,0,0,.54)}.ngx-mat-color-canvas .color-canvas-row:nth-of-type(2) .mat-form-field:last-of-type{width:40px}.ngx-mat-color-canvas .mat-form-field-label{font-weight:700}\"]\n }]\n }], function () { return [{ type: ɵngcc0.NgZone }]; }, null); })();\n\nclass NgxMatColorCollectionComponent {\r\n constructor() {\r\n this.colorChanged = new EventEmitter();\r\n this.colors1 = BASIC_COLORS.slice(0, 8);\r\n this.colors2 = BASIC_COLORS.slice(8, 16);\r\n }\r\n set color(c) {\r\n if (c) {\r\n this.selectedColor = c.toHexString();\r\n }\r\n }\r\n ngOnInit() {\r\n }\r\n select(hex) {\r\n this.selectedColor = hex;\r\n const { r, g, b, a } = stringInputToObject(hex);\r\n this.colorChanged.emit(new Color(r, g, b, a));\r\n }\r\n}\nNgxMatColorCollectionComponent.ɵfac = function NgxMatColorCollectionComponent_Factory(t) { return new (t || NgxMatColorCollectionComponent)(); };\nNgxMatColorCollectionComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: NgxMatColorCollectionComponent, selectors: [[\"ngx-mat-color-collection\"]], hostAttrs: [1, \"ngx-mat-color-collection\"], inputs: { color: \"color\" }, outputs: { colorChanged: \"colorChanged\" }, decls: 4, vars: 2, consts: [[1, \"color-collection-row\"], [\"mat-mini-fab\", \"\", \"class\", \"btn-color\", 3, \"background-color\", \"ngClass\", \"click\", 4, \"ngFor\", \"ngForOf\"], [\"mat-mini-fab\", \"\", 1, \"btn-color\", 3, \"ngClass\", \"click\"]], template: function NgxMatColorCollectionComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0);\n ɵngcc0.ɵɵtemplate(1, NgxMatColorCollectionComponent_button_1_Template, 1, 5, \"button\", 1);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(2, \"div\", 0);\n ɵngcc0.ɵɵtemplate(3, NgxMatColorCollectionComponent_button_3_Template, 1, 5, \"button\", 1);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.colors1);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.colors2);\n } }, directives: [ɵngcc5.NgForOf, ɵngcc4.MatButton, ɵngcc5.NgClass], styles: [\".ngx-mat-color-collection .btn-color{height:20px;width:20px;margin-right:11px;box-shadow:none;opacity:.3}.ngx-mat-color-collection .btn-color.active{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12);opacity:1}\"], encapsulation: 2 });\r\n/** @nocollapse */\r\nNgxMatColorCollectionComponent.ctorParameters = () => [];\r\nNgxMatColorCollectionComponent.propDecorators = {\r\n colorChanged: [{ type: Output }],\r\n color: [{ type: Input }]\r\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxMatColorCollectionComponent, [{\n type: Component,\n args: [{\n selector: 'ngx-mat-color-collection',\n template: \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\",\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'ngx-mat-color-collection'\n },\n styles: [\".ngx-mat-color-collection .btn-color{height:20px;width:20px;margin-right:11px;box-shadow:none;opacity:.3}.ngx-mat-color-collection .btn-color.active{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12);opacity:1}\"]\n }]\n }], function () { return []; }, { colorChanged: [{\n type: Output\n }], color: [{\n type: Input\n }] }); })();\n\nclass NgxMatColorSliderComponent extends NgxMatBaseColorCanvas {\r\n constructor(zone) {\r\n super(zone, 'color-strip');\r\n this.zone = zone;\r\n }\r\n ngOnInit() {\r\n }\r\n ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n }\r\n fillGradient() {\r\n const grd = this.ctx.createLinearGradient(0, 0, 0, this.height);\r\n grd.addColorStop(0, 'rgba(255, 0, 0, 1)');\r\n grd.addColorStop(0.17, 'rgba(255, 255, 0, 1)');\r\n grd.addColorStop(0.34, 'rgba(0, 255, 0, 1)');\r\n grd.addColorStop(0.51, 'rgba(0, 255, 255, 1)');\r\n grd.addColorStop(0.68, 'rgba(0, 0, 255, 1)');\r\n grd.addColorStop(0.85, 'rgba(255, 0, 255, 1)');\r\n grd.addColorStop(1, 'rgba(255, 0, 0, 1)');\r\n this.ctx.fillStyle = grd;\r\n this.ctx.fill();\r\n }\r\n redrawIndicator(x, y) {\r\n this.ctx.beginPath();\r\n this.ctx.strokeStyle = 'white';\r\n this.ctx.lineWidth = 2;\r\n this.ctx.arc(7.5, y, 7.5, 0, 2 * Math.PI, false);\r\n this.ctx.stroke();\r\n this.ctx.closePath();\r\n }\r\n changeColor(e) {\r\n this.x = e.offsetX;\r\n this.y = e.offsetY;\r\n this.draw();\r\n const { r, g, b } = getColorAtPosition(this.ctx, e.offsetX, e.offsetY);\r\n this.emitChange(new Color(r, g, b));\r\n }\r\n}\nNgxMatColorSliderComponent.ɵfac = function NgxMatColorSliderComponent_Factory(t) { return new (t || NgxMatColorSliderComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nNgxMatColorSliderComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: NgxMatColorSliderComponent, selectors: [[\"ngx-mat-color-slider\"]], features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, consts: [[\"id\", \"color-strip\", \"width\", \"15\", \"height\", \"200\", 1, \"zone-strip\", 3, \"mousedown\", \"mouseup\"]], template: function NgxMatColorSliderComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"canvas\", 0);\n ɵngcc0.ɵɵlistener(\"mousedown\", function NgxMatColorSliderComponent_Template_canvas_mousedown_0_listener($event) { return ctx.onMousedown($event); })(\"mouseup\", function NgxMatColorSliderComponent_Template_canvas_mouseup_0_listener($event) { return ctx.onMouseup($event); });\n ɵngcc0.ɵɵelementEnd();\n } }, styles: [\"\"] });\r\n/** @nocollapse */\r\nNgxMatColorSliderComponent.ctorParameters = () => [\r\n { type: NgZone }\r\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxMatColorSliderComponent, [{\n type: Component,\n args: [{\n selector: 'ngx-mat-color-slider',\n template: \"\",\n styles: [\"\"]\n }]\n }], function () { return [{ type: ɵngcc0.NgZone }]; }, null); })();\n\nclass ColorAdapter {\r\n constructor() { }\r\n sameColor(a, b) {\r\n if (a == null && b == null)\r\n return true;\r\n if (a != null && b != null)\r\n return a.rgba === b.rgba;\r\n return false;\r\n }\r\n format(c, format) {\r\n return c.toString(format);\r\n }\r\n parse(value) {\r\n const obj = stringInputToObject(value);\r\n if (obj) {\r\n return new Color(obj.r, obj.g, obj.b, obj.a);\r\n }\r\n return null;\r\n }\r\n}\nColorAdapter.ɵfac = function ColorAdapter_Factory(t) { return new (t || ColorAdapter)(); };\nColorAdapter.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: ColorAdapter, factory: ColorAdapter.ɵfac });\r\n/** @nocollapse */\r\nColorAdapter.ctorParameters = () => [];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ColorAdapter, [{\n type: Injectable\n }], function () { return []; }, null); })();\n\nconst NGX_MAT_COLOR_FORMATS = {\r\n display: {\r\n colorInput: 'hex'\r\n }\r\n};\r\nconst MAT_COLOR_FORMATS = new InjectionToken('mat-color-formats');\n\n/** Injection token that determines the scroll handling while the calendar is open. */\r\nconst NGX_MAT_COLOR_PICKER_SCROLL_STRATEGY = new InjectionToken('ngx-mat-colorpicker-scroll-strategy');\r\nfunction NGX_MAT_COLOR_PICKER_SCROLL_STRATEGY_FACTORY(overlay) {\r\n return () => overlay.scrollStrategies.reposition();\r\n}\r\nconst NGX_MAT_COLOR_PICKER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\r\n provide: NGX_MAT_COLOR_PICKER_SCROLL_STRATEGY,\r\n deps: [Overlay],\r\n useFactory: NGX_MAT_COLOR_PICKER_SCROLL_STRATEGY_FACTORY,\r\n};\r\nclass NgxMatColorPickerContentBase {\r\n constructor(_elementRef) {\r\n this._elementRef = _elementRef;\r\n }\r\n}\r\nconst _MatDatepickerContentMixinBase = mixinColor(NgxMatColorPickerContentBase);\r\nclass NgxMatColorPickerContentComponent extends _MatDatepickerContentMixinBase {\r\n constructor(elementRef) {\r\n super(elementRef);\r\n }\r\n}\nNgxMatColorPickerContentComponent.ɵfac = function NgxMatColorPickerContentComponent_Factory(t) { return new (t || NgxMatColorPickerContentComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nNgxMatColorPickerContentComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: NgxMatColorPickerContentComponent, selectors: [[\"ngx-mat-color-picker-content\"]], viewQuery: function NgxMatColorPickerContentComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(NgxMatColorPaletteComponent, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._palette = _t.first);\n } }, hostAttrs: [1, \"ngx-mat-colorpicker-content\"], hostVars: 3, hostBindings: function NgxMatColorPickerContentComponent_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵsyntheticHostProperty(\"@transformPanel\", \"enter\");\n ɵngcc0.ɵɵclassProp(\"ngx-mat-colorpicker-content-touch\", ctx.picker.touchUi);\n } }, inputs: { color: \"color\" }, exportAs: [\"ngxMatColorPickerContent\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[3, \"color\", \"colorChanged\"]], template: function NgxMatColorPickerContentComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ngx-mat-color-palette\", 0);\n ɵngcc0.ɵɵlistener(\"colorChanged\", function NgxMatColorPickerContentComponent_Template_ngx_mat_color_palette_colorChanged_0_listener($event) { return ctx.picker.select($event); });\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"color\", ctx.picker._selected);\n } }, directives: [NgxMatColorPaletteComponent], styles: [\".ngx-mat-colorpicker-content{display:block;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);background-color:#fff;color:rgba(0,0,0,.87);padding:16px}.ngx-mat-colorpicker-content .ngx-mat-color-palette{width:296px;height:354px}.ngx-mat-colorpicker-content-touch{display:block;max-height:80vh;overflow:auto}.ngx-mat-colorpicker-content-touch .ngx-mat-color-palette{min-width:250px;min-height:312px;max-width:750px;max-height:788px}@media (orientation:landscape){.mat-colorpicker-content-touch .ngx-mat-color-palette{width:64vh;height:80vh}}@media (orientation:portrait){.mat-colorpicker-content-touch .ngx-mat-color-palette{width:80vw;height:100vw}}\"], encapsulation: 2, data: { animation: [\n matDatepickerAnimations.transformPanel,\n matDatepickerAnimations.fadeInCalendar,\n ] }, changeDetection: 0 });\r\n/** @nocollapse */\r\nNgxMatColorPickerContentComponent.ctorParameters = () => [\r\n { type: ElementRef }\r\n];\r\nNgxMatColorPickerContentComponent.propDecorators = {\r\n _palette: [{ type: ViewChild, args: [NgxMatColorPaletteComponent,] }]\r\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxMatColorPickerContentComponent, [{\n type: Component,\n args: [{\n selector: 'ngx-mat-color-picker-content',\n template: \"\",\n host: {\n 'class': 'ngx-mat-colorpicker-content',\n '[@transformPanel]': '\"enter\"',\n '[class.ngx-mat-colorpicker-content-touch]': 'picker.touchUi'\n },\n animations: [\n matDatepickerAnimations.transformPanel,\n matDatepickerAnimations.fadeInCalendar,\n ],\n exportAs: 'ngxMatColorPickerContent',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['color'],\n styles: [\".ngx-mat-colorpicker-content{display:block;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);background-color:#fff;color:rgba(0,0,0,.87);padding:16px}.ngx-mat-colorpicker-content .ngx-mat-color-palette{width:296px;height:354px}.ngx-mat-colorpicker-content-touch{display:block;max-height:80vh;overflow:auto}.ngx-mat-colorpicker-content-touch .ngx-mat-color-palette{min-width:250px;min-height:312px;max-width:750px;max-height:788px}@media (orientation:landscape){.mat-colorpicker-content-touch .ngx-mat-color-palette{width:64vh;height:80vh}}@media (orientation:portrait){.mat-colorpicker-content-touch .ngx-mat-color-palette{width:80vw;height:100vw}}\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { _palette: [{\n type: ViewChild,\n args: [NgxMatColorPaletteComponent]\n }] }); })();\r\nclass NgxMatColorPickerComponent {\r\n constructor(_dialog, _overlay, _zone, _adapter, _dir, scrollStrategy, _document, _viewContainerRef) {\r\n this._dialog = _dialog;\r\n this._overlay = _overlay;\r\n this._zone = _zone;\r\n this._adapter = _adapter;\r\n this._dir = _dir;\r\n this._document = _document;\r\n this._viewContainerRef = _viewContainerRef;\r\n /** Emits when the datepicker has been opened. */\r\n this.openedStream = new EventEmitter();\r\n /** Emits when the datepicker has been closed. */\r\n this.closedStream = new EventEmitter();\r\n this._touchUi = false;\r\n this._opened = false;\r\n this._defaultColor = 'primary';\r\n this._validSelected = null;\r\n /** Emits when the datepicker is disabled. */\r\n this._disabledChange = new Subject();\r\n /** The element that was focused before the datepicker was opened. */\r\n this._focusedElementBeforeOpen = null;\r\n /** Subscription to value changes in the associated input element. */\r\n this._inputSubscription = Subscription.EMPTY;\r\n /** Emits new selected date when selected date changes. */\r\n this._selectedChanged = new Subject();\r\n this._scrollStrategy = scrollStrategy;\r\n }\r\n get disabled() {\r\n return this._disabled === undefined && this._pickerInput ?\r\n this._pickerInput.disabled : !!this._disabled;\r\n }\r\n set disabled(value) {\r\n const newValue = coerceBooleanProperty(value);\r\n if (newValue !== this._disabled) {\r\n this._disabled = newValue;\r\n this._disabledChange.next(newValue);\r\n }\r\n }\r\n get touchUi() { return this._touchUi; }\r\n set touchUi(value) {\r\n this._touchUi = coerceBooleanProperty(value);\r\n }\r\n /** Whether the calendar is open. */\r\n get opened() { return this._opened; }\r\n set opened(value) { value ? this.open() : this.close(); }\r\n /** Default Color palette to use on the datepicker's calendar. */\r\n get defaultColor() {\r\n return this._defaultColor;\r\n }\r\n set defaultColor(value) {\r\n this._defaultColor = value;\r\n }\r\n /** Color palette to use on the datepicker's calendar. */\r\n get color() {\r\n return this._color ||\r\n (this._pickerInput ? this._pickerInput.getThemePalette() : undefined);\r\n }\r\n set color(value) {\r\n this._color = value;\r\n }\r\n /** The currently selected date. */\r\n get _selected() { return this._validSelected; }\r\n set _selected(value) { this._validSelected = value; }\r\n ngOnInit() {\r\n }\r\n ngOnDestroy() {\r\n this.close();\r\n this._inputSubscription.unsubscribe();\r\n this._disabledChange.complete();\r\n if (this._popupRef) {\r\n this._popupRef.dispose();\r\n this._popupComponentRef = null;\r\n }\r\n }\r\n /** Selects the given date */\r\n select(nextVal) {\r\n let oldValue = this._selected;\r\n this._selected = nextVal;\r\n if (!this._adapter.sameColor(oldValue, this._selected)) {\r\n this._selectedChanged.next(nextVal);\r\n }\r\n }\r\n /**\r\n * Register an input with this datepicker.\r\n * @param input The datepicker input to register with this datepicker.\r\n */\r\n registerInput(input) {\r\n if (this._pickerInput) {\r\n throw Error('A ColorPicker can only be associated with a single input.');\r\n }\r\n this._pickerInput = input;\r\n this._inputSubscription =\r\n this._pickerInput._valueChange.subscribe((value) => this._selected = value);\r\n }\r\n open() {\r\n if (this._opened || this.disabled) {\r\n return;\r\n }\r\n if (!this._pickerInput) {\r\n throw Error('Attempted to open an ColorPicker with no associated input.');\r\n }\r\n if (this._document) {\r\n this._focusedElementBeforeOpen = this._document.activeElement;\r\n }\r\n this.touchUi ? this._openAsDialog() : this._openAsPopup();\r\n this._opened = true;\r\n this.openedStream.emit();\r\n }\r\n /** Open the calendar as a dialog. */\r\n _openAsDialog() {\r\n if (this._dialogRef) {\r\n this._dialogRef.close();\r\n }\r\n this._dialogRef = this._dialog.open(NgxMatColorPickerContentComponent, {\r\n direction: this._dir ? this._dir.value : 'ltr',\r\n viewContainerRef: this._viewContainerRef,\r\n panelClass: 'ngx-mat-colorpicker-dialog',\r\n });\r\n this._dialogRef.afterClosed().subscribe(() => this.close());\r\n this._dialogRef.componentInstance.picker = this;\r\n this._setColor();\r\n }\r\n /** Open the calendar as a popup. */\r\n _openAsPopup() {\r\n if (!this._portal) {\r\n this._portal = new ComponentPortal(NgxMatColorPickerContentComponent, this._viewContainerRef);\r\n }\r\n if (!this._popupRef) {\r\n this._createPopup();\r\n }\r\n if (!this._popupRef.hasAttached()) {\r\n this._popupComponentRef = this._popupRef.attach(this._portal);\r\n this._popupComponentRef.instance.picker = this;\r\n this._setColor();\r\n // Update the position once the calendar has rendered.\r\n this._zone.onStable.asObservable().pipe(take(1)).subscribe(() => {\r\n this._popupRef.updatePosition();\r\n });\r\n }\r\n }\r\n /** Create the popup. */\r\n _createPopup() {\r\n const overlayConfig = new OverlayConfig({\r\n positionStrategy: this._createPopupPositionStrategy(),\r\n hasBackdrop: true,\r\n backdropClass: 'mat-overlay-transparent-backdrop',\r\n direction: this._dir,\r\n scrollStrategy: this._scrollStrategy(),\r\n panelClass: 'mat-colorpicker-popup',\r\n });\r\n this._popupRef = this._overlay.create(overlayConfig);\r\n this._popupRef.overlayElement.setAttribute('role', 'dialog');\r\n merge(this._popupRef.backdropClick(), this._popupRef.detachments(), this._popupRef.keydownEvents().pipe(filter(event => {\r\n // Closing on alt + up is only valid when there's an input associated with the datepicker.\r\n return event.keyCode === ESCAPE ||\r\n (this._pickerInput && event.altKey && event.keyCode === UP_ARROW);\r\n }))).subscribe(event => {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n this.close();\r\n });\r\n }\r\n close() {\r\n if (!this._opened) {\r\n return;\r\n }\r\n if (this._popupRef && this._popupRef.hasAttached()) {\r\n this._popupRef.detach();\r\n }\r\n if (this._dialogRef) {\r\n this._dialogRef.close();\r\n this._dialogRef = null;\r\n }\r\n if (this._portal && this._portal.isAttached) {\r\n this._portal.detach();\r\n }\r\n const completeClose = () => {\r\n // The `_opened` could've been reset already if\r\n // we got two events in quick succession.\r\n if (this._opened) {\r\n this._opened = false;\r\n this.closedStream.emit();\r\n this._focusedElementBeforeOpen = null;\r\n }\r\n };\r\n if (this._focusedElementBeforeOpen &&\r\n typeof this._focusedElementBeforeOpen.focus === 'function') {\r\n // Because IE moves focus asynchronously, we can't count on it being restored before we've\r\n // marked the datepicker as closed. If the event fires out of sequence and the element that\r\n // we're refocusing opens the datepicker on focus, the user could be stuck with not being\r\n // able to close the calendar at all. We work around it by making the logic, that marks\r\n // the datepicker as closed, async as well.\r\n this._focusedElementBeforeOpen.focus();\r\n setTimeout(completeClose);\r\n }\r\n else {\r\n completeClose();\r\n }\r\n }\r\n /** Passes the current theme color along to the calendar overlay. */\r\n _setColor() {\r\n const color = this.color;\r\n if (this._popupComponentRef) {\r\n this._popupComponentRef.instance.color = color;\r\n }\r\n if (this._dialogRef) {\r\n this._dialogRef.componentInstance.color = color;\r\n }\r\n }\r\n /** Create the popup PositionStrategy. */\r\n _createPopupPositionStrategy() {\r\n return this._overlay.position()\r\n .flexibleConnectedTo(this._pickerInput.getConnectedOverlayOrigin())\r\n .withTransformOriginOn('.ngx-mat-colorpicker-content')\r\n .withFlexibleDimensions(false)\r\n .withViewportMargin(8)\r\n .withLockedPosition()\r\n .withPositions([\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top'\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom'\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'bottom',\r\n overlayX: 'end',\r\n overlayY: 'top'\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'bottom'\r\n }\r\n ]);\r\n }\r\n}\nNgxMatColorPickerComponent.ɵfac = function NgxMatColorPickerComponent_Factory(t) { return new (t || NgxMatColorPickerComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc6.MatDialog), ɵngcc0.ɵɵdirectiveInject(ɵngcc7.Overlay), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ColorAdapter), ɵngcc0.ɵɵdirectiveInject(ɵngcc8.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(NGX_MAT_COLOR_PICKER_SCROLL_STRATEGY), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef)); };\nNgxMatColorPickerComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: NgxMatColorPickerComponent, selectors: [[\"ngx-mat-color-picker\"]], inputs: { disabled: \"disabled\", touchUi: \"touchUi\", opened: \"opened\", defaultColor: \"defaultColor\", color: \"color\" }, outputs: { openedStream: \"opened\", closedStream: \"closed\" }, exportAs: [\"ngxMatColorPicker\"], decls: 0, vars: 0, template: function NgxMatColorPickerComponent_Template(rf, ctx) { }, encapsulation: 2, changeDetection: 0 });\r\n/** @nocollapse */\r\nNgxMatColorPickerComponent.ctorParameters = () => [\r\n { type: MatDialog },\r\n { type: Overlay },\r\n { type: NgZone },\r\n { type: ColorAdapter },\r\n { type: Directionality, decorators: [{ type: Optional }] },\r\n { type: undefined, decorators: [{ type: Inject, args: [NGX_MAT_COLOR_PICKER_SCROLL_STRATEGY,] }] },\r\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },\r\n { type: ViewContainerRef }\r\n];\r\nNgxMatColorPickerComponent.propDecorators = {\r\n openedStream: [{ type: Output, args: ['opened',] }],\r\n closedStream: [{ type: Output, args: ['closed',] }],\r\n disabled: [{ type: Input }],\r\n touchUi: [{ type: Input }],\r\n opened: [{ type: Input }],\r\n defaultColor: [{ type: Input }],\r\n color: [{ type: Input }]\r\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxMatColorPickerComponent, [{\n type: Component,\n args: [{\n selector: 'ngx-mat-color-picker',\n template: '',\n exportAs: 'ngxMatColorPicker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n }]\n }], function () { return [{ type: ɵngcc6.MatDialog }, { type: ɵngcc7.Overlay }, { type: ɵngcc0.NgZone }, { type: ColorAdapter }, { type: ɵngcc8.Directionality, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [NGX_MAT_COLOR_PICKER_SCROLL_STRATEGY]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc0.ViewContainerRef }]; }, { openedStream: [{\n type: Output,\n args: ['opened']\n }], closedStream: [{\n type: Output,\n args: ['closed']\n }], disabled: [{\n type: Input\n }], touchUi: [{\n type: Input\n }], opened: [{\n type: Input\n }], defaultColor: [{\n type: Input\n }], color: [{\n type: Input\n }] }); })();\n\nclass NgxMatColorPickerInputEvent {\r\n constructor(\r\n /** Reference to the colorpicker input component that emitted the event. */\r\n target, \r\n /** Reference to the native input element associated with the colorpicker input. */\r\n targetElement) {\r\n this.target = target;\r\n this.targetElement = targetElement;\r\n this.value = this.target.value;\r\n }\r\n}\r\nconst MAT_COLORPICKER_VALUE_ACCESSOR = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => NgxMatColorPickerInput),\r\n multi: true\r\n};\r\nconst MAT_COLORPICKER_VALIDATORS = {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => NgxMatColorPickerInput),\r\n multi: true\r\n};\r\nclass NgxMatColorPickerInput {\r\n constructor(_elementRef, _formField, _colorFormats, _adapter) {\r\n this._elementRef = _elementRef;\r\n this._formField = _formField;\r\n this._colorFormats = _colorFormats;\r\n this._adapter = _adapter;\r\n /** Emits when a `change` event is fired on this ``. */\r\n this.colorChange = new EventEmitter();\r\n /** Emits when an `input` event is fired on this ``. */\r\n this.colorInput = new EventEmitter();\r\n /** Emits when the disabled state has changed */\r\n this._disabledChange = new EventEmitter();\r\n /** Emits when the value changes (either due to user input or programmatic change). */\r\n this._valueChange = new EventEmitter();\r\n this._onTouched = () => { };\r\n this._cvaOnChange = () => { };\r\n this._validatorOnChange = () => { };\r\n this._pickerSubscription = Subscription.EMPTY;\r\n /** The combined form control validator for this input. */\r\n this._validator = Validators.compose([]);\r\n /** Whether the last value set on the input was valid. */\r\n this._lastValueValid = false;\r\n if (!this._colorFormats) {\r\n throw createMissingDateImplError('MAT_COLOR_FORMATS');\r\n }\r\n }\r\n set ngxMatColorPicker(value) {\r\n if (!value) {\r\n return;\r\n }\r\n this._picker = value;\r\n this._picker.registerInput(this);\r\n this._pickerSubscription.unsubscribe();\r\n this._pickerSubscription = this._picker._selectedChanged.subscribe((selected) => {\r\n this.value = selected;\r\n this._cvaOnChange(selected);\r\n this._onTouched();\r\n this.colorInput.emit(new NgxMatColorPickerInputEvent(this, this._elementRef.nativeElement));\r\n this.colorChange.emit(new NgxMatColorPickerInputEvent(this, this._elementRef.nativeElement));\r\n });\r\n }\r\n /** Whether the colorpicker-input is disabled. */\r\n get disabled() { return !!this._disabled; }\r\n set disabled(value) {\r\n const newValue = coerceBooleanProperty(value);\r\n const element = this._elementRef.nativeElement;\r\n if (this._disabled !== newValue) {\r\n this._disabled = newValue;\r\n this._disabledChange.emit(newValue);\r\n }\r\n // We need to null check the `blur` method, because it's undefined during SSR.\r\n if (newValue && element.blur) {\r\n // Normally, native input elements automatically blur if they turn disabled. This behavior\r\n // is problematic, because it would mean that it triggers another change detection cycle,\r\n // which then causes a changed after checked error if the input element was focused before.\r\n element.blur();\r\n }\r\n }\r\n /** The value of the input. */\r\n get value() { return this._value; }\r\n set value(value) {\r\n const oldValue = this.value;\r\n this._value = value;\r\n this._formatValue(value);\r\n if (!this._adapter.sameColor(oldValue, value)) {\r\n this._valueChange.emit(value);\r\n }\r\n }\r\n /** Returns the palette used by the input's form field, if any. */\r\n getThemePalette() {\r\n return this._formField ? this._formField.color : undefined;\r\n }\r\n registerOnValidatorChange(fn) {\r\n this._validatorOnChange = fn;\r\n }\r\n validate(c) {\r\n return this._validator ? this._validator(c) : null;\r\n }\r\n /**\r\n * @deprecated\r\n * @breaking-change 8.0.0 Use `getConnectedOverlayOrigin` instead\r\n */\r\n getPopupConnectionElementRef() {\r\n return this.getConnectedOverlayOrigin();\r\n }\r\n /**\r\n * Gets the element that the colorpicker popup should be connected to.\r\n * @return The element to connect the popup to.\r\n */\r\n getConnectedOverlayOrigin() {\r\n return this._formField ? this._formField.getConnectedOverlayOrigin() : this._elementRef;\r\n }\r\n ngOnInit() {\r\n }\r\n ngOnDestroy() {\r\n this._pickerSubscription.unsubscribe();\r\n this._valueChange.complete();\r\n this._disabledChange.complete();\r\n }\r\n // Implemented as part of ControlValueAccessor.\r\n writeValue(value) {\r\n this.value = value;\r\n }\r\n // Implemented as part of ControlValueAccessor.\r\n registerOnChange(fn) {\r\n this._cvaOnChange = fn;\r\n }\r\n // Implemented as part of ControlValueAccessor.\r\n registerOnTouched(fn) {\r\n this._onTouched = fn;\r\n }\r\n // Implemented as part of ControlValueAccessor.\r\n setDisabledState(isDisabled) {\r\n this.disabled = isDisabled;\r\n }\r\n _onChange() {\r\n this.colorChange.emit(new NgxMatColorPickerInputEvent(this, this._elementRef.nativeElement));\r\n }\r\n _onKeydown(event) {\r\n const isAltDownArrow = event.altKey && event.keyCode === DOWN_ARROW;\r\n if (this._picker && isAltDownArrow && !this._elementRef.nativeElement.readOnly) {\r\n this._picker.open();\r\n event.preventDefault();\r\n }\r\n }\r\n /** Handles blur events on the input. */\r\n _onBlur() {\r\n // Reformat the input only if we have a valid value.\r\n if (this.value) {\r\n this._formatValue(this.value);\r\n }\r\n this._onTouched();\r\n }\r\n /** Formats a value and sets it on the input element. */\r\n _formatValue(value) {\r\n this._elementRef.nativeElement.value = value ? this._adapter.format(value, this._colorFormats.display.colorInput) : '';\r\n }\r\n _onInput(value) {\r\n const lastValueWasValid = this._lastValueValid;\r\n const nextValue = this._adapter.parse(value);\r\n if (!this._adapter.sameColor(nextValue, this._value)) {\r\n this._value = nextValue;\r\n this._cvaOnChange(nextValue);\r\n this._valueChange.emit(nextValue);\r\n this.colorInput.emit(new NgxMatColorPickerInputEvent(this, this._elementRef.nativeElement));\r\n }\r\n else if (lastValueWasValid !== this._lastValueValid) {\r\n this._validatorOnChange();\r\n }\r\n }\r\n}\nNgxMatColorPickerInput.ɵfac = function NgxMatColorPickerInput_Factory(t) { return new (t || NgxMatColorPickerInput)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.MatFormField, 8), ɵngcc0.ɵɵdirectiveInject(MAT_COLOR_FORMATS, 8), ɵngcc0.ɵɵdirectiveInject(ColorAdapter)); };\nNgxMatColorPickerInput.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgxMatColorPickerInput, selectors: [[\"input\", \"ngxMatColorPicker\", \"\"]], hostVars: 3, hostBindings: function NgxMatColorPickerInput_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"input\", function NgxMatColorPickerInput_input_HostBindingHandler($event) { return ctx._onInput($event.target.value); })(\"change\", function NgxMatColorPickerInput_change_HostBindingHandler() { return ctx._onChange(); })(\"blur\", function NgxMatColorPickerInput_blur_HostBindingHandler() { return ctx._onBlur(); })(\"keydown\", function NgxMatColorPickerInput_keydown_HostBindingHandler($event) { return ctx._onKeydown($event); });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"disabled\", ctx.disabled);\n ɵngcc0.ɵɵattribute(\"aria-haspopup\", ctx._picker ? \"dialog\" : null)(\"aria-owns\", (ctx._picker == null ? null : ctx._picker.opened) && ctx._picker.id || null);\n } }, inputs: { ngxMatColorPicker: \"ngxMatColorPicker\", value: \"value\", disabled: \"disabled\" }, outputs: { colorChange: \"colorChange\", colorInput: \"colorInput\" }, exportAs: [\"ngxMatColorPickerInput\"], features: [ɵngcc0.ɵɵProvidersFeature([\n MAT_COLORPICKER_VALUE_ACCESSOR,\n MAT_COLORPICKER_VALIDATORS,\n { provide: MAT_INPUT_VALUE_ACCESSOR, useExisting: NgxMatColorPickerInput },\n ])] });\r\n/** @nocollapse */\r\nNgxMatColorPickerInput.ctorParameters = () => [\r\n { type: ElementRef },\r\n { type: MatFormField, decorators: [{ type: Optional }] },\r\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MAT_COLOR_FORMATS,] }] },\r\n { type: ColorAdapter }\r\n];\r\nNgxMatColorPickerInput.propDecorators = {\r\n ngxMatColorPicker: [{ type: Input }],\r\n disabled: [{ type: Input }],\r\n value: [{ type: Input }],\r\n colorChange: [{ type: Output }],\r\n colorInput: [{ type: Output }]\r\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxMatColorPickerInput, [{\n type: Directive,\n args: [{\n selector: 'input[ngxMatColorPicker]',\n providers: [\n MAT_COLORPICKER_VALUE_ACCESSOR,\n MAT_COLORPICKER_VALIDATORS,\n { provide: MAT_INPUT_VALUE_ACCESSOR, useExisting: NgxMatColorPickerInput },\n ],\n host: {\n '[attr.aria-haspopup]': '_picker ? \"dialog\" : null',\n '[attr.aria-owns]': '(_picker?.opened && _picker.id) || null',\n '[disabled]': 'disabled',\n '(input)': '_onInput($event.target.value)',\n '(change)': '_onChange()',\n '(blur)': '_onBlur()',\n '(keydown)': '_onKeydown($event)'\n },\n exportAs: 'ngxMatColorPickerInput'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc2.MatFormField, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_COLOR_FORMATS]\n }] }, { type: ColorAdapter }]; }, { colorChange: [{\n type: Output\n }], colorInput: [{\n type: Output\n }], ngxMatColorPicker: [{\n type: Input\n }], value: [{\n type: Input\n }], disabled: [{\n type: Input\n }] }); })();\n\nclass NgxMatColorToggleComponent {\r\n constructor(_cd) {\r\n this._cd = _cd;\r\n this._stateChanges = Subscription.EMPTY;\r\n }\r\n get disabled() {\r\n if (this._disabled == null && this.picker) {\r\n return this.picker.disabled;\r\n }\r\n }\r\n set disabled(value) {\r\n this._disabled = value;\r\n }\r\n ngOnInit() {\r\n }\r\n ngOnChanges(changes) {\r\n if (changes['picker']) {\r\n this._watchStateChanges();\r\n }\r\n }\r\n ngOnDestroy() {\r\n this._stateChanges.unsubscribe();\r\n }\r\n ngAfterContentInit() {\r\n this._watchStateChanges();\r\n }\r\n open(event) {\r\n if (this.picker && !this.disabled) {\r\n this.picker.open();\r\n event.stopPropagation();\r\n }\r\n }\r\n _watchStateChanges() {\r\n const disabled$ = this.picker ? this.picker._disabledChange : of();\r\n const inputDisabled$ = this.picker && this.picker._pickerInput ?\r\n this.picker._pickerInput._disabledChange : of();\r\n const pickerToggled$ = this.picker ?\r\n merge(this.picker.openedStream, this.picker.closedStream) : of();\r\n this._stateChanges.unsubscribe();\r\n this._stateChanges = merge(disabled$, inputDisabled$, pickerToggled$).subscribe(() => this._cd.markForCheck());\r\n }\r\n}\nNgxMatColorToggleComponent.ɵfac = function NgxMatColorToggleComponent_Factory(t) { return new (t || NgxMatColorToggleComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nNgxMatColorToggleComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: NgxMatColorToggleComponent, selectors: [[\"ngx-mat-color-toggle\"]], viewQuery: function NgxMatColorToggleComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c1, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._button = _t.first);\n } }, hostAttrs: [1, \"ngx-mat-color-toggle\"], hostVars: 7, hostBindings: function NgxMatColorToggleComponent_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"focus\", function NgxMatColorToggleComponent_focus_HostBindingHandler() { return ctx._button.focus(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"tabindex\", -1);\n ɵngcc0.ɵɵclassProp(\"ngx-mat-color-toggle-active\", ctx.picker && ctx.picker.opened)(\"mat-accent\", ctx.picker && ctx.picker.color === \"accent\")(\"mat-warn\", ctx.picker && ctx.picker.color === \"warn\");\n } }, inputs: { disabled: \"disabled\", picker: [\"for\", \"picker\"], tabIndex: \"tabIndex\" }, exportAs: [\"ngxMatColorPickerToggle\"], features: [ɵngcc0.ɵɵNgOnChangesFeature], decls: 4, vars: 5, consts: [[\"mat-icon-button\", \"\", \"type\", \"button\", 3, \"disabled\", \"click\"], [\"button\", \"\"]], template: function NgxMatColorToggleComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"button\", 0, 1);\n ɵngcc0.ɵɵlistener(\"click\", function NgxMatColorToggleComponent_Template_button_click_0_listener($event) { return ctx.open($event); });\n ɵngcc0.ɵɵelementStart(2, \"mat-icon\");\n ɵngcc0.ɵɵtext(3, \"palette\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"disabled\", ctx.disabled);\n ɵngcc0.ɵɵattribute(\"aria-haspopup\", ctx.picker ? \"dialog\" : null)(\"tabindex\", ctx.disabled ? -1 : ctx.tabIndex);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵstyleProp(\"color\", ctx.picker == null ? null : ctx.picker._selected == null ? null : ctx.picker._selected.rgba);\n } }, directives: [ɵngcc4.MatButton, ɵngcc9.MatIcon], styles: [\".mat-form-field-appearance-legacy .mat-form-field-prefix .ngx-mat-color-toggle-default-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .ngx-mat-color-toggle-default-icon{width:1em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .ngx-mat-color-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .ngx-mat-color-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .ngx-mat-color-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .ngx-mat-color-toggle-default-icon{margin:auto}\"], encapsulation: 2 });\r\n/** @nocollapse */\r\nNgxMatColorToggleComponent.ctorParameters = () => [\r\n { type: ChangeDetectorRef }\r\n];\r\nNgxMatColorToggleComponent.propDecorators = {\r\n picker: [{ type: Input, args: ['for',] }],\r\n tabIndex: [{ type: Input }],\r\n disabled: [{ type: Input }],\r\n _button: [{ type: ViewChild, args: ['button',] }]\r\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxMatColorToggleComponent, [{\n type: Component,\n args: [{\n selector: 'ngx-mat-color-toggle',\n template: \"\",\n host: {\n 'class': 'ngx-mat-color-toggle',\n // Always set the tabindex to -1 so that it doesn't overlap with any custom tabindex the\n // consumer may have provided, while still being able to receive focus.\n '[attr.tabindex]': '-1',\n '[class.ngx-mat-color-toggle-active]': 'picker && picker.opened',\n '[class.mat-accent]': 'picker && picker.color === \"accent\"',\n '[class.mat-warn]': 'picker && picker.color === \"warn\"',\n '(focus)': '_button.focus()'\n },\n exportAs: 'ngxMatColorPickerToggle',\n encapsulation: ViewEncapsulation.None,\n styles: [\".mat-form-field-appearance-legacy .mat-form-field-prefix .ngx-mat-color-toggle-default-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .ngx-mat-color-toggle-default-icon{width:1em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .ngx-mat-color-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .ngx-mat-color-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .ngx-mat-color-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .ngx-mat-color-toggle-default-icon{margin:auto}\"]\n }]\n }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }]; }, { disabled: [{\n type: Input\n }], picker: [{\n type: Input,\n args: ['for']\n }], tabIndex: [{\n type: Input\n }], _button: [{\n type: ViewChild,\n args: ['button']\n }] }); })();\n\nclass NumericColorInputDirective {\r\n constructor() { }\r\n onInput($event) {\r\n this._formatInput($event.target);\r\n }\r\n /**\r\n * Format input\r\n * @param input\r\n */\r\n _formatInput(input) {\r\n let val = Number(input.value.replace(NUMERIC_REGEX, ''));\r\n val = isNaN(val) ? 0 : val;\r\n input.value = val;\r\n }\r\n}\nNumericColorInputDirective.ɵfac = function NumericColorInputDirective_Factory(t) { return new (t || NumericColorInputDirective)(); };\nNumericColorInputDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NumericColorInputDirective, selectors: [[\"\", \"ngxMatNumericColorInput\", \"\"]], hostBindings: function NumericColorInputDirective_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"input\", function NumericColorInputDirective_input_HostBindingHandler($event) { return ctx.onInput($event); });\n } } });\r\n/** @nocollapse */\r\nNumericColorInputDirective.ctorParameters = () => [];\r\nNumericColorInputDirective.propDecorators = {\r\n onInput: [{ type: HostListener, args: ['input', ['$event'],] }]\r\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NumericColorInputDirective, [{\n type: Directive,\n args: [{\n selector: '[ngxMatNumericColorInput]'\n }]\n }], function () { return []; }, { onInput: [{\n type: HostListener,\n args: ['input', ['$event']]\n }] }); })();\n\nclass NgxMatColorPickerModule {\r\n}\nNgxMatColorPickerModule.ɵfac = function NgxMatColorPickerModule_Factory(t) { return new (t || NgxMatColorPickerModule)(); };\nNgxMatColorPickerModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: NgxMatColorPickerModule });\nNgxMatColorPickerModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [\n ColorAdapter,\n NGX_MAT_COLOR_PICKER_SCROLL_STRATEGY_FACTORY_PROVIDER\n ], imports: [[\n CommonModule,\n MatInputModule,\n MatButtonModule,\n MatCardModule,\n MatRadioModule,\n FormsModule,\n ReactiveFormsModule,\n MatDialogModule,\n PortalModule,\n MatIconModule\n ]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxMatColorPickerModule, [{\n type: NgModule,\n args: [{\n declarations: [\n NgxMatColorPaletteComponent,\n NgxMatColorCanvasComponent,\n NgxMatColorCollectionComponent,\n NgxMatColorSliderComponent,\n NumericColorInputDirective,\n NgxMatColorPickerContentComponent,\n NgxMatColorPickerComponent,\n NgxMatColorToggleComponent,\n NgxMatColorPickerInput\n ],\n imports: [\n CommonModule,\n MatInputModule,\n MatButtonModule,\n MatCardModule,\n MatRadioModule,\n FormsModule,\n ReactiveFormsModule,\n MatDialogModule,\n PortalModule,\n MatIconModule\n ],\n exports: [\n NgxMatColorToggleComponent,\n NgxMatColorPickerInput,\n NgxMatColorPickerComponent\n ],\n entryComponents: [\n NgxMatColorPickerContentComponent\n ],\n providers: [\n ColorAdapter,\n NGX_MAT_COLOR_PICKER_SCROLL_STRATEGY_FACTORY_PROVIDER\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgxMatColorPickerModule, { declarations: function () { return [NgxMatColorPaletteComponent, NgxMatColorCanvasComponent, NgxMatColorCollectionComponent, NgxMatColorSliderComponent, NumericColorInputDirective, NgxMatColorPickerContentComponent, NgxMatColorPickerComponent, NgxMatColorToggleComponent, NgxMatColorPickerInput]; }, imports: function () { return [CommonModule,\n MatInputModule,\n MatButtonModule,\n MatCardModule,\n MatRadioModule,\n FormsModule,\n ReactiveFormsModule,\n MatDialogModule,\n PortalModule,\n MatIconModule]; }, exports: function () { return [NgxMatColorToggleComponent, NgxMatColorPickerInput, NgxMatColorPickerComponent]; } }); })();\n\n/*\r\n * Public API Surface of color-picker\r\n */\n\n/**\r\n * Generated bundle index. Do not edit.\r\n */\n\nexport { BASIC_COLORS, Color, ColorAdapter, MAT_COLORPICKER_VALIDATORS, MAT_COLORPICKER_VALUE_ACCESSOR, MAT_COLOR_FORMATS, MAX_RGB, MIN_RGB, NGX_MAT_COLOR_FORMATS, NGX_MAT_COLOR_PICKER_SCROLL_STRATEGY, NGX_MAT_COLOR_PICKER_SCROLL_STRATEGY_FACTORY, NGX_MAT_COLOR_PICKER_SCROLL_STRATEGY_FACTORY_PROVIDER, NUMERIC_REGEX, NgxMatColorCanvasComponent, NgxMatColorCollectionComponent, NgxMatColorPaletteComponent, NgxMatColorPickerComponent, NgxMatColorPickerContentComponent, NgxMatColorPickerInput, NgxMatColorPickerInputEvent, NgxMatColorPickerModule, NgxMatColorSliderComponent, NgxMatColorToggleComponent, NumericColorInputDirective, convertDecimalToHex, createMissingDateImplError, getColorAtPosition, matchers, pad2, rgbToHex, rgbaToHex, stringInputToObject, NgxMatColorPaletteComponent as ɵa, NgxMatColorCanvasComponent as ɵb, NgxMatColorCollectionComponent as ɵc, NgxMatColorSliderComponent as ɵd, NumericColorInputDirective as ɵe, NgxMatColorPickerContentComponent as ɵf, NgxMatColorPickerComponent as ɵg, NgxMatColorToggleComponent as ɵh, NgxMatColorPickerInput as ɵi, ColorAdapter as ɵj, NGX_MAT_COLOR_PICKER_SCROLL_STRATEGY_FACTORY_PROVIDER as ɵk };\n\n","/**\n * @license Angular v12.2.15\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * An injectable service that produces an animation sequence programmatically within an\n * Angular component or directive.\n * Provided by the `BrowserAnimationsModule` or `NoopAnimationsModule`.\n *\n * @usageNotes\n *\n * To use this service, add it to your component or directive as a dependency.\n * The service is instantiated along with your component.\n *\n * Apps do not typically need to create their own animation players, but if you\n * do need to, follow these steps:\n *\n * 1. Use the `build()` method to create a programmatic animation using the\n * `animate()` function. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass AnimationBuilder {\n}\n/**\n * A factory object returned from the `AnimationBuilder`.`build()` method.\n *\n * @publicApi\n */\nclass AnimationFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nconst AUTO_STYLE = '*';\n/**\n * Creates a named animation trigger, containing a list of `state()`\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of `state()`\n * and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n *
...
\n * ```\n *\n * ### Using an inline function\n * The `transition` animation method also supports reading an inline function which can decide\n * if its associated animation should be run.\n *\n * ```typescript\n * // this method is run each time the `myAnimationTrigger` trigger value changes.\n * function myInlineMatcherFn(fromState: string, toState: string, element: any, params: {[key:\n string]: any}): boolean {\n * // notice that `element` and `params` are also available here\n * return toState == 'yes-please-animate';\n * }\n *\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger('myAnimationTrigger', [\n * transition(myInlineMatcherFn, [\n * // the animation sequence code\n * ]),\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"yes-please-animate\";\n * }\n * ```\n *\n * ### Disabling Animations\n * When true, the special animation control binding `@.disabled` binding prevents\n * all animations from rendering.\n * Place the `@.disabled` binding on an element to disable\n * animations on the element itself, as well as any inner animation triggers\n * within the element.\n *\n * The following example shows how to use this feature:\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * template: `\n *
\n *
\n *
\n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * When `@.disabled` is true, it prevents the `@childAnimation` trigger from animating,\n * along with any inner animations.\n *\n * ### Disable animations application-wide\n * When an area of the template is set to have animations disabled,\n * **all** inner components have their animations disabled as well.\n * This means that you can disable all animations for an app\n * by placing a host binding set on `@.disabled` on the topmost Angular component.\n *\n * ```typescript\n * import {Component, HostBinding} from '@angular/core';\n *\n * @Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * @HostBinding('@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### Overriding disablement of inner animations\n * Despite inner animations being disabled, a parent animation can `query()`\n * for inner elements located in disabled areas of the template and still animate\n * them if needed. This is also the case for when a sub animation is\n * queried by a parent and then later animated using `animateChild()`.\n *\n * ### Detecting when an animation is disabled\n * If a region of the DOM (or the entire application) has its animations disabled, the animation\n * trigger callbacks still fire, but for zero seconds. When the callback fires, it provides\n * an instance of an `AnimationEvent`. If animations are disabled,\n * the `.disabled` flag on the event is true.\n *\n * @publicApi\n */\nfunction trigger(name, definitions) {\n return { type: 7 /* Trigger */, name, definitions, options: {} };\n}\n/**\n * Defines an animation step that combines styling information with timing information.\n *\n * @param timings Sets `AnimateTimings` for the parent animation.\n * A string in the format \"duration [delay] [easing]\".\n * - Duration and delay are expressed as a number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n * - The easing value controls how the animation accelerates and decelerates\n * during its runtime. Value is one of `ease`, `ease-in`, `ease-out`,\n * `ease-in-out`, or a `cubic-bezier()` function call.\n * If not supplied, no easing is applied.\n *\n * For example, the string \"1s 100ms ease-out\" specifies a duration of\n * 1000 milliseconds, and delay of 100 ms, and the \"ease-out\" easing style,\n * which decelerates near the end of the duration.\n * @param styles Sets AnimationStyles for the parent animation.\n * A function call to either `style()` or `keyframes()`\n * that returns a collection of CSS style entries to be applied to the parent animation.\n * When null, uses the styles from the destination state.\n * This is useful when describing an animation step that will complete an animation;\n * see \"Animating to the final state\" in `transitions()`.\n * @returns An object that encapsulates the animation step.\n *\n * @usageNotes\n * Call within an animation `sequence()`, `{@link animations/group group()}`, or\n * `transition()` call to specify an animation step\n * that applies given style data to the parent animation for a given amount of time.\n *\n * ### Syntax Examples\n * **Timing examples**\n *\n * The following examples show various `timings` specifications.\n * - `animate(500)` : Duration is 500 milliseconds.\n * - `animate(\"1s\")` : Duration is 1000 milliseconds.\n * - `animate(\"100ms 0.5s\")` : Duration is 100 milliseconds, delay is 500 milliseconds.\n * - `animate(\"5s ease-in\")` : Duration is 5000 milliseconds, easing in.\n * - `animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\")` : Duration is 5000 milliseconds, delay is 10\n * milliseconds, easing according to a bezier curve.\n *\n * **Style examples**\n *\n * The following example calls `style()` to set a single CSS style.\n * ```typescript\n * animate(500, style({ background: \"red\" }))\n * ```\n * The following example calls `keyframes()` to set a CSS style\n * to different values for successive keyframes.\n * ```typescript\n * animate(500, keyframes(\n * [\n * style({ background: \"blue\" }),\n * style({ background: \"red\" })\n * ])\n * ```\n *\n * @publicApi\n */\nfunction animate(timings, styles = null) {\n return { type: 4 /* Animate */, styles, timings };\n}\n/**\n * @description Defines a list of animation steps to be run in parallel.\n *\n * @param steps An array of animation step objects.\n * - When steps are defined by `style()` or `animate()`\n * function calls, each call within the group is executed instantly.\n * - To specify offset styles to be applied at a later time, define steps with\n * `keyframes()`, or use `animate()` calls with a delay value.\n * For example:\n *\n * ```typescript\n * group([\n * animate(\"1s\", style({ background: \"black\" })),\n * animate(\"2s\", style({ color: \"white\" }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the group data.\n *\n * @usageNotes\n * Grouped animations are useful when a series of styles must be\n * animated at different starting times and closed off at different ending times.\n *\n * When called within a `sequence()` or a\n * `transition()` call, does not continue to the next\n * instruction until all of the inner animation steps have completed.\n *\n * @publicApi\n */\nfunction group(steps, options = null) {\n return { type: 3 /* Group */, steps, options };\n}\n/**\n * Defines a list of animation steps to be run sequentially, one by one.\n *\n * @param steps An array of animation step objects.\n * - Steps defined by `style()` calls apply the styling data immediately.\n * - Steps defined by `animate()` calls apply the styling data over time\n * as specified by the timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 }),\n * animate(\"1s\", style({ opacity: 1 }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the sequence data.\n *\n * @usageNotes\n * When you pass an array of steps to a\n * `transition()` call, the steps run sequentially by default.\n * Compare this to the `{@link animations/group group()}` call, which runs animation steps in\n *parallel.\n *\n * When a sequence is used within a `{@link animations/group group()}` or a `transition()` call,\n * execution continues to the next instruction only after each of the inner animation\n * steps have completed.\n *\n * @publicApi\n **/\nfunction sequence(steps, options = null) {\n return { type: 2 /* Sequence */, steps, options };\n}\n/**\n * Declares a key/value object containing CSS properties/styles that\n * can then be used for an animation `state`, within an animation `sequence`,\n * or as styling data for calls to `animate()` and `keyframes()`.\n *\n * @param tokens A set of CSS styles or HTML styles associated with an animation state.\n * The value can be any of the following:\n * - A key-value style pair associating a CSS property with a value.\n * - An array of key-value style pairs.\n * - An asterisk (*), to use auto-styling, where styles are derived from the element\n * being animated and applied to the animation when it starts.\n *\n * Auto-styling can be used to define a state that depends on layout or other\n * environmental factors.\n *\n * @return An object that encapsulates the style data.\n *\n * @usageNotes\n * The following examples create animation styles that collect a set of\n * CSS property values:\n *\n * ```typescript\n * // string values for CSS properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical pixel values\n * style({ width: 100, height: 0 })\n * ```\n *\n * The following example uses auto-styling to allow a component to animate from\n * a height of 0 up to the height of the parent element:\n *\n * ```\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * @publicApi\n **/\nfunction style(tokens) {\n return { type: 6 /* Style */, styles: tokens, offset: null };\n}\n/**\n * Declares an animation state within a trigger attached to an element.\n *\n * @param name One or more names for the defined state in a comma-separated string.\n * The following reserved state names can be supplied to define a style for specific use\n * cases:\n *\n * - `void` You can associate styles with this name to be used when\n * the element is detached from the application. For example, when an `ngIf` evaluates\n * to false, the state of the associated element is void.\n * - `*` (asterisk) Indicates the default state. You can associate styles with this name\n * to be used as the fallback when the state that is being animated is not declared\n * within the trigger.\n *\n * @param styles A set of CSS styles associated with this state, created using the\n * `style()` function.\n * This set of styles persists on the element once the state has been reached.\n * @param options Parameters that can be passed to the state when it is invoked.\n * 0 or more key-value pairs.\n * @return An object that encapsulates the new state data.\n *\n * @usageNotes\n * Use the `trigger()` function to register states to an animation trigger.\n * Use the `transition()` function to animate between states.\n * When a state is active within a component, its associated styles persist on the element,\n * even when the animation ends.\n *\n * @publicApi\n **/\nfunction state(name, styles, options) {\n return { type: 0 /* State */, name, styles, options };\n}\n/**\n * Defines a set of animation styles, associating each style with an optional `offset` value.\n *\n * @param steps A set of animation styles with optional offset data.\n * The optional `offset` value for a style specifies a percentage of the total animation\n * time at which that style is applied.\n * @returns An object that encapsulates the keyframes data.\n *\n * @usageNotes\n * Use with the `animate()` call. Instead of applying animations\n * from the current state\n * to the destination state, keyframes describe how each style entry is applied and at what point\n * within the animation arc.\n * Compare [CSS Keyframe Animations](https://www.w3schools.com/css/css3_animations.asp).\n *\n * ### Usage\n *\n * In the following example, the offset values describe\n * when each `backgroundColor` value is applied. The color is red at the start, and changes to\n * blue when 20% of the total time has elapsed.\n *\n * ```typescript\n * // the provided offset values\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * If there are no `offset` values specified in the style entries, the offsets\n * are calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n *```\n\n * @publicApi\n */\nfunction keyframes(steps) {\n return { type: 5 /* Keyframes */, steps };\n}\n/**\n * Declares an animation transition as a sequence of animation steps to run when a given\n * condition is satisfied. The condition is a Boolean expression or function that compares\n * the previous and current animation states, and returns true if this transition should occur.\n * When the state criteria of a defined transition are met, the associated animation is\n * triggered.\n *\n * @param stateChangeExpr A Boolean expression or function that compares the previous and current\n * animation states, and returns true if this transition should occur. Note that \"true\" and \"false\"\n * match 1 and 0, respectively. An expression is evaluated each time a state change occurs in the\n * animation trigger element.\n * The animation steps run when the expression evaluates to true.\n *\n * - A state-change string takes the form \"state1 => state2\", where each side is a defined animation\n * state, or an asterix (*) to refer to a dynamic start or end state.\n * - The expression string can contain multiple comma-separated statements;\n * for example \"state1 => state2, state3 => state4\".\n * - Special values `:enter` and `:leave` initiate a transition on the entry and exit states,\n * equivalent to \"void => *\" and \"* => void\".\n * - Special values `:increment` and `:decrement` initiate a transition when a numeric value has\n * increased or decreased in value.\n * - A function is executed each time a state change occurs in the animation trigger element.\n * The animation steps run when the function returns true.\n *\n * @param steps One or more animation objects, as returned by the `animate()` or\n * `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the animation,\n * and additional developer-defined parameters. Provided values for additional parameters are used\n * as defaults, and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the transition data.\n *\n * @usageNotes\n * The template associated with a component binds an animation trigger to an element.\n *\n * ```HTML\n * \n *
...
\n * ```\n *\n * All transitions are defined within an animation trigger,\n * along with named states that the transitions change to and from.\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * // define states\n * state(\"on\", style({ background: \"green\" })),\n * state(\"off\", style({ background: \"grey\" })),\n * ...]\n * ```\n *\n * Note that when you call the `sequence()` function within a `{@link animations/group group()}`\n * or a `transition()` call, execution does not continue to the next instruction\n * until each of the inner animation steps have completed.\n *\n * ### Syntax examples\n *\n * The following examples define transitions between the two defined states (and default states),\n * using various options:\n *\n * ```typescript\n * // Transition occurs when the state value\n * // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n * transition(\"on => off\", animate(500))\n * // Run the same animation for both directions\n * transition(\"on <=> off\", animate(500))\n * // Define multiple state-change pairs separated by commas\n * transition(\"on => off, off => void\", animate(500))\n * ```\n *\n * ### Special values for state-change expressions\n *\n * - Catch-all state change for when an element is inserted into the page and the\n * destination state is unknown:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n *\n * - Capture a state change between any states:\n *\n * `transition(\"* => *\", animate(\"1s 0s\"))`\n *\n * - Entry and exit transitions:\n *\n * ```typescript\n * transition(\":enter\", [\n * style({ opacity: 0 }),\n * animate(500, style({ opacity: 1 }))\n * ]),\n * transition(\":leave\", [\n * animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * - Use `:increment` and `:decrement` to initiate transitions:\n *\n * ```typescript\n * transition(\":increment\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n *\n * transition(\":decrement\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n * ```\n *\n * ### State-change functions\n *\n * Here is an example of a `fromState` specified as a state-change function that invokes an\n * animation when true:\n *\n * ```typescript\n * transition((fromState, toState) =>\n * {\n * return fromState == \"off\" && toState == \"on\";\n * },\n * animate(\"1s 0s\"))\n * ```\n *\n * ### Animating to the final state\n *\n * If the final step in a transition is a call to `animate()` that uses a timing value\n * with no style data, that step is automatically considered the final animation arc,\n * for the element to reach the final state. Angular automatically adds or removes\n * CSS styles to ensure that the element is in the correct final state.\n *\n * The following example defines a transition that starts by hiding the element,\n * then makes sure that it animates properly to whatever state is currently active for trigger:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n * ### Boolean value matching\n * If a trigger binding value is a Boolean, it can be matched using a transition expression\n * that compares true and false or 1 and 0. For example:\n *\n * ```\n * // in the template\n *
...
\n * // in the component metadata\n * trigger('openClose', [\n * state('true', style({ height: '*' })),\n * state('false', style({ height: '0px' })),\n * transition('false <=> true', animate(500))\n * ])\n * ```\n *\n * @publicApi\n **/\nfunction transition(stateChangeExpr, steps, options = null) {\n return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options };\n}\n/**\n * Produces a reusable animation that can be invoked in another animation or sequence,\n * by calling the `useAnimation()` function.\n *\n * @param steps One or more animation objects, as returned by the `animate()`\n * or `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional developer-defined parameters.\n * Provided values for additional parameters are used as defaults,\n * and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the animation data.\n *\n * @usageNotes\n * The following example defines a reusable animation, providing some default parameter\n * values.\n *\n * ```typescript\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ],\n * { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * The following invokes the defined animation with a call to `useAnimation()`,\n * passing in override parameter values.\n *\n * ```js\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If any of the passed-in parameter values are missing from this call,\n * the default values are used. If one or more parameter values are missing before a step is\n * animated, `useAnimation()` throws an error.\n *\n * @publicApi\n */\nfunction animation(steps, options = null) {\n return { type: 8 /* Reference */, animation: steps, options };\n}\n/**\n * Executes a queried inner animation element within an animation sequence.\n *\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional override values for developer-defined parameters.\n * @return An object that encapsulates the child animation data.\n *\n * @usageNotes\n * Each time an animation is triggered in Angular, the parent animation\n * has priority and any child animations are blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations, and run them using this function.\n *\n * Note that this feature is designed to be used with `query()` and it will only work\n * with animations that are assigned using the Angular animation library. CSS keyframes\n * and transitions are not handled by this API.\n *\n * @publicApi\n */\nfunction animateChild(options = null) {\n return { type: 9 /* AnimateChild */, options };\n}\n/**\n * Starts a reusable animation that is created using the `animation()` function.\n *\n * @param animation The reusable animation to start.\n * @param options An options object that can contain a delay value for the start of\n * the animation, and additional override values for developer-defined parameters.\n * @return An object that contains the animation parameters.\n *\n * @publicApi\n */\nfunction useAnimation(animation, options = null) {\n return { type: 10 /* AnimateRef */, animation, options };\n}\n/**\n * Finds one or more inner elements within the current element that is\n * being animated within a sequence. Use with `animate()`.\n *\n * @param selector The element to query, or a set of elements that contain Angular-specific\n * characteristics, specified with one or more of the following tokens.\n * - `query(\":enter\")` or `query(\":leave\")` : Query for newly inserted/removed elements.\n * - `query(\":animating\")` : Query all currently animating elements.\n * - `query(\"@triggerName\")` : Query elements that contain an animation trigger.\n * - `query(\"@*\")` : Query all elements that contain an animation triggers.\n * - `query(\":self\")` : Include the current element into the animation sequence.\n *\n * @param animation One or more animation steps to apply to the queried element or elements.\n * An array is treated as an animation sequence.\n * @param options An options object. Use the 'limit' field to limit the total number of\n * items to collect.\n * @return An object that encapsulates the query data.\n *\n * @usageNotes\n * Tokens can be merged into a combined query selector string. For example:\n *\n * ```typescript\n * query(':self, .record:enter, .record:leave, @subTrigger', [...])\n * ```\n *\n * The `query()` function collects multiple elements and works internally by using\n * `element.querySelectorAll`. Use the `limit` field of an options object to limit\n * the total number of items to be collected. For example:\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * By default, throws an error when zero items are found. Set the\n * `optional` flag to ignore this error. For example:\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Usage Example\n *\n * The following example queries for inner elements and animates them\n * individually using `animate()`.\n *\n * ```typescript\n * @Component({\n * selector: 'inner',\n * template: `\n *
\n *

Title

\n *
\n * Blah blah blah\n *
\n *
\n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 }))),\n * query('.content', animate(1000, style({ opacity: 1 }))),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * @publicApi\n */\nfunction query(selector, animation, options = null) {\n return { type: 11 /* Query */, selector, animation, options };\n}\n/**\n * Use within an animation `query()` call to issue a timing gap after\n * each queried item is animated.\n *\n * @param timings A delay value.\n * @param animation One ore more animation steps.\n * @returns An object that encapsulates the stagger data.\n *\n * @usageNotes\n * In the following example, a container element wraps a list of items stamped out\n * by an `ngFor`. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * Each time items are added, the opacity fade-in animation runs,\n * and each removed item is faded out.\n * When either of these animations occur, the stagger effect is\n * applied after each item's animation is started.\n *\n * ```html\n * \n * \n *
\n *
\n *
\n * {{ item }}\n *
\n *
\n * ```\n *\n * Here is the component code:\n *\n * ```typescript\n * import {trigger, transition, style, animate, query, stagger} from '@angular/animations';\n * @Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * ...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * Here is the animation trigger code:\n *\n * ```typescript\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * @publicApi\n */\nfunction stagger(timings, animation) {\n return { type: 12 /* Stagger */, timings, animation };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction scheduleMicroTask(cb) {\n Promise.resolve(null).then(cb);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see `animate()`\n * @see `AnimationPlayer`\n * @see `GroupPlayer`\n *\n * @publicApi\n */\nclass NoopAnimationPlayer {\n constructor(duration = 0, delay = 0) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._started = false;\n this._destroyed = false;\n this._finished = false;\n this._position = 0;\n this.parentPlayer = null;\n this.totalTime = duration + delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n init() { }\n play() {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n /** @internal */\n triggerMicrotask() {\n scheduleMicroTask(() => this._onFinish());\n }\n _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n pause() { }\n restart() { }\n finish() {\n this._onFinish();\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this._started = false;\n }\n setPosition(position) {\n this._position = this.totalTime ? position * this.totalTime : 1;\n }\n getPosition() {\n return this.totalTime ? this._position / this.totalTime : 1;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see `AnimationPlayer`\n * @see `{@link animations/group group()}`\n *\n */\nclass AnimationGroupPlayer {\n constructor(_players) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this._onDestroyFns = [];\n this.parentPlayer = null;\n this.totalTime = 0;\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n if (total == 0) {\n scheduleMicroTask(() => this._onFinish());\n }\n else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this.players.forEach(player => player.init());\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n pause() {\n this.players.forEach(player => player.pause());\n }\n restart() {\n this.players.forEach(player => player.restart());\n }\n finish() {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n destroy() {\n this._onDestroy();\n }\n _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n setPosition(p) {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n getPosition() {\n const longestPlayer = this.players.reduce((longestSoFar, player) => {\n const newPlayerIsLongest = longestSoFar === null || player.totalTime > longestSoFar.totalTime;\n return newPlayerIsLongest ? player : longestSoFar;\n }, null);\n return longestPlayer != null ? longestPlayer.getPosition() : 0;\n }\n beforeDestroy() {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ɵPRE_STYLE = '!';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AUTO_STYLE, AnimationBuilder, AnimationFactory, NoopAnimationPlayer, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, AnimationGroupPlayer as ɵAnimationGroupPlayer, ɵPRE_STYLE };\n\n","/**\n * @license Angular v12.2.15\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, style } from '@angular/animations';\nimport { Injectable } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as ɵngcc0 from '@angular/core';\nfunction isBrowser() {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\nfunction isNode() {\n // Checking only for `process` isn't enough to identify whether or not we're in a Node\n // environment, because Webpack by default will polyfill the `process`. While we can discern\n // that Webpack polyfilled it by looking at `process.browser`, it's very Webpack-specific and\n // might not be future-proof. Instead we look at the stringified version of `process` which\n // is `[object process]` in Node and `[object Object]` when polyfilled.\n return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n}\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes(driver, normalizer, element, keyframes, preStyles = {}, postStyles = {}) {\n const errors = [];\n const normalizedKeyframes = [];\n let previousOffset = -1;\n let previousKeyframe = null;\n keyframes.forEach(kf => {\n const offset = kf['offset'];\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe = (isSameOffset && previousKeyframe) || {};\n Object.keys(kf).forEach(prop => {\n let normalizedProp = prop;\n let normalizedValue = kf[prop];\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles[prop];\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles[prop];\n break;\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe[normalizedProp] = normalizedValue;\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n const LINE_START = '\\n - ';\n throw new Error(`Unable to animate due to the following errors:${LINE_START}${errors.join(LINE_START)}`);\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, player) {\n const totalTime = player.totalTime;\n const disabled = player.disabled ? true : false;\n const event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0, disabled) {\n return { element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled };\n}\nfunction getOrSetAsInMap(map, key, defaultValue) {\n let value;\n if (map instanceof Map) {\n value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n }\n else {\n value = map[key];\n if (!value) {\n value = map[key] = defaultValue;\n }\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.substr(separatorPos + 1);\n return [id, action];\n}\nlet _contains = (elm1, elm2) => false;\nconst ɵ0 = _contains;\nlet _matches = (element, selector) => false;\nconst ɵ1 = _matches;\nlet _query = (element, selector, multi) => {\n return [];\n};\nconst ɵ2 = _query;\n// Define utility methods for browsers and platform-server(domino) where Element\n// and utility methods exist.\nconst _isNode = isNode();\nif (_isNode || typeof Element !== 'undefined') {\n if (!isBrowser()) {\n _contains = (elm1, elm2) => elm1.contains(elm2);\n }\n else {\n _contains = (elm1, elm2) => {\n while (elm2 && elm2 !== document.documentElement) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = elm2.parentNode || elm2.host; // consider host to support shadow DOM\n }\n return false;\n };\n }\n _matches = (() => {\n if (_isNode || Element.prototype.matches) {\n return (element, selector) => element.matches(selector);\n }\n else {\n const proto = Element.prototype;\n const fn = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||\n proto.oMatchesSelector || proto.webkitMatchesSelector;\n if (fn) {\n return (element, selector) => fn.apply(element, [selector]);\n }\n else {\n return _matches;\n }\n }\n })();\n _query = (element, selector, multi) => {\n let results = [];\n if (multi) {\n // DO NOT REFACTOR TO USE SPREAD SYNTAX.\n // For element queries that return sufficiently large NodeList objects,\n // using spread syntax to populate the results array causes a RangeError\n // due to the call stack limit being reached. `Array.from` can not be used\n // as well, since NodeList is not iterable in IE 11, see\n // https://developer.mozilla.org/en-US/docs/Web/API/NodeList\n // More info is available in #38551.\n const elems = element.querySelectorAll(selector);\n for (let i = 0; i < elems.length; i++) {\n results.push(elems[i]);\n }\n }\n else {\n const elm = element.querySelector(selector);\n if (elm) {\n results.push(elm);\n }\n }\n return results;\n };\n}\nfunction containsVendorPrefix(prop) {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet _CACHED_BODY = null;\nlet _IS_WEBKIT = false;\nfunction validateStyleProperty(prop) {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY.style ? ('WebkitAppearance' in _CACHED_BODY.style) : false;\n }\n let result = true;\n if (_CACHED_BODY.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n result = camelProp in _CACHED_BODY.style;\n }\n }\n return result;\n}\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\nconst matchesElement = _matches;\nconst containsElement = _contains;\nconst invokeQuery = _query;\nfunction hypenatePropsObject(object) {\n const newObj = {};\n Object.keys(object).forEach(prop => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newObj[newProp] = object[prop];\n });\n return newObj;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NoopAnimationDriver {\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(element, selector) {\n return matchesElement(element, selector);\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n}\nNoopAnimationDriver.ɵfac = function NoopAnimationDriver_Factory(t) { return new (t || NoopAnimationDriver)(); };\nNoopAnimationDriver.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: NoopAnimationDriver, factory: NoopAnimationDriver.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NoopAnimationDriver, [{\n type: Injectable\n }], null, null); })();\n/**\n * @publicApi\n */\nclass AnimationDriver {\n}\nAnimationDriver.NOOP = ( /* @__PURE__ */new NoopAnimationDriver());\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_SECOND = 1000;\nconst SUBSTITUTION_EXPR_START = '{{';\nconst SUBSTITUTION_EXPR_END = '}}';\nconst ENTER_CLASSNAME = 'ng-enter';\nconst LEAVE_CLASSNAME = 'ng-leave';\nconst ENTER_SELECTOR = '.ng-enter';\nconst LEAVE_SELECTOR = '.ng-leave';\nconst NG_TRIGGER_CLASSNAME = 'ng-trigger';\nconst NG_TRIGGER_SELECTOR = '.ng-trigger';\nconst NG_ANIMATING_CLASSNAME = 'ng-animating';\nconst NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number')\n return value;\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2)\n return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default: // ms or something else\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration') ?\n timings :\n parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration;\n let delay = 0;\n let easing = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(`The provided timing value \"${exp}\" is invalid.`);\n return { duration: 0, delay: 0, easing: '' };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n }\n else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(`Duration values below 0 are not allowed for this animation step.`);\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(`Delay values below 0 are not allowed for this animation step.`);\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, `The provided timing value \"${exp}\" is invalid.`);\n }\n }\n return { duration, delay, easing };\n}\nfunction copyObj(obj, destination = {}) {\n Object.keys(obj).forEach(prop => {\n destination[prop] = obj[prop];\n });\n return destination;\n}\nfunction normalizeStyles(styles) {\n const normalizedStyles = {};\n if (Array.isArray(styles)) {\n styles.forEach(data => copyStyles(data, false, normalizedStyles));\n }\n else {\n copyStyles(styles, false, normalizedStyles);\n }\n return normalizedStyles;\n}\nfunction copyStyles(styles, readPrototype, destination = {}) {\n if (readPrototype) {\n // we make use of a for-in loop so that the\n // prototypically inherited properties are\n // revealed from the backFill map\n for (let prop in styles) {\n destination[prop] = styles[prop];\n }\n }\n else {\n copyObj(styles, destination);\n }\n return destination;\n}\nfunction getStyleAttributeString(element, key, value) {\n // Return the key-value pair string to be added to the style attribute for the\n // given CSS style key.\n if (value) {\n return key + ':' + value + ';';\n }\n else {\n return '';\n }\n}\nfunction writeStyleAttribute(element) {\n // Read the style property of the element and manually reflect it to the\n // style attribute. This is needed because Domino on platform-server doesn't\n // understand the full set of allowed CSS properties and doesn't reflect some\n // of them automatically.\n let styleAttrValue = '';\n for (let i = 0; i < element.style.length; i++) {\n const key = element.style.item(i);\n styleAttrValue += getStyleAttributeString(element, key, element.style.getPropertyValue(key));\n }\n for (const key in element.style) {\n // Skip internal Domino properties that don't need to be reflected.\n if (!element.style.hasOwnProperty(key) || key.startsWith('_')) {\n continue;\n }\n const dashKey = camelCaseToDashCase(key);\n styleAttrValue += getStyleAttributeString(element, dashKey, element.style[key]);\n }\n element.setAttribute('style', styleAttrValue);\n}\nfunction setStyles(element, styles, formerStyles) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.hasOwnProperty(prop)) {\n formerStyles[prop] = element.style[camelProp];\n }\n element.style[camelProp] = styles[prop];\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction eraseStyles(element, styles) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1)\n return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(`Unable to resolve the local animation param ${varName} in the given list of values`);\n }\n });\n }\n}\nconst PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nfunction extractStyleParams(value) {\n let params = [];\n if (typeof value === 'string') {\n let match;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n const original = value.toString();\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (!params.hasOwnProperty(varName)) {\n errors.push(`Please provide a value for the animation param ${varName}`);\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nfunction iteratorToArray(iterator) {\n const arr = [];\n let item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\n}\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction camelCaseToDashCase(input) {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles) {\n const previousStyleProps = Object.keys(previousStyles);\n if (previousStyleProps.length && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps = [];\n previousStyleProps.forEach(prop => {\n if (!startingKeyframe.hasOwnProperty(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe[prop] = previousStyles[prop];\n });\n if (missingStyleProps.length) {\n // tslint:disable-next-line\n for (var i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(function (prop) {\n kf[prop] = computeStyle(element, prop);\n });\n }\n }\n }\n return keyframes;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case 7 /* Trigger */:\n return visitor.visitTrigger(node, context);\n case 0 /* State */:\n return visitor.visitState(node, context);\n case 1 /* Transition */:\n return visitor.visitTransition(node, context);\n case 2 /* Sequence */:\n return visitor.visitSequence(node, context);\n case 3 /* Group */:\n return visitor.visitGroup(node, context);\n case 4 /* Animate */:\n return visitor.visitAnimate(node, context);\n case 5 /* Keyframes */:\n return visitor.visitKeyframes(node, context);\n case 6 /* Style */:\n return visitor.visitStyle(node, context);\n case 8 /* Reference */:\n return visitor.visitReference(node, context);\n case 9 /* AnimateChild */:\n return visitor.visitAnimateChild(node, context);\n case 10 /* AnimateRef */:\n return visitor.visitAnimateRef(node, context);\n case 11 /* Query */:\n return visitor.visitQuery(node, context);\n case 12 /* Stagger */:\n return visitor.visitStagger(node, context);\n default:\n throw new Error(`Unable to resolve animation metadata node #${node.type}`);\n }\n}\nfunction computeStyle(element, prop) {\n return window.getComputedStyle(element)[prop];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(str => parseInnerTransitionStr(str, expressions, errors));\n }\n else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(`The provided transition expression \"${eventStr}\" is not supported`);\n return expressions;\n }\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n}\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(`The transition alias value \"${alias}\" is not supported`);\n return '* => *';\n }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\nfunction makeLambdaFromStates(lhs, rhs) {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return (fromState, toState) => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = new RegExp(`\\s*${SELF_TOKEN}\\s*,?`, 'g');\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nfunction buildAnimationAst(driver, metadata, errors) {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors);\n}\nconst ROOT_SELECTOR = '';\nclass AnimationAstBuilderVisitor {\n constructor(_driver) {\n this._driver = _driver;\n }\n build(metadata, errors) {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n return visitDslNode(this, normalizeAnimationEntry(metadata), context);\n }\n _resetContextStyleTimingState(context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = {};\n context.collectedStyles[ROOT_SELECTOR] = {};\n context.currentTime = 0;\n }\n visitTrigger(metadata, context) {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states = [];\n const transitions = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push('animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n }\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == 0 /* State */) {\n const stateDef = def;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n }\n else if (def.type == 1 /* Transition */) {\n const transition = this.visitTransition(def, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n }\n else {\n context.errors.push('only state() and transition() definitions can sit inside of a trigger()');\n }\n });\n return {\n type: 7 /* Trigger */,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n visitState(metadata, context) {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = (metadata.options && metadata.options.params) || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(value => {\n if (isObject(value)) {\n const stylesObj = value;\n Object.keys(stylesObj).forEach(prop => {\n extractStyleParams(stylesObj[prop]).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n const missingSubsArr = iteratorToArray(missingSubs.values());\n context.errors.push(`state(\"${metadata\n .name}\", ...) must define default values for all the following style substitutions: ${missingSubsArr.join(', ')}`);\n }\n }\n return {\n type: 0 /* State */,\n name: metadata.name,\n style: styleAst,\n options: astParams ? { params: astParams } : null\n };\n }\n visitTransition(metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: 1 /* Transition */,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitSequence(metadata, context) {\n return {\n type: 2 /* Sequence */,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitGroup(metadata, context) {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: 3 /* Group */,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimate(metadata, context) {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n let styleAst;\n let styleMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == 5 /* Keyframes */) {\n styleAst = this.visitKeyframes(styleMetadata, context);\n }\n else {\n let styleMetadata = metadata.styles;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: 4 /* Animate */,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n visitStyle(metadata, context) {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n _makeStyleAst(metadata, context) {\n const styles = [];\n if (Array.isArray(metadata.styles)) {\n metadata.styles.forEach(styleTuple => {\n if (typeof styleTuple == 'string') {\n if (styleTuple == AUTO_STYLE) {\n styles.push(styleTuple);\n }\n else {\n context.errors.push(`The provided style string value ${styleTuple} is not allowed.`);\n }\n }\n else {\n styles.push(styleTuple);\n }\n });\n }\n else {\n styles.push(metadata.styles);\n }\n let containsDynamicStyles = false;\n let collectedEasing = null;\n styles.forEach(styleData => {\n if (isObject(styleData)) {\n const styleMap = styleData;\n const easing = styleMap['easing'];\n if (easing) {\n collectedEasing = easing;\n delete styleMap['easing'];\n }\n if (!containsDynamicStyles) {\n for (let prop in styleMap) {\n const value = styleMap[prop];\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: 6 /* Style */,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n _validateStyleAst(ast, context) {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach(tuple => {\n if (typeof tuple == 'string')\n return;\n Object.keys(tuple).forEach(prop => {\n if (!this._driver.validateStyleProperty(prop)) {\n context.errors.push(`The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n return;\n }\n const collectedStyles = context.collectedStyles[context.currentQuerySelector];\n const collectedEntry = collectedStyles[prop];\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime &&\n endTime <= collectedEntry.endTime) {\n context.errors.push(`The CSS property \"${prop}\" that exists between the times of \"${collectedEntry.startTime}ms\" and \"${collectedEntry\n .endTime}ms\" is also being animated in a parallel animation between the times of \"${startTime}ms\" and \"${endTime}ms\"`);\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles[prop] = { startTime, endTime };\n }\n if (context.options) {\n validateStyleParams(tuple[prop], context.options, context.errors);\n }\n });\n });\n }\n visitKeyframes(metadata, context) {\n const ast = { type: 5 /* Keyframes */, styles: [], options: null };\n if (!context.currentAnimateTimings) {\n context.errors.push(`keyframes() must be placed inside of a call to animate()`);\n return ast;\n }\n const MAX_KEYFRAME_OFFSET = 1;\n let totalKeyframesWithOffsets = 0;\n const offsets = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset = 0;\n const keyframes = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n if (keyframesOutOfRange) {\n context.errors.push(`Please ensure that all keyframe offsets are between 0 and 1`);\n }\n if (offsetsOutOfOrder) {\n context.errors.push(`Please ensure that all keyframe offsets are in order`);\n }\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(`Not all style() steps within the declared keyframes() contain offsets`);\n }\n else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n }\n visitReference(metadata, context) {\n return {\n type: 8 /* Reference */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateChild(metadata, context) {\n context.depCount++;\n return {\n type: 9 /* AnimateChild */,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: 10 /* AnimateRef */,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitQuery(metadata, context) {\n const parentSelector = context.currentQuerySelector;\n const options = (metadata.options || {});\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector =\n parentSelector.length ? (parentSelector + ' ' + selector) : selector;\n getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: 11 /* Query */,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitStagger(metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(`stagger() can only be used inside of query()`);\n }\n const timings = metadata.timings === 'full' ?\n { duration: 0, delay: 0, easing: 'full' } :\n resolveTiming(metadata.timings, context.errors, true);\n return {\n type: 12 /* Stagger */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\nfunction normalizeSelector(selector) {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n // the :enter and :leave selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n .replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.substr(1))\n .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\nfunction normalizeParams(obj) {\n return obj ? copyObj(obj) : null;\n}\nclass AnimationAstBuilderContext {\n constructor(errors) {\n this.errors = errors;\n this.queryCount = 0;\n this.depCount = 0;\n this.currentTransition = null;\n this.currentQuery = null;\n this.currentQuerySelector = null;\n this.currentAnimateTimings = null;\n this.currentTime = 0;\n this.collectedStyles = {};\n this.options = null;\n }\n}\nfunction consumeOffset(styles) {\n if (typeof styles == 'string')\n return null;\n let offset = null;\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {\n const obj = styleTuple;\n offset = parseFloat(obj['offset']);\n delete obj['offset'];\n }\n });\n }\n else if (isObject(styles) && styles.hasOwnProperty('offset')) {\n const obj = styles;\n offset = parseFloat(obj['offset']);\n delete obj['offset'];\n }\n return offset;\n}\nfunction isObject(value) {\n return !Array.isArray(value) && typeof value == 'object';\n}\nfunction constructTimingAst(value, errors) {\n let timings = null;\n if (value.hasOwnProperty('duration')) {\n timings = value;\n }\n else if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n const strValue = value;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '');\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast;\n }\n timings = timings || resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = copyObj(options);\n if (options['params']) {\n options['params'] = normalizeParams(options['params']);\n }\n }\n else {\n options = {};\n }\n return options;\n}\nfunction makeTimingAst(duration, delay, easing) {\n return { duration, delay, easing };\n}\n\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n return {\n type: 1 /* TimelineAnimation */,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\n };\n}\n\nclass ElementInstructionMap {\n constructor() {\n this._map = new Map();\n }\n consume(element) {\n let instructions = this._map.get(element);\n if (instructions) {\n this._map.delete(element);\n }\n else {\n instructions = [];\n }\n return instructions;\n }\n append(element, instructions) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n has(element) {\n return this._map.has(element);\n }\n clear() {\n this._map.clear();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of prototypical inheritance, AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two wihtin a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergesort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill object. Given that each of the keyframe\n * styles are objects that prototypically inhert from the backFill object, this means that if a\n * value is added into the backFill then it will automatically propagate any missing values to all\n * keyframes. Therefore the missing `height` value will be properly filled into the already\n * processed keyframes.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * (For prototypically-inherited contents to be detected a `for(i in obj)` loop must be used.)\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = {}, finalStyles = {}, options, subInstructions, errors = []) {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nclass AnimationTimelineBuilderVisitor {\n buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n if (timelines.length && Object.keys(finalStyles).length) {\n const tl = timelines[timelines.length - 1];\n if (!tl.allowOnlyTimelineStyles()) {\n tl.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length ? timelines.map(timeline => timeline.buildKeyframes()) :\n [createTimelineInstruction(rootElement, [], [], [], 0, 0, '', false)];\n }\n visitTrigger(ast, context) {\n // these values are not visited in this AST\n }\n visitState(ast, context) {\n // these values are not visited in this AST\n }\n visitTransition(ast, context) {\n // these values are not visited in this AST\n }\n visitAnimateChild(ast, context) {\n const elementInstructions = context.subInstructions.consume(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(elementInstructions, innerContext, innerContext.options);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n visitAnimateRef(ast, context) {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n _visitSubInstructions(instructions, context, options) {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime =\n Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n }\n visitReference(ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n visitSequence(ast, context) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == 6 /* Style */) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n // this is here just incase the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n }\n visitGroup(ast, context) {\n const innerTimelines = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n _visitTiming(ast, context) {\n if (ast.dynamic) {\n const strValue = ast.strValue;\n const timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n }\n else {\n return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n }\n }\n visitAnimate(ast, context) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n const style = ast.style;\n if (style.type == 5 /* Keyframes */) {\n this.visitKeyframes(style, context);\n }\n else {\n context.incrementTime(timings.duration);\n this.visitStyle(style, context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n visitStyle(ast, context) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings;\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.getCurrentStyleProperties().length) {\n timeline.forwardFrame();\n }\n const easing = (timings && timings.easing) || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n }\n else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n }\n visitKeyframes(ast, context) {\n const currentAnimateTimings = context.currentAnimateTimings;\n const startTime = (context.currentTimeline).duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach(step => {\n const offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n visitQuery(ast, context) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = (ast.options || {});\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay &&\n (context.previousNode.type === 6 /* Style */ ||\n (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n let furthestTime = startTime;\n const elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n let sameElementTimeline = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n }\n visitStagger(ast, context) {\n const parentContext = context.parentContext;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime =\n (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\nconst DEFAULT_NOOP_PREVIOUS_NODE = {};\nclass AnimationTimelineContext {\n constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this._enterClassName = _enterClassName;\n this._leaveClassName = _leaveClassName;\n this.errors = errors;\n this.timelines = timelines;\n this.parentContext = null;\n this.currentAnimateTimings = null;\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.subContextCount = 0;\n this.options = {};\n this.currentQueryIndex = 0;\n this.currentQueryTotal = 0;\n this.currentStaggerTime = 0;\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n get params() {\n return this.options.params;\n }\n updateOptions(options, skipIfExists) {\n if (!options)\n return;\n const newOptions = options;\n let optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n optionsToUpdate.duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate = optionsToUpdate.params;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n _copyOptions() {\n const options = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n createSubContext(options = null, element, newTime) {\n const target = element || this.element;\n const context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n transformIntoNewTimeline(newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n appendInstructionToTimeline(instruction, duration, delay) {\n const updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n incrementTime(time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n delayNextStep(delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n let results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) { // if :self is only used then the selector is empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :\n elements.slice(0, limit);\n }\n results.push(...elements);\n }\n if (!optional && results.length == 0) {\n errors.push(`\\`query(\"${originalSelector}\")\\` returned zero elements. (Use \\`query(\"${originalSelector}\", { optional: true })\\` if you wish to allow this.)`);\n }\n return results;\n }\n}\nclass TimelineBuilder {\n constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n this._driver = _driver;\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n this.duration = 0;\n this._previousKeyframe = {};\n this._currentKeyframe = {};\n this._keyframes = new Map();\n this._styleSummary = {};\n this._pendingStyles = {};\n this._backFill = {};\n this._currentEmptyStepKeyframe = null;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._localTimelineStyles = Object.create(this._backFill, {});\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n containsAnimation() {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.getCurrentStyleProperties().length > 0;\n default:\n return true;\n }\n }\n getCurrentStyleProperties() {\n return Object.keys(this._currentKeyframe);\n }\n get currentTime() {\n return this.startTime + this.duration;\n }\n delayNextStep(delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size == 1 && Object.keys(this._pendingStyles).length;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n }\n else {\n this.startTime += delay;\n }\n }\n fork(element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration);\n if (!this._currentKeyframe) {\n this._currentKeyframe = Object.create(this._backFill, {});\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n forwardTime(time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n _updateStyle(prop, value) {\n this._localTimelineStyles[prop] = value;\n this._globalTimelineStyles[prop] = value;\n this._styleSummary[prop] = { time: this.currentTime, value };\n }\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n applyEmptyStep(easing) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n Object.keys(this._globalTimelineStyles).forEach(prop => {\n this._backFill[prop] = this._globalTimelineStyles[prop] || AUTO_STYLE;\n this._currentKeyframe[prop] = AUTO_STYLE;\n });\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n setStyles(input, easing, errors, options) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n const params = (options && options.params) || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n Object.keys(styles).forEach(prop => {\n const val = interpolateParams(styles[prop], params, errors);\n this._pendingStyles[prop] = val;\n if (!this._localTimelineStyles.hasOwnProperty(prop)) {\n this._backFill[prop] = this._globalTimelineStyles.hasOwnProperty(prop) ?\n this._globalTimelineStyles[prop] :\n AUTO_STYLE;\n }\n this._updateStyle(prop, val);\n });\n }\n applyStylesToKeyframe() {\n const styles = this._pendingStyles;\n const props = Object.keys(styles);\n if (props.length == 0)\n return;\n this._pendingStyles = {};\n props.forEach(prop => {\n const val = styles[prop];\n this._currentKeyframe[prop] = val;\n });\n Object.keys(this._localTimelineStyles).forEach(prop => {\n if (!this._currentKeyframe.hasOwnProperty(prop)) {\n this._currentKeyframe[prop] = this._localTimelineStyles[prop];\n }\n });\n }\n snapshotCurrentStyles() {\n Object.keys(this._localTimelineStyles).forEach(prop => {\n const val = this._localTimelineStyles[prop];\n this._pendingStyles[prop] = val;\n this._updateStyle(prop, val);\n });\n }\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n get properties() {\n const properties = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n mergeTimelineCollectedStyles(timeline) {\n Object.keys(timeline._styleSummary).forEach(prop => {\n const details0 = this._styleSummary[prop];\n const details1 = timeline._styleSummary[prop];\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n buildKeyframes() {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n let finalKeyframes = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = copyStyles(keyframe, true);\n Object.keys(finalKeyframe).forEach(prop => {\n const value = finalKeyframe[prop];\n if (value == ɵPRE_STYLE) {\n preStyleProps.add(prop);\n }\n else if (value == AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe['offset'] = time / this.duration;\n }\n finalKeyframes.push(finalKeyframe);\n });\n const preProps = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];\n const postProps = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = copyObj(kf0);\n kf0['offset'] = 0;\n kf1['offset'] = 1;\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n }\n}\nclass SubTimelineBuilder extends TimelineBuilder {\n constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {\n super(driver, element, timings.delay);\n this.keyframes = keyframes;\n this.preStyleProps = preStyleProps;\n this.postStyleProps = postStyleProps;\n this._stretchStartingKeyframe = _stretchStartingKeyframe;\n this.timings = { duration: timings.duration, delay: timings.delay, easing: timings.easing };\n }\n containsAnimation() {\n return this.keyframes.length > 1;\n }\n buildKeyframes() {\n let keyframes = this.keyframes;\n let { delay, duration, easing } = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = copyStyles(keyframes[0], false);\n newFirstKeyframe['offset'] = 0;\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = copyStyles(keyframes[0], false);\n oldFirstKeyframe['offset'] = roundOffset(startingGap);\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still renderered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n \n delay=1000, duration=1000, keyframes = 0 .5 1\n \n turns into\n \n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = copyStyles(keyframes[i], false);\n const oldOffset = kf['offset'];\n const timeAtKeyframe = delay + oldOffset * duration;\n kf['offset'] = roundOffset(timeAtKeyframe / totalTime);\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n }\n}\nfunction roundOffset(offset, decimalPoints = 3) {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\nfunction flattenStyles(input, allStyles) {\n const styles = {};\n let allProperties;\n input.forEach(token => {\n if (token === '*') {\n allProperties = allProperties || Object.keys(allStyles);\n allProperties.forEach(prop => {\n styles[prop] = AUTO_STYLE;\n });\n }\n else {\n copyStyles(token, false, styles);\n }\n });\n return styles;\n}\n\nclass Animation {\n constructor(_driver, input) {\n this._driver = _driver;\n const errors = [];\n const ast = buildAnimationAst(_driver, input, errors);\n if (errors.length) {\n const errorMessage = `animation validation failed:\\n${errors.join('\\n')}`;\n throw new Error(errorMessage);\n }\n this._animationAst = ast;\n }\n buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) :\n startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) :\n destinationStyles;\n const errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);\n if (errors.length) {\n const errorMessage = `animation building failed:\\n${errors.join('\\n')}`;\n throw new Error(errorMessage);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass AnimationStyleNormalizer {\n}\n/**\n * @publicApi\n */\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n let unit = '';\n const strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_MAP[normalizedProperty] && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n }\n else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(`Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n }\n }\n }\n return strVal + unit;\n }\n}\nconst ɵ0$1 = () => makeBooleanMap('width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective'\n .split(','));\nconst DIMENSIONAL_PROP_MAP = (ɵ0$1)();\nfunction makeBooleanMap(keys) {\n const map = {};\n keys.forEach(key => map[key] = true);\n return map;\n}\n\nfunction createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, totalTime, errors) {\n return {\n type: 0 /* TransitionAnimation */,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\n };\n}\n\nconst EMPTY_OBJECT = {};\nclass AnimationTransitionFactory {\n constructor(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n match(currentState, nextState, element, params) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n buildStyles(stateName, params, errors) {\n const backupStateStyler = this._stateStyles['*'];\n const stateStyler = this._stateStyles[stateName];\n const backupStyles = backupStateStyler ? backupStateStyler.buildStyles(params, errors) : {};\n return stateStyler ? stateStyler.buildStyles(params, errors) : backupStyles;\n }\n build(driver, element, currentState, nextState, enterClassName, leaveClassName, currentOptions, nextOptions, subInstructions, skipAstBuild) {\n const errors = [];\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n const animationOptions = { params: Object.assign(Object.assign({}, transitionAnimationParams), nextAnimationParams) };\n const timelines = skipAstBuild ?\n [] :\n buildAnimationTimelines(driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetAsInMap(preStyleMap, elm, {});\n tl.preStyleProps.forEach(prop => preProps[prop] = true);\n const postProps = getOrSetAsInMap(postStyleMap, elm, {});\n tl.postStyleProps.forEach(prop => postProps[prop] = true);\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n const queriedElementsList = iteratorToArray(queriedElements.values());\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap, totalTime);\n }\n}\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState, element, params) {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\nclass AnimationStateStyles {\n constructor(styles, defaultParams, normalizer) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n this.normalizer = normalizer;\n }\n buildStyles(params, errors) {\n const finalStyles = {};\n const combinedParams = copyObj(this.defaultParams);\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (value != null) {\n combinedParams[key] = value;\n }\n });\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n const styleObj = value;\n Object.keys(styleObj).forEach(prop => {\n let val = styleObj[prop];\n if (val.length > 1) {\n val = interpolateParams(val, combinedParams, errors);\n }\n const normalizedProp = this.normalizer.normalizePropertyName(prop, errors);\n val = this.normalizer.normalizeStyleValue(prop, normalizedProp, val, errors);\n finalStyles[normalizedProp] = val;\n });\n }\n });\n return finalStyles;\n }\n}\n\nfunction buildTrigger(name, ast, normalizer) {\n return new AnimationTrigger(name, ast, normalizer);\n}\nclass AnimationTrigger {\n constructor(name, ast, _normalizer) {\n this.name = name;\n this.ast = ast;\n this._normalizer = _normalizer;\n this.transitionFactories = [];\n this.states = {};\n ast.states.forEach(ast => {\n const defaultParams = (ast.options && ast.options.params) || {};\n this.states[ast.name] = new AnimationStateStyles(ast.style, defaultParams, _normalizer);\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states, this._normalizer);\n }\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n matchTransition(currentState, nextState, element, params) {\n const entry = this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n matchStyles(currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\nfunction createFallbackTransition(triggerName, states, normalizer) {\n const matchers = [(fromState, toState) => true];\n const animation = { type: 2 /* Sequence */, steps: [], options: null };\n const transition = {\n type: 1 /* Transition */,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\nfunction balanceProperties(obj, key1, key2) {\n if (obj.hasOwnProperty(key1)) {\n if (!obj.hasOwnProperty(key2)) {\n obj[key2] = obj[key1];\n }\n }\n else if (obj.hasOwnProperty(key2)) {\n obj[key1] = obj[key2];\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\nclass TimelineAnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._animations = {};\n this._playersById = {};\n this.players = [];\n }\n register(id, metadata) {\n const errors = [];\n const ast = buildAnimationAst(this._driver, metadata, errors);\n if (errors.length) {\n throw new Error(`Unable to build the animation due to the following errors: ${errors.join('\\n')}`);\n }\n else {\n this._animations[id] = ast;\n }\n }\n _buildPlayer(i, preStyles, postStyles) {\n const element = i.element;\n const keyframes = normalizeKeyframes(this._driver, this._normalizer, element, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n create(id, element, options = {}) {\n const errors = [];\n const ast = this._animations[id];\n let instructions;\n const autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, {}, {}, options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetAsInMap(autoStylesMap, inst.element, {});\n inst.postStyleProps.forEach(prop => styles[prop] = null);\n });\n }\n else {\n errors.push('The requested animation doesn\\'t exist or has already been destroyed');\n instructions = [];\n }\n if (errors.length) {\n throw new Error(`Unable to create the animation due to the following errors: ${errors.join('\\n')}`);\n }\n autoStylesMap.forEach((styles, element) => {\n Object.keys(styles).forEach(prop => {\n styles[prop] = this._driver.computeStyle(element, prop, AUTO_STYLE);\n });\n });\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, {}, styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById[id] = player;\n player.onDestroy(() => this.destroy(id));\n this.players.push(player);\n return player;\n }\n destroy(id) {\n const player = this._getPlayer(id);\n player.destroy();\n delete this._playersById[id];\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n _getPlayer(id) {\n const player = this._playersById[id];\n if (!player) {\n throw new Error(`Unable to find the timeline player referenced by ${id}`);\n }\n return player;\n }\n listen(id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => { };\n }\n command(id, element, command, args) {\n if (command == 'register') {\n this.register(id, args[0]);\n return;\n }\n if (command == 'create') {\n const options = (args[0] || {});\n this.create(id, element, options);\n return;\n }\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0]));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\nconst EMPTY_PLAYER_ARRAY = [];\nconst NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\nconst REMOVAL_FLAG = '__ng_removed';\nclass StateValue {\n constructor(input, namespaceId = '') {\n this.namespaceId = namespaceId;\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n const options = copyObj(input);\n delete options['value'];\n this.options = options;\n }\n else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n get params() {\n return this.options.params;\n }\n absorbOptions(options) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\nconst VOID_VALUE = 'void';\nconst DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\nclass AnimationTransitionNamespace {\n constructor(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this.players = [];\n this._triggers = {};\n this._queue = [];\n this._elementListeners = new Map();\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n listen(element, name, phase, callback) {\n if (!this._triggers.hasOwnProperty(name)) {\n throw new Error(`Unable to listen on the animation trigger event \"${phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n }\n if (phase == null || phase.length == 0) {\n throw new Error(`Unable to listen on the animation trigger \"${name}\" because the provided event is undefined!`);\n }\n if (!isTriggerEventValid(phase)) {\n throw new Error(`The provided animation trigger event \"${phase}\" for the animation trigger \"${name}\" is not supported!`);\n }\n const listeners = getOrSetAsInMap(this._elementListeners, element, []);\n const data = { name, phase, callback };\n listeners.push(data);\n const triggersWithStates = getOrSetAsInMap(this._engine.statesByElement, element, {});\n if (!triggersWithStates.hasOwnProperty(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates[name] = DEFAULT_STATE_VALUE;\n }\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!this._triggers[name]) {\n delete triggersWithStates[name];\n }\n });\n };\n }\n register(name, ast) {\n if (this._triggers[name]) {\n // throw\n return false;\n }\n else {\n this._triggers[name] = ast;\n return true;\n }\n }\n _getTrigger(name) {\n const trigger = this._triggers[name];\n if (!trigger) {\n throw new Error(`The provided animation trigger \"${name}\" has not been registered!`);\n }\n return trigger;\n }\n trigger(element, triggerName, value, defaultToFallback = true) {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = {});\n }\n let fromState = triggersWithStates[triggerName];\n const toState = new StateValue(value, this.id);\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates[triggerName] = toState;\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n const isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n }\n else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n const playersOnElement = getOrSetAsInMap(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new palyer)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n let transition = trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback)\n return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({ element, triggerName, transition, fromState, toState, player, isFallbackTransition });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n }\n deregister(name) {\n delete this._triggers[name];\n this._engine.statesByElement.forEach((stateMap, element) => {\n delete stateMap[name];\n });\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n clearElementCache(element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n _signalRemovalForInnerTriggers(rootElement, context) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG])\n return;\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n }\n else {\n this.clearElementCache(elm);\n }\n });\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(() => elements.forEach(elm => this.clearElementCache(elm)));\n }\n triggerLeaveAnimation(element, context, destroyAfterComplete, defaultToFallback) {\n const triggerStates = this._engine.statesByElement.get(element);\n if (triggerStates) {\n const players = [];\n Object.keys(triggerStates).forEach(triggerName => {\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers[triggerName]) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n prepareLeaveAnimationListeners(element) {\n const listeners = this._elementListeners.get(element);\n const elementStates = this._engine.statesByElement.get(element);\n // if this statement fails then it means that the element was picked up\n // by an earlier flush (or there are no listeners at all to track the leave).\n if (listeners && elementStates) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName))\n return;\n visitedTriggers.add(triggerName);\n const trigger = this._triggers[triggerName];\n const transition = trigger.fallbackTransition;\n const fromState = elementStates[triggerName] || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n removeNode(element, context) {\n const engine = this._engine;\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true))\n return;\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers = engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n }\n else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n }\n else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n insertNode(element, parent) {\n addClass(element, this._hostClassName);\n }\n drainQueuedTransitions(microtaskId) {\n const instructions = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed)\n return;\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach((listener) => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n baseEvent['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n }\n else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n destroy(context) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n elementContainsData(element) {\n let containsData = false;\n if (this._elementListeners.has(element))\n containsData = true;\n containsData =\n (this._queue.find(entry => entry.element === element) ? true : false) || containsData;\n return containsData;\n }\n}\nclass TransitionAnimationEngine {\n constructor(bodyNode, driver, _normalizer) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n this.players = [];\n this.newHostElements = new Map();\n this.playersByElement = new Map();\n this.playersByQueriedElement = new Map();\n this.statesByElement = new Map();\n this.disabledNodes = new Set();\n this.totalAnimations = 0;\n this.totalQueuedPlayers = 0;\n this._namespaceLookup = {};\n this._namespaceList = [];\n this._flushFns = [];\n this._whenQuietFns = [];\n this.namespacesByHostElement = new Map();\n this.collectedEnterElements = [];\n this.collectedLeaveElements = [];\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n }\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n get queuedPlayers() {\n const players = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n createNamespace(namespaceId, hostElement) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (this.bodyNode && this.driver.containsElement(this.bodyNode, hostElement)) {\n this._balanceNamespaceList(ns, hostElement);\n }\n else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is apart of the animation code, it\n // may or may not be inserted by a parent node that is of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n _balanceNamespaceList(ns, hostElement) {\n const limit = this._namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n for (let i = limit; i >= 0; i--) {\n const nextNamespace = this._namespaceList[i];\n if (this.driver.containsElement(nextNamespace.hostElement, hostElement)) {\n this._namespaceList.splice(i + 1, 0, ns);\n found = true;\n break;\n }\n }\n if (!found) {\n this._namespaceList.splice(0, 0, ns);\n }\n }\n else {\n this._namespaceList.push(ns);\n }\n this.namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n register(namespaceId, hostElement) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n registerTrigger(namespaceId, name, trigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n destroy(namespaceId, context) {\n if (!namespaceId)\n return;\n const ns = this._fetchNamespace(namespaceId);\n this.afterFlush(() => {\n this.namespacesByHostElement.delete(ns.hostElement);\n delete this._namespaceLookup[namespaceId];\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n });\n this.afterFlushAnimationsDone(() => ns.destroy(context));\n }\n _fetchNamespace(id) {\n return this._namespaceLookup[id];\n }\n fetchNamespacesByElement(element) {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply the dedupe\n // of namespaces incase there are multiple triggers both the elm and host\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n const keys = Object.keys(elementStates);\n for (let i = 0; i < keys.length; i++) {\n const nsId = elementStates[keys[i]].namespaceId;\n if (nsId) {\n const ns = this._fetchNamespace(nsId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n trigger(namespaceId, element, name, value) {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n insertNode(namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element))\n return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n collectEnterElement(element) {\n this.collectedEnterElements.push(element);\n }\n markElementAsDisabled(element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n }\n else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n removeNode(namespaceId, element, isHostElement, context) {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n }\n else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n if (isHostElement) {\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n }\n }\n else {\n this._onRemovalComplete(element, context);\n }\n }\n markElementAsRemoved(namespaceId, element, hasAnimation, context) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] =\n { namespaceId, setForRemoval: context, hasAnimation, removedBeforeQueried: false };\n }\n listen(namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => { };\n }\n _buildInstruction(entry, subTimelines, enterClassName, leaveClassName, skipBuildAst) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName, leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n destroyInnerAnimations(containerElement) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n if (this.playersByQueriedElement.size == 0)\n return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n destroyActiveAnimationsForElement(element) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n }\n else {\n player.destroy();\n }\n });\n }\n }\n finishActiveQueriedAnimationOnElement(element) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n whenRenderingDone() {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n }\n else {\n resolve();\n }\n });\n }\n processLeaveNode(element) {\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if (this.driver.matchesElement(element, DISABLED_SELECTOR)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n flush(microtaskId = -1) {\n let players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n if (this._namespaceList.length &&\n (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n }\n finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n }\n else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n }\n else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n reportError(errors) {\n throw new Error(`Unable to process animations due to the following failed trigger transitions\\n ${errors.join('\\n')}`);\n }\n _flushAnimations(cleanupFns, microtaskId) {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map();\n const allPostStyleElements = new Map();\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n const allLeaveNodes = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n }\n else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n const allPlayers = [];\n const erroneousTransitions = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG];\n // move animations are currently not supported...\n if (details && details.setForMove) {\n player.destroy();\n return;\n }\n }\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element);\n const enterClassName = enterNodeMapIds.get(element);\n const instruction = this._buildInstruction(entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned);\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // even though the element may not be apart of the DOM, it may\n // still be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important we still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // if a unmatched transition is queued to go then it SHOULD NOT render\n // an animation and cancel the previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub trigger\n // then it will instruct the timeline builder to not add a player delay, but\n // instead stretch the first keyframe gap up until the animation starts. The\n // reason this is important is to prevent extra initialization styles from being\n // required by the user in the animation.\n instruction.timelines.forEach(tl => tl.stretchStartingKeyframe = true);\n subTimelines.append(element, instruction.timelines);\n const tuple = { instruction, player, element };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach(element => getOrSetAsInMap(queriedElements, element, []).push(player));\n instruction.preStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n if (props.length) {\n let setVal = allPreStyleElements.get(element);\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n }\n });\n instruction.postStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n let setVal = allPostStyleElements.get(element);\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n });\n });\n }\n if (erroneousTransitions.length) {\n const errors = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(`@${instruction.triggerName} has failed due to:\\n`);\n instruction.errors.forEach(error => errors.push(`- ${error}\\n`));\n });\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n const allPreviousPlayersMap = new Map();\n // this map works to tell which element in the DOM tree is contained by\n // which animation. Further down below this map will get populated once\n // the players are built and in doing so it can efficiently figure out\n // if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers = this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetAsInMap(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed (either by)\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or auto since the element\n // that is being getComputedStyle'd will not be visible (since * = destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(preStylesMap, this.driver, new Set(nodes), allPreStyleElements, ɵPRE_STYLE);\n });\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, Object.assign(Object.assign({}, post), pre));\n });\n const rootPlayers = [];\n const subPlayers = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const { element, player, instruction } = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n const innerPlayer = this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n }\n else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n }\n else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation player\n subPlayers.forEach(player => {\n // even if any players are not found for a sub animation then it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n }\n else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG];\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation)\n continue;\n let players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n }\n else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n }\n elementContainsData(namespaceId, element) {\n let containsData = false;\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval)\n containsData = true;\n if (this.playersByElement.has(element))\n containsData = true;\n if (this.playersByQueriedElement.has(element))\n containsData = true;\n if (this.statesByElement.has(element))\n containsData = true;\n return this._fetchNamespace(namespaceId).elementContainsData(element) || containsData;\n }\n afterFlush(callback) {\n this._flushFns.push(callback);\n }\n afterFlushAnimationsDone(callback) {\n this._whenQuietFns.push(callback);\n }\n _getPreviousPlayers(element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n let players = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n }\n else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued)\n return;\n if (!isRemovalAnimation && player.triggerName != triggerName)\n return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId)\n return false;\n if (triggerName && triggerName != player.triggerName)\n return false;\n return true;\n });\n }\n return players;\n }\n _beforeAnimationBuild(namespaceId, instruction, allPreviousPlayersMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId = instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition ? undefined : triggerName;\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetAsInMap(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = player.getRealPlayer();\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n _buildAnimation(namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried)\n return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n const isQueriedElement = element !== rootElement;\n const previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY)\n .map(p => p.getRealPlayer()))\n .filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p;\n return pp.element ? pp.element === element : false;\n });\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes(this.driver, this._normalizer, element, timelineInstruction.keyframes, preStyles, postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach(player => {\n getOrSetAsInMap(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetAsInMap(skippedPlayersMap, element, []).push(player);\n });\n return player;\n }\n _buildPlayer(instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\nclass TransitionAnimationPlayer {\n constructor(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n this._player = new NoopAnimationPlayer();\n this._containsRealPlayer = false;\n this._queuedCallbacks = {};\n this.destroyed = false;\n this.markedForDestroy = false;\n this.disabled = false;\n this.queued = true;\n this.totalTime = 0;\n }\n setRealPlayer(player) {\n if (this._containsRealPlayer)\n return;\n this._player = player;\n Object.keys(this._queuedCallbacks).forEach(phase => {\n this._queuedCallbacks[phase].forEach(callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks = {};\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n this.queued = false;\n }\n getRealPlayer() {\n return this._player;\n }\n overrideTotalTime(totalTime) {\n this.totalTime = totalTime;\n }\n syncPlayerEvents(player) {\n const p = this._player;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n _queueEvent(name, callback) {\n getOrSetAsInMap(this._queuedCallbacks, name, []).push(callback);\n }\n onDone(fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n onStart(fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n onDestroy(fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n init() {\n this._player.init();\n }\n hasStarted() {\n return this.queued ? false : this._player.hasStarted();\n }\n play() {\n !this.queued && this._player.play();\n }\n pause() {\n !this.queued && this._player.pause();\n }\n restart() {\n !this.queued && this._player.restart();\n }\n finish() {\n this._player.finish();\n }\n destroy() {\n this.destroyed = true;\n this._player.destroy();\n }\n reset() {\n !this.queued && this._player.reset();\n }\n setPosition(p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n getPosition() {\n return this.queued ? 0 : this._player.getPosition();\n }\n /** @internal */\n triggerCallback(phaseName) {\n const p = this._player;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\nfunction deleteOrUnsetInMap(map, key, value) {\n let currentValues;\n if (map instanceof Map) {\n currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n }\n else {\n currentValues = map[key];\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n delete map[key];\n }\n }\n }\n return currentValues;\n}\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\nfunction cloakElement(element, value) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\nfunction cloakAndComputeStyles(valuesMap, driver, elements, elementPropsMap, defaultStyle) {\n const cloakVals = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n const failedElements = [];\n elementPropsMap.forEach((props, element) => {\n const styles = {};\n props.forEach(prop => {\n const value = styles[prop] = driver.computeStyle(element, prop, defaultStyle);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n return failedElements;\n}\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots, nodes) {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n if (nodes.length == 0)\n return rootMap;\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n function getRoot(node) {\n if (!node)\n return NULL_NODE;\n let root = localRootMap.get(node);\n if (root)\n return root;\n const parent = node.parentNode;\n if (rootMap.has(parent)) { // ngIf inside @trigger\n root = parent;\n }\n else if (nodeSet.has(parent)) { // ngIf inside ngIf\n root = NULL_NODE;\n }\n else { // recurse upwards\n root = getRoot(parent);\n }\n localRootMap.set(node, root);\n return root;\n }\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root).push(node);\n }\n });\n return rootMap;\n}\nconst CLASSES_CACHE_KEY = '$$classes';\nfunction containsClass(element, className) {\n if (element.classList) {\n return element.classList.contains(className);\n }\n else {\n const classes = element[CLASSES_CACHE_KEY];\n return classes && classes[className];\n }\n}\nfunction addClass(element, className) {\n if (element.classList) {\n element.classList.add(className);\n }\n else {\n let classes = element[CLASSES_CACHE_KEY];\n if (!classes) {\n classes = element[CLASSES_CACHE_KEY] = {};\n }\n classes[className] = true;\n }\n}\nfunction removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n }\n else {\n let classes = element[CLASSES_CACHE_KEY];\n if (classes) {\n delete classes[className];\n }\n }\n}\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\nfunction flattenGroupPlayers(players) {\n const finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n }\n else {\n finalPlayers.push(player);\n }\n }\n}\nfunction objEquals(a, b) {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length)\n return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop])\n return false;\n }\n return true;\n}\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry)\n return false;\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry.add(data));\n }\n else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\n\nclass AnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._triggerCache = {};\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n this._transitionEngine = new TransitionAnimationEngine(bodyNode, _driver, _normalizer);\n this._timelineEngine = new TimelineAnimationEngine(bodyNode, _driver, _normalizer);\n this._transitionEngine.onRemovalComplete = (element, context) => this.onRemovalComplete(element, context);\n }\n registerTrigger(componentId, namespaceId, hostElement, name, metadata) {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors = [];\n const ast = buildAnimationAst(this._driver, metadata, errors);\n if (errors.length) {\n throw new Error(`The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${errors.join('\\n - ')}`);\n }\n trigger = buildTrigger(name, ast, this._normalizer);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n register(namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n destroy(namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n onInsert(namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n onRemove(namespaceId, element, context, isHostElement) {\n this._transitionEngine.removeNode(namespaceId, element, isHostElement || false, context);\n }\n disableAnimations(element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n process(namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value;\n this._timelineEngine.command(id, element, action, args);\n }\n else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n listen(namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n flush(microtaskId = -1) {\n this._transitionEngine.flush(microtaskId);\n }\n get players() {\n return this._transitionEngine.players\n .concat(this._timelineEngine.players);\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\n }\n}\n\n/**\n * @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 * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nfunction packageNonAnimatableStyles(element, styles) {\n let startStyles = null;\n let endStyles = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n }\n else if (styles) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n return (startStyles || endStyles) ? new SpecialCasedStyles(element, startStyles, endStyles) :\n null;\n}\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nclass SpecialCasedStyles {\n constructor(_element, _startStyles, _endStyles) {\n this._element = _element;\n this._startStyles = _startStyles;\n this._endStyles = _endStyles;\n this._state = 0 /* Pending */;\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = {});\n }\n this._initialStyles = initialStyles;\n }\n start() {\n if (this._state < 1 /* Started */) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = 1 /* Started */;\n }\n }\n finish() {\n this.start();\n if (this._state < 2 /* Finished */) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = 1 /* Started */;\n }\n }\n destroy() {\n this.finish();\n if (this._state < 3 /* Destroyed */) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = 3 /* Destroyed */;\n }\n }\n}\nSpecialCasedStyles.initialStylesByElement = ( /* @__PURE__ */new WeakMap());\nfunction filterNonAnimatableStyles(styles) {\n let result = null;\n const props = Object.keys(styles);\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (isNonAnimatableStyle(prop)) {\n result = result || {};\n result[prop] = styles[prop];\n }\n }\n return result;\n}\nfunction isNonAnimatableStyle(prop) {\n return prop === 'display' || prop === 'position';\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 ELAPSED_TIME_MAX_DECIMAL_PLACES = 3;\nconst ANIMATION_PROP = 'animation';\nconst ANIMATIONEND_EVENT = 'animationend';\nconst ONE_SECOND$1 = 1000;\nclass ElementAnimationStyleHandler {\n constructor(_element, _name, _duration, _delay, _easing, _fillMode, _onDoneFn) {\n this._element = _element;\n this._name = _name;\n this._duration = _duration;\n this._delay = _delay;\n this._easing = _easing;\n this._fillMode = _fillMode;\n this._onDoneFn = _onDoneFn;\n this._finished = false;\n this._destroyed = false;\n this._startTime = 0;\n this._position = 0;\n this._eventFn = (e) => this._handleCallback(e);\n }\n apply() {\n applyKeyframeAnimation(this._element, `${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${this._name}`);\n addRemoveAnimationEvent(this._element, this._eventFn, false);\n this._startTime = Date.now();\n }\n pause() {\n playPauseAnimation(this._element, this._name, 'paused');\n }\n resume() {\n playPauseAnimation(this._element, this._name, 'running');\n }\n setPosition(position) {\n const index = findIndexForAnimation(this._element, this._name);\n this._position = position * this._duration;\n setAnimationStyle(this._element, 'Delay', `-${this._position}ms`, index);\n }\n getPosition() {\n return this._position;\n }\n _handleCallback(event) {\n const timestamp = event._ngTestManualTimestamp || Date.now();\n const elapsedTime = parseFloat(event.elapsedTime.toFixed(ELAPSED_TIME_MAX_DECIMAL_PLACES)) * ONE_SECOND$1;\n if (event.animationName == this._name &&\n Math.max(timestamp - this._startTime, 0) >= this._delay && elapsedTime >= this._duration) {\n this.finish();\n }\n }\n finish() {\n if (this._finished)\n return;\n this._finished = true;\n this._onDoneFn();\n addRemoveAnimationEvent(this._element, this._eventFn, true);\n }\n destroy() {\n if (this._destroyed)\n return;\n this._destroyed = true;\n this.finish();\n removeKeyframeAnimation(this._element, this._name);\n }\n}\nfunction playPauseAnimation(element, name, status) {\n const index = findIndexForAnimation(element, name);\n setAnimationStyle(element, 'PlayState', status, index);\n}\nfunction applyKeyframeAnimation(element, value) {\n const anim = getAnimationStyle(element, '').trim();\n let index = 0;\n if (anim.length) {\n index = countChars(anim, ',') + 1;\n value = `${anim}, ${value}`;\n }\n setAnimationStyle(element, '', value);\n return index;\n}\nfunction removeKeyframeAnimation(element, name) {\n const anim = getAnimationStyle(element, '');\n const tokens = anim.split(',');\n const index = findMatchingTokenIndex(tokens, name);\n if (index >= 0) {\n tokens.splice(index, 1);\n const newValue = tokens.join(',');\n setAnimationStyle(element, '', newValue);\n }\n}\nfunction findIndexForAnimation(element, value) {\n const anim = getAnimationStyle(element, '');\n if (anim.indexOf(',') > 0) {\n const tokens = anim.split(',');\n return findMatchingTokenIndex(tokens, value);\n }\n return findMatchingTokenIndex([anim], value);\n}\nfunction findMatchingTokenIndex(tokens, searchToken) {\n for (let i = 0; i < tokens.length; i++) {\n if (tokens[i].indexOf(searchToken) >= 0) {\n return i;\n }\n }\n return -1;\n}\nfunction addRemoveAnimationEvent(element, fn, doRemove) {\n doRemove ? element.removeEventListener(ANIMATIONEND_EVENT, fn) :\n element.addEventListener(ANIMATIONEND_EVENT, fn);\n}\nfunction setAnimationStyle(element, name, value, index) {\n const prop = ANIMATION_PROP + name;\n if (index != null) {\n const oldValue = element.style[prop];\n if (oldValue.length) {\n const tokens = oldValue.split(',');\n tokens[index] = value;\n value = tokens.join(',');\n }\n }\n element.style[prop] = value;\n}\nfunction getAnimationStyle(element, name) {\n return element.style[ANIMATION_PROP + name] || '';\n}\nfunction countChars(value, char) {\n let count = 0;\n for (let i = 0; i < value.length; i++) {\n const c = value.charAt(i);\n if (c === char)\n count++;\n }\n return count;\n}\n\nconst DEFAULT_FILL_MODE = 'forwards';\nconst DEFAULT_EASING = 'linear';\nclass CssKeyframesPlayer {\n constructor(element, keyframes, animationName, _duration, _delay, easing, _finalStyles, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.animationName = animationName;\n this._duration = _duration;\n this._delay = _delay;\n this._finalStyles = _finalStyles;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this.currentSnapshot = {};\n this._state = 0;\n this.easing = easing || DEFAULT_EASING;\n this.totalTime = _duration + _delay;\n this._buildStyler();\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n destroy() {\n this.init();\n if (this._state >= 4 /* DESTROYED */)\n return;\n this._state = 4 /* DESTROYED */;\n this._styler.destroy();\n this._flushStartFns();\n this._flushDoneFns();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n _flushDoneFns() {\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n _flushStartFns() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n finish() {\n this.init();\n if (this._state >= 3 /* FINISHED */)\n return;\n this._state = 3 /* FINISHED */;\n this._styler.finish();\n this._flushStartFns();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._flushDoneFns();\n }\n setPosition(value) {\n this._styler.setPosition(value);\n }\n getPosition() {\n return this._styler.getPosition();\n }\n hasStarted() {\n return this._state >= 2 /* STARTED */;\n }\n init() {\n if (this._state >= 1 /* INITIALIZED */)\n return;\n this._state = 1 /* INITIALIZED */;\n const elm = this.element;\n this._styler.apply();\n if (this._delay) {\n this._styler.pause();\n }\n }\n play() {\n this.init();\n if (!this.hasStarted()) {\n this._flushStartFns();\n this._state = 2 /* STARTED */;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this._styler.resume();\n }\n pause() {\n this.init();\n this._styler.pause();\n }\n restart() {\n this.reset();\n this.play();\n }\n reset() {\n this._state = 0 /* RESET */;\n this._styler.destroy();\n this._buildStyler();\n this._styler.apply();\n }\n _buildStyler() {\n this._styler = new ElementAnimationStyleHandler(this.element, this.animationName, this._duration, this._delay, this.easing, DEFAULT_FILL_MODE, () => this.finish());\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n beforeDestroy() {\n this.init();\n const styles = {};\n if (this.hasStarted()) {\n const finished = this._state >= 3 /* FINISHED */;\n Object.keys(this._finalStyles).forEach(prop => {\n if (prop != 'offset') {\n styles[prop] = finished ? this._finalStyles[prop] : computeStyle(this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\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 DirectStylePlayer extends NoopAnimationPlayer {\n constructor(element, styles) {\n super();\n this.element = element;\n this._startingStyles = {};\n this.__initialized = false;\n this._styles = hypenatePropsObject(styles);\n }\n init() {\n if (this.__initialized || !this._startingStyles)\n return;\n this.__initialized = true;\n Object.keys(this._styles).forEach(prop => {\n this._startingStyles[prop] = this.element.style[prop];\n });\n super.init();\n }\n play() {\n if (!this._startingStyles)\n return;\n this.init();\n Object.keys(this._styles)\n .forEach(prop => this.element.style.setProperty(prop, this._styles[prop]));\n super.play();\n }\n destroy() {\n if (!this._startingStyles)\n return;\n Object.keys(this._startingStyles).forEach(prop => {\n const value = this._startingStyles[prop];\n if (value) {\n this.element.style.setProperty(prop, value);\n }\n else {\n this.element.style.removeProperty(prop);\n }\n });\n this._startingStyles = null;\n super.destroy();\n }\n}\n\nconst KEYFRAMES_NAME_PREFIX = 'gen_css_kf_';\nconst TAB_SPACE = ' ';\nclass CssKeyframesDriver {\n constructor() {\n this._count = 0;\n }\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(element, selector) {\n return matchesElement(element, selector);\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return window.getComputedStyle(element)[prop];\n }\n buildKeyframeElement(element, name, keyframes) {\n keyframes = keyframes.map(kf => hypenatePropsObject(kf));\n let keyframeStr = `@keyframes ${name} {\\n`;\n let tab = '';\n keyframes.forEach(kf => {\n tab = TAB_SPACE;\n const offset = parseFloat(kf['offset']);\n keyframeStr += `${tab}${offset * 100}% {\\n`;\n tab += TAB_SPACE;\n Object.keys(kf).forEach(prop => {\n const value = kf[prop];\n switch (prop) {\n case 'offset':\n return;\n case 'easing':\n if (value) {\n keyframeStr += `${tab}animation-timing-function: ${value};\\n`;\n }\n return;\n default:\n keyframeStr += `${tab}${prop}: ${value};\\n`;\n return;\n }\n });\n keyframeStr += `${tab}}\\n`;\n });\n keyframeStr += `}\\n`;\n const kfElm = document.createElement('style');\n kfElm.textContent = keyframeStr;\n return kfElm;\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && scrubberAccessRequested) {\n notifyFaultyScrubber();\n }\n const previousCssKeyframePlayers = previousPlayers.filter(player => player instanceof CssKeyframesPlayer);\n const previousStyles = {};\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousCssKeyframePlayers.forEach(player => {\n let styles = player.currentSnapshot;\n Object.keys(styles).forEach(prop => previousStyles[prop] = styles[prop]);\n });\n }\n keyframes = balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles);\n const finalStyles = flattenKeyframesIntoStyles(keyframes);\n // if there is no animation then there is no point in applying\n // styles and waiting for an event to get fired. This causes lag.\n // It's better to just directly apply the styles to the element\n // via the direct styling animation player.\n if (duration == 0) {\n return new DirectStylePlayer(element, finalStyles);\n }\n const animationName = `${KEYFRAMES_NAME_PREFIX}${this._count++}`;\n const kfElm = this.buildKeyframeElement(element, animationName, keyframes);\n const nodeToAppendKfElm = findNodeToAppendKeyframeElement(element);\n nodeToAppendKfElm.appendChild(kfElm);\n const specialStyles = packageNonAnimatableStyles(element, keyframes);\n const player = new CssKeyframesPlayer(element, keyframes, animationName, duration, delay, easing, finalStyles, specialStyles);\n player.onDestroy(() => removeElement(kfElm));\n return player;\n }\n}\nfunction findNodeToAppendKeyframeElement(element) {\n var _a;\n const rootNode = (_a = element.getRootNode) === null || _a === void 0 ? void 0 : _a.call(element);\n if (typeof ShadowRoot !== 'undefined' && rootNode instanceof ShadowRoot) {\n return rootNode;\n }\n return document.head;\n}\nfunction flattenKeyframesIntoStyles(keyframes) {\n let flatKeyframes = {};\n if (keyframes) {\n const kfs = Array.isArray(keyframes) ? keyframes : [keyframes];\n kfs.forEach(kf => {\n Object.keys(kf).forEach(prop => {\n if (prop == 'offset' || prop == 'easing')\n return;\n flatKeyframes[prop] = kf[prop];\n });\n });\n }\n return flatKeyframes;\n}\nfunction removeElement(node) {\n node.parentNode.removeChild(node);\n}\nlet warningIssued = false;\nfunction notifyFaultyScrubber() {\n if (warningIssued)\n return;\n console.warn('@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\\n', ' visit https://bit.ly/IWukam to learn more about using the web-animation-js polyfill.');\n warningIssued = true;\n}\n\nclass WebAnimationsPlayer {\n constructor(element, keyframes, options, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._initialized = false;\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this.time = 0;\n this.parentPlayer = null;\n this.currentSnapshot = {};\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n _buildPlayer() {\n if (this._initialized)\n return;\n this._initialized = true;\n const keyframes = this.keyframes;\n this.domPlayer =\n this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : {};\n this.domPlayer.addEventListener('finish', () => this._onFinish());\n }\n _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n }\n else {\n this.domPlayer.pause();\n }\n }\n /** @internal */\n _triggerWebAnimation(element, keyframes, options) {\n // jscompiler doesn't seem to know animate is a native property because it's not fully\n // supported yet across common browsers (we polyfill it for Edge/Safari) [CL #143630929]\n return element['animate'](keyframes, options);\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n play() {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n pause() {\n this.init();\n this.domPlayer.pause();\n }\n finish() {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n reset() {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n restart() {\n this.reset();\n this.play();\n }\n hasStarted() {\n return this._started;\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n setPosition(p) {\n if (this.domPlayer === undefined) {\n this.init();\n }\n this.domPlayer.currentTime = p * this.time;\n }\n getPosition() {\n return this.domPlayer.currentTime / this.time;\n }\n get totalTime() {\n return this._delay + this._duration;\n }\n beforeDestroy() {\n const styles = {};\n if (this.hasStarted()) {\n Object.keys(this._finalKeyframe).forEach(prop => {\n if (prop != 'offset') {\n styles[prop] =\n this._finished ? this._finalKeyframe[prop] : computeStyle(this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\nclass WebAnimationsDriver {\n constructor() {\n this._isNativeImpl = /\\{\\s*\\[native\\s+code\\]\\s*\\}/.test(getElementAnimateFn().toString());\n this._cssKeyframesDriver = new CssKeyframesDriver();\n }\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(element, selector) {\n return matchesElement(element, selector);\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return window.getComputedStyle(element)[prop];\n }\n overrideWebAnimationsSupport(supported) {\n this._isNativeImpl = supported;\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n const useKeyframes = !scrubberAccessRequested && !this._isNativeImpl;\n if (useKeyframes) {\n return this._cssKeyframesDriver.animate(element, keyframes, duration, delay, easing, previousPlayers);\n }\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions = { duration, delay, fill };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n const previousStyles = {};\n const previousWebAnimationPlayers = previousPlayers.filter(player => player instanceof WebAnimationsPlayer);\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n let styles = player.currentSnapshot;\n Object.keys(styles).forEach(prop => previousStyles[prop] = styles[prop]);\n });\n }\n keyframes = keyframes.map(styles => copyStyles(styles, false));\n keyframes = balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, keyframes);\n return new WebAnimationsPlayer(element, keyframes, playerOptions, specialStyles);\n }\n}\nfunction supportsWebAnimations() {\n return typeof getElementAnimateFn() === 'function';\n}\nfunction getElementAnimateFn() {\n return (isBrowser() && Element.prototype['animate']) || {};\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, CssKeyframesDriver as ɵCssKeyframesDriver, CssKeyframesPlayer as ɵCssKeyframesPlayer, NoopAnimationDriver as ɵNoopAnimationDriver, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, SpecialCasedStyles as ɵangular_packages_animations_browser_browser_a, containsElement as ɵcontainsElement, invokeQuery as ɵinvokeQuery, matchesElement as ɵmatchesElement, supportsWebAnimations as ɵsupportsWebAnimations, validateStyleProperty as ɵvalidateStyleProperty };\n\n","import * as i2 from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, QueryList, NgZone, Directive, ElementRef, Input, InjectionToken, Optional, EventEmitter, Output, NgModule } from '@angular/core';\nimport { Subject, Subscription, BehaviorSubject, of } from 'rxjs';\nimport { hasModifierKey, A, Z, ZERO, NINE, END, HOME, LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, TAB, ALT, CONTROL, MAC_META, META, SHIFT } from '@angular/cdk/keycodes';\nimport { tap, debounceTime, filter, map, take, skip, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';\nimport * as i1 from '@angular/cdk/platform';\nimport { Platform, _getFocusedElementPierceShadowDom, normalizePassiveListenerOptions, _getEventTarget, _getShadowRoot, PlatformModule } from '@angular/cdk/platform';\nimport { ContentObserver, ObserversModule } from '@angular/cdk/observers';\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/** IDs are delimited by an empty space, as per the spec. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nimport * as ɵngcc2 from '@angular/cdk/observers';\nconst ID_DELIMITER = ' ';\n/**\n * Adds the given ID to the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction addAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n if (ids.some(existingId => existingId.trim() == id.trim())) {\n return;\n }\n ids.push(id.trim());\n el.setAttribute(attr, ids.join(ID_DELIMITER));\n}\n/**\n * Removes the given ID from the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction removeAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n const filteredIds = ids.filter(val => val != id.trim());\n if (filteredIds.length) {\n el.setAttribute(attr, filteredIds.join(ID_DELIMITER));\n }\n else {\n el.removeAttribute(attr);\n }\n}\n/**\n * Gets the list of IDs referenced by the given ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction getAriaReferenceIds(el, attr) {\n // Get string array of all individual ids (whitespace delimited) in the attribute value\n return (el.getAttribute(attr) || '').match(/\\S+/g) || [];\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/** ID used for the body container where all messages are appended. */\nconst MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';\n/** ID prefix used for each created message element. */\nconst CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';\n/** Attribute given to each host element that is described by a message element. */\nconst CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';\n/** Global incremental identifier for each registered message element. */\nlet nextId = 0;\n/** Global map of all registered message elements that have been placed into the document. */\nconst messageRegistry = new Map();\n/** Container for all registered messages. */\nlet messagesContainer = null;\n/**\n * Utility that creates visually hidden elements with a message content. Useful for elements that\n * want to use aria-describedby to further describe themselves without adding additional visual\n * content.\n */\nclass AriaDescriber {\n constructor(_document) {\n this._document = _document;\n }\n describe(hostElement, message, role) {\n if (!this._canBeDescribed(hostElement, message)) {\n return;\n }\n const key = getKey(message, role);\n if (typeof message !== 'string') {\n // We need to ensure that the element has an ID.\n setMessageId(message);\n messageRegistry.set(key, { messageElement: message, referenceCount: 0 });\n }\n else if (!messageRegistry.has(key)) {\n this._createMessageElement(message, role);\n }\n if (!this._isElementDescribedByMessage(hostElement, key)) {\n this._addMessageReference(hostElement, key);\n }\n }\n removeDescription(hostElement, message, role) {\n if (!message || !this._isElementNode(hostElement)) {\n return;\n }\n const key = getKey(message, role);\n if (this._isElementDescribedByMessage(hostElement, key)) {\n this._removeMessageReference(hostElement, key);\n }\n // If the message is a string, it means that it's one that we created for the\n // consumer so we can remove it safely, otherwise we should leave it in place.\n if (typeof message === 'string') {\n const registeredMessage = messageRegistry.get(key);\n if (registeredMessage && registeredMessage.referenceCount === 0) {\n this._deleteMessageElement(key);\n }\n }\n if (messagesContainer && messagesContainer.childNodes.length === 0) {\n this._deleteMessagesContainer();\n }\n }\n /** Unregisters all created message elements and removes the message container. */\n ngOnDestroy() {\n const describedElements = this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}]`);\n for (let i = 0; i < describedElements.length; i++) {\n this._removeCdkDescribedByReferenceIds(describedElements[i]);\n describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n if (messagesContainer) {\n this._deleteMessagesContainer();\n }\n messageRegistry.clear();\n }\n /**\n * Creates a new element in the visually hidden message container element with the message\n * as its content and adds it to the message registry.\n */\n _createMessageElement(message, role) {\n const messageElement = this._document.createElement('div');\n setMessageId(messageElement);\n messageElement.textContent = message;\n if (role) {\n messageElement.setAttribute('role', role);\n }\n this._createMessagesContainer();\n messagesContainer.appendChild(messageElement);\n messageRegistry.set(getKey(message, role), { messageElement, referenceCount: 0 });\n }\n /** Deletes the message element from the global messages container. */\n _deleteMessageElement(key) {\n const registeredMessage = messageRegistry.get(key);\n const messageElement = registeredMessage && registeredMessage.messageElement;\n if (messagesContainer && messageElement) {\n messagesContainer.removeChild(messageElement);\n }\n messageRegistry.delete(key);\n }\n /** Creates the global container for all aria-describedby messages. */\n _createMessagesContainer() {\n if (!messagesContainer) {\n const preExistingContainer = this._document.getElementById(MESSAGES_CONTAINER_ID);\n // When going from the server to the client, we may end up in a situation where there's\n // already a container on the page, but we don't have a reference to it. Clear the\n // old container so we don't get duplicates. Doing this, instead of emptying the previous\n // container, should be slightly faster.\n if (preExistingContainer && preExistingContainer.parentNode) {\n preExistingContainer.parentNode.removeChild(preExistingContainer);\n }\n messagesContainer = this._document.createElement('div');\n messagesContainer.id = MESSAGES_CONTAINER_ID;\n // We add `visibility: hidden` in order to prevent text in this container from\n // being searchable by the browser's Ctrl + F functionality.\n // Screen-readers will still read the description for elements with aria-describedby even\n // when the description element is not visible.\n messagesContainer.style.visibility = 'hidden';\n // Even though we use `visibility: hidden`, we still apply `cdk-visually-hidden` so that\n // the description element doesn't impact page layout.\n messagesContainer.classList.add('cdk-visually-hidden');\n this._document.body.appendChild(messagesContainer);\n }\n }\n /** Deletes the global messages container. */\n _deleteMessagesContainer() {\n if (messagesContainer && messagesContainer.parentNode) {\n messagesContainer.parentNode.removeChild(messagesContainer);\n messagesContainer = null;\n }\n }\n /** Removes all cdk-describedby messages that are hosted through the element. */\n _removeCdkDescribedByReferenceIds(element) {\n // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX\n const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby')\n .filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);\n element.setAttribute('aria-describedby', originalReferenceIds.join(' '));\n }\n /**\n * Adds a message reference to the element using aria-describedby and increments the registered\n * message's reference count.\n */\n _addMessageReference(element, key) {\n const registeredMessage = messageRegistry.get(key);\n // Add the aria-describedby reference and set the\n // describedby_host attribute to mark the element.\n addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, '');\n registeredMessage.referenceCount++;\n }\n /**\n * Removes a message reference from the element using aria-describedby\n * and decrements the registered message's reference count.\n */\n _removeMessageReference(element, key) {\n const registeredMessage = messageRegistry.get(key);\n registeredMessage.referenceCount--;\n removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n /** Returns true if the element has been described by the provided message ID. */\n _isElementDescribedByMessage(element, key) {\n const referenceIds = getAriaReferenceIds(element, 'aria-describedby');\n const registeredMessage = messageRegistry.get(key);\n const messageId = registeredMessage && registeredMessage.messageElement.id;\n return !!messageId && referenceIds.indexOf(messageId) != -1;\n }\n /** Determines whether a message can be described on a particular element. */\n _canBeDescribed(element, message) {\n if (!this._isElementNode(element)) {\n return false;\n }\n if (message && typeof message === 'object') {\n // We'd have to make some assumptions about the description element's text, if the consumer\n // passed in an element. Assume that if an element is passed in, the consumer has verified\n // that it can be used as a description.\n return true;\n }\n const trimmedMessage = message == null ? '' : `${message}`.trim();\n const ariaLabel = element.getAttribute('aria-label');\n // We shouldn't set descriptions if they're exactly the same as the `aria-label` of the\n // element, because screen readers will end up reading out the same text twice in a row.\n return trimmedMessage ? (!ariaLabel || ariaLabel.trim() !== trimmedMessage) : false;\n }\n /** Checks whether a node is an Element node. */\n _isElementNode(element) {\n return element.nodeType === this._document.ELEMENT_NODE;\n }\n}\nAriaDescriber.ɵfac = function AriaDescriber_Factory(t) { return new (t || AriaDescriber)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nAriaDescriber.ɵprov = i0.ɵɵdefineInjectable({ factory: function AriaDescriber_Factory() { return new AriaDescriber(i0.ɵɵinject(i2.DOCUMENT)); }, token: AriaDescriber, providedIn: \"root\" });\nAriaDescriber.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AriaDescriber, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n/** Gets a key that can be used to look messages up in the registry. */\nfunction getKey(message, role) {\n return typeof message === 'string' ? `${role || ''}/${message}` : message;\n}\n/** Assigns a unique ID to an element, if it doesn't have one already. */\nfunction setMessageId(element) {\n if (!element.id) {\n element.id = `${CDK_DESCRIBEDBY_ID_PREFIX}-${nextId++}`;\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 * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nclass ListKeyManager {\n constructor(_items) {\n this._items = _items;\n this._activeItemIndex = -1;\n this._activeItem = null;\n this._wrap = false;\n this._letterKeyStream = new Subject();\n this._typeaheadSubscription = Subscription.EMPTY;\n this._vertical = true;\n this._allowedModifierKeys = [];\n this._homeAndEnd = false;\n /**\n * Predicate function that can be used to check whether an item should be skipped\n * by the key manager. By default, disabled items are skipped.\n */\n this._skipPredicateFn = (item) => item.disabled;\n // Buffer for the letters that the user has pressed when the typeahead option is turned on.\n this._pressedLetters = [];\n /**\n * Stream that emits any time the TAB key is pressed, so components can react\n * when focus is shifted off of the list.\n */\n this.tabOut = new Subject();\n /** Stream that emits whenever the active item of the list manager changes. */\n this.change = new Subject();\n // We allow for the items to be an array because, in some cases, the consumer may\n // not have access to a QueryList of the items they want to manage (e.g. when the\n // items aren't being collected via `ViewChildren` or `ContentChildren`).\n if (_items instanceof QueryList) {\n _items.changes.subscribe((newItems) => {\n if (this._activeItem) {\n const itemArray = newItems.toArray();\n const newIndex = itemArray.indexOf(this._activeItem);\n if (newIndex > -1 && newIndex !== this._activeItemIndex) {\n this._activeItemIndex = newIndex;\n }\n }\n });\n }\n }\n /**\n * Sets the predicate function that determines which items should be skipped by the\n * list key manager.\n * @param predicate Function that determines whether the given item should be skipped.\n */\n skipPredicate(predicate) {\n this._skipPredicateFn = predicate;\n return this;\n }\n /**\n * Configures wrapping mode, which determines whether the active item will wrap to\n * the other end of list when there are no more items in the given direction.\n * @param shouldWrap Whether the list should wrap when reaching the end.\n */\n withWrap(shouldWrap = true) {\n this._wrap = shouldWrap;\n return this;\n }\n /**\n * Configures whether the key manager should be able to move the selection vertically.\n * @param enabled Whether vertical selection should be enabled.\n */\n withVerticalOrientation(enabled = true) {\n this._vertical = enabled;\n return this;\n }\n /**\n * Configures the key manager to move the selection horizontally.\n * Passing in `null` will disable horizontal movement.\n * @param direction Direction in which the selection can be moved.\n */\n withHorizontalOrientation(direction) {\n this._horizontal = direction;\n return this;\n }\n /**\n * Modifier keys which are allowed to be held down and whose default actions will be prevented\n * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.\n */\n withAllowedModifierKeys(keys) {\n this._allowedModifierKeys = keys;\n return this;\n }\n /**\n * Turns on typeahead mode which allows users to set the active item by typing.\n * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n */\n withTypeAhead(debounceInterval = 200) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && (this._items.length &&\n this._items.some(item => typeof item.getLabel !== 'function'))) {\n throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n }\n this._typeaheadSubscription.unsubscribe();\n // Debounce the presses of non-navigational keys, collect the ones that correspond to letters\n // and convert those letters back into a string. Afterwards find the first item that starts\n // with that string and select it.\n this._typeaheadSubscription = this._letterKeyStream.pipe(tap(letter => this._pressedLetters.push(letter)), debounceTime(debounceInterval), filter(() => this._pressedLetters.length > 0), map(() => this._pressedLetters.join(''))).subscribe(inputString => {\n const items = this._getItemsArray();\n // Start at 1 because we want to start searching at the item immediately\n // following the current active item.\n for (let i = 1; i < items.length + 1; i++) {\n const index = (this._activeItemIndex + i) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item) &&\n item.getLabel().toUpperCase().trim().indexOf(inputString) === 0) {\n this.setActiveItem(index);\n break;\n }\n }\n this._pressedLetters = [];\n });\n return this;\n }\n /**\n * Configures the key manager to activate the first and last items\n * respectively when the Home or End key is pressed.\n * @param enabled Whether pressing the Home or End key activates the first/last item.\n */\n withHomeAndEnd(enabled = true) {\n this._homeAndEnd = enabled;\n return this;\n }\n setActiveItem(item) {\n const previousActiveItem = this._activeItem;\n this.updateActiveItem(item);\n if (this._activeItem !== previousActiveItem) {\n this.change.next(this._activeItemIndex);\n }\n }\n /**\n * Sets the active item depending on the key event passed in.\n * @param event Keyboard event to be used for determining which element should be active.\n */\n onKeydown(event) {\n const keyCode = event.keyCode;\n const modifiers = ['altKey', 'ctrlKey', 'metaKey', 'shiftKey'];\n const isModifierAllowed = modifiers.every(modifier => {\n return !event[modifier] || this._allowedModifierKeys.indexOf(modifier) > -1;\n });\n switch (keyCode) {\n case TAB:\n this.tabOut.next();\n return;\n case DOWN_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case UP_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case RIGHT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setPreviousItemActive() : this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case LEFT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setNextItemActive() : this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case HOME:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setFirstItemActive();\n break;\n }\n else {\n return;\n }\n case END:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setLastItemActive();\n break;\n }\n else {\n return;\n }\n default:\n if (isModifierAllowed || hasModifierKey(event, 'shiftKey')) {\n // Attempt to use the `event.key` which also maps it to the user's keyboard language,\n // otherwise fall back to resolving alphanumeric characters via the keyCode.\n if (event.key && event.key.length === 1) {\n this._letterKeyStream.next(event.key.toLocaleUpperCase());\n }\n else if ((keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE)) {\n this._letterKeyStream.next(String.fromCharCode(keyCode));\n }\n }\n // Note that we return here, in order to avoid preventing\n // the default action of non-navigational keys.\n return;\n }\n this._pressedLetters = [];\n event.preventDefault();\n }\n /** Index of the currently active item. */\n get activeItemIndex() {\n return this._activeItemIndex;\n }\n /** The active item. */\n get activeItem() {\n return this._activeItem;\n }\n /** Gets whether the user is currently typing into the manager using the typeahead feature. */\n isTyping() {\n return this._pressedLetters.length > 0;\n }\n /** Sets the active item to the first enabled item in the list. */\n setFirstItemActive() {\n this._setActiveItemByIndex(0, 1);\n }\n /** Sets the active item to the last enabled item in the list. */\n setLastItemActive() {\n this._setActiveItemByIndex(this._items.length - 1, -1);\n }\n /** Sets the active item to the next enabled item in the list. */\n setNextItemActive() {\n this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n }\n /** Sets the active item to a previous enabled item in the list. */\n setPreviousItemActive() {\n this._activeItemIndex < 0 && this._wrap ? this.setLastItemActive()\n : this._setActiveItemByDelta(-1);\n }\n updateActiveItem(item) {\n const itemArray = this._getItemsArray();\n const index = typeof item === 'number' ? item : itemArray.indexOf(item);\n const activeItem = itemArray[index];\n // Explicitly check for `null` and `undefined` because other falsy values are valid.\n this._activeItem = activeItem == null ? null : activeItem;\n this._activeItemIndex = index;\n }\n /**\n * This method sets the active item, given a list of items and the delta between the\n * currently active item and the new active item. It will calculate differently\n * depending on whether wrap mode is turned on.\n */\n _setActiveItemByDelta(delta) {\n this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta);\n }\n /**\n * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n * down the list until it finds an item that is not disabled, and it will wrap if it\n * encounters either end of the list.\n */\n _setActiveInWrapMode(delta) {\n const items = this._getItemsArray();\n for (let i = 1; i <= items.length; i++) {\n const index = (this._activeItemIndex + (delta * i) + items.length) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item)) {\n this.setActiveItem(index);\n return;\n }\n }\n }\n /**\n * Sets the active item properly given the default mode. In other words, it will\n * continue to move down the list until it finds an item that is not disabled. If\n * it encounters either end of the list, it will stop and not wrap.\n */\n _setActiveInDefaultMode(delta) {\n this._setActiveItemByIndex(this._activeItemIndex + delta, delta);\n }\n /**\n * Sets the active item to the first enabled item starting at the index specified. If the\n * item is disabled, it will move in the fallbackDelta direction until it either\n * finds an enabled item or encounters the end of the list.\n */\n _setActiveItemByIndex(index, fallbackDelta) {\n const items = this._getItemsArray();\n if (!items[index]) {\n return;\n }\n while (this._skipPredicateFn(items[index])) {\n index += fallbackDelta;\n if (!items[index]) {\n return;\n }\n }\n this.setActiveItem(index);\n }\n /** Returns the items as an array. */\n _getItemsArray() {\n return this._items instanceof QueryList ? this._items.toArray() : this._items;\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 ActiveDescendantKeyManager extends ListKeyManager {\n setActiveItem(index) {\n if (this.activeItem) {\n this.activeItem.setInactiveStyles();\n }\n super.setActiveItem(index);\n if (this.activeItem) {\n this.activeItem.setActiveStyles();\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 */\nclass FocusKeyManager extends ListKeyManager {\n constructor() {\n super(...arguments);\n this._origin = 'program';\n }\n /**\n * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.\n * @param origin Focus origin to be used when focusing items.\n */\n setFocusOrigin(origin) {\n this._origin = origin;\n return this;\n }\n setActiveItem(item) {\n super.setActiveItem(item);\n if (this.activeItem) {\n this.activeItem.focus(this._origin);\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 * Configuration for the isFocusable method.\n */\nclass IsFocusableConfig {\n constructor() {\n /**\n * Whether to count an element as focusable even if it is not currently visible.\n */\n this.ignoreVisibility = false;\n }\n}\n// The InteractivityChecker leans heavily on the ally.js accessibility utilities.\n// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are\n// supported.\n/**\n * Utility for checking the interactivity of an element, such as whether is is focusable or\n * tabbable.\n */\nclass InteractivityChecker {\n constructor(_platform) {\n this._platform = _platform;\n }\n /**\n * Gets whether an element is disabled.\n *\n * @param element Element to be checked.\n * @returns Whether the element is disabled.\n */\n isDisabled(element) {\n // This does not capture some cases, such as a non-form control with a disabled attribute or\n // a form control inside of a disabled form, but should capture the most common cases.\n return element.hasAttribute('disabled');\n }\n /**\n * Gets whether an element is visible for the purposes of interactivity.\n *\n * This will capture states like `display: none` and `visibility: hidden`, but not things like\n * being clipped by an `overflow: hidden` parent or being outside the viewport.\n *\n * @returns Whether the element is visible.\n */\n isVisible(element) {\n return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';\n }\n /**\n * Gets whether an element can be reached via Tab key.\n * Assumes that the element has already been checked with isFocusable.\n *\n * @param element Element to be checked.\n * @returns Whether the element is tabbable.\n */\n isTabbable(element) {\n // Nothing is tabbable on the server 😎\n if (!this._platform.isBrowser) {\n return false;\n }\n const frameElement = getFrameElement(getWindow(element));\n if (frameElement) {\n // Frame elements inherit their tabindex onto all child elements.\n if (getTabIndexValue(frameElement) === -1) {\n return false;\n }\n // Browsers disable tabbing to an element inside of an invisible frame.\n if (!this.isVisible(frameElement)) {\n return false;\n }\n }\n let nodeName = element.nodeName.toLowerCase();\n let tabIndexValue = getTabIndexValue(element);\n if (element.hasAttribute('contenteditable')) {\n return tabIndexValue !== -1;\n }\n if (nodeName === 'iframe' || nodeName === 'object') {\n // The frame or object's content may be tabbable depending on the content, but it's\n // not possibly to reliably detect the content of the frames. We always consider such\n // elements as non-tabbable.\n return false;\n }\n // In iOS, the browser only considers some specific elements as tabbable.\n if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {\n return false;\n }\n if (nodeName === 'audio') {\n // Audio elements without controls enabled are never tabbable, regardless\n // of the tabindex attribute explicitly being set.\n if (!element.hasAttribute('controls')) {\n return false;\n }\n // Audio elements with controls are by default tabbable unless the\n // tabindex attribute is set to `-1` explicitly.\n return tabIndexValue !== -1;\n }\n if (nodeName === 'video') {\n // For all video elements, if the tabindex attribute is set to `-1`, the video\n // is not tabbable. Note: We cannot rely on the default `HTMLElement.tabIndex`\n // property as that one is set to `-1` in Chrome, Edge and Safari v13.1. The\n // tabindex attribute is the source of truth here.\n if (tabIndexValue === -1) {\n return false;\n }\n // If the tabindex is explicitly set, and not `-1` (as per check before), the\n // video element is always tabbable (regardless of whether it has controls or not).\n if (tabIndexValue !== null) {\n return true;\n }\n // Otherwise (when no explicit tabindex is set), a video is only tabbable if it\n // has controls enabled. Firefox is special as videos are always tabbable regardless\n // of whether there are controls or not.\n return this._platform.FIREFOX || element.hasAttribute('controls');\n }\n return element.tabIndex >= 0;\n }\n /**\n * Gets whether an element can be focused by the user.\n *\n * @param element Element to be checked.\n * @param config The config object with options to customize this method's behavior\n * @returns Whether the element is focusable.\n */\n isFocusable(element, config) {\n // Perform checks in order of left to most expensive.\n // Again, naive approach that does not capture many edge cases and browser quirks.\n return isPotentiallyFocusable(element) && !this.isDisabled(element) &&\n ((config === null || config === void 0 ? void 0 : config.ignoreVisibility) || this.isVisible(element));\n }\n}\nInteractivityChecker.ɵfac = function InteractivityChecker_Factory(t) { return new (t || InteractivityChecker)(ɵngcc0.ɵɵinject(ɵngcc1.Platform)); };\nInteractivityChecker.ɵprov = i0.ɵɵdefineInjectable({ factory: function InteractivityChecker_Factory() { return new InteractivityChecker(i0.ɵɵinject(i1.Platform)); }, token: InteractivityChecker, providedIn: \"root\" });\nInteractivityChecker.ctorParameters = () => [\n { type: Platform }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(InteractivityChecker, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }]; }, null); })();\n/**\n * Returns the frame element from a window object. Since browsers like MS Edge throw errors if\n * the frameElement property is being accessed from a different host address, this property\n * should be accessed carefully.\n */\nfunction getFrameElement(window) {\n try {\n return window.frameElement;\n }\n catch (_a) {\n return null;\n }\n}\n/** Checks whether the specified element has any geometry / rectangles. */\nfunction hasGeometry(element) {\n // Use logic from jQuery to check for an invisible element.\n // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12\n return !!(element.offsetWidth || element.offsetHeight ||\n (typeof element.getClientRects === 'function' && element.getClientRects().length));\n}\n/** Gets whether an element's */\nfunction isNativeFormElement(element) {\n let nodeName = element.nodeName.toLowerCase();\n return nodeName === 'input' ||\n nodeName === 'select' ||\n nodeName === 'button' ||\n nodeName === 'textarea';\n}\n/** Gets whether an element is an ``. */\nfunction isHiddenInput(element) {\n return isInputElement(element) && element.type == 'hidden';\n}\n/** Gets whether an element is an anchor that has an href attribute. */\nfunction isAnchorWithHref(element) {\n return isAnchorElement(element) && element.hasAttribute('href');\n}\n/** Gets whether an element is an input element. */\nfunction isInputElement(element) {\n return element.nodeName.toLowerCase() == 'input';\n}\n/** Gets whether an element is an anchor element. */\nfunction isAnchorElement(element) {\n return element.nodeName.toLowerCase() == 'a';\n}\n/** Gets whether an element has a valid tabindex. */\nfunction hasValidTabIndex(element) {\n if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {\n return false;\n }\n let tabIndex = element.getAttribute('tabindex');\n // IE11 parses tabindex=\"\" as the value \"-32768\"\n if (tabIndex == '-32768') {\n return false;\n }\n return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));\n}\n/**\n * Returns the parsed tabindex from the element attributes instead of returning the\n * evaluated tabindex from the browsers defaults.\n */\nfunction getTabIndexValue(element) {\n if (!hasValidTabIndex(element)) {\n return null;\n }\n // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n const tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);\n return isNaN(tabIndex) ? -1 : tabIndex;\n}\n/** Checks whether the specified element is potentially tabbable on iOS */\nfunction isPotentiallyTabbableIOS(element) {\n let nodeName = element.nodeName.toLowerCase();\n let inputType = nodeName === 'input' && element.type;\n return inputType === 'text'\n || inputType === 'password'\n || nodeName === 'select'\n || nodeName === 'textarea';\n}\n/**\n * Gets whether an element is potentially focusable without taking current visible/disabled state\n * into account.\n */\nfunction isPotentiallyFocusable(element) {\n // Inputs are potentially focusable *unless* they're type=\"hidden\".\n if (isHiddenInput(element)) {\n return false;\n }\n return isNativeFormElement(element) ||\n isAnchorWithHref(element) ||\n element.hasAttribute('contenteditable') ||\n hasValidTabIndex(element);\n}\n/** Gets the parent window of a DOM node with regards of being inside of an iframe. */\nfunction getWindow(node) {\n // ownerDocument is null if `node` itself *is* a document.\n return node.ownerDocument && node.ownerDocument.defaultView || window;\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 * Class that allows for trapping focus within a DOM element.\n *\n * This class currently uses a relatively simple approach to focus trapping.\n * It assumes that the tab order is the same as DOM order, which is not necessarily true.\n * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause the two to be misaligned.\n *\n * @deprecated Use `ConfigurableFocusTrap` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrap {\n constructor(_element, _checker, _ngZone, _document, deferAnchors = false) {\n this._element = _element;\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n this._hasAttached = false;\n // Event listeners for the anchors. Need to be regular functions so that we can unbind them later.\n this.startAnchorListener = () => this.focusLastTabbableElement();\n this.endAnchorListener = () => this.focusFirstTabbableElement();\n this._enabled = true;\n if (!deferAnchors) {\n this.attachAnchors();\n }\n }\n /** Whether the focus trap is active. */\n get enabled() { return this._enabled; }\n set enabled(value) {\n this._enabled = value;\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(value, this._startAnchor);\n this._toggleAnchorTabIndex(value, this._endAnchor);\n }\n }\n /** Destroys the focus trap by cleaning up the anchors. */\n destroy() {\n const startAnchor = this._startAnchor;\n const endAnchor = this._endAnchor;\n if (startAnchor) {\n startAnchor.removeEventListener('focus', this.startAnchorListener);\n if (startAnchor.parentNode) {\n startAnchor.parentNode.removeChild(startAnchor);\n }\n }\n if (endAnchor) {\n endAnchor.removeEventListener('focus', this.endAnchorListener);\n if (endAnchor.parentNode) {\n endAnchor.parentNode.removeChild(endAnchor);\n }\n }\n this._startAnchor = this._endAnchor = null;\n this._hasAttached = false;\n }\n /**\n * Inserts the anchors into the DOM. This is usually done automatically\n * in the constructor, but can be deferred for cases like directives with `*ngIf`.\n * @returns Whether the focus trap managed to attach successfully. This may not be the case\n * if the target element isn't currently in the DOM.\n */\n attachAnchors() {\n // If we're not on the browser, there can be no focus to trap.\n if (this._hasAttached) {\n return true;\n }\n this._ngZone.runOutsideAngular(() => {\n if (!this._startAnchor) {\n this._startAnchor = this._createAnchor();\n this._startAnchor.addEventListener('focus', this.startAnchorListener);\n }\n if (!this._endAnchor) {\n this._endAnchor = this._createAnchor();\n this._endAnchor.addEventListener('focus', this.endAnchorListener);\n }\n });\n if (this._element.parentNode) {\n this._element.parentNode.insertBefore(this._startAnchor, this._element);\n this._element.parentNode.insertBefore(this._endAnchor, this._element.nextSibling);\n this._hasAttached = true;\n }\n return this._hasAttached;\n }\n /**\n * Waits for the zone to stabilize, then either focuses the first element that the\n * user specified, or the first tabbable element.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusInitialElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusInitialElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the first tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusFirstTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusFirstTabbableElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the last tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusLastTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusLastTabbableElement(options)));\n });\n }\n /**\n * Get the specified boundary element of the trapped region.\n * @param bound The boundary to get (start or end of trapped region).\n * @returns The boundary element.\n */\n _getRegionBoundary(bound) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n let markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` +\n `[cdkFocusRegion${bound}], ` +\n `[cdk-focus-${bound}]`);\n for (let i = 0; i < markers.length; i++) {\n // @breaking-change 8.0.0\n if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated ` +\n `attribute will be removed in 8.0.0.`, markers[i]);\n }\n else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated attribute ` +\n `will be removed in 8.0.0.`, markers[i]);\n }\n }\n if (bound == 'start') {\n return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);\n }\n return markers.length ?\n markers[markers.length - 1] : this._getLastTabbableElement(this._element);\n }\n /**\n * Focuses the element that should be focused when the focus trap is initialized.\n * @returns Whether focus was moved successfully.\n */\n focusInitialElement(options) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` +\n `[cdkFocusInitial]`);\n if (redirectToElement) {\n // @breaking-change 8.0.0\n if (redirectToElement.hasAttribute(`cdk-focus-initial`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-initial', ` +\n `use 'cdkFocusInitial' instead. The deprecated attribute ` +\n `will be removed in 8.0.0`, redirectToElement);\n }\n // Warn the consumer if the element they've pointed to\n // isn't focusable, when not in production mode.\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n !this._checker.isFocusable(redirectToElement)) {\n console.warn(`Element matching '[cdkFocusInitial]' is not focusable.`, redirectToElement);\n }\n if (!this._checker.isFocusable(redirectToElement)) {\n const focusableChild = this._getFirstTabbableElement(redirectToElement);\n focusableChild === null || focusableChild === void 0 ? void 0 : focusableChild.focus(options);\n return !!focusableChild;\n }\n redirectToElement.focus(options);\n return true;\n }\n return this.focusFirstTabbableElement(options);\n }\n /**\n * Focuses the first tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusFirstTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('start');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Focuses the last tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusLastTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('end');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Checks whether the focus trap has successfully been attached.\n */\n hasAttached() {\n return this._hasAttached;\n }\n /** Get the first tabbable element from a DOM subtree (inclusive). */\n _getFirstTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n // Iterate in DOM order. Note that IE doesn't have `children` for SVG so we fall\n // back to `childNodes` which includes text nodes, comments etc.\n let children = root.children || root.childNodes;\n for (let i = 0; i < children.length; i++) {\n let tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?\n this._getFirstTabbableElement(children[i]) :\n null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Get the last tabbable element from a DOM subtree (inclusive). */\n _getLastTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n // Iterate in reverse DOM order.\n let children = root.children || root.childNodes;\n for (let i = children.length - 1; i >= 0; i--) {\n let tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?\n this._getLastTabbableElement(children[i]) :\n null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Creates an anchor element. */\n _createAnchor() {\n const anchor = this._document.createElement('div');\n this._toggleAnchorTabIndex(this._enabled, anchor);\n anchor.classList.add('cdk-visually-hidden');\n anchor.classList.add('cdk-focus-trap-anchor');\n anchor.setAttribute('aria-hidden', 'true');\n return anchor;\n }\n /**\n * Toggles the `tabindex` of an anchor, based on the enabled state of the focus trap.\n * @param isEnabled Whether the focus trap is enabled.\n * @param anchor Anchor on which to toggle the tabindex.\n */\n _toggleAnchorTabIndex(isEnabled, anchor) {\n // Remove the tabindex completely, rather than setting it to -1, because if the\n // element has a tabindex, the user might still hit it when navigating with the arrow keys.\n isEnabled ? anchor.setAttribute('tabindex', '0') : anchor.removeAttribute('tabindex');\n }\n /**\n * Toggles the`tabindex` of both anchors to either trap Tab focus or allow it to escape.\n * @param enabled: Whether the anchors should trap Tab.\n */\n toggleAnchors(enabled) {\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(enabled, this._startAnchor);\n this._toggleAnchorTabIndex(enabled, this._endAnchor);\n }\n }\n /** Executes a function when the zone is stable. */\n _executeOnStable(fn) {\n if (this._ngZone.isStable) {\n fn();\n }\n else {\n this._ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n}\n/**\n * Factory that allows easy instantiation of focus traps.\n * @deprecated Use `ConfigurableFocusTrapFactory` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrapFactory {\n constructor(_checker, _ngZone, _document) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n }\n /**\n * Creates a focus-trapped region around the given element.\n * @param element The element around which focus will be trapped.\n * @param deferCaptureElements Defers the creation of focus-capturing elements to be done\n * manually by the user.\n * @returns The created focus trap instance.\n */\n create(element, deferCaptureElements = false) {\n return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements);\n }\n}\nFocusTrapFactory.ɵfac = function FocusTrapFactory_Factory(t) { return new (t || FocusTrapFactory)(ɵngcc0.ɵɵinject(InteractivityChecker), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT)); };\nFocusTrapFactory.ɵprov = i0.ɵɵdefineInjectable({ factory: function FocusTrapFactory_Factory() { return new FocusTrapFactory(i0.ɵɵinject(InteractivityChecker), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.DOCUMENT)); }, token: FocusTrapFactory, providedIn: \"root\" });\nFocusTrapFactory.ctorParameters = () => [\n { type: InteractivityChecker },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FocusTrapFactory, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: InteractivityChecker }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n/** Directive for trapping focus within a region. */\nclass CdkTrapFocus {\n constructor(_elementRef, _focusTrapFactory, \n /**\n * @deprecated No longer being used. To be removed.\n * @breaking-change 13.0.0\n */\n _document) {\n this._elementRef = _elementRef;\n this._focusTrapFactory = _focusTrapFactory;\n /** Previously focused element to restore focus to upon destroy when using autoCapture. */\n this._previouslyFocusedElement = null;\n this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n }\n /** Whether the focus trap is active. */\n get enabled() { return this.focusTrap.enabled; }\n set enabled(value) { this.focusTrap.enabled = coerceBooleanProperty(value); }\n /**\n * Whether the directive should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n get autoCapture() { return this._autoCapture; }\n set autoCapture(value) { this._autoCapture = coerceBooleanProperty(value); }\n ngOnDestroy() {\n this.focusTrap.destroy();\n // If we stored a previously focused element when using autoCapture, return focus to that\n // element now that the trapped region is being destroyed.\n if (this._previouslyFocusedElement) {\n this._previouslyFocusedElement.focus();\n this._previouslyFocusedElement = null;\n }\n }\n ngAfterContentInit() {\n this.focusTrap.attachAnchors();\n if (this.autoCapture) {\n this._captureFocus();\n }\n }\n ngDoCheck() {\n if (!this.focusTrap.hasAttached()) {\n this.focusTrap.attachAnchors();\n }\n }\n ngOnChanges(changes) {\n const autoCaptureChange = changes['autoCapture'];\n if (autoCaptureChange && !autoCaptureChange.firstChange && this.autoCapture &&\n this.focusTrap.hasAttached()) {\n this._captureFocus();\n }\n }\n _captureFocus() {\n this._previouslyFocusedElement = _getFocusedElementPierceShadowDom();\n this.focusTrap.focusInitialElementWhenReady();\n }\n}\nCdkTrapFocus.ɵfac = function CdkTrapFocus_Factory(t) { return new (t || CdkTrapFocus)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(FocusTrapFactory), ɵngcc0.ɵɵdirectiveInject(DOCUMENT)); };\nCdkTrapFocus.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkTrapFocus, selectors: [[\"\", \"cdkTrapFocus\", \"\"]], inputs: { enabled: [\"cdkTrapFocus\", \"enabled\"], autoCapture: [\"cdkTrapFocusAutoCapture\", \"autoCapture\"] }, exportAs: [\"cdkTrapFocus\"], features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkTrapFocus.ctorParameters = () => [\n { type: ElementRef },\n { type: FocusTrapFactory },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\nCdkTrapFocus.propDecorators = {\n enabled: [{ type: Input, args: ['cdkTrapFocus',] }],\n autoCapture: [{ type: Input, args: ['cdkTrapFocusAutoCapture',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTrapFocus, [{\n type: Directive,\n args: [{\n selector: '[cdkTrapFocus]',\n exportAs: 'cdkTrapFocus'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: FocusTrapFactory }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { enabled: [{\n type: Input,\n args: ['cdkTrapFocus']\n }], autoCapture: [{\n type: Input,\n args: ['cdkTrapFocusAutoCapture']\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 * Class that allows for trapping focus within a DOM element.\n *\n * This class uses a strategy pattern that determines how it traps focus.\n * See FocusTrapInertStrategy.\n */\nclass ConfigurableFocusTrap extends FocusTrap {\n constructor(_element, _checker, _ngZone, _document, _focusTrapManager, _inertStrategy, config) {\n super(_element, _checker, _ngZone, _document, config.defer);\n this._focusTrapManager = _focusTrapManager;\n this._inertStrategy = _inertStrategy;\n this._focusTrapManager.register(this);\n }\n /** Whether the FocusTrap is enabled. */\n get enabled() { return this._enabled; }\n set enabled(value) {\n this._enabled = value;\n if (this._enabled) {\n this._focusTrapManager.register(this);\n }\n else {\n this._focusTrapManager.deregister(this);\n }\n }\n /** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */\n destroy() {\n this._focusTrapManager.deregister(this);\n super.destroy();\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _enable() {\n this._inertStrategy.preventFocus(this);\n this.toggleAnchors(true);\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _disable() {\n this._inertStrategy.allowFocus(this);\n this.toggleAnchors(false);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the inert strategy. */\nconst FOCUS_TRAP_INERT_STRATEGY = new InjectionToken('FOCUS_TRAP_INERT_STRATEGY');\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/** IE 11 compatible closest implementation that is able to start from non-Element Nodes. */\nfunction closest(element, selector) {\n if (!(element instanceof Node)) {\n return null;\n }\n let curr = element;\n while (curr != null && !(curr instanceof Element)) {\n curr = curr.parentNode;\n }\n return curr && (hasNativeClosest ?\n curr.closest(selector) : polyfillClosest(curr, selector));\n}\n/** Polyfill for browsers without Element.closest. */\nfunction polyfillClosest(element, selector) {\n let curr = element;\n while (curr != null && !(curr instanceof Element && matches(curr, selector))) {\n curr = curr.parentNode;\n }\n return (curr || null);\n}\nconst hasNativeClosest = typeof Element != 'undefined' && !!Element.prototype.closest;\n/** IE 11 compatible matches implementation. */\nfunction matches(element, selector) {\n return element.matches ?\n element.matches(selector) :\n element['msMatchesSelector'](selector);\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 * Lightweight FocusTrapInertStrategy that adds a document focus event\n * listener to redirect focus back inside the FocusTrap.\n */\nclass EventListenerFocusTrapInertStrategy {\n constructor() {\n /** Focus event handler. */\n this._listener = null;\n }\n /** Adds a document event listener that keeps focus inside the FocusTrap. */\n preventFocus(focusTrap) {\n // Ensure there's only one listener per document\n if (this._listener) {\n focusTrap._document.removeEventListener('focus', this._listener, true);\n }\n this._listener = (e) => this._trapFocus(focusTrap, e);\n focusTrap._ngZone.runOutsideAngular(() => {\n focusTrap._document.addEventListener('focus', this._listener, true);\n });\n }\n /** Removes the event listener added in preventFocus. */\n allowFocus(focusTrap) {\n if (!this._listener) {\n return;\n }\n focusTrap._document.removeEventListener('focus', this._listener, true);\n this._listener = null;\n }\n /**\n * Refocuses the first element in the FocusTrap if the focus event target was outside\n * the FocusTrap.\n *\n * This is an event listener callback. The event listener is added in runOutsideAngular,\n * so all this code runs outside Angular as well.\n */\n _trapFocus(focusTrap, event) {\n const target = event.target;\n const focusTrapRoot = focusTrap._element;\n // Don't refocus if target was in an overlay, because the overlay might be associated\n // with an element inside the FocusTrap, ex. mat-select.\n if (!focusTrapRoot.contains(target) && closest(target, 'div.cdk-overlay-pane') === null) {\n // Some legacy FocusTrap usages have logic that focuses some element on the page\n // just before FocusTrap is destroyed. For backwards compatibility, wait\n // to be sure FocusTrap is still enabled before refocusing.\n setTimeout(() => {\n // Check whether focus wasn't put back into the focus trap while the timeout was pending.\n if (focusTrap.enabled && !focusTrapRoot.contains(focusTrap._document.activeElement)) {\n focusTrap.focusFirstTabbableElement();\n }\n });\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/** Injectable that ensures only the most recently enabled FocusTrap is active. */\nclass FocusTrapManager {\n constructor() {\n // A stack of the FocusTraps on the page. Only the FocusTrap at the\n // top of the stack is active.\n this._focusTrapStack = [];\n }\n /**\n * Disables the FocusTrap at the top of the stack, and then pushes\n * the new FocusTrap onto the stack.\n */\n register(focusTrap) {\n // Dedupe focusTraps that register multiple times.\n this._focusTrapStack = this._focusTrapStack.filter((ft) => ft !== focusTrap);\n let stack = this._focusTrapStack;\n if (stack.length) {\n stack[stack.length - 1]._disable();\n }\n stack.push(focusTrap);\n focusTrap._enable();\n }\n /**\n * Removes the FocusTrap from the stack, and activates the\n * FocusTrap that is the new top of the stack.\n */\n deregister(focusTrap) {\n focusTrap._disable();\n const stack = this._focusTrapStack;\n const i = stack.indexOf(focusTrap);\n if (i !== -1) {\n stack.splice(i, 1);\n if (stack.length) {\n stack[stack.length - 1]._enable();\n }\n }\n }\n}\nFocusTrapManager.ɵfac = function FocusTrapManager_Factory(t) { return new (t || FocusTrapManager)(); };\nFocusTrapManager.ɵprov = i0.ɵɵdefineInjectable({ factory: function FocusTrapManager_Factory() { return new FocusTrapManager(); }, token: FocusTrapManager, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FocusTrapManager, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\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/** Factory that allows easy instantiation of configurable focus traps. */\nclass ConfigurableFocusTrapFactory {\n constructor(_checker, _ngZone, _focusTrapManager, _document, _inertStrategy) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._focusTrapManager = _focusTrapManager;\n this._document = _document;\n // TODO split up the strategies into different modules, similar to DateAdapter.\n this._inertStrategy = _inertStrategy || new EventListenerFocusTrapInertStrategy();\n }\n create(element, config = { defer: false }) {\n let configObject;\n if (typeof config === 'boolean') {\n configObject = { defer: config };\n }\n else {\n configObject = config;\n }\n return new ConfigurableFocusTrap(element, this._checker, this._ngZone, this._document, this._focusTrapManager, this._inertStrategy, configObject);\n }\n}\nConfigurableFocusTrapFactory.ɵfac = function ConfigurableFocusTrapFactory_Factory(t) { return new (t || ConfigurableFocusTrapFactory)(ɵngcc0.ɵɵinject(InteractivityChecker), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(FocusTrapManager), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(FOCUS_TRAP_INERT_STRATEGY, 8)); };\nConfigurableFocusTrapFactory.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConfigurableFocusTrapFactory_Factory() { return new ConfigurableFocusTrapFactory(i0.ɵɵinject(InteractivityChecker), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(FocusTrapManager), i0.ɵɵinject(i2.DOCUMENT), i0.ɵɵinject(FOCUS_TRAP_INERT_STRATEGY, 8)); }, token: ConfigurableFocusTrapFactory, providedIn: \"root\" });\nConfigurableFocusTrapFactory.ctorParameters = () => [\n { type: InteractivityChecker },\n { type: NgZone },\n { type: FocusTrapManager },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [FOCUS_TRAP_INERT_STRATEGY,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ConfigurableFocusTrapFactory, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: InteractivityChecker }, { type: ɵngcc0.NgZone }, { type: FocusTrapManager }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_TRAP_INERT_STRATEGY]\n }] }]; }, null); })();\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/** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */\nfunction isFakeMousedownFromScreenReader(event) {\n // Some screen readers will dispatch a fake `mousedown` event when pressing enter or space on\n // a clickable element. We can distinguish these events when both `offsetX` and `offsetY` are\n // zero. Note that there's an edge case where the user could click the 0x0 spot of the screen\n // themselves, but that is unlikely to contain interaction elements. Historially we used to check\n // `event.buttons === 0`, however that no longer works on recent versions of NVDA.\n return event.offsetX === 0 && event.offsetY === 0;\n}\n/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */\nfunction isFakeTouchstartFromScreenReader(event) {\n const touch = (event.touches && event.touches[0]) ||\n (event.changedTouches && event.changedTouches[0]);\n // A fake `touchstart` can be distinguished from a real one by looking at the `identifier`\n // which is typically >= 0 on a real device versus -1 from a screen reader. Just to be safe,\n // we can also look at `radiusX` and `radiusY`. This behavior was observed against a Windows 10\n // device with a touch screen running NVDA v2020.4 and Firefox 85 or Chrome 88.\n return !!touch && touch.identifier === -1 && (touch.radiusX == null || touch.radiusX === 1) &&\n (touch.radiusY == null || touch.radiusY === 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 * Injectable options for the InputModalityDetector. These are shallowly merged with the default\n * options.\n */\nconst INPUT_MODALITY_DETECTOR_OPTIONS = new InjectionToken('cdk-input-modality-detector-options');\n/**\n * Default options for the InputModalityDetector.\n *\n * Modifier keys are ignored by default (i.e. when pressed won't cause the service to detect\n * keyboard input modality) for two reasons:\n *\n * 1. Modifier keys are commonly used with mouse to perform actions such as 'right click' or 'open\n * in new tab', and are thus less representative of actual keyboard interaction.\n * 2. VoiceOver triggers some keyboard events when linearly navigating with Control + Option (but\n * confusingly not with Caps Lock). Thus, to have parity with other screen readers, we ignore\n * these keys so as to not update the input modality.\n *\n * Note that we do not by default ignore the right Meta key on Safari because it has the same key\n * code as the ContextMenu key on other browsers. When we switch to using event.key, we can\n * distinguish between the two.\n */\nconst INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS = {\n ignoreKeys: [ALT, CONTROL, MAC_META, META, SHIFT],\n};\n/**\n * The amount of time needed to pass after a touchstart event in order for a subsequent mousedown\n * event to be attributed as mouse and not touch.\n *\n * This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found\n * that a value of around 650ms seems appropriate.\n */\nconst TOUCH_BUFFER_MS = 650;\n/**\n * Event listener options that enable capturing and also mark the listener as passive if the browser\n * supports it.\n */\nconst modalityEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n/**\n * Service that detects the user's input modality.\n *\n * This service does not update the input modality when a user navigates with a screen reader\n * (e.g. linear navigation with VoiceOver, object navigation / browse mode with NVDA, virtual PC\n * cursor mode with JAWS). This is in part due to technical limitations (i.e. keyboard events do not\n * fire as expected in these modes) but is also arguably the correct behavior. Navigating with a\n * screen reader is akin to visually scanning a page, and should not be interpreted as actual user\n * input interaction.\n *\n * When a user is not navigating but *interacting* with a screen reader, this service attempts to\n * update the input modality to keyboard, but in general this service's behavior is largely\n * undefined.\n */\nclass InputModalityDetector {\n constructor(_platform, ngZone, document, options) {\n this._platform = _platform;\n /**\n * The most recently detected input modality event target. Is null if no input modality has been\n * detected or if the associated event target is null for some unknown reason.\n */\n this._mostRecentTarget = null;\n /** The underlying BehaviorSubject that emits whenever an input modality is detected. */\n this._modality = new BehaviorSubject(null);\n /**\n * The timestamp of the last touch input modality. Used to determine whether mousedown events\n * should be attributed to mouse or touch.\n */\n this._lastTouchMs = 0;\n /**\n * Handles keydown events. Must be an arrow function in order to preserve the context when it gets\n * bound.\n */\n this._onKeydown = (event) => {\n var _a, _b;\n // If this is one of the keys we should ignore, then ignore it and don't update the input\n // modality to keyboard.\n if ((_b = (_a = this._options) === null || _a === void 0 ? void 0 : _a.ignoreKeys) === null || _b === void 0 ? void 0 : _b.some(keyCode => keyCode === event.keyCode)) {\n return;\n }\n this._modality.next('keyboard');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles mousedown events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onMousedown = (event) => {\n // Touches trigger both touch and mouse events, so we need to distinguish between mouse events\n // that were triggered via mouse vs touch. To do so, check if the mouse event occurs closely\n // after the previous touch event.\n if (Date.now() - this._lastTouchMs < TOUCH_BUFFER_MS) {\n return;\n }\n // Fake mousedown events are fired by some screen readers when controls are activated by the\n // screen reader. Attribute them to keyboard input modality.\n this._modality.next(isFakeMousedownFromScreenReader(event) ? 'keyboard' : 'mouse');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles touchstart events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onTouchstart = (event) => {\n // Same scenario as mentioned in _onMousedown, but on touch screen devices, fake touchstart\n // events are fired. Again, attribute to keyboard input modality.\n if (isFakeTouchstartFromScreenReader(event)) {\n this._modality.next('keyboard');\n return;\n }\n // Store the timestamp of this touch event, as it's used to distinguish between mouse events\n // triggered via mouse vs touch.\n this._lastTouchMs = Date.now();\n this._modality.next('touch');\n this._mostRecentTarget = _getEventTarget(event);\n };\n this._options = Object.assign(Object.assign({}, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS), options);\n // Skip the first emission as it's null.\n this.modalityDetected = this._modality.pipe(skip(1));\n this.modalityChanged = this.modalityDetected.pipe(distinctUntilChanged());\n // If we're not in a browser, this service should do nothing, as there's no relevant input\n // modality to detect.\n if (_platform.isBrowser) {\n ngZone.runOutsideAngular(() => {\n document.addEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.addEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.addEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n });\n }\n }\n /** The most recently detected input modality. */\n get mostRecentModality() {\n return this._modality.value;\n }\n ngOnDestroy() {\n this._modality.complete();\n if (this._platform.isBrowser) {\n document.removeEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.removeEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.removeEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n }\n }\n}\nInputModalityDetector.ɵfac = function InputModalityDetector_Factory(t) { return new (t || InputModalityDetector)(ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(INPUT_MODALITY_DETECTOR_OPTIONS, 8)); };\nInputModalityDetector.ɵprov = i0.ɵɵdefineInjectable({ factory: function InputModalityDetector_Factory() { return new InputModalityDetector(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.DOCUMENT), i0.ɵɵinject(INPUT_MODALITY_DETECTOR_OPTIONS, 8)); }, token: InputModalityDetector, providedIn: \"root\" });\nInputModalityDetector.ctorParameters = () => [\n { type: Platform },\n { type: NgZone },\n { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [INPUT_MODALITY_DETECTOR_OPTIONS,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(InputModalityDetector, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }, { type: ɵngcc0.NgZone }, { type: Document, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [INPUT_MODALITY_DETECTOR_OPTIONS]\n }] }]; }, null); })();\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 LIVE_ANNOUNCER_ELEMENT_TOKEN = new InjectionToken('liveAnnouncerElement', {\n providedIn: 'root',\n factory: LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY,\n});\n/** @docs-private */\nfunction LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY() {\n return null;\n}\n/** Injection token that can be used to configure the default options for the LiveAnnouncer. */\nconst LIVE_ANNOUNCER_DEFAULT_OPTIONS = new InjectionToken('LIVE_ANNOUNCER_DEFAULT_OPTIONS');\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 LiveAnnouncer {\n constructor(elementToken, _ngZone, _document, _defaultOptions) {\n this._ngZone = _ngZone;\n this._defaultOptions = _defaultOptions;\n // We inject the live element and document as `any` because the constructor signature cannot\n // reference browser globals (HTMLElement, Document) on non-browser environments, since having\n // a class decorator causes TypeScript to preserve the constructor signature types.\n this._document = _document;\n this._liveElement = elementToken || this._createLiveElement();\n }\n announce(message, ...args) {\n const defaultOptions = this._defaultOptions;\n let politeness;\n let duration;\n if (args.length === 1 && typeof args[0] === 'number') {\n duration = args[0];\n }\n else {\n [politeness, duration] = args;\n }\n this.clear();\n clearTimeout(this._previousTimeout);\n if (!politeness) {\n politeness =\n (defaultOptions && defaultOptions.politeness) ? defaultOptions.politeness : 'polite';\n }\n if (duration == null && defaultOptions) {\n duration = defaultOptions.duration;\n }\n // TODO: ensure changing the politeness works on all environments we support.\n this._liveElement.setAttribute('aria-live', politeness);\n // This 100ms timeout is necessary for some browser + screen-reader combinations:\n // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\n // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\n // second time without clearing and then using a non-zero delay.\n // (using JAWS 17 at time of this writing).\n return this._ngZone.runOutsideAngular(() => {\n return new Promise(resolve => {\n clearTimeout(this._previousTimeout);\n this._previousTimeout = setTimeout(() => {\n this._liveElement.textContent = message;\n resolve();\n if (typeof duration === 'number') {\n this._previousTimeout = setTimeout(() => this.clear(), duration);\n }\n }, 100);\n });\n });\n }\n /**\n * Clears the current text from the announcer element. Can be used to prevent\n * screen readers from reading the text out again while the user is going\n * through the page landmarks.\n */\n clear() {\n if (this._liveElement) {\n this._liveElement.textContent = '';\n }\n }\n ngOnDestroy() {\n clearTimeout(this._previousTimeout);\n if (this._liveElement && this._liveElement.parentNode) {\n this._liveElement.parentNode.removeChild(this._liveElement);\n this._liveElement = null;\n }\n }\n _createLiveElement() {\n const elementClass = 'cdk-live-announcer-element';\n const previousElements = this._document.getElementsByClassName(elementClass);\n const liveEl = this._document.createElement('div');\n // Remove any old containers. This can happen when coming in from a server-side-rendered page.\n for (let i = 0; i < previousElements.length; i++) {\n previousElements[i].parentNode.removeChild(previousElements[i]);\n }\n liveEl.classList.add(elementClass);\n liveEl.classList.add('cdk-visually-hidden');\n liveEl.setAttribute('aria-atomic', 'true');\n liveEl.setAttribute('aria-live', 'polite');\n this._document.body.appendChild(liveEl);\n return liveEl;\n }\n}\nLiveAnnouncer.ɵfac = function LiveAnnouncer_Factory(t) { return new (t || LiveAnnouncer)(ɵngcc0.ɵɵinject(LIVE_ANNOUNCER_ELEMENT_TOKEN, 8), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(LIVE_ANNOUNCER_DEFAULT_OPTIONS, 8)); };\nLiveAnnouncer.ɵprov = i0.ɵɵdefineInjectable({ factory: function LiveAnnouncer_Factory() { return new LiveAnnouncer(i0.ɵɵinject(LIVE_ANNOUNCER_ELEMENT_TOKEN, 8), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.DOCUMENT), i0.ɵɵinject(LIVE_ANNOUNCER_DEFAULT_OPTIONS, 8)); }, token: LiveAnnouncer, providedIn: \"root\" });\nLiveAnnouncer.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [LIVE_ANNOUNCER_ELEMENT_TOKEN,] }] },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LiveAnnouncer, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_ELEMENT_TOKEN]\n }] }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS]\n }] }]; }, null); })();\n/**\n * A directive that works similarly to aria-live, but uses the LiveAnnouncer to ensure compatibility\n * with a wider range of browsers and screen readers.\n */\nclass CdkAriaLive {\n constructor(_elementRef, _liveAnnouncer, _contentObserver, _ngZone) {\n this._elementRef = _elementRef;\n this._liveAnnouncer = _liveAnnouncer;\n this._contentObserver = _contentObserver;\n this._ngZone = _ngZone;\n this._politeness = 'polite';\n }\n /** The aria-live politeness level to use when announcing messages. */\n get politeness() { return this._politeness; }\n set politeness(value) {\n this._politeness = value === 'off' || value === 'assertive' ? value : 'polite';\n if (this._politeness === 'off') {\n if (this._subscription) {\n this._subscription.unsubscribe();\n this._subscription = null;\n }\n }\n else if (!this._subscription) {\n this._subscription = this._ngZone.runOutsideAngular(() => {\n return this._contentObserver\n .observe(this._elementRef)\n .subscribe(() => {\n // Note that we use textContent here, rather than innerText, in order to avoid a reflow.\n const elementText = this._elementRef.nativeElement.textContent;\n // The `MutationObserver` fires also for attribute\n // changes which we don't want to announce.\n if (elementText !== this._previousAnnouncedText) {\n this._liveAnnouncer.announce(elementText, this._politeness);\n this._previousAnnouncedText = elementText;\n }\n });\n });\n }\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n }\n}\nCdkAriaLive.ɵfac = function CdkAriaLive_Factory(t) { return new (t || CdkAriaLive)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(LiveAnnouncer), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.ContentObserver), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nCdkAriaLive.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkAriaLive, selectors: [[\"\", \"cdkAriaLive\", \"\"]], inputs: { politeness: [\"cdkAriaLive\", \"politeness\"] }, exportAs: [\"cdkAriaLive\"] });\nCdkAriaLive.ctorParameters = () => [\n { type: ElementRef },\n { type: LiveAnnouncer },\n { type: ContentObserver },\n { type: NgZone }\n];\nCdkAriaLive.propDecorators = {\n politeness: [{ type: Input, args: ['cdkAriaLive',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkAriaLive, [{\n type: Directive,\n args: [{\n selector: '[cdkAriaLive]',\n exportAs: 'cdkAriaLive'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: LiveAnnouncer }, { type: ɵngcc2.ContentObserver }, { type: ɵngcc0.NgZone }]; }, { politeness: [{\n type: Input,\n args: ['cdkAriaLive']\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/** InjectionToken for FocusMonitorOptions. */\nconst FOCUS_MONITOR_DEFAULT_OPTIONS = new InjectionToken('cdk-focus-monitor-default-options');\n/**\n * Event listener options that enable capturing and also\n * mark the listener as passive if the browser supports it.\n */\nconst captureEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true\n});\n/** Monitors mouse and keyboard events to determine the cause of focus events. */\nclass FocusMonitor {\n constructor(_ngZone, _platform, _inputModalityDetector, \n /** @breaking-change 11.0.0 make document required */\n document, options) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n this._inputModalityDetector = _inputModalityDetector;\n /** The focus origin that the next focus event is a result of. */\n this._origin = null;\n /** Whether the window has just been focused. */\n this._windowFocused = false;\n /**\n * Whether the origin was determined via a touch interaction. Necessary as properly attributing\n * focus events to touch interactions requires special logic.\n */\n this._originFromTouchInteraction = false;\n /** Map of elements being monitored to their info. */\n this._elementInfo = new Map();\n /** The number of elements currently being monitored. */\n this._monitoredElementCount = 0;\n /**\n * Keeps track of the root nodes to which we've currently bound a focus/blur handler,\n * as well as the number of monitored elements that they contain. We have to treat focus/blur\n * handlers differently from the rest of the events, because the browser won't emit events\n * to the document when focus moves inside of a shadow root.\n */\n this._rootNodeFocusListenerCount = new Map();\n /**\n * Event listener for `focus` events on the window.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._windowFocusListener = () => {\n // Make a note of when the window regains focus, so we can\n // restore the origin info for the focused element.\n this._windowFocused = true;\n this._windowFocusTimeoutId = setTimeout(() => this._windowFocused = false);\n };\n /** Subject for stopping our InputModalityDetector subscription. */\n this._stopInputModalityDetector = new Subject();\n /**\n * Event listener for `focus` and 'blur' events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._rootNodeFocusAndBlurListener = (event) => {\n const target = _getEventTarget(event);\n const handler = event.type === 'focus' ? this._onFocus : this._onBlur;\n // We need to walk up the ancestor chain in order to support `checkChildren`.\n for (let element = target; element; element = element.parentElement) {\n handler.call(this, event, element);\n }\n };\n this._document = document;\n this._detectionMode = (options === null || options === void 0 ? void 0 : options.detectionMode) || 0 /* IMMEDIATE */;\n }\n monitor(element, checkChildren = false) {\n const nativeElement = coerceElement(element);\n // Do nothing if we're not on the browser platform or the passed in node isn't an element.\n if (!this._platform.isBrowser || nativeElement.nodeType !== 1) {\n return of(null);\n }\n // If the element is inside the shadow DOM, we need to bind our focus/blur listeners to\n // the shadow root, rather than the `document`, because the browser won't emit focus events\n // to the `document`, if focus is moving within the same shadow root.\n const rootNode = _getShadowRoot(nativeElement) || this._getDocument();\n const cachedInfo = this._elementInfo.get(nativeElement);\n // Check if we're already monitoring this element.\n if (cachedInfo) {\n if (checkChildren) {\n // TODO(COMP-318): this can be problematic, because it'll turn all non-checkChildren\n // observers into ones that behave as if `checkChildren` was turned on. We need a more\n // robust solution.\n cachedInfo.checkChildren = true;\n }\n return cachedInfo.subject;\n }\n // Create monitored element info.\n const info = {\n checkChildren: checkChildren,\n subject: new Subject(),\n rootNode\n };\n this._elementInfo.set(nativeElement, info);\n this._registerGlobalListeners(info);\n return info.subject;\n }\n stopMonitoring(element) {\n const nativeElement = coerceElement(element);\n const elementInfo = this._elementInfo.get(nativeElement);\n if (elementInfo) {\n elementInfo.subject.complete();\n this._setClasses(nativeElement);\n this._elementInfo.delete(nativeElement);\n this._removeGlobalListeners(elementInfo);\n }\n }\n focusVia(element, origin, options) {\n const nativeElement = coerceElement(element);\n const focusedElement = this._getDocument().activeElement;\n // If the element is focused already, calling `focus` again won't trigger the event listener\n // which means that the focus classes won't be updated. If that's the case, update the classes\n // directly without waiting for an event.\n if (nativeElement === focusedElement) {\n this._getClosestElementsInfo(nativeElement)\n .forEach(([currentElement, info]) => this._originChanged(currentElement, origin, info));\n }\n else {\n this._setOrigin(origin);\n // `focus` isn't available on the server\n if (typeof nativeElement.focus === 'function') {\n nativeElement.focus(options);\n }\n }\n }\n ngOnDestroy() {\n this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n _toggleClass(element, className, shouldSet) {\n if (shouldSet) {\n element.classList.add(className);\n }\n else {\n element.classList.remove(className);\n }\n }\n _getFocusOrigin(focusEventTarget) {\n if (this._origin) {\n // If the origin was realized via a touch interaction, we need to perform additional checks\n // to determine whether the focus origin should be attributed to touch or program.\n if (this._originFromTouchInteraction) {\n return this._shouldBeAttributedToTouch(focusEventTarget) ? 'touch' : 'program';\n }\n else {\n return this._origin;\n }\n }\n // If the window has just regained focus, we can restore the most recent origin from before the\n // window blurred. Otherwise, we've reached the point where we can't identify the source of the\n // focus. This typically means one of two things happened:\n //\n // 1) The element was programmatically focused, or\n // 2) The element was focused via screen reader navigation (which generally doesn't fire\n // events).\n //\n // Because we can't distinguish between these two cases, we default to setting `program`.\n return (this._windowFocused && this._lastFocusOrigin) ? this._lastFocusOrigin : 'program';\n }\n /**\n * Returns whether the focus event should be attributed to touch. Recall that in IMMEDIATE mode, a\n * touch origin isn't immediately reset at the next tick (see _setOrigin). This means that when we\n * handle a focus event following a touch interaction, we need to determine whether (1) the focus\n * event was directly caused by the touch interaction or (2) the focus event was caused by a\n * subsequent programmatic focus call triggered by the touch interaction.\n * @param focusEventTarget The target of the focus event under examination.\n */\n _shouldBeAttributedToTouch(focusEventTarget) {\n // Please note that this check is not perfect. Consider the following edge case:\n //\n //
\n //
\n //
\n //\n // Suppose there is a FocusMonitor in IMMEDIATE mode attached to #parent. When the user touches\n // #child, #parent is programmatically focused. This code will attribute the focus to touch\n // instead of program. This is a relatively minor edge-case that can be worked around by using\n // focusVia(parent, 'program') to focus #parent.\n return (this._detectionMode === 1 /* EVENTUAL */) ||\n !!(focusEventTarget === null || focusEventTarget === void 0 ? void 0 : focusEventTarget.contains(this._inputModalityDetector._mostRecentTarget));\n }\n /**\n * Sets the focus classes on the element based on the given focus origin.\n * @param element The element to update the classes on.\n * @param origin The focus origin.\n */\n _setClasses(element, origin) {\n this._toggleClass(element, 'cdk-focused', !!origin);\n this._toggleClass(element, 'cdk-touch-focused', origin === 'touch');\n this._toggleClass(element, 'cdk-keyboard-focused', origin === 'keyboard');\n this._toggleClass(element, 'cdk-mouse-focused', origin === 'mouse');\n this._toggleClass(element, 'cdk-program-focused', origin === 'program');\n }\n /**\n * Updates the focus origin. If we're using immediate detection mode, we schedule an async\n * function to clear the origin at the end of a timeout. The duration of the timeout depends on\n * the origin being set.\n * @param origin The origin to set.\n * @param isFromInteraction Whether we are setting the origin from an interaction event.\n */\n _setOrigin(origin, isFromInteraction = false) {\n this._ngZone.runOutsideAngular(() => {\n this._origin = origin;\n this._originFromTouchInteraction = (origin === 'touch') && isFromInteraction;\n // If we're in IMMEDIATE mode, reset the origin at the next tick (or in `TOUCH_BUFFER_MS` ms\n // for a touch event). We reset the origin at the next tick because Firefox focuses one tick\n // after the interaction event. We wait `TOUCH_BUFFER_MS` ms before resetting the origin for\n // a touch event because when a touch event is fired, the associated focus event isn't yet in\n // the event queue. Before doing so, clear any pending timeouts.\n if (this._detectionMode === 0 /* IMMEDIATE */) {\n clearTimeout(this._originTimeoutId);\n const ms = this._originFromTouchInteraction ? TOUCH_BUFFER_MS : 1;\n this._originTimeoutId = setTimeout(() => this._origin = null, ms);\n }\n });\n }\n /**\n * Handles focus events on a registered element.\n * @param event The focus event.\n * @param element The monitored element.\n */\n _onFocus(event, element) {\n // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent\n // focus event affecting the monitored element. If we want to use the origin of the first event\n // instead we should check for the cdk-focused class here and return if the element already has\n // it. (This only matters for elements that have includesChildren = true).\n // If we are not counting child-element-focus as focused, make sure that the event target is the\n // monitored element itself.\n const elementInfo = this._elementInfo.get(element);\n const focusEventTarget = _getEventTarget(event);\n if (!elementInfo || (!elementInfo.checkChildren && element !== focusEventTarget)) {\n return;\n }\n this._originChanged(element, this._getFocusOrigin(focusEventTarget), elementInfo);\n }\n /**\n * Handles blur events on a registered element.\n * @param event The blur event.\n * @param element The monitored element.\n */\n _onBlur(event, element) {\n // If we are counting child-element-focus as focused, make sure that we aren't just blurring in\n // order to focus another child of the monitored element.\n const elementInfo = this._elementInfo.get(element);\n if (!elementInfo || (elementInfo.checkChildren && event.relatedTarget instanceof Node &&\n element.contains(event.relatedTarget))) {\n return;\n }\n this._setClasses(element);\n this._emitOrigin(elementInfo.subject, null);\n }\n _emitOrigin(subject, origin) {\n this._ngZone.run(() => subject.next(origin));\n }\n _registerGlobalListeners(elementInfo) {\n if (!this._platform.isBrowser) {\n return;\n }\n const rootNode = elementInfo.rootNode;\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode) || 0;\n if (!rootNodeFocusListeners) {\n this._ngZone.runOutsideAngular(() => {\n rootNode.addEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.addEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n });\n }\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners + 1);\n // Register global listeners when first element is monitored.\n if (++this._monitoredElementCount === 1) {\n // Note: we listen to events in the capture phase so we\n // can detect them even if the user stops propagation.\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n window.addEventListener('focus', this._windowFocusListener);\n });\n // The InputModalityDetector is also just a collection of global listeners.\n this._inputModalityDetector.modalityDetected\n .pipe(takeUntil(this._stopInputModalityDetector))\n .subscribe(modality => { this._setOrigin(modality, true /* isFromInteraction */); });\n }\n }\n _removeGlobalListeners(elementInfo) {\n const rootNode = elementInfo.rootNode;\n if (this._rootNodeFocusListenerCount.has(rootNode)) {\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode);\n if (rootNodeFocusListeners > 1) {\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners - 1);\n }\n else {\n rootNode.removeEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.removeEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n this._rootNodeFocusListenerCount.delete(rootNode);\n }\n }\n // Unregister global listeners when last element is unmonitored.\n if (!--this._monitoredElementCount) {\n const window = this._getWindow();\n window.removeEventListener('focus', this._windowFocusListener);\n // Equivalently, stop our InputModalityDetector subscription.\n this._stopInputModalityDetector.next();\n // Clear timeouts for all potentially pending timeouts to prevent the leaks.\n clearTimeout(this._windowFocusTimeoutId);\n clearTimeout(this._originTimeoutId);\n }\n }\n /** Updates all the state on an element once its focus origin has changed. */\n _originChanged(element, origin, elementInfo) {\n this._setClasses(element, origin);\n this._emitOrigin(elementInfo.subject, origin);\n this._lastFocusOrigin = origin;\n }\n /**\n * Collects the `MonitoredElementInfo` of a particular element and\n * all of its ancestors that have enabled `checkChildren`.\n * @param element Element from which to start the search.\n */\n _getClosestElementsInfo(element) {\n const results = [];\n this._elementInfo.forEach((info, currentElement) => {\n if (currentElement === element || (info.checkChildren && currentElement.contains(element))) {\n results.push([currentElement, info]);\n }\n });\n return results;\n }\n}\nFocusMonitor.ɵfac = function FocusMonitor_Factory(t) { return new (t || FocusMonitor)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(InputModalityDetector), ɵngcc0.ɵɵinject(DOCUMENT, 8), ɵngcc0.ɵɵinject(FOCUS_MONITOR_DEFAULT_OPTIONS, 8)); };\nFocusMonitor.ɵprov = i0.ɵɵdefineInjectable({ factory: function FocusMonitor_Factory() { return new FocusMonitor(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.Platform), i0.ɵɵinject(InputModalityDetector), i0.ɵɵinject(i2.DOCUMENT, 8), i0.ɵɵinject(FOCUS_MONITOR_DEFAULT_OPTIONS, 8)); }, token: FocusMonitor, providedIn: \"root\" });\nFocusMonitor.ctorParameters = () => [\n { type: NgZone },\n { type: Platform },\n { type: InputModalityDetector },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [FOCUS_MONITOR_DEFAULT_OPTIONS,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FocusMonitor, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc0.NgZone }, { type: ɵngcc1.Platform }, { type: InputModalityDetector }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_MONITOR_DEFAULT_OPTIONS]\n }] }]; }, null); })();\n/**\n * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or\n * programmatically) and adds corresponding classes to the element.\n *\n * There are two variants of this directive:\n * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is\n * focused.\n * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.\n */\nclass CdkMonitorFocus {\n constructor(_elementRef, _focusMonitor) {\n this._elementRef = _elementRef;\n this._focusMonitor = _focusMonitor;\n this.cdkFocusChange = new EventEmitter();\n }\n ngAfterViewInit() {\n const element = this._elementRef.nativeElement;\n this._monitorSubscription = this._focusMonitor.monitor(element, element.nodeType === 1 && element.hasAttribute('cdkMonitorSubtreeFocus'))\n .subscribe(origin => this.cdkFocusChange.emit(origin));\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n if (this._monitorSubscription) {\n this._monitorSubscription.unsubscribe();\n }\n }\n}\nCdkMonitorFocus.ɵfac = function CdkMonitorFocus_Factory(t) { return new (t || CdkMonitorFocus)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(FocusMonitor)); };\nCdkMonitorFocus.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkMonitorFocus, selectors: [[\"\", \"cdkMonitorElementFocus\", \"\"], [\"\", \"cdkMonitorSubtreeFocus\", \"\"]], outputs: { cdkFocusChange: \"cdkFocusChange\" } });\nCdkMonitorFocus.ctorParameters = () => [\n { type: ElementRef },\n { type: FocusMonitor }\n];\nCdkMonitorFocus.propDecorators = {\n cdkFocusChange: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkMonitorFocus, [{\n type: Directive,\n args: [{\n selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: FocusMonitor }]; }, { cdkFocusChange: [{\n type: Output\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/** CSS class applied to the document body when in black-on-white high-contrast mode. */\nconst BLACK_ON_WHITE_CSS_CLASS = 'cdk-high-contrast-black-on-white';\n/** CSS class applied to the document body when in white-on-black high-contrast mode. */\nconst WHITE_ON_BLACK_CSS_CLASS = 'cdk-high-contrast-white-on-black';\n/** CSS class applied to the document body when in high-contrast mode. */\nconst HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS = 'cdk-high-contrast-active';\n/**\n * Service to determine whether the browser is currently in a high-contrast-mode environment.\n *\n * Microsoft Windows supports an accessibility feature called \"High Contrast Mode\". This mode\n * changes the appearance of all applications, including web applications, to dramatically increase\n * contrast.\n *\n * IE, Edge, and Firefox currently support this mode. Chrome does not support Windows High Contrast\n * Mode. This service does not detect high-contrast mode as added by the Chrome \"High Contrast\"\n * browser extension.\n */\nclass HighContrastModeDetector {\n constructor(_platform, document) {\n this._platform = _platform;\n this._document = document;\n }\n /** Gets the current high-contrast-mode for the page. */\n getHighContrastMode() {\n if (!this._platform.isBrowser) {\n return 0 /* NONE */;\n }\n // Create a test element with an arbitrary background-color that is neither black nor\n // white; high-contrast mode will coerce the color to either black or white. Also ensure that\n // appending the test element to the DOM does not affect layout by absolutely positioning it\n const testElement = this._document.createElement('div');\n testElement.style.backgroundColor = 'rgb(1,2,3)';\n testElement.style.position = 'absolute';\n this._document.body.appendChild(testElement);\n // Get the computed style for the background color, collapsing spaces to normalize between\n // browsers. Once we get this color, we no longer need the test element. Access the `window`\n // via the document so we can fake it in tests. Note that we have extra null checks, because\n // this logic will likely run during app bootstrap and throwing can break the entire app.\n const documentWindow = this._document.defaultView || window;\n const computedStyle = (documentWindow && documentWindow.getComputedStyle) ?\n documentWindow.getComputedStyle(testElement) : null;\n const computedColor = (computedStyle && computedStyle.backgroundColor || '').replace(/ /g, '');\n this._document.body.removeChild(testElement);\n switch (computedColor) {\n case 'rgb(0,0,0)': return 2 /* WHITE_ON_BLACK */;\n case 'rgb(255,255,255)': return 1 /* BLACK_ON_WHITE */;\n }\n return 0 /* NONE */;\n }\n /** Applies CSS classes indicating high-contrast mode to document body (browser-only). */\n _applyBodyHighContrastModeCssClasses() {\n if (!this._hasCheckedHighContrastMode && this._platform.isBrowser && this._document.body) {\n const bodyClasses = this._document.body.classList;\n // IE11 doesn't support `classList` operations with multiple arguments\n bodyClasses.remove(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.remove(BLACK_ON_WHITE_CSS_CLASS);\n bodyClasses.remove(WHITE_ON_BLACK_CSS_CLASS);\n this._hasCheckedHighContrastMode = true;\n const mode = this.getHighContrastMode();\n if (mode === 1 /* BLACK_ON_WHITE */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.add(BLACK_ON_WHITE_CSS_CLASS);\n }\n else if (mode === 2 /* WHITE_ON_BLACK */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.add(WHITE_ON_BLACK_CSS_CLASS);\n }\n }\n }\n}\nHighContrastModeDetector.ɵfac = function HighContrastModeDetector_Factory(t) { return new (t || HighContrastModeDetector)(ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(DOCUMENT)); };\nHighContrastModeDetector.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighContrastModeDetector_Factory() { return new HighContrastModeDetector(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i2.DOCUMENT)); }, token: HighContrastModeDetector, providedIn: \"root\" });\nHighContrastModeDetector.ctorParameters = () => [\n { type: Platform },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HighContrastModeDetector, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\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 A11yModule {\n constructor(highContrastModeDetector) {\n highContrastModeDetector._applyBodyHighContrastModeCssClasses();\n }\n}\nA11yModule.ɵfac = function A11yModule_Factory(t) { return new (t || A11yModule)(ɵngcc0.ɵɵinject(HighContrastModeDetector)); };\nA11yModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: A11yModule });\nA11yModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[PlatformModule, ObserversModule]] });\nA11yModule.ctorParameters = () => [\n { type: HighContrastModeDetector }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(A11yModule, [{\n type: NgModule,\n args: [{\n imports: [PlatformModule, ObserversModule],\n declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus]\n }]\n }], function () { return [{ type: HighContrastModeDetector }]; }, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(A11yModule, { declarations: function () { return [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus]; }, imports: function () { return [PlatformModule, ObserversModule]; }, exports: function () { return [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus]; } }); })();\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 { A11yModule, ActiveDescendantKeyManager, AriaDescriber, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, CDK_DESCRIBEDBY_ID_PREFIX, CdkAriaLive, CdkMonitorFocus, CdkTrapFocus, ConfigurableFocusTrap, ConfigurableFocusTrapFactory, EventListenerFocusTrapInertStrategy, FOCUS_MONITOR_DEFAULT_OPTIONS, FOCUS_TRAP_INERT_STRATEGY, FocusKeyManager, FocusMonitor, FocusTrap, FocusTrapFactory, HighContrastModeDetector, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS, INPUT_MODALITY_DETECTOR_OPTIONS, InputModalityDetector, InteractivityChecker, IsFocusableConfig, LIVE_ANNOUNCER_DEFAULT_OPTIONS, LIVE_ANNOUNCER_ELEMENT_TOKEN, LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY, ListKeyManager, LiveAnnouncer, MESSAGES_CONTAINER_ID, isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader, FocusTrapManager as ɵangular_material_src_cdk_a11y_a11y_a };\n\n","import { InjectionToken, Directive, Input, EventEmitter, Optional, Inject, SkipSelf, ChangeDetectorRef, Output, NgModule } from '@angular/core';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subject, Subscription } from 'rxjs';\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/** Used to generate unique ID for each accordion. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/collections';\nlet nextId$1 = 0;\n/**\n * Injection token that can be used to reference instances of `CdkAccordion`. It serves\n * as alternative token to the actual `CdkAccordion` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_ACCORDION = new InjectionToken('CdkAccordion');\n/**\n * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.\n */\nclass CdkAccordion {\n constructor() {\n /** Emits when the state of the accordion changes */\n this._stateChanges = new Subject();\n /** Stream that emits true/false when openAll/closeAll is triggered. */\n this._openCloseAllActions = new Subject();\n /** A readonly id value to use for unique selection coordination. */\n this.id = `cdk-accordion-${nextId$1++}`;\n this._multi = false;\n }\n /** Whether the accordion should allow multiple expanded accordion items simultaneously. */\n get multi() { return this._multi; }\n set multi(multi) { this._multi = coerceBooleanProperty(multi); }\n /** Opens all enabled accordion items in an accordion where multi is enabled. */\n openAll() {\n if (this._multi) {\n this._openCloseAllActions.next(true);\n }\n }\n /** Closes all enabled accordion items in an accordion where multi is enabled. */\n closeAll() {\n this._openCloseAllActions.next(false);\n }\n ngOnChanges(changes) {\n this._stateChanges.next(changes);\n }\n ngOnDestroy() {\n this._stateChanges.complete();\n this._openCloseAllActions.complete();\n }\n}\nCdkAccordion.ɵfac = function CdkAccordion_Factory(t) { return new (t || CdkAccordion)(); };\nCdkAccordion.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkAccordion, selectors: [[\"cdk-accordion\"], [\"\", \"cdkAccordion\", \"\"]], inputs: { multi: \"multi\" }, exportAs: [\"cdkAccordion\"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CDK_ACCORDION, useExisting: CdkAccordion }]), ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkAccordion.propDecorators = {\n multi: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkAccordion, [{\n type: Directive,\n args: [{\n selector: 'cdk-accordion, [cdkAccordion]',\n exportAs: 'cdkAccordion',\n providers: [{ provide: CDK_ACCORDION, useExisting: CdkAccordion }]\n }]\n }], function () { return []; }, { multi: [{\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/** Used to generate unique ID for each accordion item. */\nlet nextId = 0;\nconst ɵ0 = undefined;\n/**\n * An basic directive expected to be extended and decorated as a component. Sets up all\n * events and attributes needed to be managed by a CdkAccordion parent.\n */\nclass CdkAccordionItem {\n constructor(accordion, _changeDetectorRef, _expansionDispatcher) {\n this.accordion = accordion;\n this._changeDetectorRef = _changeDetectorRef;\n this._expansionDispatcher = _expansionDispatcher;\n /** Subscription to openAll/closeAll events. */\n this._openCloseAllSubscription = Subscription.EMPTY;\n /** Event emitted every time the AccordionItem is closed. */\n this.closed = new EventEmitter();\n /** Event emitted every time the AccordionItem is opened. */\n this.opened = new EventEmitter();\n /** Event emitted when the AccordionItem is destroyed. */\n this.destroyed = new EventEmitter();\n /**\n * Emits whenever the expanded state of the accordion changes.\n * Primarily used to facilitate two-way binding.\n * @docs-private\n */\n this.expandedChange = new EventEmitter();\n /** The unique AccordionItem id. */\n this.id = `cdk-accordion-child-${nextId++}`;\n this._expanded = false;\n this._disabled = false;\n /** Unregister function for _expansionDispatcher. */\n this._removeUniqueSelectionListener = () => { };\n this._removeUniqueSelectionListener =\n _expansionDispatcher.listen((id, accordionId) => {\n if (this.accordion && !this.accordion.multi &&\n this.accordion.id === accordionId && this.id !== id) {\n this.expanded = false;\n }\n });\n // When an accordion item is hosted in an accordion, subscribe to open/close events.\n if (this.accordion) {\n this._openCloseAllSubscription = this._subscribeToOpenCloseAllActions();\n }\n }\n /** Whether the AccordionItem is expanded. */\n get expanded() { return this._expanded; }\n set expanded(expanded) {\n expanded = coerceBooleanProperty(expanded);\n // Only emit events and update the internal value if the value changes.\n if (this._expanded !== expanded) {\n this._expanded = expanded;\n this.expandedChange.emit(expanded);\n if (expanded) {\n this.opened.emit();\n /**\n * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,\n * the name value is the id of the accordion.\n */\n const accordionId = this.accordion ? this.accordion.id : this.id;\n this._expansionDispatcher.notify(this.id, accordionId);\n }\n else {\n this.closed.emit();\n }\n // Ensures that the animation will run when the value is set outside of an `@Input`.\n // This includes cases like the open, close and toggle methods.\n this._changeDetectorRef.markForCheck();\n }\n }\n /** Whether the AccordionItem is disabled. */\n get disabled() { return this._disabled; }\n set disabled(disabled) { this._disabled = coerceBooleanProperty(disabled); }\n /** Emits an event for the accordion item being destroyed. */\n ngOnDestroy() {\n this.opened.complete();\n this.closed.complete();\n this.destroyed.emit();\n this.destroyed.complete();\n this._removeUniqueSelectionListener();\n this._openCloseAllSubscription.unsubscribe();\n }\n /** Toggles the expanded state of the accordion item. */\n toggle() {\n if (!this.disabled) {\n this.expanded = !this.expanded;\n }\n }\n /** Sets the expanded state of the accordion item to false. */\n close() {\n if (!this.disabled) {\n this.expanded = false;\n }\n }\n /** Sets the expanded state of the accordion item to true. */\n open() {\n if (!this.disabled) {\n this.expanded = true;\n }\n }\n _subscribeToOpenCloseAllActions() {\n return this.accordion._openCloseAllActions.subscribe(expanded => {\n // Only change expanded state if item is enabled\n if (!this.disabled) {\n this.expanded = expanded;\n }\n });\n }\n}\nCdkAccordionItem.ɵfac = function CdkAccordionItem_Factory(t) { return new (t || CdkAccordionItem)(ɵngcc0.ɵɵdirectiveInject(CDK_ACCORDION, 12), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.UniqueSelectionDispatcher)); };\nCdkAccordionItem.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkAccordionItem, selectors: [[\"cdk-accordion-item\"], [\"\", \"cdkAccordionItem\", \"\"]], inputs: { expanded: \"expanded\", disabled: \"disabled\" }, outputs: { closed: \"closed\", opened: \"opened\", destroyed: \"destroyed\", expandedChange: \"expandedChange\" }, exportAs: [\"cdkAccordionItem\"], features: [ɵngcc0.ɵɵProvidersFeature([\n // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from\n // registering to the same accordion.\n { provide: CDK_ACCORDION, useValue: ɵ0 },\n ])] });\nCdkAccordionItem.ctorParameters = () => [\n { type: CdkAccordion, decorators: [{ type: Optional }, { type: Inject, args: [CDK_ACCORDION,] }, { type: SkipSelf }] },\n { type: ChangeDetectorRef },\n { type: UniqueSelectionDispatcher }\n];\nCdkAccordionItem.propDecorators = {\n closed: [{ type: Output }],\n opened: [{ type: Output }],\n destroyed: [{ type: Output }],\n expandedChange: [{ type: Output }],\n expanded: [{ type: Input }],\n disabled: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkAccordionItem, [{\n type: Directive,\n args: [{\n selector: 'cdk-accordion-item, [cdkAccordionItem]',\n exportAs: 'cdkAccordionItem',\n providers: [\n // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from\n // registering to the same accordion.\n { provide: CDK_ACCORDION, useValue: ɵ0 },\n ]\n }]\n }], function () { return [{ type: CdkAccordion, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_ACCORDION]\n }, {\n type: SkipSelf\n }] }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc1.UniqueSelectionDispatcher }]; }, { closed: [{\n type: Output\n }], opened: [{\n type: Output\n }], destroyed: [{\n type: Output\n }], expandedChange: [{\n type: Output\n }], expanded: [{\n type: Input\n }], disabled: [{\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 */\nclass CdkAccordionModule {\n}\nCdkAccordionModule.ɵfac = function CdkAccordionModule_Factory(t) { return new (t || CdkAccordionModule)(); };\nCdkAccordionModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CdkAccordionModule });\nCdkAccordionModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkAccordionModule, [{\n type: NgModule,\n args: [{\n exports: [CdkAccordion, CdkAccordionItem],\n declarations: [CdkAccordion, CdkAccordionItem]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CdkAccordionModule, { declarations: [CdkAccordion, CdkAccordionItem], exports: [CdkAccordion, CdkAccordionItem] }); })();\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 { CdkAccordion, CdkAccordionItem, CdkAccordionModule, CDK_ACCORDION as ɵangular_material_src_cdk_accordion_accordion_a };\n\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, EventEmitter, Injectable, Optional, Inject, Directive, Output, Input, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\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 * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry-based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests\n * themselves use things like `querySelector` in test code.\n *\n * This token is defined in a separate file from Directionality as a workaround for\n * https://github.com/angular/angular/issues/22559\n *\n * @docs-private\n */\nimport * as ɵngcc0 from '@angular/core';\nconst DIR_DOCUMENT = new InjectionToken('cdk-dir-doc', {\n providedIn: 'root',\n factory: DIR_DOCUMENT_FACTORY,\n});\n/** @docs-private */\nfunction DIR_DOCUMENT_FACTORY() {\n return 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 * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\nclass Directionality {\n constructor(_document) {\n /** The current 'ltr' or 'rtl' value. */\n this.value = 'ltr';\n /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n this.change = new EventEmitter();\n if (_document) {\n // TODO: handle 'auto' value -\n // We still need to account for dir=\"auto\".\n // It looks like HTMLElemenet.dir is also \"auto\" when that's set to the attribute,\n // but getComputedStyle return either \"ltr\" or \"rtl\". avoiding getComputedStyle for now\n const bodyDir = _document.body ? _document.body.dir : null;\n const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n const value = bodyDir || htmlDir;\n this.value = (value === 'ltr' || value === 'rtl') ? value : 'ltr';\n }\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDirectionality.ɵfac = function Directionality_Factory(t) { return new (t || Directionality)(ɵngcc0.ɵɵinject(DIR_DOCUMENT, 8)); };\nDirectionality.ɵprov = i0.ɵɵdefineInjectable({ factory: function Directionality_Factory() { return new Directionality(i0.ɵɵinject(DIR_DOCUMENT, 8)); }, token: Directionality, providedIn: \"root\" });\nDirectionality.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DIR_DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Directionality, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DIR_DOCUMENT]\n }] }]; }, null); })();\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 * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\nclass Dir {\n constructor() {\n /** Normalized direction that accounts for invalid/unsupported values. */\n this._dir = 'ltr';\n /** Whether the `value` has been set to its initial value. */\n this._isInitialized = false;\n /** Event emitted when the direction changes. */\n this.change = new EventEmitter();\n }\n /** @docs-private */\n get dir() { return this._dir; }\n set dir(value) {\n const old = this._dir;\n const normalizedValue = value ? value.toLowerCase() : value;\n this._rawDir = value;\n this._dir = (normalizedValue === 'ltr' || normalizedValue === 'rtl') ? normalizedValue : 'ltr';\n if (old !== this._dir && this._isInitialized) {\n this.change.emit(this._dir);\n }\n }\n /** Current layout direction of the element. */\n get value() { return this.dir; }\n /** Initialize once default value has been set. */\n ngAfterContentInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDir.ɵfac = function Dir_Factory(t) { return new (t || Dir)(); };\nDir.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: Dir, selectors: [[\"\", \"dir\", \"\"]], hostVars: 1, hostBindings: function Dir_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"dir\", ctx._rawDir);\n } }, inputs: { dir: \"dir\" }, outputs: { change: \"dirChange\" }, exportAs: [\"dir\"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: Directionality, useExisting: Dir }])] });\nDir.propDecorators = {\n change: [{ type: Output, args: ['dirChange',] }],\n dir: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Dir, [{\n type: Directive,\n args: [{\n selector: '[dir]',\n providers: [{ provide: Directionality, useExisting: Dir }],\n host: { '[attr.dir]': '_rawDir' },\n exportAs: 'dir'\n }]\n }], function () { return []; }, { change: [{\n type: Output,\n args: ['dirChange']\n }], dir: [{\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 */\nclass BidiModule {\n}\nBidiModule.ɵfac = function BidiModule_Factory(t) { return new (t || BidiModule)(); };\nBidiModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: BidiModule });\nBidiModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BidiModule, [{\n type: NgModule,\n args: [{\n exports: [Dir],\n declarations: [Dir]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(BidiModule, { declarations: [Dir], exports: [Dir] }); })();\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 { BidiModule, DIR_DOCUMENT, Dir, Directionality, DIR_DOCUMENT_FACTORY as ɵangular_material_src_cdk_bidi_bidi_a };\n\n","import { Version } 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 */\n/** Current version of the Angular Component Development Kit. */\nconst VERSION = new Version('12.2.13');\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\nexport { VERSION };\n","import { ElementRef } 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 */\n/** Coerces a data-bound value (typically a string) to a boolean. */\nfunction coerceBooleanProperty(value) {\n return value != null && `${value}` !== 'false';\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 coerceNumberProperty(value, fallbackValue = 0) {\n return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n/**\n * Whether the provided value is considered a number.\n * @docs-private\n */\nfunction _isNumberValue(value) {\n // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n // and other non-number values as NaN, where Number just uses 0) but it considers the string\n // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.\n return !isNaN(parseFloat(value)) && !isNaN(Number(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 */\nfunction coerceArray(value) {\n return Array.isArray(value) ? value : [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/** Coerces a value to a CSS pixel value. */\nfunction coerceCssPixelValue(value) {\n if (value == null) {\n return '';\n }\n return typeof value === 'string' ? value : `${value}px`;\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 * Coerces an ElementRef or an Element into an element.\n * Useful for APIs that can accept either a ref or the native element itself.\n */\nfunction coerceElement(elementOrRef) {\n return elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\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 * Coerces a value to an array of trimmed non-empty strings.\n * Any input that is not an array, `null` or `undefined` will be turned into a string\n * via `toString()` and subsequently split with the given separator.\n * `null` and `undefined` will result in an empty array.\n * This results in the following outcomes:\n * - `null` -> `[]`\n * - `[null]` -> `[\"null\"]`\n * - `[\"a\", \"b \", \" \"]` -> `[\"a\", \"b\"]`\n * - `[1, [2, 3]]` -> `[\"1\", \"2,3\"]`\n * - `[{ a: 0 }]` -> `[\"[object Object]\"]`\n * - `{ a: 0 }` -> `[\"[object\", \"Object]\"]`\n *\n * Useful for defining CSS classes or table columns.\n * @param value the value to coerce into an array of strings\n * @param separator split-separator if value isn't an array\n */\nfunction coerceStringArray(value, separator = /\\s+/) {\n const result = [];\n if (value != null) {\n const sourceValues = Array.isArray(value) ? value : `${value}`.split(separator);\n for (const sourceValue of sourceValues) {\n const trimmedString = `${sourceValue}`.trim();\n if (trimmedString) {\n result.push(trimmedString);\n }\n }\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/**\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\nexport { _isNumberValue, coerceArray, coerceBooleanProperty, coerceCssPixelValue, coerceElement, coerceNumberProperty, coerceStringArray };\n","import { isObservable, of, Subject } from 'rxjs';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken } 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 */\nimport * as ɵngcc0 from '@angular/core';\nclass DataSource {\n}\n/** Checks whether an object is a data source. */\nfunction isDataSource(value) {\n // Check if the value is a DataSource by observing if it has a connect function. Cannot\n // be checked as an `instanceof DataSource` since people could create their own sources\n // that match the interface, but don't extend DataSource.\n return value && typeof value.connect === 'function';\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/** DataSource wrapper for a native array. */\nclass ArrayDataSource extends DataSource {\n constructor(_data) {\n super();\n this._data = _data;\n }\n connect() {\n return isObservable(this._data) ? this._data : of(this._data);\n }\n disconnect() { }\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 * A repeater that destroys views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will always construct a new embedded view for each item.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _DisposeViewRepeaterStrategy {\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n const insertContext = itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = viewContainerRef.createEmbeddedView(insertContext.templateRef, insertContext.context, insertContext.index);\n operation = 1 /* INSERTED */;\n }\n else if (currentIndex == null) {\n viewContainerRef.remove(adjustedPreviousIndex);\n operation = 3 /* REMOVED */;\n }\n else {\n view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n operation = 2 /* MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view === null || view === void 0 ? void 0 : view.context,\n operation,\n record,\n });\n }\n });\n }\n detach() {\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 repeater that caches views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will reuse one of the cached views instead of creating a new\n * embedded view. Recycling cached views reduces the quantity of expensive DOM\n * inserts.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _RecycleViewRepeaterStrategy {\n constructor() {\n /**\n * The size of the cache used to store unused views.\n * Setting the cache size to `0` will disable caching. Defaults to 20 views.\n */\n this.viewCacheSize = 20;\n /**\n * View cache that stores embedded view instances that have been previously stamped out,\n * but don't are not currently rendered. The view repeater will reuse these views rather than\n * creating brand new ones.\n *\n * TODO(michaeljamesparsons) Investigate whether using a linked list would improve performance.\n */\n this._viewCache = [];\n }\n /** Apply changes to the DOM. */\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n // Rearrange the views to put them in the right location.\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) { // Item added.\n const viewArgsFactory = () => itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = this._insertView(viewArgsFactory, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = view ? 1 /* INSERTED */ : 0 /* REPLACED */;\n }\n else if (currentIndex == null) { // Item removed.\n this._detachAndCacheView(adjustedPreviousIndex, viewContainerRef);\n operation = 3 /* REMOVED */;\n }\n else { // Item moved.\n view = this._moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = 2 /* MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view === null || view === void 0 ? void 0 : view.context,\n operation,\n record,\n });\n }\n });\n }\n detach() {\n for (const view of this._viewCache) {\n view.destroy();\n }\n this._viewCache = [];\n }\n /**\n * Inserts a view for a new item, either from the cache or by creating a new\n * one. Returns `undefined` if the item was inserted into a cached view.\n */\n _insertView(viewArgsFactory, currentIndex, viewContainerRef, value) {\n const cachedView = this._insertViewFromCache(currentIndex, viewContainerRef);\n if (cachedView) {\n cachedView.context.$implicit = value;\n return undefined;\n }\n const viewArgs = viewArgsFactory();\n return viewContainerRef.createEmbeddedView(viewArgs.templateRef, viewArgs.context, viewArgs.index);\n }\n /** Detaches the view at the given index and inserts into the view cache. */\n _detachAndCacheView(index, viewContainerRef) {\n const detachedView = viewContainerRef.detach(index);\n this._maybeCacheView(detachedView, viewContainerRef);\n }\n /** Moves view at the previous index to the current index. */\n _moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, value) {\n const view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n view.context.$implicit = value;\n return view;\n }\n /**\n * Cache the given detached view. If the cache is full, the view will be\n * destroyed.\n */\n _maybeCacheView(view, viewContainerRef) {\n if (this._viewCache.length < this.viewCacheSize) {\n this._viewCache.push(view);\n }\n else {\n const index = viewContainerRef.indexOf(view);\n // The host component could remove views from the container outside of\n // the view repeater. It's unlikely this will occur, but just in case,\n // destroy the view on its own, otherwise destroy it through the\n // container to ensure that all the references are removed.\n if (index === -1) {\n view.destroy();\n }\n else {\n viewContainerRef.remove(index);\n }\n }\n }\n /** Inserts a recycled view from the cache at the given index. */\n _insertViewFromCache(index, viewContainerRef) {\n const cachedView = this._viewCache.pop();\n if (cachedView) {\n viewContainerRef.insert(cachedView, index);\n }\n return cachedView || 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 * Class to be used to power selecting one or more options from a list.\n */\nclass SelectionModel {\n constructor(_multiple = false, initiallySelectedValues, _emitChanges = true) {\n this._multiple = _multiple;\n this._emitChanges = _emitChanges;\n /** Currently-selected values. */\n this._selection = new Set();\n /** Keeps track of the deselected options that haven't been emitted by the change event. */\n this._deselectedToEmit = [];\n /** Keeps track of the selected options that haven't been emitted by the change event. */\n this._selectedToEmit = [];\n /** Event emitted when the value has changed. */\n this.changed = new Subject();\n if (initiallySelectedValues && initiallySelectedValues.length) {\n if (_multiple) {\n initiallySelectedValues.forEach(value => this._markSelected(value));\n }\n else {\n this._markSelected(initiallySelectedValues[0]);\n }\n // Clear the array in order to avoid firing the change event for preselected values.\n this._selectedToEmit.length = 0;\n }\n }\n /** Selected values. */\n get selected() {\n if (!this._selected) {\n this._selected = Array.from(this._selection.values());\n }\n return this._selected;\n }\n /**\n * Selects a value or an array of values.\n */\n select(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._markSelected(value));\n this._emitChangeEvent();\n }\n /**\n * Deselects a value or an array of values.\n */\n deselect(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._unmarkSelected(value));\n this._emitChangeEvent();\n }\n /**\n * Toggles a value between selected and deselected.\n */\n toggle(value) {\n this.isSelected(value) ? this.deselect(value) : this.select(value);\n }\n /**\n * Clears all of the selected values.\n */\n clear() {\n this._unmarkAll();\n this._emitChangeEvent();\n }\n /**\n * Determines whether a value is selected.\n */\n isSelected(value) {\n return this._selection.has(value);\n }\n /**\n * Determines whether the model does not have a value.\n */\n isEmpty() {\n return this._selection.size === 0;\n }\n /**\n * Determines whether the model has a value.\n */\n hasValue() {\n return !this.isEmpty();\n }\n /**\n * Sorts the selected values based on a predicate function.\n */\n sort(predicate) {\n if (this._multiple && this.selected) {\n this._selected.sort(predicate);\n }\n }\n /**\n * Gets whether multiple values can be selected.\n */\n isMultipleSelection() {\n return this._multiple;\n }\n /** Emits a change event and clears the records of selected and deselected values. */\n _emitChangeEvent() {\n // Clear the selected values so they can be re-cached.\n this._selected = null;\n if (this._selectedToEmit.length || this._deselectedToEmit.length) {\n this.changed.next({\n source: this,\n added: this._selectedToEmit,\n removed: this._deselectedToEmit\n });\n this._deselectedToEmit = [];\n this._selectedToEmit = [];\n }\n }\n /** Selects a value. */\n _markSelected(value) {\n if (!this.isSelected(value)) {\n if (!this._multiple) {\n this._unmarkAll();\n }\n this._selection.add(value);\n if (this._emitChanges) {\n this._selectedToEmit.push(value);\n }\n }\n }\n /** Deselects a value. */\n _unmarkSelected(value) {\n if (this.isSelected(value)) {\n this._selection.delete(value);\n if (this._emitChanges) {\n this._deselectedToEmit.push(value);\n }\n }\n }\n /** Clears out the selected values. */\n _unmarkAll() {\n if (!this.isEmpty()) {\n this._selection.forEach(value => this._unmarkSelected(value));\n }\n }\n /**\n * Verifies the value assignment and throws an error if the specified value array is\n * including multiple values while the selection model is not supporting multiple values.\n */\n _verifyValueAssignment(values) {\n if (values.length > 1 && !this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMultipleValuesInSingleSelectionError();\n }\n }\n}\n/**\n * Returns an error that reports that multiple values are passed into a selection model\n * with a single value.\n * @docs-private\n */\nfunction getMultipleValuesInSingleSelectionError() {\n return Error('Cannot pass multiple values into SelectionModel with single-value mode.');\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 * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This service does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\nclass UniqueSelectionDispatcher {\n constructor() {\n this._listeners = [];\n }\n /**\n * Notify other items that selection for the given name has been set.\n * @param id ID of the item.\n * @param name Name of the item.\n */\n notify(id, name) {\n for (let listener of this._listeners) {\n listener(id, name);\n }\n }\n /**\n * Listen for future changes to item selection.\n * @return Function used to deregister listener\n */\n listen(listener) {\n this._listeners.push(listener);\n return () => {\n this._listeners = this._listeners.filter((registered) => {\n return listener !== registered;\n });\n };\n }\n ngOnDestroy() {\n this._listeners = [];\n }\n}\nUniqueSelectionDispatcher.ɵfac = function UniqueSelectionDispatcher_Factory(t) { return new (t || UniqueSelectionDispatcher)(); };\nUniqueSelectionDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function UniqueSelectionDispatcher_Factory() { return new UniqueSelectionDispatcher(); }, token: UniqueSelectionDispatcher, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(UniqueSelectionDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\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 * Injection token for {@link _ViewRepeater}. This token is for use by Angular Material only.\n * @docs-private\n */\nconst _VIEW_REPEATER_STRATEGY = new InjectionToken('_ViewRepeater');\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 { ArrayDataSource, DataSource, SelectionModel, UniqueSelectionDispatcher, _DisposeViewRepeaterStrategy, _RecycleViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY, getMultipleValuesInSingleSelectionError, isDataSource };\n\n","import * as i0 from '@angular/core';\nimport { Injectable, NgZone, Inject, InjectionToken, Directive, Input, EventEmitter, ElementRef, ChangeDetectorRef, Optional, SkipSelf, Output, TemplateRef, ViewContainerRef, Self, ContentChildren, ContentChild, NgModule } from '@angular/core';\nimport * as i1 from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\nimport * as i2 from '@angular/cdk/scrolling';\nimport { ViewportRuler, ScrollDispatcher, CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { _getEventTarget, normalizePassiveListenerOptions, _getShadowRoot } from '@angular/cdk/platform';\nimport { coerceBooleanProperty, coerceElement, coerceArray, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { isFakeTouchstartFromScreenReader, isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';\nimport { Subject, Subscription, interval, animationFrameScheduler, Observable, merge } from 'rxjs';\nimport { takeUntil, startWith, map, take, tap, switchMap } from 'rxjs/operators';\nimport { Directionality } from '@angular/cdk/bidi';\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 * Shallow-extends a stylesheet object with another stylesheet-like object.\n * Note that the keys in `source` have to be dash-cased.\n * @docs-private\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/scrolling';\nimport * as ɵngcc2 from '@angular/cdk/bidi';\nfunction extendStyles(dest, source, importantProperties) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n const value = source[key];\n if (value) {\n dest.setProperty(key, value, (importantProperties === null || importantProperties === void 0 ? void 0 : importantProperties.has(key)) ? 'important' : '');\n }\n else {\n dest.removeProperty(key);\n }\n }\n }\n return dest;\n}\n/**\n * Toggles whether the native drag interactions should be enabled for an element.\n * @param element Element on which to toggle the drag interactions.\n * @param enable Whether the drag interactions should be enabled.\n * @docs-private\n */\nfunction toggleNativeDragInteractions(element, enable) {\n const userSelect = enable ? '' : 'none';\n extendStyles(element.style, {\n 'touch-action': enable ? '' : 'none',\n '-webkit-user-drag': enable ? '' : 'none',\n '-webkit-tap-highlight-color': enable ? '' : 'transparent',\n 'user-select': userSelect,\n '-ms-user-select': userSelect,\n '-webkit-user-select': userSelect,\n '-moz-user-select': userSelect\n });\n}\n/**\n * Toggles whether an element is visible while preserving its dimensions.\n * @param element Element whose visibility to toggle\n * @param enable Whether the element should be visible.\n * @param importantProperties Properties to be set as `!important`.\n * @docs-private\n */\nfunction toggleVisibility(element, enable, importantProperties) {\n extendStyles(element.style, {\n position: enable ? '' : 'fixed',\n top: enable ? '' : '0',\n opacity: enable ? '' : '0',\n left: enable ? '' : '-999em'\n }, importantProperties);\n}\n/**\n * Combines a transform string with an optional other transform\n * that exited before the base transform was applied.\n */\nfunction combineTransforms(transform, initialTransform) {\n return initialTransform && initialTransform != 'none' ?\n (transform + ' ' + initialTransform) :\n transform;\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/** Parses a CSS time value to milliseconds. */\nfunction parseCssTimeUnitsToMs(value) {\n // Some browsers will return it in seconds, whereas others will return milliseconds.\n const multiplier = value.toLowerCase().indexOf('ms') > -1 ? 1 : 1000;\n return parseFloat(value) * multiplier;\n}\n/** Gets the transform transition duration, including the delay, of an element in milliseconds. */\nfunction getTransformTransitionDurationInMs(element) {\n const computedStyle = getComputedStyle(element);\n const transitionedProperties = parseCssPropertyValue(computedStyle, 'transition-property');\n const property = transitionedProperties.find(prop => prop === 'transform' || prop === 'all');\n // If there's no transition for `all` or `transform`, we shouldn't do anything.\n if (!property) {\n return 0;\n }\n // Get the index of the property that we're interested in and match\n // it up to the same index in `transition-delay` and `transition-duration`.\n const propertyIndex = transitionedProperties.indexOf(property);\n const rawDurations = parseCssPropertyValue(computedStyle, 'transition-duration');\n const rawDelays = parseCssPropertyValue(computedStyle, 'transition-delay');\n return parseCssTimeUnitsToMs(rawDurations[propertyIndex]) +\n parseCssTimeUnitsToMs(rawDelays[propertyIndex]);\n}\n/** Parses out multiple values from a computed style into an array. */\nfunction parseCssPropertyValue(computedStyle, name) {\n const value = computedStyle.getPropertyValue(name);\n return value.split(',').map(part => part.trim());\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/** Gets a mutable version of an element's bounding `ClientRect`. */\nfunction getMutableClientRect(element) {\n const clientRect = element.getBoundingClientRect();\n // We need to clone the `clientRect` here, because all the values on it are readonly\n // and we need to be able to update them. Also we can't use a spread here, because\n // the values on a `ClientRect` aren't own properties. See:\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect#Notes\n return {\n top: clientRect.top,\n right: clientRect.right,\n bottom: clientRect.bottom,\n left: clientRect.left,\n width: clientRect.width,\n height: clientRect.height\n };\n}\n/**\n * Checks whether some coordinates are within a `ClientRect`.\n * @param clientRect ClientRect that is being checked.\n * @param x Coordinates along the X axis.\n * @param y Coordinates along the Y axis.\n */\nfunction isInsideClientRect(clientRect, x, y) {\n const { top, bottom, left, right } = clientRect;\n return y >= top && y <= bottom && x >= left && x <= right;\n}\n/**\n * Updates the top/left positions of a `ClientRect`, as well as their bottom/right counterparts.\n * @param clientRect `ClientRect` that should be updated.\n * @param top Amount to add to the `top` position.\n * @param left Amount to add to the `left` position.\n */\nfunction adjustClientRect(clientRect, top, left) {\n clientRect.top += top;\n clientRect.bottom = clientRect.top + clientRect.height;\n clientRect.left += left;\n clientRect.right = clientRect.left + clientRect.width;\n}\n/**\n * Checks whether the pointer coordinates are close to a ClientRect.\n * @param rect ClientRect to check against.\n * @param threshold Threshold around the ClientRect.\n * @param pointerX Coordinates along the X axis.\n * @param pointerY Coordinates along the Y axis.\n */\nfunction isPointerNearClientRect(rect, threshold, pointerX, pointerY) {\n const { top, right, bottom, left, width, height } = rect;\n const xThreshold = width * threshold;\n const yThreshold = height * threshold;\n return pointerY > top - yThreshold && pointerY < bottom + yThreshold &&\n pointerX > left - xThreshold && pointerX < right + xThreshold;\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/** Keeps track of the scroll position and dimensions of the parents of an element. */\nclass ParentPositionTracker {\n constructor(_document, _viewportRuler) {\n this._document = _document;\n this._viewportRuler = _viewportRuler;\n /** Cached positions of the scrollable parent elements. */\n this.positions = new Map();\n }\n /** Clears the cached positions. */\n clear() {\n this.positions.clear();\n }\n /** Caches the positions. Should be called at the beginning of a drag sequence. */\n cache(elements) {\n this.clear();\n this.positions.set(this._document, {\n scrollPosition: this._viewportRuler.getViewportScrollPosition(),\n });\n elements.forEach(element => {\n this.positions.set(element, {\n scrollPosition: { top: element.scrollTop, left: element.scrollLeft },\n clientRect: getMutableClientRect(element)\n });\n });\n }\n /** Handles scrolling while a drag is taking place. */\n handleScroll(event) {\n const target = _getEventTarget(event);\n const cachedPosition = this.positions.get(target);\n if (!cachedPosition) {\n return null;\n }\n // Used when figuring out whether an element is inside the scroll parent. If the scrolled\n // parent is the `document`, we use the `documentElement`, because IE doesn't support\n // `contains` on the `document`.\n const scrolledParentNode = target === this._document ? target.documentElement : target;\n const scrollPosition = cachedPosition.scrollPosition;\n let newTop;\n let newLeft;\n if (target === this._document) {\n const viewportScrollPosition = this._viewportRuler.getViewportScrollPosition();\n newTop = viewportScrollPosition.top;\n newLeft = viewportScrollPosition.left;\n }\n else {\n newTop = target.scrollTop;\n newLeft = target.scrollLeft;\n }\n const topDifference = scrollPosition.top - newTop;\n const leftDifference = scrollPosition.left - newLeft;\n // Go through and update the cached positions of the scroll\n // parents that are inside the element that was scrolled.\n this.positions.forEach((position, node) => {\n if (position.clientRect && target !== node && scrolledParentNode.contains(node)) {\n adjustClientRect(position.clientRect, topDifference, leftDifference);\n }\n });\n scrollPosition.top = newTop;\n scrollPosition.left = newLeft;\n return { top: topDifference, left: leftDifference };\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/** Creates a deep clone of an element. */\nfunction deepCloneNode(node) {\n const clone = node.cloneNode(true);\n const descendantsWithId = clone.querySelectorAll('[id]');\n const nodeName = node.nodeName.toLowerCase();\n // Remove the `id` to avoid having multiple elements with the same id on the page.\n clone.removeAttribute('id');\n for (let i = 0; i < descendantsWithId.length; i++) {\n descendantsWithId[i].removeAttribute('id');\n }\n if (nodeName === 'canvas') {\n transferCanvasData(node, clone);\n }\n else if (nodeName === 'input' || nodeName === 'select' || nodeName === 'textarea') {\n transferInputData(node, clone);\n }\n transferData('canvas', node, clone, transferCanvasData);\n transferData('input, textarea, select', node, clone, transferInputData);\n return clone;\n}\n/** Matches elements between an element and its clone and allows for their data to be cloned. */\nfunction transferData(selector, node, clone, callback) {\n const descendantElements = node.querySelectorAll(selector);\n if (descendantElements.length) {\n const cloneElements = clone.querySelectorAll(selector);\n for (let i = 0; i < descendantElements.length; i++) {\n callback(descendantElements[i], cloneElements[i]);\n }\n }\n}\n// Counter for unique cloned radio button names.\nlet cloneUniqueId = 0;\n/** Transfers the data of one input element to another. */\nfunction transferInputData(source, clone) {\n // Browsers throw an error when assigning the value of a file input programmatically.\n if (clone.type !== 'file') {\n clone.value = source.value;\n }\n // Radio button `name` attributes must be unique for radio button groups\n // otherwise original radio buttons can lose their checked state\n // once the clone is inserted in the DOM.\n if (clone.type === 'radio' && clone.name) {\n clone.name = `mat-clone-${clone.name}-${cloneUniqueId++}`;\n }\n}\n/** Transfers the data of one canvas element to another. */\nfunction transferCanvasData(source, clone) {\n const context = clone.getContext('2d');\n if (context) {\n // In some cases `drawImage` can throw (e.g. if the canvas size is 0x0).\n // We can't do much about it so just ignore the error.\n try {\n context.drawImage(source, 0, 0);\n }\n catch (_a) { }\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/** Options that can be used to bind a passive event listener. */\nconst passiveEventListenerOptions = normalizePassiveListenerOptions({ passive: true });\n/** Options that can be used to bind an active event listener. */\nconst activeEventListenerOptions = normalizePassiveListenerOptions({ passive: false });\n/**\n * Time in milliseconds for which to ignore mouse events, after\n * receiving a touch event. Used to avoid doing double work for\n * touch devices where the browser fires fake mouse events, in\n * addition to touch events.\n */\nconst MOUSE_EVENT_IGNORE_TIME = 800;\n/** Inline styles to be set as `!important` while dragging. */\nconst dragImportantProperties = new Set([\n // Needs to be important, because some `mat-table` sets `position: sticky !important`. See #22781.\n 'position'\n]);\n/**\n * Reference to a draggable item. Used to manipulate or dispose of the item.\n */\nclass DragRef {\n constructor(element, _config, _document, _ngZone, _viewportRuler, _dragDropRegistry) {\n this._config = _config;\n this._document = _document;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._dragDropRegistry = _dragDropRegistry;\n /**\n * CSS `transform` applied to the element when it isn't being dragged. We need a\n * passive transform in order for the dragged element to retain its new position\n * after the user has stopped dragging and because we need to know the relative\n * position in case they start dragging again. This corresponds to `element.style.transform`.\n */\n this._passiveTransform = { x: 0, y: 0 };\n /** CSS `transform` that is applied to the element while it's being dragged. */\n this._activeTransform = { x: 0, y: 0 };\n /**\n * Whether the dragging sequence has been started. Doesn't\n * necessarily mean that the element has been moved.\n */\n this._hasStartedDragging = false;\n /** Emits when the item is being moved. */\n this._moveEvents = new Subject();\n /** Subscription to pointer movement events. */\n this._pointerMoveSubscription = Subscription.EMPTY;\n /** Subscription to the event that is dispatched when the user lifts their pointer. */\n this._pointerUpSubscription = Subscription.EMPTY;\n /** Subscription to the viewport being scrolled. */\n this._scrollSubscription = Subscription.EMPTY;\n /** Subscription to the viewport being resized. */\n this._resizeSubscription = Subscription.EMPTY;\n /** Cached reference to the boundary element. */\n this._boundaryElement = null;\n /** Whether the native dragging interactions have been enabled on the root element. */\n this._nativeInteractionsEnabled = true;\n /** Elements that can be used to drag the draggable item. */\n this._handles = [];\n /** Registered handles that are currently disabled. */\n this._disabledHandles = new Set();\n /** Layout direction of the item. */\n this._direction = 'ltr';\n /**\n * Amount of milliseconds to wait after the user has put their\n * pointer down before starting to drag the element.\n */\n this.dragStartDelay = 0;\n this._disabled = false;\n /** Emits as the drag sequence is being prepared. */\n this.beforeStarted = new Subject();\n /** Emits when the user starts dragging the item. */\n this.started = new Subject();\n /** Emits when the user has released a drag item, before any animations have started. */\n this.released = new Subject();\n /** Emits when the user stops dragging an item in the container. */\n this.ended = new Subject();\n /** Emits when the user has moved the item into a new container. */\n this.entered = new Subject();\n /** Emits when the user removes the item its container by dragging it into another container. */\n this.exited = new Subject();\n /** Emits when the user drops the item inside a container. */\n this.dropped = new Subject();\n /**\n * Emits as the user is dragging the item. Use with caution,\n * because this event will fire for every pixel that the user has dragged.\n */\n this.moved = this._moveEvents;\n /** Handler for the `mousedown`/`touchstart` events. */\n this._pointerDown = (event) => {\n this.beforeStarted.next();\n // Delegate the event based on whether it started from a handle or the element itself.\n if (this._handles.length) {\n const targetHandle = this._handles.find(handle => {\n const target = _getEventTarget(event);\n return !!target && (target === handle || handle.contains(target));\n });\n if (targetHandle && !this._disabledHandles.has(targetHandle) && !this.disabled) {\n this._initializeDragSequence(targetHandle, event);\n }\n }\n else if (!this.disabled) {\n this._initializeDragSequence(this._rootElement, event);\n }\n };\n /** Handler that is invoked when the user moves their pointer after they've initiated a drag. */\n this._pointerMove = (event) => {\n const pointerPosition = this._getPointerPositionOnPage(event);\n if (!this._hasStartedDragging) {\n const distanceX = Math.abs(pointerPosition.x - this._pickupPositionOnPage.x);\n const distanceY = Math.abs(pointerPosition.y - this._pickupPositionOnPage.y);\n const isOverThreshold = distanceX + distanceY >= this._config.dragStartThreshold;\n // Only start dragging after the user has moved more than the minimum distance in either\n // direction. Note that this is preferrable over doing something like `skip(minimumDistance)`\n // in the `pointerMove` subscription, because we're not guaranteed to have one move event\n // per pixel of movement (e.g. if the user moves their pointer quickly).\n if (isOverThreshold) {\n const isDelayElapsed = Date.now() >= this._dragStartTime + this._getDragStartDelay(event);\n const container = this._dropContainer;\n if (!isDelayElapsed) {\n this._endDragSequence(event);\n return;\n }\n // Prevent other drag sequences from starting while something in the container is still\n // being dragged. This can happen while we're waiting for the drop animation to finish\n // and can cause errors, because some elements might still be moving around.\n if (!container || (!container.isDragging() && !container.isReceiving())) {\n // Prevent the default action as soon as the dragging sequence is considered as\n // \"started\" since waiting for the next event can allow the device to begin scrolling.\n event.preventDefault();\n this._hasStartedDragging = true;\n this._ngZone.run(() => this._startDragSequence(event));\n }\n }\n return;\n }\n // We only need the preview dimensions if we have a boundary element.\n if (this._boundaryElement) {\n // Cache the preview element rect if we haven't cached it already or if\n // we cached it too early before the element dimensions were computed.\n if (!this._previewRect || (!this._previewRect.width && !this._previewRect.height)) {\n this._previewRect = (this._preview || this._rootElement).getBoundingClientRect();\n }\n }\n // We prevent the default action down here so that we know that dragging has started. This is\n // important for touch devices where doing this too early can unnecessarily block scrolling,\n // if there's a dragging delay.\n event.preventDefault();\n const constrainedPointerPosition = this._getConstrainedPointerPosition(pointerPosition);\n this._hasMoved = true;\n this._lastKnownPointerPosition = pointerPosition;\n this._updatePointerDirectionDelta(constrainedPointerPosition);\n if (this._dropContainer) {\n this._updateActiveDropContainer(constrainedPointerPosition, pointerPosition);\n }\n else {\n const activeTransform = this._activeTransform;\n activeTransform.x =\n constrainedPointerPosition.x - this._pickupPositionOnPage.x + this._passiveTransform.x;\n activeTransform.y =\n constrainedPointerPosition.y - this._pickupPositionOnPage.y + this._passiveTransform.y;\n this._applyRootElementTransform(activeTransform.x, activeTransform.y);\n // Apply transform as attribute if dragging and svg element to work for IE\n if (typeof SVGElement !== 'undefined' && this._rootElement instanceof SVGElement) {\n const appliedTransform = `translate(${activeTransform.x} ${activeTransform.y})`;\n this._rootElement.setAttribute('transform', appliedTransform);\n }\n }\n // Since this event gets fired for every pixel while dragging, we only\n // want to fire it if the consumer opted into it. Also we have to\n // re-enter the zone because we run all of the events on the outside.\n if (this._moveEvents.observers.length) {\n this._ngZone.run(() => {\n this._moveEvents.next({\n source: this,\n pointerPosition: constrainedPointerPosition,\n event,\n distance: this._getDragDistance(constrainedPointerPosition),\n delta: this._pointerDirectionDelta\n });\n });\n }\n };\n /** Handler that is invoked when the user lifts their pointer up, after initiating a drag. */\n this._pointerUp = (event) => {\n this._endDragSequence(event);\n };\n this.withRootElement(element).withParent(_config.parentDragRef || null);\n this._parentPositions = new ParentPositionTracker(_document, _viewportRuler);\n _dragDropRegistry.registerDragItem(this);\n }\n /** Whether starting to drag this element is disabled. */\n get disabled() {\n return this._disabled || !!(this._dropContainer && this._dropContainer.disabled);\n }\n set disabled(value) {\n const newValue = coerceBooleanProperty(value);\n if (newValue !== this._disabled) {\n this._disabled = newValue;\n this._toggleNativeDragInteractions();\n this._handles.forEach(handle => toggleNativeDragInteractions(handle, newValue));\n }\n }\n /**\n * Returns the element that is being used as a placeholder\n * while the current element is being dragged.\n */\n getPlaceholderElement() {\n return this._placeholder;\n }\n /** Returns the root draggable element. */\n getRootElement() {\n return this._rootElement;\n }\n /**\n * Gets the currently-visible element that represents the drag item.\n * While dragging this is the placeholder, otherwise it's the root element.\n */\n getVisibleElement() {\n return this.isDragging() ? this.getPlaceholderElement() : this.getRootElement();\n }\n /** Registers the handles that can be used to drag the element. */\n withHandles(handles) {\n this._handles = handles.map(handle => coerceElement(handle));\n this._handles.forEach(handle => toggleNativeDragInteractions(handle, this.disabled));\n this._toggleNativeDragInteractions();\n // Delete any lingering disabled handles that may have been destroyed. Note that we re-create\n // the set, rather than iterate over it and filter out the destroyed handles, because while\n // the ES spec allows for sets to be modified while they're being iterated over, some polyfills\n // use an array internally which may throw an error.\n const disabledHandles = new Set();\n this._disabledHandles.forEach(handle => {\n if (this._handles.indexOf(handle) > -1) {\n disabledHandles.add(handle);\n }\n });\n this._disabledHandles = disabledHandles;\n return this;\n }\n /**\n * Registers the template that should be used for the drag preview.\n * @param template Template that from which to stamp out the preview.\n */\n withPreviewTemplate(template) {\n this._previewTemplate = template;\n return this;\n }\n /**\n * Registers the template that should be used for the drag placeholder.\n * @param template Template that from which to stamp out the placeholder.\n */\n withPlaceholderTemplate(template) {\n this._placeholderTemplate = template;\n return this;\n }\n /**\n * Sets an alternate drag root element. The root element is the element that will be moved as\n * the user is dragging. Passing an alternate root element is useful when trying to enable\n * dragging on an element that you might not have access to.\n */\n withRootElement(rootElement) {\n const element = coerceElement(rootElement);\n if (element !== this._rootElement) {\n if (this._rootElement) {\n this._removeRootElementListeners(this._rootElement);\n }\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener('mousedown', this._pointerDown, activeEventListenerOptions);\n element.addEventListener('touchstart', this._pointerDown, passiveEventListenerOptions);\n });\n this._initialTransform = undefined;\n this._rootElement = element;\n }\n if (typeof SVGElement !== 'undefined' && this._rootElement instanceof SVGElement) {\n this._ownerSVGElement = this._rootElement.ownerSVGElement;\n }\n return this;\n }\n /**\n * Element to which the draggable's position will be constrained.\n */\n withBoundaryElement(boundaryElement) {\n this._boundaryElement = boundaryElement ? coerceElement(boundaryElement) : null;\n this._resizeSubscription.unsubscribe();\n if (boundaryElement) {\n this._resizeSubscription = this._viewportRuler\n .change(10)\n .subscribe(() => this._containInsideBoundaryOnResize());\n }\n return this;\n }\n /** Sets the parent ref that the ref is nested in. */\n withParent(parent) {\n this._parentDragRef = parent;\n return this;\n }\n /** Removes the dragging functionality from the DOM element. */\n dispose() {\n this._removeRootElementListeners(this._rootElement);\n // Do this check before removing from the registry since it'll\n // stop being considered as dragged once it is removed.\n if (this.isDragging()) {\n // Since we move out the element to the end of the body while it's being\n // dragged, we have to make sure that it's removed if it gets destroyed.\n removeNode(this._rootElement);\n }\n removeNode(this._anchor);\n this._destroyPreview();\n this._destroyPlaceholder();\n this._dragDropRegistry.removeDragItem(this);\n this._removeSubscriptions();\n this.beforeStarted.complete();\n this.started.complete();\n this.released.complete();\n this.ended.complete();\n this.entered.complete();\n this.exited.complete();\n this.dropped.complete();\n this._moveEvents.complete();\n this._handles = [];\n this._disabledHandles.clear();\n this._dropContainer = undefined;\n this._resizeSubscription.unsubscribe();\n this._parentPositions.clear();\n this._boundaryElement = this._rootElement = this._ownerSVGElement = this._placeholderTemplate =\n this._previewTemplate = this._anchor = this._parentDragRef = null;\n }\n /** Checks whether the element is currently being dragged. */\n isDragging() {\n return this._hasStartedDragging && this._dragDropRegistry.isDragging(this);\n }\n /** Resets a standalone drag item to its initial position. */\n reset() {\n this._rootElement.style.transform = this._initialTransform || '';\n this._activeTransform = { x: 0, y: 0 };\n this._passiveTransform = { x: 0, y: 0 };\n }\n /**\n * Sets a handle as disabled. While a handle is disabled, it'll capture and interrupt dragging.\n * @param handle Handle element that should be disabled.\n */\n disableHandle(handle) {\n if (!this._disabledHandles.has(handle) && this._handles.indexOf(handle) > -1) {\n this._disabledHandles.add(handle);\n toggleNativeDragInteractions(handle, true);\n }\n }\n /**\n * Enables a handle, if it has been disabled.\n * @param handle Handle element to be enabled.\n */\n enableHandle(handle) {\n if (this._disabledHandles.has(handle)) {\n this._disabledHandles.delete(handle);\n toggleNativeDragInteractions(handle, this.disabled);\n }\n }\n /** Sets the layout direction of the draggable item. */\n withDirection(direction) {\n this._direction = direction;\n return this;\n }\n /** Sets the container that the item is part of. */\n _withDropContainer(container) {\n this._dropContainer = container;\n }\n /**\n * Gets the current position in pixels the draggable outside of a drop container.\n */\n getFreeDragPosition() {\n const position = this.isDragging() ? this._activeTransform : this._passiveTransform;\n return { x: position.x, y: position.y };\n }\n /**\n * Sets the current position in pixels the draggable outside of a drop container.\n * @param value New position to be set.\n */\n setFreeDragPosition(value) {\n this._activeTransform = { x: 0, y: 0 };\n this._passiveTransform.x = value.x;\n this._passiveTransform.y = value.y;\n if (!this._dropContainer) {\n this._applyRootElementTransform(value.x, value.y);\n }\n return this;\n }\n /**\n * Sets the container into which to insert the preview element.\n * @param value Container into which to insert the preview.\n */\n withPreviewContainer(value) {\n this._previewContainer = value;\n return this;\n }\n /** Updates the item's sort order based on the last-known pointer position. */\n _sortFromLastPointerPosition() {\n const position = this._lastKnownPointerPosition;\n if (position && this._dropContainer) {\n this._updateActiveDropContainer(this._getConstrainedPointerPosition(position), position);\n }\n }\n /** Unsubscribes from the global subscriptions. */\n _removeSubscriptions() {\n this._pointerMoveSubscription.unsubscribe();\n this._pointerUpSubscription.unsubscribe();\n this._scrollSubscription.unsubscribe();\n }\n /** Destroys the preview element and its ViewRef. */\n _destroyPreview() {\n if (this._preview) {\n removeNode(this._preview);\n }\n if (this._previewRef) {\n this._previewRef.destroy();\n }\n this._preview = this._previewRef = null;\n }\n /** Destroys the placeholder element and its ViewRef. */\n _destroyPlaceholder() {\n if (this._placeholder) {\n removeNode(this._placeholder);\n }\n if (this._placeholderRef) {\n this._placeholderRef.destroy();\n }\n this._placeholder = this._placeholderRef = null;\n }\n /**\n * Clears subscriptions and stops the dragging sequence.\n * @param event Browser event object that ended the sequence.\n */\n _endDragSequence(event) {\n // Note that here we use `isDragging` from the service, rather than from `this`.\n // The difference is that the one from the service reflects whether a dragging sequence\n // has been initiated, whereas the one on `this` includes whether the user has passed\n // the minimum dragging threshold.\n if (!this._dragDropRegistry.isDragging(this)) {\n return;\n }\n this._removeSubscriptions();\n this._dragDropRegistry.stopDragging(this);\n this._toggleNativeDragInteractions();\n if (this._handles) {\n this._rootElement.style.webkitTapHighlightColor = this._rootElementTapHighlight;\n }\n if (!this._hasStartedDragging) {\n return;\n }\n this.released.next({ source: this });\n if (this._dropContainer) {\n // Stop scrolling immediately, instead of waiting for the animation to finish.\n this._dropContainer._stopScrolling();\n this._animatePreviewToPlaceholder().then(() => {\n this._cleanupDragArtifacts(event);\n this._cleanupCachedDimensions();\n this._dragDropRegistry.stopDragging(this);\n });\n }\n else {\n // Convert the active transform into a passive one. This means that next time\n // the user starts dragging the item, its position will be calculated relatively\n // to the new passive transform.\n this._passiveTransform.x = this._activeTransform.x;\n const pointerPosition = this._getPointerPositionOnPage(event);\n this._passiveTransform.y = this._activeTransform.y;\n this._ngZone.run(() => {\n this.ended.next({\n source: this,\n distance: this._getDragDistance(pointerPosition),\n dropPoint: pointerPosition\n });\n });\n this._cleanupCachedDimensions();\n this._dragDropRegistry.stopDragging(this);\n }\n }\n /** Starts the dragging sequence. */\n _startDragSequence(event) {\n if (isTouchEvent(event)) {\n this._lastTouchEventTime = Date.now();\n }\n this._toggleNativeDragInteractions();\n const dropContainer = this._dropContainer;\n if (dropContainer) {\n const element = this._rootElement;\n const parent = element.parentNode;\n const placeholder = this._placeholder = this._createPlaceholderElement();\n const anchor = this._anchor = this._anchor || this._document.createComment('');\n // Needs to happen before the root element is moved.\n const shadowRoot = this._getShadowRoot();\n // Insert an anchor node so that we can restore the element's position in the DOM.\n parent.insertBefore(anchor, element);\n // There's no risk of transforms stacking when inside a drop container so\n // we can keep the initial transform up to date any time dragging starts.\n this._initialTransform = element.style.transform || '';\n // Create the preview after the initial transform has\n // been cached, because it can be affected by the transform.\n this._preview = this._createPreviewElement();\n // We move the element out at the end of the body and we make it hidden, because keeping it in\n // place will throw off the consumer's `:last-child` selectors. We can't remove the element\n // from the DOM completely, because iOS will stop firing all subsequent events in the chain.\n toggleVisibility(element, false, dragImportantProperties);\n this._document.body.appendChild(parent.replaceChild(placeholder, element));\n this._getPreviewInsertionPoint(parent, shadowRoot).appendChild(this._preview);\n this.started.next({ source: this }); // Emit before notifying the container.\n dropContainer.start();\n this._initialContainer = dropContainer;\n this._initialIndex = dropContainer.getItemIndex(this);\n }\n else {\n this.started.next({ source: this });\n this._initialContainer = this._initialIndex = undefined;\n }\n // Important to run after we've called `start` on the parent container\n // so that it has had time to resolve its scrollable parents.\n this._parentPositions.cache(dropContainer ? dropContainer.getScrollableParents() : []);\n }\n /**\n * Sets up the different variables and subscriptions\n * that will be necessary for the dragging sequence.\n * @param referenceElement Element that started the drag sequence.\n * @param event Browser event object that started the sequence.\n */\n _initializeDragSequence(referenceElement, event) {\n // Stop propagation if the item is inside another\n // draggable so we don't start multiple drag sequences.\n if (this._parentDragRef) {\n event.stopPropagation();\n }\n const isDragging = this.isDragging();\n const isTouchSequence = isTouchEvent(event);\n const isAuxiliaryMouseButton = !isTouchSequence && event.button !== 0;\n const rootElement = this._rootElement;\n const target = _getEventTarget(event);\n const isSyntheticEvent = !isTouchSequence && this._lastTouchEventTime &&\n this._lastTouchEventTime + MOUSE_EVENT_IGNORE_TIME > Date.now();\n const isFakeEvent = isTouchSequence ? isFakeTouchstartFromScreenReader(event) :\n isFakeMousedownFromScreenReader(event);\n // If the event started from an element with the native HTML drag&drop, it'll interfere\n // with our own dragging (e.g. `img` tags do it by default). Prevent the default action\n // to stop it from happening. Note that preventing on `dragstart` also seems to work, but\n // it's flaky and it fails if the user drags it away quickly. Also note that we only want\n // to do this for `mousedown` since doing the same for `touchstart` will stop any `click`\n // events from firing on touch devices.\n if (target && target.draggable && event.type === 'mousedown') {\n event.preventDefault();\n }\n // Abort if the user is already dragging or is using a mouse button other than the primary one.\n if (isDragging || isAuxiliaryMouseButton || isSyntheticEvent || isFakeEvent) {\n return;\n }\n // If we've got handles, we need to disable the tap highlight on the entire root element,\n // otherwise iOS will still add it, even though all the drag interactions on the handle\n // are disabled.\n if (this._handles.length) {\n this._rootElementTapHighlight = rootElement.style.webkitTapHighlightColor || '';\n rootElement.style.webkitTapHighlightColor = 'transparent';\n }\n this._hasStartedDragging = this._hasMoved = false;\n // Avoid multiple subscriptions and memory leaks when multi touch\n // (isDragging check above isn't enough because of possible temporal and/or dimensional delays)\n this._removeSubscriptions();\n this._pointerMoveSubscription = this._dragDropRegistry.pointerMove.subscribe(this._pointerMove);\n this._pointerUpSubscription = this._dragDropRegistry.pointerUp.subscribe(this._pointerUp);\n this._scrollSubscription = this._dragDropRegistry\n .scrolled(this._getShadowRoot())\n .subscribe(scrollEvent => this._updateOnScroll(scrollEvent));\n if (this._boundaryElement) {\n this._boundaryRect = getMutableClientRect(this._boundaryElement);\n }\n // If we have a custom preview we can't know ahead of time how large it'll be so we position\n // it next to the cursor. The exception is when the consumer has opted into making the preview\n // the same size as the root element, in which case we do know the size.\n const previewTemplate = this._previewTemplate;\n this._pickupPositionInElement = previewTemplate && previewTemplate.template &&\n !previewTemplate.matchSize ? { x: 0, y: 0 } :\n this._getPointerPositionInElement(referenceElement, event);\n const pointerPosition = this._pickupPositionOnPage = this._lastKnownPointerPosition =\n this._getPointerPositionOnPage(event);\n this._pointerDirectionDelta = { x: 0, y: 0 };\n this._pointerPositionAtLastDirectionChange = { x: pointerPosition.x, y: pointerPosition.y };\n this._dragStartTime = Date.now();\n this._dragDropRegistry.startDragging(this, event);\n }\n /** Cleans up the DOM artifacts that were added to facilitate the element being dragged. */\n _cleanupDragArtifacts(event) {\n // Restore the element's visibility and insert it at its old position in the DOM.\n // It's important that we maintain the position, because moving the element around in the DOM\n // can throw off `NgFor` which does smart diffing and re-creates elements only when necessary,\n // while moving the existing elements in all other cases.\n toggleVisibility(this._rootElement, true, dragImportantProperties);\n this._anchor.parentNode.replaceChild(this._rootElement, this._anchor);\n this._destroyPreview();\n this._destroyPlaceholder();\n this._boundaryRect = this._previewRect = this._initialTransform = undefined;\n // Re-enter the NgZone since we bound `document` events on the outside.\n this._ngZone.run(() => {\n const container = this._dropContainer;\n const currentIndex = container.getItemIndex(this);\n const pointerPosition = this._getPointerPositionOnPage(event);\n const distance = this._getDragDistance(pointerPosition);\n const isPointerOverContainer = container._isOverContainer(pointerPosition.x, pointerPosition.y);\n this.ended.next({ source: this, distance, dropPoint: pointerPosition });\n this.dropped.next({\n item: this,\n currentIndex,\n previousIndex: this._initialIndex,\n container: container,\n previousContainer: this._initialContainer,\n isPointerOverContainer,\n distance,\n dropPoint: pointerPosition\n });\n container.drop(this, currentIndex, this._initialIndex, this._initialContainer, isPointerOverContainer, distance, pointerPosition);\n this._dropContainer = this._initialContainer;\n });\n }\n /**\n * Updates the item's position in its drop container, or moves it\n * into a new one, depending on its current drag position.\n */\n _updateActiveDropContainer({ x, y }, { x: rawX, y: rawY }) {\n // Drop container that draggable has been moved into.\n let newContainer = this._initialContainer._getSiblingContainerFromPosition(this, x, y);\n // If we couldn't find a new container to move the item into, and the item has left its\n // initial container, check whether the it's over the initial container. This handles the\n // case where two containers are connected one way and the user tries to undo dragging an\n // item into a new container.\n if (!newContainer && this._dropContainer !== this._initialContainer &&\n this._initialContainer._isOverContainer(x, y)) {\n newContainer = this._initialContainer;\n }\n if (newContainer && newContainer !== this._dropContainer) {\n this._ngZone.run(() => {\n // Notify the old container that the item has left.\n this.exited.next({ item: this, container: this._dropContainer });\n this._dropContainer.exit(this);\n // Notify the new container that the item has entered.\n this._dropContainer = newContainer;\n this._dropContainer.enter(this, x, y, newContainer === this._initialContainer &&\n // If we're re-entering the initial container and sorting is disabled,\n // put item the into its starting index to begin with.\n newContainer.sortingDisabled ? this._initialIndex : undefined);\n this.entered.next({\n item: this,\n container: newContainer,\n currentIndex: newContainer.getItemIndex(this)\n });\n });\n }\n // Dragging may have been interrupted as a result of the events above.\n if (this.isDragging()) {\n this._dropContainer._startScrollingIfNecessary(rawX, rawY);\n this._dropContainer._sortItem(this, x, y, this._pointerDirectionDelta);\n this._applyPreviewTransform(x - this._pickupPositionInElement.x, y - this._pickupPositionInElement.y);\n }\n }\n /**\n * Creates the element that will be rendered next to the user's pointer\n * and will be used as a preview of the element that is being dragged.\n */\n _createPreviewElement() {\n const previewConfig = this._previewTemplate;\n const previewClass = this.previewClass;\n const previewTemplate = previewConfig ? previewConfig.template : null;\n let preview;\n if (previewTemplate && previewConfig) {\n // Measure the element before we've inserted the preview\n // since the insertion could throw off the measurement.\n const rootRect = previewConfig.matchSize ? this._rootElement.getBoundingClientRect() : null;\n const viewRef = previewConfig.viewContainer.createEmbeddedView(previewTemplate, previewConfig.context);\n viewRef.detectChanges();\n preview = getRootNode(viewRef, this._document);\n this._previewRef = viewRef;\n if (previewConfig.matchSize) {\n matchElementSize(preview, rootRect);\n }\n else {\n preview.style.transform =\n getTransform(this._pickupPositionOnPage.x, this._pickupPositionOnPage.y);\n }\n }\n else {\n const element = this._rootElement;\n preview = deepCloneNode(element);\n matchElementSize(preview, element.getBoundingClientRect());\n if (this._initialTransform) {\n preview.style.transform = this._initialTransform;\n }\n }\n extendStyles(preview.style, {\n // It's important that we disable the pointer events on the preview, because\n // it can throw off the `document.elementFromPoint` calls in the `CdkDropList`.\n 'pointer-events': 'none',\n // We have to reset the margin, because it can throw off positioning relative to the viewport.\n 'margin': '0',\n 'position': 'fixed',\n 'top': '0',\n 'left': '0',\n 'z-index': `${this._config.zIndex || 1000}`\n }, dragImportantProperties);\n toggleNativeDragInteractions(preview, false);\n preview.classList.add('cdk-drag-preview');\n preview.setAttribute('dir', this._direction);\n if (previewClass) {\n if (Array.isArray(previewClass)) {\n previewClass.forEach(className => preview.classList.add(className));\n }\n else {\n preview.classList.add(previewClass);\n }\n }\n return preview;\n }\n /**\n * Animates the preview element from its current position to the location of the drop placeholder.\n * @returns Promise that resolves when the animation completes.\n */\n _animatePreviewToPlaceholder() {\n // If the user hasn't moved yet, the transitionend event won't fire.\n if (!this._hasMoved) {\n return Promise.resolve();\n }\n const placeholderRect = this._placeholder.getBoundingClientRect();\n // Apply the class that adds a transition to the preview.\n this._preview.classList.add('cdk-drag-animating');\n // Move the preview to the placeholder position.\n this._applyPreviewTransform(placeholderRect.left, placeholderRect.top);\n // If the element doesn't have a `transition`, the `transitionend` event won't fire. Since\n // we need to trigger a style recalculation in order for the `cdk-drag-animating` class to\n // apply its style, we take advantage of the available info to figure out whether we need to\n // bind the event in the first place.\n const duration = getTransformTransitionDurationInMs(this._preview);\n if (duration === 0) {\n return Promise.resolve();\n }\n return this._ngZone.runOutsideAngular(() => {\n return new Promise(resolve => {\n const handler = ((event) => {\n var _a;\n if (!event || (_getEventTarget(event) === this._preview &&\n event.propertyName === 'transform')) {\n (_a = this._preview) === null || _a === void 0 ? void 0 : _a.removeEventListener('transitionend', handler);\n resolve();\n clearTimeout(timeout);\n }\n });\n // If a transition is short enough, the browser might not fire the `transitionend` event.\n // Since we know how long it's supposed to take, add a timeout with a 50% buffer that'll\n // fire if the transition hasn't completed when it was supposed to.\n const timeout = setTimeout(handler, duration * 1.5);\n this._preview.addEventListener('transitionend', handler);\n });\n });\n }\n /** Creates an element that will be shown instead of the current element while dragging. */\n _createPlaceholderElement() {\n const placeholderConfig = this._placeholderTemplate;\n const placeholderTemplate = placeholderConfig ? placeholderConfig.template : null;\n let placeholder;\n if (placeholderTemplate) {\n this._placeholderRef = placeholderConfig.viewContainer.createEmbeddedView(placeholderTemplate, placeholderConfig.context);\n this._placeholderRef.detectChanges();\n placeholder = getRootNode(this._placeholderRef, this._document);\n }\n else {\n placeholder = deepCloneNode(this._rootElement);\n }\n placeholder.classList.add('cdk-drag-placeholder');\n return placeholder;\n }\n /**\n * Figures out the coordinates at which an element was picked up.\n * @param referenceElement Element that initiated the dragging.\n * @param event Event that initiated the dragging.\n */\n _getPointerPositionInElement(referenceElement, event) {\n const elementRect = this._rootElement.getBoundingClientRect();\n const handleElement = referenceElement === this._rootElement ? null : referenceElement;\n const referenceRect = handleElement ? handleElement.getBoundingClientRect() : elementRect;\n const point = isTouchEvent(event) ? event.targetTouches[0] : event;\n const scrollPosition = this._getViewportScrollPosition();\n const x = point.pageX - referenceRect.left - scrollPosition.left;\n const y = point.pageY - referenceRect.top - scrollPosition.top;\n return {\n x: referenceRect.left - elementRect.left + x,\n y: referenceRect.top - elementRect.top + y\n };\n }\n /** Determines the point of the page that was touched by the user. */\n _getPointerPositionOnPage(event) {\n const scrollPosition = this._getViewportScrollPosition();\n const point = isTouchEvent(event) ?\n // `touches` will be empty for start/end events so we have to fall back to `changedTouches`.\n // Also note that on real devices we're guaranteed for either `touches` or `changedTouches`\n // to have a value, but Firefox in device emulation mode has a bug where both can be empty\n // for `touchstart` and `touchend` so we fall back to a dummy object in order to avoid\n // throwing an error. The value returned here will be incorrect, but since this only\n // breaks inside a developer tool and the value is only used for secondary information,\n // we can get away with it. See https://bugzilla.mozilla.org/show_bug.cgi?id=1615824.\n (event.touches[0] || event.changedTouches[0] || { pageX: 0, pageY: 0 }) : event;\n const x = point.pageX - scrollPosition.left;\n const y = point.pageY - scrollPosition.top;\n // if dragging SVG element, try to convert from the screen coordinate system to the SVG\n // coordinate system\n if (this._ownerSVGElement) {\n const svgMatrix = this._ownerSVGElement.getScreenCTM();\n if (svgMatrix) {\n const svgPoint = this._ownerSVGElement.createSVGPoint();\n svgPoint.x = x;\n svgPoint.y = y;\n return svgPoint.matrixTransform(svgMatrix.inverse());\n }\n }\n return { x, y };\n }\n /** Gets the pointer position on the page, accounting for any position constraints. */\n _getConstrainedPointerPosition(point) {\n const dropContainerLock = this._dropContainer ? this._dropContainer.lockAxis : null;\n let { x, y } = this.constrainPosition ? this.constrainPosition(point, this) : point;\n if (this.lockAxis === 'x' || dropContainerLock === 'x') {\n y = this._pickupPositionOnPage.y;\n }\n else if (this.lockAxis === 'y' || dropContainerLock === 'y') {\n x = this._pickupPositionOnPage.x;\n }\n if (this._boundaryRect) {\n const { x: pickupX, y: pickupY } = this._pickupPositionInElement;\n const boundaryRect = this._boundaryRect;\n const previewRect = this._previewRect;\n const minY = boundaryRect.top + pickupY;\n const maxY = boundaryRect.bottom - (previewRect.height - pickupY);\n const minX = boundaryRect.left + pickupX;\n const maxX = boundaryRect.right - (previewRect.width - pickupX);\n x = clamp$1(x, minX, maxX);\n y = clamp$1(y, minY, maxY);\n }\n return { x, y };\n }\n /** Updates the current drag delta, based on the user's current pointer position on the page. */\n _updatePointerDirectionDelta(pointerPositionOnPage) {\n const { x, y } = pointerPositionOnPage;\n const delta = this._pointerDirectionDelta;\n const positionSinceLastChange = this._pointerPositionAtLastDirectionChange;\n // Amount of pixels the user has dragged since the last time the direction changed.\n const changeX = Math.abs(x - positionSinceLastChange.x);\n const changeY = Math.abs(y - positionSinceLastChange.y);\n // Because we handle pointer events on a per-pixel basis, we don't want the delta\n // to change for every pixel, otherwise anything that depends on it can look erratic.\n // To make the delta more consistent, we track how much the user has moved since the last\n // delta change and we only update it after it has reached a certain threshold.\n if (changeX > this._config.pointerDirectionChangeThreshold) {\n delta.x = x > positionSinceLastChange.x ? 1 : -1;\n positionSinceLastChange.x = x;\n }\n if (changeY > this._config.pointerDirectionChangeThreshold) {\n delta.y = y > positionSinceLastChange.y ? 1 : -1;\n positionSinceLastChange.y = y;\n }\n return delta;\n }\n /** Toggles the native drag interactions, based on how many handles are registered. */\n _toggleNativeDragInteractions() {\n if (!this._rootElement || !this._handles) {\n return;\n }\n const shouldEnable = this._handles.length > 0 || !this.isDragging();\n if (shouldEnable !== this._nativeInteractionsEnabled) {\n this._nativeInteractionsEnabled = shouldEnable;\n toggleNativeDragInteractions(this._rootElement, shouldEnable);\n }\n }\n /** Removes the manually-added event listeners from the root element. */\n _removeRootElementListeners(element) {\n element.removeEventListener('mousedown', this._pointerDown, activeEventListenerOptions);\n element.removeEventListener('touchstart', this._pointerDown, passiveEventListenerOptions);\n }\n /**\n * Applies a `transform` to the root element, taking into account any existing transforms on it.\n * @param x New transform value along the X axis.\n * @param y New transform value along the Y axis.\n */\n _applyRootElementTransform(x, y) {\n const transform = getTransform(x, y);\n // Cache the previous transform amount only after the first drag sequence, because\n // we don't want our own transforms to stack on top of each other.\n // Should be excluded none because none + translate3d(x, y, x) is invalid css\n if (this._initialTransform == null) {\n this._initialTransform = this._rootElement.style.transform\n && this._rootElement.style.transform != 'none'\n ? this._rootElement.style.transform\n : '';\n }\n // Preserve the previous `transform` value, if there was one. Note that we apply our own\n // transform before the user's, because things like rotation can affect which direction\n // the element will be translated towards.\n this._rootElement.style.transform = combineTransforms(transform, this._initialTransform);\n }\n /**\n * Applies a `transform` to the preview, taking into account any existing transforms on it.\n * @param x New transform value along the X axis.\n * @param y New transform value along the Y axis.\n */\n _applyPreviewTransform(x, y) {\n var _a;\n // Only apply the initial transform if the preview is a clone of the original element, otherwise\n // it could be completely different and the transform might not make sense anymore.\n const initialTransform = ((_a = this._previewTemplate) === null || _a === void 0 ? void 0 : _a.template) ? undefined : this._initialTransform;\n const transform = getTransform(x, y);\n this._preview.style.transform = combineTransforms(transform, initialTransform);\n }\n /**\n * Gets the distance that the user has dragged during the current drag sequence.\n * @param currentPosition Current position of the user's pointer.\n */\n _getDragDistance(currentPosition) {\n const pickupPosition = this._pickupPositionOnPage;\n if (pickupPosition) {\n return { x: currentPosition.x - pickupPosition.x, y: currentPosition.y - pickupPosition.y };\n }\n return { x: 0, y: 0 };\n }\n /** Cleans up any cached element dimensions that we don't need after dragging has stopped. */\n _cleanupCachedDimensions() {\n this._boundaryRect = this._previewRect = undefined;\n this._parentPositions.clear();\n }\n /**\n * Checks whether the element is still inside its boundary after the viewport has been resized.\n * If not, the position is adjusted so that the element fits again.\n */\n _containInsideBoundaryOnResize() {\n let { x, y } = this._passiveTransform;\n if ((x === 0 && y === 0) || this.isDragging() || !this._boundaryElement) {\n return;\n }\n const boundaryRect = this._boundaryElement.getBoundingClientRect();\n const elementRect = this._rootElement.getBoundingClientRect();\n // It's possible that the element got hidden away after dragging (e.g. by switching to a\n // different tab). Don't do anything in this case so we don't clear the user's position.\n if ((boundaryRect.width === 0 && boundaryRect.height === 0) ||\n (elementRect.width === 0 && elementRect.height === 0)) {\n return;\n }\n const leftOverflow = boundaryRect.left - elementRect.left;\n const rightOverflow = elementRect.right - boundaryRect.right;\n const topOverflow = boundaryRect.top - elementRect.top;\n const bottomOverflow = elementRect.bottom - boundaryRect.bottom;\n // If the element has become wider than the boundary, we can't\n // do much to make it fit so we just anchor it to the left.\n if (boundaryRect.width > elementRect.width) {\n if (leftOverflow > 0) {\n x += leftOverflow;\n }\n if (rightOverflow > 0) {\n x -= rightOverflow;\n }\n }\n else {\n x = 0;\n }\n // If the element has become taller than the boundary, we can't\n // do much to make it fit so we just anchor it to the top.\n if (boundaryRect.height > elementRect.height) {\n if (topOverflow > 0) {\n y += topOverflow;\n }\n if (bottomOverflow > 0) {\n y -= bottomOverflow;\n }\n }\n else {\n y = 0;\n }\n if (x !== this._passiveTransform.x || y !== this._passiveTransform.y) {\n this.setFreeDragPosition({ y, x });\n }\n }\n /** Gets the drag start delay, based on the event type. */\n _getDragStartDelay(event) {\n const value = this.dragStartDelay;\n if (typeof value === 'number') {\n return value;\n }\n else if (isTouchEvent(event)) {\n return value.touch;\n }\n return value ? value.mouse : 0;\n }\n /** Updates the internal state of the draggable element when scrolling has occurred. */\n _updateOnScroll(event) {\n const scrollDifference = this._parentPositions.handleScroll(event);\n if (scrollDifference) {\n const target = _getEventTarget(event);\n // ClientRect dimensions are based on the scroll position of the page and its parent node so\n // we have to update the cached boundary ClientRect if the user has scrolled. Check for\n // the `document` specifically since IE doesn't support `contains` on it.\n if (this._boundaryRect && (target === this._document ||\n (target !== this._boundaryElement && target.contains(this._boundaryElement)))) {\n adjustClientRect(this._boundaryRect, scrollDifference.top, scrollDifference.left);\n }\n this._pickupPositionOnPage.x += scrollDifference.left;\n this._pickupPositionOnPage.y += scrollDifference.top;\n // If we're in free drag mode, we have to update the active transform, because\n // it isn't relative to the viewport like the preview inside a drop list.\n if (!this._dropContainer) {\n this._activeTransform.x -= scrollDifference.left;\n this._activeTransform.y -= scrollDifference.top;\n this._applyRootElementTransform(this._activeTransform.x, this._activeTransform.y);\n }\n }\n }\n /** Gets the scroll position of the viewport. */\n _getViewportScrollPosition() {\n const cachedPosition = this._parentPositions.positions.get(this._document);\n return cachedPosition ? cachedPosition.scrollPosition :\n this._viewportRuler.getViewportScrollPosition();\n }\n /**\n * Lazily resolves and returns the shadow root of the element. We do this in a function, rather\n * than saving it in property directly on init, because we want to resolve it as late as possible\n * in order to ensure that the element has been moved into the shadow DOM. Doing it inside the\n * constructor might be too early if the element is inside of something like `ngFor` or `ngIf`.\n */\n _getShadowRoot() {\n if (this._cachedShadowRoot === undefined) {\n this._cachedShadowRoot = _getShadowRoot(this._rootElement);\n }\n return this._cachedShadowRoot;\n }\n /** Gets the element into which the drag preview should be inserted. */\n _getPreviewInsertionPoint(initialParent, shadowRoot) {\n const previewContainer = this._previewContainer || 'global';\n if (previewContainer === 'parent') {\n return initialParent;\n }\n if (previewContainer === 'global') {\n const documentRef = this._document;\n // We can't use the body if the user is in fullscreen mode,\n // because the preview will render under the fullscreen element.\n // TODO(crisbeto): dedupe this with the `FullscreenOverlayContainer` eventually.\n return shadowRoot ||\n documentRef.fullscreenElement ||\n documentRef.webkitFullscreenElement ||\n documentRef.mozFullScreenElement ||\n documentRef.msFullscreenElement ||\n documentRef.body;\n }\n return coerceElement(previewContainer);\n }\n}\n/**\n * Gets a 3d `transform` that can be applied to an element.\n * @param x Desired position of the element along the X axis.\n * @param y Desired position of the element along the Y axis.\n */\nfunction getTransform(x, y) {\n // Round the transforms since some browsers will\n // blur the elements for sub-pixel transforms.\n return `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`;\n}\n/** Clamps a value between a minimum and a maximum. */\nfunction clamp$1(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\n/**\n * Helper to remove a node from the DOM and to do all the necessary null checks.\n * @param node Node to be removed.\n */\nfunction removeNode(node) {\n if (node && node.parentNode) {\n node.parentNode.removeChild(node);\n }\n}\n/** Determines whether an event is a touch event. */\nfunction isTouchEvent(event) {\n // This function is called for every pixel that the user has dragged so we need it to be\n // as fast as possible. Since we only bind mouse events and touch events, we can assume\n // that if the event's name starts with `t`, it's a touch event.\n return event.type[0] === 't';\n}\n/**\n * Gets the root HTML element of an embedded view.\n * If the root is not an HTML element it gets wrapped in one.\n */\nfunction getRootNode(viewRef, _document) {\n const rootNodes = viewRef.rootNodes;\n if (rootNodes.length === 1 && rootNodes[0].nodeType === _document.ELEMENT_NODE) {\n return rootNodes[0];\n }\n const wrapper = _document.createElement('div');\n rootNodes.forEach(node => wrapper.appendChild(node));\n return wrapper;\n}\n/**\n * Matches the target element's size to the source's size.\n * @param target Element that needs to be resized.\n * @param sourceRect Dimensions of the source element.\n */\nfunction matchElementSize(target, sourceRect) {\n target.style.width = `${sourceRect.width}px`;\n target.style.height = `${sourceRect.height}px`;\n target.style.transform = getTransform(sourceRect.left, sourceRect.top);\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 * Moves an item one index in an array to another.\n * @param array Array in which to move the item.\n * @param fromIndex Starting index of the item.\n * @param toIndex Index to which the item should be moved.\n */\nfunction moveItemInArray(array, fromIndex, toIndex) {\n const from = clamp(fromIndex, array.length - 1);\n const to = clamp(toIndex, array.length - 1);\n if (from === to) {\n return;\n }\n const target = array[from];\n const delta = to < from ? -1 : 1;\n for (let i = from; i !== to; i += delta) {\n array[i] = array[i + delta];\n }\n array[to] = target;\n}\n/**\n * Moves an item from one array to another.\n * @param currentArray Array from which to transfer the item.\n * @param targetArray Array into which to put the item.\n * @param currentIndex Index of the item in its current array.\n * @param targetIndex Index at which to insert the item.\n */\nfunction transferArrayItem(currentArray, targetArray, currentIndex, targetIndex) {\n const from = clamp(currentIndex, currentArray.length - 1);\n const to = clamp(targetIndex, targetArray.length);\n if (currentArray.length) {\n targetArray.splice(to, 0, currentArray.splice(from, 1)[0]);\n }\n}\n/**\n * Copies an item from one array to another, leaving it in its\n * original position in current array.\n * @param currentArray Array from which to copy the item.\n * @param targetArray Array into which is copy the item.\n * @param currentIndex Index of the item in its current array.\n * @param targetIndex Index at which to insert the item.\n *\n */\nfunction copyArrayItem(currentArray, targetArray, currentIndex, targetIndex) {\n const to = clamp(targetIndex, targetArray.length);\n if (currentArray.length) {\n targetArray.splice(to, 0, currentArray[currentIndex]);\n }\n}\n/** Clamps a number between zero and a maximum. */\nfunction clamp(value, max) {\n return Math.max(0, Math.min(max, 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 * Proximity, as a ratio to width/height, at which a\n * dragged item will affect the drop container.\n */\nconst DROP_PROXIMITY_THRESHOLD = 0.05;\n/**\n * Proximity, as a ratio to width/height at which to start auto-scrolling the drop list or the\n * viewport. The value comes from trying it out manually until it feels right.\n */\nconst SCROLL_PROXIMITY_THRESHOLD = 0.05;\n/**\n * Reference to a drop list. Used to manipulate or dispose of the container.\n */\nclass DropListRef {\n constructor(element, _dragDropRegistry, _document, _ngZone, _viewportRuler) {\n this._dragDropRegistry = _dragDropRegistry;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n /** Whether starting a dragging sequence from this container is disabled. */\n this.disabled = false;\n /** Whether sorting items within the list is disabled. */\n this.sortingDisabled = false;\n /**\n * Whether auto-scrolling the view when the user\n * moves their pointer close to the edges is disabled.\n */\n this.autoScrollDisabled = false;\n /** Number of pixels to scroll for each frame when auto-scrolling an element. */\n this.autoScrollStep = 2;\n /**\n * Function that is used to determine whether an item\n * is allowed to be moved into a drop container.\n */\n this.enterPredicate = () => true;\n /** Functions that is used to determine whether an item can be sorted into a particular index. */\n this.sortPredicate = () => true;\n /** Emits right before dragging has started. */\n this.beforeStarted = new Subject();\n /**\n * Emits when the user has moved a new drag item into this container.\n */\n this.entered = new Subject();\n /**\n * Emits when the user removes an item from the container\n * by dragging it into another container.\n */\n this.exited = new Subject();\n /** Emits when the user drops an item inside the container. */\n this.dropped = new Subject();\n /** Emits as the user is swapping items while actively dragging. */\n this.sorted = new Subject();\n /** Whether an item in the list is being dragged. */\n this._isDragging = false;\n /** Cache of the dimensions of all the items inside the container. */\n this._itemPositions = [];\n /**\n * Keeps track of the item that was last swapped with the dragged item, as well as what direction\n * the pointer was moving in when the swap occured and whether the user's pointer continued to\n * overlap with the swapped item after the swapping occurred.\n */\n this._previousSwap = { drag: null, delta: 0, overlaps: false };\n /** Draggable items in the container. */\n this._draggables = [];\n /** Drop lists that are connected to the current one. */\n this._siblings = [];\n /** Direction in which the list is oriented. */\n this._orientation = 'vertical';\n /** Connected siblings that currently have a dragged item. */\n this._activeSiblings = new Set();\n /** Layout direction of the drop list. */\n this._direction = 'ltr';\n /** Subscription to the window being scrolled. */\n this._viewportScrollSubscription = Subscription.EMPTY;\n /** Vertical direction in which the list is currently scrolling. */\n this._verticalScrollDirection = 0 /* NONE */;\n /** Horizontal direction in which the list is currently scrolling. */\n this._horizontalScrollDirection = 0 /* NONE */;\n /** Used to signal to the current auto-scroll sequence when to stop. */\n this._stopScrollTimers = new Subject();\n /** Shadow root of the current element. Necessary for `elementFromPoint` to resolve correctly. */\n this._cachedShadowRoot = null;\n /** Starts the interval that'll auto-scroll the element. */\n this._startScrollInterval = () => {\n this._stopScrolling();\n interval(0, animationFrameScheduler)\n .pipe(takeUntil(this._stopScrollTimers))\n .subscribe(() => {\n const node = this._scrollNode;\n const scrollStep = this.autoScrollStep;\n if (this._verticalScrollDirection === 1 /* UP */) {\n incrementVerticalScroll(node, -scrollStep);\n }\n else if (this._verticalScrollDirection === 2 /* DOWN */) {\n incrementVerticalScroll(node, scrollStep);\n }\n if (this._horizontalScrollDirection === 1 /* LEFT */) {\n incrementHorizontalScroll(node, -scrollStep);\n }\n else if (this._horizontalScrollDirection === 2 /* RIGHT */) {\n incrementHorizontalScroll(node, scrollStep);\n }\n });\n };\n this.element = coerceElement(element);\n this._document = _document;\n this.withScrollableParents([this.element]);\n _dragDropRegistry.registerDropContainer(this);\n this._parentPositions = new ParentPositionTracker(_document, _viewportRuler);\n }\n /** Removes the drop list functionality from the DOM element. */\n dispose() {\n this._stopScrolling();\n this._stopScrollTimers.complete();\n this._viewportScrollSubscription.unsubscribe();\n this.beforeStarted.complete();\n this.entered.complete();\n this.exited.complete();\n this.dropped.complete();\n this.sorted.complete();\n this._activeSiblings.clear();\n this._scrollNode = null;\n this._parentPositions.clear();\n this._dragDropRegistry.removeDropContainer(this);\n }\n /** Whether an item from this list is currently being dragged. */\n isDragging() {\n return this._isDragging;\n }\n /** Starts dragging an item. */\n start() {\n this._draggingStarted();\n this._notifyReceivingSiblings();\n }\n /**\n * Emits an event to indicate that the user moved an item into the container.\n * @param item Item that was moved into the container.\n * @param pointerX Position of the item along the X axis.\n * @param pointerY Position of the item along the Y axis.\n * @param index Index at which the item entered. If omitted, the container will try to figure it\n * out automatically.\n */\n enter(item, pointerX, pointerY, index) {\n this._draggingStarted();\n // If sorting is disabled, we want the item to return to its starting\n // position if the user is returning it to its initial container.\n let newIndex;\n if (index == null) {\n newIndex = this.sortingDisabled ? this._draggables.indexOf(item) : -1;\n if (newIndex === -1) {\n // We use the coordinates of where the item entered the drop\n // zone to figure out at which index it should be inserted.\n newIndex = this._getItemIndexFromPointerPosition(item, pointerX, pointerY);\n }\n }\n else {\n newIndex = index;\n }\n const activeDraggables = this._activeDraggables;\n const currentIndex = activeDraggables.indexOf(item);\n const placeholder = item.getPlaceholderElement();\n let newPositionReference = activeDraggables[newIndex];\n // If the item at the new position is the same as the item that is being dragged,\n // it means that we're trying to restore the item to its initial position. In this\n // case we should use the next item from the list as the reference.\n if (newPositionReference === item) {\n newPositionReference = activeDraggables[newIndex + 1];\n }\n // Since the item may be in the `activeDraggables` already (e.g. if the user dragged it\n // into another container and back again), we have to ensure that it isn't duplicated.\n if (currentIndex > -1) {\n activeDraggables.splice(currentIndex, 1);\n }\n // Don't use items that are being dragged as a reference, because\n // their element has been moved down to the bottom of the body.\n if (newPositionReference && !this._dragDropRegistry.isDragging(newPositionReference)) {\n const element = newPositionReference.getRootElement();\n element.parentElement.insertBefore(placeholder, element);\n activeDraggables.splice(newIndex, 0, item);\n }\n else if (this._shouldEnterAsFirstChild(pointerX, pointerY)) {\n const reference = activeDraggables[0].getRootElement();\n reference.parentNode.insertBefore(placeholder, reference);\n activeDraggables.unshift(item);\n }\n else {\n coerceElement(this.element).appendChild(placeholder);\n activeDraggables.push(item);\n }\n // The transform needs to be cleared so it doesn't throw off the measurements.\n placeholder.style.transform = '';\n // Note that the positions were already cached when we called `start` above,\n // but we need to refresh them since the amount of items has changed and also parent rects.\n this._cacheItemPositions();\n this._cacheParentPositions();\n // Notify siblings at the end so that the item has been inserted into the `activeDraggables`.\n this._notifyReceivingSiblings();\n this.entered.next({ item, container: this, currentIndex: this.getItemIndex(item) });\n }\n /**\n * Removes an item from the container after it was dragged into another container by the user.\n * @param item Item that was dragged out.\n */\n exit(item) {\n this._reset();\n this.exited.next({ item, container: this });\n }\n /**\n * Drops an item into this container.\n * @param item Item being dropped into the container.\n * @param currentIndex Index at which the item should be inserted.\n * @param previousIndex Index of the item when dragging started.\n * @param previousContainer Container from which the item got dragged in.\n * @param isPointerOverContainer Whether the user's pointer was over the\n * container when the item was dropped.\n * @param distance Distance the user has dragged since the start of the dragging sequence.\n */\n drop(item, currentIndex, previousIndex, previousContainer, isPointerOverContainer, distance, dropPoint) {\n this._reset();\n this.dropped.next({\n item,\n currentIndex,\n previousIndex,\n container: this,\n previousContainer,\n isPointerOverContainer,\n distance,\n dropPoint\n });\n }\n /**\n * Sets the draggable items that are a part of this list.\n * @param items Items that are a part of this list.\n */\n withItems(items) {\n const previousItems = this._draggables;\n this._draggables = items;\n items.forEach(item => item._withDropContainer(this));\n if (this.isDragging()) {\n const draggedItems = previousItems.filter(item => item.isDragging());\n // If all of the items being dragged were removed\n // from the list, abort the current drag sequence.\n if (draggedItems.every(item => items.indexOf(item) === -1)) {\n this._reset();\n }\n else {\n this._cacheItems();\n }\n }\n return this;\n }\n /** Sets the layout direction of the drop list. */\n withDirection(direction) {\n this._direction = direction;\n return this;\n }\n /**\n * Sets the containers that are connected to this one. When two or more containers are\n * connected, the user will be allowed to transfer items between them.\n * @param connectedTo Other containers that the current containers should be connected to.\n */\n connectedTo(connectedTo) {\n this._siblings = connectedTo.slice();\n return this;\n }\n /**\n * Sets the orientation of the container.\n * @param orientation New orientation for the container.\n */\n withOrientation(orientation) {\n this._orientation = orientation;\n return this;\n }\n /**\n * Sets which parent elements are can be scrolled while the user is dragging.\n * @param elements Elements that can be scrolled.\n */\n withScrollableParents(elements) {\n const element = coerceElement(this.element);\n // We always allow the current element to be scrollable\n // so we need to ensure that it's in the array.\n this._scrollableElements =\n elements.indexOf(element) === -1 ? [element, ...elements] : elements.slice();\n return this;\n }\n /** Gets the scrollable parents that are registered with this drop container. */\n getScrollableParents() {\n return this._scrollableElements;\n }\n /**\n * Figures out the index of an item in the container.\n * @param item Item whose index should be determined.\n */\n getItemIndex(item) {\n if (!this._isDragging) {\n return this._draggables.indexOf(item);\n }\n // Items are sorted always by top/left in the cache, however they flow differently in RTL.\n // The rest of the logic still stands no matter what orientation we're in, however\n // we need to invert the array when determining the index.\n const items = this._orientation === 'horizontal' && this._direction === 'rtl' ?\n this._itemPositions.slice().reverse() : this._itemPositions;\n return findIndex(items, currentItem => currentItem.drag === item);\n }\n /**\n * Whether the list is able to receive the item that\n * is currently being dragged inside a connected drop list.\n */\n isReceiving() {\n return this._activeSiblings.size > 0;\n }\n /**\n * Sorts an item inside the container based on its position.\n * @param item Item to be sorted.\n * @param pointerX Position of the item along the X axis.\n * @param pointerY Position of the item along the Y axis.\n * @param pointerDelta Direction in which the pointer is moving along each axis.\n */\n _sortItem(item, pointerX, pointerY, pointerDelta) {\n // Don't sort the item if sorting is disabled or it's out of range.\n if (this.sortingDisabled || !this._clientRect ||\n !isPointerNearClientRect(this._clientRect, DROP_PROXIMITY_THRESHOLD, pointerX, pointerY)) {\n return;\n }\n const siblings = this._itemPositions;\n const newIndex = this._getItemIndexFromPointerPosition(item, pointerX, pointerY, pointerDelta);\n if (newIndex === -1 && siblings.length > 0) {\n return;\n }\n const isHorizontal = this._orientation === 'horizontal';\n const currentIndex = findIndex(siblings, currentItem => currentItem.drag === item);\n const siblingAtNewPosition = siblings[newIndex];\n const currentPosition = siblings[currentIndex].clientRect;\n const newPosition = siblingAtNewPosition.clientRect;\n const delta = currentIndex > newIndex ? 1 : -1;\n // How many pixels the item's placeholder should be offset.\n const itemOffset = this._getItemOffsetPx(currentPosition, newPosition, delta);\n // How many pixels all the other items should be offset.\n const siblingOffset = this._getSiblingOffsetPx(currentIndex, siblings, delta);\n // Save the previous order of the items before moving the item to its new index.\n // We use this to check whether an item has been moved as a result of the sorting.\n const oldOrder = siblings.slice();\n // Shuffle the array in place.\n moveItemInArray(siblings, currentIndex, newIndex);\n this.sorted.next({\n previousIndex: currentIndex,\n currentIndex: newIndex,\n container: this,\n item\n });\n siblings.forEach((sibling, index) => {\n // Don't do anything if the position hasn't changed.\n if (oldOrder[index] === sibling) {\n return;\n }\n const isDraggedItem = sibling.drag === item;\n const offset = isDraggedItem ? itemOffset : siblingOffset;\n const elementToOffset = isDraggedItem ? item.getPlaceholderElement() :\n sibling.drag.getRootElement();\n // Update the offset to reflect the new position.\n sibling.offset += offset;\n // Since we're moving the items with a `transform`, we need to adjust their cached\n // client rects to reflect their new position, as well as swap their positions in the cache.\n // Note that we shouldn't use `getBoundingClientRect` here to update the cache, because the\n // elements may be mid-animation which will give us a wrong result.\n if (isHorizontal) {\n // Round the transforms since some browsers will\n // blur the elements, for sub-pixel transforms.\n elementToOffset.style.transform = combineTransforms(`translate3d(${Math.round(sibling.offset)}px, 0, 0)`, sibling.initialTransform);\n adjustClientRect(sibling.clientRect, 0, offset);\n }\n else {\n elementToOffset.style.transform = combineTransforms(`translate3d(0, ${Math.round(sibling.offset)}px, 0)`, sibling.initialTransform);\n adjustClientRect(sibling.clientRect, offset, 0);\n }\n });\n // Note that it's important that we do this after the client rects have been adjusted.\n this._previousSwap.overlaps = isInsideClientRect(newPosition, pointerX, pointerY);\n this._previousSwap.drag = siblingAtNewPosition.drag;\n this._previousSwap.delta = isHorizontal ? pointerDelta.x : pointerDelta.y;\n }\n /**\n * Checks whether the user's pointer is close to the edges of either the\n * viewport or the drop list and starts the auto-scroll sequence.\n * @param pointerX User's pointer position along the x axis.\n * @param pointerY User's pointer position along the y axis.\n */\n _startScrollingIfNecessary(pointerX, pointerY) {\n if (this.autoScrollDisabled) {\n return;\n }\n let scrollNode;\n let verticalScrollDirection = 0 /* NONE */;\n let horizontalScrollDirection = 0 /* NONE */;\n // Check whether we should start scrolling any of the parent containers.\n this._parentPositions.positions.forEach((position, element) => {\n // We have special handling for the `document` below. Also this would be\n // nicer with a for...of loop, but it requires changing a compiler flag.\n if (element === this._document || !position.clientRect || scrollNode) {\n return;\n }\n if (isPointerNearClientRect(position.clientRect, DROP_PROXIMITY_THRESHOLD, pointerX, pointerY)) {\n [verticalScrollDirection, horizontalScrollDirection] = getElementScrollDirections(element, position.clientRect, pointerX, pointerY);\n if (verticalScrollDirection || horizontalScrollDirection) {\n scrollNode = element;\n }\n }\n });\n // Otherwise check if we can start scrolling the viewport.\n if (!verticalScrollDirection && !horizontalScrollDirection) {\n const { width, height } = this._viewportRuler.getViewportSize();\n const clientRect = { width, height, top: 0, right: width, bottom: height, left: 0 };\n verticalScrollDirection = getVerticalScrollDirection(clientRect, pointerY);\n horizontalScrollDirection = getHorizontalScrollDirection(clientRect, pointerX);\n scrollNode = window;\n }\n if (scrollNode && (verticalScrollDirection !== this._verticalScrollDirection ||\n horizontalScrollDirection !== this._horizontalScrollDirection ||\n scrollNode !== this._scrollNode)) {\n this._verticalScrollDirection = verticalScrollDirection;\n this._horizontalScrollDirection = horizontalScrollDirection;\n this._scrollNode = scrollNode;\n if ((verticalScrollDirection || horizontalScrollDirection) && scrollNode) {\n this._ngZone.runOutsideAngular(this._startScrollInterval);\n }\n else {\n this._stopScrolling();\n }\n }\n }\n /** Stops any currently-running auto-scroll sequences. */\n _stopScrolling() {\n this._stopScrollTimers.next();\n }\n /** Starts the dragging sequence within the list. */\n _draggingStarted() {\n const styles = coerceElement(this.element).style;\n this.beforeStarted.next();\n this._isDragging = true;\n // We need to disable scroll snapping while the user is dragging, because it breaks automatic\n // scrolling. The browser seems to round the value based on the snapping points which means\n // that we can't increment/decrement the scroll position.\n this._initialScrollSnap = styles.msScrollSnapType || styles.scrollSnapType || '';\n styles.scrollSnapType = styles.msScrollSnapType = 'none';\n this._cacheItems();\n this._viewportScrollSubscription.unsubscribe();\n this._listenToScrollEvents();\n }\n /** Caches the positions of the configured scrollable parents. */\n _cacheParentPositions() {\n const element = coerceElement(this.element);\n this._parentPositions.cache(this._scrollableElements);\n // The list element is always in the `scrollableElements`\n // so we can take advantage of the cached `ClientRect`.\n this._clientRect = this._parentPositions.positions.get(element).clientRect;\n }\n /** Refreshes the position cache of the items and sibling containers. */\n _cacheItemPositions() {\n const isHorizontal = this._orientation === 'horizontal';\n this._itemPositions = this._activeDraggables.map(drag => {\n const elementToMeasure = drag.getVisibleElement();\n return {\n drag,\n offset: 0,\n initialTransform: elementToMeasure.style.transform || '',\n clientRect: getMutableClientRect(elementToMeasure),\n };\n }).sort((a, b) => {\n return isHorizontal ? a.clientRect.left - b.clientRect.left :\n a.clientRect.top - b.clientRect.top;\n });\n }\n /** Resets the container to its initial state. */\n _reset() {\n this._isDragging = false;\n const styles = coerceElement(this.element).style;\n styles.scrollSnapType = styles.msScrollSnapType = this._initialScrollSnap;\n // TODO(crisbeto): may have to wait for the animations to finish.\n this._activeDraggables.forEach(item => {\n var _a;\n const rootElement = item.getRootElement();\n if (rootElement) {\n const initialTransform = (_a = this._itemPositions\n .find(current => current.drag === item)) === null || _a === void 0 ? void 0 : _a.initialTransform;\n rootElement.style.transform = initialTransform || '';\n }\n });\n this._siblings.forEach(sibling => sibling._stopReceiving(this));\n this._activeDraggables = [];\n this._itemPositions = [];\n this._previousSwap.drag = null;\n this._previousSwap.delta = 0;\n this._previousSwap.overlaps = false;\n this._stopScrolling();\n this._viewportScrollSubscription.unsubscribe();\n this._parentPositions.clear();\n }\n /**\n * Gets the offset in pixels by which the items that aren't being dragged should be moved.\n * @param currentIndex Index of the item currently being dragged.\n * @param siblings All of the items in the list.\n * @param delta Direction in which the user is moving.\n */\n _getSiblingOffsetPx(currentIndex, siblings, delta) {\n const isHorizontal = this._orientation === 'horizontal';\n const currentPosition = siblings[currentIndex].clientRect;\n const immediateSibling = siblings[currentIndex + delta * -1];\n let siblingOffset = currentPosition[isHorizontal ? 'width' : 'height'] * delta;\n if (immediateSibling) {\n const start = isHorizontal ? 'left' : 'top';\n const end = isHorizontal ? 'right' : 'bottom';\n // Get the spacing between the start of the current item and the end of the one immediately\n // after it in the direction in which the user is dragging, or vice versa. We add it to the\n // offset in order to push the element to where it will be when it's inline and is influenced\n // by the `margin` of its siblings.\n if (delta === -1) {\n siblingOffset -= immediateSibling.clientRect[start] - currentPosition[end];\n }\n else {\n siblingOffset += currentPosition[start] - immediateSibling.clientRect[end];\n }\n }\n return siblingOffset;\n }\n /**\n * Gets the offset in pixels by which the item that is being dragged should be moved.\n * @param currentPosition Current position of the item.\n * @param newPosition Position of the item where the current item should be moved.\n * @param delta Direction in which the user is moving.\n */\n _getItemOffsetPx(currentPosition, newPosition, delta) {\n const isHorizontal = this._orientation === 'horizontal';\n let itemOffset = isHorizontal ? newPosition.left - currentPosition.left :\n newPosition.top - currentPosition.top;\n // Account for differences in the item width/height.\n if (delta === -1) {\n itemOffset += isHorizontal ? newPosition.width - currentPosition.width :\n newPosition.height - currentPosition.height;\n }\n return itemOffset;\n }\n /**\n * Checks if pointer is entering in the first position\n * @param pointerX Position of the user's pointer along the X axis.\n * @param pointerY Position of the user's pointer along the Y axis.\n */\n _shouldEnterAsFirstChild(pointerX, pointerY) {\n if (!this._activeDraggables.length) {\n return false;\n }\n const itemPositions = this._itemPositions;\n const isHorizontal = this._orientation === 'horizontal';\n // `itemPositions` are sorted by position while `activeDraggables` are sorted by child index\n // check if container is using some sort of \"reverse\" ordering (eg: flex-direction: row-reverse)\n const reversed = itemPositions[0].drag !== this._activeDraggables[0];\n if (reversed) {\n const lastItemRect = itemPositions[itemPositions.length - 1].clientRect;\n return isHorizontal ? pointerX >= lastItemRect.right : pointerY >= lastItemRect.bottom;\n }\n else {\n const firstItemRect = itemPositions[0].clientRect;\n return isHorizontal ? pointerX <= firstItemRect.left : pointerY <= firstItemRect.top;\n }\n }\n /**\n * Gets the index of an item in the drop container, based on the position of the user's pointer.\n * @param item Item that is being sorted.\n * @param pointerX Position of the user's pointer along the X axis.\n * @param pointerY Position of the user's pointer along the Y axis.\n * @param delta Direction in which the user is moving their pointer.\n */\n _getItemIndexFromPointerPosition(item, pointerX, pointerY, delta) {\n const isHorizontal = this._orientation === 'horizontal';\n const index = findIndex(this._itemPositions, ({ drag, clientRect }, _, array) => {\n if (drag === item) {\n // If there's only one item left in the container, it must be\n // the dragged item itself so we use it as a reference.\n return array.length < 2;\n }\n if (delta) {\n const direction = isHorizontal ? delta.x : delta.y;\n // If the user is still hovering over the same item as last time, their cursor hasn't left\n // the item after we made the swap, and they didn't change the direction in which they're\n // dragging, we don't consider it a direction swap.\n if (drag === this._previousSwap.drag && this._previousSwap.overlaps &&\n direction === this._previousSwap.delta) {\n return false;\n }\n }\n return isHorizontal ?\n // Round these down since most browsers report client rects with\n // sub-pixel precision, whereas the pointer coordinates are rounded to pixels.\n pointerX >= Math.floor(clientRect.left) && pointerX < Math.floor(clientRect.right) :\n pointerY >= Math.floor(clientRect.top) && pointerY < Math.floor(clientRect.bottom);\n });\n return (index === -1 || !this.sortPredicate(index, item, this)) ? -1 : index;\n }\n /** Caches the current items in the list and their positions. */\n _cacheItems() {\n this._activeDraggables = this._draggables.slice();\n this._cacheItemPositions();\n this._cacheParentPositions();\n }\n /**\n * Checks whether the user's pointer is positioned over the container.\n * @param x Pointer position along the X axis.\n * @param y Pointer position along the Y axis.\n */\n _isOverContainer(x, y) {\n return this._clientRect != null && isInsideClientRect(this._clientRect, x, y);\n }\n /**\n * Figures out whether an item should be moved into a sibling\n * drop container, based on its current position.\n * @param item Drag item that is being moved.\n * @param x Position of the item along the X axis.\n * @param y Position of the item along the Y axis.\n */\n _getSiblingContainerFromPosition(item, x, y) {\n return this._siblings.find(sibling => sibling._canReceive(item, x, y));\n }\n /**\n * Checks whether the drop list can receive the passed-in item.\n * @param item Item that is being dragged into the list.\n * @param x Position of the item along the X axis.\n * @param y Position of the item along the Y axis.\n */\n _canReceive(item, x, y) {\n if (!this._clientRect || !isInsideClientRect(this._clientRect, x, y) ||\n !this.enterPredicate(item, this)) {\n return false;\n }\n const elementFromPoint = this._getShadowRoot().elementFromPoint(x, y);\n // If there's no element at the pointer position, then\n // the client rect is probably scrolled out of the view.\n if (!elementFromPoint) {\n return false;\n }\n const nativeElement = coerceElement(this.element);\n // The `ClientRect`, that we're using to find the container over which the user is\n // hovering, doesn't give us any information on whether the element has been scrolled\n // out of the view or whether it's overlapping with other containers. This means that\n // we could end up transferring the item into a container that's invisible or is positioned\n // below another one. We use the result from `elementFromPoint` to get the top-most element\n // at the pointer position and to find whether it's one of the intersecting drop containers.\n return elementFromPoint === nativeElement || nativeElement.contains(elementFromPoint);\n }\n /**\n * Called by one of the connected drop lists when a dragging sequence has started.\n * @param sibling Sibling in which dragging has started.\n */\n _startReceiving(sibling, items) {\n const activeSiblings = this._activeSiblings;\n if (!activeSiblings.has(sibling) && items.every(item => {\n // Note that we have to add an exception to the `enterPredicate` for items that started off\n // in this drop list. The drag ref has logic that allows an item to return to its initial\n // container, if it has left the initial container and none of the connected containers\n // allow it to enter. See `DragRef._updateActiveDropContainer` for more context.\n return this.enterPredicate(item, this) || this._draggables.indexOf(item) > -1;\n })) {\n activeSiblings.add(sibling);\n this._cacheParentPositions();\n this._listenToScrollEvents();\n }\n }\n /**\n * Called by a connected drop list when dragging has stopped.\n * @param sibling Sibling whose dragging has stopped.\n */\n _stopReceiving(sibling) {\n this._activeSiblings.delete(sibling);\n this._viewportScrollSubscription.unsubscribe();\n }\n /**\n * Starts listening to scroll events on the viewport.\n * Used for updating the internal state of the list.\n */\n _listenToScrollEvents() {\n this._viewportScrollSubscription = this._dragDropRegistry\n .scrolled(this._getShadowRoot())\n .subscribe(event => {\n if (this.isDragging()) {\n const scrollDifference = this._parentPositions.handleScroll(event);\n if (scrollDifference) {\n // Since we know the amount that the user has scrolled we can shift all of the\n // client rectangles ourselves. This is cheaper than re-measuring everything and\n // we can avoid inconsistent behavior where we might be measuring the element before\n // its position has changed.\n this._itemPositions.forEach(({ clientRect }) => {\n adjustClientRect(clientRect, scrollDifference.top, scrollDifference.left);\n });\n // We need two loops for this, because we want all of the cached\n // positions to be up-to-date before we re-sort the item.\n this._itemPositions.forEach(({ drag }) => {\n if (this._dragDropRegistry.isDragging(drag)) {\n // We need to re-sort the item manually, because the pointer move\n // events won't be dispatched while the user is scrolling.\n drag._sortFromLastPointerPosition();\n }\n });\n }\n }\n else if (this.isReceiving()) {\n this._cacheParentPositions();\n }\n });\n }\n /**\n * Lazily resolves and returns the shadow root of the element. We do this in a function, rather\n * than saving it in property directly on init, because we want to resolve it as late as possible\n * in order to ensure that the element has been moved into the shadow DOM. Doing it inside the\n * constructor might be too early if the element is inside of something like `ngFor` or `ngIf`.\n */\n _getShadowRoot() {\n if (!this._cachedShadowRoot) {\n const shadowRoot = _getShadowRoot(coerceElement(this.element));\n this._cachedShadowRoot = shadowRoot || this._document;\n }\n return this._cachedShadowRoot;\n }\n /** Notifies any siblings that may potentially receive the item. */\n _notifyReceivingSiblings() {\n const draggedItems = this._activeDraggables.filter(item => item.isDragging());\n this._siblings.forEach(sibling => sibling._startReceiving(this, draggedItems));\n }\n}\n/**\n * Finds the index of an item that matches a predicate function. Used as an equivalent\n * of `Array.prototype.findIndex` which isn't part of the standard Google typings.\n * @param array Array in which to look for matches.\n * @param predicate Function used to determine whether an item is a match.\n */\nfunction findIndex(array, predicate) {\n for (let i = 0; i < array.length; i++) {\n if (predicate(array[i], i, array)) {\n return i;\n }\n }\n return -1;\n}\n/**\n * Increments the vertical scroll position of a node.\n * @param node Node whose scroll position should change.\n * @param amount Amount of pixels that the `node` should be scrolled.\n */\nfunction incrementVerticalScroll(node, amount) {\n if (node === window) {\n node.scrollBy(0, amount);\n }\n else {\n // Ideally we could use `Element.scrollBy` here as well, but IE and Edge don't support it.\n node.scrollTop += amount;\n }\n}\n/**\n * Increments the horizontal scroll position of a node.\n * @param node Node whose scroll position should change.\n * @param amount Amount of pixels that the `node` should be scrolled.\n */\nfunction incrementHorizontalScroll(node, amount) {\n if (node === window) {\n node.scrollBy(amount, 0);\n }\n else {\n // Ideally we could use `Element.scrollBy` here as well, but IE and Edge don't support it.\n node.scrollLeft += amount;\n }\n}\n/**\n * Gets whether the vertical auto-scroll direction of a node.\n * @param clientRect Dimensions of the node.\n * @param pointerY Position of the user's pointer along the y axis.\n */\nfunction getVerticalScrollDirection(clientRect, pointerY) {\n const { top, bottom, height } = clientRect;\n const yThreshold = height * SCROLL_PROXIMITY_THRESHOLD;\n if (pointerY >= top - yThreshold && pointerY <= top + yThreshold) {\n return 1 /* UP */;\n }\n else if (pointerY >= bottom - yThreshold && pointerY <= bottom + yThreshold) {\n return 2 /* DOWN */;\n }\n return 0 /* NONE */;\n}\n/**\n * Gets whether the horizontal auto-scroll direction of a node.\n * @param clientRect Dimensions of the node.\n * @param pointerX Position of the user's pointer along the x axis.\n */\nfunction getHorizontalScrollDirection(clientRect, pointerX) {\n const { left, right, width } = clientRect;\n const xThreshold = width * SCROLL_PROXIMITY_THRESHOLD;\n if (pointerX >= left - xThreshold && pointerX <= left + xThreshold) {\n return 1 /* LEFT */;\n }\n else if (pointerX >= right - xThreshold && pointerX <= right + xThreshold) {\n return 2 /* RIGHT */;\n }\n return 0 /* NONE */;\n}\n/**\n * Gets the directions in which an element node should be scrolled,\n * assuming that the user's pointer is already within it scrollable region.\n * @param element Element for which we should calculate the scroll direction.\n * @param clientRect Bounding client rectangle of the element.\n * @param pointerX Position of the user's pointer along the x axis.\n * @param pointerY Position of the user's pointer along the y axis.\n */\nfunction getElementScrollDirections(element, clientRect, pointerX, pointerY) {\n const computedVertical = getVerticalScrollDirection(clientRect, pointerY);\n const computedHorizontal = getHorizontalScrollDirection(clientRect, pointerX);\n let verticalScrollDirection = 0 /* NONE */;\n let horizontalScrollDirection = 0 /* NONE */;\n // Note that we here we do some extra checks for whether the element is actually scrollable in\n // a certain direction and we only assign the scroll direction if it is. We do this so that we\n // can allow other elements to be scrolled, if the current element can't be scrolled anymore.\n // This allows us to handle cases where the scroll regions of two scrollable elements overlap.\n if (computedVertical) {\n const scrollTop = element.scrollTop;\n if (computedVertical === 1 /* UP */) {\n if (scrollTop > 0) {\n verticalScrollDirection = 1 /* UP */;\n }\n }\n else if (element.scrollHeight - scrollTop > element.clientHeight) {\n verticalScrollDirection = 2 /* DOWN */;\n }\n }\n if (computedHorizontal) {\n const scrollLeft = element.scrollLeft;\n if (computedHorizontal === 1 /* LEFT */) {\n if (scrollLeft > 0) {\n horizontalScrollDirection = 1 /* LEFT */;\n }\n }\n else if (element.scrollWidth - scrollLeft > element.clientWidth) {\n horizontalScrollDirection = 2 /* RIGHT */;\n }\n }\n return [verticalScrollDirection, horizontalScrollDirection];\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/** Event options that can be used to bind an active, capturing event. */\nconst activeCapturingEventOptions = normalizePassiveListenerOptions({\n passive: false,\n capture: true\n});\n/**\n * Service that keeps track of all the drag item and drop container\n * instances, and manages global event listeners on the `document`.\n * @docs-private\n */\n// Note: this class is generic, rather than referencing CdkDrag and CdkDropList directly, in order\n// to avoid circular imports. If we were to reference them here, importing the registry into the\n// classes that are registering themselves will introduce a circular import.\nclass DragDropRegistry {\n constructor(_ngZone, _document) {\n this._ngZone = _ngZone;\n /** Registered drop container instances. */\n this._dropInstances = new Set();\n /** Registered drag item instances. */\n this._dragInstances = new Set();\n /** Drag item instances that are currently being dragged. */\n this._activeDragInstances = [];\n /** Keeps track of the event listeners that we've bound to the `document`. */\n this._globalListeners = new Map();\n /**\n * Predicate function to check if an item is being dragged. Moved out into a property,\n * because it'll be called a lot and we don't want to create a new function every time.\n */\n this._draggingPredicate = (item) => item.isDragging();\n /**\n * Emits the `touchmove` or `mousemove` events that are dispatched\n * while the user is dragging a drag item instance.\n */\n this.pointerMove = new Subject();\n /**\n * Emits the `touchend` or `mouseup` events that are dispatched\n * while the user is dragging a drag item instance.\n */\n this.pointerUp = new Subject();\n /**\n * Emits when the viewport has been scrolled while the user is dragging an item.\n * @deprecated To be turned into a private member. Use the `scrolled` method instead.\n * @breaking-change 13.0.0\n */\n this.scroll = new Subject();\n /**\n * Event listener that will prevent the default browser action while the user is dragging.\n * @param event Event whose default action should be prevented.\n */\n this._preventDefaultWhileDragging = (event) => {\n if (this._activeDragInstances.length > 0) {\n event.preventDefault();\n }\n };\n /** Event listener for `touchmove` that is bound even if no dragging is happening. */\n this._persistentTouchmoveListener = (event) => {\n if (this._activeDragInstances.length > 0) {\n // Note that we only want to prevent the default action after dragging has actually started.\n // Usually this is the same time at which the item is added to the `_activeDragInstances`,\n // but it could be pushed back if the user has set up a drag delay or threshold.\n if (this._activeDragInstances.some(this._draggingPredicate)) {\n event.preventDefault();\n }\n this.pointerMove.next(event);\n }\n };\n this._document = _document;\n }\n /** Adds a drop container to the registry. */\n registerDropContainer(drop) {\n if (!this._dropInstances.has(drop)) {\n this._dropInstances.add(drop);\n }\n }\n /** Adds a drag item instance to the registry. */\n registerDragItem(drag) {\n this._dragInstances.add(drag);\n // The `touchmove` event gets bound once, ahead of time, because WebKit\n // won't preventDefault on a dynamically-added `touchmove` listener.\n // See https://bugs.webkit.org/show_bug.cgi?id=184250.\n if (this._dragInstances.size === 1) {\n this._ngZone.runOutsideAngular(() => {\n // The event handler has to be explicitly active,\n // because newer browsers make it passive by default.\n this._document.addEventListener('touchmove', this._persistentTouchmoveListener, activeCapturingEventOptions);\n });\n }\n }\n /** Removes a drop container from the registry. */\n removeDropContainer(drop) {\n this._dropInstances.delete(drop);\n }\n /** Removes a drag item instance from the registry. */\n removeDragItem(drag) {\n this._dragInstances.delete(drag);\n this.stopDragging(drag);\n if (this._dragInstances.size === 0) {\n this._document.removeEventListener('touchmove', this._persistentTouchmoveListener, activeCapturingEventOptions);\n }\n }\n /**\n * Starts the dragging sequence for a drag instance.\n * @param drag Drag instance which is being dragged.\n * @param event Event that initiated the dragging.\n */\n startDragging(drag, event) {\n // Do not process the same drag twice to avoid memory leaks and redundant listeners\n if (this._activeDragInstances.indexOf(drag) > -1) {\n return;\n }\n this._activeDragInstances.push(drag);\n if (this._activeDragInstances.length === 1) {\n const isTouchEvent = event.type.startsWith('touch');\n // We explicitly bind __active__ listeners here, because newer browsers will default to\n // passive ones for `mousemove` and `touchmove`. The events need to be active, because we\n // use `preventDefault` to prevent the page from scrolling while the user is dragging.\n this._globalListeners\n .set(isTouchEvent ? 'touchend' : 'mouseup', {\n handler: (e) => this.pointerUp.next(e),\n options: true\n })\n .set('scroll', {\n handler: (e) => this.scroll.next(e),\n // Use capturing so that we pick up scroll changes in any scrollable nodes that aren't\n // the document. See https://github.com/angular/components/issues/17144.\n options: true\n })\n // Preventing the default action on `mousemove` isn't enough to disable text selection\n // on Safari so we need to prevent the selection event as well. Alternatively this can\n // be done by setting `user-select: none` on the `body`, however it has causes a style\n // recalculation which can be expensive on pages with a lot of elements.\n .set('selectstart', {\n handler: this._preventDefaultWhileDragging,\n options: activeCapturingEventOptions\n });\n // We don't have to bind a move event for touch drag sequences, because\n // we already have a persistent global one bound from `registerDragItem`.\n if (!isTouchEvent) {\n this._globalListeners.set('mousemove', {\n handler: (e) => this.pointerMove.next(e),\n options: activeCapturingEventOptions\n });\n }\n this._ngZone.runOutsideAngular(() => {\n this._globalListeners.forEach((config, name) => {\n this._document.addEventListener(name, config.handler, config.options);\n });\n });\n }\n }\n /** Stops dragging a drag item instance. */\n stopDragging(drag) {\n const index = this._activeDragInstances.indexOf(drag);\n if (index > -1) {\n this._activeDragInstances.splice(index, 1);\n if (this._activeDragInstances.length === 0) {\n this._clearGlobalListeners();\n }\n }\n }\n /** Gets whether a drag item instance is currently being dragged. */\n isDragging(drag) {\n return this._activeDragInstances.indexOf(drag) > -1;\n }\n /**\n * Gets a stream that will emit when any element on the page is scrolled while an item is being\n * dragged.\n * @param shadowRoot Optional shadow root that the current dragging sequence started from.\n * Top-level listeners won't pick up events coming from the shadow DOM so this parameter can\n * be used to include an additional top-level listener at the shadow root level.\n */\n scrolled(shadowRoot) {\n const streams = [this.scroll];\n if (shadowRoot && shadowRoot !== this._document) {\n // Note that this is basically the same as `fromEvent` from rjxs, but we do it ourselves,\n // because we want to guarantee that the event is bound outside of the `NgZone`. With\n // `fromEvent` it'll only happen if the subscription is outside the `NgZone`.\n streams.push(new Observable((observer) => {\n return this._ngZone.runOutsideAngular(() => {\n const eventOptions = true;\n const callback = (event) => {\n if (this._activeDragInstances.length) {\n observer.next(event);\n }\n };\n shadowRoot.addEventListener('scroll', callback, eventOptions);\n return () => {\n shadowRoot.removeEventListener('scroll', callback, eventOptions);\n };\n });\n }));\n }\n return merge(...streams);\n }\n ngOnDestroy() {\n this._dragInstances.forEach(instance => this.removeDragItem(instance));\n this._dropInstances.forEach(instance => this.removeDropContainer(instance));\n this._clearGlobalListeners();\n this.pointerMove.complete();\n this.pointerUp.complete();\n }\n /** Clears out the global event listeners from the `document`. */\n _clearGlobalListeners() {\n this._globalListeners.forEach((config, name) => {\n this._document.removeEventListener(name, config.handler, config.options);\n });\n this._globalListeners.clear();\n }\n}\nDragDropRegistry.ɵfac = function DragDropRegistry_Factory(t) { return new (t || DragDropRegistry)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT)); };\nDragDropRegistry.ɵprov = i0.ɵɵdefineInjectable({ factory: function DragDropRegistry_Factory() { return new DragDropRegistry(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.DOCUMENT)); }, token: DragDropRegistry, providedIn: \"root\" });\nDragDropRegistry.ctorParameters = () => [\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DragDropRegistry, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\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/** Default configuration to be used when creating a `DragRef`. */\nconst DEFAULT_CONFIG = {\n dragStartThreshold: 5,\n pointerDirectionChangeThreshold: 5\n};\n/**\n * Service that allows for drag-and-drop functionality to be attached to DOM elements.\n */\nclass DragDrop {\n constructor(_document, _ngZone, _viewportRuler, _dragDropRegistry) {\n this._document = _document;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._dragDropRegistry = _dragDropRegistry;\n }\n /**\n * Turns an element into a draggable item.\n * @param element Element to which to attach the dragging functionality.\n * @param config Object used to configure the dragging behavior.\n */\n createDrag(element, config = DEFAULT_CONFIG) {\n return new DragRef(element, config, this._document, this._ngZone, this._viewportRuler, this._dragDropRegistry);\n }\n /**\n * Turns an element into a drop list.\n * @param element Element to which to attach the drop list functionality.\n */\n createDropList(element) {\n return new DropListRef(element, this._dragDropRegistry, this._document, this._ngZone, this._viewportRuler);\n }\n}\nDragDrop.ɵfac = function DragDrop_Factory(t) { return new (t || DragDrop)(ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(ɵngcc1.ViewportRuler), ɵngcc0.ɵɵinject(DragDropRegistry)); };\nDragDrop.ɵprov = i0.ɵɵdefineInjectable({ factory: function DragDrop_Factory() { return new DragDrop(i0.ɵɵinject(i1.DOCUMENT), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.ViewportRuler), i0.ɵɵinject(DragDropRegistry)); }, token: DragDrop, providedIn: \"root\" });\nDragDrop.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: NgZone },\n { type: ViewportRuler },\n { type: DragDropRegistry }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DragDrop, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc0.NgZone }, { type: ɵngcc1.ViewportRuler }, { type: DragDropRegistry }]; }, null); })();\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 * Injection token that can be used for a `CdkDrag` to provide itself as a parent to the\n * drag-specific child directive (`CdkDragHandle`, `CdkDragPreview` etc.). Used primarily\n * to avoid circular imports.\n * @docs-private\n */\nconst CDK_DRAG_PARENT = new InjectionToken('CDK_DRAG_PARENT');\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 * Injection token that can be used to reference instances of `CdkDropListGroup`. It serves as\n * alternative token to the actual `CdkDropListGroup` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DROP_LIST_GROUP = new InjectionToken('CdkDropListGroup');\n/**\n * Declaratively connects sibling `cdkDropList` instances together. All of the `cdkDropList`\n * elements that are placed inside a `cdkDropListGroup` will be connected to each other\n * automatically. Can be used as an alternative to the `cdkDropListConnectedTo` input\n * from `cdkDropList`.\n */\nclass CdkDropListGroup {\n constructor() {\n /** Drop lists registered inside the group. */\n this._items = new Set();\n this._disabled = false;\n }\n /** Whether starting a dragging sequence from inside this group is disabled. */\n get disabled() { return this._disabled; }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n ngOnDestroy() {\n this._items.clear();\n }\n}\nCdkDropListGroup.ɵfac = function CdkDropListGroup_Factory(t) { return new (t || CdkDropListGroup)(); };\nCdkDropListGroup.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkDropListGroup, selectors: [[\"\", \"cdkDropListGroup\", \"\"]], inputs: { disabled: [\"cdkDropListGroupDisabled\", \"disabled\"] }, exportAs: [\"cdkDropListGroup\"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CDK_DROP_LIST_GROUP, useExisting: CdkDropListGroup }])] });\nCdkDropListGroup.propDecorators = {\n disabled: [{ type: Input, args: ['cdkDropListGroupDisabled',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkDropListGroup, [{\n type: Directive,\n args: [{\n selector: '[cdkDropListGroup]',\n exportAs: 'cdkDropListGroup',\n providers: [{ provide: CDK_DROP_LIST_GROUP, useExisting: CdkDropListGroup }]\n }]\n }], function () { return []; }, { disabled: [{\n type: Input,\n args: ['cdkDropListGroupDisabled']\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 * Injection token that can be used to configure the\n * behavior of the drag&drop-related components.\n */\nconst CDK_DRAG_CONFIG = new InjectionToken('CDK_DRAG_CONFIG');\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 * Asserts that a particular node is an element.\n * @param node Node to be checked.\n * @param name Name to attach to the error message.\n */\nfunction assertElementNode(node, name) {\n if (node.nodeType !== 1) {\n throw Error(`${name} must be attached to an element node. ` +\n `Currently attached to \"${node.nodeName}\".`);\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/** Counter used to generate unique ids for drop zones. */\nlet _uniqueIdCounter = 0;\n/**\n * Injection token that can be used to reference instances of `CdkDropList`. It serves as\n * alternative token to the actual `CdkDropList` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DROP_LIST = new InjectionToken('CdkDropList');\nconst ɵ0 = undefined;\n/** Container that wraps a set of draggable items. */\nclass CdkDropList {\n constructor(\n /** Element that the drop list is attached to. */\n element, dragDrop, _changeDetectorRef, _scrollDispatcher, _dir, _group, config) {\n this.element = element;\n this._changeDetectorRef = _changeDetectorRef;\n this._scrollDispatcher = _scrollDispatcher;\n this._dir = _dir;\n this._group = _group;\n /** Emits when the list has been destroyed. */\n this._destroyed = new Subject();\n /**\n * Other draggable containers that this container is connected to and into which the\n * container's items can be transferred. Can either be references to other drop containers,\n * or their unique IDs.\n */\n this.connectedTo = [];\n /**\n * Unique ID for the drop zone. Can be used as a reference\n * in the `connectedTo` of another `CdkDropList`.\n */\n this.id = `cdk-drop-list-${_uniqueIdCounter++}`;\n /**\n * Function that is used to determine whether an item\n * is allowed to be moved into a drop container.\n */\n this.enterPredicate = () => true;\n /** Functions that is used to determine whether an item can be sorted into a particular index. */\n this.sortPredicate = () => true;\n /** Emits when the user drops an item inside the container. */\n this.dropped = new EventEmitter();\n /**\n * Emits when the user has moved a new drag item into this container.\n */\n this.entered = new EventEmitter();\n /**\n * Emits when the user removes an item from the container\n * by dragging it into another container.\n */\n this.exited = new EventEmitter();\n /** Emits as the user is swapping items while actively dragging. */\n this.sorted = new EventEmitter();\n /**\n * Keeps track of the items that are registered with this container. Historically we used to\n * do this with a `ContentChildren` query, however queries don't handle transplanted views very\n * well which means that we can't handle cases like dragging the headers of a `mat-table`\n * correctly. What we do instead is to have the items register themselves with the container\n * and then we sort them based on their position in the DOM.\n */\n this._unsortedItems = new Set();\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n assertElementNode(element.nativeElement, 'cdkDropList');\n }\n this._dropListRef = dragDrop.createDropList(element);\n this._dropListRef.data = this;\n if (config) {\n this._assignDefaults(config);\n }\n this._dropListRef.enterPredicate = (drag, drop) => {\n return this.enterPredicate(drag.data, drop.data);\n };\n this._dropListRef.sortPredicate =\n (index, drag, drop) => {\n return this.sortPredicate(index, drag.data, drop.data);\n };\n this._setupInputSyncSubscription(this._dropListRef);\n this._handleEvents(this._dropListRef);\n CdkDropList._dropLists.push(this);\n if (_group) {\n _group._items.add(this);\n }\n }\n /** Whether starting a dragging sequence from this container is disabled. */\n get disabled() {\n return this._disabled || (!!this._group && this._group.disabled);\n }\n set disabled(value) {\n // Usually we sync the directive and ref state right before dragging starts, in order to have\n // a single point of failure and to avoid having to use setters for everything. `disabled` is\n // a special case, because it can prevent the `beforeStarted` event from firing, which can lock\n // the user in a disabled state, so we also need to sync it as it's being set.\n this._dropListRef.disabled = this._disabled = coerceBooleanProperty(value);\n }\n /** Registers an items with the drop list. */\n addItem(item) {\n this._unsortedItems.add(item);\n if (this._dropListRef.isDragging()) {\n this._syncItemsWithRef();\n }\n }\n /** Removes an item from the drop list. */\n removeItem(item) {\n this._unsortedItems.delete(item);\n if (this._dropListRef.isDragging()) {\n this._syncItemsWithRef();\n }\n }\n /** Gets the registered items in the list, sorted by their position in the DOM. */\n getSortedItems() {\n return Array.from(this._unsortedItems).sort((a, b) => {\n const documentPosition = a._dragRef.getVisibleElement().compareDocumentPosition(b._dragRef.getVisibleElement());\n // `compareDocumentPosition` returns a bitmask so we have to use a bitwise operator.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // tslint:disable-next-line:no-bitwise\n return documentPosition & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n });\n }\n ngOnDestroy() {\n const index = CdkDropList._dropLists.indexOf(this);\n if (index > -1) {\n CdkDropList._dropLists.splice(index, 1);\n }\n if (this._group) {\n this._group._items.delete(this);\n }\n this._unsortedItems.clear();\n this._dropListRef.dispose();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Syncs the inputs of the CdkDropList with the options of the underlying DropListRef. */\n _setupInputSyncSubscription(ref) {\n if (this._dir) {\n this._dir.change\n .pipe(startWith(this._dir.value), takeUntil(this._destroyed))\n .subscribe(value => ref.withDirection(value));\n }\n ref.beforeStarted.subscribe(() => {\n const siblings = coerceArray(this.connectedTo).map(drop => {\n if (typeof drop === 'string') {\n const correspondingDropList = CdkDropList._dropLists.find(list => list.id === drop);\n if (!correspondingDropList && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n console.warn(`CdkDropList could not find connected drop list with id \"${drop}\"`);\n }\n return correspondingDropList;\n }\n return drop;\n });\n if (this._group) {\n this._group._items.forEach(drop => {\n if (siblings.indexOf(drop) === -1) {\n siblings.push(drop);\n }\n });\n }\n // Note that we resolve the scrollable parents here so that we delay the resolution\n // as long as possible, ensuring that the element is in its final place in the DOM.\n if (!this._scrollableParentsResolved) {\n const scrollableParents = this._scrollDispatcher\n .getAncestorScrollContainers(this.element)\n .map(scrollable => scrollable.getElementRef().nativeElement);\n this._dropListRef.withScrollableParents(scrollableParents);\n // Only do this once since it involves traversing the DOM and the parents\n // shouldn't be able to change without the drop list being destroyed.\n this._scrollableParentsResolved = true;\n }\n ref.disabled = this.disabled;\n ref.lockAxis = this.lockAxis;\n ref.sortingDisabled = coerceBooleanProperty(this.sortingDisabled);\n ref.autoScrollDisabled = coerceBooleanProperty(this.autoScrollDisabled);\n ref.autoScrollStep = coerceNumberProperty(this.autoScrollStep, 2);\n ref\n .connectedTo(siblings.filter(drop => drop && drop !== this).map(list => list._dropListRef))\n .withOrientation(this.orientation);\n });\n }\n /** Handles events from the underlying DropListRef. */\n _handleEvents(ref) {\n ref.beforeStarted.subscribe(() => {\n this._syncItemsWithRef();\n this._changeDetectorRef.markForCheck();\n });\n ref.entered.subscribe(event => {\n this.entered.emit({\n container: this,\n item: event.item.data,\n currentIndex: event.currentIndex\n });\n });\n ref.exited.subscribe(event => {\n this.exited.emit({\n container: this,\n item: event.item.data\n });\n this._changeDetectorRef.markForCheck();\n });\n ref.sorted.subscribe(event => {\n this.sorted.emit({\n previousIndex: event.previousIndex,\n currentIndex: event.currentIndex,\n container: this,\n item: event.item.data\n });\n });\n ref.dropped.subscribe(event => {\n this.dropped.emit({\n previousIndex: event.previousIndex,\n currentIndex: event.currentIndex,\n previousContainer: event.previousContainer.data,\n container: event.container.data,\n item: event.item.data,\n isPointerOverContainer: event.isPointerOverContainer,\n distance: event.distance,\n dropPoint: event.dropPoint\n });\n // Mark for check since all of these events run outside of change\n // detection and we're not guaranteed for something else to have triggered it.\n this._changeDetectorRef.markForCheck();\n });\n }\n /** Assigns the default input values based on a provided config object. */\n _assignDefaults(config) {\n const { lockAxis, draggingDisabled, sortingDisabled, listAutoScrollDisabled, listOrientation } = config;\n this.disabled = draggingDisabled == null ? false : draggingDisabled;\n this.sortingDisabled = sortingDisabled == null ? false : sortingDisabled;\n this.autoScrollDisabled = listAutoScrollDisabled == null ? false : listAutoScrollDisabled;\n this.orientation = listOrientation || 'vertical';\n if (lockAxis) {\n this.lockAxis = lockAxis;\n }\n }\n /** Syncs up the registered drag items with underlying drop list ref. */\n _syncItemsWithRef() {\n this._dropListRef.withItems(this.getSortedItems().map(item => item._dragRef));\n }\n}\nCdkDropList.ɵfac = function CdkDropList_Factory(t) { return new (t || CdkDropList)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(DragDrop), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.ScrollDispatcher), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(CDK_DROP_LIST_GROUP, 12), ɵngcc0.ɵɵdirectiveInject(CDK_DRAG_CONFIG, 8)); };\nCdkDropList.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkDropList, selectors: [[\"\", \"cdkDropList\", \"\"], [\"cdk-drop-list\"]], hostAttrs: [1, \"cdk-drop-list\"], hostVars: 7, hostBindings: function CdkDropList_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"id\", ctx.id);\n ɵngcc0.ɵɵclassProp(\"cdk-drop-list-disabled\", ctx.disabled)(\"cdk-drop-list-dragging\", ctx._dropListRef.isDragging())(\"cdk-drop-list-receiving\", ctx._dropListRef.isReceiving());\n } }, inputs: { connectedTo: [\"cdkDropListConnectedTo\", \"connectedTo\"], id: \"id\", enterPredicate: [\"cdkDropListEnterPredicate\", \"enterPredicate\"], sortPredicate: [\"cdkDropListSortPredicate\", \"sortPredicate\"], disabled: [\"cdkDropListDisabled\", \"disabled\"], sortingDisabled: [\"cdkDropListSortingDisabled\", \"sortingDisabled\"], autoScrollDisabled: [\"cdkDropListAutoScrollDisabled\", \"autoScrollDisabled\"], orientation: [\"cdkDropListOrientation\", \"orientation\"], lockAxis: [\"cdkDropListLockAxis\", \"lockAxis\"], data: [\"cdkDropListData\", \"data\"], autoScrollStep: [\"cdkDropListAutoScrollStep\", \"autoScrollStep\"] }, outputs: { dropped: \"cdkDropListDropped\", entered: \"cdkDropListEntered\", exited: \"cdkDropListExited\", sorted: \"cdkDropListSorted\" }, exportAs: [\"cdkDropList\"], features: [ɵngcc0.ɵɵProvidersFeature([\n // Prevent child drop lists from picking up the same group as their parent.\n { provide: CDK_DROP_LIST_GROUP, useValue: ɵ0 },\n { provide: CDK_DROP_LIST, useExisting: CdkDropList },\n ])] });\n/** Keeps track of the drop lists that are currently on the page. */\nCdkDropList._dropLists = [];\nCdkDropList.ctorParameters = () => [\n { type: ElementRef },\n { type: DragDrop },\n { type: ChangeDetectorRef },\n { type: ScrollDispatcher },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: CdkDropListGroup, decorators: [{ type: Optional }, { type: Inject, args: [CDK_DROP_LIST_GROUP,] }, { type: SkipSelf }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [CDK_DRAG_CONFIG,] }] }\n];\nCdkDropList.propDecorators = {\n connectedTo: [{ type: Input, args: ['cdkDropListConnectedTo',] }],\n data: [{ type: Input, args: ['cdkDropListData',] }],\n orientation: [{ type: Input, args: ['cdkDropListOrientation',] }],\n id: [{ type: Input }],\n lockAxis: [{ type: Input, args: ['cdkDropListLockAxis',] }],\n disabled: [{ type: Input, args: ['cdkDropListDisabled',] }],\n sortingDisabled: [{ type: Input, args: ['cdkDropListSortingDisabled',] }],\n enterPredicate: [{ type: Input, args: ['cdkDropListEnterPredicate',] }],\n sortPredicate: [{ type: Input, args: ['cdkDropListSortPredicate',] }],\n autoScrollDisabled: [{ type: Input, args: ['cdkDropListAutoScrollDisabled',] }],\n autoScrollStep: [{ type: Input, args: ['cdkDropListAutoScrollStep',] }],\n dropped: [{ type: Output, args: ['cdkDropListDropped',] }],\n entered: [{ type: Output, args: ['cdkDropListEntered',] }],\n exited: [{ type: Output, args: ['cdkDropListExited',] }],\n sorted: [{ type: Output, args: ['cdkDropListSorted',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkDropList, [{\n type: Directive,\n args: [{\n selector: '[cdkDropList], cdk-drop-list',\n exportAs: 'cdkDropList',\n providers: [\n // Prevent child drop lists from picking up the same group as their parent.\n { provide: CDK_DROP_LIST_GROUP, useValue: ɵ0 },\n { provide: CDK_DROP_LIST, useExisting: CdkDropList },\n ],\n host: {\n 'class': 'cdk-drop-list',\n '[attr.id]': 'id',\n '[class.cdk-drop-list-disabled]': 'disabled',\n '[class.cdk-drop-list-dragging]': '_dropListRef.isDragging()',\n '[class.cdk-drop-list-receiving]': '_dropListRef.isReceiving()'\n }\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: DragDrop }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc1.ScrollDispatcher }, { type: ɵngcc2.Directionality, decorators: [{\n type: Optional\n }] }, { type: CdkDropListGroup, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_DROP_LIST_GROUP]\n }, {\n type: SkipSelf\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_DRAG_CONFIG]\n }] }]; }, { connectedTo: [{\n type: Input,\n args: ['cdkDropListConnectedTo']\n }], id: [{\n type: Input\n }], enterPredicate: [{\n type: Input,\n args: ['cdkDropListEnterPredicate']\n }], sortPredicate: [{\n type: Input,\n args: ['cdkDropListSortPredicate']\n }], dropped: [{\n type: Output,\n args: ['cdkDropListDropped']\n }], entered: [{\n type: Output,\n args: ['cdkDropListEntered']\n }], exited: [{\n type: Output,\n args: ['cdkDropListExited']\n }], sorted: [{\n type: Output,\n args: ['cdkDropListSorted']\n }], disabled: [{\n type: Input,\n args: ['cdkDropListDisabled']\n }], sortingDisabled: [{\n type: Input,\n args: ['cdkDropListSortingDisabled']\n }], autoScrollDisabled: [{\n type: Input,\n args: ['cdkDropListAutoScrollDisabled']\n }], orientation: [{\n type: Input,\n args: ['cdkDropListOrientation']\n }], lockAxis: [{\n type: Input,\n args: ['cdkDropListLockAxis']\n }], data: [{\n type: Input,\n args: ['cdkDropListData']\n }], autoScrollStep: [{\n type: Input,\n args: ['cdkDropListAutoScrollStep']\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 * Injection token that can be used to reference instances of `CdkDragHandle`. It serves as\n * alternative token to the actual `CdkDragHandle` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DRAG_HANDLE = new InjectionToken('CdkDragHandle');\n/** Handle that can be used to drag a CdkDrag instance. */\nclass CdkDragHandle {\n constructor(element, parentDrag) {\n this.element = element;\n /** Emits when the state of the handle has changed. */\n this._stateChanges = new Subject();\n this._disabled = false;\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n assertElementNode(element.nativeElement, 'cdkDragHandle');\n }\n this._parentDrag = parentDrag;\n }\n /** Whether starting to drag through this handle is disabled. */\n get disabled() { return this._disabled; }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._stateChanges.next(this);\n }\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n}\nCdkDragHandle.ɵfac = function CdkDragHandle_Factory(t) { return new (t || CdkDragHandle)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(CDK_DRAG_PARENT, 12)); };\nCdkDragHandle.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkDragHandle, selectors: [[\"\", \"cdkDragHandle\", \"\"]], hostAttrs: [1, \"cdk-drag-handle\"], inputs: { disabled: [\"cdkDragHandleDisabled\", \"disabled\"] }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CDK_DRAG_HANDLE, useExisting: CdkDragHandle }])] });\nCdkDragHandle.ctorParameters = () => [\n { type: ElementRef },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_DRAG_PARENT,] }, { type: Optional }, { type: SkipSelf }] }\n];\nCdkDragHandle.propDecorators = {\n disabled: [{ type: Input, args: ['cdkDragHandleDisabled',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkDragHandle, [{\n type: Directive,\n args: [{\n selector: '[cdkDragHandle]',\n host: {\n 'class': 'cdk-drag-handle'\n },\n providers: [{ provide: CDK_DRAG_HANDLE, useExisting: CdkDragHandle }]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_DRAG_PARENT]\n }, {\n type: Optional\n }, {\n type: SkipSelf\n }] }]; }, { disabled: [{\n type: Input,\n args: ['cdkDragHandleDisabled']\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 * Injection token that can be used to reference instances of `CdkDragPlaceholder`. It serves as\n * alternative token to the actual `CdkDragPlaceholder` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DRAG_PLACEHOLDER = new InjectionToken('CdkDragPlaceholder');\n/**\n * Element that will be used as a template for the placeholder of a CdkDrag when\n * it is being dragged. The placeholder is displayed in place of the element being dragged.\n */\nclass CdkDragPlaceholder {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n}\nCdkDragPlaceholder.ɵfac = function CdkDragPlaceholder_Factory(t) { return new (t || CdkDragPlaceholder)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkDragPlaceholder.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkDragPlaceholder, selectors: [[\"ng-template\", \"cdkDragPlaceholder\", \"\"]], inputs: { data: \"data\" }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CDK_DRAG_PLACEHOLDER, useExisting: CdkDragPlaceholder }])] });\nCdkDragPlaceholder.ctorParameters = () => [\n { type: TemplateRef }\n];\nCdkDragPlaceholder.propDecorators = {\n data: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkDragPlaceholder, [{\n type: Directive,\n args: [{\n selector: 'ng-template[cdkDragPlaceholder]',\n providers: [{ provide: CDK_DRAG_PLACEHOLDER, useExisting: CdkDragPlaceholder }]\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, { data: [{\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 * Injection token that can be used to reference instances of `CdkDragPreview`. It serves as\n * alternative token to the actual `CdkDragPreview` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DRAG_PREVIEW = new InjectionToken('CdkDragPreview');\n/**\n * Element that will be used as a template for the preview\n * of a CdkDrag when it is being dragged.\n */\nclass CdkDragPreview {\n constructor(templateRef) {\n this.templateRef = templateRef;\n this._matchSize = false;\n }\n /** Whether the preview should preserve the same size as the item that is being dragged. */\n get matchSize() { return this._matchSize; }\n set matchSize(value) { this._matchSize = coerceBooleanProperty(value); }\n}\nCdkDragPreview.ɵfac = function CdkDragPreview_Factory(t) { return new (t || CdkDragPreview)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkDragPreview.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkDragPreview, selectors: [[\"ng-template\", \"cdkDragPreview\", \"\"]], inputs: { matchSize: \"matchSize\", data: \"data\" }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CDK_DRAG_PREVIEW, useExisting: CdkDragPreview }])] });\nCdkDragPreview.ctorParameters = () => [\n { type: TemplateRef }\n];\nCdkDragPreview.propDecorators = {\n data: [{ type: Input }],\n matchSize: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkDragPreview, [{\n type: Directive,\n args: [{\n selector: 'ng-template[cdkDragPreview]',\n providers: [{ provide: CDK_DRAG_PREVIEW, useExisting: CdkDragPreview }]\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, { matchSize: [{\n type: Input\n }], data: [{\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 */\nconst DRAG_HOST_CLASS = 'cdk-drag';\n/** Element that can be moved inside a CdkDropList container. */\nclass CdkDrag {\n constructor(\n /** Element that the draggable is attached to. */\n element, \n /** Droppable container that the draggable is a part of. */\n dropContainer, \n /**\n * @deprecated `_document` parameter no longer being used and will be removed.\n * @breaking-change 12.0.0\n */\n _document, _ngZone, _viewContainerRef, config, _dir, dragDrop, _changeDetectorRef, _selfHandle, _parentDrag) {\n this.element = element;\n this.dropContainer = dropContainer;\n this._ngZone = _ngZone;\n this._viewContainerRef = _viewContainerRef;\n this._dir = _dir;\n this._changeDetectorRef = _changeDetectorRef;\n this._selfHandle = _selfHandle;\n this._parentDrag = _parentDrag;\n this._destroyed = new Subject();\n /** Emits when the user starts dragging the item. */\n this.started = new EventEmitter();\n /** Emits when the user has released a drag item, before any animations have started. */\n this.released = new EventEmitter();\n /** Emits when the user stops dragging an item in the container. */\n this.ended = new EventEmitter();\n /** Emits when the user has moved the item into a new container. */\n this.entered = new EventEmitter();\n /** Emits when the user removes the item its container by dragging it into another container. */\n this.exited = new EventEmitter();\n /** Emits when the user drops the item inside a container. */\n this.dropped = new EventEmitter();\n /**\n * Emits as the user is dragging the item. Use with caution,\n * because this event will fire for every pixel that the user has dragged.\n */\n this.moved = new Observable((observer) => {\n const subscription = this._dragRef.moved.pipe(map(movedEvent => ({\n source: this,\n pointerPosition: movedEvent.pointerPosition,\n event: movedEvent.event,\n delta: movedEvent.delta,\n distance: movedEvent.distance\n }))).subscribe(observer);\n return () => {\n subscription.unsubscribe();\n };\n });\n this._dragRef = dragDrop.createDrag(element, {\n dragStartThreshold: config && config.dragStartThreshold != null ?\n config.dragStartThreshold : 5,\n pointerDirectionChangeThreshold: config && config.pointerDirectionChangeThreshold != null ?\n config.pointerDirectionChangeThreshold : 5,\n zIndex: config === null || config === void 0 ? void 0 : config.zIndex,\n });\n this._dragRef.data = this;\n // We have to keep track of the drag instances in order to be able to match an element to\n // a drag instance. We can't go through the global registry of `DragRef`, because the root\n // element could be different.\n CdkDrag._dragInstances.push(this);\n if (config) {\n this._assignDefaults(config);\n }\n // Note that usually the container is assigned when the drop list is picks up the item, but in\n // some cases (mainly transplanted views with OnPush, see #18341) we may end up in a situation\n // where there are no items on the first change detection pass, but the items get picked up as\n // soon as the user triggers another pass by dragging. This is a problem, because the item would\n // have to switch from standalone mode to drag mode in the middle of the dragging sequence which\n // is too late since the two modes save different kinds of information. We work around it by\n // assigning the drop container both from here and the list.\n if (dropContainer) {\n this._dragRef._withDropContainer(dropContainer._dropListRef);\n dropContainer.addItem(this);\n }\n this._syncInputs(this._dragRef);\n this._handleEvents(this._dragRef);\n }\n /** Whether starting to drag this element is disabled. */\n get disabled() {\n return this._disabled || (this.dropContainer && this.dropContainer.disabled);\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._dragRef.disabled = this._disabled;\n }\n /**\n * Returns the element that is being used as a placeholder\n * while the current element is being dragged.\n */\n getPlaceholderElement() {\n return this._dragRef.getPlaceholderElement();\n }\n /** Returns the root draggable element. */\n getRootElement() {\n return this._dragRef.getRootElement();\n }\n /** Resets a standalone drag item to its initial position. */\n reset() {\n this._dragRef.reset();\n }\n /**\n * Gets the pixel coordinates of the draggable outside of a drop container.\n */\n getFreeDragPosition() {\n return this._dragRef.getFreeDragPosition();\n }\n ngAfterViewInit() {\n // Normally this isn't in the zone, but it can cause major performance regressions for apps\n // using `zone-patch-rxjs` because it'll trigger a change detection when it unsubscribes.\n this._ngZone.runOutsideAngular(() => {\n // We need to wait for the zone to stabilize, in order for the reference\n // element to be in the proper place in the DOM. This is mostly relevant\n // for draggable elements inside portals since they get stamped out in\n // their original DOM position and then they get transferred to the portal.\n this._ngZone.onStable\n .pipe(take(1), takeUntil(this._destroyed))\n .subscribe(() => {\n this._updateRootElement();\n this._setupHandlesListener();\n if (this.freeDragPosition) {\n this._dragRef.setFreeDragPosition(this.freeDragPosition);\n }\n });\n });\n }\n ngOnChanges(changes) {\n const rootSelectorChange = changes['rootElementSelector'];\n const positionChange = changes['freeDragPosition'];\n // We don't have to react to the first change since it's being\n // handled in `ngAfterViewInit` where it needs to be deferred.\n if (rootSelectorChange && !rootSelectorChange.firstChange) {\n this._updateRootElement();\n }\n // Skip the first change since it's being handled in `ngAfterViewInit`.\n if (positionChange && !positionChange.firstChange && this.freeDragPosition) {\n this._dragRef.setFreeDragPosition(this.freeDragPosition);\n }\n }\n ngOnDestroy() {\n if (this.dropContainer) {\n this.dropContainer.removeItem(this);\n }\n const index = CdkDrag._dragInstances.indexOf(this);\n if (index > -1) {\n CdkDrag._dragInstances.splice(index, 1);\n }\n // Unnecessary in most cases, but used to avoid extra change detections with `zone-paths-rxjs`.\n this._ngZone.runOutsideAngular(() => {\n this._destroyed.next();\n this._destroyed.complete();\n this._dragRef.dispose();\n });\n }\n /** Syncs the root element with the `DragRef`. */\n _updateRootElement() {\n const element = this.element.nativeElement;\n const rootElement = this.rootElementSelector ?\n getClosestMatchingAncestor(element, this.rootElementSelector) : element;\n if (rootElement && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n assertElementNode(rootElement, 'cdkDrag');\n }\n this._dragRef.withRootElement(rootElement || element);\n }\n /** Gets the boundary element, based on the `boundaryElement` value. */\n _getBoundaryElement() {\n const boundary = this.boundaryElement;\n if (!boundary) {\n return null;\n }\n if (typeof boundary === 'string') {\n return getClosestMatchingAncestor(this.element.nativeElement, boundary);\n }\n const element = coerceElement(boundary);\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n !element.contains(this.element.nativeElement)) {\n throw Error('Draggable element is not inside of the node passed into cdkDragBoundary.');\n }\n return element;\n }\n /** Syncs the inputs of the CdkDrag with the options of the underlying DragRef. */\n _syncInputs(ref) {\n ref.beforeStarted.subscribe(() => {\n if (!ref.isDragging()) {\n const dir = this._dir;\n const dragStartDelay = this.dragStartDelay;\n const placeholder = this._placeholderTemplate ? {\n template: this._placeholderTemplate.templateRef,\n context: this._placeholderTemplate.data,\n viewContainer: this._viewContainerRef\n } : null;\n const preview = this._previewTemplate ? {\n template: this._previewTemplate.templateRef,\n context: this._previewTemplate.data,\n matchSize: this._previewTemplate.matchSize,\n viewContainer: this._viewContainerRef\n } : null;\n ref.disabled = this.disabled;\n ref.lockAxis = this.lockAxis;\n ref.dragStartDelay = (typeof dragStartDelay === 'object' && dragStartDelay) ?\n dragStartDelay : coerceNumberProperty(dragStartDelay);\n ref.constrainPosition = this.constrainPosition;\n ref.previewClass = this.previewClass;\n ref\n .withBoundaryElement(this._getBoundaryElement())\n .withPlaceholderTemplate(placeholder)\n .withPreviewTemplate(preview)\n .withPreviewContainer(this.previewContainer || 'global');\n if (dir) {\n ref.withDirection(dir.value);\n }\n }\n });\n // This only needs to be resolved once.\n ref.beforeStarted.pipe(take(1)).subscribe(() => {\n var _a, _b;\n // If we managed to resolve a parent through DI, use it.\n if (this._parentDrag) {\n ref.withParent(this._parentDrag._dragRef);\n return;\n }\n // Otherwise fall back to resolving the parent by looking up the DOM. This can happen if\n // the item was projected into another item by something like `ngTemplateOutlet`.\n let parent = this.element.nativeElement.parentElement;\n while (parent) {\n // `classList` needs to be null checked, because IE doesn't have it on some elements.\n if ((_a = parent.classList) === null || _a === void 0 ? void 0 : _a.contains(DRAG_HOST_CLASS)) {\n ref.withParent(((_b = CdkDrag._dragInstances.find(drag => {\n return drag.element.nativeElement === parent;\n })) === null || _b === void 0 ? void 0 : _b._dragRef) || null);\n break;\n }\n parent = parent.parentElement;\n }\n });\n }\n /** Handles the events from the underlying `DragRef`. */\n _handleEvents(ref) {\n ref.started.subscribe(() => {\n this.started.emit({ source: this });\n // Since all of these events run outside of change detection,\n // we need to ensure that everything is marked correctly.\n this._changeDetectorRef.markForCheck();\n });\n ref.released.subscribe(() => {\n this.released.emit({ source: this });\n });\n ref.ended.subscribe(event => {\n this.ended.emit({\n source: this,\n distance: event.distance,\n dropPoint: event.dropPoint\n });\n // Since all of these events run outside of change detection,\n // we need to ensure that everything is marked correctly.\n this._changeDetectorRef.markForCheck();\n });\n ref.entered.subscribe(event => {\n this.entered.emit({\n container: event.container.data,\n item: this,\n currentIndex: event.currentIndex\n });\n });\n ref.exited.subscribe(event => {\n this.exited.emit({\n container: event.container.data,\n item: this\n });\n });\n ref.dropped.subscribe(event => {\n this.dropped.emit({\n previousIndex: event.previousIndex,\n currentIndex: event.currentIndex,\n previousContainer: event.previousContainer.data,\n container: event.container.data,\n isPointerOverContainer: event.isPointerOverContainer,\n item: this,\n distance: event.distance,\n dropPoint: event.dropPoint\n });\n });\n }\n /** Assigns the default input values based on a provided config object. */\n _assignDefaults(config) {\n const { lockAxis, dragStartDelay, constrainPosition, previewClass, boundaryElement, draggingDisabled, rootElementSelector, previewContainer } = config;\n this.disabled = draggingDisabled == null ? false : draggingDisabled;\n this.dragStartDelay = dragStartDelay || 0;\n if (lockAxis) {\n this.lockAxis = lockAxis;\n }\n if (constrainPosition) {\n this.constrainPosition = constrainPosition;\n }\n if (previewClass) {\n this.previewClass = previewClass;\n }\n if (boundaryElement) {\n this.boundaryElement = boundaryElement;\n }\n if (rootElementSelector) {\n this.rootElementSelector = rootElementSelector;\n }\n if (previewContainer) {\n this.previewContainer = previewContainer;\n }\n }\n /** Sets up the listener that syncs the handles with the drag ref. */\n _setupHandlesListener() {\n // Listen for any newly-added handles.\n this._handles.changes.pipe(startWith(this._handles), \n // Sync the new handles with the DragRef.\n tap((handles) => {\n const childHandleElements = handles\n .filter(handle => handle._parentDrag === this)\n .map(handle => handle.element);\n // Usually handles are only allowed to be a descendant of the drag element, but if\n // the consumer defined a different drag root, we should allow the drag element\n // itself to be a handle too.\n if (this._selfHandle && this.rootElementSelector) {\n childHandleElements.push(this.element);\n }\n this._dragRef.withHandles(childHandleElements);\n }), \n // Listen if the state of any of the handles changes.\n switchMap((handles) => {\n return merge(...handles.map(item => {\n return item._stateChanges.pipe(startWith(item));\n }));\n }), takeUntil(this._destroyed)).subscribe(handleInstance => {\n // Enabled/disable the handle that changed in the DragRef.\n const dragRef = this._dragRef;\n const handle = handleInstance.element.nativeElement;\n handleInstance.disabled ? dragRef.disableHandle(handle) : dragRef.enableHandle(handle);\n });\n }\n}\nCdkDrag.ɵfac = function CdkDrag_Factory(t) { return new (t || CdkDrag)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(CDK_DROP_LIST, 12), ɵngcc0.ɵɵdirectiveInject(DOCUMENT), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(CDK_DRAG_CONFIG, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(DragDrop), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(CDK_DRAG_HANDLE, 10), ɵngcc0.ɵɵdirectiveInject(CDK_DRAG_PARENT, 12)); };\nCdkDrag.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkDrag, selectors: [[\"\", \"cdkDrag\", \"\"]], contentQueries: function CdkDrag_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, CDK_DRAG_PREVIEW, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CDK_DRAG_PLACEHOLDER, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CDK_DRAG_HANDLE, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._previewTemplate = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._placeholderTemplate = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._handles = _t);\n } }, hostAttrs: [1, \"cdk-drag\"], hostVars: 4, hostBindings: function CdkDrag_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"cdk-drag-disabled\", ctx.disabled)(\"cdk-drag-dragging\", ctx._dragRef.isDragging());\n } }, inputs: { disabled: [\"cdkDragDisabled\", \"disabled\"], dragStartDelay: [\"cdkDragStartDelay\", \"dragStartDelay\"], lockAxis: [\"cdkDragLockAxis\", \"lockAxis\"], constrainPosition: [\"cdkDragConstrainPosition\", \"constrainPosition\"], previewClass: [\"cdkDragPreviewClass\", \"previewClass\"], boundaryElement: [\"cdkDragBoundary\", \"boundaryElement\"], rootElementSelector: [\"cdkDragRootElement\", \"rootElementSelector\"], previewContainer: [\"cdkDragPreviewContainer\", \"previewContainer\"], data: [\"cdkDragData\", \"data\"], freeDragPosition: [\"cdkDragFreeDragPosition\", \"freeDragPosition\"] }, outputs: { started: \"cdkDragStarted\", released: \"cdkDragReleased\", ended: \"cdkDragEnded\", entered: \"cdkDragEntered\", exited: \"cdkDragExited\", dropped: \"cdkDragDropped\", moved: \"cdkDragMoved\" }, exportAs: [\"cdkDrag\"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: CDK_DRAG_PARENT, useExisting: CdkDrag }]), ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkDrag._dragInstances = [];\nCdkDrag.ctorParameters = () => [\n { type: ElementRef },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_DROP_LIST,] }, { type: Optional }, { type: SkipSelf }] },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: NgZone },\n { type: ViewContainerRef },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [CDK_DRAG_CONFIG,] }] },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: DragDrop },\n { type: ChangeDetectorRef },\n { type: CdkDragHandle, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [CDK_DRAG_HANDLE,] }] },\n { type: CdkDrag, decorators: [{ type: Optional }, { type: SkipSelf }, { type: Inject, args: [CDK_DRAG_PARENT,] }] }\n];\nCdkDrag.propDecorators = {\n _handles: [{ type: ContentChildren, args: [CDK_DRAG_HANDLE, { descendants: true },] }],\n _previewTemplate: [{ type: ContentChild, args: [CDK_DRAG_PREVIEW,] }],\n _placeholderTemplate: [{ type: ContentChild, args: [CDK_DRAG_PLACEHOLDER,] }],\n data: [{ type: Input, args: ['cdkDragData',] }],\n lockAxis: [{ type: Input, args: ['cdkDragLockAxis',] }],\n rootElementSelector: [{ type: Input, args: ['cdkDragRootElement',] }],\n boundaryElement: [{ type: Input, args: ['cdkDragBoundary',] }],\n dragStartDelay: [{ type: Input, args: ['cdkDragStartDelay',] }],\n freeDragPosition: [{ type: Input, args: ['cdkDragFreeDragPosition',] }],\n disabled: [{ type: Input, args: ['cdkDragDisabled',] }],\n constrainPosition: [{ type: Input, args: ['cdkDragConstrainPosition',] }],\n previewClass: [{ type: Input, args: ['cdkDragPreviewClass',] }],\n previewContainer: [{ type: Input, args: ['cdkDragPreviewContainer',] }],\n started: [{ type: Output, args: ['cdkDragStarted',] }],\n released: [{ type: Output, args: ['cdkDragReleased',] }],\n ended: [{ type: Output, args: ['cdkDragEnded',] }],\n entered: [{ type: Output, args: ['cdkDragEntered',] }],\n exited: [{ type: Output, args: ['cdkDragExited',] }],\n dropped: [{ type: Output, args: ['cdkDragDropped',] }],\n moved: [{ type: Output, args: ['cdkDragMoved',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkDrag, [{\n type: Directive,\n args: [{\n selector: '[cdkDrag]',\n exportAs: 'cdkDrag',\n host: {\n 'class': DRAG_HOST_CLASS,\n '[class.cdk-drag-disabled]': 'disabled',\n '[class.cdk-drag-dragging]': '_dragRef.isDragging()'\n },\n providers: [{ provide: CDK_DRAG_PARENT, useExisting: CdkDrag }]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_DROP_LIST]\n }, {\n type: Optional\n }, {\n type: SkipSelf\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_DRAG_CONFIG]\n }] }, { type: ɵngcc2.Directionality, decorators: [{\n type: Optional\n }] }, { type: DragDrop }, { type: ɵngcc0.ChangeDetectorRef }, { type: CdkDragHandle, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [CDK_DRAG_HANDLE]\n }] }, { type: CdkDrag, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }, {\n type: Inject,\n args: [CDK_DRAG_PARENT]\n }] }]; }, { started: [{\n type: Output,\n args: ['cdkDragStarted']\n }], released: [{\n type: Output,\n args: ['cdkDragReleased']\n }], ended: [{\n type: Output,\n args: ['cdkDragEnded']\n }], entered: [{\n type: Output,\n args: ['cdkDragEntered']\n }], exited: [{\n type: Output,\n args: ['cdkDragExited']\n }], dropped: [{\n type: Output,\n args: ['cdkDragDropped']\n }], moved: [{\n type: Output,\n args: ['cdkDragMoved']\n }], disabled: [{\n type: Input,\n args: ['cdkDragDisabled']\n }], dragStartDelay: [{\n type: Input,\n args: ['cdkDragStartDelay']\n }], lockAxis: [{\n type: Input,\n args: ['cdkDragLockAxis']\n }], constrainPosition: [{\n type: Input,\n args: ['cdkDragConstrainPosition']\n }], previewClass: [{\n type: Input,\n args: ['cdkDragPreviewClass']\n }], boundaryElement: [{\n type: Input,\n args: ['cdkDragBoundary']\n }], rootElementSelector: [{\n type: Input,\n args: ['cdkDragRootElement']\n }], previewContainer: [{\n type: Input,\n args: ['cdkDragPreviewContainer']\n }], _handles: [{\n type: ContentChildren,\n args: [CDK_DRAG_HANDLE, { descendants: true }]\n }], _previewTemplate: [{\n type: ContentChild,\n args: [CDK_DRAG_PREVIEW]\n }], _placeholderTemplate: [{\n type: ContentChild,\n args: [CDK_DRAG_PLACEHOLDER]\n }], data: [{\n type: Input,\n args: ['cdkDragData']\n }], freeDragPosition: [{\n type: Input,\n args: ['cdkDragFreeDragPosition']\n }] }); })();\n/** Gets the closest ancestor of an element that matches a selector. */\nfunction getClosestMatchingAncestor(element, selector) {\n let currentElement = element.parentElement;\n while (currentElement) {\n // IE doesn't support `matches` so we have to fall back to `msMatchesSelector`.\n if (currentElement.matches ? currentElement.matches(selector) :\n currentElement.msMatchesSelector(selector)) {\n return currentElement;\n }\n currentElement = currentElement.parentElement;\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 */\nclass DragDropModule {\n}\nDragDropModule.ɵfac = function DragDropModule_Factory(t) { return new (t || DragDropModule)(); };\nDragDropModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: DragDropModule });\nDragDropModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [\n DragDrop,\n ], imports: [CdkScrollableModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DragDropModule, [{\n type: NgModule,\n args: [{\n declarations: [\n CdkDropList,\n CdkDropListGroup,\n CdkDrag,\n CdkDragHandle,\n CdkDragPreview,\n CdkDragPlaceholder,\n ],\n exports: [\n CdkScrollableModule,\n CdkDropList,\n CdkDropListGroup,\n CdkDrag,\n CdkDragHandle,\n CdkDragPreview,\n CdkDragPlaceholder,\n ],\n providers: [\n DragDrop,\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(DragDropModule, { declarations: function () { return [CdkDropList, CdkDropListGroup, CdkDrag, CdkDragHandle, CdkDragPreview, CdkDragPlaceholder]; }, exports: function () { return [CdkScrollableModule, CdkDropList, CdkDropListGroup, CdkDrag, CdkDragHandle, CdkDragPreview, CdkDragPlaceholder]; } }); })();\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 { CDK_DRAG_CONFIG, CDK_DRAG_HANDLE, CDK_DRAG_PARENT, CDK_DRAG_PLACEHOLDER, CDK_DRAG_PREVIEW, CDK_DROP_LIST, CDK_DROP_LIST_GROUP, CdkDrag, CdkDragHandle, CdkDragPlaceholder, CdkDragPreview, CdkDropList, CdkDropListGroup, DragDrop, DragDropModule, DragDropRegistry, DragRef, DropListRef, copyArrayItem, moveItemInArray, transferArrayItem };\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 MAC_ENTER = 3;\nconst BACKSPACE = 8;\nconst TAB = 9;\nconst NUM_CENTER = 12;\nconst ENTER = 13;\nconst SHIFT = 16;\nconst CONTROL = 17;\nconst ALT = 18;\nconst PAUSE = 19;\nconst CAPS_LOCK = 20;\nconst ESCAPE = 27;\nconst SPACE = 32;\nconst PAGE_UP = 33;\nconst PAGE_DOWN = 34;\nconst END = 35;\nconst HOME = 36;\nconst LEFT_ARROW = 37;\nconst UP_ARROW = 38;\nconst RIGHT_ARROW = 39;\nconst DOWN_ARROW = 40;\nconst PLUS_SIGN = 43;\nconst PRINT_SCREEN = 44;\nconst INSERT = 45;\nconst DELETE = 46;\nconst ZERO = 48;\nconst ONE = 49;\nconst TWO = 50;\nconst THREE = 51;\nconst FOUR = 52;\nconst FIVE = 53;\nconst SIX = 54;\nconst SEVEN = 55;\nconst EIGHT = 56;\nconst NINE = 57;\nconst FF_SEMICOLON = 59; // Firefox (Gecko) fires this for semicolon instead of 186\nconst FF_EQUALS = 61; // Firefox (Gecko) fires this for equals instead of 187\nconst QUESTION_MARK = 63;\nconst AT_SIGN = 64;\nconst A = 65;\nconst B = 66;\nconst C = 67;\nconst D = 68;\nconst E = 69;\nconst F = 70;\nconst G = 71;\nconst H = 72;\nconst I = 73;\nconst J = 74;\nconst K = 75;\nconst L = 76;\nconst M = 77;\nconst N = 78;\nconst O = 79;\nconst P = 80;\nconst Q = 81;\nconst R = 82;\nconst S = 83;\nconst T = 84;\nconst U = 85;\nconst V = 86;\nconst W = 87;\nconst X = 88;\nconst Y = 89;\nconst Z = 90;\nconst META = 91; // WIN_KEY_LEFT\nconst MAC_WK_CMD_LEFT = 91;\nconst MAC_WK_CMD_RIGHT = 93;\nconst CONTEXT_MENU = 93;\nconst NUMPAD_ZERO = 96;\nconst NUMPAD_ONE = 97;\nconst NUMPAD_TWO = 98;\nconst NUMPAD_THREE = 99;\nconst NUMPAD_FOUR = 100;\nconst NUMPAD_FIVE = 101;\nconst NUMPAD_SIX = 102;\nconst NUMPAD_SEVEN = 103;\nconst NUMPAD_EIGHT = 104;\nconst NUMPAD_NINE = 105;\nconst NUMPAD_MULTIPLY = 106;\nconst NUMPAD_PLUS = 107;\nconst NUMPAD_MINUS = 109;\nconst NUMPAD_PERIOD = 110;\nconst NUMPAD_DIVIDE = 111;\nconst F1 = 112;\nconst F2 = 113;\nconst F3 = 114;\nconst F4 = 115;\nconst F5 = 116;\nconst F6 = 117;\nconst F7 = 118;\nconst F8 = 119;\nconst F9 = 120;\nconst F10 = 121;\nconst F11 = 122;\nconst F12 = 123;\nconst NUM_LOCK = 144;\nconst SCROLL_LOCK = 145;\nconst FIRST_MEDIA = 166;\nconst FF_MINUS = 173;\nconst MUTE = 173; // Firefox (Gecko) fires 181 for MUTE\nconst VOLUME_DOWN = 174; // Firefox (Gecko) fires 182 for VOLUME_DOWN\nconst VOLUME_UP = 175; // Firefox (Gecko) fires 183 for VOLUME_UP\nconst FF_MUTE = 181;\nconst FF_VOLUME_DOWN = 182;\nconst LAST_MEDIA = 183;\nconst FF_VOLUME_UP = 183;\nconst SEMICOLON = 186; // Firefox (Gecko) fires 59 for SEMICOLON\nconst EQUALS = 187; // Firefox (Gecko) fires 61 for EQUALS\nconst COMMA = 188;\nconst DASH = 189; // Firefox (Gecko) fires 173 for DASH/MINUS\nconst PERIOD = 190;\nconst SLASH = 191;\nconst APOSTROPHE = 192;\nconst TILDE = 192;\nconst OPEN_SQUARE_BRACKET = 219;\nconst BACKSLASH = 220;\nconst CLOSE_SQUARE_BRACKET = 221;\nconst SINGLE_QUOTE = 222;\nconst MAC_META = 224;\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 * Checks whether a modifier key is pressed.\n * @param event Event to be checked.\n */\nfunction hasModifierKey(event, ...modifiers) {\n if (modifiers.length) {\n return modifiers.some(modifier => event[modifier]);\n }\n return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A, ALT, APOSTROPHE, AT_SIGN, B, BACKSLASH, BACKSPACE, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, D, DASH, DELETE, DOWN_ARROW, E, EIGHT, END, ENTER, EQUALS, ESCAPE, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FOUR, G, H, HOME, I, INSERT, J, K, L, LAST_MEDIA, LEFT_ARROW, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, META, MUTE, N, NINE, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PAUSE, PERIOD, PLUS_SIGN, PRINT_SCREEN, Q, QUESTION_MARK, R, RIGHT_ARROW, S, SCROLL_LOCK, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, T, TAB, THREE, TILDE, TWO, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, W, X, Y, Z, ZERO, hasModifierKey };\n\n","import * as i0 from '@angular/core';\nimport { NgModule, Injectable, NgZone } from '@angular/core';\nimport { coerceArray } from '@angular/cdk/coercion';\nimport { Subject, combineLatest, concat, Observable } from 'rxjs';\nimport { take, skip, debounceTime, map, startWith, takeUntil } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/platform';\nimport { Platform } from '@angular/cdk/platform';\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 */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nclass LayoutModule {\n}\nLayoutModule.ɵfac = function LayoutModule_Factory(t) { return new (t || LayoutModule)(); };\nLayoutModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: LayoutModule });\nLayoutModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LayoutModule, [{\n type: NgModule,\n args: [{}]\n }], null, null); })();\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/** Global registry for all dynamically-created, injected media queries. */\nconst mediaQueriesForWebkitCompatibility = new Set();\n/** Style tag that holds all of the dynamically-created media queries. */\nlet mediaQueryStyleNode;\n/** A utility for calling matchMedia queries. */\nclass MediaMatcher {\n constructor(_platform) {\n this._platform = _platform;\n this._matchMedia = this._platform.isBrowser && window.matchMedia ?\n // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n // call it from a different scope.\n window.matchMedia.bind(window) :\n noopMatchMedia;\n }\n /**\n * Evaluates the given media query and returns the native MediaQueryList from which results\n * can be retrieved.\n * Confirms the layout engine will trigger for the selector query provided and returns the\n * MediaQueryList for the query provided.\n */\n matchMedia(query) {\n if (this._platform.WEBKIT || this._platform.BLINK) {\n createEmptyStyleRule(query);\n }\n return this._matchMedia(query);\n }\n}\nMediaMatcher.ɵfac = function MediaMatcher_Factory(t) { return new (t || MediaMatcher)(ɵngcc0.ɵɵinject(ɵngcc1.Platform)); };\nMediaMatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function MediaMatcher_Factory() { return new MediaMatcher(i0.ɵɵinject(i1.Platform)); }, token: MediaMatcher, providedIn: \"root\" });\nMediaMatcher.ctorParameters = () => [\n { type: Platform }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MediaMatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }]; }, null); })();\n/**\n * Creates an empty stylesheet that is used to work around browser inconsistencies related to\n * `matchMedia`. At the time of writing, it handles the following cases:\n * 1. On WebKit browsers, a media query has to have at least one rule in order for `matchMedia`\n * to fire. We work around it by declaring a dummy stylesheet with a `@media` declaration.\n * 2. In some cases Blink browsers will stop firing the `matchMedia` listener if none of the rules\n * inside the `@media` match existing elements on the page. We work around it by having one rule\n * targeting the `body`. See https://github.com/angular/components/issues/23546.\n */\nfunction createEmptyStyleRule(query) {\n if (mediaQueriesForWebkitCompatibility.has(query)) {\n return;\n }\n try {\n if (!mediaQueryStyleNode) {\n mediaQueryStyleNode = document.createElement('style');\n mediaQueryStyleNode.setAttribute('type', 'text/css');\n document.head.appendChild(mediaQueryStyleNode);\n }\n if (mediaQueryStyleNode.sheet) {\n mediaQueryStyleNode.sheet.insertRule(`@media ${query} {body{ }}`, 0);\n mediaQueriesForWebkitCompatibility.add(query);\n }\n }\n catch (e) {\n console.error(e);\n }\n}\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query) {\n // Use `as any` here to avoid adding additional necessary properties for\n // the noop matcher.\n return {\n matches: query === 'all' || query === '',\n media: query,\n addListener: () => { },\n removeListener: () => { }\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/** Utility for checking the matching state of @media queries. */\nclass BreakpointObserver {\n constructor(_mediaMatcher, _zone) {\n this._mediaMatcher = _mediaMatcher;\n this._zone = _zone;\n /** A map of all media queries currently being listened for. */\n this._queries = new Map();\n /** A subject for all other observables to takeUntil based on. */\n this._destroySubject = new Subject();\n }\n /** Completes the active subject, signalling to all other observables to complete. */\n ngOnDestroy() {\n this._destroySubject.next();\n this._destroySubject.complete();\n }\n /**\n * Whether one or more media queries match the current viewport size.\n * @param value One or more media queries to check.\n * @returns Whether any of the media queries match.\n */\n isMatched(value) {\n const queries = splitQueries(coerceArray(value));\n return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n }\n /**\n * Gets an observable of results for the given queries that will emit new results for any changes\n * in matching of the given queries.\n * @param value One or more media queries to check.\n * @returns A stream of matches for the given queries.\n */\n observe(value) {\n const queries = splitQueries(coerceArray(value));\n const observables = queries.map(query => this._registerQuery(query).observable);\n let stateObservable = combineLatest(observables);\n // Emit the first state immediately, and then debounce the subsequent emissions.\n stateObservable = concat(stateObservable.pipe(take(1)), stateObservable.pipe(skip(1), debounceTime(0)));\n return stateObservable.pipe(map(breakpointStates => {\n const response = {\n matches: false,\n breakpoints: {},\n };\n breakpointStates.forEach(({ matches, query }) => {\n response.matches = response.matches || matches;\n response.breakpoints[query] = matches;\n });\n return response;\n }));\n }\n /** Registers a specific query to be listened for. */\n _registerQuery(query) {\n // Only set up a new MediaQueryList if it is not already being listened for.\n if (this._queries.has(query)) {\n return this._queries.get(query);\n }\n const mql = this._mediaMatcher.matchMedia(query);\n // Create callback for match changes and add it is as a listener.\n const queryObservable = new Observable((observer) => {\n // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n // back into the zone because matchMedia is only included in Zone.js by loading the\n // webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not\n // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js\n // patches it.\n const handler = (e) => this._zone.run(() => observer.next(e));\n mql.addListener(handler);\n return () => {\n mql.removeListener(handler);\n };\n }).pipe(startWith(mql), map(({ matches }) => ({ query, matches })), takeUntil(this._destroySubject));\n // Add the MediaQueryList to the set of queries.\n const output = { observable: queryObservable, mql };\n this._queries.set(query, output);\n return output;\n }\n}\nBreakpointObserver.ɵfac = function BreakpointObserver_Factory(t) { return new (t || BreakpointObserver)(ɵngcc0.ɵɵinject(MediaMatcher), ɵngcc0.ɵɵinject(ɵngcc0.NgZone)); };\nBreakpointObserver.ɵprov = i0.ɵɵdefineInjectable({ factory: function BreakpointObserver_Factory() { return new BreakpointObserver(i0.ɵɵinject(MediaMatcher), i0.ɵɵinject(i0.NgZone)); }, token: BreakpointObserver, providedIn: \"root\" });\nBreakpointObserver.ctorParameters = () => [\n { type: MediaMatcher },\n { type: NgZone }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BreakpointObserver, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: MediaMatcher }, { type: ɵngcc0.NgZone }]; }, null); })();\n/**\n * Split each query string into separate query strings if two queries are provided as comma\n * separated.\n */\nfunction splitQueries(queries) {\n return queries.map(query => query.split(','))\n .reduce((a1, a2) => a1.concat(a2))\n .map(query => query.trim());\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// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nconst Breakpoints = {\n XSmall: '(max-width: 599.98px)',\n Small: '(min-width: 600px) and (max-width: 959.98px)',\n Medium: '(min-width: 960px) and (max-width: 1279.98px)',\n Large: '(min-width: 1280px) and (max-width: 1919.98px)',\n XLarge: '(min-width: 1920px)',\n Handset: '(max-width: 599.98px) and (orientation: portrait), ' +\n '(max-width: 959.98px) and (orientation: landscape)',\n Tablet: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), ' +\n '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n Web: '(min-width: 840px) and (orientation: portrait), ' +\n '(min-width: 1280px) and (orientation: landscape)',\n HandsetPortrait: '(max-width: 599.98px) and (orientation: portrait)',\n TabletPortrait: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)',\n WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n HandsetLandscape: '(max-width: 959.98px) and (orientation: landscape)',\n TabletLandscape: '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n WebLandscape: '(min-width: 1280px) and (orientation: landscape)',\n};\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BreakpointObserver, Breakpoints, LayoutModule, MediaMatcher };\n\n","import { coerceElement, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, Directive, ElementRef, NgZone, Output, Input, NgModule } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime } 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 * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\nimport * as ɵngcc0 from '@angular/core';\nclass MutationObserverFactory {\n create(callback) {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\nMutationObserverFactory.ɵfac = function MutationObserverFactory_Factory(t) { return new (t || MutationObserverFactory)(); };\nMutationObserverFactory.ɵprov = i0.ɵɵdefineInjectable({ factory: function MutationObserverFactory_Factory() { return new MutationObserverFactory(); }, token: MutationObserverFactory, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MutationObserverFactory, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\n/** An injectable service that allows watching elements for changes to their content. */\nclass ContentObserver {\n constructor(_mutationObserverFactory) {\n this._mutationObserverFactory = _mutationObserverFactory;\n /** Keeps track of the existing MutationObservers so they can be reused. */\n this._observedElements = new Map();\n }\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n observe(elementOrRef) {\n const element = coerceElement(elementOrRef);\n return new Observable((observer) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n _observeElement(element) {\n if (!this._observedElements.has(element)) {\n const stream = new Subject();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true\n });\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n }\n else {\n this._observedElements.get(element).count++;\n }\n return this._observedElements.get(element).stream;\n }\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n _unobserveElement(element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element).count--;\n if (!this._observedElements.get(element).count) {\n this._cleanupObserver(element);\n }\n }\n }\n /** Clean up the underlying MutationObserver for the specified element. */\n _cleanupObserver(element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element);\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\nContentObserver.ɵfac = function ContentObserver_Factory(t) { return new (t || ContentObserver)(ɵngcc0.ɵɵinject(MutationObserverFactory)); };\nContentObserver.ɵprov = i0.ɵɵdefineInjectable({ factory: function ContentObserver_Factory() { return new ContentObserver(i0.ɵɵinject(MutationObserverFactory)); }, token: ContentObserver, providedIn: \"root\" });\nContentObserver.ctorParameters = () => [\n { type: MutationObserverFactory }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ContentObserver, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: MutationObserverFactory }]; }, null); })();\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\nclass CdkObserveContent {\n constructor(_contentObserver, _elementRef, _ngZone) {\n this._contentObserver = _contentObserver;\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n /** Event emitted for each change in the element's content. */\n this.event = new EventEmitter();\n this._disabled = false;\n this._currentSubscription = null;\n }\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n get disabled() { return this._disabled; }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n /** Debounce interval for emitting the changes. */\n get debounce() { return this._debounce; }\n set debounce(value) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n ngOnDestroy() {\n this._unsubscribe();\n }\n _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n // TODO(mmalerba): We shouldn't be emitting on this @Output() outside the zone.\n // Consider brining it back inside the zone next time we're making breaking changes.\n // Bringing it back inside can cause things like infinite change detection loops and changed\n // after checked errors if people's code isn't handling it properly.\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription =\n (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);\n });\n }\n _unsubscribe() {\n var _a;\n (_a = this._currentSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();\n }\n}\nCdkObserveContent.ɵfac = function CdkObserveContent_Factory(t) { return new (t || CdkObserveContent)(ɵngcc0.ɵɵdirectiveInject(ContentObserver), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nCdkObserveContent.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkObserveContent, selectors: [[\"\", \"cdkObserveContent\", \"\"]], inputs: { disabled: [\"cdkObserveContentDisabled\", \"disabled\"], debounce: \"debounce\" }, outputs: { event: \"cdkObserveContent\" }, exportAs: [\"cdkObserveContent\"] });\nCdkObserveContent.ctorParameters = () => [\n { type: ContentObserver },\n { type: ElementRef },\n { type: NgZone }\n];\nCdkObserveContent.propDecorators = {\n event: [{ type: Output, args: ['cdkObserveContent',] }],\n disabled: [{ type: Input, args: ['cdkObserveContentDisabled',] }],\n debounce: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkObserveContent, [{\n type: Directive,\n args: [{\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent'\n }]\n }], function () { return [{ type: ContentObserver }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }]; }, { event: [{\n type: Output,\n args: ['cdkObserveContent']\n }], disabled: [{\n type: Input,\n args: ['cdkObserveContentDisabled']\n }], debounce: [{\n type: Input\n }] }); })();\nclass ObserversModule {\n}\nObserversModule.ɵfac = function ObserversModule_Factory(t) { return new (t || ObserversModule)(); };\nObserversModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: ObserversModule });\nObserversModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [MutationObserverFactory] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ObserversModule, [{\n type: NgModule,\n args: [{\n exports: [CdkObserveContent],\n declarations: [CdkObserveContent],\n providers: [MutationObserverFactory]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ObserversModule, { declarations: [CdkObserveContent], exports: [CdkObserveContent] }); })();\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 { CdkObserveContent, ContentObserver, MutationObserverFactory, ObserversModule };\n\n","import * as i1 from '@angular/cdk/scrolling';\nimport { ScrollDispatcher, ViewportRuler, ScrollingModule } from '@angular/cdk/scrolling';\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/scrolling';\nimport * as ɵngcc2 from '@angular/cdk/platform';\nimport * as ɵngcc3 from '@angular/cdk/bidi';\nimport * as ɵngcc4 from '@angular/common';\nexport { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport * as i1$1 from '@angular/common';\nimport { DOCUMENT, Location } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, NgZone, Inject, Optional, ElementRef, ApplicationRef, ComponentFactoryResolver, Injector, InjectionToken, Directive, EventEmitter, TemplateRef, ViewContainerRef, Input, Output, NgModule } from '@angular/core';\nimport { coerceCssPixelValue, coerceArray, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i2 from '@angular/cdk/platform';\nimport { supportsScrollBehavior, _getEventTarget, Platform, _isTestEnvironment } from '@angular/cdk/platform';\nimport { Directionality, BidiModule } from '@angular/cdk/bidi';\nimport { DomPortalOutlet, TemplatePortal, PortalModule } from '@angular/cdk/portal';\nimport { Subject, Subscription, merge } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\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 scrollBehaviorSupported = supportsScrollBehavior();\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nclass BlockScrollStrategy {\n constructor(_viewportRuler, document) {\n this._viewportRuler = _viewportRuler;\n this._previousHTMLStyles = { top: '', left: '' };\n this._isEnabled = false;\n this._document = document;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach() { }\n /** Blocks page-level scroll while the attached overlay is open. */\n enable() {\n if (this._canBeEnabled()) {\n const root = this._document.documentElement;\n this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();\n // Cache the previous inline styles in case the user had set them.\n this._previousHTMLStyles.left = root.style.left || '';\n this._previousHTMLStyles.top = root.style.top || '';\n // Note: we're using the `html` node, instead of the `body`, because the `body` may\n // have the user agent margin, whereas the `html` is guaranteed not to have one.\n root.style.left = coerceCssPixelValue(-this._previousScrollPosition.left);\n root.style.top = coerceCssPixelValue(-this._previousScrollPosition.top);\n root.classList.add('cdk-global-scrollblock');\n this._isEnabled = true;\n }\n }\n /** Unblocks page-level scroll while the attached overlay is open. */\n disable() {\n if (this._isEnabled) {\n const html = this._document.documentElement;\n const body = this._document.body;\n const htmlStyle = html.style;\n const bodyStyle = body.style;\n const previousHtmlScrollBehavior = htmlStyle.scrollBehavior || '';\n const previousBodyScrollBehavior = bodyStyle.scrollBehavior || '';\n this._isEnabled = false;\n htmlStyle.left = this._previousHTMLStyles.left;\n htmlStyle.top = this._previousHTMLStyles.top;\n html.classList.remove('cdk-global-scrollblock');\n // Disable user-defined smooth scrolling temporarily while we restore the scroll position.\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n // Note that we don't mutate the property if the browser doesn't support `scroll-behavior`,\n // because it can throw off feature detections in `supportsScrollBehavior` which\n // checks for `'scrollBehavior' in documentElement.style`.\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = bodyStyle.scrollBehavior = 'auto';\n }\n window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = previousHtmlScrollBehavior;\n bodyStyle.scrollBehavior = previousBodyScrollBehavior;\n }\n }\n }\n _canBeEnabled() {\n // Since the scroll strategies can't be singletons, we have to use a global CSS class\n // (`cdk-global-scrollblock`) to make sure that we don't try to disable global\n // scrolling multiple times.\n const html = this._document.documentElement;\n if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {\n return false;\n }\n const body = this._document.body;\n const viewport = this._viewportRuler.getViewportSize();\n return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;\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 * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n */\nfunction getMatScrollStrategyAlreadyAttachedError() {\n return Error(`Scroll strategy has already been attached.`);\n}\n\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nclass CloseScrollStrategy {\n constructor(_scrollDispatcher, _ngZone, _viewportRuler, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._config = _config;\n this._scrollSubscription = null;\n /** Detaches the overlay ref and disables the scroll strategy. */\n this._detach = () => {\n this.disable();\n if (this._overlayRef.hasAttached()) {\n this._ngZone.run(() => this._overlayRef.detach());\n }\n };\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables the closing of the attached overlay on scroll. */\n enable() {\n if (this._scrollSubscription) {\n return;\n }\n const stream = this._scrollDispatcher.scrolled(0);\n if (this._config && this._config.threshold && this._config.threshold > 1) {\n this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n this._scrollSubscription = stream.subscribe(() => {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config.threshold) {\n this._detach();\n }\n else {\n this._overlayRef.updatePosition();\n }\n });\n }\n else {\n this._scrollSubscription = stream.subscribe(this._detach);\n }\n }\n /** Disables the closing the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = 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/** Scroll strategy that doesn't do anything. */\nclass NoopScrollStrategy {\n /** Does nothing, as this scroll strategy is a no-op. */\n enable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n disable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n attach() { }\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// TODO(jelbourn): move this to live with the rest of the scrolling code\n// TODO(jelbourn): someday replace this with IntersectionObservers\n/**\n * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is scrolled out of view\n * @docs-private\n */\nfunction isElementScrolledOutsideView(element, scrollContainers) {\n return scrollContainers.some(containerBounds => {\n const outsideAbove = element.bottom < containerBounds.top;\n const outsideBelow = element.top > containerBounds.bottom;\n const outsideLeft = element.right < containerBounds.left;\n const outsideRight = element.left > containerBounds.right;\n return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n });\n}\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is clipped\n * @docs-private\n */\nfunction isElementClippedByScrolling(element, scrollContainers) {\n return scrollContainers.some(scrollContainerRect => {\n const clippedAbove = element.top < scrollContainerRect.top;\n const clippedBelow = element.bottom > scrollContainerRect.bottom;\n const clippedLeft = element.left < scrollContainerRect.left;\n const clippedRight = element.right > scrollContainerRect.right;\n return clippedAbove || clippedBelow || clippedLeft || clippedRight;\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 * Strategy that will update the element position as the user is scrolling.\n */\nclass RepositionScrollStrategy {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n this._config = _config;\n this._scrollSubscription = null;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables repositioning of the attached overlay on scroll. */\n enable() {\n if (!this._scrollSubscription) {\n const throttle = this._config ? this._config.scrollThrottle : 0;\n this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => {\n this._overlayRef.updatePosition();\n // TODO(crisbeto): make `close` on by default once all components can handle it.\n if (this._config && this._config.autoClose) {\n const overlayRect = this._overlayRef.overlayElement.getBoundingClientRect();\n const { width, height } = this._viewportRuler.getViewportSize();\n // TODO(crisbeto): include all ancestor scroll containers here once\n // we have a way of exposing the trigger element to the scroll strategy.\n const parentRects = [{ width, height, bottom: height, right: width, top: 0, left: 0 }];\n if (isElementScrolledOutsideView(overlayRect, parentRects)) {\n this.disable();\n this._ngZone.run(() => this._overlayRef.detach());\n }\n }\n });\n }\n }\n /** Disables repositioning of the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = 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 * Options for how an overlay will handle scrolling.\n *\n * Users can provide a custom value for `ScrollStrategyOptions` to replace the default\n * behaviors. This class primarily acts as a factory for ScrollStrategy instances.\n */\nclass ScrollStrategyOptions {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, document) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n /** Do nothing on scroll. */\n this.noop = () => new NoopScrollStrategy();\n /**\n * Close the overlay as soon as the user scrolls.\n * @param config Configuration to be used inside the scroll strategy.\n */\n this.close = (config) => new CloseScrollStrategy(this._scrollDispatcher, this._ngZone, this._viewportRuler, config);\n /** Block scrolling. */\n this.block = () => new BlockScrollStrategy(this._viewportRuler, this._document);\n /**\n * Update the overlay's position on scroll.\n * @param config Configuration to be used inside the scroll strategy.\n * Allows debouncing the reposition calls.\n */\n this.reposition = (config) => new RepositionScrollStrategy(this._scrollDispatcher, this._viewportRuler, this._ngZone, config);\n this._document = document;\n }\n}\nScrollStrategyOptions.ɵfac = function ScrollStrategyOptions_Factory(t) { return new (t || ScrollStrategyOptions)(ɵngcc0.ɵɵinject(ɵngcc1.ScrollDispatcher), ɵngcc0.ɵɵinject(ɵngcc1.ViewportRuler), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT)); };\nScrollStrategyOptions.ɵprov = i0.ɵɵdefineInjectable({ factory: function ScrollStrategyOptions_Factory() { return new ScrollStrategyOptions(i0.ɵɵinject(i1.ScrollDispatcher), i0.ɵɵinject(i1.ViewportRuler), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1$1.DOCUMENT)); }, token: ScrollStrategyOptions, providedIn: \"root\" });\nScrollStrategyOptions.ctorParameters = () => [\n { type: ScrollDispatcher },\n { type: ViewportRuler },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ScrollStrategyOptions, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.ScrollDispatcher }, { type: ɵngcc1.ViewportRuler }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\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/** Initial configuration used when creating an overlay. */\nclass OverlayConfig {\n constructor(config) {\n /** Strategy to be used when handling scroll events while the overlay is open. */\n this.scrollStrategy = new NoopScrollStrategy();\n /** Custom class to add to the overlay pane. */\n this.panelClass = '';\n /** Whether the overlay has a backdrop. */\n this.hasBackdrop = false;\n /** Custom class to add to the backdrop */\n this.backdropClass = 'cdk-overlay-dark-backdrop';\n /**\n * Whether the overlay should be disposed of when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n this.disposeOnNavigation = false;\n if (config) {\n // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,\n // loses the array generic type in the `for of`. But we *also* have to use `Array` because\n // typescript won't iterate over an `Iterable` unless you compile with `--downlevelIteration`\n const configKeys = Object.keys(config);\n for (const key of configKeys) {\n if (config[key] !== undefined) {\n // TypeScript, as of version 3.5, sees the left-hand-side of this expression\n // as \"I don't know *which* key this is, so the only valid value is the intersection\n // of all the posible values.\" In this case, that happens to be `undefined`. TypeScript\n // is not smart enough to see that the right-hand-side is actually an access of the same\n // exact type with the same exact key, meaning that the value type must be identical.\n // So we use `any` to work around this.\n this[key] = config[key];\n }\n }\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/** The points of the origin element and the overlay element to connect. */\nclass ConnectionPositionPair {\n constructor(origin, overlay, \n /** Offset along the X axis. */\n offsetX, \n /** Offset along the Y axis. */\n offsetY, \n /** Class(es) to be applied to the panel while this position is active. */\n panelClass) {\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n this.panelClass = panelClass;\n this.originX = origin.originX;\n this.originY = origin.originY;\n this.overlayX = overlay.overlayX;\n this.overlayY = overlay.overlayY;\n }\n}\n/**\n * Set of properties regarding the position of the origin and overlay relative to the viewport\n * with respect to the containing Scrollable elements.\n *\n * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the\n * bounds of any one of the strategy's Scrollable's bounding client rectangle.\n *\n * The overlay and origin are outside view if there is no overlap between their bounding client\n * rectangle and any one of the strategy's Scrollable's bounding client rectangle.\n *\n * ----------- -----------\n * | outside | | clipped |\n * | view | --------------------------\n * | | | | | |\n * ---------- | ----------- |\n * -------------------------- | |\n * | | | Scrollable |\n * | | | |\n * | | --------------------------\n * | Scrollable |\n * | |\n * --------------------------\n *\n * @docs-private\n */\nclass ScrollingVisibility {\n}\n/** The change event emitted by the strategy when a fallback position is used. */\nclass ConnectedOverlayPositionChange {\n constructor(\n /** The position used as a result of this change. */\n connectionPair, \n /** @docs-private */\n scrollableViewProperties) {\n this.connectionPair = connectionPair;\n this.scrollableViewProperties = scrollableViewProperties;\n }\n}\nConnectedOverlayPositionChange.ctorParameters = () => [\n { type: ConnectionPositionPair },\n { type: ScrollingVisibility, decorators: [{ type: Optional }] }\n];\n/**\n * Validates whether a vertical position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateVerticalPosition(property, value) {\n if (value !== 'top' && value !== 'bottom' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"top\", \"bottom\" or \"center\".`);\n }\n}\n/**\n * Validates whether a horizontal position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateHorizontalPosition(property, value) {\n if (value !== 'start' && value !== 'end' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"start\", \"end\" or \"center\".`);\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 * Service for dispatching events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass BaseOverlayDispatcher {\n constructor(document) {\n /** Currently attached overlays in the order they were attached. */\n this._attachedOverlays = [];\n this._document = document;\n }\n ngOnDestroy() {\n this.detach();\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n // Ensure that we don't get the same overlay multiple times.\n this.remove(overlayRef);\n this._attachedOverlays.push(overlayRef);\n }\n /** Remove an overlay from the list of attached overlay refs. */\n remove(overlayRef) {\n const index = this._attachedOverlays.indexOf(overlayRef);\n if (index > -1) {\n this._attachedOverlays.splice(index, 1);\n }\n // Remove the global listener once there are no more overlays.\n if (this._attachedOverlays.length === 0) {\n this.detach();\n }\n }\n}\nBaseOverlayDispatcher.ɵfac = function BaseOverlayDispatcher_Factory(t) { return new (t || BaseOverlayDispatcher)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nBaseOverlayDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function BaseOverlayDispatcher_Factory() { return new BaseOverlayDispatcher(i0.ɵɵinject(i1$1.DOCUMENT)); }, token: BaseOverlayDispatcher, providedIn: \"root\" });\nBaseOverlayDispatcher.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BaseOverlayDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\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 * Service for dispatching keyboard events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayKeyboardDispatcher extends BaseOverlayDispatcher {\n constructor(document) {\n super(document);\n /** Keyboard event listener that will be attached to the body. */\n this._keydownListener = (event) => {\n const overlays = this._attachedOverlays;\n for (let i = overlays.length - 1; i > -1; i--) {\n // Dispatch the keydown event to the top overlay which has subscribers to its keydown events.\n // We want to target the most recent overlay, rather than trying to match where the event came\n // from, because some components might open an overlay, but keep focus on a trigger element\n // (e.g. for select and autocomplete). We skip overlays without keydown event subscriptions,\n // because we don't want overlays that don't handle keyboard events to block the ones below\n // them that do.\n if (overlays[i]._keydownEvents.observers.length > 0) {\n overlays[i]._keydownEvents.next(event);\n break;\n }\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Lazily start dispatcher once first overlay is added\n if (!this._isAttached) {\n this._document.body.addEventListener('keydown', this._keydownListener);\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n this._document.body.removeEventListener('keydown', this._keydownListener);\n this._isAttached = false;\n }\n }\n}\nOverlayKeyboardDispatcher.ɵfac = function OverlayKeyboardDispatcher_Factory(t) { return new (t || OverlayKeyboardDispatcher)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nOverlayKeyboardDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayKeyboardDispatcher_Factory() { return new OverlayKeyboardDispatcher(i0.ɵɵinject(i1$1.DOCUMENT)); }, token: OverlayKeyboardDispatcher, providedIn: \"root\" });\nOverlayKeyboardDispatcher.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayKeyboardDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\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 * Service for dispatching mouse click events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {\n constructor(document, _platform) {\n super(document);\n this._platform = _platform;\n this._cursorStyleIsSet = false;\n /** Store pointerdown event target to track origin of click. */\n this._pointerDownListener = (event) => {\n this._pointerDownEventTarget = _getEventTarget(event);\n };\n /** Click event listener that will be attached to the body propagate phase. */\n this._clickListener = (event) => {\n const target = _getEventTarget(event);\n // In case of a click event, we want to check the origin of the click\n // (e.g. in case where a user starts a click inside the overlay and\n // releases the click outside of it).\n // This is done by using the event target of the preceding pointerdown event.\n // Every click event caused by a pointer device has a preceding pointerdown\n // event, unless the click was programmatically triggered (e.g. in a unit test).\n const origin = event.type === 'click' && this._pointerDownEventTarget\n ? this._pointerDownEventTarget : target;\n // Reset the stored pointerdown event target, to avoid having it interfere\n // in subsequent events.\n this._pointerDownEventTarget = null;\n // We copy the array because the original may be modified asynchronously if the\n // outsidePointerEvents listener decides to detach overlays resulting in index errors inside\n // the for loop.\n const overlays = this._attachedOverlays.slice();\n // Dispatch the mouse event to the top overlay which has subscribers to its mouse events.\n // We want to target all overlays for which the click could be considered as outside click.\n // As soon as we reach an overlay for which the click is not outside click we break off\n // the loop.\n for (let i = overlays.length - 1; i > -1; i--) {\n const overlayRef = overlays[i];\n if (overlayRef._outsidePointerEvents.observers.length < 1 || !overlayRef.hasAttached()) {\n continue;\n }\n // If it's a click inside the overlay, just break - we should do nothing\n // If it's an outside click (both origin and target of the click) dispatch the mouse event,\n // and proceed with the next overlay\n if (overlayRef.overlayElement.contains(target) ||\n overlayRef.overlayElement.contains(origin)) {\n break;\n }\n overlayRef._outsidePointerEvents.next(event);\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Safari on iOS does not generate click events for non-interactive\n // elements. However, we want to receive a click for any element outside\n // the overlay. We can force a \"clickable\" state by setting\n // `cursor: pointer` on the document body. See:\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event#Safari_Mobile\n // https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n if (!this._isAttached) {\n const body = this._document.body;\n body.addEventListener('pointerdown', this._pointerDownListener, true);\n body.addEventListener('click', this._clickListener, true);\n body.addEventListener('auxclick', this._clickListener, true);\n body.addEventListener('contextmenu', this._clickListener, true);\n // click event is not fired on iOS. To make element \"clickable\" we are\n // setting the cursor to pointer\n if (this._platform.IOS && !this._cursorStyleIsSet) {\n this._cursorOriginalValue = body.style.cursor;\n body.style.cursor = 'pointer';\n this._cursorStyleIsSet = true;\n }\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n const body = this._document.body;\n body.removeEventListener('pointerdown', this._pointerDownListener, true);\n body.removeEventListener('click', this._clickListener, true);\n body.removeEventListener('auxclick', this._clickListener, true);\n body.removeEventListener('contextmenu', this._clickListener, true);\n if (this._platform.IOS && this._cursorStyleIsSet) {\n body.style.cursor = this._cursorOriginalValue;\n this._cursorStyleIsSet = false;\n }\n this._isAttached = false;\n }\n }\n}\nOverlayOutsideClickDispatcher.ɵfac = function OverlayOutsideClickDispatcher_Factory(t) { return new (t || OverlayOutsideClickDispatcher)(ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc2.Platform)); };\nOverlayOutsideClickDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayOutsideClickDispatcher_Factory() { return new OverlayOutsideClickDispatcher(i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform)); }, token: OverlayOutsideClickDispatcher, providedIn: \"root\" });\nOverlayOutsideClickDispatcher.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayOutsideClickDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }]; }, null); })();\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/** Container inside which all overlays will render. */\nclass OverlayContainer {\n constructor(document, _platform) {\n this._platform = _platform;\n this._document = document;\n }\n ngOnDestroy() {\n const container = this._containerElement;\n if (container && container.parentNode) {\n container.parentNode.removeChild(container);\n }\n }\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement() {\n if (!this._containerElement) {\n this._createContainer();\n }\n return this._containerElement;\n }\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n _createContainer() {\n const containerClass = 'cdk-overlay-container';\n // TODO(crisbeto): remove the testing check once we have an overlay testing\n // module or Angular starts tearing down the testing `NgModule`. See:\n // https://github.com/angular/angular/issues/18831\n if (this._platform.isBrowser || _isTestEnvironment()) {\n const oppositePlatformContainers = this._document.querySelectorAll(`.${containerClass}[platform=\"server\"], ` +\n `.${containerClass}[platform=\"test\"]`);\n // Remove any old containers from the opposite platform.\n // This can happen when transitioning from the server to the client.\n for (let i = 0; i < oppositePlatformContainers.length; i++) {\n oppositePlatformContainers[i].parentNode.removeChild(oppositePlatformContainers[i]);\n }\n }\n const container = this._document.createElement('div');\n container.classList.add(containerClass);\n // A long time ago we kept adding new overlay containers whenever a new app was instantiated,\n // but at some point we added logic which clears the duplicate ones in order to avoid leaks.\n // The new logic was a little too aggressive since it was breaking some legitimate use cases.\n // To mitigate the problem we made it so that only containers from a different platform are\n // cleared, but the side-effect was that people started depending on the overly-aggressive\n // logic to clean up their tests for them. Until we can introduce an overlay-specific testing\n // module which does the cleanup, we try to detect that we're in a test environment and we\n // always clear the container. See #17006.\n // TODO(crisbeto): remove the test environment check once we have an overlay testing module.\n if (_isTestEnvironment()) {\n container.setAttribute('platform', 'test');\n }\n else if (!this._platform.isBrowser) {\n container.setAttribute('platform', 'server');\n }\n this._document.body.appendChild(container);\n this._containerElement = container;\n }\n}\nOverlayContainer.ɵfac = function OverlayContainer_Factory(t) { return new (t || OverlayContainer)(ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc2.Platform)); };\nOverlayContainer.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayContainer_Factory() { return new OverlayContainer(i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform)); }, token: OverlayContainer, providedIn: \"root\" });\nOverlayContainer.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayContainer, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }]; }, null); })();\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 * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nclass OverlayRef {\n constructor(_portalOutlet, _host, _pane, _config, _ngZone, _keyboardDispatcher, _document, _location, _outsideClickDispatcher) {\n this._portalOutlet = _portalOutlet;\n this._host = _host;\n this._pane = _pane;\n this._config = _config;\n this._ngZone = _ngZone;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._document = _document;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n this._backdropElement = null;\n this._backdropClick = new Subject();\n this._attachments = new Subject();\n this._detachments = new Subject();\n this._locationChanges = Subscription.EMPTY;\n this._backdropClickHandler = (event) => this._backdropClick.next(event);\n /** Stream of keydown events dispatched to this overlay. */\n this._keydownEvents = new Subject();\n /** Stream of mouse outside events dispatched to this overlay. */\n this._outsidePointerEvents = new Subject();\n if (_config.scrollStrategy) {\n this._scrollStrategy = _config.scrollStrategy;\n this._scrollStrategy.attach(this);\n }\n this._positionStrategy = _config.positionStrategy;\n }\n /** The overlay's HTML element */\n get overlayElement() {\n return this._pane;\n }\n /** The overlay's backdrop HTML element. */\n get backdropElement() {\n return this._backdropElement;\n }\n /**\n * Wrapper around the panel element. Can be used for advanced\n * positioning where a wrapper with specific styling is\n * required around the overlay pane.\n */\n get hostElement() {\n return this._host;\n }\n /**\n * Attaches content, given via a Portal, to the overlay.\n * If the overlay is configured to have a backdrop, it will be created.\n *\n * @param portal Portal instance to which to attach the overlay.\n * @returns The portal attachment result.\n */\n attach(portal) {\n let attachResult = this._portalOutlet.attach(portal);\n // Update the pane element with the given configuration.\n if (!this._host.parentElement && this._previousHostParent) {\n this._previousHostParent.appendChild(this._host);\n }\n if (this._positionStrategy) {\n this._positionStrategy.attach(this);\n }\n this._updateStackingOrder();\n this._updateElementSize();\n this._updateElementDirection();\n if (this._scrollStrategy) {\n this._scrollStrategy.enable();\n }\n // Update the position once the zone is stable so that the overlay will be fully rendered\n // before attempting to position it, as the position may depend on the size of the rendered\n // content.\n this._ngZone.onStable\n .pipe(take(1))\n .subscribe(() => {\n // The overlay could've been detached before the zone has stabilized.\n if (this.hasAttached()) {\n this.updatePosition();\n }\n });\n // Enable pointer events for the overlay pane element.\n this._togglePointerEvents(true);\n if (this._config.hasBackdrop) {\n this._attachBackdrop();\n }\n if (this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, true);\n }\n // Only emit the `attachments` event once all other setup is done.\n this._attachments.next();\n // Track this overlay by the keyboard dispatcher\n this._keyboardDispatcher.add(this);\n if (this._config.disposeOnNavigation) {\n this._locationChanges = this._location.subscribe(() => this.dispose());\n }\n this._outsideClickDispatcher.add(this);\n return attachResult;\n }\n /**\n * Detaches an overlay from a portal.\n * @returns The portal detachment result.\n */\n detach() {\n if (!this.hasAttached()) {\n return;\n }\n this.detachBackdrop();\n // When the overlay is detached, the pane element should disable pointer events.\n // This is necessary because otherwise the pane element will cover the page and disable\n // pointer events therefore. Depends on the position strategy and the applied pane boundaries.\n this._togglePointerEvents(false);\n if (this._positionStrategy && this._positionStrategy.detach) {\n this._positionStrategy.detach();\n }\n if (this._scrollStrategy) {\n this._scrollStrategy.disable();\n }\n const detachmentResult = this._portalOutlet.detach();\n // Only emit after everything is detached.\n this._detachments.next();\n // Remove this overlay from keyboard dispatcher tracking.\n this._keyboardDispatcher.remove(this);\n // Keeping the host element in the DOM can cause scroll jank, because it still gets\n // rendered, even though it's transparent and unclickable which is why we remove it.\n this._detachContentWhenStable();\n this._locationChanges.unsubscribe();\n this._outsideClickDispatcher.remove(this);\n return detachmentResult;\n }\n /** Cleans up the overlay from the DOM. */\n dispose() {\n const isAttached = this.hasAttached();\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._disposeScrollStrategy();\n this._disposeBackdrop(this._backdropElement);\n this._locationChanges.unsubscribe();\n this._keyboardDispatcher.remove(this);\n this._portalOutlet.dispose();\n this._attachments.complete();\n this._backdropClick.complete();\n this._keydownEvents.complete();\n this._outsidePointerEvents.complete();\n this._outsideClickDispatcher.remove(this);\n if (this._host && this._host.parentNode) {\n this._host.parentNode.removeChild(this._host);\n this._host = null;\n }\n this._previousHostParent = this._pane = null;\n if (isAttached) {\n this._detachments.next();\n }\n this._detachments.complete();\n }\n /** Whether the overlay has attached content. */\n hasAttached() {\n return this._portalOutlet.hasAttached();\n }\n /** Gets an observable that emits when the backdrop has been clicked. */\n backdropClick() {\n return this._backdropClick;\n }\n /** Gets an observable that emits when the overlay has been attached. */\n attachments() {\n return this._attachments;\n }\n /** Gets an observable that emits when the overlay has been detached. */\n detachments() {\n return this._detachments;\n }\n /** Gets an observable of keydown events targeted to this overlay. */\n keydownEvents() {\n return this._keydownEvents;\n }\n /** Gets an observable of pointer events targeted outside this overlay. */\n outsidePointerEvents() {\n return this._outsidePointerEvents;\n }\n /** Gets the current overlay configuration, which is immutable. */\n getConfig() {\n return this._config;\n }\n /** Updates the position of the overlay based on the position strategy. */\n updatePosition() {\n if (this._positionStrategy) {\n this._positionStrategy.apply();\n }\n }\n /** Switches to a new position strategy and updates the overlay position. */\n updatePositionStrategy(strategy) {\n if (strategy === this._positionStrategy) {\n return;\n }\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._positionStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n this.updatePosition();\n }\n }\n /** Update the size properties of the overlay. */\n updateSize(sizeConfig) {\n this._config = Object.assign(Object.assign({}, this._config), sizeConfig);\n this._updateElementSize();\n }\n /** Sets the LTR/RTL direction for the overlay. */\n setDirection(dir) {\n this._config = Object.assign(Object.assign({}, this._config), { direction: dir });\n this._updateElementDirection();\n }\n /** Add a CSS class or an array of classes to the overlay pane. */\n addPanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, true);\n }\n }\n /** Remove a CSS class or an array of classes from the overlay pane. */\n removePanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, false);\n }\n }\n /**\n * Returns the layout direction of the overlay panel.\n */\n getDirection() {\n const direction = this._config.direction;\n if (!direction) {\n return 'ltr';\n }\n return typeof direction === 'string' ? direction : direction.value;\n }\n /** Switches to a new scroll strategy. */\n updateScrollStrategy(strategy) {\n if (strategy === this._scrollStrategy) {\n return;\n }\n this._disposeScrollStrategy();\n this._scrollStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n strategy.enable();\n }\n }\n /** Updates the text direction of the overlay panel. */\n _updateElementDirection() {\n this._host.setAttribute('dir', this.getDirection());\n }\n /** Updates the size of the overlay element based on the overlay config. */\n _updateElementSize() {\n if (!this._pane) {\n return;\n }\n const style = this._pane.style;\n style.width = coerceCssPixelValue(this._config.width);\n style.height = coerceCssPixelValue(this._config.height);\n style.minWidth = coerceCssPixelValue(this._config.minWidth);\n style.minHeight = coerceCssPixelValue(this._config.minHeight);\n style.maxWidth = coerceCssPixelValue(this._config.maxWidth);\n style.maxHeight = coerceCssPixelValue(this._config.maxHeight);\n }\n /** Toggles the pointer events for the overlay pane element. */\n _togglePointerEvents(enablePointer) {\n this._pane.style.pointerEvents = enablePointer ? '' : 'none';\n }\n /** Attaches a backdrop for this overlay. */\n _attachBackdrop() {\n const showingClass = 'cdk-overlay-backdrop-showing';\n this._backdropElement = this._document.createElement('div');\n this._backdropElement.classList.add('cdk-overlay-backdrop');\n if (this._config.backdropClass) {\n this._toggleClasses(this._backdropElement, this._config.backdropClass, true);\n }\n // Insert the backdrop before the pane in the DOM order,\n // in order to handle stacked overlays properly.\n this._host.parentElement.insertBefore(this._backdropElement, this._host);\n // Forward backdrop clicks such that the consumer of the overlay can perform whatever\n // action desired when such a click occurs (usually closing the overlay).\n this._backdropElement.addEventListener('click', this._backdropClickHandler);\n // Add class to fade-in the backdrop after one frame.\n if (typeof requestAnimationFrame !== 'undefined') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n if (this._backdropElement) {\n this._backdropElement.classList.add(showingClass);\n }\n });\n });\n }\n else {\n this._backdropElement.classList.add(showingClass);\n }\n }\n /**\n * Updates the stacking order of the element, moving it to the top if necessary.\n * This is required in cases where one overlay was detached, while another one,\n * that should be behind it, was destroyed. The next time both of them are opened,\n * the stacking will be wrong, because the detached element's pane will still be\n * in its original DOM position.\n */\n _updateStackingOrder() {\n if (this._host.nextSibling) {\n this._host.parentNode.appendChild(this._host);\n }\n }\n /** Detaches the backdrop (if any) associated with the overlay. */\n detachBackdrop() {\n const backdropToDetach = this._backdropElement;\n if (!backdropToDetach) {\n return;\n }\n let timeoutId;\n const finishDetach = () => {\n // It may not be attached to anything in certain cases (e.g. unit tests).\n if (backdropToDetach) {\n backdropToDetach.removeEventListener('click', this._backdropClickHandler);\n backdropToDetach.removeEventListener('transitionend', finishDetach);\n this._disposeBackdrop(backdropToDetach);\n }\n if (this._config.backdropClass) {\n this._toggleClasses(backdropToDetach, this._config.backdropClass, false);\n }\n clearTimeout(timeoutId);\n };\n backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');\n this._ngZone.runOutsideAngular(() => {\n backdropToDetach.addEventListener('transitionend', finishDetach);\n });\n // If the backdrop doesn't have a transition, the `transitionend` event won't fire.\n // In this case we make it unclickable and we try to remove it after a delay.\n backdropToDetach.style.pointerEvents = 'none';\n // Run this outside the Angular zone because there's nothing that Angular cares about.\n // If it were to run inside the Angular zone, every test that used Overlay would have to be\n // either async or fakeAsync.\n timeoutId = this._ngZone.runOutsideAngular(() => setTimeout(finishDetach, 500));\n }\n /** Toggles a single CSS class or an array of classes on an element. */\n _toggleClasses(element, cssClasses, isAdd) {\n const classList = element.classList;\n coerceArray(cssClasses).forEach(cssClass => {\n // We can't do a spread here, because IE doesn't support setting multiple classes.\n // Also trying to add an empty string to a DOMTokenList will throw.\n if (cssClass) {\n isAdd ? classList.add(cssClass) : classList.remove(cssClass);\n }\n });\n }\n /** Detaches the overlay content next time the zone stabilizes. */\n _detachContentWhenStable() {\n // Normally we wouldn't have to explicitly run this outside the `NgZone`, however\n // if the consumer is using `zone-patch-rxjs`, the `Subscription.unsubscribe` call will\n // be patched to run inside the zone, which will throw us into an infinite loop.\n this._ngZone.runOutsideAngular(() => {\n // We can't remove the host here immediately, because the overlay pane's content\n // might still be animating. This stream helps us avoid interrupting the animation\n // by waiting for the pane to become empty.\n const subscription = this._ngZone.onStable\n .pipe(takeUntil(merge(this._attachments, this._detachments)))\n .subscribe(() => {\n // Needs a couple of checks for the pane and host, because\n // they may have been removed by the time the zone stabilizes.\n if (!this._pane || !this._host || this._pane.children.length === 0) {\n if (this._pane && this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, false);\n }\n if (this._host && this._host.parentElement) {\n this._previousHostParent = this._host.parentElement;\n this._previousHostParent.removeChild(this._host);\n }\n subscription.unsubscribe();\n }\n });\n });\n }\n /** Disposes of a scroll strategy. */\n _disposeScrollStrategy() {\n const scrollStrategy = this._scrollStrategy;\n if (scrollStrategy) {\n scrollStrategy.disable();\n if (scrollStrategy.detach) {\n scrollStrategy.detach();\n }\n }\n }\n /** Removes a backdrop element from the DOM. */\n _disposeBackdrop(backdrop) {\n if (backdrop) {\n if (backdrop.parentNode) {\n backdrop.parentNode.removeChild(backdrop);\n }\n // It is possible that a new portal has been attached to this overlay since we started\n // removing the backdrop. If that is the case, only clear the backdrop reference if it\n // is still the same instance that we started to remove.\n if (this._backdropElement === backdrop) {\n this._backdropElement = null;\n }\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// TODO: refactor clipping detection into a separate thing (part of scrolling module)\n// TODO: doesn't handle both flexible width and height when it has to scroll along both axis.\n/** Class to be added to the overlay bounding box. */\nconst boundingBoxClass = 'cdk-overlay-connected-position-bounding-box';\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n */\nclass FlexibleConnectedPositionStrategy {\n constructor(connectedTo, _viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n /** Last size used for the bounding box. Used to avoid resizing the overlay after open. */\n this._lastBoundingBoxSize = { width: 0, height: 0 };\n /** Whether the overlay was pushed in a previous positioning. */\n this._isPushed = false;\n /** Whether the overlay can be pushed on-screen on the initial open. */\n this._canPush = true;\n /** Whether the overlay can grow via flexible width/height after the initial open. */\n this._growAfterOpen = false;\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n this._hasFlexibleDimensions = true;\n /** Whether the overlay position is locked. */\n this._positionLocked = false;\n /** Amount of space that must be maintained between the overlay and the edge of the viewport. */\n this._viewportMargin = 0;\n /** The Scrollable containers used to check scrollable view properties on position change. */\n this._scrollables = [];\n /** Ordered list of preferred positions, from most to least desirable. */\n this._preferredPositions = [];\n /** Subject that emits whenever the position changes. */\n this._positionChanges = new Subject();\n /** Subscription to viewport size changes. */\n this._resizeSubscription = Subscription.EMPTY;\n /** Default offset for the overlay along the x axis. */\n this._offsetX = 0;\n /** Default offset for the overlay along the y axis. */\n this._offsetY = 0;\n /** Keeps track of the CSS classes that the position strategy has applied on the overlay panel. */\n this._appliedPanelClasses = [];\n /** Observable sequence of position changes. */\n this.positionChanges = this._positionChanges;\n this.setOrigin(connectedTo);\n }\n /** Ordered list of preferred positions, from most to least desirable. */\n get positions() {\n return this._preferredPositions;\n }\n /** Attaches this position strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && overlayRef !== this._overlayRef &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('This position strategy is already attached to an overlay');\n }\n this._validatePositions();\n overlayRef.hostElement.classList.add(boundingBoxClass);\n this._overlayRef = overlayRef;\n this._boundingBox = overlayRef.hostElement;\n this._pane = overlayRef.overlayElement;\n this._isDisposed = false;\n this._isInitialRender = true;\n this._lastPosition = null;\n this._resizeSubscription.unsubscribe();\n this._resizeSubscription = this._viewportRuler.change().subscribe(() => {\n // When the window is resized, we want to trigger the next reposition as if it\n // was an initial render, in order for the strategy to pick a new optimal position,\n // otherwise position locking will cause it to stay at the old one.\n this._isInitialRender = true;\n this.apply();\n });\n }\n /**\n * Updates the position of the overlay element, using whichever preferred position relative\n * to the origin best fits on-screen.\n *\n * The selection of a position goes as follows:\n * - If any positions fit completely within the viewport as-is,\n * choose the first position that does so.\n * - If flexible dimensions are enabled and at least one satifies the given minimum width/height,\n * choose the position with the greatest available size modified by the positions' weight.\n * - If pushing is enabled, take the position that went off-screen the least and push it\n * on-screen.\n * - If none of the previous criteria were met, use the position that goes off-screen the least.\n * @docs-private\n */\n apply() {\n // We shouldn't do anything if the strategy was disposed or we're on the server.\n if (this._isDisposed || !this._platform.isBrowser) {\n return;\n }\n // If the position has been applied already (e.g. when the overlay was opened) and the\n // consumer opted into locking in the position, re-use the old position, in order to\n // prevent the overlay from jumping around.\n if (!this._isInitialRender && this._positionLocked && this._lastPosition) {\n this.reapplyLastPosition();\n return;\n }\n this._clearPanelClasses();\n this._resetOverlayElementStyles();\n this._resetBoundingBoxStyles();\n // We need the bounding rects for the origin and the overlay to determine how to position\n // the overlay relative to the origin.\n // We use the viewport rect to determine whether a position would go off-screen.\n this._viewportRect = this._getNarrowedViewportRect();\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n const originRect = this._originRect;\n const overlayRect = this._overlayRect;\n const viewportRect = this._viewportRect;\n // Positions where the overlay will fit with flexible dimensions.\n const flexibleFits = [];\n // Fallback if none of the preferred positions fit within the viewport.\n let fallback;\n // Go through each of the preferred positions looking for a good fit.\n // If a good fit is found, it will be applied immediately.\n for (let pos of this._preferredPositions) {\n // Get the exact (x, y) coordinate for the point-of-origin on the origin element.\n let originPoint = this._getOriginPoint(originRect, pos);\n // From that point-of-origin, get the exact (x, y) coordinate for the top-left corner of the\n // overlay in this position. We use the top-left corner for calculations and later translate\n // this into an appropriate (top, left, bottom, right) style.\n let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, pos);\n // Calculate how well the overlay would fit into the viewport with this point.\n let overlayFit = this._getOverlayFit(overlayPoint, overlayRect, viewportRect, pos);\n // If the overlay, without any further work, fits into the viewport, use this position.\n if (overlayFit.isCompletelyWithinViewport) {\n this._isPushed = false;\n this._applyPosition(pos, originPoint);\n return;\n }\n // If the overlay has flexible dimensions, we can use this position\n // so long as there's enough space for the minimum dimensions.\n if (this._canFitWithFlexibleDimensions(overlayFit, overlayPoint, viewportRect)) {\n // Save positions where the overlay will fit with flexible dimensions. We will use these\n // if none of the positions fit *without* flexible dimensions.\n flexibleFits.push({\n position: pos,\n origin: originPoint,\n overlayRect,\n boundingBoxRect: this._calculateBoundingBoxRect(originPoint, pos)\n });\n continue;\n }\n // If the current preferred position does not fit on the screen, remember the position\n // if it has more visible area on-screen than we've seen and move onto the next preferred\n // position.\n if (!fallback || fallback.overlayFit.visibleArea < overlayFit.visibleArea) {\n fallback = { overlayFit, overlayPoint, originPoint, position: pos, overlayRect };\n }\n }\n // If there are any positions where the overlay would fit with flexible dimensions, choose the\n // one that has the greatest area available modified by the position's weight\n if (flexibleFits.length) {\n let bestFit = null;\n let bestScore = -1;\n for (const fit of flexibleFits) {\n const score = fit.boundingBoxRect.width * fit.boundingBoxRect.height * (fit.position.weight || 1);\n if (score > bestScore) {\n bestScore = score;\n bestFit = fit;\n }\n }\n this._isPushed = false;\n this._applyPosition(bestFit.position, bestFit.origin);\n return;\n }\n // When none of the preferred positions fit within the viewport, take the position\n // that went off-screen the least and attempt to push it on-screen.\n if (this._canPush) {\n // TODO(jelbourn): after pushing, the opening \"direction\" of the overlay might not make sense.\n this._isPushed = true;\n this._applyPosition(fallback.position, fallback.originPoint);\n return;\n }\n // All options for getting the overlay within the viewport have been exhausted, so go with the\n // position that went off-screen the least.\n this._applyPosition(fallback.position, fallback.originPoint);\n }\n detach() {\n this._clearPanelClasses();\n this._lastPosition = null;\n this._previousPushAmount = null;\n this._resizeSubscription.unsubscribe();\n }\n /** Cleanup after the element gets destroyed. */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n // We can't use `_resetBoundingBoxStyles` here, because it resets\n // some properties to zero, rather than removing them.\n if (this._boundingBox) {\n extendStyles(this._boundingBox.style, {\n top: '',\n left: '',\n right: '',\n bottom: '',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n });\n }\n if (this._pane) {\n this._resetOverlayElementStyles();\n }\n if (this._overlayRef) {\n this._overlayRef.hostElement.classList.remove(boundingBoxClass);\n }\n this.detach();\n this._positionChanges.complete();\n this._overlayRef = this._boundingBox = null;\n this._isDisposed = true;\n }\n /**\n * This re-aligns the overlay element with the trigger in its last calculated position,\n * even if a position higher in the \"preferred positions\" list would now fit. This\n * allows one to re-align the panel without changing the orientation of the panel.\n */\n reapplyLastPosition() {\n if (!this._isDisposed && (!this._platform || this._platform.isBrowser)) {\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n this._viewportRect = this._getNarrowedViewportRect();\n const lastPosition = this._lastPosition || this._preferredPositions[0];\n const originPoint = this._getOriginPoint(this._originRect, lastPosition);\n this._applyPosition(lastPosition, originPoint);\n }\n }\n /**\n * Sets the list of Scrollable containers that host the origin element so that\n * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n * Scrollable must be an ancestor element of the strategy's origin element.\n */\n withScrollableContainers(scrollables) {\n this._scrollables = scrollables;\n return this;\n }\n /**\n * Adds new preferred positions.\n * @param positions List of positions options for this overlay.\n */\n withPositions(positions) {\n this._preferredPositions = positions;\n // If the last calculated position object isn't part of the positions anymore, clear\n // it in order to avoid it being picked up if the consumer tries to re-apply.\n if (positions.indexOf(this._lastPosition) === -1) {\n this._lastPosition = null;\n }\n this._validatePositions();\n return this;\n }\n /**\n * Sets a minimum distance the overlay may be positioned to the edge of the viewport.\n * @param margin Required margin between the overlay and the viewport edge in pixels.\n */\n withViewportMargin(margin) {\n this._viewportMargin = margin;\n return this;\n }\n /** Sets whether the overlay's width and height can be constrained to fit within the viewport. */\n withFlexibleDimensions(flexibleDimensions = true) {\n this._hasFlexibleDimensions = flexibleDimensions;\n return this;\n }\n /** Sets whether the overlay can grow after the initial open via flexible width/height. */\n withGrowAfterOpen(growAfterOpen = true) {\n this._growAfterOpen = growAfterOpen;\n return this;\n }\n /** Sets whether the overlay can be pushed on-screen if none of the provided positions fit. */\n withPush(canPush = true) {\n this._canPush = canPush;\n return this;\n }\n /**\n * Sets whether the overlay's position should be locked in after it is positioned\n * initially. When an overlay is locked in, it won't attempt to reposition itself\n * when the position is re-applied (e.g. when the user scrolls away).\n * @param isLocked Whether the overlay should locked in.\n */\n withLockedPosition(isLocked = true) {\n this._positionLocked = isLocked;\n return this;\n }\n /**\n * Sets the origin, relative to which to position the overlay.\n * Using an element origin is useful for building components that need to be positioned\n * relatively to a trigger (e.g. dropdown menus or tooltips), whereas using a point can be\n * used for cases like contextual menus which open relative to the user's pointer.\n * @param origin Reference to the new origin.\n */\n setOrigin(origin) {\n this._origin = origin;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the x-axis.\n * @param offset New offset in the X axis.\n */\n withDefaultOffsetX(offset) {\n this._offsetX = offset;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the y-axis.\n * @param offset New offset in the Y axis.\n */\n withDefaultOffsetY(offset) {\n this._offsetY = offset;\n return this;\n }\n /**\n * Configures that the position strategy should set a `transform-origin` on some elements\n * inside the overlay, depending on the current position that is being applied. This is\n * useful for the cases where the origin of an animation can change depending on the\n * alignment of the overlay.\n * @param selector CSS selector that will be used to find the target\n * elements onto which to set the transform origin.\n */\n withTransformOriginOn(selector) {\n this._transformOriginSelector = selector;\n return this;\n }\n /**\n * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.\n */\n _getOriginPoint(originRect, pos) {\n let x;\n if (pos.originX == 'center') {\n // Note: when centering we should always use the `left`\n // offset, otherwise the position will be wrong in RTL.\n x = originRect.left + (originRect.width / 2);\n }\n else {\n const startX = this._isRtl() ? originRect.right : originRect.left;\n const endX = this._isRtl() ? originRect.left : originRect.right;\n x = pos.originX == 'start' ? startX : endX;\n }\n let y;\n if (pos.originY == 'center') {\n y = originRect.top + (originRect.height / 2);\n }\n else {\n y = pos.originY == 'top' ? originRect.top : originRect.bottom;\n }\n return { x, y };\n }\n /**\n * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and\n * origin point to which the overlay should be connected.\n */\n _getOverlayPoint(originPoint, overlayRect, pos) {\n // Calculate the (overlayStartX, overlayStartY), the start of the\n // potential overlay position relative to the origin point.\n let overlayStartX;\n if (pos.overlayX == 'center') {\n overlayStartX = -overlayRect.width / 2;\n }\n else if (pos.overlayX === 'start') {\n overlayStartX = this._isRtl() ? -overlayRect.width : 0;\n }\n else {\n overlayStartX = this._isRtl() ? 0 : -overlayRect.width;\n }\n let overlayStartY;\n if (pos.overlayY == 'center') {\n overlayStartY = -overlayRect.height / 2;\n }\n else {\n overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;\n }\n // The (x, y) coordinates of the overlay.\n return {\n x: originPoint.x + overlayStartX,\n y: originPoint.y + overlayStartY,\n };\n }\n /** Gets how well an overlay at the given point will fit within the viewport. */\n _getOverlayFit(point, rawOverlayRect, viewport, position) {\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n let { x, y } = point;\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n // Account for the offsets since they could push the overlay out of the viewport.\n if (offsetX) {\n x += offsetX;\n }\n if (offsetY) {\n y += offsetY;\n }\n // How much the overlay would overflow at this position, on each side.\n let leftOverflow = 0 - x;\n let rightOverflow = (x + overlay.width) - viewport.width;\n let topOverflow = 0 - y;\n let bottomOverflow = (y + overlay.height) - viewport.height;\n // Visible parts of the element on each axis.\n let visibleWidth = this._subtractOverflows(overlay.width, leftOverflow, rightOverflow);\n let visibleHeight = this._subtractOverflows(overlay.height, topOverflow, bottomOverflow);\n let visibleArea = visibleWidth * visibleHeight;\n return {\n visibleArea,\n isCompletelyWithinViewport: (overlay.width * overlay.height) === visibleArea,\n fitsInViewportVertically: visibleHeight === overlay.height,\n fitsInViewportHorizontally: visibleWidth == overlay.width,\n };\n }\n /**\n * Whether the overlay can fit within the viewport when it may resize either its width or height.\n * @param fit How well the overlay fits in the viewport at some position.\n * @param point The (x, y) coordinates of the overlat at some position.\n * @param viewport The geometry of the viewport.\n */\n _canFitWithFlexibleDimensions(fit, point, viewport) {\n if (this._hasFlexibleDimensions) {\n const availableHeight = viewport.bottom - point.y;\n const availableWidth = viewport.right - point.x;\n const minHeight = getPixelValue(this._overlayRef.getConfig().minHeight);\n const minWidth = getPixelValue(this._overlayRef.getConfig().minWidth);\n const verticalFit = fit.fitsInViewportVertically ||\n (minHeight != null && minHeight <= availableHeight);\n const horizontalFit = fit.fitsInViewportHorizontally ||\n (minWidth != null && minWidth <= availableWidth);\n return verticalFit && horizontalFit;\n }\n return false;\n }\n /**\n * Gets the point at which the overlay can be \"pushed\" on-screen. If the overlay is larger than\n * the viewport, the top-left corner will be pushed on-screen (with overflow occuring on the\n * right and bottom).\n *\n * @param start Starting point from which the overlay is pushed.\n * @param overlay Dimensions of the overlay.\n * @param scrollPosition Current viewport scroll position.\n * @returns The point at which to position the overlay after pushing. This is effectively a new\n * originPoint.\n */\n _pushOverlayOnScreen(start, rawOverlayRect, scrollPosition) {\n // If the position is locked and we've pushed the overlay already, reuse the previous push\n // amount, rather than pushing it again. If we were to continue pushing, the element would\n // remain in the viewport, which goes against the expectations when position locking is enabled.\n if (this._previousPushAmount && this._positionLocked) {\n return {\n x: start.x + this._previousPushAmount.x,\n y: start.y + this._previousPushAmount.y\n };\n }\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n const viewport = this._viewportRect;\n // Determine how much the overlay goes outside the viewport on each\n // side, which we'll use to decide which direction to push it.\n const overflowRight = Math.max(start.x + overlay.width - viewport.width, 0);\n const overflowBottom = Math.max(start.y + overlay.height - viewport.height, 0);\n const overflowTop = Math.max(viewport.top - scrollPosition.top - start.y, 0);\n const overflowLeft = Math.max(viewport.left - scrollPosition.left - start.x, 0);\n // Amount by which to push the overlay in each axis such that it remains on-screen.\n let pushX = 0;\n let pushY = 0;\n // If the overlay fits completely within the bounds of the viewport, push it from whichever\n // direction is goes off-screen. Otherwise, push the top-left corner such that its in the\n // viewport and allow for the trailing end of the overlay to go out of bounds.\n if (overlay.width <= viewport.width) {\n pushX = overflowLeft || -overflowRight;\n }\n else {\n pushX = start.x < this._viewportMargin ? (viewport.left - scrollPosition.left) - start.x : 0;\n }\n if (overlay.height <= viewport.height) {\n pushY = overflowTop || -overflowBottom;\n }\n else {\n pushY = start.y < this._viewportMargin ? (viewport.top - scrollPosition.top) - start.y : 0;\n }\n this._previousPushAmount = { x: pushX, y: pushY };\n return {\n x: start.x + pushX,\n y: start.y + pushY,\n };\n }\n /**\n * Applies a computed position to the overlay and emits a position change.\n * @param position The position preference\n * @param originPoint The point on the origin element where the overlay is connected.\n */\n _applyPosition(position, originPoint) {\n this._setTransformOrigin(position);\n this._setOverlayElementStyles(originPoint, position);\n this._setBoundingBoxStyles(originPoint, position);\n if (position.panelClass) {\n this._addPanelClasses(position.panelClass);\n }\n // Save the last connected position in case the position needs to be re-calculated.\n this._lastPosition = position;\n // Notify that the position has been changed along with its change properties.\n // We only emit if we've got any subscriptions, because the scroll visibility\n // calculcations can be somewhat expensive.\n if (this._positionChanges.observers.length) {\n const scrollableViewProperties = this._getScrollVisibility();\n const changeEvent = new ConnectedOverlayPositionChange(position, scrollableViewProperties);\n this._positionChanges.next(changeEvent);\n }\n this._isInitialRender = false;\n }\n /** Sets the transform origin based on the configured selector and the passed-in position. */\n _setTransformOrigin(position) {\n if (!this._transformOriginSelector) {\n return;\n }\n const elements = this._boundingBox.querySelectorAll(this._transformOriginSelector);\n let xOrigin;\n let yOrigin = position.overlayY;\n if (position.overlayX === 'center') {\n xOrigin = 'center';\n }\n else if (this._isRtl()) {\n xOrigin = position.overlayX === 'start' ? 'right' : 'left';\n }\n else {\n xOrigin = position.overlayX === 'start' ? 'left' : 'right';\n }\n for (let i = 0; i < elements.length; i++) {\n elements[i].style.transformOrigin = `${xOrigin} ${yOrigin}`;\n }\n }\n /**\n * Gets the position and size of the overlay's sizing container.\n *\n * This method does no measuring and applies no styles so that we can cheaply compute the\n * bounds for all positions and choose the best fit based on these results.\n */\n _calculateBoundingBoxRect(origin, position) {\n const viewport = this._viewportRect;\n const isRtl = this._isRtl();\n let height, top, bottom;\n if (position.overlayY === 'top') {\n // Overlay is opening \"downward\" and thus is bound by the bottom viewport edge.\n top = origin.y;\n height = viewport.height - top + this._viewportMargin;\n }\n else if (position.overlayY === 'bottom') {\n // Overlay is opening \"upward\" and thus is bound by the top viewport edge. We need to add\n // the viewport margin back in, because the viewport rect is narrowed down to remove the\n // margin, whereas the `origin` position is calculated based on its `ClientRect`.\n bottom = viewport.height - origin.y + this._viewportMargin * 2;\n height = viewport.height - bottom + this._viewportMargin;\n }\n else {\n // If neither top nor bottom, it means that the overlay is vertically centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.bottom - origin.y` and\n // `origin.y - viewport.top`.\n const smallestDistanceToViewportEdge = Math.min(viewport.bottom - origin.y + viewport.top, origin.y);\n const previousHeight = this._lastBoundingBoxSize.height;\n height = smallestDistanceToViewportEdge * 2;\n top = origin.y - smallestDistanceToViewportEdge;\n if (height > previousHeight && !this._isInitialRender && !this._growAfterOpen) {\n top = origin.y - (previousHeight / 2);\n }\n }\n // The overlay is opening 'right-ward' (the content flows to the right).\n const isBoundedByRightViewportEdge = (position.overlayX === 'start' && !isRtl) ||\n (position.overlayX === 'end' && isRtl);\n // The overlay is opening 'left-ward' (the content flows to the left).\n const isBoundedByLeftViewportEdge = (position.overlayX === 'end' && !isRtl) ||\n (position.overlayX === 'start' && isRtl);\n let width, left, right;\n if (isBoundedByLeftViewportEdge) {\n right = viewport.width - origin.x + this._viewportMargin;\n width = origin.x - this._viewportMargin;\n }\n else if (isBoundedByRightViewportEdge) {\n left = origin.x;\n width = viewport.right - origin.x;\n }\n else {\n // If neither start nor end, it means that the overlay is horizontally centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.right - origin.x` and\n // `origin.x - viewport.left`.\n const smallestDistanceToViewportEdge = Math.min(viewport.right - origin.x + viewport.left, origin.x);\n const previousWidth = this._lastBoundingBoxSize.width;\n width = smallestDistanceToViewportEdge * 2;\n left = origin.x - smallestDistanceToViewportEdge;\n if (width > previousWidth && !this._isInitialRender && !this._growAfterOpen) {\n left = origin.x - (previousWidth / 2);\n }\n }\n return { top: top, left: left, bottom: bottom, right: right, width, height };\n }\n /**\n * Sets the position and size of the overlay's sizing wrapper. The wrapper is positioned on the\n * origin's connection point and stetches to the bounds of the viewport.\n *\n * @param origin The point on the origin element where the overlay is connected.\n * @param position The position preference\n */\n _setBoundingBoxStyles(origin, position) {\n const boundingBoxRect = this._calculateBoundingBoxRect(origin, position);\n // It's weird if the overlay *grows* while scrolling, so we take the last size into account\n // when applying a new size.\n if (!this._isInitialRender && !this._growAfterOpen) {\n boundingBoxRect.height = Math.min(boundingBoxRect.height, this._lastBoundingBoxSize.height);\n boundingBoxRect.width = Math.min(boundingBoxRect.width, this._lastBoundingBoxSize.width);\n }\n const styles = {};\n if (this._hasExactPosition()) {\n styles.top = styles.left = '0';\n styles.bottom = styles.right = styles.maxHeight = styles.maxWidth = '';\n styles.width = styles.height = '100%';\n }\n else {\n const maxHeight = this._overlayRef.getConfig().maxHeight;\n const maxWidth = this._overlayRef.getConfig().maxWidth;\n styles.height = coerceCssPixelValue(boundingBoxRect.height);\n styles.top = coerceCssPixelValue(boundingBoxRect.top);\n styles.bottom = coerceCssPixelValue(boundingBoxRect.bottom);\n styles.width = coerceCssPixelValue(boundingBoxRect.width);\n styles.left = coerceCssPixelValue(boundingBoxRect.left);\n styles.right = coerceCssPixelValue(boundingBoxRect.right);\n // Push the pane content towards the proper direction.\n if (position.overlayX === 'center') {\n styles.alignItems = 'center';\n }\n else {\n styles.alignItems = position.overlayX === 'end' ? 'flex-end' : 'flex-start';\n }\n if (position.overlayY === 'center') {\n styles.justifyContent = 'center';\n }\n else {\n styles.justifyContent = position.overlayY === 'bottom' ? 'flex-end' : 'flex-start';\n }\n if (maxHeight) {\n styles.maxHeight = coerceCssPixelValue(maxHeight);\n }\n if (maxWidth) {\n styles.maxWidth = coerceCssPixelValue(maxWidth);\n }\n }\n this._lastBoundingBoxSize = boundingBoxRect;\n extendStyles(this._boundingBox.style, styles);\n }\n /** Resets the styles for the bounding box so that a new positioning can be computed. */\n _resetBoundingBoxStyles() {\n extendStyles(this._boundingBox.style, {\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n });\n }\n /** Resets the styles for the overlay pane so that a new positioning can be computed. */\n _resetOverlayElementStyles() {\n extendStyles(this._pane.style, {\n top: '',\n left: '',\n bottom: '',\n right: '',\n position: '',\n transform: '',\n });\n }\n /** Sets positioning styles to the overlay element. */\n _setOverlayElementStyles(originPoint, position) {\n const styles = {};\n const hasExactPosition = this._hasExactPosition();\n const hasFlexibleDimensions = this._hasFlexibleDimensions;\n const config = this._overlayRef.getConfig();\n if (hasExactPosition) {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n extendStyles(styles, this._getExactOverlayY(position, originPoint, scrollPosition));\n extendStyles(styles, this._getExactOverlayX(position, originPoint, scrollPosition));\n }\n else {\n styles.position = 'static';\n }\n // Use a transform to apply the offsets. We do this because the `center` positions rely on\n // being in the normal flex flow and setting a `top` / `left` at all will completely throw\n // off the position. We also can't use margins, because they won't have an effect in some\n // cases where the element doesn't have anything to \"push off of\". Finally, this works\n // better both with flexible and non-flexible positioning.\n let transformString = '';\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n if (offsetX) {\n transformString += `translateX(${offsetX}px) `;\n }\n if (offsetY) {\n transformString += `translateY(${offsetY}px)`;\n }\n styles.transform = transformString.trim();\n // If a maxWidth or maxHeight is specified on the overlay, we remove them. We do this because\n // we need these values to both be set to \"100%\" for the automatic flexible sizing to work.\n // The maxHeight and maxWidth are set on the boundingBox in order to enforce the constraint.\n // Note that this doesn't apply when we have an exact position, in which case we do want to\n // apply them because they'll be cleared from the bounding box.\n if (config.maxHeight) {\n if (hasExactPosition) {\n styles.maxHeight = coerceCssPixelValue(config.maxHeight);\n }\n else if (hasFlexibleDimensions) {\n styles.maxHeight = '';\n }\n }\n if (config.maxWidth) {\n if (hasExactPosition) {\n styles.maxWidth = coerceCssPixelValue(config.maxWidth);\n }\n else if (hasFlexibleDimensions) {\n styles.maxWidth = '';\n }\n }\n extendStyles(this._pane.style, styles);\n }\n /** Gets the exact top/bottom for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayY(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the\n // preferred position has changed since the last `apply`.\n let styles = { top: '', bottom: '' };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n let virtualKeyboardOffset = this._overlayContainer.getContainerElement().getBoundingClientRect().top;\n // Normally this would be zero, however when the overlay is attached to an input (e.g. in an\n // autocomplete), mobile browsers will shift everything in order to put the input in the middle\n // of the screen and to make space for the virtual keyboard. We need to account for this offset,\n // otherwise our positioning will be thrown off.\n overlayPoint.y -= virtualKeyboardOffset;\n // We want to set either `top` or `bottom` based on whether the overlay wants to appear\n // above or below the origin and the direction in which the element will expand.\n if (position.overlayY === 'bottom') {\n // When using `bottom`, we adjust the y position such that it is the distance\n // from the bottom of the viewport rather than the top.\n const documentHeight = this._document.documentElement.clientHeight;\n styles.bottom = `${documentHeight - (overlayPoint.y + this._overlayRect.height)}px`;\n }\n else {\n styles.top = coerceCssPixelValue(overlayPoint.y);\n }\n return styles;\n }\n /** Gets the exact left/right for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayX(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the preferred position has\n // changed since the last `apply`.\n let styles = { left: '', right: '' };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n // We want to set either `left` or `right` based on whether the overlay wants to appear \"before\"\n // or \"after\" the origin, which determines the direction in which the element will expand.\n // For the horizontal axis, the meaning of \"before\" and \"after\" change based on whether the\n // page is in RTL or LTR.\n let horizontalStyleProperty;\n if (this._isRtl()) {\n horizontalStyleProperty = position.overlayX === 'end' ? 'left' : 'right';\n }\n else {\n horizontalStyleProperty = position.overlayX === 'end' ? 'right' : 'left';\n }\n // When we're setting `right`, we adjust the x position such that it is the distance\n // from the right edge of the viewport rather than the left edge.\n if (horizontalStyleProperty === 'right') {\n const documentWidth = this._document.documentElement.clientWidth;\n styles.right = `${documentWidth - (overlayPoint.x + this._overlayRect.width)}px`;\n }\n else {\n styles.left = coerceCssPixelValue(overlayPoint.x);\n }\n return styles;\n }\n /**\n * Gets the view properties of the trigger and overlay, including whether they are clipped\n * or completely outside the view of any of the strategy's scrollables.\n */\n _getScrollVisibility() {\n // Note: needs fresh rects since the position could've changed.\n const originBounds = this._getOriginRect();\n const overlayBounds = this._pane.getBoundingClientRect();\n // TODO(jelbourn): instead of needing all of the client rects for these scrolling containers\n // every time, we should be able to use the scrollTop of the containers if the size of those\n // containers hasn't changed.\n const scrollContainerBounds = this._scrollables.map(scrollable => {\n return scrollable.getElementRef().nativeElement.getBoundingClientRect();\n });\n return {\n isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),\n isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),\n isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),\n isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds),\n };\n }\n /** Subtracts the amount that an element is overflowing on an axis from its length. */\n _subtractOverflows(length, ...overflows) {\n return overflows.reduce((currentValue, currentOverflow) => {\n return currentValue - Math.max(currentOverflow, 0);\n }, length);\n }\n /** Narrows the given viewport rect by the current _viewportMargin. */\n _getNarrowedViewportRect() {\n // We recalculate the viewport rect here ourselves, rather than using the ViewportRuler,\n // because we want to use the `clientWidth` and `clientHeight` as the base. The difference\n // being that the client properties don't include the scrollbar, as opposed to `innerWidth`\n // and `innerHeight` that do. This is necessary, because the overlay container uses\n // 100% `width` and `height` which don't include the scrollbar either.\n const width = this._document.documentElement.clientWidth;\n const height = this._document.documentElement.clientHeight;\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n return {\n top: scrollPosition.top + this._viewportMargin,\n left: scrollPosition.left + this._viewportMargin,\n right: scrollPosition.left + width - this._viewportMargin,\n bottom: scrollPosition.top + height - this._viewportMargin,\n width: width - (2 * this._viewportMargin),\n height: height - (2 * this._viewportMargin),\n };\n }\n /** Whether the we're dealing with an RTL context */\n _isRtl() {\n return this._overlayRef.getDirection() === 'rtl';\n }\n /** Determines whether the overlay uses exact or flexible positioning. */\n _hasExactPosition() {\n return !this._hasFlexibleDimensions || this._isPushed;\n }\n /** Retrieves the offset of a position along the x or y axis. */\n _getOffset(position, axis) {\n if (axis === 'x') {\n // We don't do something like `position['offset' + axis]` in\n // order to avoid breking minifiers that rename properties.\n return position.offsetX == null ? this._offsetX : position.offsetX;\n }\n return position.offsetY == null ? this._offsetY : position.offsetY;\n }\n /** Validates that the current position match the expected values. */\n _validatePositions() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._preferredPositions.length) {\n throw Error('FlexibleConnectedPositionStrategy: At least one position is required.');\n }\n // TODO(crisbeto): remove these once Angular's template type\n // checking is advanced enough to catch these cases.\n this._preferredPositions.forEach(pair => {\n validateHorizontalPosition('originX', pair.originX);\n validateVerticalPosition('originY', pair.originY);\n validateHorizontalPosition('overlayX', pair.overlayX);\n validateVerticalPosition('overlayY', pair.overlayY);\n });\n }\n }\n /** Adds a single CSS class or an array of classes on the overlay panel. */\n _addPanelClasses(cssClasses) {\n if (this._pane) {\n coerceArray(cssClasses).forEach(cssClass => {\n if (cssClass !== '' && this._appliedPanelClasses.indexOf(cssClass) === -1) {\n this._appliedPanelClasses.push(cssClass);\n this._pane.classList.add(cssClass);\n }\n });\n }\n }\n /** Clears the classes that the position strategy has applied from the overlay panel. */\n _clearPanelClasses() {\n if (this._pane) {\n this._appliedPanelClasses.forEach(cssClass => {\n this._pane.classList.remove(cssClass);\n });\n this._appliedPanelClasses = [];\n }\n }\n /** Returns the ClientRect of the current origin. */\n _getOriginRect() {\n const origin = this._origin;\n if (origin instanceof ElementRef) {\n return origin.nativeElement.getBoundingClientRect();\n }\n // Check for Element so SVG elements are also supported.\n if (origin instanceof Element) {\n return origin.getBoundingClientRect();\n }\n const width = origin.width || 0;\n const height = origin.height || 0;\n // If the origin is a point, return a client rect as if it was a 0x0 element at the point.\n return {\n top: origin.y,\n bottom: origin.y + height,\n left: origin.x,\n right: origin.x + width,\n height,\n width\n };\n }\n}\n/** Shallow-extends a stylesheet object with another stylesheet object. */\nfunction extendStyles(destination, source) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n destination[key] = source[key];\n }\n }\n return destination;\n}\n/**\n * Extracts the pixel value as a number from a value, if it's a number\n * or a CSS pixel string (e.g. `1337px`). Otherwise returns null.\n */\nfunction getPixelValue(input) {\n if (typeof input !== 'number' && input != null) {\n const [value, units] = input.split(cssUnitPattern);\n return (!units || units === 'px') ? parseFloat(value) : null;\n }\n return input || null;\n}\n/**\n * Gets a version of an element's bounding `ClientRect` where all the values are rounded down to\n * the nearest pixel. This allows us to account for the cases where there may be sub-pixel\n * deviations in the `ClientRect` returned by the browser (e.g. when zoomed in with a percentage\n * size, see #21350).\n */\nfunction getRoundedBoundingClientRect(clientRect) {\n return {\n top: Math.floor(clientRect.top),\n right: Math.floor(clientRect.right),\n bottom: Math.floor(clientRect.bottom),\n left: Math.floor(clientRect.left),\n width: Math.floor(clientRect.width),\n height: Math.floor(clientRect.height)\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 strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative to some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n * @deprecated Use `FlexibleConnectedPositionStrategy` instead.\n * @breaking-change 8.0.0\n */\nclass ConnectedPositionStrategy {\n constructor(originPos, overlayPos, connectedTo, viewportRuler, document, platform, overlayContainer) {\n /** Ordered list of preferred positions, from most to least desirable. */\n this._preferredPositions = [];\n // Since the `ConnectedPositionStrategy` is deprecated and we don't want to maintain\n // the extra logic, we create an instance of the positioning strategy that has some\n // defaults that make it behave as the old position strategy and to which we'll\n // proxy all of the API calls.\n this._positionStrategy = new FlexibleConnectedPositionStrategy(connectedTo, viewportRuler, document, platform, overlayContainer)\n .withFlexibleDimensions(false)\n .withPush(false)\n .withViewportMargin(0);\n this.withFallbackPosition(originPos, overlayPos);\n this.onPositionChange = this._positionStrategy.positionChanges;\n }\n /** Ordered list of preferred positions, from most to least desirable. */\n get positions() {\n return this._preferredPositions;\n }\n /** Attach this position strategy to an overlay. */\n attach(overlayRef) {\n this._overlayRef = overlayRef;\n this._positionStrategy.attach(overlayRef);\n if (this._direction) {\n overlayRef.setDirection(this._direction);\n this._direction = null;\n }\n }\n /** Disposes all resources used by the position strategy. */\n dispose() {\n this._positionStrategy.dispose();\n }\n /** @docs-private */\n detach() {\n this._positionStrategy.detach();\n }\n /**\n * Updates the position of the overlay element, using whichever preferred position relative\n * to the origin fits on-screen.\n * @docs-private\n */\n apply() {\n this._positionStrategy.apply();\n }\n /**\n * Re-positions the overlay element with the trigger in its last calculated position,\n * even if a position higher in the \"preferred positions\" list would now fit. This\n * allows one to re-align the panel without changing the orientation of the panel.\n */\n recalculateLastPosition() {\n this._positionStrategy.reapplyLastPosition();\n }\n /**\n * Sets the list of Scrollable containers that host the origin element so that\n * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n * Scrollable must be an ancestor element of the strategy's origin element.\n */\n withScrollableContainers(scrollables) {\n this._positionStrategy.withScrollableContainers(scrollables);\n }\n /**\n * Adds a new preferred fallback position.\n * @param originPos\n * @param overlayPos\n */\n withFallbackPosition(originPos, overlayPos, offsetX, offsetY) {\n const position = new ConnectionPositionPair(originPos, overlayPos, offsetX, offsetY);\n this._preferredPositions.push(position);\n this._positionStrategy.withPositions(this._preferredPositions);\n return this;\n }\n /**\n * Sets the layout direction so the overlay's position can be adjusted to match.\n * @param dir New layout direction.\n */\n withDirection(dir) {\n // Since the direction might be declared before the strategy is attached,\n // we save the value in a temporary property and we'll transfer it to the\n // overlay ref on attachment.\n if (this._overlayRef) {\n this._overlayRef.setDirection(dir);\n }\n else {\n this._direction = dir;\n }\n return this;\n }\n /**\n * Sets an offset for the overlay's connection point on the x-axis\n * @param offset New offset in the X axis.\n */\n withOffsetX(offset) {\n this._positionStrategy.withDefaultOffsetX(offset);\n return this;\n }\n /**\n * Sets an offset for the overlay's connection point on the y-axis\n * @param offset New offset in the Y axis.\n */\n withOffsetY(offset) {\n this._positionStrategy.withDefaultOffsetY(offset);\n return this;\n }\n /**\n * Sets whether the overlay's position should be locked in after it is positioned\n * initially. When an overlay is locked in, it won't attempt to reposition itself\n * when the position is re-applied (e.g. when the user scrolls away).\n * @param isLocked Whether the overlay should locked in.\n */\n withLockedPosition(isLocked) {\n this._positionStrategy.withLockedPosition(isLocked);\n return this;\n }\n /**\n * Overwrites the current set of positions with an array of new ones.\n * @param positions Position pairs to be set on the strategy.\n */\n withPositions(positions) {\n this._preferredPositions = positions.slice();\n this._positionStrategy.withPositions(this._preferredPositions);\n return this;\n }\n /**\n * Sets the origin element, relative to which to position the overlay.\n * @param origin Reference to the new origin element.\n */\n setOrigin(origin) {\n this._positionStrategy.setOrigin(origin);\n return this;\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/** Class to be added to the overlay pane wrapper. */\nconst wrapperClass = 'cdk-global-overlay-wrapper';\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * explicit position relative to the browser's viewport. We use flexbox, instead of\n * transforms, in order to avoid issues with subpixel rendering which can cause the\n * element to become blurry.\n */\nclass GlobalPositionStrategy {\n constructor() {\n this._cssPosition = 'static';\n this._topOffset = '';\n this._bottomOffset = '';\n this._leftOffset = '';\n this._rightOffset = '';\n this._alignItems = '';\n this._justifyContent = '';\n this._width = '';\n this._height = '';\n }\n attach(overlayRef) {\n const config = overlayRef.getConfig();\n this._overlayRef = overlayRef;\n if (this._width && !config.width) {\n overlayRef.updateSize({ width: this._width });\n }\n if (this._height && !config.height) {\n overlayRef.updateSize({ height: this._height });\n }\n overlayRef.hostElement.classList.add(wrapperClass);\n this._isDisposed = false;\n }\n /**\n * Sets the top position of the overlay. Clears any previously set vertical position.\n * @param value New top offset.\n */\n top(value = '') {\n this._bottomOffset = '';\n this._topOffset = value;\n this._alignItems = 'flex-start';\n return this;\n }\n /**\n * Sets the left position of the overlay. Clears any previously set horizontal position.\n * @param value New left offset.\n */\n left(value = '') {\n this._rightOffset = '';\n this._leftOffset = value;\n this._justifyContent = 'flex-start';\n return this;\n }\n /**\n * Sets the bottom position of the overlay. Clears any previously set vertical position.\n * @param value New bottom offset.\n */\n bottom(value = '') {\n this._topOffset = '';\n this._bottomOffset = value;\n this._alignItems = 'flex-end';\n return this;\n }\n /**\n * Sets the right position of the overlay. Clears any previously set horizontal position.\n * @param value New right offset.\n */\n right(value = '') {\n this._leftOffset = '';\n this._rightOffset = value;\n this._justifyContent = 'flex-end';\n return this;\n }\n /**\n * Sets the overlay width and clears any previously set width.\n * @param value New width for the overlay\n * @deprecated Pass the `width` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n width(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({ width: value });\n }\n else {\n this._width = value;\n }\n return this;\n }\n /**\n * Sets the overlay height and clears any previously set height.\n * @param value New height for the overlay\n * @deprecated Pass the `height` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n height(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({ height: value });\n }\n else {\n this._height = value;\n }\n return this;\n }\n /**\n * Centers the overlay horizontally with an optional offset.\n * Clears any previously set horizontal position.\n *\n * @param offset Overlay offset from the horizontal center.\n */\n centerHorizontally(offset = '') {\n this.left(offset);\n this._justifyContent = 'center';\n return this;\n }\n /**\n * Centers the overlay vertically with an optional offset.\n * Clears any previously set vertical position.\n *\n * @param offset Overlay offset from the vertical center.\n */\n centerVertically(offset = '') {\n this.top(offset);\n this._alignItems = 'center';\n return this;\n }\n /**\n * Apply the position to the element.\n * @docs-private\n */\n apply() {\n // Since the overlay ref applies the strategy asynchronously, it could\n // have been disposed before it ends up being applied. If that is the\n // case, we shouldn't do anything.\n if (!this._overlayRef || !this._overlayRef.hasAttached()) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parentStyles = this._overlayRef.hostElement.style;\n const config = this._overlayRef.getConfig();\n const { width, height, maxWidth, maxHeight } = config;\n const shouldBeFlushHorizontally = (width === '100%' || width === '100vw') &&\n (!maxWidth || maxWidth === '100%' || maxWidth === '100vw');\n const shouldBeFlushVertically = (height === '100%' || height === '100vh') &&\n (!maxHeight || maxHeight === '100%' || maxHeight === '100vh');\n styles.position = this._cssPosition;\n styles.marginLeft = shouldBeFlushHorizontally ? '0' : this._leftOffset;\n styles.marginTop = shouldBeFlushVertically ? '0' : this._topOffset;\n styles.marginBottom = this._bottomOffset;\n styles.marginRight = this._rightOffset;\n if (shouldBeFlushHorizontally) {\n parentStyles.justifyContent = 'flex-start';\n }\n else if (this._justifyContent === 'center') {\n parentStyles.justifyContent = 'center';\n }\n else if (this._overlayRef.getConfig().direction === 'rtl') {\n // In RTL the browser will invert `flex-start` and `flex-end` automatically, but we\n // don't want that because our positioning is explicitly `left` and `right`, hence\n // why we do another inversion to ensure that the overlay stays in the same position.\n // TODO: reconsider this if we add `start` and `end` methods.\n if (this._justifyContent === 'flex-start') {\n parentStyles.justifyContent = 'flex-end';\n }\n else if (this._justifyContent === 'flex-end') {\n parentStyles.justifyContent = 'flex-start';\n }\n }\n else {\n parentStyles.justifyContent = this._justifyContent;\n }\n parentStyles.alignItems = shouldBeFlushVertically ? 'flex-start' : this._alignItems;\n }\n /**\n * Cleans up the DOM changes from the position strategy.\n * @docs-private\n */\n dispose() {\n if (this._isDisposed || !this._overlayRef) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parent = this._overlayRef.hostElement;\n const parentStyles = parent.style;\n parent.classList.remove(wrapperClass);\n parentStyles.justifyContent = parentStyles.alignItems = styles.marginTop =\n styles.marginBottom = styles.marginLeft = styles.marginRight = styles.position = '';\n this._overlayRef = null;\n this._isDisposed = 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/** Builder for overlay position strategy. */\nclass OverlayPositionBuilder {\n constructor(_viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n }\n /**\n * Creates a global position strategy.\n */\n global() {\n return new GlobalPositionStrategy();\n }\n /**\n * Creates a relative position strategy.\n * @param elementRef\n * @param originPos\n * @param overlayPos\n * @deprecated Use `flexibleConnectedTo` instead.\n * @breaking-change 8.0.0\n */\n connectedTo(elementRef, originPos, overlayPos) {\n return new ConnectedPositionStrategy(originPos, overlayPos, elementRef, this._viewportRuler, this._document, this._platform, this._overlayContainer);\n }\n /**\n * Creates a flexible position strategy.\n * @param origin Origin relative to which to position the overlay.\n */\n flexibleConnectedTo(origin) {\n return new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer);\n }\n}\nOverlayPositionBuilder.ɵfac = function OverlayPositionBuilder_Factory(t) { return new (t || OverlayPositionBuilder)(ɵngcc0.ɵɵinject(ɵngcc1.ViewportRuler), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc2.Platform), ɵngcc0.ɵɵinject(OverlayContainer)); };\nOverlayPositionBuilder.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayPositionBuilder_Factory() { return new OverlayPositionBuilder(i0.ɵɵinject(i1.ViewportRuler), i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform), i0.ɵɵinject(OverlayContainer)); }, token: OverlayPositionBuilder, providedIn: \"root\" });\nOverlayPositionBuilder.ctorParameters = () => [\n { type: ViewportRuler },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform },\n { type: OverlayContainer }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayPositionBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.ViewportRuler }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }, { type: OverlayContainer }]; }, null); })();\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/** Next overlay unique ID. */\nlet nextUniqueId = 0;\n// Note that Overlay is *not* scoped to the app root because of the ComponentFactoryResolver\n// which needs to be different depending on where OverlayModule is imported.\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.\n */\nclass Overlay {\n constructor(\n /** Scrolling strategies that can be used when creating an overlay. */\n scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher) {\n this.scrollStrategies = scrollStrategies;\n this._overlayContainer = _overlayContainer;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._positionBuilder = _positionBuilder;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._injector = _injector;\n this._ngZone = _ngZone;\n this._document = _document;\n this._directionality = _directionality;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n }\n /**\n * Creates an overlay.\n * @param config Configuration applied to the overlay.\n * @returns Reference to the created overlay.\n */\n create(config) {\n const host = this._createHostElement();\n const pane = this._createPaneElement(host);\n const portalOutlet = this._createPortalOutlet(pane);\n const overlayConfig = new OverlayConfig(config);\n overlayConfig.direction = overlayConfig.direction || this._directionality.value;\n return new OverlayRef(portalOutlet, host, pane, overlayConfig, this._ngZone, this._keyboardDispatcher, this._document, this._location, this._outsideClickDispatcher);\n }\n /**\n * Gets a position builder that can be used, via fluent API,\n * to construct and configure a position strategy.\n * @returns An overlay position builder.\n */\n position() {\n return this._positionBuilder;\n }\n /**\n * Creates the DOM element for an overlay and appends it to the overlay container.\n * @returns Newly-created pane element\n */\n _createPaneElement(host) {\n const pane = this._document.createElement('div');\n pane.id = `cdk-overlay-${nextUniqueId++}`;\n pane.classList.add('cdk-overlay-pane');\n host.appendChild(pane);\n return pane;\n }\n /**\n * Creates the host element that wraps around an overlay\n * and can be used for advanced positioning.\n * @returns Newly-create host element.\n */\n _createHostElement() {\n const host = this._document.createElement('div');\n this._overlayContainer.getContainerElement().appendChild(host);\n return host;\n }\n /**\n * Create a DomPortalOutlet into which the overlay content can be loaded.\n * @param pane The DOM element to turn into a portal outlet.\n * @returns A portal outlet for the given DOM element.\n */\n _createPortalOutlet(pane) {\n // We have to resolve the ApplicationRef later in order to allow people\n // to use overlay-based providers during app initialization.\n if (!this._appRef) {\n this._appRef = this._injector.get(ApplicationRef);\n }\n return new DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._injector, this._document);\n }\n}\nOverlay.ɵfac = function Overlay_Factory(t) { return new (t || Overlay)(ɵngcc0.ɵɵinject(ScrollStrategyOptions), ɵngcc0.ɵɵinject(OverlayContainer), ɵngcc0.ɵɵinject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵinject(OverlayPositionBuilder), ɵngcc0.ɵɵinject(OverlayKeyboardDispatcher), ɵngcc0.ɵɵinject(ɵngcc0.Injector), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc3.Directionality), ɵngcc0.ɵɵinject(ɵngcc4.Location), ɵngcc0.ɵɵinject(OverlayOutsideClickDispatcher)); };\nOverlay.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: Overlay, factory: Overlay.ɵfac });\nOverlay.ctorParameters = () => [\n { type: ScrollStrategyOptions },\n { type: OverlayContainer },\n { type: ComponentFactoryResolver },\n { type: OverlayPositionBuilder },\n { type: OverlayKeyboardDispatcher },\n { type: Injector },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Directionality },\n { type: Location },\n { type: OverlayOutsideClickDispatcher }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Overlay, [{\n type: Injectable\n }], function () { return [{ type: ScrollStrategyOptions }, { type: OverlayContainer }, { type: ɵngcc0.ComponentFactoryResolver }, { type: OverlayPositionBuilder }, { type: OverlayKeyboardDispatcher }, { type: ɵngcc0.Injector }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc3.Directionality }, { type: ɵngcc4.Location }, { type: OverlayOutsideClickDispatcher }]; }, null); })();\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/** Default set of positions for the overlay. Follows the behavior of a dropdown. */\nconst defaultPositionList = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n }\n];\n/** Injection token that determines the scroll handling while the connected overlay is open. */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken('cdk-connected-overlay-scroll-strategy');\n/**\n * Directive applied to an element to make it usable as an origin for an Overlay using a\n * ConnectedPositionStrategy.\n */\nclass CdkOverlayOrigin {\n constructor(\n /** Reference to the element on which the directive is applied. */\n elementRef) {\n this.elementRef = elementRef;\n }\n}\nCdkOverlayOrigin.ɵfac = function CdkOverlayOrigin_Factory(t) { return new (t || CdkOverlayOrigin)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCdkOverlayOrigin.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkOverlayOrigin, selectors: [[\"\", \"cdk-overlay-origin\", \"\"], [\"\", \"overlay-origin\", \"\"], [\"\", \"cdkOverlayOrigin\", \"\"]], exportAs: [\"cdkOverlayOrigin\"] });\nCdkOverlayOrigin.ctorParameters = () => [\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkOverlayOrigin, [{\n type: Directive,\n args: [{\n selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',\n exportAs: 'cdkOverlayOrigin'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Directive to facilitate declarative creation of an\n * Overlay using a FlexibleConnectedPositionStrategy.\n */\nclass CdkConnectedOverlay {\n // TODO(jelbourn): inputs for size, scroll behavior, animation, etc.\n constructor(_overlay, templateRef, viewContainerRef, scrollStrategyFactory, _dir) {\n this._overlay = _overlay;\n this._dir = _dir;\n this._hasBackdrop = false;\n this._lockPosition = false;\n this._growAfterOpen = false;\n this._flexibleDimensions = false;\n this._push = false;\n this._backdropSubscription = Subscription.EMPTY;\n this._attachSubscription = Subscription.EMPTY;\n this._detachSubscription = Subscription.EMPTY;\n this._positionSubscription = Subscription.EMPTY;\n /** Margin between the overlay and the viewport edges. */\n this.viewportMargin = 0;\n /** Whether the overlay is open. */\n this.open = false;\n /** Whether the overlay can be closed by user interaction. */\n this.disableClose = false;\n /** Event emitted when the backdrop is clicked. */\n this.backdropClick = new EventEmitter();\n /** Event emitted when the position has changed. */\n this.positionChange = new EventEmitter();\n /** Event emitted when the overlay has been attached. */\n this.attach = new EventEmitter();\n /** Event emitted when the overlay has been detached. */\n this.detach = new EventEmitter();\n /** Emits when there are keyboard events that are targeted at the overlay. */\n this.overlayKeydown = new EventEmitter();\n /** Emits when there are mouse outside click events that are targeted at the overlay. */\n this.overlayOutsideClick = new EventEmitter();\n this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);\n this._scrollStrategyFactory = scrollStrategyFactory;\n this.scrollStrategy = this._scrollStrategyFactory();\n }\n /** The offset in pixels for the overlay connection point on the x-axis */\n get offsetX() { return this._offsetX; }\n set offsetX(offsetX) {\n this._offsetX = offsetX;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** The offset in pixels for the overlay connection point on the y-axis */\n get offsetY() { return this._offsetY; }\n set offsetY(offsetY) {\n this._offsetY = offsetY;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** Whether or not the overlay should attach a backdrop. */\n get hasBackdrop() { return this._hasBackdrop; }\n set hasBackdrop(value) { this._hasBackdrop = coerceBooleanProperty(value); }\n /** Whether or not the overlay should be locked when scrolling. */\n get lockPosition() { return this._lockPosition; }\n set lockPosition(value) { this._lockPosition = coerceBooleanProperty(value); }\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n get flexibleDimensions() { return this._flexibleDimensions; }\n set flexibleDimensions(value) {\n this._flexibleDimensions = coerceBooleanProperty(value);\n }\n /** Whether the overlay can grow after the initial open when flexible positioning is turned on. */\n get growAfterOpen() { return this._growAfterOpen; }\n set growAfterOpen(value) { this._growAfterOpen = coerceBooleanProperty(value); }\n /** Whether the overlay can be pushed on-screen if none of the provided positions fit. */\n get push() { return this._push; }\n set push(value) { this._push = coerceBooleanProperty(value); }\n /** The associated overlay reference. */\n get overlayRef() {\n return this._overlayRef;\n }\n /** The element's layout direction. */\n get dir() {\n return this._dir ? this._dir.value : 'ltr';\n }\n ngOnDestroy() {\n this._attachSubscription.unsubscribe();\n this._detachSubscription.unsubscribe();\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n }\n ngOnChanges(changes) {\n if (this._position) {\n this._updatePositionStrategy(this._position);\n this._overlayRef.updateSize({\n width: this.width,\n minWidth: this.minWidth,\n height: this.height,\n minHeight: this.minHeight,\n });\n if (changes['origin'] && this.open) {\n this._position.apply();\n }\n }\n if (changes['open']) {\n this.open ? this._attachOverlay() : this._detachOverlay();\n }\n }\n /** Creates an overlay */\n _createOverlay() {\n if (!this.positions || !this.positions.length) {\n this.positions = defaultPositionList;\n }\n const overlayRef = this._overlayRef = this._overlay.create(this._buildConfig());\n this._attachSubscription = overlayRef.attachments().subscribe(() => this.attach.emit());\n this._detachSubscription = overlayRef.detachments().subscribe(() => this.detach.emit());\n overlayRef.keydownEvents().subscribe((event) => {\n this.overlayKeydown.next(event);\n if (event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event)) {\n event.preventDefault();\n this._detachOverlay();\n }\n });\n this._overlayRef.outsidePointerEvents().subscribe((event) => {\n this.overlayOutsideClick.next(event);\n });\n }\n /** Builds the overlay config based on the directive's inputs */\n _buildConfig() {\n const positionStrategy = this._position =\n this.positionStrategy || this._createPositionStrategy();\n const overlayConfig = new OverlayConfig({\n direction: this._dir,\n positionStrategy,\n scrollStrategy: this.scrollStrategy,\n hasBackdrop: this.hasBackdrop\n });\n if (this.width || this.width === 0) {\n overlayConfig.width = this.width;\n }\n if (this.height || this.height === 0) {\n overlayConfig.height = this.height;\n }\n if (this.minWidth || this.minWidth === 0) {\n overlayConfig.minWidth = this.minWidth;\n }\n if (this.minHeight || this.minHeight === 0) {\n overlayConfig.minHeight = this.minHeight;\n }\n if (this.backdropClass) {\n overlayConfig.backdropClass = this.backdropClass;\n }\n if (this.panelClass) {\n overlayConfig.panelClass = this.panelClass;\n }\n return overlayConfig;\n }\n /** Updates the state of a position strategy, based on the values of the directive inputs. */\n _updatePositionStrategy(positionStrategy) {\n const positions = this.positions.map(currentPosition => ({\n originX: currentPosition.originX,\n originY: currentPosition.originY,\n overlayX: currentPosition.overlayX,\n overlayY: currentPosition.overlayY,\n offsetX: currentPosition.offsetX || this.offsetX,\n offsetY: currentPosition.offsetY || this.offsetY,\n panelClass: currentPosition.panelClass || undefined,\n }));\n return positionStrategy\n .setOrigin(this.origin.elementRef)\n .withPositions(positions)\n .withFlexibleDimensions(this.flexibleDimensions)\n .withPush(this.push)\n .withGrowAfterOpen(this.growAfterOpen)\n .withViewportMargin(this.viewportMargin)\n .withLockedPosition(this.lockPosition)\n .withTransformOriginOn(this.transformOriginSelector);\n }\n /** Returns the position strategy of the overlay to be set on the overlay config */\n _createPositionStrategy() {\n const strategy = this._overlay.position().flexibleConnectedTo(this.origin.elementRef);\n this._updatePositionStrategy(strategy);\n return strategy;\n }\n /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */\n _attachOverlay() {\n if (!this._overlayRef) {\n this._createOverlay();\n }\n else {\n // Update the overlay size, in case the directive's inputs have changed\n this._overlayRef.getConfig().hasBackdrop = this.hasBackdrop;\n }\n if (!this._overlayRef.hasAttached()) {\n this._overlayRef.attach(this._templatePortal);\n }\n if (this.hasBackdrop) {\n this._backdropSubscription = this._overlayRef.backdropClick().subscribe(event => {\n this.backdropClick.emit(event);\n });\n }\n else {\n this._backdropSubscription.unsubscribe();\n }\n this._positionSubscription.unsubscribe();\n // Only subscribe to `positionChanges` if requested, because putting\n // together all the information for it can be expensive.\n if (this.positionChange.observers.length > 0) {\n this._positionSubscription = this._position.positionChanges\n .pipe(takeWhile(() => this.positionChange.observers.length > 0))\n .subscribe(position => {\n this.positionChange.emit(position);\n if (this.positionChange.observers.length === 0) {\n this._positionSubscription.unsubscribe();\n }\n });\n }\n }\n /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */\n _detachOverlay() {\n if (this._overlayRef) {\n this._overlayRef.detach();\n }\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n }\n}\nCdkConnectedOverlay.ɵfac = function CdkConnectedOverlay_Factory(t) { return new (t || CdkConnectedOverlay)(ɵngcc0.ɵɵdirectiveInject(Overlay), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.Directionality, 8)); };\nCdkConnectedOverlay.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkConnectedOverlay, selectors: [[\"\", \"cdk-connected-overlay\", \"\"], [\"\", \"connected-overlay\", \"\"], [\"\", \"cdkConnectedOverlay\", \"\"]], inputs: { viewportMargin: [\"cdkConnectedOverlayViewportMargin\", \"viewportMargin\"], open: [\"cdkConnectedOverlayOpen\", \"open\"], disableClose: [\"cdkConnectedOverlayDisableClose\", \"disableClose\"], scrollStrategy: [\"cdkConnectedOverlayScrollStrategy\", \"scrollStrategy\"], offsetX: [\"cdkConnectedOverlayOffsetX\", \"offsetX\"], offsetY: [\"cdkConnectedOverlayOffsetY\", \"offsetY\"], hasBackdrop: [\"cdkConnectedOverlayHasBackdrop\", \"hasBackdrop\"], lockPosition: [\"cdkConnectedOverlayLockPosition\", \"lockPosition\"], flexibleDimensions: [\"cdkConnectedOverlayFlexibleDimensions\", \"flexibleDimensions\"], growAfterOpen: [\"cdkConnectedOverlayGrowAfterOpen\", \"growAfterOpen\"], push: [\"cdkConnectedOverlayPush\", \"push\"], positions: [\"cdkConnectedOverlayPositions\", \"positions\"], origin: [\"cdkConnectedOverlayOrigin\", \"origin\"], positionStrategy: [\"cdkConnectedOverlayPositionStrategy\", \"positionStrategy\"], width: [\"cdkConnectedOverlayWidth\", \"width\"], height: [\"cdkConnectedOverlayHeight\", \"height\"], minWidth: [\"cdkConnectedOverlayMinWidth\", \"minWidth\"], minHeight: [\"cdkConnectedOverlayMinHeight\", \"minHeight\"], backdropClass: [\"cdkConnectedOverlayBackdropClass\", \"backdropClass\"], panelClass: [\"cdkConnectedOverlayPanelClass\", \"panelClass\"], transformOriginSelector: [\"cdkConnectedOverlayTransformOriginOn\", \"transformOriginSelector\"] }, outputs: { backdropClick: \"backdropClick\", positionChange: \"positionChange\", attach: \"attach\", detach: \"detach\", overlayKeydown: \"overlayKeydown\", overlayOutsideClick: \"overlayOutsideClick\" }, exportAs: [\"cdkConnectedOverlay\"], features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkConnectedOverlay.ctorParameters = () => [\n { type: Overlay },\n { type: TemplateRef },\n { type: ViewContainerRef },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,] }] },\n { type: Directionality, decorators: [{ type: Optional }] }\n];\nCdkConnectedOverlay.propDecorators = {\n origin: [{ type: Input, args: ['cdkConnectedOverlayOrigin',] }],\n positions: [{ type: Input, args: ['cdkConnectedOverlayPositions',] }],\n positionStrategy: [{ type: Input, args: ['cdkConnectedOverlayPositionStrategy',] }],\n offsetX: [{ type: Input, args: ['cdkConnectedOverlayOffsetX',] }],\n offsetY: [{ type: Input, args: ['cdkConnectedOverlayOffsetY',] }],\n width: [{ type: Input, args: ['cdkConnectedOverlayWidth',] }],\n height: [{ type: Input, args: ['cdkConnectedOverlayHeight',] }],\n minWidth: [{ type: Input, args: ['cdkConnectedOverlayMinWidth',] }],\n minHeight: [{ type: Input, args: ['cdkConnectedOverlayMinHeight',] }],\n backdropClass: [{ type: Input, args: ['cdkConnectedOverlayBackdropClass',] }],\n panelClass: [{ type: Input, args: ['cdkConnectedOverlayPanelClass',] }],\n viewportMargin: [{ type: Input, args: ['cdkConnectedOverlayViewportMargin',] }],\n scrollStrategy: [{ type: Input, args: ['cdkConnectedOverlayScrollStrategy',] }],\n open: [{ type: Input, args: ['cdkConnectedOverlayOpen',] }],\n disableClose: [{ type: Input, args: ['cdkConnectedOverlayDisableClose',] }],\n transformOriginSelector: [{ type: Input, args: ['cdkConnectedOverlayTransformOriginOn',] }],\n hasBackdrop: [{ type: Input, args: ['cdkConnectedOverlayHasBackdrop',] }],\n lockPosition: [{ type: Input, args: ['cdkConnectedOverlayLockPosition',] }],\n flexibleDimensions: [{ type: Input, args: ['cdkConnectedOverlayFlexibleDimensions',] }],\n growAfterOpen: [{ type: Input, args: ['cdkConnectedOverlayGrowAfterOpen',] }],\n push: [{ type: Input, args: ['cdkConnectedOverlayPush',] }],\n backdropClick: [{ type: Output }],\n positionChange: [{ type: Output }],\n attach: [{ type: Output }],\n detach: [{ type: Output }],\n overlayKeydown: [{ type: Output }],\n overlayOutsideClick: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkConnectedOverlay, [{\n type: Directive,\n args: [{\n selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',\n exportAs: 'cdkConnectedOverlay'\n }]\n }], function () { return [{ type: Overlay }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY]\n }] }, { type: ɵngcc3.Directionality, decorators: [{\n type: Optional\n }] }]; }, { viewportMargin: [{\n type: Input,\n args: ['cdkConnectedOverlayViewportMargin']\n }], open: [{\n type: Input,\n args: ['cdkConnectedOverlayOpen']\n }], disableClose: [{\n type: Input,\n args: ['cdkConnectedOverlayDisableClose']\n }], backdropClick: [{\n type: Output\n }], positionChange: [{\n type: Output\n }], attach: [{\n type: Output\n }], detach: [{\n type: Output\n }], overlayKeydown: [{\n type: Output\n }], overlayOutsideClick: [{\n type: Output\n }], scrollStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayScrollStrategy']\n }], offsetX: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetX']\n }], offsetY: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetY']\n }], hasBackdrop: [{\n type: Input,\n args: ['cdkConnectedOverlayHasBackdrop']\n }], lockPosition: [{\n type: Input,\n args: ['cdkConnectedOverlayLockPosition']\n }], flexibleDimensions: [{\n type: Input,\n args: ['cdkConnectedOverlayFlexibleDimensions']\n }], growAfterOpen: [{\n type: Input,\n args: ['cdkConnectedOverlayGrowAfterOpen']\n }], push: [{\n type: Input,\n args: ['cdkConnectedOverlayPush']\n }], positions: [{\n type: Input,\n args: ['cdkConnectedOverlayPositions']\n }], origin: [{\n type: Input,\n args: ['cdkConnectedOverlayOrigin']\n }], positionStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayPositionStrategy']\n }], width: [{\n type: Input,\n args: ['cdkConnectedOverlayWidth']\n }], height: [{\n type: Input,\n args: ['cdkConnectedOverlayHeight']\n }], minWidth: [{\n type: Input,\n args: ['cdkConnectedOverlayMinWidth']\n }], minHeight: [{\n type: Input,\n args: ['cdkConnectedOverlayMinHeight']\n }], backdropClass: [{\n type: Input,\n args: ['cdkConnectedOverlayBackdropClass']\n }], panelClass: [{\n type: Input,\n args: ['cdkConnectedOverlayPanelClass']\n }], transformOriginSelector: [{\n type: Input,\n args: ['cdkConnectedOverlayTransformOriginOn']\n }] }); })();\n/** @docs-private */\nfunction CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {\n return () => overlay.scrollStrategies.reposition();\n}\n/** @docs-private */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,\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 OverlayModule {\n}\nOverlayModule.ɵfac = function OverlayModule_Factory(t) { return new (t || OverlayModule)(); };\nOverlayModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: OverlayModule });\nOverlayModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [\n Overlay,\n CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n ], imports: [[BidiModule, PortalModule, ScrollingModule], ScrollingModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayModule, [{\n type: NgModule,\n args: [{\n imports: [BidiModule, PortalModule, ScrollingModule],\n exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule],\n declarations: [CdkConnectedOverlay, CdkOverlayOrigin],\n providers: [\n Overlay,\n CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(OverlayModule, { declarations: function () { return [CdkConnectedOverlay, CdkOverlayOrigin]; }, imports: function () { return [BidiModule, PortalModule, ScrollingModule]; }, exports: function () { return [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule]; } }); })();\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 * Alternative to OverlayContainer that supports correct displaying of overlay elements in\n * Fullscreen mode\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n *\n * Should be provided in the root component.\n */\nclass FullscreenOverlayContainer extends OverlayContainer {\n constructor(_document, platform) {\n super(_document, platform);\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n if (this._fullScreenEventName && this._fullScreenListener) {\n this._document.removeEventListener(this._fullScreenEventName, this._fullScreenListener);\n }\n }\n _createContainer() {\n super._createContainer();\n this._adjustParentForFullscreenChange();\n this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange());\n }\n _adjustParentForFullscreenChange() {\n if (!this._containerElement) {\n return;\n }\n const fullscreenElement = this.getFullscreenElement();\n const parent = fullscreenElement || this._document.body;\n parent.appendChild(this._containerElement);\n }\n _addFullscreenChangeListener(fn) {\n const eventName = this._getEventName();\n if (eventName) {\n if (this._fullScreenListener) {\n this._document.removeEventListener(eventName, this._fullScreenListener);\n }\n this._document.addEventListener(eventName, fn);\n this._fullScreenListener = fn;\n }\n }\n _getEventName() {\n if (!this._fullScreenEventName) {\n const _document = this._document;\n if (_document.fullscreenEnabled) {\n this._fullScreenEventName = 'fullscreenchange';\n }\n else if (_document.webkitFullscreenEnabled) {\n this._fullScreenEventName = 'webkitfullscreenchange';\n }\n else if (_document.mozFullScreenEnabled) {\n this._fullScreenEventName = 'mozfullscreenchange';\n }\n else if (_document.msFullscreenEnabled) {\n this._fullScreenEventName = 'MSFullscreenChange';\n }\n }\n return this._fullScreenEventName;\n }\n /**\n * When the page is put into fullscreen mode, a specific element is specified.\n * Only that element and its children are visible when in fullscreen mode.\n */\n getFullscreenElement() {\n const _document = this._document;\n return _document.fullscreenElement ||\n _document.webkitFullscreenElement ||\n _document.mozFullScreenElement ||\n _document.msFullscreenElement ||\n null;\n }\n}\nFullscreenOverlayContainer.ɵfac = function FullscreenOverlayContainer_Factory(t) { return new (t || FullscreenOverlayContainer)(ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc2.Platform)); };\nFullscreenOverlayContainer.ɵprov = i0.ɵɵdefineInjectable({ factory: function FullscreenOverlayContainer_Factory() { return new FullscreenOverlayContainer(i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform)); }, token: FullscreenOverlayContainer, providedIn: \"root\" });\nFullscreenOverlayContainer.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FullscreenOverlayContainer, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }]; }, null); })();\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 { BlockScrollStrategy, CdkConnectedOverlay, CdkOverlayOrigin, CloseScrollStrategy, ConnectedOverlayPositionChange, ConnectedPositionStrategy, ConnectionPositionPair, FlexibleConnectedPositionStrategy, FullscreenOverlayContainer, GlobalPositionStrategy, NoopScrollStrategy, Overlay, OverlayConfig, OverlayContainer, OverlayKeyboardDispatcher, OverlayModule, OverlayOutsideClickDispatcher, OverlayPositionBuilder, OverlayRef, RepositionScrollStrategy, ScrollStrategyOptions, ScrollingVisibility, validateHorizontalPosition, validateVerticalPosition, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY as ɵangular_material_src_cdk_overlay_overlay_a, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY as ɵangular_material_src_cdk_overlay_overlay_b, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER as ɵangular_material_src_cdk_overlay_overlay_c, BaseOverlayDispatcher as ɵangular_material_src_cdk_overlay_overlay_d };\n\n","import * as i0 from '@angular/core';\nimport { Injectable, Inject, PLATFORM_ID, NgModule } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\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// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nimport * as ɵngcc0 from '@angular/core';\nlet hasV8BreakIterator;\n// We need a try/catch around the reference to `Intl`, because accessing it in some cases can\n// cause IE to throw. These cases are tied to particular versions of Windows and can happen if\n// the consumer is providing a polyfilled `Map`. See:\n// https://github.com/Microsoft/ChakraCore/issues/3189\n// https://github.com/angular/components/issues/15687\ntry {\n hasV8BreakIterator = (typeof Intl !== 'undefined' && Intl.v8BreakIterator);\n}\ncatch (_a) {\n hasV8BreakIterator = false;\n}\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n */\nclass Platform {\n constructor(_platformId) {\n this._platformId = _platformId;\n // We want to use the Angular platform check because if the Document is shimmed\n // without the navigator, the following checks will fail. This is preferred because\n // sometimes the Document may be shimmed without the user's knowledge or intention\n /** Whether the Angular application is being rendered in the browser. */\n this.isBrowser = this._platformId ?\n isPlatformBrowser(this._platformId) : typeof document === 'object' && !!document;\n /** Whether the current browser is Microsoft Edge. */\n this.EDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n /** Whether the current rendering engine is Microsoft Trident. */\n this.TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n /** Whether the current rendering engine is Blink. */\n this.BLINK = this.isBrowser && (!!(window.chrome || hasV8BreakIterator) &&\n typeof CSS !== 'undefined' && !this.EDGE && !this.TRIDENT);\n // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n // ensure that Webkit runs standalone and is not used as another engine's base.\n /** Whether the current rendering engine is WebKit. */\n this.WEBKIT = this.isBrowser &&\n /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT;\n /** Whether the current platform is Apple iOS. */\n this.IOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) &&\n !('MSStream' in window);\n // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n // them self as Gecko-like browsers and modify the userAgent's according to that.\n // Since we only cover one explicit Firefox case, we can simply check for Firefox\n // instead of having an unstable check for Gecko.\n /** Whether the current browser is Firefox. */\n this.FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n /** Whether the current platform is Android. */\n // Trident on mobile adds the android platform to the userAgent to trick detections.\n this.ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n // this and just place the Safari keyword in the userAgent. To be more safe about Safari every\n // Safari browser should also use Webkit as its layout engine.\n /** Whether the current browser is Safari. */\n this.SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n }\n}\nPlatform.ɵfac = function Platform_Factory(t) { return new (t || Platform)(ɵngcc0.ɵɵinject(PLATFORM_ID)); };\nPlatform.ɵprov = i0.ɵɵdefineInjectable({ factory: function Platform_Factory() { return new Platform(i0.ɵɵinject(i0.PLATFORM_ID)); }, token: Platform, providedIn: \"root\" });\nPlatform.ctorParameters = () => [\n { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Platform, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; }, null); })();\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 PlatformModule {\n}\nPlatformModule.ɵfac = function PlatformModule_Factory(t) { return new (t || PlatformModule)(); };\nPlatformModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: PlatformModule });\nPlatformModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PlatformModule, [{\n type: NgModule,\n args: [{}]\n }], null, null); })();\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/** Cached result Set of input types support by the current browser. */\nlet supportedInputTypes;\n/** Types of `` that *might* be supported. */\nconst candidateInputTypes = [\n // `color` must come first. Chrome 56 shows a warning if we change the type to `color` after\n // first changing it to something else:\n // The specified value \"\" does not conform to the required format.\n // The format is \"#rrggbb\" where rr, gg, bb are two-digit hexadecimal numbers.\n 'color',\n 'button',\n 'checkbox',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'hidden',\n 'image',\n 'month',\n 'number',\n 'password',\n 'radio',\n 'range',\n 'reset',\n 'search',\n 'submit',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n];\n/** @returns The input types supported by this browser. */\nfunction getSupportedInputTypes() {\n // Result is cached.\n if (supportedInputTypes) {\n return supportedInputTypes;\n }\n // We can't check if an input type is not supported until we're on the browser, so say that\n // everything is supported when not on the browser. We don't use `Platform` here since it's\n // just a helper function and can't inject it.\n if (typeof document !== 'object' || !document) {\n supportedInputTypes = new Set(candidateInputTypes);\n return supportedInputTypes;\n }\n let featureTestInput = document.createElement('input');\n supportedInputTypes = new Set(candidateInputTypes.filter(value => {\n featureTestInput.setAttribute('type', value);\n return featureTestInput.type === value;\n }));\n return supportedInputTypes;\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/** Cached result of whether the user's browser supports passive event listeners. */\nlet supportsPassiveEvents;\n/**\n * Checks whether the user's browser supports passive event listeners.\n * See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n */\nfunction supportsPassiveEventListeners() {\n if (supportsPassiveEvents == null && typeof window !== 'undefined') {\n try {\n window.addEventListener('test', null, Object.defineProperty({}, 'passive', {\n get: () => supportsPassiveEvents = true\n }));\n }\n finally {\n supportsPassiveEvents = supportsPassiveEvents || false;\n }\n }\n return supportsPassiveEvents;\n}\n/**\n * Normalizes an `AddEventListener` object to something that can be passed\n * to `addEventListener` on any browser, no matter whether it supports the\n * `options` parameter.\n * @param options Object to be normalized.\n */\nfunction normalizePassiveListenerOptions(options) {\n return supportsPassiveEventListeners() ? options : !!options.capture;\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/** Cached result of the way the browser handles the horizontal scroll axis in RTL mode. */\nlet rtlScrollAxisType;\n/** Cached result of the check that indicates whether the browser supports scroll behaviors. */\nlet scrollBehaviorSupported;\n/** Check whether the browser supports scroll behaviors. */\nfunction supportsScrollBehavior() {\n if (scrollBehaviorSupported == null) {\n // If we're not in the browser, it can't be supported. Also check for `Element`, because\n // some projects stub out the global `document` during SSR which can throw us off.\n if (typeof document !== 'object' || !document || typeof Element !== 'function' || !Element) {\n scrollBehaviorSupported = false;\n return scrollBehaviorSupported;\n }\n // If the element can have a `scrollBehavior` style, we can be sure that it's supported.\n if ('scrollBehavior' in document.documentElement.style) {\n scrollBehaviorSupported = true;\n }\n else {\n // At this point we have 3 possibilities: `scrollTo` isn't supported at all, it's\n // supported but it doesn't handle scroll behavior, or it has been polyfilled.\n const scrollToFunction = Element.prototype.scrollTo;\n if (scrollToFunction) {\n // We can detect if the function has been polyfilled by calling `toString` on it. Native\n // functions are obfuscated using `[native code]`, whereas if it was overwritten we'd get\n // the actual function source. Via https://davidwalsh.name/detect-native-function. Consider\n // polyfilled functions as supporting scroll behavior.\n scrollBehaviorSupported = !/\\{\\s*\\[native code\\]\\s*\\}/.test(scrollToFunction.toString());\n }\n else {\n scrollBehaviorSupported = false;\n }\n }\n }\n return scrollBehaviorSupported;\n}\n/**\n * Checks the type of RTL scroll axis used by this browser. As of time of writing, Chrome is NORMAL,\n * Firefox & Safari are NEGATED, and IE & Edge are INVERTED.\n */\nfunction getRtlScrollAxisType() {\n // We can't check unless we're on the browser. Just assume 'normal' if we're not.\n if (typeof document !== 'object' || !document) {\n return 0 /* NORMAL */;\n }\n if (rtlScrollAxisType == null) {\n // Create a 1px wide scrolling container and a 2px wide content element.\n const scrollContainer = document.createElement('div');\n const containerStyle = scrollContainer.style;\n scrollContainer.dir = 'rtl';\n containerStyle.width = '1px';\n containerStyle.overflow = 'auto';\n containerStyle.visibility = 'hidden';\n containerStyle.pointerEvents = 'none';\n containerStyle.position = 'absolute';\n const content = document.createElement('div');\n const contentStyle = content.style;\n contentStyle.width = '2px';\n contentStyle.height = '1px';\n scrollContainer.appendChild(content);\n document.body.appendChild(scrollContainer);\n rtlScrollAxisType = 0 /* NORMAL */;\n // The viewport starts scrolled all the way to the right in RTL mode. If we are in a NORMAL\n // browser this would mean that the scrollLeft should be 1. If it's zero instead we know we're\n // dealing with one of the other two types of browsers.\n if (scrollContainer.scrollLeft === 0) {\n // In a NEGATED browser the scrollLeft is always somewhere in [-maxScrollAmount, 0]. For an\n // INVERTED browser it is always somewhere in [0, maxScrollAmount]. We can determine which by\n // setting to the scrollLeft to 1. This is past the max for a NEGATED browser, so it will\n // return 0 when we read it again.\n scrollContainer.scrollLeft = 1;\n rtlScrollAxisType =\n scrollContainer.scrollLeft === 0 ? 1 /* NEGATED */ : 2 /* INVERTED */;\n }\n scrollContainer.parentNode.removeChild(scrollContainer);\n }\n return rtlScrollAxisType;\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 */\nlet shadowDomIsSupported;\n/** Checks whether the user's browser support Shadow DOM. */\nfunction _supportsShadowDom() {\n if (shadowDomIsSupported == null) {\n const head = typeof document !== 'undefined' ? document.head : null;\n shadowDomIsSupported = !!(head && (head.createShadowRoot || head.attachShadow));\n }\n return shadowDomIsSupported;\n}\n/** Gets the shadow root of an element, if supported and the element is inside the Shadow DOM. */\nfunction _getShadowRoot(element) {\n if (_supportsShadowDom()) {\n const rootNode = element.getRootNode ? element.getRootNode() : null;\n // Note that this should be caught by `_supportsShadowDom`, but some\n // teams have been able to hit this code path on unsupported browsers.\n if (typeof ShadowRoot !== 'undefined' && ShadowRoot && rootNode instanceof ShadowRoot) {\n return rootNode;\n }\n }\n return null;\n}\n/**\n * Gets the currently-focused element on the page while\n * also piercing through Shadow DOM boundaries.\n */\nfunction _getFocusedElementPierceShadowDom() {\n let activeElement = typeof document !== 'undefined' && document ?\n document.activeElement : null;\n while (activeElement && activeElement.shadowRoot) {\n const newActiveElement = activeElement.shadowRoot.activeElement;\n if (newActiveElement === activeElement) {\n break;\n }\n else {\n activeElement = newActiveElement;\n }\n }\n return activeElement;\n}\n/** Gets the target of an event while accounting for Shadow DOM. */\nfunction _getEventTarget(event) {\n // If an event is bound outside the Shadow DOM, the `event.target` will\n // point to the shadow root so we have to use `composedPath` instead.\n return (event.composedPath ? event.composedPath()[0] : event.target);\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/** Gets whether the code is currently running in a test environment. */\nfunction _isTestEnvironment() {\n // We can't use `declare const` because it causes conflicts inside Google with the real typings\n // for these symbols and we can't read them off the global object, because they don't appear to\n // be attached there for some runners like Jest.\n // (see: https://github.com/angular/components/issues/23365#issuecomment-938146643)\n return (\n // @ts-ignore\n (typeof __karma__ !== 'undefined' && !!__karma__) ||\n // @ts-ignore\n (typeof jasmine !== 'undefined' && !!jasmine) ||\n // @ts-ignore\n (typeof jest !== 'undefined' && !!jest) ||\n // @ts-ignore\n (typeof Mocha !== 'undefined' && !!Mocha));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Platform, PlatformModule, _getEventTarget, _getFocusedElementPierceShadowDom, _getShadowRoot, _isTestEnvironment, _supportsShadowDom, getRtlScrollAxisType, getSupportedInputTypes, normalizePassiveListenerOptions, supportsPassiveEventListeners, supportsScrollBehavior };\n\n","import { ElementRef, Directive, TemplateRef, ViewContainerRef, EventEmitter, ComponentFactoryResolver, Inject, Output, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\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 * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nimport * as ɵngcc0 from '@angular/core';\nfunction throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nfunction throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nfunction throwPortalOutletAlreadyDisposedError() {\n throw Error('This PortalOutlet has already been disposed');\n}\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nfunction throwUnknownPortalTypeError() {\n throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n 'a ComponentPortal or a TemplatePortal.');\n}\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nfunction throwNullPortalOutletError() {\n throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nfunction throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a 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 * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nclass Portal {\n /** Attach this portal to a host. */\n attach(host) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (host == null) {\n throwNullPortalOutletError();\n }\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n }\n this._attachedHost = host;\n return host.attach(this);\n }\n /** Detach this portal from its host */\n detach() {\n let host = this._attachedHost;\n if (host != null) {\n this._attachedHost = null;\n host.detach();\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwNoPortalAttachedError();\n }\n }\n /** Whether this portal is attached to a host. */\n get isAttached() {\n return this._attachedHost != null;\n }\n /**\n * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n * the PortalOutlet when it is performing an `attach()` or `detach()`.\n */\n setAttachedHost(host) {\n this._attachedHost = host;\n }\n}\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nclass ComponentPortal extends Portal {\n constructor(component, viewContainerRef, injector, componentFactoryResolver) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.componentFactoryResolver = componentFactoryResolver;\n }\n}\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nclass TemplatePortal extends Portal {\n constructor(template, viewContainerRef, context) {\n super();\n this.templateRef = template;\n this.viewContainerRef = viewContainerRef;\n this.context = context;\n }\n get origin() {\n return this.templateRef.elementRef;\n }\n /**\n * Attach the portal to the provided `PortalOutlet`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n */\n attach(host, context = this.context) {\n this.context = context;\n return super.attach(host);\n }\n detach() {\n this.context = undefined;\n return super.detach();\n }\n}\n/**\n * A `DomPortal` is a portal whose DOM element will be taken from its current position\n * in the DOM and moved into a portal outlet, when it is attached. On detach, the content\n * will be restored to its original position.\n */\nclass DomPortal extends Portal {\n constructor(element) {\n super();\n this.element = element instanceof ElementRef ? element.nativeElement : element;\n }\n}\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nclass BasePortalOutlet {\n constructor() {\n /** Whether this host has already been permanently disposed. */\n this._isDisposed = false;\n // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n this.attachDomPortal = null;\n }\n /** Whether this host has an attached portal. */\n hasAttached() {\n return !!this._attachedPortal;\n }\n /** Attaches a portal. */\n attach(portal) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!portal) {\n throwNullPortalError();\n }\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n if (this._isDisposed) {\n throwPortalOutletAlreadyDisposedError();\n }\n }\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n }\n else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n // @breaking-change 10.0.0 remove null check for `this.attachDomPortal`.\n }\n else if (this.attachDomPortal && portal instanceof DomPortal) {\n this._attachedPortal = portal;\n return this.attachDomPortal(portal);\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwUnknownPortalTypeError();\n }\n }\n /** Detaches a previously attached portal. */\n detach() {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n this._invokeDisposeFn();\n }\n /** Permanently dispose of this portal host. */\n dispose() {\n if (this.hasAttached()) {\n this.detach();\n }\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n /** @docs-private */\n setDisposeFn(fn) {\n this._disposeFn = fn;\n }\n _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\n }\n }\n}\n/**\n * @deprecated Use `BasePortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass BasePortalHost extends BasePortalOutlet {\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 PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nclass DomPortalOutlet extends BasePortalOutlet {\n constructor(\n /** Element into which the content is projected. */\n outletElement, _componentFactoryResolver, _appRef, _defaultInjector, \n /**\n * @deprecated `_document` Parameter to be made required.\n * @breaking-change 10.0.0\n */\n _document) {\n super();\n this.outletElement = outletElement;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._appRef = _appRef;\n this._defaultInjector = _defaultInjector;\n /**\n * Attaches a DOM portal by transferring its content into the outlet.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = (portal) => {\n // @breaking-change 10.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n element.parentNode.insertBefore(anchorNode, element);\n this.outletElement.appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n // We can't use `replaceWith` here because IE doesn't support it.\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @param portal Portal to be attached\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n let componentRef;\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n componentRef = portal.viewContainerRef.createComponent(componentFactory, portal.viewContainerRef.length, portal.injector || portal.viewContainerRef.injector);\n this.setDisposeFn(() => componentRef.destroy());\n }\n else {\n componentRef = componentFactory.create(portal.injector || this._defaultInjector);\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n this._appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n });\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n this._attachedPortal = portal;\n return componentRef;\n }\n /**\n * Attaches a template portal to the DOM as an embedded view.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n let viewContainer = portal.viewContainerRef;\n let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalOutlet the view can be added everywhere in the DOM\n // (e.g Overlay Container) To move the view to the specified host element. We just\n // re-append the existing root nodes.\n viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNode));\n // Note that we want to detect changes after the nodes have been moved so that\n // any directives inside the portal that are looking at the DOM inside a lifecycle\n // hook won't be invoked too early.\n viewRef.detectChanges();\n this.setDisposeFn((() => {\n let index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n }));\n this._attachedPortal = portal;\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n /**\n * Clears out a portal from the DOM.\n */\n dispose() {\n super.dispose();\n if (this.outletElement.parentNode != null) {\n this.outletElement.parentNode.removeChild(this.outletElement);\n }\n }\n /** Gets the root HTMLElement for an instantiated component. */\n _getComponentRootNode(componentRef) {\n return componentRef.hostView.rootNodes[0];\n }\n}\n/**\n * @deprecated Use `DomPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass DomPortalHost extends DomPortalOutlet {\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 * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\nclass CdkPortal extends TemplatePortal {\n constructor(templateRef, viewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\nCdkPortal.ɵfac = function CdkPortal_Factory(t) { return new (t || CdkPortal)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef)); };\nCdkPortal.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkPortal, selectors: [[\"\", \"cdkPortal\", \"\"]], exportAs: [\"cdkPortal\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkPortal.ctorParameters = () => [\n { type: TemplateRef },\n { type: ViewContainerRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkPortal, [{\n type: Directive,\n args: [{\n selector: '[cdkPortal]',\n exportAs: 'cdkPortal'\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.ViewContainerRef }]; }, null); })();\n/**\n * @deprecated Use `CdkPortal` instead.\n * @breaking-change 9.0.0\n */\nclass TemplatePortalDirective extends CdkPortal {\n}\nTemplatePortalDirective.ɵfac = /*@__PURE__*/ function () { let ɵTemplatePortalDirective_BaseFactory; return function TemplatePortalDirective_Factory(t) { return (ɵTemplatePortalDirective_BaseFactory || (ɵTemplatePortalDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(TemplatePortalDirective)))(t || TemplatePortalDirective); }; }();\nTemplatePortalDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: TemplatePortalDirective, selectors: [[\"\", \"cdk-portal\", \"\"], [\"\", \"portal\", \"\"]], exportAs: [\"cdkPortal\"], features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: CdkPortal,\n useExisting: TemplatePortalDirective\n }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TemplatePortalDirective, [{\n type: Directive,\n args: [{\n selector: '[cdk-portal], [portal]',\n exportAs: 'cdkPortal',\n providers: [{\n provide: CdkPortal,\n useExisting: TemplatePortalDirective\n }]\n }]\n }], null, null); })();\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * ``\n */\nclass CdkPortalOutlet extends BasePortalOutlet {\n constructor(_componentFactoryResolver, _viewContainerRef, \n /**\n * @deprecated `_document` parameter to be made required.\n * @breaking-change 9.0.0\n */\n _document) {\n super();\n this._componentFactoryResolver = _componentFactoryResolver;\n this._viewContainerRef = _viewContainerRef;\n /** Whether the portal component is initialized. */\n this._isInitialized = false;\n /** Emits when a portal is attached to the outlet. */\n this.attached = new EventEmitter();\n /**\n * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = (portal) => {\n // @breaking-change 9.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n portal.setAttachedHost(this);\n element.parentNode.insertBefore(anchorNode, element);\n this._getRootNode().appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /** Portal associated with the Portal outlet. */\n get portal() {\n return this._attachedPortal;\n }\n set portal(portal) {\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `
`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return;\n }\n if (this.hasAttached()) {\n super.detach();\n }\n if (portal) {\n super.attach(portal);\n }\n this._attachedPortal = portal;\n }\n /** Component or view reference that is attached to the portal. */\n get attachedRef() {\n return this._attachedRef;\n }\n ngOnInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n super.dispose();\n this._attachedPortal = null;\n this._attachedRef = null;\n }\n /**\n * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n portal.setAttachedHost(this);\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef = portal.viewContainerRef != null ?\n portal.viewContainerRef :\n this._viewContainerRef;\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n const ref = viewContainerRef.createComponent(componentFactory, viewContainerRef.length, portal.injector || viewContainerRef.injector);\n // If we're using a view container that's different from the injected one (e.g. when the portal\n // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n // inside of the alternate view container.\n if (viewContainerRef !== this._viewContainerRef) {\n this._getRootNode().appendChild(ref.hostView.rootNodes[0]);\n }\n super.setDisposeFn(() => ref.destroy());\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n return ref;\n }\n /**\n * Attach the given TemplatePortal to this PortalHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n portal.setAttachedHost(this);\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);\n super.setDisposeFn(() => this._viewContainerRef.clear());\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n return viewRef;\n }\n /** Gets the root node of the portal outlet. */\n _getRootNode() {\n const nativeElement = this._viewContainerRef.element.nativeElement;\n // The directive could be set on a template which will result in a comment\n // node being the root. Use the comment's parent node if that is the case.\n return (nativeElement.nodeType === nativeElement.ELEMENT_NODE ?\n nativeElement : nativeElement.parentNode);\n }\n}\nCdkPortalOutlet.ɵfac = function CdkPortalOutlet_Factory(t) { return new (t || CdkPortalOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(DOCUMENT)); };\nCdkPortalOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkPortalOutlet, selectors: [[\"\", \"cdkPortalOutlet\", \"\"]], inputs: { portal: [\"cdkPortalOutlet\", \"portal\"] }, outputs: { attached: \"attached\" }, exportAs: [\"cdkPortalOutlet\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkPortalOutlet.ctorParameters = () => [\n { type: ComponentFactoryResolver },\n { type: ViewContainerRef },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\nCdkPortalOutlet.propDecorators = {\n attached: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkPortalOutlet, [{\n type: Directive,\n args: [{\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n inputs: ['portal: cdkPortalOutlet']\n }]\n }], function () { return [{ type: ɵngcc0.ComponentFactoryResolver }, { type: ɵngcc0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { attached: [{\n type: Output\n }] }); })();\n/**\n * @deprecated Use `CdkPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass PortalHostDirective extends CdkPortalOutlet {\n}\nPortalHostDirective.ɵfac = /*@__PURE__*/ function () { let ɵPortalHostDirective_BaseFactory; return function PortalHostDirective_Factory(t) { return (ɵPortalHostDirective_BaseFactory || (ɵPortalHostDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(PortalHostDirective)))(t || PortalHostDirective); }; }();\nPortalHostDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: PortalHostDirective, selectors: [[\"\", \"cdkPortalHost\", \"\"], [\"\", \"portalHost\", \"\"]], inputs: { portal: [\"cdkPortalHost\", \"portal\"] }, exportAs: [\"cdkPortalHost\"], features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective\n }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PortalHostDirective, [{\n type: Directive,\n args: [{\n selector: '[cdkPortalHost], [portalHost]',\n exportAs: 'cdkPortalHost',\n inputs: ['portal: cdkPortalHost'],\n providers: [{\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective\n }]\n }]\n }], null, null); })();\nclass PortalModule {\n}\nPortalModule.ɵfac = function PortalModule_Factory(t) { return new (t || PortalModule)(); };\nPortalModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: PortalModule });\nPortalModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PortalModule, [{\n type: NgModule,\n args: [{\n exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(PortalModule, { declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective], exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective] }); })();\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 * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * @docs-private\n * @deprecated Use `Injector.create` instead.\n * @breaking-change 11.0.0\n */\nclass PortalInjector {\n constructor(_parentInjector, _customTokens) {\n this._parentInjector = _parentInjector;\n this._customTokens = _customTokens;\n }\n get(token, notFoundValue) {\n const value = this._customTokens.get(token);\n if (typeof value !== 'undefined') {\n return value;\n }\n return this._parentInjector.get(token, notFoundValue);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BasePortalHost, BasePortalOutlet, CdkPortal, CdkPortalOutlet, ComponentPortal, DomPortal, DomPortalHost, DomPortalOutlet, Portal, PortalHostDirective, PortalInjector, PortalModule, TemplatePortal, TemplatePortalDirective };\n\n","import { coerceNumberProperty, coerceElement, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Directive, forwardRef, Input, Injectable, NgZone, Optional, Inject, ElementRef, Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, Output, ViewChild, ViewContainerRef, TemplateRef, IterableDiffers, SkipSelf, NgModule } from '@angular/core';\nimport { Subject, of, Observable, fromEvent, animationFrameScheduler, asapScheduler, Subscription, isObservable } from 'rxjs';\nimport { distinctUntilChanged, auditTime, filter, takeUntil, startWith, pairwise, switchMap, shareReplay } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/platform';\nimport { Platform, getRtlScrollAxisType, supportsScrollBehavior, PlatformModule } from '@angular/cdk/platform';\nimport * as i2 from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\nimport { Directionality, BidiModule } from '@angular/cdk/bidi';\nimport { isDataSource, ArrayDataSource, _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy } from '@angular/cdk/collections';\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/** The injection token used to specify the virtual scrolling strategy. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nimport * as ɵngcc2 from '@angular/cdk/bidi';\nimport * as ɵngcc3 from '@angular/cdk/collections';\n\nconst _c0 = [\"contentWrapper\"];\nconst _c1 = [\"*\"];\nconst VIRTUAL_SCROLL_STRATEGY = new InjectionToken('VIRTUAL_SCROLL_STRATEGY');\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/** Virtual scrolling strategy for lists with items of known fixed size. */\nclass FixedSizeVirtualScrollStrategy {\n /**\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n constructor(itemSize, minBufferPx, maxBufferPx) {\n this._scrolledIndexChange = new Subject();\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n this.scrolledIndexChange = this._scrolledIndexChange.pipe(distinctUntilChanged());\n /** The attached viewport. */\n this._viewport = null;\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n }\n /**\n * Attaches this scroll strategy to a viewport.\n * @param viewport The viewport to attach this strategy to.\n */\n attach(viewport) {\n this._viewport = viewport;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** Detaches this scroll strategy from the currently attached viewport. */\n detach() {\n this._scrolledIndexChange.complete();\n this._viewport = null;\n }\n /**\n * Update the item size and buffer size.\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n updateItemAndBufferSize(itemSize, minBufferPx, maxBufferPx) {\n if (maxBufferPx < minBufferPx && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CDK virtual scroll: maxBufferPx must be greater than or equal to minBufferPx');\n }\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentScrolled() {\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onDataLengthChanged() {\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentRendered() { }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onRenderedOffsetChanged() { }\n /**\n * Scroll to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling.\n */\n scrollToIndex(index, behavior) {\n if (this._viewport) {\n this._viewport.scrollToOffset(index * this._itemSize, behavior);\n }\n }\n /** Update the viewport's total content size. */\n _updateTotalContentSize() {\n if (!this._viewport) {\n return;\n }\n this._viewport.setTotalContentSize(this._viewport.getDataLength() * this._itemSize);\n }\n /** Update the viewport's rendered range. */\n _updateRenderedRange() {\n if (!this._viewport) {\n return;\n }\n const renderedRange = this._viewport.getRenderedRange();\n const newRange = { start: renderedRange.start, end: renderedRange.end };\n const viewportSize = this._viewport.getViewportSize();\n const dataLength = this._viewport.getDataLength();\n let scrollOffset = this._viewport.measureScrollOffset();\n // Prevent NaN as result when dividing by zero.\n let firstVisibleIndex = (this._itemSize > 0) ? scrollOffset / this._itemSize : 0;\n // If user scrolls to the bottom of the list and data changes to a smaller list\n if (newRange.end > dataLength) {\n // We have to recalculate the first visible index based on new data length and viewport size.\n const maxVisibleItems = Math.ceil(viewportSize / this._itemSize);\n const newVisibleIndex = Math.max(0, Math.min(firstVisibleIndex, dataLength - maxVisibleItems));\n // If first visible index changed we must update scroll offset to handle start/end buffers\n // Current range must also be adjusted to cover the new position (bottom of new list).\n if (firstVisibleIndex != newVisibleIndex) {\n firstVisibleIndex = newVisibleIndex;\n scrollOffset = newVisibleIndex * this._itemSize;\n newRange.start = Math.floor(firstVisibleIndex);\n }\n newRange.end = Math.max(0, Math.min(dataLength, newRange.start + maxVisibleItems));\n }\n const startBuffer = scrollOffset - newRange.start * this._itemSize;\n if (startBuffer < this._minBufferPx && newRange.start != 0) {\n const expandStart = Math.ceil((this._maxBufferPx - startBuffer) / this._itemSize);\n newRange.start = Math.max(0, newRange.start - expandStart);\n newRange.end = Math.min(dataLength, Math.ceil(firstVisibleIndex + (viewportSize + this._minBufferPx) / this._itemSize));\n }\n else {\n const endBuffer = newRange.end * this._itemSize - (scrollOffset + viewportSize);\n if (endBuffer < this._minBufferPx && newRange.end != dataLength) {\n const expandEnd = Math.ceil((this._maxBufferPx - endBuffer) / this._itemSize);\n if (expandEnd > 0) {\n newRange.end = Math.min(dataLength, newRange.end + expandEnd);\n newRange.start = Math.max(0, Math.floor(firstVisibleIndex - this._minBufferPx / this._itemSize));\n }\n }\n }\n this._viewport.setRenderedRange(newRange);\n this._viewport.setRenderedContentOffset(this._itemSize * newRange.start);\n this._scrolledIndexChange.next(Math.floor(firstVisibleIndex));\n }\n}\n/**\n * Provider factory for `FixedSizeVirtualScrollStrategy` that simply extracts the already created\n * `FixedSizeVirtualScrollStrategy` from the given directive.\n * @param fixedSizeDir The instance of `CdkFixedSizeVirtualScroll` to extract the\n * `FixedSizeVirtualScrollStrategy` from.\n */\nfunction _fixedSizeVirtualScrollStrategyFactory(fixedSizeDir) {\n return fixedSizeDir._scrollStrategy;\n}\n/** A virtual scroll strategy that supports fixed-size items. */\nclass CdkFixedSizeVirtualScroll {\n constructor() {\n this._itemSize = 20;\n this._minBufferPx = 100;\n this._maxBufferPx = 200;\n /** The scroll strategy used by this directive. */\n this._scrollStrategy = new FixedSizeVirtualScrollStrategy(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n /** The size of the items in the list (in pixels). */\n get itemSize() { return this._itemSize; }\n set itemSize(value) { this._itemSize = coerceNumberProperty(value); }\n /**\n * The minimum amount of buffer rendered beyond the viewport (in pixels).\n * If the amount of buffer dips below this number, more items will be rendered. Defaults to 100px.\n */\n get minBufferPx() { return this._minBufferPx; }\n set minBufferPx(value) { this._minBufferPx = coerceNumberProperty(value); }\n /**\n * The number of pixels worth of buffer to render for when rendering new items. Defaults to 200px.\n */\n get maxBufferPx() { return this._maxBufferPx; }\n set maxBufferPx(value) { this._maxBufferPx = coerceNumberProperty(value); }\n ngOnChanges() {\n this._scrollStrategy.updateItemAndBufferSize(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n}\nCdkFixedSizeVirtualScroll.ɵfac = function CdkFixedSizeVirtualScroll_Factory(t) { return new (t || CdkFixedSizeVirtualScroll)(); };\nCdkFixedSizeVirtualScroll.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkFixedSizeVirtualScroll, selectors: [[\"cdk-virtual-scroll-viewport\", \"itemSize\", \"\"]], inputs: { itemSize: \"itemSize\", minBufferPx: \"minBufferPx\", maxBufferPx: \"maxBufferPx\" }, features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)]\n }]), ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkFixedSizeVirtualScroll.propDecorators = {\n itemSize: [{ type: Input }],\n minBufferPx: [{ type: Input }],\n maxBufferPx: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFixedSizeVirtualScroll, [{\n type: Directive,\n args: [{\n selector: 'cdk-virtual-scroll-viewport[itemSize]',\n providers: [{\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)]\n }]\n }]\n }], function () { return []; }, { itemSize: [{\n type: Input\n }], minBufferPx: [{\n type: Input\n }], maxBufferPx: [{\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/** Time in ms to throttle the scrolling events by default. */\nconst DEFAULT_SCROLL_TIME = 20;\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\nclass ScrollDispatcher {\n constructor(_ngZone, _platform, document) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n /** Subject for notifying that a registered scrollable reference element has been scrolled. */\n this._scrolled = new Subject();\n /** Keeps track of the global `scroll` and `resize` subscriptions. */\n this._globalSubscription = null;\n /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\n this._scrolledCount = 0;\n /**\n * Map of all the scrollable references that are registered with the service and their\n * scroll event subscriptions.\n */\n this.scrollContainers = new Map();\n this._document = document;\n }\n /**\n * Registers a scrollable instance with the service and listens for its scrolled events. When the\n * scrollable is scrolled, the service emits the event to its scrolled observable.\n * @param scrollable Scrollable instance to be registered.\n */\n register(scrollable) {\n if (!this.scrollContainers.has(scrollable)) {\n this.scrollContainers.set(scrollable, scrollable.elementScrolled()\n .subscribe(() => this._scrolled.next(scrollable)));\n }\n }\n /**\n * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.\n * @param scrollable Scrollable instance to be deregistered.\n */\n deregister(scrollable) {\n const scrollableReference = this.scrollContainers.get(scrollable);\n if (scrollableReference) {\n scrollableReference.unsubscribe();\n this.scrollContainers.delete(scrollable);\n }\n }\n /**\n * Returns an observable that emits an event whenever any of the registered Scrollable\n * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n * to override the default \"throttle\" time.\n *\n * **Note:** in order to avoid hitting change detection for every scroll event,\n * all of the events emitted from this stream will be run outside the Angular zone.\n * If you need to update any data bindings as a result of a scroll event, you have\n * to run the callback using `NgZone.run`.\n */\n scrolled(auditTimeInMs = DEFAULT_SCROLL_TIME) {\n if (!this._platform.isBrowser) {\n return of();\n }\n return new Observable((observer) => {\n if (!this._globalSubscription) {\n this._addGlobalListener();\n }\n // In the case of a 0ms delay, use an observable without auditTime\n // since it does add a perceptible delay in processing overhead.\n const subscription = auditTimeInMs > 0 ?\n this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer) :\n this._scrolled.subscribe(observer);\n this._scrolledCount++;\n return () => {\n subscription.unsubscribe();\n this._scrolledCount--;\n if (!this._scrolledCount) {\n this._removeGlobalListener();\n }\n };\n });\n }\n ngOnDestroy() {\n this._removeGlobalListener();\n this.scrollContainers.forEach((_, container) => this.deregister(container));\n this._scrolled.complete();\n }\n /**\n * Returns an observable that emits whenever any of the\n * scrollable ancestors of an element are scrolled.\n * @param elementOrElementRef Element whose ancestors to listen for.\n * @param auditTimeInMs Time to throttle the scroll events.\n */\n ancestorScrolled(elementOrElementRef, auditTimeInMs) {\n const ancestors = this.getAncestorScrollContainers(elementOrElementRef);\n return this.scrolled(auditTimeInMs).pipe(filter(target => {\n return !target || ancestors.indexOf(target) > -1;\n }));\n }\n /** Returns all registered Scrollables that contain the provided element. */\n getAncestorScrollContainers(elementOrElementRef) {\n const scrollingContainers = [];\n this.scrollContainers.forEach((_subscription, scrollable) => {\n if (this._scrollableContainsElement(scrollable, elementOrElementRef)) {\n scrollingContainers.push(scrollable);\n }\n });\n return scrollingContainers;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Returns true if the element is contained within the provided Scrollable. */\n _scrollableContainsElement(scrollable, elementOrElementRef) {\n let element = coerceElement(elementOrElementRef);\n let scrollableElement = scrollable.getElementRef().nativeElement;\n // Traverse through the element parents until we reach null, checking if any of the elements\n // are the scrollable's element.\n do {\n if (element == scrollableElement) {\n return true;\n }\n } while (element = element.parentElement);\n return false;\n }\n /** Sets up the global scroll listeners. */\n _addGlobalListener() {\n this._globalSubscription = this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n return fromEvent(window.document, 'scroll').subscribe(() => this._scrolled.next());\n });\n }\n /** Cleans up the global scroll listener. */\n _removeGlobalListener() {\n if (this._globalSubscription) {\n this._globalSubscription.unsubscribe();\n this._globalSubscription = null;\n }\n }\n}\nScrollDispatcher.ɵfac = function ScrollDispatcher_Factory(t) { return new (t || ScrollDispatcher)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(DOCUMENT, 8)); };\nScrollDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function ScrollDispatcher_Factory() { return new ScrollDispatcher(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i2.DOCUMENT, 8)); }, token: ScrollDispatcher, providedIn: \"root\" });\nScrollDispatcher.ctorParameters = () => [\n { type: NgZone },\n { type: Platform },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ScrollDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc0.NgZone }, { type: ɵngcc1.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\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 * Sends an event when the directive's element is scrolled. Registers itself with the\n * ScrollDispatcher service to include itself as part of its collection of scrolling events that it\n * can be listened to through the service.\n */\nclass CdkScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n this.elementRef = elementRef;\n this.scrollDispatcher = scrollDispatcher;\n this.ngZone = ngZone;\n this.dir = dir;\n this._destroyed = new Subject();\n this._elementScrolled = new Observable((observer) => this.ngZone.runOutsideAngular(() => fromEvent(this.elementRef.nativeElement, 'scroll').pipe(takeUntil(this._destroyed))\n .subscribe(observer)));\n }\n ngOnInit() {\n this.scrollDispatcher.register(this);\n }\n ngOnDestroy() {\n this.scrollDispatcher.deregister(this);\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Returns observable that emits when a scroll event is fired on the host element. */\n elementScrolled() {\n return this._elementScrolled;\n }\n /** Gets the ElementRef for the viewport. */\n getElementRef() {\n return this.elementRef;\n }\n /**\n * Scrolls to the specified offsets. This is a normalized version of the browser's native scrollTo\n * method, since browsers are not consistent about what scrollLeft means in RTL. For this method\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param options specified the offsets to scroll to.\n */\n scrollTo(options) {\n const el = this.elementRef.nativeElement;\n const isRtl = this.dir && this.dir.value == 'rtl';\n // Rewrite start & end offsets as right or left offsets.\n if (options.left == null) {\n options.left = isRtl ? options.end : options.start;\n }\n if (options.right == null) {\n options.right = isRtl ? options.start : options.end;\n }\n // Rewrite the bottom offset as a top offset.\n if (options.bottom != null) {\n options.top =\n el.scrollHeight - el.clientHeight - options.bottom;\n }\n // Rewrite the right offset as a left offset.\n if (isRtl && getRtlScrollAxisType() != 0 /* NORMAL */) {\n if (options.left != null) {\n options.right =\n el.scrollWidth - el.clientWidth - options.left;\n }\n if (getRtlScrollAxisType() == 2 /* INVERTED */) {\n options.left = options.right;\n }\n else if (getRtlScrollAxisType() == 1 /* NEGATED */) {\n options.left = options.right ? -options.right : options.right;\n }\n }\n else {\n if (options.right != null) {\n options.left =\n el.scrollWidth - el.clientWidth - options.right;\n }\n }\n this._applyScrollToOptions(options);\n }\n _applyScrollToOptions(options) {\n const el = this.elementRef.nativeElement;\n if (supportsScrollBehavior()) {\n el.scrollTo(options);\n }\n else {\n if (options.top != null) {\n el.scrollTop = options.top;\n }\n if (options.left != null) {\n el.scrollLeft = options.left;\n }\n }\n }\n /**\n * Measures the scroll offset relative to the specified edge of the viewport. This method can be\n * used instead of directly checking scrollLeft or scrollTop, since browsers are not consistent\n * about what scrollLeft means in RTL. The values returned by this method are normalized such that\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param from The edge to measure from.\n */\n measureScrollOffset(from) {\n const LEFT = 'left';\n const RIGHT = 'right';\n const el = this.elementRef.nativeElement;\n if (from == 'top') {\n return el.scrollTop;\n }\n if (from == 'bottom') {\n return el.scrollHeight - el.clientHeight - el.scrollTop;\n }\n // Rewrite start & end as left or right offsets.\n const isRtl = this.dir && this.dir.value == 'rtl';\n if (from == 'start') {\n from = isRtl ? RIGHT : LEFT;\n }\n else if (from == 'end') {\n from = isRtl ? LEFT : RIGHT;\n }\n if (isRtl && getRtlScrollAxisType() == 2 /* INVERTED */) {\n // For INVERTED, scrollLeft is (scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n else {\n return el.scrollLeft;\n }\n }\n else if (isRtl && getRtlScrollAxisType() == 1 /* NEGATED */) {\n // For NEGATED, scrollLeft is -(scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft + el.scrollWidth - el.clientWidth;\n }\n else {\n return -el.scrollLeft;\n }\n }\n else {\n // For NORMAL, as well as non-RTL contexts, scrollLeft is 0 when scrolled all the way left and\n // (scrollWidth - clientWidth) when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft;\n }\n else {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n }\n }\n}\nCdkScrollable.ɵfac = function CdkScrollable_Factory(t) { return new (t || CdkScrollable)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ScrollDispatcher), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality, 8)); };\nCdkScrollable.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkScrollable, selectors: [[\"\", \"cdk-scrollable\", \"\"], [\"\", \"cdkScrollable\", \"\"]] });\nCdkScrollable.ctorParameters = () => [\n { type: ElementRef },\n { type: ScrollDispatcher },\n { type: NgZone },\n { type: Directionality, decorators: [{ type: Optional }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkScrollable, [{\n type: Directive,\n args: [{\n selector: '[cdk-scrollable], [cdkScrollable]'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ScrollDispatcher }, { type: ɵngcc0.NgZone }, { type: ɵngcc2.Directionality, decorators: [{\n type: Optional\n }] }]; }, null); })();\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/** Time in ms to throttle the resize events by default. */\nconst DEFAULT_RESIZE_TIME = 20;\n/**\n * Simple utility for getting the bounds of the browser viewport.\n * @docs-private\n */\nclass ViewportRuler {\n constructor(_platform, ngZone, document) {\n this._platform = _platform;\n /** Stream of viewport change events. */\n this._change = new Subject();\n /** Event listener that will be used to handle the viewport change events. */\n this._changeListener = (event) => {\n this._change.next(event);\n };\n this._document = document;\n ngZone.runOutsideAngular(() => {\n if (_platform.isBrowser) {\n const window = this._getWindow();\n // Note that bind the events ourselves, rather than going through something like RxJS's\n // `fromEvent` so that we can ensure that they're bound outside of the NgZone.\n window.addEventListener('resize', this._changeListener);\n window.addEventListener('orientationchange', this._changeListener);\n }\n // Clear the cached position so that the viewport is re-measured next time it is required.\n // We don't need to keep track of the subscription, because it is completed on destroy.\n this.change().subscribe(() => this._viewportSize = null);\n });\n }\n ngOnDestroy() {\n if (this._platform.isBrowser) {\n const window = this._getWindow();\n window.removeEventListener('resize', this._changeListener);\n window.removeEventListener('orientationchange', this._changeListener);\n }\n this._change.complete();\n }\n /** Returns the viewport's width and height. */\n getViewportSize() {\n if (!this._viewportSize) {\n this._updateViewportSize();\n }\n const output = { width: this._viewportSize.width, height: this._viewportSize.height };\n // If we're not on a browser, don't cache the size since it'll be mocked out anyway.\n if (!this._platform.isBrowser) {\n this._viewportSize = null;\n }\n return output;\n }\n /** Gets a ClientRect for the viewport's bounds. */\n getViewportRect() {\n // Use the document element's bounding rect rather than the window scroll properties\n // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll\n // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\n // conceptual viewports. Under most circumstances these viewports are equivalent, but they\n // can disagree when the page is pinch-zoomed (on devices that support touch).\n // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\n // We use the documentElement instead of the body because, by default (without a css reset)\n // browsers typically give the document body an 8px margin, which is not included in\n // getBoundingClientRect().\n const scrollPosition = this.getViewportScrollPosition();\n const { width, height } = this.getViewportSize();\n return {\n top: scrollPosition.top,\n left: scrollPosition.left,\n bottom: scrollPosition.top + height,\n right: scrollPosition.left + width,\n height,\n width,\n };\n }\n /** Gets the (top, left) scroll position of the viewport. */\n getViewportScrollPosition() {\n // While we can get a reference to the fake document\n // during SSR, it doesn't have getBoundingClientRect.\n if (!this._platform.isBrowser) {\n return { top: 0, left: 0 };\n }\n // The top-left-corner of the viewport is determined by the scroll position of the document\n // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\n // whether `document.body` or `document.documentElement` is the scrolled element, so reading\n // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\n // `document.documentElement` works consistently, where the `top` and `left` values will\n // equal negative the scroll position.\n const document = this._document;\n const window = this._getWindow();\n const documentElement = document.documentElement;\n const documentRect = documentElement.getBoundingClientRect();\n const top = -documentRect.top || document.body.scrollTop || window.scrollY ||\n documentElement.scrollTop || 0;\n const left = -documentRect.left || document.body.scrollLeft || window.scrollX ||\n documentElement.scrollLeft || 0;\n return { top, left };\n }\n /**\n * Returns a stream that emits whenever the size of the viewport changes.\n * This stream emits outside of the Angular zone.\n * @param throttleTime Time in milliseconds to throttle the stream.\n */\n change(throttleTime = DEFAULT_RESIZE_TIME) {\n return throttleTime > 0 ? this._change.pipe(auditTime(throttleTime)) : this._change;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Updates the cached viewport size. */\n _updateViewportSize() {\n const window = this._getWindow();\n this._viewportSize = this._platform.isBrowser ?\n { width: window.innerWidth, height: window.innerHeight } :\n { width: 0, height: 0 };\n }\n}\nViewportRuler.ɵfac = function ViewportRuler_Factory(t) { return new (t || ViewportRuler)(ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT, 8)); };\nViewportRuler.ɵprov = i0.ɵɵdefineInjectable({ factory: function ViewportRuler_Factory() { return new ViewportRuler(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.DOCUMENT, 8)); }, token: ViewportRuler, providedIn: \"root\" });\nViewportRuler.ctorParameters = () => [\n { type: Platform },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ViewportRuler, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\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/** Checks if the given ranges are equal. */\nfunction rangesEqual(r1, r2) {\n return r1.start == r2.start && r1.end == r2.end;\n}\n/**\n * Scheduler to be used for scroll events. Needs to fall back to\n * something that doesn't rely on requestAnimationFrame on environments\n * that don't support it (e.g. server-side rendering).\n */\nconst SCROLL_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\n/** A viewport that virtualizes its scrolling with the help of `CdkVirtualForOf`. */\nclass CdkVirtualScrollViewport extends CdkScrollable {\n constructor(elementRef, _changeDetectorRef, ngZone, _scrollStrategy, dir, scrollDispatcher, viewportRuler) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n this.elementRef = elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._scrollStrategy = _scrollStrategy;\n /** Emits when the viewport is detached from a CdkVirtualForOf. */\n this._detachedSubject = new Subject();\n /** Emits when the rendered range changes. */\n this._renderedRangeSubject = new Subject();\n this._orientation = 'vertical';\n this._appendOnly = false;\n // Note: we don't use the typical EventEmitter here because we need to subscribe to the scroll\n // strategy lazily (i.e. only if the user is actually listening to the events). We do this because\n // depending on how the strategy calculates the scrolled index, it may come at a cost to\n // performance.\n /** Emits when the index of the first element visible in the viewport changes. */\n this.scrolledIndexChange = new Observable((observer) => this._scrollStrategy.scrolledIndexChange.subscribe(index => Promise.resolve().then(() => this.ngZone.run(() => observer.next(index)))));\n /** A stream that emits whenever the rendered range changes. */\n this.renderedRangeStream = this._renderedRangeSubject;\n /**\n * The total size of all content (in pixels), including content that is not currently rendered.\n */\n this._totalContentSize = 0;\n /** A string representing the `style.width` property value to be used for the spacer element. */\n this._totalContentWidth = '';\n /** A string representing the `style.height` property value to be used for the spacer element. */\n this._totalContentHeight = '';\n /** The currently rendered range of indices. */\n this._renderedRange = { start: 0, end: 0 };\n /** The length of the data bound to this viewport (in number of items). */\n this._dataLength = 0;\n /** The size of the viewport (in pixels). */\n this._viewportSize = 0;\n /** The last rendered content offset that was set. */\n this._renderedContentOffset = 0;\n /**\n * Whether the last rendered content offset was to the end of the content (and therefore needs to\n * be rewritten as an offset to the start of the content).\n */\n this._renderedContentOffsetNeedsRewrite = false;\n /** Whether there is a pending change detection cycle. */\n this._isChangeDetectionPending = false;\n /** A list of functions to run after the next change detection cycle. */\n this._runAfterChangeDetection = [];\n /** Subscription to changes in the viewport size. */\n this._viewportChanges = Subscription.EMPTY;\n if (!_scrollStrategy && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Error: cdk-virtual-scroll-viewport requires the \"itemSize\" property to be set.');\n }\n this._viewportChanges = viewportRuler.change().subscribe(() => {\n this.checkViewportSize();\n });\n }\n /** The direction the viewport scrolls. */\n get orientation() {\n return this._orientation;\n }\n set orientation(orientation) {\n if (this._orientation !== orientation) {\n this._orientation = orientation;\n this._calculateSpacerSize();\n }\n }\n /**\n * Whether rendered items should persist in the DOM after scrolling out of view. By default, items\n * will be removed.\n */\n get appendOnly() {\n return this._appendOnly;\n }\n set appendOnly(value) {\n this._appendOnly = coerceBooleanProperty(value);\n }\n ngOnInit() {\n super.ngOnInit();\n // It's still too early to measure the viewport at this point. Deferring with a promise allows\n // the Viewport to be rendered with the correct size before we measure. We run this outside the\n // zone to avoid causing more change detection cycles. We handle the change detection loop\n // ourselves instead.\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._measureViewportSize();\n this._scrollStrategy.attach(this);\n this.elementScrolled()\n .pipe(\n // Start off with a fake scroll event so we properly detect our initial position.\n startWith(null), \n // Collect multiple events into one until the next animation frame. This way if\n // there are multiple scroll events in the same frame we only need to recheck\n // our layout once.\n auditTime(0, SCROLL_SCHEDULER))\n .subscribe(() => this._scrollStrategy.onContentScrolled());\n this._markChangeDetectionNeeded();\n }));\n }\n ngOnDestroy() {\n this.detach();\n this._scrollStrategy.detach();\n // Complete all subjects\n this._renderedRangeSubject.complete();\n this._detachedSubject.complete();\n this._viewportChanges.unsubscribe();\n super.ngOnDestroy();\n }\n /** Attaches a `CdkVirtualScrollRepeater` to this viewport. */\n attach(forOf) {\n if (this._forOf && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkVirtualScrollViewport is already attached.');\n }\n // Subscribe to the data stream of the CdkVirtualForOf to keep track of when the data length\n // changes. Run outside the zone to avoid triggering change detection, since we're managing the\n // change detection loop ourselves.\n this.ngZone.runOutsideAngular(() => {\n this._forOf = forOf;\n this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe(data => {\n const newLength = data.length;\n if (newLength !== this._dataLength) {\n this._dataLength = newLength;\n this._scrollStrategy.onDataLengthChanged();\n }\n this._doChangeDetection();\n });\n });\n }\n /** Detaches the current `CdkVirtualForOf`. */\n detach() {\n this._forOf = null;\n this._detachedSubject.next();\n }\n /** Gets the length of the data bound to this viewport (in number of items). */\n getDataLength() {\n return this._dataLength;\n }\n /** Gets the size of the viewport (in pixels). */\n getViewportSize() {\n return this._viewportSize;\n }\n // TODO(mmalerba): This is technically out of sync with what's really rendered until a render\n // cycle happens. I'm being careful to only call it after the render cycle is complete and before\n // setting it to something else, but its error prone and should probably be split into\n // `pendingRange` and `renderedRange`, the latter reflecting whats actually in the DOM.\n /** Get the current rendered range of items. */\n getRenderedRange() {\n return this._renderedRange;\n }\n /**\n * Sets the total size of all content (in pixels), including content that is not currently\n * rendered.\n */\n setTotalContentSize(size) {\n if (this._totalContentSize !== size) {\n this._totalContentSize = size;\n this._calculateSpacerSize();\n this._markChangeDetectionNeeded();\n }\n }\n /** Sets the currently rendered range of indices. */\n setRenderedRange(range) {\n if (!rangesEqual(this._renderedRange, range)) {\n if (this.appendOnly) {\n range = { start: 0, end: Math.max(this._renderedRange.end, range.end) };\n }\n this._renderedRangeSubject.next(this._renderedRange = range);\n this._markChangeDetectionNeeded(() => this._scrollStrategy.onContentRendered());\n }\n }\n /**\n * Gets the offset from the start of the viewport to the start of the rendered data (in pixels).\n */\n getOffsetToRenderedContentStart() {\n return this._renderedContentOffsetNeedsRewrite ? null : this._renderedContentOffset;\n }\n /**\n * Sets the offset from the start of the viewport to either the start or end of the rendered data\n * (in pixels).\n */\n setRenderedContentOffset(offset, to = 'to-start') {\n // For a horizontal viewport in a right-to-left language we need to translate along the x-axis\n // in the negative direction.\n const isRtl = this.dir && this.dir.value == 'rtl';\n const isHorizontal = this.orientation == 'horizontal';\n const axis = isHorizontal ? 'X' : 'Y';\n const axisDirection = isHorizontal && isRtl ? -1 : 1;\n let transform = `translate${axis}(${Number(axisDirection * offset)}px)`;\n this._renderedContentOffset = offset;\n if (to === 'to-end') {\n transform += ` translate${axis}(-100%)`;\n // The viewport should rewrite this as a `to-start` offset on the next render cycle. Otherwise\n // elements will appear to expand in the wrong direction (e.g. `mat-expansion-panel` would\n // expand upward).\n this._renderedContentOffsetNeedsRewrite = true;\n }\n if (this._renderedContentTransform != transform) {\n // We know this value is safe because we parse `offset` with `Number()` before passing it\n // into the string.\n this._renderedContentTransform = transform;\n this._markChangeDetectionNeeded(() => {\n if (this._renderedContentOffsetNeedsRewrite) {\n this._renderedContentOffset -= this.measureRenderedContentSize();\n this._renderedContentOffsetNeedsRewrite = false;\n this.setRenderedContentOffset(this._renderedContentOffset);\n }\n else {\n this._scrollStrategy.onRenderedOffsetChanged();\n }\n });\n }\n }\n /**\n * Scrolls to the given offset from the start of the viewport. Please note that this is not always\n * the same as setting `scrollTop` or `scrollLeft`. In a horizontal viewport with right-to-left\n * direction, this would be the equivalent of setting a fictional `scrollRight` property.\n * @param offset The offset to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToOffset(offset, behavior = 'auto') {\n const options = { behavior };\n if (this.orientation === 'horizontal') {\n options.start = offset;\n }\n else {\n options.top = offset;\n }\n this.scrollTo(options);\n }\n /**\n * Scrolls to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToIndex(index, behavior = 'auto') {\n this._scrollStrategy.scrollToIndex(index, behavior);\n }\n /**\n * Gets the current scroll offset from the start of the viewport (in pixels).\n * @param from The edge to measure the offset from. Defaults to 'top' in vertical mode and 'start'\n * in horizontal mode.\n */\n measureScrollOffset(from) {\n return from ?\n super.measureScrollOffset(from) :\n super.measureScrollOffset(this.orientation === 'horizontal' ? 'start' : 'top');\n }\n /** Measure the combined size of all of the rendered items. */\n measureRenderedContentSize() {\n const contentEl = this._contentWrapper.nativeElement;\n return this.orientation === 'horizontal' ? contentEl.offsetWidth : contentEl.offsetHeight;\n }\n /**\n * Measure the total combined size of the given range. Throws if the range includes items that are\n * not rendered.\n */\n measureRangeSize(range) {\n if (!this._forOf) {\n return 0;\n }\n return this._forOf.measureRangeSize(range, this.orientation);\n }\n /** Update the viewport dimensions and re-render. */\n checkViewportSize() {\n // TODO: Cleanup later when add logic for handling content resize\n this._measureViewportSize();\n this._scrollStrategy.onDataLengthChanged();\n }\n /** Measure the viewport size. */\n _measureViewportSize() {\n const viewportEl = this.elementRef.nativeElement;\n this._viewportSize = this.orientation === 'horizontal' ?\n viewportEl.clientWidth : viewportEl.clientHeight;\n }\n /** Queue up change detection to run. */\n _markChangeDetectionNeeded(runAfter) {\n if (runAfter) {\n this._runAfterChangeDetection.push(runAfter);\n }\n // Use a Promise to batch together calls to `_doChangeDetection`. This way if we set a bunch of\n // properties sequentially we only have to run `_doChangeDetection` once at the end.\n if (!this._isChangeDetectionPending) {\n this._isChangeDetectionPending = true;\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._doChangeDetection();\n }));\n }\n }\n /** Run change detection. */\n _doChangeDetection() {\n this._isChangeDetectionPending = false;\n // Apply the content transform. The transform can't be set via an Angular binding because\n // bypassSecurityTrustStyle is banned in Google. However the value is safe, it's composed of\n // string literals, a variable that can only be 'X' or 'Y', and user input that is run through\n // the `Number` function first to coerce it to a numeric value.\n this._contentWrapper.nativeElement.style.transform = this._renderedContentTransform;\n // Apply changes to Angular bindings. Note: We must call `markForCheck` to run change detection\n // from the root, since the repeated items are content projected in. Calling `detectChanges`\n // instead does not properly check the projected content.\n this.ngZone.run(() => this._changeDetectorRef.markForCheck());\n const runAfterChangeDetection = this._runAfterChangeDetection;\n this._runAfterChangeDetection = [];\n for (const fn of runAfterChangeDetection) {\n fn();\n }\n }\n /** Calculates the `style.width` and `style.height` for the spacer element. */\n _calculateSpacerSize() {\n this._totalContentHeight =\n this.orientation === 'horizontal' ? '' : `${this._totalContentSize}px`;\n this._totalContentWidth =\n this.orientation === 'horizontal' ? `${this._totalContentSize}px` : '';\n }\n}\nCdkVirtualScrollViewport.ɵfac = function CdkVirtualScrollViewport_Factory(t) { return new (t || CdkVirtualScrollViewport)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(VIRTUAL_SCROLL_STRATEGY, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(ScrollDispatcher), ɵngcc0.ɵɵdirectiveInject(ViewportRuler)); };\nCdkVirtualScrollViewport.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CdkVirtualScrollViewport, selectors: [[\"cdk-virtual-scroll-viewport\"]], viewQuery: function CdkVirtualScrollViewport_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 7);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentWrapper = _t.first);\n } }, hostAttrs: [1, \"cdk-virtual-scroll-viewport\"], hostVars: 4, hostBindings: function CdkVirtualScrollViewport_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"cdk-virtual-scroll-orientation-horizontal\", ctx.orientation === \"horizontal\")(\"cdk-virtual-scroll-orientation-vertical\", ctx.orientation !== \"horizontal\");\n } }, inputs: { orientation: \"orientation\", appendOnly: \"appendOnly\" }, outputs: { scrolledIndexChange: \"scrolledIndexChange\" }, features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: CdkScrollable,\n useExisting: CdkVirtualScrollViewport\n }]), ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 4, vars: 4, consts: [[1, \"cdk-virtual-scroll-content-wrapper\"], [\"contentWrapper\", \"\"], [1, \"cdk-virtual-scroll-spacer\"]], template: function CdkVirtualScrollViewport_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵelementStart(0, \"div\", 0, 1);\n ɵngcc0.ɵɵprojection(2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(3, \"div\", 2);\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵstyleProp(\"width\", ctx._totalContentWidth)(\"height\", ctx._totalContentHeight);\n } }, styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\\n\"], encapsulation: 2, changeDetection: 0 });\nCdkVirtualScrollViewport.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [VIRTUAL_SCROLL_STRATEGY,] }] },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: ScrollDispatcher },\n { type: ViewportRuler }\n];\nCdkVirtualScrollViewport.propDecorators = {\n orientation: [{ type: Input }],\n appendOnly: [{ type: Input }],\n scrolledIndexChange: [{ type: Output }],\n _contentWrapper: [{ type: ViewChild, args: ['contentWrapper', { static: true },] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkVirtualScrollViewport, [{\n type: Component,\n args: [{\n selector: 'cdk-virtual-scroll-viewport',\n template: \"\\n
\\n \\n
\\n\\n
\\n\",\n host: {\n 'class': 'cdk-virtual-scroll-viewport',\n '[class.cdk-virtual-scroll-orientation-horizontal]': 'orientation === \"horizontal\"',\n '[class.cdk-virtual-scroll-orientation-vertical]': 'orientation !== \"horizontal\"'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: CdkScrollable,\n useExisting: CdkVirtualScrollViewport\n }],\n styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [VIRTUAL_SCROLL_STRATEGY]\n }] }, { type: ɵngcc2.Directionality, decorators: [{\n type: Optional\n }] }, { type: ScrollDispatcher }, { type: ViewportRuler }]; }, { scrolledIndexChange: [{\n type: Output\n }], orientation: [{\n type: Input\n }], appendOnly: [{\n type: Input\n }], _contentWrapper: [{\n type: ViewChild,\n args: ['contentWrapper', { static: true }]\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/** Helper to extract the offset of a DOM Node in a certain direction. */\nfunction getOffset(orientation, direction, node) {\n const el = node;\n if (!el.getBoundingClientRect) {\n return 0;\n }\n const rect = el.getBoundingClientRect();\n if (orientation === 'horizontal') {\n return direction === 'start' ? rect.left : rect.right;\n }\n return direction === 'start' ? rect.top : rect.bottom;\n}\n/**\n * A directive similar to `ngForOf` to be used for rendering data inside a virtual scrolling\n * container.\n */\nclass CdkVirtualForOf {\n constructor(\n /** The view container to add items to. */\n _viewContainerRef, \n /** The template to use when stamping out new items. */\n _template, \n /** The set of available differs. */\n _differs, \n /** The strategy used to render items in the virtual scroll viewport. */\n _viewRepeater, \n /** The virtual scrolling viewport that these items are being rendered in. */\n _viewport, ngZone) {\n this._viewContainerRef = _viewContainerRef;\n this._template = _template;\n this._differs = _differs;\n this._viewRepeater = _viewRepeater;\n this._viewport = _viewport;\n /** Emits when the rendered view of the data changes. */\n this.viewChange = new Subject();\n /** Subject that emits when a new DataSource instance is given. */\n this._dataSourceChanges = new Subject();\n /** Emits whenever the data in the current DataSource changes. */\n this.dataStream = this._dataSourceChanges\n .pipe(\n // Start off with null `DataSource`.\n startWith(null), \n // Bundle up the previous and current data sources so we can work with both.\n pairwise(), \n // Use `_changeDataSource` to disconnect from the previous data source and connect to the\n // new one, passing back a stream of data changes which we run through `switchMap` to give\n // us a data stream that emits the latest data from whatever the current `DataSource` is.\n switchMap(([prev, cur]) => this._changeDataSource(prev, cur)), \n // Replay the last emitted data when someone subscribes.\n shareReplay(1));\n /** The differ used to calculate changes to the data. */\n this._differ = null;\n /** Whether the rendered data should be updated during the next ngDoCheck cycle. */\n this._needsUpdate = false;\n this._destroyed = new Subject();\n this.dataStream.subscribe(data => {\n this._data = data;\n this._onRenderedDataChange();\n });\n this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(range => {\n this._renderedRange = range;\n ngZone.run(() => this.viewChange.next(this._renderedRange));\n this._onRenderedDataChange();\n });\n this._viewport.attach(this);\n }\n /** The DataSource to display. */\n get cdkVirtualForOf() {\n return this._cdkVirtualForOf;\n }\n set cdkVirtualForOf(value) {\n this._cdkVirtualForOf = value;\n if (isDataSource(value)) {\n this._dataSourceChanges.next(value);\n }\n else {\n // If value is an an NgIterable, convert it to an array.\n this._dataSourceChanges.next(new ArrayDataSource(isObservable(value) ? value : Array.from(value || [])));\n }\n }\n /**\n * The `TrackByFunction` to use for tracking changes. The `TrackByFunction` takes the index and\n * the item and produces a value to be used as the item's identity when tracking changes.\n */\n get cdkVirtualForTrackBy() {\n return this._cdkVirtualForTrackBy;\n }\n set cdkVirtualForTrackBy(fn) {\n this._needsUpdate = true;\n this._cdkVirtualForTrackBy = fn ?\n (index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item) :\n undefined;\n }\n /** The template used to stamp out new elements. */\n set cdkVirtualForTemplate(value) {\n if (value) {\n this._needsUpdate = true;\n this._template = value;\n }\n }\n /**\n * The size of the cache used to store templates that are not being used for re-use later.\n * Setting the cache size to `0` will disable caching. Defaults to 20 templates.\n */\n get cdkVirtualForTemplateCacheSize() {\n return this._viewRepeater.viewCacheSize;\n }\n set cdkVirtualForTemplateCacheSize(size) {\n this._viewRepeater.viewCacheSize = coerceNumberProperty(size);\n }\n /**\n * Measures the combined size (width for horizontal orientation, height for vertical) of all items\n * in the specified range. Throws an error if the range includes items that are not currently\n * rendered.\n */\n measureRangeSize(range, orientation) {\n if (range.start >= range.end) {\n return 0;\n }\n if ((range.start < this._renderedRange.start || range.end > this._renderedRange.end) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Error: attempted to measure an item that isn't rendered.`);\n }\n // The index into the list of rendered views for the first item in the range.\n const renderedStartIndex = range.start - this._renderedRange.start;\n // The length of the range we're measuring.\n const rangeLen = range.end - range.start;\n // Loop over all the views, find the first and land node and compute the size by subtracting\n // the top of the first node from the bottom of the last one.\n let firstNode;\n let lastNode;\n // Find the first node by starting from the beginning and going forwards.\n for (let i = 0; i < rangeLen; i++) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n firstNode = lastNode = view.rootNodes[0];\n break;\n }\n }\n // Find the last node by starting from the end and going backwards.\n for (let i = rangeLen - 1; i > -1; i--) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n lastNode = view.rootNodes[view.rootNodes.length - 1];\n break;\n }\n }\n return firstNode && lastNode ?\n getOffset(orientation, 'end', lastNode) - getOffset(orientation, 'start', firstNode) : 0;\n }\n ngDoCheck() {\n if (this._differ && this._needsUpdate) {\n // TODO(mmalerba): We should differentiate needs update due to scrolling and a new portion of\n // this list being rendered (can use simpler algorithm) vs needs update due to data actually\n // changing (need to do this diff).\n const changes = this._differ.diff(this._renderedItems);\n if (!changes) {\n this._updateContext();\n }\n else {\n this._applyChanges(changes);\n }\n this._needsUpdate = false;\n }\n }\n ngOnDestroy() {\n this._viewport.detach();\n this._dataSourceChanges.next(undefined);\n this._dataSourceChanges.complete();\n this.viewChange.complete();\n this._destroyed.next();\n this._destroyed.complete();\n this._viewRepeater.detach();\n }\n /** React to scroll state changes in the viewport. */\n _onRenderedDataChange() {\n if (!this._renderedRange) {\n return;\n }\n this._renderedItems = this._data.slice(this._renderedRange.start, this._renderedRange.end);\n if (!this._differ) {\n // Use a wrapper function for the `trackBy` so any new values are\n // picked up automatically without having to recreate the differ.\n this._differ = this._differs.find(this._renderedItems).create((index, item) => {\n return this.cdkVirtualForTrackBy ? this.cdkVirtualForTrackBy(index, item) : item;\n });\n }\n this._needsUpdate = true;\n }\n /** Swap out one `DataSource` for another. */\n _changeDataSource(oldDs, newDs) {\n if (oldDs) {\n oldDs.disconnect(this);\n }\n this._needsUpdate = true;\n return newDs ? newDs.connect(this) : of();\n }\n /** Update the `CdkVirtualForOfContext` for all views. */\n _updateContext() {\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n view.detectChanges();\n }\n }\n /** Apply changes to the DOM. */\n _applyChanges(changes) {\n this._viewRepeater.applyChanges(changes, this._viewContainerRef, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record, currentIndex), (record) => record.item);\n // Update $implicit for any items that had an identity change.\n changes.forEachIdentityChange((record) => {\n const view = this._viewContainerRef.get(record.currentIndex);\n view.context.$implicit = record.item;\n });\n // Update the context variables on all items.\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n }\n }\n /** Update the computed properties on the `CdkVirtualForOfContext`. */\n _updateComputedContextProperties(context) {\n context.first = context.index === 0;\n context.last = context.index === context.count - 1;\n context.even = context.index % 2 === 0;\n context.odd = !context.even;\n }\n _getEmbeddedViewArgs(record, index) {\n // Note that it's important that we insert the item directly at the proper index,\n // rather than inserting it and the moving it in place, because if there's a directive\n // on the same node that injects the `ViewContainerRef`, Angular will insert another\n // comment node which can throw off the move when it's being repeated for all items.\n return {\n templateRef: this._template,\n context: {\n $implicit: record.item,\n // It's guaranteed that the iterable is not \"undefined\" or \"null\" because we only\n // generate views for elements if the \"cdkVirtualForOf\" iterable has elements.\n cdkVirtualForOf: this._cdkVirtualForOf,\n index: -1,\n count: -1,\n first: false,\n last: false,\n odd: false,\n even: false\n },\n index,\n };\n }\n}\nCdkVirtualForOf.ɵfac = function CdkVirtualForOf_Factory(t) { return new (t || CdkVirtualForOf)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(_VIEW_REPEATER_STRATEGY), ɵngcc0.ɵɵdirectiveInject(CdkVirtualScrollViewport, 4), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nCdkVirtualForOf.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkVirtualForOf, selectors: [[\"\", \"cdkVirtualFor\", \"\", \"cdkVirtualForOf\", \"\"]], inputs: { cdkVirtualForOf: \"cdkVirtualForOf\", cdkVirtualForTrackBy: \"cdkVirtualForTrackBy\", cdkVirtualForTemplate: \"cdkVirtualForTemplate\", cdkVirtualForTemplateCacheSize: \"cdkVirtualForTemplateCacheSize\" }, features: [ɵngcc0.ɵɵProvidersFeature([\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },\n ])] });\nCdkVirtualForOf.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef },\n { type: IterableDiffers },\n { type: _RecycleViewRepeaterStrategy, decorators: [{ type: Inject, args: [_VIEW_REPEATER_STRATEGY,] }] },\n { type: CdkVirtualScrollViewport, decorators: [{ type: SkipSelf }] },\n { type: NgZone }\n];\nCdkVirtualForOf.propDecorators = {\n cdkVirtualForOf: [{ type: Input }],\n cdkVirtualForTrackBy: [{ type: Input }],\n cdkVirtualForTemplate: [{ type: Input }],\n cdkVirtualForTemplateCacheSize: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkVirtualForOf, [{\n type: Directive,\n args: [{\n selector: '[cdkVirtualFor][cdkVirtualForOf]',\n providers: [\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },\n ]\n }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }, { type: ɵngcc3._RecycleViewRepeaterStrategy, decorators: [{\n type: Inject,\n args: [_VIEW_REPEATER_STRATEGY]\n }] }, { type: CdkVirtualScrollViewport, decorators: [{\n type: SkipSelf\n }] }, { type: ɵngcc0.NgZone }]; }, { cdkVirtualForOf: [{\n type: Input\n }], cdkVirtualForTrackBy: [{\n type: Input\n }], cdkVirtualForTemplate: [{\n type: Input\n }], cdkVirtualForTemplateCacheSize: [{\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 */\nclass CdkScrollableModule {\n}\nCdkScrollableModule.ɵfac = function CdkScrollableModule_Factory(t) { return new (t || CdkScrollableModule)(); };\nCdkScrollableModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CdkScrollableModule });\nCdkScrollableModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkScrollableModule, [{\n type: NgModule,\n args: [{\n exports: [CdkScrollable],\n declarations: [CdkScrollable]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CdkScrollableModule, { declarations: [CdkScrollable], exports: [CdkScrollable] }); })();\n/**\n * @docs-primary-export\n */\nclass ScrollingModule {\n}\nScrollingModule.ɵfac = function ScrollingModule_Factory(t) { return new (t || ScrollingModule)(); };\nScrollingModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: ScrollingModule });\nScrollingModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[\n BidiModule,\n PlatformModule,\n CdkScrollableModule\n ], BidiModule, CdkScrollableModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ScrollingModule, [{\n type: NgModule,\n args: [{\n imports: [\n BidiModule,\n PlatformModule,\n CdkScrollableModule\n ],\n exports: [\n BidiModule,\n CdkScrollableModule,\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n ],\n declarations: [\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ScrollingModule, { declarations: function () { return [CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport]; }, imports: function () { return [BidiModule,\n PlatformModule, CdkScrollableModule]; }, exports: function () { return [BidiModule, CdkScrollableModule, CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkFixedSizeVirtualScroll, CdkScrollable, CdkScrollableModule, CdkVirtualForOf, CdkVirtualScrollViewport, DEFAULT_RESIZE_TIME, DEFAULT_SCROLL_TIME, FixedSizeVirtualScrollStrategy, ScrollDispatcher, ScrollingModule, VIRTUAL_SCROLL_STRATEGY, ViewportRuler, _fixedSizeVirtualScrollStrategyFactory };\n\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Directionality, BidiModule } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey, SPACE, ENTER } from '@angular/cdk/keycodes';\nimport { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, TemplateRef, InjectionToken, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, forwardRef, Optional, ContentChild, ViewChild, Input, Output, QueryList, ChangeDetectorRef, ContentChildren, HostListener, NgModule } from '@angular/core';\nimport { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';\nimport { Subject, of } from 'rxjs';\nimport { startWith, takeUntil } 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 */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/bidi';\n\nfunction CdkStep_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojection(0);\n} }\nconst _c0 = [\"*\"];\nclass CdkStepHeader {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n /** Focuses the step header. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\nCdkStepHeader.ɵfac = function CdkStepHeader_Factory(t) { return new (t || CdkStepHeader)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCdkStepHeader.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkStepHeader, selectors: [[\"\", \"cdkStepHeader\", \"\"]], hostAttrs: [\"role\", \"tab\"] });\nCdkStepHeader.ctorParameters = () => [\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkStepHeader, [{\n type: Directive,\n args: [{\n selector: '[cdkStepHeader]',\n host: {\n 'role': 'tab'\n }\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, null); })();\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 CdkStepLabel {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkStepLabel.ɵfac = function CdkStepLabel_Factory(t) { return new (t || CdkStepLabel)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkStepLabel.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkStepLabel, selectors: [[\"\", \"cdkStepLabel\", \"\"]] });\nCdkStepLabel.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkStepLabel, [{\n type: Directive,\n args: [{\n selector: '[cdkStepLabel]'\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\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/** Used to generate unique ID for each stepper component. */\nlet nextId = 0;\n/** Change event emitted on selection changes. */\nclass StepperSelectionEvent {\n}\n/** Enum to represent the different states of the steps. */\nconst STEP_STATE = {\n NUMBER: 'number',\n EDIT: 'edit',\n DONE: 'done',\n ERROR: 'error'\n};\n/** InjectionToken that can be used to specify the global stepper options. */\nconst STEPPER_GLOBAL_OPTIONS = new InjectionToken('STEPPER_GLOBAL_OPTIONS');\nclass CdkStep {\n constructor(_stepper, stepperOptions) {\n this._stepper = _stepper;\n /** Whether user has attempted to move away from the step. */\n this.interacted = false;\n /** Emits when the user has attempted to move away from the step. */\n this.interactedStream = new EventEmitter();\n this._editable = true;\n this._optional = false;\n this._completedOverride = null;\n this._customError = null;\n this._stepperOptions = stepperOptions ? stepperOptions : {};\n this._displayDefaultIndicatorType = this._stepperOptions.displayDefaultIndicatorType !== false;\n }\n /** Whether the user can return to this step once it has been marked as completed. */\n get editable() {\n return this._editable;\n }\n set editable(value) {\n this._editable = coerceBooleanProperty(value);\n }\n /** Whether the completion of step is optional. */\n get optional() {\n return this._optional;\n }\n set optional(value) {\n this._optional = coerceBooleanProperty(value);\n }\n /** Whether step is marked as completed. */\n get completed() {\n return this._completedOverride == null ? this._getDefaultCompleted() : this._completedOverride;\n }\n set completed(value) {\n this._completedOverride = coerceBooleanProperty(value);\n }\n _getDefaultCompleted() {\n return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;\n }\n /** Whether step has an error. */\n get hasError() {\n return this._customError == null ? this._getDefaultError() : this._customError;\n }\n set hasError(value) {\n this._customError = coerceBooleanProperty(value);\n }\n _getDefaultError() {\n return this.stepControl && this.stepControl.invalid && this.interacted;\n }\n /** Selects this step component. */\n select() {\n this._stepper.selected = this;\n }\n /** Resets the step to its initial state. Note that this includes resetting form data. */\n reset() {\n this.interacted = false;\n if (this._completedOverride != null) {\n this._completedOverride = false;\n }\n if (this._customError != null) {\n this._customError = false;\n }\n if (this.stepControl) {\n this.stepControl.reset();\n }\n }\n ngOnChanges() {\n // Since basically all inputs of the MatStep get proxied through the view down to the\n // underlying MatStepHeader, we have to make sure that change detection runs correctly.\n this._stepper._stateChanged();\n }\n _markAsInteracted() {\n if (!this.interacted) {\n this.interacted = true;\n this.interactedStream.emit(this);\n }\n }\n /** Determines whether the error state can be shown. */\n _showError() {\n var _a;\n // We want to show the error state either if the user opted into/out of it using the\n // global options, or if they've explicitly set it through the `hasError` input.\n return (_a = this._stepperOptions.showError) !== null && _a !== void 0 ? _a : this._customError != null;\n }\n}\nCdkStep.ɵfac = function CdkStep_Factory(t) { return new (t || CdkStep)(ɵngcc0.ɵɵdirectiveInject(forwardRef(() => CdkStepper)), ɵngcc0.ɵɵdirectiveInject(STEPPER_GLOBAL_OPTIONS, 8)); };\nCdkStep.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CdkStep, selectors: [[\"cdk-step\"]], contentQueries: function CdkStep_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkStepLabel, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.stepLabel = _t.first);\n } }, viewQuery: function CdkStep_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(TemplateRef, 7);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.content = _t.first);\n } }, inputs: { editable: \"editable\", optional: \"optional\", completed: \"completed\", hasError: \"hasError\", stepControl: \"stepControl\", label: \"label\", errorMessage: \"errorMessage\", ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], state: \"state\" }, outputs: { interactedStream: \"interacted\" }, exportAs: [\"cdkStep\"], features: [ɵngcc0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function CdkStep_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵtemplate(0, CdkStep_ng_template_0_Template, 1, 0, \"ng-template\");\n } }, encapsulation: 2, changeDetection: 0 });\nCdkStep.ctorParameters = () => [\n { type: CdkStepper, decorators: [{ type: Inject, args: [forwardRef(() => CdkStepper),] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [STEPPER_GLOBAL_OPTIONS,] }] }\n];\nCdkStep.propDecorators = {\n stepLabel: [{ type: ContentChild, args: [CdkStepLabel,] }],\n content: [{ type: ViewChild, args: [TemplateRef, { static: true },] }],\n stepControl: [{ type: Input }],\n interactedStream: [{ type: Output, args: ['interacted',] }],\n label: [{ type: Input }],\n errorMessage: [{ type: Input }],\n ariaLabel: [{ type: Input, args: ['aria-label',] }],\n ariaLabelledby: [{ type: Input, args: ['aria-labelledby',] }],\n state: [{ type: Input }],\n editable: [{ type: Input }],\n optional: [{ type: Input }],\n completed: [{ type: Input }],\n hasError: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkStep, [{\n type: Component,\n args: [{\n selector: 'cdk-step',\n exportAs: 'cdkStep',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], function () { return [{ type: CdkStepper, decorators: [{\n type: Inject,\n args: [forwardRef(() => CdkStepper)]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [STEPPER_GLOBAL_OPTIONS]\n }] }]; }, { interactedStream: [{\n type: Output,\n args: ['interacted']\n }], editable: [{\n type: Input\n }], optional: [{\n type: Input\n }], completed: [{\n type: Input\n }], hasError: [{\n type: Input\n }], stepLabel: [{\n type: ContentChild,\n args: [CdkStepLabel]\n }], content: [{\n type: ViewChild,\n args: [TemplateRef, { static: true }]\n }], stepControl: [{\n type: Input\n }], label: [{\n type: Input\n }], errorMessage: [{\n type: Input\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], state: [{\n type: Input\n }] }); })();\nclass CdkStepper {\n constructor(_dir, _changeDetectorRef, _elementRef, \n /**\n * @deprecated No longer in use, to be removed.\n * @breaking-change 13.0.0\n */\n _document) {\n this._dir = _dir;\n this._changeDetectorRef = _changeDetectorRef;\n this._elementRef = _elementRef;\n /** Emits when the component is destroyed. */\n this._destroyed = new Subject();\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n this.steps = new QueryList();\n /** List of step headers sorted based on their DOM order. */\n this._sortedHeaders = new QueryList();\n this._linear = false;\n this._selectedIndex = 0;\n /** Event emitted when the selected step has changed. */\n this.selectionChange = new EventEmitter();\n /**\n * @deprecated To be turned into a private property. Use `orientation` instead.\n * @breaking-change 13.0.0\n */\n this._orientation = 'horizontal';\n this._groupId = nextId++;\n }\n /** Whether the validity of previous steps should be checked or not. */\n get linear() {\n return this._linear;\n }\n set linear(value) {\n this._linear = coerceBooleanProperty(value);\n }\n /** The index of the selected step. */\n get selectedIndex() {\n return this._selectedIndex;\n }\n set selectedIndex(index) {\n var _a;\n const newIndex = coerceNumberProperty(index);\n if (this.steps && this._steps) {\n // Ensure that the index can't be out of bounds.\n if (!this._isValidIndex(index) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');\n }\n (_a = this.selected) === null || _a === void 0 ? void 0 : _a._markAsInteracted();\n if (this._selectedIndex !== newIndex && !this._anyControlsInvalidOrPending(newIndex) &&\n (newIndex >= this._selectedIndex || this.steps.toArray()[newIndex].editable)) {\n this._updateSelectedItemIndex(index);\n }\n }\n else {\n this._selectedIndex = newIndex;\n }\n }\n /** The step that is selected. */\n get selected() {\n return this.steps ? this.steps.toArray()[this.selectedIndex] : undefined;\n }\n set selected(step) {\n this.selectedIndex = (step && this.steps) ? this.steps.toArray().indexOf(step) : -1;\n }\n /** Orientation of the stepper. */\n get orientation() { return this._orientation; }\n set orientation(value) {\n // This is a protected method so that `MatSteppter` can hook into it.\n this._orientation = value;\n if (this._keyManager) {\n this._keyManager.withVerticalOrientation(value === 'vertical');\n }\n }\n ngAfterContentInit() {\n this._steps.changes\n .pipe(startWith(this._steps), takeUntil(this._destroyed))\n .subscribe((steps) => {\n this.steps.reset(steps.filter(step => step._stepper === this));\n this.steps.notifyOnChanges();\n });\n }\n ngAfterViewInit() {\n // If the step headers are defined outside of the `ngFor` that renders the steps, like in the\n // Material stepper, they won't appear in the `QueryList` in the same order as they're\n // rendered in the DOM which will lead to incorrect keyboard navigation. We need to sort\n // them manually to ensure that they're correct. Alternatively, we can change the Material\n // template to inline the headers in the `ngFor`, but that'll result in a lot of\n // code duplciation. See #23539.\n this._stepHeader.changes\n .pipe(startWith(this._stepHeader), takeUntil(this._destroyed))\n .subscribe((headers) => {\n this._sortedHeaders.reset(headers.toArray().sort((a, b) => {\n const documentPosition = a._elementRef.nativeElement.compareDocumentPosition(b._elementRef.nativeElement);\n // `compareDocumentPosition` returns a bitmask so we have to use a bitwise operator.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // tslint:disable-next-line:no-bitwise\n return documentPosition & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n }));\n this._sortedHeaders.notifyOnChanges();\n });\n // Note that while the step headers are content children by default, any components that\n // extend this one might have them as view children. We initialize the keyboard handling in\n // AfterViewInit so we're guaranteed for both view and content children to be defined.\n this._keyManager = new FocusKeyManager(this._sortedHeaders)\n .withWrap()\n .withHomeAndEnd()\n .withVerticalOrientation(this._orientation === 'vertical');\n (this._dir ? this._dir.change : of())\n .pipe(startWith(this._layoutDirection()), takeUntil(this._destroyed))\n .subscribe(direction => this._keyManager.withHorizontalOrientation(direction));\n this._keyManager.updateActiveItem(this._selectedIndex);\n // No need to `takeUntil` here, because we're the ones destroying `steps`.\n this.steps.changes.subscribe(() => {\n if (!this.selected) {\n this._selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n });\n // The logic which asserts that the selected index is within bounds doesn't run before the\n // steps are initialized, because we don't how many steps there are yet so we may have an\n // invalid index on init. If that's the case, auto-correct to the default so we don't throw.\n if (!this._isValidIndex(this._selectedIndex)) {\n this._selectedIndex = 0;\n }\n }\n ngOnDestroy() {\n this.steps.destroy();\n this._sortedHeaders.destroy();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Selects and focuses the next step in list. */\n next() {\n this.selectedIndex = Math.min(this._selectedIndex + 1, this.steps.length - 1);\n }\n /** Selects and focuses the previous step in list. */\n previous() {\n this.selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n /** Resets the stepper to its initial state. Note that this includes clearing form data. */\n reset() {\n this._updateSelectedItemIndex(0);\n this.steps.forEach(step => step.reset());\n this._stateChanged();\n }\n /** Returns a unique id for each step label element. */\n _getStepLabelId(i) {\n return `cdk-step-label-${this._groupId}-${i}`;\n }\n /** Returns unique id for each step content element. */\n _getStepContentId(i) {\n return `cdk-step-content-${this._groupId}-${i}`;\n }\n /** Marks the component to be change detected. */\n _stateChanged() {\n this._changeDetectorRef.markForCheck();\n }\n /** Returns position state of the step with the given index. */\n _getAnimationDirection(index) {\n const position = index - this._selectedIndex;\n if (position < 0) {\n return this._layoutDirection() === 'rtl' ? 'next' : 'previous';\n }\n else if (position > 0) {\n return this._layoutDirection() === 'rtl' ? 'previous' : 'next';\n }\n return 'current';\n }\n /** Returns the type of icon to be displayed. */\n _getIndicatorType(index, state = STEP_STATE.NUMBER) {\n const step = this.steps.toArray()[index];\n const isCurrentStep = this._isCurrentStep(index);\n return step._displayDefaultIndicatorType ? this._getDefaultIndicatorLogic(step, isCurrentStep) :\n this._getGuidelineLogic(step, isCurrentStep, state);\n }\n _getDefaultIndicatorLogic(step, isCurrentStep) {\n if (step._showError() && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n }\n else if (!step.completed || isCurrentStep) {\n return STEP_STATE.NUMBER;\n }\n else {\n return step.editable ? STEP_STATE.EDIT : STEP_STATE.DONE;\n }\n }\n _getGuidelineLogic(step, isCurrentStep, state = STEP_STATE.NUMBER) {\n if (step._showError() && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n }\n else if (step.completed && !isCurrentStep) {\n return STEP_STATE.DONE;\n }\n else if (step.completed && isCurrentStep) {\n return state;\n }\n else if (step.editable && isCurrentStep) {\n return STEP_STATE.EDIT;\n }\n else {\n return state;\n }\n }\n _isCurrentStep(index) {\n return this._selectedIndex === index;\n }\n /** Returns the index of the currently-focused step header. */\n _getFocusIndex() {\n return this._keyManager ? this._keyManager.activeItemIndex : this._selectedIndex;\n }\n _updateSelectedItemIndex(newIndex) {\n const stepsArray = this.steps.toArray();\n this.selectionChange.emit({\n selectedIndex: newIndex,\n previouslySelectedIndex: this._selectedIndex,\n selectedStep: stepsArray[newIndex],\n previouslySelectedStep: stepsArray[this._selectedIndex],\n });\n // If focus is inside the stepper, move it to the next header, otherwise it may become\n // lost when the active step content is hidden. We can't be more granular with the check\n // (e.g. checking whether focus is inside the active step), because we don't have a\n // reference to the elements that are rendering out the content.\n this._containsFocus() ? this._keyManager.setActiveItem(newIndex) :\n this._keyManager.updateActiveItem(newIndex);\n this._selectedIndex = newIndex;\n this._stateChanged();\n }\n _onKeydown(event) {\n const hasModifier = hasModifierKey(event);\n const keyCode = event.keyCode;\n const manager = this._keyManager;\n if (manager.activeItemIndex != null && !hasModifier &&\n (keyCode === SPACE || keyCode === ENTER)) {\n this.selectedIndex = manager.activeItemIndex;\n event.preventDefault();\n }\n else {\n manager.onKeydown(event);\n }\n }\n _anyControlsInvalidOrPending(index) {\n if (this._linear && index >= 0) {\n return this.steps.toArray().slice(0, index).some(step => {\n const control = step.stepControl;\n const isIncomplete = control ? (control.invalid || control.pending || !step.interacted) : !step.completed;\n return isIncomplete && !step.optional && !step._completedOverride;\n });\n }\n return false;\n }\n _layoutDirection() {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n /** Checks whether the stepper contains the focused element. */\n _containsFocus() {\n const stepperElement = this._elementRef.nativeElement;\n const focusedElement = _getFocusedElementPierceShadowDom();\n return stepperElement === focusedElement || stepperElement.contains(focusedElement);\n }\n /** Checks whether the passed-in index is a valid step index. */\n _isValidIndex(index) {\n return index > -1 && (!this.steps || index < this.steps.length);\n }\n}\nCdkStepper.ɵfac = function CdkStepper_Factory(t) { return new (t || CdkStepper)(ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(DOCUMENT)); };\nCdkStepper.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkStepper, selectors: [[\"\", \"cdkStepper\", \"\"]], contentQueries: function CdkStepper_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkStep, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkStepHeader, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._steps = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._stepHeader = _t);\n } }, inputs: { linear: \"linear\", selectedIndex: \"selectedIndex\", selected: \"selected\", orientation: \"orientation\" }, outputs: { selectionChange: \"selectionChange\" }, exportAs: [\"cdkStepper\"] });\nCdkStepper.ctorParameters = () => [\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: ChangeDetectorRef },\n { type: ElementRef },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\nCdkStepper.propDecorators = {\n _steps: [{ type: ContentChildren, args: [CdkStep, { descendants: true },] }],\n _stepHeader: [{ type: ContentChildren, args: [CdkStepHeader, { descendants: true },] }],\n linear: [{ type: Input }],\n selectedIndex: [{ type: Input }],\n selected: [{ type: Input }],\n selectionChange: [{ type: Output }],\n orientation: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkStepper, [{\n type: Directive,\n args: [{\n selector: '[cdkStepper]',\n exportAs: 'cdkStepper'\n }]\n }], function () { return [{ type: ɵngcc1.Directionality, decorators: [{\n type: Optional\n }] }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { selectionChange: [{\n type: Output\n }], linear: [{\n type: Input\n }], selectedIndex: [{\n type: Input\n }], selected: [{\n type: Input\n }], orientation: [{\n type: Input\n }], _steps: [{\n type: ContentChildren,\n args: [CdkStep, { descendants: true }]\n }], _stepHeader: [{\n type: ContentChildren,\n args: [CdkStepHeader, { descendants: true }]\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/** Button that moves to the next step in a stepper workflow. */\nclass CdkStepperNext {\n constructor(_stepper) {\n this._stepper = _stepper;\n /** Type of the next button. Defaults to \"submit\" if not specified. */\n this.type = 'submit';\n }\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _handleClick() {\n this._stepper.next();\n }\n}\nCdkStepperNext.ɵfac = function CdkStepperNext_Factory(t) { return new (t || CdkStepperNext)(ɵngcc0.ɵɵdirectiveInject(CdkStepper)); };\nCdkStepperNext.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkStepperNext, selectors: [[\"button\", \"cdkStepperNext\", \"\"]], hostVars: 1, hostBindings: function CdkStepperNext_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function CdkStepperNext_click_HostBindingHandler() { return ctx._handleClick(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"type\", ctx.type);\n } }, inputs: { type: \"type\" } });\nCdkStepperNext.ctorParameters = () => [\n { type: CdkStepper }\n];\nCdkStepperNext.propDecorators = {\n type: [{ type: Input }],\n _handleClick: [{ type: HostListener, args: ['click',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkStepperNext, [{\n type: Directive,\n args: [{\n selector: 'button[cdkStepperNext]',\n host: {\n '[type]': 'type'\n }\n }]\n }], function () { return [{ type: CdkStepper }]; }, { type: [{\n type: Input\n }], \n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _handleClick: [{\n type: HostListener,\n args: ['click']\n }] }); })();\n/** Button that moves to the previous step in a stepper workflow. */\nclass CdkStepperPrevious {\n constructor(_stepper) {\n this._stepper = _stepper;\n /** Type of the previous button. Defaults to \"button\" if not specified. */\n this.type = 'button';\n }\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _handleClick() {\n this._stepper.previous();\n }\n}\nCdkStepperPrevious.ɵfac = function CdkStepperPrevious_Factory(t) { return new (t || CdkStepperPrevious)(ɵngcc0.ɵɵdirectiveInject(CdkStepper)); };\nCdkStepperPrevious.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkStepperPrevious, selectors: [[\"button\", \"cdkStepperPrevious\", \"\"]], hostVars: 1, hostBindings: function CdkStepperPrevious_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function CdkStepperPrevious_click_HostBindingHandler() { return ctx._handleClick(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"type\", ctx.type);\n } }, inputs: { type: \"type\" } });\nCdkStepperPrevious.ctorParameters = () => [\n { type: CdkStepper }\n];\nCdkStepperPrevious.propDecorators = {\n type: [{ type: Input }],\n _handleClick: [{ type: HostListener, args: ['click',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkStepperPrevious, [{\n type: Directive,\n args: [{\n selector: 'button[cdkStepperPrevious]',\n host: {\n '[type]': 'type'\n }\n }]\n }], function () { return [{ type: CdkStepper }]; }, { type: [{\n type: Input\n }], \n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _handleClick: [{\n type: HostListener,\n args: ['click']\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 CdkStepperModule {\n}\nCdkStepperModule.ɵfac = function CdkStepperModule_Factory(t) { return new (t || CdkStepperModule)(); };\nCdkStepperModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CdkStepperModule });\nCdkStepperModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[BidiModule]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkStepperModule, [{\n type: NgModule,\n args: [{\n imports: [BidiModule],\n exports: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ],\n declarations: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CdkStepperModule, { declarations: function () { return [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious]; }, imports: function () { return [BidiModule]; }, exports: function () { return [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious]; } }); })();\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 { CdkStep, CdkStepHeader, CdkStepLabel, CdkStepper, CdkStepperModule, CdkStepperNext, CdkStepperPrevious, STEPPER_GLOBAL_OPTIONS, STEP_STATE, StepperSelectionEvent };\n\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy, isDataSource, _DisposeViewRepeaterStrategy } from '@angular/cdk/collections';\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/bidi';\nimport * as ɵngcc2 from '@angular/cdk/platform';\nimport * as ɵngcc3 from '@angular/cdk/scrolling';\n\nconst _c0 = [[[\"caption\"]], [[\"colgroup\"], [\"col\"]]];\nconst _c1 = [\"caption\", \"colgroup, col\"];\nfunction CdkTextColumn_th_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"th\", 3);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"text-align\", ctx_r0.justify);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r0.headerText, \" \");\n} }\nfunction CdkTextColumn_td_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"td\", 4);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const data_r2 = ctx.$implicit;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵstyleProp(\"text-align\", ctx_r1.justify);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r1.dataAccessor(data_r2, ctx_r1.name), \" \");\n} }\nexport { DataSource } from '@angular/cdk/collections';\nimport { Platform } from '@angular/cdk/platform';\nimport { ViewportRuler, ScrollingModule } from '@angular/cdk/scrolling';\nimport { DOCUMENT } from '@angular/common';\nimport { InjectionToken, Directive, TemplateRef, Inject, Optional, Input, ContentChild, ElementRef, Injectable, NgZone, IterableDiffers, ViewContainerRef, Component, ChangeDetectionStrategy, ViewEncapsulation, EmbeddedViewRef, EventEmitter, ChangeDetectorRef, Attribute, SkipSelf, Output, ViewChild, ContentChildren, NgModule } from '@angular/core';\nimport { Subject, from, BehaviorSubject, isObservable, of } from 'rxjs';\nimport { takeUntil, take } 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 * Mixin to provide a directive with a function that checks if the sticky input has been\n * changed since the last time the function was called. Essentially adds a dirty-check to the\n * sticky value.\n * @docs-private\n */\nfunction mixinHasStickyInput(base) {\n return class extends base {\n constructor(...args) {\n super(...args);\n this._sticky = false;\n /** Whether the sticky input has changed since it was last checked. */\n this._hasStickyChanged = false;\n }\n /** Whether sticky positioning should be applied. */\n get sticky() { return this._sticky; }\n set sticky(v) {\n const prevValue = this._sticky;\n this._sticky = coerceBooleanProperty(v);\n this._hasStickyChanged = prevValue !== this._sticky;\n }\n /** Whether the sticky value has changed since this was last called. */\n hasStickyChanged() {\n const hasStickyChanged = this._hasStickyChanged;\n this._hasStickyChanged = false;\n return hasStickyChanged;\n }\n /** Resets the dirty check for cases where the sticky state has been used without checking. */\n resetStickyChanged() {\n this._hasStickyChanged = false;\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 * Used to provide a table to some of the sub-components without causing a circular dependency.\n * @docs-private\n */\nconst CDK_TABLE = new InjectionToken('CDK_TABLE');\n/** Injection token that can be used to specify the text column options. */\nconst TEXT_COLUMN_OPTIONS = new InjectionToken('text-column-options');\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 * Cell definition for a CDK table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\nclass CdkCellDef {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkCellDef.ɵfac = function CdkCellDef_Factory(t) { return new (t || CdkCellDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkCellDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkCellDef, selectors: [[\"\", \"cdkCellDef\", \"\"]] });\nCdkCellDef.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkCellDef, [{\n type: Directive,\n args: [{ selector: '[cdkCellDef]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/**\n * Header cell definition for a CDK table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\nclass CdkHeaderCellDef {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkHeaderCellDef.ɵfac = function CdkHeaderCellDef_Factory(t) { return new (t || CdkHeaderCellDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkHeaderCellDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkHeaderCellDef, selectors: [[\"\", \"cdkHeaderCellDef\", \"\"]] });\nCdkHeaderCellDef.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkHeaderCellDef, [{\n type: Directive,\n args: [{ selector: '[cdkHeaderCellDef]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/**\n * Footer cell definition for a CDK table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\nclass CdkFooterCellDef {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkFooterCellDef.ɵfac = function CdkFooterCellDef_Factory(t) { return new (t || CdkFooterCellDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkFooterCellDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkFooterCellDef, selectors: [[\"\", \"cdkFooterCellDef\", \"\"]] });\nCdkFooterCellDef.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFooterCellDef, [{\n type: Directive,\n args: [{ selector: '[cdkFooterCellDef]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n// Boilerplate for applying mixins to CdkColumnDef.\n/** @docs-private */\nclass CdkColumnDefBase {\n}\nconst _CdkColumnDefBase = mixinHasStickyInput(CdkColumnDefBase);\n/**\n * Column definition for the CDK table.\n * Defines a set of cells available for a table column.\n */\nclass CdkColumnDef extends _CdkColumnDefBase {\n constructor(_table) {\n super();\n this._table = _table;\n this._stickyEnd = false;\n }\n /** Unique name for this column. */\n get name() { return this._name; }\n set name(name) { this._setNameInput(name); }\n /**\n * Whether this column should be sticky positioned on the end of the row. Should make sure\n * that it mimics the `CanStick` mixin such that `_hasStickyChanged` is set to true if the value\n * has been changed.\n */\n get stickyEnd() {\n return this._stickyEnd;\n }\n set stickyEnd(v) {\n const prevValue = this._stickyEnd;\n this._stickyEnd = coerceBooleanProperty(v);\n this._hasStickyChanged = prevValue !== this._stickyEnd;\n }\n /**\n * Overridable method that sets the css classes that will be added to every cell in this\n * column.\n * In the future, columnCssClassName will change from type string[] to string and this\n * will set a single string value.\n * @docs-private\n */\n _updateColumnCssClassName() {\n this._columnCssClassName = [`cdk-column-${this.cssClassFriendlyName}`];\n }\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n _setNameInput(value) {\n // If the directive is set without a name (updated programmatically), then this setter will\n // trigger with an empty string and should not overwrite the programmatically set value.\n if (value) {\n this._name = value;\n this.cssClassFriendlyName = value.replace(/[^a-z0-9_-]/ig, '-');\n this._updateColumnCssClassName();\n }\n }\n}\nCdkColumnDef.ɵfac = function CdkColumnDef_Factory(t) { return new (t || CdkColumnDef)(ɵngcc0.ɵɵdirectiveInject(CDK_TABLE, 8)); };\nCdkColumnDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkColumnDef, selectors: [[\"\", \"cdkColumnDef\", \"\"]], contentQueries: function CdkColumnDef_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkCellDef, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkHeaderCellDef, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkFooterCellDef, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.cell = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.headerCell = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.footerCell = _t.first);\n } }, inputs: { sticky: \"sticky\", name: [\"cdkColumnDef\", \"name\"], stickyEnd: \"stickyEnd\" }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: CdkColumnDef }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkColumnDef.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [CDK_TABLE,] }, { type: Optional }] }\n];\nCdkColumnDef.propDecorators = {\n name: [{ type: Input, args: ['cdkColumnDef',] }],\n stickyEnd: [{ type: Input, args: ['stickyEnd',] }],\n cell: [{ type: ContentChild, args: [CdkCellDef,] }],\n headerCell: [{ type: ContentChild, args: [CdkHeaderCellDef,] }],\n footerCell: [{ type: ContentChild, args: [CdkFooterCellDef,] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkColumnDef, [{\n type: Directive,\n args: [{\n selector: '[cdkColumnDef]',\n inputs: ['sticky'],\n providers: [{ provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: CdkColumnDef }]\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }]; }, { name: [{\n type: Input,\n args: ['cdkColumnDef']\n }], stickyEnd: [{\n type: Input,\n args: ['stickyEnd']\n }], cell: [{\n type: ContentChild,\n args: [CdkCellDef]\n }], headerCell: [{\n type: ContentChild,\n args: [CdkHeaderCellDef]\n }], footerCell: [{\n type: ContentChild,\n args: [CdkFooterCellDef]\n }] }); })();\n/** Base class for the cells. Adds a CSS classname that identifies the column it renders in. */\nclass BaseCdkCell {\n constructor(columnDef, elementRef) {\n // If IE 11 is dropped before we switch to setting a single class name, change to multi param\n // with destructuring.\n const classList = elementRef.nativeElement.classList;\n for (const className of columnDef._columnCssClassName) {\n classList.add(className);\n }\n }\n}\n/** Header cell template container that adds the right classes and role. */\nclass CdkHeaderCell extends BaseCdkCell {\n constructor(columnDef, elementRef) {\n super(columnDef, elementRef);\n }\n}\nCdkHeaderCell.ɵfac = function CdkHeaderCell_Factory(t) { return new (t || CdkHeaderCell)(ɵngcc0.ɵɵdirectiveInject(CdkColumnDef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCdkHeaderCell.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkHeaderCell, selectors: [[\"cdk-header-cell\"], [\"th\", \"cdk-header-cell\", \"\"]], hostAttrs: [\"role\", \"columnheader\", 1, \"cdk-header-cell\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkHeaderCell.ctorParameters = () => [\n { type: CdkColumnDef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkHeaderCell, [{\n type: Directive,\n args: [{\n selector: 'cdk-header-cell, th[cdk-header-cell]',\n host: {\n 'class': 'cdk-header-cell',\n 'role': 'columnheader'\n }\n }]\n }], function () { return [{ type: CdkColumnDef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/** Footer cell template container that adds the right classes and role. */\nclass CdkFooterCell extends BaseCdkCell {\n constructor(columnDef, elementRef) {\n var _a;\n super(columnDef, elementRef);\n if (((_a = columnDef._table) === null || _a === void 0 ? void 0 : _a._elementRef.nativeElement.nodeType) === 1) {\n const tableRole = columnDef._table._elementRef.nativeElement\n .getAttribute('role');\n const role = (tableRole === 'grid' || tableRole === 'treegrid') ? 'gridcell' : 'cell';\n elementRef.nativeElement.setAttribute('role', role);\n }\n }\n}\nCdkFooterCell.ɵfac = function CdkFooterCell_Factory(t) { return new (t || CdkFooterCell)(ɵngcc0.ɵɵdirectiveInject(CdkColumnDef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCdkFooterCell.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkFooterCell, selectors: [[\"cdk-footer-cell\"], [\"td\", \"cdk-footer-cell\", \"\"]], hostAttrs: [1, \"cdk-footer-cell\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkFooterCell.ctorParameters = () => [\n { type: CdkColumnDef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFooterCell, [{\n type: Directive,\n args: [{\n selector: 'cdk-footer-cell, td[cdk-footer-cell]',\n host: {\n 'class': 'cdk-footer-cell'\n }\n }]\n }], function () { return [{ type: CdkColumnDef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/** Cell template container that adds the right classes and role. */\nclass CdkCell extends BaseCdkCell {\n constructor(columnDef, elementRef) {\n var _a;\n super(columnDef, elementRef);\n if (((_a = columnDef._table) === null || _a === void 0 ? void 0 : _a._elementRef.nativeElement.nodeType) === 1) {\n const tableRole = columnDef._table._elementRef.nativeElement\n .getAttribute('role');\n const role = (tableRole === 'grid' || tableRole === 'treegrid') ? 'gridcell' : 'cell';\n elementRef.nativeElement.setAttribute('role', role);\n }\n }\n}\nCdkCell.ɵfac = function CdkCell_Factory(t) { return new (t || CdkCell)(ɵngcc0.ɵɵdirectiveInject(CdkColumnDef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCdkCell.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkCell, selectors: [[\"cdk-cell\"], [\"td\", \"cdk-cell\", \"\"]], hostAttrs: [1, \"cdk-cell\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkCell.ctorParameters = () => [\n { type: CdkColumnDef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkCell, [{\n type: Directive,\n args: [{\n selector: 'cdk-cell, td[cdk-cell]',\n host: {\n 'class': 'cdk-cell'\n }\n }]\n }], function () { return [{ type: CdkColumnDef }, { type: ɵngcc0.ElementRef }]; }, null); })();\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 * @docs-private\n */\nclass _Schedule {\n constructor() {\n this.tasks = [];\n this.endTasks = [];\n }\n}\n/** Injection token used to provide a coalesced style scheduler. */\nconst _COALESCED_STYLE_SCHEDULER = new InjectionToken('_COALESCED_STYLE_SCHEDULER');\n/**\n * Allows grouping up CSSDom mutations after the current execution context.\n * This can significantly improve performance when separate consecutive functions are\n * reading from the CSSDom and then mutating it.\n *\n * @docs-private\n */\nclass _CoalescedStyleScheduler {\n constructor(_ngZone) {\n this._ngZone = _ngZone;\n this._currentSchedule = null;\n this._destroyed = new Subject();\n }\n /**\n * Schedules the specified task to run at the end of the current VM turn.\n */\n schedule(task) {\n this._createScheduleIfNeeded();\n this._currentSchedule.tasks.push(task);\n }\n /**\n * Schedules the specified task to run after other scheduled tasks at the end of the current\n * VM turn.\n */\n scheduleEnd(task) {\n this._createScheduleIfNeeded();\n this._currentSchedule.endTasks.push(task);\n }\n /** Prevent any further tasks from running. */\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n _createScheduleIfNeeded() {\n if (this._currentSchedule) {\n return;\n }\n this._currentSchedule = new _Schedule();\n this._getScheduleObservable().pipe(takeUntil(this._destroyed)).subscribe(() => {\n while (this._currentSchedule.tasks.length || this._currentSchedule.endTasks.length) {\n const schedule = this._currentSchedule;\n // Capture new tasks scheduled by the current set of tasks.\n this._currentSchedule = new _Schedule();\n for (const task of schedule.tasks) {\n task();\n }\n for (const task of schedule.endTasks) {\n task();\n }\n }\n this._currentSchedule = null;\n });\n }\n _getScheduleObservable() {\n // Use onStable when in the context of an ongoing change detection cycle so that we\n // do not accidentally trigger additional cycles.\n return this._ngZone.isStable ?\n from(Promise.resolve(undefined)) :\n this._ngZone.onStable.pipe(take(1));\n }\n}\n_CoalescedStyleScheduler.ɵfac = function _CoalescedStyleScheduler_Factory(t) { return new (t || _CoalescedStyleScheduler)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone)); };\n_CoalescedStyleScheduler.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: _CoalescedStyleScheduler, factory: _CoalescedStyleScheduler.ɵfac });\n_CoalescedStyleScheduler.ctorParameters = () => [\n { type: NgZone }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(_CoalescedStyleScheduler, [{\n type: Injectable\n }], function () { return [{ type: ɵngcc0.NgZone }]; }, null); })();\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 * The row template that can be used by the mat-table. Should not be used outside of the\n * material library.\n */\nconst CDK_ROW_TEMPLATE = ``;\n/**\n * Base class for the CdkHeaderRowDef and CdkRowDef that handles checking their columns inputs\n * for changes and notifying the table.\n */\nclass BaseRowDef {\n constructor(\n /** @docs-private */ template, _differs) {\n this.template = template;\n this._differs = _differs;\n }\n ngOnChanges(changes) {\n // Create a new columns differ if one does not yet exist. Initialize it based on initial value\n // of the columns property or an empty array if none is provided.\n if (!this._columnsDiffer) {\n const columns = (changes['columns'] && changes['columns'].currentValue) || [];\n this._columnsDiffer = this._differs.find(columns).create();\n this._columnsDiffer.diff(columns);\n }\n }\n /**\n * Returns the difference between the current columns and the columns from the last diff, or null\n * if there is no difference.\n */\n getColumnsDiff() {\n return this._columnsDiffer.diff(this.columns);\n }\n /** Gets this row def's relevant cell template from the provided column def. */\n extractCellTemplate(column) {\n if (this instanceof CdkHeaderRowDef) {\n return column.headerCell.template;\n }\n if (this instanceof CdkFooterRowDef) {\n return column.footerCell.template;\n }\n else {\n return column.cell.template;\n }\n }\n}\nBaseRowDef.ɵfac = function BaseRowDef_Factory(t) { return new (t || BaseRowDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers)); };\nBaseRowDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: BaseRowDef, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nBaseRowDef.ctorParameters = () => [\n { type: TemplateRef },\n { type: IterableDiffers }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BaseRowDef, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }]; }, null); })();\n// Boilerplate for applying mixins to CdkHeaderRowDef.\n/** @docs-private */\nclass CdkHeaderRowDefBase extends BaseRowDef {\n}\nconst _CdkHeaderRowDefBase = mixinHasStickyInput(CdkHeaderRowDefBase);\n/**\n * Header row definition for the CDK table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\nclass CdkHeaderRowDef extends _CdkHeaderRowDefBase {\n constructor(template, _differs, _table) {\n super(template, _differs);\n this._table = _table;\n }\n // Prerender fails to recognize that ngOnChanges in a part of this class through inheritance.\n // Explicitly define it so that the method is called as part of the Angular lifecycle.\n ngOnChanges(changes) {\n super.ngOnChanges(changes);\n }\n}\nCdkHeaderRowDef.ɵfac = function CdkHeaderRowDef_Factory(t) { return new (t || CdkHeaderRowDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(CDK_TABLE, 8)); };\nCdkHeaderRowDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkHeaderRowDef, selectors: [[\"\", \"cdkHeaderRowDef\", \"\"]], inputs: { columns: [\"cdkHeaderRowDef\", \"columns\"], sticky: [\"cdkHeaderRowDefSticky\", \"sticky\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkHeaderRowDef.ctorParameters = () => [\n { type: TemplateRef },\n { type: IterableDiffers },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_TABLE,] }, { type: Optional }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkHeaderRowDef, [{\n type: Directive,\n args: [{\n selector: '[cdkHeaderRowDef]',\n inputs: ['columns: cdkHeaderRowDef', 'sticky: cdkHeaderRowDefSticky']\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }]; }, null); })();\n// Boilerplate for applying mixins to CdkFooterRowDef.\n/** @docs-private */\nclass CdkFooterRowDefBase extends BaseRowDef {\n}\nconst _CdkFooterRowDefBase = mixinHasStickyInput(CdkFooterRowDefBase);\n/**\n * Footer row definition for the CDK table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\nclass CdkFooterRowDef extends _CdkFooterRowDefBase {\n constructor(template, _differs, _table) {\n super(template, _differs);\n this._table = _table;\n }\n // Prerender fails to recognize that ngOnChanges in a part of this class through inheritance.\n // Explicitly define it so that the method is called as part of the Angular lifecycle.\n ngOnChanges(changes) {\n super.ngOnChanges(changes);\n }\n}\nCdkFooterRowDef.ɵfac = function CdkFooterRowDef_Factory(t) { return new (t || CdkFooterRowDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(CDK_TABLE, 8)); };\nCdkFooterRowDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkFooterRowDef, selectors: [[\"\", \"cdkFooterRowDef\", \"\"]], inputs: { columns: [\"cdkFooterRowDef\", \"columns\"], sticky: [\"cdkFooterRowDefSticky\", \"sticky\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkFooterRowDef.ctorParameters = () => [\n { type: TemplateRef },\n { type: IterableDiffers },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_TABLE,] }, { type: Optional }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFooterRowDef, [{\n type: Directive,\n args: [{\n selector: '[cdkFooterRowDef]',\n inputs: ['columns: cdkFooterRowDef', 'sticky: cdkFooterRowDefSticky']\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }]; }, null); })();\n/**\n * Data row definition for the CDK table.\n * Captures the header row's template and other row properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\nclass CdkRowDef extends BaseRowDef {\n // TODO(andrewseguin): Add an input for providing a switch function to determine\n // if this template should be used.\n constructor(template, _differs, _table) {\n super(template, _differs);\n this._table = _table;\n }\n}\nCdkRowDef.ɵfac = function CdkRowDef_Factory(t) { return new (t || CdkRowDef)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(CDK_TABLE, 8)); };\nCdkRowDef.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkRowDef, selectors: [[\"\", \"cdkRowDef\", \"\"]], inputs: { columns: [\"cdkRowDefColumns\", \"columns\"], when: [\"cdkRowDefWhen\", \"when\"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkRowDef.ctorParameters = () => [\n { type: TemplateRef },\n { type: IterableDiffers },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_TABLE,] }, { type: Optional }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkRowDef, [{\n type: Directive,\n args: [{\n selector: '[cdkRowDef]',\n inputs: ['columns: cdkRowDefColumns', 'when: cdkRowDefWhen']\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_TABLE]\n }, {\n type: Optional\n }] }]; }, null); })();\n/**\n * Outlet for rendering cells inside of a row or header row.\n * @docs-private\n */\nclass CdkCellOutlet {\n constructor(_viewContainer) {\n this._viewContainer = _viewContainer;\n CdkCellOutlet.mostRecentCellOutlet = this;\n }\n ngOnDestroy() {\n // If this was the last outlet being rendered in the view, remove the reference\n // from the static property after it has been destroyed to avoid leaking memory.\n if (CdkCellOutlet.mostRecentCellOutlet === this) {\n CdkCellOutlet.mostRecentCellOutlet = null;\n }\n }\n}\nCdkCellOutlet.ɵfac = function CdkCellOutlet_Factory(t) { return new (t || CdkCellOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef)); };\nCdkCellOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkCellOutlet, selectors: [[\"\", \"cdkCellOutlet\", \"\"]] });\n/**\n * Static property containing the latest constructed instance of this class.\n * Used by the CDK table when each CdkHeaderRow and CdkRow component is created using\n * createEmbeddedView. After one of these components are created, this property will provide\n * a handle to provide that component's cells and context. After init, the CdkCellOutlet will\n * construct the cells with the provided context.\n */\nCdkCellOutlet.mostRecentCellOutlet = null;\nCdkCellOutlet.ctorParameters = () => [\n { type: ViewContainerRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkCellOutlet, [{\n type: Directive,\n args: [{ selector: '[cdkCellOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }]; }, null); })();\n/** Header template container that contains the cell outlet. Adds the right class and role. */\nclass CdkHeaderRow {\n}\nCdkHeaderRow.ɵfac = function CdkHeaderRow_Factory(t) { return new (t || CdkHeaderRow)(); };\nCdkHeaderRow.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CdkHeaderRow, selectors: [[\"cdk-header-row\"], [\"tr\", \"cdk-header-row\", \"\"]], hostAttrs: [\"role\", \"row\", 1, \"cdk-header-row\"], decls: 1, vars: 0, consts: [[\"cdkCellOutlet\", \"\"]], template: function CdkHeaderRow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainer(0, 0);\n } }, directives: [CdkCellOutlet], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkHeaderRow, [{\n type: Component,\n args: [{\n selector: 'cdk-header-row, tr[cdk-header-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'cdk-header-row',\n 'role': 'row'\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None\n }]\n }], null, null); })();\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\nclass CdkFooterRow {\n}\nCdkFooterRow.ɵfac = function CdkFooterRow_Factory(t) { return new (t || CdkFooterRow)(); };\nCdkFooterRow.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CdkFooterRow, selectors: [[\"cdk-footer-row\"], [\"tr\", \"cdk-footer-row\", \"\"]], hostAttrs: [\"role\", \"row\", 1, \"cdk-footer-row\"], decls: 1, vars: 0, consts: [[\"cdkCellOutlet\", \"\"]], template: function CdkFooterRow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainer(0, 0);\n } }, directives: [CdkCellOutlet], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFooterRow, [{\n type: Component,\n args: [{\n selector: 'cdk-footer-row, tr[cdk-footer-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'cdk-footer-row',\n 'role': 'row'\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None\n }]\n }], null, null); })();\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\nclass CdkRow {\n}\nCdkRow.ɵfac = function CdkRow_Factory(t) { return new (t || CdkRow)(); };\nCdkRow.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CdkRow, selectors: [[\"cdk-row\"], [\"tr\", \"cdk-row\", \"\"]], hostAttrs: [\"role\", \"row\", 1, \"cdk-row\"], decls: 1, vars: 0, consts: [[\"cdkCellOutlet\", \"\"]], template: function CdkRow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainer(0, 0);\n } }, directives: [CdkCellOutlet], encapsulation: 2 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkRow, [{\n type: Component,\n args: [{\n selector: 'cdk-row, tr[cdk-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'cdk-row',\n 'role': 'row'\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None\n }]\n }], null, null); })();\n/** Row that can be used to display a message when no data is shown in the table. */\nclass CdkNoDataRow {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n}\nCdkNoDataRow.ɵfac = function CdkNoDataRow_Factory(t) { return new (t || CdkNoDataRow)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nCdkNoDataRow.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkNoDataRow, selectors: [[\"ng-template\", \"cdkNoDataRow\", \"\"]] });\nCdkNoDataRow.ctorParameters = () => [\n { type: TemplateRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkNoDataRow, [{\n type: Directive,\n args: [{\n selector: 'ng-template[cdkNoDataRow]'\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\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 * List of all possible directions that can be used for sticky positioning.\n * @docs-private\n */\nconst STICKY_DIRECTIONS = ['top', 'bottom', 'left', 'right'];\n/**\n * Applies and removes sticky positioning styles to the `CdkTable` rows and columns cells.\n * @docs-private\n */\nclass StickyStyler {\n /**\n * @param _isNativeHtmlTable Whether the sticky logic should be based on a table\n * that uses the native `` element.\n * @param _stickCellCss The CSS class that will be applied to every row/cell that has\n * sticky positioning applied.\n * @param direction The directionality context of the table (ltr/rtl); affects column positioning\n * by reversing left/right positions.\n * @param _isBrowser Whether the table is currently being rendered on the server or the client.\n * @param _needsPositionStickyOnElement Whether we need to specify position: sticky on cells\n * using inline styles. If false, it is assumed that position: sticky is included in\n * the component stylesheet for _stickCellCss.\n * @param _positionListener A listener that is notified of changes to sticky rows/columns\n * and their dimensions.\n */\n constructor(_isNativeHtmlTable, _stickCellCss, direction, _coalescedStyleScheduler, _isBrowser = true, _needsPositionStickyOnElement = true, _positionListener) {\n this._isNativeHtmlTable = _isNativeHtmlTable;\n this._stickCellCss = _stickCellCss;\n this.direction = direction;\n this._coalescedStyleScheduler = _coalescedStyleScheduler;\n this._isBrowser = _isBrowser;\n this._needsPositionStickyOnElement = _needsPositionStickyOnElement;\n this._positionListener = _positionListener;\n this._cachedCellWidths = [];\n this._borderCellCss = {\n 'top': `${_stickCellCss}-border-elem-top`,\n 'bottom': `${_stickCellCss}-border-elem-bottom`,\n 'left': `${_stickCellCss}-border-elem-left`,\n 'right': `${_stickCellCss}-border-elem-right`,\n };\n }\n /**\n * Clears the sticky positioning styles from the row and its cells by resetting the `position`\n * style, setting the zIndex to 0, and unsetting each provided sticky direction.\n * @param rows The list of rows that should be cleared from sticking in the provided directions\n * @param stickyDirections The directions that should no longer be set as sticky on the rows.\n */\n clearStickyPositioning(rows, stickyDirections) {\n const elementsToClear = [];\n for (const row of rows) {\n // If the row isn't an element (e.g. if it's an `ng-container`),\n // it won't have inline styles or `children` so we skip it.\n if (row.nodeType !== row.ELEMENT_NODE) {\n continue;\n }\n elementsToClear.push(row);\n for (let i = 0; i < row.children.length; i++) {\n elementsToClear.push(row.children[i]);\n }\n }\n // Coalesce with sticky row/column updates (and potentially other changes like column resize).\n this._coalescedStyleScheduler.schedule(() => {\n for (const element of elementsToClear) {\n this._removeStickyStyle(element, stickyDirections);\n }\n });\n }\n /**\n * Applies sticky left and right positions to the cells of each row according to the sticky\n * states of the rendered column definitions.\n * @param rows The rows that should have its set of cells stuck according to the sticky states.\n * @param stickyStartStates A list of boolean states where each state represents whether the cell\n * in this index position should be stuck to the start of the row.\n * @param stickyEndStates A list of boolean states where each state represents whether the cell\n * in this index position should be stuck to the end of the row.\n * @param recalculateCellWidths Whether the sticky styler should recalculate the width of each\n * column cell. If `false` cached widths will be used instead.\n */\n updateStickyColumns(rows, stickyStartStates, stickyEndStates, recalculateCellWidths = true) {\n if (!rows.length || !this._isBrowser || !(stickyStartStates.some(state => state) ||\n stickyEndStates.some(state => state))) {\n if (this._positionListener) {\n this._positionListener.stickyColumnsUpdated({ sizes: [] });\n this._positionListener.stickyEndColumnsUpdated({ sizes: [] });\n }\n return;\n }\n const firstRow = rows[0];\n const numCells = firstRow.children.length;\n const cellWidths = this._getCellWidths(firstRow, recalculateCellWidths);\n const startPositions = this._getStickyStartColumnPositions(cellWidths, stickyStartStates);\n const endPositions = this._getStickyEndColumnPositions(cellWidths, stickyEndStates);\n const lastStickyStart = stickyStartStates.lastIndexOf(true);\n const firstStickyEnd = stickyEndStates.indexOf(true);\n // Coalesce with sticky row updates (and potentially other changes like column resize).\n this._coalescedStyleScheduler.schedule(() => {\n const isRtl = this.direction === 'rtl';\n const start = isRtl ? 'right' : 'left';\n const end = isRtl ? 'left' : 'right';\n for (const row of rows) {\n for (let i = 0; i < numCells; i++) {\n const cell = row.children[i];\n if (stickyStartStates[i]) {\n this._addStickyStyle(cell, start, startPositions[i], i === lastStickyStart);\n }\n if (stickyEndStates[i]) {\n this._addStickyStyle(cell, end, endPositions[i], i === firstStickyEnd);\n }\n }\n }\n if (this._positionListener) {\n this._positionListener.stickyColumnsUpdated({\n sizes: lastStickyStart === -1 ?\n [] :\n cellWidths\n .slice(0, lastStickyStart + 1)\n .map((width, index) => stickyStartStates[index] ? width : null)\n });\n this._positionListener.stickyEndColumnsUpdated({\n sizes: firstStickyEnd === -1 ?\n [] :\n cellWidths\n .slice(firstStickyEnd)\n .map((width, index) => stickyEndStates[index + firstStickyEnd] ? width : null)\n .reverse()\n });\n }\n });\n }\n /**\n * Applies sticky positioning to the row's cells if using the native table layout, and to the\n * row itself otherwise.\n * @param rowsToStick The list of rows that should be stuck according to their corresponding\n * sticky state and to the provided top or bottom position.\n * @param stickyStates A list of boolean states where each state represents whether the row\n * should be stuck in the particular top or bottom position.\n * @param position The position direction in which the row should be stuck if that row should be\n * sticky.\n *\n */\n stickRows(rowsToStick, stickyStates, position) {\n // Since we can't measure the rows on the server, we can't stick the rows properly.\n if (!this._isBrowser) {\n return;\n }\n // If positioning the rows to the bottom, reverse their order when evaluating the sticky\n // position such that the last row stuck will be \"bottom: 0px\" and so on. Note that the\n // sticky states need to be reversed as well.\n const rows = position === 'bottom' ? rowsToStick.slice().reverse() : rowsToStick;\n const states = position === 'bottom' ? stickyStates.slice().reverse() : stickyStates;\n // Measure row heights all at once before adding sticky styles to reduce layout thrashing.\n const stickyOffsets = [];\n const stickyCellHeights = [];\n const elementsToStick = [];\n for (let rowIndex = 0, stickyOffset = 0; rowIndex < rows.length; rowIndex++) {\n if (!states[rowIndex]) {\n continue;\n }\n stickyOffsets[rowIndex] = stickyOffset;\n const row = rows[rowIndex];\n elementsToStick[rowIndex] = this._isNativeHtmlTable ?\n Array.from(row.children) : [row];\n const height = row.getBoundingClientRect().height;\n stickyOffset += height;\n stickyCellHeights[rowIndex] = height;\n }\n const borderedRowIndex = states.lastIndexOf(true);\n // Coalesce with other sticky row updates (top/bottom), sticky columns updates\n // (and potentially other changes like column resize).\n this._coalescedStyleScheduler.schedule(() => {\n var _a, _b;\n for (let rowIndex = 0; rowIndex < rows.length; rowIndex++) {\n if (!states[rowIndex]) {\n continue;\n }\n const offset = stickyOffsets[rowIndex];\n const isBorderedRowIndex = rowIndex === borderedRowIndex;\n for (const element of elementsToStick[rowIndex]) {\n this._addStickyStyle(element, position, offset, isBorderedRowIndex);\n }\n }\n if (position === 'top') {\n (_a = this._positionListener) === null || _a === void 0 ? void 0 : _a.stickyHeaderRowsUpdated({ sizes: stickyCellHeights, offsets: stickyOffsets, elements: elementsToStick });\n }\n else {\n (_b = this._positionListener) === null || _b === void 0 ? void 0 : _b.stickyFooterRowsUpdated({ sizes: stickyCellHeights, offsets: stickyOffsets, elements: elementsToStick });\n }\n });\n }\n /**\n * When using the native table in Safari, sticky footer cells do not stick. The only way to stick\n * footer rows is to apply sticky styling to the tfoot container. This should only be done if\n * all footer rows are sticky. If not all footer rows are sticky, remove sticky positioning from\n * the tfoot element.\n */\n updateStickyFooterContainer(tableElement, stickyStates) {\n if (!this._isNativeHtmlTable) {\n return;\n }\n const tfoot = tableElement.querySelector('tfoot');\n // Coalesce with other sticky updates (and potentially other changes like column resize).\n this._coalescedStyleScheduler.schedule(() => {\n if (stickyStates.some(state => !state)) {\n this._removeStickyStyle(tfoot, ['bottom']);\n }\n else {\n this._addStickyStyle(tfoot, 'bottom', 0, false);\n }\n });\n }\n /**\n * Removes the sticky style on the element by removing the sticky cell CSS class, re-evaluating\n * the zIndex, removing each of the provided sticky directions, and removing the\n * sticky position if there are no more directions.\n */\n _removeStickyStyle(element, stickyDirections) {\n for (const dir of stickyDirections) {\n element.style[dir] = '';\n element.classList.remove(this._borderCellCss[dir]);\n }\n // If the element no longer has any more sticky directions, remove sticky positioning and\n // the sticky CSS class.\n // Short-circuit checking element.style[dir] for stickyDirections as they\n // were already removed above.\n const hasDirection = STICKY_DIRECTIONS.some(dir => stickyDirections.indexOf(dir) === -1 && element.style[dir]);\n if (hasDirection) {\n element.style.zIndex = this._getCalculatedZIndex(element);\n }\n else {\n // When not hasDirection, _getCalculatedZIndex will always return ''.\n element.style.zIndex = '';\n if (this._needsPositionStickyOnElement) {\n element.style.position = '';\n }\n element.classList.remove(this._stickCellCss);\n }\n }\n /**\n * Adds the sticky styling to the element by adding the sticky style class, changing position\n * to be sticky (and -webkit-sticky), setting the appropriate zIndex, and adding a sticky\n * direction and value.\n */\n _addStickyStyle(element, dir, dirValue, isBorderElement) {\n element.classList.add(this._stickCellCss);\n if (isBorderElement) {\n element.classList.add(this._borderCellCss[dir]);\n }\n element.style[dir] = `${dirValue}px`;\n element.style.zIndex = this._getCalculatedZIndex(element);\n if (this._needsPositionStickyOnElement) {\n element.style.cssText += 'position: -webkit-sticky; position: sticky; ';\n }\n }\n /**\n * Calculate what the z-index should be for the element, depending on what directions (top,\n * bottom, left, right) have been set. It should be true that elements with a top direction\n * should have the highest index since these are elements like a table header. If any of those\n * elements are also sticky in another direction, then they should appear above other elements\n * that are only sticky top (e.g. a sticky column on a sticky header). Bottom-sticky elements\n * (e.g. footer rows) should then be next in the ordering such that they are below the header\n * but above any non-sticky elements. Finally, left/right sticky elements (e.g. sticky columns)\n * should minimally increment so that they are above non-sticky elements but below top and bottom\n * elements.\n */\n _getCalculatedZIndex(element) {\n const zIndexIncrements = {\n top: 100,\n bottom: 10,\n left: 1,\n right: 1,\n };\n let zIndex = 0;\n // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,\n // loses the array generic type in the `for of`. But we *also* have to use `Array` because\n // typescript won't iterate over an `Iterable` unless you compile with `--downlevelIteration`\n for (const dir of STICKY_DIRECTIONS) {\n if (element.style[dir]) {\n zIndex += zIndexIncrements[dir];\n }\n }\n return zIndex ? `${zIndex}` : '';\n }\n /** Gets the widths for each cell in the provided row. */\n _getCellWidths(row, recalculateCellWidths = true) {\n if (!recalculateCellWidths && this._cachedCellWidths.length) {\n return this._cachedCellWidths;\n }\n const cellWidths = [];\n const firstRowCells = row.children;\n for (let i = 0; i < firstRowCells.length; i++) {\n let cell = firstRowCells[i];\n cellWidths.push(cell.getBoundingClientRect().width);\n }\n this._cachedCellWidths = cellWidths;\n return cellWidths;\n }\n /**\n * Determines the left and right positions of each sticky column cell, which will be the\n * accumulation of all sticky column cell widths to the left and right, respectively.\n * Non-sticky cells do not need to have a value set since their positions will not be applied.\n */\n _getStickyStartColumnPositions(widths, stickyStates) {\n const positions = [];\n let nextPosition = 0;\n for (let i = 0; i < widths.length; i++) {\n if (stickyStates[i]) {\n positions[i] = nextPosition;\n nextPosition += widths[i];\n }\n }\n return positions;\n }\n /**\n * Determines the left and right positions of each sticky column cell, which will be the\n * accumulation of all sticky column cell widths to the left and right, respectively.\n * Non-sticky cells do not need to have a value set since their positions will not be applied.\n */\n _getStickyEndColumnPositions(widths, stickyStates) {\n const positions = [];\n let nextPosition = 0;\n for (let i = widths.length; i > 0; i--) {\n if (stickyStates[i]) {\n positions[i] = nextPosition;\n nextPosition += widths[i];\n }\n }\n return positions;\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 * Returns an error to be thrown when attempting to find an unexisting column.\n * @param id Id whose lookup failed.\n * @docs-private\n */\nfunction getTableUnknownColumnError(id) {\n return Error(`Could not find column with id \"${id}\".`);\n}\n/**\n * Returns an error to be thrown when two column definitions have the same name.\n * @docs-private\n */\nfunction getTableDuplicateColumnNameError(name) {\n return Error(`Duplicate column definition name provided: \"${name}\".`);\n}\n/**\n * Returns an error to be thrown when there are multiple rows that are missing a when function.\n * @docs-private\n */\nfunction getTableMultipleDefaultRowDefsError() {\n return Error(`There can only be one default row without a when predicate function.`);\n}\n/**\n * Returns an error to be thrown when there are no matching row defs for a particular set of data.\n * @docs-private\n */\nfunction getTableMissingMatchingRowDefError(data) {\n return Error(`Could not find a matching row definition for the` +\n `provided row data: ${JSON.stringify(data)}`);\n}\n/**\n * Returns an error to be thrown when there is no row definitions present in the content.\n * @docs-private\n */\nfunction getTableMissingRowDefsError() {\n return Error('Missing definitions for header, footer, and row; ' +\n 'cannot determine which columns should be rendered.');\n}\n/**\n * Returns an error to be thrown when the data source does not match the compatible types.\n * @docs-private\n */\nfunction getTableUnknownDataSourceError() {\n return Error(`Provided data source did not match an array, Observable, or DataSource`);\n}\n/**\n * Returns an error to be thrown when the text column cannot find a parent table to inject.\n * @docs-private\n */\nfunction getTableTextColumnMissingParentTableError() {\n return Error(`Text column could not find a parent table for registration.`);\n}\n/**\n * Returns an error to be thrown when a table text column doesn't have a name.\n * @docs-private\n */\nfunction getTableTextColumnMissingNameError() {\n return Error(`Table text column must have a name.`);\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/** The injection token used to specify the StickyPositioningListener. */\nconst STICKY_POSITIONING_LISTENER = new InjectionToken('CDK_SPL');\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 recycle view repeater strategy, which reduces rendering latency. Not compatible with\n * tables that animate rows.\n */\nclass CdkRecycleRows {\n}\nCdkRecycleRows.ɵfac = function CdkRecycleRows_Factory(t) { return new (t || CdkRecycleRows)(); };\nCdkRecycleRows.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkRecycleRows, selectors: [[\"cdk-table\", \"recycleRows\", \"\"], [\"table\", \"cdk-table\", \"\", \"recycleRows\", \"\"]], features: [ɵngcc0.ɵɵProvidersFeature([\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },\n ])] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkRecycleRows, [{\n type: Directive,\n args: [{\n selector: 'cdk-table[recycleRows], table[cdk-table][recycleRows]',\n providers: [\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },\n ]\n }]\n }], null, null); })();\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert data rows.\n * @docs-private\n */\nclass DataRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nDataRowOutlet.ɵfac = function DataRowOutlet_Factory(t) { return new (t || DataRowOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nDataRowOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: DataRowOutlet, selectors: [[\"\", \"rowOutlet\", \"\"]] });\nDataRowOutlet.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DataRowOutlet, [{\n type: Directive,\n args: [{ selector: '[rowOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert the header.\n * @docs-private\n */\nclass HeaderRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nHeaderRowOutlet.ɵfac = function HeaderRowOutlet_Factory(t) { return new (t || HeaderRowOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nHeaderRowOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: HeaderRowOutlet, selectors: [[\"\", \"headerRowOutlet\", \"\"]] });\nHeaderRowOutlet.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HeaderRowOutlet, [{\n type: Directive,\n args: [{ selector: '[headerRowOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert the footer.\n * @docs-private\n */\nclass FooterRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nFooterRowOutlet.ɵfac = function FooterRowOutlet_Factory(t) { return new (t || FooterRowOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nFooterRowOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: FooterRowOutlet, selectors: [[\"\", \"footerRowOutlet\", \"\"]] });\nFooterRowOutlet.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FooterRowOutlet, [{\n type: Directive,\n args: [{ selector: '[footerRowOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Provides a handle for the table to grab the view\n * container's ng-container to insert the no data row.\n * @docs-private\n */\nclass NoDataRowOutlet {\n constructor(viewContainer, elementRef) {\n this.viewContainer = viewContainer;\n this.elementRef = elementRef;\n }\n}\nNoDataRowOutlet.ɵfac = function NoDataRowOutlet_Factory(t) { return new (t || NoDataRowOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nNoDataRowOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NoDataRowOutlet, selectors: [[\"\", \"noDataRowOutlet\", \"\"]] });\nNoDataRowOutlet.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NoDataRowOutlet, [{\n type: Directive,\n args: [{ selector: '[noDataRowOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * The table template that can be used by the mat-table. Should not be used outside of the\n * material library.\n * @docs-private\n */\nconst CDK_TABLE_TEMPLATE = \n// Note that according to MDN, the `caption` element has to be projected as the **first**\n// element in the table. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption\n`\n \n \n \n \n \n \n`;\n/**\n * Class used to conveniently type the embedded view ref for rows with a context.\n * @docs-private\n */\nclass RowViewRef extends EmbeddedViewRef {\n}\n/**\n * A data table that can render a header row, data rows, and a footer row.\n * Uses the dataSource input to determine the data to be rendered. The data can be provided either\n * as a data array, an Observable stream that emits the data array to render, or a DataSource with a\n * connect function that will return an Observable stream that emits the data array to render.\n */\nclass CdkTable {\n constructor(_differs, _changeDetectorRef, _elementRef, role, _dir, _document, _platform, _viewRepeater, _coalescedStyleScheduler, _viewportRuler, \n /**\n * @deprecated `_stickyPositioningListener` parameter to become required.\n * @breaking-change 13.0.0\n */\n _stickyPositioningListener) {\n this._differs = _differs;\n this._changeDetectorRef = _changeDetectorRef;\n this._elementRef = _elementRef;\n this._dir = _dir;\n this._platform = _platform;\n this._viewRepeater = _viewRepeater;\n this._coalescedStyleScheduler = _coalescedStyleScheduler;\n this._viewportRuler = _viewportRuler;\n this._stickyPositioningListener = _stickyPositioningListener;\n /** Subject that emits when the component has been destroyed. */\n this._onDestroy = new Subject();\n /**\n * Map of all the user's defined columns (header, data, and footer cell template) identified by\n * name. Collection populated by the column definitions gathered by `ContentChildren` as well as\n * any custom column definitions added to `_customColumnDefs`.\n */\n this._columnDefsByName = new Map();\n /**\n * Column definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has\n * column definitions as *its* content child.\n */\n this._customColumnDefs = new Set();\n /**\n * Data row definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has\n * built-in data rows as *its* content child.\n */\n this._customRowDefs = new Set();\n /**\n * Header row definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has\n * built-in header rows as *its* content child.\n */\n this._customHeaderRowDefs = new Set();\n /**\n * Footer row definitions that were defined outside of the direct content children of the table.\n * These will be defined when, e.g., creating a wrapper around the cdkTable that has a\n * built-in footer row as *its* content child.\n */\n this._customFooterRowDefs = new Set();\n /**\n * Whether the header row definition has been changed. Triggers an update to the header row after\n * content is checked. Initialized as true so that the table renders the initial set of rows.\n */\n this._headerRowDefChanged = true;\n /**\n * Whether the footer row definition has been changed. Triggers an update to the footer row after\n * content is checked. Initialized as true so that the table renders the initial set of rows.\n */\n this._footerRowDefChanged = true;\n /**\n * Whether the sticky column styles need to be updated. Set to `true` when the visible columns\n * change.\n */\n this._stickyColumnStylesNeedReset = true;\n /**\n * Whether the sticky styler should recalculate cell widths when applying sticky styles. If\n * `false`, cached values will be used instead. This is only applicable to tables with\n * {@link fixedLayout} enabled. For other tables, cell widths will always be recalculated.\n */\n this._forceRecalculateCellWidths = true;\n /**\n * Cache of the latest rendered `RenderRow` objects as a map for easy retrieval when constructing\n * a new list of `RenderRow` objects for rendering rows. Since the new list is constructed with\n * the cached `RenderRow` objects when possible, the row identity is preserved when the data\n * and row template matches, which allows the `IterableDiffer` to check rows by reference\n * and understand which rows are added/moved/removed.\n *\n * Implemented as a map of maps where the first key is the `data: T` object and the second is the\n * `CdkRowDef` object. With the two keys, the cache points to a `RenderRow` object that\n * contains an array of created pairs. The array is necessary to handle cases where the data\n * array contains multiple duplicate data objects and each instantiated `RenderRow` must be\n * stored.\n */\n this._cachedRenderRowsMap = new Map();\n /**\n * CSS class added to any row or cell that has sticky positioning applied. May be overriden by\n * table subclasses.\n */\n this.stickyCssClass = 'cdk-table-sticky';\n /**\n * Whether to manually add positon: sticky to all sticky cell elements. Not needed if\n * the position is set in a selector associated with the value of stickyCssClass. May be\n * overridden by table subclasses\n */\n this.needsPositionStickyOnElement = true;\n /** Whether the no data row is currently showing anything. */\n this._isShowingNoDataRow = false;\n this._multiTemplateDataRows = false;\n this._fixedLayout = false;\n /**\n * Emits when the table completes rendering a set of data rows based on the latest data from the\n * data source, even if the set of rows is empty.\n */\n this.contentChanged = new EventEmitter();\n // TODO(andrewseguin): Remove max value as the end index\n // and instead calculate the view on init and scroll.\n /**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n *\n * @docs-private\n */\n this.viewChange = new BehaviorSubject({ start: 0, end: Number.MAX_VALUE });\n if (!role) {\n this._elementRef.nativeElement.setAttribute('role', 'table');\n }\n this._document = _document;\n this._isNativeHtmlTable = this._elementRef.nativeElement.nodeName === 'TABLE';\n }\n /**\n * Tracking function that will be used to check the differences in data changes. Used similarly\n * to `ngFor` `trackBy` function. Optimize row operations by identifying a row based on its data\n * relative to the function to know if a row should be added/removed/moved.\n * Accepts a function that takes two parameters, `index` and `item`.\n */\n get trackBy() {\n return this._trackByFn;\n }\n set trackBy(fn) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && fn != null && typeof fn !== 'function') {\n console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}.`);\n }\n this._trackByFn = fn;\n }\n /**\n * The table's source of data, which can be provided in three ways (in order of complexity):\n * - Simple data array (each object represents one table row)\n * - Stream that emits a data array each time the array changes\n * - `DataSource` object that implements the connect/disconnect interface.\n *\n * If a data array is provided, the table must be notified when the array's objects are\n * added, removed, or moved. This can be done by calling the `renderRows()` function which will\n * render the diff since the last table render. If the data array reference is changed, the table\n * will automatically trigger an update to the rows.\n *\n * When providing an Observable stream, the table will trigger an update automatically when the\n * stream emits a new array of data.\n *\n * Finally, when providing a `DataSource` object, the table will use the Observable stream\n * provided by the connect function and trigger updates when that stream emits new data array\n * values. During the table's ngOnDestroy or when the data source is removed from the table, the\n * table will call the DataSource's `disconnect` function (may be useful for cleaning up any\n * subscriptions registered during the connect process).\n */\n get dataSource() {\n return this._dataSource;\n }\n set dataSource(dataSource) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n }\n /**\n * Whether to allow multiple rows per data object by evaluating which rows evaluate their 'when'\n * predicate to true. If `multiTemplateDataRows` is false, which is the default value, then each\n * dataobject will render the first row that evaluates its when predicate to true, in the order\n * defined in the table, or otherwise the default row which does not have a when predicate.\n */\n get multiTemplateDataRows() {\n return this._multiTemplateDataRows;\n }\n set multiTemplateDataRows(v) {\n this._multiTemplateDataRows = coerceBooleanProperty(v);\n // In Ivy if this value is set via a static attribute (e.g.
),\n // this setter will be invoked before the row outlet has been defined hence the null check.\n if (this._rowOutlet && this._rowOutlet.viewContainer.length) {\n this._forceRenderDataRows();\n this.updateStickyColumnStyles();\n }\n }\n /**\n * Whether to use a fixed table layout. Enabling this option will enforce consistent column widths\n * and optimize rendering sticky styles for native tables. No-op for flex tables.\n */\n get fixedLayout() {\n return this._fixedLayout;\n }\n set fixedLayout(v) {\n this._fixedLayout = coerceBooleanProperty(v);\n // Toggling `fixedLayout` may change column widths. Sticky column styles should be recalculated.\n this._forceRecalculateCellWidths = true;\n this._stickyColumnStylesNeedReset = true;\n }\n ngOnInit() {\n this._setupStickyStyler();\n if (this._isNativeHtmlTable) {\n this._applyNativeTableSections();\n }\n // Set up the trackBy function so that it uses the `RenderRow` as its identity by default. If\n // the user has provided a custom trackBy, return the result of that function as evaluated\n // with the values of the `RenderRow`'s data and index.\n this._dataDiffer = this._differs.find([]).create((_i, dataRow) => {\n return this.trackBy ? this.trackBy(dataRow.dataIndex, dataRow.data) : dataRow;\n });\n this._viewportRuler.change().pipe(takeUntil(this._onDestroy)).subscribe(() => {\n this._forceRecalculateCellWidths = true;\n });\n }\n ngAfterContentChecked() {\n // Cache the row and column definitions gathered by ContentChildren and programmatic injection.\n this._cacheRowDefs();\n this._cacheColumnDefs();\n // Make sure that the user has at least added header, footer, or data row def.\n if (!this._headerRowDefs.length && !this._footerRowDefs.length && !this._rowDefs.length &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableMissingRowDefsError();\n }\n // Render updates if the list of columns have been changed for the header, row, or footer defs.\n const columnsChanged = this._renderUpdatedColumns();\n const rowDefsChanged = columnsChanged || this._headerRowDefChanged || this._footerRowDefChanged;\n // Ensure sticky column styles are reset if set to `true` elsewhere.\n this._stickyColumnStylesNeedReset = this._stickyColumnStylesNeedReset || rowDefsChanged;\n this._forceRecalculateCellWidths = rowDefsChanged;\n // If the header row definition has been changed, trigger a render to the header row.\n if (this._headerRowDefChanged) {\n this._forceRenderHeaderRows();\n this._headerRowDefChanged = false;\n }\n // If the footer row definition has been changed, trigger a render to the footer row.\n if (this._footerRowDefChanged) {\n this._forceRenderFooterRows();\n this._footerRowDefChanged = false;\n }\n // If there is a data source and row definitions, connect to the data source unless a\n // connection has already been made.\n if (this.dataSource && this._rowDefs.length > 0 && !this._renderChangeSubscription) {\n this._observeRenderChanges();\n }\n else if (this._stickyColumnStylesNeedReset) {\n // In the above case, _observeRenderChanges will result in updateStickyColumnStyles being\n // called when it row data arrives. Otherwise, we need to call it proactively.\n this.updateStickyColumnStyles();\n }\n this._checkStickyStates();\n }\n ngOnDestroy() {\n this._rowOutlet.viewContainer.clear();\n this._noDataRowOutlet.viewContainer.clear();\n this._headerRowOutlet.viewContainer.clear();\n this._footerRowOutlet.viewContainer.clear();\n this._cachedRenderRowsMap.clear();\n this._onDestroy.next();\n this._onDestroy.complete();\n if (isDataSource(this.dataSource)) {\n this.dataSource.disconnect(this);\n }\n }\n /**\n * Renders rows based on the table's latest set of data, which was either provided directly as an\n * input or retrieved through an Observable stream (directly or from a DataSource).\n * Checks for differences in the data since the last diff to perform only the necessary\n * changes (add/remove/move rows).\n *\n * If the table's data source is a DataSource or Observable, this will be invoked automatically\n * each time the provided Observable stream emits a new data array. Otherwise if your data is\n * an array, this function will need to be called to render any changes.\n */\n renderRows() {\n this._renderRows = this._getAllRenderRows();\n const changes = this._dataDiffer.diff(this._renderRows);\n if (!changes) {\n this._updateNoDataRow();\n this.contentChanged.next();\n return;\n }\n const viewContainer = this._rowOutlet.viewContainer;\n this._viewRepeater.applyChanges(changes, viewContainer, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record.item, currentIndex), (record) => record.item.data, (change) => {\n if (change.operation === 1 /* INSERTED */ && change.context) {\n this._renderCellTemplateForItem(change.record.item.rowDef, change.context);\n }\n });\n // Update the meta context of a row's context data (index, count, first, last, ...)\n this._updateRowIndexContext();\n // Update rows that did not get added/removed/moved but may have had their identity changed,\n // e.g. if trackBy matched data on some property but the actual data reference changed.\n changes.forEachIdentityChange((record) => {\n const rowView = viewContainer.get(record.currentIndex);\n rowView.context.$implicit = record.item.data;\n });\n this._updateNoDataRow();\n this.updateStickyColumnStyles();\n this.contentChanged.next();\n }\n /** Adds a column definition that was not included as part of the content children. */\n addColumnDef(columnDef) {\n this._customColumnDefs.add(columnDef);\n }\n /** Removes a column definition that was not included as part of the content children. */\n removeColumnDef(columnDef) {\n this._customColumnDefs.delete(columnDef);\n }\n /** Adds a row definition that was not included as part of the content children. */\n addRowDef(rowDef) {\n this._customRowDefs.add(rowDef);\n }\n /** Removes a row definition that was not included as part of the content children. */\n removeRowDef(rowDef) {\n this._customRowDefs.delete(rowDef);\n }\n /** Adds a header row definition that was not included as part of the content children. */\n addHeaderRowDef(headerRowDef) {\n this._customHeaderRowDefs.add(headerRowDef);\n this._headerRowDefChanged = true;\n }\n /** Removes a header row definition that was not included as part of the content children. */\n removeHeaderRowDef(headerRowDef) {\n this._customHeaderRowDefs.delete(headerRowDef);\n this._headerRowDefChanged = true;\n }\n /** Adds a footer row definition that was not included as part of the content children. */\n addFooterRowDef(footerRowDef) {\n this._customFooterRowDefs.add(footerRowDef);\n this._footerRowDefChanged = true;\n }\n /** Removes a footer row definition that was not included as part of the content children. */\n removeFooterRowDef(footerRowDef) {\n this._customFooterRowDefs.delete(footerRowDef);\n this._footerRowDefChanged = true;\n }\n /** Sets a no data row definition that was not included as a part of the content children. */\n setNoDataRow(noDataRow) {\n this._customNoDataRow = noDataRow;\n }\n /**\n * Updates the header sticky styles. First resets all applied styles with respect to the cells\n * sticking to the top. Then, evaluating which cells need to be stuck to the top. This is\n * automatically called when the header row changes its displayed set of columns, or if its\n * sticky input changes. May be called manually for cases where the cell content changes outside\n * of these events.\n */\n updateStickyHeaderRowStyles() {\n const headerRows = this._getRenderedRows(this._headerRowOutlet);\n const tableElement = this._elementRef.nativeElement;\n // Hide the thead element if there are no header rows. This is necessary to satisfy\n // overzealous a11y checkers that fail because the `rowgroup` element does not contain\n // required child `row`.\n const thead = tableElement.querySelector('thead');\n if (thead) {\n thead.style.display = headerRows.length ? '' : 'none';\n }\n const stickyStates = this._headerRowDefs.map(def => def.sticky);\n this._stickyStyler.clearStickyPositioning(headerRows, ['top']);\n this._stickyStyler.stickRows(headerRows, stickyStates, 'top');\n // Reset the dirty state of the sticky input change since it has been used.\n this._headerRowDefs.forEach(def => def.resetStickyChanged());\n }\n /**\n * Updates the footer sticky styles. First resets all applied styles with respect to the cells\n * sticking to the bottom. Then, evaluating which cells need to be stuck to the bottom. This is\n * automatically called when the footer row changes its displayed set of columns, or if its\n * sticky input changes. May be called manually for cases where the cell content changes outside\n * of these events.\n */\n updateStickyFooterRowStyles() {\n const footerRows = this._getRenderedRows(this._footerRowOutlet);\n const tableElement = this._elementRef.nativeElement;\n // Hide the tfoot element if there are no footer rows. This is necessary to satisfy\n // overzealous a11y checkers that fail because the `rowgroup` element does not contain\n // required child `row`.\n const tfoot = tableElement.querySelector('tfoot');\n if (tfoot) {\n tfoot.style.display = footerRows.length ? '' : 'none';\n }\n const stickyStates = this._footerRowDefs.map(def => def.sticky);\n this._stickyStyler.clearStickyPositioning(footerRows, ['bottom']);\n this._stickyStyler.stickRows(footerRows, stickyStates, 'bottom');\n this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement, stickyStates);\n // Reset the dirty state of the sticky input change since it has been used.\n this._footerRowDefs.forEach(def => def.resetStickyChanged());\n }\n /**\n * Updates the column sticky styles. First resets all applied styles with respect to the cells\n * sticking to the left and right. Then sticky styles are added for the left and right according\n * to the column definitions for each cell in each row. This is automatically called when\n * the data source provides a new set of data or when a column definition changes its sticky\n * input. May be called manually for cases where the cell content changes outside of these events.\n */\n updateStickyColumnStyles() {\n const headerRows = this._getRenderedRows(this._headerRowOutlet);\n const dataRows = this._getRenderedRows(this._rowOutlet);\n const footerRows = this._getRenderedRows(this._footerRowOutlet);\n // For tables not using a fixed layout, the column widths may change when new rows are rendered.\n // In a table using a fixed layout, row content won't affect column width, so sticky styles\n // don't need to be cleared unless either the sticky column config changes or one of the row\n // defs change.\n if ((this._isNativeHtmlTable && !this._fixedLayout)\n || this._stickyColumnStylesNeedReset) {\n // Clear the left and right positioning from all columns in the table across all rows since\n // sticky columns span across all table sections (header, data, footer)\n this._stickyStyler.clearStickyPositioning([...headerRows, ...dataRows, ...footerRows], ['left', 'right']);\n this._stickyColumnStylesNeedReset = false;\n }\n // Update the sticky styles for each header row depending on the def's sticky state\n headerRows.forEach((headerRow, i) => {\n this._addStickyColumnStyles([headerRow], this._headerRowDefs[i]);\n });\n // Update the sticky styles for each data row depending on its def's sticky state\n this._rowDefs.forEach(rowDef => {\n // Collect all the rows rendered with this row definition.\n const rows = [];\n for (let i = 0; i < dataRows.length; i++) {\n if (this._renderRows[i].rowDef === rowDef) {\n rows.push(dataRows[i]);\n }\n }\n this._addStickyColumnStyles(rows, rowDef);\n });\n // Update the sticky styles for each footer row depending on the def's sticky state\n footerRows.forEach((footerRow, i) => {\n this._addStickyColumnStyles([footerRow], this._footerRowDefs[i]);\n });\n // Reset the dirty state of the sticky input change since it has been used.\n Array.from(this._columnDefsByName.values()).forEach(def => def.resetStickyChanged());\n }\n /**\n * Get the list of RenderRow objects to render according to the current list of data and defined\n * row definitions. If the previous list already contained a particular pair, it should be reused\n * so that the differ equates their references.\n */\n _getAllRenderRows() {\n const renderRows = [];\n // Store the cache and create a new one. Any re-used RenderRow objects will be moved into the\n // new cache while unused ones can be picked up by garbage collection.\n const prevCachedRenderRows = this._cachedRenderRowsMap;\n this._cachedRenderRowsMap = new Map();\n // For each data object, get the list of rows that should be rendered, represented by the\n // respective `RenderRow` object which is the pair of `data` and `CdkRowDef`.\n for (let i = 0; i < this._data.length; i++) {\n let data = this._data[i];\n const renderRowsForData = this._getRenderRowsForData(data, i, prevCachedRenderRows.get(data));\n if (!this._cachedRenderRowsMap.has(data)) {\n this._cachedRenderRowsMap.set(data, new WeakMap());\n }\n for (let j = 0; j < renderRowsForData.length; j++) {\n let renderRow = renderRowsForData[j];\n const cache = this._cachedRenderRowsMap.get(renderRow.data);\n if (cache.has(renderRow.rowDef)) {\n cache.get(renderRow.rowDef).push(renderRow);\n }\n else {\n cache.set(renderRow.rowDef, [renderRow]);\n }\n renderRows.push(renderRow);\n }\n }\n return renderRows;\n }\n /**\n * Gets a list of `RenderRow` for the provided data object and any `CdkRowDef` objects that\n * should be rendered for this data. Reuses the cached RenderRow objects if they match the same\n * `(T, CdkRowDef)` pair.\n */\n _getRenderRowsForData(data, dataIndex, cache) {\n const rowDefs = this._getRowDefs(data, dataIndex);\n return rowDefs.map(rowDef => {\n const cachedRenderRows = (cache && cache.has(rowDef)) ? cache.get(rowDef) : [];\n if (cachedRenderRows.length) {\n const dataRow = cachedRenderRows.shift();\n dataRow.dataIndex = dataIndex;\n return dataRow;\n }\n else {\n return { data, rowDef, dataIndex };\n }\n });\n }\n /** Update the map containing the content's column definitions. */\n _cacheColumnDefs() {\n this._columnDefsByName.clear();\n const columnDefs = mergeArrayAndSet(this._getOwnDefs(this._contentColumnDefs), this._customColumnDefs);\n columnDefs.forEach(columnDef => {\n if (this._columnDefsByName.has(columnDef.name) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableDuplicateColumnNameError(columnDef.name);\n }\n this._columnDefsByName.set(columnDef.name, columnDef);\n });\n }\n /** Update the list of all available row definitions that can be used. */\n _cacheRowDefs() {\n this._headerRowDefs = mergeArrayAndSet(this._getOwnDefs(this._contentHeaderRowDefs), this._customHeaderRowDefs);\n this._footerRowDefs = mergeArrayAndSet(this._getOwnDefs(this._contentFooterRowDefs), this._customFooterRowDefs);\n this._rowDefs = mergeArrayAndSet(this._getOwnDefs(this._contentRowDefs), this._customRowDefs);\n // After all row definitions are determined, find the row definition to be considered default.\n const defaultRowDefs = this._rowDefs.filter(def => !def.when);\n if (!this.multiTemplateDataRows && defaultRowDefs.length > 1 &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableMultipleDefaultRowDefsError();\n }\n this._defaultRowDef = defaultRowDefs[0];\n }\n /**\n * Check if the header, data, or footer rows have changed what columns they want to display or\n * whether the sticky states have changed for the header or footer. If there is a diff, then\n * re-render that section.\n */\n _renderUpdatedColumns() {\n const columnsDiffReducer = (acc, def) => acc || !!def.getColumnsDiff();\n // Force re-render data rows if the list of column definitions have changed.\n const dataColumnsChanged = this._rowDefs.reduce(columnsDiffReducer, false);\n if (dataColumnsChanged) {\n this._forceRenderDataRows();\n }\n // Force re-render header/footer rows if the list of column definitions have changed.\n const headerColumnsChanged = this._headerRowDefs.reduce(columnsDiffReducer, false);\n if (headerColumnsChanged) {\n this._forceRenderHeaderRows();\n }\n const footerColumnsChanged = this._footerRowDefs.reduce(columnsDiffReducer, false);\n if (footerColumnsChanged) {\n this._forceRenderFooterRows();\n }\n return dataColumnsChanged || headerColumnsChanged || footerColumnsChanged;\n }\n /**\n * Switch to the provided data source by resetting the data and unsubscribing from the current\n * render change subscription if one exists. If the data source is null, interpret this by\n * clearing the row outlet. Otherwise start listening for new data.\n */\n _switchDataSource(dataSource) {\n this._data = [];\n if (isDataSource(this.dataSource)) {\n this.dataSource.disconnect(this);\n }\n // Stop listening for data from the previous data source.\n if (this._renderChangeSubscription) {\n this._renderChangeSubscription.unsubscribe();\n this._renderChangeSubscription = null;\n }\n if (!dataSource) {\n if (this._dataDiffer) {\n this._dataDiffer.diff([]);\n }\n this._rowOutlet.viewContainer.clear();\n }\n this._dataSource = dataSource;\n }\n /** Set up a subscription for the data provided by the data source. */\n _observeRenderChanges() {\n // If no data source has been set, there is nothing to observe for changes.\n if (!this.dataSource) {\n return;\n }\n let dataStream;\n if (isDataSource(this.dataSource)) {\n dataStream = this.dataSource.connect(this);\n }\n else if (isObservable(this.dataSource)) {\n dataStream = this.dataSource;\n }\n else if (Array.isArray(this.dataSource)) {\n dataStream = of(this.dataSource);\n }\n if (dataStream === undefined && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableUnknownDataSourceError();\n }\n this._renderChangeSubscription = dataStream.pipe(takeUntil(this._onDestroy))\n .subscribe(data => {\n this._data = data || [];\n this.renderRows();\n });\n }\n /**\n * Clears any existing content in the header row outlet and creates a new embedded view\n * in the outlet using the header row definition.\n */\n _forceRenderHeaderRows() {\n // Clear the header row outlet if any content exists.\n if (this._headerRowOutlet.viewContainer.length > 0) {\n this._headerRowOutlet.viewContainer.clear();\n }\n this._headerRowDefs.forEach((def, i) => this._renderRow(this._headerRowOutlet, def, i));\n this.updateStickyHeaderRowStyles();\n }\n /**\n * Clears any existing content in the footer row outlet and creates a new embedded view\n * in the outlet using the footer row definition.\n */\n _forceRenderFooterRows() {\n // Clear the footer row outlet if any content exists.\n if (this._footerRowOutlet.viewContainer.length > 0) {\n this._footerRowOutlet.viewContainer.clear();\n }\n this._footerRowDefs.forEach((def, i) => this._renderRow(this._footerRowOutlet, def, i));\n this.updateStickyFooterRowStyles();\n }\n /** Adds the sticky column styles for the rows according to the columns' stick states. */\n _addStickyColumnStyles(rows, rowDef) {\n const columnDefs = Array.from(rowDef.columns || []).map(columnName => {\n const columnDef = this._columnDefsByName.get(columnName);\n if (!columnDef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableUnknownColumnError(columnName);\n }\n return columnDef;\n });\n const stickyStartStates = columnDefs.map(columnDef => columnDef.sticky);\n const stickyEndStates = columnDefs.map(columnDef => columnDef.stickyEnd);\n this._stickyStyler.updateStickyColumns(rows, stickyStartStates, stickyEndStates, !this._fixedLayout || this._forceRecalculateCellWidths);\n }\n /** Gets the list of rows that have been rendered in the row outlet. */\n _getRenderedRows(rowOutlet) {\n const renderedRows = [];\n for (let i = 0; i < rowOutlet.viewContainer.length; i++) {\n const viewRef = rowOutlet.viewContainer.get(i);\n renderedRows.push(viewRef.rootNodes[0]);\n }\n return renderedRows;\n }\n /**\n * Get the matching row definitions that should be used for this row data. If there is only\n * one row definition, it is returned. Otherwise, find the row definitions that has a when\n * predicate that returns true with the data. If none return true, return the default row\n * definition.\n */\n _getRowDefs(data, dataIndex) {\n if (this._rowDefs.length == 1) {\n return [this._rowDefs[0]];\n }\n let rowDefs = [];\n if (this.multiTemplateDataRows) {\n rowDefs = this._rowDefs.filter(def => !def.when || def.when(dataIndex, data));\n }\n else {\n let rowDef = this._rowDefs.find(def => def.when && def.when(dataIndex, data)) || this._defaultRowDef;\n if (rowDef) {\n rowDefs.push(rowDef);\n }\n }\n if (!rowDefs.length && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableMissingMatchingRowDefError(data);\n }\n return rowDefs;\n }\n _getEmbeddedViewArgs(renderRow, index) {\n const rowDef = renderRow.rowDef;\n const context = { $implicit: renderRow.data };\n return {\n templateRef: rowDef.template,\n context,\n index,\n };\n }\n /**\n * Creates a new row template in the outlet and fills it with the set of cell templates.\n * Optionally takes a context to provide to the row and cells, as well as an optional index\n * of where to place the new row template in the outlet.\n */\n _renderRow(outlet, rowDef, index, context = {}) {\n // TODO(andrewseguin): enforce that one outlet was instantiated from createEmbeddedView\n const view = outlet.viewContainer.createEmbeddedView(rowDef.template, context, index);\n this._renderCellTemplateForItem(rowDef, context);\n return view;\n }\n _renderCellTemplateForItem(rowDef, context) {\n for (let cellTemplate of this._getCellTemplates(rowDef)) {\n if (CdkCellOutlet.mostRecentCellOutlet) {\n CdkCellOutlet.mostRecentCellOutlet._viewContainer.createEmbeddedView(cellTemplate, context);\n }\n }\n this._changeDetectorRef.markForCheck();\n }\n /**\n * Updates the index-related context for each row to reflect any changes in the index of the rows,\n * e.g. first/last/even/odd.\n */\n _updateRowIndexContext() {\n const viewContainer = this._rowOutlet.viewContainer;\n for (let renderIndex = 0, count = viewContainer.length; renderIndex < count; renderIndex++) {\n const viewRef = viewContainer.get(renderIndex);\n const context = viewRef.context;\n context.count = count;\n context.first = renderIndex === 0;\n context.last = renderIndex === count - 1;\n context.even = renderIndex % 2 === 0;\n context.odd = !context.even;\n if (this.multiTemplateDataRows) {\n context.dataIndex = this._renderRows[renderIndex].dataIndex;\n context.renderIndex = renderIndex;\n }\n else {\n context.index = this._renderRows[renderIndex].dataIndex;\n }\n }\n }\n /** Gets the column definitions for the provided row def. */\n _getCellTemplates(rowDef) {\n if (!rowDef || !rowDef.columns) {\n return [];\n }\n return Array.from(rowDef.columns, columnId => {\n const column = this._columnDefsByName.get(columnId);\n if (!column && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableUnknownColumnError(columnId);\n }\n return rowDef.extractCellTemplate(column);\n });\n }\n /** Adds native table sections (e.g. tbody) and moves the row outlets into them. */\n _applyNativeTableSections() {\n const documentFragment = this._document.createDocumentFragment();\n const sections = [\n { tag: 'thead', outlets: [this._headerRowOutlet] },\n { tag: 'tbody', outlets: [this._rowOutlet, this._noDataRowOutlet] },\n { tag: 'tfoot', outlets: [this._footerRowOutlet] },\n ];\n for (const section of sections) {\n const element = this._document.createElement(section.tag);\n element.setAttribute('role', 'rowgroup');\n for (const outlet of section.outlets) {\n element.appendChild(outlet.elementRef.nativeElement);\n }\n documentFragment.appendChild(element);\n }\n // Use a DocumentFragment so we don't hit the DOM on each iteration.\n this._elementRef.nativeElement.appendChild(documentFragment);\n }\n /**\n * Forces a re-render of the data rows. Should be called in cases where there has been an input\n * change that affects the evaluation of which rows should be rendered, e.g. toggling\n * `multiTemplateDataRows` or adding/removing row definitions.\n */\n _forceRenderDataRows() {\n this._dataDiffer.diff([]);\n this._rowOutlet.viewContainer.clear();\n this.renderRows();\n }\n /**\n * Checks if there has been a change in sticky states since last check and applies the correct\n * sticky styles. Since checking resets the \"dirty\" state, this should only be performed once\n * during a change detection and after the inputs are settled (after content check).\n */\n _checkStickyStates() {\n const stickyCheckReducer = (acc, d) => {\n return acc || d.hasStickyChanged();\n };\n // Note that the check needs to occur for every definition since it notifies the definition\n // that it can reset its dirty state. Using another operator like `some` may short-circuit\n // remaining definitions and leave them in an unchecked state.\n if (this._headerRowDefs.reduce(stickyCheckReducer, false)) {\n this.updateStickyHeaderRowStyles();\n }\n if (this._footerRowDefs.reduce(stickyCheckReducer, false)) {\n this.updateStickyFooterRowStyles();\n }\n if (Array.from(this._columnDefsByName.values()).reduce(stickyCheckReducer, false)) {\n this._stickyColumnStylesNeedReset = true;\n this.updateStickyColumnStyles();\n }\n }\n /**\n * Creates the sticky styler that will be used for sticky rows and columns. Listens\n * for directionality changes and provides the latest direction to the styler. Re-applies column\n * stickiness when directionality changes.\n */\n _setupStickyStyler() {\n const direction = this._dir ? this._dir.value : 'ltr';\n this._stickyStyler = new StickyStyler(this._isNativeHtmlTable, this.stickyCssClass, direction, this._coalescedStyleScheduler, this._platform.isBrowser, this.needsPositionStickyOnElement, this._stickyPositioningListener);\n (this._dir ? this._dir.change : of())\n .pipe(takeUntil(this._onDestroy))\n .subscribe(value => {\n this._stickyStyler.direction = value;\n this.updateStickyColumnStyles();\n });\n }\n /** Filters definitions that belong to this table from a QueryList. */\n _getOwnDefs(items) {\n return items.filter(item => !item._table || item._table === this);\n }\n /** Creates or removes the no data row, depending on whether any data is being shown. */\n _updateNoDataRow() {\n const noDataRow = this._customNoDataRow || this._noDataRow;\n if (noDataRow) {\n const shouldShow = this._rowOutlet.viewContainer.length === 0;\n if (shouldShow !== this._isShowingNoDataRow) {\n const container = this._noDataRowOutlet.viewContainer;\n shouldShow ? container.createEmbeddedView(noDataRow.templateRef) : container.clear();\n this._isShowingNoDataRow = shouldShow;\n }\n }\n }\n}\nCdkTable.ɵfac = function CdkTable_Factory(t) { return new (t || CdkTable)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵinjectAttribute('role'), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(DOCUMENT), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Platform), ɵngcc0.ɵɵdirectiveInject(_VIEW_REPEATER_STRATEGY), ɵngcc0.ɵɵdirectiveInject(_COALESCED_STYLE_SCHEDULER), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.ViewportRuler), ɵngcc0.ɵɵdirectiveInject(STICKY_POSITIONING_LISTENER, 12)); };\nCdkTable.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CdkTable, selectors: [[\"cdk-table\"], [\"table\", \"cdk-table\", \"\"]], contentQueries: function CdkTable_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkNoDataRow, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkColumnDef, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkRowDef, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkHeaderRowDef, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, CdkFooterRowDef, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._noDataRow = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentColumnDefs = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentRowDefs = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentHeaderRowDefs = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentFooterRowDefs = _t);\n } }, viewQuery: function CdkTable_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(DataRowOutlet, 7);\n ɵngcc0.ɵɵviewQuery(HeaderRowOutlet, 7);\n ɵngcc0.ɵɵviewQuery(FooterRowOutlet, 7);\n ɵngcc0.ɵɵviewQuery(NoDataRowOutlet, 7);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._rowOutlet = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._headerRowOutlet = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._footerRowOutlet = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._noDataRowOutlet = _t.first);\n } }, hostAttrs: [1, \"cdk-table\"], hostVars: 2, hostBindings: function CdkTable_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"cdk-table-fixed-layout\", ctx.fixedLayout);\n } }, inputs: { trackBy: \"trackBy\", dataSource: \"dataSource\", multiTemplateDataRows: \"multiTemplateDataRows\", fixedLayout: \"fixedLayout\" }, outputs: { contentChanged: \"contentChanged\" }, exportAs: [\"cdkTable\"], features: [ɵngcc0.ɵɵProvidersFeature([\n { provide: CDK_TABLE, useExisting: CdkTable },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ])], ngContentSelectors: _c1, decls: 6, vars: 0, consts: [[\"headerRowOutlet\", \"\"], [\"rowOutlet\", \"\"], [\"noDataRowOutlet\", \"\"], [\"footerRowOutlet\", \"\"]], template: function CdkTable_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef(_c0);\n ɵngcc0.ɵɵprojection(0);\n ɵngcc0.ɵɵprojection(1, 1);\n ɵngcc0.ɵɵelementContainer(2, 0);\n ɵngcc0.ɵɵelementContainer(3, 1);\n ɵngcc0.ɵɵelementContainer(4, 2);\n ɵngcc0.ɵɵelementContainer(5, 3);\n } }, directives: [HeaderRowOutlet, DataRowOutlet, NoDataRowOutlet, FooterRowOutlet], styles: [\".cdk-table-fixed-layout{table-layout:fixed}\\n\"], encapsulation: 2 });\nCdkTable.ctorParameters = () => [\n { type: IterableDiffers },\n { type: ChangeDetectorRef },\n { type: ElementRef },\n { type: String, decorators: [{ type: Attribute, args: ['role',] }] },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform },\n { type: undefined, decorators: [{ type: Inject, args: [_VIEW_REPEATER_STRATEGY,] }] },\n { type: _CoalescedStyleScheduler, decorators: [{ type: Inject, args: [_COALESCED_STYLE_SCHEDULER,] }] },\n { type: ViewportRuler },\n { type: undefined, decorators: [{ type: Optional }, { type: SkipSelf }, { type: Inject, args: [STICKY_POSITIONING_LISTENER,] }] }\n];\nCdkTable.propDecorators = {\n trackBy: [{ type: Input }],\n dataSource: [{ type: Input }],\n multiTemplateDataRows: [{ type: Input }],\n fixedLayout: [{ type: Input }],\n contentChanged: [{ type: Output }],\n _rowOutlet: [{ type: ViewChild, args: [DataRowOutlet, { static: true },] }],\n _headerRowOutlet: [{ type: ViewChild, args: [HeaderRowOutlet, { static: true },] }],\n _footerRowOutlet: [{ type: ViewChild, args: [FooterRowOutlet, { static: true },] }],\n _noDataRowOutlet: [{ type: ViewChild, args: [NoDataRowOutlet, { static: true },] }],\n _contentColumnDefs: [{ type: ContentChildren, args: [CdkColumnDef, { descendants: true },] }],\n _contentRowDefs: [{ type: ContentChildren, args: [CdkRowDef, { descendants: true },] }],\n _contentHeaderRowDefs: [{ type: ContentChildren, args: [CdkHeaderRowDef, {\n descendants: true\n },] }],\n _contentFooterRowDefs: [{ type: ContentChildren, args: [CdkFooterRowDef, {\n descendants: true\n },] }],\n _noDataRow: [{ type: ContentChild, args: [CdkNoDataRow,] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTable, [{\n type: Component,\n args: [{\n selector: 'cdk-table, table[cdk-table]',\n exportAs: 'cdkTable',\n template: CDK_TABLE_TEMPLATE,\n host: {\n 'class': 'cdk-table',\n '[class.cdk-table-fixed-layout]': 'fixedLayout'\n },\n encapsulation: ViewEncapsulation.None,\n // The \"OnPush\" status for the `MatTable` component is effectively a noop, so we are removing it.\n // The view for `MatTable` consists entirely of templates declared in other views. As they are\n // declared elsewhere, they are checked when their declaration points are checked.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [\n { provide: CDK_TABLE, useExisting: CdkTable },\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n { provide: STICKY_POSITIONING_LISTENER, useValue: null },\n ],\n styles: [\".cdk-table-fixed-layout{table-layout:fixed}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.IterableDiffers }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ElementRef }, { type: String, decorators: [{\n type: Attribute,\n args: ['role']\n }] }, { type: ɵngcc1.Directionality, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }, { type: undefined, decorators: [{\n type: Inject,\n args: [_VIEW_REPEATER_STRATEGY]\n }] }, { type: _CoalescedStyleScheduler, decorators: [{\n type: Inject,\n args: [_COALESCED_STYLE_SCHEDULER]\n }] }, { type: ɵngcc3.ViewportRuler }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }, {\n type: Inject,\n args: [STICKY_POSITIONING_LISTENER]\n }] }]; }, { contentChanged: [{\n type: Output\n }], trackBy: [{\n type: Input\n }], dataSource: [{\n type: Input\n }], multiTemplateDataRows: [{\n type: Input\n }], fixedLayout: [{\n type: Input\n }], _rowOutlet: [{\n type: ViewChild,\n args: [DataRowOutlet, { static: true }]\n }], _headerRowOutlet: [{\n type: ViewChild,\n args: [HeaderRowOutlet, { static: true }]\n }], _footerRowOutlet: [{\n type: ViewChild,\n args: [FooterRowOutlet, { static: true }]\n }], _noDataRowOutlet: [{\n type: ViewChild,\n args: [NoDataRowOutlet, { static: true }]\n }], _contentColumnDefs: [{\n type: ContentChildren,\n args: [CdkColumnDef, { descendants: true }]\n }], _contentRowDefs: [{\n type: ContentChildren,\n args: [CdkRowDef, { descendants: true }]\n }], _contentHeaderRowDefs: [{\n type: ContentChildren,\n args: [CdkHeaderRowDef, {\n descendants: true\n }]\n }], _contentFooterRowDefs: [{\n type: ContentChildren,\n args: [CdkFooterRowDef, {\n descendants: true\n }]\n }], _noDataRow: [{\n type: ContentChild,\n args: [CdkNoDataRow]\n }] }); })();\n/** Utility function that gets a merged list of the entries in an array and values of a Set. */\nfunction mergeArrayAndSet(array, set) {\n return array.concat(Array.from(set));\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 * Column that simply shows text content for the header and row cells. Assumes that the table\n * is using the native table implementation (`
`).\n *\n * By default, the name of this column will be the header text and data property accessor.\n * The header text can be overridden with the `headerText` input. Cell values can be overridden with\n * the `dataAccessor` input. Change the text justification to the start or end using the `justify`\n * input.\n */\nclass CdkTextColumn {\n constructor(\n // `CdkTextColumn` is always requiring a table, but we just assert it manually\n // for better error reporting.\n // tslint:disable-next-line: lightweight-tokens\n _table, _options) {\n this._table = _table;\n this._options = _options;\n /** Alignment of the cell values. */\n this.justify = 'start';\n this._options = _options || {};\n }\n /** Column name that should be used to reference this column. */\n get name() {\n return this._name;\n }\n set name(name) {\n this._name = name;\n // With Ivy, inputs can be initialized before static query results are\n // available. In that case, we defer the synchronization until \"ngOnInit\" fires.\n this._syncColumnDefName();\n }\n ngOnInit() {\n this._syncColumnDefName();\n if (this.headerText === undefined) {\n this.headerText = this._createDefaultHeaderText();\n }\n if (!this.dataAccessor) {\n this.dataAccessor =\n this._options.defaultDataAccessor || ((data, name) => data[name]);\n }\n if (this._table) {\n // Provide the cell and headerCell directly to the table with the static `ViewChild` query,\n // since the columnDef will not pick up its content by the time the table finishes checking\n // its content and initializing the rows.\n this.columnDef.cell = this.cell;\n this.columnDef.headerCell = this.headerCell;\n this._table.addColumnDef(this.columnDef);\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw getTableTextColumnMissingParentTableError();\n }\n }\n ngOnDestroy() {\n if (this._table) {\n this._table.removeColumnDef(this.columnDef);\n }\n }\n /**\n * Creates a default header text. Use the options' header text transformation function if one\n * has been provided. Otherwise simply capitalize the column name.\n */\n _createDefaultHeaderText() {\n const name = this.name;\n if (!name && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTableTextColumnMissingNameError();\n }\n if (this._options && this._options.defaultHeaderTextTransform) {\n return this._options.defaultHeaderTextTransform(name);\n }\n return name[0].toUpperCase() + name.slice(1);\n }\n /** Synchronizes the column definition name with the text column name. */\n _syncColumnDefName() {\n if (this.columnDef) {\n this.columnDef.name = this.name;\n }\n }\n}\nCdkTextColumn.ɵfac = function CdkTextColumn_Factory(t) { return new (t || CdkTextColumn)(ɵngcc0.ɵɵdirectiveInject(CdkTable, 8), ɵngcc0.ɵɵdirectiveInject(TEXT_COLUMN_OPTIONS, 8)); };\nCdkTextColumn.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CdkTextColumn, selectors: [[\"cdk-text-column\"]], viewQuery: function CdkTextColumn_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(CdkColumnDef, 7);\n ɵngcc0.ɵɵviewQuery(CdkCellDef, 7);\n ɵngcc0.ɵɵviewQuery(CdkHeaderCellDef, 7);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.columnDef = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.cell = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.headerCell = _t.first);\n } }, inputs: { justify: \"justify\", name: \"name\", headerText: \"headerText\", dataAccessor: \"dataAccessor\" }, decls: 3, vars: 0, consts: [[\"cdkColumnDef\", \"\"], [\"cdk-header-cell\", \"\", 3, \"text-align\", 4, \"cdkHeaderCellDef\"], [\"cdk-cell\", \"\", 3, \"text-align\", 4, \"cdkCellDef\"], [\"cdk-header-cell\", \"\"], [\"cdk-cell\", \"\"]], template: function CdkTextColumn_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0, 0);\n ɵngcc0.ɵɵtemplate(1, CdkTextColumn_th_1_Template, 2, 3, \"th\", 1);\n ɵngcc0.ɵɵtemplate(2, CdkTextColumn_td_2_Template, 2, 3, \"td\", 2);\n ɵngcc0.ɵɵelementContainerEnd();\n } }, directives: [CdkColumnDef, CdkHeaderCellDef, CdkCellDef, CdkHeaderCell, CdkCell], encapsulation: 2 });\nCdkTextColumn.ctorParameters = () => [\n { type: CdkTable, decorators: [{ type: Optional }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [TEXT_COLUMN_OPTIONS,] }] }\n];\nCdkTextColumn.propDecorators = {\n name: [{ type: Input }],\n headerText: [{ type: Input }],\n dataAccessor: [{ type: Input }],\n justify: [{ type: Input }],\n columnDef: [{ type: ViewChild, args: [CdkColumnDef, { static: true },] }],\n cell: [{ type: ViewChild, args: [CdkCellDef, { static: true },] }],\n headerCell: [{ type: ViewChild, args: [CdkHeaderCellDef, { static: true },] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTextColumn, [{\n type: Component,\n args: [{\n selector: 'cdk-text-column',\n template: `\n \n \n \n \n `,\n encapsulation: ViewEncapsulation.None,\n // Change detection is intentionally not set to OnPush. This component's template will be provided\n // to the table to be inserted into its view. This is problematic when change detection runs since\n // the bindings in this template will be evaluated _after_ the table's view is evaluated, which\n // mean's the template in the table's view will not have the updated value (and in fact will cause\n // an ExpressionChangedAfterItHasBeenCheckedError).\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default\n }]\n }], function () { return [{ type: CdkTable, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [TEXT_COLUMN_OPTIONS]\n }] }]; }, { justify: [{\n type: Input\n }], name: [{\n type: Input\n }], headerText: [{\n type: Input\n }], dataAccessor: [{\n type: Input\n }], columnDef: [{\n type: ViewChild,\n args: [CdkColumnDef, { static: true }]\n }], cell: [{\n type: ViewChild,\n args: [CdkCellDef, { static: true }]\n }], headerCell: [{\n type: ViewChild,\n args: [CdkHeaderCellDef, { static: true }]\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 EXPORTED_DECLARATIONS = [\n CdkTable,\n CdkRowDef,\n CdkCellDef,\n CdkCellOutlet,\n CdkHeaderCellDef,\n CdkFooterCellDef,\n CdkColumnDef,\n CdkCell,\n CdkRow,\n CdkHeaderCell,\n CdkFooterCell,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkFooterRow,\n CdkFooterRowDef,\n DataRowOutlet,\n HeaderRowOutlet,\n FooterRowOutlet,\n CdkTextColumn,\n CdkNoDataRow,\n CdkRecycleRows,\n NoDataRowOutlet,\n];\nclass CdkTableModule {\n}\nCdkTableModule.ɵfac = function CdkTableModule_Factory(t) { return new (t || CdkTableModule)(); };\nCdkTableModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CdkTableModule });\nCdkTableModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[ScrollingModule]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTableModule, [{\n type: NgModule,\n args: [{\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n imports: [ScrollingModule]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CdkTableModule, { declarations: function () { return [CdkTable, CdkRowDef, CdkCellDef, CdkCellOutlet, CdkHeaderCellDef, CdkFooterCellDef, CdkColumnDef, CdkCell, CdkRow, CdkHeaderCell, CdkFooterCell, CdkHeaderRow, CdkHeaderRowDef, CdkFooterRow, CdkFooterRowDef, DataRowOutlet, HeaderRowOutlet, FooterRowOutlet, CdkTextColumn, CdkNoDataRow, CdkRecycleRows, NoDataRowOutlet]; }, imports: function () { return [ScrollingModule]; }, exports: function () { return [CdkTable, CdkRowDef, CdkCellDef, CdkCellOutlet, CdkHeaderCellDef, CdkFooterCellDef, CdkColumnDef, CdkCell, CdkRow, CdkHeaderCell, CdkFooterCell, CdkHeaderRow, CdkHeaderRowDef, CdkFooterRow, CdkFooterRowDef, DataRowOutlet, HeaderRowOutlet, FooterRowOutlet, CdkTextColumn, CdkNoDataRow, CdkRecycleRows, NoDataRowOutlet]; } }); })();\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 { BaseCdkCell, BaseRowDef, CDK_ROW_TEMPLATE, CDK_TABLE, CDK_TABLE_TEMPLATE, CdkCell, CdkCellDef, CdkCellOutlet, CdkColumnDef, CdkFooterCell, CdkFooterCellDef, CdkFooterRow, CdkFooterRowDef, CdkHeaderCell, CdkHeaderCellDef, CdkHeaderRow, CdkHeaderRowDef, CdkNoDataRow, CdkRecycleRows, CdkRow, CdkRowDef, CdkTable, CdkTableModule, CdkTextColumn, DataRowOutlet, FooterRowOutlet, HeaderRowOutlet, NoDataRowOutlet, STICKY_DIRECTIONS, STICKY_POSITIONING_LISTENER, StickyStyler, TEXT_COLUMN_OPTIONS, _COALESCED_STYLE_SCHEDULER, _CoalescedStyleScheduler, _Schedule, mixinHasStickyInput };\n\n","import * as i1 from '@angular/cdk/platform';\nimport { normalizePassiveListenerOptions, Platform, PlatformModule } from '@angular/cdk/platform';\nimport * as i0 from '@angular/core';\nimport { Injectable, NgZone, EventEmitter, Directive, ElementRef, Output, Optional, Inject, Input, HostListener, NgModule } from '@angular/core';\nimport { coerceElement, coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EMPTY, Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\nimport { DOCUMENT } from '@angular/common';\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/** Options to pass to the animationstart listener. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nconst listenerOptions = normalizePassiveListenerOptions({ passive: true });\n/**\n * An injectable service that can be used to monitor the autofill state of an input.\n * Based on the following blog post:\n * https://medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7\n */\nclass AutofillMonitor {\n constructor(_platform, _ngZone) {\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._monitoredElements = new Map();\n }\n monitor(elementOrRef) {\n if (!this._platform.isBrowser) {\n return EMPTY;\n }\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n if (info) {\n return info.subject;\n }\n const result = new Subject();\n const cssClass = 'cdk-text-field-autofilled';\n const listener = ((event) => {\n // Animation events fire on initial element render, we check for the presence of the autofill\n // CSS class to make sure this is a real change in state, not just the initial render before\n // we fire off events.\n if (event.animationName === 'cdk-text-field-autofill-start' &&\n !element.classList.contains(cssClass)) {\n element.classList.add(cssClass);\n this._ngZone.run(() => result.next({ target: event.target, isAutofilled: true }));\n }\n else if (event.animationName === 'cdk-text-field-autofill-end' &&\n element.classList.contains(cssClass)) {\n element.classList.remove(cssClass);\n this._ngZone.run(() => result.next({ target: event.target, isAutofilled: false }));\n }\n });\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener('animationstart', listener, listenerOptions);\n element.classList.add('cdk-text-field-autofill-monitored');\n });\n this._monitoredElements.set(element, {\n subject: result,\n unlisten: () => {\n element.removeEventListener('animationstart', listener, listenerOptions);\n }\n });\n return result;\n }\n stopMonitoring(elementOrRef) {\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n if (info) {\n info.unlisten();\n info.subject.complete();\n element.classList.remove('cdk-text-field-autofill-monitored');\n element.classList.remove('cdk-text-field-autofilled');\n this._monitoredElements.delete(element);\n }\n }\n ngOnDestroy() {\n this._monitoredElements.forEach((_info, element) => this.stopMonitoring(element));\n }\n}\nAutofillMonitor.ɵfac = function AutofillMonitor_Factory(t) { return new (t || AutofillMonitor)(ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(ɵngcc0.NgZone)); };\nAutofillMonitor.ɵprov = i0.ɵɵdefineInjectable({ factory: function AutofillMonitor_Factory() { return new AutofillMonitor(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i0.NgZone)); }, token: AutofillMonitor, providedIn: \"root\" });\nAutofillMonitor.ctorParameters = () => [\n { type: Platform },\n { type: NgZone }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AutofillMonitor, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }, { type: ɵngcc0.NgZone }]; }, null); })();\n/** A directive that can be used to monitor the autofill state of an input. */\nclass CdkAutofill {\n constructor(_elementRef, _autofillMonitor) {\n this._elementRef = _elementRef;\n this._autofillMonitor = _autofillMonitor;\n /** Emits when the autofill state of the element changes. */\n this.cdkAutofill = new EventEmitter();\n }\n ngOnInit() {\n this._autofillMonitor\n .monitor(this._elementRef)\n .subscribe(event => this.cdkAutofill.emit(event));\n }\n ngOnDestroy() {\n this._autofillMonitor.stopMonitoring(this._elementRef);\n }\n}\nCdkAutofill.ɵfac = function CdkAutofill_Factory(t) { return new (t || CdkAutofill)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(AutofillMonitor)); };\nCdkAutofill.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkAutofill, selectors: [[\"\", \"cdkAutofill\", \"\"]], outputs: { cdkAutofill: \"cdkAutofill\" } });\nCdkAutofill.ctorParameters = () => [\n { type: ElementRef },\n { type: AutofillMonitor }\n];\nCdkAutofill.propDecorators = {\n cdkAutofill: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkAutofill, [{\n type: Directive,\n args: [{\n selector: '[cdkAutofill]'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: AutofillMonitor }]; }, { cdkAutofill: [{\n type: Output\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/** Directive to automatically resize a textarea to fit its content. */\nclass CdkTextareaAutosize {\n constructor(_elementRef, _platform, _ngZone, \n /** @breaking-change 11.0.0 make document required */\n document) {\n this._elementRef = _elementRef;\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._destroyed = new Subject();\n this._enabled = true;\n /**\n * Value of minRows as of last resize. If the minRows has decreased, the\n * height of the textarea needs to be recomputed to reflect the new minimum. The maxHeight\n * does not have the same problem because it does not affect the textarea's scrollHeight.\n */\n this._previousMinRows = -1;\n this._isViewInited = false;\n /** Handles `focus` and `blur` events. */\n this._handleFocusEvent = (event) => {\n this._hasFocus = event.type === 'focus';\n };\n this._document = document;\n this._textareaElement = this._elementRef.nativeElement;\n }\n /** Minimum amount of rows in the textarea. */\n get minRows() { return this._minRows; }\n set minRows(value) {\n this._minRows = coerceNumberProperty(value);\n this._setMinHeight();\n }\n /** Maximum amount of rows in the textarea. */\n get maxRows() { return this._maxRows; }\n set maxRows(value) {\n this._maxRows = coerceNumberProperty(value);\n this._setMaxHeight();\n }\n /** Whether autosizing is enabled or not */\n get enabled() { return this._enabled; }\n set enabled(value) {\n value = coerceBooleanProperty(value);\n // Only act if the actual value changed. This specifically helps to not run\n // resizeToFitContent too early (i.e. before ngAfterViewInit)\n if (this._enabled !== value) {\n (this._enabled = value) ? this.resizeToFitContent(true) : this.reset();\n }\n }\n get placeholder() { return this._textareaElement.placeholder; }\n set placeholder(value) {\n this._cachedPlaceholderHeight = undefined;\n this._textareaElement.placeholder = value;\n this._cacheTextareaPlaceholderHeight();\n }\n /** Sets the minimum height of the textarea as determined by minRows. */\n _setMinHeight() {\n const minHeight = this.minRows && this._cachedLineHeight ?\n `${this.minRows * this._cachedLineHeight}px` : null;\n if (minHeight) {\n this._textareaElement.style.minHeight = minHeight;\n }\n }\n /** Sets the maximum height of the textarea as determined by maxRows. */\n _setMaxHeight() {\n const maxHeight = this.maxRows && this._cachedLineHeight ?\n `${this.maxRows * this._cachedLineHeight}px` : null;\n if (maxHeight) {\n this._textareaElement.style.maxHeight = maxHeight;\n }\n }\n ngAfterViewInit() {\n if (this._platform.isBrowser) {\n // Remember the height which we started with in case autosizing is disabled\n this._initialHeight = this._textareaElement.style.height;\n this.resizeToFitContent();\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n fromEvent(window, 'resize')\n .pipe(auditTime(16), takeUntil(this._destroyed))\n .subscribe(() => this.resizeToFitContent(true));\n this._textareaElement.addEventListener('focus', this._handleFocusEvent);\n this._textareaElement.addEventListener('blur', this._handleFocusEvent);\n });\n this._isViewInited = true;\n this.resizeToFitContent(true);\n }\n }\n ngOnDestroy() {\n this._textareaElement.removeEventListener('focus', this._handleFocusEvent);\n this._textareaElement.removeEventListener('blur', this._handleFocusEvent);\n this._destroyed.next();\n this._destroyed.complete();\n }\n /**\n * Cache the height of a single-row textarea if it has not already been cached.\n *\n * We need to know how large a single \"row\" of a textarea is in order to apply minRows and\n * maxRows. For the initial version, we will assume that the height of a single line in the\n * textarea does not ever change.\n */\n _cacheTextareaLineHeight() {\n if (this._cachedLineHeight) {\n return;\n }\n // Use a clone element because we have to override some styles.\n let textareaClone = this._textareaElement.cloneNode(false);\n textareaClone.rows = 1;\n // Use `position: absolute` so that this doesn't cause a browser layout and use\n // `visibility: hidden` so that nothing is rendered. Clear any other styles that\n // would affect the height.\n textareaClone.style.position = 'absolute';\n textareaClone.style.visibility = 'hidden';\n textareaClone.style.border = 'none';\n textareaClone.style.padding = '0';\n textareaClone.style.height = '';\n textareaClone.style.minHeight = '';\n textareaClone.style.maxHeight = '';\n // In Firefox it happens that textarea elements are always bigger than the specified amount\n // of rows. This is because Firefox tries to add extra space for the horizontal scrollbar.\n // As a workaround that removes the extra space for the scrollbar, we can just set overflow\n // to hidden. This ensures that there is no invalid calculation of the line height.\n // See Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=33654\n textareaClone.style.overflow = 'hidden';\n this._textareaElement.parentNode.appendChild(textareaClone);\n this._cachedLineHeight = textareaClone.clientHeight;\n this._textareaElement.parentNode.removeChild(textareaClone);\n // Min and max heights have to be re-calculated if the cached line height changes\n this._setMinHeight();\n this._setMaxHeight();\n }\n _measureScrollHeight() {\n const element = this._textareaElement;\n const previousMargin = element.style.marginBottom || '';\n const isFirefox = this._platform.FIREFOX;\n const needsMarginFiller = isFirefox && this._hasFocus;\n const measuringClass = isFirefox ?\n 'cdk-textarea-autosize-measuring-firefox' :\n 'cdk-textarea-autosize-measuring';\n // In some cases the page might move around while we're measuring the `textarea` on Firefox. We\n // work around it by assigning a temporary margin with the same height as the `textarea` so that\n // it occupies the same amount of space. See #23233.\n if (needsMarginFiller) {\n element.style.marginBottom = `${element.clientHeight}px`;\n }\n // Reset the textarea height to auto in order to shrink back to its default size.\n // Also temporarily force overflow:hidden, so scroll bars do not interfere with calculations.\n element.classList.add(measuringClass);\n // The measuring class includes a 2px padding to workaround an issue with Chrome,\n // so we account for that extra space here by subtracting 4 (2px top + 2px bottom).\n const scrollHeight = element.scrollHeight - 4;\n element.classList.remove(measuringClass);\n if (needsMarginFiller) {\n element.style.marginBottom = previousMargin;\n }\n return scrollHeight;\n }\n _cacheTextareaPlaceholderHeight() {\n if (!this._isViewInited || this._cachedPlaceholderHeight != undefined) {\n return;\n }\n if (!this.placeholder) {\n this._cachedPlaceholderHeight = 0;\n return;\n }\n const value = this._textareaElement.value;\n this._textareaElement.value = this._textareaElement.placeholder;\n this._cachedPlaceholderHeight = this._measureScrollHeight();\n this._textareaElement.value = value;\n }\n ngDoCheck() {\n if (this._platform.isBrowser) {\n this.resizeToFitContent();\n }\n }\n /**\n * Resize the textarea to fit its content.\n * @param force Whether to force a height recalculation. By default the height will be\n * recalculated only if the value changed since the last call.\n */\n resizeToFitContent(force = false) {\n // If autosizing is disabled, just skip everything else\n if (!this._enabled) {\n return;\n }\n this._cacheTextareaLineHeight();\n this._cacheTextareaPlaceholderHeight();\n // If we haven't determined the line-height yet, we know we're still hidden and there's no point\n // in checking the height of the textarea.\n if (!this._cachedLineHeight) {\n return;\n }\n const textarea = this._elementRef.nativeElement;\n const value = textarea.value;\n // Only resize if the value or minRows have changed since these calculations can be expensive.\n if (!force && this._minRows === this._previousMinRows && value === this._previousValue) {\n return;\n }\n const scrollHeight = this._measureScrollHeight();\n const height = Math.max(scrollHeight, this._cachedPlaceholderHeight || 0);\n // Use the scrollHeight to know how large the textarea *would* be if fit its entire value.\n textarea.style.height = `${height}px`;\n this._ngZone.runOutsideAngular(() => {\n if (typeof requestAnimationFrame !== 'undefined') {\n requestAnimationFrame(() => this._scrollToCaretPosition(textarea));\n }\n else {\n setTimeout(() => this._scrollToCaretPosition(textarea));\n }\n });\n this._previousValue = value;\n this._previousMinRows = this._minRows;\n }\n /**\n * Resets the textarea to its original size\n */\n reset() {\n // Do not try to change the textarea, if the initialHeight has not been determined yet\n // This might potentially remove styles when reset() is called before ngAfterViewInit\n if (this._initialHeight !== undefined) {\n this._textareaElement.style.height = this._initialHeight;\n }\n }\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n _noopInputHandler() {\n // no-op handler that ensures we're running change detection on input events.\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n /**\n * Scrolls a textarea to the caret position. On Firefox resizing the textarea will\n * prevent it from scrolling to the caret position. We need to re-set the selection\n * in order for it to scroll to the proper position.\n */\n _scrollToCaretPosition(textarea) {\n const { selectionStart, selectionEnd } = textarea;\n // IE will throw an \"Unspecified error\" if we try to set the selection range after the\n // element has been removed from the DOM. Assert that the directive hasn't been destroyed\n // between the time we requested the animation frame and when it was executed.\n // Also note that we have to assert that the textarea is focused before we set the\n // selection range. Setting the selection range on a non-focused textarea will cause\n // it to receive focus on IE and Edge.\n if (!this._destroyed.isStopped && this._hasFocus) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n }\n }\n}\nCdkTextareaAutosize.ɵfac = function CdkTextareaAutosize_Factory(t) { return new (t || CdkTextareaAutosize)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Platform), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8)); };\nCdkTextareaAutosize.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkTextareaAutosize, selectors: [[\"textarea\", \"cdkTextareaAutosize\", \"\"]], hostAttrs: [\"rows\", \"1\", 1, \"cdk-textarea-autosize\"], hostBindings: function CdkTextareaAutosize_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"input\", function CdkTextareaAutosize_input_HostBindingHandler() { return ctx._noopInputHandler(); });\n } }, inputs: { minRows: [\"cdkAutosizeMinRows\", \"minRows\"], maxRows: [\"cdkAutosizeMaxRows\", \"maxRows\"], enabled: [\"cdkTextareaAutosize\", \"enabled\"], placeholder: \"placeholder\" }, exportAs: [\"cdkTextareaAutosize\"] });\nCdkTextareaAutosize.ctorParameters = () => [\n { type: ElementRef },\n { type: Platform },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }\n];\nCdkTextareaAutosize.propDecorators = {\n minRows: [{ type: Input, args: ['cdkAutosizeMinRows',] }],\n maxRows: [{ type: Input, args: ['cdkAutosizeMaxRows',] }],\n enabled: [{ type: Input, args: ['cdkTextareaAutosize',] }],\n placeholder: [{ type: Input }],\n _noopInputHandler: [{ type: HostListener, args: ['input',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTextareaAutosize, [{\n type: Directive,\n args: [{\n selector: 'textarea[cdkTextareaAutosize]',\n exportAs: 'cdkTextareaAutosize',\n host: {\n 'class': 'cdk-textarea-autosize',\n // Textarea elements that have the directive applied should have a single row by default.\n // Browsers normally show two rows by default and therefore this limits the minRows binding.\n 'rows': '1'\n }\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.Platform }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { minRows: [{\n type: Input,\n args: ['cdkAutosizeMinRows']\n }], maxRows: [{\n type: Input,\n args: ['cdkAutosizeMaxRows']\n }], enabled: [{\n type: Input,\n args: ['cdkTextareaAutosize']\n }], placeholder: [{\n type: Input\n }], \n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n _noopInputHandler: [{\n type: HostListener,\n args: ['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 */\nclass TextFieldModule {\n}\nTextFieldModule.ɵfac = function TextFieldModule_Factory(t) { return new (t || TextFieldModule)(); };\nTextFieldModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: TextFieldModule });\nTextFieldModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[PlatformModule]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TextFieldModule, [{\n type: NgModule,\n args: [{\n declarations: [CdkAutofill, CdkTextareaAutosize],\n imports: [PlatformModule],\n exports: [CdkAutofill, CdkTextareaAutosize]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(TextFieldModule, { declarations: function () { return [CdkAutofill, CdkTextareaAutosize]; }, imports: function () { return [PlatformModule]; }, exports: function () { return [CdkAutofill, CdkTextareaAutosize]; } }); })();\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 { AutofillMonitor, CdkAutofill, CdkTextareaAutosize, TextFieldModule };\n\n","/**\n * @license Angular v12.2.15\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { InjectionToken, ɵɵdefineInjectable, Injectable, ɵɵinject, Inject, Optional, EventEmitter, ɵfindLocaleData, ɵLocaleDataIndex, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, LOCALE_ID, ɵregisterLocaleData, ɵisListLikeIterable, ɵstringify, Directive, IterableDiffers, KeyValueDiffers, ElementRef, Renderer2, Input, NgModuleRef, ComponentFactoryResolver, ViewContainerRef, TemplateRef, Host, ɵRuntimeError, Attribute, ɵisPromise, ɵisSubscribable, Pipe, ChangeDetectorRef, DEFAULT_CURRENCY_CODE, NgModule, Version } 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 */\nimport * as ɵngcc0 from '@angular/core';\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 = function PlatformLocation_Factory(t) { return new (t || PlatformLocation)(); };\nPlatformLocation.ɵprov = ɵɵdefineInjectable({ factory: useBrowserPlatformLocation, token: PlatformLocation, providedIn: \"platform\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PlatformLocation, [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: useBrowserPlatformLocation\n }]\n }], null, null); })();\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 = function BrowserPlatformLocation_Factory(t) { return new (t || BrowserPlatformLocation)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nBrowserPlatformLocation.ɵprov = ɵɵdefineInjectable({ factory: createBrowserPlatformLocation, token: BrowserPlatformLocation, providedIn: \"platform\" });\nBrowserPlatformLocation.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BrowserPlatformLocation, [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: createBrowserPlatformLocation\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\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 = function LocationStrategy_Factory(t) { return new (t || LocationStrategy)(); };\nLocationStrategy.ɵprov = ɵɵdefineInjectable({ factory: provideLocationStrategy, token: LocationStrategy, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LocationStrategy, [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: provideLocationStrategy }]\n }], null, null); })();\nfunction provideLocationStrategy(platformLocation) {\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 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 historyGo(relativePosition = 0) {\n var _a, _b;\n (_b = (_a = this._platformLocation).historyGo) === null || _b === void 0 ? void 0 : _b.call(_a, relativePosition);\n }\n}\nPathLocationStrategy.ɵfac = function PathLocationStrategy_Factory(t) { return new (t || PathLocationStrategy)(ɵngcc0.ɵɵinject(PlatformLocation), ɵngcc0.ɵɵinject(APP_BASE_HREF, 8)); };\nPathLocationStrategy.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: PathLocationStrategy, factory: PathLocationStrategy.ɵfac });\nPathLocationStrategy.ctorParameters = () => [\n { type: PlatformLocation },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [APP_BASE_HREF,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PathLocationStrategy, [{\n type: Injectable\n }], function () { return [{ type: PlatformLocation }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; }, null); })();\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 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 historyGo(relativePosition = 0) {\n var _a, _b;\n (_b = (_a = this._platformLocation).historyGo) === null || _b === void 0 ? void 0 : _b.call(_a, relativePosition);\n }\n}\nHashLocationStrategy.ɵfac = function HashLocationStrategy_Factory(t) { return new (t || HashLocationStrategy)(ɵngcc0.ɵɵinject(PlatformLocation), ɵngcc0.ɵɵinject(APP_BASE_HREF, 8)); };\nHashLocationStrategy.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: HashLocationStrategy, factory: HashLocationStrategy.ɵfac });\nHashLocationStrategy.ctorParameters = () => [\n { type: PlatformLocation },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [APP_BASE_HREF,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HashLocationStrategy, [{\n type: Injectable\n }], function () { return [{ type: PlatformLocation }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; }, null); })();\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(platformStrategy, platformLocation) {\n /** @internal */\n this._subject = new EventEmitter();\n /** @internal */\n this._urlChangeListeners = [];\n this._platformStrategy = platformStrategy;\n const browserBaseHref = this._platformStrategy.getBaseHref();\n this._platformLocation = platformLocation;\n this._baseHref = stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n this._platformStrategy.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 /**\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._platformStrategy.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._platformLocation.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._platformStrategy.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._platformStrategy.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._platformStrategy.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._platformStrategy.forward();\n }\n /**\n * Navigates back in the platform's history.\n */\n back() {\n this._platformStrategy.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 var _a, _b;\n (_b = (_a = this._platformStrategy).historyGo) === null || _b === void 0 ? void 0 : _b.call(_a, 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 */\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 }\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}\nLocation.ɵfac = function Location_Factory(t) { return new (t || Location)(ɵngcc0.ɵɵinject(LocationStrategy), ɵngcc0.ɵɵinject(PlatformLocation)); };\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.ɵprov = ɵɵdefineInjectable({ factory: createLocation, token: Location, providedIn: \"root\" });\nLocation.ctorParameters = () => [\n { type: LocationStrategy },\n { type: PlatformLocation }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Location, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n // See #23917\n useFactory: createLocation\n }]\n }], function () { return [{ type: LocationStrategy }, { type: PlatformLocation }]; }, null); })();\nfunction createLocation() {\n return new Location(ɵɵinject(LocationStrategy), ɵɵinject(PlatformLocation));\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, undefined, 0], \"ALL\": [undefined, undefined, 0], \"AMD\": [undefined, undefined, 2], \"AOA\": [undefined, \"Kz\"], \"ARS\": [undefined, \"$\"], \"AUD\": [\"A$\", \"$\"], \"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, \"р.\", 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, \"₾\"], \"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\": [undefined, \"₱\"], \"PKR\": [undefined, \"Rs\", 2], \"PLN\": [undefined, \"zł\"], \"PYG\": [undefined, \"₲\", 0], \"RON\": [undefined, \"lei\"], \"RSD\": [undefined, undefined, 0], \"RUB\": [undefined, \"₽\"], \"RUR\": [undefined, \"р.\"], \"RWF\": [undefined, \"RF\", 0], \"SBD\": [undefined, \"$\"], \"SEK\": [undefined, \"kr\", 2], \"SGD\": [undefined, \"$\"], \"SHP\": [undefined, \"£\"], \"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\": [\"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 formating 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 formating 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 /* 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 /* ExtraDayPeriodFormats */],\n data[ɵLocaleDataIndex.ExtraData][1 /* 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 /* SymbolNarrow */];\n if (format === 'narrow' && typeof symbolNarrow === 'string') {\n return symbolNarrow;\n }\n return currency[0 /* 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 /* 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 ?\n dateFormatter(date, locale, dateTimezoneOffset) :\n value === '\\'\\'' ? '\\'' : 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.substr(strNum.length - digits);\n }\n return neg + strNum;\n}\nfunction formatFractionalSeconds(milliseconds, digits) {\n const strMs = padNumber(milliseconds, 3);\n return strMs.substr(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 supressed 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.substr(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.substr(0, pos).replace(/'/g, '');\n p.negSuf = negative.substr(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}\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 = function NgLocaleLocalization_Factory(t) { return new (t || NgLocaleLocalization)(ɵngcc0.ɵɵinject(LOCALE_ID)); };\nNgLocaleLocalization.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: NgLocaleLocalization, factory: NgLocaleLocalization.ɵfac });\nNgLocaleLocalization.ctorParameters = () => [\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgLocaleLocalization, [{\n type: Injectable\n }], function () { return [{ type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; }, null); })();\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 = function NgClass_Factory(t) { return new (t || NgClass)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.KeyValueDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2)); };\nNgClass.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgClass, selectors: [[\"\", \"ngClass\", \"\"]], inputs: { klass: [\"class\", \"klass\"], ngClass: \"ngClass\" } });\nNgClass.ctorParameters = () => [\n { type: IterableDiffers },\n { type: KeyValueDiffers },\n { type: ElementRef },\n { type: Renderer2 }\n];\nNgClass.propDecorators = {\n klass: [{ type: Input, args: ['class',] }],\n ngClass: [{ type: Input, args: ['ngClass',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgClass, [{\n type: Directive,\n args: [{ selector: '[ngClass]' }]\n }], function () { return [{ type: ɵngcc0.IterableDiffers }, { type: ɵngcc0.KeyValueDiffers }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.Renderer2 }]; }, { 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 * * `ngComponentOutletNgModuleFactory`: Optional module factory to allow loading another\n * module dynamically, then loading a component from that module.\n *\n * ### Syntax\n *\n * Simple\n * ```\n * \n * ```\n *\n * Customized injector/content\n * ```\n * \n * \n * ```\n *\n * Customized ngModuleFactory\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._componentRef = null;\n this._moduleRef = null;\n }\n ngOnChanges(changes) {\n this._viewContainerRef.clear();\n this._componentRef = null;\n if (this.ngComponentOutlet) {\n const elInjector = this.ngComponentOutletInjector || this._viewContainerRef.parentInjector;\n if (changes['ngComponentOutletNgModuleFactory']) {\n if (this._moduleRef)\n this._moduleRef.destroy();\n if (this.ngComponentOutletNgModuleFactory) {\n const parentModule = elInjector.get(NgModuleRef);\n this._moduleRef = this.ngComponentOutletNgModuleFactory.create(parentModule.injector);\n }\n else {\n this._moduleRef = null;\n }\n }\n const componentFactoryResolver = this._moduleRef ? this._moduleRef.componentFactoryResolver :\n elInjector.get(ComponentFactoryResolver);\n const componentFactory = componentFactoryResolver.resolveComponentFactory(this.ngComponentOutlet);\n this._componentRef = this._viewContainerRef.createComponent(componentFactory, this._viewContainerRef.length, elInjector, this.ngComponentOutletContent);\n }\n }\n ngOnDestroy() {\n if (this._moduleRef)\n this._moduleRef.destroy();\n }\n}\nNgComponentOutlet.ɵfac = function NgComponentOutlet_Factory(t) { return new (t || NgComponentOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef)); };\nNgComponentOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgComponentOutlet, selectors: [[\"\", \"ngComponentOutlet\", \"\"]], inputs: { ngComponentOutlet: \"ngComponentOutlet\", ngComponentOutletInjector: \"ngComponentOutletInjector\", ngComponentOutletContent: \"ngComponentOutletContent\", ngComponentOutletNgModuleFactory: \"ngComponentOutletNgModuleFactory\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nNgComponentOutlet.ctorParameters = () => [\n { type: ViewContainerRef }\n];\nNgComponentOutlet.propDecorators = {\n ngComponentOutlet: [{ type: Input }],\n ngComponentOutletInjector: [{ type: Input }],\n ngComponentOutletContent: [{ type: Input }],\n ngComponentOutletNgModuleFactory: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgComponentOutlet, [{\n type: Directive,\n args: [{ selector: '[ngComponentOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }]; }, { ngComponentOutlet: [{\n type: Input\n }], ngComponentOutletInjector: [{\n type: Input\n }], ngComponentOutletContent: [{\n type: Input\n }], ngComponentOutletNgModuleFactory: [{\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 * @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/built-in-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 futher discussion, see\n * [Structural Directives](guide/built-in-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 ((typeof ngDevMode === 'undefined' || ngDevMode) && 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 */\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 try {\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n catch (_a) {\n throw new Error(`Cannot find a differ supporting object '${value}' of type '${getTypeName(value)}'. NgFor only supports binding to Iterables such as Arrays.`);\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 insertTuples = [];\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 const view = this._viewContainer.createEmbeddedView(this._template, new NgForOfContext(null, this._ngForOf, -1, -1), currentIndex === null ? undefined : currentIndex);\n const tuple = new RecordViewTuple(item, view);\n insertTuples.push(tuple);\n }\n else if (currentIndex == null) {\n this._viewContainer.remove(adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex);\n }\n else if (adjustedPreviousIndex !== null) {\n const view = this._viewContainer.get(adjustedPreviousIndex);\n this._viewContainer.move(view, currentIndex);\n const tuple = new RecordViewTuple(item, view);\n insertTuples.push(tuple);\n }\n });\n for (let i = 0; i < insertTuples.length; i++) {\n this._perViewChange(insertTuples[i].view, insertTuples[i].record);\n }\n for (let i = 0, ilen = this._viewContainer.length; i < ilen; i++) {\n const viewRef = this._viewContainer.get(i);\n viewRef.context.index = i;\n viewRef.context.count = ilen;\n viewRef.context.ngForOf = this._ngForOf;\n }\n changes.forEachIdentityChange((record) => {\n const viewRef = this._viewContainer.get(record.currentIndex);\n viewRef.context.$implicit = record.item;\n });\n }\n _perViewChange(view, record) {\n view.context.$implicit = record.item;\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 = function NgForOf_Factory(t) { return new (t || NgForOf)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers)); };\nNgForOf.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgForOf, selectors: [[\"\", \"ngFor\", \"\", \"ngForOf\", \"\"]], inputs: { ngForOf: \"ngForOf\", ngForTrackBy: \"ngForTrackBy\", ngForTemplate: \"ngForTemplate\" } });\nNgForOf.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef },\n { type: IterableDiffers }\n];\nNgForOf.propDecorators = {\n ngForOf: [{ type: Input }],\n ngForTrackBy: [{ type: Input }],\n ngForTemplate: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgForOf, [{\n type: Directive,\n args: [{ selector: '[ngFor][ngForOf]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }]; }, { ngForOf: [{\n type: Input\n }], ngForTrackBy: [{\n type: Input\n }], ngForTemplate: [{\n type: Input\n }] }); })();\nclass RecordViewTuple {\n constructor(record, view) {\n this.record = record;\n this.view = view;\n }\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](https://angular.io/guide/built-in-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 = function NgIf_Factory(t) { return new (t || NgIf)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgIf.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgIf, selectors: [[\"\", \"ngIf\", \"\"]], inputs: { ngIf: \"ngIf\", ngIfThen: \"ngIfThen\", ngIfElse: \"ngIfElse\" } });\nNgIf.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef }\n];\nNgIf.propDecorators = {\n ngIf: [{ type: Input }],\n ngIfThen: [{ type: Input }],\n ngIfElse: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgIf, [{\n type: Directive,\n args: [{ selector: '[ngIf]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }]; }, { 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 = function NgSwitch_Factory(t) { return new (t || NgSwitch)(); };\nNgSwitch.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgSwitch, selectors: [[\"\", \"ngSwitch\", \"\"]], inputs: { ngSwitch: \"ngSwitch\" } });\nNgSwitch.propDecorators = {\n ngSwitch: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgSwitch, [{\n type: Directive,\n args: [{ selector: '[ngSwitch]' }]\n }], function () { return []; }, { 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 */\n ngDoCheck() {\n this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));\n }\n}\nNgSwitchCase.ɵfac = function NgSwitchCase_Factory(t) { return new (t || NgSwitchCase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(NgSwitch, 9)); };\nNgSwitchCase.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgSwitchCase, selectors: [[\"\", \"ngSwitchCase\", \"\"]], inputs: { ngSwitchCase: \"ngSwitchCase\" } });\nNgSwitchCase.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef },\n { type: NgSwitch, decorators: [{ type: Optional }, { type: Host }] }\n];\nNgSwitchCase.propDecorators = {\n ngSwitchCase: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgSwitchCase, [{\n type: Directive,\n args: [{ selector: '[ngSwitchCase]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; }, { 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 = function NgSwitchDefault_Factory(t) { return new (t || NgSwitchDefault)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(NgSwitch, 9)); };\nNgSwitchDefault.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgSwitchDefault, selectors: [[\"\", \"ngSwitchDefault\", \"\"]] });\nNgSwitchDefault.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef },\n { type: NgSwitch, decorators: [{ type: Optional }, { type: Host }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgSwitchDefault, [{\n type: Directive,\n args: [{ selector: '[ngSwitchDefault]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; }, null); })();\nfunction throwNgSwitchProviderNotFoundError(attrName, directiveName) {\n throw new ɵRuntimeError(\"305\" /* TEMPLATE_STRUCTURE_ERROR */, `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 = function NgPlural_Factory(t) { return new (t || NgPlural)(ɵngcc0.ɵɵdirectiveInject(NgLocalization)); };\nNgPlural.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgPlural, selectors: [[\"\", \"ngPlural\", \"\"]], inputs: { ngPlural: \"ngPlural\" } });\nNgPlural.ctorParameters = () => [\n { type: NgLocalization }\n];\nNgPlural.propDecorators = {\n ngPlural: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgPlural, [{\n type: Directive,\n args: [{ selector: '[ngPlural]' }]\n }], function () { return [{ type: NgLocalization }]; }, { 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 = function NgPluralCase_Factory(t) { return new (t || NgPluralCase)(ɵngcc0.ɵɵinjectAttribute('ngPluralCase'), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(NgPlural, 1)); };\nNgPluralCase.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgPluralCase, selectors: [[\"\", \"ngPluralCase\", \"\"]] });\nNgPluralCase.ctorParameters = () => [\n { type: String, decorators: [{ type: Attribute, args: ['ngPluralCase',] }] },\n { type: TemplateRef },\n { type: ViewContainerRef },\n { type: NgPlural, decorators: [{ type: Host }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgPluralCase, [{\n type: Directive,\n args: [{ selector: '[ngPluralCase]' }]\n }], function () { return [{ type: String, decorators: [{\n type: Attribute,\n args: ['ngPluralCase']\n }] }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.ViewContainerRef }, { type: NgPlural, decorators: [{\n type: Host\n }] }]; }, null); })();\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 value = value != null && unit ? `${value}${unit}` : value;\n if (value != null) {\n this._renderer.setStyle(this._ngEl.nativeElement, name, value);\n }\n else {\n this._renderer.removeStyle(this._ngEl.nativeElement, name);\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 = function NgStyle_Factory(t) { return new (t || NgStyle)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.KeyValueDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2)); };\nNgStyle.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgStyle, selectors: [[\"\", \"ngStyle\", \"\"]], inputs: { ngStyle: \"ngStyle\" } });\nNgStyle.ctorParameters = () => [\n { type: ElementRef },\n { type: KeyValueDiffers },\n { type: Renderer2 }\n];\nNgStyle.propDecorators = {\n ngStyle: [{ type: Input, args: ['ngStyle',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgStyle, [{\n type: Directive,\n args: [{ selector: '[ngStyle]' }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.KeyValueDiffers }, { type: ɵngcc0.Renderer2 }]; }, { 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 }\n ngOnChanges(changes) {\n if (changes['ngTemplateOutlet']) {\n const viewContainerRef = this._viewContainerRef;\n if (this._viewRef) {\n viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef));\n }\n this._viewRef = this.ngTemplateOutlet ?\n viewContainerRef.createEmbeddedView(this.ngTemplateOutlet, this.ngTemplateOutletContext) :\n null;\n }\n else if (this._viewRef && changes['ngTemplateOutletContext'] && this.ngTemplateOutletContext) {\n this._viewRef.context = this.ngTemplateOutletContext;\n }\n }\n}\nNgTemplateOutlet.ɵfac = function NgTemplateOutlet_Factory(t) { return new (t || NgTemplateOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef)); };\nNgTemplateOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgTemplateOutlet, selectors: [[\"\", \"ngTemplateOutlet\", \"\"]], inputs: { ngTemplateOutletContext: \"ngTemplateOutletContext\", ngTemplateOutlet: \"ngTemplateOutlet\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nNgTemplateOutlet.ctorParameters = () => [\n { type: ViewContainerRef }\n];\nNgTemplateOutlet.propDecorators = {\n ngTemplateOutletContext: [{ type: Input }],\n ngTemplateOutlet: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgTemplateOutlet, [{\n type: Directive,\n args: [{ selector: '[ngTemplateOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }]; }, { ngTemplateOutletContext: [{\n type: Input\n }], ngTemplateOutlet: [{\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 Error(`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 onDestroy(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 onDestroy(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._ref = _ref;\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n this._strategy = null;\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._dispose();\n }\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 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 this._ref.markForCheck();\n }\n }\n}\nAsyncPipe.ɵfac = function AsyncPipe_Factory(t) { return new (t || AsyncPipe)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef, 16)); };\nAsyncPipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"async\", type: AsyncPipe, pure: false });\nAsyncPipe.ctorParameters = () => [\n { type: ChangeDetectorRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AsyncPipe, [{\n type: Pipe,\n args: [{ name: 'async', pure: false }]\n }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }]; }, null); })();\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 = function LowerCasePipe_Factory(t) { return new (t || LowerCasePipe)(); };\nLowerCasePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"lowercase\", type: LowerCasePipe, pure: true });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LowerCasePipe, [{\n type: Pipe,\n args: [{ name: 'lowercase' }]\n }], null, null); })();\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.substr(1).toLowerCase()));\n }\n}\nTitleCasePipe.ɵfac = function TitleCasePipe_Factory(t) { return new (t || TitleCasePipe)(); };\nTitleCasePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"titlecase\", type: TitleCasePipe, pure: true });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TitleCasePipe, [{\n type: Pipe,\n args: [{ name: 'titlecase' }]\n }], null, null); })();\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 = function UpperCasePipe_Factory(t) { return new (t || UpperCasePipe)(); };\nUpperCasePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"uppercase\", type: UpperCasePipe, pure: true });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(UpperCasePipe, [{\n type: Pipe,\n args: [{ name: 'uppercase' }]\n }], null, null); })();\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// 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 * @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) {\n this.locale = locale;\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);\n }\n catch (error) {\n throw invalidPipeArgumentError(DatePipe, error.message);\n }\n }\n}\nDatePipe.ɵfac = function DatePipe_Factory(t) { return new (t || DatePipe)(ɵngcc0.ɵɵdirectiveInject(LOCALE_ID, 16)); };\nDatePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"date\", type: DatePipe, pure: true });\nDatePipe.ctorParameters = () => [\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DatePipe, [{\n type: Pipe,\n args: [{ name: 'date', pure: true }]\n }], function () { return [{ type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; }, null); })();\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 = function I18nPluralPipe_Factory(t) { return new (t || I18nPluralPipe)(ɵngcc0.ɵɵdirectiveInject(NgLocalization, 16)); };\nI18nPluralPipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"i18nPlural\", type: I18nPluralPipe, pure: true });\nI18nPluralPipe.ctorParameters = () => [\n { type: NgLocalization }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(I18nPluralPipe, [{\n type: Pipe,\n args: [{ name: 'i18nPlural', pure: true }]\n }], function () { return [{ type: NgLocalization }]; }, null); })();\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 = function I18nSelectPipe_Factory(t) { return new (t || I18nSelectPipe)(); };\nI18nSelectPipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"i18nSelect\", type: I18nSelectPipe, pure: true });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(I18nSelectPipe, [{\n type: Pipe,\n args: [{ name: 'i18nSelect', pure: true }]\n }], null, null); })();\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 = function JsonPipe_Factory(t) { return new (t || JsonPipe)(); };\nJsonPipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"json\", type: JsonPipe, pure: false });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(JsonPipe, [{\n type: Pipe,\n args: [{ name: 'json', pure: false }]\n }], null, null); })();\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 = function KeyValuePipe_Factory(t) { return new (t || KeyValuePipe)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.KeyValueDiffers, 16)); };\nKeyValuePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"keyvalue\", type: KeyValuePipe, pure: false });\nKeyValuePipe.ctorParameters = () => [\n { type: KeyValueDiffers }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(KeyValuePipe, [{\n type: Pipe,\n args: [{ name: 'keyvalue', pure: false }]\n }], function () { return [{ type: ɵngcc0.KeyValueDiffers }]; }, null); })();\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 = function DecimalPipe_Factory(t) { return new (t || DecimalPipe)(ɵngcc0.ɵɵdirectiveInject(LOCALE_ID, 16)); };\nDecimalPipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"number\", type: DecimalPipe, pure: true });\nDecimalPipe.ctorParameters = () => [\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DecimalPipe, [{\n type: Pipe,\n args: [{ name: 'number' }]\n }], function () { return [{ type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; }, null); })();\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 = function PercentPipe_Factory(t) { return new (t || PercentPipe)(ɵngcc0.ɵɵdirectiveInject(LOCALE_ID, 16)); };\nPercentPipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"percent\", type: PercentPipe, pure: true });\nPercentPipe.ctorParameters = () => [\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PercentPipe, [{\n type: Pipe,\n args: [{ name: 'percent' }]\n }], function () { return [{ type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; }, null); })();\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 = function CurrencyPipe_Factory(t) { return new (t || CurrencyPipe)(ɵngcc0.ɵɵdirectiveInject(LOCALE_ID, 16), ɵngcc0.ɵɵdirectiveInject(DEFAULT_CURRENCY_CODE, 16)); };\nCurrencyPipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"currency\", type: CurrencyPipe, pure: true });\nCurrencyPipe.ctorParameters = () => [\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] },\n { type: String, decorators: [{ type: Inject, args: [DEFAULT_CURRENCY_CODE,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CurrencyPipe, [{\n type: Pipe,\n args: [{ name: 'currency' }]\n }], function () { return [{ type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: String, decorators: [{\n type: Inject,\n args: [DEFAULT_CURRENCY_CODE]\n }] }]; }, null); })();\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 = function SlicePipe_Factory(t) { return new (t || SlicePipe)(); };\nSlicePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"slice\", type: SlicePipe, pure: false });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(SlicePipe, [{\n type: Pipe,\n args: [{ name: 'slice', pure: false }]\n }], null, null); })();\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 * * The `providers` options configure the NgModule's injector to provide\n * localization dependencies to members.\n * * The `exports` options make the declared directives and pipes available for import\n * by other NgModules.\n *\n * @publicApi\n */\nclass CommonModule {\n}\nCommonModule.ɵfac = function CommonModule_Factory(t) { return new (t || CommonModule)(); };\nCommonModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CommonModule });\nCommonModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [\n { provide: NgLocalization, useClass: NgLocaleLocalization },\n ] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CommonModule, [{\n type: NgModule,\n args: [{\n declarations: [COMMON_DIRECTIVES, COMMON_PIPES],\n exports: [COMMON_DIRECTIVES, COMMON_PIPES],\n providers: [\n { provide: NgLocalization, useClass: NgLocaleLocalization },\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CommonModule, { declarations: [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] }); })();\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('12.2.15');\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 this.attemptFocus(elSelected);\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 * Calls `focus` on the `focusTarget` and returns `true` if the element was focused successfully.\n *\n * If `false`, further steps may be necessary to determine a valid substitute to be focused\n * instead.\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 */\n attemptFocus(focusTarget) {\n focusTarget.focus();\n return this.document.activeElement === focusTarget;\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 (_a) {\n return false;\n }\n }\n supportsScrolling() {\n try {\n return !!this.window && !!this.window.scrollTo && 'pageXOffset' in this.window;\n }\n catch (_a) {\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, 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, useBrowserPlatformLocation as ɵangular_packages_common_common_a, createBrowserPlatformLocation as ɵangular_packages_common_common_b, createLocation as ɵangular_packages_common_common_c, provideLocationStrategy as ɵangular_packages_common_common_d, COMMON_DIRECTIVES as ɵangular_packages_common_common_e, COMMON_PIPES as ɵangular_packages_common_common_f, getDOM as ɵgetDOM, parseCookieValue as ɵparseCookieValue, setRootDomAdapter as ɵsetRootDomAdapter };\n\n","/**\n * @license Angular v12.2.15\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { DOCUMENT, XhrFactory as XhrFactory$1, ɵparseCookieValue } from '@angular/common';\nimport { Injectable, InjectionToken, Inject, PLATFORM_ID, Injector, 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 */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/common';\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 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 overide 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/**\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 '2B': '+',\n '3D': '=',\n '3F': '?',\n '2F': '/',\n};\nfunction standardEncoding(v) {\n return encodeURIComponent(v).replace(STANDARD_ENCODING_REGEX, (s, t) => { var _a; return (_a = STANDARD_ENCODING_REPLACEMENTS[t]) !== null && _a !== void 0 ? _a : 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 this.map.set(key, Array.isArray(value) ? value : [value]);\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 * @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 var _a;\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 = (_a = update.context) !== null && _a !== void 0 ? _a : 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 /* 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 = function HttpClient_Factory(t) { return new (t || HttpClient)(ɵngcc0.ɵɵinject(HttpHandler)); };\nHttpClient.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: HttpClient, factory: HttpClient.ɵfac });\nHttpClient.ctorParameters = () => [\n { type: HttpHandler }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HttpClient, [{\n type: Injectable\n }], function () { return [{ type: HttpHandler }]; }, null); })();\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 = function NoopInterceptor_Factory(t) { return new (t || NoopInterceptor)(); };\nNoopInterceptor.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: NoopInterceptor, factory: NoopInterceptor.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NoopInterceptor, [{\n type: Injectable\n }], null, null); })();\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// Error text given when a JSONP script is injected, but doesn't invoke the callback\n// passed in its URL.\nconst JSONP_ERR_NO_CALLBACK = 'JSONP injected script did not invoke callback.';\n// Error text given when a request is passed to the JsonpClientBackend that doesn't\n// have a request method JSONP.\nconst JSONP_ERR_WRONG_METHOD = 'JSONP requests must use JSONP request method.';\nconst JSONP_ERR_WRONG_RESPONSE_TYPE = 'JSONP requests must use Json response type.';\n/**\n * DI token/abstract type representing a map of JSONP callbacks.\n *\n * In the browser, this should always be the `window` object.\n *\n *\n */\nclass JsonpCallbackContext {\n}\n/**\n * Processes an `HttpRequest` with the JSONP method,\n * by performing JSONP style requests.\n * @see `HttpHandler`\n * @see `HttpXhrBackend`\n *\n * @publicApi\n */\nclass JsonpClientBackend {\n constructor(callbackMap, document) {\n this.callbackMap = callbackMap;\n this.document = document;\n /**\n * A resolved promise that can be used to schedule microtasks in the event handlers.\n */\n this.resolvedPromise = Promise.resolve();\n }\n /**\n * Get the name of the next callback method, by incrementing the global `nextRequestId`.\n */\n nextCallback() {\n return `ng_jsonp_callback_${nextRequestId++}`;\n }\n /**\n * Processes a JSONP request and returns an event stream of the results.\n * @param req The request object.\n * @returns An observable of the response events.\n *\n */\n handle(req) {\n // Firstly, check both the method and response type. If either doesn't match\n // then the request was improperly routed here and cannot be handled.\n if (req.method !== 'JSONP') {\n throw new Error(JSONP_ERR_WRONG_METHOD);\n }\n else if (req.responseType !== 'json') {\n throw new Error(JSONP_ERR_WRONG_RESPONSE_TYPE);\n }\n // Everything else happens inside the Observable boundary.\n return new Observable((observer) => {\n // The first step to make a request is to generate the callback name, and replace the\n // callback placeholder in the URL with the name. Care has to be taken here to ensure\n // a trailing &, if matched, gets inserted back into the URL in the correct place.\n const callback = this.nextCallback();\n const url = req.urlWithParams.replace(/=JSONP_CALLBACK(&|$)/, `=${callback}$1`);\n // Construct the \n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.4\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar prefix = \"far\";\nvar faAddressBook = {\n prefix: 'far',\n iconName: 'address-book',\n icon: [448, 512, [], \"f2b9\", \"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-68 304H48V48h320v416zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"]\n};\nvar faAddressCard = {\n prefix: 'far',\n iconName: 'address-card',\n icon: [576, 512, [], \"f2bb\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H48V80h480v352zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2zM360 320h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8z\"]\n};\nvar faAngry = {\n prefix: 'far',\n iconName: 'angry',\n icon: [496, 512, [], \"f556\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-144c-33.6 0-65.2 14.8-86.8 40.6-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.2 33.8-3c24.8-29.7 75-29.7 99.8 0 8.1 9.7 23.2 11.9 33.8 3 10.2-8.5 11.5-23.6 3.1-33.8-21.6-25.8-53.2-40.6-86.8-40.6zm-48-72c10.3 0 19.9-6.7 23-17.1 3.8-12.7-3.4-26.1-16.1-29.9l-80-24c-12.8-3.9-26.1 3.4-29.9 16.1-3.8 12.7 3.4 26.1 16.1 29.9l28.2 8.5c-3.1 4.9-5.3 10.4-5.3 16.6 0 17.7 14.3 32 32 32s32-14.4 32-32.1zm199-54.9c-3.8-12.7-17.1-19.9-29.9-16.1l-80 24c-12.7 3.8-19.9 17.2-16.1 29.9 3.1 10.4 12.7 17.1 23 17.1 0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.2-2.2-11.7-5.3-16.6l28.2-8.5c12.7-3.7 19.9-17.1 16.1-29.8z\"]\n};\nvar faArrowAltCircleDown = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-down',\n icon: [512, 512, [], \"f358\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm-32-316v116h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5h-67V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12z\"]\n};\nvar faArrowAltCircleLeft = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-left',\n icon: [512, 512, [], \"f359\", \"M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z\"]\n};\nvar faArrowAltCircleRight = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-right',\n icon: [512, 512, [], \"f35a\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z\"]\n};\nvar faArrowAltCircleUp = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-up',\n icon: [512, 512, [], \"f35b\", \"M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zm20 328h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12z\"]\n};\nvar faBell = {\n prefix: 'far',\n iconName: 'bell',\n icon: [448, 512, [], \"f0f3\", \"M439.39 362.29c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71zM67.53 368c21.22-27.97 44.42-74.33 44.53-159.42 0-.2-.06-.38-.06-.58 0-61.86 50.14-112 112-112s112 50.14 112 112c0 .2-.06.38-.06.58.11 85.1 23.31 131.46 44.53 159.42H67.53zM224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBellSlash = {\n prefix: 'far',\n iconName: 'bell-slash',\n icon: [640, 512, [], \"f1f6\", \"M633.99 471.02L36 3.51C29.1-2.01 19.03-.9 13.51 6l-10 12.49C-2.02 25.39-.9 35.46 6 40.98l598 467.51c6.9 5.52 16.96 4.4 22.49-2.49l10-12.49c5.52-6.9 4.41-16.97-2.5-22.49zM163.53 368c16.71-22.03 34.48-55.8 41.4-110.58l-45.47-35.55c-3.27 90.73-36.47 120.68-54.84 140.42-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h279.66l-61.4-48H163.53zM320 96c61.86 0 112 50.14 112 112 0 .2-.06.38-.06.58.02 16.84 1.16 31.77 2.79 45.73l59.53 46.54c-8.31-22.13-14.34-51.49-14.34-92.85 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-26.02 5.41-49.45 16.94-69.13 32.72l38.17 29.84C275 103.18 296.65 96 320 96zm0 416c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBookmark = {\n prefix: 'far',\n iconName: 'bookmark',\n icon: [384, 512, [], \"f02e\", \"M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z\"]\n};\nvar faBuilding = {\n prefix: 'far',\n iconName: 'building',\n icon: [448, 512, [], \"f1ad\", \"M128 148v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12zm140 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-128 96h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm128 0h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-76 84v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm76 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm180 124v36H0v-36c0-6.6 5.4-12 12-12h19.5V24c0-13.3 10.7-24 24-24h337c13.3 0 24 10.7 24 24v440H436c6.6 0 12 5.4 12 12zM79.5 463H192v-67c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v67h112.5V49L80 48l-.5 415z\"]\n};\nvar faCalendar = {\n prefix: 'far',\n iconName: 'calendar',\n icon: [448, 512, [], \"f133\", \"M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z\"]\n};\nvar faCalendarAlt = {\n prefix: 'far',\n iconName: 'calendar-alt',\n icon: [448, 512, [], \"f073\", \"M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarCheck = {\n prefix: 'far',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z\"]\n};\nvar faCalendarMinus = {\n prefix: 'far',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"M124 328c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H124zm324-216v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarPlus = {\n prefix: 'far',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarTimes = {\n prefix: 'far',\n iconName: 'calendar-times',\n icon: [448, 512, [], \"f273\", \"M311.7 374.7l-17 17c-4.7 4.7-12.3 4.7-17 0L224 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0l53.7 53.7 53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L257.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareDown = {\n prefix: 'far',\n iconName: 'caret-square-down',\n icon: [448, 512, [], \"f150\", \"M125.1 208h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareLeft = {\n prefix: 'far',\n iconName: 'caret-square-left',\n icon: [448, 512, [], \"f191\", \"M272 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareRight = {\n prefix: 'far',\n iconName: 'caret-square-right',\n icon: [448, 512, [], \"f152\", \"M176 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareUp = {\n prefix: 'far',\n iconName: 'caret-square-up',\n icon: [448, 512, [], \"f151\", \"M322.9 304H125.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faChartBar = {\n prefix: 'far',\n iconName: 'chart-bar',\n icon: [512, 512, [], \"f080\", \"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\"]\n};\nvar faCheckCircle = {\n prefix: 'far',\n iconName: 'check-circle',\n icon: [512, 512, [], \"f058\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z\"]\n};\nvar faCheckSquare = {\n prefix: 'far',\n iconName: 'check-square',\n icon: [448, 512, [], \"f14a\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z\"]\n};\nvar faCircle = {\n prefix: 'far',\n iconName: 'circle',\n icon: [512, 512, [], \"f111\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z\"]\n};\nvar faClipboard = {\n prefix: 'far',\n iconName: 'clipboard',\n icon: [384, 512, [], \"f328\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z\"]\n};\nvar faClock = {\n prefix: 'far',\n iconName: 'clock',\n icon: [512, 512, [], \"f017\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z\"]\n};\nvar faClone = {\n prefix: 'far',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'far',\n iconName: 'closed-captioning',\n icon: [512, 512, [], \"f20a\", \"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-211.1-85.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7zm190.4 0c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.9-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 220.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7z\"]\n};\nvar faComment = {\n prefix: 'far',\n iconName: 'comment',\n icon: [512, 512, [], \"f075\", \"M256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"]\n};\nvar faCommentAlt = {\n prefix: 'far',\n iconName: 'comment-alt',\n icon: [512, 512, [], \"f27a\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288z\"]\n};\nvar faCommentDots = {\n prefix: 'far',\n iconName: 'comment-dots',\n icon: [512, 512, [], \"f4ad\", \"M144 208c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"]\n};\nvar faComments = {\n prefix: 'far',\n iconName: 'comments',\n icon: [576, 512, [], \"f086\", \"M532 386.2c27.5-27.1 44-61.1 44-98.2 0-80-76.5-146.1-176.2-157.9C368.3 72.5 294.3 32 208 32 93.1 32 0 103.6 0 192c0 37 16.5 71 44 98.2-15.3 30.7-37.3 54.5-37.7 54.9-6.3 6.7-8.1 16.5-4.4 25 3.6 8.5 12 14 21.2 14 53.5 0 96.7-20.2 125.2-38.8 9.2 2.1 18.7 3.7 28.4 4.9C208.1 407.6 281.8 448 368 448c20.8 0 40.8-2.4 59.8-6.8C456.3 459.7 499.4 480 553 480c9.2 0 17.5-5.5 21.2-14 3.6-8.5 1.9-18.3-4.4-25-.4-.3-22.5-24.1-37.8-54.8zm-392.8-92.3L122.1 305c-14.1 9.1-28.5 16.3-43.1 21.4 2.7-4.7 5.4-9.7 8-14.8l15.5-31.1L77.7 256C64.2 242.6 48 220.7 48 192c0-60.7 73.3-112 160-112s160 51.3 160 112-73.3 112-160 112c-16.5 0-33-1.9-49-5.6l-19.8-4.5zM498.3 352l-24.7 24.4 15.5 31.1c2.6 5.1 5.3 10.1 8 14.8-14.6-5.1-29-12.3-43.1-21.4l-17.1-11.1-19.9 4.6c-16 3.7-32.5 5.6-49 5.6-54 0-102.2-20.1-131.3-49.7C338 339.5 416 272.9 416 192c0-3.4-.4-6.7-.7-10C479.7 196.5 528 238.8 528 288c0 28.7-16.2 50.6-29.7 64z\"]\n};\nvar faCompass = {\n prefix: 'far',\n iconName: 'compass',\n icon: [496, 512, [], \"f14e\", \"M347.94 129.86L203.6 195.83a31.938 31.938 0 0 0-15.77 15.77l-65.97 144.34c-7.61 16.65 9.54 33.81 26.2 26.2l144.34-65.97a31.938 31.938 0 0 0 15.77-15.77l65.97-144.34c7.61-16.66-9.54-33.81-26.2-26.2zm-77.36 148.72c-12.47 12.47-32.69 12.47-45.16 0-12.47-12.47-12.47-32.69 0-45.16 12.47-12.47 32.69-12.47 45.16 0 12.47 12.47 12.47 32.69 0 45.16zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"]\n};\nvar faCopy = {\n prefix: 'far',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z\"]\n};\nvar faCopyright = {\n prefix: 'far',\n iconName: 'copyright',\n icon: [512, 512, [], \"f1f9\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z\"]\n};\nvar faCreditCard = {\n prefix: 'far',\n iconName: 'credit-card',\n icon: [576, 512, [], \"f09d\", \"M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zM54.1 80h467.8c3.3 0 6 2.7 6 6v42H48.1V86c0-3.3 2.7-6 6-6zm467.8 352H54.1c-3.3 0-6-2.7-6-6V256h479.8v170c0 3.3-2.7 6-6 6zM192 332v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v40c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z\"]\n};\nvar faDizzy = {\n prefix: 'far',\n iconName: 'dizzy',\n icon: [496, 512, [], \"f567\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-33.8-217.9c7.8-7.8 7.8-20.5 0-28.3L196.3 192l17.9-17.9c7.8-7.8 7.8-20.5 0-28.3-7.8-7.8-20.5-7.8-28.3 0L168 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.9 7.7 20.5 7.7 28.4-.2zm160-92.2c-7.8-7.8-20.5-7.8-28.3 0L328 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.8 7.8 20.5 7.8 28.3 0 7.8-7.8 7.8-20.5 0-28.3l-17.8-18 17.9-17.9c7.7-7.8 7.7-20.4 0-28.2zM248 272c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64z\"]\n};\nvar faDotCircle = {\n prefix: 'far',\n iconName: 'dot-circle',\n icon: [512, 512, [], \"f192\", \"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"]\n};\nvar faEdit = {\n prefix: 'far',\n iconName: 'edit',\n icon: [576, 512, [], \"f044\", \"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"]\n};\nvar faEnvelope = {\n prefix: 'far',\n iconName: 'envelope',\n icon: [512, 512, [], \"f0e0\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'far',\n iconName: 'envelope-open',\n icon: [512, 512, [], \"f2b6\", \"M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z\"]\n};\nvar faEye = {\n prefix: 'far',\n iconName: 'eye',\n icon: [576, 512, [], \"f06e\", \"M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z\"]\n};\nvar faEyeSlash = {\n prefix: 'far',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z\"]\n};\nvar faFile = {\n prefix: 'far',\n iconName: 'file',\n icon: [384, 512, [], \"f15b\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z\"]\n};\nvar faFileAlt = {\n prefix: 'far',\n iconName: 'file-alt',\n icon: [384, 512, [], \"f15c\", \"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z\"]\n};\nvar faFileArchive = {\n prefix: 'far',\n iconName: 'file-archive',\n icon: [384, 512, [], \"f1c6\", \"M128.3 160v32h32v-32zm64-96h-32v32h32zm-64 32v32h32V96zm64 32h-32v32h32zm177.6-30.1L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h79.7v16h32V48H208v104c0 13.3 10.7 24 24 24h104zM194.2 265.7c-1.1-5.6-6-9.7-11.8-9.7h-22.1v-32h-32v32l-19.7 97.1C102 385.6 126.8 416 160 416c33.1 0 57.9-30.2 51.5-62.6zm-33.9 124.4c-17.9 0-32.4-12.1-32.4-27s14.5-27 32.4-27 32.4 12.1 32.4 27-14.5 27-32.4 27zm32-198.1h-32v32h32z\"]\n};\nvar faFileAudio = {\n prefix: 'far',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm144-76.024c0 10.691-12.926 16.045-20.485 8.485L136 360.486h-28c-6.627 0-12-5.373-12-12v-56c0-6.627 5.373-12 12-12h28l35.515-36.947c7.56-7.56 20.485-2.206 20.485 8.485v135.952zm41.201-47.13c9.051-9.297 9.06-24.133.001-33.439-22.149-22.752 12.235-56.246 34.395-33.481 27.198 27.94 27.212 72.444.001 100.401-21.793 22.386-56.947-10.315-34.397-33.481z\"]\n};\nvar faFileCode = {\n prefix: 'far',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M149.9 349.1l-.2-.2-32.8-28.9 32.8-28.9c3.6-3.2 4-8.8.8-12.4l-.2-.2-17.4-18.6c-3.4-3.6-9-3.7-12.4-.4l-57.7 54.1c-3.7 3.5-3.7 9.4 0 12.8l57.7 54.1c1.6 1.5 3.8 2.4 6 2.4 2.4 0 4.8-1 6.4-2.8l17.4-18.6c3.3-3.5 3.1-9.1-.4-12.4zm220-251.2L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h160v104c0 13.3 10.7 24 24 24h104zM209.6 214c-4.7-1.4-9.5 1.3-10.9 6L144 408.1c-1.4 4.7 1.3 9.6 6 10.9l24.4 7.1c4.7 1.4 9.6-1.4 10.9-6L240 231.9c1.4-4.7-1.3-9.6-6-10.9zm24.5 76.9l.2.2 32.8 28.9-32.8 28.9c-3.6 3.2-4 8.8-.8 12.4l.2.2 17.4 18.6c3.3 3.5 8.9 3.7 12.4.4l57.7-54.1c3.7-3.5 3.7-9.4 0-12.8l-57.7-54.1c-3.5-3.3-9.1-3.2-12.4.4l-17.4 18.6c-3.3 3.5-3.1 9.1.4 12.4z\"]\n};\nvar faFileExcel = {\n prefix: 'far',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm212-240h-28.8c-4.4 0-8.4 2.4-10.5 6.3-18 33.1-22.2 42.4-28.6 57.7-13.9-29.1-6.9-17.3-28.6-57.7-2.1-3.9-6.2-6.3-10.6-6.3H124c-9.3 0-15 10-10.4 18l46.3 78-46.3 78c-4.7 8 1.1 18 10.4 18h28.9c4.4 0 8.4-2.4 10.5-6.3 21.7-40 23-45 28.6-57.7 14.9 30.2 5.9 15.9 28.6 57.7 2.1 3.9 6.2 6.3 10.6 6.3H260c9.3 0 15-10 10.4-18L224 320c.7-1.1 30.3-50.5 46.3-78 4.7-8-1.1-18-10.3-18z\"]\n};\nvar faFileImage = {\n prefix: 'far',\n iconName: 'file-image',\n icon: [384, 512, [], \"f1c5\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\"]\n};\nvar faFilePdf = {\n prefix: 'far',\n iconName: 'file-pdf',\n icon: [384, 512, [], \"f1c1\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'far',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z\"]\n};\nvar faFileVideo = {\n prefix: 'far',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm228.687-211.303L224 305.374V268c0-11.046-8.954-20-20-20H100c-11.046 0-20 8.954-20 20v104c0 11.046 8.954 20 20 20h104c11.046 0 20-8.954 20-20v-37.374l52.687 52.674C286.704 397.318 304 390.28 304 375.986V264.011c0-14.311-17.309-21.319-27.313-11.314z\"]\n};\nvar faFileWord = {\n prefix: 'far',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z\"]\n};\nvar faFlag = {\n prefix: 'far',\n iconName: 'flag',\n icon: [512, 512, [], \"f024\", \"M336.174 80c-49.132 0-93.305-32-161.913-32-31.301 0-58.303 6.482-80.721 15.168a48.04 48.04 0 0 0 2.142-20.727C93.067 19.575 74.167 1.594 51.201.104 23.242-1.71 0 20.431 0 48c0 17.764 9.657 33.262 24 41.562V496c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-83.443C109.869 395.28 143.259 384 199.826 384c49.132 0 93.305 32 161.913 32 58.479 0 101.972-22.617 128.548-39.981C503.846 367.161 512 352.051 512 335.855V95.937c0-34.459-35.264-57.768-66.904-44.117C409.193 67.309 371.641 80 336.174 80zM464 336c-21.783 15.412-60.824 32-102.261 32-59.945 0-102.002-32-161.913-32-43.361 0-96.379 9.403-127.826 24V128c21.784-15.412 60.824-32 102.261-32 59.945 0 102.002 32 161.913 32 43.271 0 96.32-17.366 127.826-32v240z\"]\n};\nvar faFlushed = {\n prefix: 'far',\n iconName: 'flushed',\n icon: [496, 512, [], \"f579\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm96-312c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-112 24c0-44.2-35.8-80-80-80s-80 35.8-80 80 35.8 80 80 80 80-35.8 80-80zm-80 48c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm160 144H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faFolder = {\n prefix: 'far',\n iconName: 'folder',\n icon: [512, 512, [], \"f07b\", \"M464 128H272l-54.63-54.63c-6-6-14.14-9.37-22.63-9.37H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm0 272H48V112h140.12l54.63 54.63c6 6 14.14 9.37 22.63 9.37H464v224z\"]\n};\nvar faFolderOpen = {\n prefix: 'far',\n iconName: 'folder-open',\n icon: [576, 512, [], \"f07c\", \"M527.9 224H480v-48c0-26.5-21.5-48-48-48H272l-64-64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h400c16.5 0 31.9-8.5 40.7-22.6l79.9-128c20-31.9-3-73.4-40.7-73.4zM48 118c0-3.3 2.7-6 6-6h134.1l64 64H426c3.3 0 6 2.7 6 6v42H152c-16.8 0-32.4 8.8-41.1 23.2L48 351.4zm400 282H72l77.2-128H528z\"]\n};\nvar faFontAwesomeLogoFull = {\n prefix: 'far',\n iconName: 'font-awesome-logo-full',\n icon: [3992, 512, [\"Font Awesome\"], \"f4e6\", \"M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z\"]\n};\nvar faFrown = {\n prefix: 'far',\n iconName: 'frown',\n icon: [496, 512, [], \"f119\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z\"]\n};\nvar faFrownOpen = {\n prefix: 'far',\n iconName: 'frown-open',\n icon: [496, 512, [], \"f57a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-48-248c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 112c-35.6 0-88.8 21.3-95.8 61.2-2 11.8 9 21.5 20.5 18.1 31.2-9.6 59.4-15.3 75.3-15.3s44.1 5.7 75.3 15.3c11.4 3.5 22.5-6.3 20.5-18.1-7-39.9-60.2-61.2-95.8-61.2z\"]\n};\nvar faFutbol = {\n prefix: 'far',\n iconName: 'futbol',\n icon: [496, 512, [], \"f1e3\", \"M483.8 179.4C449.8 74.6 352.6 8 248.1 8c-25.4 0-51.2 3.9-76.7 12.2C41.2 62.5-30.1 202.4 12.2 332.6 46.2 437.4 143.4 504 247.9 504c25.4 0 51.2-3.9 76.7-12.2 130.2-42.3 201.5-182.2 159.2-312.4zm-74.5 193.7l-52.2 6.4-43.7-60.9 24.4-75.2 71.1-22.1 38.9 36.4c-.2 30.7-7.4 61.1-21.7 89.2-4.7 9.3-10.7 17.8-16.8 26.2zm0-235.4l-10.4 53.1-70.7 22-64.2-46.5V92.5l47.4-26.2c39.2 13 73.4 38 97.9 71.4zM184.9 66.4L232 92.5v73.8l-64.2 46.5-70.6-22-10.1-52.5c24.3-33.4 57.9-58.6 97.8-71.9zM139 379.5L85.9 373c-14.4-20.1-37.3-59.6-37.8-115.3l39-36.4 71.1 22.2 24.3 74.3-43.5 61.7zm48.2 67l-22.4-48.1 43.6-61.7H287l44.3 61.7-22.4 48.1c-6.2 1.8-57.6 20.4-121.7 0z\"]\n};\nvar faGem = {\n prefix: 'far',\n iconName: 'gem',\n icon: [576, 512, [], \"f3a5\", \"M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z\"]\n};\nvar faGrimace = {\n prefix: 'far',\n iconName: 'grimace',\n icon: [496, 512, [], \"f57f\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm16 16H152c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h192c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48zm-168 96h-24c-8.8 0-16-7.2-16-16v-8h40v24zm0-40h-40v-8c0-8.8 7.2-16 16-16h24v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm56 24c0 8.8-7.2 16-16 16h-24v-24h40v8zm0-24h-40v-24h24c8.8 0 16 7.2 16 16v8z\"]\n};\nvar faGrin = {\n prefix: 'far',\n iconName: 'grin',\n icon: [496, 512, [], \"f580\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"]\n};\nvar faGrinAlt = {\n prefix: 'far',\n iconName: 'grin-alt',\n icon: [496, 512, [], \"f581\", \"M200.3 248c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zm128 0c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3z\"]\n};\nvar faGrinBeam = {\n prefix: 'far',\n iconName: 'grin-beam',\n icon: [496, 512, [], \"f582\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-235.9-72.9c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3zm160 0c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3z\"]\n};\nvar faGrinBeamSweat = {\n prefix: 'far',\n iconName: 'grin-beam-sweat',\n icon: [496, 512, [], \"f583\", \"M440 160c29.5 0 53.3-26.3 53.3-58.7 0-25-31.7-75.5-46.2-97.3-3.6-5.3-10.7-5.3-14.2 0-14.5 21.8-46.2 72.3-46.2 97.3 0 32.4 23.8 58.7 53.3 58.7zM248 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zm105.3-52.9c-24.6 15.7-46 12.9-46.4 12.9 6.9 20.2 10.8 41.8 10.8 64.3 0 110.3-89.7 200-200 200S48 366.3 48 256 137.7 56 248 56c39.8 0 76.8 11.8 108 31.9 1.7-9.5 6.3-24.1 17.2-45.7C336.4 20.6 293.7 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-27-4.4-52.9-12.4-77.2zM168 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"]\n};\nvar faGrinHearts = {\n prefix: 'far',\n iconName: 'grin-hearts',\n icon: [496, 512, [], \"f584\", \"M353.6 304.6c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-152.8-48.9c4.5 1.2 9.2-1.5 10.5-6l19.4-69.9c5.6-20.3-7.4-41.1-28.8-44.5-18.6-3-36.4 9.8-41.5 27.9l-2 7.1-7.1-1.9c-18.2-4.7-38.2 4.3-44.9 22-7.7 20.2 3.8 41.9 24.2 47.2l70.2 18.1zm188.8-65.3c-6.7-17.6-26.7-26.7-44.9-22l-7.1 1.9-2-7.1c-5-18.1-22.8-30.9-41.5-27.9-21.4 3.4-34.4 24.2-28.8 44.5l19.4 69.9c1.2 4.5 5.9 7.2 10.5 6l70.2-18.2c20.4-5.3 31.9-26.9 24.2-47.1zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200z\"]\n};\nvar faGrinSquint = {\n prefix: 'far',\n iconName: 'grin-squint',\n icon: [496, 512, [], \"f585\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-234.7-40.8c3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3l-80-48c-5.1-3-11.4-1.9-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11.1.1 15.5zm242.9 2.5c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11-.1-15.5-3.8-4.4-10.2-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48z\"]\n};\nvar faGrinSquintTears = {\n prefix: 'far',\n iconName: 'grin-squint-tears',\n icon: [512, 512, [], \"f586\", \"M117.1 384.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 479 124.3 420.8 128 395c.8-6.4-4.6-11.8-10.9-10.9zm-41.2-41.7C40.3 268 53 176.1 114.6 114.6 152.4 76.8 202.6 56 256 56c36.2 0 70.8 9.8 101.2 27.7 3.8-20.3 8-36.1 12-48.3C333.8 17.2 294.9 8 256 8 192.5 8 129.1 32.2 80.6 80.6c-74.1 74.1-91.3 183.4-52 274 12.2-4.1 27.7-8.3 47.3-12.2zm352.3-187.6c45 76.6 34.9 176.9-30.8 242.6-37.8 37.8-88 58.6-141.4 58.6-30.5 0-59.8-7-86.4-19.8-3.9 19.5-8 35-12.2 47.2 31.4 13.6 65 20.6 98.7 20.6 63.5 0 126.9-24.2 175.4-72.6 78.1-78.1 93.1-195.4 45.2-288.6-12.3 4-28.2 8.1-48.5 12zm-33.3-26.9c25.8-3.7 84-13.7 100.9-30.6 21.9-21.9 21.5-57.9-.9-80.3s-58.3-22.8-80.3-.9C397.7 33 387.7 91.2 384 117c-.8 6.4 4.6 11.8 10.9 10.9zm-187 108.3c-3-3-7.2-4.2-11.4-3.2L106 255.7c-5.7 1.4-9.5 6.7-9.1 12.6.5 5.8 5.1 10.5 10.9 11l52.3 4.8 4.8 52.3c.5 5.8 5.2 10.4 11 10.9h.9c5.5 0 10.3-3.7 11.7-9.1l22.6-90.5c1-4.2-.2-8.5-3.2-11.5zm39.7-25.1l90.5-22.6c5.7-1.4 9.5-6.7 9.1-12.6-.5-5.8-5.1-10.5-10.9-11l-52.3-4.8-4.8-52.3c-.5-5.8-5.2-10.4-11-10.9-5.6-.1-11.2 3.4-12.6 9.1L233 196.5c-1 4.1.2 8.4 3.2 11.4 5 5 11.3 3.2 11.4 3.2zm52 88.5c-29.1 29.1-59.7 52.9-83.9 65.4-9.2 4.8-10 17.5-1.7 23.4 38.9 27.7 107 6.2 143.7-30.6S416 253 388.3 214.1c-5.8-8.2-18.5-7.6-23.4 1.7-12.3 24.2-36.2 54.7-65.3 83.8z\"]\n};\nvar faGrinStars = {\n prefix: 'far',\n iconName: 'grin-stars',\n icon: [496, 512, [], \"f587\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-227.9-57.5c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.5 1.9-12.2-4.3-13.2l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6.1 34.9zm259.7-72.7l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6 34.9c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.6 1.8-12.2-4.4-13.2z\"]\n};\nvar faGrinTears = {\n prefix: 'far',\n iconName: 'grin-tears',\n icon: [640, 512, [], \"f588\", \"M117.1 256.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 351 124.3 292.8 128 267c.8-6.4-4.6-11.8-10.9-10.9zm506.7 30.6c-16.9-16.9-75.1-26.9-100.9-30.6-6.3-.9-11.7 4.5-10.8 10.8 3.7 25.8 13.7 84 30.6 100.9 21.9 21.9 57.9 21.5 80.3-.9 22.3-22.3 22.7-58.3.8-80.2zm-126.6 61.7C463.8 412.3 396.9 456 320 456c-76.9 0-143.8-43.7-177.2-107.6-12.5 37.4-25.2 43.9-28.3 46.5C159.1 460.7 234.5 504 320 504s160.9-43.3 205.5-109.1c-3.2-2.7-15.9-9.2-28.3-46.5zM122.7 224.5C137.9 129.2 220.5 56 320 56c99.5 0 182.1 73.2 197.3 168.5 2.1-.2 5.2-2.4 49.5 7C554.4 106 448.7 8 320 8S85.6 106 73.2 231.4c44.5-9.4 47.1-7.2 49.5-6.9zM320 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zM240 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"]\n};\nvar faGrinTongue = {\n prefix: 'far',\n iconName: 'grin-tongue',\n icon: [496, 512, [], \"f589\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zM168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faGrinTongueSquint = {\n prefix: 'far',\n iconName: 'grin-tongue-squint',\n icon: [496, 512, [], \"f58a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zm36.9-281.1c-3.8-4.4-10.3-5.5-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zm-162.9 45.5l-80-48c-5-3-11.4-2-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3z\"]\n};\nvar faGrinTongueWink = {\n prefix: 'far',\n iconName: 'grin-tongue-wink',\n icon: [496, 512, [], \"f58b\", \"M152 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm176-52c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3z\"]\n};\nvar faGrinWink = {\n prefix: 'far',\n iconName: 'grin-wink',\n icon: [496, 512, [], \"f58c\", \"M328 180c-25.69 0-55.88 16.92-59.86 42.12-1.75 11.22 11.5 18.24 19.83 10.84l9.55-8.48c14.81-13.19 46.16-13.19 60.97 0l9.55 8.48c8.48 7.43 21.56.25 19.83-10.84C383.88 196.92 353.69 180 328 180zm-160 60c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm185.55 64.64c-25.93 8.3-64.4 13.06-105.55 13.06s-79.62-4.75-105.55-13.06c-9.94-3.13-19.4 5.37-17.71 15.34C132.67 367.13 196.06 400 248 400s115.33-32.87 123.26-80.02c1.68-9.89-7.67-18.48-17.71-15.34zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"]\n};\nvar faHandLizard = {\n prefix: 'far',\n iconName: 'hand-lizard',\n icon: [576, 512, [], \"f258\", \"M556.686 290.542L410.328 64.829C397.001 44.272 374.417 32 349.917 32H56C25.121 32 0 57.122 0 88v8c0 44.112 35.888 80 80 80h196.042l-18.333 48H144c-48.523 0-88 39.477-88 88 0 30.879 25.121 56 56 56h131.552c2.987 0 5.914.549 8.697 1.631L352 408.418V480h224V355.829c0-23.225-6.679-45.801-19.314-65.287zM528 432H400v-23.582c0-19.948-12.014-37.508-30.604-44.736l-99.751-38.788A71.733 71.733 0 0 0 243.552 320H112c-4.411 0-8-3.589-8-8 0-22.056 17.944-40 40-40h113.709c19.767 0 37.786-12.407 44.84-30.873l24.552-64.281c8.996-23.553-8.428-48.846-33.63-48.846H80c-17.645 0-32-14.355-32-32v-8c0-4.411 3.589-8 8-8h293.917c8.166 0 15.693 4.09 20.137 10.942l146.358 225.715A71.84 71.84 0 0 1 528 355.829V432z\"]\n};\nvar faHandPaper = {\n prefix: 'far',\n iconName: 'hand-paper',\n icon: [448, 512, [], \"f256\", \"M372.57 112.641v-10.825c0-43.612-40.52-76.691-83.039-65.546-25.629-49.5-94.09-47.45-117.982.747C130.269 26.456 89.144 57.945 89.144 102v126.13c-19.953-7.427-43.308-5.068-62.083 8.871-29.355 21.796-35.794 63.333-14.55 93.153L132.48 498.569a32 32 0 0 0 26.062 13.432h222.897c14.904 0 27.835-10.289 31.182-24.813l30.184-130.958A203.637 203.637 0 0 0 448 310.564V179c0-40.62-35.523-71.992-75.43-66.359zm27.427 197.922c0 11.731-1.334 23.469-3.965 34.886L368.707 464h-201.92L51.591 302.303c-14.439-20.27 15.023-42.776 29.394-22.605l27.128 38.079c8.995 12.626 29.031 6.287 29.031-9.283V102c0-25.645 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V67c0-25.663 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V101.125c0-25.672 36.57-24.81 36.57.691V256c0 8.837 7.163 16 16 16h6.857c8.837 0 16-7.163 16-16v-76.309c0-26.242 36.57-25.64 36.57-.691v131.563z\"]\n};\nvar faHandPeace = {\n prefix: 'far',\n iconName: 'hand-peace',\n icon: [448, 512, [], \"f25b\", \"M362.146 191.976c-13.71-21.649-38.761-34.016-65.006-30.341V74c0-40.804-32.811-74-73.141-74-40.33 0-73.14 33.196-73.14 74L160 168l-18.679-78.85C126.578 50.843 83.85 32.11 46.209 47.208 8.735 62.238-9.571 104.963 5.008 142.85l55.757 144.927c-30.557 24.956-43.994 57.809-24.733 92.218l54.853 97.999C102.625 498.97 124.73 512 148.575 512h205.702c30.744 0 57.558-21.44 64.555-51.797l27.427-118.999a67.801 67.801 0 0 0 1.729-15.203L448 256c0-44.956-43.263-77.343-85.854-64.024zM399.987 326c0 1.488-.169 2.977-.502 4.423l-27.427 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H148.575c-6.486 0-12.542-3.621-15.805-9.449l-54.854-98c-4.557-8.141-2.619-18.668 4.508-24.488l26.647-21.764a16 16 0 0 0 4.812-18.139l-64.09-166.549C37.226 92.956 84.37 74.837 96.51 106.389l59.784 155.357A16 16 0 0 0 171.227 272h11.632c8.837 0 16-7.163 16-16V74c0-34.375 50.281-34.43 50.281 0v182c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16v-28c0-25.122 36.567-25.159 36.567 0v28c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16 0-25.12 36.567-25.16 36.567 0v70z\"]\n};\nvar faHandPointDown = {\n prefix: 'far',\n iconName: 'hand-point-down',\n icon: [448, 512, [], \"f0a7\", \"M188.8 512c45.616 0 83.2-37.765 83.2-83.2v-35.647a93.148 93.148 0 0 0 22.064-7.929c22.006 2.507 44.978-3.503 62.791-15.985C409.342 368.1 448 331.841 448 269.299V248c0-60.063-40-98.512-40-127.2v-2.679c4.952-5.747 8-13.536 8-22.12V32c0-17.673-12.894-32-28.8-32H156.8C140.894 0 128 14.327 128 32v64c0 8.584 3.048 16.373 8 22.12v2.679c0 6.964-6.193 14.862-23.668 30.183l-.148.129-.146.131c-9.937 8.856-20.841 18.116-33.253 25.851C48.537 195.798 0 207.486 0 252.8c0 56.928 35.286 92 83.2 92 8.026 0 15.489-.814 22.4-2.176V428.8c0 45.099 38.101 83.2 83.2 83.2zm0-48c-18.7 0-35.2-16.775-35.2-35.2V270.4c-17.325 0-35.2 26.4-70.4 26.4-26.4 0-35.2-20.625-35.2-44 0-8.794 32.712-20.445 56.1-34.926 14.575-9.074 27.225-19.524 39.875-30.799 18.374-16.109 36.633-33.836 39.596-59.075h176.752C364.087 170.79 400 202.509 400 248v21.299c0 40.524-22.197 57.124-61.325 50.601-8.001 14.612-33.979 24.151-53.625 12.925-18.225 19.365-46.381 17.787-61.05 4.95V428.8c0 18.975-16.225 35.2-35.2 35.2zM328 64c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24z\"]\n};\nvar faHandPointLeft = {\n prefix: 'far',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M0 220.8C0 266.416 37.765 304 83.2 304h35.647a93.148 93.148 0 0 0 7.929 22.064c-2.507 22.006 3.503 44.978 15.985 62.791C143.9 441.342 180.159 480 242.701 480H264c60.063 0 98.512-40 127.2-40h2.679c5.747 4.952 13.536 8 22.12 8h64c17.673 0 32-12.894 32-28.8V188.8c0-15.906-14.327-28.8-32-28.8h-64c-8.584 0-16.373 3.048-22.12 8H391.2c-6.964 0-14.862-6.193-30.183-23.668l-.129-.148-.131-.146c-8.856-9.937-18.116-20.841-25.851-33.253C316.202 80.537 304.514 32 259.2 32c-56.928 0-92 35.286-92 83.2 0 8.026.814 15.489 2.176 22.4H83.2C38.101 137.6 0 175.701 0 220.8zm48 0c0-18.7 16.775-35.2 35.2-35.2h158.4c0-17.325-26.4-35.2-26.4-70.4 0-26.4 20.625-35.2 44-35.2 8.794 0 20.445 32.712 34.926 56.1 9.074 14.575 19.524 27.225 30.799 39.875 16.109 18.374 33.836 36.633 59.075 39.596v176.752C341.21 396.087 309.491 432 264 432h-21.299c-40.524 0-57.124-22.197-50.601-61.325-14.612-8.001-24.151-33.979-12.925-53.625-19.365-18.225-17.787-46.381-4.95-61.05H83.2C64.225 256 48 239.775 48 220.8zM448 360c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"]\n};\nvar faHandPointRight = {\n prefix: 'far',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252.8 80c23.375 0 44 8.8 44 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"]\n};\nvar faHandPointUp = {\n prefix: 'far',\n iconName: 'hand-point-up',\n icon: [448, 512, [], \"f0a6\", \"M105.6 83.2v86.177a115.52 115.52 0 0 0-22.4-2.176c-47.914 0-83.2 35.072-83.2 92 0 45.314 48.537 57.002 78.784 75.707 12.413 7.735 23.317 16.994 33.253 25.851l.146.131.148.129C129.807 376.338 136 384.236 136 391.2v2.679c-4.952 5.747-8 13.536-8 22.12v64c0 17.673 12.894 32 28.8 32h230.4c15.906 0 28.8-14.327 28.8-32v-64c0-8.584-3.048-16.373-8-22.12V391.2c0-28.688 40-67.137 40-127.2v-21.299c0-62.542-38.658-98.8-91.145-99.94-17.813-12.482-40.785-18.491-62.791-15.985A93.148 93.148 0 0 0 272 118.847V83.2C272 37.765 234.416 0 188.8 0c-45.099 0-83.2 38.101-83.2 83.2zm118.4 0v91.026c14.669-12.837 42.825-14.415 61.05 4.95 19.646-11.227 45.624-1.687 53.625 12.925 39.128-6.524 61.325 10.076 61.325 50.6V264c0 45.491-35.913 77.21-39.676 120H183.571c-2.964-25.239-21.222-42.966-39.596-59.075-12.65-11.275-25.3-21.725-39.875-30.799C80.712 279.645 48 267.994 48 259.2c0-23.375 8.8-44 35.2-44 35.2 0 53.075 26.4 70.4 26.4V83.2c0-18.425 16.5-35.2 35.2-35.2 18.975 0 35.2 16.225 35.2 35.2zM352 424c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"]\n};\nvar faHandPointer = {\n prefix: 'far',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M358.182 179.361c-19.493-24.768-52.679-31.945-79.872-19.098-15.127-15.687-36.182-22.487-56.595-19.629V67c0-36.944-29.736-67-66.286-67S89.143 30.056 89.143 67v161.129c-19.909-7.41-43.272-5.094-62.083 8.872-29.355 21.795-35.793 63.333-14.55 93.152l109.699 154.001C134.632 501.59 154.741 512 176 512h178.286c30.802 0 57.574-21.5 64.557-51.797l27.429-118.999A67.873 67.873 0 0 0 448 326v-84c0-46.844-46.625-79.273-89.818-62.639zM80.985 279.697l27.126 38.079c8.995 12.626 29.031 6.287 29.031-9.283V67c0-25.12 36.571-25.16 36.571 0v175c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16v-35c0-25.12 36.571-25.16 36.571 0v35c0 8.836 7.163 16 16 16H272c8.837 0 16-7.164 16-16v-21c0-25.12 36.571-25.16 36.571 0v21c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16 0-25.121 36.571-25.16 36.571 0v84c0 1.488-.169 2.977-.502 4.423l-27.43 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H176c-5.769 0-11.263-2.878-14.697-7.697l-109.712-154c-14.406-20.223 14.994-42.818 29.394-22.606zM176.143 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.733 0-14-7.163-14-16zm75.428 0v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16zM327 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16z\"]\n};\nvar faHandRock = {\n prefix: 'far',\n iconName: 'hand-rock',\n icon: [512, 512, [], \"f255\", \"M408.864 79.052c-22.401-33.898-66.108-42.273-98.813-23.588-29.474-31.469-79.145-31.093-108.334-.022-47.16-27.02-108.71 5.055-110.671 60.806C44.846 105.407 0 140.001 0 187.429v56.953c0 32.741 14.28 63.954 39.18 85.634l97.71 85.081c4.252 3.702 3.11 5.573 3.11 32.903 0 17.673 14.327 32 32 32h252c17.673 0 32-14.327 32-32 0-23.513-1.015-30.745 3.982-42.37l42.835-99.656c6.094-14.177 9.183-29.172 9.183-44.568V146.963c0-52.839-54.314-88.662-103.136-67.911zM464 261.406a64.505 64.505 0 0 1-5.282 25.613l-42.835 99.655c-5.23 12.171-7.883 25.04-7.883 38.25V432H188v-10.286c0-16.37-7.14-31.977-19.59-42.817l-97.71-85.08C56.274 281.255 48 263.236 48 244.381v-56.953c0-33.208 52-33.537 52 .677v41.228a16 16 0 0 0 5.493 12.067l7 6.095A16 16 0 0 0 139 235.429V118.857c0-33.097 52-33.725 52 .677v26.751c0 8.836 7.164 16 16 16h7c8.836 0 16-7.164 16-16v-41.143c0-33.134 52-33.675 52 .677v40.466c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16v-27.429c0-33.03 52-33.78 52 .677v26.751c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16 0-33.146 52-33.613 52 .677v114.445z\"]\n};\nvar faHandScissors = {\n prefix: 'far',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M256 480l70-.013c5.114 0 10.231-.583 15.203-1.729l118.999-27.427C490.56 443.835 512 417.02 512 386.277V180.575c0-23.845-13.03-45.951-34.005-57.69l-97.999-54.853c-34.409-19.261-67.263-5.824-92.218 24.733L142.85 37.008c-37.887-14.579-80.612 3.727-95.642 41.201-15.098 37.642 3.635 80.37 41.942 95.112L168 192l-94-9.141c-40.804 0-74 32.811-74 73.14 0 40.33 33.196 73.141 74 73.141h87.635c-3.675 26.245 8.692 51.297 30.341 65.006C178.657 436.737 211.044 480 256 480zm0-48.013c-25.16 0-25.12-36.567 0-36.567 8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16h-28c-25.159 0-25.122-36.567 0-36.567h28c8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16H74c-34.43 0-34.375-50.281 0-50.281h182c8.837 0 16-7.163 16-16v-11.632a16 16 0 0 0-10.254-14.933L106.389 128.51c-31.552-12.14-13.432-59.283 19.222-46.717l166.549 64.091a16.001 16.001 0 0 0 18.139-4.812l21.764-26.647c5.82-7.127 16.348-9.064 24.488-4.508l98 54.854c5.828 3.263 9.449 9.318 9.449 15.805v205.701c0 8.491-5.994 15.804-14.576 17.782l-119.001 27.427a19.743 19.743 0 0 1-4.423.502h-70z\"]\n};\nvar faHandSpock = {\n prefix: 'far',\n iconName: 'hand-spock',\n icon: [512, 512, [], \"f259\", \"M501.03053,116.17605c-19.39059-31.50779-51.24406-35.72849-66.31044-35.01756-14.11325-50.81051-62.0038-54.08-70.73816-54.08a74.03091,74.03091,0,0,0-72.23816,58.916l-4.64648,22.66014-13.68357-53.207c-9.09569-35.37107-46.412-64.05074-89.66-53.07223a73.89749,73.89749,0,0,0-55.121,78.94722,73.68273,73.68273,0,0,0-64.8495,94.42181l24.35933,82.19721c-38.24017-7.54492-62.79677,16.18358-68.11512,21.84764a73.6791,73.6791,0,0,0,3.19921,104.19329l91.36509,85.9765A154.164,154.164,0,0,0,220.62279,512h107.4549A127.30079,127.30079,0,0,0,452.3392,413.86139l57.623-241.96272A73.20274,73.20274,0,0,0,501.03053,116.17605Zm-37.7597,44.60544L405.64788,402.74812a79.46616,79.46616,0,0,1-77.57019,61.25972H220.62279a106.34052,106.34052,0,0,1-73.1366-28.998l-91.369-85.98041C31.34381,325.72669,66.61133,288.131,91.39644,311.5392l51.123,48.10739c5.42577,5.10937,13.48239.71679,13.48239-5.82617a246.79914,246.79914,0,0,0-10.17771-70.1523l-36.01362-121.539c-9.7324-32.88279,39.69916-47.27145,49.38664-14.625l31.3437,105.77923c5.59374,18.90428,33.78119,10.71288,28.9648-8.00781L177.06427,80.23662c-8.50389-33.1035,41.43157-45.64646,49.86515-12.83593l47.32609,184.035c4.42773,17.24218,29.16207,16.5039,32.71089-.80468l31.791-154.9706c6.81054-33.1074,57.51748-24.10741,50.11906,11.96288L360.32764,246.78924c-3.72265,18.10936,23.66793,24.63084,28.05659,6.21679L413.185,148.85962C421.1498,115.512,471.14,127.79713,463.27083,160.78149Z\"]\n};\nvar faHandshake = {\n prefix: 'far',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M519.2 127.9l-47.6-47.6A56.252 56.252 0 0 0 432 64H205.2c-14.8 0-29.1 5.9-39.6 16.3L118 127.9H0v255.7h64c17.6 0 31.8-14.2 31.9-31.7h9.1l84.6 76.4c30.9 25.1 73.8 25.7 105.6 3.8 12.5 10.8 26 15.9 41.1 15.9 18.2 0 35.3-7.4 48.8-24 22.1 8.7 48.2 2.6 64-16.8l26.2-32.3c5.6-6.9 9.1-14.8 10.9-23h57.9c.1 17.5 14.4 31.7 31.9 31.7h64V127.9H519.2zM48 351.6c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16zm390-6.9l-26.1 32.2c-2.8 3.4-7.8 4-11.3 1.2l-23.9-19.4-30 36.5c-6 7.3-15 4.8-18 2.4l-36.8-31.5-15.6 19.2c-13.9 17.1-39.2 19.7-55.3 6.6l-97.3-88H96V175.8h41.9l61.7-61.6c2-.8 3.7-1.5 5.7-2.3H262l-38.7 35.5c-29.4 26.9-31.1 72.3-4.4 101.3 14.8 16.2 61.2 41.2 101.5 4.4l8.2-7.5 108.2 87.8c3.4 2.8 3.9 7.9 1.2 11.3zm106-40.8h-69.2c-2.3-2.8-4.9-5.4-7.7-7.7l-102.7-83.4 12.5-11.4c6.5-6 7-16.1 1-22.6L367 167.1c-6-6.5-16.1-6.9-22.6-1l-55.2 50.6c-9.5 8.7-25.7 9.4-34.6 0-9.3-9.9-8.5-25.1 1.2-33.9l65.6-60.1c7.4-6.8 17-10.5 27-10.5l83.7-.2c2.1 0 4.1.8 5.5 2.3l61.7 61.6H544v128zm48 47.7c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16z\"]\n};\nvar faHdd = {\n prefix: 'far',\n iconName: 'hdd',\n icon: [576, 512, [], \"f0a0\", \"M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H75.168l77.913-112zM528 400H48V272h480v128zm-32-64c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32zm-96 0c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z\"]\n};\nvar faHeart = {\n prefix: 'far',\n iconName: 'heart',\n icon: [512, 512, [], \"f004\", \"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z\"]\n};\nvar faHospital = {\n prefix: 'far',\n iconName: 'hospital',\n icon: [448, 512, [], \"f0f8\", \"M128 244v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm140 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm-76 84v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm76 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm180 124v36H0v-36c0-6.627 5.373-12 12-12h19.5V85.035C31.5 73.418 42.245 64 55.5 64H144V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v40h88.5c13.255 0 24 9.418 24 21.035V464H436c6.627 0 12 5.373 12 12zM79.5 463H192v-67c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v67h112.5V112H304v24c0 13.255-10.745 24-24 24H168c-13.255 0-24-10.745-24-24v-24H79.5v351zM266 64h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6z\"]\n};\nvar faHourglass = {\n prefix: 'far',\n iconName: 'hourglass',\n icon: [384, 512, [], \"f254\", \"M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.899 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zM64 48h256c0 101.62-57.307 184-128 184S64 149.621 64 48zm256 416H64c0-101.62 57.308-184 128-184s128 82.38 128 184z\"]\n};\nvar faIdBadge = {\n prefix: 'far',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm0 464H48V48h288v416zM144 112h96c8.8 0 16-7.2 16-16s-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16zm48 176c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"]\n};\nvar faIdCard = {\n prefix: 'far',\n iconName: 'id-card',\n icon: [576, 512, [], \"f2c2\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H303.2c.9-4.5.8 3.6.8-22.4 0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6 0 26-.2 17.9.8 22.4H48V144h480v288zm-168-80h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm-168 96c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"]\n};\nvar faImage = {\n prefix: 'far',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z\"]\n};\nvar faImages = {\n prefix: 'far',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z\"]\n};\nvar faKeyboard = {\n prefix: 'far',\n iconName: 'keyboard',\n icon: [576, 512, [], \"f11c\", \"M528 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm8 336c0 4.411-3.589 8-8 8H48c-4.411 0-8-3.589-8-8V112c0-4.411 3.589-8 8-8h480c4.411 0 8 3.589 8 8v288zM170 270v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-336 82v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm384 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zM122 188v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-98 158v-16c0-6.627-5.373-12-12-12H180c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h216c6.627 0 12-5.373 12-12z\"]\n};\nvar faKiss = {\n prefix: 'far',\n iconName: 'kiss',\n icon: [496, 512, [], \"f596\", \"M168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm136 132c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faKissBeam = {\n prefix: 'far',\n iconName: 'kiss-beam',\n icon: [496, 512, [], \"f597\", \"M168 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm56-148c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zm24-156c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4z\"]\n};\nvar faKissWinkHeart = {\n prefix: 'far',\n iconName: 'kiss-wink-heart',\n icon: [504, 512, [], \"f598\", \"M304 308.5c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36 21.7-9.1 35.1-23.4 35.1-36.4zm70.5-83.5l9.5 8.5c3.8 3.3 9.3 4 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 5.8 3.1 11.2.7 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0zM136 208.5c0 17.7 14.3 32 32 32s32-14.3 32-32-14.3-32-32-32-32 14.3-32 32zm365.1 194c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zM334 436.3c-26.1 12.5-55.2 19.7-86 19.7-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200c0 22.1-3.7 43.3-10.4 63.2 9 6.4 17 14.2 22.6 23.9 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-2.5-7.3 4.3 17.2-13.4-46.8z\"]\n};\nvar faLaugh = {\n prefix: 'far',\n iconName: 'laugh',\n icon: [496, 512, [], \"f599\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 224c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm-160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughBeam = {\n prefix: 'far',\n iconName: 'laugh-beam',\n icon: [496, 512, [], \"f59a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 152c-23.8 0-52.7 29.3-56 71.4-.7 8.6 10.8 11.9 14.9 4.5l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.1-42.1-32-71.4-55.8-71.4zm-201 75.9l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.6 8.5 10.9 11.9 15.1 4.5zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughSquint = {\n prefix: 'far',\n iconName: 'laugh-squint',\n icon: [496, 512, [], \"f59b\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM343.6 196l33.6-40.3c8.6-10.3-3.8-24.8-15.4-18l-80 48c-7.8 4.7-7.8 15.9 0 20.6l80 48c11.5 6.8 24-7.6 15.4-18L343.6 196zm-209.4 58.3l80-48c7.8-4.7 7.8-15.9 0-20.6l-80-48c-11.6-6.9-24 7.7-15.4 18l33.6 40.3-33.6 40.3c-8.7 10.4 3.8 24.8 15.4 18zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughWink = {\n prefix: 'far',\n iconName: 'laugh-wink',\n icon: [496, 512, [], \"f59c\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6C68.8 359.6 48 309.4 48 256s20.8-103.6 58.6-141.4C144.4 76.8 194.6 56 248 56s103.6 20.8 141.4 58.6c37.8 37.8 58.6 88 58.6 141.4s-20.8 103.6-58.6 141.4zM328 164c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1zm-160 60c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLemon = {\n prefix: 'far',\n iconName: 'lemon',\n icon: [512, 512, [], \"f094\", \"M484.112 27.889C455.989-.233 416.108-8.057 387.059 8.865 347.604 31.848 223.504-41.111 91.196 91.197-41.277 223.672 31.923 347.472 8.866 387.058c-16.922 29.051-9.1 68.932 19.022 97.054 28.135 28.135 68.011 35.938 97.057 19.021 39.423-22.97 163.557 49.969 295.858-82.329 132.474-132.477 59.273-256.277 82.331-295.861 16.922-29.05 9.1-68.931-19.022-97.054zm-22.405 72.894c-38.8 66.609 45.6 165.635-74.845 286.08-120.44 120.443-219.475 36.048-286.076 74.843-22.679 13.207-64.035-27.241-50.493-50.488 38.8-66.609-45.6-165.635 74.845-286.08C245.573 4.702 344.616 89.086 411.219 50.292c22.73-13.24 64.005 27.288 50.488 50.491zm-169.861 8.736c1.37 10.96-6.404 20.957-17.365 22.327-54.846 6.855-135.779 87.787-142.635 142.635-1.373 10.989-11.399 18.734-22.326 17.365-10.961-1.37-18.735-11.366-17.365-22.326 9.162-73.286 104.167-168.215 177.365-177.365 10.953-1.368 20.956 6.403 22.326 17.364z\"]\n};\nvar faLifeRing = {\n prefix: 'far',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z\"]\n};\nvar faLightbulb = {\n prefix: 'far',\n iconName: 'lightbulb',\n icon: [352, 512, [], \"f0eb\", \"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z\"]\n};\nvar faListAlt = {\n prefix: 'far',\n iconName: 'list-alt',\n icon: [512, 512, [], \"f022\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z\"]\n};\nvar faMap = {\n prefix: 'far',\n iconName: 'map',\n icon: [576, 512, [], \"f279\", \"M560.02 32c-1.96 0-3.98.37-5.96 1.16L384.01 96H384L212 35.28A64.252 64.252 0 0 0 191.76 32c-6.69 0-13.37 1.05-19.81 3.14L20.12 87.95A32.006 32.006 0 0 0 0 117.66v346.32C0 473.17 7.53 480 15.99 480c1.96 0 3.97-.37 5.96-1.16L192 416l172 60.71a63.98 63.98 0 0 0 40.05.15l151.83-52.81A31.996 31.996 0 0 0 576 394.34V48.02c0-9.19-7.53-16.02-15.98-16.02zM224 90.42l128 45.19v285.97l-128-45.19V90.42zM48 418.05V129.07l128-44.53v286.2l-.64.23L48 418.05zm480-35.13l-128 44.53V141.26l.64-.24L528 93.95v288.97z\"]\n};\nvar faMeh = {\n prefix: 'far',\n iconName: 'meh',\n icon: [496, 512, [], \"f11a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm8 144H160c-13.2 0-24 10.8-24 24s10.8 24 24 24h176c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faMehBlank = {\n prefix: 'far',\n iconName: 'meh-blank',\n icon: [496, 512, [], \"f5a4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faMehRollingEyes = {\n prefix: 'far',\n iconName: 'meh-rolling-eyes',\n icon: [496, 512, [], \"f5a5\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm88-304c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 112c-22.1 0-40-17.9-40-40 0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40zm-104-40c0-39.8-32.2-72-72-72s-72 32.2-72 72 32.2 72 72 72 72-32.2 72-72zm-112 0c0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40s-40-17.9-40-40zm192 128H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faMinusSquare = {\n prefix: 'far',\n iconName: 'minus-square',\n icon: [448, 512, [], \"f146\", \"M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faMoneyBillAlt = {\n prefix: 'far',\n iconName: 'money-bill-alt',\n icon: [640, 512, [], \"f3d1\", \"M320 144c-53.02 0-96 50.14-96 112 0 61.85 42.98 112 96 112 53 0 96-50.13 96-112 0-61.86-42.98-112-96-112zm40 168c0 4.42-3.58 8-8 8h-64c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h16v-55.44l-.47.31a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09l15.33-10.22a23.99 23.99 0 0 1 13.31-4.03H328c4.42 0 8 3.58 8 8v88h16c4.42 0 8 3.58 8 8v16zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zm-16 272c-35.35 0-64 28.65-64 64H112c0-35.35-28.65-64-64-64V176c35.35 0 64-28.65 64-64h416c0 35.35 28.65 64 64 64v160z\"]\n};\nvar faMoon = {\n prefix: 'far',\n iconName: 'moon',\n icon: [512, 512, [], \"f186\", \"M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z\"]\n};\nvar faNewspaper = {\n prefix: 'far',\n iconName: 'newspaper',\n icon: [576, 512, [], \"f1ea\", \"M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z\"]\n};\nvar faObjectGroup = {\n prefix: 'far',\n iconName: 'object-group',\n icon: [512, 512, [], \"f247\", \"M500 128c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v256H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V128h12zm-52-64h32v32h-32V64zM32 64h32v32H32V64zm32 384H32v-32h32v32zm416 0h-32v-32h32v32zm-40-64h-12c-6.627 0-12 5.373-12 12v12H96v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h12v256zm-36-192h-84v-52c0-6.628-5.373-12-12-12H108c-6.627 0-12 5.372-12 12v168c0 6.628 5.373 12 12 12h84v52c0 6.628 5.373 12 12 12h200c6.627 0 12-5.372 12-12V204c0-6.628-5.373-12-12-12zm-268-24h144v112H136V168zm240 176H232v-24h76c6.627 0 12-5.372 12-12v-76h56v112z\"]\n};\nvar faObjectUngroup = {\n prefix: 'far',\n iconName: 'object-ungroup',\n icon: [576, 512, [], \"f248\", \"M564 224c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12h-88v-24h12c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v160H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h88v24h-12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V224h12zM352 64h32v32h-32V64zm0 256h32v32h-32v-32zM64 352H32v-32h32v32zm0-256H32V64h32v32zm32 216v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h12v160h-12c-6.627 0-12 5.373-12 12v12H96zm128 136h-32v-32h32v32zm280-64h-12c-6.627 0-12 5.373-12 12v12H256v-12c0-6.627-5.373-12-12-12h-12v-24h88v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12v-88h88v12c0 6.627 5.373 12 12 12h12v160zm40 64h-32v-32h32v32zm0-256h-32v-32h32v32z\"]\n};\nvar faPaperPlane = {\n prefix: 'far',\n iconName: 'paper-plane',\n icon: [512, 512, [], \"f1d8\", \"M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z\"]\n};\nvar faPauseCircle = {\n prefix: 'far',\n iconName: 'pause-circle',\n icon: [512, 512, [], \"f28b\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm96-280v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16zm-112 0v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16z\"]\n};\nvar faPlayCircle = {\n prefix: 'far',\n iconName: 'play-circle',\n icon: [512, 512, [], \"f144\", \"M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z\"]\n};\nvar faPlusSquare = {\n prefix: 'far',\n iconName: 'plus-square',\n icon: [448, 512, [], \"f0fe\", \"M352 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm96-160v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faQuestionCircle = {\n prefix: 'far',\n iconName: 'question-circle',\n icon: [512, 512, [], \"f059\", \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z\"]\n};\nvar faRegistered = {\n prefix: 'far',\n iconName: 'registered',\n icon: [512, 512, [], \"f25d\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm110.442-81.791c-53.046-96.284-50.25-91.468-53.271-96.085 24.267-13.879 39.482-41.563 39.482-73.176 0-52.503-30.247-85.252-101.498-85.252h-78.667c-6.617 0-12 5.383-12 12V380c0 6.617 5.383 12 12 12h38.568c6.617 0 12-5.383 12-12v-83.663h31.958l47.515 89.303a11.98 11.98 0 0 0 10.593 6.36h42.81c9.14 0 14.914-9.799 10.51-17.791zM256.933 239.906h-33.875v-64.14h27.377c32.417 0 38.929 12.133 38.929 31.709-.001 20.913-11.518 32.431-32.431 32.431z\"]\n};\nvar faSadCry = {\n prefix: 'far',\n iconName: 'sad-cry',\n icon: [496, 512, [], \"f5b3\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm144 386.4V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v151.4C315.5 447 282.8 456 248 456s-67.5-9-96-24.6V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v114.4c-34.6-36-56-84.7-56-138.4 0-110.3 89.7-200 200-200s200 89.7 200 200c0 53.7-21.4 102.5-56 138.4zM205.8 234.5c4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.3 7.9 4.8 13.7 1.6zM344 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.5 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm-96 92c-30.9 0-56 28.7-56 64s25.1 64 56 64 56-28.7 56-64-25.1-64-56-64z\"]\n};\nvar faSadTear = {\n prefix: 'far',\n iconName: 'sad-tear',\n icon: [496, 512, [], \"f5b4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm8-152c-13.2 0-24 10.8-24 24s10.8 24 24 24c23.8 0 46.3 10.5 61.6 28.8 8.1 9.8 23.2 11.9 33.8 3.1 10.2-8.5 11.6-23.6 3.1-33.8C330 320.8 294.1 304 256 304zm-88-64c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-165.6 98.8C151 290.1 126 325.4 126 342.9c0 22.7 18.8 41.1 42 41.1s42-18.4 42-41.1c0-17.5-25-52.8-36.4-68.1-2.8-3.7-8.4-3.7-11.2 0z\"]\n};\nvar faSave = {\n prefix: 'far',\n iconName: 'save',\n icon: [448, 512, [], \"f0c7\", \"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z\"]\n};\nvar faShareSquare = {\n prefix: 'far',\n iconName: 'share-square',\n icon: [576, 512, [], \"f14d\", \"M561.938 158.06L417.94 14.092C387.926-15.922 336 5.097 336 48.032v57.198c-42.45 1.88-84.03 6.55-120.76 17.99-35.17 10.95-63.07 27.58-82.91 49.42C108.22 199.2 96 232.6 96 271.94c0 61.697 33.178 112.455 84.87 144.76 37.546 23.508 85.248-12.651 71.02-55.74-15.515-47.119-17.156-70.923 84.11-78.76V336c0 42.993 51.968 63.913 81.94 33.94l143.998-144c18.75-18.74 18.75-49.14 0-67.88zM384 336V232.16C255.309 234.082 166.492 255.35 206.31 376 176.79 357.55 144 324.08 144 271.94c0-109.334 129.14-118.947 240-119.85V48l144 144-144 144zm24.74 84.493a82.658 82.658 0 0 0 20.974-9.303c7.976-4.952 18.286.826 18.286 10.214V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h132c6.627 0 12 5.373 12 12v4.486c0 4.917-2.987 9.369-7.569 11.152-13.702 5.331-26.396 11.537-38.05 18.585a12.138 12.138 0 0 1-6.28 1.777H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6v-25.966c0-5.37 3.579-10.059 8.74-11.541z\"]\n};\nvar faSmile = {\n prefix: 'far',\n iconName: 'smile',\n icon: [496, 512, [], \"f118\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z\"]\n};\nvar faSmileBeam = {\n prefix: 'far',\n iconName: 'smile-beam',\n icon: [496, 512, [], \"f5b8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm84-143.4c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.6-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.2-8.4-25.3-7.1-33.8 3.1zM136.5 211c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.4 1.1 7.4-.5 9.3-3.7l9.5-17zM328 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4z\"]\n};\nvar faSmileWink = {\n prefix: 'far',\n iconName: 'smile-wink',\n icon: [496, 512, [], \"f4da\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm117.8-146.4c-10.2-8.5-25.3-7.1-33.8 3.1-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-60c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1z\"]\n};\nvar faSnowflake = {\n prefix: 'far',\n iconName: 'snowflake',\n icon: [448, 512, [], \"f2dc\", \"M440.1 355.2l-39.2-23 34.1-9.3c8.4-2.3 13.4-11.1 11.1-19.6l-4.1-15.5c-2.2-8.5-10.9-13.6-19.3-11.3L343 298.2 271.2 256l71.9-42.2 79.7 21.7c8.4 2.3 17-2.8 19.3-11.3l4.1-15.5c2.2-8.5-2.7-17.3-11.1-19.6l-34.1-9.3 39.2-23c7.5-4.4 10.1-14.2 5.8-21.9l-7.9-13.9c-4.3-7.7-14-10.3-21.5-5.9l-39.2 23 9.1-34.7c2.2-8.5-2.7-17.3-11.1-19.6l-15.2-4.1c-8.4-2.3-17 2.8-19.3 11.3l-21.3 81-71.9 42.2v-84.5L306 70.4c6.1-6.2 6.1-16.4 0-22.6l-11.1-11.3c-6.1-6.2-16.1-6.2-22.2 0l-24.9 25.4V16c0-8.8-7-16-15.7-16h-15.7c-8.7 0-15.7 7.2-15.7 16v46.1l-24.9-25.4c-6.1-6.2-16.1-6.2-22.2 0L142.1 48c-6.1 6.2-6.1 16.4 0 22.6l58.3 59.3v84.5l-71.9-42.2-21.3-81c-2.2-8.5-10.9-13.6-19.3-11.3L72.7 84c-8.4 2.3-13.4 11.1-11.1 19.6l9.1 34.7-39.2-23c-7.5-4.4-17.1-1.8-21.5 5.9l-7.9 13.9c-4.3 7.7-1.8 17.4 5.8 21.9l39.2 23-34.1 9.1c-8.4 2.3-13.4 11.1-11.1 19.6L6 224.2c2.2 8.5 10.9 13.6 19.3 11.3l79.7-21.7 71.9 42.2-71.9 42.2-79.7-21.7c-8.4-2.3-17 2.8-19.3 11.3l-4.1 15.5c-2.2 8.5 2.7 17.3 11.1 19.6l34.1 9.3-39.2 23c-7.5 4.4-10.1 14.2-5.8 21.9L10 391c4.3 7.7 14 10.3 21.5 5.9l39.2-23-9.1 34.7c-2.2 8.5 2.7 17.3 11.1 19.6l15.2 4.1c8.4 2.3 17-2.8 19.3-11.3l21.3-81 71.9-42.2v84.5l-58.3 59.3c-6.1 6.2-6.1 16.4 0 22.6l11.1 11.3c6.1 6.2 16.1 6.2 22.2 0l24.9-25.4V496c0 8.8 7 16 15.7 16h15.7c8.7 0 15.7-7.2 15.7-16v-46.1l24.9 25.4c6.1 6.2 16.1 6.2 22.2 0l11.1-11.3c6.1-6.2 6.1-16.4 0-22.6l-58.3-59.3v-84.5l71.9 42.2 21.3 81c2.2 8.5 10.9 13.6 19.3 11.3L375 428c8.4-2.3 13.4-11.1 11.1-19.6l-9.1-34.7 39.2 23c7.5 4.4 17.1 1.8 21.5-5.9l7.9-13.9c4.6-7.5 2.1-17.3-5.5-21.7z\"]\n};\nvar faSquare = {\n prefix: 'far',\n iconName: 'square',\n icon: [448, 512, [], \"f0c8\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z\"]\n};\nvar faStar = {\n prefix: 'far',\n iconName: 'star',\n icon: [576, 512, [], \"f005\", \"M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z\"]\n};\nvar faStarHalf = {\n prefix: 'far',\n iconName: 'star-half',\n icon: [576, 512, [], \"f089\", \"M288 385.3l-124.3 65.4 23.7-138.4-100.6-98 139-20.2 62.2-126V0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6v-54.3z\"]\n};\nvar faStickyNote = {\n prefix: 'far',\n iconName: 'sticky-note',\n icon: [448, 512, [], \"f249\", \"M448 348.106V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80v351.988c0 26.51 21.49 48 48 48h268.118a48 48 0 0 0 33.941-14.059l83.882-83.882A48 48 0 0 0 448 348.106zm-128 80v-76.118h76.118L320 428.106zM400 80v223.988H296c-13.255 0-24 10.745-24 24v104H48V80h352z\"]\n};\nvar faStopCircle = {\n prefix: 'far',\n iconName: 'stop-circle',\n icon: [512, 512, [], \"f28d\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm296-80v160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z\"]\n};\nvar faSun = {\n prefix: 'far',\n iconName: 'sun',\n icon: [512, 512, [], \"f185\", \"M494.2 221.9l-59.8-40.5 13.7-71c2.6-13.2-1.6-26.8-11.1-36.4-9.6-9.5-23.2-13.7-36.2-11.1l-70.9 13.7-40.4-59.9c-15.1-22.3-51.9-22.3-67 0l-40.4 59.9-70.8-13.7C98 60.4 84.5 64.5 75 74.1c-9.5 9.6-13.7 23.1-11.1 36.3l13.7 71-59.8 40.5C6.6 229.5 0 242 0 255.5s6.7 26 17.8 33.5l59.8 40.5-13.7 71c-2.6 13.2 1.6 26.8 11.1 36.3 9.5 9.5 22.9 13.7 36.3 11.1l70.8-13.7 40.4 59.9C230 505.3 242.6 512 256 512s26-6.7 33.5-17.8l40.4-59.9 70.9 13.7c13.4 2.7 26.8-1.6 36.3-11.1 9.5-9.5 13.6-23.1 11.1-36.3l-13.7-71 59.8-40.5c11.1-7.5 17.8-20.1 17.8-33.5-.1-13.6-6.7-26.1-17.9-33.7zm-112.9 85.6l17.6 91.2-91-17.6L256 458l-51.9-77-90.9 17.6 17.6-91.2-76.8-52 76.8-52-17.6-91.2 91 17.6L256 53l51.9 76.9 91-17.6-17.6 91.1 76.8 52-76.8 52.1zM256 152c-57.3 0-104 46.7-104 104s46.7 104 104 104 104-46.7 104-104-46.7-104-104-104zm0 160c-30.9 0-56-25.1-56-56s25.1-56 56-56 56 25.1 56 56-25.1 56-56 56z\"]\n};\nvar faSurprise = {\n prefix: 'far',\n iconName: 'surprise',\n icon: [496, 512, [], \"f5c2\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-176c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm-48-72c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faThumbsDown = {\n prefix: 'far',\n iconName: 'thumbs-down',\n icon: [512, 512, [], \"f165\", \"M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z\"]\n};\nvar faThumbsUp = {\n prefix: 'far',\n iconName: 'thumbs-up',\n icon: [512, 512, [], \"f164\", \"M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"]\n};\nvar faTimesCircle = {\n prefix: 'far',\n iconName: 'times-circle',\n icon: [512, 512, [], \"f057\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z\"]\n};\nvar faTired = {\n prefix: 'far',\n iconName: 'tired',\n icon: [496, 512, [], \"f5c8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm129.1-303.8c-3.8-4.4-10.3-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.8 1.6 15.3-2.5 3.8-4.5 3.9-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zM220 208c0-4.2-2.2-8.1-5.8-10.3l-80-48c-5-3-11.5-1.9-15.3 2.5-3.8 4.5-3.9 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.5 4.1 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3zm28 64c-45.4 0-100.9 38.3-107.8 93.3-1.5 11.8 6.9 21.6 15.5 17.9C178.4 373.5 212 368 248 368s69.6 5.5 92.3 15.2c8.5 3.7 17-6 15.5-17.9-6.9-55-62.4-93.3-107.8-93.3z\"]\n};\nvar faTrashAlt = {\n prefix: 'far',\n iconName: 'trash-alt',\n icon: [448, 512, [], \"f2ed\", \"M268 416h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12zM432 80h-82.41l-34-56.7A48 48 0 0 0 274.41 0H173.59a48 48 0 0 0-41.16 23.3L98.41 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16v336a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM171.84 50.91A6 6 0 0 1 177 48h94a6 6 0 0 1 5.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12z\"]\n};\nvar faUser = {\n prefix: 'far',\n iconName: 'user',\n icon: [448, 512, [], \"f007\", \"M313.6 304c-28.7 0-42.5 16-89.6 16-47.1 0-60.8-16-89.6-16C60.2 304 0 364.2 0 438.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM400 464H48v-25.6c0-47.6 38.8-86.4 86.4-86.4 14.6 0 38.3 16 89.6 16 51.7 0 74.9-16 89.6-16 47.6 0 86.4 38.8 86.4 86.4V464zM224 288c79.5 0 144-64.5 144-144S303.5 0 224 0 80 64.5 80 144s64.5 144 144 144zm0-240c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96z\"]\n};\nvar faUserCircle = {\n prefix: 'far',\n iconName: 'user-circle',\n icon: [496, 512, [], \"f2bd\", \"M248 104c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-240C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-49.7 0-95.1-18.3-130.1-48.4 14.9-23 40.4-38.6 69.6-39.5 20.8 6.4 40.6 9.6 60.5 9.6s39.7-3.1 60.5-9.6c29.2 1 54.7 16.5 69.6 39.5-35 30.1-80.4 48.4-130.1 48.4zm162.7-84.1c-24.4-31.4-62.1-51.9-105.1-51.9-10.2 0-26 9.6-57.6 9.6-31.5 0-47.4-9.6-57.6-9.6-42.9 0-80.6 20.5-105.1 51.9C61.9 339.2 48 299.2 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 43.2-13.9 83.2-37.3 115.9z\"]\n};\nvar faWindowClose = {\n prefix: 'far',\n iconName: 'window-close',\n icon: [512, 512, [], \"f410\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z\"]\n};\nvar faWindowMaximize = {\n prefix: 'far',\n iconName: 'window-maximize',\n icon: [512, 512, [], \"f2d0\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"]\n};\nvar faWindowMinimize = {\n prefix: 'far',\n iconName: 'window-minimize',\n icon: [512, 512, [], \"f2d1\", \"M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]\n};\nvar faWindowRestore = {\n prefix: 'far',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M464 0H144c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-96 464H48V256h320v208zm96-96h-48V144c0-26.5-21.5-48-48-48H144V48h320v320z\"]\n};\nvar _iconsCache = {\n faAddressBook: faAddressBook,\n faAddressCard: faAddressCard,\n faAngry: faAngry,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faBell: faBell,\n faBellSlash: faBellSlash,\n faBookmark: faBookmark,\n faBuilding: faBuilding,\n faCalendar: faCalendar,\n faCalendarAlt: faCalendarAlt,\n faCalendarCheck: faCalendarCheck,\n faCalendarMinus: faCalendarMinus,\n faCalendarPlus: faCalendarPlus,\n faCalendarTimes: faCalendarTimes,\n faCaretSquareDown: faCaretSquareDown,\n faCaretSquareLeft: faCaretSquareLeft,\n faCaretSquareRight: faCaretSquareRight,\n faCaretSquareUp: faCaretSquareUp,\n faChartBar: faChartBar,\n faCheckCircle: faCheckCircle,\n faCheckSquare: faCheckSquare,\n faCircle: faCircle,\n faClipboard: faClipboard,\n faClock: faClock,\n faClone: faClone,\n faClosedCaptioning: faClosedCaptioning,\n faComment: faComment,\n faCommentAlt: faCommentAlt,\n faCommentDots: faCommentDots,\n faComments: faComments,\n faCompass: faCompass,\n faCopy: faCopy,\n faCopyright: faCopyright,\n faCreditCard: faCreditCard,\n faDizzy: faDizzy,\n faDotCircle: faDotCircle,\n faEdit: faEdit,\n faEnvelope: faEnvelope,\n faEnvelopeOpen: faEnvelopeOpen,\n faEye: faEye,\n faEyeSlash: faEyeSlash,\n faFile: faFile,\n faFileAlt: faFileAlt,\n faFileArchive: faFileArchive,\n faFileAudio: faFileAudio,\n faFileCode: faFileCode,\n faFileExcel: faFileExcel,\n faFileImage: faFileImage,\n faFilePdf: faFilePdf,\n faFilePowerpoint: faFilePowerpoint,\n faFileVideo: faFileVideo,\n faFileWord: faFileWord,\n faFlag: faFlag,\n faFlushed: faFlushed,\n faFolder: faFolder,\n faFolderOpen: faFolderOpen,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFrown: faFrown,\n faFrownOpen: faFrownOpen,\n faFutbol: faFutbol,\n faGem: faGem,\n faGrimace: faGrimace,\n faGrin: faGrin,\n faGrinAlt: faGrinAlt,\n faGrinBeam: faGrinBeam,\n faGrinBeamSweat: faGrinBeamSweat,\n faGrinHearts: faGrinHearts,\n faGrinSquint: faGrinSquint,\n faGrinSquintTears: faGrinSquintTears,\n faGrinStars: faGrinStars,\n faGrinTears: faGrinTears,\n faGrinTongue: faGrinTongue,\n faGrinTongueSquint: faGrinTongueSquint,\n faGrinTongueWink: faGrinTongueWink,\n faGrinWink: faGrinWink,\n faHandLizard: faHandLizard,\n faHandPaper: faHandPaper,\n faHandPeace: faHandPeace,\n faHandPointDown: faHandPointDown,\n faHandPointLeft: faHandPointLeft,\n faHandPointRight: faHandPointRight,\n faHandPointUp: faHandPointUp,\n faHandPointer: faHandPointer,\n faHandRock: faHandRock,\n faHandScissors: faHandScissors,\n faHandSpock: faHandSpock,\n faHandshake: faHandshake,\n faHdd: faHdd,\n faHeart: faHeart,\n faHospital: faHospital,\n faHourglass: faHourglass,\n faIdBadge: faIdBadge,\n faIdCard: faIdCard,\n faImage: faImage,\n faImages: faImages,\n faKeyboard: faKeyboard,\n faKiss: faKiss,\n faKissBeam: faKissBeam,\n faKissWinkHeart: faKissWinkHeart,\n faLaugh: faLaugh,\n faLaughBeam: faLaughBeam,\n faLaughSquint: faLaughSquint,\n faLaughWink: faLaughWink,\n faLemon: faLemon,\n faLifeRing: faLifeRing,\n faLightbulb: faLightbulb,\n faListAlt: faListAlt,\n faMap: faMap,\n faMeh: faMeh,\n faMehBlank: faMehBlank,\n faMehRollingEyes: faMehRollingEyes,\n faMinusSquare: faMinusSquare,\n faMoneyBillAlt: faMoneyBillAlt,\n faMoon: faMoon,\n faNewspaper: faNewspaper,\n faObjectGroup: faObjectGroup,\n faObjectUngroup: faObjectUngroup,\n faPaperPlane: faPaperPlane,\n faPauseCircle: faPauseCircle,\n faPlayCircle: faPlayCircle,\n faPlusSquare: faPlusSquare,\n faQuestionCircle: faQuestionCircle,\n faRegistered: faRegistered,\n faSadCry: faSadCry,\n faSadTear: faSadTear,\n faSave: faSave,\n faShareSquare: faShareSquare,\n faSmile: faSmile,\n faSmileBeam: faSmileBeam,\n faSmileWink: faSmileWink,\n faSnowflake: faSnowflake,\n faSquare: faSquare,\n faStar: faStar,\n faStarHalf: faStarHalf,\n faStickyNote: faStickyNote,\n faStopCircle: faStopCircle,\n faSun: faSun,\n faSurprise: faSurprise,\n faThumbsDown: faThumbsDown,\n faThumbsUp: faThumbsUp,\n faTimesCircle: faTimesCircle,\n faTired: faTired,\n faTrashAlt: faTrashAlt,\n faUser: faUser,\n faUserCircle: faUserCircle,\n faWindowClose: faWindowClose,\n faWindowMaximize: faWindowMaximize,\n faWindowMinimize: faWindowMinimize,\n faWindowRestore: faWindowRestore\n};\n\nexport { _iconsCache as far, prefix, faAddressBook, faAddressCard, faAngry, faArrowAltCircleDown, faArrowAltCircleLeft, faArrowAltCircleRight, faArrowAltCircleUp, faBell, faBellSlash, faBookmark, faBuilding, faCalendar, faCalendarAlt, faCalendarCheck, faCalendarMinus, faCalendarPlus, faCalendarTimes, faCaretSquareDown, faCaretSquareLeft, faCaretSquareRight, faCaretSquareUp, faChartBar, faCheckCircle, faCheckSquare, faCircle, faClipboard, faClock, faClone, faClosedCaptioning, faComment, faCommentAlt, faCommentDots, faComments, faCompass, faCopy, faCopyright, faCreditCard, faDizzy, faDotCircle, faEdit, faEnvelope, faEnvelopeOpen, faEye, faEyeSlash, faFile, faFileAlt, faFileArchive, faFileAudio, faFileCode, faFileExcel, faFileImage, faFilePdf, faFilePowerpoint, faFileVideo, faFileWord, faFlag, faFlushed, faFolder, faFolderOpen, faFontAwesomeLogoFull, faFrown, faFrownOpen, faFutbol, faGem, faGrimace, faGrin, faGrinAlt, faGrinBeam, faGrinBeamSweat, faGrinHearts, faGrinSquint, faGrinSquintTears, faGrinStars, faGrinTears, faGrinTongue, faGrinTongueSquint, faGrinTongueWink, faGrinWink, faHandLizard, faHandPaper, faHandPeace, faHandPointDown, faHandPointLeft, faHandPointRight, faHandPointUp, faHandPointer, faHandRock, faHandScissors, faHandSpock, faHandshake, faHdd, faHeart, faHospital, faHourglass, faIdBadge, faIdCard, faImage, faImages, faKeyboard, faKiss, faKissBeam, faKissWinkHeart, faLaugh, faLaughBeam, faLaughSquint, faLaughWink, faLemon, faLifeRing, faLightbulb, faListAlt, faMap, faMeh, faMehBlank, faMehRollingEyes, faMinusSquare, faMoneyBillAlt, faMoon, faNewspaper, faObjectGroup, faObjectUngroup, faPaperPlane, faPauseCircle, faPlayCircle, faPlusSquare, faQuestionCircle, faRegistered, faSadCry, faSadTear, faSave, faShareSquare, faSmile, faSmileBeam, faSmileWink, faSnowflake, faSquare, faStar, faStarHalf, faStickyNote, faStopCircle, faSun, faSurprise, faThumbsDown, faThumbsUp, faTimesCircle, faTired, faTrashAlt, faUser, faUserCircle, faWindowClose, faWindowMaximize, faWindowMinimize, faWindowRestore };\n","/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar prefix = \"fas\";\nvar faAd = {\n prefix: 'fas',\n iconName: 'ad',\n icon: [512, 512, [], \"f641\", \"M157.52 272h36.96L176 218.78 157.52 272zM352 256c-13.23 0-24 10.77-24 24s10.77 24 24 24 24-10.77 24-24-10.77-24-24-24zM464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM250.58 352h-16.94c-6.81 0-12.88-4.32-15.12-10.75L211.15 320h-70.29l-7.38 21.25A16 16 0 0 1 118.36 352h-16.94c-11.01 0-18.73-10.85-15.12-21.25L140 176.12A23.995 23.995 0 0 1 162.67 160h26.66A23.99 23.99 0 0 1 212 176.13l53.69 154.62c3.61 10.4-4.11 21.25-15.11 21.25zM424 336c0 8.84-7.16 16-16 16h-16c-4.85 0-9.04-2.27-11.98-5.68-8.62 3.66-18.09 5.68-28.02 5.68-39.7 0-72-32.3-72-72s32.3-72 72-72c8.46 0 16.46 1.73 24 4.42V176c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v160z\"]\n};\nvar faAddressBook = {\n prefix: 'fas',\n iconName: 'address-book',\n icon: [448, 512, [], \"f2b9\", \"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-228-32c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H118.4C106 384 96 375.4 96 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"]\n};\nvar faAddressCard = {\n prefix: 'fas',\n iconName: 'address-card',\n icon: [576, 512, [], \"f2bb\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faAdjust = {\n prefix: 'fas',\n iconName: 'adjust',\n icon: [512, 512, [], \"f042\", \"M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z\"]\n};\nvar faAirFreshener = {\n prefix: 'fas',\n iconName: 'air-freshener',\n icon: [512, 512, [], \"f5d0\", \"M224 160H96C43 160 0 203 0 256V480C0 497.625 14.375 512 32 512H288C305.625 512 320 497.625 320 480V256C320 203 277 160 224 160ZM160 416C115.875 416 80 380.125 80 336S115.875 256 160 256S240 291.875 240 336S204.125 416 160 416ZM224 32C224 14.375 209.625 0 192 0H128C110.375 0 96 14.375 96 32V128H224V32ZM381.781 51.578C383 50.969 384 49.359 384 48C384 46.625 383 45.031 381.781 44.422L352 32L339.562 2.219C338.969 1 337.375 0 336 0S333.031 1 332.406 2.219L320 32L290.219 44.422C289 45.031 288 46.625 288 48C288 49.359 289 50.969 290.219 51.578L320 64L332.406 93.781C333.031 95 334.625 96 336 96S338.969 95 339.562 93.781L352 64L381.781 51.578ZM448 64L460.406 93.781C461.031 95 462.625 96 464 96S466.969 95 467.562 93.781L480 64L509.781 51.578C511 50.969 512 49.359 512 48C512 46.625 511 45.031 509.781 44.422L480 32L467.562 2.219C466.969 1 465.375 0 464 0S461.031 1 460.406 2.219L448 32L418.219 44.422C417 45.031 416 46.625 416 48C416 49.359 417 50.969 418.219 51.578L448 64ZM480 224L467.562 194.219C466.969 193 465.375 192 464 192S461.031 193 460.406 194.219L448 224L418.219 236.422C417 237.031 416 238.625 416 240C416 241.359 417 242.969 418.219 243.578L448 256L460.406 285.781C461.031 287 462.625 288 464 288S466.969 287 467.562 285.781L480 256L509.781 243.578C511 242.969 512 241.359 512 240C512 238.625 511 237.031 509.781 236.422L480 224ZM445.781 147.578C447 146.969 448 145.359 448 144C448 142.625 447 141.031 445.781 140.422L416 128L403.562 98.219C402.969 97 401.375 96 400 96S397.031 97 396.406 98.219L384 128L354.219 140.422C353 141.031 352 142.625 352 144C352 145.359 353 146.969 354.219 147.578L384 160L396.406 189.781C397.031 191 398.625 192 400 192S402.969 191 403.562 189.781L416 160L445.781 147.578Z\"]\n};\nvar faAlignCenter = {\n prefix: 'fas',\n iconName: 'align-center',\n icon: [448, 512, [], \"f037\", \"M432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM108.1 96h231.81A12.09 12.09 0 0 0 352 83.9V44.09A12.09 12.09 0 0 0 339.91 32H108.1A12.09 12.09 0 0 0 96 44.09V83.9A12.1 12.1 0 0 0 108.1 96zm231.81 256A12.09 12.09 0 0 0 352 339.9v-39.81A12.09 12.09 0 0 0 339.91 288H108.1A12.09 12.09 0 0 0 96 300.09v39.81a12.1 12.1 0 0 0 12.1 12.1z\"]\n};\nvar faAlignJustify = {\n prefix: 'fas',\n iconName: 'align-justify',\n icon: [448, 512, [], \"f039\", \"M432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faAlignLeft = {\n prefix: 'fas',\n iconName: 'align-left',\n icon: [448, 512, [], \"f036\", \"M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faAlignRight = {\n prefix: 'fas',\n iconName: 'align-right',\n icon: [448, 512, [], \"f038\", \"M16 224h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm416 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-384H172.83A12.82 12.82 0 0 0 160 44.83v38.34A12.82 12.82 0 0 0 172.83 96h262.34A12.82 12.82 0 0 0 448 83.17V44.83A12.82 12.82 0 0 0 435.17 32zm0 256H172.83A12.82 12.82 0 0 0 160 300.83v38.34A12.82 12.82 0 0 0 172.83 352h262.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288z\"]\n};\nvar faAllergies = {\n prefix: 'fas',\n iconName: 'allergies',\n icon: [448, 512, [], \"f461\", \"M416 112c-17.6 0-32 14.4-32 32v72c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32s-32 14.4-32 32v152c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V32c0-17.6-14.4-32-32-32s-32 14.4-32 32v184c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32S96 46.4 96 64v241l-23.6-32.5c-13-17.9-38-21.8-55.9-8.8s-21.8 38-8.8 55.9l125.6 172.7c9 12.4 23.5 19.8 38.8 19.8h197.6c22.3 0 41.6-15.3 46.7-37l26.5-112.7c3.2-13.7 4.9-28.3 5.1-42.3V144c0-17.6-14.4-32-32-32zM176 416c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 32c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32-128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faAmbulance = {\n prefix: 'fas',\n iconName: 'ambulance',\n icon: [640, 512, [], \"f0f9\", \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144-248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm176 248c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"]\n};\nvar faAmericanSignLanguageInterpreting = {\n prefix: 'fas',\n iconName: 'american-sign-language-interpreting',\n icon: [640, 512, [], \"f2a3\", \"M290.547 189.039c-20.295-10.149-44.147-11.199-64.739-3.89 42.606 0 71.208 20.475 85.578 50.576 8.576 17.899-5.148 38.071-23.617 38.071 18.429 0 32.211 20.136 23.617 38.071-14.725 30.846-46.123 50.854-80.298 50.854-.557 0-94.471-8.615-94.471-8.615l-66.406 33.347c-9.384 4.693-19.815.379-23.895-7.781L1.86 290.747c-4.167-8.615-1.111-18.897 6.946-23.621l58.072-33.069L108 159.861c6.39-57.245 34.731-109.767 79.743-146.726 11.391-9.448 28.341-7.781 37.51 3.613 9.446 11.394 7.78 28.067-3.612 37.516-12.503 10.559-23.618 22.509-32.509 35.57 21.672-14.729 46.679-24.732 74.186-28.067 14.725-1.945 28.063 8.336 29.73 23.065 1.945 14.728-8.336 28.067-23.062 29.734-16.116 1.945-31.12 7.503-44.178 15.284 26.114-5.713 58.712-3.138 88.079 11.115 13.336 6.669 18.893 22.509 12.224 35.848-6.389 13.06-22.504 18.617-35.564 12.226zm-27.229 69.472c-6.112-12.505-18.338-20.286-32.231-20.286a35.46 35.46 0 0 0-35.565 35.57c0 21.428 17.808 35.57 35.565 35.57 13.893 0 26.119-7.781 32.231-20.286 4.446-9.449 13.614-15.006 23.339-15.284-9.725-.277-18.893-5.835-23.339-15.284zm374.821-37.237c4.168 8.615 1.111 18.897-6.946 23.621l-58.071 33.069L532 352.16c-6.39 57.245-34.731 109.767-79.743 146.726-10.932 9.112-27.799 8.144-37.51-3.613-9.446-11.394-7.78-28.067 3.613-37.516 12.503-10.559 23.617-22.509 32.508-35.57-21.672 14.729-46.679 24.732-74.186 28.067-10.021 2.506-27.552-5.643-29.73-23.065-1.945-14.728 8.336-28.067 23.062-29.734 16.116-1.946 31.12-7.503 44.178-15.284-26.114 5.713-58.712 3.138-88.079-11.115-13.336-6.669-18.893-22.509-12.224-35.848 6.389-13.061 22.505-18.619 35.565-12.227 20.295 10.149 44.147 11.199 64.739 3.89-42.606 0-71.208-20.475-85.578-50.576-8.576-17.899 5.148-38.071 23.617-38.071-18.429 0-32.211-20.136-23.617-38.071 14.033-29.396 44.039-50.887 81.966-50.854l92.803 8.615 66.406-33.347c9.408-4.704 19.828-.354 23.894 7.781l44.455 88.926zm-229.227-18.618c-13.893 0-26.119 7.781-32.231 20.286-4.446 9.449-13.614 15.006-23.339 15.284 9.725.278 18.893 5.836 23.339 15.284 6.112 12.505 18.338 20.286 32.231 20.286a35.46 35.46 0 0 0 35.565-35.57c0-21.429-17.808-35.57-35.565-35.57z\"]\n};\nvar faAnchor = {\n prefix: 'fas',\n iconName: 'anchor',\n icon: [576, 512, [], \"f13d\", \"M12.971 352h32.394C67.172 454.735 181.944 512 288 512c106.229 0 220.853-57.38 242.635-160h32.394c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h35.146c-20.29 54.317-84.963 86.588-144.117 94.015V256h52c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-52v-5.47c37.281-13.178 63.995-48.725 64-90.518C384.005 43.772 341.605.738 289.37.01 235.723-.739 192 42.525 192 96c0 41.798 26.716 77.35 64 90.53V192h-52c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v190.015c-58.936-7.399-123.82-39.679-144.117-94.015h35.146c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0L4.485 331.515C-3.074 339.074 2.28 352 12.971 352zM288 64c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z\"]\n};\nvar faAngleDoubleDown = {\n prefix: 'fas',\n iconName: 'angle-double-down',\n icon: [320, 512, [], \"f103\", \"M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z\"]\n};\nvar faAngleDoubleLeft = {\n prefix: 'fas',\n iconName: 'angle-double-left',\n icon: [448, 512, [], \"f100\", \"M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z\"]\n};\nvar faAngleDoubleRight = {\n prefix: 'fas',\n iconName: 'angle-double-right',\n icon: [448, 512, [], \"f101\", \"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z\"]\n};\nvar faAngleDoubleUp = {\n prefix: 'fas',\n iconName: 'angle-double-up',\n icon: [320, 512, [], \"f102\", \"M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z\"]\n};\nvar faAngleDown = {\n prefix: 'fas',\n iconName: 'angle-down',\n icon: [320, 512, [], \"f107\", \"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z\"]\n};\nvar faAngleLeft = {\n prefix: 'fas',\n iconName: 'angle-left',\n icon: [256, 512, [], \"f104\", \"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z\"]\n};\nvar faAngleRight = {\n prefix: 'fas',\n iconName: 'angle-right',\n icon: [256, 512, [], \"f105\", \"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z\"]\n};\nvar faAngleUp = {\n prefix: 'fas',\n iconName: 'angle-up',\n icon: [320, 512, [], \"f106\", \"M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z\"]\n};\nvar faAngry = {\n prefix: 'fas',\n iconName: 'angry',\n icon: [496, 512, [], \"f556\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 240c0-9.3 4.1-17.5 10.5-23.4l-31-9.3c-8.5-2.5-13.3-11.5-10.7-19.9 2.5-8.5 11.4-13.2 19.9-10.7l80 24c8.5 2.5 13.3 11.5 10.7 19.9-2.1 6.9-8.4 11.4-15.3 11.4-.5 0-1.1-.2-1.7-.2.7 2.7 1.7 5.3 1.7 8.2 0 17.7-14.3 32-32 32S136 257.7 136 240zm168 154.2c-27.8-33.4-84.2-33.4-112.1 0-13.5 16.3-38.2-4.2-24.6-20.5 20-24 49.4-37.8 80.6-37.8s60.6 13.8 80.6 37.8c13.8 16.5-11.1 36.6-24.5 20.5zm76.6-186.9l-31 9.3c6.3 5.8 10.5 14.1 10.5 23.4 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-2.9.9-5.6 1.7-8.2-.6.1-1.1.2-1.7.2-6.9 0-13.2-4.5-15.3-11.4-2.5-8.5 2.3-17.4 10.7-19.9l80-24c8.4-2.5 17.4 2.3 19.9 10.7 2.5 8.5-2.3 17.4-10.8 19.9z\"]\n};\nvar faAnkh = {\n prefix: 'fas',\n iconName: 'ankh',\n icon: [320, 512, [], \"f644\", \"M296 256h-44.62C272.46 222.01 288 181.65 288 144 288 55.63 230.69 0 160 0S32 55.63 32 144c0 37.65 15.54 78.01 36.62 112H24c-13.25 0-24 10.74-24 24v32c0 13.25 10.75 24 24 24h96v152c0 13.25 10.75 24 24 24h32c13.25 0 24-10.75 24-24V336h96c13.25 0 24-10.75 24-24v-32c0-13.26-10.75-24-24-24zM160 80c29.61 0 48 24.52 48 64 0 34.66-27.14 78.14-48 100.87-20.86-22.72-48-66.21-48-100.87 0-39.48 18.39-64 48-64z\"]\n};\nvar faAppleAlt = {\n prefix: 'fas',\n iconName: 'apple-alt',\n icon: [448, 512, [], \"f5d1\", \"M350.85 129c25.97 4.67 47.27 18.67 63.92 42 14.65 20.67 24.64 46.67 29.96 78 4.67 28.67 4.32 57.33-1 86-7.99 47.33-23.97 87-47.94 119-28.64 38.67-64.59 58-107.87 58-10.66 0-22.3-3.33-34.96-10-8.66-5.33-18.31-8-28.97-8s-20.3 2.67-28.97 8c-12.66 6.67-24.3 10-34.96 10-43.28 0-79.23-19.33-107.87-58-23.97-32-39.95-71.67-47.94-119-5.32-28.67-5.67-57.33-1-86 5.32-31.33 15.31-57.33 29.96-78 16.65-23.33 37.95-37.33 63.92-42 15.98-2.67 37.95-.33 65.92 7 23.97 6.67 44.28 14.67 60.93 24 16.65-9.33 36.96-17.33 60.93-24 27.98-7.33 49.96-9.67 65.94-7zm-54.94-41c-9.32 8.67-21.65 15-36.96 19-10.66 3.33-22.3 5-34.96 5l-14.98-1c-1.33-9.33-1.33-20 0-32 2.67-24 10.32-42.33 22.97-55 9.32-8.67 21.65-15 36.96-19 10.66-3.33 22.3-5 34.96-5l14.98 1 1 15c0 12.67-1.67 24.33-4.99 35-3.99 15.33-10.31 27.67-18.98 37z\"]\n};\nvar faArchive = {\n prefix: 'fas',\n iconName: 'archive',\n icon: [512, 512, [], \"f187\", \"M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z\"]\n};\nvar faArchway = {\n prefix: 'fas',\n iconName: 'archway',\n icon: [576, 512, [], \"f557\", \"M560 448h-16V96H32v352H16.02c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16H176c8.84 0 16-7.16 16-16V320c0-53.02 42.98-96 96-96s96 42.98 96 96l.02 160v16c0 8.84 7.16 16 16 16H560c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm0-448H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h544c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"]\n};\nvar faArrowAltCircleDown = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-down',\n icon: [512, 512, [], \"f358\", \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z\"]\n};\nvar faArrowAltCircleLeft = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-left',\n icon: [512, 512, [], \"f359\", \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm116-292H256v-70.9c0-10.7-13-16.1-20.5-8.5L121.2 247.5c-4.7 4.7-4.7 12.2 0 16.9l114.3 114.9c7.6 7.6 20.5 2.2 20.5-8.5V300h116c6.6 0 12-5.4 12-12v-64c0-6.6-5.4-12-12-12z\"]\n};\nvar faArrowAltCircleRight = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-right',\n icon: [512, 512, [], \"f35a\", \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z\"]\n};\nvar faArrowAltCircleUp = {\n prefix: 'fas',\n iconName: 'arrow-alt-circle-up',\n icon: [512, 512, [], \"f35b\", \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm292 116V256h70.9c10.7 0 16.1-13 8.5-20.5L264.5 121.2c-4.7-4.7-12.2-4.7-16.9 0l-115 114.3c-7.6 7.6-2.2 20.5 8.5 20.5H212v116c0 6.6 5.4 12 12 12h64c6.6 0 12-5.4 12-12z\"]\n};\nvar faArrowCircleDown = {\n prefix: 'fas',\n iconName: 'arrow-circle-down',\n icon: [512, 512, [], \"f0ab\", \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z\"]\n};\nvar faArrowCircleLeft = {\n prefix: 'fas',\n iconName: 'arrow-circle-left',\n icon: [512, 512, [], \"f0a8\", \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z\"]\n};\nvar faArrowCircleRight = {\n prefix: 'fas',\n iconName: 'arrow-circle-right',\n icon: [512, 512, [], \"f0a9\", \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z\"]\n};\nvar faArrowCircleUp = {\n prefix: 'fas',\n iconName: 'arrow-circle-up',\n icon: [512, 512, [], \"f0aa\", \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z\"]\n};\nvar faArrowDown = {\n prefix: 'fas',\n iconName: 'arrow-down',\n icon: [448, 512, [], \"f063\", \"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z\"]\n};\nvar faArrowLeft = {\n prefix: 'fas',\n iconName: 'arrow-left',\n icon: [448, 512, [], \"f060\", \"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z\"]\n};\nvar faArrowRight = {\n prefix: 'fas',\n iconName: 'arrow-right',\n icon: [448, 512, [], \"f061\", \"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"]\n};\nvar faArrowUp = {\n prefix: 'fas',\n iconName: 'arrow-up',\n icon: [448, 512, [], \"f062\", \"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z\"]\n};\nvar faArrowsAlt = {\n prefix: 'fas',\n iconName: 'arrows-alt',\n icon: [512, 512, [], \"f0b2\", \"M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z\"]\n};\nvar faArrowsAltH = {\n prefix: 'fas',\n iconName: 'arrows-alt-h',\n icon: [512, 512, [], \"f337\", \"M377.941 169.941V216H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296h243.882v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.568 0-33.941l-86.059-86.059c-15.119-15.12-40.971-4.412-40.971 16.97z\"]\n};\nvar faArrowsAltV = {\n prefix: 'fas',\n iconName: 'arrows-alt-v',\n icon: [256, 512, [], \"f338\", \"M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z\"]\n};\nvar faAssistiveListeningSystems = {\n prefix: 'fas',\n iconName: 'assistive-listening-systems',\n icon: [512, 512, [], \"f2a2\", \"M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm-80 236c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM32 448c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm480-187.993c0-1.518-.012-3.025-.045-4.531C510.076 140.525 436.157 38.47 327.994 1.511c-14.633-4.998-30.549 2.809-35.55 17.442-5 14.633 2.81 30.549 17.442 35.55 85.906 29.354 144.61 110.513 146.077 201.953l.003.188c.026 1.118.033 2.236.033 3.363 0 15.464 12.536 28 28 28s28.001-12.536 28.001-28zM152.971 439.029l-80-80L39.03 392.97l80 80 33.941-33.941z\"]\n};\nvar faAsterisk = {\n prefix: 'fas',\n iconName: 'asterisk',\n icon: [512, 512, [], \"f069\", \"M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z\"]\n};\nvar faAt = {\n prefix: 'fas',\n iconName: 'at',\n icon: [512, 512, [], \"f1fa\", \"M256 8C118.941 8 8 118.919 8 256c0 137.059 110.919 248 248 248 48.154 0 95.342-14.14 135.408-40.223 12.005-7.815 14.625-24.288 5.552-35.372l-10.177-12.433c-7.671-9.371-21.179-11.667-31.373-5.129C325.92 429.757 291.314 440 256 440c-101.458 0-184-82.542-184-184S154.542 72 256 72c100.139 0 184 57.619 184 160 0 38.786-21.093 79.742-58.17 83.693-17.349-.454-16.91-12.857-13.476-30.024l23.433-121.11C394.653 149.75 383.308 136 368.225 136h-44.981a13.518 13.518 0 0 0-13.432 11.993l-.01.092c-14.697-17.901-40.448-21.775-59.971-21.775-74.58 0-137.831 62.234-137.831 151.46 0 65.303 36.785 105.87 96 105.87 26.984 0 57.369-15.637 74.991-38.333 9.522 34.104 40.613 34.103 70.71 34.103C462.609 379.41 504 307.798 504 232 504 95.653 394.023 8 256 8zm-21.68 304.43c-22.249 0-36.07-15.623-36.07-40.771 0-44.993 30.779-72.729 58.63-72.729 22.292 0 35.601 15.241 35.601 40.77 0 45.061-33.875 72.73-58.161 72.73z\"]\n};\nvar faAtlas = {\n prefix: 'fas',\n iconName: 'atlas',\n icon: [448, 512, [], \"f558\", \"M318.38 208h-39.09c-1.49 27.03-6.54 51.35-14.21 70.41 27.71-13.24 48.02-39.19 53.3-70.41zm0-32c-5.29-31.22-25.59-57.17-53.3-70.41 7.68 19.06 12.72 43.38 14.21 70.41h39.09zM224 97.31c-7.69 7.45-20.77 34.42-23.43 78.69h46.87c-2.67-44.26-15.75-71.24-23.44-78.69zm-41.08 8.28c-27.71 13.24-48.02 39.19-53.3 70.41h39.09c1.49-27.03 6.53-51.35 14.21-70.41zm0 172.82c-7.68-19.06-12.72-43.38-14.21-70.41h-39.09c5.28 31.22 25.59 57.17 53.3 70.41zM247.43 208h-46.87c2.66 44.26 15.74 71.24 23.43 78.69 7.7-7.45 20.78-34.43 23.44-78.69zM448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM224 64c70.69 0 128 57.31 128 128s-57.31 128-128 128S96 262.69 96 192 153.31 64 224 64zm160 384H96c-19.2 0-32-12.8-32-32s16-32 32-32h288v64z\"]\n};\nvar faAtom = {\n prefix: 'fas',\n iconName: 'atom',\n icon: [448, 512, [], \"f5d2\", \"M223.99908,224a32,32,0,1,0,32.00782,32A32.06431,32.06431,0,0,0,223.99908,224Zm214.172-96c-10.877-19.5-40.50979-50.75-116.27544-41.875C300.39168,34.875,267.63386,0,223.99908,0s-76.39066,34.875-97.89653,86.125C50.3369,77.375,20.706,108.5,9.82907,128-6.54984,157.375-5.17484,201.125,34.958,256-5.17484,310.875-6.54984,354.625,9.82907,384c29.13087,52.375,101.64652,43.625,116.27348,41.875C147.60842,477.125,180.36429,512,223.99908,512s76.3926-34.875,97.89652-86.125c14.62891,1.75,87.14456,10.5,116.27544-41.875C454.55,354.625,453.175,310.875,413.04017,256,453.175,201.125,454.55,157.375,438.171,128ZM63.33886,352c-4-7.25-.125-24.75,15.00391-48.25,6.87695,6.5,14.12891,12.875,21.88087,19.125,1.625,13.75,4,27.125,6.75,40.125C82.34472,363.875,67.09081,358.625,63.33886,352Zm36.88478-162.875c-7.752,6.25-15.00392,12.625-21.88087,19.125-15.12891-23.5-19.00392-41-15.00391-48.25,3.377-6.125,16.37891-11.5,37.88478-11.5,1.75,0,3.875.375,5.75.375C104.09864,162.25,101.84864,175.625,100.22364,189.125ZM223.99908,64c9.50195,0,22.25586,13.5,33.88282,37.25-11.252,3.75-22.50391,8-33.88282,12.875-11.377-4.875-22.62892-9.125-33.88283-12.875C201.74516,77.5,214.49712,64,223.99908,64Zm0,384c-9.502,0-22.25392-13.5-33.88283-37.25,11.25391-3.75,22.50587-8,33.88283-12.875C235.378,402.75,246.62994,407,257.8819,410.75,246.25494,434.5,233.501,448,223.99908,448Zm0-112a80,80,0,1,1,80-80A80.00023,80.00023,0,0,1,223.99908,336ZM384.6593,352c-3.625,6.625-19.00392,11.875-43.63479,11,2.752-13,5.127-26.375,6.752-40.125,7.75195-6.25,15.00391-12.625,21.87891-19.125C384.7843,327.25,388.6593,344.75,384.6593,352ZM369.65538,208.25c-6.875-6.5-14.127-12.875-21.87891-19.125-1.625-13.5-3.875-26.875-6.752-40.25,1.875,0,4.002-.375,5.752-.375,21.50391,0,34.50782,5.375,37.88283,11.5C388.6593,167.25,384.7843,184.75,369.65538,208.25Z\"]\n};\nvar faAudioDescription = {\n prefix: 'fas',\n iconName: 'audio-description',\n icon: [512, 512, [], \"f29e\", \"M162.925 238.709l8.822 30.655h-25.606l9.041-30.652c1.277-4.421 2.651-9.994 3.872-15.245 1.22 5.251 2.594 10.823 3.871 15.242zm166.474-32.099h-14.523v98.781h14.523c29.776 0 46.175-17.678 46.175-49.776 0-32.239-17.49-49.005-46.175-49.005zM512 112v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zM245.459 336.139l-57.097-168A12.001 12.001 0 0 0 177 160h-35.894a12.001 12.001 0 0 0-11.362 8.139l-57.097 168C70.003 343.922 75.789 352 84.009 352h29.133a12 12 0 0 0 11.535-8.693l8.574-29.906h51.367l8.793 29.977A12 12 0 0 0 204.926 352h29.172c8.22 0 14.006-8.078 11.361-15.861zm184.701-80.525c0-58.977-37.919-95.614-98.96-95.614h-57.366c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12H331.2c61.041 0 98.96-36.933 98.96-96.386z\"]\n};\nvar faAward = {\n prefix: 'fas',\n iconName: 'award',\n icon: [384, 512, [], \"f559\", \"M97.12 362.63c-8.69-8.69-4.16-6.24-25.12-11.85-9.51-2.55-17.87-7.45-25.43-13.32L1.2 448.7c-4.39 10.77 3.81 22.47 15.43 22.03l52.69-2.01L105.56 507c8 8.44 22.04 5.81 26.43-4.96l52.05-127.62c-10.84 6.04-22.87 9.58-35.31 9.58-19.5 0-37.82-7.59-51.61-21.37zM382.8 448.7l-45.37-111.24c-7.56 5.88-15.92 10.77-25.43 13.32-21.07 5.64-16.45 3.18-25.12 11.85-13.79 13.78-32.12 21.37-51.62 21.37-12.44 0-24.47-3.55-35.31-9.58L252 502.04c4.39 10.77 18.44 13.4 26.43 4.96l36.25-38.28 52.69 2.01c11.62.44 19.82-11.27 15.43-22.03zM263 340c15.28-15.55 17.03-14.21 38.79-20.14 13.89-3.79 24.75-14.84 28.47-28.98 7.48-28.4 5.54-24.97 25.95-45.75 10.17-10.35 14.14-25.44 10.42-39.58-7.47-28.38-7.48-24.42 0-52.83 3.72-14.14-.25-29.23-10.42-39.58-20.41-20.78-18.47-17.36-25.95-45.75-3.72-14.14-14.58-25.19-28.47-28.98-27.88-7.61-24.52-5.62-44.95-26.41-10.17-10.35-25-14.4-38.89-10.61-27.87 7.6-23.98 7.61-51.9 0-13.89-3.79-28.72.25-38.89 10.61-20.41 20.78-17.05 18.8-44.94 26.41-13.89 3.79-24.75 14.84-28.47 28.98-7.47 28.39-5.54 24.97-25.95 45.75-10.17 10.35-14.15 25.44-10.42 39.58 7.47 28.36 7.48 24.4 0 52.82-3.72 14.14.25 29.23 10.42 39.59 20.41 20.78 18.47 17.35 25.95 45.75 3.72 14.14 14.58 25.19 28.47 28.98C104.6 325.96 106.27 325 121 340c13.23 13.47 33.84 15.88 49.74 5.82a39.676 39.676 0 0 1 42.53 0c15.89 10.06 36.5 7.65 49.73-5.82zM97.66 175.96c0-53.03 42.24-96.02 94.34-96.02s94.34 42.99 94.34 96.02-42.24 96.02-94.34 96.02-94.34-42.99-94.34-96.02z\"]\n};\nvar faBaby = {\n prefix: 'fas',\n iconName: 'baby',\n icon: [384, 512, [], \"f77c\", \"M192 160c44.2 0 80-35.8 80-80S236.2 0 192 0s-80 35.8-80 80 35.8 80 80 80zm-53.4 248.8l25.6-32-61.5-51.2L56.8 383c-11.4 14.2-11.7 34.4-.8 49l48 64c7.9 10.5 19.9 16 32 16 8.3 0 16.8-2.6 24-8 17.7-13.2 21.2-38.3 8-56l-29.4-39.2zm142.7-83.2l-61.5 51.2 25.6 32L216 448c-13.2 17.7-9.7 42.8 8 56 7.2 5.4 15.6 8 24 8 12.2 0 24.2-5.5 32-16l48-64c10.9-14.6 10.6-34.8-.8-49l-45.9-57.4zM376.7 145c-12.7-18.1-37.6-22.4-55.7-9.8l-40.6 28.5c-52.7 37-124.2 37-176.8 0L63 135.3C44.9 122.6 20 127 7.3 145-5.4 163.1-1 188 17 200.7l40.6 28.5c17 11.9 35.4 20.9 54.4 27.9V288h160v-30.8c19-7 37.4-16 54.4-27.9l40.6-28.5c18.1-12.8 22.4-37.7 9.7-55.8z\"]\n};\nvar faBabyCarriage = {\n prefix: 'fas',\n iconName: 'baby-carriage',\n icon: [512, 512, [], \"f77d\", \"M144.8 17c-11.3-17.8-37.2-22.8-54-9.4C35.3 51.9 0 118 0 192h256L144.8 17zM496 96h-48c-35.3 0-64 28.7-64 64v64H0c0 50.6 23 96.4 60.3 130.7C25.7 363.6 0 394.7 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-8.9-1.8-17.2-4.4-25.2 21.6 5.9 44.6 9.2 68.4 9.2s46.9-3.3 68.4-9.2c-2.7 8-4.4 16.3-4.4 25.2 0 44.2 35.8 80 80 80s80-35.8 80-80c0-37.3-25.7-68.4-60.3-77.3C425 320.4 448 274.6 448 224v-64h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM80 464c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm320-32c0 17.6-14.4 32-32 32s-32-14.4-32-32 14.4-32 32-32 32 14.4 32 32z\"]\n};\nvar faBackspace = {\n prefix: 'fas',\n iconName: 'backspace',\n icon: [640, 512, [], \"f55a\", \"M576 64H205.26A63.97 63.97 0 0 0 160 82.75L9.37 233.37c-12.5 12.5-12.5 32.76 0 45.25L160 429.25c12 12 28.28 18.75 45.25 18.75H576c35.35 0 64-28.65 64-64V128c0-35.35-28.65-64-64-64zm-84.69 254.06c6.25 6.25 6.25 16.38 0 22.63l-22.62 22.62c-6.25 6.25-16.38 6.25-22.63 0L384 301.25l-62.06 62.06c-6.25 6.25-16.38 6.25-22.63 0l-22.62-22.62c-6.25-6.25-6.25-16.38 0-22.63L338.75 256l-62.06-62.06c-6.25-6.25-6.25-16.38 0-22.63l22.62-22.62c6.25-6.25 16.38-6.25 22.63 0L384 210.75l62.06-62.06c6.25-6.25 16.38-6.25 22.63 0l22.62 22.62c6.25 6.25 6.25 16.38 0 22.63L429.25 256l62.06 62.06z\"]\n};\nvar faBackward = {\n prefix: 'fas',\n iconName: 'backward',\n icon: [512, 512, [], \"f04a\", \"M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z\"]\n};\nvar faBacon = {\n prefix: 'fas',\n iconName: 'bacon',\n icon: [576, 512, [], \"f7e5\", \"M218.92 336.39c34.89-34.89 44.2-59.7 54.05-86 10.61-28.29 21.59-57.54 61.37-97.34s69.05-50.77 97.35-61.38c23.88-9 46.64-17.68 76.79-45.37L470.81 8.91a31 31 0 0 0-40.18-2.83c-13.64 10.1-25.15 14.39-41 20.3C247 79.52 209.26 191.29 200.65 214.1c-29.75 78.83-89.55 94.68-98.72 98.09-24.86 9.26-54.73 20.38-91.07 50.36C-3 374-3.63 395 9.07 407.61l35.76 35.51C80 410.52 107 400.15 133 390.39c26.27-9.84 51.06-19.12 85.92-54zm348-232l-35.75-35.51c-35.19 32.63-62.18 43-88.25 52.79-26.26 9.85-51.06 19.16-85.95 54s-44.19 59.69-54 86C292.33 290 281.34 319.22 241.55 359s-69 50.73-97.3 61.32c-23.86 9-46.61 17.66-76.72 45.33l37.68 37.43a31 31 0 0 0 40.18 2.82c13.6-10.06 25.09-14.34 40.94-20.24 142.2-53 180-164.1 188.94-187.69C405 219.18 464.8 203.3 474 199.86c24.87-9.27 54.74-20.4 91.11-50.41 13.89-11.4 14.52-32.45 1.82-45.05z\"]\n};\nvar faBacteria = {\n prefix: 'fas',\n iconName: 'bacteria',\n icon: [640, 512, [], \"e059\", \"M272.35,226.4A17.71,17.71,0,0,0,281.46,203l-4-9.08a121.29,121.29,0,0,1,12.36-3.08A83.34,83.34,0,0,0,323.57,177l10,9a17.76,17.76,0,1,0,23.92-26.27l-9.72-8.76a83.12,83.12,0,0,0,11.65-48.18l11.85-3.51a17.73,17.73,0,1,0-10.15-34l-11.34,3.36a84,84,0,0,0-36.38-35.57l2.84-10.85a17.8,17.8,0,0,0-34.47-8.93l-2.82,10.78a83.25,83.25,0,0,0-16.74,1.1C250.83,27,240,30.22,229.1,33.39l-3.38-9.46a17.8,17.8,0,0,0-33.56,11.89l3.49,9.8a286.74,286.74,0,0,0-43.94,23.57l-6.32-8.43a17.9,17.9,0,0,0-24.94-3.6A17.69,17.69,0,0,0,116.84,82l6.45,8.61a286.59,286.59,0,0,0-34.95,35.33l-8.82-6.42a17.84,17.84,0,0,0-24.89,3.86,17.66,17.66,0,0,0,3.88,24.77l8.88,6.47a286.6,286.6,0,0,0-23,43.91l-10.48-3.59a17.73,17.73,0,1,0-11.59,33.52L32.67,232c-2.79,10-5.79,19.84-7.52,30.22a83.16,83.16,0,0,0-.82,19l-11.58,3.43a17.73,17.73,0,1,0,10.13,34l11.27-3.33a83.51,83.51,0,0,0,36.39,35.43l-2.88,11.06a17.81,17.81,0,0,0,34.48,8.92l2.87-11c1,0,2.07.26,3.1.26a83.39,83.39,0,0,0,45.65-13.88l8.59,8.8a17.77,17.77,0,0,0,25.56-24.7l-9.14-9.37a83.41,83.41,0,0,0,12.08-31.05,119.08,119.08,0,0,1,3.87-15.53l9,4.22a17.74,17.74,0,1,0,15.15-32.09l-8.8-4.11c.67-1,1.2-2.08,1.9-3.05a119.89,119.89,0,0,1,7.87-9.41,121.73,121.73,0,0,1,11.65-11.4,119.49,119.49,0,0,1,9.94-7.82c1.12-.77,2.32-1.42,3.47-2.15l3.92,8.85a17.86,17.86,0,0,0,16.32,10.58A18.14,18.14,0,0,0,272.35,226.4ZM128,256a32,32,0,1,1,32-32A32,32,0,0,1,128,256Zm80-96a16,16,0,1,1,16-16A16,16,0,0,1,208,160Zm431.26,45.3a17.79,17.79,0,0,0-17.06-12.69,17.55,17.55,0,0,0-5.08.74l-11.27,3.33a83.61,83.61,0,0,0-36.39-35.43l2.88-11.06a17.81,17.81,0,0,0-34.48-8.91l-2.87,11c-1,0-2.07-.26-3.1-.26a83.32,83.32,0,0,0-45.65,13.89l-8.59-8.81a17.77,17.77,0,0,0-25.56,24.7l9.14,9.37a83.28,83.28,0,0,0-12.08,31.06,119.34,119.34,0,0,1-3.87,15.52l-9-4.22a17.74,17.74,0,1,0-15.15,32.09l8.8,4.11c-.67,1-1.2,2.08-1.89,3.05a117.71,117.71,0,0,1-7.94,9.47,119,119,0,0,1-11.57,11.33,121.59,121.59,0,0,1-10,7.83c-1.12.77-2.32,1.42-3.47,2.15l-3.92-8.85a17.86,17.86,0,0,0-16.32-10.58,18.14,18.14,0,0,0-7.18,1.5A17.71,17.71,0,0,0,358.54,309l4,9.08a118.71,118.71,0,0,1-12.36,3.08,83.34,83.34,0,0,0-33.77,13.9l-10-9a17.77,17.77,0,1,0-23.92,26.28l9.72,8.75a83.12,83.12,0,0,0-11.65,48.18l-11.86,3.51a17.73,17.73,0,1,0,10.16,34l11.34-3.36A84,84,0,0,0,326.61,479l-2.84,10.85a17.8,17.8,0,0,0,34.47,8.93L361.06,488a83.3,83.3,0,0,0,16.74-1.1c11.37-1.89,22.24-5.07,33.1-8.24l3.38,9.46a17.8,17.8,0,0,0,33.56-11.89l-3.49-9.79a287.66,287.66,0,0,0,43.94-23.58l6.32,8.43a17.88,17.88,0,0,0,24.93,3.6A17.67,17.67,0,0,0,523.16,430l-6.45-8.61a287.37,287.37,0,0,0,34.95-35.34l8.82,6.42a17.76,17.76,0,1,0,21-28.63l-8.88-6.46a287.17,287.17,0,0,0,23-43.92l10.48,3.59a17.73,17.73,0,1,0,11.59-33.52L607.33,280c2.79-10,5.79-19.84,7.52-30.21a83.27,83.27,0,0,0,.82-19.05l11.58-3.43A17.7,17.7,0,0,0,639.26,205.3ZM416,416a32,32,0,1,1,32-32A32,32,0,0,1,416,416Z\"]\n};\nvar faBacterium = {\n prefix: 'fas',\n iconName: 'bacterium',\n icon: [512, 512, [], \"e05a\", \"M511,102.93A23.76,23.76,0,0,0,481.47,87l-15.12,4.48a111.85,111.85,0,0,0-48.5-47.42l3.79-14.47a23.74,23.74,0,0,0-46-11.91l-3.76,14.37a111.94,111.94,0,0,0-22.33,1.47,386.74,386.74,0,0,0-44.33,10.41l-4.3-12a23.74,23.74,0,0,0-44.75,15.85l4.3,12.05a383.4,383.4,0,0,0-58.69,31.83l-8-10.63a23.85,23.85,0,0,0-33.24-4.8,23.57,23.57,0,0,0-4.83,33.09l8,10.63a386.14,386.14,0,0,0-46.7,47.44l-11-8a23.68,23.68,0,1,0-28,38.17l11.09,8.06a383.45,383.45,0,0,0-30.92,58.75l-12.93-4.43a23.65,23.65,0,1,0-15.47,44.69l13,4.48a385.81,385.81,0,0,0-9.3,40.53A111.58,111.58,0,0,0,32.44,375L17,379.56a23.64,23.64,0,0,0,13.51,45.31l15-4.44a111.49,111.49,0,0,0,48.53,47.24l-3.85,14.75a23.66,23.66,0,0,0,17,28.83,24.7,24.7,0,0,0,6,.75,23.73,23.73,0,0,0,23-17.7L140,479.67c1.37.05,2.77.35,4.13.35A111.22,111.22,0,0,0,205,461.5l11.45,11.74a23.7,23.7,0,0,0,34.08-32.93l-12.19-12.5a111,111,0,0,0,16.11-41.4,158.69,158.69,0,0,1,5.16-20.71l12,5.64a23.66,23.66,0,1,0,20.19-42.79l-11.72-5.49c.89-1.32,1.59-2.77,2.52-4.06a157.86,157.86,0,0,1,10.46-12.49,159.5,159.5,0,0,1,15.59-15.28,162.18,162.18,0,0,1,13.23-10.4c1.5-1,3.1-1.89,4.63-2.87l5.23,11.8a23.74,23.74,0,0,0,43.48-19.08l-5.36-12.11a158.87,158.87,0,0,1,16.49-4.1,111,111,0,0,0,45-18.54l13.33,12a23.69,23.69,0,1,0,31.88-35l-12.94-11.67A110.83,110.83,0,0,0,479.21,137L495,132.32A23.61,23.61,0,0,0,511,102.93ZM160,368a48,48,0,1,1,48-48A48,48,0,0,1,160,368Zm80-136a24,24,0,1,1,24-24A24,24,0,0,1,240,232Z\"]\n};\nvar faBahai = {\n prefix: 'fas',\n iconName: 'bahai',\n icon: [512, 512, [], \"f666\", \"M496.25 202.52l-110-15.44 41.82-104.34c6.67-16.64-11.6-32.18-26.59-22.63L307.44 120 273.35 12.82C270.64 4.27 263.32 0 256 0c-7.32 0-14.64 4.27-17.35 12.82l-34.09 107.19-94.04-59.89c-14.99-9.55-33.25 5.99-26.59 22.63l41.82 104.34-110 15.43c-17.54 2.46-21.68 26.27-6.03 34.67l98.16 52.66-74.48 83.54c-10.92 12.25-1.72 30.93 13.29 30.93 1.31 0 2.67-.14 4.07-.45l108.57-23.65-4.11 112.55c-.43 11.65 8.87 19.22 18.41 19.22 5.15 0 10.39-2.21 14.2-7.18l68.18-88.9 68.18 88.9c3.81 4.97 9.04 7.18 14.2 7.18 9.54 0 18.84-7.57 18.41-19.22l-4.11-112.55 108.57 23.65c17.36 3.76 29.21-17.2 17.35-30.49l-74.48-83.54 98.16-52.66c15.64-8.39 11.5-32.2-6.04-34.66zM338.51 311.68l-51.89-11.3 1.97 53.79L256 311.68l-32.59 42.49 1.96-53.79-51.89 11.3 35.6-39.93-46.92-25.17 52.57-7.38-19.99-49.87 44.95 28.62L256 166.72l16.29 51.23 44.95-28.62-19.99 49.87 52.57 7.38-46.92 25.17 35.61 39.93z\"]\n};\nvar faBalanceScale = {\n prefix: 'fas',\n iconName: 'balance-scale',\n icon: [640, 512, [], \"f24e\", \"M256 336h-.02c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0C-2.06 328.75.02 320.33.02 336H0c0 44.18 57.31 80 128 80s128-35.82 128-80zM128 176l72 144H56l72-144zm511.98 160c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 320l72-144 72 144H440zm88 128H352V153.25c23.51-10.29 41.16-31.48 46.39-57.25H528c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H383.64C369.04 12.68 346.09 0 320 0s-49.04 12.68-63.64 32H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h129.61c5.23 25.76 22.87 46.96 46.39 57.25V448H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faBalanceScaleLeft = {\n prefix: 'fas',\n iconName: 'balance-scale-left',\n icon: [640, 512, [], \"f515\", \"M528 448H352V153.25c20.42-8.94 36.1-26.22 43.38-47.47l132-44.26c8.38-2.81 12.89-11.88 10.08-20.26l-10.17-30.34C524.48 2.54 515.41-1.97 507.03.84L389.11 40.37C375.3 16.36 349.69 0 320 0c-44.18 0-80 35.82-80 80 0 3.43.59 6.71 1.01 10.03l-128.39 43.05c-8.38 2.81-12.89 11.88-10.08 20.26l10.17 30.34c2.81 8.38 11.88 12.89 20.26 10.08l142.05-47.63c4.07 2.77 8.43 5.12 12.99 7.12V496c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16v-32c-.01-8.84-7.17-16-16.01-16zm111.98-144c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 288l72-144 72 144H440zm-269.07-37.51c-17.65-35.29-68.19-35.36-85.87 0C-2.06 424.75.02 416.33.02 432H0c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-16.18 1.34-8.73-85.05-181.51zM56 416l72-144 72 144H56z\"]\n};\nvar faBalanceScaleRight = {\n prefix: 'fas',\n iconName: 'balance-scale-right',\n icon: [640, 512, [], \"f516\", \"M96 464v32c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16V153.25c4.56-2 8.92-4.35 12.99-7.12l142.05 47.63c8.38 2.81 17.45-1.71 20.26-10.08l10.17-30.34c2.81-8.38-1.71-17.45-10.08-20.26l-128.4-43.05c.42-3.32 1.01-6.6 1.01-10.03 0-44.18-35.82-80-80-80-29.69 0-55.3 16.36-69.11 40.37L132.96.83c-8.38-2.81-17.45 1.71-20.26 10.08l-10.17 30.34c-2.81 8.38 1.71 17.45 10.08 20.26l132 44.26c7.28 21.25 22.96 38.54 43.38 47.47V448H112c-8.84 0-16 7.16-16 16zM0 304c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0C-1.32 295.27.02 287.82.02 304H0zm56-16l72-144 72 144H56zm328.02 144H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0-86.38 172.78-85.04 165.33-85.04 181.51zM440 416l72-144 72 144H440z\"]\n};\nvar faBan = {\n prefix: 'fas',\n iconName: 'ban',\n icon: [512, 512, [], \"f05e\", \"M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z\"]\n};\nvar faBandAid = {\n prefix: 'fas',\n iconName: 'band-aid',\n icon: [640, 512, [], \"f462\", \"M0 160v192c0 35.3 28.7 64 64 64h96V96H64c-35.3 0-64 28.7-64 64zm576-64h-96v320h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64zM192 416h256V96H192v320zm176-232c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24z\"]\n};\nvar faBarcode = {\n prefix: 'fas',\n iconName: 'barcode',\n icon: [512, 512, [], \"f02a\", \"M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z\"]\n};\nvar faBars = {\n prefix: 'fas',\n iconName: 'bars',\n icon: [448, 512, [], \"f0c9\", \"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z\"]\n};\nvar faBaseballBall = {\n prefix: 'fas',\n iconName: 'baseball-ball',\n icon: [496, 512, [], \"f433\", \"M368.5 363.9l28.8-13.9c11.1 22.9 26 43.2 44.1 60.9 34-42.5 54.5-96.3 54.5-154.9 0-58.5-20.4-112.2-54.2-154.6-17.8 17.3-32.6 37.1-43.6 59.5l-28.7-14.1c12.8-26 30-49 50.8-69C375.6 34.7 315 8 248 8 181.1 8 120.5 34.6 75.9 77.7c20.7 19.9 37.9 42.9 50.7 68.8l-28.7 14.1c-11-22.3-25.7-42.1-43.5-59.4C20.4 143.7 0 197.4 0 256c0 58.6 20.4 112.3 54.4 154.7 18.2-17.7 33.2-38 44.3-61l28.8 13.9c-12.9 26.7-30.3 50.3-51.5 70.7 44.5 43.1 105.1 69.7 172 69.7 66.8 0 127.3-26.5 171.9-69.5-21.1-20.4-38.5-43.9-51.4-70.6zm-228.3-32l-30.5-9.8c14.9-46.4 12.7-93.8-.6-134l30.4-10c15 45.6 18 99.9.7 153.8zm216.3-153.4l30.4 10c-13.2 40.1-15.5 87.5-.6 134l-30.5 9.8c-17.3-54-14.3-108.3.7-153.8z\"]\n};\nvar faBasketballBall = {\n prefix: 'fas',\n iconName: 'basketball-ball',\n icon: [496, 512, [], \"f434\", \"M212.3 10.3c-43.8 6.3-86.2 24.1-122.2 53.8l77.4 77.4c27.8-35.8 43.3-81.2 44.8-131.2zM248 222L405.9 64.1c-42.4-35-93.6-53.5-145.5-56.1-1.2 63.9-21.5 122.3-58.7 167.7L248 222zM56.1 98.1c-29.7 36-47.5 78.4-53.8 122.2 50-1.5 95.5-17 131.2-44.8L56.1 98.1zm272.2 204.2c45.3-37.1 103.7-57.4 167.7-58.7-2.6-51.9-21.1-103.1-56.1-145.5L282 256l46.3 46.3zM248 290L90.1 447.9c42.4 34.9 93.6 53.5 145.5 56.1 1.3-64 21.6-122.4 58.7-167.7L248 290zm191.9 123.9c29.7-36 47.5-78.4 53.8-122.2-50.1 1.6-95.5 17.1-131.2 44.8l77.4 77.4zM167.7 209.7C122.3 246.9 63.9 267.3 0 268.4c2.6 51.9 21.1 103.1 56.1 145.5L214 256l-46.3-46.3zm116 292c43.8-6.3 86.2-24.1 122.2-53.8l-77.4-77.4c-27.7 35.7-43.2 81.2-44.8 131.2z\"]\n};\nvar faBath = {\n prefix: 'fas',\n iconName: 'bath',\n icon: [512, 512, [], \"f2cd\", \"M32,384a95.4,95.4,0,0,0,32,71.09V496a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V480H384v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V455.09A95.4,95.4,0,0,0,480,384V336H32ZM496,256H80V69.25a21.26,21.26,0,0,1,36.28-15l19.27,19.26c-13.13,29.88-7.61,59.11,8.62,79.73l-.17.17A16,16,0,0,0,144,176l11.31,11.31a16,16,0,0,0,22.63,0L283.31,81.94a16,16,0,0,0,0-22.63L272,48a16,16,0,0,0-22.62,0l-.17.17c-20.62-16.23-49.83-21.75-79.73-8.62L150.22,20.28A69.25,69.25,0,0,0,32,69.25V256H16A16,16,0,0,0,0,272v16a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V272A16,16,0,0,0,496,256Z\"]\n};\nvar faBatteryEmpty = {\n prefix: 'fas',\n iconName: 'battery-empty',\n icon: [640, 512, [], \"f244\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48z\"]\n};\nvar faBatteryFull = {\n prefix: 'fas',\n iconName: 'battery-full',\n icon: [640, 512, [], \"f240\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-48 96H96v128h416V192z\"]\n};\nvar faBatteryHalf = {\n prefix: 'fas',\n iconName: 'battery-half',\n icon: [640, 512, [], \"f242\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-240 96H96v128h224V192z\"]\n};\nvar faBatteryQuarter = {\n prefix: 'fas',\n iconName: 'battery-quarter',\n icon: [640, 512, [], \"f243\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-336 96H96v128h128V192z\"]\n};\nvar faBatteryThreeQuarters = {\n prefix: 'fas',\n iconName: 'battery-three-quarters',\n icon: [640, 512, [], \"f241\", \"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-144 96H96v128h320V192z\"]\n};\nvar faBed = {\n prefix: 'fas',\n iconName: 'bed',\n icon: [640, 512, [], \"f236\", \"M176 256c44.11 0 80-35.89 80-80s-35.89-80-80-80-80 35.89-80 80 35.89 80 80 80zm352-128H304c-8.84 0-16 7.16-16 16v144H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v352c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h512v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V240c0-61.86-50.14-112-112-112z\"]\n};\nvar faBeer = {\n prefix: 'fas',\n iconName: 'beer',\n icon: [448, 512, [], \"f0fc\", \"M368 96h-48V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24v-42.11l80.606-35.977C429.396 365.063 448 336.388 448 304.86V176c0-44.112-35.888-80-80-80zm16 208.86a16.018 16.018 0 0 1-9.479 14.611L320 343.805V160h48c8.822 0 16 7.178 16 16v128.86zM208 384c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16zm-96 0c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16z\"]\n};\nvar faBell = {\n prefix: 'fas',\n iconName: 'bell',\n icon: [448, 512, [], \"f0f3\", \"M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z\"]\n};\nvar faBellSlash = {\n prefix: 'fas',\n iconName: 'bell-slash',\n icon: [640, 512, [], \"f1f6\", \"M633.82 458.1l-90.62-70.05c.19-1.38.8-2.66.8-4.06.05-7.55-2.61-15.27-8.61-21.71-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-40.33 8.38-74.66 31.07-97.59 62.57L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.35 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.42-6.97 4.17-17.02-2.81-22.45zM157.23 251.54c-8.61 67.96-36.41 93.33-52.62 110.75-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h241.92L157.23 251.54zM320 512c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBezierCurve = {\n prefix: 'fas',\n iconName: 'bezier-curve',\n icon: [640, 512, [], \"f55b\", \"M368 32h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM208 88h-84.75C113.75 64.56 90.84 48 64 48 28.66 48 0 76.65 0 112s28.66 64 64 64c26.84 0 49.75-16.56 59.25-40h79.73c-55.37 32.52-95.86 87.32-109.54 152h49.4c11.3-41.61 36.77-77.21 71.04-101.56-3.7-8.08-5.88-16.99-5.88-26.44V88zm-48 232H64c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zM576 48c-26.84 0-49.75 16.56-59.25 40H432v72c0 9.45-2.19 18.36-5.88 26.44 34.27 24.35 59.74 59.95 71.04 101.56h49.4c-13.68-64.68-54.17-119.48-109.54-152h79.73c9.5 23.44 32.41 40 59.25 40 35.34 0 64-28.65 64-64s-28.66-64-64-64zm0 272h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"]\n};\nvar faBible = {\n prefix: 'fas',\n iconName: 'bible',\n icon: [448, 512, [], \"f647\", \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM144 144c0-8.84 7.16-16 16-16h48V80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v48h48c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-48v112c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V192h-48c-8.84 0-16-7.16-16-16v-32zm236.8 304H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"]\n};\nvar faBicycle = {\n prefix: 'fas',\n iconName: 'bicycle',\n icon: [640, 512, [], \"f206\", \"M512.509 192.001c-16.373-.064-32.03 2.955-46.436 8.495l-77.68-125.153A24 24 0 0 0 368.001 64h-64c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h50.649l14.896 24H256.002v-16c0-8.837-7.163-16-16-16h-87.459c-13.441 0-24.777 10.999-24.536 24.437.232 13.044 10.876 23.563 23.995 23.563h48.726l-29.417 47.52c-13.433-4.83-27.904-7.483-42.992-7.52C58.094 191.83.412 249.012.002 319.236-.413 390.279 57.055 448 128.002 448c59.642 0 109.758-40.793 123.967-96h52.033a24 24 0 0 0 20.406-11.367L410.37 201.77l14.938 24.067c-25.455 23.448-41.385 57.081-41.307 94.437.145 68.833 57.899 127.051 126.729 127.719 70.606.685 128.181-55.803 129.255-125.996 1.086-70.941-56.526-129.72-127.476-129.996zM186.75 265.772c9.727 10.529 16.673 23.661 19.642 38.228h-43.306l23.664-38.228zM128.002 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c5.869 0 11.586.653 17.099 1.859l-45.505 73.509C89.715 331.327 101.213 352 120.002 352h81.3c-12.37 28.225-40.562 48-73.3 48zm162.63-96h-35.624c-3.96-31.756-19.556-59.894-42.383-80.026L237.371 184h127.547l-74.286 120zm217.057 95.886c-41.036-2.165-74.049-35.692-75.627-76.755-.812-21.121 6.633-40.518 19.335-55.263l44.433 71.586c4.66 7.508 14.524 9.816 22.032 5.156l13.594-8.437c7.508-4.66 9.817-14.524 5.156-22.032l-44.468-71.643a79.901 79.901 0 0 1 19.858-2.497c44.112 0 80 35.888 80 80-.001 45.54-38.252 82.316-84.313 79.885z\"]\n};\nvar faBiking = {\n prefix: 'fas',\n iconName: 'biking',\n icon: [640, 512, [], \"f84a\", \"M400 96a48 48 0 1 0-48-48 48 48 0 0 0 48 48zm-4 121a31.9 31.9 0 0 0 20 7h64a32 32 0 0 0 0-64h-52.78L356 103a31.94 31.94 0 0 0-40.81.68l-112 96a32 32 0 0 0 3.08 50.92L288 305.12V416a32 32 0 0 0 64 0V288a32 32 0 0 0-14.25-26.62l-41.36-27.57 58.25-49.92zm116 39a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64zM128 256a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64z\"]\n};\nvar faBinoculars = {\n prefix: 'fas',\n iconName: 'binoculars',\n icon: [512, 512, [], \"f1e5\", \"M416 48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v48h96V48zM63.91 159.99C61.4 253.84 3.46 274.22 0 404v44c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V288h32V128H95.84c-17.63 0-31.45 14.37-31.93 31.99zm384.18 0c-.48-17.62-14.3-31.99-31.93-31.99H320v160h32v160c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-44c-3.46-129.78-61.4-150.16-63.91-244.01zM176 32h-64c-8.84 0-16 7.16-16 16v48h96V48c0-8.84-7.16-16-16-16zm48 256h64V128h-64v160z\"]\n};\nvar faBiohazard = {\n prefix: 'fas',\n iconName: 'biohazard',\n icon: [576, 512, [], \"f780\", \"M287.9 112c18.6 0 36.2 3.8 52.8 9.6 13.3-10.3 23.6-24.3 29.5-40.7-25.2-10.9-53-17-82.2-17-29.1 0-56.9 6-82.1 16.9 5.9 16.4 16.2 30.4 29.5 40.7 16.5-5.7 34-9.5 52.5-9.5zM163.6 438.7c12-11.8 20.4-26.4 24.5-42.4-32.9-26.4-54.8-65.3-58.9-109.6-8.5-2.8-17.2-4.6-26.4-4.6-7.6 0-15.2 1-22.5 3.1 4.1 62.8 35.8 118 83.3 153.5zm224.2-42.6c4.1 16 12.5 30.7 24.5 42.5 47.4-35.5 79.1-90.7 83-153.5-7.2-2-14.7-3-22.2-3-9.2 0-18 1.9-26.6 4.7-4.1 44.2-26 82.9-58.7 109.3zm113.5-205c-17.6-10.4-36.3-16.6-55.3-19.9 6-17.7 10-36.4 10-56.2 0-41-14.5-80.8-41-112.2-2.5-3-6.6-3.7-10-1.8-3.3 1.9-4.8 6-3.6 9.7 4.5 13.8 6.6 26.3 6.6 38.5 0 67.8-53.8 122.9-120 122.9S168 117 168 49.2c0-12.1 2.2-24.7 6.6-38.5 1.2-3.7-.3-7.8-3.6-9.7-3.4-1.9-7.5-1.2-10 1.8C134.6 34.2 120 74 120 115c0 19.8 3.9 38.5 10 56.2-18.9 3.3-37.7 9.5-55.3 19.9-34.6 20.5-61 53.3-74.3 92.4-1.3 3.7.2 7.7 3.5 9.8 3.3 2 7.5 1.3 10-1.6 9.4-10.8 19-19.1 29.2-25.1 57.3-33.9 130.8-13.7 163.9 45 33.1 58.7 13.4 134-43.9 167.9-10.2 6.1-22 10.4-35.8 13.4-3.7.8-6.4 4.2-6.4 8.1.1 4 2.7 7.3 6.5 8 39.7 7.8 80.6.8 115.2-19.7 18-10.6 32.9-24.5 45.3-40.1 12.4 15.6 27.3 29.5 45.3 40.1 34.6 20.5 75.5 27.5 115.2 19.7 3.8-.7 6.4-4 6.5-8 0-3.9-2.6-7.3-6.4-8.1-13.9-2.9-25.6-7.3-35.8-13.4-57.3-33.9-77-109.2-43.9-167.9s106.6-78.9 163.9-45c10.2 6.1 19.8 14.3 29.2 25.1 2.5 2.9 6.7 3.6 10 1.6s4.8-6.1 3.5-9.8c-13.1-39.1-39.5-72-74.1-92.4zm-213.4 129c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"]\n};\nvar faBirthdayCake = {\n prefix: 'fas',\n iconName: 'birthday-cake',\n icon: [448, 512, [], \"f1fd\", \"M448 384c-28.02 0-31.26-32-74.5-32-43.43 0-46.825 32-74.75 32-27.695 0-31.454-32-74.75-32-42.842 0-47.218 32-74.5 32-28.148 0-31.202-32-74.75-32-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48v80zm0 128H0v-96c43.356 0 46.767-32 74.75-32 27.951 0 31.253 32 74.75 32 42.843 0 47.217-32 74.5-32 28.148 0 31.201 32 74.75 32 43.357 0 46.767-32 74.75-32 27.488 0 31.252 32 74.5 32v96zM96 96c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40z\"]\n};\nvar faBlender = {\n prefix: 'fas',\n iconName: 'blender',\n icon: [512, 512, [], \"f517\", \"M416 384H160c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-128 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm40-416h166.54L512 0H48C21.49 0 0 21.49 0 48v160c0 26.51 21.49 48 48 48h103.27l8.73 96h256l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H328c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM64 192V64h69.82l11.64 128H64z\"]\n};\nvar faBlenderPhone = {\n prefix: 'fas',\n iconName: 'blender-phone',\n icon: [576, 512, [], \"f6b6\", \"M392 64h166.54L576 0H192v352h288l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H392c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM158.8 335.01l-25.78-63.26c-2.78-6.81-9.8-10.99-17.24-10.26l-45.03 4.42c-17.28-46.94-17.65-99.78 0-147.72l45.03 4.42c7.43.73 14.46-3.46 17.24-10.26l25.78-63.26c3.02-7.39.2-15.85-6.68-20.07l-39.28-24.1C98.51-3.87 80.09-.5 68.95 11.97c-92.57 103.6-92 259.55 2.1 362.49 9.87 10.8 29.12 12.48 41.65 4.8l39.41-24.18c6.89-4.22 9.7-12.67 6.69-20.07zM480 384H192c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-144 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faBlind = {\n prefix: 'fas',\n iconName: 'blind',\n icon: [384, 512, [], \"f29d\", \"M380.15 510.837a8 8 0 0 1-10.989-2.687l-125.33-206.427a31.923 31.923 0 0 0 12.958-9.485l126.048 207.608a8 8 0 0 1-2.687 10.991zM142.803 314.338l-32.54 89.485 36.12 88.285c6.693 16.36 25.377 24.192 41.733 17.501 16.357-6.692 24.193-25.376 17.501-41.734l-62.814-153.537zM96 88c24.301 0 44-19.699 44-44S120.301 0 96 0 52 19.699 52 44s19.699 44 44 44zm154.837 169.128l-120-152c-4.733-5.995-11.75-9.108-18.837-9.112V96H80v.026c-7.146.003-14.217 3.161-18.944 9.24L0 183.766v95.694c0 13.455 11.011 24.791 24.464 24.536C37.505 303.748 48 293.1 48 280v-79.766l16-20.571v140.698L9.927 469.055c-6.04 16.609 2.528 34.969 19.138 41.009 16.602 6.039 34.968-2.524 41.009-19.138L136 309.638V202.441l-31.406-39.816a4 4 0 1 1 6.269-4.971l102.3 129.217c9.145 11.584 24.368 11.339 33.708 3.965 10.41-8.216 12.159-23.334 3.966-33.708z\"]\n};\nvar faBlog = {\n prefix: 'fas',\n iconName: 'blog',\n icon: [512, 512, [], \"f781\", \"M172.2 226.8c-14.6-2.9-28.2 8.9-28.2 23.8V301c0 10.2 7.1 18.4 16.7 22 18.2 6.8 31.3 24.4 31.3 45 0 26.5-21.5 48-48 48s-48-21.5-48-48V120c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v248c0 89.5 82.1 160.2 175 140.7 54.4-11.4 98.3-55.4 109.7-109.7 17.4-82.9-37-157.2-112.5-172.2zM209 0c-9.2-.5-17 6.8-17 16v31.6c0 8.5 6.6 15.5 15 15.9 129.4 7 233.4 112 240.9 241.5.5 8.4 7.5 15 15.9 15h32.1c9.2 0 16.5-7.8 16-17C503.4 139.8 372.2 8.6 209 0zm.3 96c-9.3-.7-17.3 6.7-17.3 16.1v32.1c0 8.4 6.5 15.3 14.8 15.9 76.8 6.3 138 68.2 144.9 145.2.8 8.3 7.6 14.7 15.9 14.7h32.2c9.3 0 16.8-8 16.1-17.3-8.4-110.1-96.5-198.2-206.6-206.7z\"]\n};\nvar faBold = {\n prefix: 'fas',\n iconName: 'bold',\n icon: [384, 512, [], \"f032\", \"M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z\"]\n};\nvar faBolt = {\n prefix: 'fas',\n iconName: 'bolt',\n icon: [320, 512, [], \"f0e7\", \"M296 160H180.6l42.6-129.8C227.2 15 215.7 0 200 0H56C44 0 33.8 8.9 32.2 20.8l-32 240C-1.7 275.2 9.5 288 24 288h118.7L96.6 482.5c-3.6 15.2 8 29.5 23.3 29.5 8.4 0 16.4-4.4 20.8-12l176-304c9.3-15.9-2.2-36-20.7-36z\"]\n};\nvar faBomb = {\n prefix: 'fas',\n iconName: 'bomb',\n icon: [512, 512, [], \"f1e2\", \"M440.5 88.5l-52 52L415 167c9.4 9.4 9.4 24.6 0 33.9l-17.4 17.4c11.8 26.1 18.4 55.1 18.4 85.6 0 114.9-93.1 208-208 208S0 418.9 0 304 93.1 96 208 96c30.5 0 59.5 6.6 85.6 18.4L311 97c9.4-9.4 24.6-9.4 33.9 0l26.5 26.5 52-52 17.1 17zM500 60h-24c-6.6 0-12 5.4-12 12s5.4 12 12 12h24c6.6 0 12-5.4 12-12s-5.4-12-12-12zM440 0c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12s12-5.4 12-12V12c0-6.6-5.4-12-12-12zm33.9 55l17-17c4.7-4.7 4.7-12.3 0-17-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17 4.8 4.7 12.4 4.7 17 0zm-67.8 0c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17zm67.8 34c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17zM112 272c0-35.3 28.7-64 64-64 8.8 0 16-7.2 16-16s-7.2-16-16-16c-52.9 0-96 43.1-96 96 0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faBone = {\n prefix: 'fas',\n iconName: 'bone',\n icon: [640, 512, [], \"f5d7\", \"M598.88 244.56c25.2-12.6 41.12-38.36 41.12-66.53v-7.64C640 129.3 606.7 96 565.61 96c-32.02 0-60.44 20.49-70.57 50.86-7.68 23.03-11.6 45.14-38.11 45.14H183.06c-27.38 0-31.58-25.54-38.11-45.14C134.83 116.49 106.4 96 74.39 96 33.3 96 0 129.3 0 170.39v7.64c0 28.17 15.92 53.93 41.12 66.53 9.43 4.71 9.43 18.17 0 22.88C15.92 280.04 0 305.8 0 333.97v7.64C0 382.7 33.3 416 74.38 416c32.02 0 60.44-20.49 70.57-50.86 7.68-23.03 11.6-45.14 38.11-45.14h273.87c27.38 0 31.58 25.54 38.11 45.14C505.17 395.51 533.6 416 565.61 416c41.08 0 74.38-33.3 74.38-74.39v-7.64c0-28.18-15.92-53.93-41.12-66.53-9.42-4.71-9.42-18.17.01-22.88z\"]\n};\nvar faBong = {\n prefix: 'fas',\n iconName: 'bong',\n icon: [448, 512, [], \"f55c\", \"M302.5 512c23.18 0 44.43-12.58 56-32.66C374.69 451.26 384 418.75 384 384c0-36.12-10.08-69.81-27.44-98.62L400 241.94l9.38 9.38c6.25 6.25 16.38 6.25 22.63 0l11.3-11.32c6.25-6.25 6.25-16.38 0-22.63l-52.69-52.69c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l9.38 9.38-39.41 39.41c-11.56-11.37-24.53-21.33-38.65-29.51V63.74l15.97-.02c8.82-.01 15.97-7.16 15.98-15.98l.04-31.72C320 7.17 312.82-.01 303.97 0L80.03.26c-8.82.01-15.97 7.16-15.98 15.98l-.04 31.73c-.01 8.85 7.17 16.02 16.02 16.01L96 63.96v153.93C38.67 251.1 0 312.97 0 384c0 34.75 9.31 67.27 25.5 95.34C37.08 499.42 58.33 512 81.5 512h221zM120.06 259.43L144 245.56V63.91l96-.11v181.76l23.94 13.87c24.81 14.37 44.12 35.73 56.56 60.57h-257c12.45-24.84 31.75-46.2 56.56-60.57z\"]\n};\nvar faBook = {\n prefix: 'fas',\n iconName: 'book',\n icon: [448, 512, [], \"f02d\", \"M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z\"]\n};\nvar faBookDead = {\n prefix: 'fas',\n iconName: 'book-dead',\n icon: [448, 512, [], \"f6b7\", \"M272 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm176 222.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM240 56c44.2 0 80 28.7 80 64 0 20.9-12.7 39.2-32 50.9V184c0 8.8-7.2 16-16 16h-64c-8.8 0-16-7.2-16-16v-13.1c-19.3-11.7-32-30-32-50.9 0-35.3 35.8-64 80-64zM124.8 223.3l6.3-14.7c1.7-4.1 6.4-5.9 10.5-4.2l98.3 42.1 98.4-42.1c4.1-1.7 8.8.1 10.5 4.2l6.3 14.7c1.7 4.1-.1 8.8-4.2 10.5L280.6 264l70.3 30.1c4.1 1.7 5.9 6.4 4.2 10.5l-6.3 14.7c-1.7 4.1-6.4 5.9-10.5 4.2L240 281.4l-98.3 42.2c-4.1 1.7-8.8-.1-10.5-4.2l-6.3-14.7c-1.7-4.1.1-8.8 4.2-10.5l70.4-30.1-70.5-30.3c-4.1-1.7-5.9-6.4-4.2-10.5zm256 224.7H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8zM208 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16z\"]\n};\nvar faBookMedical = {\n prefix: 'fas',\n iconName: 'book-medical',\n icon: [448, 512, [], \"f7e6\", \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16q0-9.6-9.6-19.2c-3.2-16-3.2-60.8 0-73.6q9.6-4.8 9.6-19.2zM144 168a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8v48a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8zm236.8 280H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8z\"]\n};\nvar faBookOpen = {\n prefix: 'fas',\n iconName: 'book-open',\n icon: [576, 512, [], \"f518\", \"M542.22 32.05c-54.8 3.11-163.72 14.43-230.96 55.59-4.64 2.84-7.27 7.89-7.27 13.17v363.87c0 11.55 12.63 18.85 23.28 13.49 69.18-34.82 169.23-44.32 218.7-46.92 16.89-.89 30.02-14.43 30.02-30.66V62.75c.01-17.71-15.35-31.74-33.77-30.7zM264.73 87.64C197.5 46.48 88.58 35.17 33.78 32.05 15.36 31.01 0 45.04 0 62.75V400.6c0 16.24 13.13 29.78 30.02 30.66 49.49 2.6 149.59 12.11 218.77 46.95 10.62 5.35 23.21-1.94 23.21-13.46V100.63c0-5.29-2.62-10.14-7.27-12.99z\"]\n};\nvar faBookReader = {\n prefix: 'fas',\n iconName: 'book-reader',\n icon: [512, 512, [], \"f5da\", \"M352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM233.59 241.1c-59.33-36.32-155.43-46.3-203.79-49.05C13.55 191.13 0 203.51 0 219.14v222.8c0 14.33 11.59 26.28 26.49 27.05 43.66 2.29 131.99 10.68 193.04 41.43 9.37 4.72 20.48-1.71 20.48-11.87V252.56c-.01-4.67-2.32-8.95-6.42-11.46zm248.61-49.05c-48.35 2.74-144.46 12.73-203.78 49.05-4.1 2.51-6.41 6.96-6.41 11.63v245.79c0 10.19 11.14 16.63 20.54 11.9 61.04-30.72 149.32-39.11 192.97-41.4 14.9-.78 26.49-12.73 26.49-27.06V219.14c-.01-15.63-13.56-28.01-29.81-27.09z\"]\n};\nvar faBookmark = {\n prefix: 'fas',\n iconName: 'bookmark',\n icon: [384, 512, [], \"f02e\", \"M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z\"]\n};\nvar faBorderAll = {\n prefix: 'fas',\n iconName: 'border-all',\n icon: [448, 512, [], \"f84c\", \"M416 32H32A32 32 0 0 0 0 64v384a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zm-32 64v128H256V96zm-192 0v128H64V96zM64 416V288h128v128zm192 0V288h128v128z\"]\n};\nvar faBorderNone = {\n prefix: 'fas',\n iconName: 'border-none',\n icon: [448, 512, [], \"f850\", \"M240 224h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-288 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM240 320h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-384h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM48 224H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faBorderStyle = {\n prefix: 'fas',\n iconName: 'border-style',\n icon: [448, 512, [], \"f853\", \"M240 416h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm192 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H32A32 32 0 0 0 0 64v400a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V96h368a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faBowlingBall = {\n prefix: 'fas',\n iconName: 'bowling-ball',\n icon: [496, 512, [], \"f436\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM120 192c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-96c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm48 144c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faBox = {\n prefix: 'fas',\n iconName: 'box',\n icon: [512, 512, [], \"f466\", \"M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z\"]\n};\nvar faBoxOpen = {\n prefix: 'fas',\n iconName: 'box-open',\n icon: [640, 512, [], \"f49e\", \"M425.7 256c-16.9 0-32.8-9-41.4-23.4L320 126l-64.2 106.6c-8.7 14.5-24.6 23.5-41.5 23.5-4.5 0-9-.6-13.3-1.9L64 215v178c0 14.7 10 27.5 24.2 31l216.2 54.1c10.2 2.5 20.9 2.5 31 0L551.8 424c14.2-3.6 24.2-16.4 24.2-31V215l-137 39.1c-4.3 1.3-8.8 1.9-13.3 1.9zm212.6-112.2L586.8 41c-3.1-6.2-9.8-9.8-16.7-8.9L320 64l91.7 152.1c3.8 6.3 11.4 9.3 18.5 7.3l197.9-56.5c9.9-2.9 14.7-13.9 10.2-23.1zM53.2 41L1.7 143.8c-4.6 9.2.3 20.2 10.1 23l197.9 56.5c7.1 2 14.7-1 18.5-7.3L320 64 69.8 32.1c-6.9-.8-13.5 2.7-16.6 8.9z\"]\n};\nvar faBoxTissue = {\n prefix: 'fas',\n iconName: 'box-tissue',\n icon: [512, 512, [], \"e05b\", \"M383.88,287.82l64-192H338.47a70.2,70.2,0,0,1-66.59-48,70.21,70.21,0,0,0-66.6-48H63.88l64,288Zm-384,192a32,32,0,0,0,32,32h448a32,32,0,0,0,32-32v-64H-.12Zm480-256H438.94l-21.33,64h14.27a16,16,0,0,1,0,32h-352a16,16,0,1,1,0-32H95.09l-14.22-64h-49a32,32,0,0,0-32,32v128h512v-128A32,32,0,0,0,479.88,223.82Z\"]\n};\nvar faBoxes = {\n prefix: 'fas',\n iconName: 'boxes',\n icon: [576, 512, [], \"f468\", \"M560 288h-80v96l-32-21.3-32 21.3v-96h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-384-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v96l-32-21.3L256 96V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm64 64h-80v96l-32-21.3L96 384v-96H16c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faBraille = {\n prefix: 'fas',\n iconName: 'braille',\n icon: [640, 512, [], \"f2a1\", \"M128 256c0 35.346-28.654 64-64 64S0 291.346 0 256s28.654-64 64-64 64 28.654 64 64zM64 384c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352C28.654 32 0 60.654 0 96s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm224 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"]\n};\nvar faBrain = {\n prefix: 'fas',\n iconName: 'brain',\n icon: [576, 512, [], \"f5dc\", \"M208 0c-29.9 0-54.7 20.5-61.8 48.2-.8 0-1.4-.2-2.2-.2-35.3 0-64 28.7-64 64 0 4.8.6 9.5 1.7 14C52.5 138 32 166.6 32 200c0 12.6 3.2 24.3 8.3 34.9C16.3 248.7 0 274.3 0 304c0 33.3 20.4 61.9 49.4 73.9-.9 4.6-1.4 9.3-1.4 14.1 0 39.8 32.2 72 72 72 4.1 0 8.1-.5 12-1.2 9.6 28.5 36.2 49.2 68 49.2 39.8 0 72-32.2 72-72V64c0-35.3-28.7-64-64-64zm368 304c0-29.7-16.3-55.3-40.3-69.1 5.2-10.6 8.3-22.3 8.3-34.9 0-33.4-20.5-62-49.7-74 1-4.5 1.7-9.2 1.7-14 0-35.3-28.7-64-64-64-.8 0-1.5.2-2.2.2C422.7 20.5 397.9 0 368 0c-35.3 0-64 28.6-64 64v376c0 39.8 32.2 72 72 72 31.8 0 58.4-20.7 68-49.2 3.9.7 7.9 1.2 12 1.2 39.8 0 72-32.2 72-72 0-4.8-.5-9.5-1.4-14.1 29-12 49.4-40.6 49.4-73.9z\"]\n};\nvar faBreadSlice = {\n prefix: 'fas',\n iconName: 'bread-slice',\n icon: [576, 512, [], \"f7ec\", \"M288 0C108 0 0 93.4 0 169.14 0 199.44 24.24 224 64 224v256c0 17.67 16.12 32 36 32h376c19.88 0 36-14.33 36-32V224c39.76 0 64-24.56 64-54.86C576 93.4 468 0 288 0z\"]\n};\nvar faBriefcase = {\n prefix: 'fas',\n iconName: 'briefcase',\n icon: [512, 512, [], \"f0b1\", \"M320 336c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h416c25.6 0 48-22.4 48-48V288H320v48zm144-208h-80V80c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h512v-80c0-25.6-22.4-48-48-48zm-144 0H192V96h128v32z\"]\n};\nvar faBriefcaseMedical = {\n prefix: 'fas',\n iconName: 'briefcase-medical',\n icon: [512, 512, [], \"f469\", \"M464 128h-80V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48zM192 96h128v32H192V96zm160 248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48z\"]\n};\nvar faBroadcastTower = {\n prefix: 'fas',\n iconName: 'broadcast-tower',\n icon: [640, 512, [], \"f519\", \"M150.94 192h33.73c11.01 0 18.61-10.83 14.86-21.18-4.93-13.58-7.55-27.98-7.55-42.82s2.62-29.24 7.55-42.82C203.29 74.83 195.68 64 184.67 64h-33.73c-7.01 0-13.46 4.49-15.41 11.23C130.64 92.21 128 109.88 128 128c0 18.12 2.64 35.79 7.54 52.76 1.94 6.74 8.39 11.24 15.4 11.24zM89.92 23.34C95.56 12.72 87.97 0 75.96 0H40.63c-6.27 0-12.14 3.59-14.74 9.31C9.4 45.54 0 85.65 0 128c0 24.75 3.12 68.33 26.69 118.86 2.62 5.63 8.42 9.14 14.61 9.14h34.84c12.02 0 19.61-12.74 13.95-23.37-49.78-93.32-16.71-178.15-.17-209.29zM614.06 9.29C611.46 3.58 605.6 0 599.33 0h-35.42c-11.98 0-19.66 12.66-14.02 23.25 18.27 34.29 48.42 119.42.28 209.23-5.72 10.68 1.8 23.52 13.91 23.52h35.23c6.27 0 12.13-3.58 14.73-9.29C630.57 210.48 640 170.36 640 128s-9.42-82.48-25.94-118.71zM489.06 64h-33.73c-11.01 0-18.61 10.83-14.86 21.18 4.93 13.58 7.55 27.98 7.55 42.82s-2.62 29.24-7.55 42.82c-3.76 10.35 3.85 21.18 14.86 21.18h33.73c7.02 0 13.46-4.49 15.41-11.24 4.9-16.97 7.53-34.64 7.53-52.76 0-18.12-2.64-35.79-7.54-52.76-1.94-6.75-8.39-11.24-15.4-11.24zm-116.3 100.12c7.05-10.29 11.2-22.71 11.2-36.12 0-35.35-28.63-64-63.96-64-35.32 0-63.96 28.65-63.96 64 0 13.41 4.15 25.83 11.2 36.12l-130.5 313.41c-3.4 8.15.46 17.52 8.61 20.92l29.51 12.31c8.15 3.4 17.52-.46 20.91-8.61L244.96 384h150.07l49.2 118.15c3.4 8.16 12.76 12.01 20.91 8.61l29.51-12.31c8.15-3.4 12-12.77 8.61-20.92l-130.5-313.41zM271.62 320L320 203.81 368.38 320h-96.76z\"]\n};\nvar faBroom = {\n prefix: 'fas',\n iconName: 'broom',\n icon: [640, 512, [], \"f51a\", \"M256.47 216.77l86.73 109.18s-16.6 102.36-76.57 150.12C206.66 523.85 0 510.19 0 510.19s3.8-23.14 11-55.43l94.62-112.17c3.97-4.7-.87-11.62-6.65-9.5l-60.4 22.09c14.44-41.66 32.72-80.04 54.6-97.47 59.97-47.76 163.3-40.94 163.3-40.94zM636.53 31.03l-19.86-25c-5.49-6.9-15.52-8.05-22.41-2.56l-232.48 177.8-34.14-42.97c-5.09-6.41-15.14-5.21-18.59 2.21l-25.33 54.55 86.73 109.18 58.8-12.45c8-1.69 11.42-11.2 6.34-17.6l-34.09-42.92 232.48-177.8c6.89-5.48 8.04-15.53 2.55-22.44z\"]\n};\nvar faBrush = {\n prefix: 'fas',\n iconName: 'brush',\n icon: [384, 512, [], \"f55d\", \"M352 0H32C14.33 0 0 14.33 0 32v224h384V32c0-17.67-14.33-32-32-32zM0 320c0 35.35 28.66 64 64 64h64v64c0 35.35 28.66 64 64 64s64-28.65 64-64v-64h64c35.34 0 64-28.65 64-64v-32H0v32zm192 104c13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24s-24-10.75-24-24c0-13.26 10.75-24 24-24z\"]\n};\nvar faBug = {\n prefix: 'fas',\n iconName: 'bug',\n icon: [512, 512, [], \"f188\", \"M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z\"]\n};\nvar faBuilding = {\n prefix: 'fas',\n iconName: 'building',\n icon: [448, 512, [], \"f1ad\", \"M436 480h-20V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v456H12c-6.627 0-12 5.373-12 12v20h448v-20c0-6.627-5.373-12-12-12zM128 76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76zm0 96c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40zm52 148h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm76 160h-64v-84c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v84zm64-172c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40z\"]\n};\nvar faBullhorn = {\n prefix: 'fas',\n iconName: 'bullhorn',\n icon: [576, 512, [], \"f0a1\", \"M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z\"]\n};\nvar faBullseye = {\n prefix: 'fas',\n iconName: 'bullseye',\n icon: [496, 512, [], \"f140\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 432c-101.69 0-184-82.29-184-184 0-101.69 82.29-184 184-184 101.69 0 184 82.29 184 184 0 101.69-82.29 184-184 184zm0-312c-70.69 0-128 57.31-128 128s57.31 128 128 128 128-57.31 128-128-57.31-128-128-128zm0 192c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64z\"]\n};\nvar faBurn = {\n prefix: 'fas',\n iconName: 'burn',\n icon: [384, 512, [], \"f46a\", \"M192 0C79.7 101.3 0 220.9 0 300.5 0 425 79 512 192 512s192-87 192-211.5c0-79.9-80.2-199.6-192-300.5zm0 448c-56.5 0-96-39-96-94.8 0-13.5 4.6-61.5 96-161.2 91.4 99.7 96 147.7 96 161.2 0 55.8-39.5 94.8-96 94.8z\"]\n};\nvar faBus = {\n prefix: 'fas',\n iconName: 'bus',\n icon: [512, 512, [], \"f207\", \"M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM112 400c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm16-112c-17.67 0-32-14.33-32-32V128c0-17.67 14.33-32 32-32h256c17.67 0 32 14.33 32 32v128c0 17.67-14.33 32-32 32H128zm272 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faBusAlt = {\n prefix: 'fas',\n iconName: 'bus-alt',\n icon: [512, 512, [], \"f55e\", \"M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM160 72c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H168c-4.42 0-8-3.58-8-8V72zm-48 328c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128-112H128c-17.67 0-32-14.33-32-32v-96c0-17.67 14.33-32 32-32h112v160zm32 0V128h112c17.67 0 32 14.33 32 32v96c0 17.67-14.33 32-32 32H272zm128 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faBusinessTime = {\n prefix: 'fas',\n iconName: 'business-time',\n icon: [640, 512, [], \"f64a\", \"M496 224c-79.59 0-144 64.41-144 144s64.41 144 144 144 144-64.41 144-144-64.41-144-144-144zm64 150.29c0 5.34-4.37 9.71-9.71 9.71h-60.57c-5.34 0-9.71-4.37-9.71-9.71v-76.57c0-5.34 4.37-9.71 9.71-9.71h12.57c5.34 0 9.71 4.37 9.71 9.71V352h38.29c5.34 0 9.71 4.37 9.71 9.71v12.58zM496 192c5.4 0 10.72.33 16 .81V144c0-25.6-22.4-48-48-48h-80V48c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h395.12c28.6-20.09 63.35-32 100.88-32zM320 96H192V64h128v32zm6.82 224H208c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h291.43C327.1 423.96 320 396.82 320 368c0-16.66 2.48-32.72 6.82-48z\"]\n};\nvar faCalculator = {\n prefix: 'fas',\n iconName: 'calculator',\n icon: [448, 512, [], \"f1ec\", \"M400 0H48C22.4 0 0 22.4 0 48v416c0 25.6 22.4 48 48 48h352c25.6 0 48-22.4 48-48V48c0-25.6-22.4-48-48-48zM128 435.2c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8V268.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v166.4zm0-256c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8V76.8C64 70.4 70.4 64 76.8 64h294.4c6.4 0 12.8 6.4 12.8 12.8v102.4z\"]\n};\nvar faCalendar = {\n prefix: 'fas',\n iconName: 'calendar',\n icon: [448, 512, [], \"f133\", \"M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z\"]\n};\nvar faCalendarAlt = {\n prefix: 'fas',\n iconName: 'calendar-alt',\n icon: [448, 512, [], \"f073\", \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"]\n};\nvar faCalendarCheck = {\n prefix: 'fas',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M436 160H12c-6.627 0-12-5.373-12-12v-36c0-26.51 21.49-48 48-48h48V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h128V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h48c26.51 0 48 21.49 48 48v36c0 6.627-5.373 12-12 12zM12 192h424c6.627 0 12 5.373 12 12v260c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V204c0-6.627 5.373-12 12-12zm333.296 95.947l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L194.12 364.665l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068l-28.397 28.17c-4.705 4.667-4.736 12.265-.068 16.97l82.601 83.269c4.667 4.705 12.265 4.736 16.97.068l142.953-141.805c4.705-4.667 4.736-12.265.068-16.97z\"]\n};\nvar faCalendarDay = {\n prefix: 'fas',\n iconName: 'calendar-day',\n icon: [448, 512, [], \"f783\", \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"]\n};\nvar faCalendarMinus = {\n prefix: 'fas',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm304 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H132c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h184z\"]\n};\nvar faCalendarPlus = {\n prefix: 'fas',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm316 140c0-6.6-5.4-12-12-12h-60v-60c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v60h-60c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h60v60c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-60h60c6.6 0 12-5.4 12-12v-40z\"]\n};\nvar faCalendarTimes = {\n prefix: 'fas',\n iconName: 'calendar-times',\n icon: [448, 512, [], \"f273\", \"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm257.3 160l48.1-48.1c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0L224 306.7l-48.1-48.1c-4.7-4.7-12.3-4.7-17 0l-28.3 28.3c-4.7 4.7-4.7 12.3 0 17l48.1 48.1-48.1 48.1c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l48.1-48.1 48.1 48.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L269.3 352z\"]\n};\nvar faCalendarWeek = {\n prefix: 'fas',\n iconName: 'calendar-week',\n icon: [448, 512, [], \"f784\", \"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h288c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-64zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"]\n};\nvar faCamera = {\n prefix: 'fas',\n iconName: 'camera',\n icon: [512, 512, [], \"f030\", \"M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z\"]\n};\nvar faCameraRetro = {\n prefix: 'fas',\n iconName: 'camera-retro',\n icon: [512, 512, [], \"f083\", \"M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 32h106c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H38c-3.3 0-6-2.7-6-6V80c0-8.8 7.2-16 16-16zm426 96H38c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h138l30.2-45.3c1.1-1.7 3-2.7 5-2.7H464c8.8 0 16 7.2 16 16v74c0 3.3-2.7 6-6 6zM256 424c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-208c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm-48 104c-8.8 0-16-7.2-16-16 0-35.3 28.7-64 64-64 8.8 0 16 7.2 16 16s-7.2 16-16 16c-17.6 0-32 14.4-32 32 0 8.8-7.2 16-16 16z\"]\n};\nvar faCampground = {\n prefix: 'fas',\n iconName: 'campground',\n icon: [640, 512, [], \"f6bb\", \"M624 448h-24.68L359.54 117.75l53.41-73.55c5.19-7.15 3.61-17.16-3.54-22.35l-25.9-18.79c-7.15-5.19-17.15-3.61-22.35 3.55L320 63.3 278.83 6.6c-5.19-7.15-15.2-8.74-22.35-3.55l-25.88 18.8c-7.15 5.19-8.74 15.2-3.54 22.35l53.41 73.55L40.68 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM320 288l116.36 160H203.64L320 288z\"]\n};\nvar faCandyCane = {\n prefix: 'fas',\n iconName: 'candy-cane',\n icon: [512, 512, [], \"f786\", \"M497.5 92C469.6 33.1 411.8 0 352.4 0c-27.9 0-56.2 7.3-81.8 22.6L243.1 39c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5l27.5-16.4c5.1-3.1 10.8-4.5 16.4-4.5 10.9 0 21.5 5.6 27.5 15.6 9.1 15.1 4.1 34.8-11 43.9L15.6 397.6c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5L428.6 301c71.7-42.9 104.6-133.5 68.9-209zm-177.7 13l-2.5 1.5L296.8 45c9.7-4.7 19.8-8.1 30.3-10.2l20.6 61.8c-9.8.8-19.4 3.3-27.9 8.4zM145.9 431.8l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm107.5-63.9l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zM364.3 302l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm20.4-197.3l46-46c8.4 6.5 16 14.1 22.6 22.6L407.6 127c-5.7-9.3-13.7-16.9-22.9-22.3zm82.1 107.8l-59.5-19.8c3.2-5.3 5.8-10.9 7.4-17.1 1.1-4.5 1.7-9.1 1.8-13.6l60.4 20.1c-2.1 10.4-5.5 20.6-10.1 30.4z\"]\n};\nvar faCannabis = {\n prefix: 'fas',\n iconName: 'cannabis',\n icon: [512, 512, [], \"f55f\", \"M503.47 360.25c-1.56-.82-32.39-16.89-76.78-25.81 64.25-75.12 84.05-161.67 84.93-165.64 1.18-5.33-.44-10.9-4.3-14.77-3.03-3.04-7.12-4.7-11.32-4.7-1.14 0-2.29.12-3.44.38-3.88.85-86.54 19.59-160.58 79.76.01-1.46.01-2.93.01-4.4 0-118.79-59.98-213.72-62.53-217.7A15.973 15.973 0 0 0 256 0c-5.45 0-10.53 2.78-13.47 7.37-2.55 3.98-62.53 98.91-62.53 217.7 0 1.47.01 2.94.01 4.4-74.03-60.16-156.69-78.9-160.58-79.76-1.14-.25-2.29-.38-3.44-.38-4.2 0-8.29 1.66-11.32 4.7A15.986 15.986 0 0 0 .38 168.8c.88 3.97 20.68 90.52 84.93 165.64-44.39 8.92-75.21 24.99-76.78 25.81a16.003 16.003 0 0 0-.02 28.29c2.45 1.29 60.76 31.72 133.49 31.72 6.14 0 11.96-.1 17.5-.31-11.37 22.23-16.52 38.31-16.81 39.22-1.8 5.68-.29 11.89 3.91 16.11a16.019 16.019 0 0 0 16.1 3.99c1.83-.57 37.72-11.99 77.3-39.29V504c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-64.01c39.58 27.3 75.47 38.71 77.3 39.29a16.019 16.019 0 0 0 16.1-3.99c4.2-4.22 5.71-10.43 3.91-16.11-.29-.91-5.45-16.99-16.81-39.22 5.54.21 11.37.31 17.5.31 72.72 0 131.04-30.43 133.49-31.72 5.24-2.78 8.52-8.22 8.51-14.15-.01-5.94-3.29-11.39-8.53-14.15z\"]\n};\nvar faCapsules = {\n prefix: 'fas',\n iconName: 'capsules',\n icon: [576, 512, [], \"f46b\", \"M555.3 300.1L424.2 112.8C401.9 81 366.4 64 330.4 64c-22.6 0-45.5 6.7-65.5 20.7-19.7 13.8-33.7 32.8-41.5 53.8C220.5 79.2 172 32 112 32 50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V218.9c3.3 8.6 7.3 17.1 12.8 25L368 431.2c22.2 31.8 57.7 48.8 93.8 48.8 22.7 0 45.5-6.7 65.5-20.7 51.7-36.2 64.2-107.5 28-159.2zM160 256H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm194.8 44.9l-65.6-93.7c-7.7-11-10.7-24.4-8.3-37.6 2.3-13.2 9.7-24.8 20.7-32.5 8.5-6 18.5-9.1 28.8-9.1 16.5 0 31.9 8 41.3 21.5l65.6 93.7-82.5 57.7z\"]\n};\nvar faCar = {\n prefix: 'fas',\n iconName: 'car',\n icon: [512, 512, [], \"f1b9\", \"M499.99 176h-59.87l-16.64-41.6C406.38 91.63 365.57 64 319.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4L71.87 176H12.01C4.2 176-1.53 183.34.37 190.91l6 24C7.7 220.25 12.5 224 18.01 224h20.07C24.65 235.73 16 252.78 16 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-19.22-8.65-36.27-22.07-48H494c5.51 0 10.31-3.75 11.64-9.09l6-24c1.89-7.57-3.84-14.91-11.65-14.91zm-352.06-17.83c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L384 208H128l19.93-49.83zM96 319.8c-19.2 0-32-12.76-32-31.9S76.8 256 96 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S396.8 256 416 256s32 12.76 32 31.9-12.8 31.9-32 31.9z\"]\n};\nvar faCarAlt = {\n prefix: 'fas',\n iconName: 'car-alt',\n icon: [480, 512, [], \"f5de\", \"M438.66 212.33l-11.24-28.1-19.93-49.83C390.38 91.63 349.57 64 303.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4l-19.93 49.83-11.24 28.1C17.22 221.5 0 244.66 0 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-27.34-17.22-50.5-41.34-59.67zm-306.73-54.16c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L368 208H112l19.93-49.83zM80 319.8c-19.2 0-32-12.76-32-31.9S60.8 256 80 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S380.8 256 400 256s32 12.76 32 31.9-12.8 31.9-32 31.9z\"]\n};\nvar faCarBattery = {\n prefix: 'fas',\n iconName: 'car-battery',\n icon: [512, 512, [], \"f5df\", \"M480 128h-32V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v48H192V80c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v48H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32zM192 264c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm256 0c0 4.42-3.58 8-8 8h-40v40c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-40h-40c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h40v-40c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v40h40c4.42 0 8 3.58 8 8v16z\"]\n};\nvar faCarCrash = {\n prefix: 'fas',\n iconName: 'car-crash',\n icon: [640, 512, [], \"f5e1\", \"M143.25 220.81l-12.42 46.37c-3.01 11.25-3.63 22.89-2.41 34.39l-35.2 28.98c-6.57 5.41-16.31-.43-14.62-8.77l15.44-76.68c1.06-5.26-2.66-10.28-8-10.79l-77.86-7.55c-8.47-.82-11.23-11.83-4.14-16.54l65.15-43.3c4.46-2.97 5.38-9.15 1.98-13.29L21.46 93.22c-5.41-6.57.43-16.3 8.78-14.62l76.68 15.44c5.26 1.06 10.28-2.66 10.8-8l7.55-77.86c.82-8.48 11.83-11.23 16.55-4.14l43.3 65.14c2.97 4.46 9.15 5.38 13.29 1.98l60.4-49.71c6.57-5.41 16.3.43 14.62 8.77L262.1 86.38c-2.71 3.05-5.43 6.09-7.91 9.4l-32.15 42.97-10.71 14.32c-32.73 8.76-59.18 34.53-68.08 67.74zm494.57 132.51l-12.42 46.36c-3.13 11.68-9.38 21.61-17.55 29.36a66.876 66.876 0 0 1-8.76 7l-13.99 52.23c-1.14 4.27-3.1 8.1-5.65 11.38-7.67 9.84-20.74 14.68-33.54 11.25L515 502.62c-17.07-4.57-27.2-22.12-22.63-39.19l8.28-30.91-247.28-66.26-8.28 30.91c-4.57 17.07-22.12 27.2-39.19 22.63l-30.91-8.28c-12.8-3.43-21.7-14.16-23.42-26.51-.57-4.12-.35-8.42.79-12.68l13.99-52.23a66.62 66.62 0 0 1-4.09-10.45c-3.2-10.79-3.65-22.52-.52-34.2l12.42-46.37c5.31-19.8 19.36-34.83 36.89-42.21a64.336 64.336 0 0 1 18.49-4.72l18.13-24.23 32.15-42.97c3.45-4.61 7.19-8.9 11.2-12.84 8-7.89 17.03-14.44 26.74-19.51 4.86-2.54 9.89-4.71 15.05-6.49 10.33-3.58 21.19-5.63 32.24-6.04 11.05-.41 22.31.82 33.43 3.8l122.68 32.87c11.12 2.98 21.48 7.54 30.85 13.43a111.11 111.11 0 0 1 34.69 34.5c8.82 13.88 14.64 29.84 16.68 46.99l6.36 53.29 3.59 30.05a64.49 64.49 0 0 1 22.74 29.93c4.39 11.88 5.29 25.19 1.75 38.39zM255.58 234.34c-18.55-4.97-34.21 4.04-39.17 22.53-4.96 18.49 4.11 34.12 22.65 39.09 18.55 4.97 45.54 15.51 50.49-2.98 4.96-18.49-15.43-53.67-33.97-58.64zm290.61 28.17l-6.36-53.29c-.58-4.87-1.89-9.53-3.82-13.86-5.8-12.99-17.2-23.01-31.42-26.82l-122.68-32.87a48.008 48.008 0 0 0-50.86 17.61l-32.15 42.97 172 46.08 75.29 20.18zm18.49 54.65c-18.55-4.97-53.8 15.31-58.75 33.79-4.95 18.49 23.69 22.86 42.24 27.83 18.55 4.97 34.21-4.04 39.17-22.53 4.95-18.48-4.11-34.12-22.66-39.09z\"]\n};\nvar faCarSide = {\n prefix: 'fas',\n iconName: 'car-side',\n icon: [640, 512, [], \"f5e4\", \"M544 192h-16L419.22 56.02A64.025 64.025 0 0 0 369.24 32H155.33c-26.17 0-49.7 15.93-59.42 40.23L48 194.26C20.44 201.4 0 226.21 0 256v112c0 8.84 7.16 16 16 16h48c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h48c8.84 0 16-7.16 16-16v-80c0-53.02-42.98-96-96-96zM160 432c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm72-240H116.93l38.4-96H232v96zm48 0V96h89.24l76.8 96H280zm200 240c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"]\n};\nvar faCaravan = {\n prefix: 'fas',\n iconName: 'caravan',\n icon: [640, 512, [], \"f8ff\", \"M416,208a16,16,0,1,0,16,16A16,16,0,0,0,416,208ZM624,320H576V160A160,160,0,0,0,416,0H64A64,64,0,0,0,0,64V320a64,64,0,0,0,64,64H96a96,96,0,0,0,192,0H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM192,432a48,48,0,1,1,48-48A48.05,48.05,0,0,1,192,432Zm64-240a32,32,0,0,1-32,32H96a32,32,0,0,1-32-32V128A32,32,0,0,1,96,96H224a32,32,0,0,1,32,32ZM448,320H320V128a32,32,0,0,1,32-32h64a32,32,0,0,1,32,32Z\"]\n};\nvar faCaretDown = {\n prefix: 'fas',\n iconName: 'caret-down',\n icon: [320, 512, [], \"f0d7\", \"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"]\n};\nvar faCaretLeft = {\n prefix: 'fas',\n iconName: 'caret-left',\n icon: [192, 512, [], \"f0d9\", \"M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z\"]\n};\nvar faCaretRight = {\n prefix: 'fas',\n iconName: 'caret-right',\n icon: [192, 512, [], \"f0da\", \"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"]\n};\nvar faCaretSquareDown = {\n prefix: 'fas',\n iconName: 'caret-square-down',\n icon: [448, 512, [], \"f150\", \"M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM92.5 220.5l123 123c4.7 4.7 12.3 4.7 17 0l123-123c7.6-7.6 2.2-20.5-8.5-20.5H101c-10.7 0-16.1 12.9-8.5 20.5z\"]\n};\nvar faCaretSquareLeft = {\n prefix: 'fas',\n iconName: 'caret-square-left',\n icon: [448, 512, [], \"f191\", \"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM259.515 124.485l-123.03 123.03c-4.686 4.686-4.686 12.284 0 16.971l123.029 123.029c7.56 7.56 20.485 2.206 20.485-8.485V132.971c.001-10.691-12.925-16.045-20.484-8.486z\"]\n};\nvar faCaretSquareRight = {\n prefix: 'fas',\n iconName: 'caret-square-right',\n icon: [448, 512, [], \"f152\", \"M48 32h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48zm140.485 355.515l123.029-123.029c4.686-4.686 4.686-12.284 0-16.971l-123.029-123.03c-7.56-7.56-20.485-2.206-20.485 8.485v246.059c0 10.691 12.926 16.045 20.485 8.486z\"]\n};\nvar faCaretSquareUp = {\n prefix: 'fas',\n iconName: 'caret-square-up',\n icon: [448, 512, [], \"f151\", \"M0 432V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm355.515-140.485l-123.03-123.03c-4.686-4.686-12.284-4.686-16.971 0L92.485 291.515c-7.56 7.56-2.206 20.485 8.485 20.485h246.059c10.691 0 16.045-12.926 8.486-20.485z\"]\n};\nvar faCaretUp = {\n prefix: 'fas',\n iconName: 'caret-up',\n icon: [320, 512, [], \"f0d8\", \"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"]\n};\nvar faCarrot = {\n prefix: 'fas',\n iconName: 'carrot',\n icon: [512, 512, [], \"f787\", \"M298.2 156.6c-52.7-25.7-114.5-10.5-150.2 32.8l55.2 55.2c6.3 6.3 6.3 16.4 0 22.6-3.1 3.1-7.2 4.7-11.3 4.7s-8.2-1.6-11.3-4.7L130.4 217 2.3 479.7c-2.9 6-3.1 13.3 0 19.7 5.4 11.1 18.9 15.7 30 10.3l133.6-65.2-49.2-49.2c-6.3-6.2-6.3-16.4 0-22.6 6.3-6.2 16.4-6.2 22.6 0l57 57 102-49.8c24-11.7 44.5-31.3 57.1-57.1 30.1-61.7 4.5-136.1-57.2-166.2zm92.1-34.9C409.8 81 399.7 32.9 360 0c-50.3 41.7-52.5 107.5-7.9 151.9l8 8c44.4 44.6 110.3 42.4 151.9-7.9-32.9-39.7-81-49.8-121.7-30.3z\"]\n};\nvar faCartArrowDown = {\n prefix: 'fas',\n iconName: 'cart-arrow-down',\n icon: [576, 512, [], \"f218\", \"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z\"]\n};\nvar faCartPlus = {\n prefix: 'fas',\n iconName: 'cart-plus',\n icon: [576, 512, [], \"f217\", \"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM408 168h-48v-40c0-8.837-7.163-16-16-16h-16c-8.837 0-16 7.163-16 16v40h-48c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h48v40c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-40h48c8.837 0 16-7.163 16-16v-16c0-8.837-7.163-16-16-16z\"]\n};\nvar faCashRegister = {\n prefix: 'fas',\n iconName: 'cash-register',\n icon: [512, 512, [], \"f788\", \"M511.1 378.8l-26.7-160c-2.6-15.4-15.9-26.7-31.6-26.7H208v-64h96c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96v64H59.1c-15.6 0-29 11.3-31.6 26.7L.8 378.7c-.6 3.5-.9 7-.9 10.5V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-90.7c.1-3.5-.2-7-.8-10.5zM280 248c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16zm-32 64h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16zm-32-80c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16zM80 80V48h192v32H80zm40 200h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16zm16 64v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16zm216 112c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16zm24-112c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16zm48-80c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16z\"]\n};\nvar faCat = {\n prefix: 'fas',\n iconName: 'cat',\n icon: [512, 512, [], \"f6be\", \"M290.59 192c-20.18 0-106.82 1.98-162.59 85.95V192c0-52.94-43.06-96-96-96-17.67 0-32 14.33-32 32s14.33 32 32 32c17.64 0 32 14.36 32 32v256c0 35.3 28.7 64 64 64h176c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-32l128-96v144c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V289.86c-10.29 2.67-20.89 4.54-32 4.54-61.81 0-113.52-44.05-125.41-102.4zM448 96h-64l-64-64v134.4c0 53.02 42.98 96 96 96s96-42.98 96-96V32l-64 64zm-72 80c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm80 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faCertificate = {\n prefix: 'fas',\n iconName: 'certificate',\n icon: [512, 512, [], \"f0a3\", \"M458.622 255.92l45.985-45.005c13.708-12.977 7.316-36.039-10.664-40.339l-62.65-15.99 17.661-62.015c4.991-17.838-11.829-34.663-29.661-29.671l-61.994 17.667-15.984-62.671C337.085.197 313.765-6.276 300.99 7.228L256 53.57 211.011 7.229c-12.63-13.351-36.047-7.234-40.325 10.668l-15.984 62.671-61.995-17.667C74.87 57.907 58.056 74.738 63.046 92.572l17.661 62.015-62.65 15.99C.069 174.878-6.31 197.944 7.392 210.915l45.985 45.005-45.985 45.004c-13.708 12.977-7.316 36.039 10.664 40.339l62.65 15.99-17.661 62.015c-4.991 17.838 11.829 34.663 29.661 29.671l61.994-17.667 15.984 62.671c4.439 18.575 27.696 24.018 40.325 10.668L256 458.61l44.989 46.001c12.5 13.488 35.987 7.486 40.325-10.668l15.984-62.671 61.994 17.667c17.836 4.994 34.651-11.837 29.661-29.671l-17.661-62.015 62.65-15.99c17.987-4.302 24.366-27.367 10.664-40.339l-45.984-45.004z\"]\n};\nvar faChair = {\n prefix: 'fas',\n iconName: 'chair',\n icon: [448, 512, [], \"f6c0\", \"M112 128c0-29.5 16.2-55 40-68.9V256h48V48h48v208h48V59.1c23.8 13.9 40 39.4 40 68.9v128h48V128C384 57.3 326.7 0 256 0h-64C121.3 0 64 57.3 64 128v128h48zm334.3 213.9l-10.7-32c-4.4-13.1-16.6-21.9-30.4-21.9H42.7c-13.8 0-26 8.8-30.4 21.9l-10.7 32C-5.2 362.6 10.2 384 32 384v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384h256v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c21.8 0 37.2-21.4 30.3-42.1z\"]\n};\nvar faChalkboard = {\n prefix: 'fas',\n iconName: 'chalkboard',\n icon: [640, 512, [], \"f51b\", \"M96 64h448v352h64V40c0-22.06-17.94-40-40-40H72C49.94 0 32 17.94 32 40v376h64V64zm528 384H480v-64H288v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faChalkboardTeacher = {\n prefix: 'fas',\n iconName: 'chalkboard-teacher',\n icon: [640, 512, [], \"f51c\", \"M208 352c-2.39 0-4.78.35-7.06 1.09C187.98 357.3 174.35 360 160 360c-14.35 0-27.98-2.7-40.95-6.91-2.28-.74-4.66-1.09-7.05-1.09C49.94 352-.33 402.48 0 464.62.14 490.88 21.73 512 48 512h224c26.27 0 47.86-21.12 48-47.38.33-62.14-49.94-112.62-112-112.62zm-48-32c53.02 0 96-42.98 96-96s-42.98-96-96-96-96 42.98-96 96 42.98 96 96 96zM592 0H208c-26.47 0-48 22.25-48 49.59V96c23.42 0 45.1 6.78 64 17.8V64h352v288h-64v-64H384v64h-76.24c19.1 16.69 33.12 38.73 39.69 64H592c26.47 0 48-22.25 48-49.59V49.59C640 22.25 618.47 0 592 0z\"]\n};\nvar faChargingStation = {\n prefix: 'fas',\n iconName: 'charging-station',\n icon: [576, 512, [], \"f5e7\", \"M336 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h320c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm208-320V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-32V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-16c-8.84 0-16 7.16-16 16v32c0 35.76 23.62 65.69 56 75.93v118.49c0 13.95-9.5 26.92-23.26 29.19C431.22 402.5 416 388.99 416 372v-28c0-48.6-39.4-88-88-88h-8V64c0-35.35-28.65-64-64-64H96C60.65 0 32 28.65 32 64v352h288V304h8c22.09 0 40 17.91 40 40v24.61c0 39.67 28.92 75.16 68.41 79.01C481.71 452.05 520 416.41 520 372V251.93c32.38-10.24 56-40.17 56-75.93v-32c0-8.84-7.16-16-16-16h-16zm-283.91 47.76l-93.7 139c-2.2 3.33-6.21 5.24-10.39 5.24-7.67 0-13.47-6.28-11.67-12.92L167.35 224H108c-7.25 0-12.85-5.59-11.89-11.89l16-107C112.9 99.9 117.98 96 124 96h68c7.88 0 13.62 6.54 11.6 13.21L192 160h57.7c9.24 0 15.01 8.78 10.39 15.76z\"]\n};\nvar faChartArea = {\n prefix: 'fas',\n iconName: 'chart-area',\n icon: [512, 512, [], \"f1fe\", \"M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM372.7 159.5L288 216l-85.3-113.7c-5.1-6.8-15.5-6.3-19.9 1L96 248v104h384l-89.9-187.8c-3.2-6.5-11.4-8.7-17.4-4.7z\"]\n};\nvar faChartBar = {\n prefix: 'fas',\n iconName: 'chart-bar',\n icon: [512, 512, [], \"f080\", \"M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faChartLine = {\n prefix: 'fas',\n iconName: 'chart-line',\n icon: [512, 512, [], \"f201\", \"M496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM464 96H345.94c-21.38 0-32.09 25.85-16.97 40.97l32.4 32.4L288 242.75l-73.37-73.37c-12.5-12.5-32.76-12.5-45.25 0l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L192 237.25l73.37 73.37c12.5 12.5 32.76 12.5 45.25 0l96-96 32.4 32.4c15.12 15.12 40.97 4.41 40.97-16.97V112c.01-8.84-7.15-16-15.99-16z\"]\n};\nvar faChartPie = {\n prefix: 'fas',\n iconName: 'chart-pie',\n icon: [544, 512, [], \"f200\", \"M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z\"]\n};\nvar faCheck = {\n prefix: 'fas',\n iconName: 'check',\n icon: [512, 512, [], \"f00c\", \"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"]\n};\nvar faCheckCircle = {\n prefix: 'fas',\n iconName: 'check-circle',\n icon: [512, 512, [], \"f058\", \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z\"]\n};\nvar faCheckDouble = {\n prefix: 'fas',\n iconName: 'check-double',\n icon: [512, 512, [], \"f560\", \"M505 174.8l-39.6-39.6c-9.4-9.4-24.6-9.4-33.9 0L192 374.7 80.6 263.2c-9.4-9.4-24.6-9.4-33.9 0L7 302.9c-9.4 9.4-9.4 24.6 0 34L175 505c9.4 9.4 24.6 9.4 33.9 0l296-296.2c9.4-9.5 9.4-24.7.1-34zm-324.3 106c6.2 6.3 16.4 6.3 22.6 0l208-208.2c6.2-6.3 6.2-16.4 0-22.6L366.1 4.7c-6.2-6.3-16.4-6.3-22.6 0L192 156.2l-55.4-55.5c-6.2-6.3-16.4-6.3-22.6 0L68.7 146c-6.2 6.3-6.2 16.4 0 22.6l112 112.2z\"]\n};\nvar faCheckSquare = {\n prefix: 'fas',\n iconName: 'check-square',\n icon: [448, 512, [], \"f14a\", \"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z\"]\n};\nvar faCheese = {\n prefix: 'fas',\n iconName: 'cheese',\n icon: [512, 512, [], \"f7ef\", \"M0 288v160a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V288zM299.83 32a32 32 0 0 0-21.13 7L0 256h512c0-119.89-94-217.8-212.17-224z\"]\n};\nvar faChess = {\n prefix: 'fas',\n iconName: 'chess',\n icon: [512, 512, [], \"f439\", \"M74 208H64a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h15.94A535.78 535.78 0 0 1 64 384h128a535.78 535.78 0 0 1-15.94-128H192a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-10l33.89-90.38a16 16 0 0 0-15-21.62H144V64h24a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8h-24V8a8 8 0 0 0-8-8h-16a8 8 0 0 0-8 8v24H88a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h24v32H55.09a16 16 0 0 0-15 21.62zm173.16 251.58L224 448v-16a16 16 0 0 0-16-16H48a16 16 0 0 0-16 16v16L8.85 459.58A16 16 0 0 0 0 473.89V496a16 16 0 0 0 16 16h224a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31zm92.77-157.78l-3.29 82.2h126.72l-3.29-82.21 24.6-20.79A32 32 0 0 0 496 256.54V198a6 6 0 0 0-6-6h-26.38a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H373.1a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H310a6 6 0 0 0-6 6v58.6a32 32 0 0 0 11.36 24.4zM384 304a16 16 0 0 1 32 0v32h-32zm119.16 155.58L480 448v-16a16 16 0 0 0-16-16H336a16 16 0 0 0-16 16v16l-23.15 11.58a16 16 0 0 0-8.85 14.31V496a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31z\"]\n};\nvar faChessBishop = {\n prefix: 'fas',\n iconName: 'chess-bishop',\n icon: [320, 512, [], \"f43a\", \"M8 287.88c0 51.64 22.14 73.83 56 84.6V416h192v-43.52c33.86-10.77 56-33 56-84.6 0-30.61-10.73-67.1-26.69-102.56L185 285.65a8 8 0 0 1-11.31 0l-11.31-11.31a8 8 0 0 1 0-11.31L270.27 155.1c-20.8-37.91-46.47-72.1-70.87-92.59C213.4 59.09 224 47.05 224 32a32 32 0 0 0-32-32h-64a32 32 0 0 0-32 32c0 15 10.6 27.09 24.6 30.51C67.81 106.8 8 214.5 8 287.88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChessBoard = {\n prefix: 'fas',\n iconName: 'chess-board',\n icon: [512, 512, [], \"f43c\", \"M255.9.2h-64v64h64zM0 64.17v64h64v-64zM128 .2H64v64h64zm64 255.9v64h64v-64zM0 192.12v64h64v-64zM383.85.2h-64v64h64zm128 0h-64v64h64zM128 256.1H64v64h64zM511.8 448v-64h-64v64zm0-128v-64h-64v64zM383.85 512h64v-64h-64zm128-319.88v-64h-64v64zM128 512h64v-64h-64zM0 512h64v-64H0zm255.9 0h64v-64h-64zM0 320.07v64h64v-64zm319.88-191.92v-64h-64v64zm-64 128h64v-64h-64zm-64 128v64h64v-64zm128-64h64v-64h-64zm0-127.95h64v-64h-64zm0 191.93v64h64v-64zM64 384.05v64h64v-64zm128-255.9v-64h-64v64zm191.92 255.9h64v-64h-64zm-128-191.93v-64h-64v64zm128-127.95v64h64v-64zm-128 255.9v64h64v-64zm-64-127.95H128v64h64zm191.92 64h64v-64h-64zM128 128.15H64v64h64zm0 191.92v64h64v-64z\"]\n};\nvar faChessKing = {\n prefix: 'fas',\n iconName: 'chess-king',\n icon: [448, 512, [], \"f43f\", \"M400 448H48a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm16-288H256v-48h40a8 8 0 0 0 8-8V56a8 8 0 0 0-8-8h-40V8a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v40h-40a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h40v48H32a32 32 0 0 0-30.52 41.54L74.56 416h298.88l73.08-214.46A32 32 0 0 0 416 160z\"]\n};\nvar faChessKnight = {\n prefix: 'fas',\n iconName: 'chess-knight',\n icon: [384, 512, [], \"f441\", \"M19 272.47l40.63 18.06a32 32 0 0 0 24.88.47l12.78-5.12a32 32 0 0 0 18.76-20.5l9.22-30.65a24 24 0 0 1 12.55-15.65L159.94 208v50.33a48 48 0 0 1-26.53 42.94l-57.22 28.65A80 80 0 0 0 32 401.48V416h319.86V224c0-106-85.92-192-191.92-192H12A12 12 0 0 0 0 44a16.9 16.9 0 0 0 1.79 7.58L16 80l-9 9a24 24 0 0 0-7 17v137.21a32 32 0 0 0 19 29.26zM52 128a20 20 0 1 1-20 20 20 20 0 0 1 20-20zm316 320H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChessPawn = {\n prefix: 'fas',\n iconName: 'chess-pawn',\n icon: [320, 512, [], \"f443\", \"M105.1 224H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h16v5.49c0 44-4.14 86.6-24 122.51h176c-19.89-35.91-24-78.51-24-122.51V288h16a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-25.1c29.39-18.38 49.1-50.78 49.1-88a104 104 0 0 0-208 0c0 37.22 19.71 69.62 49.1 88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChessQueen = {\n prefix: 'fas',\n iconName: 'chess-queen',\n icon: [512, 512, [], \"f445\", \"M256 112a56 56 0 1 0-56-56 56 56 0 0 0 56 56zm176 336H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm72.87-263.84l-28.51-15.92c-7.44-5-16.91-2.46-22.29 4.68a47.59 47.59 0 0 1-47.23 18.23C383.7 186.86 368 164.93 368 141.4a13.4 13.4 0 0 0-13.4-13.4h-38.77c-6 0-11.61 4-12.86 9.91a48 48 0 0 1-93.94 0c-1.25-5.92-6.82-9.91-12.86-9.91H157.4a13.4 13.4 0 0 0-13.4 13.4c0 25.69-19 48.75-44.67 50.49a47.5 47.5 0 0 1-41.54-19.15c-5.28-7.09-14.73-9.45-22.09-4.54l-28.57 16a16 16 0 0 0-5.44 20.47L104.24 416h303.52l102.55-211.37a16 16 0 0 0-5.44-20.47z\"]\n};\nvar faChessRook = {\n prefix: 'fas',\n iconName: 'chess-rook',\n icon: [384, 512, [], \"f447\", \"M368 32h-56a16 16 0 0 0-16 16v48h-48V48a16 16 0 0 0-16-16h-80a16 16 0 0 0-16 16v48H88.1V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48v176l64 32c0 48.33-1.54 95-13.21 160h282.42C321.54 351 320 303.72 320 256l64-32V48a16 16 0 0 0-16-16zM224 320h-64v-64a32 32 0 0 1 64 0zm144 128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faChevronCircleDown = {\n prefix: 'fas',\n iconName: 'chevron-circle-down',\n icon: [512, 512, [], \"f13a\", \"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM273 369.9l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L256 285.1 154.4 183.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L239 369.9c9.4 9.4 24.6 9.4 34 0z\"]\n};\nvar faChevronCircleLeft = {\n prefix: 'fas',\n iconName: 'chevron-circle-left',\n icon: [512, 512, [], \"f137\", \"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zM142.1 273l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L226.9 256l101.6-101.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L142.1 239c-9.4 9.4-9.4 24.6 0 34z\"]\n};\nvar faChevronCircleRight = {\n prefix: 'fas',\n iconName: 'chevron-circle-right',\n icon: [512, 512, [], \"f138\", \"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z\"]\n};\nvar faChevronCircleUp = {\n prefix: 'fas',\n iconName: 'chevron-circle-up',\n icon: [512, 512, [], \"f139\", \"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm231-113.9L103.5 277.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L256 226.9l101.6 101.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L273 142.1c-9.4-9.4-24.6-9.4-34 0z\"]\n};\nvar faChevronDown = {\n prefix: 'fas',\n iconName: 'chevron-down',\n icon: [448, 512, [], \"f078\", \"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"]\n};\nvar faChevronLeft = {\n prefix: 'fas',\n iconName: 'chevron-left',\n icon: [320, 512, [], \"f053\", \"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z\"]\n};\nvar faChevronRight = {\n prefix: 'fas',\n iconName: 'chevron-right',\n icon: [320, 512, [], \"f054\", \"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z\"]\n};\nvar faChevronUp = {\n prefix: 'fas',\n iconName: 'chevron-up',\n icon: [448, 512, [], \"f077\", \"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"]\n};\nvar faChild = {\n prefix: 'fas',\n iconName: 'child',\n icon: [384, 512, [], \"f1ae\", \"M120 72c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.764-32.235 72-72 72s-72-32.236-72-72zm254.627 1.373c-12.496-12.497-32.758-12.497-45.254 0L242.745 160H141.254L54.627 73.373c-12.496-12.497-32.758-12.497-45.254 0-12.497 12.497-12.497 32.758 0 45.255L104 213.254V480c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V368h16v112c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V213.254l94.627-94.627c12.497-12.497 12.497-32.757 0-45.254z\"]\n};\nvar faChurch = {\n prefix: 'fas',\n iconName: 'church',\n icon: [640, 512, [], \"f51d\", \"M464.46 246.68L352 179.2V128h48c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-48V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v48h-48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v51.2l-112.46 67.48A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.65-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.54A32.024 32.024 0 0 0 0 395.96zm620.61-29.42L512 320v192h112c8.84 0 16-7.16 16-16V395.96c0-12.8-7.63-24.37-19.39-29.42z\"]\n};\nvar faCircle = {\n prefix: 'fas',\n iconName: 'circle',\n icon: [512, 512, [], \"f111\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"]\n};\nvar faCircleNotch = {\n prefix: 'fas',\n iconName: 'circle-notch',\n icon: [512, 512, [], \"f1ce\", \"M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056z\"]\n};\nvar faCity = {\n prefix: 'fas',\n iconName: 'city',\n icon: [640, 512, [], \"f64f\", \"M616 192H480V24c0-13.26-10.74-24-24-24H312c-13.26 0-24 10.74-24 24v72h-64V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v80h-64V16c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v80H24c-13.26 0-24 10.74-24 24v360c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V216c0-13.26-10.75-24-24-24zM128 404c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm128 192c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12V76c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 288c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40z\"]\n};\nvar faClinicMedical = {\n prefix: 'fas',\n iconName: 'clinic-medical',\n icon: [576, 512, [], \"f7f2\", \"M288 115L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2zm96 261a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8zm186.69-139.72l-255.94-226a39.85 39.85 0 0 0-53.45 0l-256 226a16 16 0 0 0-1.21 22.6L25.5 282.7a16 16 0 0 0 22.6 1.21L277.42 81.63a16 16 0 0 1 21.17 0L527.91 283.9a16 16 0 0 0 22.6-1.21l21.4-23.82a16 16 0 0 0-1.22-22.59z\"]\n};\nvar faClipboard = {\n prefix: 'fas',\n iconName: 'clipboard',\n icon: [384, 512, [], \"f328\", \"M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z\"]\n};\nvar faClipboardCheck = {\n prefix: 'fas',\n iconName: 'clipboard-check',\n icon: [384, 512, [], \"f46c\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z\"]\n};\nvar faClipboardList = {\n prefix: 'fas',\n iconName: 'clipboard-list',\n icon: [384, 512, [], \"f46d\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faClock = {\n prefix: 'fas',\n iconName: 'clock',\n icon: [512, 512, [], \"f017\", \"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z\"]\n};\nvar faClone = {\n prefix: 'fas',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'fas',\n iconName: 'closed-captioning',\n icon: [512, 512, [], \"f20a\", \"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM218.1 287.7c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2.1 48 51.1 70.5 92.3 32.6zm190.4 0c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.5 56.9-172.7 32.1-172.7-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 222.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6z\"]\n};\nvar faCloud = {\n prefix: 'fas',\n iconName: 'cloud',\n icon: [640, 512, [], \"f0c2\", \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z\"]\n};\nvar faCloudDownloadAlt = {\n prefix: 'fas',\n iconName: 'cloud-download-alt',\n icon: [640, 512, [], \"f381\", \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z\"]\n};\nvar faCloudMeatball = {\n prefix: 'fas',\n iconName: 'cloud-meatball',\n icon: [512, 512, [], \"f73b\", \"M48 352c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm416 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-119 11.1c4.6-14.5 1.6-30.8-9.8-42.3-11.5-11.5-27.8-14.4-42.3-9.9-7-13.5-20.7-23-36.9-23s-29.9 9.5-36.9 23c-14.5-4.6-30.8-1.6-42.3 9.9-11.5 11.5-14.4 27.8-9.9 42.3-13.5 7-23 20.7-23 36.9s9.5 29.9 23 36.9c-4.6 14.5-1.6 30.8 9.9 42.3 8.2 8.2 18.9 12.3 29.7 12.3 4.3 0 8.5-1.1 12.6-2.5 7 13.5 20.7 23 36.9 23s29.9-9.5 36.9-23c4.1 1.3 8.3 2.5 12.6 2.5 10.8 0 21.5-4.1 29.7-12.3 11.5-11.5 14.4-27.8 9.8-42.3 13.5-7 23-20.7 23-36.9s-9.5-29.9-23-36.9zM512 224c0-53-43-96-96-96-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h43.4c3.6-8 8.4-15.4 14.8-21.8 13.5-13.5 31.5-21.1 50.8-21.3 13.5-13.2 31.7-20.9 51-20.9s37.5 7.7 51 20.9c19.3.2 37.3 7.8 50.8 21.3 6.4 6.4 11.3 13.8 14.8 21.8H416c53 0 96-43 96-96z\"]\n};\nvar faCloudMoon = {\n prefix: 'fas',\n iconName: 'cloud-moon',\n icon: [576, 512, [], \"f6c3\", \"M342.8 352.7c5.7-9.6 9.2-20.7 9.2-32.7 0-35.3-28.7-64-64-64-17.2 0-32.8 6.9-44.3 17.9-16.3-29.6-47.5-49.9-83.7-49.9-53 0-96 43-96 96 0 2 .5 3.8.6 5.7C27.1 338.8 0 374.1 0 416c0 53 43 96 96 96h240c44.2 0 80-35.8 80-80 0-41.9-32.3-75.8-73.2-79.3zm222.5-54.3c-93.1 17.7-178.5-53.7-178.5-147.7 0-54.2 29-104 76.1-130.8 7.3-4.1 5.4-15.1-2.8-16.7C448.4 1.1 436.7 0 425 0 319.1 0 233.1 85.9 233.1 192c0 8.5.7 16.8 1.8 25 5.9 4.3 11.6 8.9 16.7 14.2 11.4-4.7 23.7-7.2 36.4-7.2 52.9 0 96 43.1 96 96 0 3.6-.2 7.2-.6 10.7 23.6 10.8 42.4 29.5 53.5 52.6 54.4-3.4 103.7-29.3 137.1-70.4 5.3-6.5-.5-16.1-8.7-14.5z\"]\n};\nvar faCloudMoonRain = {\n prefix: 'fas',\n iconName: 'cloud-moon-rain',\n icon: [576, 512, [], \"f73c\", \"M350.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C27.6 232.9 0 265.2 0 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm217.4-1.7c-70.4 13.3-135-40.3-135-110.8 0-40.6 21.9-78 57.5-98.1 5.5-3.1 4.1-11.4-2.1-12.5C479.6.8 470.7 0 461.8 0c-77.9 0-141.1 61.2-144.4 137.9 26.7 11.9 48.2 33.8 58.9 61.7 37.1 14.3 64 47.4 70.2 86.8 5.1.5 10 1.5 15.2 1.5 44.7 0 85.6-20.2 112.6-53.3 4.2-4.8-.2-12-6.4-10.8zM364.5 418.1c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z\"]\n};\nvar faCloudRain = {\n prefix: 'fas',\n iconName: 'cloud-rain',\n icon: [512, 512, [], \"f73d\", \"M416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96zM88 374.2c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0z\"]\n};\nvar faCloudShowersHeavy = {\n prefix: 'fas',\n iconName: 'cloud-showers-heavy',\n icon: [512, 512, [], \"f740\", \"M183.9 370.1c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-192 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm384 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zM416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.2 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96z\"]\n};\nvar faCloudSun = {\n prefix: 'fas',\n iconName: 'cloud-sun',\n icon: [640, 512, [], \"f6c4\", \"M575.2 325.7c.2-1.9.8-3.7.8-5.6 0-35.3-28.7-64-64-64-12.6 0-24.2 3.8-34.1 10-17.6-38.8-56.5-66-101.9-66-61.8 0-112 50.1-112 112 0 3 .7 5.8.9 8.7-49.6 3.7-88.9 44.7-88.9 95.3 0 53 43 96 96 96h272c53 0 96-43 96-96 0-42.1-27.2-77.4-64.8-90.4zm-430.4-22.6c-43.7-43.7-43.7-114.7 0-158.3 43.7-43.7 114.7-43.7 158.4 0 9.7 9.7 16.9 20.9 22.3 32.7 9.8-3.7 20.1-6 30.7-7.5L386 81.1c4-11.9-7.3-23.1-19.2-19.2L279 91.2 237.5 8.4C232-2.8 216-2.8 210.4 8.4L169 91.2 81.1 61.9C69.3 58 58 69.3 61.9 81.1l29.3 87.8-82.8 41.5c-11.2 5.6-11.2 21.5 0 27.1l82.8 41.4-29.3 87.8c-4 11.9 7.3 23.1 19.2 19.2l76.1-25.3c6.1-12.4 14-23.7 23.6-33.5-13.1-5.4-25.4-13.4-36-24zm-4.8-79.2c0 40.8 29.3 74.8 67.9 82.3 8-4.7 16.3-8.8 25.2-11.7 5.4-44.3 31-82.5 67.4-105C287.3 160.4 258 140 224 140c-46.3 0-84 37.6-84 83.9z\"]\n};\nvar faCloudSunRain = {\n prefix: 'fas',\n iconName: 'cloud-sun-rain',\n icon: [576, 512, [], \"f743\", \"M510.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C187.6 233 160 265.2 160 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm-386.4 34.4c-37.4-37.4-37.4-98.3 0-135.8 34.6-34.6 89.1-36.8 126.7-7.4 20-12.9 43.6-20.7 69.2-20.7.7 0 1.3.2 2 .2l8.9-26.7c3.4-10.2-6.3-19.8-16.5-16.4l-75.3 25.1-35.5-71c-4.8-9.6-18.5-9.6-23.3 0l-35.5 71-75.3-25.1c-10.2-3.4-19.8 6.3-16.4 16.5l25.1 75.3-71 35.5c-9.6 4.8-9.6 18.5 0 23.3l71 35.5-25.1 75.3c-3.4 10.2 6.3 19.8 16.5 16.5l59.2-19.7c-.2-2.4-.7-4.7-.7-7.2 0-12.5 2.3-24.5 6.2-35.9-3.6-2.7-7.1-5.2-10.2-8.3zm69.8-58c4.3-24.5 15.8-46.4 31.9-64-9.8-6.2-21.4-9.9-33.8-9.9-35.3 0-64 28.7-64 64 0 18.7 8.2 35.4 21.1 47.1 11.3-15.9 26.6-28.9 44.8-37.2zm330.6 216.2c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z\"]\n};\nvar faCloudUploadAlt = {\n prefix: 'fas',\n iconName: 'cloud-upload-alt',\n icon: [640, 512, [], \"f382\", \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z\"]\n};\nvar faCocktail = {\n prefix: 'fas',\n iconName: 'cocktail',\n icon: [576, 512, [], \"f561\", \"M296 464h-56V338.78l168.74-168.73c15.52-15.52 4.53-42.05-17.42-42.05H24.68c-21.95 0-32.94 26.53-17.42 42.05L176 338.78V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM432 0c-62.61 0-115.35 40.2-135.18 96h52.54c16.65-28.55 47.27-48 82.64-48 52.93 0 96 43.06 96 96s-43.07 96-96 96c-14.04 0-27.29-3.2-39.32-8.64l-35.26 35.26C379.23 279.92 404.59 288 432 288c79.53 0 144-64.47 144-144S511.53 0 432 0z\"]\n};\nvar faCode = {\n prefix: 'fas',\n iconName: 'code',\n icon: [640, 512, [], \"f121\", \"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z\"]\n};\nvar faCodeBranch = {\n prefix: 'fas',\n iconName: 'code-branch',\n icon: [384, 512, [], \"f126\", \"M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z\"]\n};\nvar faCoffee = {\n prefix: 'fas',\n iconName: 'coffee',\n icon: [640, 512, [], \"f0f4\", \"M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96zM512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96h32zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64z\"]\n};\nvar faCog = {\n prefix: 'fas',\n iconName: 'cog',\n icon: [512, 512, [], \"f013\", \"M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faCogs = {\n prefix: 'fas',\n iconName: 'cogs',\n icon: [640, 512, [], \"f085\", \"M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z\"]\n};\nvar faCoins = {\n prefix: 'fas',\n iconName: 'coins',\n icon: [512, 512, [], \"f51e\", \"M0 405.3V448c0 35.3 86 64 192 64s192-28.7 192-64v-42.7C342.7 434.4 267.2 448 192 448S41.3 434.4 0 405.3zM320 128c106 0 192-28.7 192-64S426 0 320 0 128 28.7 128 64s86 64 192 64zM0 300.4V352c0 35.3 86 64 192 64s192-28.7 192-64v-51.6c-41.3 34-116.9 51.6-192 51.6S41.3 334.4 0 300.4zm416 11c57.3-11.1 96-31.7 96-55.4v-42.7c-23.2 16.4-57.3 27.6-96 34.5v63.6zM192 160C86 160 0 195.8 0 240s86 80 192 80 192-35.8 192-80-86-80-192-80zm219.3 56.3c60-10.8 100.7-32 100.7-56.3v-42.7c-35.5 25.1-96.5 38.6-160.7 41.8 29.5 14.3 51.2 33.5 60 57.2z\"]\n};\nvar faColumns = {\n prefix: 'fas',\n iconName: 'columns',\n icon: [512, 512, [], \"f0db\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z\"]\n};\nvar faComment = {\n prefix: 'fas',\n iconName: 'comment',\n icon: [512, 512, [], \"f075\", \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32z\"]\n};\nvar faCommentAlt = {\n prefix: 'fas',\n iconName: 'comment-alt',\n icon: [512, 512, [], \"f27a\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64z\"]\n};\nvar faCommentDollar = {\n prefix: 'fas',\n iconName: 'comment-dollar',\n icon: [512, 512, [], \"f651\", \"M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95.01 57.02 130.74C44.46 421.05 2.7 465.97 2.2 466.5A7.995 7.995 0 0 0 8 480c66.26 0 115.99-31.75 140.6-51.38C181.29 440.93 217.59 448 256 448c141.38 0 256-93.12 256-208S397.38 32 256 32zm24 302.44V352c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16v-17.73c-11.42-1.35-22.28-5.19-31.78-11.46-6.22-4.11-6.82-13.11-1.55-18.38l17.52-17.52c3.74-3.74 9.31-4.24 14.11-2.03 3.18 1.46 6.66 2.22 10.26 2.22h32.78c4.66 0 8.44-3.78 8.44-8.42 0-3.75-2.52-7.08-6.12-8.11l-50.07-14.3c-22.25-6.35-40.01-24.71-42.91-47.67-4.05-32.07 19.03-59.43 49.32-63.05V128c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v17.73c11.42 1.35 22.28 5.19 31.78 11.46 6.22 4.11 6.82 13.11 1.55 18.38l-17.52 17.52c-3.74 3.74-9.31 4.24-14.11 2.03a24.516 24.516 0 0 0-10.26-2.22h-32.78c-4.66 0-8.44 3.78-8.44 8.42 0 3.75 2.52 7.08 6.12 8.11l50.07 14.3c22.25 6.36 40.01 24.71 42.91 47.67 4.05 32.06-19.03 59.42-49.32 63.04z\"]\n};\nvar faCommentDots = {\n prefix: 'fas',\n iconName: 'comment-dots',\n icon: [512, 512, [], \"f4ad\", \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128 272c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faCommentMedical = {\n prefix: 'fas',\n iconName: 'comment-medical',\n icon: [512, 512, [], \"f7f5\", \"M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95 57 130.74C44.46 421.05 2.7 466 2.2 466.5A8 8 0 0 0 8 480c66.26 0 116-31.75 140.6-51.38A304.66 304.66 0 0 0 256 448c141.39 0 256-93.12 256-208S397.39 32 256 32zm96 232a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8z\"]\n};\nvar faCommentSlash = {\n prefix: 'fas',\n iconName: 'comment-slash',\n icon: [640, 512, [], \"f4b3\", \"M64 240c0 49.6 21.4 95 57 130.7-12.6 50.3-54.3 95.2-54.8 95.8-2.2 2.3-2.8 5.7-1.5 8.7 1.3 2.9 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 27.4 0 53.7-3.6 78.4-10L72.9 186.4c-5.6 17.1-8.9 35-8.9 53.6zm569.8 218.1l-114.4-88.4C554.6 334.1 576 289.2 576 240c0-114.9-114.6-208-256-208-65.1 0-124.2 20.1-169.4 52.7L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z\"]\n};\nvar faComments = {\n prefix: 'fas',\n iconName: 'comments',\n icon: [576, 512, [], \"f086\", \"M416 192c0-88.4-93.1-160-208-160S0 103.6 0 192c0 34.3 14.1 65.9 38 92-13.4 30.2-35.5 54.2-35.8 54.5-2.2 2.3-2.8 5.7-1.5 8.7S4.8 352 8 352c36.6 0 66.9-12.3 88.7-25 32.2 15.7 70.3 25 111.3 25 114.9 0 208-71.6 208-160zm122 220c23.9-26 38-57.7 38-92 0-66.9-53.5-124.2-129.3-148.1.9 6.6 1.3 13.3 1.3 20.1 0 105.9-107.7 192-240 192-10.8 0-21.3-.8-31.7-1.9C207.8 439.6 281.8 480 368 480c41 0 79.1-9.2 111.3-25 21.8 12.7 52.1 25 88.7 25 3.2 0 6.1-1.9 7.3-4.8 1.3-2.9.7-6.3-1.5-8.7-.3-.3-22.4-24.2-35.8-54.5z\"]\n};\nvar faCommentsDollar = {\n prefix: 'fas',\n iconName: 'comments-dollar',\n icon: [576, 512, [], \"f653\", \"M416 192c0-88.37-93.12-160-208-160S0 103.63 0 192c0 34.27 14.13 65.95 37.97 91.98C24.61 314.22 2.52 338.16 2.2 338.5A7.995 7.995 0 0 0 8 352c36.58 0 66.93-12.25 88.73-24.98C128.93 342.76 167.02 352 208 352c114.88 0 208-71.63 208-160zm-224 96v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V96c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07V288c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm346.01 123.99C561.87 385.96 576 354.27 576 320c0-66.94-53.49-124.2-129.33-148.07.86 6.6 1.33 13.29 1.33 20.07 0 105.87-107.66 192-240 192-10.78 0-21.32-.77-31.73-1.88C207.8 439.63 281.77 480 368 480c40.98 0 79.07-9.24 111.27-24.98C501.07 467.75 531.42 480 568 480c3.2 0 6.09-1.91 7.34-4.84 1.27-2.94.66-6.34-1.55-8.67-.31-.33-22.42-24.24-35.78-54.5z\"]\n};\nvar faCompactDisc = {\n prefix: 'fas',\n iconName: 'compact-disc',\n icon: [496, 512, [], \"f51f\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 256H56c0-105.9 86.1-192 192-192v32c-88.2 0-160 71.8-160 160zm160 96c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faCompass = {\n prefix: 'fas',\n iconName: 'compass',\n icon: [496, 512, [], \"f14e\", \"M225.38 233.37c-12.5 12.5-12.5 32.76 0 45.25 12.49 12.5 32.76 12.5 45.25 0 12.5-12.5 12.5-32.76 0-45.25-12.5-12.49-32.76-12.49-45.25 0zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm126.14 148.05L308.17 300.4a31.938 31.938 0 0 1-15.77 15.77l-144.34 65.97c-16.65 7.61-33.81-9.55-26.2-26.2l65.98-144.35a31.938 31.938 0 0 1 15.77-15.77l144.34-65.97c16.65-7.6 33.8 9.55 26.19 26.2z\"]\n};\nvar faCompress = {\n prefix: 'fas',\n iconName: 'compress',\n icon: [448, 512, [], \"f066\", \"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"]\n};\nvar faCompressAlt = {\n prefix: 'fas',\n iconName: 'compress-alt',\n icon: [448, 512, [], \"f422\", \"M4.686 427.314L104 328l-32.922-31.029C55.958 281.851 66.666 256 88.048 256h112C213.303 256 224 266.745 224 280v112c0 21.382-25.803 32.09-40.922 16.971L152 376l-99.314 99.314c-6.248 6.248-16.379 6.248-22.627 0L4.686 449.941c-6.248-6.248-6.248-16.379 0-22.627zM443.314 84.686L344 184l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C234.697 256 224 245.255 224 232V120c0-21.382 25.803-32.09 40.922-16.971L296 136l99.314-99.314c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.248 6.248 6.248 16.379 0 22.627z\"]\n};\nvar faCompressArrowsAlt = {\n prefix: 'fas',\n iconName: 'compress-arrows-alt',\n icon: [512, 512, [], \"f78c\", \"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z\"]\n};\nvar faConciergeBell = {\n prefix: 'fas',\n iconName: 'concierge-bell',\n icon: [512, 512, [], \"f562\", \"M288 130.54V112h16c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h16v18.54C115.49 146.11 32 239.18 32 352h448c0-112.82-83.49-205.89-192-221.46zM496 384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faCookie = {\n prefix: 'fas',\n iconName: 'cookie',\n icon: [512, 512, [], \"f563\", \"M510.37 254.79l-12.08-76.26a132.493 132.493 0 0 0-37.16-72.95l-54.76-54.75c-19.73-19.72-45.18-32.7-72.71-37.05l-76.7-12.15c-27.51-4.36-55.69.11-80.52 12.76L107.32 49.6a132.25 132.25 0 0 0-57.79 57.8l-35.1 68.88a132.602 132.602 0 0 0-12.82 80.94l12.08 76.27a132.493 132.493 0 0 0 37.16 72.95l54.76 54.75a132.087 132.087 0 0 0 72.71 37.05l76.7 12.14c27.51 4.36 55.69-.11 80.52-12.75l69.12-35.21a132.302 132.302 0 0 0 57.79-57.8l35.1-68.87c12.71-24.96 17.2-53.3 12.82-80.96zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faCookieBite = {\n prefix: 'fas',\n iconName: 'cookie-bite',\n icon: [512, 512, [], \"f564\", \"M510.52 255.82c-69.97-.85-126.47-57.69-126.47-127.86-70.17 0-127-56.49-127.86-126.45-27.26-4.14-55.13.3-79.72 12.82l-69.13 35.22a132.221 132.221 0 0 0-57.79 57.81l-35.1 68.88a132.645 132.645 0 0 0-12.82 80.95l12.08 76.27a132.521 132.521 0 0 0 37.16 72.96l54.77 54.76a132.036 132.036 0 0 0 72.71 37.06l76.71 12.15c27.51 4.36 55.7-.11 80.53-12.76l69.13-35.21a132.273 132.273 0 0 0 57.79-57.81l35.1-68.88c12.56-24.64 17.01-52.58 12.91-79.91zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faCopy = {\n prefix: 'fas',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z\"]\n};\nvar faCopyright = {\n prefix: 'fas',\n iconName: 'copyright',\n icon: [512, 512, [], \"f1f9\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm117.134 346.753c-1.592 1.867-39.776 45.731-109.851 45.731-84.692 0-144.484-63.26-144.484-145.567 0-81.303 62.004-143.401 143.762-143.401 66.957 0 101.965 37.315 103.422 38.904a12 12 0 0 1 1.238 14.623l-22.38 34.655c-4.049 6.267-12.774 7.351-18.234 2.295-.233-.214-26.529-23.88-61.88-23.88-46.116 0-73.916 33.575-73.916 76.082 0 39.602 25.514 79.692 74.277 79.692 38.697 0 65.28-28.338 65.544-28.625 5.132-5.565 14.059-5.033 18.508 1.053l24.547 33.572a12.001 12.001 0 0 1-.553 14.866z\"]\n};\nvar faCouch = {\n prefix: 'fas',\n iconName: 'couch',\n icon: [640, 512, [], \"f4b8\", \"M160 224v64h320v-64c0-35.3 28.7-64 64-64h32c0-53-43-96-96-96H160c-53 0-96 43-96 96h32c35.3 0 64 28.7 64 64zm416-32h-32c-17.7 0-32 14.3-32 32v96H128v-96c0-17.7-14.3-32-32-32H64c-35.3 0-64 28.7-64 64 0 23.6 13 44 32 55.1V432c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-16h384v16c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V311.1c19-11.1 32-31.5 32-55.1 0-35.3-28.7-64-64-64z\"]\n};\nvar faCreditCard = {\n prefix: 'fas',\n iconName: 'credit-card',\n icon: [576, 512, [], \"f09d\", \"M0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V256H0v176zm192-68c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40zm-128 0c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM576 80v48H0V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48z\"]\n};\nvar faCrop = {\n prefix: 'fas',\n iconName: 'crop',\n icon: [512, 512, [], \"f125\", \"M488 352h-40V109.25l59.31-59.31c6.25-6.25 6.25-16.38 0-22.63L484.69 4.69c-6.25-6.25-16.38-6.25-22.63 0L402.75 64H192v96h114.75L160 306.75V24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v264c0 13.25 10.75 24 24 24h232v-96H205.25L352 205.25V488c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"]\n};\nvar faCropAlt = {\n prefix: 'fas',\n iconName: 'crop-alt',\n icon: [512, 512, [], \"f565\", \"M488 352h-40V96c0-17.67-14.33-32-32-32H192v96h160v328c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24zM160 24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v256c0 17.67 14.33 32 32 32h224v-96H160V24z\"]\n};\nvar faCross = {\n prefix: 'fas',\n iconName: 'cross',\n icon: [384, 512, [], \"f654\", \"M352 128h-96V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h96v224c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V256h96c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"]\n};\nvar faCrosshairs = {\n prefix: 'fas',\n iconName: 'crosshairs',\n icon: [512, 512, [], \"f05b\", \"M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z\"]\n};\nvar faCrow = {\n prefix: 'fas',\n iconName: 'crow',\n icon: [640, 512, [], \"f520\", \"M544 32h-16.36C513.04 12.68 490.09 0 464 0c-44.18 0-80 35.82-80 80v20.98L12.09 393.57A30.216 30.216 0 0 0 0 417.74c0 22.46 23.64 37.07 43.73 27.03L165.27 384h96.49l44.41 120.1c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38L312.94 384H352c1.91 0 3.76-.23 5.66-.29l44.51 120.38c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38l-41.24-111.53C485.74 352.8 544 279.26 544 192v-80l96-16c0-35.35-42.98-64-96-64zm-80 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faCrown = {\n prefix: 'fas',\n iconName: 'crown',\n icon: [640, 512, [], \"f521\", \"M528 448H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h416c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm64-320c-26.5 0-48 21.5-48 48 0 7.1 1.6 13.7 4.4 19.8L476 239.2c-15.4 9.2-35.3 4-44.2-11.6L350.3 85C361 76.2 368 63 368 48c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 15 7 28.2 17.7 37l-81.5 142.6c-8.9 15.6-28.9 20.8-44.2 11.6l-72.3-43.4c2.7-6 4.4-12.7 4.4-19.8 0-26.5-21.5-48-48-48S0 149.5 0 176s21.5 48 48 48c2.6 0 5.2-.4 7.7-.8L128 416h384l72.3-192.8c2.5.4 5.1.8 7.7.8 26.5 0 48-21.5 48-48s-21.5-48-48-48z\"]\n};\nvar faCrutch = {\n prefix: 'fas',\n iconName: 'crutch',\n icon: [512, 512, [], \"f7f7\", \"M507.31 185.71l-181-181a16 16 0 0 0-22.62 0L281 27.31a16 16 0 0 0 0 22.63l181 181a16 16 0 0 0 22.63 0l22.62-22.63a16 16 0 0 0 .06-22.6zm-179.54 66.41l-67.89-67.89 55.1-55.1-45.25-45.25-109.67 109.67a96.08 96.08 0 0 0-25.67 46.29L106.65 360.1l-102 102a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0l102-102 120.25-27.75a95.88 95.88 0 0 0 46.29-25.65l109.68-109.68L382.87 197zm-54.57 54.57a32 32 0 0 1-15.45 8.54l-79.3 18.32 18.3-79.3a32.22 32.22 0 0 1 8.56-15.45l9.31-9.31 67.89 67.89z\"]\n};\nvar faCube = {\n prefix: 'fas',\n iconName: 'cube',\n icon: [512, 512, [], \"f1b2\", \"M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z\"]\n};\nvar faCubes = {\n prefix: 'fas',\n iconName: 'cubes',\n icon: [512, 512, [], \"f1b3\", \"M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z\"]\n};\nvar faCut = {\n prefix: 'fas',\n iconName: 'cut',\n icon: [448, 512, [], \"f0c4\", \"M278.06 256L444.48 89.57c4.69-4.69 4.69-12.29 0-16.97-32.8-32.8-85.99-32.8-118.79 0L210.18 188.12l-24.86-24.86c4.31-10.92 6.68-22.81 6.68-35.26 0-53.02-42.98-96-96-96S0 74.98 0 128s42.98 96 96 96c4.54 0 8.99-.32 13.36-.93L142.29 256l-32.93 32.93c-4.37-.61-8.83-.93-13.36-.93-53.02 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96c0-12.45-2.37-24.34-6.68-35.26l24.86-24.86L325.69 439.4c32.8 32.8 85.99 32.8 118.79 0 4.69-4.68 4.69-12.28 0-16.97L278.06 256zM96 160c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32zm0 256c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z\"]\n};\nvar faDatabase = {\n prefix: 'fas',\n iconName: 'database',\n icon: [448, 512, [], \"f1c0\", \"M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z\"]\n};\nvar faDeaf = {\n prefix: 'fas',\n iconName: 'deaf',\n icon: [512, 512, [], \"f2a4\", \"M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm268.485-52.201L480.2 3.515c-4.687-4.686-12.284-4.686-16.971 0L376.2 90.544c-4.686 4.686-4.686 12.284 0 16.971l28.285 28.285c4.686 4.686 12.284 4.686 16.97 0l87.03-87.029c4.687-4.688 4.687-12.286 0-16.972zM168.97 314.745c-4.686-4.686-12.284-4.686-16.97 0L3.515 463.23c-4.686 4.686-4.686 12.284 0 16.971L31.8 508.485c4.687 4.686 12.284 4.686 16.971 0L197.256 360c4.686-4.686 4.686-12.284 0-16.971l-28.286-28.284z\"]\n};\nvar faDemocrat = {\n prefix: 'fas',\n iconName: 'democrat',\n icon: [640, 512, [], \"f747\", \"M637.3 256.9l-19.6-29.4c-28.2-42.3-75.3-67.5-126.1-67.5H256l-81.2-81.2c20.1-20.1 22.6-51.1 7.5-73.9-3.4-5.2-10.8-5.9-15.2-1.5l-41.8 41.8L82.4 2.4c-3.6-3.6-9.6-3-12.4 1.2-12.3 18.6-10.3 44 6.1 60.4 3.3 3.3 7.3 5.3 11.3 7.5-2.2 1.7-4.7 3.1-6.4 5.4L6.4 176.2c-7.3 9.7-8.4 22.7-3 33.5l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7h31c8.5 0 16.6-3.4 22.6-9.4L138 212l54 108h352v-77.8c16.2 12.2 18.3 17.6 40.1 50.3 4.9 7.4 14.8 9.3 22.2 4.4l26.6-17.7c7.3-5 9.3-14.9 4.4-22.3zm-341.1-13.6l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L256 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L368 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L480 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zM192 496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80h160v80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V352H192v144z\"]\n};\nvar faDesktop = {\n prefix: 'fas',\n iconName: 'desktop',\n icon: [576, 512, [], \"f108\", \"M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z\"]\n};\nvar faDharmachakra = {\n prefix: 'fas',\n iconName: 'dharmachakra',\n icon: [512, 512, [], \"f655\", \"M495 225.06l-17.22 1.08c-5.27-39.49-20.79-75.64-43.86-105.84l12.95-11.43c6.92-6.11 7.25-16.79.73-23.31L426.44 64.4c-6.53-6.53-17.21-6.19-23.31.73L391.7 78.07c-30.2-23.06-66.35-38.58-105.83-43.86L286.94 17c.58-9.21-6.74-17-15.97-17h-29.94c-9.23 0-16.54 7.79-15.97 17l1.08 17.22c-39.49 5.27-75.64 20.79-105.83 43.86l-11.43-12.95c-6.11-6.92-16.79-7.25-23.31-.73L64.4 85.56c-6.53 6.53-6.19 17.21.73 23.31l12.95 11.43c-23.06 30.2-38.58 66.35-43.86 105.84L17 225.06c-9.21-.58-17 6.74-17 15.97v29.94c0 9.23 7.79 16.54 17 15.97l17.22-1.08c5.27 39.49 20.79 75.64 43.86 105.83l-12.95 11.43c-6.92 6.11-7.25 16.79-.73 23.31l21.17 21.17c6.53 6.53 17.21 6.19 23.31-.73l11.43-12.95c30.2 23.06 66.35 38.58 105.84 43.86L225.06 495c-.58 9.21 6.74 17 15.97 17h29.94c9.23 0 16.54-7.79 15.97-17l-1.08-17.22c39.49-5.27 75.64-20.79 105.84-43.86l11.43 12.95c6.11 6.92 16.79 7.25 23.31.73l21.17-21.17c6.53-6.53 6.19-17.21-.73-23.31l-12.95-11.43c23.06-30.2 38.58-66.35 43.86-105.83l17.22 1.08c9.21.58 17-6.74 17-15.97v-29.94c-.01-9.23-7.8-16.54-17.01-15.97zM281.84 98.61c24.81 4.07 47.63 13.66 67.23 27.78l-42.62 48.29c-8.73-5.44-18.32-9.54-28.62-11.95l4.01-64.12zm-51.68 0l4.01 64.12c-10.29 2.41-19.89 6.52-28.62 11.95l-42.62-48.29c19.6-14.12 42.42-23.71 67.23-27.78zm-103.77 64.33l48.3 42.61c-5.44 8.73-9.54 18.33-11.96 28.62l-64.12-4.01c4.07-24.81 13.66-47.62 27.78-67.22zm-27.78 118.9l64.12-4.01c2.41 10.29 6.52 19.89 11.95 28.62l-48.29 42.62c-14.12-19.6-23.71-42.42-27.78-67.23zm131.55 131.55c-24.81-4.07-47.63-13.66-67.23-27.78l42.61-48.3c8.73 5.44 18.33 9.54 28.62 11.96l-4 64.12zM256 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm25.84 125.39l-4.01-64.12c10.29-2.41 19.89-6.52 28.62-11.96l42.61 48.3c-19.6 14.12-42.41 23.71-67.22 27.78zm103.77-64.33l-48.29-42.62c5.44-8.73 9.54-18.32 11.95-28.62l64.12 4.01c-4.07 24.82-13.66 47.64-27.78 67.23zm-36.34-114.89c-2.41-10.29-6.52-19.89-11.96-28.62l48.3-42.61c14.12 19.6 23.71 42.42 27.78 67.23l-64.12 4z\"]\n};\nvar faDiagnoses = {\n prefix: 'fas',\n iconName: 'diagnoses',\n icon: [640, 512, [], \"f470\", \"M496 256c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm-176-80c48.5 0 88-39.5 88-88S368.5 0 320 0s-88 39.5-88 88 39.5 88 88 88zM59.8 364c10.2 15.3 29.3 17.8 42.9 9.8 16.2-9.6 56.2-31.7 105.3-48.6V416h224v-90.7c49.1 16.8 89.1 39 105.3 48.6 13.6 8 32.7 5.3 42.9-9.8l17.8-26.7c8.8-13.2 7.6-34.6-10-45.1-11.9-7.1-29.7-17-51.1-27.4-28.1 46.1-99.4 17.8-87.7-35.1C409.3 217.2 365.1 208 320 208c-57 0-112.9 14.5-160 32.2-.2 40.2-47.6 63.3-79.2 36-11.2 6-21.3 11.6-28.7 16-17.6 10.5-18.8 31.8-10 45.1L59.8 364zM368 344c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-160 8c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm512 192H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faDice = {\n prefix: 'fas',\n iconName: 'dice',\n icon: [640, 512, [], \"f522\", \"M592 192H473.26c12.69 29.59 7.12 65.2-17 89.32L320 417.58V464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V240c0-26.51-21.49-48-48-48zM480 376c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm-46.37-186.7L258.7 14.37c-19.16-19.16-50.23-19.16-69.39 0L14.37 189.3c-19.16 19.16-19.16 50.23 0 69.39L189.3 433.63c19.16 19.16 50.23 19.16 69.39 0L433.63 258.7c19.16-19.17 19.16-50.24 0-69.4zM96 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faDiceD20 = {\n prefix: 'fas',\n iconName: 'dice-d20',\n icon: [480, 512, [], \"f6cf\", \"M106.75 215.06L1.2 370.95c-3.08 5 .1 11.5 5.93 12.14l208.26 22.07-108.64-190.1zM7.41 315.43L82.7 193.08 6.06 147.1c-2.67-1.6-6.06.32-6.06 3.43v162.81c0 4.03 5.29 5.53 7.41 2.09zM18.25 423.6l194.4 87.66c5.3 2.45 11.35-1.43 11.35-7.26v-65.67l-203.55-22.3c-4.45-.5-6.23 5.59-2.2 7.57zm81.22-257.78L179.4 22.88c4.34-7.06-3.59-15.25-10.78-11.14L17.81 110.35c-2.47 1.62-2.39 5.26.13 6.78l81.53 48.69zM240 176h109.21L253.63 7.62C250.5 2.54 245.25 0 240 0s-10.5 2.54-13.63 7.62L130.79 176H240zm233.94-28.9l-76.64 45.99 75.29 122.35c2.11 3.44 7.41 1.94 7.41-2.1V150.53c0-3.11-3.39-5.03-6.06-3.43zm-93.41 18.72l81.53-48.7c2.53-1.52 2.6-5.16.13-6.78l-150.81-98.6c-7.19-4.11-15.12 4.08-10.78 11.14l79.93 142.94zm79.02 250.21L256 438.32v65.67c0 5.84 6.05 9.71 11.35 7.26l194.4-87.66c4.03-1.97 2.25-8.06-2.2-7.56zm-86.3-200.97l-108.63 190.1 208.26-22.07c5.83-.65 9.01-7.14 5.93-12.14L373.25 215.06zM240 208H139.57L240 383.75 340.43 208H240z\"]\n};\nvar faDiceD6 = {\n prefix: 'fas',\n iconName: 'dice-d6',\n icon: [448, 512, [], \"f6d1\", \"M422.19 109.95L256.21 9.07c-19.91-12.1-44.52-12.1-64.43 0L25.81 109.95c-5.32 3.23-5.29 11.27.06 14.46L224 242.55l198.14-118.14c5.35-3.19 5.38-11.22.05-14.46zm13.84 44.63L240 271.46v223.82c0 12.88 13.39 20.91 24.05 14.43l152.16-92.48c19.68-11.96 31.79-33.94 31.79-57.7v-197.7c0-6.41-6.64-10.43-11.97-7.25zM0 161.83v197.7c0 23.77 12.11 45.74 31.79 57.7l152.16 92.47c10.67 6.48 24.05-1.54 24.05-14.43V271.46L11.97 154.58C6.64 151.4 0 155.42 0 161.83z\"]\n};\nvar faDiceFive = {\n prefix: 'fas',\n iconName: 'dice-five',\n icon: [448, 512, [], \"f523\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceFour = {\n prefix: 'fas',\n iconName: 'dice-four',\n icon: [448, 512, [], \"f524\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceOne = {\n prefix: 'fas',\n iconName: 'dice-one',\n icon: [448, 512, [], \"f525\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM224 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceSix = {\n prefix: 'fas',\n iconName: 'dice-six',\n icon: [448, 512, [], \"f526\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceThree = {\n prefix: 'fas',\n iconName: 'dice-three',\n icon: [448, 512, [], \"f527\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDiceTwo = {\n prefix: 'fas',\n iconName: 'dice-two',\n icon: [448, 512, [], \"f528\", \"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faDigitalTachograph = {\n prefix: 'fas',\n iconName: 'digital-tachograph',\n icon: [640, 512, [], \"f566\", \"M608 96H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128c0-17.67-14.33-32-32-32zM304 352c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8zM72 288v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H80c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm40-64c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-48c0-8.84 7.16-16 16-16h208c8.84 0 16 7.16 16 16v48zm272 128c0 4.42-3.58 8-8 8H344c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8z\"]\n};\nvar faDirections = {\n prefix: 'fas',\n iconName: 'directions',\n icon: [512, 512, [], \"f5eb\", \"M502.61 233.32L278.68 9.39c-12.52-12.52-32.83-12.52-45.36 0L9.39 233.32c-12.52 12.53-12.52 32.83 0 45.36l223.93 223.93c12.52 12.53 32.83 12.53 45.36 0l223.93-223.93c12.52-12.53 12.52-32.83 0-45.36zm-100.98 12.56l-84.21 77.73c-5.12 4.73-13.43 1.1-13.43-5.88V264h-96v64c0 4.42-3.58 8-8 8h-32c-4.42 0-8-3.58-8-8v-80c0-17.67 14.33-32 32-32h112v-53.73c0-6.97 8.3-10.61 13.43-5.88l84.21 77.73c3.43 3.17 3.43 8.59 0 11.76z\"]\n};\nvar faDisease = {\n prefix: 'fas',\n iconName: 'disease',\n icon: [512, 512, [], \"f7fa\", \"M472.29 195.9l-67.06-23c-19.28-6.6-33.54-20.92-38.14-38.31l-16-60.45c-11.58-43.77-76.57-57.13-110-22.62L195 99.24c-13.26 13.71-33.54 20.93-54.2 19.31l-71.9-5.62c-52-4.07-86.93 44.89-59 82.84l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24l-28.43 57C4 396.67 47.46 440.29 98.11 429.23l70-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101 7.57 104.45-37.22l4.7-61.86c1.35-17.8 12.8-33.87 30.63-43l62-31.74c44.84-22.96 39.55-80.17-8.99-96.79zM160 256a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm128 96a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm16-128a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"]\n};\nvar faDivide = {\n prefix: 'fas',\n iconName: 'divide',\n icon: [448, 512, [], \"f529\", \"M224 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm0-192c35.35 0 64-28.65 64-64s-28.65-64-64-64-64 28.65-64 64 28.65 64 64 64zm192 48H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faDizzy = {\n prefix: 'fas',\n iconName: 'dizzy',\n icon: [496, 512, [], \"f567\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-96 206.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L174.6 192l28.7 28.7c15.2 15.2-7.9 37.4-22.6 22.6L152 214.6zM248 416c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm147.3-195.3c15.2 15.2-7.9 37.4-22.6 22.6L344 214.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L366.6 192l28.7 28.7z\"]\n};\nvar faDna = {\n prefix: 'fas',\n iconName: 'dna',\n icon: [448, 512, [], \"f471\", \"M.1 494.1c-1.1 9.5 6.3 17.8 15.9 17.8l32.3.1c8.1 0 14.9-5.9 16-13.9.7-4.9 1.8-11.1 3.4-18.1H380c1.6 6.9 2.9 13.2 3.5 18.1 1.1 8 7.9 14 16 13.9l32.3-.1c9.6 0 17.1-8.3 15.9-17.8-4.6-37.9-25.6-129-118.9-207.7-17.6 12.4-37.1 24.2-58.5 35.4 6.2 4.6 11.4 9.4 17 14.2H159.7c21.3-18.1 47-35.6 78.7-51.4C410.5 199.1 442.1 65.8 447.9 17.9 449 8.4 441.6.1 432 .1L399.6 0c-8.1 0-14.9 5.9-16 13.9-.7 4.9-1.8 11.1-3.4 18.1H67.8c-1.6-7-2.7-13.1-3.4-18.1-1.1-8-7.9-14-16-13.9L16.1.1C6.5.1-1 8.4.1 17.9 5.3 60.8 31.4 171.8 160 256 31.5 340.2 5.3 451.2.1 494.1zM224 219.6c-25.1-13.7-46.4-28.4-64.3-43.6h128.5c-17.8 15.2-39.1 30-64.2 43.6zM355.1 96c-5.8 10.4-12.8 21.1-21 32H114c-8.3-10.9-15.3-21.6-21-32h262.1zM92.9 416c5.8-10.4 12.8-21.1 21-32h219.4c8.3 10.9 15.4 21.6 21.2 32H92.9z\"]\n};\nvar faDog = {\n prefix: 'fas',\n iconName: 'dog',\n icon: [576, 512, [], \"f6d3\", \"M298.06,224,448,277.55V496a16,16,0,0,1-16,16H368a16,16,0,0,1-16-16V384H192V496a16,16,0,0,1-16,16H112a16,16,0,0,1-16-16V282.09C58.84,268.84,32,233.66,32,192a32,32,0,0,1,64,0,32.06,32.06,0,0,0,32,32ZM544,112v32a64,64,0,0,1-64,64H448v35.58L320,197.87V48c0-14.25,17.22-21.39,27.31-11.31L374.59,64h53.63c10.91,0,23.75,7.92,28.62,17.69L464,96h64A16,16,0,0,1,544,112Zm-112,0a16,16,0,1,0-16,16A16,16,0,0,0,432,112Z\"]\n};\nvar faDollarSign = {\n prefix: 'fas',\n iconName: 'dollar-sign',\n icon: [288, 512, [], \"f155\", \"M209.2 233.4l-108-31.6C88.7 198.2 80 186.5 80 173.5c0-16.3 13.2-29.5 29.5-29.5h66.3c12.2 0 24.2 3.7 34.2 10.5 6.1 4.1 14.3 3.1 19.5-2l34.8-34c7.1-6.9 6.1-18.4-1.8-24.5C238 74.8 207.4 64.1 176 64V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48h-2.5C45.8 64-5.4 118.7.5 183.6c4.2 46.1 39.4 83.6 83.8 96.6l102.5 30c12.5 3.7 21.2 15.3 21.2 28.3 0 16.3-13.2 29.5-29.5 29.5h-66.3C100 368 88 364.3 78 357.5c-6.1-4.1-14.3-3.1-19.5 2l-34.8 34c-7.1 6.9-6.1 18.4 1.8 24.5 24.5 19.2 55.1 29.9 86.5 30v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48.2c46.6-.9 90.3-28.6 105.7-72.7 21.5-61.6-14.6-124.8-72.5-141.7z\"]\n};\nvar faDolly = {\n prefix: 'fas',\n iconName: 'dolly',\n icon: [576, 512, [], \"f472\", \"M294.2 277.7c18 5 34.7 13.4 49.5 24.7l161.5-53.8c8.4-2.8 12.9-11.9 10.1-20.2L454.9 47.2c-2.8-8.4-11.9-12.9-20.2-10.1l-61.1 20.4 33.1 99.4L346 177l-33.1-99.4-61.6 20.5c-8.4 2.8-12.9 11.9-10.1 20.2l53 159.4zm281 48.7L565 296c-2.8-8.4-11.9-12.9-20.2-10.1l-213.5 71.2c-17.2-22-43.6-36.4-73.5-37L158.4 21.9C154 8.8 141.8 0 128 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h88.9l92.2 276.7c-26.1 20.4-41.7 53.6-36 90.5 6.1 39.4 37.9 72.3 77.3 79.2 60.2 10.7 112.3-34.8 113.4-92.6l213.3-71.2c8.3-2.8 12.9-11.8 10.1-20.2zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"]\n};\nvar faDollyFlatbed = {\n prefix: 'fas',\n iconName: 'dolly-flatbed',\n icon: [640, 512, [], \"f474\", \"M208 320h384c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H448v128l-48-32-48 32V32H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm416 64H128V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h82.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faDonate = {\n prefix: 'fas',\n iconName: 'donate',\n icon: [512, 512, [], \"f4b9\", \"M256 416c114.9 0 208-93.1 208-208S370.9 0 256 0 48 93.1 48 208s93.1 208 208 208zM233.8 97.4V80.6c0-9.2 7.4-16.6 16.6-16.6h11.1c9.2 0 16.6 7.4 16.6 16.6v17c15.5.8 30.5 6.1 43 15.4 5.6 4.1 6.2 12.3 1.2 17.1L306 145.6c-3.8 3.7-9.5 3.8-14 1-5.4-3.4-11.4-5.1-17.8-5.1h-38.9c-9 0-16.3 8.2-16.3 18.3 0 8.2 5 15.5 12.1 17.6l62.3 18.7c25.7 7.7 43.7 32.4 43.7 60.1 0 34-26.4 61.5-59.1 62.4v16.8c0 9.2-7.4 16.6-16.6 16.6h-11.1c-9.2 0-16.6-7.4-16.6-16.6v-17c-15.5-.8-30.5-6.1-43-15.4-5.6-4.1-6.2-12.3-1.2-17.1l16.3-15.5c3.8-3.7 9.5-3.8 14-1 5.4 3.4 11.4 5.1 17.8 5.1h38.9c9 0 16.3-8.2 16.3-18.3 0-8.2-5-15.5-12.1-17.6l-62.3-18.7c-25.7-7.7-43.7-32.4-43.7-60.1.1-34 26.4-61.5 59.1-62.4zM480 352h-32.5c-19.6 26-44.6 47.7-73 64h63.8c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8h63.8c-28.4-16.3-53.3-38-73-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32z\"]\n};\nvar faDoorClosed = {\n prefix: 'fas',\n iconName: 'door-closed',\n icon: [640, 512, [], \"f52a\", \"M624 448H512V50.8C512 22.78 490.47 0 464 0H175.99c-26.47 0-48 22.78-48 50.8V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM415.99 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32c.01 17.67-14.32 32-32 32z\"]\n};\nvar faDoorOpen = {\n prefix: 'fas',\n iconName: 'door-open',\n icon: [640, 512, [], \"f52b\", \"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z\"]\n};\nvar faDotCircle = {\n prefix: 'fas',\n iconName: 'dot-circle',\n icon: [512, 512, [], \"f192\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm80 248c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80z\"]\n};\nvar faDove = {\n prefix: 'fas',\n iconName: 'dove',\n icon: [512, 512, [], \"f4ba\", \"M288 167.2v-28.1c-28.2-36.3-47.1-79.3-54.1-125.2-2.1-13.5-19-18.8-27.8-8.3-21.1 24.9-37.7 54.1-48.9 86.5 34.2 38.3 80 64.6 130.8 75.1zM400 64c-44.2 0-80 35.9-80 80.1v59.4C215.6 197.3 127 133 87 41.8c-5.5-12.5-23.2-13.2-29-.9C41.4 76 32 115.2 32 156.6c0 70.8 34.1 136.9 85.1 185.9 13.2 12.7 26.1 23.2 38.9 32.8l-143.9 36C1.4 414-3.4 426.4 2.6 435.7 20 462.6 63 508.2 155.8 512c8 .3 16-2.6 22.1-7.9l65.2-56.1H320c88.4 0 160-71.5 160-159.9V128l32-64H400zm0 96.1c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faDownload = {\n prefix: 'fas',\n iconName: 'download',\n icon: [512, 512, [], \"f019\", \"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"]\n};\nvar faDraftingCompass = {\n prefix: 'fas',\n iconName: 'drafting-compass',\n icon: [512, 512, [], \"f568\", \"M457.01 344.42c-25.05 20.33-52.63 37.18-82.54 49.05l54.38 94.19 53.95 23.04c9.81 4.19 20.89-2.21 22.17-12.8l7.02-58.25-54.98-95.23zm42.49-94.56c4.86-7.67 1.89-17.99-6.05-22.39l-28.07-15.57c-7.48-4.15-16.61-1.46-21.26 5.72C403.01 281.15 332.25 320 256 320c-23.93 0-47.23-4.25-69.41-11.53l67.36-116.68c.7.02 1.34.21 2.04.21s1.35-.19 2.04-.21l51.09 88.5c31.23-8.96 59.56-25.75 82.61-48.92l-51.79-89.71C347.39 128.03 352 112.63 352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96c0 16.63 4.61 32.03 12.05 45.66l-68.3 118.31c-12.55-11.61-23.96-24.59-33.68-39-4.79-7.1-13.97-9.62-21.38-5.33l-27.75 16.07c-7.85 4.54-10.63 14.9-5.64 22.47 15.57 23.64 34.69 44.21 55.98 62.02L0 439.66l7.02 58.25c1.28 10.59 12.36 16.99 22.17 12.8l53.95-23.04 70.8-122.63C186.13 377.28 220.62 384 256 384c99.05 0 190.88-51.01 243.5-134.14zM256 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32z\"]\n};\nvar faDragon = {\n prefix: 'fas',\n iconName: 'dragon',\n icon: [640, 512, [], \"f6d5\", \"M18.32 255.78L192 223.96l-91.28 68.69c-10.08 10.08-2.94 27.31 11.31 27.31h222.7c-9.44-26.4-14.73-54.47-14.73-83.38v-42.27l-119.73-87.6c-23.82-15.88-55.29-14.01-77.06 4.59L5.81 227.64c-12.38 10.33-3.45 30.42 12.51 28.14zm556.87 34.1l-100.66-50.31A47.992 47.992 0 0 1 448 196.65v-36.69h64l28.09 22.63c6 6 14.14 9.37 22.63 9.37h30.97a32 32 0 0 0 28.62-17.69l14.31-28.62a32.005 32.005 0 0 0-3.02-33.51l-74.53-99.38C553.02 4.7 543.54 0 533.47 0H296.02c-7.13 0-10.7 8.57-5.66 13.61L352 63.96 292.42 88.8c-5.9 2.95-5.9 11.36 0 14.31L352 127.96v108.62c0 72.08 36.03 139.39 96 179.38-195.59 6.81-344.56 41.01-434.1 60.91C5.78 478.67 0 485.88 0 494.2 0 504 7.95 512 17.76 512h499.08c63.29.01 119.61-47.56 122.99-110.76 2.52-47.28-22.73-90.4-64.64-111.36zM489.18 66.25l45.65 11.41c-2.75 10.91-12.47 18.89-24.13 18.26-12.96-.71-25.85-12.53-21.52-29.67z\"]\n};\nvar faDrawPolygon = {\n prefix: 'fas',\n iconName: 'draw-polygon',\n icon: [448, 512, [], \"f5ee\", \"M384 352c-.35 0-.67.1-1.02.1l-39.2-65.32c5.07-9.17 8.22-19.56 8.22-30.78s-3.14-21.61-8.22-30.78l39.2-65.32c.35.01.67.1 1.02.1 35.35 0 64-28.65 64-64s-28.65-64-64-64c-23.63 0-44.04 12.95-55.12 32H119.12C108.04 44.95 87.63 32 64 32 28.65 32 0 60.65 0 96c0 23.63 12.95 44.04 32 55.12v209.75C12.95 371.96 0 392.37 0 416c0 35.35 28.65 64 64 64 23.63 0 44.04-12.95 55.12-32h209.75c11.09 19.05 31.49 32 55.12 32 35.35 0 64-28.65 64-64 .01-35.35-28.64-64-63.99-64zm-288 8.88V151.12A63.825 63.825 0 0 0 119.12 128h208.36l-38.46 64.1c-.35-.01-.67-.1-1.02-.1-35.35 0-64 28.65-64 64s28.65 64 64 64c.35 0 .67-.1 1.02-.1l38.46 64.1H119.12A63.748 63.748 0 0 0 96 360.88zM272 256c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zM400 96c0 8.82-7.18 16-16 16s-16-7.18-16-16 7.18-16 16-16 16 7.18 16 16zM64 80c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zM48 416c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zm336 16c-8.82 0-16-7.18-16-16s7.18-16 16-16 16 7.18 16 16-7.18 16-16 16z\"]\n};\nvar faDrum = {\n prefix: 'fas',\n iconName: 'drum',\n icon: [512, 512, [], \"f569\", \"M431.34 122.05l73.53-47.42a16 16 0 0 0 4.44-22.19l-8.87-13.31a16 16 0 0 0-22.19-4.44l-110.06 71C318.43 96.91 271.22 96 256 96 219.55 96 0 100.55 0 208.15v160.23c0 30.27 27.5 57.68 72 77.86v-101.9a24 24 0 1 1 48 0v118.93c33.05 9.11 71.07 15.06 112 16.73V376.39a24 24 0 1 1 48 0V480c40.93-1.67 78.95-7.62 112-16.73V344.34a24 24 0 1 1 48 0v101.9c44.5-20.18 72-47.59 72-77.86V208.15c0-43.32-35.76-69.76-80.66-86.1zM256 272.24c-114.88 0-208-28.69-208-64.09s93.12-64.08 208-64.08c17.15 0 33.73.71 49.68 1.91l-72.81 47a16 16 0 0 0-4.43 22.19l8.87 13.31a16 16 0 0 0 22.19 4.44l118.64-76.52C430.09 168 464 186.84 464 208.15c0 35.4-93.13 64.09-208 64.09z\"]\n};\nvar faDrumSteelpan = {\n prefix: 'fas',\n iconName: 'drum-steelpan',\n icon: [576, 512, [], \"f56a\", \"M288 32C128.94 32 0 89.31 0 160v192c0 70.69 128.94 128 288 128s288-57.31 288-128V160c0-70.69-128.94-128-288-128zm-82.99 158.36c-4.45 16.61-14.54 30.57-28.31 40.48C100.23 217.46 48 190.78 48 160c0-30.16 50.11-56.39 124.04-70.03l25.6 44.34c9.86 17.09 12.48 36.99 7.37 56.05zM288 240c-21.08 0-41.41-1-60.89-2.7 8.06-26.13 32.15-45.3 60.89-45.3s52.83 19.17 60.89 45.3C329.41 239 309.08 240 288 240zm64-144c0 35.29-28.71 64-64 64s-64-28.71-64-64V82.96c20.4-1.88 41.8-2.96 64-2.96s43.6 1.08 64 2.96V96zm46.93 134.9c-13.81-9.91-23.94-23.9-28.4-40.54-5.11-19.06-2.49-38.96 7.38-56.04l25.65-44.42C477.72 103.5 528 129.79 528 160c0 30.83-52.4 57.54-129.07 70.9z\"]\n};\nvar faDrumstickBite = {\n prefix: 'fas',\n iconName: 'drumstick-bite',\n icon: [512, 512, [], \"f6d7\", \"M462.8 49.57a169.44 169.44 0 0 0-239.5 0C187.82 85 160.13 128 160.13 192v85.83l-40.62 40.59c-9.7 9.69-24 11.07-36.78 6a60.33 60.33 0 0 0-65 98.72C33 438.39 54.24 442.7 73.85 438.21c-4.5 19.6-.18 40.83 15.1 56.1a60.35 60.35 0 0 0 98.8-65c-5.09-12.73-3.72-27 6-36.75L234.36 352h85.89a187.87 187.87 0 0 0 61.89-10c-39.64-43.89-39.83-110.23 1.05-151.07 34.38-34.36 86.76-39.46 128.74-16.8 1.3-44.96-14.81-90.28-49.13-124.56z\"]\n};\nvar faDumbbell = {\n prefix: 'fas',\n iconName: 'dumbbell',\n icon: [640, 512, [], \"f44b\", \"M104 96H56c-13.3 0-24 10.7-24 24v104H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm528 128h-24V120c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h24c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM456 32h-48c-13.3 0-24 10.7-24 24v168H256V56c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h128v168c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24z\"]\n};\nvar faDumpster = {\n prefix: 'fas',\n iconName: 'dumpster',\n icon: [576, 512, [], \"f793\", \"M560 160c10.4 0 18-9.8 15.5-19.9l-24-96C549.7 37 543.3 32 536 32h-98.9l25.6 128H560zM272 32H171.5l-25.6 128H272V32zm132.5 0H304v128h126.1L404.5 32zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm544 64h-20l4-32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h320v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16l20-160h28c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faDumpsterFire = {\n prefix: 'fas',\n iconName: 'dumpster-fire',\n icon: [640, 512, [], \"f794\", \"M418.7 104.1l.2-.2-14.4-72H304v128h60.8c16.2-19.3 34.2-38.2 53.9-55.8zM272 32H171.5l-25.6 128H272V32zm189.3 72.1c18.2 16.3 35.5 33.7 51.1 51.5 5.7-5.6 11.4-11.1 17.3-16.3l21.3-19 21.3 19c1.1.9 2.1 2.1 3.1 3.1-.1-.8.2-1.5 0-2.3l-24-96C549.7 37 543.3 32 536 32h-98.9l12.3 61.5 11.9 10.6zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm324.6 32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208.8c-30.2-33.7-48.8-77.9-48.8-126.4 0-35.9 19.9-82.9 52.6-129.6zm210.5-28.8c-14.9 13.3-28.3 27.2-40.2 41.2-19.5-25.8-43.6-52-71-76.4-70.2 62.7-120 144.3-120 193.6 0 87.5 71.6 158.4 160 158.4s160-70.9 160-158.4c.1-36.6-37-112.2-88.8-158.4zm-18.6 229.4c-14.7 10.7-32.9 17-52.5 17-49 0-88.9-33.5-88.9-88 0-27.1 16.5-51 49.4-91.9 4.7 5.6 67.1 88.1 67.1 88.1l39.8-47c2.8 4.8 5.4 9.5 7.7 14 18.6 36.7 10.8 83.6-22.6 107.8z\"]\n};\nvar faDungeon = {\n prefix: 'fas',\n iconName: 'dungeon',\n icon: [512, 512, [], \"f6d9\", \"M128.73 195.32l-82.81-51.76c-8.04-5.02-18.99-2.17-22.93 6.45A254.19 254.19 0 0 0 .54 239.28C-.05 248.37 7.59 256 16.69 256h97.13c7.96 0 14.08-6.25 15.01-14.16 1.09-9.33 3.24-18.33 6.24-26.94 2.56-7.34.25-15.46-6.34-19.58zM319.03 8C298.86 2.82 277.77 0 256 0s-42.86 2.82-63.03 8c-9.17 2.35-13.91 12.6-10.39 21.39l37.47 104.03A16.003 16.003 0 0 0 235.1 144h41.8c6.75 0 12.77-4.23 15.05-10.58l37.47-104.03c3.52-8.79-1.22-19.03-10.39-21.39zM112 288H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm77.31-283.67l-36.32-90.8c-3.53-8.83-14.13-12.99-22.42-8.31a257.308 257.308 0 0 0-71.61 59.89c-6.06 7.32-3.85 18.48 4.22 23.52l82.93 51.83c6.51 4.07 14.66 2.62 20.11-2.79 5.18-5.15 10.79-9.85 16.79-14.05 6.28-4.41 9.15-12.17 6.3-19.29zM398.18 256h97.13c9.1 0 16.74-7.63 16.15-16.72a254.135 254.135 0 0 0-22.45-89.27c-3.94-8.62-14.89-11.47-22.93-6.45l-82.81 51.76c-6.59 4.12-8.9 12.24-6.34 19.58 3.01 8.61 5.15 17.62 6.24 26.94.93 7.91 7.05 14.16 15.01 14.16zm54.85-162.89a257.308 257.308 0 0 0-71.61-59.89c-8.28-4.68-18.88-.52-22.42 8.31l-36.32 90.8c-2.85 7.12.02 14.88 6.3 19.28 6 4.2 11.61 8.9 16.79 14.05 5.44 5.41 13.6 6.86 20.11 2.79l82.93-51.83c8.07-5.03 10.29-16.19 4.22-23.51zM496 288h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zM240 177.62V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V177.62c-5.23-.89-10.52-1.62-16-1.62s-10.77.73-16 1.62zm-64 41.51V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V189.36c-12.78 7.45-23.84 17.47-32 29.77zm128-29.77V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V219.13c-8.16-12.3-19.22-22.32-32-29.77z\"]\n};\nvar faEdit = {\n prefix: 'fas',\n iconName: 'edit',\n icon: [576, 512, [], \"f044\", \"M402.6 83.2l90.2 90.2c3.8 3.8 3.8 10 0 13.8L274.4 405.6l-92.8 10.3c-12.4 1.4-22.9-9.1-21.5-21.5l10.3-92.8L388.8 83.2c3.8-3.8 10-3.8 13.8 0zm162-22.9l-48.8-48.8c-15.2-15.2-39.9-15.2-55.2 0l-35.4 35.4c-3.8 3.8-3.8 10 0 13.8l90.2 90.2c3.8 3.8 10 3.8 13.8 0l35.4-35.4c15.2-15.3 15.2-40 0-55.2zM384 346.2V448H64V128h229.8c3.2 0 6.2-1.3 8.5-3.5l40-40c7.6-7.6 2.2-20.5-8.5-20.5H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V306.2c0-10.7-12.9-16-20.5-8.5l-40 40c-2.2 2.3-3.5 5.3-3.5 8.5z\"]\n};\nvar faEgg = {\n prefix: 'fas',\n iconName: 'egg',\n icon: [384, 512, [], \"f7fb\", \"M192 0C86 0 0 214 0 320s86 192 192 192 192-86 192-192S298 0 192 0z\"]\n};\nvar faEject = {\n prefix: 'fas',\n iconName: 'eject',\n icon: [448, 512, [], \"f052\", \"M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z\"]\n};\nvar faEllipsisH = {\n prefix: 'fas',\n iconName: 'ellipsis-h',\n icon: [512, 512, [], \"f141\", \"M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z\"]\n};\nvar faEllipsisV = {\n prefix: 'fas',\n iconName: 'ellipsis-v',\n icon: [192, 512, [], \"f142\", \"M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z\"]\n};\nvar faEnvelope = {\n prefix: 'fas',\n iconName: 'envelope',\n icon: [512, 512, [], \"f0e0\", \"M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'fas',\n iconName: 'envelope-open',\n icon: [512, 512, [], \"f2b6\", \"M512 464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V200.724a48 48 0 0 1 18.387-37.776c24.913-19.529 45.501-35.365 164.2-121.511C199.412 29.17 232.797-.347 256 .003c23.198-.354 56.596 29.172 73.413 41.433 118.687 86.137 139.303 101.995 164.2 121.512A48 48 0 0 1 512 200.724V464zm-65.666-196.605c-2.563-3.728-7.7-4.595-11.339-1.907-22.845 16.873-55.462 40.705-105.582 77.079-16.825 12.266-50.21 41.781-73.413 41.43-23.211.344-56.559-29.143-73.413-41.43-50.114-36.37-82.734-60.204-105.582-77.079-3.639-2.688-8.776-1.821-11.339 1.907l-9.072 13.196a7.998 7.998 0 0 0 1.839 10.967c22.887 16.899 55.454 40.69 105.303 76.868 20.274 14.781 56.524 47.813 92.264 47.573 35.724.242 71.961-32.771 92.263-47.573 49.85-36.179 82.418-59.97 105.303-76.868a7.998 7.998 0 0 0 1.839-10.967l-9.071-13.196z\"]\n};\nvar faEnvelopeOpenText = {\n prefix: 'fas',\n iconName: 'envelope-open-text',\n icon: [512, 512, [], \"f658\", \"M176 216h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16zm-16 80c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16zm96 121.13c-16.42 0-32.84-5.06-46.86-15.19L0 250.86V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V250.86L302.86 401.94c-14.02 10.12-30.44 15.19-46.86 15.19zm237.61-254.18c-8.85-6.94-17.24-13.47-29.61-22.81V96c0-26.51-21.49-48-48-48h-77.55c-3.04-2.2-5.87-4.26-9.04-6.56C312.6 29.17 279.2-.35 256 0c-23.2-.35-56.59 29.17-73.41 41.44-3.17 2.3-6 4.36-9.04 6.56H96c-26.51 0-48 21.49-48 48v44.14c-12.37 9.33-20.76 15.87-29.61 22.81A47.995 47.995 0 0 0 0 200.72v10.65l96 69.35V96h320v184.72l96-69.35v-10.65c0-14.74-6.78-28.67-18.39-37.77z\"]\n};\nvar faEnvelopeSquare = {\n prefix: 'fas',\n iconName: 'envelope-square',\n icon: [448, 512, [], \"f199\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM178.117 262.104C87.429 196.287 88.353 196.121 64 177.167V152c0-13.255 10.745-24 24-24h272c13.255 0 24 10.745 24 24v25.167c-24.371 18.969-23.434 19.124-114.117 84.938-10.5 7.655-31.392 26.12-45.883 25.894-14.503.218-35.367-18.227-45.883-25.895zM384 217.775V360c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V217.775c13.958 10.794 33.329 25.236 95.303 70.214 14.162 10.341 37.975 32.145 64.694 32.01 26.887.134 51.037-22.041 64.72-32.025 61.958-44.965 81.325-59.406 95.283-70.199z\"]\n};\nvar faEquals = {\n prefix: 'fas',\n iconName: 'equals',\n icon: [448, 512, [], \"f52c\", \"M416 304H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32zm0-192H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faEraser = {\n prefix: 'fas',\n iconName: 'eraser',\n icon: [512, 512, [], \"f12d\", \"M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z\"]\n};\nvar faEthernet = {\n prefix: 'fas',\n iconName: 'ethernet',\n icon: [512, 512, [], \"f796\", \"M496 192h-48v-48c0-8.8-7.2-16-16-16h-48V80c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v48H80c-8.8 0-16 7.2-16 16v48H16c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16h80V320h32v128h64V320h32v128h64V320h32v128h64V320h32v128h80c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16z\"]\n};\nvar faEuroSign = {\n prefix: 'fas',\n iconName: 'euro-sign',\n icon: [320, 512, [], \"f153\", \"M310.706 413.765c-1.314-6.63-7.835-10.872-14.424-9.369-10.692 2.439-27.422 5.413-45.426 5.413-56.763 0-101.929-34.79-121.461-85.449h113.689a12 12 0 0 0 11.708-9.369l6.373-28.36c1.686-7.502-4.019-14.631-11.708-14.631H115.22c-1.21-14.328-1.414-28.287.137-42.245H261.95a12 12 0 0 0 11.723-9.434l6.512-29.755c1.638-7.484-4.061-14.566-11.723-14.566H130.184c20.633-44.991 62.69-75.03 117.619-75.03 14.486 0 28.564 2.25 37.851 4.145 6.216 1.268 12.347-2.498 14.002-8.623l11.991-44.368c1.822-6.741-2.465-13.616-9.326-14.917C290.217 34.912 270.71 32 249.635 32 152.451 32 74.03 92.252 45.075 176H12c-6.627 0-12 5.373-12 12v29.755c0 6.627 5.373 12 12 12h21.569c-1.009 13.607-1.181 29.287-.181 42.245H12c-6.627 0-12 5.373-12 12v28.36c0 6.627 5.373 12 12 12h30.114C67.139 414.692 145.264 480 249.635 480c26.301 0 48.562-4.544 61.101-7.788 6.167-1.595 10.027-7.708 8.788-13.957l-8.818-44.49z\"]\n};\nvar faExchangeAlt = {\n prefix: 'fas',\n iconName: 'exchange-alt',\n icon: [512, 512, [], \"f362\", \"M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z\"]\n};\nvar faExclamation = {\n prefix: 'fas',\n iconName: 'exclamation',\n icon: [192, 512, [], \"f12a\", \"M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z\"]\n};\nvar faExclamationCircle = {\n prefix: 'fas',\n iconName: 'exclamation-circle',\n icon: [512, 512, [], \"f06a\", \"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"]\n};\nvar faExclamationTriangle = {\n prefix: 'fas',\n iconName: 'exclamation-triangle',\n icon: [576, 512, [], \"f071\", \"M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"]\n};\nvar faExpand = {\n prefix: 'fas',\n iconName: 'expand',\n icon: [448, 512, [], \"f065\", \"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z\"]\n};\nvar faExpandAlt = {\n prefix: 'fas',\n iconName: 'expand-alt',\n icon: [448, 512, [], \"f424\", \"M212.686 315.314L120 408l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C10.697 480 0 469.255 0 456V344c0-21.382 25.803-32.09 40.922-16.971L72 360l92.686-92.686c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.249 6.248 6.249 16.378 0 22.627zm22.628-118.628L328 104l-32.922-31.029C279.958 57.851 290.666 32 312.048 32h112C437.303 32 448 42.745 448 56v112c0 21.382-25.803 32.09-40.922 16.971L376 152l-92.686 92.686c-6.248 6.248-16.379 6.248-22.627 0l-25.373-25.373c-6.249-6.248-6.249-16.378 0-22.627z\"]\n};\nvar faExpandArrowsAlt = {\n prefix: 'fas',\n iconName: 'expand-arrows-alt',\n icon: [448, 512, [], \"f31e\", \"M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z\"]\n};\nvar faExternalLinkAlt = {\n prefix: 'fas',\n iconName: 'external-link-alt',\n icon: [512, 512, [], \"f35d\", \"M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z\"]\n};\nvar faExternalLinkSquareAlt = {\n prefix: 'fas',\n iconName: 'external-link-square-alt',\n icon: [448, 512, [], \"f360\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-88 16H248.029c-21.313 0-32.08 25.861-16.971 40.971l31.984 31.987L67.515 364.485c-4.686 4.686-4.686 12.284 0 16.971l31.029 31.029c4.687 4.686 12.285 4.686 16.971 0l195.526-195.526 31.988 31.991C358.058 263.977 384 253.425 384 231.979V120c0-13.255-10.745-24-24-24z\"]\n};\nvar faEye = {\n prefix: 'fas',\n iconName: 'eye',\n icon: [576, 512, [], \"f06e\", \"M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z\"]\n};\nvar faEyeDropper = {\n prefix: 'fas',\n iconName: 'eye-dropper',\n icon: [512, 512, [], \"f1fb\", \"M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z\"]\n};\nvar faEyeSlash = {\n prefix: 'fas',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z\"]\n};\nvar faFan = {\n prefix: 'fas',\n iconName: 'fan',\n icon: [512, 512, [], \"f863\", \"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"]\n};\nvar faFastBackward = {\n prefix: 'fas',\n iconName: 'fast-backward',\n icon: [512, 512, [], \"f049\", \"M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z\"]\n};\nvar faFastForward = {\n prefix: 'fas',\n iconName: 'fast-forward',\n icon: [512, 512, [], \"f050\", \"M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z\"]\n};\nvar faFaucet = {\n prefix: 'fas',\n iconName: 'faucet',\n icon: [512, 512, [], \"e005\", \"M352,256H313.39c-15.71-13.44-35.46-23.07-57.39-28V180.44l-32-3.38-32,3.38V228c-21.93,5-41.68,14.6-57.39,28H16A16,16,0,0,0,0,272v96a16,16,0,0,0,16,16h92.79C129.38,421.73,173,448,224,448s94.62-26.27,115.21-64H352a32,32,0,0,1,32,32,32,32,0,0,0,32,32h64a32,32,0,0,0,32-32A160,160,0,0,0,352,256ZM81.59,159.91l142.41-15,142.41,15c9.42,1,17.59-6.81,17.59-16.8V112.89c0-10-8.17-17.8-17.59-16.81L256,107.74V80a16,16,0,0,0-16-16H208a16,16,0,0,0-16,16v27.74L81.59,96.08C72.17,95.09,64,102.9,64,112.89v30.22C64,153.1,72.17,160.91,81.59,159.91Z\"]\n};\nvar faFax = {\n prefix: 'fas',\n iconName: 'fax',\n icon: [512, 512, [], \"f1ac\", \"M480 160V77.25a32 32 0 0 0-9.38-22.63L425.37 9.37A32 32 0 0 0 402.75 0H160a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM288 432a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm128 128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-112H192V64h160v48a16 16 0 0 0 16 16h48zM64 128H32a32 32 0 0 0-32 32v320a32 32 0 0 0 32 32h32a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32z\"]\n};\nvar faFeather = {\n prefix: 'fas',\n iconName: 'feather',\n icon: [512, 512, [], \"f52d\", \"M467.14 44.84c-62.55-62.48-161.67-64.78-252.28 25.73-78.61 78.52-60.98 60.92-85.75 85.66-60.46 60.39-70.39 150.83-63.64 211.17l178.44-178.25c6.26-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.6 9.37 33.98 0l66.1-66.03C159.42 454.65 279 457.11 353.95 384h-98.19l147.57-49.14c49.99-49.93 36.38-36.18 46.31-46.86h-97.78l131.54-43.8c45.44-74.46 34.31-148.84-16.26-199.36z\"]\n};\nvar faFeatherAlt = {\n prefix: 'fas',\n iconName: 'feather-alt',\n icon: [512, 512, [], \"f56b\", \"M512 0C460.22 3.56 96.44 38.2 71.01 287.61c-3.09 26.66-4.84 53.44-5.99 80.24l178.87-178.69c6.25-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.59 9.37 33.98 0l57.13-57.07c42.09-.14 84.15-2.53 125.96-7.36 53.48-5.44 97.02-26.47 132.58-56.54H255.74l146.79-48.88c11.25-14.89 21.37-30.71 30.45-47.12h-81.14l106.54-53.21C500.29 132.86 510.19 26.26 512 0z\"]\n};\nvar faFemale = {\n prefix: 'fas',\n iconName: 'female',\n icon: [256, 512, [], \"f182\", \"M128 0c35.346 0 64 28.654 64 64s-28.654 64-64 64c-35.346 0-64-28.654-64-64S92.654 0 128 0m119.283 354.179l-48-192A24 24 0 0 0 176 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H80a24 24 0 0 0-23.283 18.179l-48 192C4.935 369.305 16.383 384 32 384h56v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V384h56c15.591 0 27.071-14.671 23.283-29.821z\"]\n};\nvar faFighterJet = {\n prefix: 'fas',\n iconName: 'fighter-jet',\n icon: [640, 512, [], \"f0fb\", \"M544 224l-128-16-48-16h-24L227.158 44h39.509C278.333 44 288 41.375 288 38s-9.667-6-21.333-6H152v12h16v164h-48l-66.667-80H18.667L8 138.667V208h8v16h48v2.666l-64 8v42.667l64 8V288H16v16H8v69.333L18.667 384h34.667L120 304h48v164h-16v12h114.667c11.667 0 21.333-2.625 21.333-6s-9.667-6-21.333-6h-39.509L344 320h24l48-16 128-16c96-21.333 96-26.583 96-32 0-5.417 0-10.667-96-32z\"]\n};\nvar faFile = {\n prefix: 'fas',\n iconName: 'file',\n icon: [384, 512, [], \"f15b\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileAlt = {\n prefix: 'fas',\n iconName: 'file-alt',\n icon: [384, 512, [], \"f15c\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileArchive = {\n prefix: 'fas',\n iconName: 'file-archive',\n icon: [384, 512, [], \"f1c6\", \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zM128.4 336c-17.9 0-32.4 12.1-32.4 27 0 15 14.6 27 32.5 27s32.4-12.1 32.4-27-14.6-27-32.5-27zM224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6z\"]\n};\nvar faFileAudio = {\n prefix: 'fas',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-64 268c0 10.7-12.9 16-20.5 8.5L104 376H76c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h28l35.5-36.5c7.6-7.6 20.5-2.2 20.5 8.5v136zm33.2-47.6c9.1-9.3 9.1-24.1 0-33.4-22.1-22.8 12.2-56.2 34.4-33.5 27.2 27.9 27.2 72.4 0 100.4-21.8 22.3-56.9-10.4-34.4-33.5zm86-117.1c54.4 55.9 54.4 144.8 0 200.8-21.8 22.4-57-10.3-34.4-33.5 36.2-37.2 36.3-96.5 0-133.8-22.1-22.8 12.3-56.3 34.4-33.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileCode = {\n prefix: 'fas',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z\"]\n};\nvar faFileContract = {\n prefix: 'fas',\n iconName: 'file-contract',\n icon: [384, 512, [], \"f56c\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm192.81 248H304c8.84 0 16 7.16 16 16s-7.16 16-16 16h-47.19c-16.45 0-31.27-9.14-38.64-23.86-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34a15.986 15.986 0 0 1-14.31 8.84c-.38 0-.75-.02-1.14-.05-6.45-.45-12-4.75-14.03-10.89L144 354.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.77-16.19 54.05-9.7 66 14.16 2.02 4.06 5.96 6.5 10.16 6.5zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileCsv = {\n prefix: 'fas',\n iconName: 'file-csv',\n icon: [384, 512, [], \"f6dd\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-96 144c0 4.42-3.58 8-8 8h-8c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-26.51 0-48-21.49-48-48v-32c0-26.51 21.49-48 48-48h8c4.42 0 8 3.58 8 8v16zm44.27 104H160c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h12.27c5.95 0 10.41-3.5 10.41-6.62 0-1.3-.75-2.66-2.12-3.84l-21.89-18.77c-8.47-7.22-13.33-17.48-13.33-28.14 0-21.3 19.02-38.62 42.41-38.62H200c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-12.27c-5.95 0-10.41 3.5-10.41 6.62 0 1.3.75 2.66 2.12 3.84l21.89 18.77c8.47 7.22 13.33 17.48 13.33 28.14.01 21.29-19 38.62-42.39 38.62zM256 264v20.8c0 20.27 5.7 40.17 16 56.88 10.3-16.7 16-36.61 16-56.88V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v20.8c0 35.48-12.88 68.89-36.28 94.09-3.02 3.25-7.27 5.11-11.72 5.11s-8.7-1.86-11.72-5.11c-23.4-25.2-36.28-58.61-36.28-94.09V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8zm121-159L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileDownload = {\n prefix: 'fas',\n iconName: 'file-download',\n icon: [384, 512, [], \"f56d\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileExcel = {\n prefix: 'fas',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileExport = {\n prefix: 'fas',\n iconName: 'file-export',\n icon: [576, 512, [], \"f56e\", \"M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z\"]\n};\nvar faFileImage = {\n prefix: 'fas',\n iconName: 'file-image',\n icon: [384, 512, [], \"f1c5\", \"M384 121.941V128H256V0h6.059a24 24 0 0 1 16.97 7.029l97.941 97.941a24.002 24.002 0 0 1 7.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z\"]\n};\nvar faFileImport = {\n prefix: 'fas',\n iconName: 'file-import',\n icon: [512, 512, [], \"f56f\", \"M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z\"]\n};\nvar faFileInvoice = {\n prefix: 'fas',\n iconName: 'file-invoice',\n icon: [384, 512, [], \"f570\", \"M288 256H96v64h192v-64zm89-151L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm256 304c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-200v96c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-96c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16z\"]\n};\nvar faFileInvoiceDollar = {\n prefix: 'fas',\n iconName: 'file-invoice-dollar',\n icon: [384, 512, [], \"f571\", \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 80v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8zm144 263.88V440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V232c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v24.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07z\"]\n};\nvar faFileMedical = {\n prefix: 'fas',\n iconName: 'file-medical',\n icon: [384, 512, [], \"f477\", \"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 160v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8z\"]\n};\nvar faFileMedicalAlt = {\n prefix: 'fas',\n iconName: 'file-medical-alt',\n icon: [448, 512, [], \"f478\", \"M288 136V0H88C74.7 0 64 10.7 64 24v232H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h140.9c3 0 5.8 1.7 7.2 4.4l19.9 39.8 56.8-113.7c2.9-5.9 11.4-5.9 14.3 0l34.7 69.5H352c8.8 0 16 7.2 16 16s-7.2 16-16 16h-89.9L240 275.8l-56.8 113.7c-2.9 5.9-11.4 5.9-14.3 0L134.1 320H64v168c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H312c-13.2 0-24-10.8-24-24zm153-31L343.1 7c-4.5-4.5-10.6-7-17-7H320v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFilePdf = {\n prefix: 'fas',\n iconName: 'file-pdf',\n icon: [384, 512, [], \"f1c1\", \"M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'fas',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z\"]\n};\nvar faFilePrescription = {\n prefix: 'fas',\n iconName: 'file-prescription',\n icon: [384, 512, [], \"f572\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm68.53 179.48l11.31 11.31c6.25 6.25 6.25 16.38 0 22.63l-29.9 29.9L304 409.38c6.25 6.25 6.25 16.38 0 22.63l-11.31 11.31c-6.25 6.25-16.38 6.25-22.63 0L240 413.25l-30.06 30.06c-6.25 6.25-16.38 6.25-22.63 0L176 432c-6.25-6.25-6.25-16.38 0-22.63l30.06-30.06L146.74 320H128v48c0 8.84-7.16 16-16 16H96c-8.84 0-16-7.16-16-16V208c0-8.84 7.16-16 16-16h80c35.35 0 64 28.65 64 64 0 24.22-13.62 45.05-33.46 55.92L240 345.38l29.9-29.9c6.25-6.25 16.38-6.25 22.63 0zM176 272h-48v-32h48c8.82 0 16 7.18 16 16s-7.18 16-16 16zm208-150.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFileSignature = {\n prefix: 'fas',\n iconName: 'file-signature',\n icon: [576, 512, [], \"f573\", \"M218.17 424.14c-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34c-6.37 12.78-25.03 11.37-29.48-2.09L144 386.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.75-16.19 54.06-9.7 66 14.16 1.89 3.78 5.49 5.95 9.36 6.26v-82.12l128-127.09V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24v-40l-128-.11c-16.12-.31-30.58-9.28-37.83-23.75zM384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1zm-96 225.06V416h68.99l161.68-162.78-67.88-67.88L288 346.96zm280.54-179.63l-31.87-31.87c-9.94-9.94-26.07-9.94-36.01 0l-27.25 27.25 67.88 67.88 27.25-27.25c9.95-9.94 9.95-26.07 0-36.01z\"]\n};\nvar faFileUpload = {\n prefix: 'fas',\n iconName: 'file-upload',\n icon: [384, 512, [], \"f574\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm65.18 216.01H224v80c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-80H94.82c-14.28 0-21.41-17.29-11.27-27.36l96.42-95.7c6.65-6.61 17.39-6.61 24.04 0l96.42 95.7c10.15 10.07 3.03 27.36-11.25 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"]\n};\nvar faFileVideo = {\n prefix: 'fas',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z\"]\n};\nvar faFileWord = {\n prefix: 'fas',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"]\n};\nvar faFill = {\n prefix: 'fas',\n iconName: 'fill',\n icon: [512, 512, [], \"f575\", \"M502.63 217.06L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.77c-6.24-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.63l86.19 86.18-94.76 94.76c-37.49 37.49-37.49 98.26 0 135.75l117.19 117.19c18.75 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.88-28.12l221.57-221.57c12.49-12.5 12.49-32.76 0-45.26zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.61 58.6c12.49 12.49 32.75 12.49 45.24 0 12.49-12.49 12.49-32.75 0-45.24l-58.61-58.6 58.95-58.95 162.45 162.44-48.35 48.34z\"]\n};\nvar faFillDrip = {\n prefix: 'fas',\n iconName: 'fill-drip',\n icon: [576, 512, [], \"f576\", \"M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z\"]\n};\nvar faFilm = {\n prefix: 'fas',\n iconName: 'film',\n icon: [512, 512, [], \"f008\", \"M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"]\n};\nvar faFilter = {\n prefix: 'fas',\n iconName: 'filter',\n icon: [512, 512, [], \"f0b0\", \"M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z\"]\n};\nvar faFingerprint = {\n prefix: 'fas',\n iconName: 'fingerprint',\n icon: [512, 512, [], \"f577\", \"M256.12 245.96c-13.25 0-24 10.74-24 24 1.14 72.25-8.14 141.9-27.7 211.55-2.73 9.72 2.15 30.49 23.12 30.49 10.48 0 20.11-6.92 23.09-17.52 13.53-47.91 31.04-125.41 29.48-224.52.01-13.25-10.73-24-23.99-24zm-.86-81.73C194 164.16 151.25 211.3 152.1 265.32c.75 47.94-3.75 95.91-13.37 142.55-2.69 12.98 5.67 25.69 18.64 28.36 13.05 2.67 25.67-5.66 28.36-18.64 10.34-50.09 15.17-101.58 14.37-153.02-.41-25.95 19.92-52.49 54.45-52.34 31.31.47 57.15 25.34 57.62 55.47.77 48.05-2.81 96.33-10.61 143.55-2.17 13.06 6.69 25.42 19.76 27.58 19.97 3.33 26.81-15.1 27.58-19.77 8.28-50.03 12.06-101.21 11.27-152.11-.88-55.8-47.94-101.88-104.91-102.72zm-110.69-19.78c-10.3-8.34-25.37-6.8-33.76 3.48-25.62 31.5-39.39 71.28-38.75 112 .59 37.58-2.47 75.27-9.11 112.05-2.34 13.05 6.31 25.53 19.36 27.89 20.11 3.5 27.07-14.81 27.89-19.36 7.19-39.84 10.5-80.66 9.86-121.33-.47-29.88 9.2-57.88 28-80.97 8.35-10.28 6.79-25.39-3.49-33.76zm109.47-62.33c-15.41-.41-30.87 1.44-45.78 4.97-12.89 3.06-20.87 15.98-17.83 28.89 3.06 12.89 16 20.83 28.89 17.83 11.05-2.61 22.47-3.77 34-3.69 75.43 1.13 137.73 61.5 138.88 134.58.59 37.88-1.28 76.11-5.58 113.63-1.5 13.17 7.95 25.08 21.11 26.58 16.72 1.95 25.51-11.88 26.58-21.11a929.06 929.06 0 0 0 5.89-119.85c-1.56-98.75-85.07-180.33-186.16-181.83zm252.07 121.45c-2.86-12.92-15.51-21.2-28.61-18.27-12.94 2.86-21.12 15.66-18.26 28.61 4.71 21.41 4.91 37.41 4.7 61.6-.11 13.27 10.55 24.09 23.8 24.2h.2c13.17 0 23.89-10.61 24-23.8.18-22.18.4-44.11-5.83-72.34zm-40.12-90.72C417.29 43.46 337.6 1.29 252.81.02 183.02-.82 118.47 24.91 70.46 72.94 24.09 119.37-.9 181.04.14 246.65l-.12 21.47c-.39 13.25 10.03 24.31 23.28 24.69.23.02.48.02.72.02 12.92 0 23.59-10.3 23.97-23.3l.16-23.64c-.83-52.5 19.16-101.86 56.28-139 38.76-38.8 91.34-59.67 147.68-58.86 69.45 1.03 134.73 35.56 174.62 92.39 7.61 10.86 22.56 13.45 33.42 5.86 10.84-7.62 13.46-22.59 5.84-33.43z\"]\n};\nvar faFire = {\n prefix: 'fas',\n iconName: 'fire',\n icon: [384, 512, [], \"f06d\", \"M216 23.86c0-23.8-30.65-32.77-44.15-13.04C48 191.85 224 200 224 288c0 35.63-29.11 64.46-64.85 63.99-35.17-.45-63.15-29.77-63.15-64.94v-85.51c0-21.7-26.47-32.23-41.43-16.5C27.8 213.16 0 261.33 0 320c0 105.87 86.13 192 192 192s192-86.13 192-192c0-170.29-168-193-168-296.14z\"]\n};\nvar faFireAlt = {\n prefix: 'fas',\n iconName: 'fire-alt',\n icon: [448, 512, [], \"f7e4\", \"M323.56 51.2c-20.8 19.3-39.58 39.59-56.22 59.97C240.08 73.62 206.28 35.53 168 0 69.74 91.17 0 209.96 0 281.6 0 408.85 100.29 512 224 512s224-103.15 224-230.4c0-53.27-51.98-163.14-124.44-230.4zm-19.47 340.65C282.43 407.01 255.72 416 226.86 416 154.71 416 96 368.26 96 290.75c0-38.61 24.31-72.63 72.79-130.75 6.93 7.98 98.83 125.34 98.83 125.34l58.63-66.88c4.14 6.85 7.91 13.55 11.27 19.97 27.35 52.19 15.81 118.97-33.43 153.42z\"]\n};\nvar faFireExtinguisher = {\n prefix: 'fas',\n iconName: 'fire-extinguisher',\n icon: [448, 512, [], \"f134\", \"M434.027 26.329l-168 28C254.693 56.218 256 67.8 256 72h-58.332C208.353 36.108 181.446 0 144 0c-39.435 0-66.368 39.676-52.228 76.203-52.039 13.051-75.381 54.213-90.049 90.884-4.923 12.307 1.063 26.274 13.37 31.197 12.317 4.926 26.279-1.075 31.196-13.37C75.058 112.99 106.964 120 168 120v27.076c-41.543 10.862-72 49.235-72 94.129V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V240c0-44.731-30.596-82.312-72-92.97V120h40c0 2.974-1.703 15.716 10.027 17.671l168 28C441.342 166.89 448 161.25 448 153.834V38.166c0-7.416-6.658-13.056-13.973-11.837zM144 72c-8.822 0-16-7.178-16-16s7.178-16 16-16 16 7.178 16 16-7.178 16-16 16z\"]\n};\nvar faFirstAid = {\n prefix: 'fas',\n iconName: 'first-aid',\n icon: [576, 512, [], \"f479\", \"M0 80v352c0 26.5 21.5 48 48 48h48V32H48C21.5 32 0 53.5 0 80zm128 400h320V32H128v448zm64-248c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48zM528 32h-48v448h48c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faFish = {\n prefix: 'fas',\n iconName: 'fish',\n icon: [576, 512, [], \"f578\", \"M327.1 96c-89.97 0-168.54 54.77-212.27 101.63L27.5 131.58c-12.13-9.18-30.24.6-27.14 14.66L24.54 256 .35 365.77c-3.1 14.06 15.01 23.83 27.14 14.66l87.33-66.05C158.55 361.23 237.13 416 327.1 416 464.56 416 576 288 576 256S464.56 96 327.1 96zm87.43 184c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24 13.26 0 24 10.74 24 24 0 13.25-10.75 24-24 24z\"]\n};\nvar faFistRaised = {\n prefix: 'fas',\n iconName: 'fist-raised',\n icon: [384, 512, [], \"f6de\", \"M255.98 160V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v146.93c5.02-1.78 10.34-2.93 15.97-2.93h48.03zm128 95.99c-.01-35.34-28.66-63.99-63.99-63.99H207.85c-8.78 0-15.9 7.07-15.9 15.85v.56c0 26.27 21.3 47.59 47.57 47.59h35.26c9.68 0 13.2 3.58 13.2 8v16.2c0 4.29-3.59 7.78-7.88 8-44.52 2.28-64.16 24.71-96.05 72.55l-6.31 9.47a7.994 7.994 0 0 1-11.09 2.22l-13.31-8.88a7.994 7.994 0 0 1-2.22-11.09l6.31-9.47c15.73-23.6 30.2-43.26 47.31-58.08-17.27-5.51-31.4-18.12-38.87-34.45-6.59 3.41-13.96 5.52-21.87 5.52h-32c-12.34 0-23.49-4.81-32-12.48C71.48 251.19 60.33 256 48 256H16c-5.64 0-10.97-1.15-16-2.95v77.93c0 33.95 13.48 66.5 37.49 90.51L63.99 448v64h255.98v-63.96l35.91-35.92A96.035 96.035 0 0 0 384 344.21l-.02-88.22zm-32.01-90.09V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v112h32c11.28 0 21.94 2.31 32 5.9zM16 224h32c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v128c0 8.84 7.16 16 16 16zm95.99 0h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v160c0 8.84 7.16 16 16 16z\"]\n};\nvar faFlag = {\n prefix: 'fas',\n iconName: 'flag',\n icon: [512, 512, [], \"f024\", \"M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z\"]\n};\nvar faFlagCheckered = {\n prefix: 'fas',\n iconName: 'flag-checkered',\n icon: [512, 512, [], \"f11e\", \"M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z\"]\n};\nvar faFlagUsa = {\n prefix: 'fas',\n iconName: 'flag-usa',\n icon: [512, 512, [], \"f74d\", \"M32 0C14.3 0 0 14.3 0 32v464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32C64 14.3 49.7 0 32 0zm267.9 303.6c-57.2-15.1-111.7-28.8-203.9 11.1V384c185.7-92.2 221.7 53.3 397.5-23.1 11.4-5 18.5-16.5 18.5-28.8v-36c-43.6 17.3-80.2 24.1-112.1 24.1-37.4-.1-68.9-8.4-100-16.6zm0-96c-57.2-15.1-111.7-28.8-203.9 11.1v61.5c94.8-37.6 154.6-22.7 212.1-7.6 57.2 15.1 111.7 28.8 203.9-11.1V200c-43.6 17.3-80.2 24.1-112.1 24.1-37.4 0-68.9-8.3-100-16.5zm9.5-125.9c51.8 15.6 97.4 29 202.6-20.1V30.8c0-25.1-26.8-38.1-49.4-26.6C291.3 91.5 305.4-62.2 96 32.4v151.9c94.8-37.5 154.6-22.7 212.1-7.6 57.2 15 111.7 28.7 203.9-11.1V96.7c-53.6 23.5-93.3 31.4-126.1 31.4s-59-7.8-85.7-15.9c-4-1.2-8.1-2.4-12.1-3.5V75.5c7.2 2 14.3 4.1 21.3 6.2zM160 128.1c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16-7.2 16-16 16zm0-55.8c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm64 47.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm0-55.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16z\"]\n};\nvar faFlask = {\n prefix: 'fas',\n iconName: 'flask',\n icon: [448, 512, [], \"f0c3\", \"M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z\"]\n};\nvar faFlushed = {\n prefix: 'fas',\n iconName: 'flushed',\n icon: [496, 512, [], \"f579\", \"M344 200c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-192 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM80 224c0-39.8 32.2-72 72-72s72 32.2 72 72-32.2 72-72 72-72-32.2-72-72zm232 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-104c-39.8 0-72-32.2-72-72s32.2-72 72-72 72 32.2 72 72-32.2 72-72 72z\"]\n};\nvar faFolder = {\n prefix: 'fas',\n iconName: 'folder',\n icon: [512, 512, [], \"f07b\", \"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z\"]\n};\nvar faFolderMinus = {\n prefix: 'fas',\n iconName: 'folder-minus',\n icon: [512, 512, [], \"f65d\", \"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-96 168c0 8.84-7.16 16-16 16H160c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h192c8.84 0 16 7.16 16 16v16z\"]\n};\nvar faFolderOpen = {\n prefix: 'fas',\n iconName: 'folder-open',\n icon: [576, 512, [], \"f07c\", \"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z\"]\n};\nvar faFolderPlus = {\n prefix: 'fas',\n iconName: 'folder-plus',\n icon: [512, 512, [], \"f65e\", \"M464,128H272L208,64H48A48,48,0,0,0,0,112V400a48,48,0,0,0,48,48H464a48,48,0,0,0,48-48V176A48,48,0,0,0,464,128ZM359.5,296a16,16,0,0,1-16,16h-64v64a16,16,0,0,1-16,16h-16a16,16,0,0,1-16-16V312h-64a16,16,0,0,1-16-16V280a16,16,0,0,1,16-16h64V200a16,16,0,0,1,16-16h16a16,16,0,0,1,16,16v64h64a16,16,0,0,1,16,16Z\"]\n};\nvar faFont = {\n prefix: 'fas',\n iconName: 'font',\n icon: [448, 512, [], \"f031\", \"M432 416h-23.41L277.88 53.69A32 32 0 0 0 247.58 32h-47.16a32 32 0 0 0-30.3 21.69L39.41 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-19.58l23.3-64h152.56l23.3 64H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM176.85 272L224 142.51 271.15 272z\"]\n};\nvar faFontAwesomeLogoFull = {\n prefix: 'fas',\n iconName: 'font-awesome-logo-full',\n icon: [3992, 512, [\"Font Awesome\"], \"f4e6\", \"M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z\"]\n};\nvar faFootballBall = {\n prefix: 'fas',\n iconName: 'football-ball',\n icon: [496, 512, [], \"f44e\", \"M481.5 60.3c-4.8-18.2-19.1-32.5-37.3-37.4C420.3 16.5 383 8.9 339.4 8L496 164.8c-.8-43.5-8.2-80.6-14.5-104.5zm-467 391.4c4.8 18.2 19.1 32.5 37.3 37.4 23.9 6.4 61.2 14 104.8 14.9L0 347.2c.8 43.5 8.2 80.6 14.5 104.5zM4.2 283.4L220.4 500c132.5-19.4 248.8-118.7 271.5-271.4L275.6 12C143.1 31.4 26.8 130.7 4.2 283.4zm317.3-123.6c3.1-3.1 8.2-3.1 11.3 0l11.3 11.3c3.1 3.1 3.1 8.2 0 11.3l-28.3 28.3 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-22.6 22.7 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L248 278.6l-22.6 22.6 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-28.3 28.3c-3.1 3.1-8.2 3.1-11.3 0l-11.3-11.3c-3.1-3.1-3.1-8.2 0-11.3l28.3-28.3-28.3-28.2c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 28.3-28.5z\"]\n};\nvar faForward = {\n prefix: 'fas',\n iconName: 'forward',\n icon: [512, 512, [], \"f04e\", \"M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z\"]\n};\nvar faFrog = {\n prefix: 'fas',\n iconName: 'frog',\n icon: [576, 512, [], \"f52e\", \"M446.53 97.43C439.67 60.23 407.19 32 368 32c-39.23 0-71.72 28.29-78.54 65.54C126.75 112.96-.5 250.12 0 416.98.11 451.9 29.08 480 64 480h304c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-79.49l35.8-48.33c24.14-36.23 10.35-88.28-33.71-106.6-23.89-9.93-51.55-4.65-72.24 10.88l-32.76 24.59c-7.06 5.31-17.09 3.91-22.41-3.19-5.3-7.08-3.88-17.11 3.19-22.41l34.78-26.09c36.84-27.66 88.28-27.62 125.13 0 10.87 8.15 45.87 39.06 40.8 93.21L469.62 480H560c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-53.63l-98.52-104.68 154.44-86.65A58.16 58.16 0 0 0 576 189.94c0-21.4-11.72-40.95-30.48-51.23-40.56-22.22-98.99-41.28-98.99-41.28zM368 136c-13.26 0-24-10.75-24-24 0-13.26 10.74-24 24-24 13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24z\"]\n};\nvar faFrown = {\n prefix: 'fas',\n iconName: 'frown',\n icon: [496, 512, [], \"f119\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm170.2 218.2C315.8 367.4 282.9 352 248 352s-67.8 15.4-90.2 42.2c-13.5 16.3-38.1-4.2-24.6-20.5C161.7 339.6 203.6 320 248 320s86.3 19.6 114.7 53.8c13.6 16.2-11 36.7-24.5 20.4z\"]\n};\nvar faFrownOpen = {\n prefix: 'fas',\n iconName: 'frown-open',\n icon: [496, 512, [], \"f57a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm187.3 183.3c-31.2-9.6-59.4-15.3-75.3-15.3s-44.1 5.7-75.3 15.3c-11.5 3.5-22.5-6.3-20.5-18.1 7-40 60.1-61.2 95.8-61.2s88.8 21.3 95.8 61.2c2 11.9-9.1 21.6-20.5 18.1zM328 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faFunnelDollar = {\n prefix: 'fas',\n iconName: 'funnel-dollar',\n icon: [640, 512, [], \"f662\", \"M433.46 165.94l101.2-111.87C554.61 34.12 540.48 0 512.26 0H31.74C3.52 0-10.61 34.12 9.34 54.07L192 256v155.92c0 12.59 5.93 24.44 16 32l79.99 60c20.86 15.64 48.47 6.97 59.22-13.57C310.8 455.38 288 406.35 288 352c0-89.79 62.05-165.17 145.46-186.06zM480 192c-88.37 0-160 71.63-160 160s71.63 160 160 160 160-71.63 160-160-71.63-160-160-160zm16 239.88V448c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V256c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.04 44.44-42.67 45.07z\"]\n};\nvar faFutbol = {\n prefix: 'fas',\n iconName: 'futbol',\n icon: [512, 512, [], \"f1e3\", \"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-48 0l-.003-.282-26.064 22.741-62.679-58.5 16.454-84.355 34.303 3.072c-24.889-34.216-60.004-60.089-100.709-73.141l13.651 31.939L256 139l-74.953-41.525 13.651-31.939c-40.631 13.028-75.78 38.87-100.709 73.141l34.565-3.073 16.192 84.355-62.678 58.5-26.064-22.741-.003.282c0 43.015 13.497 83.952 38.472 117.991l7.704-33.897 85.138 10.447 36.301 77.826-29.902 17.786c40.202 13.122 84.29 13.148 124.572 0l-29.902-17.786 36.301-77.826 85.138-10.447 7.704 33.897C442.503 339.952 456 299.015 456 256zm-248.102 69.571l-29.894-91.312L256 177.732l77.996 56.527-29.622 91.312h-96.476z\"]\n};\nvar faGamepad = {\n prefix: 'fas',\n iconName: 'gamepad',\n icon: [640, 512, [], \"f11b\", \"M480.07 96H160a160 160 0 1 0 114.24 272h91.52A160 160 0 1 0 480.07 96zM248 268a12 12 0 0 1-12 12h-52v52a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-52H84a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h52v-52a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12v52h52a12 12 0 0 1 12 12zm216 76a40 40 0 1 1 40-40 40 40 0 0 1-40 40zm64-96a40 40 0 1 1 40-40 40 40 0 0 1-40 40z\"]\n};\nvar faGasPump = {\n prefix: 'fas',\n iconName: 'gas-pump',\n icon: [512, 512, [], \"f52f\", \"M336 448H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm157.2-340.7l-81-81c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-6.2 6.2-6.2 16.4 0 22.6L416 97.9V160c0 28.1 20.9 51.3 48 55.2V376c0 13.2-10.8 24-24 24s-24-10.8-24-24v-32c0-48.6-39.4-88-88-88h-8V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64v352h288V304h8c22.1 0 40 17.9 40 40v27.8c0 37.7 27 72 64.5 75.9 43 4.3 79.5-29.5 79.5-71.7V152.6c0-17-6.8-33.3-18.8-45.3zM256 192H96V64h160v128z\"]\n};\nvar faGavel = {\n prefix: 'fas',\n iconName: 'gavel',\n icon: [512, 512, [], \"f0e3\", \"M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z\"]\n};\nvar faGem = {\n prefix: 'fas',\n iconName: 'gem',\n icon: [576, 512, [], \"f3a5\", \"M485.5 0L576 160H474.9L405.7 0h79.8zm-128 0l69.2 160H149.3L218.5 0h139zm-267 0h79.8l-69.2 160H0L90.5 0zM0 192h100.7l123 251.7c1.5 3.1-2.7 5.9-5 3.3L0 192zm148.2 0h279.6l-137 318.2c-1 2.4-4.5 2.4-5.5 0L148.2 192zm204.1 251.7l123-251.7H576L357.3 446.9c-2.3 2.7-6.5-.1-5-3.2z\"]\n};\nvar faGenderless = {\n prefix: 'fas',\n iconName: 'genderless',\n icon: [288, 512, [], \"f22d\", \"M144 176c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80 35.9-80 80-80m0-64C64.5 112 0 176.5 0 256s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z\"]\n};\nvar faGhost = {\n prefix: 'fas',\n iconName: 'ghost',\n icon: [384, 512, [], \"f6e2\", \"M186.1.09C81.01 3.24 0 94.92 0 200.05v263.92c0 14.26 17.23 21.39 27.31 11.31l24.92-18.53c6.66-4.95 16-3.99 21.51 2.21l42.95 48.35c6.25 6.25 16.38 6.25 22.63 0l40.72-45.85c6.37-7.17 17.56-7.17 23.92 0l40.72 45.85c6.25 6.25 16.38 6.25 22.63 0l42.95-48.35c5.51-6.2 14.85-7.17 21.51-2.21l24.92 18.53c10.08 10.08 27.31 2.94 27.31-11.31V192C384 84 294.83-3.17 186.1.09zM128 224c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128 0c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faGift = {\n prefix: 'fas',\n iconName: 'gift',\n icon: [512, 512, [], \"f06b\", \"M32 448c0 17.7 14.3 32 32 32h160V320H32v128zm256 32h160c17.7 0 32-14.3 32-32V320H288v160zm192-320h-42.1c6.2-12.1 10.1-25.5 10.1-40 0-48.5-39.5-88-88-88-41.6 0-68.5 21.3-103 68.3-34.5-47-61.4-68.3-103-68.3-48.5 0-88 39.5-88 88 0 14.5 3.8 27.9 10.1 40H32c-17.7 0-32 14.3-32 32v80c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-80c0-17.7-14.3-32-32-32zm-326.1 0c-22.1 0-40-17.9-40-40s17.9-40 40-40c19.9 0 34.6 3.3 86.1 80h-86.1zm206.1 0h-86.1c51.4-76.5 65.7-80 86.1-80 22.1 0 40 17.9 40 40s-17.9 40-40 40z\"]\n};\nvar faGifts = {\n prefix: 'fas',\n iconName: 'gifts',\n icon: [640, 512, [], \"f79c\", \"M240.6 194.1c1.9-30.8 17.3-61.2 44-79.8C279.4 103.5 268.7 96 256 96h-29.4l30.7-22c7.2-5.1 8.9-15.1 3.7-22.3l-9.3-13c-5.1-7.2-15.1-8.9-22.3-3.7l-32 22.9 11.5-30.6c3.1-8.3-1.1-17.5-9.4-20.6l-15-5.6c-8.3-3.1-17.5 1.1-20.6 9.4l-19.9 53-19.9-53.1C121 2.1 111.8-2.1 103.5 1l-15 5.6C80.2 9.7 76 19 79.2 27.2l11.5 30.6L58.6 35c-7.2-5.1-17.2-3.5-22.3 3.7l-9.3 13c-5.1 7.2-3.5 17.2 3.7 22.3l30.7 22H32c-17.7 0-32 14.3-32 32v352c0 17.7 14.3 32 32 32h168.9c-5.5-9.5-8.9-20.3-8.9-32V256c0-29.9 20.8-55 48.6-61.9zM224 480c0 17.7 14.3 32 32 32h160V384H224v96zm224 32h160c17.7 0 32-14.3 32-32v-96H448v128zm160-288h-20.4c2.6-7.6 4.4-15.5 4.4-23.8 0-35.5-27-72.2-72.1-72.2-48.1 0-75.9 47.7-87.9 75.3-12.1-27.6-39.9-75.3-87.9-75.3-45.1 0-72.1 36.7-72.1 72.2 0 8.3 1.7 16.2 4.4 23.8H256c-17.7 0-32 14.3-32 32v96h192V224h15.3l.7-.2.7.2H448v128h192v-96c0-17.7-14.3-32-32-32zm-272 0c-2.7-1.4-5.1-3-7.2-4.8-7.3-6.4-8.8-13.8-8.8-19 0-9.7 6.4-24.2 24.1-24.2 18.7 0 35.6 27.4 44.5 48H336zm199.2-4.8c-2.1 1.8-4.5 3.4-7.2 4.8h-52.6c8.8-20.3 25.8-48 44.5-48 17.7 0 24.1 14.5 24.1 24.2 0 5.2-1.5 12.6-8.8 19z\"]\n};\nvar faGlassCheers = {\n prefix: 'fas',\n iconName: 'glass-cheers',\n icon: [640, 512, [], \"f79f\", \"M639.4 433.6c-8.4-20.4-31.8-30.1-52.2-21.6l-22.1 9.2-38.7-101.9c47.9-35 64.8-100.3 34.5-152.8L474.3 16c-8-13.9-25.1-19.7-40-13.6L320 49.8 205.7 2.4c-14.9-6.2-32-.3-40 13.6L79.1 166.5C48.9 219 65.7 284.3 113.6 319.2L74.9 421.1l-22.1-9.2c-20.4-8.5-43.7 1.2-52.2 21.6-1.7 4.1.2 8.8 4.3 10.5l162.3 67.4c4.1 1.7 8.7-.2 10.4-4.3 8.4-20.4-1.2-43.8-21.6-52.3l-22.1-9.2L173.3 342c4.4.5 8.8 1.3 13.1 1.3 51.7 0 99.4-33.1 113.4-85.3l20.2-75.4 20.2 75.4c14 52.2 61.7 85.3 113.4 85.3 4.3 0 8.7-.8 13.1-1.3L506 445.6l-22.1 9.2c-20.4 8.5-30.1 31.9-21.6 52.3 1.7 4.1 6.4 6 10.4 4.3L635.1 444c4-1.7 6-6.3 4.3-10.4zM275.9 162.1l-112.1-46.5 36.5-63.4 94.5 39.2-18.9 70.7zm88.2 0l-18.9-70.7 94.5-39.2 36.5 63.4-112.1 46.5z\"]\n};\nvar faGlassMartini = {\n prefix: 'fas',\n iconName: 'glass-martini',\n icon: [512, 512, [], \"f000\", \"M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6z\"]\n};\nvar faGlassMartiniAlt = {\n prefix: 'fas',\n iconName: 'glass-martini-alt',\n icon: [512, 512, [], \"f57b\", \"M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6zM443.77 48l-48 48H116.24l-48-48h375.53z\"]\n};\nvar faGlassWhiskey = {\n prefix: 'fas',\n iconName: 'glass-whiskey',\n icon: [512, 512, [], \"f7a0\", \"M480 32H32C12.5 32-2.4 49.2.3 68.5l56 356.5c4.5 31.5 31.5 54.9 63.4 54.9h273c31.8 0 58.9-23.4 63.4-54.9l55.6-356.5C514.4 49.2 499.5 32 480 32zm-37.4 64l-30 192h-313L69.4 96h373.2z\"]\n};\nvar faGlasses = {\n prefix: 'fas',\n iconName: 'glasses',\n icon: [576, 512, [], \"f530\", \"M574.1 280.37L528.75 98.66c-5.91-23.7-21.59-44.05-43-55.81-21.44-11.73-46.97-14.11-70.19-6.33l-15.25 5.08c-8.39 2.79-12.92 11.86-10.12 20.24l5.06 15.18c2.79 8.38 11.85 12.91 20.23 10.12l13.18-4.39c10.87-3.62 23-3.57 33.16 1.73 10.29 5.37 17.57 14.56 20.37 25.82l38.46 153.82c-22.19-6.81-49.79-12.46-81.2-12.46-34.77 0-73.98 7.02-114.85 26.74h-73.18c-40.87-19.74-80.08-26.75-114.86-26.75-31.42 0-59.02 5.65-81.21 12.46l38.46-153.83c2.79-11.25 10.09-20.45 20.38-25.81 10.16-5.3 22.28-5.35 33.15-1.73l13.17 4.39c8.38 2.79 17.44-1.74 20.23-10.12l5.06-15.18c2.8-8.38-1.73-17.45-10.12-20.24l-15.25-5.08c-23.22-7.78-48.75-5.41-70.19 6.33-21.41 11.77-37.09 32.11-43 55.8L1.9 280.37A64.218 64.218 0 0 0 0 295.86v70.25C0 429.01 51.58 480 115.2 480h37.12c60.28 0 110.37-45.94 114.88-105.37l2.93-38.63h35.75l2.93 38.63C313.31 434.06 363.4 480 423.68 480h37.12c63.62 0 115.2-50.99 115.2-113.88v-70.25c0-5.23-.64-10.43-1.9-15.5zm-370.72 89.42c-1.97 25.91-24.4 46.21-51.06 46.21H115.2C86.97 416 64 393.62 64 366.11v-37.54c18.12-6.49 43.42-12.92 72.58-12.92 23.86 0 47.26 4.33 69.93 12.92l-3.13 41.22zM512 366.12c0 27.51-22.97 49.88-51.2 49.88h-37.12c-26.67 0-49.1-20.3-51.06-46.21l-3.13-41.22c22.67-8.59 46.08-12.92 69.95-12.92 29.12 0 54.43 6.44 72.55 12.93v37.54z\"]\n};\nvar faGlobe = {\n prefix: 'fas',\n iconName: 'globe',\n icon: [496, 512, [], \"f0ac\", \"M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z\"]\n};\nvar faGlobeAfrica = {\n prefix: 'fas',\n iconName: 'globe-africa',\n icon: [496, 512, [], \"f57c\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm160 215.5v6.93c0 5.87-3.32 11.24-8.57 13.86l-15.39 7.7a15.485 15.485 0 0 1-15.53-.97l-18.21-12.14a15.52 15.52 0 0 0-13.5-1.81l-2.65.88c-9.7 3.23-13.66 14.79-7.99 23.3l13.24 19.86c2.87 4.31 7.71 6.9 12.89 6.9h8.21c8.56 0 15.5 6.94 15.5 15.5v11.34c0 3.35-1.09 6.62-3.1 9.3l-18.74 24.98c-1.42 1.9-2.39 4.1-2.83 6.43l-4.3 22.83c-.62 3.29-2.29 6.29-4.76 8.56a159.608 159.608 0 0 0-25 29.16l-13.03 19.55a27.756 27.756 0 0 1-23.09 12.36c-10.51 0-20.12-5.94-24.82-15.34a78.902 78.902 0 0 1-8.33-35.29V367.5c0-8.56-6.94-15.5-15.5-15.5h-25.88c-14.49 0-28.38-5.76-38.63-16a54.659 54.659 0 0 1-16-38.63v-14.06c0-17.19 8.1-33.38 21.85-43.7l27.58-20.69a54.663 54.663 0 0 1 32.78-10.93h.89c8.48 0 16.85 1.97 24.43 5.77l14.72 7.36c3.68 1.84 7.93 2.14 11.83.84l47.31-15.77c6.33-2.11 10.6-8.03 10.6-14.7 0-8.56-6.94-15.5-15.5-15.5h-10.09c-4.11 0-8.05-1.63-10.96-4.54l-6.92-6.92a15.493 15.493 0 0 0-10.96-4.54H199.5c-8.56 0-15.5-6.94-15.5-15.5v-4.4c0-7.11 4.84-13.31 11.74-15.04l14.45-3.61c3.74-.94 7-3.23 9.14-6.44l8.08-12.11c2.87-4.31 7.71-6.9 12.89-6.9h24.21c8.56 0 15.5-6.94 15.5-15.5v-21.7C359.23 71.63 422.86 131.02 441.93 208H423.5c-8.56 0-15.5 6.94-15.5 15.5z\"]\n};\nvar faGlobeAmericas = {\n prefix: 'fas',\n iconName: 'globe-americas',\n icon: [496, 512, [], \"f57d\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm82.29 357.6c-3.9 3.88-7.99 7.95-11.31 11.28-2.99 3-5.1 6.7-6.17 10.71-1.51 5.66-2.73 11.38-4.77 16.87l-17.39 46.85c-13.76 3-28 4.69-42.65 4.69v-27.38c1.69-12.62-7.64-36.26-22.63-51.25-6-6-9.37-14.14-9.37-22.63v-32.01c0-11.64-6.27-22.34-16.46-27.97-14.37-7.95-34.81-19.06-48.81-26.11-11.48-5.78-22.1-13.14-31.65-21.75l-.8-.72a114.792 114.792 0 0 1-18.06-20.74c-9.38-13.77-24.66-36.42-34.59-51.14 20.47-45.5 57.36-82.04 103.2-101.89l24.01 12.01C203.48 89.74 216 82.01 216 70.11v-11.3c7.99-1.29 16.12-2.11 24.39-2.42l28.3 28.3c6.25 6.25 6.25 16.38 0 22.63L264 112l-10.34 10.34c-3.12 3.12-3.12 8.19 0 11.31l4.69 4.69c3.12 3.12 3.12 8.19 0 11.31l-8 8a8.008 8.008 0 0 1-5.66 2.34h-8.99c-2.08 0-4.08.81-5.58 2.27l-9.92 9.65a8.008 8.008 0 0 0-1.58 9.31l15.59 31.19c2.66 5.32-1.21 11.58-7.15 11.58h-5.64c-1.93 0-3.79-.7-5.24-1.96l-9.28-8.06a16.017 16.017 0 0 0-15.55-3.1l-31.17 10.39a11.95 11.95 0 0 0-8.17 11.34c0 4.53 2.56 8.66 6.61 10.69l11.08 5.54c9.41 4.71 19.79 7.16 30.31 7.16s22.59 27.29 32 32h66.75c8.49 0 16.62 3.37 22.63 9.37l13.69 13.69a30.503 30.503 0 0 1 8.93 21.57 46.536 46.536 0 0 1-13.72 32.98zM417 274.25c-5.79-1.45-10.84-5-14.15-9.97l-17.98-26.97a23.97 23.97 0 0 1 0-26.62l19.59-29.38c2.32-3.47 5.5-6.29 9.24-8.15l12.98-6.49C440.2 193.59 448 223.87 448 256c0 8.67-.74 17.16-1.82 25.54L417 274.25z\"]\n};\nvar faGlobeAsia = {\n prefix: 'fas',\n iconName: 'globe-asia',\n icon: [496, 512, [], \"f57e\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm-11.34 240.23c-2.89 4.82-8.1 7.77-13.72 7.77h-.31c-4.24 0-8.31 1.69-11.31 4.69l-5.66 5.66c-3.12 3.12-3.12 8.19 0 11.31l5.66 5.66c3 3 4.69 7.07 4.69 11.31V304c0 8.84-7.16 16-16 16h-6.11c-6.06 0-11.6-3.42-14.31-8.85l-22.62-45.23c-2.44-4.88-8.95-5.94-12.81-2.08l-19.47 19.46c-3 3-7.07 4.69-11.31 4.69H50.81C49.12 277.55 48 266.92 48 256c0-110.28 89.72-200 200-200 21.51 0 42.2 3.51 61.63 9.82l-50.16 38.53c-5.11 3.41-4.63 11.06.86 13.81l10.83 5.41c5.42 2.71 8.84 8.25 8.84 14.31V216c0 4.42-3.58 8-8 8h-3.06c-3.03 0-5.8-1.71-7.15-4.42-1.56-3.12-5.96-3.29-7.76-.3l-17.37 28.95zM408 358.43c0 4.24-1.69 8.31-4.69 11.31l-9.57 9.57c-3 3-7.07 4.69-11.31 4.69h-15.16c-4.24 0-8.31-1.69-11.31-4.69l-13.01-13.01a26.767 26.767 0 0 0-25.42-7.04l-21.27 5.32c-1.27.32-2.57.48-3.88.48h-10.34c-4.24 0-8.31-1.69-11.31-4.69l-11.91-11.91a8.008 8.008 0 0 1-2.34-5.66v-10.2c0-3.27 1.99-6.21 5.03-7.43l39.34-15.74c1.98-.79 3.86-1.82 5.59-3.05l23.71-16.89a7.978 7.978 0 0 1 4.64-1.48h12.09c3.23 0 6.15 1.94 7.39 4.93l5.35 12.85a4 4 0 0 0 3.69 2.46h3.8c1.78 0 3.35-1.18 3.84-2.88l4.2-14.47c.5-1.71 2.06-2.88 3.84-2.88h6.06c2.21 0 4 1.79 4 4v12.93c0 2.12.84 4.16 2.34 5.66l11.91 11.91c3 3 4.69 7.07 4.69 11.31v24.6z\"]\n};\nvar faGlobeEurope = {\n prefix: 'fas',\n iconName: 'globe-europe',\n icon: [496, 512, [], \"f7a2\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm200 248c0 22.5-3.9 44.2-10.8 64.4h-20.3c-4.3 0-8.4-1.7-11.4-4.8l-32-32.6c-4.5-4.6-4.5-12.1.1-16.7l12.5-12.5v-8.7c0-3-1.2-5.9-3.3-8l-9.4-9.4c-2.1-2.1-5-3.3-8-3.3h-16c-6.2 0-11.3-5.1-11.3-11.3 0-3 1.2-5.9 3.3-8l9.4-9.4c2.1-2.1 5-3.3 8-3.3h32c6.2 0 11.3-5.1 11.3-11.3v-9.4c0-6.2-5.1-11.3-11.3-11.3h-36.7c-8.8 0-16 7.2-16 16v4.5c0 6.9-4.4 13-10.9 15.2l-31.6 10.5c-3.3 1.1-5.5 4.1-5.5 7.6v2.2c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8s-3.6-8-8-8H247c-3 0-5.8 1.7-7.2 4.4l-9.4 18.7c-2.7 5.4-8.2 8.8-14.3 8.8H194c-8.8 0-16-7.2-16-16V199c0-4.2 1.7-8.3 4.7-11.3l20.1-20.1c4.6-4.6 7.2-10.9 7.2-17.5 0-3.4 2.2-6.5 5.5-7.6l40-13.3c1.7-.6 3.2-1.5 4.4-2.7l26.8-26.8c2.1-2.1 3.3-5 3.3-8 0-6.2-5.1-11.3-11.3-11.3H258l-16 16v8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-20c0-2.5 1.2-4.9 3.2-6.4l28.9-21.7c1.9-.1 3.8-.3 5.7-.3C358.3 56 448 145.7 448 256zM130.1 149.1c0-3 1.2-5.9 3.3-8l25.4-25.4c2.1-2.1 5-3.3 8-3.3 6.2 0 11.3 5.1 11.3 11.3v16c0 3-1.2 5.9-3.3 8l-9.4 9.4c-2.1 2.1-5 3.3-8 3.3h-16c-6.2 0-11.3-5.1-11.3-11.3zm128 306.4v-7.1c0-8.8-7.2-16-16-16h-20.2c-10.8 0-26.7-5.3-35.4-11.8l-22.2-16.7c-11.5-8.6-18.2-22.1-18.2-36.4v-23.9c0-16 8.4-30.8 22.1-39l42.9-25.7c7.1-4.2 15.2-6.5 23.4-6.5h31.2c10.9 0 21.4 3.9 29.6 10.9l43.2 37.1h18.3c8.5 0 16.6 3.4 22.6 9.4l17.3 17.3c3.4 3.4 8.1 5.3 12.9 5.3H423c-32.4 58.9-93.8 99.5-164.9 103.1z\"]\n};\nvar faGolfBall = {\n prefix: 'fas',\n iconName: 'golf-ball',\n icon: [416, 512, [], \"f450\", \"M96 416h224c0 17.7-14.3 32-32 32h-16c-17.7 0-32 14.3-32 32v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-20c0-17.7-14.3-32-32-32h-16c-17.7 0-32-14.3-32-32zm320-208c0 74.2-39 139.2-97.5 176h-221C39 347.2 0 282.2 0 208 0 93.1 93.1 0 208 0s208 93.1 208 208zm-180.1 43.9c18.3 0 33.1-14.8 33.1-33.1 0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1zm49.1 46.9c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1zm64-64c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1z\"]\n};\nvar faGopuram = {\n prefix: 'fas',\n iconName: 'gopuram',\n icon: [512, 512, [], \"f664\", \"M496 352h-16V240c0-8.8-7.2-16-16-16h-16v-80c0-8.8-7.2-16-16-16h-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16S96 7.2 96 16v112H80c-8.8 0-16 7.2-16 16v80H48c-8.8 0-16 7.2-16 16v112H16c-8.8 0-16 7.2-16 16v128c0 8.8 7.2 16 16 16h80V352h32V224h32v-96h32v96h-32v128h-32v160h80v-80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v80h80V352h-32V224h-32v-96h32v96h32v128h32v160h80c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zM232 176c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v48h-48zm56 176h-64v-64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z\"]\n};\nvar faGraduationCap = {\n prefix: 'fas',\n iconName: 'graduation-cap',\n icon: [640, 512, [], \"f19d\", \"M622.34 153.2L343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6zM352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47-145.03 44.56z\"]\n};\nvar faGreaterThan = {\n prefix: 'fas',\n iconName: 'greater-than',\n icon: [384, 512, [], \"f531\", \"M365.52 209.85L59.22 67.01c-16.06-7.49-35.15-.54-42.64 15.52L3.01 111.61c-7.49 16.06-.54 35.15 15.52 42.64L236.96 256.1 18.49 357.99C2.47 365.46-4.46 384.5 3.01 400.52l13.52 29C24 445.54 43.04 452.47 59.06 445l306.47-142.91a32.003 32.003 0 0 0 18.48-29v-34.23c-.01-12.45-7.21-23.76-18.49-29.01z\"]\n};\nvar faGreaterThanEqual = {\n prefix: 'fas',\n iconName: 'greater-than-equal',\n icon: [448, 512, [], \"f532\", \"M55.22 107.69l175.56 68.09-175.44 68.05c-18.39 6.03-27.88 24.39-21.2 41l12.09 30.08c6.68 16.61 26.99 25.19 45.38 19.15L393.02 214.2c13.77-4.52 22.98-16.61 22.98-30.17v-15.96c0-13.56-9.21-25.65-22.98-30.17L91.3 17.92c-18.29-6-38.51 2.53-45.15 19.06L34.12 66.9c-6.64 16.53 2.81 34.79 21.1 40.79zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"]\n};\nvar faGrimace = {\n prefix: 'fas',\n iconName: 'grimace',\n icon: [496, 512, [], \"f57f\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM144 400h-8c-17.7 0-32-14.3-32-32v-8h40v40zm0-56h-40v-8c0-17.7 14.3-32 32-32h8v40zm-8-136c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm72 192h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm-8-104c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64 128c0 17.7-14.3 32-32 32h-8v-40h40v8zm0-24h-40v-40h8c17.7 0 32 14.3 32 32v8z\"]\n};\nvar faGrin = {\n prefix: 'fas',\n iconName: 'grin',\n icon: [496, 512, [], \"f580\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm80 256c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinAlt = {\n prefix: 'fas',\n iconName: 'grin-alt',\n icon: [496, 512, [], \"f581\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm63.7 128.7c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zm-160 0c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinBeam = {\n prefix: 'fas',\n iconName: 'grin-beam',\n icon: [496, 512, [], \"f582\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 144c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinBeamSweat = {\n prefix: 'fas',\n iconName: 'grin-beam-sweat',\n icon: [504, 512, [], \"f583\", \"M456 128c26.5 0 48-21 48-47 0-20-28.5-60.4-41.6-77.8-3.2-4.3-9.6-4.3-12.8 0C436.5 20.6 408 61 408 81c0 26 21.5 47 48 47zm0 32c-44.1 0-80-35.4-80-79 0-4.4.3-14.2 8.1-32.2C345 23.1 298.3 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-35.1-7.4-68.4-20.5-98.6-6.3 1.5-12.7 2.6-19.5 2.6zm-128-8c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinHearts = {\n prefix: 'fas',\n iconName: 'grin-hearts',\n icon: [496, 512, [], \"f584\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM90.4 183.6c6.7-17.6 26.7-26.7 44.9-21.9l7.1 1.9 2-7.1c5-18.1 22.8-30.9 41.5-27.9 21.4 3.4 34.4 24.2 28.8 44.5L195.3 243c-1.2 4.5-5.9 7.2-10.5 6l-70.2-18.2c-20.4-5.4-31.9-27-24.2-47.2zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm133.4-201.3l-70.2 18.2c-4.5 1.2-9.2-1.5-10.5-6L281.3 173c-5.6-20.3 7.4-41.1 28.8-44.5 18.6-3 36.4 9.8 41.5 27.9l2 7.1 7.1-1.9c18.2-4.7 38.2 4.3 44.9 21.9 7.7 20.3-3.8 41.9-24.2 47.2z\"]\n};\nvar faGrinSquint = {\n prefix: 'fas',\n iconName: 'grin-squint',\n icon: [496, 512, [], \"f585\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinSquintTears = {\n prefix: 'fas',\n iconName: 'grin-squint-tears',\n icon: [512, 512, [], \"f586\", \"M409.6 111.9c22.6-3.2 73.5-12 88.3-26.8 19.2-19.2 18.9-50.6-.7-70.2S446-5 426.9 14.2c-14.8 14.8-23.5 65.7-26.8 88.3-.8 5.5 3.9 10.2 9.5 9.4zM102.4 400.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm311.7-256.5c-33 3.9-48.6-25.1-45.7-45.7 3.4-24 7.4-42.1 11.5-56.5C285.1-13.4 161.8-.5 80.6 80.6-.5 161.7-13.4 285 41.4 379.9c14.4-4.1 32.4-8 56.5-11.5 33.2-3.9 48.6 25.2 45.7 45.7-3.4 24-7.4 42.1-11.5 56.5 94.8 54.8 218.1 41.9 299.3-39.2s94-204.4 39.2-299.3c-14.4 4.1-32.5 8-56.5 11.5zM255.7 106c3.3-13.2 22.4-11.5 23.6 1.8l4.8 52.3 52.3 4.8c13.4 1.2 14.9 20.3 1.8 23.6l-90.5 22.6c-8.9 2.2-16.7-5.9-14.5-14.5l22.5-90.6zm-90.9 230.3L160 284l-52.3-4.8c-13.4-1.2-14.9-20.3-1.8-23.6l90.5-22.6c8.8-2.2 16.7 5.8 14.5 14.5L188.3 338c-3.1 13.2-22.2 11.7-23.5-1.7zm215.7 44.2c-29.3 29.3-75.7 50.4-116.7 50.4-18.9 0-36.6-4.5-51-14.7-9.8-6.9-8.7-21.8 2-27.2 28.3-14.6 63.9-42.4 97.8-76.3s61.7-69.6 76.3-97.8c5.4-10.5 20.2-11.9 27.3-2 32.3 45.3 7.1 124.7-35.7 167.6z\"]\n};\nvar faGrinStars = {\n prefix: 'fas',\n iconName: 'grin-stars',\n icon: [496, 512, [], \"f587\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z\"]\n};\nvar faGrinTears = {\n prefix: 'fas',\n iconName: 'grin-tears',\n icon: [640, 512, [], \"f588\", \"M102.4 256.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm523.4 26.8c-14.8-14.8-65.7-23.5-88.3-26.8-5.5-.8-10.3 3.9-9.5 9.5 3.2 22.6 12 73.5 26.8 88.3 19.2 19.2 50.6 18.9 70.2-.7s20-51.2.8-70.3zm-129.4-12.8c-3.8-26.6 19.1-49.5 45.7-45.7 8.9 1.3 16.8 2.7 24.3 4.1C552.7 104.5 447.7 8 320 8S87.3 104.5 73.6 228.5c7.5-1.4 15.4-2.8 24.3-4.1 33.2-3.9 48.6 25.3 45.7 45.7-11.8 82.3-29.9 100.4-35.8 106.4-.9.9-2 1.6-3 2.5 42.7 74.6 123 125 215.2 125s172.5-50.4 215.2-125.1c-1-.9-2.1-1.5-3-2.5-5.9-5.9-24-24-35.8-106.3zM400 152c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.7 9.2-21.6 20.7-17.9C227.1 330.5 272 336 320 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"]\n};\nvar faGrinTongue = {\n prefix: 'fas',\n iconName: 'grin-tongue',\n icon: [496, 512, [], \"f589\", \"M248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-34.9 134.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z\"]\n};\nvar faGrinTongueSquint = {\n prefix: 'fas',\n iconName: 'grin-tongue-squint',\n icon: [496, 512, [], \"f58a\", \"M293.1 374.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-33.8 210.3l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.7 4.7 7.7 15.9 0 20.6zm163 30c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.8-4.7-7.8-15.9 0-20.6l80-48c11.7-6.9 23.9 7.7 15.4 18L343.6 208l33.6 40.3z\"]\n};\nvar faGrinTongueWink = {\n prefix: 'fas',\n iconName: 'grin-tongue-wink',\n icon: [496, 512, [], \"f58b\", \"M344 184c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-56 225l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L112 233c-8.5 7.4-21.6.3-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c1.6 11.1-11.6 18.2-20 10.8zm152 39c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm-50.9 102.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z\"]\n};\nvar faGrinWink = {\n prefix: 'fas',\n iconName: 'grin-wink',\n icon: [496, 512, [], \"f58c\", \"M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm168 25l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.6 11-11.5 18.2-20 10.8zm-243.1 87.8C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6 20.7 17.9-9.2 55-83.2 93.3-143.8 93.3s-134.5-38.3-143.8-93.3c-2-11.9 9.3-21.6 20.7-17.9z\"]\n};\nvar faGripHorizontal = {\n prefix: 'fas',\n iconName: 'grip-horizontal',\n icon: [448, 512, [], \"f58d\", \"M96 288H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM96 96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"]\n};\nvar faGripLines = {\n prefix: 'fas',\n iconName: 'grip-lines',\n icon: [512, 512, [], \"f7a4\", \"M496 288H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-128H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"]\n};\nvar faGripLinesVertical = {\n prefix: 'fas',\n iconName: 'grip-lines-vertical',\n icon: [256, 512, [], \"f7a5\", \"M96 496V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm128 0V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16z\"]\n};\nvar faGripVertical = {\n prefix: 'fas',\n iconName: 'grip-vertical',\n icon: [320, 512, [], \"f58e\", \"M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"]\n};\nvar faGuitar = {\n prefix: 'fas',\n iconName: 'guitar',\n icon: [512, 512, [], \"f7a6\", \"M502.63 39L473 9.37a32 32 0 0 0-45.26 0L381.46 55.7a35.14 35.14 0 0 0-8.53 13.79L360.77 106l-76.26 76.26c-12.16-8.76-25.5-15.74-40.1-19.14-33.45-7.78-67-.88-89.88 22a82.45 82.45 0 0 0-20.24 33.47c-6 18.56-23.21 32.69-42.15 34.46-23.7 2.27-45.73 11.45-62.61 28.44C-16.11 327-7.9 409 47.58 464.45S185 528 230.56 482.52c17-16.88 26.16-38.9 28.45-62.71 1.76-18.85 15.89-36.13 34.43-42.14a82.6 82.6 0 0 0 33.48-20.25c22.87-22.88 29.74-56.36 22-89.75-3.39-14.64-10.37-28-19.16-40.2L406 151.23l36.48-12.16a35.14 35.14 0 0 0 13.79-8.53l46.33-46.32a32 32 0 0 0 .03-45.22zM208 352a48 48 0 1 1 48-48 48 48 0 0 1-48 48z\"]\n};\nvar faHSquare = {\n prefix: 'fas',\n iconName: 'h-square',\n icon: [448, 512, [], \"f0fd\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-112 48h-32c-8.837 0-16 7.163-16 16v80H160v-80c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v224c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16v-80h128v80c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144c0-8.837-7.163-16-16-16z\"]\n};\nvar faHamburger = {\n prefix: 'fas',\n iconName: 'hamburger',\n icon: [512, 512, [], \"f805\", \"M464 256H48a48 48 0 0 0 0 96h416a48 48 0 0 0 0-96zm16 128H32a16 16 0 0 0-16 16v16a64 64 0 0 0 64 64h352a64 64 0 0 0 64-64v-16a16 16 0 0 0-16-16zM58.64 224h394.72c34.57 0 54.62-43.9 34.82-75.88C448 83.2 359.55 32.1 256 32c-103.54.1-192 51.2-232.18 116.11C4 180.09 24.07 224 58.64 224zM384 112a16 16 0 1 1-16 16 16 16 0 0 1 16-16zM256 80a16 16 0 1 1-16 16 16 16 0 0 1 16-16zm-128 32a16 16 0 1 1-16 16 16 16 0 0 1 16-16z\"]\n};\nvar faHammer = {\n prefix: 'fas',\n iconName: 'hammer',\n icon: [576, 512, [], \"f6e3\", \"M571.31 193.94l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31-28.9-28.9c5.63-21.31.36-44.9-16.35-61.61l-45.25-45.25c-62.48-62.48-163.79-62.48-226.28 0l90.51 45.25v18.75c0 16.97 6.74 33.25 18.75 45.25l49.14 49.14c16.71 16.71 40.3 21.98 61.61 16.35l28.9 28.9-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l90.51-90.51c6.23-6.24 6.23-16.37-.02-22.62zm-286.72-15.2c-3.7-3.7-6.84-7.79-9.85-11.95L19.64 404.96c-25.57 23.88-26.26 64.19-1.53 88.93s65.05 24.05 88.93-1.53l238.13-255.07c-3.96-2.91-7.9-5.87-11.44-9.41l-49.14-49.14z\"]\n};\nvar faHamsa = {\n prefix: 'fas',\n iconName: 'hamsa',\n icon: [512, 512, [], \"f665\", \"M509.34 307.25C504.28 295.56 492.75 288 480 288h-64V80c0-22-18-40-40-40s-40 18-40 40v134c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V40c0-22-18-40-40-40s-40 18-40 40v174c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V80c0-22-18-40-40-40S96 58 96 80v208H32c-12.75 0-24.28 7.56-29.34 19.25a31.966 31.966 0 0 0 5.94 34.58l102.69 110.03C146.97 490.08 199.69 512 256 512s109.03-21.92 144.72-60.14L503.4 341.83a31.966 31.966 0 0 0 5.94-34.58zM256 416c-53.02 0-96-64-96-64s42.98-64 96-64 96 64 96 64-42.98 64-96 64zm0-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar faHandHolding = {\n prefix: 'fas',\n iconName: 'hand-holding',\n icon: [576, 512, [], \"f4bd\", \"M565.3 328.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"]\n};\nvar faHandHoldingHeart = {\n prefix: 'fas',\n iconName: 'hand-holding-heart',\n icon: [576, 512, [], \"f4be\", \"M275.3 250.5c7 7.4 18.4 7.4 25.5 0l108.9-114.2c31.6-33.2 29.8-88.2-5.6-118.8-30.8-26.7-76.7-21.9-104.9 7.7L288 36.9l-11.1-11.6C248.7-4.4 202.8-9.2 172 17.5c-35.3 30.6-37.2 85.6-5.6 118.8l108.9 114.2zm290 77.6c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"]\n};\nvar faHandHoldingMedical = {\n prefix: 'fas',\n iconName: 'hand-holding-medical',\n icon: [576, 512, [], \"e05c\", \"M159.88,175.82h64v64a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16v-64h64a16,16,0,0,0,16-16v-64a16,16,0,0,0-16-16h-64v-64a16,16,0,0,0-16-16h-64a16,16,0,0,0-16,16v64h-64a16,16,0,0,0-16,16v64A16,16,0,0,0,159.88,175.82ZM568.07,336.13a39.91,39.91,0,0,0-55.93-8.47L392.47,415.84H271.86a16,16,0,0,1,0-32H350.1c16,0,30.75-10.87,33.37-26.61a32.06,32.06,0,0,0-31.62-37.38h-160a117.7,117.7,0,0,0-74.12,26.25l-46.5,37.74H15.87a16.11,16.11,0,0,0-16,16v96a16.11,16.11,0,0,0,16,16h347a104.8,104.8,0,0,0,61.7-20.27L559.6,392A40,40,0,0,0,568.07,336.13Z\"]\n};\nvar faHandHoldingUsd = {\n prefix: 'fas',\n iconName: 'hand-holding-usd',\n icon: [576, 512, [], \"f4c0\", \"M271.06,144.3l54.27,14.3a8.59,8.59,0,0,1,6.63,8.1c0,4.6-4.09,8.4-9.12,8.4h-35.6a30,30,0,0,1-11.19-2.2c-5.24-2.2-11.28-1.7-15.3,2l-19,17.5a11.68,11.68,0,0,0-2.25,2.66,11.42,11.42,0,0,0,3.88,15.74,83.77,83.77,0,0,0,34.51,11.5V240c0,8.8,7.83,16,17.37,16h17.37c9.55,0,17.38-7.2,17.38-16V222.4c32.93-3.6,57.84-31,53.5-63-3.15-23-22.46-41.3-46.56-47.7L282.68,97.4a8.59,8.59,0,0,1-6.63-8.1c0-4.6,4.09-8.4,9.12-8.4h35.6A30,30,0,0,1,332,83.1c5.23,2.2,11.28,1.7,15.3-2l19-17.5A11.31,11.31,0,0,0,368.47,61a11.43,11.43,0,0,0-3.84-15.78,83.82,83.82,0,0,0-34.52-11.5V16c0-8.8-7.82-16-17.37-16H295.37C285.82,0,278,7.2,278,16V33.6c-32.89,3.6-57.85,31-53.51,63C227.63,119.6,247,137.9,271.06,144.3ZM565.27,328.1c-11.8-10.7-30.2-10-42.6,0L430.27,402a63.64,63.64,0,0,1-40,14H272a16,16,0,0,1,0-32h78.29c15.9,0,30.71-10.9,33.25-26.6a31.2,31.2,0,0,0,.46-5.46A32,32,0,0,0,352,320H192a117.66,117.66,0,0,0-74.1,26.29L71.4,384H16A16,16,0,0,0,0,400v96a16,16,0,0,0,16,16H372.77a64,64,0,0,0,40-14L564,377a32,32,0,0,0,1.28-48.9Z\"]\n};\nvar faHandHoldingWater = {\n prefix: 'fas',\n iconName: 'hand-holding-water',\n icon: [576, 512, [], \"f4c1\", \"M288 256c53 0 96-42.1 96-94 0-40-57.1-120.7-83.2-155.6-6.4-8.5-19.2-8.5-25.6 0C249.1 41.3 192 122 192 162c0 51.9 43 94 96 94zm277.3 72.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"]\n};\nvar faHandLizard = {\n prefix: 'fas',\n iconName: 'hand-lizard',\n icon: [576, 512, [], \"f258\", \"M384 480h192V363.778a95.998 95.998 0 0 0-14.833-51.263L398.127 54.368A48 48 0 0 0 357.544 32H24C10.745 32 0 42.745 0 56v16c0 30.928 25.072 56 56 56h229.981c12.844 0 21.556 13.067 16.615 24.923l-21.41 51.385A32 32 0 0 1 251.648 224H128c-35.346 0-64 28.654-64 64v8c0 13.255 10.745 24 24 24h147.406a47.995 47.995 0 0 1 25.692 7.455l111.748 70.811A24.001 24.001 0 0 1 384 418.539V480z\"]\n};\nvar faHandMiddleFinger = {\n prefix: 'fas',\n iconName: 'hand-middle-finger',\n icon: [512, 512, [], \"f806\", \"M479.93 317.12a37.33 37.33 0 0 0-28.28-36.19L416 272v-49.59c0-11.44-9.69-21.29-23.15-23.54l-38.4-6.4C336.63 189.5 320 200.86 320 216v32a8 8 0 0 1-16 0V50c0-26.28-20.25-49.2-46.52-50A48 48 0 0 0 208 48v200a8 8 0 0 1-16 0v-32c0-15.15-16.63-26.51-34.45-23.54l-30.68 5.12c-18 3-30.87 16.12-30.87 31.38V376a8 8 0 0 1-16 0v-76l-27.36 15A37.34 37.34 0 0 0 32 348.4v73.47a37.31 37.31 0 0 0 10.93 26.39l30.93 30.93A112 112 0 0 0 153.05 512h215A112 112 0 0 0 480 400z\"]\n};\nvar faHandPaper = {\n prefix: 'fas',\n iconName: 'hand-paper',\n icon: [448, 512, [], \"f256\", \"M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007 209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192.011 192.011 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993z\"]\n};\nvar faHandPeace = {\n prefix: 'fas',\n iconName: 'hand-peace',\n icon: [448, 512, [], \"f25b\", \"M408 216c-22.092 0-40 17.909-40 40h-8v-32c0-22.091-17.908-40-40-40s-40 17.909-40 40v32h-8V48c0-26.51-21.49-48-48-48s-48 21.49-48 48v208h-13.572L92.688 78.449C82.994 53.774 55.134 41.63 30.461 51.324 5.787 61.017-6.356 88.877 3.337 113.551l74.765 190.342-31.09 24.872c-15.381 12.306-19.515 33.978-9.741 51.081l64 112A39.998 39.998 0 0 0 136 512h240c18.562 0 34.686-12.77 38.937-30.838l32-136A39.97 39.97 0 0 0 448 336v-80c0-22.091-17.908-40-40-40z\"]\n};\nvar faHandPointDown = {\n prefix: 'fas',\n iconName: 'hand-point-down',\n icon: [384, 512, [], \"f0a7\", \"M91.826 467.2V317.966c-8.248 5.841-16.558 10.57-24.918 14.153C35.098 345.752-.014 322.222 0 288c.008-18.616 10.897-32.203 29.092-40 28.286-12.122 64.329-78.648 77.323-107.534 7.956-17.857 25.479-28.453 43.845-28.464l.001-.002h171.526c11.812 0 21.897 8.596 23.703 20.269 7.25 46.837 38.483 61.76 38.315 123.731-.007 2.724.195 13.254.195 16 0 50.654-22.122 81.574-71.263 72.6-9.297 18.597-39.486 30.738-62.315 16.45-21.177 24.645-53.896 22.639-70.944 6.299V467.2c0 24.15-20.201 44.8-43.826 44.8-23.283 0-43.826-21.35-43.826-44.8zM112 72V24c0-13.255 10.745-24 24-24h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24zm212-24c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z\"]\n};\nvar faHandPointLeft = {\n prefix: 'fas',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M44.8 155.826h149.234c-5.841-8.248-10.57-16.558-14.153-24.918C166.248 99.098 189.778 63.986 224 64c18.616.008 32.203 10.897 40 29.092 12.122 28.286 78.648 64.329 107.534 77.323 17.857 7.956 28.453 25.479 28.464 43.845l.002.001v171.526c0 11.812-8.596 21.897-20.269 23.703-46.837 7.25-61.76 38.483-123.731 38.315-2.724-.007-13.254.195-16 .195-50.654 0-81.574-22.122-72.6-71.263-18.597-9.297-30.738-39.486-16.45-62.315-24.645-21.177-22.639-53.896-6.299-70.944H44.8c-24.15 0-44.8-20.201-44.8-43.826 0-23.283 21.35-43.826 44.8-43.826zM440 176h48c13.255 0 24 10.745 24 24v192c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24zm24 212c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z\"]\n};\nvar faHandPointRight = {\n prefix: 'fas',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M512 199.652c0 23.625-20.65 43.826-44.8 43.826h-99.851c16.34 17.048 18.346 49.766-6.299 70.944 14.288 22.829 2.147 53.017-16.45 62.315C353.574 425.878 322.654 448 272 448c-2.746 0-13.276-.203-16-.195-61.971.168-76.894-31.065-123.731-38.315C120.596 407.683 112 397.599 112 385.786V214.261l.002-.001c.011-18.366 10.607-35.889 28.464-43.845 28.886-12.994 95.413-49.038 107.534-77.323 7.797-18.194 21.384-29.084 40-29.092 34.222-.014 57.752 35.098 44.119 66.908-3.583 8.359-8.312 16.67-14.153 24.918H467.2c23.45 0 44.8 20.543 44.8 43.826zM96 200v192c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24zM68 368c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z\"]\n};\nvar faHandPointUp = {\n prefix: 'fas',\n iconName: 'hand-point-up',\n icon: [384, 512, [], \"f0a6\", \"M135.652 0c23.625 0 43.826 20.65 43.826 44.8v99.851c17.048-16.34 49.766-18.346 70.944 6.299 22.829-14.288 53.017-2.147 62.315 16.45C361.878 158.426 384 189.346 384 240c0 2.746-.203 13.276-.195 16 .168 61.971-31.065 76.894-38.315 123.731C343.683 391.404 333.599 400 321.786 400H150.261l-.001-.002c-18.366-.011-35.889-10.607-43.845-28.464C93.421 342.648 57.377 276.122 29.092 264 10.897 256.203.008 242.616 0 224c-.014-34.222 35.098-57.752 66.908-44.119 8.359 3.583 16.67 8.312 24.918 14.153V44.8c0-23.45 20.543-44.8 43.826-44.8zM136 416h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24v-48c0-13.255 10.745-24 24-24zm168 28c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z\"]\n};\nvar faHandPointer = {\n prefix: 'fas',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M448 240v96c0 3.084-.356 6.159-1.063 9.162l-32 136C410.686 499.23 394.562 512 376 512H168a40.004 40.004 0 0 1-32.35-16.473l-127.997-176c-12.993-17.866-9.043-42.883 8.822-55.876 17.867-12.994 42.884-9.043 55.877 8.823L104 315.992V40c0-22.091 17.908-40 40-40s40 17.909 40 40v200h8v-40c0-22.091 17.908-40 40-40s40 17.909 40 40v40h8v-24c0-22.091 17.908-40 40-40s40 17.909 40 40v24h8c0-22.091 17.908-40 40-40s40 17.909 40 40zm-256 80h-8v96h8v-96zm88 0h-8v96h8v-96zm88 0h-8v96h8v-96z\"]\n};\nvar faHandRock = {\n prefix: 'fas',\n iconName: 'hand-rock',\n icon: [512, 512, [], \"f255\", \"M464.8 80c-26.9-.4-48.8 21.2-48.8 48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v32h-8V80.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v136l-8-7.1v-48.1c0-26.3-20.9-48.3-47.2-48.8C21.9 127.6 0 149.2 0 176v66.4c0 27.4 11.7 53.5 32.2 71.8l111.7 99.3c10.2 9.1 16.1 22.2 16.1 35.9v6.7c0 13.3 10.7 24 24 24h240c13.3 0 24-10.7 24-24v-2.9c0-12.8 2.6-25.5 7.5-37.3l49-116.3c5-11.8 7.5-24.5 7.5-37.3V128.8c0-26.3-20.9-48.4-47.2-48.8z\"]\n};\nvar faHandScissors = {\n prefix: 'fas',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M216 440c0-22.092 17.909-40 40-40v-8h-32c-22.091 0-40-17.908-40-40s17.909-40 40-40h32v-8H48c-26.51 0-48-21.49-48-48s21.49-48 48-48h208v-13.572l-177.551-69.74c-24.674-9.694-36.818-37.555-27.125-62.228 9.693-24.674 37.554-36.817 62.228-27.124l190.342 74.765 24.872-31.09c12.306-15.381 33.978-19.515 51.081-9.741l112 64A40.002 40.002 0 0 1 512 168v240c0 18.562-12.77 34.686-30.838 38.937l-136 32A39.982 39.982 0 0 1 336 480h-80c-22.091 0-40-17.908-40-40z\"]\n};\nvar faHandSparkles = {\n prefix: 'fas',\n iconName: 'hand-sparkles',\n icon: [640, 512, [], \"e05d\", \"M106.66,170.64l.09,0,49.55-20.65a7.32,7.32,0,0,0,3.68-6h0a7.29,7.29,0,0,0-3.68-6l-49.57-20.67-.07,0L86,67.68a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L3.7,138A7.29,7.29,0,0,0,0,144H0a7.32,7.32,0,0,0,3.68,6L53.27,170.6l.07,0L74,220.26a6.65,6.65,0,0,0,11.92,0l20.69-49.62ZM471.38,467.41l-1-.42-1-.5a38.67,38.67,0,0,1,0-69.14l1-.49,1-.43,37.49-15.63,15.63-37.48.41-1,.47-.95c3.85-7.74,10.58-13.63,18.35-17.34,0-1.33.25-2.69.27-4V144a32,32,0,0,0-64,0v72a8,8,0,0,1-8,8H456a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H360a8,8,0,0,1-8-8V32a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H264a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0v241l-23.59-32.49a40,40,0,0,0-64.71,47.09L229.3,492.21A48.07,48.07,0,0,0,268.09,512H465.7c19.24,0,35.65-11.73,43.24-28.79l-.07-.17ZM349.79,339.52,320,351.93l-12.42,29.78a4,4,0,0,1-7.15,0L288,351.93l-29.79-12.41a4,4,0,0,1,0-7.16L288,319.94l12.42-29.78a4,4,0,0,1,7.15,0L320,319.94l29.79,12.42a4,4,0,0,1,0,7.16ZM640,431.91a7.28,7.28,0,0,0-3.68-6l-49.57-20.67-.07,0L566,355.63a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L483.7,426a7.28,7.28,0,0,0-3.68,6h0a7.29,7.29,0,0,0,3.68,5.95l49.57,20.67.07,0L554,508.21a6.65,6.65,0,0,0,11.92,0l20.69-49.62h0l.09,0,49.55-20.66a7.29,7.29,0,0,0,3.68-5.95h0Z\"]\n};\nvar faHandSpock = {\n prefix: 'fas',\n iconName: 'hand-spock',\n icon: [512, 512, [], \"f259\", \"M510.9005,145.27027,442.604,432.09391A103.99507,103.99507,0,0,1,341.43745,512H214.074a135.96968,135.96968,0,0,1-93.18489-36.95291L12.59072,373.12723a39.992,39.992,0,0,1,54.8122-58.24988l60.59342,57.02528v0a283.24849,283.24849,0,0,0-11.6703-80.46734L73.63726,147.36011a40.00575,40.00575,0,1,1,76.71833-22.7187l37.15458,125.39477a8.33113,8.33113,0,0,0,16.05656-4.4414L153.26183,49.95406A39.99638,39.99638,0,1,1,230.73015,30.0166l56.09491,218.15825a10.42047,10.42047,0,0,0,20.30018-.501L344.80766,63.96966a40.052,40.052,0,0,1,51.30245-30.0893c19.86073,6.2998,30.86262,27.67378,26.67564,48.08487l-33.83869,164.966a7.55172,7.55172,0,0,0,14.74406,3.2666l29.3973-123.45874a39.99414,39.99414,0,1,1,77.81208,18.53121Z\"]\n};\nvar faHands = {\n prefix: 'fas',\n iconName: 'hands',\n icon: [640, 512, [], \"f4c2\", \"M204.8 230.4c-10.6-14.1-30.7-17-44.8-6.4-14.1 10.6-17 30.7-6.4 44.8l38.1 50.8c4.8 6.4 4.1 15.3-1.5 20.9l-12.8 12.8c-6.7 6.7-17.6 6.2-23.6-1.1L64 244.4V96c0-17.7-14.3-32-32-32S0 78.3 0 96v218.4c0 10.9 3.7 21.5 10.5 30l104.1 134.3c5 6.5 8.4 13.9 10.4 21.7 1.8 6.9 8.1 11.6 15.3 11.6H272c8.8 0 16-7.2 16-16V384c0-27.7-9-54.6-25.6-76.8l-57.6-76.8zM608 64c-17.7 0-32 14.3-32 32v148.4l-89.8 107.8c-6 7.2-17 7.7-23.6 1.1l-12.8-12.8c-5.6-5.6-6.3-14.5-1.5-20.9l38.1-50.8c10.6-14.1 7.7-34.2-6.4-44.8-14.1-10.6-34.2-7.7-44.8 6.4l-57.6 76.8C361 329.4 352 356.3 352 384v112c0 8.8 7.2 16 16 16h131.7c7.1 0 13.5-4.7 15.3-11.6 2-7.8 5.4-15.2 10.4-21.7l104.1-134.3c6.8-8.5 10.5-19.1 10.5-30V96c0-17.7-14.3-32-32-32z\"]\n};\nvar faHandsHelping = {\n prefix: 'fas',\n iconName: 'hands-helping',\n icon: [640, 512, [], \"f4c4\", \"M488 192H336v56c0 39.7-32.3 72-72 72s-72-32.3-72-72V126.4l-64.9 39C107.8 176.9 96 197.8 96 220.2v47.3l-80 46.2C.7 322.5-4.6 342.1 4.3 357.4l80 138.6c8.8 15.3 28.4 20.5 43.7 11.7L231.4 448H368c35.3 0 64-28.7 64-64h16c17.7 0 32-14.3 32-32v-64h8c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zm147.7-37.4L555.7 16C546.9.7 527.3-4.5 512 4.3L408.6 64H306.4c-12 0-23.7 3.4-33.9 9.7L239 94.6c-9.4 5.8-15 16.1-15 27.1V248c0 22.1 17.9 40 40 40s40-17.9 40-40v-88h184c30.9 0 56 25.1 56 56v28.5l80-46.2c15.3-8.9 20.5-28.4 11.7-43.7z\"]\n};\nvar faHandsWash = {\n prefix: 'fas',\n iconName: 'hands-wash',\n icon: [576, 512, [], \"e05e\", \"M496,224a48,48,0,1,0-48-48A48,48,0,0,0,496,224ZM311.47,178.45A56.77,56.77,0,0,1,328,176a56,56,0,0,1,19,3.49l15.35-48.61A24,24,0,0,0,342,99.74c-11.53-1.35-22.21,6.44-25.71,17.51l-20.9,66.17ZM93.65,386.33c.8-.19,1.54-.54,2.35-.71V359.93a156,156,0,0,1,107.06-148l73.7-22.76L310.92,81.05a24,24,0,0,0-20.33-31.11c-11.53-1.34-22.22,6.45-25.72,17.52L231.42,173.88a8,8,0,0,1-15.26-4.83L259.53,31.26A24,24,0,0,0,239.2.15C227.67-1.19,217,6.6,213.49,17.66L165.56,169.37a8,8,0,1,1-15.26-4.82l38.56-122a24,24,0,0,0-20.33-31.11C157,10,146.32,17.83,142.82,28.9l-60,189.85L80.76,168.7A24,24,0,0,0,56.9,144.55c-13.23-.05-24.72,10.54-24.9,23.86V281.14A123.69,123.69,0,0,0,93.65,386.33ZM519.1,336H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,279.84,498.71,272,487.1,272H288l47.09-17.06a24,24,0,0,0-14.18-45.88L213.19,242.31A123.88,123.88,0,0,0,128,360v25.65a79.78,79.78,0,0,1,58,108.63A118.9,118.9,0,0,0,248,512H456a24,24,0,0,0,23.54-28.76C477.35,471.84,466.71,464,455.1,464H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,407.84,498.71,400,487.1,400H360a8,8,0,0,1,0-16H520a24,24,0,0,0,23.54-28.76C541.35,343.84,530.71,336,519.1,336ZM416,64a32,32,0,1,0-32-32A32,32,0,0,0,416,64ZM112,416a48,48,0,1,0,48,48A48,48,0,0,0,112,416Z\"]\n};\nvar faHandshake = {\n prefix: 'fas',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M434.7 64h-85.9c-8 0-15.7 3-21.6 8.4l-98.3 90c-.1.1-.2.3-.3.4-16.6 15.6-16.3 40.5-2.1 56 12.7 13.9 39.4 17.6 56.1 2.7.1-.1.3-.1.4-.2l79.9-73.2c6.5-5.9 16.7-5.5 22.6 1 6 6.5 5.5 16.6-1 22.6l-26.1 23.9L504 313.8c2.9 2.4 5.5 5 7.9 7.7V128l-54.6-54.6c-5.9-6-14.1-9.4-22.6-9.4zM544 128.2v223.9c0 17.7 14.3 32 32 32h64V128.2h-96zm48 223.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM0 384h64c17.7 0 32-14.3 32-32V128.2H0V384zm48-63.9c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16c0-8.9 7.2-16 16-16zm435.9 18.6L334.6 217.5l-30 27.5c-29.7 27.1-75.2 24.5-101.7-4.4-26.9-29.4-24.8-74.9 4.4-101.7L289.1 64h-83.8c-8.5 0-16.6 3.4-22.6 9.4L128 128v223.9h18.3l90.5 81.9c27.4 22.3 67.7 18.1 90-9.3l.2-.2 17.9 15.5c15.9 13 39.4 10.5 52.3-5.4l31.4-38.6 5.4 4.4c13.7 11.1 33.9 9.1 45-4.7l9.5-11.7c11.2-13.8 9.1-33.9-4.6-45.1z\"]\n};\nvar faHandshakeAltSlash = {\n prefix: 'fas',\n iconName: 'handshake-alt-slash',\n icon: [640, 512, [], \"e05f\", \"M358.59,195.6,504.2,313.8a63.4,63.4,0,0,1,22.21,37.91H624a16.05,16.05,0,0,0,16-16V143.91A16,16,0,0,0,624,128H512L457.41,73.41A32,32,0,0,0,434.8,64H348.91a32,32,0,0,0-21.61,8.41l-88.12,80.68-25.69-19.85L289.09,64H205.3a32,32,0,0,0-22.6,9.41l-20.34,20.3L45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.54,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45L303.4,202.72l32.69-29.92,27-24.7a16,16,0,0,1,21.61,23.61ZM16,128A16.05,16.05,0,0,0,0,144V335.91a16,16,0,0,0,16,16H146.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L23.56,128Z\"]\n};\nvar faHandshakeSlash = {\n prefix: 'fas',\n iconName: 'handshake-slash',\n icon: [640, 512, [], \"e060\", \"M0,128.21V384H64a32,32,0,0,0,32-32V184L23.83,128.21ZM48,320.1a16,16,0,1,1-16,16A16,16,0,0,1,48,320.1Zm80,31.81h18.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L128,208.72Zm416-223.7V352.1a32,32,0,0,0,32,32h64V128.21ZM592,352.1a16,16,0,1,1,16-16A16,16,0,0,1,592,352.1ZM303.33,202.67l59.58-54.57a16,16,0,0,1,21.59,23.61L358.41,195.6,504,313.8a73.08,73.08,0,0,1,7.91,7.7V128L457.3,73.41A31.76,31.76,0,0,0,434.7,64H348.8a31.93,31.93,0,0,0-21.6,8.41l-88.07,80.64-25.64-19.81L289.09,64H205.3a32,32,0,0,0-22.6,9.41L162.36,93.72,45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.65-25.27a16,16,0,0,0-2.82-22.45Z\"]\n};\nvar faHanukiah = {\n prefix: 'fas',\n iconName: 'hanukiah',\n icon: [640, 512, [], \"f6e6\", \"M232 160c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm-64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm224 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm88 8c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v120h32V168zm-440-8c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm520 0h-32c-8.84 0-16 7.16-16 16v112c0 17.67-14.33 32-32 32H352V128c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v192H96c-17.67 0-32-14.33-32-32V176c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v112c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V176c0-8.84-7.16-16-16-16zm-16-32c13.25 0 24-11.94 24-26.67S608 48 608 48s-24 38.61-24 53.33S594.75 128 608 128zm-576 0c13.25 0 24-11.94 24-26.67S32 48 32 48 8 86.61 8 101.33 18.75 128 32 128zm288-48c13.25 0 24-11.94 24-26.67S320 0 320 0s-24 38.61-24 53.33S306.75 80 320 80zm-208 48c13.25 0 24-11.94 24-26.67S112 48 112 48s-24 38.61-24 53.33S98.75 128 112 128zm64 0c13.25 0 24-11.94 24-26.67S176 48 176 48s-24 38.61-24 53.33S162.75 128 176 128zm64 0c13.25 0 24-11.94 24-26.67S240 48 240 48s-24 38.61-24 53.33S226.75 128 240 128zm160 0c13.25 0 24-11.94 24-26.67S400 48 400 48s-24 38.61-24 53.33S386.75 128 400 128zm64 0c13.25 0 24-11.94 24-26.67S464 48 464 48s-24 38.61-24 53.33S450.75 128 464 128zm64 0c13.25 0 24-11.94 24-26.67S528 48 528 48s-24 38.61-24 53.33S514.75 128 528 128z\"]\n};\nvar faHardHat = {\n prefix: 'fas',\n iconName: 'hard-hat',\n icon: [512, 512, [], \"f807\", \"M480 288c0-80.25-49.28-148.92-119.19-177.62L320 192V80a16 16 0 0 0-16-16h-96a16 16 0 0 0-16 16v112l-40.81-81.62C81.28 139.08 32 207.75 32 288v64h448zm16 96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faHashtag = {\n prefix: 'fas',\n iconName: 'hashtag',\n icon: [448, 512, [], \"f292\", \"M440.667 182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123 38.754 371.468 32 363.997 32h-40.632a12 12 0 0 0-11.813 9.891L296.175 128H197.54l14.623-81.891C213.477 38.754 207.822 32 200.35 32h-40.632a12 12 0 0 0-11.813 9.891L132.528 128H53.432a12 12 0 0 0-11.813 9.891l-7.143 40C33.163 185.246 38.818 192 46.289 192h74.81L98.242 320H19.146a12 12 0 0 0-11.813 9.891l-7.143 40C-1.123 377.246 4.532 384 12.003 384h74.81L72.19 465.891C70.877 473.246 76.532 480 84.003 480h40.632a12 12 0 0 0 11.813-9.891L151.826 384h98.634l-14.623 81.891C234.523 473.246 240.178 480 247.65 480h40.632a12 12 0 0 0 11.813-9.891L315.472 384h79.096a12 12 0 0 0 11.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12 12 0 0 0 11.813-9.891zM261.889 320h-98.634l22.857-128h98.634l-22.857 128z\"]\n};\nvar faHatCowboy = {\n prefix: 'fas',\n iconName: 'hat-cowboy',\n icon: [640, 512, [], \"f8c0\", \"M490 296.9C480.51 239.51 450.51 64 392.3 64c-14 0-26.49 5.93-37 14a58.21 58.21 0 0 1-70.58 0c-10.51-8-23-14-37-14-58.2 0-88.2 175.47-97.71 232.88C188.81 309.47 243.73 320 320 320s131.23-10.51 170-23.1zm142.9-37.18a16 16 0 0 0-19.75 1.5c-1 .9-101.27 90.78-293.16 90.78-190.82 0-292.22-89.94-293.24-90.84A16 16 0 0 0 1 278.53C1.73 280.55 78.32 480 320 480s318.27-199.45 319-201.47a16 16 0 0 0-6.09-18.81z\"]\n};\nvar faHatCowboySide = {\n prefix: 'fas',\n iconName: 'hat-cowboy-side',\n icon: [640, 512, [], \"f8c1\", \"M260.8 291.06c-28.63-22.94-62-35.06-96.4-35.06C87 256 21.47 318.72 1.43 412.06c-3.55 16.6-.43 33.83 8.57 47.3C18.75 472.47 31.83 480 45.88 480H592c-103.21 0-155-37.07-233.19-104.46zm234.65-18.29L468.4 116.2A64 64 0 0 0 392 64.41L200.85 105a64 64 0 0 0-50.35 55.79L143.61 226c6.9-.83 13.7-2 20.79-2 41.79 0 82 14.55 117.29 42.82l98 84.48C450.76 412.54 494.9 448 592 448a48 48 0 0 0 48-48c0-25.39-29.6-119.33-144.55-127.23z\"]\n};\nvar faHatWizard = {\n prefix: 'fas',\n iconName: 'hat-wizard',\n icon: [512, 512, [], \"f6e8\", \"M496 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-304-64l-64-32 64-32 32-64 32 64 64 32-64 32-16 32h208l-86.41-201.63a63.955 63.955 0 0 1-1.89-45.45L416 0 228.42 107.19a127.989 127.989 0 0 0-53.46 59.15L64 416h144l-16-32zm64-224l16-32 16 32 32 16-32 16-16 32-16-32-32-16 32-16z\"]\n};\nvar faHdd = {\n prefix: 'fas',\n iconName: 'hdd',\n icon: [576, 512, [], \"f0a0\", \"M576 304v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48zm-48-80a79.557 79.557 0 0 1 30.777 6.165L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L17.223 230.165A79.557 79.557 0 0 1 48 224h480zm-48 96c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm-96 0c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"]\n};\nvar faHeadSideCough = {\n prefix: 'fas',\n iconName: 'head-side-cough',\n icon: [640, 512, [], \"e061\", \"M616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304ZM552,416a24,24,0,1,0,24,24A24,24,0,0,0,552,416Zm-64-56a24,24,0,1,0,24,24A24,24,0,0,0,488,360ZM616,464a24,24,0,1,0,24,24A24,24,0,0,0,616,464Zm0-104a24,24,0,1,0,24,24A24,24,0,0,0,616,360Zm-64-40a24,24,0,1,0,24,24A24,24,0,0,0,552,320Zm-74.78-45c-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192C86,0,0,86,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320a32,32,0,0,1,0-64h96V320h32A32,32,0,0,0,477.22,275ZM288,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,288,224Z\"]\n};\nvar faHeadSideCoughSlash = {\n prefix: 'fas',\n iconName: 'head-side-cough-slash',\n icon: [640, 512, [], \"e062\", \"M454.11,319.21c19.56-3.81,31.62-25,23.11-44.21-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192A190.64,190.64,0,0,0,84.18,33.3L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM313.39,210.45,263.61,172c5.88-7.14,14.43-12,24.36-12a32.06,32.06,0,0,1,32,32C320,199,317.24,205.17,313.39,210.45ZM616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304Zm-64,64a24,24,0,1,0-24-24A24,24,0,0,0,552,368ZM288,384a32,32,0,0,1,32-32h19.54L20.73,105.59A190.86,190.86,0,0,0,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320A32,32,0,0,1,288,384Zm328-24a24,24,0,1,0,24,24A24,24,0,0,0,616,360Z\"]\n};\nvar faHeadSideMask = {\n prefix: 'fas',\n iconName: 'head-side-mask',\n icon: [512, 512, [], \"e063\", \"M.15,184.42C-2.17,244.21,23,298.06,64,334.88V512H224V316.51L3.67,156.25A182.28,182.28,0,0,0,.15,184.42ZM509.22,275c-21-47.12-48.5-151.75-73.12-186.75A208.11,208.11,0,0,0,266.11,0H200C117,0,42.48,50.57,13.25,123.65L239.21,288H511.76A31.35,31.35,0,0,0,509.22,275ZM320,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,320,224Zm16,144H496l16-48H256V512H401.88a64,64,0,0,0,60.71-43.76L464,464H336a16,16,0,0,1,0-32H474.67l10.67-32H336a16,16,0,0,1,0-32Z\"]\n};\nvar faHeadSideVirus = {\n prefix: 'fas',\n iconName: 'head-side-virus',\n icon: [512, 512, [], \"e064\", \"M272,240a16,16,0,1,0,16,16A16,16,0,0,0,272,240Zm-64-64a16,16,0,1,0,16,16A16,16,0,0,0,208,176Zm301.2,99c-20.93-47.12-48.43-151.73-73.07-186.75A207.9,207.9,0,0,0,266.09,0H192C86,0,0,86,0,192A191.23,191.23,0,0,0,64,334.81V512H320V448h64a64,64,0,0,0,64-64V320H480A32,32,0,0,0,509.2,275ZM368,240H355.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C290.47,297.09,256,311.37,256,339.88V352a16,16,0,0,1-32,0V339.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H112a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V96a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C313.09,173.53,327.37,208,355.88,208H368a16,16,0,0,1,0,32Z\"]\n};\nvar faHeading = {\n prefix: 'fas',\n iconName: 'heading',\n icon: [512, 512, [], \"f1dc\", \"M448 96v320h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H320a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V288H160v128h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V96H32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16h-32v128h192V96h-32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16z\"]\n};\nvar faHeadphones = {\n prefix: 'fas',\n iconName: 'headphones',\n icon: [512, 512, [], \"f025\", \"M256 32C114.52 32 0 146.496 0 288v48a32 32 0 0 0 17.689 28.622l14.383 7.191C34.083 431.903 83.421 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-31.342 0-59.671 12.879-80 33.627V288c0-105.869 86.131-192 192-192s192 86.131 192 192v1.627C427.671 268.879 399.342 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c60.579 0 109.917-48.098 111.928-108.187l14.382-7.191A32 32 0 0 0 512 336v-48c0-141.479-114.496-256-256-256z\"]\n};\nvar faHeadphonesAlt = {\n prefix: 'fas',\n iconName: 'headphones-alt',\n icon: [512, 512, [], \"f58f\", \"M160 288h-16c-35.35 0-64 28.7-64 64.12v63.76c0 35.41 28.65 64.12 64 64.12h16c17.67 0 32-14.36 32-32.06V320.06c0-17.71-14.33-32.06-32-32.06zm208 0h-16c-17.67 0-32 14.35-32 32.06v127.88c0 17.7 14.33 32.06 32 32.06h16c35.35 0 64-28.71 64-64.12v-63.76c0-35.41-28.65-64.12-64-64.12zM256 32C112.91 32 4.57 151.13 0 288v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288c0-114.67 93.33-207.8 208-207.82 114.67.02 208 93.15 208 207.82v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288C507.43 151.13 399.09 32 256 32z\"]\n};\nvar faHeadset = {\n prefix: 'fas',\n iconName: 'headset',\n icon: [512, 512, [], \"f590\", \"M192 208c0-17.67-14.33-32-32-32h-16c-35.35 0-64 28.65-64 64v48c0 35.35 28.65 64 64 64h16c17.67 0 32-14.33 32-32V208zm176 144c35.35 0 64-28.65 64-64v-48c0-35.35-28.65-64-64-64h-16c-17.67 0-32 14.33-32 32v112c0 17.67 14.33 32 32 32h16zM256 0C113.18 0 4.58 118.83 0 256v16c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-16c0-114.69 93.31-208 208-208s208 93.31 208 208h-.12c.08 2.43.12 165.72.12 165.72 0 23.35-18.93 42.28-42.28 42.28H320c0-26.51-21.49-48-48-48h-32c-26.51 0-48 21.49-48 48s21.49 48 48 48h181.72c49.86 0 90.28-40.42 90.28-90.28V256C507.42 118.83 398.82 0 256 0z\"]\n};\nvar faHeart = {\n prefix: 'fas',\n iconName: 'heart',\n icon: [512, 512, [], \"f004\", \"M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z\"]\n};\nvar faHeartBroken = {\n prefix: 'fas',\n iconName: 'heart-broken',\n icon: [512, 512, [], \"f7a9\", \"M473.7 73.8l-2.4-2.5c-46-47-118-51.7-169.6-14.8L336 159.9l-96 64 48 128-144-144 96-64-28.6-86.5C159.7 19.6 87 24 40.7 71.4l-2.4 2.4C-10.4 123.6-12.5 202.9 31 256l212.1 218.6c7.1 7.3 18.6 7.3 25.7 0L481 255.9c43.5-53 41.4-132.3-7.3-182.1z\"]\n};\nvar faHeartbeat = {\n prefix: 'fas',\n iconName: 'heartbeat',\n icon: [512, 512, [], \"f21e\", \"M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z\"]\n};\nvar faHelicopter = {\n prefix: 'fas',\n iconName: 'helicopter',\n icon: [640, 512, [], \"f533\", \"M304 384h272c17.67 0 32-14.33 32-32 0-123.71-100.29-224-224-224V64h176c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H144c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h176v64H112L68.8 70.4C65.78 66.37 61.03 64 56 64H16.01C5.6 64-2.04 73.78.49 83.88L32 192l160 64 86.4 115.2A31.992 31.992 0 0 0 304 384zm112-188.49C478.55 208.3 528.03 257.44 540.79 320H416V195.51zm219.37 263.3l-22.15-22.2c-6.25-6.26-16.24-6.1-22.64.01-7.09 6.77-13.84 11.25-24.64 11.25H240c-8.84 0-16 7.18-16 16.03v32.06c0 8.85 7.16 16.03 16 16.03h325.94c14.88 0 35.3-.47 68.45-29.52 7.02-6.14 7.57-17.05.98-23.66z\"]\n};\nvar faHighlighter = {\n prefix: 'fas',\n iconName: 'highlighter',\n icon: [544, 512, [], \"f591\", \"M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z\"]\n};\nvar faHiking = {\n prefix: 'fas',\n iconName: 'hiking',\n icon: [384, 512, [], \"f6ec\", \"M80.95 472.23c-4.28 17.16 6.14 34.53 23.28 38.81 2.61.66 5.22.95 7.8.95 14.33 0 27.37-9.7 31.02-24.23l25.24-100.97-52.78-52.78-34.56 138.22zm14.89-196.12L137 117c2.19-8.42-3.14-16.95-11.92-19.06-43.88-10.52-88.35 15.07-99.32 57.17L.49 253.24c-2.19 8.42 3.14 16.95 11.92 19.06l63.56 15.25c8.79 2.1 17.68-3.02 19.87-11.44zM368 160h-16c-8.84 0-16 7.16-16 16v16h-34.75l-46.78-46.78C243.38 134.11 228.61 128 212.91 128c-27.02 0-50.47 18.3-57.03 44.52l-26.92 107.72a32.012 32.012 0 0 0 8.42 30.39L224 397.25V480c0 17.67 14.33 32 32 32s32-14.33 32-32v-82.75c0-17.09-6.66-33.16-18.75-45.25l-46.82-46.82c.15-.5.49-.89.62-1.41l19.89-79.57 22.43 22.43c6 6 14.14 9.38 22.62 9.38h48v240c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V176c.01-8.84-7.15-16-15.99-16zM240 96c26.51 0 48-21.49 48-48S266.51 0 240 0s-48 21.49-48 48 21.49 48 48 48z\"]\n};\nvar faHippo = {\n prefix: 'fas',\n iconName: 'hippo',\n icon: [640, 512, [], \"f6ed\", \"M581.12 96.2c-27.67-.15-52.5 17.58-76.6 26.62C489.98 88.27 455.83 64 416 64c-11.28 0-21.95 2.3-32 5.88V56c0-13.26-10.75-24-24-24h-16c-13.25 0-24 10.74-24 24v48.98C286.01 79.58 241.24 64 192 64 85.96 64 0 135.64 0 224v240c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16v-70.79C128.35 407.57 166.72 416 208 416s79.65-8.43 112-22.79V464c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V288h128v32c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-32c17.67 0 32-14.33 32-32v-92.02c0-34.09-24.79-67.59-58.88-67.78zM448 176c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faHistory = {\n prefix: 'fas',\n iconName: 'history',\n icon: [512, 512, [], \"f1da\", \"M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z\"]\n};\nvar faHockeyPuck = {\n prefix: 'fas',\n iconName: 'hockey-puck',\n icon: [512, 512, [], \"f453\", \"M0 160c0-53 114.6-96 256-96s256 43 256 96-114.6 96-256 96S0 213 0 160zm0 82.2V352c0 53 114.6 96 256 96s256-43 256-96V242.2c-113.4 82.3-398.5 82.4-512 0z\"]\n};\nvar faHollyBerry = {\n prefix: 'fas',\n iconName: 'holly-berry',\n icon: [448, 512, [], \"f7aa\", \"M144 192c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm112-48c0 26.5 21.5 48 48 48s48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zm-32-48c26.5 0 48-21.5 48-48S250.5 0 224 0s-48 21.5-48 48 21.5 48 48 48zm-16.2 139.1c.1-12.4-13.1-20.1-23.8-13.7-34.3 20.3-71.4 32.7-108.7 36.2-9.7.9-15.6 11.3-11.6 20.2 6.2 13.9 11.1 28.6 14.7 43.8 3.6 15.2-5.3 30.6-20.2 35.1-14.9 4.5-30.1 7.6-45.3 9.1-9.7 1-15.7 11.3-11.7 20.2 15 32.8 22.9 69.5 23 107.7.1 14.4 15.2 23.1 27.6 16 33.2-19 68.9-30.5 104.8-33.9 9.7-.9 15.6-11.3 11.6-20.2-6.2-13.9-11.1-28.6-14.7-43.8-3.6-15.2 5.3-30.6 20.2-35.1 14.9-4.5 30.1-7.6 45.3-9.1 9.7-1 15.7-11.3 11.7-20.2-15.5-34.2-23.3-72.5-22.9-112.3zM435 365.6c-15.2-1.6-30.3-4.7-45.3-9.1-14.9-4.5-23.8-19.9-20.2-35.1 3.6-15.2 8.5-29.8 14.7-43.8 4-8.9-1.9-19.3-11.6-20.2-37.3-3.5-74.4-15.9-108.7-36.2-10.7-6.3-23.9 1.4-23.8 13.7 0 1.6-.2 3.2-.2 4.9.2 33.3 7 65.7 19.9 94 5.7 12.4 5.2 26.6-.6 38.9 4.9 1.2 9.9 2.2 14.8 3.7 14.9 4.5 23.8 19.9 20.2 35.1-3.6 15.2-8.5 29.8-14.7 43.8-4 8.9 1.9 19.3 11.6 20.2 35.9 3.4 71.6 14.9 104.8 33.9 12.5 7.1 27.6-1.6 27.6-16 .2-38.2 8-75 23-107.7 4.3-8.7-1.8-19.1-11.5-20.1z\"]\n};\nvar faHome = {\n prefix: 'fas',\n iconName: 'home',\n icon: [576, 512, [], \"f015\", \"M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z\"]\n};\nvar faHorse = {\n prefix: 'fas',\n iconName: 'horse',\n icon: [576, 512, [], \"f6f0\", \"M575.92 76.6c-.01-8.13-3.02-15.87-8.58-21.8-3.78-4.03-8.58-9.12-13.69-14.5 11.06-6.84 19.5-17.49 22.18-30.66C576.85 4.68 572.96 0 567.9 0H447.92c-70.69 0-128 57.31-128 128H160c-28.84 0-54.4 12.98-72 33.11V160c-48.53 0-88 39.47-88 88v56c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-56c0-13.22 6.87-24.39 16.78-31.68-.21 2.58-.78 5.05-.78 7.68 0 27.64 11.84 52.36 30.54 69.88l-25.72 68.6a63.945 63.945 0 0 0-2.16 37.99l24.85 99.41A15.982 15.982 0 0 0 107.02 512h65.96c10.41 0 18.05-9.78 15.52-19.88l-26.31-105.26 23.84-63.59L320 345.6V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V318.22c19.74-20.19 32-47.75 32-78.22 0-.22-.07-.42-.08-.64V136.89l16 7.11 18.9 37.7c7.45 14.87 25.05 21.55 40.49 15.37l32.55-13.02a31.997 31.997 0 0 0 20.12-29.74l-.06-77.71zm-64 19.4c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"]\n};\nvar faHorseHead = {\n prefix: 'fas',\n iconName: 'horse-head',\n icon: [512, 512, [], \"f7ab\", \"M509.8 332.5l-69.9-164.3c-14.9-41.2-50.4-71-93-79.2 18-10.6 46.3-35.9 34.2-82.3-1.3-5-7.1-7.9-12-6.1L166.9 76.3C35.9 123.4 0 238.9 0 398.8V480c0 17.7 14.3 32 32 32h236.2c23.8 0 39.3-25 28.6-46.3L256 384v-.7c-45.6-3.5-84.6-30.7-104.3-69.6-1.6-3.1-.9-6.9 1.6-9.3l12.1-12.1c3.9-3.9 10.6-2.7 12.9 2.4 14.8 33.7 48.2 57.4 87.4 57.4 17.2 0 33-5.1 46.8-13.2l46 63.9c6 8.4 15.7 13.3 26 13.3h50.3c8.5 0 16.6-3.4 22.6-9.4l45.3-39.8c8.9-9.1 11.7-22.6 7.1-34.4zM328 224c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z\"]\n};\nvar faHospital = {\n prefix: 'fas',\n iconName: 'hospital',\n icon: [448, 512, [], \"f0f8\", \"M448 492v20H0v-20c0-6.627 5.373-12 12-12h20V120c0-13.255 10.745-24 24-24h88V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v72h88c13.255 0 24 10.745 24 24v360h20c6.627 0 12 5.373 12 12zM308 192h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-168 64h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm104 128h-40c-6.627 0-12 5.373-12 12v84h64v-84c0-6.627-5.373-12-12-12zm64-96h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-116 12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zM182 96h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6z\"]\n};\nvar faHospitalAlt = {\n prefix: 'fas',\n iconName: 'hospital-alt',\n icon: [576, 512, [], \"f47d\", \"M544 96H416V32c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32v368c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16V128c0-17.7-14.3-32-32-32zM160 436c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm160 128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm16-170c0 3.3-2.7 6-6 6h-26v26c0 3.3-2.7 6-6 6h-20c-3.3 0-6-2.7-6-6v-26h-26c-3.3 0-6-2.7-6-6v-20c0-3.3 2.7-6 6-6h26V86c0-3.3 2.7-6 6-6h20c3.3 0 6 2.7 6 6v26h26c3.3 0 6 2.7 6 6v20zm144 298c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"]\n};\nvar faHospitalSymbol = {\n prefix: 'fas',\n iconName: 'hospital-symbol',\n icon: [512, 512, [], \"f47e\", \"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm112 376c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88h-96v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v88h96v-88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v240z\"]\n};\nvar faHospitalUser = {\n prefix: 'fas',\n iconName: 'hospital-user',\n icon: [640, 512, [], \"f80d\", \"M480 320a96 96 0 1 0-96-96 96 96 0 0 0 96 96zm48 32a22.88 22.88 0 0 0-7.06 1.09 124.76 124.76 0 0 1-81.89 0A22.82 22.82 0 0 0 432 352a112 112 0 0 0-112 112.62c.14 26.26 21.73 47.38 48 47.38h224c26.27 0 47.86-21.12 48-47.38A112 112 0 0 0 528 352zm-198.09 10.45A145.19 145.19 0 0 1 352 344.62V128a32 32 0 0 0-32-32h-32V32a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v64H32a32 32 0 0 0-32 32v368a16 16 0 0 0 16 16h288.31A78.62 78.62 0 0 1 288 464.79a143.06 143.06 0 0 1 41.91-102.34zM144 404a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm48-122a6 6 0 0 1-6 6h-20a6 6 0 0 1-6-6v-26h-26a6 6 0 0 1-6-6v-20a6 6 0 0 1 6-6h26V70a6 6 0 0 1 6-6h20a6 6 0 0 1 6 6v26h26a6 6 0 0 1 6 6v20a6 6 0 0 1-6 6h-26zm80 250a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12z\"]\n};\nvar faHotTub = {\n prefix: 'fas',\n iconName: 'hot-tub',\n icon: [512, 512, [], \"f593\", \"M414.21 177.65c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C378.96 6.14 372.22 0 364.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zm-108 0c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C270.96 6.14 264.22 0 256.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zM480 256H256l-110.93-83.2a63.99 63.99 0 0 0-38.4-12.8H64c-35.35 0-64 28.65-64 64v224c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V288c0-17.67-14.33-32-32-32zM128 440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zM64 128c35.35 0 64-28.65 64-64S99.35 0 64 0 0 28.65 0 64s28.65 64 64 64z\"]\n};\nvar faHotdog = {\n prefix: 'fas',\n iconName: 'hotdog',\n icon: [512, 512, [], \"f80f\", \"M488.56 23.44a80 80 0 0 0-113.12 0l-352 352a80 80 0 1 0 113.12 113.12l352-352a80 80 0 0 0 0-113.12zm-49.93 95.19c-19.6 19.59-37.52 22.67-51.93 25.14C373.76 146 364.4 147.6 352 160s-14 21.76-16.23 34.71c-2.48 14.4-5.55 32.33-25.15 51.92s-37.52 22.67-51.92 25.15C245.75 274 236.4 275.6 224 288s-14 21.75-16.23 34.7c-2.47 14.4-5.54 32.33-25.14 51.92s-37.53 22.68-51.93 25.15C117.76 402 108.4 403.6 96 416a16 16 0 0 1-22.63-22.63c19.6-19.59 37.52-22.67 51.92-25.14 13-2.22 22.3-3.82 34.71-16.23s14-21.75 16.22-34.7c2.48-14.4 5.55-32.33 25.15-51.92s37.52-22.67 51.92-25.14c13-2.22 22.3-3.83 34.7-16.23s14-21.76 16.24-34.71c2.47-14.4 5.54-32.33 25.14-51.92s37.52-22.68 51.92-25.15C394.24 110 403.59 108.41 416 96a16 16 0 0 1 22.63 22.63zM31.44 322.18L322.18 31.44l-11.54-11.55c-25-25-63.85-26.66-86.79-3.72L16.17 223.85c-22.94 22.94-21.27 61.79 3.72 86.78zm449.12-132.36L189.82 480.56l11.54 11.55c25 25 63.85 26.66 86.79 3.72l207.68-207.68c22.94-22.94 21.27-61.79-3.72-86.79z\"]\n};\nvar faHotel = {\n prefix: 'fas',\n iconName: 'hotel',\n icon: [576, 512, [], \"f594\", \"M560 64c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h15.98v384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h240v-80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v80h240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16V64h16zm-304 44.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm0 96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm-128-96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zM179.2 256h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8zM192 384c0-53.02 42.98-96 96-96s96 42.98 96 96H192zm256-140.8c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-96c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4z\"]\n};\nvar faHourglass = {\n prefix: 'fas',\n iconName: 'hourglass',\n icon: [384, 512, [], \"f254\", \"M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64z\"]\n};\nvar faHourglassEnd = {\n prefix: 'fas',\n iconName: 'hourglass-end',\n icon: [384, 512, [], \"f253\", \"M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64zM192 208c-57.787 0-104-66.518-104-144h208c0 77.945-46.51 144-104 144z\"]\n};\nvar faHourglassHalf = {\n prefix: 'fas',\n iconName: 'hourglass-half',\n icon: [384, 512, [], \"f252\", \"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z\"]\n};\nvar faHourglassStart = {\n prefix: 'fas',\n iconName: 'hourglass-start',\n icon: [384, 512, [], \"f251\", \"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z\"]\n};\nvar faHouseDamage = {\n prefix: 'fas',\n iconName: 'house-damage',\n icon: [576, 512, [], \"f6f1\", \"M288 114.96L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496c0 8.84 7.16 16 16 16h149.23L192 439.19l104.11-64-60.16-119.22L384 392.75l-104.11 64L319.81 512H496c8.84 0 16-7.16 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2L288 114.96zm282.69 121.32L512 184.45V48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v51.69L314.75 10.31C307.12 3.45 297.56.01 288 0s-19.1 3.41-26.7 10.27L5.31 236.28c-6.57 5.91-7.12 16.02-1.21 22.6l21.4 23.82c5.9 6.57 16.02 7.12 22.6 1.21L277.42 81.63c6.05-5.33 15.12-5.33 21.17 0L527.91 283.9c6.57 5.9 16.69 5.36 22.6-1.21l21.4-23.82c5.9-6.57 5.36-16.69-1.22-22.59z\"]\n};\nvar faHouseUser = {\n prefix: 'fas',\n iconName: 'house-user',\n icon: [576, 512, [], \"e065\", \"M570.69,236.27,512,184.44V48a16,16,0,0,0-16-16H432a16,16,0,0,0-16,16V99.67L314.78,10.3C308.5,4.61,296.53,0,288,0s-20.46,4.61-26.74,10.3l-256,226A18.27,18.27,0,0,0,0,248.2a18.64,18.64,0,0,0,4.09,10.71L25.5,282.7a21.14,21.14,0,0,0,12,5.3,21.67,21.67,0,0,0,10.69-4.11l15.9-14V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V269.88l15.91,14A21.94,21.94,0,0,0,538.63,288a20.89,20.89,0,0,0,11.87-5.31l21.41-23.81A21.64,21.64,0,0,0,576,248.19,21,21,0,0,0,570.69,236.27ZM288,176a64,64,0,1,1-64,64A64,64,0,0,1,288,176ZM400,448H176a16,16,0,0,1-16-16,96,96,0,0,1,96-96h64a96,96,0,0,1,96,96A16,16,0,0,1,400,448Z\"]\n};\nvar faHryvnia = {\n prefix: 'fas',\n iconName: 'hryvnia',\n icon: [384, 512, [], \"f6f2\", \"M368 240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-41.86c13.41-28.63 13.74-63.33-4.13-94.05C303.34 49.84 267.1 32 229.96 32h-78.82c-24.32 0-47.86 8.53-66.54 24.09L72.83 65.9c-10.18 8.49-11.56 23.62-3.07 33.8l20.49 24.59c8.49 10.19 23.62 11.56 33.81 3.07l11.73-9.78c4.32-3.6 9.77-5.57 15.39-5.57h83.62c11.69 0 21.2 9.52 21.2 21.2 0 5.91-2.48 11.58-6.81 15.58L219.7 176H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h134.37l-34.67 32H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h41.86c-13.41 28.63-13.74 63.33 4.13 94.05C80.66 462.15 116.9 480 154.04 480h78.82c24.32 0 47.86-8.53 66.54-24.09l11.77-9.81c10.18-8.49 11.56-23.62 3.07-33.8l-20.49-24.59c-8.49-10.19-23.62-11.56-33.81-3.07l-11.75 9.8a23.992 23.992 0 0 1-15.36 5.56H149.2c-11.69 0-21.2-9.52-21.2-21.2 0-5.91 2.48-11.58 6.81-15.58L164.3 336H368c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H233.63l34.67-32H368z\"]\n};\nvar faICursor = {\n prefix: 'fas',\n iconName: 'i-cursor',\n icon: [256, 512, [], \"f246\", \"M256 52.048V12.065C256 5.496 250.726.148 244.158.066 211.621-.344 166.469.011 128 37.959 90.266.736 46.979-.114 11.913.114 5.318.157 0 5.519 0 12.114v39.645c0 6.687 5.458 12.078 12.145 11.998C38.111 63.447 96 67.243 96 112.182V224H60c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h36v112c0 44.932-56.075 48.031-83.95 47.959C5.404 447.942 0 453.306 0 459.952v39.983c0 6.569 5.274 11.917 11.842 11.999 32.537.409 77.689.054 116.158-37.894 37.734 37.223 81.021 38.073 116.087 37.845 6.595-.043 11.913-5.405 11.913-12V460.24c0-6.687-5.458-12.078-12.145-11.998C217.889 448.553 160 444.939 160 400V288h36c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-36V112.182c0-44.932 56.075-48.213 83.95-48.142 6.646.018 12.05-5.346 12.05-11.992z\"]\n};\nvar faIceCream = {\n prefix: 'fas',\n iconName: 'ice-cream',\n icon: [448, 512, [], \"f810\", \"M368 160h-.94a144 144 0 1 0-286.12 0H80a48 48 0 0 0 0 96h288a48 48 0 0 0 0-96zM195.38 493.69a31.52 31.52 0 0 0 57.24 0L352 288H96z\"]\n};\nvar faIcicles = {\n prefix: 'fas',\n iconName: 'icicles',\n icon: [512, 512, [], \"f7ad\", \"M511.4 37.9C515.1 18.2 500 0 480 0H32C10.6 0-4.8 20.7 1.4 41.2l87.1 273.4c2.5 7.2 12.7 7.2 15.1 0L140 190.5l44.2 187.3c1.9 8.3 13.7 8.3 15.6 0l46.5-196.9 34.1 133.4c2.3 7.6 13 7.6 15.3 0l45.8-172.5 66.7 363.8c1.7 8.6 14 8.6 15.7 0l87.5-467.7z\"]\n};\nvar faIcons = {\n prefix: 'fas',\n iconName: 'icons',\n icon: [512, 512, [], \"f86d\", \"M116.65 219.35a15.68 15.68 0 0 0 22.65 0l96.75-99.83c28.15-29 26.5-77.1-4.91-103.88C203.75-7.7 163-3.5 137.86 22.44L128 32.58l-9.85-10.14C93.05-3.5 52.25-7.7 24.86 15.64c-31.41 26.78-33 74.85-5 103.88zm143.92 100.49h-48l-7.08-14.24a27.39 27.39 0 0 0-25.66-17.78h-71.71a27.39 27.39 0 0 0-25.66 17.78l-7 14.24h-48A27.45 27.45 0 0 0 0 347.3v137.25A27.44 27.44 0 0 0 27.43 512h233.14A27.45 27.45 0 0 0 288 484.55V347.3a27.45 27.45 0 0 0-27.43-27.46zM144 468a52 52 0 1 1 52-52 52 52 0 0 1-52 52zm355.4-115.9h-60.58l22.36-50.75c2.1-6.65-3.93-13.21-12.18-13.21h-75.59c-6.3 0-11.66 3.9-12.5 9.1l-16.8 106.93c-1 6.3 4.88 11.89 12.5 11.89h62.31l-24.2 83c-1.89 6.65 4.2 12.9 12.23 12.9a13.26 13.26 0 0 0 10.92-5.25l92.4-138.91c4.88-6.91-1.16-15.7-10.87-15.7zM478.08.33L329.51 23.17C314.87 25.42 304 38.92 304 54.83V161.6a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V99.66l112-17.22v47.18a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V32c0-19.48-16-34.42-33.92-31.67z\"]\n};\nvar faIdBadge = {\n prefix: 'fas',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM144 32h96c8.8 0 16 7.2 16 16s-7.2 16-16 16h-96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm48 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 416 80 407.4 80 396.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"]\n};\nvar faIdCard = {\n prefix: 'fas',\n iconName: 'id-card',\n icon: [576, 512, [], \"f2c2\", \"M528 32H48C21.5 32 0 53.5 0 80v16h576V80c0-26.5-21.5-48-48-48zM0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V128H0v304zm352-232c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zM176 192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM67.1 396.2C75.5 370.5 99.6 352 128 352h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.9-5.2 19.8-15.6 19.8H82.7c-10.4 0-18.8-10-15.6-19.8z\"]\n};\nvar faIdCardAlt = {\n prefix: 'fas',\n iconName: 'id-card-alt',\n icon: [576, 512, [], \"f47f\", \"M528 64H384v96H192V64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM288 224c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm93.3 224H194.7c-10.4 0-18.8-10-15.6-19.8 8.3-25.6 32.4-44.2 60.9-44.2h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.8-5.2 19.8-15.6 19.8zM352 32c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v96h128V32z\"]\n};\nvar faIgloo = {\n prefix: 'fas',\n iconName: 'igloo',\n icon: [576, 512, [], \"f7ae\", \"M320 33.9c-10.5-1.2-21.2-1.9-32-1.9-99.8 0-187.8 50.8-239.4 128H320V33.9zM96 192H30.3C11.1 230.6 0 274 0 320h96V192zM352 39.4V160h175.4C487.2 99.9 424.8 55.9 352 39.4zM480 320h96c0-46-11.1-89.4-30.3-128H480v128zm-64 64v96h128c17.7 0 32-14.3 32-32v-96H411.5c2.6 10.3 4.5 20.9 4.5 32zm32-192H128v128h49.8c22.2-38.1 63-64 110.2-64s88 25.9 110.2 64H448V192zM0 448c0 17.7 14.3 32 32 32h128v-96c0-11.1 1.9-21.7 4.5-32H0v96zm288-160c-53 0-96 43-96 96v96h192v-96c0-53-43-96-96-96z\"]\n};\nvar faImage = {\n prefix: 'fas',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z\"]\n};\nvar faImages = {\n prefix: 'fas',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z\"]\n};\nvar faInbox = {\n prefix: 'fas',\n iconName: 'inbox',\n icon: [576, 512, [], \"f01c\", \"M567.938 243.908L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L8.062 243.908A47.994 47.994 0 0 0 0 270.533V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V270.533a47.994 47.994 0 0 0-8.062-26.625zM162.252 128h251.497l85.333 128H376l-32 64H232l-32-64H76.918l85.334-128z\"]\n};\nvar faIndent = {\n prefix: 'fas',\n iconName: 'indent',\n icon: [448, 512, [], \"f03c\", \"M27.31 363.3l96-96a16 16 0 0 0 0-22.62l-96-96C17.27 138.66 0 145.78 0 160v192c0 14.31 17.33 21.3 27.31 11.3zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faIndustry = {\n prefix: 'fas',\n iconName: 'industry',\n icon: [512, 512, [], \"f275\", \"M475.115 163.781L336 252.309v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.309V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V184.029c0-18.917-20.931-30.399-36.885-20.248z\"]\n};\nvar faInfinity = {\n prefix: 'fas',\n iconName: 'infinity',\n icon: [640, 512, [], \"f534\", \"M471.1 96C405 96 353.3 137.3 320 174.6 286.7 137.3 235 96 168.9 96 75.8 96 0 167.8 0 256s75.8 160 168.9 160c66.1 0 117.8-41.3 151.1-78.6 33.3 37.3 85 78.6 151.1 78.6 93.1 0 168.9-71.8 168.9-160S564.2 96 471.1 96zM168.9 320c-40.2 0-72.9-28.7-72.9-64s32.7-64 72.9-64c38.2 0 73.4 36.1 94 64-20.4 27.6-55.9 64-94 64zm302.2 0c-38.2 0-73.4-36.1-94-64 20.4-27.6 55.9-64 94-64 40.2 0 72.9 28.7 72.9 64s-32.7 64-72.9 64z\"]\n};\nvar faInfo = {\n prefix: 'fas',\n iconName: 'info',\n icon: [192, 512, [], \"f129\", \"M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z\"]\n};\nvar faInfoCircle = {\n prefix: 'fas',\n iconName: 'info-circle',\n icon: [512, 512, [], \"f05a\", \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"]\n};\nvar faItalic = {\n prefix: 'fas',\n iconName: 'italic',\n icon: [320, 512, [], \"f033\", \"M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z\"]\n};\nvar faJedi = {\n prefix: 'fas',\n iconName: 'jedi',\n icon: [576, 512, [], \"f669\", \"M535.95308,352c-42.64069,94.17188-137.64086,160-247.9848,160q-6.39844,0-12.84377-.29688C171.15558,506.9375,81.26481,442.23438,40.01474,352H79.93668L21.3272,293.40625a264.82522,264.82522,0,0,1-5.10938-39.42187,273.6653,273.6653,0,0,1,.5-29.98438H63.93665L22.546,182.625A269.79782,269.79782,0,0,1,130.51489,20.54688a16.06393,16.06393,0,0,1,9.28127-3,16.36332,16.36332,0,0,1,13.5,7.25,16.02739,16.02739,0,0,1,1.625,15.09374,138.387,138.387,0,0,0-9.84376,51.26563c0,45.10937,21.04691,86.57813,57.71884,113.73437a16.29989,16.29989,0,0,1,1.20313,25.39063c-26.54692,23.98437-41.17194,56.5-41.17194,91.57813,0,60.03124,42.95319,110.28124,99.89079,121.92187l2.5-65.26563L238.062,397a8.33911,8.33911,0,0,1-10-.75,8.025,8.025,0,0,1-1.39063-9.9375l20.125-33.76562-42.06257-8.73438a7.9898,7.9898,0,0,1,0-15.65625l42.06257-8.71875-20.10941-33.73438a7.99122,7.99122,0,0,1,11.35939-10.71874L268.437,295.64062,279.95265,7.67188a7.97138,7.97138,0,0,1,8-7.67188h.04687a8.02064,8.02064,0,0,1,7.95314,7.70312L307.48394,295.625l30.39068-20.67188a8.08327,8.08327,0,0,1,10,.8125,7.99866,7.99866,0,0,1,1.39062,9.90626L329.12461,319.4375l42.07819,8.73438a7.99373,7.99373,0,0,1,0,15.65624l-42.07819,8.71876,20.1094,33.73437a7.97791,7.97791,0,0,1-1.32812,9.92187A8.25739,8.25739,0,0,1,337.87462,397L310.7027,378.53125l2.5,65.34375c48.48446-9.40625,87.57828-48.15625,97.31267-96.5A123.52652,123.52652,0,0,0,371.9528,230.29688a16.30634,16.30634,0,0,1,1.20313-25.42188c36.65631-27.17188,57.6876-68.60938,57.6876-113.73438a138.01689,138.01689,0,0,0-9.85939-51.3125,15.98132,15.98132,0,0,1,1.60937-15.09374,16.36914,16.36914,0,0,1,13.5-7.23438,16.02453,16.02453,0,0,1,9.25,2.98438A271.26947,271.26947,0,0,1,553.25,182.76562L511.99992,224h46.9532C559.3125,229.76562,560,235.45312,560,241.26562a270.092,270.092,0,0,1-5.125,51.85938L495.98427,352Z\"]\n};\nvar faJoint = {\n prefix: 'fas',\n iconName: 'joint',\n icon: [640, 512, [], \"f595\", \"M444.34 181.1c22.38 15.68 35.66 41.16 35.66 68.59V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-43.24-21.01-83.41-56.34-108.06C463.85 125.02 448 99.34 448 70.31V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v66.4c0 43.69 24.56 81.63 60.34 106.7zM194.97 358.98C126.03 370.07 59.69 394.69 0 432c83.65 52.28 180.3 80 278.94 80h88.57L254.79 380.49c-14.74-17.2-37.45-25.11-59.82-21.51zM553.28 87.09c-5.67-3.8-9.28-9.96-9.28-16.78V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v62.31c0 22.02 10.17 43.41 28.64 55.39C550.79 153.04 576 199.54 576 249.69V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-65.44-32.41-126.19-86.72-162.6zM360.89 352.05c-34.4.06-86.81.15-88.21.17l117.8 137.43A63.987 63.987 0 0 0 439.07 512h88.45L409.57 374.4a63.955 63.955 0 0 0-48.68-22.35zM616 352H432l117.99 137.65A63.987 63.987 0 0 0 598.58 512H616c13.25 0 24-10.75 24-24V376c0-13.26-10.75-24-24-24z\"]\n};\nvar faJournalWhills = {\n prefix: 'fas',\n iconName: 'journal-whills',\n icon: [448, 512, [], \"f66a\", \"M438.40625,377.59375c-3.20313,12.8125-3.20313,57.60937,0,73.60937Q447.9922,460.78907,448,470.40625v16c0,16-12.79688,25.59375-25.59375,25.59375H96c-54.40625,0-96-41.59375-96-96V96C0,41.59375,41.59375,0,96,0H422.40625C438.40625,0,448,9.59375,448,25.59375v332.8125Q448,372.79688,438.40625,377.59375ZM380.79688,384H96c-16,0-32,12.79688-32,32s12.79688,32,32,32H380.79688ZM128.01562,176.01562c0,.51563.14063.98438.14063,1.5l37.10937,32.46876A7.99954,7.99954,0,0,1,160,224h-.01562a9.17678,9.17678,0,0,1-5.25-1.98438L131.14062,201.375C142.6875,250.95312,186.90625,288,240,288s97.3125-37.04688,108.875-86.625l-23.59375,20.64062a8.02516,8.02516,0,0,1-5.26563,1.96876H320a9.14641,9.14641,0,0,1-6.01562-2.71876A9.26508,9.26508,0,0,1,312,216a9.097,9.097,0,0,1,2.73438-6.01562l37.10937-32.46876c.01563-.53124.15625-1,.15625-1.51562,0-11.04688-2.09375-21.51562-5.06251-31.59375l-21.26562,21.25a8.00467,8.00467,0,0,1-11.32812-11.3125l26.42187-26.40625a111.81517,111.81517,0,0,0-46.35937-49.26562,63.02336,63.02336,0,0,1-14.0625,82.64062A55.83846,55.83846,0,0,1,251.625,254.73438l-1.42188-34.28126,12.67188,8.625a3.967,3.967,0,0,0,2.25.6875,3.98059,3.98059,0,0,0,3.43749-6.03124l-8.53124-14.3125,17.90625-3.71876a4.00647,4.00647,0,0,0,0-7.84374l-17.90625-3.71876,8.53124-14.3125a3.98059,3.98059,0,0,0-3.43749-6.03124,4.726,4.726,0,0,0-2.25.67187L248.6875,184.125,244,71.82812a4.00386,4.00386,0,0,0-8,0l-4.625,110.8125-12-8.15624a4.003,4.003,0,0,0-5.68751,5.35937l8.53126,14.3125L204.3125,197.875a3.99686,3.99686,0,0,0,0,7.82812l17.90625,3.73438-8.53126,14.29688a4.72469,4.72469,0,0,0-.56249,2.04687,4.59547,4.59547,0,0,0,1.25,2.90625,4.01059,4.01059,0,0,0,2.75,1.09375,4.09016,4.09016,0,0,0,2.25-.6875l10.35937-7.04687L228.375,254.76562a55.86414,55.86414,0,0,1-28.71875-93.45312,63.01119,63.01119,0,0,1-14.04688-82.65625,111.93158,111.93158,0,0,0-46.375,49.26563l26.42187,26.42187a7.99917,7.99917,0,0,1-11.3125,11.3125l-21.26563-21.26563C130.09375,154.48438,128,164.95312,128.01562,176.01562Z\"]\n};\nvar faKaaba = {\n prefix: 'fas',\n iconName: 'kaaba',\n icon: [576, 512, [], \"f66b\", \"M554.12 83.51L318.36 4.93a95.962 95.962 0 0 0-60.71 0L21.88 83.51A32.006 32.006 0 0 0 0 113.87v49.01l265.02-79.51c15.03-4.5 30.92-4.5 45.98 0l265 79.51v-49.01c0-13.77-8.81-26-21.88-30.36zm-279.9 30.52L0 196.3v228.38c0 15 10.42 27.98 25.06 31.24l242.12 53.8a95.937 95.937 0 0 0 41.65 0l242.12-53.8c14.64-3.25 25.06-16.24 25.06-31.24V196.29l-274.2-82.26c-9.04-2.72-18.59-2.72-27.59 0zM128 230.11c0 3.61-2.41 6.77-5.89 7.72l-80 21.82C37.02 261.03 32 257.2 32 251.93v-16.58c0-3.61 2.41-6.77 5.89-7.72l80-21.82c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm144-39.28c0 3.61-2.41 6.77-5.89 7.72l-96 26.18c-5.09 1.39-10.11-2.44-10.11-7.72v-16.58c0-3.61 2.41-6.77 5.89-7.72l96-26.18c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm176 22.7c0-5.28 5.02-9.11 10.11-7.72l80 21.82c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-80-21.82a7.997 7.997 0 0 1-5.89-7.72v-16.58zm-144-39.27c0-5.28 5.02-9.11 10.11-7.72l96 26.18c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-96-26.18a7.997 7.997 0 0 1-5.89-7.72v-16.58z\"]\n};\nvar faKey = {\n prefix: 'fas',\n iconName: 'key',\n icon: [512, 512, [], \"f084\", \"M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z\"]\n};\nvar faKeyboard = {\n prefix: 'fas',\n iconName: 'keyboard',\n icon: [576, 512, [], \"f11c\", \"M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z\"]\n};\nvar faKhanda = {\n prefix: 'fas',\n iconName: 'khanda',\n icon: [512, 512, [], \"f66d\", \"M415.81 66c-6.37-3.5-14.37-2.33-19.36 3.02a15.974 15.974 0 0 0-1.91 19.52c16.49 26.16 25.2 56.39 25.2 87.41-.19 53.25-26.77 102.69-71.27 132.41l-76.63 53.35v-20.1l44.05-36.09c3.92-4.2 5-10.09 2.81-15.28L310.85 273c33.84-19.26 56.94-55.25 56.94-96.99 0-40.79-22.02-76.13-54.59-95.71l5.22-11.44c2.34-5.53.93-11.83-3.57-16.04L255.86 0l-58.99 52.81c-4.5 4.21-5.9 10.51-3.57 16.04l5.22 11.44c-32.57 19.58-54.59 54.93-54.59 95.72 0 41.75 23.09 77.73 56.94 96.99l-7.85 17.24c-2.19 5.18-1.1 11.07 2.81 15.28l44.05 36.09v19.9l-76.59-53.33C119.02 278.62 92.44 229.19 92.26 176c0-31.08 8.71-61.31 25.2-87.47 3.87-6.16 2.4-13.77-2.59-19.08-5-5.34-13.68-6.2-20.02-2.7C16.32 109.6-22.3 205.3 13.36 295.99c7.07 17.99 17.89 34.38 30.46 49.06l55.97 65.36c4.87 5.69 13.04 7.24 19.65 3.72l79.35-42.23L228 392.23l-47.08 32.78c-1.67-.37-3.23-1.01-5.01-1.01-13.25 0-23.99 10.74-23.99 24 0 13.25 10.74 24 23.99 24 12.1 0 21.69-9.11 23.33-20.76l40.63-28.28v29.95c-9.39 5.57-15.99 15.38-15.99 27.1 0 17.67 14.32 32 31.98 32s31.98-14.33 31.98-32c0-11.71-6.61-21.52-15.99-27.1v-30.15l40.91 28.48C314.41 462.89 324 472 336.09 472c13.25 0 23.99-10.75 23.99-24 0-13.26-10.74-24-23.99-24-1.78 0-3.34.64-5.01 1.01L284 392.23l29.21-20.34 79.35 42.23c6.61 3.52 14.78 1.97 19.65-3.71l52.51-61.31c18.87-22.02 34-47.5 41.25-75.59 21.62-83.66-16.45-167.27-90.16-207.51zm-95.99 110c0 22.3-11.49 41.92-28.83 53.38l-5.65-12.41c-8.75-24.52-8.75-51.04 0-75.56l7.83-17.18c16.07 11.65 26.65 30.45 26.65 51.77zm-127.93 0c0-21.32 10.58-40.12 26.66-51.76l7.83 17.18c8.75 24.52 8.75 51.03 0 75.56l-5.65 12.41c-17.34-11.46-28.84-31.09-28.84-53.39z\"]\n};\nvar faKiss = {\n prefix: 'fas',\n iconName: 'kiss',\n icon: [496, 512, [], \"f596\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm136 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm24-156c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faKissBeam = {\n prefix: 'fas',\n iconName: 'kiss-beam',\n icon: [496, 512, [], \"f597\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-39 219.9l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5zM304 396c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm65-168.1l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5z\"]\n};\nvar faKissWinkHeart = {\n prefix: 'fas',\n iconName: 'kiss-wink-heart',\n icon: [504, 512, [], \"f598\", \"M501.1 402.5c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zm-177.6-4c-5.6-20.3-2.3-42 9-59.7 29.7-46.3 98.7-45.5 127.8 4.3 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-.3-.7-23.9-84.6-23.9-84.6zM168 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm120 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-5.7-12.3 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.8-3.7-4.6-16.6 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C274.6 368.7 288 383 288 396zm16-179c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S400 181 404 206.2c1.7 11.1-11.3 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 217z\"]\n};\nvar faKiwiBird = {\n prefix: 'fas',\n iconName: 'kiwi-bird',\n icon: [576, 512, [], \"f535\", \"M575.81 217.98C572.64 157.41 518.28 112 457.63 112h-9.37c-52.82 0-104.25-16.25-147.74-46.24-41.99-28.96-96.04-41.62-153.21-28.7C129.3 41.12-.08 78.24 0 224c.04 70.95 38.68 132.8 95.99 166.01V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-54.26c15.36 3.96 31.4 6.26 48 6.26 5.44 0 10.68-.73 16-1.18V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-59.43c14.24-5.06 27.88-11.39 40.34-19.51C342.07 355.25 393.86 336 448.46 336c25.48 0 16.01-.31 23.05-.78l74.41 136.44c2.86 5.23 8.3 8.34 14.05 8.34 1.31 0 2.64-.16 3.95-.5 7.09-1.8 12.05-8.19 12.05-15.5 0 0 .14-240.24-.16-246.02zM463.97 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm80 153.25l-39.86-73.08c15.12-5.83 28.73-14.6 39.86-25.98v99.06z\"]\n};\nvar faLandmark = {\n prefix: 'fas',\n iconName: 'landmark',\n icon: [512, 512, [], \"f66f\", \"M501.62 92.11L267.24 2.04a31.958 31.958 0 0 0-22.47 0L10.38 92.11A16.001 16.001 0 0 0 0 107.09V144c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-36.91c0-6.67-4.14-12.64-10.38-14.98zM64 192v160H48c-8.84 0-16 7.16-16 16v48h448v-48c0-8.84-7.16-16-16-16h-16V192h-64v160h-96V192h-64v160h-96V192H64zm432 256H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faLanguage = {\n prefix: 'fas',\n iconName: 'language',\n icon: [640, 512, [], \"f1ab\", \"M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z\"]\n};\nvar faLaptop = {\n prefix: 'fas',\n iconName: 'laptop',\n icon: [640, 512, [], \"f109\", \"M624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z\"]\n};\nvar faLaptopCode = {\n prefix: 'fas',\n iconName: 'laptop-code',\n icon: [640, 512, [], \"f5fc\", \"M255.03 261.65c6.25 6.25 16.38 6.25 22.63 0l11.31-11.31c6.25-6.25 6.25-16.38 0-22.63L253.25 192l35.71-35.72c6.25-6.25 6.25-16.38 0-22.63l-11.31-11.31c-6.25-6.25-16.38-6.25-22.63 0l-58.34 58.34c-6.25 6.25-6.25 16.38 0 22.63l58.35 58.34zm96.01-11.3l11.31 11.31c6.25 6.25 16.38 6.25 22.63 0l58.34-58.34c6.25-6.25 6.25-16.38 0-22.63l-58.34-58.34c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63L386.75 192l-35.71 35.72c-6.25 6.25-6.25 16.38 0 22.63zM624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z\"]\n};\nvar faLaptopHouse = {\n prefix: 'fas',\n iconName: 'laptop-house',\n icon: [640, 512, [], \"e066\", \"M272,288H208a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16v37.12C299.11,232.24,315,224,332.8,224H469.74l6.65-7.53A16.51,16.51,0,0,0,480,207a16.31,16.31,0,0,0-4.75-10.61L416,144V48a16,16,0,0,0-16-16H368a16,16,0,0,0-16,16V87.3L263.5,8.92C258,4,247.45,0,240.05,0s-17.93,4-23.47,8.92L4.78,196.42A16.15,16.15,0,0,0,0,207a16.4,16.4,0,0,0,3.55,9.39L22.34,237.7A16.22,16.22,0,0,0,33,242.48,16.51,16.51,0,0,0,42.34,239L64,219.88V384a32,32,0,0,0,32,32H272ZM629.33,448H592V288c0-17.67-12.89-32-28.8-32H332.8c-15.91,0-28.8,14.33-28.8,32V448H266.67A10.67,10.67,0,0,0,256,458.67v10.66A42.82,42.82,0,0,0,298.6,512H597.4A42.82,42.82,0,0,0,640,469.33V458.67A10.67,10.67,0,0,0,629.33,448ZM544,448H352V304H544Z\"]\n};\nvar faLaptopMedical = {\n prefix: 'fas',\n iconName: 'laptop-medical',\n icon: [640, 512, [], \"f812\", \"M232 224h56v56a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-56h56a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8h-56v-56a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v56h-56a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8zM576 48a48.14 48.14 0 0 0-48-48H112a48.14 48.14 0 0 0-48 48v336h512zm-64 272H128V64h384zm112 96H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33-17.47-32.77-32H16a16 16 0 0 0-16 16v16a64.19 64.19 0 0 0 64 64h512a64.19 64.19 0 0 0 64-64v-16a16 16 0 0 0-16-16z\"]\n};\nvar faLaugh = {\n prefix: 'fas',\n iconName: 'laugh',\n icon: [496, 512, [], \"f599\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 152c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm88 272h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18-8.9 71-69.5 126-142.9 126z\"]\n};\nvar faLaughBeam = {\n prefix: 'fas',\n iconName: 'laugh-beam',\n icon: [496, 512, [], \"f59a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm24 199.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.8 4.1-15.1-4.5zm-160 0c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"]\n};\nvar faLaughSquint = {\n prefix: 'fas',\n iconName: 'laugh-squint',\n icon: [496, 512, [], \"f59b\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 161.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 180l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"]\n};\nvar faLaughWink = {\n prefix: 'fas',\n iconName: 'laugh-wink',\n icon: [496, 512, [], \"f59c\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm20.1 198.1c4-25.2 34.2-42.1 59.9-42.1s55.9 16.9 59.9 42.1c1.7 11.1-11.4 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 217c-8.4 7.4-21.6.3-19.9-10.9zM168 160c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm230.9 146C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"]\n};\nvar faLayerGroup = {\n prefix: 'fas',\n iconName: 'layer-group',\n icon: [512, 512, [], \"f5fd\", \"M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z\"]\n};\nvar faLeaf = {\n prefix: 'fas',\n iconName: 'leaf',\n icon: [576, 512, [], \"f06c\", \"M546.2 9.7c-5.6-12.5-21.6-13-28.3-1.2C486.9 62.4 431.4 96 368 96h-80C182 96 96 182 96 288c0 7 .8 13.7 1.5 20.5C161.3 262.8 253.4 224 384 224c8.8 0 16 7.2 16 16s-7.2 16-16 16C132.6 256 26 410.1 2.4 468c-6.6 16.3 1.2 34.9 17.5 41.6 16.4 6.8 35-1.1 41.8-17.3 1.5-3.6 20.9-47.9 71.9-90.6 32.4 43.9 94 85.8 174.9 77.2C465.5 467.5 576 326.7 576 154.3c0-50.2-10.8-102.2-29.8-144.6z\"]\n};\nvar faLemon = {\n prefix: 'fas',\n iconName: 'lemon',\n icon: [512, 512, [], \"f094\", \"M489.038 22.963C465.944-.13 434.648-5.93 413.947 6.129c-58.906 34.312-181.25-53.077-321.073 86.746S40.441 355.041 6.129 413.945c-12.059 20.702-6.26 51.999 16.833 75.093 23.095 23.095 54.392 28.891 75.095 16.832 58.901-34.31 181.246 53.079 321.068-86.743S471.56 156.96 505.871 98.056c12.059-20.702 6.261-51.999-16.833-75.093zM243.881 95.522c-58.189 14.547-133.808 90.155-148.358 148.358-1.817 7.27-8.342 12.124-15.511 12.124-1.284 0-2.59-.156-3.893-.481-8.572-2.144-13.784-10.83-11.642-19.403C81.901 166.427 166.316 81.93 236.119 64.478c8.575-2.143 17.261 3.069 19.403 11.642s-3.069 17.259-11.641 19.402z\"]\n};\nvar faLessThan = {\n prefix: 'fas',\n iconName: 'less-than',\n icon: [384, 512, [], \"f536\", \"M365.46 357.74L147.04 255.89l218.47-101.88c16.02-7.47 22.95-26.51 15.48-42.53l-13.52-29C360 66.46 340.96 59.53 324.94 67L18.48 209.91a32.014 32.014 0 0 0-18.48 29v34.24c0 12.44 7.21 23.75 18.48 29l306.31 142.83c16.06 7.49 35.15.54 42.64-15.52l13.56-29.08c7.49-16.06.54-35.15-15.53-42.64z\"]\n};\nvar faLessThanEqual = {\n prefix: 'fas',\n iconName: 'less-than-equal',\n icon: [448, 512, [], \"f537\", \"M54.98 214.2l301.41 119.87c18.39 6.03 38.71-2.54 45.38-19.15l12.09-30.08c6.68-16.61-2.82-34.97-21.21-41l-175.44-68.05 175.56-68.09c18.29-6 27.74-24.27 21.1-40.79l-12.03-29.92c-6.64-16.53-26.86-25.06-45.15-19.06L54.98 137.89C41.21 142.41 32 154.5 32 168.07v15.96c0 13.56 9.21 25.65 22.98 30.17zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"]\n};\nvar faLevelDownAlt = {\n prefix: 'fas',\n iconName: 'level-down-alt',\n icon: [320, 512, [], \"f3be\", \"M313.553 392.331L209.587 504.334c-9.485 10.214-25.676 10.229-35.174 0L70.438 392.331C56.232 377.031 67.062 352 88.025 352H152V80H68.024a11.996 11.996 0 0 1-8.485-3.515l-56-56C-4.021 12.926 1.333 0 12.024 0H208c13.255 0 24 10.745 24 24v328h63.966c20.878 0 31.851 24.969 17.587 40.331z\"]\n};\nvar faLevelUpAlt = {\n prefix: 'fas',\n iconName: 'level-up-alt',\n icon: [320, 512, [], \"f3bf\", \"M313.553 119.669L209.587 7.666c-9.485-10.214-25.676-10.229-35.174 0L70.438 119.669C56.232 134.969 67.062 160 88.025 160H152v272H68.024a11.996 11.996 0 0 0-8.485 3.515l-56 56C-4.021 499.074 1.333 512 12.024 512H208c13.255 0 24-10.745 24-24V160h63.966c20.878 0 31.851-24.969 17.587-40.331z\"]\n};\nvar faLifeRing = {\n prefix: 'fas',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z\"]\n};\nvar faLightbulb = {\n prefix: 'fas',\n iconName: 'lightbulb',\n icon: [352, 512, [], \"f0eb\", \"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"]\n};\nvar faLink = {\n prefix: 'fas',\n iconName: 'link',\n icon: [512, 512, [], \"f0c1\", \"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z\"]\n};\nvar faLiraSign = {\n prefix: 'fas',\n iconName: 'lira-sign',\n icon: [384, 512, [], \"f195\", \"M371.994 256h-48.019C317.64 256 312 260.912 312 267.246 312 368 230.179 416 144 416V256.781l134.603-29.912A12 12 0 0 0 288 215.155v-40.976c0-7.677-7.109-13.38-14.603-11.714L144 191.219V160.78l134.603-29.912A12 12 0 0 0 288 119.154V78.179c0-7.677-7.109-13.38-14.603-11.714L144 95.219V44c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v68.997L9.397 125.131A12 12 0 0 0 0 136.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 178.558v30.439L9.397 221.131A12 12 0 0 0 0 232.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 274.558V468c0 6.627 5.373 12 12 12h79.583c134.091 0 223.255-77.834 228.408-211.592.261-6.782-5.211-12.408-11.997-12.408z\"]\n};\nvar faList = {\n prefix: 'fas',\n iconName: 'list',\n icon: [512, 512, [], \"f03a\", \"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faListAlt = {\n prefix: 'fas',\n iconName: 'list-alt',\n icon: [512, 512, [], \"f022\", \"M464 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM128 120c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288-136v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12z\"]\n};\nvar faListOl = {\n prefix: 'fas',\n iconName: 'list-ol',\n icon: [512, 512, [], \"f0cb\", \"M61.77 401l17.5-20.15a19.92 19.92 0 0 0 5.07-14.19v-3.31C84.34 356 80.5 352 73 352H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h22.83a157.41 157.41 0 0 0-11 12.31l-5.61 7c-4 5.07-5.25 10.13-2.8 14.88l1.05 1.93c3 5.76 6.29 7.88 12.25 7.88h4.73c10.33 0 15.94 2.44 15.94 9.09 0 4.72-4.2 8.22-14.36 8.22a41.54 41.54 0 0 1-15.47-3.12c-6.49-3.88-11.74-3.5-15.6 3.12l-5.59 9.31c-3.72 6.13-3.19 11.72 2.63 15.94 7.71 4.69 20.38 9.44 37 9.44 34.16 0 48.5-22.75 48.5-44.12-.03-14.38-9.12-29.76-28.73-34.88zM496 224H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h64a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H64V40a8 8 0 0 0-8-8H32a8 8 0 0 0-7.14 4.42l-8 16A8 8 0 0 0 24 64h8v64H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8zm-3.91 160H80a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H41.32c3.29-10.29 48.34-18.68 48.34-56.44 0-29.06-25-39.56-44.47-39.56-21.36 0-33.8 10-40.46 18.75-4.37 5.59-3 10.84 2.8 15.37l8.58 6.88c5.61 4.56 11 2.47 16.12-2.44a13.44 13.44 0 0 1 9.46-3.84c3.33 0 9.28 1.56 9.28 8.75C51 248.19 0 257.31 0 304.59v4C0 316 5.08 320 12.09 320z\"]\n};\nvar faListUl = {\n prefix: 'fas',\n iconName: 'list-ul',\n icon: [512, 512, [], \"f0ca\", \"M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faLocationArrow = {\n prefix: 'fas',\n iconName: 'location-arrow',\n icon: [512, 512, [], \"f124\", \"M444.52 3.52L28.74 195.42c-47.97 22.39-31.98 92.75 19.19 92.75h175.91v175.91c0 51.17 70.36 67.17 92.75 19.19l191.9-415.78c15.99-38.39-25.59-79.97-63.97-63.97z\"]\n};\nvar faLock = {\n prefix: 'fas',\n iconName: 'lock',\n icon: [448, 512, [], \"f023\", \"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z\"]\n};\nvar faLockOpen = {\n prefix: 'fas',\n iconName: 'lock-open',\n icon: [576, 512, [], \"f3c1\", \"M423.5 0C339.5.3 272 69.5 272 153.5V224H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-48v-71.1c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v80c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-80C576 68 507.5-.3 423.5 0z\"]\n};\nvar faLongArrowAltDown = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-down',\n icon: [256, 512, [], \"f309\", \"M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z\"]\n};\nvar faLongArrowAltLeft = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-left',\n icon: [448, 512, [], \"f30a\", \"M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z\"]\n};\nvar faLongArrowAltRight = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-right',\n icon: [448, 512, [], \"f30b\", \"M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z\"]\n};\nvar faLongArrowAltUp = {\n prefix: 'fas',\n iconName: 'long-arrow-alt-up',\n icon: [256, 512, [], \"f30c\", \"M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z\"]\n};\nvar faLowVision = {\n prefix: 'fas',\n iconName: 'low-vision',\n icon: [576, 512, [], \"f2a8\", \"M569.344 231.631C512.96 135.949 407.81 72 288 72c-28.468 0-56.102 3.619-82.451 10.409L152.778 10.24c-7.601-10.858-22.564-13.5-33.423-5.9l-13.114 9.178c-10.86 7.601-13.502 22.566-5.9 33.426l43.131 58.395C89.449 131.73 40.228 174.683 6.682 231.581c-.01.017-.023.033-.034.05-8.765 14.875-8.964 33.528 0 48.739 38.5 65.332 99.742 115.862 172.859 141.349L55.316 244.302A272.194 272.194 0 0 1 83.61 208.39l119.4 170.58h.01l40.63 58.04a330.055 330.055 0 0 0 78.94 1.17l-189.98-271.4a277.628 277.628 0 0 1 38.777-21.563l251.836 356.544c7.601 10.858 22.564 13.499 33.423 5.9l13.114-9.178c10.86-7.601 13.502-22.567 5.9-33.426l-43.12-58.377-.007-.009c57.161-27.978 104.835-72.04 136.81-126.301a47.938 47.938 0 0 0 .001-48.739zM390.026 345.94l-19.066-27.23c24.682-32.567 27.711-76.353 8.8-111.68v.03c0 23.65-19.17 42.82-42.82 42.82-23.828 0-42.82-19.349-42.82-42.82 0-23.65 19.17-42.82 42.82-42.82h.03c-24.75-13.249-53.522-15.643-79.51-7.68l-19.068-27.237C253.758 123.306 270.488 120 288 120c75.162 0 136 60.826 136 136 0 34.504-12.833 65.975-33.974 89.94z\"]\n};\nvar faLuggageCart = {\n prefix: 'fas',\n iconName: 'luggage-cart',\n icon: [640, 512, [], \"f59d\", \"M224 320h32V96h-32c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32zm352-32V128c0-17.67-14.33-32-32-32h-32v224h32c17.67 0 32-14.33 32-32zm48 96H128V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h48v368c0 8.84 7.16 16 16 16h82.94c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16h197.88c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM480 96V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v272h192V96zm-48 0h-96V48h96v48z\"]\n};\nvar faLungs = {\n prefix: 'fas',\n iconName: 'lungs',\n icon: [640, 512, [], \"f604\", \"M636.11 390.15C614.44 308.85 580.07 231 534.1 159.13 511.98 124.56 498.03 96 454.05 96 415.36 96 384 125.42 384 161.71v60.11l-32.88-21.92a15.996 15.996 0 0 1-7.12-13.31V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v170.59c0 5.35-2.67 10.34-7.12 13.31L256 221.82v-60.11C256 125.42 224.64 96 185.95 96c-43.98 0-57.93 28.56-80.05 63.13C59.93 231 25.56 308.85 3.89 390.15 1.3 399.84 0 409.79 0 419.78c0 61.23 62.48 105.44 125.24 88.62l59.5-15.95c42.18-11.3 71.26-47.47 71.26-88.62v-87.49l-85.84 57.23a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09L320 235.23l167.59 111.72a7.994 7.994 0 0 1 2.22 11.09l-8.88 13.31a7.994 7.994 0 0 1-11.09 2.22L384 316.34v87.49c0 41.15 29.08 77.31 71.26 88.62l59.5 15.95C577.52 525.22 640 481.01 640 419.78c0-9.99-1.3-19.94-3.89-29.63z\"]\n};\nvar faLungsVirus = {\n prefix: 'fas',\n iconName: 'lungs-virus',\n icon: [640, 512, [], \"e067\", \"M344,150.68V16A16,16,0,0,0,328,0H312a16,16,0,0,0-16,16V150.68a46.45,46.45,0,0,1,48,0ZM195.54,444.46a48.06,48.06,0,0,1,0-67.88l8.58-8.58H192a48,48,0,0,1,0-96h12.12l-8.58-8.57a48,48,0,0,1,60.46-74V161.75C256,125.38,224.62,96,186,96c-44,0-58,28.5-80.12,63.13a819.52,819.52,0,0,0-102,231A113.16,113.16,0,0,0,0,419.75C0,481,62.5,525.26,125.25,508.38l59.5-15.87a98.51,98.51,0,0,0,52.5-34.75,46.49,46.49,0,0,1-41.71-13.3Zm226.29-22.63a16,16,0,0,0,0-22.62l-8.58-8.58C393.09,370.47,407.37,336,435.88,336H448a16,16,0,0,0,0-32H435.88c-28.51,0-42.79-34.47-22.63-54.62l8.58-8.58a16,16,0,0,0-22.63-22.63l-8.57,8.58C370.47,246.91,336,232.63,336,204.12V192a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.58c20.16,20.15,5.88,54.62-22.63,54.62H192a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.58a16,16,0,1,0,22.63,22.62l8.57-8.57C269.53,393.1,304,407.38,304,435.88V448a16,16,0,0,0,32,0V435.88c0-28.5,34.47-42.78,54.63-22.62l8.57,8.57a16,16,0,0,0,22.63,0ZM288,304a16,16,0,1,1,16-16A16,16,0,0,1,288,304Zm64,64a16,16,0,1,1,16-16A16,16,0,0,1,352,368Zm284.12,22.13a819.52,819.52,0,0,0-102-231C512,124.5,498,96,454,96c-38.62,0-70,29.38-70,65.75v27.72a48,48,0,0,1,60.46,74L435.88,272H448a48,48,0,0,1,0,96H435.88l8.58,8.58a47.7,47.7,0,0,1-41.71,81.18,98.51,98.51,0,0,0,52.5,34.75l59.5,15.87C577.5,525.26,640,481,640,419.75A113.16,113.16,0,0,0,636.12,390.13Z\"]\n};\nvar faMagic = {\n prefix: 'fas',\n iconName: 'magic',\n icon: [512, 512, [], \"f0d0\", \"M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.66-53.33L160 80l-53.34-26.67L80 0 53.34 53.33 0 80l53.34 26.67L80 160zm352 128l-26.66 53.33L352 368l53.34 26.67L432 448l26.66-53.33L512 368l-53.34-26.67L432 288zm70.62-193.77L417.77 9.38C411.53 3.12 403.34 0 395.15 0c-8.19 0-16.38 3.12-22.63 9.38L9.38 372.52c-12.5 12.5-12.5 32.76 0 45.25l84.85 84.85c6.25 6.25 14.44 9.37 22.62 9.37 8.19 0 16.38-3.12 22.63-9.37l363.14-363.15c12.5-12.48 12.5-32.75 0-45.24zM359.45 203.46l-50.91-50.91 86.6-86.6 50.91 50.91-86.6 86.6z\"]\n};\nvar faMagnet = {\n prefix: 'fas',\n iconName: 'magnet',\n icon: [512, 512, [], \"f076\", \"M164.07 148.1H12a12 12 0 0 1-12-12v-80a36 36 0 0 1 36-36h104a36 36 0 0 1 36 36v80a11.89 11.89 0 0 1-11.93 12zm347.93-12V56a36 36 0 0 0-36-36H372a36 36 0 0 0-36 36v80a12 12 0 0 0 12 12h152a11.89 11.89 0 0 0 12-11.9zm-164 44a12 12 0 0 0-12 12v52c0 128.1-160 127.9-160 0v-52a12 12 0 0 0-12-12H12.1a12 12 0 0 0-12 12.1c.1 21.4.6 40.3 0 53.3 0 150.6 136.17 246.6 256.75 246.6s255-96 255-246.7c-.6-12.8-.2-33 0-53.2a12 12 0 0 0-12-12.1z\"]\n};\nvar faMailBulk = {\n prefix: 'fas',\n iconName: 'mail-bulk',\n icon: [576, 512, [], \"f674\", \"M160 448c-25.6 0-51.2-22.4-64-32-64-44.8-83.2-60.8-96-70.4V480c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V345.6c-12.8 9.6-32 25.6-96 70.4-12.8 9.6-38.4 32-64 32zm128-192H32c-17.67 0-32 14.33-32 32v16c25.6 19.2 22.4 19.2 115.2 86.4 9.6 6.4 28.8 25.6 44.8 25.6s35.2-19.2 44.8-22.4c92.8-67.2 89.6-67.2 115.2-86.4V288c0-17.67-14.33-32-32-32zm256-96H224c-17.67 0-32 14.33-32 32v32h96c33.21 0 60.59 25.42 63.71 57.82l.29-.22V416h192c17.67 0 32-14.33 32-32V192c0-17.67-14.33-32-32-32zm-32 128h-64v-64h64v64zm-352-96c0-35.29 28.71-64 64-64h224V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v192h96v-32z\"]\n};\nvar faMale = {\n prefix: 'fas',\n iconName: 'male',\n icon: [192, 512, [], \"f183\", \"M96 0c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64S60.654 0 96 0m48 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H48c-26.51 0-48 21.49-48 48v136c0 13.255 10.745 24 24 24h16v136c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V352h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48z\"]\n};\nvar faMap = {\n prefix: 'fas',\n iconName: 'map',\n icon: [576, 512, [], \"f279\", \"M0 117.66v346.32c0 11.32 11.43 19.06 21.94 14.86L160 416V32L20.12 87.95A32.006 32.006 0 0 0 0 117.66zM192 416l192 64V96L192 32v384zM554.06 33.16L416 96v384l139.88-55.95A31.996 31.996 0 0 0 576 394.34V48.02c0-11.32-11.43-19.06-21.94-14.86z\"]\n};\nvar faMapMarked = {\n prefix: 'fas',\n iconName: 'map-marked',\n icon: [576, 512, [], \"f59f\", \"M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z\"]\n};\nvar faMapMarkedAlt = {\n prefix: 'fas',\n iconName: 'map-marked-alt',\n icon: [576, 512, [], \"f5a0\", \"M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zm0 168c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z\"]\n};\nvar faMapMarker = {\n prefix: 'fas',\n iconName: 'map-marker',\n icon: [384, 512, [], \"f041\", \"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z\"]\n};\nvar faMapMarkerAlt = {\n prefix: 'fas',\n iconName: 'map-marker-alt',\n icon: [384, 512, [], \"f3c5\", \"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z\"]\n};\nvar faMapPin = {\n prefix: 'fas',\n iconName: 'map-pin',\n icon: [288, 512, [], \"f276\", \"M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z\"]\n};\nvar faMapSigns = {\n prefix: 'fas',\n iconName: 'map-signs',\n icon: [512, 512, [], \"f277\", \"M507.31 84.69L464 41.37c-6-6-14.14-9.37-22.63-9.37H288V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v16H56c-13.25 0-24 10.75-24 24v80c0 13.25 10.75 24 24 24h385.37c8.49 0 16.62-3.37 22.63-9.37l43.31-43.31c6.25-6.26 6.25-16.38 0-22.63zM224 496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h-64v112zm232-272H288v-32h-64v32H70.63c-8.49 0-16.62 3.37-22.63 9.37L4.69 276.69c-6.25 6.25-6.25 16.38 0 22.63L48 342.63c6 6 14.14 9.37 22.63 9.37H456c13.25 0 24-10.75 24-24v-80c0-13.25-10.75-24-24-24z\"]\n};\nvar faMarker = {\n prefix: 'fas',\n iconName: 'marker',\n icon: [512, 512, [], \"f5a1\", \"M93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l75.4-75.4-128.02-128.02-75.4 75.4zM485.49 26.51c-35.35-35.35-92.67-35.35-128.02 0l-21.76 21.76-36.56-36.55c-15.62-15.62-40.95-15.62-56.56 0L138.47 115.84c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0l87.15-87.15 19.59 19.59L191.98 192 320 320.02l165.49-165.49c35.35-35.35 35.35-92.66 0-128.02z\"]\n};\nvar faMars = {\n prefix: 'fas',\n iconName: 'mars',\n icon: [384, 512, [], \"f222\", \"M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faMarsDouble = {\n prefix: 'fas',\n iconName: 'mars-double',\n icon: [512, 512, [], \"f227\", \"M340 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C198.5 72.1 172.2 64 144 64 64.5 64 0 128.5 0 208s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.5 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 288c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm356-128.1h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7c-18.2-11.4-39-18.9-61.5-21.3-2.1 21.8-8.2 43.3-18.4 63.3 1.1 0 2.2-.1 3.2-.1 44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80c0-1.1 0-2.2.1-3.2-20 10.2-41.5 16.4-63.3 18.4C168.4 455.6 229.6 512 304 512c79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12v-79c0-6.7-5.4-12.1-12-12.1z\"]\n};\nvar faMarsStroke = {\n prefix: 'fas',\n iconName: 'mars-stroke',\n icon: [384, 512, [], \"f229\", \"M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-17.5 17.5-14.1-14.1c-4.7-4.7-12.3-4.7-17 0L224.5 133c-4.7 4.7-4.7 12.3 0 17l14.1 14.1-18 18c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l18-18 14.1 14.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L329.2 164l17.5-17.5 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c-.1-6.6-5.5-12-12.1-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faMarsStrokeH = {\n prefix: 'fas',\n iconName: 'mars-stroke-h',\n icon: [480, 512, [], \"f22b\", \"M476.2 247.5l-55.9-55.9c-7.6-7.6-20.5-2.2-20.5 8.5V224H376v-20c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v20h-27.6c-5.8-25.6-18.7-49.9-38.6-69.8C189.6 98 98.4 98 42.2 154.2c-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 19.9-19.9 32.8-44.2 38.6-69.8H312v20c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-20h23.9v23.9c0 10.7 12.9 16 20.5 8.5l55.9-55.9c4.6-4.7 4.6-12.3-.1-17zm-275.6 65.1c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z\"]\n};\nvar faMarsStrokeV = {\n prefix: 'fas',\n iconName: 'mars-stroke-v',\n icon: [288, 512, [], \"f22a\", \"M245.8 234.2c-19.9-19.9-44.2-32.8-69.8-38.6v-25.4h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V81.4h23.9c10.7 0 16-12.9 8.5-20.5L152.5 5.1c-4.7-4.7-12.3-4.7-17 0L79.6 61c-7.6 7.6-2.2 20.5 8.5 20.5H112v24.7H92c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h20v25.4c-25.6 5.8-49.9 18.7-69.8 38.6-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 56.3-56.2 56.3-147.4 0-203.6zm-45.2 158.4c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z\"]\n};\nvar faMask = {\n prefix: 'fas',\n iconName: 'mask',\n icon: [640, 512, [], \"f6fa\", \"M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z\"]\n};\nvar faMedal = {\n prefix: 'fas',\n iconName: 'medal',\n icon: [512, 512, [], \"f5a2\", \"M223.75 130.75L154.62 15.54A31.997 31.997 0 0 0 127.18 0H16.03C3.08 0-4.5 14.57 2.92 25.18l111.27 158.96c29.72-27.77 67.52-46.83 109.56-53.39zM495.97 0H384.82c-11.24 0-21.66 5.9-27.44 15.54l-69.13 115.21c42.04 6.56 79.84 25.62 109.56 53.38L509.08 25.18C516.5 14.57 508.92 0 495.97 0zM256 160c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm92.52 157.26l-37.93 36.96 8.97 52.22c1.6 9.36-8.26 16.51-16.65 12.09L256 393.88l-46.9 24.65c-8.4 4.45-18.25-2.74-16.65-12.09l8.97-52.22-37.93-36.96c-6.82-6.64-3.05-18.23 6.35-19.59l52.43-7.64 23.43-47.52c2.11-4.28 6.19-6.39 10.28-6.39 4.11 0 8.22 2.14 10.33 6.39l23.43 47.52 52.43 7.64c9.4 1.36 13.17 12.95 6.35 19.59z\"]\n};\nvar faMedkit = {\n prefix: 'fas',\n iconName: 'medkit',\n icon: [512, 512, [], \"f0fa\", \"M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352zm288-208v32c0 8.837-7.163 16-16 16h-48v48c0 8.837-7.163 16-16 16h-32c-8.837 0-16-7.163-16-16v-48h-48c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h48v-48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v48h48c8.837 0 16 7.163 16 16z\"]\n};\nvar faMeh = {\n prefix: 'fas',\n iconName: 'meh',\n icon: [496, 512, [], \"f11a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm176 192H152c-21.2 0-21.2-32 0-32h192c21.2 0 21.2 32 0 32zm-16-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faMehBlank = {\n prefix: 'fas',\n iconName: 'meh-blank',\n icon: [496, 512, [], \"f5a4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faMehRollingEyes = {\n prefix: 'fas',\n iconName: 'meh-rolling-eyes',\n icon: [496, 512, [], \"f5a5\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 224c0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64s-64-28.7-64-64zm224 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-112c-35.3 0-64-28.7-64-64 0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64z\"]\n};\nvar faMemory = {\n prefix: 'fas',\n iconName: 'memory',\n icon: [640, 512, [], \"f538\", \"M640 130.94V96c0-17.67-14.33-32-32-32H32C14.33 64 0 78.33 0 96v34.94c18.6 6.61 32 24.19 32 45.06s-13.4 38.45-32 45.06V320h640v-98.94c-18.6-6.61-32-24.19-32-45.06s13.4-38.45 32-45.06zM224 256h-64V128h64v128zm128 0h-64V128h64v128zm128 0h-64V128h64v128zM0 448h64v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h64v-96H0v96z\"]\n};\nvar faMenorah = {\n prefix: 'fas',\n iconName: 'menorah',\n icon: [640, 512, [], \"f676\", \"M144 128h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm192 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm80-32c17.67 0 32-14.33 32-32S608 0 608 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S512 0 512 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S416 0 416 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S320 0 320 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S224 0 224 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S128 0 128 0 96 46.33 96 64s14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S32 0 32 0 0 46.33 0 64s14.33 32 32 32zm544 192c0 17.67-14.33 32-32 32H352V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v176H96c-17.67 0-32-14.33-32-32V144c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v144c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v144z\"]\n};\nvar faMercury = {\n prefix: 'fas',\n iconName: 'mercury',\n icon: [288, 512, [], \"f223\", \"M288 208c0-44.2-19.9-83.7-51.2-110.1 2.5-1.8 4.9-3.8 7.2-5.8 24.7-21.2 39.8-48.8 43.2-78.8.9-7.1-4.7-13.3-11.9-13.3h-40.5C229 0 224.1 4.1 223 9.8c-2.4 12.5-9.6 24.3-20.7 33.8C187 56.8 166.3 64 144 64s-43-7.2-58.4-20.4C74.5 34.1 67.4 22.3 64.9 9.8 63.8 4.1 58.9 0 53.2 0H12.7C5.5 0-.1 6.2.8 13.3 4.2 43.4 19.2 71 44 92.2c2.3 2 4.7 3.9 7.2 5.8C19.9 124.3 0 163.8 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z\"]\n};\nvar faMeteor = {\n prefix: 'fas',\n iconName: 'meteor',\n icon: [512, 512, [], \"f753\", \"M511.328,20.8027c-11.60759,38.70264-34.30724,111.70173-61.30311,187.70077,6.99893,2.09372,13.4042,4,18.60653,5.59368a16.06158,16.06158,0,0,1,9.49854,22.906c-22.106,42.29635-82.69047,152.795-142.47819,214.40356-.99984,1.09373-1.99969,2.5-2.99954,3.49995A194.83046,194.83046,0,1,1,57.085,179.41009c.99985-1,2.40588-2,3.49947-3,61.59994-59.90549,171.97367-120.40473,214.37343-142.4982a16.058,16.058,0,0,1,22.90274,9.49988c1.59351,5.09368,3.49947,11.5936,5.5929,18.59351C379.34818,35.00565,452.43074,12.30281,491.12794.70921A16.18325,16.18325,0,0,1,511.328,20.8027ZM319.951,320.00207A127.98041,127.98041,0,1,0,191.97061,448.00046,127.97573,127.97573,0,0,0,319.951,320.00207Zm-127.98041-31.9996a31.9951,31.9951,0,1,1-31.9951-31.9996A31.959,31.959,0,0,1,191.97061,288.00247Zm31.9951,79.999a15.99755,15.99755,0,1,1-15.99755-15.9998A16.04975,16.04975,0,0,1,223.96571,368.00147Z\"]\n};\nvar faMicrochip = {\n prefix: 'fas',\n iconName: 'microchip',\n icon: [512, 512, [], \"f2db\", \"M416 48v416c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h224c26.51 0 48 21.49 48 48zm96 58v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42V88h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zM30 376h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6z\"]\n};\nvar faMicrophone = {\n prefix: 'fas',\n iconName: 'microphone',\n icon: [352, 512, [], \"f130\", \"M176 352c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96zm160-160h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16z\"]\n};\nvar faMicrophoneAlt = {\n prefix: 'fas',\n iconName: 'microphone-alt',\n icon: [352, 512, [], \"f3c9\", \"M336 192h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16zM176 352c53.02 0 96-42.98 96-96h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96z\"]\n};\nvar faMicrophoneAltSlash = {\n prefix: 'fas',\n iconName: 'microphone-alt-slash',\n icon: [640, 512, [], \"f539\", \"M633.82 458.1L476.26 336.33C488.74 312.21 496 284.98 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67h-43.67l-41.4-32H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.78c11.71-1.62 23.1-4.28 33.96-8.08l-50.4-38.96c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"]\n};\nvar faMicrophoneSlash = {\n prefix: 'fas',\n iconName: 'microphone-slash',\n icon: [640, 512, [], \"f131\", \"M633.82 458.1l-157.8-121.96C488.61 312.13 496 285.01 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67V96c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.77c11.66-1.6 22.85-4.54 33.67-8.31l-50.11-38.73c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"]\n};\nvar faMicroscope = {\n prefix: 'fas',\n iconName: 'microscope',\n icon: [512, 512, [], \"f610\", \"M160 320h12v16c0 8.84 7.16 16 16 16h40c8.84 0 16-7.16 16-16v-16h12c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32V16c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v16c-17.67 0-32 14.33-32 32v224c0 17.67 14.33 32 32 32zm304 128h-1.29C493.24 413.99 512 369.2 512 320c0-105.88-86.12-192-192-192v64c70.58 0 128 57.42 128 128s-57.42 128-128 128H48c-26.51 0-48 21.49-48 48 0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48zm-360-32h208c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8H104c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8z\"]\n};\nvar faMinus = {\n prefix: 'fas',\n iconName: 'minus',\n icon: [448, 512, [], \"f068\", \"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faMinusCircle = {\n prefix: 'fas',\n iconName: 'minus-circle',\n icon: [512, 512, [], \"f056\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z\"]\n};\nvar faMinusSquare = {\n prefix: 'fas',\n iconName: 'minus-square',\n icon: [448, 512, [], \"f146\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z\"]\n};\nvar faMitten = {\n prefix: 'fas',\n iconName: 'mitten',\n icon: [448, 512, [], \"f7b5\", \"M368 416H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16zm57-209.1c-27.2-22.6-67.5-19-90.1 8.2l-20.9 25-29.6-128.4c-18-77.5-95.4-125.9-172.8-108C34.2 21.6-14.2 98.9 3.7 176.4L51.6 384h309l72.5-87c22.7-27.2 19-67.5-8.1-90.1z\"]\n};\nvar faMobile = {\n prefix: 'fas',\n iconName: 'mobile',\n icon: [320, 512, [], \"f10b\", \"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faMobileAlt = {\n prefix: 'fas',\n iconName: 'mobile-alt',\n icon: [320, 512, [], \"f3cd\", \"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z\"]\n};\nvar faMoneyBill = {\n prefix: 'fas',\n iconName: 'money-bill',\n icon: [640, 512, [], \"f0d6\", \"M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 176c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 48h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z\"]\n};\nvar faMoneyBillAlt = {\n prefix: 'fas',\n iconName: 'money-bill-alt',\n icon: [640, 512, [], \"f3d1\", \"M352 288h-16v-88c0-4.42-3.58-8-8-8h-13.58c-4.74 0-9.37 1.4-13.31 4.03l-15.33 10.22a7.994 7.994 0 0 0-2.22 11.09l8.88 13.31a7.994 7.994 0 0 0 11.09 2.22l.47-.31V288h-16c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h64c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 192c-53.02 0-96-50.15-96-112 0-61.86 42.98-112 96-112s96 50.14 96 112c0 61.87-43 112-96 112zm272 32h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z\"]\n};\nvar faMoneyBillWave = {\n prefix: 'fas',\n iconName: 'money-bill-wave',\n icon: [640, 512, [], \"f53a\", \"M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM48 132.22c20.12 5.04 41.12 7.57 62.72 8.93C104.84 170.54 79 192.69 48 192.69v-60.47zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28v57.72zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66v48.89z\"]\n};\nvar faMoneyBillWaveAlt = {\n prefix: 'fas',\n iconName: 'money-bill-wave-alt',\n icon: [640, 512, [], \"f53b\", \"M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96z\"]\n};\nvar faMoneyCheck = {\n prefix: 'fas',\n iconName: 'money-check',\n icon: [640, 512, [], \"f53c\", \"M0 448c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128H0v320zm448-208c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-32zm0 120c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H456c-4.42 0-8-3.58-8-8v-16zM64 264c0-4.42 3.58-8 8-8h304c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm0 96c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zM624 32H16C7.16 32 0 39.16 0 48v48h640V48c0-8.84-7.16-16-16-16z\"]\n};\nvar faMoneyCheckAlt = {\n prefix: 'fas',\n iconName: 'money-check-alt',\n icon: [640, 512, [], \"f53d\", \"M608 32H32C14.33 32 0 46.33 0 64v384c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM176 327.88V344c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V152c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07zM416 312c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm160 0c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h272c4.42 0 8 3.58 8 8v16z\"]\n};\nvar faMonument = {\n prefix: 'fas',\n iconName: 'monument',\n icon: [384, 512, [], \"f5a6\", \"M368 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-78.86-347.26a31.97 31.97 0 0 0-9.21-19.44L203.31 4.69c-6.25-6.25-16.38-6.25-22.63 0l-76.6 76.61a31.97 31.97 0 0 0-9.21 19.44L64 416h256l-30.86-315.26zM240 307.2c0 6.4-6.4 12.8-12.8 12.8h-70.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v38.4z\"]\n};\nvar faMoon = {\n prefix: 'fas',\n iconName: 'moon',\n icon: [512, 512, [], \"f186\", \"M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z\"]\n};\nvar faMortarPestle = {\n prefix: 'fas',\n iconName: 'mortar-pestle',\n icon: [512, 512, [], \"f5a7\", \"M501.54 60.91c17.22-17.22 12.51-46.25-9.27-57.14a35.696 35.696 0 0 0-37.37 3.37L251.09 160h151.37l99.08-99.09zM496 192H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c0 80.98 50.2 150.11 121.13 178.32-12.76 16.87-21.72 36.8-24.95 58.69-1.46 9.92 6.04 18.98 16.07 18.98h223.5c10.03 0 17.53-9.06 16.07-18.98-3.22-21.89-12.18-41.82-24.95-58.69C429.8 406.11 480 336.98 480 256h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"]\n};\nvar faMosque = {\n prefix: 'fas',\n iconName: 'mosque',\n icon: [640, 512, [], \"f678\", \"M0 480c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V160H0v320zm579.16-192c17.86-17.39 28.84-37.34 28.84-58.91 0-52.86-41.79-93.79-87.92-122.9-41.94-26.47-80.63-57.77-111.96-96.22L400 0l-8.12 9.97c-31.33 38.45-70.01 69.76-111.96 96.22C233.79 135.3 192 176.23 192 229.09c0 21.57 10.98 41.52 28.84 58.91h358.32zM608 320H192c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h32v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h64v-72c0-48 48-72 48-72s48 24 48 72v72h64v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h32c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM64 0S0 32 0 96v32h128V96c0-64-64-96-64-96z\"]\n};\nvar faMotorcycle = {\n prefix: 'fas',\n iconName: 'motorcycle',\n icon: [640, 512, [], \"f21c\", \"M512.9 192c-14.9-.1-29.1 2.3-42.4 6.9L437.6 144H520c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24h-45.3c-6.8 0-13.3 2.9-17.8 7.9l-37.5 41.7-22.8-38C392.2 68.4 384.4 64 376 64h-80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h66.4l19.2 32H227.9c-17.7-23.1-44.9-40-99.9-40H72.5C59 104 47.7 115 48 128.5c.2 13 10.9 23.5 24 23.5h56c24.5 0 38.7 10.9 47.8 24.8l-11.3 20.5c-13-3.9-26.9-5.7-41.3-5.2C55.9 194.5 1.6 249.6 0 317c-1.6 72.1 56.3 131 128 131 59.6 0 109.7-40.8 124-96h84.2c13.7 0 24.6-11.4 24-25.1-2.1-47.1 17.5-93.7 56.2-125l12.5 20.8c-27.6 23.7-45.1 58.9-44.8 98.2.5 69.6 57.2 126.5 126.8 127.1 71.6.7 129.8-57.5 129.2-129.1-.7-69.6-57.6-126.4-127.2-126.9zM128 400c-44.1 0-80-35.9-80-80s35.9-80 80-80c4.2 0 8.4.3 12.5 1L99 316.4c-8.8 16 2.8 35.6 21 35.6h81.3c-12.4 28.2-40.6 48-73.3 48zm463.9-75.6c-2.2 40.6-35 73.4-75.5 75.5-46.1 2.5-84.4-34.3-84.4-79.9 0-21.4 8.4-40.8 22.1-55.1l49.4 82.4c4.5 7.6 14.4 10 22 5.5l13.7-8.2c7.6-4.5 10-14.4 5.5-22l-48.6-80.9c5.2-1.1 10.5-1.6 15.9-1.6 45.6-.1 82.3 38.2 79.9 84.3z\"]\n};\nvar faMountain = {\n prefix: 'fas',\n iconName: 'mountain',\n icon: [640, 512, [], \"f6fc\", \"M634.92 462.7l-288-448C341.03 5.54 330.89 0 320 0s-21.03 5.54-26.92 14.7l-288 448a32.001 32.001 0 0 0-1.17 32.64A32.004 32.004 0 0 0 32 512h576c11.71 0 22.48-6.39 28.09-16.67a31.983 31.983 0 0 0-1.17-32.63zM320 91.18L405.39 224H320l-64 64-38.06-38.06L320 91.18z\"]\n};\nvar faMouse = {\n prefix: 'fas',\n iconName: 'mouse',\n icon: [384, 512, [], \"f8cc\", \"M0 352a160 160 0 0 0 160 160h64a160 160 0 0 0 160-160V224H0zM176 0h-16A160 160 0 0 0 0 160v32h176zm48 0h-16v192h176v-32A160 160 0 0 0 224 0z\"]\n};\nvar faMousePointer = {\n prefix: 'fas',\n iconName: 'mouse-pointer',\n icon: [320, 512, [], \"f245\", \"M302.189 329.126H196.105l55.831 135.993c3.889 9.428-.555 19.999-9.444 23.999l-49.165 21.427c-9.165 4-19.443-.571-23.332-9.714l-53.053-129.136-86.664 89.138C18.729 472.71 0 463.554 0 447.977V18.299C0 1.899 19.921-6.096 30.277 5.443l284.412 292.542c11.472 11.179 3.007 31.141-12.5 31.141z\"]\n};\nvar faMugHot = {\n prefix: 'fas',\n iconName: 'mug-hot',\n icon: [512, 512, [], \"f7b6\", \"M127.1 146.5c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C111.8 5.9 105 0 96.8 0H80.4C70.6 0 63 8.5 64.1 18c3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zm112 0c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C223.8 5.9 217 0 208.8 0h-16.4c-9.8 0-17.5 8.5-16.3 18 3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zM400 192H32c-17.7 0-32 14.3-32 32v192c0 53 43 96 96 96h192c53 0 96-43 96-96h16c61.8 0 112-50.2 112-112s-50.2-112-112-112zm0 160h-16v-96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]\n};\nvar faMusic = {\n prefix: 'fas',\n iconName: 'music',\n icon: [512, 512, [], \"f001\", \"M470.38 1.51L150.41 96A32 32 0 0 0 128 126.51v261.41A139 139 0 0 0 96 384c-53 0-96 28.66-96 64s43 64 96 64 96-28.66 96-64V214.32l256-75v184.61a138.4 138.4 0 0 0-32-3.93c-53 0-96 28.66-96 64s43 64 96 64 96-28.65 96-64V32a32 32 0 0 0-41.62-30.49z\"]\n};\nvar faNetworkWired = {\n prefix: 'fas',\n iconName: 'network-wired',\n icon: [640, 512, [], \"f6ff\", \"M640 264v-16c0-8.84-7.16-16-16-16H344v-40h72c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H224c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h72v40H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h104v40H64c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h304v40h-56c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h104c8.84 0 16-7.16 16-16zM256 128V64h128v64H256zm-64 320H96v-64h96v64zm352 0h-96v-64h96v64z\"]\n};\nvar faNeuter = {\n prefix: 'fas',\n iconName: 'neuter',\n icon: [288, 512, [], \"f22c\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V468c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V316.4c64.1-14.5 112-71.9 112-140.4zm-144 80c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faNewspaper = {\n prefix: 'fas',\n iconName: 'newspaper',\n icon: [576, 512, [], \"f1ea\", \"M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z\"]\n};\nvar faNotEqual = {\n prefix: 'fas',\n iconName: 'not-equal',\n icon: [448, 512, [], \"f53e\", \"M416 208c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32h-23.88l51.87-66.81c5.37-7.02 4.04-17.06-2.97-22.43L415.61 3.3c-7.02-5.38-17.06-4.04-22.44 2.97L311.09 112H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h204.56l-74.53 96H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h55.49l-51.87 66.81c-5.37 7.01-4.04 17.05 2.97 22.43L64 508.7c7.02 5.38 17.06 4.04 22.43-2.97L168.52 400H416c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32H243.05l74.53-96H416z\"]\n};\nvar faNotesMedical = {\n prefix: 'fas',\n iconName: 'notes-medical',\n icon: [384, 512, [], \"f481\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm96 304c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm0-192c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faObjectGroup = {\n prefix: 'fas',\n iconName: 'object-group',\n icon: [512, 512, [], \"f247\", \"M480 128V96h20c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v20H64V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v40c0 6.627 5.373 12 12 12h20v320H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-20h384v20c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V128zM96 276V140c0-6.627 5.373-12 12-12h168c6.627 0 12 5.373 12 12v136c0 6.627-5.373 12-12 12H108c-6.627 0-12-5.373-12-12zm320 96c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12v-52h72c13.255 0 24-10.745 24-24v-72h84c6.627 0 12 5.373 12 12v136z\"]\n};\nvar faObjectUngroup = {\n prefix: 'fas',\n iconName: 'object-ungroup',\n icon: [576, 512, [], \"f248\", \"M64 320v26a6 6 0 0 1-6 6H6a6 6 0 0 1-6-6v-52a6 6 0 0 1 6-6h26V96H6a6 6 0 0 1-6-6V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v26h288V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-26v192h26a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-52a6 6 0 0 1-6-6v-26H64zm480-64v-32h26a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-52a6 6 0 0 0-6 6v26H408v72h8c13.255 0 24 10.745 24 24v64c0 13.255-10.745 24-24 24h-64c-13.255 0-24-10.745-24-24v-8H192v72h-26a6 6 0 0 0-6 6v52a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-26h288v26a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-26V256z\"]\n};\nvar faOilCan = {\n prefix: 'fas',\n iconName: 'oil-can',\n icon: [640, 512, [], \"f613\", \"M629.8 160.31L416 224l-50.49-25.24a64.07 64.07 0 0 0-28.62-6.76H280v-48h56c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h56v48h-56L37.72 166.86a31.9 31.9 0 0 0-5.79-.53C14.67 166.33 0 180.36 0 198.34v94.95c0 15.46 11.06 28.72 26.28 31.48L96 337.46V384c0 17.67 14.33 32 32 32h274.63c8.55 0 16.75-3.42 22.76-9.51l212.26-214.75c1.5-1.5 2.34-3.54 2.34-5.66V168c.01-5.31-5.08-9.15-10.19-7.69zM96 288.67l-48-8.73v-62.43l48 8.73v62.43zm453.33 84.66c0 23.56 19.1 42.67 42.67 42.67s42.67-19.1 42.67-42.67S592 288 592 288s-42.67 61.77-42.67 85.33z\"]\n};\nvar faOm = {\n prefix: 'fas',\n iconName: 'om',\n icon: [512, 512, [], \"f679\", \"M360.6 60.94a10.43 10.43 0 0 0 14.76 0l21.57-21.56a10.43 10.43 0 0 0 0-14.76L375.35 3.06c-4.08-4.07-10.68-4.07-14.76 0l-21.57 21.56a10.43 10.43 0 0 0 0 14.76l21.58 21.56zM412.11 192c-26.69 0-51.77 10.39-70.64 29.25l-24.25 24.25c-6.78 6.77-15.78 10.5-25.38 10.5H245c10.54-22.1 14.17-48.11 7.73-75.23-10.1-42.55-46.36-76.11-89.52-83.19-36.15-5.93-70.9 5.04-96.01 28.78-7.36 6.96-6.97 18.85 1.12 24.93l26.15 19.63c5.72 4.3 13.66 4.32 19.2-.21 8.45-6.9 19.02-10.71 30.27-10.71 26.47 0 48.01 21.53 48.01 48s-21.54 48-48.01 48h-31.9c-11.96 0-19.74 12.58-14.39 23.28l16.09 32.17c2.53 5.06 7.6 8.1 13.17 8.55h33.03c35.3 0 64.01 28.7 64.01 64s-28.71 64-64.01 64c-96.02 0-122.35-54.02-145.15-92.03-4.53-7.55-14.77-3.58-14.79 5.22C-.09 416 41.13 512 159.94 512c70.59 0 128.02-57.42 128.02-128 0-23.42-6.78-45.1-17.81-64h21.69c26.69 0 51.77-10.39 70.64-29.25l24.25-24.25c6.78-6.77 15.78-10.5 25.38-10.5 19.78 0 35.88 16.09 35.88 35.88V392c0 13.23-18.77 24-32.01 24-39.4 0-66.67-24.24-81.82-42.89-4.77-5.87-14.2-2.54-14.2 5.02V416s0 64 96.02 64c48.54 0 96.02-39.47 96.02-88V291.88c0-55.08-44.8-99.88-99.89-99.88zm42.18-124.73c-85.55 65.12-169.05 2.75-172.58.05-6.02-4.62-14.44-4.38-20.14.55-5.74 4.92-7.27 13.17-3.66 19.8 1.61 2.95 40.37 72.34 118.8 72.34 79.92 0 98.78-31.36 101.75-37.66 1.02-2.12 1.53-4.47 1.53-6.83V80c0-13.22-15.14-20.69-25.7-12.73z\"]\n};\nvar faOtter = {\n prefix: 'fas',\n iconName: 'otter',\n icon: [640, 512, [], \"f700\", \"M608 32h-32l-13.25-13.25A63.97 63.97 0 0 0 517.49 0H497c-11.14 0-22.08 2.91-31.75 8.43L312 96h-56C149.96 96 64 181.96 64 288v1.61c0 32.75-16 62.14-39.56 84.89-18.19 17.58-28.1 43.68-23.19 71.8 6.76 38.8 42.9 65.7 82.28 65.7H192c17.67 0 32-14.33 32-32s-14.33-32-32-32H80c-8.83 0-16-7.17-16-16s7.17-16 16-16h224c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-64l149.49-80.5L448 416h80c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-28.22l-55.11-110.21L521.14 192H544c53.02 0 96-42.98 96-96V64c0-17.67-14.33-32-32-32zm-96 16c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16zm32 96h-34.96L407.2 198.84l-13.77-27.55L512 112h77.05c-6.62 18.58-24.22 32-45.05 32z\"]\n};\nvar faOutdent = {\n prefix: 'fas',\n iconName: 'outdent',\n icon: [448, 512, [], \"f03b\", \"M100.69 363.29c10 10 27.31 2.93 27.31-11.31V160c0-14.32-17.33-21.31-27.31-11.31l-96 96a16 16 0 0 0 0 22.62zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faPager = {\n prefix: 'fas',\n iconName: 'pager',\n icon: [512, 512, [], \"f815\", \"M448 64H64a64 64 0 0 0-64 64v256a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V128a64 64 0 0 0-64-64zM160 368H80a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h80zm128-16a16 16 0 0 1-16 16h-80v-48h80a16 16 0 0 1 16 16zm160-128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32v-64a32 32 0 0 1 32-32h320a32 32 0 0 1 32 32z\"]\n};\nvar faPaintBrush = {\n prefix: 'fas',\n iconName: 'paint-brush',\n icon: [512, 512, [], \"f1fc\", \"M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z\"]\n};\nvar faPaintRoller = {\n prefix: 'fas',\n iconName: 'paint-roller',\n icon: [512, 512, [], \"f5aa\", \"M416 128V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32zm32-64v128c0 17.67-14.33 32-32 32H256c-35.35 0-64 28.65-64 64v32c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32v-32h160c53.02 0 96-42.98 96-96v-64c0-35.35-28.65-64-64-64z\"]\n};\nvar faPalette = {\n prefix: 'fas',\n iconName: 'palette',\n icon: [512, 512, [], \"f53f\", \"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faPallet = {\n prefix: 'fas',\n iconName: 'pallet',\n icon: [640, 512, [], \"f482\", \"M144 256h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H384v128l-64-32-64 32V0H144c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm480 128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48v-64h48zm-336 64H128v-64h160v64zm224 0H352v-64h160v64z\"]\n};\nvar faPaperPlane = {\n prefix: 'fas',\n iconName: 'paper-plane',\n icon: [512, 512, [], \"f1d8\", \"M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z\"]\n};\nvar faPaperclip = {\n prefix: 'fas',\n iconName: 'paperclip',\n icon: [448, 512, [], \"f0c6\", \"M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z\"]\n};\nvar faParachuteBox = {\n prefix: 'fas',\n iconName: 'parachute-box',\n icon: [512, 512, [], \"f4cd\", \"M511.9 175c-9.1-75.6-78.4-132.4-158.3-158.7C390 55.7 416 116.9 416 192h28.1L327.5 321.5c-2.5-.6-4.8-1.5-7.5-1.5h-48V192h112C384 76.8 315.1 0 256 0S128 76.8 128 192h112v128h-48c-2.7 0-5 .9-7.5 1.5L67.9 192H96c0-75.1 26-136.3 62.4-175.7C78.5 42.7 9.2 99.5.1 175c-1.1 9.1 6.8 17 16 17h8.7l136.7 151.9c-.7 2.6-1.6 5.2-1.6 8.1v128c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32V352c0-2.9-.9-5.4-1.6-8.1L487.1 192h8.7c9.3 0 17.2-7.8 16.1-17z\"]\n};\nvar faParagraph = {\n prefix: 'fas',\n iconName: 'paragraph',\n icon: [448, 512, [], \"f1dd\", \"M448 48v32a16 16 0 0 1-16 16h-48v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V96h-32v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V352h-32a160 160 0 0 1 0-320h240a16 16 0 0 1 16 16z\"]\n};\nvar faParking = {\n prefix: 'fas',\n iconName: 'parking',\n icon: [448, 512, [], \"f540\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM240 320h-48v48c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h96c52.9 0 96 43.1 96 96s-43.1 96-96 96zm0-128h-48v64h48c17.6 0 32-14.4 32-32s-14.4-32-32-32z\"]\n};\nvar faPassport = {\n prefix: 'fas',\n iconName: 'passport',\n icon: [448, 512, [], \"f5ab\", \"M129.62 176h39.09c1.49-27.03 6.54-51.35 14.21-70.41-27.71 13.24-48.02 39.19-53.3 70.41zm0 32c5.29 31.22 25.59 57.17 53.3 70.41-7.68-19.06-12.72-43.38-14.21-70.41h-39.09zM224 286.69c7.69-7.45 20.77-34.42 23.43-78.69h-46.87c2.67 44.26 15.75 71.24 23.44 78.69zM200.57 176h46.87c-2.66-44.26-15.74-71.24-23.43-78.69-7.7 7.45-20.78 34.43-23.44 78.69zm64.51 102.41c27.71-13.24 48.02-39.19 53.3-70.41h-39.09c-1.49 27.03-6.53 51.35-14.21 70.41zM416 0H64C28.65 0 0 28.65 0 64v384c0 35.35 28.65 64 64 64h352c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32zm-80 416H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h224c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-112-96c-70.69 0-128-57.31-128-128S153.31 64 224 64s128 57.31 128 128-57.31 128-128 128zm41.08-214.41c7.68 19.06 12.72 43.38 14.21 70.41h39.09c-5.28-31.22-25.59-57.17-53.3-70.41z\"]\n};\nvar faPastafarianism = {\n prefix: 'fas',\n iconName: 'pastafarianism',\n icon: [640, 512, [], \"f67b\", \"M624.54 347.67c-32.7-12.52-57.36 4.25-75.37 16.45-17.06 11.53-23.25 14.42-31.41 11.36-8.12-3.09-10.83-9.38-15.89-29.38-3.33-13.15-7.44-29.32-17.95-42.65 2.24-2.91 4.43-5.79 6.38-8.57C500.47 304.45 513.71 312 532 312c33.95 0 50.87-25.78 62.06-42.83 10.59-16.14 15-21.17 21.94-21.17 13.25 0 24-10.75 24-24s-10.75-24-24-24c-33.95 0-50.87 25.78-62.06 42.83-10.6 16.14-15 21.17-21.94 21.17-17.31 0-37.48-61.43-97.26-101.91l17.25-34.5C485.43 125.5 512 97.98 512 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 13.02 3.94 25.1 10.62 35.21l-18.15 36.3c-16.98-4.6-35.6-7.51-56.46-7.51s-39.49 2.91-56.46 7.51l-18.15-36.3C252.06 89.1 256 77.02 256 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 33.98 26.56 61.5 60.02 63.6l17.25 34.5C145.68 202.44 125.15 264 108 264c-6.94 0-11.34-5.03-21.94-21.17C74.88 225.78 57.96 200 24 200c-13.25 0-24 10.75-24 24s10.75 24 24 24c6.94 0 11.34 5.03 21.94 21.17C57.13 286.22 74.05 312 108 312c18.29 0 31.53-7.55 41.7-17.11 1.95 2.79 4.14 5.66 6.38 8.57-10.51 13.33-14.62 29.5-17.95 42.65-5.06 20-7.77 26.28-15.89 29.38-8.11 3.06-14.33.17-31.41-11.36-18.03-12.2-42.72-28.92-75.37-16.45-12.39 4.72-18.59 18.58-13.87 30.97 4.72 12.41 18.61 18.61 30.97 13.88 8.16-3.09 14.34-.19 31.39 11.36 13.55 9.16 30.83 20.86 52.42 20.84 7.17 0 14.83-1.28 22.97-4.39 32.66-12.44 39.98-41.33 45.33-62.44 2.21-8.72 3.99-14.49 5.95-18.87 16.62 13.61 36.95 25.88 61.64 34.17-9.96 37-32.18 90.8-60.26 90.8-13.25 0-24 10.75-24 24s10.75 24 24 24c66.74 0 97.05-88.63 107.42-129.14 6.69.6 13.42 1.14 20.58 1.14s13.89-.54 20.58-1.14C350.95 423.37 381.26 512 448 512c13.25 0 24-10.75 24-24s-10.75-24-24-24c-27.94 0-50.21-53.81-60.22-90.81 24.69-8.29 45-20.56 61.62-34.16 1.96 4.38 3.74 10.15 5.95 18.87 5.34 21.11 12.67 50 45.33 62.44 8.14 3.11 15.8 4.39 22.97 4.39 21.59 0 38.87-11.69 52.42-20.84 17.05-11.55 23.28-14.45 31.39-11.36 12.39 4.75 26.27-1.47 30.97-13.88 4.71-12.4-1.49-26.26-13.89-30.98zM448 48c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zm-256 0c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16z\"]\n};\nvar faPaste = {\n prefix: 'fas',\n iconName: 'paste',\n icon: [448, 512, [], \"f0ea\", \"M128 184c0-30.879 25.122-56 56-56h136V56c0-13.255-10.745-24-24-24h-80.61C204.306 12.89 183.637 0 160 0s-44.306 12.89-55.39 32H24C10.745 32 0 42.745 0 56v336c0 13.255 10.745 24 24 24h104V184zm32-144c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24zm184 248h104v200c0 13.255-10.745 24-24 24H184c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.059V256h-96v-96h6.059a24 24 0 0 1 16.97 7.029l65.941 65.941a24.002 24.002 0 0 1 7.03 16.971z\"]\n};\nvar faPause = {\n prefix: 'fas',\n iconName: 'pause',\n icon: [448, 512, [], \"f04c\", \"M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z\"]\n};\nvar faPauseCircle = {\n prefix: 'fas',\n iconName: 'pause-circle',\n icon: [512, 512, [], \"f28b\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z\"]\n};\nvar faPaw = {\n prefix: 'fas',\n iconName: 'paw',\n icon: [512, 512, [], \"f1b0\", \"M256 224c-79.41 0-192 122.76-192 200.25 0 34.9 26.81 55.75 71.74 55.75 48.84 0 81.09-25.08 120.26-25.08 39.51 0 71.85 25.08 120.26 25.08 44.93 0 71.74-20.85 71.74-55.75C448 346.76 335.41 224 256 224zm-147.28-12.61c-10.4-34.65-42.44-57.09-71.56-50.13-29.12 6.96-44.29 40.69-33.89 75.34 10.4 34.65 42.44 57.09 71.56 50.13 29.12-6.96 44.29-40.69 33.89-75.34zm84.72-20.78c30.94-8.14 46.42-49.94 34.58-93.36s-46.52-72.01-77.46-63.87-46.42 49.94-34.58 93.36c11.84 43.42 46.53 72.02 77.46 63.87zm281.39-29.34c-29.12-6.96-61.15 15.48-71.56 50.13-10.4 34.65 4.77 68.38 33.89 75.34 29.12 6.96 61.15-15.48 71.56-50.13 10.4-34.65-4.77-68.38-33.89-75.34zm-156.27 29.34c30.94 8.14 65.62-20.45 77.46-63.87 11.84-43.42-3.64-85.21-34.58-93.36s-65.62 20.45-77.46 63.87c-11.84 43.42 3.64 85.22 34.58 93.36z\"]\n};\nvar faPeace = {\n prefix: 'fas',\n iconName: 'peace',\n icon: [496, 512, [], \"f67c\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm184 248c0 31.93-8.2 61.97-22.57 88.17L280 240.63V74.97c86.23 15.21 152 90.5 152 181.03zM216 437.03c-33.86-5.97-64.49-21.2-89.29-43.02L216 322.57v114.46zm64-114.46L369.29 394c-24.8 21.82-55.43 37.05-89.29 43.02V322.57zm-64-247.6v165.66L86.57 344.17C72.2 317.97 64 287.93 64 256c0-90.53 65.77-165.82 152-181.03z\"]\n};\nvar faPen = {\n prefix: 'fas',\n iconName: 'pen',\n icon: [512, 512, [], \"f304\", \"M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z\"]\n};\nvar faPenAlt = {\n prefix: 'fas',\n iconName: 'pen-alt',\n icon: [512, 512, [], \"f305\", \"M497.94 74.17l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91zm-246.8-20.53c-15.62-15.62-40.94-15.62-56.56 0L75.8 172.43c-6.25 6.25-6.25 16.38 0 22.62l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l101.82-101.82 22.63 22.62L93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l196.79-196.79-82.77-82.77-84.85-84.85z\"]\n};\nvar faPenFancy = {\n prefix: 'fas',\n iconName: 'pen-fancy',\n icon: [512, 512, [], \"f5ac\", \"M79.18 282.94a32.005 32.005 0 0 0-20.24 20.24L0 480l4.69 4.69 92.89-92.89c-.66-2.56-1.57-5.03-1.57-7.8 0-17.67 14.33-32 32-32s32 14.33 32 32-14.33 32-32 32c-2.77 0-5.24-.91-7.8-1.57l-92.89 92.89L32 512l176.82-58.94a31.983 31.983 0 0 0 20.24-20.24l33.07-84.07-98.88-98.88-84.07 33.07zM369.25 28.32L186.14 227.81l97.85 97.85 199.49-183.11C568.4 67.48 443.73-55.94 369.25 28.32z\"]\n};\nvar faPenNib = {\n prefix: 'fas',\n iconName: 'pen-nib',\n icon: [512, 512, [], \"f5ad\", \"M136.6 138.79a64.003 64.003 0 0 0-43.31 41.35L0 460l14.69 14.69L164.8 324.58c-2.99-6.26-4.8-13.18-4.8-20.58 0-26.51 21.49-48 48-48s48 21.49 48 48-21.49 48-48 48c-7.4 0-14.32-1.81-20.58-4.8L37.31 497.31 52 512l279.86-93.29a64.003 64.003 0 0 0 41.35-43.31L416 224 288 96l-151.4 42.79zm361.34-64.62l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91z\"]\n};\nvar faPenSquare = {\n prefix: 'fas',\n iconName: 'pen-square',\n icon: [448, 512, [], \"f14b\", \"M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zM238.1 177.9L102.4 313.6l-6.3 57.1c-.8 7.6 5.6 14.1 13.3 13.3l57.1-6.3L302.2 242c2.3-2.3 2.3-6.1 0-8.5L246.7 178c-2.5-2.4-6.3-2.4-8.6-.1zM345 165.1L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9z\"]\n};\nvar faPencilAlt = {\n prefix: 'fas',\n iconName: 'pencil-alt',\n icon: [512, 512, [], \"f303\", \"M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z\"]\n};\nvar faPencilRuler = {\n prefix: 'fas',\n iconName: 'pencil-ruler',\n icon: [512, 512, [], \"f5ae\", \"M109.46 244.04l134.58-134.56-44.12-44.12-61.68 61.68a7.919 7.919 0 0 1-11.21 0l-11.21-11.21c-3.1-3.1-3.1-8.12 0-11.21l61.68-61.68-33.64-33.65C131.47-3.1 111.39-3.1 99 9.29L9.29 99c-12.38 12.39-12.39 32.47 0 44.86l100.17 100.18zm388.47-116.8c18.76-18.76 18.75-49.17 0-67.93l-45.25-45.25c-18.76-18.76-49.18-18.76-67.95 0l-46.02 46.01 113.2 113.2 46.02-46.03zM316.08 82.71l-297 296.96L.32 487.11c-2.53 14.49 10.09 27.11 24.59 24.56l107.45-18.84L429.28 195.9 316.08 82.71zm186.63 285.43l-33.64-33.64-61.68 61.68c-3.1 3.1-8.12 3.1-11.21 0l-11.21-11.21c-3.09-3.1-3.09-8.12 0-11.21l61.68-61.68-44.14-44.14L267.93 402.5l100.21 100.2c12.39 12.39 32.47 12.39 44.86 0l89.71-89.7c12.39-12.39 12.39-32.47 0-44.86z\"]\n};\nvar faPeopleArrows = {\n prefix: 'fas',\n iconName: 'people-arrows',\n icon: [576, 512, [], \"e068\", \"M96,128A64,64,0,1,0,32,64,64,64,0,0,0,96,128Zm0,176.08a44.11,44.11,0,0,1,13.64-32L181.77,204c1.65-1.55,3.77-2.31,5.61-3.57A63.91,63.91,0,0,0,128,160H64A64,64,0,0,0,0,224v96a32,32,0,0,0,32,32V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V383.61l-50.36-47.53A44.08,44.08,0,0,1,96,304.08ZM480,128a64,64,0,1,0-64-64A64,64,0,0,0,480,128Zm32,32H448a63.91,63.91,0,0,0-59.38,40.42c1.84,1.27,4,2,5.62,3.59l72.12,68.06a44.37,44.37,0,0,1,0,64L416,383.62V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V352a32,32,0,0,0,32-32V224A64,64,0,0,0,512,160ZM444.4,295.34l-72.12-68.06A12,12,0,0,0,352,236v36H224V236a12,12,0,0,0-20.28-8.73L131.6,295.34a12.4,12.4,0,0,0,0,17.47l72.12,68.07A12,12,0,0,0,224,372.14V336H352v36.14a12,12,0,0,0,20.28,8.74l72.12-68.07A12.4,12.4,0,0,0,444.4,295.34Z\"]\n};\nvar faPeopleCarry = {\n prefix: 'fas',\n iconName: 'people-carry',\n icon: [640, 512, [], \"f4ce\", \"M128 96c26.5 0 48-21.5 48-48S154.5 0 128 0 80 21.5 80 48s21.5 48 48 48zm384 0c26.5 0 48-21.5 48-48S538.5 0 512 0s-48 21.5-48 48 21.5 48 48 48zm125.7 372.1l-44-110-41.1 46.4-2 18.2 27.7 69.2c5 12.5 17 20.1 29.7 20.1 4 0 8-.7 11.9-2.3 16.4-6.6 24.4-25.2 17.8-41.6zm-34.2-209.8L585 178.1c-4.6-20-18.6-36.8-37.5-44.9-18.5-8-39-6.7-56.1 3.3-22.7 13.4-39.7 34.5-48.1 59.4L432 229.8 416 240v-96c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v96l-16.1-10.2-11.3-33.9c-8.3-25-25.4-46-48.1-59.4-17.2-10-37.6-11.3-56.1-3.3-18.9 8.1-32.9 24.9-37.5 44.9l-18.4 80.2c-4.6 20 .7 41.2 14.4 56.7l67.2 75.9 10.1 92.6C130 499.8 143.8 512 160 512c1.2 0 2.3-.1 3.5-.2 17.6-1.9 30.2-17.7 28.3-35.3l-10.1-92.8c-1.5-13-6.9-25.1-15.6-35l-43.3-49 17.6-70.3 6.8 20.4c4.1 12.5 11.9 23.4 24.5 32.6l51.1 32.5c4.6 2.9 12.1 4.6 17.2 5h160c5.1-.4 12.6-2.1 17.2-5l51.1-32.5c12.6-9.2 20.4-20 24.5-32.6l6.8-20.4 17.6 70.3-43.3 49c-8.7 9.9-14.1 22-15.6 35l-10.1 92.8c-1.9 17.6 10.8 33.4 28.3 35.3 1.2.1 2.3.2 3.5.2 16.1 0 30-12.1 31.8-28.5l10.1-92.6 67.2-75.9c13.6-15.5 19-36.7 14.4-56.7zM46.3 358.1l-44 110c-6.6 16.4 1.4 35 17.8 41.6 16.8 6.6 35.1-1.7 41.6-17.8l27.7-69.2-2-18.2-41.1-46.4z\"]\n};\nvar faPepperHot = {\n prefix: 'fas',\n iconName: 'pepper-hot',\n icon: [512, 512, [], \"f816\", \"M330.67 263.12V173.4l-52.75-24.22C219.44 218.76 197.58 400 56 400a56 56 0 0 0 0 112c212.64 0 370.65-122.87 419.18-210.34l-37.05-38.54zm131.09-128.37C493.92 74.91 477.18 26.48 458.62 3a8 8 0 0 0-11.93-.59l-22.9 23a8.06 8.06 0 0 0-.89 10.23c6.86 10.36 17.05 35.1-1.4 72.32A142.85 142.85 0 0 0 364.34 96c-28 0-54 8.54-76.34 22.59l74.67 34.29v78.24h89.09L506.44 288c3.26-12.62 5.56-25.63 5.56-39.31a154 154 0 0 0-50.24-113.94z\"]\n};\nvar faPercent = {\n prefix: 'fas',\n iconName: 'percent',\n icon: [448, 512, [], \"f295\", \"M112 224c61.9 0 112-50.1 112-112S173.9 0 112 0 0 50.1 0 112s50.1 112 112 112zm0-160c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zm224 224c-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112-50.1-112-112-112zm0 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zM392.3.2l31.6-.1c19.4-.1 30.9 21.8 19.7 37.8L77.4 501.6a23.95 23.95 0 0 1-19.6 10.2l-33.4.1c-19.5 0-30.9-21.9-19.7-37.8l368-463.7C377.2 4 384.5.2 392.3.2z\"]\n};\nvar faPercentage = {\n prefix: 'fas',\n iconName: 'percentage',\n icon: [384, 512, [], \"f541\", \"M109.25 173.25c24.99-24.99 24.99-65.52 0-90.51-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 25 25 65.52 25 90.51 0zm256 165.49c-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 24.99 24.99 65.52 24.99 90.51 0 25-24.99 25-65.51 0-90.51zm-1.94-231.43l-22.62-22.62c-12.5-12.5-32.76-12.5-45.25 0L20.69 359.44c-12.5 12.5-12.5 32.76 0 45.25l22.62 22.62c12.5 12.5 32.76 12.5 45.25 0l274.75-274.75c12.5-12.49 12.5-32.75 0-45.25z\"]\n};\nvar faPersonBooth = {\n prefix: 'fas',\n iconName: 'person-booth',\n icon: [576, 512, [], \"f756\", \"M192 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h-64v176zm32-272h-50.9l-45.2-45.3C115.8 166.6 99.7 160 82.7 160H64c-17.1 0-33.2 6.7-45.3 18.8C6.7 190.9 0 207 0 224.1L.2 320 0 480c0 17.7 14.3 32 31.9 32 17.6 0 32-14.3 32-32l.1-100.7c.9.5 1.6 1.3 2.5 1.7l29.1 43v56c0 17.7 14.3 32 32 32s32-14.3 32-32v-56.5c0-9.9-2.3-19.8-6.7-28.6l-41.2-61.3V253l20.9 20.9c9.1 9.1 21.1 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32zM64 128c26.5 0 48-21.5 48-48S90.5 32 64 32 16 53.5 16 80s21.5 48 48 48zm224-96l31.5 223.1-30.9 154.6c-4.3 21.6 13 38.3 31.4 38.3 15.2 0 28-9.1 32.3-30.4.9 16.9 14.6 30.4 31.7 30.4 17.7 0 32-14.3 32-32 0 17.7 14.3 32 32 32s32-14.3 32-32V0H288v32zm-96 0v160h64V0h-32c-17.7 0-32 14.3-32 32zM544 0h-32v496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32c0-17.7-14.3-32-32-32z\"]\n};\nvar faPhone = {\n prefix: 'fas',\n iconName: 'phone',\n icon: [512, 512, [], \"f095\", \"M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z\"]\n};\nvar faPhoneAlt = {\n prefix: 'fas',\n iconName: 'phone-alt',\n icon: [512, 512, [], \"f879\", \"M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z\"]\n};\nvar faPhoneSlash = {\n prefix: 'fas',\n iconName: 'phone-slash',\n icon: [640, 512, [], \"f3dd\", \"M268.2 381.4l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48c-10.7 4.6-16.5 16.1-13.9 27.5l24 104c2.5 10.8 12.1 18.6 23.4 18.6 100.7 0 193.7-32.4 269.7-86.9l-80-61.8c-10.9 6.5-22.1 12.7-33.6 18.1zm365.6 76.7L475.1 335.5C537.9 256.4 576 156.9 576 48c0-11.2-7.7-20.9-18.6-23.4l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-12.2 26.1-27.9 50.3-46 72.8L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z\"]\n};\nvar faPhoneSquare = {\n prefix: 'fas',\n iconName: 'phone-square',\n icon: [448, 512, [], \"f098\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM94 416c-7.033 0-13.057-4.873-14.616-11.627l-14.998-65a15 15 0 0 1 8.707-17.16l69.998-29.999a15 15 0 0 1 17.518 4.289l30.997 37.885c48.944-22.963 88.297-62.858 110.781-110.78l-37.886-30.997a15.001 15.001 0 0 1-4.289-17.518l30-69.998a15 15 0 0 1 17.16-8.707l65 14.998A14.997 14.997 0 0 1 384 126c0 160.292-129.945 290-290 290z\"]\n};\nvar faPhoneSquareAlt = {\n prefix: 'fas',\n iconName: 'phone-square-alt',\n icon: [448, 512, [], \"f87b\", \"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zm-16.39 307.37l-15 65A15 15 0 0 1 354 416C194 416 64 286.29 64 126a15.7 15.7 0 0 1 11.63-14.61l65-15A18.23 18.23 0 0 1 144 96a16.27 16.27 0 0 1 13.79 9.09l30 70A17.9 17.9 0 0 1 189 181a17 17 0 0 1-5.5 11.61l-37.89 31a231.91 231.91 0 0 0 110.78 110.78l31-37.89A17 17 0 0 1 299 291a17.85 17.85 0 0 1 5.91 1.21l70 30A16.25 16.25 0 0 1 384 336a17.41 17.41 0 0 1-.39 3.37z\"]\n};\nvar faPhoneVolume = {\n prefix: 'fas',\n iconName: 'phone-volume',\n icon: [384, 512, [], \"f2a0\", \"M97.333 506.966c-129.874-129.874-129.681-340.252 0-469.933 5.698-5.698 14.527-6.632 21.263-2.422l64.817 40.513a17.187 17.187 0 0 1 6.849 20.958l-32.408 81.021a17.188 17.188 0 0 1-17.669 10.719l-55.81-5.58c-21.051 58.261-20.612 122.471 0 179.515l55.811-5.581a17.188 17.188 0 0 1 17.669 10.719l32.408 81.022a17.188 17.188 0 0 1-6.849 20.958l-64.817 40.513a17.19 17.19 0 0 1-21.264-2.422zM247.126 95.473c11.832 20.047 11.832 45.008 0 65.055-3.95 6.693-13.108 7.959-18.718 2.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063 32.063 0 0 0 0-29.945c-2.533-4.788-1.65-10.662 2.261-14.41l5.975-5.726c5.61-5.378 14.768-4.112 18.718 2.581zm91.787-91.187c60.14 71.604 60.092 175.882 0 247.428-4.474 5.327-12.53 5.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379 49.687-59.538 49.646-145.933 0-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813 13.078-4.394 17.552.933zm-45.972 44.941c36.05 46.322 36.108 111.149 0 157.546-4.39 5.641-12.697 6.251-17.856 1.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931 26.536-34.564 26.534-82.572 0-117.134-3.713-4.836-3.115-11.711 1.285-15.931l5.818-5.579c5.159-4.947 13.466-4.337 17.856 1.304z\"]\n};\nvar faPhotoVideo = {\n prefix: 'fas',\n iconName: 'photo-video',\n icon: [640, 512, [], \"f87c\", \"M608 0H160a32 32 0 0 0-32 32v96h160V64h192v320h128a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zM232 103a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm352 208a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm-168 57H32a32 32 0 0 0-32 32v288a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM96 224a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm288 224H64v-32l64-64 32 32 128-128 96 96z\"]\n};\nvar faPiggyBank = {\n prefix: 'fas',\n iconName: 'piggy-bank',\n icon: [576, 512, [], \"f4d3\", \"M560 224h-29.5c-8.8-20-21.6-37.7-37.4-52.5L512 96h-32c-29.4 0-55.4 13.5-73 34.3-7.6-1.1-15.1-2.3-23-2.3H256c-77.4 0-141.9 55-156.8 128H56c-14.8 0-26.5-13.5-23.5-28.8C34.7 215.8 45.4 208 57 208h1c3.3 0 6-2.7 6-6v-20c0-3.3-2.7-6-6-6-28.5 0-53.9 20.4-57.5 48.6C-3.9 258.8 22.7 288 56 288h40c0 52.2 25.4 98.1 64 127.3V496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-48h128v48c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80.7c11.8-8.9 22.3-19.4 31.3-31.3H560c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16zm-128 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM256 96h128c5.4 0 10.7.4 15.9.8 0-.3.1-.5.1-.8 0-53-43-96-96-96s-96 43-96 96c0 2.1.5 4.1.6 6.2 15.2-3.9 31-6.2 47.4-6.2z\"]\n};\nvar faPills = {\n prefix: 'fas',\n iconName: 'pills',\n icon: [576, 512, [], \"f484\", \"M112 32C50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112zm48 224H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm139.7-29.7c-3.5-3.5-9.4-3.1-12.3.8-45.3 62.5-40.4 150.1 15.9 206.4 56.3 56.3 143.9 61.2 206.4 15.9 4-2.9 4.3-8.8.8-12.3L299.7 226.3zm229.8-19c-56.3-56.3-143.9-61.2-206.4-15.9-4 2.9-4.3 8.8-.8 12.3l210.8 210.8c3.5 3.5 9.4 3.1 12.3-.8 45.3-62.6 40.5-150.1-15.9-206.4z\"]\n};\nvar faPizzaSlice = {\n prefix: 'fas',\n iconName: 'pizza-slice',\n icon: [512, 512, [], \"f818\", \"M158.87.15c-16.16-1.52-31.2 8.42-35.33 24.12l-14.81 56.27c187.62 5.49 314.54 130.61 322.48 317l56.94-15.78c15.72-4.36 25.49-19.68 23.62-35.9C490.89 165.08 340.78 17.32 158.87.15zm-58.47 112L.55 491.64a16.21 16.21 0 0 0 20 19.75l379-105.1c-4.27-174.89-123.08-292.14-299.15-294.1zM128 416a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm48-152a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm104 104a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"]\n};\nvar faPlaceOfWorship = {\n prefix: 'fas',\n iconName: 'place-of-worship',\n icon: [640, 512, [], \"f67f\", \"M620.61 366.55L512 320v192h112c8.84 0 16-7.16 16-16V395.96a32 32 0 0 0-19.39-29.41zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.55A32 32 0 0 0 0 395.96zm464.46-149.28L416 217.6V102.63c0-8.49-3.37-16.62-9.38-22.63L331.31 4.69c-6.25-6.25-16.38-6.25-22.62 0L233.38 80c-6 6-9.38 14.14-9.38 22.63V217.6l-48.46 29.08A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.66-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44z\"]\n};\nvar faPlane = {\n prefix: 'fas',\n iconName: 'plane',\n icon: [576, 512, [], \"f072\", \"M480 192H365.71L260.61 8.06A16.014 16.014 0 0 0 246.71 0h-65.5c-10.63 0-18.3 10.17-15.38 20.39L214.86 192H112l-43.2-57.6c-3.02-4.03-7.77-6.4-12.8-6.4H16.01C5.6 128-2.04 137.78.49 147.88L32 256 .49 364.12C-2.04 374.22 5.6 384 16.01 384H56c5.04 0 9.78-2.37 12.8-6.4L112 320h102.86l-49.03 171.6c-2.92 10.22 4.75 20.4 15.38 20.4h65.5c5.74 0 11.04-3.08 13.89-8.06L365.71 320H480c35.35 0 96-28.65 96-64s-60.65-64-96-64z\"]\n};\nvar faPlaneArrival = {\n prefix: 'fas',\n iconName: 'plane-arrival',\n icon: [640, 512, [], \"f5af\", \"M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM44.81 205.66l88.74 80a62.607 62.607 0 0 0 25.47 13.93l287.6 78.35c26.48 7.21 54.56 8.72 81 1.36 29.67-8.27 43.44-21.21 47.25-35.71 3.83-14.5-1.73-32.71-23.37-54.96-19.28-19.82-44.35-32.79-70.83-40l-97.51-26.56L282.8 30.22c-1.51-5.81-5.95-10.35-11.66-11.91L206.05.58c-10.56-2.88-20.9 5.32-20.71 16.44l47.92 164.21-102.2-27.84-27.59-67.88c-1.93-4.89-6.01-8.57-11.02-9.93L52.72 64.75c-10.34-2.82-20.53 5-20.72 15.88l.23 101.78c.19 8.91 6.03 17.34 12.58 23.25z\"]\n};\nvar faPlaneDeparture = {\n prefix: 'fas',\n iconName: 'plane-departure',\n icon: [640, 512, [], \"f5b0\", \"M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM80.55 341.27c6.28 6.84 15.1 10.72 24.33 10.71l130.54-.18a65.62 65.62 0 0 0 29.64-7.12l290.96-147.65c26.74-13.57 50.71-32.94 67.02-58.31 18.31-28.48 20.3-49.09 13.07-63.65-7.21-14.57-24.74-25.27-58.25-27.45-29.85-1.94-59.54 5.92-86.28 19.48l-98.51 49.99-218.7-82.06a17.799 17.799 0 0 0-18-1.11L90.62 67.29c-10.67 5.41-13.25 19.65-5.17 28.53l156.22 98.1-103.21 52.38-72.35-36.47a17.804 17.804 0 0 0-16.07.02L9.91 230.22c-10.44 5.3-13.19 19.12-5.57 28.08l76.21 82.97z\"]\n};\nvar faPlaneSlash = {\n prefix: 'fas',\n iconName: 'plane-slash',\n icon: [640, 512, [], \"e069\", \"M32.48,147.88,64,256,32.48,364.13A16,16,0,0,0,48,384H88a16,16,0,0,0,12.8-6.41L144,320H246.85l-49,171.59A16,16,0,0,0,213.2,512h65.5a16,16,0,0,0,13.89-8.06l66.6-116.54L34.35,136.34A15.47,15.47,0,0,0,32.48,147.88ZM633.82,458.09,455.14,320H512c35.34,0,96-28.66,96-64s-60.66-64-96-64H397.7L292.61,8.06C290.06,3.61,283.84,0,278.71,0H213.2a16,16,0,0,0-15.38,20.39l36.94,129.29L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09Z\"]\n};\nvar faPlay = {\n prefix: 'fas',\n iconName: 'play',\n icon: [448, 512, [], \"f04b\", \"M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z\"]\n};\nvar faPlayCircle = {\n prefix: 'fas',\n iconName: 'play-circle',\n icon: [512, 512, [], \"f144\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z\"]\n};\nvar faPlug = {\n prefix: 'fas',\n iconName: 'plug',\n icon: [384, 512, [], \"f1e6\", \"M320,32a32,32,0,0,0-64,0v96h64Zm48,128H16A16,16,0,0,0,0,176v32a16,16,0,0,0,16,16H32v32A160.07,160.07,0,0,0,160,412.8V512h64V412.8A160.07,160.07,0,0,0,352,256V224h16a16,16,0,0,0,16-16V176A16,16,0,0,0,368,160ZM128,32a32,32,0,0,0-64,0v96h64Z\"]\n};\nvar faPlus = {\n prefix: 'fas',\n iconName: 'plus',\n icon: [448, 512, [], \"f067\", \"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"]\n};\nvar faPlusCircle = {\n prefix: 'fas',\n iconName: 'plus-circle',\n icon: [512, 512, [], \"f055\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z\"]\n};\nvar faPlusSquare = {\n prefix: 'fas',\n iconName: 'plus-square',\n icon: [448, 512, [], \"f0fe\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z\"]\n};\nvar faPodcast = {\n prefix: 'fas',\n iconName: 'podcast',\n icon: [448, 512, [], \"f2ce\", \"M267.429 488.563C262.286 507.573 242.858 512 224 512c-18.857 0-38.286-4.427-43.428-23.437C172.927 460.134 160 388.898 160 355.75c0-35.156 31.142-43.75 64-43.75s64 8.594 64 43.75c0 32.949-12.871 104.179-20.571 132.813zM156.867 288.554c-18.693-18.308-29.958-44.173-28.784-72.599 2.054-49.724 42.395-89.956 92.124-91.881C274.862 121.958 320 165.807 320 220c0 26.827-11.064 51.116-28.866 68.552-2.675 2.62-2.401 6.986.628 9.187 9.312 6.765 16.46 15.343 21.234 25.363 1.741 3.654 6.497 4.66 9.449 1.891 28.826-27.043 46.553-65.783 45.511-108.565-1.855-76.206-63.595-138.208-139.793-140.369C146.869 73.753 80 139.215 80 220c0 41.361 17.532 78.7 45.55 104.989 2.953 2.771 7.711 1.77 9.453-1.887 4.774-10.021 11.923-18.598 21.235-25.363 3.029-2.2 3.304-6.566.629-9.185zM224 0C100.204 0 0 100.185 0 224c0 89.992 52.602 165.647 125.739 201.408 4.333 2.118 9.267-1.544 8.535-6.31-2.382-15.512-4.342-30.946-5.406-44.339-.146-1.836-1.149-3.486-2.678-4.512-47.4-31.806-78.564-86.016-78.187-147.347.592-96.237 79.29-174.648 175.529-174.899C320.793 47.747 400 126.797 400 224c0 61.932-32.158 116.49-80.65 147.867-.999 14.037-3.069 30.588-5.624 47.23-.732 4.767 4.203 8.429 8.535 6.31C395.227 389.727 448 314.187 448 224 448 100.205 347.815 0 224 0zm0 160c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64z\"]\n};\nvar faPoll = {\n prefix: 'fas',\n iconName: 'poll',\n icon: [448, 512, [], \"f681\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM160 368c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V240c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v128zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V144c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v224zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-64c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v64z\"]\n};\nvar faPollH = {\n prefix: 'fas',\n iconName: 'poll-h',\n icon: [448, 512, [], \"f682\", \"M448 432V80c0-26.5-21.5-48-48-48H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48zM112 192c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h128c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-64z\"]\n};\nvar faPoo = {\n prefix: 'fas',\n iconName: 'poo',\n icon: [512, 512, [], \"f2fe\", \"M451.4 369.1C468.7 356 480 335.4 480 312c0-39.8-32.2-72-72-72h-14.1c13.4-11.7 22.1-28.8 22.1-48 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C250.3 14.6 256 30.6 256 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 19.2 8.7 36.3 22.1 48H104c-39.8 0-72 32.2-72 72 0 23.4 11.3 44 28.6 57.1C26.3 374.6 0 404.1 0 440c0 39.8 32.2 72 72 72h368c39.8 0 72-32.2 72-72 0-35.9-26.3-65.4-60.6-70.9zM192 256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm159.5 139C341 422.9 293 448 256 448s-85-25.1-95.5-53c-2-5.3 2-11 7.8-11h175.4c5.8 0 9.8 5.7 7.8 11zM320 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faPooStorm = {\n prefix: 'fas',\n iconName: 'poo-storm',\n icon: [448, 512, [], \"f75a\", \"M308 336h-57.7l17.3-64.9c2-7.6-3.7-15.1-11.6-15.1h-68c-6 0-11.1 4.5-11.9 10.4l-16 120c-1 7.2 4.6 13.6 11.9 13.6h59.3l-23 97.2c-1.8 7.6 4 14.8 11.7 14.8 4.2 0 8.2-2.2 10.4-6l88-152c4.6-8-1.2-18-10.4-18zm66.4-111.3c5.9-9.6 9.6-20.6 9.6-32.7 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C218.3 14.6 224 30.6 224 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 12.1 3.7 23.1 9.6 32.7C32.6 228 0 262.2 0 304c0 44 36 80 80 80h48.3c.1-.6 0-1.2 0-1.8l16-120c3-21.8 21.7-38.2 43.7-38.2h68c13.8 0 26.5 6.3 34.9 17.2s11.2 24.8 7.6 38.1l-6.6 24.7h16c15.7 0 30.3 8.4 38.1 22 7.8 13.6 7.8 30.5 0 44l-8.1 14h30c44 0 80-36 80-80 .1-41.8-32.5-76-73.5-79.3z\"]\n};\nvar faPoop = {\n prefix: 'fas',\n iconName: 'poop',\n icon: [512, 512, [], \"f619\", \"M451.36 369.14C468.66 355.99 480 335.41 480 312c0-39.77-32.24-72-72-72h-14.07c13.42-11.73 22.07-28.78 22.07-48 0-35.35-28.65-64-64-64h-5.88c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96-5.17 0-10.15.74-15.11 1.52C250.31 14.64 256 30.62 256 48c0 44.18-35.82 80-80 80h-16c-35.35 0-64 28.65-64 64 0 19.22 8.65 36.27 22.07 48H104c-39.76 0-72 32.23-72 72 0 23.41 11.34 43.99 28.64 57.14C26.31 374.62 0 404.12 0 440c0 39.76 32.24 72 72 72h368c39.76 0 72-32.24 72-72 0-35.88-26.31-65.38-60.64-70.86z\"]\n};\nvar faPortrait = {\n prefix: 'fas',\n iconName: 'portrait',\n icon: [384, 512, [], \"f3e0\", \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM192 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 384 80 375.4 80 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"]\n};\nvar faPoundSign = {\n prefix: 'fas',\n iconName: 'pound-sign',\n icon: [320, 512, [], \"f154\", \"M308 352h-45.495c-6.627 0-12 5.373-12 12v50.848H128V288h84c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-84v-63.556c0-32.266 24.562-57.086 61.792-57.086 23.658 0 45.878 11.505 57.652 18.849 5.151 3.213 11.888 2.051 15.688-2.685l28.493-35.513c4.233-5.276 3.279-13.005-2.119-17.081C273.124 54.56 236.576 32 187.931 32 106.026 32 48 84.742 48 157.961V224H20c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h28v128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12V364c0-6.627-5.373-12-12-12z\"]\n};\nvar faPowerOff = {\n prefix: 'fas',\n iconName: 'power-off',\n icon: [512, 512, [], \"f011\", \"M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z\"]\n};\nvar faPray = {\n prefix: 'fas',\n iconName: 'pray',\n icon: [384, 512, [], \"f683\", \"M256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-30.63 169.75c14.06 16.72 39 19.09 55.97 5.22l88-72.02c17.09-13.98 19.59-39.19 5.62-56.28-13.97-17.11-39.19-19.59-56.31-5.62l-57.44 47-38.91-46.31c-15.44-18.39-39.22-27.92-64-25.33-24.19 2.48-45.25 16.27-56.37 36.92l-49.37 92.03c-23.4 43.64-8.69 96.37 34.19 123.75L131.56 432H40c-22.09 0-40 17.91-40 40s17.91 40 40 40h208c34.08 0 53.77-42.79 28.28-68.28L166.42 333.86l34.8-64.87 24.15 28.76z\"]\n};\nvar faPrayingHands = {\n prefix: 'fas',\n iconName: 'praying-hands',\n icon: [640, 512, [], \"f684\", \"M272 191.91c-17.6 0-32 14.4-32 32v80c0 8.84-7.16 16-16 16s-16-7.16-16-16v-76.55c0-17.39 4.72-34.47 13.69-49.39l77.75-129.59c9.09-15.16 4.19-34.81-10.97-43.91-14.45-8.67-32.72-4.3-42.3 9.21-.2.23-.62.21-.79.48l-117.26 175.9C117.56 205.9 112 224.31 112 243.29v80.23l-90.12 30.04A31.974 31.974 0 0 0 0 383.91v96c0 10.82 8.52 32 32 32 2.69 0 5.41-.34 8.06-1.03l179.19-46.62C269.16 449.99 304 403.8 304 351.91v-128c0-17.6-14.4-32-32-32zm346.12 161.73L528 323.6v-80.23c0-18.98-5.56-37.39-16.12-53.23L394.62 14.25c-.18-.27-.59-.24-.79-.48-9.58-13.51-27.85-17.88-42.3-9.21-15.16 9.09-20.06 28.75-10.97 43.91l77.75 129.59c8.97 14.92 13.69 32 13.69 49.39V304c0 8.84-7.16 16-16 16s-16-7.16-16-16v-80c0-17.6-14.4-32-32-32s-32 14.4-32 32v128c0 51.89 34.84 98.08 84.75 112.34l179.19 46.62c2.66.69 5.38 1.03 8.06 1.03 23.48 0 32-21.18 32-32v-96c0-13.77-8.81-25.99-21.88-30.35z\"]\n};\nvar faPrescription = {\n prefix: 'fas',\n iconName: 'prescription',\n icon: [384, 512, [], \"f5b1\", \"M301.26 352l78.06-78.06c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0L256 306.74l-83.96-83.96C219.31 216.8 256 176.89 256 128c0-53.02-42.98-96-96-96H16C7.16 32 0 39.16 0 48v256c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-80h18.75l128 128-78.06 78.06c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0L256 397.25l78.06 78.06c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63L301.26 352zM64 96h96c17.64 0 32 14.36 32 32s-14.36 32-32 32H64V96z\"]\n};\nvar faPrescriptionBottle = {\n prefix: 'fas',\n iconName: 'prescription-bottle',\n icon: [384, 512, [], \"f485\", \"M32 192h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v64zM360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24z\"]\n};\nvar faPrescriptionBottleAlt = {\n prefix: 'fas',\n iconName: 'prescription-bottle-alt',\n icon: [384, 512, [], \"f486\", \"M360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24zM32 480c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v352zm64-184c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48z\"]\n};\nvar faPrint = {\n prefix: 'fas',\n iconName: 'print',\n icon: [512, 512, [], \"f02f\", \"M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faProcedures = {\n prefix: 'fas',\n iconName: 'procedures',\n icon: [640, 512, [], \"f487\", \"M528 224H272c-8.8 0-16 7.2-16 16v144H64V144c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v352c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48h512v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-61.9-50.1-112-112-112zM136 96h126.1l27.6 55.2c5.9 11.8 22.7 11.8 28.6 0L368 51.8 390.1 96H512c8.8 0 16-7.2 16-16s-7.2-16-16-16H409.9L382.3 8.8C376.4-3 359.6-3 353.7 8.8L304 108.2l-19.9-39.8c-1.4-2.7-4.1-4.4-7.2-4.4H136c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm24 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"]\n};\nvar faProjectDiagram = {\n prefix: 'fas',\n iconName: 'project-diagram',\n icon: [640, 512, [], \"f542\", \"M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z\"]\n};\nvar faPumpMedical = {\n prefix: 'fas',\n iconName: 'pump-medical',\n icon: [384, 512, [], \"e06a\", \"M235.51,159.82H84.24A64,64,0,0,0,20.51,218L.14,442a64,64,0,0,0,63.74,69.8h192A64,64,0,0,0,319.61,442L299.24,218A64,64,0,0,0,235.51,159.82Zm4.37,173.33a13.35,13.35,0,0,1-13.34,13.34h-40v40a13.33,13.33,0,0,1-13.33,13.33H146.54a13.33,13.33,0,0,1-13.33-13.33v-40h-40a13.34,13.34,0,0,1-13.33-13.34V306.49a13.33,13.33,0,0,1,13.33-13.34h40v-40a13.33,13.33,0,0,1,13.33-13.33h26.67a13.33,13.33,0,0,1,13.33,13.33v40h40a13.34,13.34,0,0,1,13.34,13.34ZM379.19,93.88,335.87,50.56a64,64,0,0,0-45.24-18.74H223.88a32,32,0,0,0-32-32h-64a32,32,0,0,0-32,32v96h128v-32h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.19,93.88Z\"]\n};\nvar faPumpSoap = {\n prefix: 'fas',\n iconName: 'pump-soap',\n icon: [384, 512, [], \"e06b\", \"M235.63,160H84.37a64,64,0,0,0-63.74,58.21L.27,442.21A64,64,0,0,0,64,512H256a64,64,0,0,0,63.74-69.79l-20.36-224A64,64,0,0,0,235.63,160ZM160,416c-33.12,0-60-26.33-60-58.75,0-25,35.7-75.47,52-97.27A10,10,0,0,1,168,260c16.33,21.8,52,72.27,52,97.27C220,389.67,193.12,416,160,416ZM379.31,94.06,336,50.74A64,64,0,0,0,290.75,32H224A32,32,0,0,0,192,0H128A32,32,0,0,0,96,32v96H224V96h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.31,94.06Z\"]\n};\nvar faPuzzlePiece = {\n prefix: 'fas',\n iconName: 'puzzle-piece',\n icon: [576, 512, [], \"f12e\", \"M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z\"]\n};\nvar faQrcode = {\n prefix: 'fas',\n iconName: 'qrcode',\n icon: [448, 512, [], \"f029\", \"M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z\"]\n};\nvar faQuestion = {\n prefix: 'fas',\n iconName: 'question',\n icon: [384, 512, [], \"f128\", \"M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z\"]\n};\nvar faQuestionCircle = {\n prefix: 'fas',\n iconName: 'question-circle',\n icon: [512, 512, [], \"f059\", \"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z\"]\n};\nvar faQuidditch = {\n prefix: 'fas',\n iconName: 'quidditch',\n icon: [640, 512, [], \"f458\", \"M256.5 216.8L343.2 326s-16.6 102.4-76.6 150.1C206.7 523.8 0 510.2 0 510.2s3.8-23.1 11-55.4l94.6-112.2c4-4.7-.9-11.6-6.6-9.5l-60.4 22.1c14.4-41.7 32.7-80 54.6-97.5 59.9-47.8 163.3-40.9 163.3-40.9zm238 135c-44 0-79.8 35.8-79.8 79.9 0 44.1 35.7 79.9 79.8 79.9 44.1 0 79.8-35.8 79.8-79.9 0-44.2-35.8-79.9-79.8-79.9zM636.5 31L616.7 6c-5.5-6.9-15.5-8-22.4-2.6L361.8 181.3l-34.1-43c-5.1-6.4-15.1-5.2-18.6 2.2l-25.3 54.6 86.7 109.2 58.8-12.4c8-1.7 11.4-11.2 6.3-17.6l-34.1-42.9L634 53.5c6.9-5.5 8-15.6 2.5-22.5z\"]\n};\nvar faQuoteLeft = {\n prefix: 'fas',\n iconName: 'quote-left',\n icon: [512, 512, [], \"f10d\", \"M464 256h-80v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8c-88.4 0-160 71.6-160 160v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zm-288 0H96v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8C71.6 32 0 103.6 0 192v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z\"]\n};\nvar faQuoteRight = {\n prefix: 'fas',\n iconName: 'quote-right',\n icon: [512, 512, [], \"f10e\", \"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faQuran = {\n prefix: 'fas',\n iconName: 'quran',\n icon: [448, 512, [], \"f687\", \"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM301.08 145.82c.6-1.21 1.76-1.82 2.92-1.82s2.32.61 2.92 1.82l11.18 22.65 25 3.63c2.67.39 3.74 3.67 1.81 5.56l-18.09 17.63 4.27 24.89c.36 2.11-1.31 3.82-3.21 3.82-.5 0-1.02-.12-1.52-.38L304 211.87l-22.36 11.75c-.5.26-1.02.38-1.52.38-1.9 0-3.57-1.71-3.21-3.82l4.27-24.89-18.09-17.63c-1.94-1.89-.87-5.17 1.81-5.56l24.99-3.63 11.19-22.65zm-57.89-69.01c13.67 0 27.26 2.49 40.38 7.41a6.775 6.775 0 1 1-2.38 13.12c-.67 0-3.09-.21-4.13-.21-52.31 0-94.86 42.55-94.86 94.86 0 52.3 42.55 94.86 94.86 94.86 1.03 0 3.48-.21 4.13-.21 3.93 0 6.8 3.14 6.8 6.78 0 2.98-1.94 5.51-4.62 6.42-13.07 4.87-26.59 7.34-40.19 7.34C179.67 307.19 128 255.51 128 192c0-63.52 51.67-115.19 115.19-115.19zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"]\n};\nvar faRadiation = {\n prefix: 'fas',\n iconName: 'radiation',\n icon: [496, 512, [], \"f7b9\", \"M328.2 255.8h151.6c9.1 0 16.8-7.7 16.2-16.8-5.1-75.8-44.4-142.2-102.5-184.2-7.4-5.3-17.9-2.9-22.7 4.8L290.4 188c22.6 14.3 37.8 39.2 37.8 67.8zm-37.8 67.7c-12.3 7.7-26.8 12.4-42.4 12.4-15.6 0-30-4.7-42.4-12.4L125.2 452c-4.8 7.7-2.4 18.1 5.6 22.4C165.7 493.2 205.6 504 248 504s82.3-10.8 117.2-29.6c8-4.3 10.4-14.8 5.6-22.4l-80.4-128.5zM248 303.8c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm-231.8-48h151.6c0-28.6 15.2-53.5 37.8-67.7L125.2 59.7c-4.8-7.7-15.3-10.2-22.7-4.8C44.4 96.9 5.1 163.3 0 239.1c-.6 9 7.1 16.7 16.2 16.7z\"]\n};\nvar faRadiationAlt = {\n prefix: 'fas',\n iconName: 'radiation-alt',\n icon: [496, 512, [], \"f7ba\", \"M312 256h79.1c9.2 0 16.9-7.7 16-16.8-4.6-43.6-27-81.8-59.5-107.8-7.6-6.1-18.8-4.5-24 3.8L281.9 202c18 11.2 30.1 31.2 30.1 54zm-97.8 54.1L172.4 377c-4.9 7.8-2.4 18.4 5.8 22.5 21.1 10.4 44.7 16.5 69.8 16.5s48.7-6.1 69.9-16.5c8.2-4.1 10.6-14.7 5.8-22.5l-41.8-66.9c-9.8 6.2-21.4 9.9-33.8 9.9s-24.1-3.7-33.9-9.9zM104.9 256H184c0-22.8 12.1-42.8 30.2-54.1l-41.7-66.8c-5.2-8.3-16.4-9.9-24-3.8-32.6 26-54.9 64.2-59.5 107.8-1.1 9.2 6.7 16.9 15.9 16.9zM248 504c137 0 248-111 248-248S385 8 248 8 0 119 0 256s111 248 248 248zm0-432c101.5 0 184 82.5 184 184s-82.5 184-184 184S64 357.5 64 256 146.5 72 248 72zm0 216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"]\n};\nvar faRainbow = {\n prefix: 'fas',\n iconName: 'rainbow',\n icon: [576, 512, [], \"f75b\", \"M268.3 32.7C115.4 42.9 0 176.9 0 330.2V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C64 186.8 180.9 80.3 317.5 97.9 430.4 112.4 512 214 512 327.8V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-165.3-140-298.6-307.7-287.3zm-5.6 96.9C166 142 96 229.1 96 326.7V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-74.8 64.5-134.8 140.8-127.4 66.5 6.5 115.2 66.2 115.2 133.1V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-114.2-100.2-205.4-217.3-190.4zm6.2 96.3c-45.6 8.9-76.9 51.5-76.9 97.9V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-17.6 14.3-32 32-32s32 14.4 32 32v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-59.2-53.8-106-115.1-94.1z\"]\n};\nvar faRandom = {\n prefix: 'fas',\n iconName: 'random',\n icon: [512, 512, [], \"f074\", \"M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z\"]\n};\nvar faReceipt = {\n prefix: 'fas',\n iconName: 'receipt',\n icon: [384, 512, [], \"f543\", \"M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faRecordVinyl = {\n prefix: 'fas',\n iconName: 'record-vinyl',\n icon: [512, 512, [], \"f8d9\", \"M256 152a104 104 0 1 0 104 104 104 104 0 0 0-104-104zm0 128a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-272C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 376a128 128 0 1 1 128-128 128 128 0 0 1-128 128z\"]\n};\nvar faRecycle = {\n prefix: 'fas',\n iconName: 'recycle',\n icon: [512, 512, [], \"f1b8\", \"M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z\"]\n};\nvar faRedo = {\n prefix: 'fas',\n iconName: 'redo',\n icon: [512, 512, [], \"f01e\", \"M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z\"]\n};\nvar faRedoAlt = {\n prefix: 'fas',\n iconName: 'redo-alt',\n icon: [512, 512, [], \"f2f9\", \"M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z\"]\n};\nvar faRegistered = {\n prefix: 'fas',\n iconName: 'registered',\n icon: [512, 512, [], \"f25d\", \"M285.363 207.475c0 18.6-9.831 28.431-28.431 28.431h-29.876v-56.14h23.378c28.668 0 34.929 8.773 34.929 27.709zM504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM363.411 360.414c-46.729-84.825-43.299-78.636-44.702-80.98 23.432-15.172 37.945-42.979 37.945-74.486 0-54.244-31.5-89.252-105.498-89.252h-70.667c-13.255 0-24 10.745-24 24V372c0 13.255 10.745 24 24 24h22.567c13.255 0 24-10.745 24-24v-71.663h25.556l44.129 82.937a24.001 24.001 0 0 0 21.188 12.727h24.464c18.261-.001 29.829-19.591 21.018-35.587z\"]\n};\nvar faRemoveFormat = {\n prefix: 'fas',\n iconName: 'remove-format',\n icon: [640, 512, [], \"f87d\", \"M336 416h-11.17l9.26-27.77L267 336.4 240.49 416H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm297.82 42.1L377 259.59 426.17 112H544v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H176a16 16 0 0 0-16 16v43.9L45.46 3.38A16 16 0 0 0 23 6.19L3.37 31.46a16 16 0 0 0 2.81 22.45l588.36 454.72a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zM309.91 207.76L224 141.36V112h117.83z\"]\n};\nvar faReply = {\n prefix: 'fas',\n iconName: 'reply',\n icon: [512, 512, [], \"f3e5\", \"M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z\"]\n};\nvar faReplyAll = {\n prefix: 'fas',\n iconName: 'reply-all',\n icon: [576, 512, [], \"f122\", \"M136.309 189.836L312.313 37.851C327.72 24.546 352 35.348 352 56.015v82.763c129.182 10.231 224 52.212 224 183.548 0 61.441-39.582 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 38.512-123.162-3.922-169.482-112.59-182.015v84.175c0 20.701-24.3 31.453-39.687 18.164L136.309 226.164c-11.071-9.561-11.086-26.753 0-36.328zm-128 36.328L184.313 378.15C199.7 391.439 224 380.687 224 359.986v-15.818l-108.606-93.785A55.96 55.96 0 0 1 96 207.998a55.953 55.953 0 0 1 19.393-42.38L224 71.832V56.015c0-20.667-24.28-31.469-39.687-18.164L8.309 189.836c-11.086 9.575-11.071 26.767 0 36.328z\"]\n};\nvar faRepublican = {\n prefix: 'fas',\n iconName: 'republican',\n icon: [640, 512, [], \"f75e\", \"M544 192c0-88.4-71.6-160-160-160H160C71.6 32 0 103.6 0 192v64h544v-64zm-367.7-21.6l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L128 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L272 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L416 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zM624 320h-32c-8.8 0-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V288H0v176c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-80h192v80c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V352h32v43.3c0 41.8 30 80.1 71.6 84.3 47.8 4.9 88.4-32.7 88.4-79.6v-64c0-8.8-7.2-16-16-16z\"]\n};\nvar faRestroom = {\n prefix: 'fas',\n iconName: 'restroom',\n icon: [640, 512, [], \"f7bd\", \"M128 128c35.3 0 64-28.7 64-64S163.3 0 128 0 64 28.7 64 64s28.7 64 64 64zm384 0c35.3 0 64-28.7 64-64S547.3 0 512 0s-64 28.7-64 64 28.7 64 64 64zm127.3 226.5l-45.6-185.8c-3.3-13.5-15.5-23-29.8-24.2-15 9.7-32.8 15.5-52 15.5-19.2 0-37-5.8-52-15.5-14.3 1.2-26.5 10.7-29.8 24.2l-45.6 185.8C381 369.6 393 384 409.2 384H464v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V384h54.8c16.2 0 28.2-14.4 24.5-29.5zM336 0h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zM180.1 144.4c-15 9.8-32.9 15.6-52.1 15.6-19.2 0-37.1-5.8-52.1-15.6C51.3 146.5 32 166.9 32 192v136c0 13.3 10.7 24 24 24h8v136c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V352h8c13.3 0 24-10.7 24-24V192c0-25.1-19.3-45.5-43.9-47.6z\"]\n};\nvar faRetweet = {\n prefix: 'fas',\n iconName: 'retweet',\n icon: [640, 512, [], \"f079\", \"M629.657 343.598L528.971 444.284c-9.373 9.372-24.568 9.372-33.941 0L394.343 343.598c-9.373-9.373-9.373-24.569 0-33.941l10.823-10.823c9.562-9.562 25.133-9.34 34.419.492L480 342.118V160H292.451a24.005 24.005 0 0 1-16.971-7.029l-16-16C244.361 121.851 255.069 96 276.451 96H520c13.255 0 24 10.745 24 24v222.118l40.416-42.792c9.285-9.831 24.856-10.054 34.419-.492l10.823 10.823c9.372 9.372 9.372 24.569-.001 33.941zm-265.138 15.431A23.999 23.999 0 0 0 347.548 352H160V169.881l40.416 42.792c9.286 9.831 24.856 10.054 34.419.491l10.822-10.822c9.373-9.373 9.373-24.569 0-33.941L144.971 67.716c-9.373-9.373-24.569-9.373-33.941 0L10.343 168.402c-9.373 9.373-9.373 24.569 0 33.941l10.822 10.822c9.562 9.562 25.133 9.34 34.419-.491L96 169.881V392c0 13.255 10.745 24 24 24h243.549c21.382 0 32.09-25.851 16.971-40.971l-16.001-16z\"]\n};\nvar faRibbon = {\n prefix: 'fas',\n iconName: 'ribbon',\n icon: [448, 512, [], \"f4d6\", \"M6.1 444.3c-9.6 10.8-7.5 27.6 4.5 35.7l68.8 27.9c9.9 6.7 23.3 5 31.3-3.8l91.8-101.9-79.2-87.9-117.2 130zm435.8 0s-292-324.6-295.4-330.1c15.4-8.4 40.2-17.9 77.5-17.9s62.1 9.5 77.5 17.9c-3.3 5.6-56 64.6-56 64.6l79.1 87.7 34.2-38c28.7-31.9 33.3-78.6 11.4-115.5l-43.7-73.5c-4.3-7.2-9.9-13.3-16.8-18-40.7-27.6-127.4-29.7-171.4 0-6.9 4.7-12.5 10.8-16.8 18l-43.6 73.2c-1.5 2.5-37.1 62.2 11.5 116L337.5 504c8 8.9 21.4 10.5 31.3 3.8l68.8-27.9c11.9-8 14-24.8 4.3-35.6z\"]\n};\nvar faRing = {\n prefix: 'fas',\n iconName: 'ring',\n icon: [512, 512, [], \"f70b\", \"M256 64C110.06 64 0 125.91 0 208v98.13C0 384.48 114.62 448 256 448s256-63.52 256-141.87V208c0-82.09-110.06-144-256-144zm0 64c106.04 0 192 35.82 192 80 0 9.26-3.97 18.12-10.91 26.39C392.15 208.21 328.23 192 256 192s-136.15 16.21-181.09 42.39C67.97 226.12 64 217.26 64 208c0-44.18 85.96-80 192-80zM120.43 264.64C155.04 249.93 201.64 240 256 240s100.96 9.93 135.57 24.64C356.84 279.07 308.93 288 256 288s-100.84-8.93-135.57-23.36z\"]\n};\nvar faRoad = {\n prefix: 'fas',\n iconName: 'road',\n icon: [576, 512, [], \"f018\", \"M573.19 402.67l-139.79-320C428.43 71.29 417.6 64 405.68 64h-97.59l2.45 23.16c.5 4.72-3.21 8.84-7.96 8.84h-29.16c-4.75 0-8.46-4.12-7.96-8.84L267.91 64h-97.59c-11.93 0-22.76 7.29-27.73 18.67L2.8 402.67C-6.45 423.86 8.31 448 30.54 448h196.84l10.31-97.68c.86-8.14 7.72-14.32 15.91-14.32h68.8c8.19 0 15.05 6.18 15.91 14.32L348.62 448h196.84c22.23 0 36.99-24.14 27.73-45.33zM260.4 135.16a8 8 0 0 1 7.96-7.16h39.29c4.09 0 7.53 3.09 7.96 7.16l4.6 43.58c.75 7.09-4.81 13.26-11.93 13.26h-40.54c-7.13 0-12.68-6.17-11.93-13.26l4.59-43.58zM315.64 304h-55.29c-9.5 0-16.91-8.23-15.91-17.68l5.07-48c.86-8.14 7.72-14.32 15.91-14.32h45.15c8.19 0 15.05 6.18 15.91 14.32l5.07 48c1 9.45-6.41 17.68-15.91 17.68z\"]\n};\nvar faRobot = {\n prefix: 'fas',\n iconName: 'robot',\n icon: [640, 512, [], \"f544\", \"M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z\"]\n};\nvar faRocket = {\n prefix: 'fas',\n iconName: 'rocket',\n icon: [512, 512, [], \"f135\", \"M505.12019,19.09375c-1.18945-5.53125-6.65819-11-12.207-12.1875C460.716,0,435.507,0,410.40747,0,307.17523,0,245.26909,55.20312,199.05238,128H94.83772c-16.34763.01562-35.55658,11.875-42.88664,26.48438L2.51562,253.29688A28.4,28.4,0,0,0,0,264a24.00867,24.00867,0,0,0,24.00582,24H127.81618l-22.47457,22.46875c-11.36521,11.36133-12.99607,32.25781,0,45.25L156.24582,406.625c11.15623,11.1875,32.15619,13.15625,45.27726,0l22.47457-22.46875V488a24.00867,24.00867,0,0,0,24.00581,24,28.55934,28.55934,0,0,0,10.707-2.51562l98.72834-49.39063c14.62888-7.29687,26.50776-26.5,26.50776-42.85937V312.79688c72.59753-46.3125,128.03493-108.40626,128.03493-211.09376C512.07526,76.5,512.07526,51.29688,505.12019,19.09375ZM384.04033,168A40,40,0,1,1,424.05,128,40.02322,40.02322,0,0,1,384.04033,168Z\"]\n};\nvar faRoute = {\n prefix: 'fas',\n iconName: 'route',\n icon: [512, 512, [], \"f4d7\", \"M416 320h-96c-17.6 0-32-14.4-32-32s14.4-32 32-32h96s96-107 96-160-43-96-96-96-96 43-96 96c0 25.5 22.2 63.4 45.3 96H320c-52.9 0-96 43.1-96 96s43.1 96 96 96h96c17.6 0 32 14.4 32 32s-14.4 32-32 32H185.5c-16 24.8-33.8 47.7-47.3 64H416c52.9 0 96-43.1 96-96s-43.1-96-96-96zm0-256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM96 256c-53 0-96 43-96 96s96 160 96 160 96-107 96-160-43-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faRss = {\n prefix: 'fas',\n iconName: 'rss',\n icon: [448, 512, [], \"f09e\", \"M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z\"]\n};\nvar faRssSquare = {\n prefix: 'fas',\n iconName: 'rss-square',\n icon: [448, 512, [], \"f143\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z\"]\n};\nvar faRubleSign = {\n prefix: 'fas',\n iconName: 'ruble-sign',\n icon: [384, 512, [], \"f158\", \"M239.36 320C324.48 320 384 260.542 384 175.071S324.48 32 239.36 32H76c-6.627 0-12 5.373-12 12v206.632H12c-6.627 0-12 5.373-12 12V308c0 6.627 5.373 12 12 12h52v32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v52c0 6.627 5.373 12 12 12h58.56c6.627 0 12-5.373 12-12v-52H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H146.56v-32h92.8zm-92.8-219.252h78.72c46.72 0 74.88 29.11 74.88 74.323 0 45.832-28.16 75.561-76.16 75.561h-77.44V100.748z\"]\n};\nvar faRuler = {\n prefix: 'fas',\n iconName: 'ruler',\n icon: [640, 512, [], \"f545\", \"M635.7 167.2L556.1 31.7c-8.8-15-28.3-20.1-43.5-11.5l-69 39.1L503.3 161c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L416 75l-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L333.2 122 278 153.3 337.8 255c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-59.7-101.7-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-27.9-47.5-55.2 31.3 59.7 101.7c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L84.9 262.9l-69 39.1C.7 310.7-4.6 329.8 4.2 344.8l79.6 135.6c8.8 15 28.3 20.1 43.5 11.5L624.1 210c15.2-8.6 20.4-27.8 11.6-42.8z\"]\n};\nvar faRulerCombined = {\n prefix: 'fas',\n iconName: 'ruler-combined',\n icon: [512, 512, [], \"f546\", \"M160 288h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56v-64h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56V96h-56c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8h56V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 2.77.91 5.24 1.57 7.8L160 329.38V288zm320 64h-32v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-41.37L24.2 510.43c2.56.66 5.04 1.57 7.8 1.57h448c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"]\n};\nvar faRulerHorizontal = {\n prefix: 'fas',\n iconName: 'ruler-horizontal',\n icon: [576, 512, [], \"f547\", \"M544 128h-48v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8H88c-4.42 0-8-3.58-8-8v-88H32c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h512c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32z\"]\n};\nvar faRulerVertical = {\n prefix: 'fas',\n iconName: 'ruler-vertical',\n icon: [256, 512, [], \"f548\", \"M168 416c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 17.67 14.33 32 32 32h192c17.67 0 32-14.33 32-32v-64h-88z\"]\n};\nvar faRunning = {\n prefix: 'fas',\n iconName: 'running',\n icon: [416, 512, [], \"f70c\", \"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z\"]\n};\nvar faRupeeSign = {\n prefix: 'fas',\n iconName: 'rupee-sign',\n icon: [320, 512, [], \"f156\", \"M308 96c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v44.748c0 6.627 5.373 12 12 12h85.28c27.308 0 48.261 9.958 60.97 27.252H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h158.757c-6.217 36.086-32.961 58.632-74.757 58.632H12c-6.627 0-12 5.373-12 12v53.012c0 3.349 1.4 6.546 3.861 8.818l165.052 152.356a12.001 12.001 0 0 0 8.139 3.182h82.562c10.924 0 16.166-13.408 8.139-20.818L116.871 319.906c76.499-2.34 131.144-53.395 138.318-127.906H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-58.69c-3.486-11.541-8.28-22.246-14.252-32H308z\"]\n};\nvar faSadCry = {\n prefix: 'fas',\n iconName: 'sad-cry',\n icon: [496, 512, [], \"f5b3\", \"M248 8C111 8 0 119 0 256c0 90.1 48.2 168.7 120 212.1V288c0-8.8 7.2-16 16-16s16 7.2 16 16v196.7c29.5 12.4 62 19.3 96 19.3s66.5-6.9 96-19.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v180.1C447.8 424.7 496 346 496 256 496 119 385 8 248 8zm-65.5 216.5c-14.8-13.2-46.2-13.2-61 0L112 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c.8 5-1.7 10-6.1 12.4-5.8 3.1-11.2.7-13.7-1.6l-9.7-8.5zM248 416c-26.5 0-48-28.7-48-64s21.5-64 48-64 48 28.7 48 64-21.5 64-48 64zm149.8-181.5c-5.8 3.1-11.2.7-13.7-1.6l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S400 197 404 222.2c.6 4.9-1.8 9.9-6.2 12.3z\"]\n};\nvar faSadTear = {\n prefix: 'fas',\n iconName: 'sad-tear',\n icon: [496, 512, [], \"f5b4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM152 416c-26.5 0-48-21-48-47 0-20 28.5-60.4 41.6-77.8 3.2-4.3 9.6-4.3 12.8 0C171.5 308.6 200 349 200 369c0 26-21.5 47-48 47zm16-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm170.2 154.2C315.8 367.4 282.9 352 248 352c-21.2 0-21.2-32 0-32 44.4 0 86.3 19.6 114.7 53.8 13.8 16.4-11.2 36.5-24.5 20.4z\"]\n};\nvar faSatellite = {\n prefix: 'fas',\n iconName: 'satellite',\n icon: [512, 512, [], \"f7bf\", \"M502.60969,310.04206l-96.70393,96.71625a31.88151,31.88151,0,0,1-45.00765,0L280.572,326.34115l-9.89231,9.90759a190.56343,190.56343,0,0,1-5.40716,168.52287c-4.50077,8.50115-16.39342,9.59505-23.20707,2.79725L134.54715,400.05428l-17.7999,17.79929c.70324,2.60972,1.60965,5.00067,1.60965,7.79793a32.00544,32.00544,0,1,1-32.00544-32.00434c2.79735,0,5.18838.90637,7.7982,1.60959l17.7999-17.79929L4.43129,269.94287c-6.798-6.81342-5.70409-18.6119,2.79735-23.20627a190.58161,190.58161,0,0,1,168.52864-5.407l9.79854-9.79821-80.31053-80.41716a32.002,32.002,0,0,1,0-45.09987L201.96474,9.29814A31.62639,31.62639,0,0,1,224.46868,0a31.99951,31.99951,0,0,1,22.59759,9.29814l80.32615,80.30777,47.805-47.89713a33.6075,33.6075,0,0,1,47.50808,0l47.50807,47.50645a33.63308,33.63308,0,0,1,0,47.50644l-47.805,47.89713L502.71908,265.036A31.78938,31.78938,0,0,1,502.60969,310.04206ZM219.56159,197.433l73.82505-73.82252-68.918-68.9-73.80942,73.80689Zm237.74352,90.106-68.90233-68.9156-73.825,73.82252,68.918,68.9Z\"]\n};\nvar faSatelliteDish = {\n prefix: 'fas',\n iconName: 'satellite-dish',\n icon: [512, 512, [], \"f7c0\", \"M305.44954,462.59c7.39157,7.29792,6.18829,20.09661-3.00038,25.00356-77.713,41.80281-176.72559,29.9105-242.34331-35.7082C-5.49624,386.28227-17.404,287.362,24.41381,209.554c4.89125-9.095,17.68975-10.29834,25.00318-3.00043L166.22872,323.36708l27.39411-27.39452c-.68759-2.60974-1.594-5.00071-1.594-7.81361a32.00407,32.00407,0,1,1,32.00407,32.00455c-2.79723,0-5.20378-.89075-7.79786-1.594l-27.40974,27.41015ZM511.9758,303.06732a16.10336,16.10336,0,0,1-16.002,17.00242H463.86031a15.96956,15.96956,0,0,1-15.89265-15.00213C440.46671,175.5492,336.45348,70.53427,207.03078,63.53328a15.84486,15.84486,0,0,1-15.00191-15.90852V16.02652A16.09389,16.09389,0,0,1,209.031.02425C372.25491,8.61922,503.47472,139.841,511.9758,303.06732Zm-96.01221-.29692a16.21093,16.21093,0,0,1-16.11142,17.29934H367.645a16.06862,16.06862,0,0,1-15.89265-14.70522c-6.90712-77.01094-68.118-138.91037-144.92467-145.22376a15.94,15.94,0,0,1-14.79876-15.89289V112.13393a16.134,16.134,0,0,1,17.29908-16.096C319.45132,104.5391,407.55627,192.64538,415.96359,302.7704Z\"]\n};\nvar faSave = {\n prefix: 'fas',\n iconName: 'save',\n icon: [448, 512, [], \"f0c7\", \"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z\"]\n};\nvar faSchool = {\n prefix: 'fas',\n iconName: 'school',\n icon: [640, 512, [], \"f549\", \"M0 224v272c0 8.84 7.16 16 16 16h80V192H32c-17.67 0-32 14.33-32 32zm360-48h-24v-40c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v64c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm137.75-63.96l-160-106.67a32.02 32.02 0 0 0-35.5 0l-160 106.67A32.002 32.002 0 0 0 128 138.66V512h128V368c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v144h128V138.67c0-10.7-5.35-20.7-14.25-26.63zM320 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm288-64h-64v320h80c8.84 0 16-7.16 16-16V224c0-17.67-14.33-32-32-32z\"]\n};\nvar faScrewdriver = {\n prefix: 'fas',\n iconName: 'screwdriver',\n icon: [512, 512, [], \"f54a\", \"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z\"]\n};\nvar faScroll = {\n prefix: 'fas',\n iconName: 'scroll',\n icon: [640, 512, [], \"f70e\", \"M48 0C21.53 0 0 21.53 0 48v64c0 8.84 7.16 16 16 16h80V48C96 21.53 74.47 0 48 0zm208 412.57V352h288V96c0-52.94-43.06-96-96-96H111.59C121.74 13.41 128 29.92 128 48v368c0 38.87 34.65 69.65 74.75 63.12C234.22 474 256 444.46 256 412.57zM288 384v32c0 52.93-43.06 96-96 96h336c61.86 0 112-50.14 112-112 0-8.84-7.16-16-16-16H288z\"]\n};\nvar faSdCard = {\n prefix: 'fas',\n iconName: 'sd-card',\n icon: [384, 512, [], \"f7c2\", \"M320 0H128L0 128v320c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 160h-48V64h48v96zm80 0h-48V64h48v96zm80 0h-48V64h48v96z\"]\n};\nvar faSearch = {\n prefix: 'fas',\n iconName: 'search',\n icon: [512, 512, [], \"f002\", \"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z\"]\n};\nvar faSearchDollar = {\n prefix: 'fas',\n iconName: 'search-dollar',\n icon: [512, 512, [], \"f688\", \"M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm27.11-152.54l-45.01-13.5c-5.16-1.55-8.77-6.78-8.77-12.73 0-7.27 5.3-13.19 11.8-13.19h28.11c4.56 0 8.96 1.29 12.82 3.72 3.24 2.03 7.36 1.91 10.13-.73l11.75-11.21c3.53-3.37 3.33-9.21-.57-12.14-9.1-6.83-20.08-10.77-31.37-11.35V112c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v16.12c-23.63.63-42.68 20.55-42.68 45.07 0 19.97 12.99 37.81 31.58 43.39l45.01 13.5c5.16 1.55 8.77 6.78 8.77 12.73 0 7.27-5.3 13.19-11.8 13.19h-28.1c-4.56 0-8.96-1.29-12.82-3.72-3.24-2.03-7.36-1.91-10.13.73l-11.75 11.21c-3.53 3.37-3.33 9.21.57 12.14 9.1 6.83 20.08 10.77 31.37 11.35V304c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-16.12c23.63-.63 42.68-20.54 42.68-45.07 0-19.97-12.99-37.81-31.59-43.39z\"]\n};\nvar faSearchLocation = {\n prefix: 'fas',\n iconName: 'search-location',\n icon: [512, 512, [], \"f689\", \"M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm.02-239.96c-40.78 0-73.84 33.05-73.84 73.83 0 32.96 48.26 93.05 66.75 114.86a9.24 9.24 0 0 0 14.18 0c18.49-21.81 66.75-81.89 66.75-114.86 0-40.78-33.06-73.83-73.84-73.83zm0 96c-13.26 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faSearchMinus = {\n prefix: 'fas',\n iconName: 'search-minus',\n icon: [512, 512, [], \"f010\", \"M304 192v32c0 6.6-5.4 12-12 12H124c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z\"]\n};\nvar faSearchPlus = {\n prefix: 'fas',\n iconName: 'search-plus',\n icon: [512, 512, [], \"f00e\", \"M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z\"]\n};\nvar faSeedling = {\n prefix: 'fas',\n iconName: 'seedling',\n icon: [512, 512, [], \"f4d8\", \"M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z\"]\n};\nvar faServer = {\n prefix: 'fas',\n iconName: 'server',\n icon: [512, 512, [], \"f233\", \"M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z\"]\n};\nvar faShapes = {\n prefix: 'fas',\n iconName: 'shapes',\n icon: [512, 512, [], \"f61f\", \"M128,256A128,128,0,1,0,256,384,128,128,0,0,0,128,256Zm379-54.86L400.07,18.29a37.26,37.26,0,0,0-64.14,0L229,201.14C214.76,225.52,232.58,256,261.09,256H474.91C503.42,256,521.24,225.52,507,201.14ZM480,288H320a32,32,0,0,0-32,32V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V320A32,32,0,0,0,480,288Z\"]\n};\nvar faShare = {\n prefix: 'fas',\n iconName: 'share',\n icon: [512, 512, [], \"f064\", \"M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z\"]\n};\nvar faShareAlt = {\n prefix: 'fas',\n iconName: 'share-alt',\n icon: [448, 512, [], \"f1e0\", \"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z\"]\n};\nvar faShareAltSquare = {\n prefix: 'fas',\n iconName: 'share-alt-square',\n icon: [448, 512, [], \"f1e1\", \"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z\"]\n};\nvar faShareSquare = {\n prefix: 'fas',\n iconName: 'share-square',\n icon: [576, 512, [], \"f14d\", \"M568.482 177.448L424.479 313.433C409.3 327.768 384 317.14 384 295.985v-71.963c-144.575.97-205.566 35.113-164.775 171.353 4.483 14.973-12.846 26.567-25.006 17.33C155.252 383.105 120 326.488 120 269.339c0-143.937 117.599-172.5 264-173.312V24.012c0-21.174 25.317-31.768 40.479-17.448l144.003 135.988c10.02 9.463 10.028 25.425 0 34.896zM384 379.128V448H64V128h50.916a11.99 11.99 0 0 0 8.648-3.693c14.953-15.568 32.237-27.89 51.014-37.676C185.708 80.83 181.584 64 169.033 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-88.806c0-8.288-8.197-14.066-16.011-11.302a71.83 71.83 0 0 1-34.189 3.377c-7.27-1.046-13.8 4.514-13.8 11.859z\"]\n};\nvar faShekelSign = {\n prefix: 'fas',\n iconName: 'shekel-sign',\n icon: [448, 512, [], \"f20b\", \"M248 168v168c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V168c0-75.11-60.89-136-136-136H24C10.75 32 0 42.74 0 56v408c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112h112c30.93 0 56 25.07 56 56zM432 32h-48c-8.84 0-16 7.16-16 16v296c0 30.93-25.07 56-56 56H200V176c0-8.84-7.16-16-16-16h-48c-8.84 0-16 7.16-16 16v280c0 13.25 10.75 24 24 24h168c75.11 0 136-60.89 136-136V48c0-8.84-7.16-16-16-16z\"]\n};\nvar faShieldAlt = {\n prefix: 'fas',\n iconName: 'shield-alt',\n icon: [512, 512, [], \"f3ed\", \"M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z\"]\n};\nvar faShieldVirus = {\n prefix: 'fas',\n iconName: 'shield-virus',\n icon: [512, 512, [], \"e06c\", \"M224,192a16,16,0,1,0,16,16A16,16,0,0,0,224,192ZM466.5,83.68l-192-80A57.4,57.4,0,0,0,256.05,0a57.4,57.4,0,0,0-18.46,3.67l-192,80A47.93,47.93,0,0,0,16,128C16,326.5,130.5,463.72,237.5,508.32a48.09,48.09,0,0,0,36.91,0C360.09,472.61,496,349.3,496,128A48,48,0,0,0,466.5,83.68ZM384,256H371.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C306.47,313.09,272,327.37,272,355.88V368a16,16,0,0,1-32,0V355.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H128a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V112a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C329.09,189.53,343.37,224,371.88,224H384a16,16,0,0,1,0,32Zm-96,0a16,16,0,1,0,16,16A16,16,0,0,0,288,256Z\"]\n};\nvar faShip = {\n prefix: 'fas',\n iconName: 'ship',\n icon: [640, 512, [], \"f21a\", \"M496.616 372.639l70.012-70.012c16.899-16.9 9.942-45.771-12.836-53.092L512 236.102V96c0-17.673-14.327-32-32-32h-64V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-64c-17.673 0-32 14.327-32 32v140.102l-41.792 13.433c-22.753 7.313-29.754 36.173-12.836 53.092l70.012 70.012C125.828 416.287 85.587 448 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24 61.023 0 107.499-20.61 143.258-59.396C181.677 487.432 216.021 512 256 512h128c39.979 0 74.323-24.568 88.742-59.396C508.495 491.384 554.968 512 616 512c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24-60.817 0-101.542-31.001-119.384-75.361zM192 128h256v87.531l-118.208-37.995a31.995 31.995 0 0 0-19.584 0L192 215.531V128z\"]\n};\nvar faShippingFast = {\n prefix: 'fas',\n iconName: 'shipping-fast',\n icon: [640, 512, [], \"f48b\", \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v48H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h272c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"]\n};\nvar faShoePrints = {\n prefix: 'fas',\n iconName: 'shoe-prints',\n icon: [640, 512, [], \"f54b\", \"M192 160h32V32h-32c-35.35 0-64 28.65-64 64s28.65 64 64 64zM0 416c0 35.35 28.65 64 64 64h32V352H64c-35.35 0-64 28.65-64 64zm337.46-128c-34.91 0-76.16 13.12-104.73 32-24.79 16.38-44.52 32-104.73 32v128l57.53 15.97c26.21 7.28 53.01 13.12 80.31 15.05 32.69 2.31 65.6.67 97.58-6.2C472.9 481.3 512 429.22 512 384c0-64-84.18-96-174.54-96zM491.42 7.19C459.44.32 426.53-1.33 393.84.99c-27.3 1.93-54.1 7.77-80.31 15.04L256 32v128c60.2 0 79.94 15.62 104.73 32 28.57 18.88 69.82 32 104.73 32C555.82 224 640 192 640 128c0-45.22-39.1-97.3-148.58-120.81z\"]\n};\nvar faShoppingBag = {\n prefix: 'fas',\n iconName: 'shopping-bag',\n icon: [448, 512, [], \"f290\", \"M352 160v-32C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128v32H0v272c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V160h-96zm-192-32c0-35.29 28.71-64 64-64s64 28.71 64 64v32H160v-32zm160 120c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm-192 0c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24z\"]\n};\nvar faShoppingBasket = {\n prefix: 'fas',\n iconName: 'shopping-basket',\n icon: [576, 512, [], \"f291\", \"M576 216v16c0 13.255-10.745 24-24 24h-8l-26.113 182.788C514.509 462.435 494.257 480 470.37 480H105.63c-23.887 0-44.139-17.565-47.518-41.212L32 256h-8c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h67.341l106.78-146.821c10.395-14.292 30.407-17.453 44.701-7.058 14.293 10.395 17.453 30.408 7.058 44.701L170.477 192h235.046L326.12 82.821c-10.395-14.292-7.234-34.306 7.059-44.701 14.291-10.395 34.306-7.235 44.701 7.058L484.659 192H552c13.255 0 24 10.745 24 24zM312 392V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm112 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm-224 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24z\"]\n};\nvar faShoppingCart = {\n prefix: 'fas',\n iconName: 'shopping-cart',\n icon: [576, 512, [], \"f07a\", \"M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z\"]\n};\nvar faShower = {\n prefix: 'fas',\n iconName: 'shower',\n icon: [512, 512, [], \"f2cc\", \"M304,320a16,16,0,1,0,16,16A16,16,0,0,0,304,320Zm32-96a16,16,0,1,0,16,16A16,16,0,0,0,336,224Zm32,64a16,16,0,1,0-16-16A16,16,0,0,0,368,288Zm-32,32a16,16,0,1,0-16-16A16,16,0,0,0,336,320Zm-32-64a16,16,0,1,0,16,16A16,16,0,0,0,304,256Zm128-32a16,16,0,1,0-16-16A16,16,0,0,0,432,224Zm-48,16a16,16,0,1,0,16-16A16,16,0,0,0,384,240Zm-16-48a16,16,0,1,0,16,16A16,16,0,0,0,368,192Zm96,32a16,16,0,1,0,16,16A16,16,0,0,0,464,224Zm32-32a16,16,0,1,0,16,16A16,16,0,0,0,496,192Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,432,256Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,400,288Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,336,352Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,304,384Zm64-64a16,16,0,1,0,16,16A16,16,0,0,0,368,320Zm21.65-218.35-11.3-11.31a16,16,0,0,0-22.63,0L350.05,96A111.19,111.19,0,0,0,272,64c-19.24,0-37.08,5.3-52.9,13.85l-10-10A121.72,121.72,0,0,0,123.44,32C55.49,31.5,0,92.91,0,160.85V464a16,16,0,0,0,16,16H48a16,16,0,0,0,16-16V158.4c0-30.15,21-58.2,51-61.93a58.38,58.38,0,0,1,48.93,16.67l10,10C165.3,138.92,160,156.76,160,176a111.23,111.23,0,0,0,32,78.05l-5.66,5.67a16,16,0,0,0,0,22.62l11.3,11.31a16,16,0,0,0,22.63,0L389.65,124.28A16,16,0,0,0,389.65,101.65Z\"]\n};\nvar faShuttleVan = {\n prefix: 'fas',\n iconName: 'shuttle-van',\n icon: [640, 512, [], \"f5b6\", \"M628.88 210.65L494.39 49.27A48.01 48.01 0 0 0 457.52 32H32C14.33 32 0 46.33 0 64v288c0 17.67 14.33 32 32 32h32c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h32c17.67 0 32-14.33 32-32V241.38c0-11.23-3.94-22.1-11.12-30.73zM64 192V96h96v96H64zm96 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm160-240h-96V96h96v96zm160 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-96-240V96h66.02l80 96H384z\"]\n};\nvar faSign = {\n prefix: 'fas',\n iconName: 'sign',\n icon: [512, 512, [], \"f4d9\", \"M496 64H128V16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v48H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V128h368c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM160 384h320V160H160v224z\"]\n};\nvar faSignInAlt = {\n prefix: 'fas',\n iconName: 'sign-in-alt',\n icon: [512, 512, [], \"f2f6\", \"M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z\"]\n};\nvar faSignLanguage = {\n prefix: 'fas',\n iconName: 'sign-language',\n icon: [448, 512, [], \"f2a7\", \"M91.434 483.987c-.307-16.018 13.109-29.129 29.13-29.129h62.293v-5.714H56.993c-16.021 0-29.437-13.111-29.13-29.129C28.16 404.491 40.835 392 56.428 392h126.429v-5.714H29.136c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h154.286v-5.714H57.707c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h168.566l-31.085-22.606c-12.762-9.281-15.583-27.149-6.302-39.912 9.281-12.761 27.15-15.582 39.912-6.302l123.361 89.715a34.287 34.287 0 0 1 14.12 27.728v141.136c0 15.91-10.946 29.73-26.433 33.374l-80.471 18.934a137.16 137.16 0 0 1-31.411 3.646H120c-15.593-.001-28.269-12.492-28.566-28.014zm73.249-225.701h36.423l-11.187-8.136c-18.579-13.511-20.313-40.887-3.17-56.536l-13.004-16.7c-9.843-12.641-28.43-15.171-40.88-5.088-12.065 9.771-14.133 27.447-4.553 39.75l36.371 46.71zm283.298-2.103l-5.003-152.452c-.518-15.771-13.722-28.136-29.493-27.619-15.773.518-28.137 13.722-27.619 29.493l1.262 38.415L283.565 11.019c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l76.889 98.745-4.509 3.511-94.79-121.734c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l94.443 121.288-4.509 3.511-77.675-99.754c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l52.053 66.849c12.497-8.257 29.055-8.285 41.69.904l123.36 89.714c10.904 7.93 17.415 20.715 17.415 34.198v16.999l61.064-47.549a34.285 34.285 0 0 0 13.202-28.177z\"]\n};\nvar faSignOutAlt = {\n prefix: 'fas',\n iconName: 'sign-out-alt',\n icon: [512, 512, [], \"f2f5\", \"M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z\"]\n};\nvar faSignal = {\n prefix: 'fas',\n iconName: 'signal',\n icon: [640, 512, [], \"f012\", \"M216 288h-48c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V304c0-8.84-7.16-16-16-16zM88 384H40c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16zm256-192h-48c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm128-96h-48c-8.84 0-16 7.16-16 16v384c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112c0-8.84-7.16-16-16-16zM600 0h-48c-8.84 0-16 7.16-16 16v480c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"]\n};\nvar faSignature = {\n prefix: 'fas',\n iconName: 'signature',\n icon: [640, 512, [], \"f5b7\", \"M623.2 192c-51.8 3.5-125.7 54.7-163.1 71.5-29.1 13.1-54.2 24.4-76.1 24.4-22.6 0-26-16.2-21.3-51.9 1.1-8 11.7-79.2-42.7-76.1-25.1 1.5-64.3 24.8-169.5 126L192 182.2c30.4-75.9-53.2-151.5-129.7-102.8L7.4 116.3C0 121-2.2 130.9 2.5 138.4l17.2 27c4.7 7.5 14.6 9.7 22.1 4.9l58-38.9c18.4-11.7 40.7 7.2 32.7 27.1L34.3 404.1C27.5 421 37 448 64 448c8.3 0 16.5-3.2 22.6-9.4 42.2-42.2 154.7-150.7 211.2-195.8-2.2 28.5-2.1 58.9 20.6 83.8 15.3 16.8 37.3 25.3 65.5 25.3 35.6 0 68-14.6 102.3-30 33-14.8 99-62.6 138.4-65.8 8.5-.7 15.2-7.3 15.2-15.8v-32.1c.2-9.1-7.5-16.8-16.6-16.2z\"]\n};\nvar faSimCard = {\n prefix: 'fas',\n iconName: 'sim-card',\n icon: [384, 512, [], \"f7c4\", \"M0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V128L256 0H64C28.7 0 0 28.7 0 64zm224 192h-64v-64h64v64zm96 0h-64v-64h32c17.7 0 32 14.3 32 32v32zm-64 128h64v32c0 17.7-14.3 32-32 32h-32v-64zm-96 0h64v64h-64v-64zm-96 0h64v64H96c-17.7 0-32-14.3-32-32v-32zm0-96h256v64H64v-64zm0-64c0-17.7 14.3-32 32-32h32v64H64v-32z\"]\n};\nvar faSink = {\n prefix: 'fas',\n iconName: 'sink',\n icon: [512, 512, [], \"e06d\", \"M32,416a96,96,0,0,0,96,96H384a96,96,0,0,0,96-96V384H32ZM496,288H400V256h64a16,16,0,0,0,16-16V224a16,16,0,0,0-16-16H384a32,32,0,0,0-32,32v48H288V96a32,32,0,0,1,64,0v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V96A96.16,96.16,0,0,0,300.87,1.86C255.29,10.71,224,53.36,224,99.79V288H160V240a32,32,0,0,0-32-32H48a16,16,0,0,0-16,16v16a16,16,0,0,0,16,16h64v32H16A16,16,0,0,0,0,304v32a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V304A16,16,0,0,0,496,288Z\"]\n};\nvar faSitemap = {\n prefix: 'fas',\n iconName: 'sitemap',\n icon: [640, 512, [], \"f0e8\", \"M128 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm-24-80h192v48h48v-48h192v48h48v-57.59c0-21.17-17.23-38.41-38.41-38.41H344v-64h40c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H256c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h40v64H94.41C73.23 224 56 241.23 56 262.41V320h48v-48zm264 80h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm240 0h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"]\n};\nvar faSkating = {\n prefix: 'fas',\n iconName: 'skating',\n icon: [448, 512, [], \"f7c5\", \"M400 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm0 448c-8.8 0-16 7.2-16 16s-7.2 16-16 16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c26.5 0 48-21.5 48-48 0-8.8-7.2-16-16-16zm-282.2 8.6c-6.2 6.2-16.4 6.3-22.6 0l-67.9-67.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l67.9 67.9c9.4 9.4 21.7 14 34 14s24.6-4.7 33.9-14c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.3-22.7 0zm56.1-179.8l-93.7 93.7c-12.5 12.5-12.5 32.8 0 45.2 6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4l91.9-91.9-30.2-30.2c-5-5-9.4-10.7-13.2-16.8zM128 160h105.5l-20.1 17.2c-13.5 11.5-21.6 28.4-22.3 46.1-.7 17.8 6.1 35.2 18.7 47.7l78.2 78.2V432c0 17.7 14.3 32 32 32s32-14.3 32-32v-89.4c0-12.6-5.1-25-14.1-33.9l-61-61c.5-.4 1.2-.6 1.7-1.1l82.3-82.3c11.5-11.5 14.9-28.6 8.7-43.6-6.2-15-20.7-24.7-37-24.7H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"]\n};\nvar faSkiing = {\n prefix: 'fas',\n iconName: 'skiing',\n icon: [512, 512, [], \"f7c9\", \"M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm73 356.1c-9.4-9.4-24.6-9.4-33.9 0-12.1 12.1-30.5 15.4-45.1 8.7l-135.8-70.2 49.2-73.8c12.7-19 10.2-44.5-6-60.6L293 215.7l-107-53.1c-2.9 19.9 3.4 40 17.7 54.4l75.1 75.2-45.9 68.8L35 258.7c-11.7-6-26.2-1.5-32.3 10.3-6.1 11.8-1.5 26.3 10.3 32.3l391.9 202.5c11.9 5.5 24.5 8.1 37.1 8.1 23.2 0 46-9 63-26 9.3-9.3 9.3-24.5 0-33.8zM120 91.6l-11.5 22.5c14.4 7.3 31.2 4.9 42.8-4.8l47.2 23.4c-.1.1-.1.2-.2.3l114.5 56.8 32.4-13 6.4 19.1c4 12.1 12.6 22 24 27.7l58.1 29c15.9 7.9 35 1.5 42.9-14.3 7.9-15.8 1.5-35-14.3-42.9l-52.1-26.1-17.1-51.2c-8.1-24.2-40.9-56.6-84.5-39.2l-81.2 32.5-62.5-31c.3-14.5-7.2-28.6-20.9-35.6l-11.1 21.7h-.2l-34.4-7c-1.8-.4-3.7.2-5 1.7-1.9 2.2-1.7 5.5.5 7.4l26.2 23z\"]\n};\nvar faSkiingNordic = {\n prefix: 'fas',\n iconName: 'skiing-nordic',\n icon: [576, 512, [], \"f7ca\", \"M336 96c26.5 0 48-21.5 48-48S362.5 0 336 0s-48 21.5-48 48 21.5 48 48 48zm216 320c-13.2 0-24 10.7-24 24 0 13.2-10.8 24-24 24h-69.5L460 285.6c11.7-4.7 20.1-16.2 20.1-29.6 0-17.7-14.3-32-32-32h-44L378 170.8c-12.5-25.5-35.5-44.2-61.8-50.9L245 98.7c-28.3-6.8-57.8-.5-80.8 17.1l-39.7 30.4c-14 10.7-16.7 30.8-5.9 44.9.7.9 1.7 1.3 2.4 2.1L66.9 464H24c-13.2 0-24 10.7-24 24s10.8 24 24 24h480c39.7 0 72-32.3 72-72 0-13.2-10.8-24-24-24zm-260.5 48h-96.9l43.1-91-22-13c-12.1-7.2-21.9-16.9-29.5-27.8L123.7 464H99.5l52.3-261.4c4.1-1 8.1-2.9 11.7-5.6l39.7-30.4c7.7-5.9 17.4-8 25.3-6.1l14.7 4.4-37.5 87.4c-12.6 29.5-1.3 64 26.3 80.3l85 50.2-25.5 81.2zm110.6 0h-43.6l23.6-75.5c5.9-20.8-2.9-43.1-21.6-54.4L299.3 298l31.3-78.3 20.3 41.4c8 16.3 24.9 26.9 43.1 26.9h33.3l-25.2 176z\"]\n};\nvar faSkull = {\n prefix: 'fas',\n iconName: 'skull',\n icon: [512, 512, [], \"f54c\", \"M256 0C114.6 0 0 100.3 0 224c0 70.1 36.9 132.6 94.5 173.7 9.6 6.9 15.2 18.1 13.5 29.9l-9.4 66.2c-1.4 9.6 6 18.2 15.7 18.2H192v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h64v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h77.7c9.7 0 17.1-8.6 15.7-18.2l-9.4-66.2c-1.7-11.7 3.8-23 13.5-29.9C475.1 356.6 512 294.1 512 224 512 100.3 397.4 0 256 0zm-96 320c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm192 0c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z\"]\n};\nvar faSkullCrossbones = {\n prefix: 'fas',\n iconName: 'skull-crossbones',\n icon: [448, 512, [], \"f714\", \"M439.15 453.06L297.17 384l141.99-69.06c7.9-3.95 11.11-13.56 7.15-21.46L432 264.85c-3.95-7.9-13.56-11.11-21.47-7.16L224 348.41 37.47 257.69c-7.9-3.95-17.51-.75-21.47 7.16L1.69 293.48c-3.95 7.9-.75 17.51 7.15 21.46L150.83 384 8.85 453.06c-7.9 3.95-11.11 13.56-7.15 21.47l14.31 28.63c3.95 7.9 13.56 11.11 21.47 7.15L224 419.59l186.53 90.72c7.9 3.95 17.51.75 21.47-7.15l14.31-28.63c3.95-7.91.74-17.52-7.16-21.47zM150 237.28l-5.48 25.87c-2.67 12.62 5.42 24.85 16.45 24.85h126.08c11.03 0 19.12-12.23 16.45-24.85l-5.5-25.87c41.78-22.41 70-62.75 70-109.28C368 57.31 303.53 0 224 0S80 57.31 80 128c0 46.53 28.22 86.87 70 109.28zM280 112c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32zm-112 0c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32z\"]\n};\nvar faSlash = {\n prefix: 'fas',\n iconName: 'slash',\n icon: [640, 512, [], \"f715\", \"M594.53 508.63L6.18 53.9c-6.97-5.42-8.23-15.47-2.81-22.45L23.01 6.18C28.43-.8 38.49-2.06 45.47 3.37L633.82 458.1c6.97 5.42 8.23 15.47 2.81 22.45l-19.64 25.27c-5.42 6.98-15.48 8.23-22.46 2.81z\"]\n};\nvar faSleigh = {\n prefix: 'fas',\n iconName: 'sleigh',\n icon: [640, 512, [], \"f7cc\", \"M612.7 350.7l-9.3-7.4c-6.9-5.5-17-4.4-22.5 2.5l-10 12.5c-5.5 6.9-4.4 17 2.5 22.5l9.3 7.4c5.9 4.7 9.2 11.7 9.2 19.2 0 13.6-11 24.6-24.6 24.6H48c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h516c39 0 73.7-29.3 75.9-68.3 1.4-23.8-8.7-46.3-27.2-61zM32 224c0 59.6 40.9 109.2 96 123.5V400h64v-48h192v48h64v-48c53 0 96-43 96-96v-96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-96v64c0 35.3-28.7 64-64 64h-20.7c-65.8 0-125.9-37.2-155.3-96-29.4-58.8-89.6-96-155.3-96H32C14.3 32 0 46.3 0 64s14.3 32 32 32v128z\"]\n};\nvar faSlidersH = {\n prefix: 'fas',\n iconName: 'sliders-h',\n icon: [512, 512, [], \"f1de\", \"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z\"]\n};\nvar faSmile = {\n prefix: 'fas',\n iconName: 'smile',\n icon: [496, 512, [], \"f118\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z\"]\n};\nvar faSmileBeam = {\n prefix: 'fas',\n iconName: 'smile-beam',\n icon: [496, 512, [], \"f5b8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM112 223.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zm250.8 122.8C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.3 24.6 20.5zm6.2-118.3l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.6 8.6-11 11.9-15.1 4.5z\"]\n};\nvar faSmileWink = {\n prefix: 'fas',\n iconName: 'smile-wink',\n icon: [496, 512, [], \"f4da\", \"M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm158.5 16.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.7 11.1-11.4 18.3-19.8 10.8l-9.7-8.5zM157.8 325.8C180.2 352.7 213 368 248 368s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.2 24.6 20.5C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11.2-36.7 24.6-20.4z\"]\n};\nvar faSmog = {\n prefix: 'fas',\n iconName: 'smog',\n icon: [640, 512, [], \"f75f\", \"M624 368H80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-480 96H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm416 0H224c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h336c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM144 288h156.1c22.5 19.7 51.6 32 83.9 32s61.3-12.3 83.9-32H528c61.9 0 112-50.1 112-112S589.9 64 528 64c-18 0-34.7 4.6-49.7 12.1C454 31 406.8 0 352 0c-41 0-77.8 17.3-104 44.8C221.8 17.3 185 0 144 0 64.5 0 0 64.5 0 144s64.5 144 144 144z\"]\n};\nvar faSmoking = {\n prefix: 'fas',\n iconName: 'smoking',\n icon: [640, 512, [], \"f48d\", \"M632 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zM553.3 87.1c-5.7-3.8-9.3-10-9.3-16.8V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v62.3c0 22 10.2 43.4 28.6 55.4 42.2 27.3 67.4 73.8 67.4 124V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-65.5-32.4-126.2-86.7-162.6zM432 352H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h384c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zm-32 112H224v-64h176v64zm87.7-322.4C463.8 125 448 99.3 448 70.3V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v66.4c0 43.7 24.6 81.6 60.3 106.7 22.4 15.7 35.7 41.2 35.7 68.6V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-43.3-21-83.4-56.3-108.1zM536 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z\"]\n};\nvar faSmokingBan = {\n prefix: 'fas',\n iconName: 'smoking-ban',\n icon: [512, 512, [], \"f54d\", \"M96 304c0 8.8 7.2 16 16 16h117.5l-96-96H112c-8.8 0-16 7.2-16 16v64zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm0 448c-105.9 0-192-86.1-192-192 0-41.4 13.3-79.7 35.7-111.1l267.4 267.4C335.7 434.7 297.4 448 256 448zm45.2-192H384v32h-50.8l-32-32zm111.1 111.1L365.2 320H400c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16H269.2L144.9 99.7C176.3 77.3 214.6 64 256 64c105.9 0 192 86.1 192 192 0 41.4-13.3 79.7-35.7 111.1zM320.6 128c-15.6 0-28.6-11.2-31.4-25.9-.7-3.6-4-6.1-7.7-6.1h-16.2c-5 0-8.7 4.5-8 9.4 4.6 30.9 31.2 54.6 63.3 54.6 15.6 0 28.6 11.2 31.4 25.9.7 3.6 4 6.1 7.7 6.1h16.2c5 0 8.7-4.5 8-9.4-4.6-30.9-31.2-54.6-63.3-54.6z\"]\n};\nvar faSms = {\n prefix: 'fas',\n iconName: 'sms',\n icon: [512, 512, [], \"f7cd\", \"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7 1.3 3 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128.2 304H116c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H156c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-19 38.6-42.4 38.6zm191.8-8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-68.2l-24.8 55.8c-2.9 5.9-11.4 5.9-14.3 0L224 227.8V296c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V192c0-8.8 7.2-16 16-16h16c6.1 0 11.6 3.4 14.3 8.8l17.7 35.4 17.7-35.4c2.7-5.4 8.3-8.8 14.3-8.8h16c8.8 0 16 7.2 16 16v104zm48.3 8H356c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H396c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-18.9 38.6-42.3 38.6z\"]\n};\nvar faSnowboarding = {\n prefix: 'fas',\n iconName: 'snowboarding',\n icon: [512, 512, [], \"f7ce\", \"M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm28.8 153.6c5.8 4.3 12.5 6.4 19.2 6.4 9.7 0 19.3-4.4 25.6-12.8 10.6-14.1 7.8-34.2-6.4-44.8l-111.4-83.5c-13.8-10.3-29.1-18.4-45.4-23.8l-63.7-21.2-26.1-52.1C244.7 2 225.5-4.4 209.7 3.5c-15.8 7.9-22.2 27.1-14.3 42.9l29.1 58.1c5.7 11.4 15.6 19.9 27.7 24l16.4 5.5-41.2 20.6c-21.8 10.9-35.4 32.8-35.4 57.2v53.1l-74.1 24.7c-16.8 5.6-25.8 23.7-20.2 40.5 1.7 5.2 4.9 9.4 8.7 12.9l-38.7-14.1c-9.7-3.5-17.4-10.6-21.8-20-5.6-12-19.9-17.2-31.9-11.6s-17.2 19.9-11.6 31.9c9.8 21 27.1 36.9 48.9 44.8l364.8 132.7c9.7 3.5 19.7 5.3 29.7 5.3 12.5 0 24.9-2.7 36.5-8.2 12-5.6 17.2-19.9 11.6-31.9S474 454.7 462 460.3c-9.3 4.4-19.8 4.8-29.5 1.3l-90.8-33.1c8.7-4.1 15.6-11.8 17.8-21.9l21.9-102c3.9-18.2-3.2-37.2-18.1-48.4l-52-39 66-30.5 83.5 62.9zm-144.4 51.7l-19.7 92c-1.5 7.1-.1 13.9 2.8 20l-169.4-61.6c2.7-.2 5.4-.4 8-1.3l85-28.4c19.6-6.5 32.8-24.8 32.8-45.5V256l60.5 45.3z\"]\n};\nvar faSnowflake = {\n prefix: 'fas',\n iconName: 'snowflake',\n icon: [448, 512, [], \"f2dc\", \"M440.3 345.2l-33.8-19.5 26-7c8.2-2.2 13.1-10.7 10.9-18.9l-4-14.9c-2.2-8.2-10.7-13.1-18.9-10.9l-70.8 19-63.9-37 63.8-36.9 70.8 19c8.2 2.2 16.7-2.7 18.9-10.9l4-14.9c2.2-8.2-2.7-16.7-10.9-18.9l-26-7 33.8-19.5c7.4-4.3 9.9-13.7 5.7-21.1L430.4 119c-4.3-7.4-13.7-9.9-21.1-5.7l-33.8 19.5 7-26c2.2-8.2-2.7-16.7-10.9-18.9l-14.9-4c-8.2-2.2-16.7 2.7-18.9 10.9l-19 70.8-62.8 36.2v-77.5l53.7-53.7c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0L256 56.4V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v40.4l-19.7-19.7c-6.2-6.2-16.4-6.2-22.6 0L138.3 48c-6.3 6.2-6.3 16.4 0 22.6l53.7 53.7v77.5l-62.8-36.2-19-70.8c-2.2-8.2-10.7-13.1-18.9-10.9l-14.9 4c-8.2 2.2-13.1 10.7-10.9 18.9l7 26-33.8-19.5c-7.4-4.3-16.8-1.7-21.1 5.7L2.1 145.7c-4.3 7.4-1.7 16.8 5.7 21.1l33.8 19.5-26 7c-8.3 2.2-13.2 10.7-11 19l4 14.9c2.2 8.2 10.7 13.1 18.9 10.9l70.8-19 63.8 36.9-63.8 36.9-70.8-19c-8.2-2.2-16.7 2.7-18.9 10.9l-4 14.9c-2.2 8.2 2.7 16.7 10.9 18.9l26 7-33.8 19.6c-7.4 4.3-9.9 13.7-5.7 21.1l15.5 26.8c4.3 7.4 13.7 9.9 21.1 5.7l33.8-19.5-7 26c-2.2 8.2 2.7 16.7 10.9 18.9l14.9 4c8.2 2.2 16.7-2.7 18.9-10.9l19-70.8 62.8-36.2v77.5l-53.7 53.7c-6.3 6.2-6.3 16.4 0 22.6l11.3 11.3c6.2 6.2 16.4 6.2 22.6 0l19.7-19.7V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-40.4l19.7 19.7c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L256 387.7v-77.5l62.8 36.2 19 70.8c2.2 8.2 10.7 13.1 18.9 10.9l14.9-4c8.2-2.2 13.1-10.7 10.9-18.9l-7-26 33.8 19.5c7.4 4.3 16.8 1.7 21.1-5.7l15.5-26.8c4.3-7.3 1.8-16.8-5.6-21z\"]\n};\nvar faSnowman = {\n prefix: 'fas',\n iconName: 'snowman',\n icon: [512, 512, [], \"f7d0\", \"M510.9 152.3l-5.9-14.5c-3.3-8-12.6-11.9-20.8-8.7L456 140.6v-29c0-8.6-7.2-15.6-16-15.6h-16c-8.8 0-16 7-16 15.6v46.9c0 .5.3 1 .3 1.5l-56.4 23c-5.9-10-13.3-18.9-22-26.6 13.6-16.6 22-37.4 22-60.5 0-53-43-96-96-96s-96 43-96 96c0 23.1 8.5 43.9 22 60.5-8.7 7.7-16 16.6-22 26.6l-56.4-23c.1-.5.3-1 .3-1.5v-46.9C104 103 96.8 96 88 96H72c-8.8 0-16 7-16 15.6v29l-28.1-11.5c-8.2-3.2-17.5.7-20.8 8.7l-5.9 14.5c-3.3 8 .7 17.1 8.9 20.3l135.2 55.2c-.4 4-1.2 8-1.2 12.2 0 10.1 1.7 19.6 4.2 28.9C120.9 296.4 104 334.2 104 376c0 54 28.4 100.9 70.8 127.8 9.3 5.9 20.3 8.2 31.3 8.2h99.2c13.3 0 26.3-4.1 37.2-11.7 46.5-32.3 74.4-89.4 62.9-152.6-5.5-30.2-20.5-57.6-41.6-79 2.5-9.2 4.2-18.7 4.2-28.7 0-4.2-.8-8.1-1.2-12.2L502 172.6c8.1-3.1 12.1-12.2 8.9-20.3zM224 96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 272c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-88s-16-23.2-16-32 7.2-16 16-16 16 7.2 16 16-16 32-16 32zm32-56c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faSnowplow = {\n prefix: 'fas',\n iconName: 'snowplow',\n icon: [640, 512, [], \"f7d2\", \"M120 376c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm238.6 49.4c-14.5-14.5-22.6-34.1-22.6-54.6V269.2c0-20.5 8.1-40.1 22.6-54.6l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0l-36.7 36.7c-26.5 26.5-41.4 62.4-41.4 99.9V288h-64v-50.9c0-8.7-1.8-17.2-5.2-25.2L364.5 29.1C356.9 11.4 339.6 0 320.3 0H176c-26.5 0-48 21.5-48 48v112h-16c-26.5 0-48 21.5-48 48v91.2C26.3 317.2 0 355.4 0 400c0 61.9 50.1 112 112 112h256c61.9 0 112-50.1 112-112 0-17.3-4.2-33.4-11.2-48H512v18.7c0 37.5 14.9 73.4 41.4 99.9l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0l22.6-22.6c6.2-6.2 6.2-16.4 0-22.6l-36.7-36.7zM192 64h117.8l68.6 160H256l-64-64V64zm176 384H112c-26.5 0-48-21.5-48-48s21.5-48 48-48h256c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]\n};\nvar faSoap = {\n prefix: 'fas',\n iconName: 'soap',\n icon: [512, 512, [], \"e06e\", \"M416,192a95.42,95.42,0,0,1-30.94,70.21A95.8,95.8,0,0,1,352,448H160a96,96,0,0,1,0-192h88.91A95.3,95.3,0,0,1,224,192H96A96,96,0,0,0,0,288V416a96,96,0,0,0,96,96H416a96,96,0,0,0,96-96V288A96,96,0,0,0,416,192Zm-96,64a64,64,0,1,0-64-64A64,64,0,0,0,320,256ZM208,96a48,48,0,1,0-48-48A48,48,0,0,0,208,96ZM384,64a32,32,0,1,0-32-32A32,32,0,0,0,384,64ZM160,288a64,64,0,0,0,0,128H352a64,64,0,0,0,0-128Z\"]\n};\nvar faSocks = {\n prefix: 'fas',\n iconName: 'socks',\n icon: [512, 512, [], \"f696\", \"M214.66 311.01L288 256V96H128v176l-86.65 64.61c-39.4 29.56-53.86 84.42-29.21 127.06C30.39 495.25 63.27 512 96.08 512c20.03 0 40.25-6.25 57.52-19.2l21.86-16.39c-29.85-55.38-13.54-125.84 39.2-165.4zM288 32c0-11.05 3.07-21.3 8.02-30.38C293.4.92 290.85 0 288 0H160c-17.67 0-32 14.33-32 32v32h160V32zM480 0H352c-17.67 0-32 14.33-32 32v32h192V32c0-17.67-14.33-32-32-32zM320 272l-86.13 64.61c-39.4 29.56-53.86 84.42-29.21 127.06 18.25 31.58 50.61 48.33 83.42 48.33 20.03 0 40.25-6.25 57.52-19.2l115.2-86.4A127.997 127.997 0 0 0 512 304V96H320v176z\"]\n};\nvar faSolarPanel = {\n prefix: 'fas',\n iconName: 'solar-panel',\n icon: [640, 512, [], \"f5ba\", \"M431.98 448.01l-47.97.05V416h-128v32.21l-47.98.05c-8.82.01-15.97 7.16-15.98 15.99l-.05 31.73c-.01 8.85 7.17 16.03 16.02 16.02l223.96-.26c8.82-.01 15.97-7.16 15.98-15.98l.04-31.73c.01-8.85-7.17-16.03-16.02-16.02zM585.2 26.74C582.58 11.31 568.99 0 553.06 0H86.93C71 0 57.41 11.31 54.79 26.74-3.32 369.16.04 348.08.03 352c-.03 17.32 14.29 32 32.6 32h574.74c18.23 0 32.51-14.56 32.59-31.79.02-4.08 3.35 16.95-54.76-325.47zM259.83 64h120.33l9.77 96H250.06l9.77-96zm-75.17 256H71.09L90.1 208h105.97l-11.41 112zm16.29-160H98.24l16.29-96h96.19l-9.77 96zm32.82 160l11.4-112h149.65l11.4 112H233.77zm195.5-256h96.19l16.29 96H439.04l-9.77-96zm26.06 256l-11.4-112H549.9l19.01 112H455.33z\"]\n};\nvar faSort = {\n prefix: 'fas',\n iconName: 'sort',\n icon: [320, 512, [], \"f0dc\", \"M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z\"]\n};\nvar faSortAlphaDown = {\n prefix: 'fas',\n iconName: 'sort-alpha-down',\n icon: [448, 512, [], \"f15d\", \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm240-64H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z\"]\n};\nvar faSortAlphaDownAlt = {\n prefix: 'fas',\n iconName: 'sort-alpha-down-alt',\n icon: [448, 512, [], \"f881\", \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm112-128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z\"]\n};\nvar faSortAlphaUp = {\n prefix: 'fas',\n iconName: 'sort-alpha-up',\n icon: [448, 512, [], \"f15e\", \"M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm400 128H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z\"]\n};\nvar faSortAlphaUpAlt = {\n prefix: 'fas',\n iconName: 'sort-alpha-up-alt',\n icon: [448, 512, [], \"f882\", \"M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm272 64h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z\"]\n};\nvar faSortAmountDown = {\n prefix: 'fas',\n iconName: 'sort-amount-down',\n icon: [512, 512, [], \"f160\", \"M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-128-64h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm256-192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faSortAmountDownAlt = {\n prefix: 'fas',\n iconName: 'sort-amount-down-alt',\n icon: [512, 512, [], \"f884\", \"M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm-64 0h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z\"]\n};\nvar faSortAmountUp = {\n prefix: 'fas',\n iconName: 'sort-amount-up',\n icon: [512, 512, [], \"f161\", \"M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.77 160 16 160zm416 0H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faSortAmountUpAlt = {\n prefix: 'fas',\n iconName: 'sort-amount-up-alt',\n icon: [512, 512, [], \"f885\", \"M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.39-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160z\"]\n};\nvar faSortDown = {\n prefix: 'fas',\n iconName: 'sort-down',\n icon: [320, 512, [], \"f0dd\", \"M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z\"]\n};\nvar faSortNumericDown = {\n prefix: 'fas',\n iconName: 'sort-numeric-down',\n icon: [448, 512, [], \"f162\", \"M304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zm26.15 162.91a79 79 0 0 0-55 54.17c-14.25 51.05 21.21 97.77 68.85 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm-176-4h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z\"]\n};\nvar faSortNumericDownAlt = {\n prefix: 'fas',\n iconName: 'sort-numeric-down-alt',\n icon: [448, 512, [], \"f886\", \"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm224 64h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"]\n};\nvar faSortNumericUp = {\n prefix: 'fas',\n iconName: 'sort-numeric-up',\n icon: [448, 512, [], \"f163\", \"M330.17 258.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zM304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zM107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31z\"]\n};\nvar faSortNumericUpAlt = {\n prefix: 'fas',\n iconName: 'sort-numeric-up-alt',\n icon: [448, 512, [], \"f887\", \"M107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31zM400 416h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"]\n};\nvar faSortUp = {\n prefix: 'fas',\n iconName: 'sort-up',\n icon: [320, 512, [], \"f0de\", \"M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z\"]\n};\nvar faSpa = {\n prefix: 'fas',\n iconName: 'spa',\n icon: [576, 512, [], \"f5bb\", \"M568.25 192c-29.04.13-135.01 6.16-213.84 83-33.12 29.63-53.36 63.3-66.41 94.86-13.05-31.56-33.29-65.23-66.41-94.86-78.83-76.84-184.8-82.87-213.84-83-4.41-.02-7.79 3.4-7.75 7.82.23 27.92 7.14 126.14 88.77 199.3C172.79 480.94 256 480 288 480s115.19.95 199.23-80.88c81.64-73.17 88.54-171.38 88.77-199.3.04-4.42-3.34-7.84-7.75-7.82zM287.98 302.6c12.82-18.85 27.6-35.78 44.09-50.52 19.09-18.61 39.58-33.3 60.26-45.18-16.44-70.5-51.72-133.05-96.73-172.22-4.11-3.58-11.02-3.58-15.14 0-44.99 39.14-80.27 101.63-96.74 172.07 20.37 11.7 40.5 26.14 59.22 44.39a282.768 282.768 0 0 1 45.04 51.46z\"]\n};\nvar faSpaceShuttle = {\n prefix: 'fas',\n iconName: 'space-shuttle',\n icon: [640, 512, [], \"f197\", \"M592.604 208.244C559.735 192.836 515.777 184 472 184H186.327c-4.952-6.555-10.585-11.978-16.72-16H376C229.157 137.747 219.403 32 96.003 32H96v128H80V32c-26.51 0-48 28.654-48 64v64c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v16c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v64c0 35.346 21.49 64 48 64V352h16v128h.003c123.4 0 133.154-105.747 279.997-136H169.606c6.135-4.022 11.768-9.445 16.72-16H472c43.777 0 87.735-8.836 120.604-24.244C622.282 289.845 640 271.992 640 256s-17.718-33.845-47.396-47.756zM488 296a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8c31.909 0 31.942 80 0 80z\"]\n};\nvar faSpellCheck = {\n prefix: 'fas',\n iconName: 'spell-check',\n icon: [576, 512, [], \"f891\", \"M272 256h91.36c43.2 0 82-32.2 84.51-75.34a79.82 79.82 0 0 0-25.26-63.07 79.81 79.81 0 0 0 9.06-44.91C427.9 30.57 389.3 0 347 0h-75a16 16 0 0 0-16 16v224a16 16 0 0 0 16 16zm40-200h40a24 24 0 0 1 0 48h-40zm0 96h56a24 24 0 0 1 0 48h-56zM155.12 22.25A32 32 0 0 0 124.64 0H99.36a32 32 0 0 0-30.48 22.25L.59 235.73A16 16 0 0 0 16 256h24.93a16 16 0 0 0 15.42-11.73L68.29 208h87.42l11.94 36.27A16 16 0 0 0 183.07 256H208a16 16 0 0 0 15.42-20.27zM89.37 144L112 75.3l22.63 68.7zm482 132.48l-45.21-45.3a15.88 15.88 0 0 0-22.59 0l-151.5 151.5-55.41-55.5a15.88 15.88 0 0 0-22.59 0l-45.3 45.3a16 16 0 0 0 0 22.59l112 112.21a15.89 15.89 0 0 0 22.6 0l208-208.21a16 16 0 0 0-.02-22.59z\"]\n};\nvar faSpider = {\n prefix: 'fas',\n iconName: 'spider',\n icon: [576, 512, [], \"f717\", \"M151.17 167.35L177.1 176h4.67l5.22-26.12c.72-3.58 1.8-7.58 3.21-11.79l-20.29-40.58 23.8-71.39c2.79-8.38-1.73-17.44-10.12-20.24L168.42.82c-8.38-2.8-17.45 1.73-20.24 10.12l-25.89 77.68a32.04 32.04 0 0 0 1.73 24.43l27.15 54.3zm422.14 182.03l-52.75-79.12a32.002 32.002 0 0 0-26.62-14.25H416l68.99-24.36a32.03 32.03 0 0 0 16.51-12.61l53.6-80.41c4.9-7.35 2.91-17.29-4.44-22.19l-13.31-8.88c-7.35-4.9-17.29-2.91-22.19 4.44l-50.56 75.83L404.1 208H368l-10.37-51.85C355.44 145.18 340.26 96 288 96c-52.26 0-67.44 49.18-69.63 60.15L208 208h-36.1l-60.49-20.17L60.84 112c-4.9-7.35-14.83-9.34-22.19-4.44l-13.31 8.88c-7.35 4.9-9.34 14.83-4.44 22.19l53.6 80.41a32.03 32.03 0 0 0 16.51 12.61L160 256H82.06a32.02 32.02 0 0 0-26.63 14.25L2.69 349.38c-4.9 7.35-2.92 17.29 4.44 22.19l13.31 8.88c7.35 4.9 17.29 2.91 22.19-4.44l48-72h47.06l-60.83 97.33A31.988 31.988 0 0 0 72 418.3V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-73.11l74.08-118.53c-1.01 14.05-2.08 28.11-2.08 42.21C192 399.64 232.76 448 288 448s96-48.36 96-101.43c0-14.1-1.08-28.16-2.08-42.21L456 422.89V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-77.71c0-6-1.69-11.88-4.86-16.96L438.31 304h47.06l48 72c4.9 7.35 14.84 9.34 22.19 4.44l13.31-8.88c7.36-4.9 9.34-14.83 4.44-22.18zM406.09 97.51l-20.29 40.58c1.41 4.21 2.49 8.21 3.21 11.79l5.22 26.12h4.67l25.93-8.65 27.15-54.3a31.995 31.995 0 0 0 1.73-24.43l-25.89-77.68C425.03 2.56 415.96-1.98 407.58.82l-15.17 5.06c-8.38 2.8-12.91 11.86-10.12 20.24l23.8 71.39z\"]\n};\nvar faSpinner = {\n prefix: 'fas',\n iconName: 'spinner',\n icon: [512, 512, [], \"f110\", \"M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z\"]\n};\nvar faSplotch = {\n prefix: 'fas',\n iconName: 'splotch',\n icon: [512, 512, [], \"f5bc\", \"M472.29 195.89l-67.06-22.95c-19.28-6.6-33.54-20.92-38.14-38.3L351.1 74.19c-11.58-43.77-76.57-57.13-109.98-22.62l-46.14 47.67c-13.26 13.71-33.54 20.93-54.2 19.31l-71.88-5.62c-52.05-4.07-86.93 44.88-59.03 82.83l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24L24.62 355.4c-20.59 41.25 22.84 84.87 73.49 73.81l69.96-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101.04 7.57 104.45-37.22l4.7-61.86c1.35-17.79 12.8-33.86 30.63-42.99l62-31.74c44.88-22.96 39.59-80.17-8.95-96.79z\"]\n};\nvar faSprayCan = {\n prefix: 'fas',\n iconName: 'spray-can',\n icon: [512, 512, [], \"f5bd\", \"M224 32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96h128V32zm256 96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-256 32H96c-53.02 0-96 42.98-96 96v224c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V256c0-53.02-42.98-96-96-96zm-64 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zM480 96c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm-96 32c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-96-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 0c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 192c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar faSquare = {\n prefix: 'fas',\n iconName: 'square',\n icon: [448, 512, [], \"f0c8\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faSquareFull = {\n prefix: 'fas',\n iconName: 'square-full',\n icon: [512, 512, [], \"f45c\", \"M512 512H0V0h512v512z\"]\n};\nvar faSquareRootAlt = {\n prefix: 'fas',\n iconName: 'square-root-alt',\n icon: [576, 512, [], \"f698\", \"M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z\"]\n};\nvar faStamp = {\n prefix: 'fas',\n iconName: 'stamp',\n icon: [512, 512, [], \"f5bf\", \"M32 512h448v-64H32v64zm384-256h-66.56c-16.26 0-29.44-13.18-29.44-29.44v-9.46c0-27.37 8.88-53.41 21.46-77.72 9.11-17.61 12.9-38.39 9.05-60.42-6.77-38.78-38.47-70.7-77.26-77.45C212.62-9.04 160 37.33 160 96c0 14.16 3.12 27.54 8.69 39.58C182.02 164.43 192 194.7 192 226.49v.07c0 16.26-13.18 29.44-29.44 29.44H96c-53.02 0-96 42.98-96 96v32c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-32c0-53.02-42.98-96-96-96z\"]\n};\nvar faStar = {\n prefix: 'fas',\n iconName: 'star',\n icon: [576, 512, [], \"f005\", \"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z\"]\n};\nvar faStarAndCrescent = {\n prefix: 'fas',\n iconName: 'star-and-crescent',\n icon: [512, 512, [], \"f699\", \"M340.47 466.36c-1.45 0-6.89.46-9.18.46-116.25 0-210.82-94.57-210.82-210.82S215.04 45.18 331.29 45.18c2.32 0 7.7.46 9.18.46 7.13 0 13.33-5.03 14.75-12.07 1.46-7.25-2.55-14.49-9.47-17.09C316.58 5.54 286.39 0 256 0 114.84 0 0 114.84 0 256s114.84 256 256 256c30.23 0 60.28-5.49 89.32-16.32 5.96-2.02 10.28-7.64 10.28-14.26 0-8.09-6.39-15.06-15.13-15.06zm162.99-252.5l-76.38-11.1-34.16-69.21c-1.83-3.7-5.38-5.55-8.93-5.55s-7.1 1.85-8.93 5.55l-34.16 69.21-76.38 11.1c-8.17 1.18-11.43 11.22-5.52 16.99l55.27 53.87-13.05 76.07c-1.11 6.44 4.01 11.66 9.81 11.66 1.53 0 3.11-.36 4.64-1.17L384 335.37l68.31 35.91c1.53.8 3.11 1.17 4.64 1.17 5.8 0 10.92-5.23 9.81-11.66l-13.05-76.07 55.27-53.87c5.91-5.77 2.65-15.81-5.52-16.99z\"]\n};\nvar faStarHalf = {\n prefix: 'fas',\n iconName: 'star-half',\n icon: [576, 512, [], \"f089\", \"M288 0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6V0z\"]\n};\nvar faStarHalfAlt = {\n prefix: 'fas',\n iconName: 'star-half-alt',\n icon: [536, 512, [], \"f5c0\", \"M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z\"]\n};\nvar faStarOfDavid = {\n prefix: 'fas',\n iconName: 'star-of-david',\n icon: [464, 512, [], \"f69a\", \"M405.68 256l53.21-89.39C473.3 142.4 455.48 112 426.88 112H319.96l-55.95-93.98C256.86 6.01 244.43 0 232 0s-24.86 6.01-32.01 18.02L144.04 112H37.11c-28.6 0-46.42 30.4-32.01 54.61L58.32 256 5.1 345.39C-9.31 369.6 8.51 400 37.11 400h106.93l55.95 93.98C207.14 505.99 219.57 512 232 512s24.86-6.01 32.01-18.02L319.96 400h106.93c28.6 0 46.42-30.4 32.01-54.61L405.68 256zm-12.78-88l-19.8 33.26L353.3 168h39.6zm-52.39 88l-52.39 88H175.88l-52.39-88 52.38-88h112.25l52.39 88zM232 73.72L254.79 112h-45.57L232 73.72zM71.1 168h39.6l-19.8 33.26L71.1 168zm0 176l19.8-33.26L110.7 344H71.1zM232 438.28L209.21 400h45.57L232 438.28zM353.29 344l19.8-33.26L392.9 344h-39.61z\"]\n};\nvar faStarOfLife = {\n prefix: 'fas',\n iconName: 'star-of-life',\n icon: [480, 512, [], \"f621\", \"M471.99 334.43L336.06 256l135.93-78.43c7.66-4.42 10.28-14.2 5.86-21.86l-32.02-55.43c-4.42-7.65-14.21-10.28-21.87-5.86l-135.93 78.43V16c0-8.84-7.17-16-16.01-16h-64.04c-8.84 0-16.01 7.16-16.01 16v156.86L56.04 94.43c-7.66-4.42-17.45-1.79-21.87 5.86L2.15 155.71c-4.42 7.65-1.8 17.44 5.86 21.86L143.94 256 8.01 334.43c-7.66 4.42-10.28 14.21-5.86 21.86l32.02 55.43c4.42 7.65 14.21 10.27 21.87 5.86l135.93-78.43V496c0 8.84 7.17 16 16.01 16h64.04c8.84 0 16.01-7.16 16.01-16V339.14l135.93 78.43c7.66 4.42 17.45 1.8 21.87-5.86l32.02-55.43c4.42-7.65 1.8-17.43-5.86-21.85z\"]\n};\nvar faStepBackward = {\n prefix: 'fas',\n iconName: 'step-backward',\n icon: [448, 512, [], \"f048\", \"M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z\"]\n};\nvar faStepForward = {\n prefix: 'fas',\n iconName: 'step-forward',\n icon: [448, 512, [], \"f051\", \"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z\"]\n};\nvar faStethoscope = {\n prefix: 'fas',\n iconName: 'stethoscope',\n icon: [512, 512, [], \"f0f1\", \"M447.1 112c-34.2.5-62.3 28.4-63 62.6-.5 24.3 12.5 45.6 32 56.8V344c0 57.3-50.2 104-112 104-60 0-109.2-44.1-111.9-99.2C265 333.8 320 269.2 320 192V36.6c0-11.4-8.1-21.3-19.3-23.5L237.8.5c-13-2.6-25.6 5.8-28.2 18.8L206.4 35c-2.6 13 5.8 25.6 18.8 28.2l30.7 6.1v121.4c0 52.9-42.2 96.7-95.1 97.2-53.4.5-96.9-42.7-96.9-96V69.4l30.7-6.1c13-2.6 21.4-15.2 18.8-28.2l-3.1-15.7C107.7 6.4 95.1-2 82.1.6L19.3 13C8.1 15.3 0 25.1 0 36.6V192c0 77.3 55.1 142 128.1 156.8C130.7 439.2 208.6 512 304 512c97 0 176-75.4 176-168V231.4c19.1-11.1 32-31.7 32-55.4 0-35.7-29.2-64.5-64.9-64zm.9 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"]\n};\nvar faStickyNote = {\n prefix: 'fas',\n iconName: 'sticky-note',\n icon: [448, 512, [], \"f249\", \"M312 320h136V56c0-13.3-10.7-24-24-24H24C10.7 32 0 42.7 0 56v400c0 13.3 10.7 24 24 24h264V344c0-13.2 10.8-24 24-24zm129 55l-98 98c-4.5 4.5-10.6 7-17 7h-6V352h128v6.1c0 6.3-2.5 12.4-7 16.9z\"]\n};\nvar faStop = {\n prefix: 'fas',\n iconName: 'stop',\n icon: [448, 512, [], \"f04d\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faStopCircle = {\n prefix: 'fas',\n iconName: 'stop-circle',\n icon: [512, 512, [], \"f28d\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z\"]\n};\nvar faStopwatch = {\n prefix: 'fas',\n iconName: 'stopwatch',\n icon: [448, 512, [], \"f2f2\", \"M432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-104 76.3-190.2 176-205.5V64h-28c-6.6 0-12-5.4-12-12V12c0-6.6 5.4-12 12-12h120c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-28v34.5c37.5 5.8 71.7 21.6 99.7 44.6l27.5-27.5c4.7-4.7 12.3-4.7 17 0l28.3 28.3c4.7 4.7 4.7 12.3 0 17l-29.4 29.4-.6.6C419.7 223.3 432 262.2 432 304zm-176 36V188.5c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12V340c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"]\n};\nvar faStopwatch20 = {\n prefix: 'fas',\n iconName: 'stopwatch-20',\n icon: [448, 512, [], \"e06f\", \"M398.5,190.91l.59-.61,26.59-26.58a16,16,0,0,0,0-22.63L403,118.41a16,16,0,0,0-22.63,0l-24.68,24.68A206.68,206.68,0,0,0,256,98.5V64h32a16,16,0,0,0,16-16V16A16,16,0,0,0,288,0H160a16.05,16.05,0,0,0-16,16V48a16.05,16.05,0,0,0,16,16h32V98.5A207.92,207.92,0,0,0,16.09,297.57C12.64,411.5,106.76,510.22,220.72,512,337.13,513.77,432,420,432,304A206,206,0,0,0,398.5,190.91ZM204.37,377.55a8.2,8.2,0,0,1,8.32,8.07v22.31a8.2,8.2,0,0,1-8.32,8.07H121.52a16.46,16.46,0,0,1-16.61-17.62c2.78-35.22,14.67-57.41,38.45-91.37,20.42-29.19,27.1-37.32,27.1-62.34,0-16.92-1.79-24.27-12.21-24.27-9.39,0-12.69,7.4-12.69,22.68v5.23a8.2,8.2,0,0,1-8.33,8.07h-24.9a8.2,8.2,0,0,1-8.33-8.07v-4.07c0-27.3,8.48-60.24,56.43-60.24,43,0,55.57,25.85,55.57,61,0,35.58-12.44,51.21-34.35,81.31-11.56,15-24.61,35.57-26.41,51.2ZM344,352.32c0,35.16-12.3,63.68-57.23,63.68C243.19,416,232,386.48,232,352.55V247.22c0-40.73,19.58-63.22,56.2-63.22C325,184,344,206.64,344,245.3ZM287.87,221.73c-9.41,0-13.23,7.5-13.23,20V357.68c0,13.11,3.59,20.59,13.23,20.59s13-8,13-21.27V241.06C300.89,229.79,297.88,221.73,287.87,221.73Z\"]\n};\nvar faStore = {\n prefix: 'fas',\n iconName: 'store',\n icon: [616, 512, [], \"f54e\", \"M602 118.6L537.1 15C531.3 5.7 521 0 510 0H106C95 0 84.7 5.7 78.9 15L14 118.6c-33.5 53.5-3.8 127.9 58.8 136.4 4.5.6 9.1.9 13.7.9 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18.1 20.1 44.3 33.1 73.8 33.1 4.7 0 9.2-.3 13.7-.9 62.8-8.4 92.6-82.8 59-136.4zM529.5 288c-10 0-19.9-1.5-29.5-3.8V384H116v-99.8c-9.6 2.2-19.5 3.8-29.5 3.8-6 0-12.1-.4-18-1.2-5.6-.8-11.1-2.1-16.4-3.6V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V283.2c-5.4 1.6-10.8 2.9-16.4 3.6-6.1.8-12.1 1.2-18.2 1.2z\"]\n};\nvar faStoreAlt = {\n prefix: 'fas',\n iconName: 'store-alt',\n icon: [640, 512, [], \"f54f\", \"M320 384H128V224H64v256c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V224h-64v160zm314.6-241.8l-85.3-128c-6-8.9-16-14.2-26.7-14.2H117.4c-10.7 0-20.7 5.3-26.6 14.2l-85.3 128c-14.2 21.3 1 49.8 26.6 49.8H608c25.5 0 40.7-28.5 26.6-49.8zM512 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h-64v272z\"]\n};\nvar faStoreAltSlash = {\n prefix: 'fas',\n iconName: 'store-alt-slash',\n icon: [640, 512, [], \"e070\", \"M17.89,123.62,5.51,142.2c-14.2,21.3,1,49.8,26.59,49.8h74.26ZM576,413.42V224H512V364L384,265V224H330.92l-41.4-32H608c25.5,0,40.7-28.5,26.59-49.8l-85.29-128A32.18,32.18,0,0,0,522.6,0H117.42A31.87,31.87,0,0,0,90.81,14.2l-10.66,16L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.81l19.64-25.26a16,16,0,0,0-2.81-22.45ZM320,384H128V224H64V480a32,32,0,0,0,32,32H352a32,32,0,0,0,32-32V406.59l-64-49.47Z\"]\n};\nvar faStoreSlash = {\n prefix: 'fas',\n iconName: 'store-slash',\n icon: [640, 512, [], \"e071\", \"M121.51,384V284.2a119.43,119.43,0,0,1-28,3.8,123.46,123.46,0,0,1-17.1-1.2,114.88,114.88,0,0,1-15.58-3.6V480c0,17.7,13.59,32,30.4,32H505.75L348.42,384Zm-28-128.09c25.1,0,47.29-10.72,64-27.24L24,120.05c-30.52,53.39-2.45,126.53,56.49,135A95.68,95.68,0,0,0,93.48,255.91ZM602.13,458.09,547.2,413.41V283.2a93.5,93.5,0,0,1-15.57,3.6,127.31,127.31,0,0,1-17.29,1.2,114.89,114.89,0,0,1-28-3.8v79.68L348.52,251.77a88.06,88.06,0,0,0,25.41,4.14c28.11,0,53-13,70.11-33.11,17.19,20.11,42.08,33.11,70.11,33.11a94.31,94.31,0,0,0,13-.91c59.66-8.41,88-82.8,56.06-136.4L521.55,15A30.1,30.1,0,0,0,495.81,0H112A30.11,30.11,0,0,0,86.27,15L76.88,30.78,43.19,3.38A14.68,14.68,0,0,0,21.86,6.19L3.2,31.45A16.58,16.58,0,0,0,5.87,53.91L564.81,508.63a14.69,14.69,0,0,0,21.33-2.82l18.66-25.26A16.58,16.58,0,0,0,602.13,458.09Z\"]\n};\nvar faStream = {\n prefix: 'fas',\n iconName: 'stream',\n icon: [512, 512, [], \"f550\", \"M16 128h416c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v64c0 8.84 7.16 16 16 16zm480 80H80c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm-64 176H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16z\"]\n};\nvar faStreetView = {\n prefix: 'fas',\n iconName: 'street-view',\n icon: [512, 512, [], \"f21d\", \"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z\"]\n};\nvar faStrikethrough = {\n prefix: 'fas',\n iconName: 'strikethrough',\n icon: [512, 512, [], \"f0cc\", \"M496 224H293.9l-87.17-26.83A43.55 43.55 0 0 1 219.55 112h66.79A49.89 49.89 0 0 1 331 139.58a16 16 0 0 0 21.46 7.15l42.94-21.47a16 16 0 0 0 7.16-21.46l-.53-1A128 128 0 0 0 287.51 32h-68a123.68 123.68 0 0 0-123 135.64c2 20.89 10.1 39.83 21.78 56.36H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-180.24 96A43 43 0 0 1 336 356.45 43.59 43.59 0 0 1 292.45 400h-66.79A49.89 49.89 0 0 1 181 372.42a16 16 0 0 0-21.46-7.15l-42.94 21.47a16 16 0 0 0-7.16 21.46l.53 1A128 128 0 0 0 224.49 480h68a123.68 123.68 0 0 0 123-135.64 114.25 114.25 0 0 0-5.34-24.36z\"]\n};\nvar faStroopwafel = {\n prefix: 'fas',\n iconName: 'stroopwafel',\n icon: [512, 512, [], \"f551\", \"M188.12 210.74L142.86 256l45.25 45.25L233.37 256l-45.25-45.26zm113.13-22.62L256 142.86l-45.25 45.25L256 233.37l45.25-45.25zm-90.5 135.76L256 369.14l45.26-45.26L256 278.63l-45.25 45.25zM256 0C114.62 0 0 114.62 0 256s114.62 256 256 256 256-114.62 256-256S397.38 0 256 0zm186.68 295.6l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-28.29-28.29-45.25 45.25 33.94 33.94 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-33.94-33.94-45.26 45.26 28.29 28.29c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0L256 414.39l-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l28.29-28.29-45.25-45.26-33.94 33.94 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 33.94-33.94-45.25-45.25-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0L69.32 295.6c-3.12-3.12-3.12-8.19 0-11.31L97.61 256l-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l28.29 28.29 45.25-45.26-33.94-33.94-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 33.94 33.94 45.26-45.25-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0L256 97.61l28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-28.29 28.29 45.26 45.25 33.94-33.94-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-33.94 33.94 45.25 45.26 28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31L414.39 256l28.29 28.28a8.015 8.015 0 0 1 0 11.32zM278.63 256l45.26 45.25L369.14 256l-45.25-45.26L278.63 256z\"]\n};\nvar faSubscript = {\n prefix: 'fas',\n iconName: 'subscript',\n icon: [512, 512, [], \"f12c\", \"M496 448h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 352h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z\"]\n};\nvar faSubway = {\n prefix: 'fas',\n iconName: 'subway',\n icon: [448, 512, [], \"f239\", \"M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zM200 232V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm200 0V120c0-13.255-10.745-24-24-24H272c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm-48 56c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm-256 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"]\n};\nvar faSuitcase = {\n prefix: 'fas',\n iconName: 'suitcase',\n icon: [512, 512, [], \"f0f2\", \"M128 480h256V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v400zm64-384h128v32H192V96zm320 80v256c0 26.5-21.5 48-48 48h-48V128h48c26.5 0 48 21.5 48 48zM96 480H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h48v352z\"]\n};\nvar faSuitcaseRolling = {\n prefix: 'fas',\n iconName: 'suitcase-rolling',\n icon: [384, 512, [], \"f5c1\", \"M336 160H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h16v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h128v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h16c26.51 0 48-21.49 48-48V208c0-26.51-21.49-48-48-48zm-16 216c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zM144 48h96v80h48V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v80h48V48z\"]\n};\nvar faSun = {\n prefix: 'fas',\n iconName: 'sun',\n icon: [512, 512, [], \"f185\", \"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z\"]\n};\nvar faSuperscript = {\n prefix: 'fas',\n iconName: 'superscript',\n icon: [512, 512, [], \"f12b\", \"M496 160h-16V16a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 64h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z\"]\n};\nvar faSurprise = {\n prefix: 'fas',\n iconName: 'surprise',\n icon: [496, 512, [], \"f5c2\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm112 208c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm80-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faSwatchbook = {\n prefix: 'fas',\n iconName: 'swatchbook',\n icon: [512, 512, [], \"f5c3\", \"M434.66,167.71h0L344.5,77.36a31.83,31.83,0,0,0-45-.07h0l-.07.07L224,152.88V424L434.66,212.9A32,32,0,0,0,434.66,167.71ZM480,320H373.09L186.68,506.51c-2.06,2.07-4.5,3.58-6.68,5.49H480a32,32,0,0,0,32-32V352A32,32,0,0,0,480,320ZM192,32A32,32,0,0,0,160,0H32A32,32,0,0,0,0,32V416a96,96,0,0,0,192,0ZM96,440a24,24,0,1,1,24-24A24,24,0,0,1,96,440Zm32-184H64V192h64Zm0-128H64V64h64Z\"]\n};\nvar faSwimmer = {\n prefix: 'fas',\n iconName: 'swimmer',\n icon: [640, 512, [], \"f5c4\", \"M189.61 310.58c3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c16.02-14.77 34.5-22.58 53.46-22.58h16.3c18.96 0 37.45 7.81 53.46 22.58 3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c14.86-13.71 31.88-21.12 49.39-22.16l-112.84-80.6 18-12.86c3.64-2.58 8.28-3.52 12.62-2.61l100.35 21.53c25.91 5.53 51.44-10.97 57-36.88 5.55-25.92-10.95-51.44-36.88-57L437.68 98.47c-30.73-6.58-63.02.12-88.56 18.38l-80.02 57.17c-10.38 7.39-19.36 16.44-26.72 26.94L173.75 299c5.47 3.23 10.82 6.93 15.86 11.58zM624 352h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 343.58 442.04 352 416 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 343.58 250.04 352 224 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 343.58 58.04 352 32 352H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-512-96c44.18 0 80-35.82 80-80s-35.82-80-80-80-80 35.82-80 80 35.82 80 80 80z\"]\n};\nvar faSwimmingPool = {\n prefix: 'fas',\n iconName: 'swimming-pool',\n icon: [640, 512, [], \"f5c5\", \"M624 416h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 407.58 442.04 416 416 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 407.58 250.04 416 224 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 407.58 58.04 416 32 416H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-400-32v-96h192v96c19.12 0 30.86-6.16 34.39-9.42 9.17-8.46 19.2-14.34 29.61-18.07V128c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v96H224v-96c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v228.5c10.41 3.73 20.44 9.62 29.61 18.07 3.53 3.27 15.27 9.43 34.39 9.43z\"]\n};\nvar faSynagogue = {\n prefix: 'fas',\n iconName: 'synagogue',\n icon: [640, 512, [], \"f69b\", \"M70 196.51L6.67 268.29A26.643 26.643 0 0 0 0 285.93V512h128V239.58l-38-43.07c-5.31-6.01-14.69-6.01-20 0zm563.33 71.78L570 196.51c-5.31-6.02-14.69-6.02-20 0l-38 43.07V512h128V285.93c0-6.5-2.37-12.77-6.67-17.64zM339.99 7.01c-11.69-9.35-28.29-9.35-39.98 0l-128 102.4A32.005 32.005 0 0 0 160 134.4V512h96v-92.57c0-31.88 21.78-61.43 53.25-66.55C349.34 346.35 384 377.13 384 416v96h96V134.4c0-9.72-4.42-18.92-12.01-24.99l-128-102.4zm52.07 215.55c1.98 3.15-.29 7.24-4 7.24h-38.94L324 269.79c-1.85 2.95-6.15 2.95-8 0l-25.12-39.98h-38.94c-3.72 0-5.98-4.09-4-7.24l19.2-30.56-19.2-30.56c-1.98-3.15.29-7.24 4-7.24h38.94l25.12-40c1.85-2.95 6.15-2.95 8 0l25.12 39.98h38.95c3.71 0 5.98 4.09 4 7.24L372.87 192l19.19 30.56z\"]\n};\nvar faSync = {\n prefix: 'fas',\n iconName: 'sync',\n icon: [512, 512, [], \"f021\", \"M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z\"]\n};\nvar faSyncAlt = {\n prefix: 'fas',\n iconName: 'sync-alt',\n icon: [512, 512, [], \"f2f1\", \"M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z\"]\n};\nvar faSyringe = {\n prefix: 'fas',\n iconName: 'syringe',\n icon: [512, 512, [], \"f48e\", \"M201.5 174.8l55.7 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-55.7-55.8-45.3 45.3 55.8 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L111 265.2l-26.4 26.4c-17.3 17.3-25.6 41.1-23 65.4l7.1 63.6L2.3 487c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l66.3-66.3 63.6 7.1c23.9 2.6 47.9-5.4 65.4-23l181.9-181.9-135.7-135.7-64.9 65zm308.2-93.3L430.5 2.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-45.3 45.3-56.6-56.6-17-17c-3.1-3.1-8.2-3.1-11.3 0l-33.9 33.9c-3.1 3.1-3.1 8.2 0 11.3l17 17L424.8 223l17 17c3.1 3.1 8.2 3.1 11.3 0l33.9-34c3.1-3.1 3.1-8.2 0-11.3l-73.5-73.5 45.3-45.3 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.2 3.1-8.2 0-11.4z\"]\n};\nvar faTable = {\n prefix: 'fas',\n iconName: 'table',\n icon: [512, 512, [], \"f0ce\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z\"]\n};\nvar faTableTennis = {\n prefix: 'fas',\n iconName: 'table-tennis',\n icon: [512, 512, [], \"f45d\", \"M496.2 296.5C527.7 218.7 512 126.2 449 63.1 365.1-21 229-21 145.1 63.1l-56 56.1 211.5 211.5c46.1-62.1 131.5-77.4 195.6-34.2zm-217.9 79.7L57.9 155.9c-27.3 45.3-21.7 105 17.3 144.1l34.5 34.6L6.7 424c-8.6 7.5-9.1 20.7-1 28.8l53.4 53.5c8 8.1 21.2 7.6 28.7-1L177.1 402l35.7 35.7c19.7 19.7 44.6 30.5 70.3 33.3-7.1-17-11-35.6-11-55.1-.1-13.8 2.5-27 6.2-39.7zM416 320c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z\"]\n};\nvar faTablet = {\n prefix: 'fas',\n iconName: 'tablet',\n icon: [448, 512, [], \"f10a\", \"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"]\n};\nvar faTabletAlt = {\n prefix: 'fas',\n iconName: 'tablet-alt',\n icon: [448, 512, [], \"f3fa\", \"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm176-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h328c6.6 0 12 5.4 12 12v312z\"]\n};\nvar faTablets = {\n prefix: 'fas',\n iconName: 'tablets',\n icon: [640, 512, [], \"f490\", \"M160 192C78.9 192 12.5 250.5.1 326.7c-.8 4.8 3.3 9.3 8.3 9.3h303.3c5 0 9.1-4.5 8.3-9.3C307.5 250.5 241.1 192 160 192zm151.6 176H8.4c-5 0-9.1 4.5-8.3 9.3C12.5 453.5 78.9 512 160 512s147.5-58.5 159.9-134.7c.8-4.8-3.3-9.3-8.3-9.3zM593.4 46.6c-56.5-56.5-144.2-61.4-206.9-16-4 2.9-4.3 8.9-.8 12.3L597 254.3c3.5 3.5 9.5 3.2 12.3-.8 45.5-62.7 40.6-150.4-15.9-206.9zM363 65.7c-3.5-3.5-9.5-3.2-12.3.8-45.4 62.7-40.5 150.4 15.9 206.9 56.5 56.5 144.2 61.4 206.9 15.9 4-2.9 4.3-8.9.8-12.3L363 65.7z\"]\n};\nvar faTachometerAlt = {\n prefix: 'fas',\n iconName: 'tachometer-alt',\n icon: [576, 512, [], \"f3fd\", \"M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm246.77-72.41l-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36zm14.66 57.2l15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faTag = {\n prefix: 'fas',\n iconName: 'tag',\n icon: [512, 512, [], \"f02b\", \"M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"]\n};\nvar faTags = {\n prefix: 'fas',\n iconName: 'tags',\n icon: [640, 512, [], \"f02c\", \"M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z\"]\n};\nvar faTape = {\n prefix: 'fas',\n iconName: 'tape',\n icon: [640, 512, [], \"f4db\", \"M224 192c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm400 224H380.6c41.5-40.7 67.4-97.3 67.4-160 0-123.7-100.3-224-224-224S0 132.3 0 256s100.3 224 224 224h400c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400-64c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z\"]\n};\nvar faTasks = {\n prefix: 'fas',\n iconName: 'tasks',\n icon: [512, 512, [], \"f0ae\", \"M139.61 35.5a12 12 0 0 0-17 0L58.93 98.81l-22.7-22.12a12 12 0 0 0-17 0L3.53 92.41a12 12 0 0 0 0 17l47.59 47.4a12.78 12.78 0 0 0 17.61 0l15.59-15.62L156.52 69a12.09 12.09 0 0 0 .09-17zm0 159.19a12 12 0 0 0-17 0l-63.68 63.72-22.7-22.1a12 12 0 0 0-17 0L3.53 252a12 12 0 0 0 0 17L51 316.5a12.77 12.77 0 0 0 17.6 0l15.7-15.69 72.2-72.22a12 12 0 0 0 .09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 0 0 0-96zm432 16H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faTaxi = {\n prefix: 'fas',\n iconName: 'taxi',\n icon: [512, 512, [], \"f1ba\", \"M462 241.64l-22-84.84c-9.6-35.2-41.6-60.8-76.8-60.8H352V64c0-17.67-14.33-32-32-32H192c-17.67 0-32 14.33-32 32v32h-11.2c-35.2 0-67.2 25.6-76.8 60.8l-22 84.84C21.41 248.04 0 273.47 0 304v48c0 23.63 12.95 44.04 32 55.12V448c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-40.88c19.05-11.09 32-31.5 32-55.12v-48c0-30.53-21.41-55.96-50-62.36zM96 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm20.55-112l17.2-66.36c2.23-8.16 9.59-13.64 15.06-13.64h214.4c5.47 0 12.83 5.48 14.85 12.86L395.45 240h-278.9zM416 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faTeeth = {\n prefix: 'fas',\n iconName: 'teeth',\n icon: [640, 512, [], \"f62e\", \"M544 0H96C42.98 0 0 42.98 0 96v320c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96zM160 368c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm128 128c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64z\"]\n};\nvar faTeethOpen = {\n prefix: 'fas',\n iconName: 'teeth-open',\n icon: [640, 512, [], \"f62f\", \"M544 0H96C42.98 0 0 42.98 0 96v64c0 35.35 28.66 64 64 64h512c35.34 0 64-28.65 64-64V96c0-53.02-42.98-96-96-96zM160 176c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm128 0c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm0 144H64c-35.34 0-64 28.65-64 64v32c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96v-32c0-35.35-28.66-64-64-64zm-416 80c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32zm144-8c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm144 0c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm128 8c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32z\"]\n};\nvar faTemperatureHigh = {\n prefix: 'fas',\n iconName: 'temperature-high',\n icon: [512, 512, [], \"f769\", \"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v210.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"]\n};\nvar faTemperatureLow = {\n prefix: 'fas',\n iconName: 'temperature-low',\n icon: [512, 512, [], \"f76b\", \"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v18.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"]\n};\nvar faTenge = {\n prefix: 'fas',\n iconName: 'tenge',\n icon: [384, 512, [], \"f7d7\", \"M372 160H12c-6.6 0-12 5.4-12 12v56c0 6.6 5.4 12 12 12h140v228c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V240h140c6.6 0 12-5.4 12-12v-56c0-6.6-5.4-12-12-12zm0-128H12C5.4 32 0 37.4 0 44v56c0 6.6 5.4 12 12 12h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12z\"]\n};\nvar faTerminal = {\n prefix: 'fas',\n iconName: 'terminal',\n icon: [640, 512, [], \"f120\", \"M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z\"]\n};\nvar faTextHeight = {\n prefix: 'fas',\n iconName: 'text-height',\n icon: [576, 512, [], \"f034\", \"M304 32H16A16 16 0 0 0 0 48v96a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32h56v304H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-40V112h56v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm256 336h-48V144h48c14.31 0 21.33-17.31 11.31-27.31l-80-80a16 16 0 0 0-22.62 0l-80 80C379.36 126 384.36 144 400 144h48v224h-48c-14.31 0-21.32 17.31-11.31 27.31l80 80a16 16 0 0 0 22.62 0l80-80C580.64 386 575.64 368 560 368z\"]\n};\nvar faTextWidth = {\n prefix: 'fas',\n iconName: 'text-width',\n icon: [448, 512, [], \"f035\", \"M432 32H16A16 16 0 0 0 0 48v80a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-16h120v112h-24a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-24V112h120v16a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm-68.69 260.69C354 283.36 336 288.36 336 304v48H112v-48c0-14.31-17.31-21.32-27.31-11.31l-80 80a16 16 0 0 0 0 22.62l80 80C94 484.64 112 479.64 112 464v-48h224v48c0 14.31 17.31 21.33 27.31 11.31l80-80a16 16 0 0 0 0-22.62z\"]\n};\nvar faTh = {\n prefix: 'fas',\n iconName: 'th',\n icon: [512, 512, [], \"f00a\", \"M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z\"]\n};\nvar faThLarge = {\n prefix: 'fas',\n iconName: 'th-large',\n icon: [512, 512, [], \"f009\", \"M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z\"]\n};\nvar faThList = {\n prefix: 'fas',\n iconName: 'th-list',\n icon: [512, 512, [], \"f00b\", \"M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z\"]\n};\nvar faTheaterMasks = {\n prefix: 'fas',\n iconName: 'theater-masks',\n icon: [640, 512, [], \"f630\", \"M206.86 245.15c-35.88 10.45-59.95 41.2-57.53 74.1 11.4-12.72 28.81-23.7 49.9-30.92l7.63-43.18zM95.81 295L64.08 115.49c-.29-1.62.28-2.62.24-2.65 57.76-32.06 123.12-49.01 189.01-49.01 1.61 0 3.23.17 4.85.19 13.95-13.47 31.73-22.83 51.59-26 18.89-3.02 38.05-4.55 57.18-5.32-9.99-13.95-24.48-24.23-41.77-27C301.27 1.89 277.24 0 253.32 0 176.66 0 101.02 19.42 33.2 57.06 9.03 70.48-3.92 98.48 1.05 126.58l31.73 179.51c14.23 80.52 136.33 142.08 204.45 142.08 3.59 0 6.75-.46 10.01-.8-13.52-17.08-28.94-40.48-39.5-67.58-47.61-12.98-106.06-51.62-111.93-84.79zm97.55-137.46c-.73-4.12-2.23-7.87-4.07-11.4-8.25 8.91-20.67 15.75-35.32 18.32-14.65 2.58-28.67.4-39.48-5.17-.52 3.94-.64 7.98.09 12.1 3.84 21.7 24.58 36.19 46.34 32.37 21.75-3.82 36.28-24.52 32.44-46.22zM606.8 120.9c-88.98-49.38-191.43-67.41-291.98-51.35-27.31 4.36-49.08 26.26-54.04 54.36l-31.73 179.51c-15.39 87.05 95.28 196.27 158.31 207.35 63.03 11.09 204.47-53.79 219.86-140.84l31.73-179.51c4.97-28.11-7.98-56.11-32.15-69.52zm-273.24 96.8c3.84-21.7 24.58-36.19 46.34-32.36 21.76 3.83 36.28 24.52 32.45 46.22-.73 4.12-2.23 7.87-4.07 11.4-8.25-8.91-20.67-15.75-35.32-18.32-14.65-2.58-28.67-.4-39.48 5.17-.53-3.95-.65-7.99.08-12.11zm70.47 198.76c-55.68-9.79-93.52-59.27-89.04-112.9 20.6 25.54 56.21 46.17 99.49 53.78 43.28 7.61 83.82.37 111.93-16.6-14.18 51.94-66.71 85.51-122.38 75.72zm130.3-151.34c-8.25-8.91-20.68-15.75-35.33-18.32-14.65-2.58-28.67-.4-39.48 5.17-.52-3.94-.64-7.98.09-12.1 3.84-21.7 24.58-36.19 46.34-32.37 21.75 3.83 36.28 24.52 32.45 46.22-.73 4.13-2.23 7.88-4.07 11.4z\"]\n};\nvar faThermometer = {\n prefix: 'fas',\n iconName: 'thermometer',\n icon: [512, 512, [], \"f491\", \"M476.8 20.4c-37.5-30.7-95.5-26.3-131.9 10.2l-45.7 46 50.5 50.5c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.4-50.5-45.1 45.4 50.3 50.4c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L209 167.4l-45.1 45.4L214 263c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.1-50.2L96 281.1V382L7 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l89-89h99.9L484 162.6c34.9-34.9 42.2-101.5-7.2-142.2z\"]\n};\nvar faThermometerEmpty = {\n prefix: 'fas',\n iconName: 'thermometer-empty',\n icon: [256, 512, [], \"f2cb\", \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThermometerFull = {\n prefix: 'fas',\n iconName: 'thermometer-full',\n icon: [256, 512, [], \"f2c7\", \"M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 368l-.576-.002c-43.86-.304-79.647-36.544-79.423-80.42.173-33.98 19.266-51.652 31.999-66.08V96c0-26.467 21.533-48 48-48s48 21.533 48 48v221.498c12.63 14.312 32 32.164 32 66.502 0 44.112-35.888 80-80 80zm64-80c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V96c0-17.673 14.327-32 32-32s32 14.327 32 32v232.583c19.124 11.068 32 31.732 32 55.417z\"]\n};\nvar faThermometerHalf = {\n prefix: 'fas',\n iconName: 'thermometer-half',\n icon: [256, 512, [], \"f2c9\", \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V224c0-17.673 14.327-32 32-32s32 14.327 32 32v104.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThermometerQuarter = {\n prefix: 'fas',\n iconName: 'thermometer-quarter',\n icon: [256, 512, [], \"f2ca\", \"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V288c0-17.673 14.327-32 32-32s32 14.327 32 32v40.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThermometerThreeQuarters = {\n prefix: 'fas',\n iconName: 'thermometer-three-quarters',\n icon: [256, 512, [], \"f2c8\", \"M192 384c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-23.685 12.876-44.349 32-55.417V160c0-17.673 14.327-32 32-32s32 14.327 32 32v168.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"]\n};\nvar faThumbsDown = {\n prefix: 'fas',\n iconName: 'thumbs-down',\n icon: [512, 512, [], \"f165\", \"M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z\"]\n};\nvar faThumbsUp = {\n prefix: 'fas',\n iconName: 'thumbs-up',\n icon: [512, 512, [], \"f164\", \"M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z\"]\n};\nvar faThumbtack = {\n prefix: 'fas',\n iconName: 'thumbtack',\n icon: [384, 512, [], \"f08d\", \"M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z\"]\n};\nvar faTicketAlt = {\n prefix: 'fas',\n iconName: 'ticket-alt',\n icon: [576, 512, [], \"f3ff\", \"M128 160h320v192H128V160zm400 96c0 26.51 21.49 48 48 48v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c26.51 0 48-21.49 48-48s-21.49-48-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v96c-26.51 0-48 21.49-48 48zm-48-104c0-13.255-10.745-24-24-24H120c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V152z\"]\n};\nvar faTimes = {\n prefix: 'fas',\n iconName: 'times',\n icon: [352, 512, [], \"f00d\", \"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"]\n};\nvar faTimesCircle = {\n prefix: 'fas',\n iconName: 'times-circle',\n icon: [512, 512, [], \"f057\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z\"]\n};\nvar faTint = {\n prefix: 'fas',\n iconName: 'tint',\n icon: [352, 512, [], \"f043\", \"M205.22 22.09c-7.94-28.78-49.44-30.12-58.44 0C100.01 179.85 0 222.72 0 333.91 0 432.35 78.72 512 176 512s176-79.65 176-178.09c0-111.75-99.79-153.34-146.78-311.82zM176 448c-61.75 0-112-50.25-112-112 0-8.84 7.16-16 16-16s16 7.16 16 16c0 44.11 35.89 80 80 80 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"]\n};\nvar faTintSlash = {\n prefix: 'fas',\n iconName: 'tint-slash',\n icon: [640, 512, [], \"f5c7\", \"M633.82 458.1L494.97 350.78c.52-5.57 1.03-11.16 1.03-16.87 0-111.76-99.79-153.34-146.78-311.82-7.94-28.78-49.44-30.12-58.44 0-15.52 52.34-36.87 91.96-58.49 125.68L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM144 333.91C144 432.35 222.72 512 320 512c44.71 0 85.37-16.96 116.4-44.7L162.72 255.78c-11.41 23.5-18.72 48.35-18.72 78.13z\"]\n};\nvar faTired = {\n prefix: 'fas',\n iconName: 'tired',\n icon: [496, 512, [], \"f5c8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 288c51.9 0 115.3 43.8 123.2 106.7 1.7 13.6-8 24.6-17.7 20.4-25.9-11.1-64.4-17.4-105.5-17.4s-79.6 6.3-105.5 17.4c-9.8 4.2-19.4-7-17.7-20.4C132.7 331.8 196.1 288 248 288z\"]\n};\nvar faToggleOff = {\n prefix: 'fas',\n iconName: 'toggle-off',\n icon: [576, 512, [], \"f204\", \"M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z\"]\n};\nvar faToggleOn = {\n prefix: 'fas',\n iconName: 'toggle-on',\n icon: [576, 512, [], \"f205\", \"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z\"]\n};\nvar faToilet = {\n prefix: 'fas',\n iconName: 'toilet',\n icon: [384, 512, [], \"f7d8\", \"M368 48c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h16v156.7C11.8 214.8 0 226.9 0 240c0 67.2 34.6 126.2 86.8 160.5l-21.4 70.2C59.1 491.2 74.5 512 96 512h192c21.5 0 36.9-20.8 30.6-41.3l-21.4-70.2C349.4 366.2 384 307.2 384 240c0-13.1-11.8-25.2-32-35.3V48h16zM80 72c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H88c-4.4 0-8-3.6-8-8V72zm112 200c-77.1 0-139.6-14.3-139.6-32s62.5-32 139.6-32 139.6 14.3 139.6 32-62.5 32-139.6 32z\"]\n};\nvar faToiletPaper = {\n prefix: 'fas',\n iconName: 'toilet-paper',\n icon: [576, 512, [], \"f71e\", \"M128 0C74.98 0 32 85.96 32 192v172.07c0 41.12-9.8 62.77-31.17 126.87C-2.62 501.3 5.09 512 16.01 512h280.92c13.77 0 26-8.81 30.36-21.88 12.83-38.48 24.71-72.4 24.71-126.05V192c0-83.6 23.67-153.52 60.44-192H128zM96 224c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zM480 0c-53.02 0-96 85.96-96 192s42.98 192 96 192 96-85.96 96-192S533.02 0 480 0zm0 256c-17.67 0-32-28.65-32-64s14.33-64 32-64 32 28.65 32 64-14.33 64-32 64z\"]\n};\nvar faToiletPaperSlash = {\n prefix: 'fas',\n iconName: 'toilet-paper-slash',\n icon: [640, 512, [], \"e072\", \"M64,192V364.13c0,41.12-9.75,62.75-31.12,126.87A16,16,0,0,0,48,512H328.86a31.87,31.87,0,0,0,30.38-21.87c9.31-27.83,18-53.35,22.18-85.55l-316-244.25C64.53,170.66,64,181.19,64,192ZM633.82,458.09l-102-78.81C575.28,360.91,608,284.32,608,192,608,86,565,0,512,0s-96,86-96,192c0,42,7,80.4,18.43,112L384,265V192c0-83.62,23.63-153.5,60.5-192H160c-23.33,0-44.63,16.83-61.26,44.53L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09ZM512,256c-17.63,0-32-28.62-32-64s14.37-64,32-64,32,28.63,32,64S529.62,256,512,256Z\"]\n};\nvar faToolbox = {\n prefix: 'fas',\n iconName: 'toolbox',\n icon: [512, 512, [], \"f552\", \"M502.63 214.63l-45.25-45.25c-6-6-14.14-9.37-22.63-9.37H384V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v80H77.25c-8.49 0-16.62 3.37-22.63 9.37L9.37 214.63c-6 6-9.37 14.14-9.37 22.63V320h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-82.75c0-8.48-3.37-16.62-9.37-22.62zM320 160H192V96h128v64zm64 208c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H192v16c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H0v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96H384v16z\"]\n};\nvar faTools = {\n prefix: 'fas',\n iconName: 'tools',\n icon: [512, 512, [], \"f7d9\", \"M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z\"]\n};\nvar faTooth = {\n prefix: 'fas',\n iconName: 'tooth',\n icon: [448, 512, [], \"f5c9\", \"M443.98 96.25c-11.01-45.22-47.11-82.06-92.01-93.72-32.19-8.36-63 5.1-89.14 24.33-3.25 2.39-6.96 3.73-10.5 5.48l28.32 18.21c7.42 4.77 9.58 14.67 4.8 22.11-4.46 6.95-14.27 9.86-22.11 4.8L162.83 12.84c-20.7-10.85-43.38-16.4-66.81-10.31-44.9 11.67-81 48.5-92.01 93.72-10.13 41.62-.42 80.81 21.5 110.43 23.36 31.57 32.68 68.66 36.29 107.35 4.4 47.16 10.33 94.16 20.94 140.32l7.8 33.95c3.19 13.87 15.49 23.7 29.67 23.7 13.97 0 26.15-9.55 29.54-23.16l34.47-138.42c4.56-18.32 20.96-31.16 39.76-31.16s35.2 12.85 39.76 31.16l34.47 138.42c3.39 13.61 15.57 23.16 29.54 23.16 14.18 0 26.48-9.83 29.67-23.7l7.8-33.95c10.61-46.15 16.53-93.16 20.94-140.32 3.61-38.7 12.93-75.78 36.29-107.35 21.95-29.61 31.66-68.8 21.53-110.43z\"]\n};\nvar faTorah = {\n prefix: 'fas',\n iconName: 'torah',\n icon: [640, 512, [], \"f6a0\", \"M320.05 366.48l17.72-29.64h-35.46zm99.21-166H382.4l18.46 30.82zM48 0C21.49 0 0 14.33 0 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32C96 14.33 74.51 0 48 0zm172.74 311.5h36.85l-18.46-30.82zm161.71 0h36.86l-18.45-30.8zM128 464h384V48H128zm66.77-278.13a21.22 21.22 0 0 1 18.48-10.71h59.45l29.13-48.71a21.13 21.13 0 0 1 18.22-10.37A20.76 20.76 0 0 1 338 126.29l29.25 48.86h59.52a21.12 21.12 0 0 1 18.1 32L415.63 256 445 305a20.69 20.69 0 0 1 .24 21.12 21.25 21.25 0 0 1-18.48 10.72h-59.47l-29.13 48.7a21.13 21.13 0 0 1-18.16 10.4 20.79 20.79 0 0 1-18-10.22l-29.25-48.88h-59.5a21.11 21.11 0 0 1-18.1-32L224.36 256 195 207a20.7 20.7 0 0 1-.23-21.13zM592 0c-26.51 0-48 14.33-48 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32c0-17.67-21.49-32-48-32zM320 145.53l-17.78 29.62h35.46zm-62.45 55h-36.81l18.44 30.8zm29.58 111h65.79L386.09 256l-33.23-55.52h-65.79L253.9 256z\"]\n};\nvar faToriiGate = {\n prefix: 'fas',\n iconName: 'torii-gate',\n icon: [512, 512, [], \"f6a1\", \"M376.45 32h-240.9A303.17 303.17 0 0 1 0 0v96c0 17.67 14.33 32 32 32h32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h256v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h48c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-48v-64h32c17.67 0 32-14.33 32-32V0a303.17 303.17 0 0 1-135.55 32zM128 128h96v64h-96v-64zm256 64h-96v-64h96v64z\"]\n};\nvar faTractor = {\n prefix: 'fas',\n iconName: 'tractor',\n icon: [640, 512, [], \"f722\", \"M528 336c-48.6 0-88 39.4-88 88s39.4 88 88 88 88-39.4 88-88-39.4-88-88-88zm0 112c-13.23 0-24-10.77-24-24s10.77-24 24-24 24 10.77 24 24-10.77 24-24 24zm80-288h-64v-40.2c0-14.12 4.7-27.76 13.15-38.84 4.42-5.8 3.55-14.06-1.32-19.49L534.2 37.3c-6.66-7.45-18.32-6.92-24.7.78C490.58 60.9 480 89.81 480 119.8V160H377.67L321.58 29.14A47.914 47.914 0 0 0 277.45 0H144c-26.47 0-48 21.53-48 48v146.52c-8.63-6.73-20.96-6.46-28.89 1.47L36 227.1c-8.59 8.59-8.59 22.52 0 31.11l5.06 5.06c-4.99 9.26-8.96 18.82-11.91 28.72H22c-12.15 0-22 9.85-22 22v44c0 12.15 9.85 22 22 22h7.14c2.96 9.91 6.92 19.46 11.91 28.73l-5.06 5.06c-8.59 8.59-8.59 22.52 0 31.11L67.1 476c8.59 8.59 22.52 8.59 31.11 0l5.06-5.06c9.26 4.99 18.82 8.96 28.72 11.91V490c0 12.15 9.85 22 22 22h44c12.15 0 22-9.85 22-22v-7.14c9.9-2.95 19.46-6.92 28.72-11.91l5.06 5.06c8.59 8.59 22.52 8.59 31.11 0l31.11-31.11c8.59-8.59 8.59-22.52 0-31.11l-5.06-5.06c4.99-9.26 8.96-18.82 11.91-28.72H330c12.15 0 22-9.85 22-22v-6h80.54c21.91-28.99 56.32-48 95.46-48 18.64 0 36.07 4.61 51.8 12.2l50.82-50.82c6-6 9.37-14.14 9.37-22.63V192c.01-17.67-14.32-32-31.99-32zM176 416c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm22-256h-38V64h106.89l41.15 96H198z\"]\n};\nvar faTrademark = {\n prefix: 'fas',\n iconName: 'trademark',\n icon: [640, 512, [], \"f25c\", \"M260.6 96H12c-6.6 0-12 5.4-12 12v43.1c0 6.6 5.4 12 12 12h85.1V404c0 6.6 5.4 12 12 12h54.3c6.6 0 12-5.4 12-12V163.1h85.1c6.6 0 12-5.4 12-12V108c.1-6.6-5.3-12-11.9-12zM640 403l-24-296c-.5-6.2-5.7-11-12-11h-65.4c-5.1 0-9.7 3.3-11.3 8.1l-43.8 127.1c-7.2 20.6-16.1 52.8-16.1 52.8h-.9s-8.9-32.2-16.1-52.8l-43.8-127.1c-1.7-4.8-6.2-8.1-11.3-8.1h-65.4c-6.2 0-11.4 4.8-12 11l-24.4 296c-.6 7 4.9 13 12 13H360c6.3 0 11.5-4.9 12-11.2l9.1-132.9c1.8-24.2 0-53.7 0-53.7h.9s10.7 33.6 17.9 53.7l30.7 84.7c1.7 4.7 6.2 7.9 11.3 7.9h50.3c5.1 0 9.6-3.2 11.3-7.9l30.7-84.7c7.2-20.1 17.9-53.7 17.9-53.7h.9s-1.8 29.5 0 53.7l9.1 132.9c.4 6.3 5.7 11.2 12 11.2H628c7 0 12.5-6 12-13z\"]\n};\nvar faTrafficLight = {\n prefix: 'fas',\n iconName: 'traffic-light',\n icon: [384, 512, [], \"f637\", \"M384 192h-64v-37.88c37.2-13.22 64-48.38 64-90.12h-64V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v32H0c0 41.74 26.8 76.9 64 90.12V192H0c0 41.74 26.8 76.9 64 90.12V320H0c0 42.84 28.25 78.69 66.99 91.05C79.42 468.72 130.6 512 192 512s112.58-43.28 125.01-100.95C355.75 398.69 384 362.84 384 320h-64v-37.88c37.2-13.22 64-48.38 64-90.12zM192 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z\"]\n};\nvar faTrailer = {\n prefix: 'fas',\n iconName: 'trailer',\n icon: [640, 512, [], \"e041\", \"M624,320H544V80a16,16,0,0,0-16-16H16A16,16,0,0,0,0,80V368a16,16,0,0,0,16,16H65.61c7.83-54.21,54-96,110.39-96s102.56,41.79,110.39,96H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM96,243.68a176.29,176.29,0,0,0-32,20.71V136a8,8,0,0,1,8-8H88a8,8,0,0,1,8,8Zm96-18.54c-5.31-.49-10.57-1.14-16-1.14s-10.69.65-16,1.14V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,39.25a176.29,176.29,0,0,0-32-20.71V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8ZM384,320H352V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,0H448V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm-304,0a80,80,0,1,0,80,80A80,80,0,0,0,176,320Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,176,432Z\"]\n};\nvar faTrain = {\n prefix: 'fas',\n iconName: 'train',\n icon: [448, 512, [], \"f238\", \"M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zm-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24zm-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z\"]\n};\nvar faTram = {\n prefix: 'fas',\n iconName: 'tram',\n icon: [512, 512, [], \"f7da\", \"M288 64c17.7 0 32-14.3 32-32S305.7 0 288 0s-32 14.3-32 32 14.3 32 32 32zm223.5-12.1c-2.3-8.6-11-13.6-19.6-11.3l-480 128c-8.5 2.3-13.6 11-11.3 19.6C2.5 195.3 8.9 200 16 200c1.4 0 2.8-.2 4.1-.5L240 140.8V224H64c-17.7 0-32 14.3-32 32v224c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H272v-91.7l228.1-60.8c8.6-2.3 13.6-11.1 11.4-19.6zM176 384H80v-96h96v96zm160-96h96v96h-96v-96zm-32 0v96h-96v-96h96zM192 96c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"]\n};\nvar faTransgender = {\n prefix: 'fas',\n iconName: 'transgender',\n icon: [384, 512, [], \"f224\", \"M372 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C198.5 104.1 172.2 96 144 96 64.5 96 0 160.5 0 240c0 68.5 47.9 125.9 112 140.4V408H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM144 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faTransgenderAlt = {\n prefix: 'fas',\n iconName: 'transgender-alt',\n icon: [480, 512, [], \"f225\", \"M468 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C294.5 104.1 268.2 96 240 96c-28.2 0-54.5 8.1-76.7 22.1l-16.5-16.5 19.8-19.8c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8-19-19 16.9-16.9C107.1 12.9 101.7 0 91 0H12C5.4 0 0 5.4 0 12v79c0 10.7 12.9 16 20.5 8.5l16.9-16.9 19 19-19.8 19.8c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l19.8-19.8 16.5 16.5C104.1 185.5 96 211.8 96 240c0 68.5 47.9 125.9 112 140.4V408h-36c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM240 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faTrash = {\n prefix: 'fas',\n iconName: 'trash',\n icon: [448, 512, [], \"f1f8\", \"M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z\"]\n};\nvar faTrashAlt = {\n prefix: 'fas',\n iconName: 'trash-alt',\n icon: [448, 512, [], \"f2ed\", \"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faTrashRestore = {\n prefix: 'fas',\n iconName: 'trash-restore',\n icon: [448, 512, [], \"f829\", \"M53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32zm70.11-175.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faTrashRestoreAlt = {\n prefix: 'fas',\n iconName: 'trash-restore-alt',\n icon: [448, 512, [], \"f82a\", \"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm91.31-172.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"]\n};\nvar faTree = {\n prefix: 'fas',\n iconName: 'tree',\n icon: [384, 512, [], \"f1bb\", \"M378.31 378.49L298.42 288h30.63c9.01 0 16.98-5 20.78-13.06 3.8-8.04 2.55-17.26-3.28-24.05L268.42 160h28.89c9.1 0 17.3-5.35 20.86-13.61 3.52-8.13 1.86-17.59-4.24-24.08L203.66 4.83c-6.03-6.45-17.28-6.45-23.32 0L70.06 122.31c-6.1 6.49-7.75 15.95-4.24 24.08C69.38 154.65 77.59 160 86.69 160h28.89l-78.14 90.91c-5.81 6.78-7.06 15.99-3.27 24.04C37.97 283 45.93 288 54.95 288h30.63L5.69 378.49c-6 6.79-7.36 16.09-3.56 24.26 3.75 8.05 12 13.25 21.01 13.25H160v24.45l-30.29 48.4c-5.32 10.64 2.42 23.16 14.31 23.16h95.96c11.89 0 19.63-12.52 14.31-23.16L224 440.45V416h136.86c9.01 0 17.26-5.2 21.01-13.25 3.8-8.17 2.44-17.47-3.56-24.26z\"]\n};\nvar faTrophy = {\n prefix: 'fas',\n iconName: 'trophy',\n icon: [576, 512, [], \"f091\", \"M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 35.7 22.5 72.4 61.9 100.7 31.5 22.7 69.8 37.1 110 41.7C203.3 338.5 240 360 240 360v72h-48c-35.3 0-64 20.7-64 56v12c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12v-12c0-35.3-28.7-56-64-56h-48v-72s36.7-21.5 68.1-73.6c40.3-4.6 78.6-19 110-41.7 39.3-28.3 61.9-65 61.9-100.7V88c0-13.3-10.7-24-24-24zM99.3 192.8C74.9 175.2 64 155.6 64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-15.1-5.2-29.2-12.4-41.7-21.4zM512 144c0 16.1-17.7 36.1-35.3 48.8-12.5 9-26.7 16.2-41.8 21.4 7-25 11.8-53.6 12.8-86.2H512v16z\"]\n};\nvar faTruck = {\n prefix: 'fas',\n iconName: 'truck',\n icon: [640, 512, [], \"f0d1\", \"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"]\n};\nvar faTruckLoading = {\n prefix: 'fas',\n iconName: 'truck-loading',\n icon: [640, 512, [], \"f4de\", \"M50.2 375.6c2.3 8.5 11.1 13.6 19.6 11.3l216.4-58c8.5-2.3 13.6-11.1 11.3-19.6l-49.7-185.5c-2.3-8.5-11.1-13.6-19.6-11.3L151 133.3l24.8 92.7-61.8 16.5-24.8-92.7-77.3 20.7C3.4 172.8-1.7 181.6.6 190.1l49.6 185.5zM384 0c-17.7 0-32 14.3-32 32v323.6L5.9 450c-4.3 1.2-6.8 5.6-5.6 9.8l12.6 46.3c1.2 4.3 5.6 6.8 9.8 5.6l393.7-107.4C418.8 464.1 467.6 512 528 512c61.9 0 112-50.1 112-112V0H384zm144 448c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"]\n};\nvar faTruckMonster = {\n prefix: 'fas',\n iconName: 'truck-monster',\n icon: [640, 512, [], \"f63b\", \"M624 224h-16v-64c0-17.67-14.33-32-32-32h-73.6L419.22 24.02A64.025 64.025 0 0 0 369.24 0H256c-17.67 0-32 14.33-32 32v96H48c-8.84 0-16 7.16-16 16v80H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16.72c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64h65.45c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-336-96V64h81.24l51.2 64H288zm304 224h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 512 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67A110.85 110.85 0 0 0 373.2 352H368c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32c-.02-8.84-7.18-16-16.02-16zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-208-80h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 192 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0L58.18 304.8c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67a110.85 110.85 0 0 0-8.65 20.89H48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32C288 359.16 280.84 352 272 352zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z\"]\n};\nvar faTruckMoving = {\n prefix: 'fas',\n iconName: 'truck-moving',\n icon: [640, 512, [], \"f4df\", \"M621.3 237.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H480V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v336c0 44.2 35.8 80 80 80 26.3 0 49.4-12.9 64-32.4 14.6 19.6 37.7 32.4 64 32.4 44.2 0 80-35.8 80-80 0-5.5-.6-10.8-1.6-16h163.2c-1.1 5.2-1.6 10.5-1.6 16 0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16v-85.5c0-17-6.7-33.2-18.7-45.2zM80 432c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm128 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm272-224h37.5c4.3 0 8.3 1.7 11.3 4.7l43.3 43.3H480v-48zm48 224c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z\"]\n};\nvar faTruckPickup = {\n prefix: 'fas',\n iconName: 'truck-pickup',\n icon: [640, 512, [], \"f63c\", \"M624 288h-16v-64c0-17.67-14.33-32-32-32h-48L419.22 56.02A64.025 64.025 0 0 0 369.24 32H256c-17.67 0-32 14.33-32 32v128H64c-17.67 0-32 14.33-32 32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h49.61c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16h67.23c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM288 96h81.24l76.8 96H288V96zM176 416c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm288 0c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"]\n};\nvar faTshirt = {\n prefix: 'fas',\n iconName: 'tshirt',\n icon: [640, 512, [], \"f553\", \"M631.2 96.5L436.5 0C416.4 27.8 371.9 47.2 320 47.2S223.6 27.8 203.5 0L8.8 96.5c-7.9 4-11.1 13.6-7.2 21.5l57.2 114.5c4 7.9 13.6 11.1 21.5 7.2l56.6-27.7c10.6-5.2 23 2.5 23 14.4V480c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V226.3c0-11.8 12.4-19.6 23-14.4l56.6 27.7c7.9 4 17.5.8 21.5-7.2L638.3 118c4-7.9.8-17.6-7.1-21.5z\"]\n};\nvar faTty = {\n prefix: 'fas',\n iconName: 'tty',\n icon: [512, 512, [], \"f1e4\", \"M5.37 103.822c138.532-138.532 362.936-138.326 501.262 0 6.078 6.078 7.074 15.496 2.583 22.681l-43.214 69.138a18.332 18.332 0 0 1-22.356 7.305l-86.422-34.569a18.335 18.335 0 0 1-11.434-18.846L351.741 90c-62.145-22.454-130.636-21.986-191.483 0l5.953 59.532a18.331 18.331 0 0 1-11.434 18.846l-86.423 34.568a18.334 18.334 0 0 1-22.356-7.305L2.787 126.502a18.333 18.333 0 0 1 2.583-22.68zM96 308v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H92c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zM96 500v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z\"]\n};\nvar faTv = {\n prefix: 'fas',\n iconName: 'tv',\n icon: [640, 512, [], \"f26c\", \"M592 0H48A48 48 0 0 0 0 48v320a48 48 0 0 0 48 48h240v32H112a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H352v-32h240a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zm-16 352H64V64h512z\"]\n};\nvar faUmbrella = {\n prefix: 'fas',\n iconName: 'umbrella',\n icon: [576, 512, [], \"f0e9\", \"M575.7 280.8C547.1 144.5 437.3 62.6 320 49.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32v17.9C138.3 62.6 29.5 144.5.3 280.8c-2.2 10.1 8.5 21.3 18.7 11.4 52-55 107.7-52.4 158.6 37 5.3 9.5 14.9 8.6 19.7 0 20.2-35.4 44.9-73.2 90.7-73.2 58.5 0 88.2 68.8 90.7 73.2 4.8 8.6 14.4 9.5 19.7 0 51-89.5 107.1-91.4 158.6-37 10.3 10 20.9-1.3 18.7-11.4zM256 301.7V432c0 8.8-7.2 16-16 16-7.8 0-13.2-5.3-15.1-10.7-5.9-16.7-24.1-25.4-40.8-19.5-16.7 5.9-25.4 24.2-19.5 40.8 11.2 31.9 41.6 53.3 75.4 53.3 44.1 0 80-35.9 80-80V301.6c-9.1-7.9-19.8-13.6-32-13.6-12.3.1-22.4 4.8-32 13.7z\"]\n};\nvar faUmbrellaBeach = {\n prefix: 'fas',\n iconName: 'umbrella-beach',\n icon: [640, 512, [], \"f5ca\", \"M115.38 136.9l102.11 37.18c35.19-81.54 86.21-144.29 139-173.7-95.88-4.89-188.78 36.96-248.53 111.8-6.69 8.4-2.66 21.05 7.42 24.72zm132.25 48.16l238.48 86.83c35.76-121.38 18.7-231.66-42.63-253.98-7.4-2.7-15.13-4-23.09-4-58.02.01-128.27 69.17-172.76 171.15zM521.48 60.5c6.22 16.3 10.83 34.6 13.2 55.19 5.74 49.89-1.42 108.23-18.95 166.98l102.62 37.36c10.09 3.67 21.31-3.43 21.57-14.17 2.32-95.69-41.91-187.44-118.44-245.36zM560 447.98H321.06L386 269.5l-60.14-21.9-72.9 200.37H16c-8.84 0-16 7.16-16 16.01v32.01C0 504.83 7.16 512 16 512h544c8.84 0 16-7.17 16-16.01v-32.01c0-8.84-7.16-16-16-16z\"]\n};\nvar faUnderline = {\n prefix: 'fas',\n iconName: 'underline',\n icon: [448, 512, [], \"f0cd\", \"M32 64h32v160c0 88.22 71.78 160 160 160s160-71.78 160-160V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H272a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32v160a80 80 0 0 1-160 0V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm400 384H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"]\n};\nvar faUndo = {\n prefix: 'fas',\n iconName: 'undo',\n icon: [512, 512, [], \"f0e2\", \"M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z\"]\n};\nvar faUndoAlt = {\n prefix: 'fas',\n iconName: 'undo-alt',\n icon: [512, 512, [], \"f2ea\", \"M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z\"]\n};\nvar faUniversalAccess = {\n prefix: 'fas',\n iconName: 'universal-access',\n icon: [512, 512, [], \"f29a\", \"M256 48c114.953 0 208 93.029 208 208 0 114.953-93.029 208-208 208-114.953 0-208-93.029-208-208 0-114.953 93.029-208 208-208m0-40C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 56C149.961 64 64 149.961 64 256s85.961 192 192 192 192-85.961 192-192S362.039 64 256 64zm0 44c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36 16.118-36 36-36zm117.741 98.023c-28.712 6.779-55.511 12.748-82.14 15.807.851 101.023 12.306 123.052 25.037 155.621 3.617 9.26-.957 19.698-10.217 23.315-9.261 3.617-19.699-.957-23.316-10.217-8.705-22.308-17.086-40.636-22.261-78.549h-9.686c-5.167 37.851-13.534 56.208-22.262 78.549-3.615 9.255-14.05 13.836-23.315 10.217-9.26-3.617-13.834-14.056-10.217-23.315 12.713-32.541 24.185-54.541 25.037-155.621-26.629-3.058-53.428-9.027-82.141-15.807-8.6-2.031-13.926-10.648-11.895-19.249s10.647-13.926 19.249-11.895c96.686 22.829 124.283 22.783 220.775 0 8.599-2.03 17.218 3.294 19.249 11.895 2.029 8.601-3.297 17.219-11.897 19.249z\"]\n};\nvar faUniversity = {\n prefix: 'fas',\n iconName: 'university',\n icon: [512, 512, [], \"f19c\", \"M496 128v16a8 8 0 0 1-8 8h-24v12c0 6.627-5.373 12-12 12H60c-6.627 0-12-5.373-12-12v-12H24a8 8 0 0 1-8-8v-16a8 8 0 0 1 4.941-7.392l232-88a7.996 7.996 0 0 1 6.118 0l232 88A8 8 0 0 1 496 128zm-24 304H40c-13.255 0-24 10.745-24 24v16a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8v-16c0-13.255-10.745-24-24-24zM96 192v192H60c-6.627 0-12 5.373-12 12v20h416v-20c0-6.627-5.373-12-12-12h-36V192h-64v192h-64V192h-64v192h-64V192H96z\"]\n};\nvar faUnlink = {\n prefix: 'fas',\n iconName: 'unlink',\n icon: [512, 512, [], \"f127\", \"M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z\"]\n};\nvar faUnlock = {\n prefix: 'fas',\n iconName: 'unlock',\n icon: [448, 512, [], \"f09c\", \"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z\"]\n};\nvar faUnlockAlt = {\n prefix: 'fas',\n iconName: 'unlock-alt',\n icon: [448, 512, [], \"f13e\", \"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z\"]\n};\nvar faUpload = {\n prefix: 'fas',\n iconName: 'upload',\n icon: [512, 512, [], \"f093\", \"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"]\n};\nvar faUser = {\n prefix: 'fas',\n iconName: 'user',\n icon: [448, 512, [], \"f007\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUserAlt = {\n prefix: 'fas',\n iconName: 'user-alt',\n icon: [512, 512, [], \"f406\", \"M256 288c79.5 0 144-64.5 144-144S335.5 0 256 0 112 64.5 112 144s64.5 144 144 144zm128 32h-55.1c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16H128C57.3 320 0 377.3 0 448v16c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-16c0-70.7-57.3-128-128-128z\"]\n};\nvar faUserAltSlash = {\n prefix: 'fas',\n iconName: 'user-alt-slash',\n icon: [640, 512, [], \"f4fa\", \"M633.8 458.1L389.6 269.3C433.8 244.7 464 198.1 464 144 464 64.5 399.5 0 320 0c-67.1 0-123 46.1-139 108.2L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM198.4 320C124.2 320 64 380.2 64 454.4v9.6c0 26.5 21.5 48 48 48h382.2L245.8 320h-47.4z\"]\n};\nvar faUserAstronaut = {\n prefix: 'fas',\n iconName: 'user-astronaut',\n icon: [448, 512, [], \"f4fb\", \"M64 224h13.5c24.7 56.5 80.9 96 146.5 96s121.8-39.5 146.5-96H384c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16h-13.5C345.8 39.5 289.6 0 224 0S102.2 39.5 77.5 96H64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zm40-88c0-22.1 21.5-40 48-40h144c26.5 0 48 17.9 48 40v24c0 53-43 96-96 96h-48c-53 0-96-43-96-96v-24zm72 72l12-36 36-12-36-12-12-36-12 36-36 12 36 12 12 36zm151.6 113.4C297.7 340.7 262.2 352 224 352s-73.7-11.3-103.6-30.6C52.9 328.5 0 385 0 454.4v9.6c0 26.5 21.5 48 48 48h80v-64c0-17.7 14.3-32 32-32h128c17.7 0 32 14.3 32 32v64h80c26.5 0 48-21.5 48-48v-9.6c0-69.4-52.9-125.9-120.4-133zM272 448c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-96 0c-8.8 0-16 7.2-16 16v48h32v-48c0-8.8-7.2-16-16-16z\"]\n};\nvar faUserCheck = {\n prefix: 'fas',\n iconName: 'user-check',\n icon: [640, 512, [], \"f4fc\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4zm323-128.4l-27.8-28.1c-4.6-4.7-12.1-4.7-16.8-.1l-104.8 104-45.5-45.8c-4.6-4.7-12.1-4.7-16.8-.1l-28.1 27.9c-4.7 4.6-4.7 12.1-.1 16.8l81.7 82.3c4.6 4.7 12.1 4.7 16.8.1l141.3-140.2c4.6-4.7 4.7-12.2.1-16.8z\"]\n};\nvar faUserCircle = {\n prefix: 'fas',\n iconName: 'user-circle',\n icon: [496, 512, [], \"f2bd\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 96c48.6 0 88 39.4 88 88s-39.4 88-88 88-88-39.4-88-88 39.4-88 88-88zm0 344c-58.7 0-111.3-26.6-146.5-68.2 18.8-35.4 55.6-59.8 98.5-59.8 2.4 0 4.8.4 7.1 1.1 13 4.2 26.6 6.9 40.9 6.9 14.3 0 28-2.7 40.9-6.9 2.3-.7 4.7-1.1 7.1-1.1 42.9 0 79.7 24.4 98.5 59.8C359.3 421.4 306.7 448 248 448z\"]\n};\nvar faUserClock = {\n prefix: 'fas',\n iconName: 'user-clock',\n icon: [640, 512, [], \"f4fd\", \"M496 224c-79.6 0-144 64.4-144 144s64.4 144 144 144 144-64.4 144-144-64.4-144-144-144zm64 150.3c0 5.3-4.4 9.7-9.7 9.7h-60.6c-5.3 0-9.7-4.4-9.7-9.7v-76.6c0-5.3 4.4-9.7 9.7-9.7h12.6c5.3 0 9.7 4.4 9.7 9.7V352h38.3c5.3 0 9.7 4.4 9.7 9.7v12.6zM320 368c0-27.8 6.7-54.1 18.2-77.5-8-1.5-16.2-2.5-24.6-2.5h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h347.1c-45.3-31.9-75.1-84.5-75.1-144zm-96-112c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128z\"]\n};\nvar faUserCog = {\n prefix: 'fas',\n iconName: 'user-cog',\n icon: [640, 512, [], \"f4fe\", \"M610.5 373.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 400.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm201.2 226.5c-2.3-1.2-4.6-2.6-6.8-3.9l-7.9 4.6c-6 3.4-12.8 5.3-19.6 5.3-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-5.5-17.7 1.9-36.4 17.9-45.7l7.9-4.6c-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-16-9.2-23.4-28-17.9-45.7.9-2.9 2.2-5.8 3.2-8.7-3.8-.3-7.5-1.2-11.4-1.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c10.1 0 19.5-3.2 27.2-8.5-1.2-3.8-2-7.7-2-11.8v-9.2z\"]\n};\nvar faUserEdit = {\n prefix: 'fas',\n iconName: 'user-edit',\n icon: [640, 512, [], \"f4ff\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h274.9c-2.4-6.8-3.4-14-2.6-21.3l6.8-60.9 1.2-11.1 7.9-7.9 77.3-77.3c-24.5-27.7-60-45.5-99.9-45.5zm45.3 145.3l-6.8 61c-1.1 10.2 7.5 18.8 17.6 17.6l60.9-6.8 137.9-137.9-71.7-71.7-137.9 137.8zM633 268.9L595.1 231c-9.3-9.3-24.5-9.3-33.8 0l-37.8 37.8-4.1 4.1 71.8 71.7 41.8-41.8c9.3-9.4 9.3-24.5 0-33.9z\"]\n};\nvar faUserFriends = {\n prefix: 'fas',\n iconName: 'user-friends',\n icon: [640, 512, [], \"f500\", \"M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z\"]\n};\nvar faUserGraduate = {\n prefix: 'fas',\n iconName: 'user-graduate',\n icon: [448, 512, [], \"f501\", \"M319.4 320.6L224 416l-95.4-95.4C57.1 323.7 0 382.2 0 454.4v9.6c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-9.6c0-72.2-57.1-130.7-128.6-133.8zM13.6 79.8l6.4 1.5v58.4c-7 4.2-12 11.5-12 20.3 0 8.4 4.6 15.4 11.1 19.7L3.5 242c-1.7 6.9 2.1 14 7.6 14h41.8c5.5 0 9.3-7.1 7.6-14l-15.6-62.3C51.4 175.4 56 168.4 56 160c0-8.8-5-16.1-12-20.3V87.1l66 15.9c-8.6 17.2-14 36.4-14 57 0 70.7 57.3 128 128 128s128-57.3 128-128c0-20.6-5.3-39.8-14-57l96.3-23.2c18.2-4.4 18.2-27.1 0-31.5l-190.4-46c-13-3.1-26.7-3.1-39.7 0L13.6 48.2c-18.1 4.4-18.1 27.2 0 31.6z\"]\n};\nvar faUserInjured = {\n prefix: 'fas',\n iconName: 'user-injured',\n icon: [448, 512, [], \"f728\", \"M277.37 11.98C261.08 4.47 243.11 0 224 0c-53.69 0-99.5 33.13-118.51 80h81.19l90.69-68.02zM342.51 80c-7.9-19.47-20.67-36.2-36.49-49.52L239.99 80h102.52zM224 256c70.69 0 128-57.31 128-128 0-5.48-.95-10.7-1.61-16H97.61c-.67 5.3-1.61 10.52-1.61 16 0 70.69 57.31 128 128 128zM80 299.7V512h128.26l-98.45-221.52A132.835 132.835 0 0 0 80 299.7zM0 464c0 26.51 21.49 48 48 48V320.24C18.88 344.89 0 381.26 0 422.4V464zm256-48h-55.38l42.67 96H256c26.47 0 48-21.53 48-48s-21.53-48-48-48zm57.6-128h-16.71c-22.24 10.18-46.88 16-72.89 16s-50.65-5.82-72.89-16h-7.37l42.67 96H256c44.11 0 80 35.89 80 80 0 18.08-6.26 34.59-16.41 48H400c26.51 0 48-21.49 48-48v-41.6c0-74.23-60.17-134.4-134.4-134.4z\"]\n};\nvar faUserLock = {\n prefix: 'fas',\n iconName: 'user-lock',\n icon: [640, 512, [], \"f502\", \"M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z\"]\n};\nvar faUserMd = {\n prefix: 'fas',\n iconName: 'user-md',\n icon: [448, 512, [], \"f0f0\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zM104 424c0 13.3 10.7 24 24 24s24-10.7 24-24-10.7-24-24-24-24 10.7-24 24zm216-135.4v49c36.5 7.4 64 39.8 64 78.4v41.7c0 7.6-5.4 14.2-12.9 15.7l-32.2 6.4c-4.3.9-8.5-1.9-9.4-6.3l-3.1-15.7c-.9-4.3 1.9-8.6 6.3-9.4l19.3-3.9V416c0-62.8-96-65.1-96 1.9v26.7l19.3 3.9c4.3.9 7.1 5.1 6.3 9.4l-3.1 15.7c-.9 4.3-5.1 7.1-9.4 6.3l-31.2-4.2c-7.9-1.1-13.8-7.8-13.8-15.9V416c0-38.6 27.5-70.9 64-78.4v-45.2c-2.2.7-4.4 1.1-6.6 1.9-18 6.3-37.3 9.8-57.4 9.8s-39.4-3.5-57.4-9.8c-7.4-2.6-14.9-4.2-22.6-5.2v81.6c23.1 6.9 40 28.1 40 53.4 0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.3 16.9-46.5 40-53.4v-80.4C48.5 301 0 355.8 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-72-56.8-130.3-128-133.8z\"]\n};\nvar faUserMinus = {\n prefix: 'fas',\n iconName: 'user-minus',\n icon: [640, 512, [], \"f503\", \"M624 208H432c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h192c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUserNinja = {\n prefix: 'fas',\n iconName: 'user-ninja',\n icon: [448, 512, [], \"f504\", \"M325.4 289.2L224 390.6 122.6 289.2C54 295.3 0 352.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-70.2-54-127.1-122.6-133.2zM32 192c27.3 0 51.8-11.5 69.2-29.7 15.1 53.9 64 93.7 122.8 93.7 70.7 0 128-57.3 128-128S294.7 0 224 0c-50.4 0-93.6 29.4-114.5 71.8C92.1 47.8 64 32 32 32c0 33.4 17.1 62.8 43.1 80-26 17.2-43.1 46.6-43.1 80zm144-96h96c17.7 0 32 14.3 32 32H144c0-17.7 14.3-32 32-32z\"]\n};\nvar faUserNurse = {\n prefix: 'fas',\n iconName: 'user-nurse',\n icon: [448, 512, [], \"f82f\", \"M319.41,320,224,415.39,128.59,320C57.1,323.1,0,381.6,0,453.79A58.21,58.21,0,0,0,58.21,512H389.79A58.21,58.21,0,0,0,448,453.79C448,381.6,390.9,323.1,319.41,320ZM224,304A128,128,0,0,0,352,176V65.82a32,32,0,0,0-20.76-30L246.47,4.07a64,64,0,0,0-44.94,0L116.76,35.86A32,32,0,0,0,96,65.82V176A128,128,0,0,0,224,304ZM184,71.67a5,5,0,0,1,5-5h21.67V45a5,5,0,0,1,5-5h16.66a5,5,0,0,1,5,5V66.67H259a5,5,0,0,1,5,5V88.33a5,5,0,0,1-5,5H237.33V115a5,5,0,0,1-5,5H215.67a5,5,0,0,1-5-5V93.33H189a5,5,0,0,1-5-5ZM144,160H304v16a80,80,0,0,1-160,0Z\"]\n};\nvar faUserPlus = {\n prefix: 'fas',\n iconName: 'user-plus',\n icon: [640, 512, [], \"f234\", \"M624 208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v64h-64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-64h64c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUserSecret = {\n prefix: 'fas',\n iconName: 'user-secret',\n icon: [448, 512, [], \"f21b\", \"M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-.3c39.2-7.8 64-19.1 64-31.7 0-13.3-27.3-25.1-70.1-33-9.2-32.8-27-65.8-40.6-82.8-9.5-11.9-25.9-15.6-39.5-8.8l-27.6 13.8c-9 4.5-19.6 4.5-28.6 0L182.1 3.4c-13.6-6.8-30-3.1-39.5 8.8-13.5 17-31.4 50-40.6 82.8-42.7 7.9-70 19.7-70 33 0 12.6 24.8 23.9 64 31.7v.3c0 23.4 6.8 45.1 17.8 64H56.3c-11.5 0-19.2 11.7-14.7 22.3l25.8 60.2C27.3 329.8 0 372.7 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-48.4-25.8-90.4-64.1-114.1zM176 480l-41.6-192 49.6 32 24 40-32 120zm96 0l-32-120 24-40 49.6-32L272 480zm41.7-298.5c-3.9 11.9-7 24.6-16.5 33.4-10.1 9.3-48 22.4-64-25-2.8-8.4-15.4-8.4-18.3 0-17 50.2-56 32.4-64 25-9.5-8.8-12.7-21.5-16.5-33.4-.8-2.5-6.3-5.7-6.3-5.8v-10.8c28.3 3.6 61 5.8 96 5.8s67.7-2.1 96-5.8v10.8c-.1.1-5.6 3.2-6.4 5.8z\"]\n};\nvar faUserShield = {\n prefix: 'fas',\n iconName: 'user-shield',\n icon: [640, 512, [], \"f505\", \"M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.6 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z\"]\n};\nvar faUserSlash = {\n prefix: 'fas',\n iconName: 'user-slash',\n icon: [640, 512, [], \"f506\", \"M633.8 458.1L362.3 248.3C412.1 230.7 448 183.8 448 128 448 57.3 390.7 0 320 0c-67.1 0-121.5 51.8-126.9 117.4L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM96 422.4V464c0 26.5 21.5 48 48 48h350.2L207.4 290.3C144.2 301.3 96 356 96 422.4z\"]\n};\nvar faUserTag = {\n prefix: 'fas',\n iconName: 'user-tag',\n icon: [640, 512, [], \"f507\", \"M630.6 364.9l-90.3-90.2c-12-12-28.3-18.7-45.3-18.7h-79.3c-17.7 0-32 14.3-32 32v79.2c0 17 6.7 33.2 18.7 45.2l90.3 90.2c12.5 12.5 32.8 12.5 45.3 0l92.5-92.5c12.6-12.5 12.6-32.7.1-45.2zm-182.8-21c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24c0 13.2-10.7 24-24 24zm-223.8-88c70.7 0 128-57.3 128-128C352 57.3 294.7 0 224 0S96 57.3 96 128c0 70.6 57.3 127.9 128 127.9zm127.8 111.2V294c-12.2-3.6-24.9-6.2-38.2-6.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 287.9 0 348.1 0 422.3v41.6c0 26.5 21.5 48 48 48h352c15.5 0 29.1-7.5 37.9-18.9l-58-58c-18.1-18.1-28.1-42.2-28.1-67.9z\"]\n};\nvar faUserTie = {\n prefix: 'fas',\n iconName: 'user-tie',\n icon: [448, 512, [], \"f508\", \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm95.8 32.6L272 480l-32-136 32-56h-96l32 56-32 136-47.8-191.4C56.9 292 0 350.3 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-72.1-56.9-130.4-128.2-133.8z\"]\n};\nvar faUserTimes = {\n prefix: 'fas',\n iconName: 'user-times',\n icon: [640, 512, [], \"f235\", \"M589.6 240l45.6-45.6c6.3-6.3 6.3-16.5 0-22.8l-22.8-22.8c-6.3-6.3-16.5-6.3-22.8 0L544 194.4l-45.6-45.6c-6.3-6.3-16.5-6.3-22.8 0l-22.8 22.8c-6.3 6.3-6.3 16.5 0 22.8l45.6 45.6-45.6 45.6c-6.3 6.3-6.3 16.5 0 22.8l22.8 22.8c6.3 6.3 16.5 6.3 22.8 0l45.6-45.6 45.6 45.6c6.3 6.3 16.5 6.3 22.8 0l22.8-22.8c6.3-6.3 6.3-16.5 0-22.8L589.6 240zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"]\n};\nvar faUsers = {\n prefix: 'fas',\n iconName: 'users',\n icon: [640, 512, [], \"f0c0\", \"M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z\"]\n};\nvar faUsersCog = {\n prefix: 'fas',\n iconName: 'users-cog',\n icon: [640, 512, [], \"f509\", \"M610.5 341.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 368.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm224 32c1.9 0 3.7-.5 5.6-.6 8.3-21.7 20.5-42.1 36.3-59.2 7.4-8 17.9-12.6 28.9-12.6 6.9 0 13.7 1.8 19.6 5.3l7.9 4.6c.8-.5 1.6-.9 2.4-1.4 7-14.6 11.2-30.8 11.2-48 0-61.9-50.1-112-112-112S208 82.1 208 144c0 61.9 50.1 112 112 112zm105.2 194.5c-2.3-1.2-4.6-2.6-6.8-3.9-8.2 4.8-15.3 9.8-27.5 9.8-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-10.7-34.5 24.9-49.7 25.8-50.3-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-3.8-2.2-7-5-9.8-8.1-3.3.2-6.5.6-9.8.6-24.6 0-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h255.4c-3.7-6-6.2-12.8-6.2-20.3v-9.2zM173.1 274.6C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z\"]\n};\nvar faUsersSlash = {\n prefix: 'fas',\n iconName: 'users-slash',\n icon: [640, 512, [], \"e073\", \"M132.65,212.32,36.21,137.78A63.4,63.4,0,0,0,32,160a63.84,63.84,0,0,0,100.65,52.32Zm40.44,62.28A63.79,63.79,0,0,0,128,256H64A64.06,64.06,0,0,0,0,320v32a32,32,0,0,0,32,32H97.91A146.62,146.62,0,0,1,173.09,274.6ZM544,224a64,64,0,1,0-64-64A64.06,64.06,0,0,0,544,224ZM500.56,355.11a114.24,114.24,0,0,0-84.47-65.28L361,247.23c41.46-16.3,71-55.92,71-103.23A111.93,111.93,0,0,0,320,32c-57.14,0-103.69,42.83-110.6,98.08L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM128,403.21V432a48,48,0,0,0,48,48H464a47.45,47.45,0,0,0,12.57-1.87L232,289.13C173.74,294.83,128,343.42,128,403.21ZM576,256H512a63.79,63.79,0,0,0-45.09,18.6A146.29,146.29,0,0,1,542,384h66a32,32,0,0,0,32-32V320A64.06,64.06,0,0,0,576,256Z\"]\n};\nvar faUtensilSpoon = {\n prefix: 'fas',\n iconName: 'utensil-spoon',\n icon: [512, 512, [], \"f2e5\", \"M480.1 31.9c-55-55.1-164.9-34.5-227.8 28.5-49.3 49.3-55.1 110-28.8 160.4L9 413.2c-11.6 10.5-12.1 28.5-1 39.5L59.3 504c11 11 29.1 10.5 39.5-1.1l192.4-214.4c50.4 26.3 111.1 20.5 160.4-28.8 63-62.9 83.6-172.8 28.5-227.8z\"]\n};\nvar faUtensils = {\n prefix: 'fas',\n iconName: 'utensils',\n icon: [416, 512, [], \"f2e7\", \"M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 486.7c.7 13.7-10.2 25.3-24 25.3H80c-13.7 0-24.7-11.5-24-25.3l12.9-238.1C27.7 233.6 0 196.2 0 144 0 109.6 15.3 19.9 16.1 15.2 19.3-5.1 61.4-5.4 64 16.3v141.2c1.3 3.4 15.1 3.2 16 0 1.4-25.3 7.9-139.2 8-141.8 3.3-20.8 44.7-20.8 47.9 0 .2 2.7 6.6 116.5 8 141.8.9 3.2 14.8 3.4 16 0V16.3c2.6-21.6 44.8-21.4 48-1.1zm119.2 285.7l-15 185.1c-1.2 14 9.9 26 23.9 26h56c13.3 0 24-10.7 24-24V24c0-13.2-10.7-24-24-24-82.5 0-221.4 178.5-64.9 300.9z\"]\n};\nvar faVectorSquare = {\n prefix: 'fas',\n iconName: 'vector-square',\n icon: [512, 512, [], \"f5cb\", \"M512 128V32c0-17.67-14.33-32-32-32h-96c-17.67 0-32 14.33-32 32H160c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32v192c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32h192c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32V160c17.67 0 32-14.33 32-32zm-96-64h32v32h-32V64zM64 64h32v32H64V64zm32 384H64v-32h32v32zm352 0h-32v-32h32v32zm-32-96h-32c-17.67 0-32 14.33-32 32v32H160v-32c0-17.67-14.33-32-32-32H96V160h32c17.67 0 32-14.33 32-32V96h192v32c0 17.67 14.33 32 32 32h32v192z\"]\n};\nvar faVenus = {\n prefix: 'fas',\n iconName: 'venus',\n icon: [288, 512, [], \"f221\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z\"]\n};\nvar faVenusDouble = {\n prefix: 'fas',\n iconName: 'venus-double',\n icon: [512, 512, [], \"f226\", \"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80zm336 140.4V368h36c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-36v36c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-36h-36c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h36v-51.6c-21.2-4.8-40.6-14.3-57.2-27.3 14-16.7 25-36 32.1-57.1 14.5 14.8 34.7 24 57.1 24 44.1 0 80-35.9 80-80s-35.9-80-80-80c-22.3 0-42.6 9.2-57.1 24-7.1-21.1-18-40.4-32.1-57.1C303.4 43.6 334.3 32 368 32c79.5 0 144 64.5 144 144 0 68.5-47.9 125.9-112 140.4z\"]\n};\nvar faVenusMars = {\n prefix: 'fas',\n iconName: 'venus-mars',\n icon: [576, 512, [], \"f228\", \"M564 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C422.5 72.1 396.2 64 368 64c-33.7 0-64.6 11.6-89.2 30.9 14 16.7 25 36 32.1 57.1 14.5-14.8 34.7-24 57.1-24 44.1 0 80 35.9 80 80s-35.9 80-80 80c-22.3 0-42.6-9.2-57.1-24-7.1 21.1-18 40.4-32.1 57.1 24.5 19.4 55.5 30.9 89.2 30.9 79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 64C64.5 64 0 128.5 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.6 112-71.9 112-140.4 0-79.5-64.5-144-144-144zm0 224c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"]\n};\nvar faVest = {\n prefix: 'fas',\n iconName: 'vest',\n icon: [448, 512, [], \"e085\", \"M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a24.021,24.021,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A24.021,24.021,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.564A151.518,151.518,0,0,0,224,86.234a151.55,151.55,0,0,0,73.812-19.672L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM131.312,371.312l-48,48a16,16,0,0,1-22.624-22.624l48-48a16,16,0,0,1,22.624,22.624Zm256,48a15.992,15.992,0,0,1-22.624,0l-48-48a16,16,0,0,1,22.624-22.624l48,48A15.993,15.993,0,0,1,387.312,419.312Z\"]\n};\nvar faVestPatches = {\n prefix: 'fas',\n iconName: 'vest-patches',\n icon: [448, 512, [], \"e086\", \"M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a23.982,23.982,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A23.982,23.982,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.561A151.579,151.579,0,0,0,224,86.234a151.565,151.565,0,0,0,73.811-19.668L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM63.5,272.484a12.01,12.01,0,0,1,17-16.968l15.5,15.5,15.5-15.5a12.01,12.01,0,0,1,17,16.968L112.984,288,128.5,303.516a12.01,12.01,0,0,1-17,16.968L96,304.984l-15.5,15.5a12.01,12.01,0,0,1-17-16.968L79.016,288ZM96,456a40,40,0,1,1,40-40A40,40,0,0,1,96,456ZM359.227,335.785,310.7,336a6.671,6.671,0,0,1-6.7-6.7l.215-48.574A24.987,24.987,0,0,1,331.43,256.1c12.789,1.162,22.129,12.619,22.056,25.419l-.037,5.057,5.051-.037c12.826-.035,24.236,9.275,25.4,22.076A24.948,24.948,0,0,1,359.227,335.785Z\"]\n};\nvar faVial = {\n prefix: 'fas',\n iconName: 'vial',\n icon: [480, 512, [], \"f492\", \"M477.7 186.1L309.5 18.3c-3.1-3.1-8.2-3.1-11.3 0l-34 33.9c-3.1 3.1-3.1 8.2 0 11.3l11.2 11.1L33 316.5c-38.8 38.7-45.1 102-9.4 143.5 20.6 24 49.5 36 78.4 35.9 26.4 0 52.8-10 72.9-30.1l246.3-245.7 11.2 11.1c3.1 3.1 8.2 3.1 11.3 0l34-33.9c3.1-3 3.1-8.1 0-11.2zM318 256H161l148-147.7 78.5 78.3L318 256z\"]\n};\nvar faVials = {\n prefix: 'fas',\n iconName: 'vials',\n icon: [640, 512, [], \"f493\", \"M72 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64zm480 384H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM360 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64z\"]\n};\nvar faVideo = {\n prefix: 'fas',\n iconName: 'video',\n icon: [576, 512, [], \"f03d\", \"M336.2 64H47.8C21.4 64 0 85.4 0 111.8v288.4C0 426.6 21.4 448 47.8 448h288.4c26.4 0 47.8-21.4 47.8-47.8V111.8c0-26.4-21.4-47.8-47.8-47.8zm189.4 37.7L416 177.3v157.4l109.6 75.5c21.2 14.6 50.4-.3 50.4-25.8V127.5c0-25.4-29.1-40.4-50.4-25.8z\"]\n};\nvar faVideoSlash = {\n prefix: 'fas',\n iconName: 'video-slash',\n icon: [640, 512, [], \"f4e2\", \"M633.8 458.1l-55-42.5c15.4-1.4 29.2-13.7 29.2-31.1v-257c0-25.5-29.1-40.4-50.4-25.8L448 177.3v137.2l-32-24.7v-178c0-26.4-21.4-47.8-47.8-47.8H123.9L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4L42.7 82 416 370.6l178.5 138c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.5-6.9 4.2-17-2.8-22.4zM32 400.2c0 26.4 21.4 47.8 47.8 47.8h288.4c11.2 0 21.4-4 29.6-10.5L32 154.7v245.5z\"]\n};\nvar faVihara = {\n prefix: 'fas',\n iconName: 'vihara',\n icon: [640, 512, [], \"f6a7\", \"M632.88 400.71L544 352v-64l55.16-17.69c11.79-5.9 11.79-22.72 0-28.62L480 192v-64l27.31-16.3c7.72-7.72 5.61-20.74-4.16-25.62L320 0 136.85 86.07c-9.77 4.88-11.88 17.9-4.16 25.62L160 128v64L40.84 241.69c-11.79 5.9-11.79 22.72 0 28.62L96 288v64L7.12 400.71c-5.42 3.62-7.7 9.63-7 15.29.62 5.01 3.57 9.75 8.72 12.33L64 448v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48l55.15-19.67c5.16-2.58 8.1-7.32 8.72-12.33.71-5.67-1.57-11.68-6.99-15.29zM224 128h192v64H224v-64zm-64 224v-64h320v64H160z\"]\n};\nvar faVirus = {\n prefix: 'fas',\n iconName: 'virus',\n icon: [512, 512, [], \"e074\", \"M483.55,227.55H462c-50.68,0-76.07-61.27-40.23-97.11L437,115.19A28.44,28.44,0,0,0,396.8,75L381.56,90.22c-35.84,35.83-97.11,10.45-97.11-40.23V28.44a28.45,28.45,0,0,0-56.9,0V50c0,50.68-61.27,76.06-97.11,40.23L115.2,75A28.44,28.44,0,0,0,75,115.19l15.25,15.25c35.84,35.84,10.45,97.11-40.23,97.11H28.45a28.45,28.45,0,1,0,0,56.89H50c50.68,0,76.07,61.28,40.23,97.12L75,396.8A28.45,28.45,0,0,0,115.2,437l15.24-15.25c35.84-35.84,97.11-10.45,97.11,40.23v21.54a28.45,28.45,0,0,0,56.9,0V462c0-50.68,61.27-76.07,97.11-40.23L396.8,437A28.45,28.45,0,0,0,437,396.8l-15.25-15.24c-35.84-35.84-10.45-97.12,40.23-97.12h21.54a28.45,28.45,0,1,0,0-56.89ZM224,272a48,48,0,1,1,48-48A48,48,0,0,1,224,272Zm80,56a24,24,0,1,1,24-24A24,24,0,0,1,304,328Z\"]\n};\nvar faVirusSlash = {\n prefix: 'fas',\n iconName: 'virus-slash',\n icon: [640, 512, [], \"e075\", \"M114,227.6H92.4C76.7,227.6,64,240.3,64,256s12.7,28.4,28.4,28.4H114c50.7,0,76.1,61.3,40.2,97.1L139,396.8 c-11.5,10.7-12.2,28.7-1.6,40.2s28.7,12.2,40.2,1.6c0.5-0.5,1.1-1,1.6-1.6l15.2-15.2c35.8-35.8,97.1-10.5,97.1,40.2v21.5 c0,15.7,12.8,28.4,28.5,28.4c15.7,0,28.4-12.7,28.4-28.4V462c0-26.6,17-45.9,38.2-53.4l-244.5-189 C133.7,224.7,123.9,227.5,114,227.6z M617,505.8l19.6-25.3c5.4-7,4.2-17-2.8-22.5L470.6,332c4.2-25.4,24.9-47.5,55.4-47.5h21.5 c15.7,0,28.4-12.7,28.4-28.4s-12.7-28.4-28.4-28.4H526c-50.7,0-76.1-61.3-40.2-97.1l15.2-15.3c10.7-11.5,10-29.5-1.6-40.2 c-10.9-10.1-27.7-10.1-38.6,0l-15.2,15.2c-35.8,35.8-97.1,10.5-97.1-40.2V28.5C348.4,12.7,335.7,0,320,0 c-15.7,0-28.4,12.7-28.4,28.4V50c0,50.7-61.3,76.1-97.1,40.2L179.2,75c-11.1-11.1-29.4-10.6-40.5,0.5L45.5,3.4 c-7-5.4-17-4.2-22.5,2.8L3.4,31.5c-5.4,7-4.2,17,2.8,22.5l588.4,454.7C601.5,514.1,611.6,512.8,617,505.8z M335.4,227.5l-62.9-48.6 c4.9-1.8,10.2-2.8,15.4-2.9c26.5,0,48,21.5,48,48C336,225.2,335.5,226.3,335.4,227.5z\"]\n};\nvar faViruses = {\n prefix: 'fas',\n iconName: 'viruses',\n icon: [640, 512, [], \"e076\", \"M624,352H611.88c-28.51,0-42.79-34.47-22.63-54.63l8.58-8.57a16,16,0,1,0-22.63-22.63l-8.57,8.58C546.47,294.91,512,280.63,512,252.12V240a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.57c20.16,20.16,5.88,54.63-22.63,54.63H368a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.57a16,16,0,1,0,22.63,22.63l8.57-8.58c20.16-20.16,54.63-5.88,54.63,22.63V496a16,16,0,0,0,32,0V483.88c0-28.51,34.47-42.79,54.63-22.63l8.57,8.58a16,16,0,1,0,22.63-22.63l-8.58-8.57C569.09,418.47,583.37,384,611.88,384H624a16,16,0,0,0,0-32ZM480,384a32,32,0,1,1,32-32A32,32,0,0,1,480,384ZM346.51,213.33h16.16a21.33,21.33,0,0,0,0-42.66H346.51c-38,0-57.05-46-30.17-72.84l11.43-11.44A21.33,21.33,0,0,0,297.6,56.23L286.17,67.66c-26.88,26.88-72.84,7.85-72.84-30.17V21.33a21.33,21.33,0,0,0-42.66,0V37.49c0,38-46,57.05-72.84,30.17L86.4,56.23A21.33,21.33,0,0,0,56.23,86.39L67.66,97.83c26.88,26.88,7.85,72.84-30.17,72.84H21.33a21.33,21.33,0,0,0,0,42.66H37.49c38,0,57.05,46,30.17,72.84L56.23,297.6A21.33,21.33,0,1,0,86.4,327.77l11.43-11.43c26.88-26.88,72.84-7.85,72.84,30.17v16.16a21.33,21.33,0,0,0,42.66,0V346.51c0-38,46-57.05,72.84-30.17l11.43,11.43a21.33,21.33,0,0,0,30.17-30.17l-11.43-11.43C289.46,259.29,308.49,213.33,346.51,213.33ZM160,192a32,32,0,1,1,32-32A32,32,0,0,1,160,192Zm80,32a16,16,0,1,1,16-16A16,16,0,0,1,240,224Z\"]\n};\nvar faVoicemail = {\n prefix: 'fas',\n iconName: 'voicemail',\n icon: [640, 512, [], \"f897\", \"M496 128a144 144 0 0 0-119.74 224H263.74A144 144 0 1 0 144 416h352a144 144 0 0 0 0-288zM64 272a80 80 0 1 1 80 80 80 80 0 0 1-80-80zm432 80a80 80 0 1 1 80-80 80 80 0 0 1-80 80z\"]\n};\nvar faVolleyballBall = {\n prefix: 'fas',\n iconName: 'volleyball-ball',\n icon: [512, 512, [], \"f45f\", \"M231.39 243.48a285.56 285.56 0 0 0-22.7-105.7c-90.8 42.4-157.5 122.4-180.3 216.8a249 249 0 0 0 56.9 81.1 333.87 333.87 0 0 1 146.1-192.2zm-36.9-134.4a284.23 284.23 0 0 0-57.4-70.7c-91 49.8-144.8 152.9-125 262.2 33.4-83.1 98.4-152 182.4-191.5zm187.6 165.1c8.6-99.8-27.3-197.5-97.5-264.4-14.7-1.7-51.6-5.5-98.9 8.5A333.87 333.87 0 0 1 279.19 241a285 285 0 0 0 102.9 33.18zm-124.7 9.5a286.33 286.33 0 0 0-80.2 72.6c82 57.3 184.5 75.1 277.5 47.8a247.15 247.15 0 0 0 42.2-89.9 336.1 336.1 0 0 1-80.9 10.4c-54.6-.1-108.9-14.1-158.6-40.9zm-98.3 99.7c-15.2 26-25.7 54.4-32.1 84.2a247.07 247.07 0 0 0 289-22.1c-112.9 16.1-203.3-24.8-256.9-62.1zm180.3-360.6c55.3 70.4 82.5 161.2 74.6 253.6a286.59 286.59 0 0 0 89.7-14.2c0-2 .3-4 .3-6 0-107.8-68.7-199.1-164.6-233.4z\"]\n};\nvar faVolumeDown = {\n prefix: 'fas',\n iconName: 'volume-down',\n icon: [384, 512, [], \"f027\", \"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z\"]\n};\nvar faVolumeMute = {\n prefix: 'fas',\n iconName: 'volume-mute',\n icon: [512, 512, [], \"f6a9\", \"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z\"]\n};\nvar faVolumeOff = {\n prefix: 'fas',\n iconName: 'volume-off',\n icon: [256, 512, [], \"f026\", \"M215 71l-89 89H24a24 24 0 0 0-24 24v144a24 24 0 0 0 24 24h102.06L215 441c15 15 41 4.47 41-17V88c0-21.47-26-32-41-17z\"]\n};\nvar faVolumeUp = {\n prefix: 'fas',\n iconName: 'volume-up',\n icon: [576, 512, [], \"f028\", \"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z\"]\n};\nvar faVoteYea = {\n prefix: 'fas',\n iconName: 'vote-yea',\n icon: [640, 512, [], \"f772\", \"M608 320h-64v64h22.4c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8H96v-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h576c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32zm-96 64V64.3c0-17.9-14.5-32.3-32.3-32.3H160.4C142.5 32 128 46.5 128 64.3V384h384zM211.2 202l25.5-25.3c4.2-4.2 11-4.2 15.2.1l41.3 41.6 95.2-94.4c4.2-4.2 11-4.2 15.2.1l25.3 25.5c4.2 4.2 4.2 11-.1 15.2L300.5 292c-4.2 4.2-11 4.2-15.2-.1l-74.1-74.7c-4.3-4.2-4.2-11 0-15.2z\"]\n};\nvar faVrCardboard = {\n prefix: 'fas',\n iconName: 'vr-cardboard',\n icon: [640, 512, [], \"f729\", \"M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h160.22c25.19 0 48.03-14.77 58.36-37.74l27.74-61.64C286.21 331.08 302.35 320 320 320s33.79 11.08 41.68 28.62l27.74 61.64C399.75 433.23 422.6 448 447.78 448H608c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM160 304c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64zm320 0c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64z\"]\n};\nvar faWalking = {\n prefix: 'fas',\n iconName: 'walking',\n icon: [320, 512, [], \"f554\", \"M208 96c26.5 0 48-21.5 48-48S234.5 0 208 0s-48 21.5-48 48 21.5 48 48 48zm94.5 149.1l-23.3-11.8-9.7-29.4c-14.7-44.6-55.7-75.8-102.2-75.9-36-.1-55.9 10.1-93.3 25.2-21.6 8.7-39.3 25.2-49.7 46.2L17.6 213c-7.8 15.8-1.5 35 14.2 42.9 15.6 7.9 34.6 1.5 42.5-14.3L81 228c3.5-7 9.3-12.5 16.5-15.4l26.8-10.8-15.2 60.7c-5.2 20.8.4 42.9 14.9 58.8l59.9 65.4c7.2 7.9 12.3 17.4 14.9 27.7l18.3 73.3c4.3 17.1 21.7 27.6 38.8 23.3 17.1-4.3 27.6-21.7 23.3-38.8l-22.2-89c-2.6-10.3-7.7-19.9-14.9-27.7l-45.5-49.7 17.2-68.7 5.5 16.5c5.3 16.1 16.7 29.4 31.7 37l23.3 11.8c15.6 7.9 34.6 1.5 42.5-14.3 7.7-15.7 1.4-35.1-14.3-43zM73.6 385.8c-3.2 8.1-8 15.4-14.2 21.5l-50 50.1c-12.5 12.5-12.5 32.8 0 45.3s32.7 12.5 45.2 0l59.4-59.4c6.1-6.1 10.9-13.4 14.2-21.5l13.5-33.8c-55.3-60.3-38.7-41.8-47.4-53.7l-20.7 51.5z\"]\n};\nvar faWallet = {\n prefix: 'fas',\n iconName: 'wallet',\n icon: [512, 512, [], \"f555\", \"M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"]\n};\nvar faWarehouse = {\n prefix: 'fas',\n iconName: 'warehouse',\n icon: [640, 512, [], \"f494\", \"M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z\"]\n};\nvar faWater = {\n prefix: 'fas',\n iconName: 'water',\n icon: [576, 512, [], \"f773\", \"M562.1 383.9c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144C540.6 93.4 520 85.4 504.2 73 490.1 61.9 470 61.7 456 73c-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3z\"]\n};\nvar faWaveSquare = {\n prefix: 'fas',\n iconName: 'wave-square',\n icon: [640, 512, [], \"f83e\", \"M476 480H324a36 36 0 0 1-36-36V96h-96v156a36 36 0 0 1-36 36H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h112V68a36 36 0 0 1 36-36h152a36 36 0 0 1 36 36v348h96V260a36 36 0 0 1 36-36h140a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H512v156a36 36 0 0 1-36 36z\"]\n};\nvar faWeight = {\n prefix: 'fas',\n iconName: 'weight',\n icon: [512, 512, [], \"f496\", \"M448 64h-25.98C438.44 92.28 448 125.01 448 160c0 105.87-86.13 192-192 192S64 265.87 64 160c0-34.99 9.56-67.72 25.98-96H64C28.71 64 0 92.71 0 128v320c0 35.29 28.71 64 64 64h384c35.29 0 64-28.71 64-64V128c0-35.29-28.71-64-64-64zM256 320c88.37 0 160-71.63 160-160S344.37 0 256 0 96 71.63 96 160s71.63 160 160 160zm-.3-151.94l33.58-78.36c3.5-8.17 12.94-11.92 21.03-8.41 8.12 3.48 11.88 12.89 8.41 21l-33.67 78.55C291.73 188 296 197.45 296 208c0 22.09-17.91 40-40 40s-40-17.91-40-40c0-21.98 17.76-39.77 39.7-39.94z\"]\n};\nvar faWeightHanging = {\n prefix: 'fas',\n iconName: 'weight-hanging',\n icon: [512, 512, [], \"f5cd\", \"M510.28 445.86l-73.03-292.13c-3.8-15.19-16.44-25.72-30.87-25.72h-60.25c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96s-96 42.98-96 96c0 11.28 2.3 21.95 5.88 32h-60.25c-14.43 0-27.08 10.54-30.87 25.72L1.72 445.86C-6.61 479.17 16.38 512 48.03 512h415.95c31.64 0 54.63-32.83 46.3-66.14zM256 128c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z\"]\n};\nvar faWheelchair = {\n prefix: 'fas',\n iconName: 'wheelchair',\n icon: [512, 512, [], \"f193\", \"M496.101 385.669l14.227 28.663c3.929 7.915.697 17.516-7.218 21.445l-65.465 32.886c-16.049 7.967-35.556 1.194-43.189-15.055L331.679 320H192c-15.925 0-29.426-11.71-31.679-27.475C126.433 55.308 128.38 70.044 128 64c0-36.358 30.318-65.635 67.052-63.929 33.271 1.545 60.048 28.905 60.925 62.201.868 32.933-23.152 60.423-54.608 65.039l4.67 32.69H336c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H215.182l4.572 32H352a32 32 0 0 1 28.962 18.392L438.477 396.8l36.178-18.349c7.915-3.929 17.517-.697 21.446 7.218zM311.358 352h-24.506c-7.788 54.204-54.528 96-110.852 96-61.757 0-112-50.243-112-112 0-41.505 22.694-77.809 56.324-97.156-3.712-25.965-6.844-47.86-9.488-66.333C45.956 198.464 0 261.963 0 336c0 97.047 78.953 176 176 176 71.87 0 133.806-43.308 161.11-105.192L311.358 352z\"]\n};\nvar faWifi = {\n prefix: 'fas',\n iconName: 'wifi',\n icon: [640, 512, [], \"f1eb\", \"M634.91 154.88C457.74-8.99 182.19-8.93 5.09 154.88c-6.66 6.16-6.79 16.59-.35 22.98l34.24 33.97c6.14 6.1 16.02 6.23 22.4.38 145.92-133.68 371.3-133.71 517.25 0 6.38 5.85 16.26 5.71 22.4-.38l34.24-33.97c6.43-6.39 6.3-16.82-.36-22.98zM320 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm202.67-83.59c-115.26-101.93-290.21-101.82-405.34 0-6.9 6.1-7.12 16.69-.57 23.15l34.44 33.99c6 5.92 15.66 6.32 22.05.8 83.95-72.57 209.74-72.41 293.49 0 6.39 5.52 16.05 5.13 22.05-.8l34.44-33.99c6.56-6.46 6.33-17.06-.56-23.15z\"]\n};\nvar faWind = {\n prefix: 'fas',\n iconName: 'wind',\n icon: [512, 512, [], \"f72e\", \"M156.7 256H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h142.2c15.9 0 30.8 10.9 33.4 26.6 3.3 20-12.1 37.4-31.6 37.4-14.1 0-26.1-9.2-30.4-21.9-2.1-6.3-8.6-10.1-15.2-10.1H81.6c-9.8 0-17.7 8.8-15.9 18.4 8.6 44.1 47.6 77.6 94.2 77.6 57.1 0 102.7-50.1 95.2-108.6C249 291 205.4 256 156.7 256zM16 224h336c59.7 0 106.8-54.8 93.8-116.7-7.6-36.2-36.9-65.5-73.1-73.1-55.4-11.6-105.1 24.9-114.9 75.5-1.9 9.6 6.1 18.3 15.8 18.3h32.8c6.7 0 13.1-3.8 15.2-10.1C325.9 105.2 337.9 96 352 96c19.4 0 34.9 17.4 31.6 37.4-2.6 15.7-17.4 26.6-33.4 26.6H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zm384 32H243.7c19.3 16.6 33.2 38.8 39.8 64H400c26.5 0 48 21.5 48 48s-21.5 48-48 48c-17.9 0-33.3-9.9-41.6-24.4-2.9-5-8.7-7.6-14.5-7.6h-33.8c-10.9 0-19 10.8-15.3 21.1 17.8 50.6 70.5 84.8 129.4 72.3 41.2-8.7 75.1-41.6 84.7-82.7C526 321.5 470.5 256 400 256z\"]\n};\nvar faWindowClose = {\n prefix: 'fas',\n iconName: 'window-close',\n icon: [512, 512, [], \"f410\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-83.6 290.5c4.8 4.8 4.8 12.6 0 17.4l-40.5 40.5c-4.8 4.8-12.6 4.8-17.4 0L256 313.3l-66.5 67.1c-4.8 4.8-12.6 4.8-17.4 0l-40.5-40.5c-4.8-4.8-4.8-12.6 0-17.4l67.1-66.5-67.1-66.5c-4.8-4.8-4.8-12.6 0-17.4l40.5-40.5c4.8-4.8 12.6-4.8 17.4 0l66.5 67.1 66.5-67.1c4.8-4.8 12.6-4.8 17.4 0l40.5 40.5c4.8 4.8 4.8 12.6 0 17.4L313.3 256l67.1 66.5z\"]\n};\nvar faWindowMaximize = {\n prefix: 'fas',\n iconName: 'window-maximize',\n icon: [512, 512, [], \"f2d0\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16 160H64v-84c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v84z\"]\n};\nvar faWindowMinimize = {\n prefix: 'fas',\n iconName: 'window-minimize',\n icon: [512, 512, [], \"f2d1\", \"M464 352H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48z\"]\n};\nvar faWindowRestore = {\n prefix: 'fas',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z\"]\n};\nvar faWineBottle = {\n prefix: 'fas',\n iconName: 'wine-bottle',\n icon: [512, 512, [], \"f72f\", \"M507.31 72.57L439.43 4.69c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l-76.67 76.67c-46.58-19.7-102.4-10.73-140.37 27.23L18.75 312.23c-24.99 24.99-24.99 65.52 0 90.51l90.51 90.51c24.99 24.99 65.52 24.99 90.51 0l158.39-158.39c37.96-37.96 46.93-93.79 27.23-140.37l76.67-76.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.24-6.24 6.24-16.37-.01-22.62zM179.22 423.29l-90.51-90.51 122.04-122.04 90.51 90.51-122.04 122.04z\"]\n};\nvar faWineGlass = {\n prefix: 'fas',\n iconName: 'wine-glass',\n icon: [288, 512, [], \"f4e3\", \"M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40z\"]\n};\nvar faWineGlassAlt = {\n prefix: 'fas',\n iconName: 'wine-glass-alt',\n icon: [288, 512, [], \"f5ce\", \"M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM61.75 48h164.5l7.17 80H54.58l7.17-80z\"]\n};\nvar faWonSign = {\n prefix: 'fas',\n iconName: 'won-sign',\n icon: [576, 512, [], \"f159\", \"M564 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-48l18.6-80.6c1.7-7.5-4-14.7-11.7-14.7h-46.1c-5.7 0-10.6 4-11.7 9.5L450.7 128H340.8l-19.7-86c-1.3-5.5-6.1-9.3-11.7-9.3h-44c-5.6 0-10.4 3.8-11.7 9.3l-20 86H125l-17.5-85.7c-1.1-5.6-6.1-9.6-11.8-9.6H53.6c-7.7 0-13.4 7.1-11.7 14.6L60 128H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h62.3l7.2 32H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h83.9l40.9 182.6c1.2 5.5 6.1 9.4 11.7 9.4h56.8c5.6 0 10.4-3.9 11.7-9.3L259.3 288h55.1l42.4 182.7c1.3 5.4 6.1 9.3 11.7 9.3h56.8c5.6 0 10.4-3.9 11.7-9.3L479.1 288H564c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-70.1l7.4-32zM183.8 342c-6.2 25.8-6.8 47.2-7.3 47.2h-1.1s-1.7-22-6.8-47.2l-11-54h38.8zm27.5-118h-66.8l-6.5-32h80.8zm62.9 0l2-8.6c1.9-8 3.5-16 4.8-23.4h11.8c1.3 7.4 2.9 15.4 4.8 23.4l2 8.6zm130.9 118c-5.1 25.2-6.8 47.2-6.8 47.2h-1.1c-.6 0-1.1-21.4-7.3-47.2l-12.4-54h39.1zm25.2-118h-67.4l-7.3-32h81.6z\"]\n};\nvar faWrench = {\n prefix: 'fas',\n iconName: 'wrench',\n icon: [512, 512, [], \"f0ad\", \"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"]\n};\nvar faXRay = {\n prefix: 'fas',\n iconName: 'x-ray',\n icon: [640, 512, [], \"f497\", \"M240 384c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm160 32c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zM624 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zm0 448h-48V96H64v352H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM480 248c0 4.4-3.6 8-8 8H336v32h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h64c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48v-16h-64v16c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48h64v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-32H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h136v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-24c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v24h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h136c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faYenSign = {\n prefix: 'fas',\n iconName: 'yen-sign',\n icon: [384, 512, [], \"f157\", \"M351.2 32h-65.3c-4.6 0-8.8 2.6-10.8 6.7l-55.4 113.2c-14.5 34.7-27.1 71.9-27.1 71.9h-1.3s-12.6-37.2-27.1-71.9L108.8 38.7c-2-4.1-6.2-6.7-10.8-6.7H32.8c-9.1 0-14.8 9.7-10.6 17.6L102.3 200H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h88.2l19.8 37.2V320H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h108v92c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12v-92h108c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12H232v-26.8l19.8-37.2H340c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12h-58.3l80.1-150.4c4.3-7.9-1.5-17.6-10.6-17.6z\"]\n};\nvar faYinYang = {\n prefix: 'fas',\n iconName: 'yin-yang',\n icon: [496, 512, [], \"f6ad\", \"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 376c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-128c-53.02 0-96 42.98-96 96s42.98 96 96 96c-106.04 0-192-85.96-192-192S141.96 64 248 64c53.02 0 96 42.98 96 96s-42.98 96-96 96zm0-128c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"]\n};\nvar _iconsCache = {\n faAd: faAd,\n faAddressBook: faAddressBook,\n faAddressCard: faAddressCard,\n faAdjust: faAdjust,\n faAirFreshener: faAirFreshener,\n faAlignCenter: faAlignCenter,\n faAlignJustify: faAlignJustify,\n faAlignLeft: faAlignLeft,\n faAlignRight: faAlignRight,\n faAllergies: faAllergies,\n faAmbulance: faAmbulance,\n faAmericanSignLanguageInterpreting: faAmericanSignLanguageInterpreting,\n faAnchor: faAnchor,\n faAngleDoubleDown: faAngleDoubleDown,\n faAngleDoubleLeft: faAngleDoubleLeft,\n faAngleDoubleRight: faAngleDoubleRight,\n faAngleDoubleUp: faAngleDoubleUp,\n faAngleDown: faAngleDown,\n faAngleLeft: faAngleLeft,\n faAngleRight: faAngleRight,\n faAngleUp: faAngleUp,\n faAngry: faAngry,\n faAnkh: faAnkh,\n faAppleAlt: faAppleAlt,\n faArchive: faArchive,\n faArchway: faArchway,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faArrowCircleDown: faArrowCircleDown,\n faArrowCircleLeft: faArrowCircleLeft,\n faArrowCircleRight: faArrowCircleRight,\n faArrowCircleUp: faArrowCircleUp,\n faArrowDown: faArrowDown,\n faArrowLeft: faArrowLeft,\n faArrowRight: faArrowRight,\n faArrowUp: faArrowUp,\n faArrowsAlt: faArrowsAlt,\n faArrowsAltH: faArrowsAltH,\n faArrowsAltV: faArrowsAltV,\n faAssistiveListeningSystems: faAssistiveListeningSystems,\n faAsterisk: faAsterisk,\n faAt: faAt,\n faAtlas: faAtlas,\n faAtom: faAtom,\n faAudioDescription: faAudioDescription,\n faAward: faAward,\n faBaby: faBaby,\n faBabyCarriage: faBabyCarriage,\n faBackspace: faBackspace,\n faBackward: faBackward,\n faBacon: faBacon,\n faBacteria: faBacteria,\n faBacterium: faBacterium,\n faBahai: faBahai,\n faBalanceScale: faBalanceScale,\n faBalanceScaleLeft: faBalanceScaleLeft,\n faBalanceScaleRight: faBalanceScaleRight,\n faBan: faBan,\n faBandAid: faBandAid,\n faBarcode: faBarcode,\n faBars: faBars,\n faBaseballBall: faBaseballBall,\n faBasketballBall: faBasketballBall,\n faBath: faBath,\n faBatteryEmpty: faBatteryEmpty,\n faBatteryFull: faBatteryFull,\n faBatteryHalf: faBatteryHalf,\n faBatteryQuarter: faBatteryQuarter,\n faBatteryThreeQuarters: faBatteryThreeQuarters,\n faBed: faBed,\n faBeer: faBeer,\n faBell: faBell,\n faBellSlash: faBellSlash,\n faBezierCurve: faBezierCurve,\n faBible: faBible,\n faBicycle: faBicycle,\n faBiking: faBiking,\n faBinoculars: faBinoculars,\n faBiohazard: faBiohazard,\n faBirthdayCake: faBirthdayCake,\n faBlender: faBlender,\n faBlenderPhone: faBlenderPhone,\n faBlind: faBlind,\n faBlog: faBlog,\n faBold: faBold,\n faBolt: faBolt,\n faBomb: faBomb,\n faBone: faBone,\n faBong: faBong,\n faBook: faBook,\n faBookDead: faBookDead,\n faBookMedical: faBookMedical,\n faBookOpen: faBookOpen,\n faBookReader: faBookReader,\n faBookmark: faBookmark,\n faBorderAll: faBorderAll,\n faBorderNone: faBorderNone,\n faBorderStyle: faBorderStyle,\n faBowlingBall: faBowlingBall,\n faBox: faBox,\n faBoxOpen: faBoxOpen,\n faBoxTissue: faBoxTissue,\n faBoxes: faBoxes,\n faBraille: faBraille,\n faBrain: faBrain,\n faBreadSlice: faBreadSlice,\n faBriefcase: faBriefcase,\n faBriefcaseMedical: faBriefcaseMedical,\n faBroadcastTower: faBroadcastTower,\n faBroom: faBroom,\n faBrush: faBrush,\n faBug: faBug,\n faBuilding: faBuilding,\n faBullhorn: faBullhorn,\n faBullseye: faBullseye,\n faBurn: faBurn,\n faBus: faBus,\n faBusAlt: faBusAlt,\n faBusinessTime: faBusinessTime,\n faCalculator: faCalculator,\n faCalendar: faCalendar,\n faCalendarAlt: faCalendarAlt,\n faCalendarCheck: faCalendarCheck,\n faCalendarDay: faCalendarDay,\n faCalendarMinus: faCalendarMinus,\n faCalendarPlus: faCalendarPlus,\n faCalendarTimes: faCalendarTimes,\n faCalendarWeek: faCalendarWeek,\n faCamera: faCamera,\n faCameraRetro: faCameraRetro,\n faCampground: faCampground,\n faCandyCane: faCandyCane,\n faCannabis: faCannabis,\n faCapsules: faCapsules,\n faCar: faCar,\n faCarAlt: faCarAlt,\n faCarBattery: faCarBattery,\n faCarCrash: faCarCrash,\n faCarSide: faCarSide,\n faCaravan: faCaravan,\n faCaretDown: faCaretDown,\n faCaretLeft: faCaretLeft,\n faCaretRight: faCaretRight,\n faCaretSquareDown: faCaretSquareDown,\n faCaretSquareLeft: faCaretSquareLeft,\n faCaretSquareRight: faCaretSquareRight,\n faCaretSquareUp: faCaretSquareUp,\n faCaretUp: faCaretUp,\n faCarrot: faCarrot,\n faCartArrowDown: faCartArrowDown,\n faCartPlus: faCartPlus,\n faCashRegister: faCashRegister,\n faCat: faCat,\n faCertificate: faCertificate,\n faChair: faChair,\n faChalkboard: faChalkboard,\n faChalkboardTeacher: faChalkboardTeacher,\n faChargingStation: faChargingStation,\n faChartArea: faChartArea,\n faChartBar: faChartBar,\n faChartLine: faChartLine,\n faChartPie: faChartPie,\n faCheck: faCheck,\n faCheckCircle: faCheckCircle,\n faCheckDouble: faCheckDouble,\n faCheckSquare: faCheckSquare,\n faCheese: faCheese,\n faChess: faChess,\n faChessBishop: faChessBishop,\n faChessBoard: faChessBoard,\n faChessKing: faChessKing,\n faChessKnight: faChessKnight,\n faChessPawn: faChessPawn,\n faChessQueen: faChessQueen,\n faChessRook: faChessRook,\n faChevronCircleDown: faChevronCircleDown,\n faChevronCircleLeft: faChevronCircleLeft,\n faChevronCircleRight: faChevronCircleRight,\n faChevronCircleUp: faChevronCircleUp,\n faChevronDown: faChevronDown,\n faChevronLeft: faChevronLeft,\n faChevronRight: faChevronRight,\n faChevronUp: faChevronUp,\n faChild: faChild,\n faChurch: faChurch,\n faCircle: faCircle,\n faCircleNotch: faCircleNotch,\n faCity: faCity,\n faClinicMedical: faClinicMedical,\n faClipboard: faClipboard,\n faClipboardCheck: faClipboardCheck,\n faClipboardList: faClipboardList,\n faClock: faClock,\n faClone: faClone,\n faClosedCaptioning: faClosedCaptioning,\n faCloud: faCloud,\n faCloudDownloadAlt: faCloudDownloadAlt,\n faCloudMeatball: faCloudMeatball,\n faCloudMoon: faCloudMoon,\n faCloudMoonRain: faCloudMoonRain,\n faCloudRain: faCloudRain,\n faCloudShowersHeavy: faCloudShowersHeavy,\n faCloudSun: faCloudSun,\n faCloudSunRain: faCloudSunRain,\n faCloudUploadAlt: faCloudUploadAlt,\n faCocktail: faCocktail,\n faCode: faCode,\n faCodeBranch: faCodeBranch,\n faCoffee: faCoffee,\n faCog: faCog,\n faCogs: faCogs,\n faCoins: faCoins,\n faColumns: faColumns,\n faComment: faComment,\n faCommentAlt: faCommentAlt,\n faCommentDollar: faCommentDollar,\n faCommentDots: faCommentDots,\n faCommentMedical: faCommentMedical,\n faCommentSlash: faCommentSlash,\n faComments: faComments,\n faCommentsDollar: faCommentsDollar,\n faCompactDisc: faCompactDisc,\n faCompass: faCompass,\n faCompress: faCompress,\n faCompressAlt: faCompressAlt,\n faCompressArrowsAlt: faCompressArrowsAlt,\n faConciergeBell: faConciergeBell,\n faCookie: faCookie,\n faCookieBite: faCookieBite,\n faCopy: faCopy,\n faCopyright: faCopyright,\n faCouch: faCouch,\n faCreditCard: faCreditCard,\n faCrop: faCrop,\n faCropAlt: faCropAlt,\n faCross: faCross,\n faCrosshairs: faCrosshairs,\n faCrow: faCrow,\n faCrown: faCrown,\n faCrutch: faCrutch,\n faCube: faCube,\n faCubes: faCubes,\n faCut: faCut,\n faDatabase: faDatabase,\n faDeaf: faDeaf,\n faDemocrat: faDemocrat,\n faDesktop: faDesktop,\n faDharmachakra: faDharmachakra,\n faDiagnoses: faDiagnoses,\n faDice: faDice,\n faDiceD20: faDiceD20,\n faDiceD6: faDiceD6,\n faDiceFive: faDiceFive,\n faDiceFour: faDiceFour,\n faDiceOne: faDiceOne,\n faDiceSix: faDiceSix,\n faDiceThree: faDiceThree,\n faDiceTwo: faDiceTwo,\n faDigitalTachograph: faDigitalTachograph,\n faDirections: faDirections,\n faDisease: faDisease,\n faDivide: faDivide,\n faDizzy: faDizzy,\n faDna: faDna,\n faDog: faDog,\n faDollarSign: faDollarSign,\n faDolly: faDolly,\n faDollyFlatbed: faDollyFlatbed,\n faDonate: faDonate,\n faDoorClosed: faDoorClosed,\n faDoorOpen: faDoorOpen,\n faDotCircle: faDotCircle,\n faDove: faDove,\n faDownload: faDownload,\n faDraftingCompass: faDraftingCompass,\n faDragon: faDragon,\n faDrawPolygon: faDrawPolygon,\n faDrum: faDrum,\n faDrumSteelpan: faDrumSteelpan,\n faDrumstickBite: faDrumstickBite,\n faDumbbell: faDumbbell,\n faDumpster: faDumpster,\n faDumpsterFire: faDumpsterFire,\n faDungeon: faDungeon,\n faEdit: faEdit,\n faEgg: faEgg,\n faEject: faEject,\n faEllipsisH: faEllipsisH,\n faEllipsisV: faEllipsisV,\n faEnvelope: faEnvelope,\n faEnvelopeOpen: faEnvelopeOpen,\n faEnvelopeOpenText: faEnvelopeOpenText,\n faEnvelopeSquare: faEnvelopeSquare,\n faEquals: faEquals,\n faEraser: faEraser,\n faEthernet: faEthernet,\n faEuroSign: faEuroSign,\n faExchangeAlt: faExchangeAlt,\n faExclamation: faExclamation,\n faExclamationCircle: faExclamationCircle,\n faExclamationTriangle: faExclamationTriangle,\n faExpand: faExpand,\n faExpandAlt: faExpandAlt,\n faExpandArrowsAlt: faExpandArrowsAlt,\n faExternalLinkAlt: faExternalLinkAlt,\n faExternalLinkSquareAlt: faExternalLinkSquareAlt,\n faEye: faEye,\n faEyeDropper: faEyeDropper,\n faEyeSlash: faEyeSlash,\n faFan: faFan,\n faFastBackward: faFastBackward,\n faFastForward: faFastForward,\n faFaucet: faFaucet,\n faFax: faFax,\n faFeather: faFeather,\n faFeatherAlt: faFeatherAlt,\n faFemale: faFemale,\n faFighterJet: faFighterJet,\n faFile: faFile,\n faFileAlt: faFileAlt,\n faFileArchive: faFileArchive,\n faFileAudio: faFileAudio,\n faFileCode: faFileCode,\n faFileContract: faFileContract,\n faFileCsv: faFileCsv,\n faFileDownload: faFileDownload,\n faFileExcel: faFileExcel,\n faFileExport: faFileExport,\n faFileImage: faFileImage,\n faFileImport: faFileImport,\n faFileInvoice: faFileInvoice,\n faFileInvoiceDollar: faFileInvoiceDollar,\n faFileMedical: faFileMedical,\n faFileMedicalAlt: faFileMedicalAlt,\n faFilePdf: faFilePdf,\n faFilePowerpoint: faFilePowerpoint,\n faFilePrescription: faFilePrescription,\n faFileSignature: faFileSignature,\n faFileUpload: faFileUpload,\n faFileVideo: faFileVideo,\n faFileWord: faFileWord,\n faFill: faFill,\n faFillDrip: faFillDrip,\n faFilm: faFilm,\n faFilter: faFilter,\n faFingerprint: faFingerprint,\n faFire: faFire,\n faFireAlt: faFireAlt,\n faFireExtinguisher: faFireExtinguisher,\n faFirstAid: faFirstAid,\n faFish: faFish,\n faFistRaised: faFistRaised,\n faFlag: faFlag,\n faFlagCheckered: faFlagCheckered,\n faFlagUsa: faFlagUsa,\n faFlask: faFlask,\n faFlushed: faFlushed,\n faFolder: faFolder,\n faFolderMinus: faFolderMinus,\n faFolderOpen: faFolderOpen,\n faFolderPlus: faFolderPlus,\n faFont: faFont,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFootballBall: faFootballBall,\n faForward: faForward,\n faFrog: faFrog,\n faFrown: faFrown,\n faFrownOpen: faFrownOpen,\n faFunnelDollar: faFunnelDollar,\n faFutbol: faFutbol,\n faGamepad: faGamepad,\n faGasPump: faGasPump,\n faGavel: faGavel,\n faGem: faGem,\n faGenderless: faGenderless,\n faGhost: faGhost,\n faGift: faGift,\n faGifts: faGifts,\n faGlassCheers: faGlassCheers,\n faGlassMartini: faGlassMartini,\n faGlassMartiniAlt: faGlassMartiniAlt,\n faGlassWhiskey: faGlassWhiskey,\n faGlasses: faGlasses,\n faGlobe: faGlobe,\n faGlobeAfrica: faGlobeAfrica,\n faGlobeAmericas: faGlobeAmericas,\n faGlobeAsia: faGlobeAsia,\n faGlobeEurope: faGlobeEurope,\n faGolfBall: faGolfBall,\n faGopuram: faGopuram,\n faGraduationCap: faGraduationCap,\n faGreaterThan: faGreaterThan,\n faGreaterThanEqual: faGreaterThanEqual,\n faGrimace: faGrimace,\n faGrin: faGrin,\n faGrinAlt: faGrinAlt,\n faGrinBeam: faGrinBeam,\n faGrinBeamSweat: faGrinBeamSweat,\n faGrinHearts: faGrinHearts,\n faGrinSquint: faGrinSquint,\n faGrinSquintTears: faGrinSquintTears,\n faGrinStars: faGrinStars,\n faGrinTears: faGrinTears,\n faGrinTongue: faGrinTongue,\n faGrinTongueSquint: faGrinTongueSquint,\n faGrinTongueWink: faGrinTongueWink,\n faGrinWink: faGrinWink,\n faGripHorizontal: faGripHorizontal,\n faGripLines: faGripLines,\n faGripLinesVertical: faGripLinesVertical,\n faGripVertical: faGripVertical,\n faGuitar: faGuitar,\n faHSquare: faHSquare,\n faHamburger: faHamburger,\n faHammer: faHammer,\n faHamsa: faHamsa,\n faHandHolding: faHandHolding,\n faHandHoldingHeart: faHandHoldingHeart,\n faHandHoldingMedical: faHandHoldingMedical,\n faHandHoldingUsd: faHandHoldingUsd,\n faHandHoldingWater: faHandHoldingWater,\n faHandLizard: faHandLizard,\n faHandMiddleFinger: faHandMiddleFinger,\n faHandPaper: faHandPaper,\n faHandPeace: faHandPeace,\n faHandPointDown: faHandPointDown,\n faHandPointLeft: faHandPointLeft,\n faHandPointRight: faHandPointRight,\n faHandPointUp: faHandPointUp,\n faHandPointer: faHandPointer,\n faHandRock: faHandRock,\n faHandScissors: faHandScissors,\n faHandSparkles: faHandSparkles,\n faHandSpock: faHandSpock,\n faHands: faHands,\n faHandsHelping: faHandsHelping,\n faHandsWash: faHandsWash,\n faHandshake: faHandshake,\n faHandshakeAltSlash: faHandshakeAltSlash,\n faHandshakeSlash: faHandshakeSlash,\n faHanukiah: faHanukiah,\n faHardHat: faHardHat,\n faHashtag: faHashtag,\n faHatCowboy: faHatCowboy,\n faHatCowboySide: faHatCowboySide,\n faHatWizard: faHatWizard,\n faHdd: faHdd,\n faHeadSideCough: faHeadSideCough,\n faHeadSideCoughSlash: faHeadSideCoughSlash,\n faHeadSideMask: faHeadSideMask,\n faHeadSideVirus: faHeadSideVirus,\n faHeading: faHeading,\n faHeadphones: faHeadphones,\n faHeadphonesAlt: faHeadphonesAlt,\n faHeadset: faHeadset,\n faHeart: faHeart,\n faHeartBroken: faHeartBroken,\n faHeartbeat: faHeartbeat,\n faHelicopter: faHelicopter,\n faHighlighter: faHighlighter,\n faHiking: faHiking,\n faHippo: faHippo,\n faHistory: faHistory,\n faHockeyPuck: faHockeyPuck,\n faHollyBerry: faHollyBerry,\n faHome: faHome,\n faHorse: faHorse,\n faHorseHead: faHorseHead,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalSymbol: faHospitalSymbol,\n faHospitalUser: faHospitalUser,\n faHotTub: faHotTub,\n faHotdog: faHotdog,\n faHotel: faHotel,\n faHourglass: faHourglass,\n faHourglassEnd: faHourglassEnd,\n faHourglassHalf: faHourglassHalf,\n faHourglassStart: faHourglassStart,\n faHouseDamage: faHouseDamage,\n faHouseUser: faHouseUser,\n faHryvnia: faHryvnia,\n faICursor: faICursor,\n faIceCream: faIceCream,\n faIcicles: faIcicles,\n faIcons: faIcons,\n faIdBadge: faIdBadge,\n faIdCard: faIdCard,\n faIdCardAlt: faIdCardAlt,\n faIgloo: faIgloo,\n faImage: faImage,\n faImages: faImages,\n faInbox: faInbox,\n faIndent: faIndent,\n faIndustry: faIndustry,\n faInfinity: faInfinity,\n faInfo: faInfo,\n faInfoCircle: faInfoCircle,\n faItalic: faItalic,\n faJedi: faJedi,\n faJoint: faJoint,\n faJournalWhills: faJournalWhills,\n faKaaba: faKaaba,\n faKey: faKey,\n faKeyboard: faKeyboard,\n faKhanda: faKhanda,\n faKiss: faKiss,\n faKissBeam: faKissBeam,\n faKissWinkHeart: faKissWinkHeart,\n faKiwiBird: faKiwiBird,\n faLandmark: faLandmark,\n faLanguage: faLanguage,\n faLaptop: faLaptop,\n faLaptopCode: faLaptopCode,\n faLaptopHouse: faLaptopHouse,\n faLaptopMedical: faLaptopMedical,\n faLaugh: faLaugh,\n faLaughBeam: faLaughBeam,\n faLaughSquint: faLaughSquint,\n faLaughWink: faLaughWink,\n faLayerGroup: faLayerGroup,\n faLeaf: faLeaf,\n faLemon: faLemon,\n faLessThan: faLessThan,\n faLessThanEqual: faLessThanEqual,\n faLevelDownAlt: faLevelDownAlt,\n faLevelUpAlt: faLevelUpAlt,\n faLifeRing: faLifeRing,\n faLightbulb: faLightbulb,\n faLink: faLink,\n faLiraSign: faLiraSign,\n faList: faList,\n faListAlt: faListAlt,\n faListOl: faListOl,\n faListUl: faListUl,\n faLocationArrow: faLocationArrow,\n faLock: faLock,\n faLockOpen: faLockOpen,\n faLongArrowAltDown: faLongArrowAltDown,\n faLongArrowAltLeft: faLongArrowAltLeft,\n faLongArrowAltRight: faLongArrowAltRight,\n faLongArrowAltUp: faLongArrowAltUp,\n faLowVision: faLowVision,\n faLuggageCart: faLuggageCart,\n faLungs: faLungs,\n faLungsVirus: faLungsVirus,\n faMagic: faMagic,\n faMagnet: faMagnet,\n faMailBulk: faMailBulk,\n faMale: faMale,\n faMap: faMap,\n faMapMarked: faMapMarked,\n faMapMarkedAlt: faMapMarkedAlt,\n faMapMarker: faMapMarker,\n faMapMarkerAlt: faMapMarkerAlt,\n faMapPin: faMapPin,\n faMapSigns: faMapSigns,\n faMarker: faMarker,\n faMars: faMars,\n faMarsDouble: faMarsDouble,\n faMarsStroke: faMarsStroke,\n faMarsStrokeH: faMarsStrokeH,\n faMarsStrokeV: faMarsStrokeV,\n faMask: faMask,\n faMedal: faMedal,\n faMedkit: faMedkit,\n faMeh: faMeh,\n faMehBlank: faMehBlank,\n faMehRollingEyes: faMehRollingEyes,\n faMemory: faMemory,\n faMenorah: faMenorah,\n faMercury: faMercury,\n faMeteor: faMeteor,\n faMicrochip: faMicrochip,\n faMicrophone: faMicrophone,\n faMicrophoneAlt: faMicrophoneAlt,\n faMicrophoneAltSlash: faMicrophoneAltSlash,\n faMicrophoneSlash: faMicrophoneSlash,\n faMicroscope: faMicroscope,\n faMinus: faMinus,\n faMinusCircle: faMinusCircle,\n faMinusSquare: faMinusSquare,\n faMitten: faMitten,\n faMobile: faMobile,\n faMobileAlt: faMobileAlt,\n faMoneyBill: faMoneyBill,\n faMoneyBillAlt: faMoneyBillAlt,\n faMoneyBillWave: faMoneyBillWave,\n faMoneyBillWaveAlt: faMoneyBillWaveAlt,\n faMoneyCheck: faMoneyCheck,\n faMoneyCheckAlt: faMoneyCheckAlt,\n faMonument: faMonument,\n faMoon: faMoon,\n faMortarPestle: faMortarPestle,\n faMosque: faMosque,\n faMotorcycle: faMotorcycle,\n faMountain: faMountain,\n faMouse: faMouse,\n faMousePointer: faMousePointer,\n faMugHot: faMugHot,\n faMusic: faMusic,\n faNetworkWired: faNetworkWired,\n faNeuter: faNeuter,\n faNewspaper: faNewspaper,\n faNotEqual: faNotEqual,\n faNotesMedical: faNotesMedical,\n faObjectGroup: faObjectGroup,\n faObjectUngroup: faObjectUngroup,\n faOilCan: faOilCan,\n faOm: faOm,\n faOtter: faOtter,\n faOutdent: faOutdent,\n faPager: faPager,\n faPaintBrush: faPaintBrush,\n faPaintRoller: faPaintRoller,\n faPalette: faPalette,\n faPallet: faPallet,\n faPaperPlane: faPaperPlane,\n faPaperclip: faPaperclip,\n faParachuteBox: faParachuteBox,\n faParagraph: faParagraph,\n faParking: faParking,\n faPassport: faPassport,\n faPastafarianism: faPastafarianism,\n faPaste: faPaste,\n faPause: faPause,\n faPauseCircle: faPauseCircle,\n faPaw: faPaw,\n faPeace: faPeace,\n faPen: faPen,\n faPenAlt: faPenAlt,\n faPenFancy: faPenFancy,\n faPenNib: faPenNib,\n faPenSquare: faPenSquare,\n faPencilAlt: faPencilAlt,\n faPencilRuler: faPencilRuler,\n faPeopleArrows: faPeopleArrows,\n faPeopleCarry: faPeopleCarry,\n faPepperHot: faPepperHot,\n faPercent: faPercent,\n faPercentage: faPercentage,\n faPersonBooth: faPersonBooth,\n faPhone: faPhone,\n faPhoneAlt: faPhoneAlt,\n faPhoneSlash: faPhoneSlash,\n faPhoneSquare: faPhoneSquare,\n faPhoneSquareAlt: faPhoneSquareAlt,\n faPhoneVolume: faPhoneVolume,\n faPhotoVideo: faPhotoVideo,\n faPiggyBank: faPiggyBank,\n faPills: faPills,\n faPizzaSlice: faPizzaSlice,\n faPlaceOfWorship: faPlaceOfWorship,\n faPlane: faPlane,\n faPlaneArrival: faPlaneArrival,\n faPlaneDeparture: faPlaneDeparture,\n faPlaneSlash: faPlaneSlash,\n faPlay: faPlay,\n faPlayCircle: faPlayCircle,\n faPlug: faPlug,\n faPlus: faPlus,\n faPlusCircle: faPlusCircle,\n faPlusSquare: faPlusSquare,\n faPodcast: faPodcast,\n faPoll: faPoll,\n faPollH: faPollH,\n faPoo: faPoo,\n faPooStorm: faPooStorm,\n faPoop: faPoop,\n faPortrait: faPortrait,\n faPoundSign: faPoundSign,\n faPowerOff: faPowerOff,\n faPray: faPray,\n faPrayingHands: faPrayingHands,\n faPrescription: faPrescription,\n faPrescriptionBottle: faPrescriptionBottle,\n faPrescriptionBottleAlt: faPrescriptionBottleAlt,\n faPrint: faPrint,\n faProcedures: faProcedures,\n faProjectDiagram: faProjectDiagram,\n faPumpMedical: faPumpMedical,\n faPumpSoap: faPumpSoap,\n faPuzzlePiece: faPuzzlePiece,\n faQrcode: faQrcode,\n faQuestion: faQuestion,\n faQuestionCircle: faQuestionCircle,\n faQuidditch: faQuidditch,\n faQuoteLeft: faQuoteLeft,\n faQuoteRight: faQuoteRight,\n faQuran: faQuran,\n faRadiation: faRadiation,\n faRadiationAlt: faRadiationAlt,\n faRainbow: faRainbow,\n faRandom: faRandom,\n faReceipt: faReceipt,\n faRecordVinyl: faRecordVinyl,\n faRecycle: faRecycle,\n faRedo: faRedo,\n faRedoAlt: faRedoAlt,\n faRegistered: faRegistered,\n faRemoveFormat: faRemoveFormat,\n faReply: faReply,\n faReplyAll: faReplyAll,\n faRepublican: faRepublican,\n faRestroom: faRestroom,\n faRetweet: faRetweet,\n faRibbon: faRibbon,\n faRing: faRing,\n faRoad: faRoad,\n faRobot: faRobot,\n faRocket: faRocket,\n faRoute: faRoute,\n faRss: faRss,\n faRssSquare: faRssSquare,\n faRubleSign: faRubleSign,\n faRuler: faRuler,\n faRulerCombined: faRulerCombined,\n faRulerHorizontal: faRulerHorizontal,\n faRulerVertical: faRulerVertical,\n faRunning: faRunning,\n faRupeeSign: faRupeeSign,\n faSadCry: faSadCry,\n faSadTear: faSadTear,\n faSatellite: faSatellite,\n faSatelliteDish: faSatelliteDish,\n faSave: faSave,\n faSchool: faSchool,\n faScrewdriver: faScrewdriver,\n faScroll: faScroll,\n faSdCard: faSdCard,\n faSearch: faSearch,\n faSearchDollar: faSearchDollar,\n faSearchLocation: faSearchLocation,\n faSearchMinus: faSearchMinus,\n faSearchPlus: faSearchPlus,\n faSeedling: faSeedling,\n faServer: faServer,\n faShapes: faShapes,\n faShare: faShare,\n faShareAlt: faShareAlt,\n faShareAltSquare: faShareAltSquare,\n faShareSquare: faShareSquare,\n faShekelSign: faShekelSign,\n faShieldAlt: faShieldAlt,\n faShieldVirus: faShieldVirus,\n faShip: faShip,\n faShippingFast: faShippingFast,\n faShoePrints: faShoePrints,\n faShoppingBag: faShoppingBag,\n faShoppingBasket: faShoppingBasket,\n faShoppingCart: faShoppingCart,\n faShower: faShower,\n faShuttleVan: faShuttleVan,\n faSign: faSign,\n faSignInAlt: faSignInAlt,\n faSignLanguage: faSignLanguage,\n faSignOutAlt: faSignOutAlt,\n faSignal: faSignal,\n faSignature: faSignature,\n faSimCard: faSimCard,\n faSink: faSink,\n faSitemap: faSitemap,\n faSkating: faSkating,\n faSkiing: faSkiing,\n faSkiingNordic: faSkiingNordic,\n faSkull: faSkull,\n faSkullCrossbones: faSkullCrossbones,\n faSlash: faSlash,\n faSleigh: faSleigh,\n faSlidersH: faSlidersH,\n faSmile: faSmile,\n faSmileBeam: faSmileBeam,\n faSmileWink: faSmileWink,\n faSmog: faSmog,\n faSmoking: faSmoking,\n faSmokingBan: faSmokingBan,\n faSms: faSms,\n faSnowboarding: faSnowboarding,\n faSnowflake: faSnowflake,\n faSnowman: faSnowman,\n faSnowplow: faSnowplow,\n faSoap: faSoap,\n faSocks: faSocks,\n faSolarPanel: faSolarPanel,\n faSort: faSort,\n faSortAlphaDown: faSortAlphaDown,\n faSortAlphaDownAlt: faSortAlphaDownAlt,\n faSortAlphaUp: faSortAlphaUp,\n faSortAlphaUpAlt: faSortAlphaUpAlt,\n faSortAmountDown: faSortAmountDown,\n faSortAmountDownAlt: faSortAmountDownAlt,\n faSortAmountUp: faSortAmountUp,\n faSortAmountUpAlt: faSortAmountUpAlt,\n faSortDown: faSortDown,\n faSortNumericDown: faSortNumericDown,\n faSortNumericDownAlt: faSortNumericDownAlt,\n faSortNumericUp: faSortNumericUp,\n faSortNumericUpAlt: faSortNumericUpAlt,\n faSortUp: faSortUp,\n faSpa: faSpa,\n faSpaceShuttle: faSpaceShuttle,\n faSpellCheck: faSpellCheck,\n faSpider: faSpider,\n faSpinner: faSpinner,\n faSplotch: faSplotch,\n faSprayCan: faSprayCan,\n faSquare: faSquare,\n faSquareFull: faSquareFull,\n faSquareRootAlt: faSquareRootAlt,\n faStamp: faStamp,\n faStar: faStar,\n faStarAndCrescent: faStarAndCrescent,\n faStarHalf: faStarHalf,\n faStarHalfAlt: faStarHalfAlt,\n faStarOfDavid: faStarOfDavid,\n faStarOfLife: faStarOfLife,\n faStepBackward: faStepBackward,\n faStepForward: faStepForward,\n faStethoscope: faStethoscope,\n faStickyNote: faStickyNote,\n faStop: faStop,\n faStopCircle: faStopCircle,\n faStopwatch: faStopwatch,\n faStopwatch20: faStopwatch20,\n faStore: faStore,\n faStoreAlt: faStoreAlt,\n faStoreAltSlash: faStoreAltSlash,\n faStoreSlash: faStoreSlash,\n faStream: faStream,\n faStreetView: faStreetView,\n faStrikethrough: faStrikethrough,\n faStroopwafel: faStroopwafel,\n faSubscript: faSubscript,\n faSubway: faSubway,\n faSuitcase: faSuitcase,\n faSuitcaseRolling: faSuitcaseRolling,\n faSun: faSun,\n faSuperscript: faSuperscript,\n faSurprise: faSurprise,\n faSwatchbook: faSwatchbook,\n faSwimmer: faSwimmer,\n faSwimmingPool: faSwimmingPool,\n faSynagogue: faSynagogue,\n faSync: faSync,\n faSyncAlt: faSyncAlt,\n faSyringe: faSyringe,\n faTable: faTable,\n faTableTennis: faTableTennis,\n faTablet: faTablet,\n faTabletAlt: faTabletAlt,\n faTablets: faTablets,\n faTachometerAlt: faTachometerAlt,\n faTag: faTag,\n faTags: faTags,\n faTape: faTape,\n faTasks: faTasks,\n faTaxi: faTaxi,\n faTeeth: faTeeth,\n faTeethOpen: faTeethOpen,\n faTemperatureHigh: faTemperatureHigh,\n faTemperatureLow: faTemperatureLow,\n faTenge: faTenge,\n faTerminal: faTerminal,\n faTextHeight: faTextHeight,\n faTextWidth: faTextWidth,\n faTh: faTh,\n faThLarge: faThLarge,\n faThList: faThList,\n faTheaterMasks: faTheaterMasks,\n faThermometer: faThermometer,\n faThermometerEmpty: faThermometerEmpty,\n faThermometerFull: faThermometerFull,\n faThermometerHalf: faThermometerHalf,\n faThermometerQuarter: faThermometerQuarter,\n faThermometerThreeQuarters: faThermometerThreeQuarters,\n faThumbsDown: faThumbsDown,\n faThumbsUp: faThumbsUp,\n faThumbtack: faThumbtack,\n faTicketAlt: faTicketAlt,\n faTimes: faTimes,\n faTimesCircle: faTimesCircle,\n faTint: faTint,\n faTintSlash: faTintSlash,\n faTired: faTired,\n faToggleOff: faToggleOff,\n faToggleOn: faToggleOn,\n faToilet: faToilet,\n faToiletPaper: faToiletPaper,\n faToiletPaperSlash: faToiletPaperSlash,\n faToolbox: faToolbox,\n faTools: faTools,\n faTooth: faTooth,\n faTorah: faTorah,\n faToriiGate: faToriiGate,\n faTractor: faTractor,\n faTrademark: faTrademark,\n faTrafficLight: faTrafficLight,\n faTrailer: faTrailer,\n faTrain: faTrain,\n faTram: faTram,\n faTransgender: faTransgender,\n faTransgenderAlt: faTransgenderAlt,\n faTrash: faTrash,\n faTrashAlt: faTrashAlt,\n faTrashRestore: faTrashRestore,\n faTrashRestoreAlt: faTrashRestoreAlt,\n faTree: faTree,\n faTrophy: faTrophy,\n faTruck: faTruck,\n faTruckLoading: faTruckLoading,\n faTruckMonster: faTruckMonster,\n faTruckMoving: faTruckMoving,\n faTruckPickup: faTruckPickup,\n faTshirt: faTshirt,\n faTty: faTty,\n faTv: faTv,\n faUmbrella: faUmbrella,\n faUmbrellaBeach: faUmbrellaBeach,\n faUnderline: faUnderline,\n faUndo: faUndo,\n faUndoAlt: faUndoAlt,\n faUniversalAccess: faUniversalAccess,\n faUniversity: faUniversity,\n faUnlink: faUnlink,\n faUnlock: faUnlock,\n faUnlockAlt: faUnlockAlt,\n faUpload: faUpload,\n faUser: faUser,\n faUserAlt: faUserAlt,\n faUserAltSlash: faUserAltSlash,\n faUserAstronaut: faUserAstronaut,\n faUserCheck: faUserCheck,\n faUserCircle: faUserCircle,\n faUserClock: faUserClock,\n faUserCog: faUserCog,\n faUserEdit: faUserEdit,\n faUserFriends: faUserFriends,\n faUserGraduate: faUserGraduate,\n faUserInjured: faUserInjured,\n faUserLock: faUserLock,\n faUserMd: faUserMd,\n faUserMinus: faUserMinus,\n faUserNinja: faUserNinja,\n faUserNurse: faUserNurse,\n faUserPlus: faUserPlus,\n faUserSecret: faUserSecret,\n faUserShield: faUserShield,\n faUserSlash: faUserSlash,\n faUserTag: faUserTag,\n faUserTie: faUserTie,\n faUserTimes: faUserTimes,\n faUsers: faUsers,\n faUsersCog: faUsersCog,\n faUsersSlash: faUsersSlash,\n faUtensilSpoon: faUtensilSpoon,\n faUtensils: faUtensils,\n faVectorSquare: faVectorSquare,\n faVenus: faVenus,\n faVenusDouble: faVenusDouble,\n faVenusMars: faVenusMars,\n faVest: faVest,\n faVestPatches: faVestPatches,\n faVial: faVial,\n faVials: faVials,\n faVideo: faVideo,\n faVideoSlash: faVideoSlash,\n faVihara: faVihara,\n faVirus: faVirus,\n faVirusSlash: faVirusSlash,\n faViruses: faViruses,\n faVoicemail: faVoicemail,\n faVolleyballBall: faVolleyballBall,\n faVolumeDown: faVolumeDown,\n faVolumeMute: faVolumeMute,\n faVolumeOff: faVolumeOff,\n faVolumeUp: faVolumeUp,\n faVoteYea: faVoteYea,\n faVrCardboard: faVrCardboard,\n faWalking: faWalking,\n faWallet: faWallet,\n faWarehouse: faWarehouse,\n faWater: faWater,\n faWaveSquare: faWaveSquare,\n faWeight: faWeight,\n faWeightHanging: faWeightHanging,\n faWheelchair: faWheelchair,\n faWifi: faWifi,\n faWind: faWind,\n faWindowClose: faWindowClose,\n faWindowMaximize: faWindowMaximize,\n faWindowMinimize: faWindowMinimize,\n faWindowRestore: faWindowRestore,\n faWineBottle: faWineBottle,\n faWineGlass: faWineGlass,\n faWineGlassAlt: faWineGlassAlt,\n faWonSign: faWonSign,\n faWrench: faWrench,\n faXRay: faXRay,\n faYenSign: faYenSign,\n faYinYang: faYinYang\n};\n\nexport { _iconsCache as fas, prefix, faAd, faAddressBook, faAddressCard, faAdjust, faAirFreshener, faAlignCenter, faAlignJustify, faAlignLeft, faAlignRight, faAllergies, faAmbulance, faAmericanSignLanguageInterpreting, faAnchor, faAngleDoubleDown, faAngleDoubleLeft, faAngleDoubleRight, faAngleDoubleUp, faAngleDown, faAngleLeft, faAngleRight, faAngleUp, faAngry, faAnkh, faAppleAlt, faArchive, faArchway, faArrowAltCircleDown, faArrowAltCircleLeft, faArrowAltCircleRight, faArrowAltCircleUp, faArrowCircleDown, faArrowCircleLeft, faArrowCircleRight, faArrowCircleUp, faArrowDown, faArrowLeft, faArrowRight, faArrowUp, faArrowsAlt, faArrowsAltH, faArrowsAltV, faAssistiveListeningSystems, faAsterisk, faAt, faAtlas, faAtom, faAudioDescription, faAward, faBaby, faBabyCarriage, faBackspace, faBackward, faBacon, faBacteria, faBacterium, faBahai, faBalanceScale, faBalanceScaleLeft, faBalanceScaleRight, faBan, faBandAid, faBarcode, faBars, faBaseballBall, faBasketballBall, faBath, faBatteryEmpty, faBatteryFull, faBatteryHalf, faBatteryQuarter, faBatteryThreeQuarters, faBed, faBeer, faBell, faBellSlash, faBezierCurve, faBible, faBicycle, faBiking, faBinoculars, faBiohazard, faBirthdayCake, faBlender, faBlenderPhone, faBlind, faBlog, faBold, faBolt, faBomb, faBone, faBong, faBook, faBookDead, faBookMedical, faBookOpen, faBookReader, faBookmark, faBorderAll, faBorderNone, faBorderStyle, faBowlingBall, faBox, faBoxOpen, faBoxTissue, faBoxes, faBraille, faBrain, faBreadSlice, faBriefcase, faBriefcaseMedical, faBroadcastTower, faBroom, faBrush, faBug, faBuilding, faBullhorn, faBullseye, faBurn, faBus, faBusAlt, faBusinessTime, faCalculator, faCalendar, faCalendarAlt, faCalendarCheck, faCalendarDay, faCalendarMinus, faCalendarPlus, faCalendarTimes, faCalendarWeek, faCamera, faCameraRetro, faCampground, faCandyCane, faCannabis, faCapsules, faCar, faCarAlt, faCarBattery, faCarCrash, faCarSide, faCaravan, faCaretDown, faCaretLeft, faCaretRight, faCaretSquareDown, faCaretSquareLeft, faCaretSquareRight, faCaretSquareUp, faCaretUp, faCarrot, faCartArrowDown, faCartPlus, faCashRegister, faCat, faCertificate, faChair, faChalkboard, faChalkboardTeacher, faChargingStation, faChartArea, faChartBar, faChartLine, faChartPie, faCheck, faCheckCircle, faCheckDouble, faCheckSquare, faCheese, faChess, faChessBishop, faChessBoard, faChessKing, faChessKnight, faChessPawn, faChessQueen, faChessRook, faChevronCircleDown, faChevronCircleLeft, faChevronCircleRight, faChevronCircleUp, faChevronDown, faChevronLeft, faChevronRight, faChevronUp, faChild, faChurch, faCircle, faCircleNotch, faCity, faClinicMedical, faClipboard, faClipboardCheck, faClipboardList, faClock, faClone, faClosedCaptioning, faCloud, faCloudDownloadAlt, faCloudMeatball, faCloudMoon, faCloudMoonRain, faCloudRain, faCloudShowersHeavy, faCloudSun, faCloudSunRain, faCloudUploadAlt, faCocktail, faCode, faCodeBranch, faCoffee, faCog, faCogs, faCoins, faColumns, faComment, faCommentAlt, faCommentDollar, faCommentDots, faCommentMedical, faCommentSlash, faComments, faCommentsDollar, faCompactDisc, faCompass, faCompress, faCompressAlt, faCompressArrowsAlt, faConciergeBell, faCookie, faCookieBite, faCopy, faCopyright, faCouch, faCreditCard, faCrop, faCropAlt, faCross, faCrosshairs, faCrow, faCrown, faCrutch, faCube, faCubes, faCut, faDatabase, faDeaf, faDemocrat, faDesktop, faDharmachakra, faDiagnoses, faDice, faDiceD20, faDiceD6, faDiceFive, faDiceFour, faDiceOne, faDiceSix, faDiceThree, faDiceTwo, faDigitalTachograph, faDirections, faDisease, faDivide, faDizzy, faDna, faDog, faDollarSign, faDolly, faDollyFlatbed, faDonate, faDoorClosed, faDoorOpen, faDotCircle, faDove, faDownload, faDraftingCompass, faDragon, faDrawPolygon, faDrum, faDrumSteelpan, faDrumstickBite, faDumbbell, faDumpster, faDumpsterFire, faDungeon, faEdit, faEgg, faEject, faEllipsisH, faEllipsisV, faEnvelope, faEnvelopeOpen, faEnvelopeOpenText, faEnvelopeSquare, faEquals, faEraser, faEthernet, faEuroSign, faExchangeAlt, faExclamation, faExclamationCircle, faExclamationTriangle, faExpand, faExpandAlt, faExpandArrowsAlt, faExternalLinkAlt, faExternalLinkSquareAlt, faEye, faEyeDropper, faEyeSlash, faFan, faFastBackward, faFastForward, faFaucet, faFax, faFeather, faFeatherAlt, faFemale, faFighterJet, faFile, faFileAlt, faFileArchive, faFileAudio, faFileCode, faFileContract, faFileCsv, faFileDownload, faFileExcel, faFileExport, faFileImage, faFileImport, faFileInvoice, faFileInvoiceDollar, faFileMedical, faFileMedicalAlt, faFilePdf, faFilePowerpoint, faFilePrescription, faFileSignature, faFileUpload, faFileVideo, faFileWord, faFill, faFillDrip, faFilm, faFilter, faFingerprint, faFire, faFireAlt, faFireExtinguisher, faFirstAid, faFish, faFistRaised, faFlag, faFlagCheckered, faFlagUsa, faFlask, faFlushed, faFolder, faFolderMinus, faFolderOpen, faFolderPlus, faFont, faFontAwesomeLogoFull, faFootballBall, faForward, faFrog, faFrown, faFrownOpen, faFunnelDollar, faFutbol, faGamepad, faGasPump, faGavel, faGem, faGenderless, faGhost, faGift, faGifts, faGlassCheers, faGlassMartini, faGlassMartiniAlt, faGlassWhiskey, faGlasses, faGlobe, faGlobeAfrica, faGlobeAmericas, faGlobeAsia, faGlobeEurope, faGolfBall, faGopuram, faGraduationCap, faGreaterThan, faGreaterThanEqual, faGrimace, faGrin, faGrinAlt, faGrinBeam, faGrinBeamSweat, faGrinHearts, faGrinSquint, faGrinSquintTears, faGrinStars, faGrinTears, faGrinTongue, faGrinTongueSquint, faGrinTongueWink, faGrinWink, faGripHorizontal, faGripLines, faGripLinesVertical, faGripVertical, faGuitar, faHSquare, faHamburger, faHammer, faHamsa, faHandHolding, faHandHoldingHeart, faHandHoldingMedical, faHandHoldingUsd, faHandHoldingWater, faHandLizard, faHandMiddleFinger, faHandPaper, faHandPeace, faHandPointDown, faHandPointLeft, faHandPointRight, faHandPointUp, faHandPointer, faHandRock, faHandScissors, faHandSparkles, faHandSpock, faHands, faHandsHelping, faHandsWash, faHandshake, faHandshakeAltSlash, faHandshakeSlash, faHanukiah, faHardHat, faHashtag, faHatCowboy, faHatCowboySide, faHatWizard, faHdd, faHeadSideCough, faHeadSideCoughSlash, faHeadSideMask, faHeadSideVirus, faHeading, faHeadphones, faHeadphonesAlt, faHeadset, faHeart, faHeartBroken, faHeartbeat, faHelicopter, faHighlighter, faHiking, faHippo, faHistory, faHockeyPuck, faHollyBerry, faHome, faHorse, faHorseHead, faHospital, faHospitalAlt, faHospitalSymbol, faHospitalUser, faHotTub, faHotdog, faHotel, faHourglass, faHourglassEnd, faHourglassHalf, faHourglassStart, faHouseDamage, faHouseUser, faHryvnia, faICursor, faIceCream, faIcicles, faIcons, faIdBadge, faIdCard, faIdCardAlt, faIgloo, faImage, faImages, faInbox, faIndent, faIndustry, faInfinity, faInfo, faInfoCircle, faItalic, faJedi, faJoint, faJournalWhills, faKaaba, faKey, faKeyboard, faKhanda, faKiss, faKissBeam, faKissWinkHeart, faKiwiBird, faLandmark, faLanguage, faLaptop, faLaptopCode, faLaptopHouse, faLaptopMedical, faLaugh, faLaughBeam, faLaughSquint, faLaughWink, faLayerGroup, faLeaf, faLemon, faLessThan, faLessThanEqual, faLevelDownAlt, faLevelUpAlt, faLifeRing, faLightbulb, faLink, faLiraSign, faList, faListAlt, faListOl, faListUl, faLocationArrow, faLock, faLockOpen, faLongArrowAltDown, faLongArrowAltLeft, faLongArrowAltRight, faLongArrowAltUp, faLowVision, faLuggageCart, faLungs, faLungsVirus, faMagic, faMagnet, faMailBulk, faMale, faMap, faMapMarked, faMapMarkedAlt, faMapMarker, faMapMarkerAlt, faMapPin, faMapSigns, faMarker, faMars, faMarsDouble, faMarsStroke, faMarsStrokeH, faMarsStrokeV, faMask, faMedal, faMedkit, faMeh, faMehBlank, faMehRollingEyes, faMemory, faMenorah, faMercury, faMeteor, faMicrochip, faMicrophone, faMicrophoneAlt, faMicrophoneAltSlash, faMicrophoneSlash, faMicroscope, faMinus, faMinusCircle, faMinusSquare, faMitten, faMobile, faMobileAlt, faMoneyBill, faMoneyBillAlt, faMoneyBillWave, faMoneyBillWaveAlt, faMoneyCheck, faMoneyCheckAlt, faMonument, faMoon, faMortarPestle, faMosque, faMotorcycle, faMountain, faMouse, faMousePointer, faMugHot, faMusic, faNetworkWired, faNeuter, faNewspaper, faNotEqual, faNotesMedical, faObjectGroup, faObjectUngroup, faOilCan, faOm, faOtter, faOutdent, faPager, faPaintBrush, faPaintRoller, faPalette, faPallet, faPaperPlane, faPaperclip, faParachuteBox, faParagraph, faParking, faPassport, faPastafarianism, faPaste, faPause, faPauseCircle, faPaw, faPeace, faPen, faPenAlt, faPenFancy, faPenNib, faPenSquare, faPencilAlt, faPencilRuler, faPeopleArrows, faPeopleCarry, faPepperHot, faPercent, faPercentage, faPersonBooth, faPhone, faPhoneAlt, faPhoneSlash, faPhoneSquare, faPhoneSquareAlt, faPhoneVolume, faPhotoVideo, faPiggyBank, faPills, faPizzaSlice, faPlaceOfWorship, faPlane, faPlaneArrival, faPlaneDeparture, faPlaneSlash, faPlay, faPlayCircle, faPlug, faPlus, faPlusCircle, faPlusSquare, faPodcast, faPoll, faPollH, faPoo, faPooStorm, faPoop, faPortrait, faPoundSign, faPowerOff, faPray, faPrayingHands, faPrescription, faPrescriptionBottle, faPrescriptionBottleAlt, faPrint, faProcedures, faProjectDiagram, faPumpMedical, faPumpSoap, faPuzzlePiece, faQrcode, faQuestion, faQuestionCircle, faQuidditch, faQuoteLeft, faQuoteRight, faQuran, faRadiation, faRadiationAlt, faRainbow, faRandom, faReceipt, faRecordVinyl, faRecycle, faRedo, faRedoAlt, faRegistered, faRemoveFormat, faReply, faReplyAll, faRepublican, faRestroom, faRetweet, faRibbon, faRing, faRoad, faRobot, faRocket, faRoute, faRss, faRssSquare, faRubleSign, faRuler, faRulerCombined, faRulerHorizontal, faRulerVertical, faRunning, faRupeeSign, faSadCry, faSadTear, faSatellite, faSatelliteDish, faSave, faSchool, faScrewdriver, faScroll, faSdCard, faSearch, faSearchDollar, faSearchLocation, faSearchMinus, faSearchPlus, faSeedling, faServer, faShapes, faShare, faShareAlt, faShareAltSquare, faShareSquare, faShekelSign, faShieldAlt, faShieldVirus, faShip, faShippingFast, faShoePrints, faShoppingBag, faShoppingBasket, faShoppingCart, faShower, faShuttleVan, faSign, faSignInAlt, faSignLanguage, faSignOutAlt, faSignal, faSignature, faSimCard, faSink, faSitemap, faSkating, faSkiing, faSkiingNordic, faSkull, faSkullCrossbones, faSlash, faSleigh, faSlidersH, faSmile, faSmileBeam, faSmileWink, faSmog, faSmoking, faSmokingBan, faSms, faSnowboarding, faSnowflake, faSnowman, faSnowplow, faSoap, faSocks, faSolarPanel, faSort, faSortAlphaDown, faSortAlphaDownAlt, faSortAlphaUp, faSortAlphaUpAlt, faSortAmountDown, faSortAmountDownAlt, faSortAmountUp, faSortAmountUpAlt, faSortDown, faSortNumericDown, faSortNumericDownAlt, faSortNumericUp, faSortNumericUpAlt, faSortUp, faSpa, faSpaceShuttle, faSpellCheck, faSpider, faSpinner, faSplotch, faSprayCan, faSquare, faSquareFull, faSquareRootAlt, faStamp, faStar, faStarAndCrescent, faStarHalf, faStarHalfAlt, faStarOfDavid, faStarOfLife, faStepBackward, faStepForward, faStethoscope, faStickyNote, faStop, faStopCircle, faStopwatch, faStopwatch20, faStore, faStoreAlt, faStoreAltSlash, faStoreSlash, faStream, faStreetView, faStrikethrough, faStroopwafel, faSubscript, faSubway, faSuitcase, faSuitcaseRolling, faSun, faSuperscript, faSurprise, faSwatchbook, faSwimmer, faSwimmingPool, faSynagogue, faSync, faSyncAlt, faSyringe, faTable, faTableTennis, faTablet, faTabletAlt, faTablets, faTachometerAlt, faTag, faTags, faTape, faTasks, faTaxi, faTeeth, faTeethOpen, faTemperatureHigh, faTemperatureLow, faTenge, faTerminal, faTextHeight, faTextWidth, faTh, faThLarge, faThList, faTheaterMasks, faThermometer, faThermometerEmpty, faThermometerFull, faThermometerHalf, faThermometerQuarter, faThermometerThreeQuarters, faThumbsDown, faThumbsUp, faThumbtack, faTicketAlt, faTimes, faTimesCircle, faTint, faTintSlash, faTired, faToggleOff, faToggleOn, faToilet, faToiletPaper, faToiletPaperSlash, faToolbox, faTools, faTooth, faTorah, faToriiGate, faTractor, faTrademark, faTrafficLight, faTrailer, faTrain, faTram, faTransgender, faTransgenderAlt, faTrash, faTrashAlt, faTrashRestore, faTrashRestoreAlt, faTree, faTrophy, faTruck, faTruckLoading, faTruckMonster, faTruckMoving, faTruckPickup, faTshirt, faTty, faTv, faUmbrella, faUmbrellaBeach, faUnderline, faUndo, faUndoAlt, faUniversalAccess, faUniversity, faUnlink, faUnlock, faUnlockAlt, faUpload, faUser, faUserAlt, faUserAltSlash, faUserAstronaut, faUserCheck, faUserCircle, faUserClock, faUserCog, faUserEdit, faUserFriends, faUserGraduate, faUserInjured, faUserLock, faUserMd, faUserMinus, faUserNinja, faUserNurse, faUserPlus, faUserSecret, faUserShield, faUserSlash, faUserTag, faUserTie, faUserTimes, faUsers, faUsersCog, faUsersSlash, faUtensilSpoon, faUtensils, faVectorSquare, faVenus, faVenusDouble, faVenusMars, faVest, faVestPatches, faVial, faVials, faVideo, faVideoSlash, faVihara, faVirus, faVirusSlash, faViruses, faVoicemail, faVolleyballBall, faVolumeDown, faVolumeMute, faVolumeOff, faVolumeUp, faVoteYea, faVrCardboard, faWalking, faWallet, faWarehouse, faWater, faWaveSquare, faWeight, faWeightHanging, faWheelchair, faWifi, faWind, faWindowClose, faWindowMaximize, faWindowMinimize, faWindowRestore, faWineBottle, faWineGlass, faWineGlassAlt, faWonSign, faWrench, faXRay, faYenSign, faYinYang };\n","import deepEqual from 'fast-deep-equal';\nimport { Component, ViewEncapsulation, ElementRef, Input, NgModule } from '@angular/core';\nimport { Calendar, globalPlugins } from '@fullcalendar/core';\nimport * as ɵngcc0 from '@angular/core';\nexport * from '@fullcalendar/core';\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n/*\nReally simple clone utility. Only copies plain arrays, objects, and Dates. Transfers everything else as-is.\nWanted to use a third-party lib, but none did exactly this.\n*/\nfunction deepCopy(input) {\n if (Array.isArray(input)) {\n return input.map(deepCopy);\n }\n else if (input instanceof Date) {\n return new Date(input.valueOf());\n }\n else if (typeof input === 'object' && input) { // non-null object\n return mapHash(input, deepCopy);\n }\n else { // everything else (null, function, etc)\n return input;\n }\n}\nfunction shallowCopy(val) {\n if (typeof val === 'object') {\n if (Array.isArray(val)) {\n val = Array.prototype.slice.call(val);\n }\n else if (val) { // non-null\n val = Object.assign({}, val);\n }\n }\n return val;\n}\nfunction mapHash(input, func) {\n const output = {};\n for (const key in input) {\n if (hasOwnProperty.call(input, key)) {\n output[key] = func(input[key], key);\n }\n }\n return output;\n}\n\nconst OPTION_IS_DEEP = {\n headerToolbar: true,\n footerToolbar: true,\n events: true,\n eventSources: true,\n resources: true\n};\n\nclass FullCalendarComponent {\n constructor(element) {\n this.element = element;\n this.optionSnapshot = {}; // for diffing only\n }\n ngAfterViewInit() {\n const { deepChangeDetection } = this;\n const options = this.options || {};\n // initialize snapshot\n this.optionSnapshot = mapHash(options, (optionVal, optionName) => ((deepChangeDetection && OPTION_IS_DEEP[optionName])\n ? deepCopy(optionVal)\n : optionVal));\n this.calendar = new Calendar(this.element.nativeElement, options);\n this.calendar.render();\n }\n /*\n allows us to manually detect complex input changes, internal mutations to certain options.\n called before ngOnChanges. called much more often than ngOnChanges.\n */\n ngDoCheck() {\n if (this.calendar) { // not the initial render\n const { deepChangeDetection, optionSnapshot } = this;\n const newOptions = this.options || {};\n const newProcessedOptions = {};\n let anyChanges = false;\n // detect adds and updates (and update snapshot)\n for (const optionName in newOptions) {\n if (newOptions.hasOwnProperty(optionName)) {\n let optionVal = newOptions[optionName];\n if (deepChangeDetection && OPTION_IS_DEEP[optionName]) {\n if (!deepEqual(optionSnapshot[optionName], optionVal)) {\n optionSnapshot[optionName] = deepCopy(optionVal);\n anyChanges = true;\n // trick FC into knowing about a nested change.\n // TODO: future versions won't need this.\n // can't use the previously-made deep copy because it blows away prototype-association.\n optionVal = shallowCopy(optionVal);\n }\n }\n else {\n if (optionSnapshot[optionName] !== optionVal) {\n optionSnapshot[optionName] = optionVal;\n anyChanges = true;\n }\n }\n newProcessedOptions[optionName] = optionVal;\n }\n }\n const oldOptionNames = Object.keys(optionSnapshot);\n // detect removals (and update snapshot)\n for (const optionName of oldOptionNames) {\n if (!(optionName in newOptions)) { // doesn't exist in new options?\n delete optionSnapshot[optionName];\n anyChanges = true;\n }\n }\n if (anyChanges) {\n this.calendar.pauseRendering();\n this.calendar.resetOptions(newProcessedOptions);\n }\n }\n }\n ngAfterContentChecked() {\n if (this.calendar) { // too defensive?\n this.calendar.resumeRendering();\n }\n }\n ngOnDestroy() {\n if (this.calendar) { // too defensive?\n this.calendar.destroy();\n this.calendar = null;\n }\n }\n getApi() {\n return this.calendar;\n }\n}\nFullCalendarComponent.ɵfac = function FullCalendarComponent_Factory(t) { return new (t || FullCalendarComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nFullCalendarComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: FullCalendarComponent, selectors: [[\"full-calendar\"]], inputs: { options: \"options\", deepChangeDetection: \"deepChangeDetection\" }, decls: 0, vars: 0, template: function FullCalendarComponent_Template(rf, ctx) { }, styles: [\"@charset \\\"UTF-8\\\";.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-unselectable{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{vertical-align:top;padding:0}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;src:url(\\\"data:application/x-font-ttf;charset=utf-8;base64,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\\\") format(\\\"truetype\\\");font-weight:400;font-style:normal}.fc-icon{display:inline-block;width:1em;height:1em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:fcicons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fc-icon-chevron-left:before{content:\\\"\\uE900\\\"}.fc-icon-chevron-right:before{content:\\\"\\uE901\\\"}.fc-icon-chevrons-left:before{content:\\\"\\uE902\\\"}.fc-icon-chevrons-right:before{content:\\\"\\uE903\\\"}.fc-icon-minus-square:before{content:\\\"\\uE904\\\"}.fc-icon-plus-square:before{content:\\\"\\uE905\\\"}.fc-icon-x:before{content:\\\"\\uE906\\\"}.fc .fc-button{border-radius:0;overflow:visible;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button::-moz-focus-inner{padding:0;border-style:none}.fc .fc-button{display:inline-block;font-weight:400;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.4em .65em;font-size:1em;line-height:1.5;border-radius:.25em}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{outline:0;box-shadow:0 0 0 .2rem rgba(44,62,80,.25)}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#2c3e50;background-color:var(--fc-button-bg-color,#2c3e50);border-color:#2c3e50;border-color:var(--fc-button-border-color,#2c3e50)}.fc .fc-button-primary:hover{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#1e2b37;background-color:var(--fc-button-hover-bg-color,#1e2b37);border-color:#1a252f;border-color:var(--fc-button-hover-border-color,#1a252f)}.fc .fc-button-primary:disabled{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#2c3e50;background-color:var(--fc-button-bg-color,#2c3e50);border-color:#2c3e50;border-color:var(--fc-button-border-color,#2c3e50)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#1a252f;background-color:var(--fc-button-active-bg-color,#1a252f);border-color:#151e27;border-color:var(--fc-button-active-border-color,#151e27)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{vertical-align:middle;font-size:1.5em}.fc .fc-button-group{position:relative;display:inline-flex;vertical-align:middle}.fc .fc-button-group>.fc-button{position:relative;flex:1 1 auto}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){margin-right:-1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.fc .fc-toolbar{display:flex;justify-content:space-between;align-items:center}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{position:absolute;top:0;right:0;left:0;bottom:0}.fc .fc-scroller-harness{position:relative;overflow:hidden;direction:ltr}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{width:100%;table-layout:fixed}.fc .fc-scrollgrid table{border-top-style:hidden;border-left-style:hidden;border-right-style:hidden}.fc .fc-scrollgrid{border-collapse:separate;border-right-width:0;border-bottom-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section>td,.fc .fc-scrollgrid-section table{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-top-width:0;border-left-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:#fff;background:var(--fc-page-bg-color,#fff);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{position:absolute;top:0;left:0;right:0;bottom:0}.fc .fc-non-business{background:hsla(0,0%,84.3%,.3);background:var(--fc-non-business-color,hsla(0,0%,84.3%,.3))}.fc .fc-bg-event{background:#8fdf82;background:var(--fc-bg-event-color,#8fdf82);opacity:.3;opacity:var(--fc-bg-event-opacity,.3)}.fc .fc-bg-event .fc-event-title{margin:.5em;font-size:.85em;font-size:var(--fc-small-font-size,.85em);font-style:italic}.fc .fc-highlight{background:rgba(188,232,241,.3);background:var(--fc-highlight-color,rgba(188,232,241,.3))}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:hsla(0,0%,81.6%,.3);background:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{border-radius:4px;border-radius:calc(var(--fc-event-resizer-dot-total-width, 8px) / 2);border-width:1px;width:8px;width:var(--fc-event-resizer-dot-total-width,8px);height:8px;height:var(--fc-event-resizer-dot-total-width,8px);border:var(--fc-event-resizer-dot-border-width,1px) solid;border-color:inherit;background:#fff;background:var(--fc-page-bg-color,#fff)}.fc-event-selected .fc-event-resizer:before{content:\\\"\\\";position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{content:\\\"\\\";position:absolute;z-index:3;top:0;left:0;right:0;bottom:0}.fc-event-selected:after,.fc-event:focus:after{content:\\\"\\\";background:rgba(0,0,0,.25);background:var(--fc-event-selected-overlay-color,rgba(0,0,0,.25));position:absolute;z-index:1;top:-1px;left:-1px;right:-1px;bottom:-1px}.fc-h-event{display:block;border:1px solid #3788d8;border:1px solid var(--fc-event-border-color,#3788d8);background-color:#3788d8;background-color:var(--fc-event-bg-color,#3788d8)}.fc-h-event .fc-event-main{color:#fff;color:var(--fc-event-text-color,#fff)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;vertical-align:top;left:0;right:0;max-width:100%;overflow:hidden}.fc-h-event.fc-event-selected:before{top:-10px;bottom:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{top:0;bottom:0;width:8px;width:var(--fc-event-resizer-thickness,8px)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:-4px;left:calc(-.5 * var(--fc-event-resizer-thickness, 8px))}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:-4px;right:calc(-.5 * var(--fc-event-resizer-thickness, 8px))}.fc-h-event.fc-event-selected .fc-event-resizer{top:50%;margin-top:-4px;margin-top:calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:-4px;left:calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:-4px;right:calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))}.fc .fc-popover{position:absolute;z-index:9999;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc .fc-popover-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;opacity:.65;font-size:1.1em}.fc-theme-standard .fc-popover{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd);background:#fff;background:var(--fc-page-bg-color,#fff)}.fc-theme-standard .fc-popover-header{background:hsla(0,0%,81.6%,.3);background:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}:root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{content:\\\"\\\";clear:both;display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:rgba(255,220,40,.15);background-color:var(--fc-today-bg-color,rgba(255,220,40,.15))}.fc .fc-daygrid-day-frame{position:relative;min-height:100%}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{position:relative;z-index:4;padding:4px}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{position:absolute;left:0;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{position:relative;min-height:2em}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{position:absolute;top:0;left:0;right:0}.fc .fc-daygrid-bg-harness{position:absolute;top:0;bottom:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{z-index:6;margin-top:1px}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;padding:2px 3px 0}.fc .fc-daygrid-day-bottom:before{content:\\\"\\\";clear:both;display:table}.fc .fc-daygrid-more-link{position:relative;z-index:4;cursor:pointer}.fc .fc-daygrid-week-number{position:absolute;z-index:5;top:0;padding:2px;min-width:1.5em;text-align:center;background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3));color:grey;color:var(--fc-neutral-text-color,grey)}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-week-number{left:0;border-radius:0 0 3px 0}.fc-direction-rtl .fc-daygrid-week-number{right:0;border-radius:0 0 0 3px}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{position:relative;white-space:nowrap;border-radius:3px;font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{display:flex;align-items:center;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;min-width:0;overflow:hidden;font-weight:700}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{top:-10px;bottom:-10px}.fc-daygrid-event-dot{margin:0 4px;box-sizing:content-box;width:0;height:0;border:4px solid #3788d8;border:calc(var(--fc-daygrid-event-dot-width, 8px) / 2) solid var(--fc-event-border-color,#3788d8);border-radius:4px;border-radius:calc(var(--fc-daygrid-event-dot-width, 8px) / 2)}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}.fc-v-event{display:block;border:1px solid #3788d8;border:1px solid var(--fc-event-border-color,#3788d8);background-color:#3788d8;background-color:var(--fc-event-bg-color,#3788d8)}.fc-v-event .fc-event-main{color:#fff;color:var(--fc-event-text-color,#fff);height:100%}.fc-v-event .fc-event-main-frame{height:100%;display:flex;flex-direction:column}.fc-v-event .fc-event-time{flex-grow:0;flex-shrink:0;max-height:100%;overflow:hidden}.fc-v-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-height:0}.fc-v-event .fc-event-title{top:0;bottom:0;max-height:100%;overflow:hidden}.fc-v-event:not(.fc-event-start){border-top-width:0;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event:not(.fc-event-end){border-bottom-width:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-v-event.fc-event-selected:before{left:-10px;right:-10px}.fc-v-event .fc-event-resizer-start{cursor:n-resize}.fc-v-event .fc-event-resizer-end{cursor:s-resize}.fc-v-event:not(.fc-event-selected) .fc-event-resizer{height:8px;height:var(--fc-event-resizer-thickness,8px);left:0;right:0}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start{top:-4px;top:calc(var(--fc-event-resizer-thickness, 8px) / -2)}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end{bottom:-4px;bottom:calc(var(--fc-event-resizer-thickness, 8px) / -2)}.fc-v-event.fc-event-selected .fc-event-resizer{left:50%;margin-left:-4px;margin-left:calc(var(--fc-event-resizer-dot-total-width, 8px) / -2)}.fc-v-event.fc-event-selected .fc-event-resizer-start{top:-4px;top:calc(var(--fc-event-resizer-dot-total-width, 8px) / -2)}.fc-v-event.fc-event-selected .fc-event-resizer-end{bottom:-4px;bottom:calc(var(--fc-event-resizer-dot-total-width, 8px) / -2)}.fc .fc-timegrid .fc-daygrid-body{z-index:2}.fc .fc-timegrid-divider{padding:0 0 2px}.fc .fc-timegrid-body{position:relative;z-index:1;min-height:100%}.fc .fc-timegrid-axis-chunk{position:relative}.fc .fc-timegrid-axis-chunk>table,.fc .fc-timegrid-slots{position:relative;z-index:1}.fc .fc-timegrid-slot{height:1.5em;border-bottom:0}.fc .fc-timegrid-slot:empty:before{content:\\\"\\u00A0\\\"}.fc .fc-timegrid-slot-minor{border-top-style:dotted}.fc .fc-timegrid-slot-label-cushion{display:inline-block;white-space:nowrap}.fc .fc-timegrid-slot-label{vertical-align:middle}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{padding:0 4px}.fc .fc-timegrid-axis-frame-liquid{height:100%}.fc .fc-timegrid-axis-frame{overflow:hidden;display:flex;align-items:center;justify-content:flex-end}.fc .fc-timegrid-axis-cushion{max-width:60px;flex-shrink:0}.fc-direction-ltr .fc-timegrid-slot-label-frame{text-align:right}.fc-direction-rtl .fc-timegrid-slot-label-frame{text-align:left}.fc-liquid-hack .fc-timegrid-axis-frame-liquid{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-timegrid-col.fc-day-today{background-color:rgba(255,220,40,.15);background-color:var(--fc-today-bg-color,rgba(255,220,40,.15))}.fc .fc-timegrid-col-frame{min-height:100%;position:relative}.fc-media-screen.fc-liquid-hack .fc-timegrid-col-frame{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc-media-screen .fc-timegrid-cols{position:absolute;top:0;left:0;right:0;bottom:0}.fc-media-screen .fc-timegrid-cols>table{height:100%}.fc-media-screen .fc-timegrid-col-bg,.fc-media-screen .fc-timegrid-col-events,.fc-media-screen .fc-timegrid-now-indicator-container{position:absolute;top:0;left:0;right:0}.fc .fc-timegrid-col-bg{z-index:2}.fc .fc-timegrid-col-bg .fc-non-business{z-index:1}.fc .fc-timegrid-col-bg .fc-bg-event{z-index:2}.fc .fc-timegrid-col-bg .fc-highlight{z-index:3}.fc .fc-timegrid-bg-harness{position:absolute;left:0;right:0}.fc .fc-timegrid-col-events{z-index:3}.fc .fc-timegrid-now-indicator-container{bottom:0;overflow:hidden}.fc-direction-ltr .fc-timegrid-col-events{margin:0 2.5% 0 2px}.fc-direction-rtl .fc-timegrid-col-events{margin:0 2px 0 2.5%}.fc-timegrid-event-harness{position:absolute}.fc-timegrid-event-harness>.fc-timegrid-event{position:absolute;top:0;bottom:0;left:0;right:0}.fc-timegrid-event-harness-inset .fc-timegrid-event,.fc-timegrid-event.fc-event-mirror,.fc-timegrid-more-link{box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px var(--fc-page-bg-color,#fff)}.fc-timegrid-event,.fc-timegrid-more-link{font-size:.85em;font-size:var(--fc-small-font-size,.85em);border-radius:3px}.fc-timegrid-event{margin-bottom:1px}.fc-timegrid-event .fc-event-main{padding:1px 1px 0}.fc-timegrid-event .fc-event-time{white-space:nowrap;font-size:.85em;font-size:var(--fc-small-font-size,.85em);margin-bottom:1px}.fc-timegrid-event-short .fc-event-main-frame{flex-direction:row;overflow:hidden}.fc-timegrid-event-short .fc-event-time:after{content:\\\"\\u00A0-\\u00A0\\\"}.fc-timegrid-event-short .fc-event-title{font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-timegrid-more-link{position:absolute;z-index:9999;color:inherit;color:var(--fc-more-link-text-color,inherit);background:#d0d0d0;background:var(--fc-more-link-bg-color,#d0d0d0);cursor:pointer;margin-bottom:1px}.fc-timegrid-more-link-inner{padding:3px 2px;top:0}.fc-direction-ltr .fc-timegrid-more-link{right:0}.fc-direction-rtl .fc-timegrid-more-link{left:0}.fc .fc-timegrid-now-indicator-line{position:absolute;z-index:4;left:0;right:0;border:0 solid red;border-color:var(--fc-now-indicator-color,red);border-top:1px solid var(--fc-now-indicator-color,red)}.fc .fc-timegrid-now-indicator-arrow{position:absolute;z-index:4;margin-top:-5px;border-style:solid;border-color:red;border-color:var(--fc-now-indicator-color,red)}.fc-direction-ltr .fc-timegrid-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-direction-rtl .fc-timegrid-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent}:root{--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc-theme-standard .fc-list{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc .fc-list-empty{background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3));height:100%;display:flex;justify-content:center;align-items:center}.fc .fc-list-empty-cushion{margin:5em 0}.fc .fc-list-table{width:100%;border-style:hidden}.fc .fc-list-table tr>*{border-left:0;border-right:0}.fc .fc-list-sticky .fc-list-day>*{position:sticky;top:0;background:#fff;background:var(--fc-page-bg-color,#fff)}.fc .fc-list-table thead{position:absolute;left:-10000px}.fc .fc-list-table tbody>tr:first-child th{border-top:0}.fc .fc-list-table th{padding:0}.fc .fc-list-day-cushion,.fc .fc-list-table td{padding:8px 14px}.fc .fc-list-day-cushion:after{content:\\\"\\\";clear:both;display:table}.fc-theme-standard .fc-list-day-cushion{background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}.fc-direction-ltr .fc-list-day-text,.fc-direction-rtl .fc-list-day-side-text{float:left}.fc-direction-ltr .fc-list-day-side-text,.fc-direction-rtl .fc-list-day-text{float:right}.fc-direction-ltr .fc-list-table .fc-list-event-graphic{padding-right:0}.fc-direction-rtl .fc-list-table .fc-list-event-graphic{padding-left:0}.fc .fc-list-event.fc-event-forced-url{cursor:pointer}.fc .fc-list-event:hover td{background-color:#f5f5f5;background-color:var(--fc-list-event-hover-bg-color,#f5f5f5)}.fc .fc-list-event-graphic,.fc .fc-list-event-time{white-space:nowrap;width:1px}.fc .fc-list-event-dot{display:inline-block;box-sizing:content-box;width:0;height:0;border:5px solid #3788d8;border:calc(var(--fc-list-event-dot-width, 10px) / 2) solid var(--fc-event-border-color,#3788d8);border-radius:5px;border-radius:calc(var(--fc-list-event-dot-width, 10px) / 2)}.fc .fc-list-event-title a{color:inherit;text-decoration:none}.fc .fc-list-event.fc-event-forced-url:hover a{text-decoration:underline}.fc-theme-bootstrap a:not([href]){color:inherit}.fc .fc-event,.fc .fc-scrollgrid table tr{-moz-column-break-inside:avoid;break-inside:avoid}.fc-media-print{display:block;max-width:100%}.fc-media-print .fc-bg-event,.fc-media-print .fc-non-business,.fc-media-print .fc-timegrid-axis-chunk,.fc-media-print .fc-timegrid-slots,.fc-media-print .fc-timeline-slots{display:none}.fc-media-print .fc-h-event,.fc-media-print .fc-toolbar button,.fc-media-print .fc-v-event{color:#000!important;background:#fff!important}.fc-media-print .fc-event,.fc-media-print .fc-event-main{color:#000!important}.fc-media-print .fc-timegrid-event{margin:.5em 0}.fc .fc-timeline-body{min-height:100%;position:relative;z-index:1}.fc .fc-timeline-slots{position:absolute;z-index:1;top:0;bottom:0}.fc .fc-timeline-slots>table{height:100%}.fc .fc-timeline-slot-minor{border-style:dotted}.fc .fc-timeline-slot-frame{display:flex;align-items:center;justify-content:center}.fc .fc-timeline-header-row-chrono .fc-timeline-slot-frame{justify-content:flex-start}.fc .fc-timeline-header-row:last-child .fc-timeline-slot-frame{overflow:hidden}.fc .fc-timeline-slot-cushion{padding:4px 5px;white-space:nowrap}.fc-direction-ltr .fc-timeline-slot{border-right:0!important}.fc-direction-rtl .fc-timeline-slot{border-left:0!important}.fc .fc-timeline-now-indicator-container{position:absolute;z-index:4;top:0;bottom:0;left:0;right:0;width:0}.fc .fc-timeline-now-indicator-arrow,.fc .fc-timeline-now-indicator-line{position:absolute;top:0;border-style:solid;border-color:red;border-color:var(--fc-now-indicator-color,red)}.fc .fc-timeline-now-indicator-arrow{margin:0 -6px;border-width:6px 5px 0;border-left-color:transparent;border-right-color:transparent}.fc .fc-timeline-now-indicator-line{margin:0 -1px;bottom:0;border-width:0 0 0 1px}.fc .fc-timeline-events{position:relative;z-index:3;width:0}.fc .fc-timeline-event-harness,.fc .fc-timeline-more-link{position:absolute;top:0}.fc-timeline-event{z-index:1}.fc-timeline-event.fc-event-mirror{z-index:2}.fc-timeline-event{position:relative;display:flex;align-items:center;border-radius:0;padding:2px 1px;margin-bottom:1px;font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-timeline-event .fc-event-main{flex-grow:1;flex-shrink:1;min-width:0}.fc-timeline-event .fc-event-time{font-weight:700}.fc-timeline-event .fc-event-time,.fc-timeline-event .fc-event-title{white-space:nowrap;padding:0 2px}.fc-direction-ltr .fc-timeline-event.fc-event-end,.fc-direction-ltr .fc-timeline-more-link{margin-right:1px}.fc-direction-rtl .fc-timeline-event.fc-event-end,.fc-direction-rtl .fc-timeline-more-link{margin-left:1px}.fc-timeline-overlap-disabled .fc-timeline-event{padding-top:5px;padding-bottom:5px;margin-bottom:0}.fc-timeline-event:not(.fc-event-end):after,.fc-timeline-event:not(.fc-event-start):before{content:\\\"\\\";flex-grow:0;flex-shrink:0;opacity:.5;width:0;height:0;margin:0 1px;border-color:transparent #000;border-style:solid;border-width:5px}.fc-direction-ltr .fc-timeline-event:not(.fc-event-start):before,.fc-direction-rtl .fc-timeline-event:not(.fc-event-end):after{border-left:0}.fc-direction-ltr .fc-timeline-event:not(.fc-event-end):after,.fc-direction-rtl .fc-timeline-event:not(.fc-event-start):before{border-right:0}.fc-timeline-more-link{font-size:.85em;font-size:var(--fc-small-font-size,.85em);color:inherit;color:var(--fc-more-link-text-color,inherit);background:#d0d0d0;background:var(--fc-more-link-bg-color,#d0d0d0);padding:1px;cursor:pointer}.fc-timeline-more-link-inner{display:inline-block;left:0;right:0;padding:2px}.fc .fc-timeline-bg{position:absolute;z-index:2;top:0;bottom:0;width:0;left:0;right:0}.fc .fc-timeline-bg .fc-non-business{z-index:1}.fc .fc-timeline-bg .fc-bg-event{z-index:2}.fc .fc-timeline-bg .fc-highlight{z-index:3}.fc .fc-timeline-bg-harness{position:absolute;top:0;bottom:0}.fc .fc-resource-timeline-divider{width:3px;cursor:col-resize}.fc .fc-resource-group{font-weight:inherit;text-align:inherit}.fc .fc-resource-timeline .fc-resource-group:not([rowspan]){background:hsla(0,0%,81.6%,.3);background:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}.fc .fc-timeline-lane-frame{position:relative}.fc .fc-timeline-overlap-enabled .fc-timeline-lane-frame .fc-timeline-events{box-sizing:content-box;padding-bottom:10px}.fc-timeline-body-expandrows td.fc-timeline-lane{position:relative}.fc-timeline-body-expandrows .fc-timeline-lane-frame{position:static}.fc-datagrid-cell-frame-liquid{height:100%}.fc-liquid-hack .fc-datagrid-cell-frame-liquid{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-datagrid-header .fc-datagrid-cell-frame{position:relative;display:flex;justify-content:flex-start;align-items:center}.fc .fc-datagrid-cell-resizer{position:absolute;z-index:1;top:0;bottom:0;width:5px;cursor:col-resize}.fc .fc-datagrid-cell-cushion{padding:8px;white-space:nowrap;overflow:hidden}.fc .fc-datagrid-expander{cursor:pointer;opacity:.65}.fc .fc-datagrid-expander .fc-icon{display:inline-block;width:1em}.fc .fc-datagrid-expander-placeholder{cursor:auto}.fc .fc-resource-timeline-flat .fc-datagrid-expander-placeholder{display:none}.fc-direction-ltr .fc-datagrid-cell-resizer{right:-3px}.fc-direction-rtl .fc-datagrid-cell-resizer{left:-3px}.fc-direction-ltr .fc-datagrid-expander{margin-right:3px}.fc-direction-rtl .fc-datagrid-expander{margin-left:3px}\"], encapsulation: 2 });\nFullCalendarComponent.ctorParameters = () => [\n { type: ElementRef }\n];\nFullCalendarComponent.propDecorators = {\n options: [{ type: Input }],\n deepChangeDetection: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FullCalendarComponent, [{\n type: Component,\n args: [{\n selector: 'full-calendar',\n template: '',\n encapsulation: ViewEncapsulation.None // the styles are root-level, not scoped within the component\n ,\n styles: [\"@charset \\\"UTF-8\\\";.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-unselectable{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{vertical-align:top;padding:0}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;src:url(\\\"data:application/x-font-ttf;charset=utf-8;base64,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\\\") format(\\\"truetype\\\");font-weight:400;font-style:normal}.fc-icon{display:inline-block;width:1em;height:1em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:fcicons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fc-icon-chevron-left:before{content:\\\"\\uE900\\\"}.fc-icon-chevron-right:before{content:\\\"\\uE901\\\"}.fc-icon-chevrons-left:before{content:\\\"\\uE902\\\"}.fc-icon-chevrons-right:before{content:\\\"\\uE903\\\"}.fc-icon-minus-square:before{content:\\\"\\uE904\\\"}.fc-icon-plus-square:before{content:\\\"\\uE905\\\"}.fc-icon-x:before{content:\\\"\\uE906\\\"}.fc .fc-button{border-radius:0;overflow:visible;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button::-moz-focus-inner{padding:0;border-style:none}.fc .fc-button{display:inline-block;font-weight:400;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.4em .65em;font-size:1em;line-height:1.5;border-radius:.25em}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{outline:0;box-shadow:0 0 0 .2rem rgba(44,62,80,.25)}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#2c3e50;background-color:var(--fc-button-bg-color,#2c3e50);border-color:#2c3e50;border-color:var(--fc-button-border-color,#2c3e50)}.fc .fc-button-primary:hover{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#1e2b37;background-color:var(--fc-button-hover-bg-color,#1e2b37);border-color:#1a252f;border-color:var(--fc-button-hover-border-color,#1a252f)}.fc .fc-button-primary:disabled{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#2c3e50;background-color:var(--fc-button-bg-color,#2c3e50);border-color:#2c3e50;border-color:var(--fc-button-border-color,#2c3e50)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#1a252f;background-color:var(--fc-button-active-bg-color,#1a252f);border-color:#151e27;border-color:var(--fc-button-active-border-color,#151e27)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{vertical-align:middle;font-size:1.5em}.fc .fc-button-group{position:relative;display:inline-flex;vertical-align:middle}.fc .fc-button-group>.fc-button{position:relative;flex:1 1 auto}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){margin-right:-1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.fc .fc-toolbar{display:flex;justify-content:space-between;align-items:center}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{position:absolute;top:0;right:0;left:0;bottom:0}.fc .fc-scroller-harness{position:relative;overflow:hidden;direction:ltr}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{width:100%;table-layout:fixed}.fc .fc-scrollgrid table{border-top-style:hidden;border-left-style:hidden;border-right-style:hidden}.fc .fc-scrollgrid{border-collapse:separate;border-right-width:0;border-bottom-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section>td,.fc .fc-scrollgrid-section table{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-top-width:0;border-left-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:#fff;background:var(--fc-page-bg-color,#fff);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{position:absolute;top:0;left:0;right:0;bottom:0}.fc .fc-non-business{background:hsla(0,0%,84.3%,.3);background:var(--fc-non-business-color,hsla(0,0%,84.3%,.3))}.fc .fc-bg-event{background:#8fdf82;background:var(--fc-bg-event-color,#8fdf82);opacity:.3;opacity:var(--fc-bg-event-opacity,.3)}.fc .fc-bg-event .fc-event-title{margin:.5em;font-size:.85em;font-size:var(--fc-small-font-size,.85em);font-style:italic}.fc .fc-highlight{background:rgba(188,232,241,.3);background:var(--fc-highlight-color,rgba(188,232,241,.3))}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:hsla(0,0%,81.6%,.3);background:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{border-radius:4px;border-radius:calc(var(--fc-event-resizer-dot-total-width, 8px) / 2);border-width:1px;width:8px;width:var(--fc-event-resizer-dot-total-width,8px);height:8px;height:var(--fc-event-resizer-dot-total-width,8px);border:var(--fc-event-resizer-dot-border-width,1px) solid;border-color:inherit;background:#fff;background:var(--fc-page-bg-color,#fff)}.fc-event-selected .fc-event-resizer:before{content:\\\"\\\";position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{content:\\\"\\\";position:absolute;z-index:3;top:0;left:0;right:0;bottom:0}.fc-event-selected:after,.fc-event:focus:after{content:\\\"\\\";background:rgba(0,0,0,.25);background:var(--fc-event-selected-overlay-color,rgba(0,0,0,.25));position:absolute;z-index:1;top:-1px;left:-1px;right:-1px;bottom:-1px}.fc-h-event{display:block;border:1px solid #3788d8;border:1px solid var(--fc-event-border-color,#3788d8);background-color:#3788d8;background-color:var(--fc-event-bg-color,#3788d8)}.fc-h-event .fc-event-main{color:#fff;color:var(--fc-event-text-color,#fff)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;vertical-align:top;left:0;right:0;max-width:100%;overflow:hidden}.fc-h-event.fc-event-selected:before{top:-10px;bottom:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{top:0;bottom:0;width:8px;width:var(--fc-event-resizer-thickness,8px)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:-4px;left:calc(-.5 * var(--fc-event-resizer-thickness, 8px))}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:-4px;right:calc(-.5 * var(--fc-event-resizer-thickness, 8px))}.fc-h-event.fc-event-selected .fc-event-resizer{top:50%;margin-top:-4px;margin-top:calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:-4px;left:calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:-4px;right:calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))}.fc .fc-popover{position:absolute;z-index:9999;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc .fc-popover-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;opacity:.65;font-size:1.1em}.fc-theme-standard .fc-popover{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd);background:#fff;background:var(--fc-page-bg-color,#fff)}.fc-theme-standard .fc-popover-header{background:hsla(0,0%,81.6%,.3);background:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}:root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{content:\\\"\\\";clear:both;display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:rgba(255,220,40,.15);background-color:var(--fc-today-bg-color,rgba(255,220,40,.15))}.fc .fc-daygrid-day-frame{position:relative;min-height:100%}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{position:relative;z-index:4;padding:4px}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{position:absolute;left:0;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{position:relative;min-height:2em}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{position:absolute;top:0;left:0;right:0}.fc .fc-daygrid-bg-harness{position:absolute;top:0;bottom:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{z-index:6;margin-top:1px}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;padding:2px 3px 0}.fc .fc-daygrid-day-bottom:before{content:\\\"\\\";clear:both;display:table}.fc .fc-daygrid-more-link{position:relative;z-index:4;cursor:pointer}.fc .fc-daygrid-week-number{position:absolute;z-index:5;top:0;padding:2px;min-width:1.5em;text-align:center;background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3));color:grey;color:var(--fc-neutral-text-color,grey)}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-week-number{left:0;border-radius:0 0 3px 0}.fc-direction-rtl .fc-daygrid-week-number{right:0;border-radius:0 0 0 3px}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{position:relative;white-space:nowrap;border-radius:3px;font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{display:flex;align-items:center;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;min-width:0;overflow:hidden;font-weight:700}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{top:-10px;bottom:-10px}.fc-daygrid-event-dot{margin:0 4px;box-sizing:content-box;width:0;height:0;border:4px solid #3788d8;border:calc(var(--fc-daygrid-event-dot-width, 8px) / 2) solid var(--fc-event-border-color,#3788d8);border-radius:4px;border-radius:calc(var(--fc-daygrid-event-dot-width, 8px) / 2)}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}.fc-v-event{display:block;border:1px solid #3788d8;border:1px solid var(--fc-event-border-color,#3788d8);background-color:#3788d8;background-color:var(--fc-event-bg-color,#3788d8)}.fc-v-event .fc-event-main{color:#fff;color:var(--fc-event-text-color,#fff);height:100%}.fc-v-event .fc-event-main-frame{height:100%;display:flex;flex-direction:column}.fc-v-event .fc-event-time{flex-grow:0;flex-shrink:0;max-height:100%;overflow:hidden}.fc-v-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-height:0}.fc-v-event .fc-event-title{top:0;bottom:0;max-height:100%;overflow:hidden}.fc-v-event:not(.fc-event-start){border-top-width:0;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event:not(.fc-event-end){border-bottom-width:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-v-event.fc-event-selected:before{left:-10px;right:-10px}.fc-v-event .fc-event-resizer-start{cursor:n-resize}.fc-v-event .fc-event-resizer-end{cursor:s-resize}.fc-v-event:not(.fc-event-selected) .fc-event-resizer{height:8px;height:var(--fc-event-resizer-thickness,8px);left:0;right:0}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start{top:-4px;top:calc(var(--fc-event-resizer-thickness, 8px) / -2)}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end{bottom:-4px;bottom:calc(var(--fc-event-resizer-thickness, 8px) / -2)}.fc-v-event.fc-event-selected .fc-event-resizer{left:50%;margin-left:-4px;margin-left:calc(var(--fc-event-resizer-dot-total-width, 8px) / -2)}.fc-v-event.fc-event-selected .fc-event-resizer-start{top:-4px;top:calc(var(--fc-event-resizer-dot-total-width, 8px) / -2)}.fc-v-event.fc-event-selected .fc-event-resizer-end{bottom:-4px;bottom:calc(var(--fc-event-resizer-dot-total-width, 8px) / -2)}.fc .fc-timegrid .fc-daygrid-body{z-index:2}.fc .fc-timegrid-divider{padding:0 0 2px}.fc .fc-timegrid-body{position:relative;z-index:1;min-height:100%}.fc .fc-timegrid-axis-chunk{position:relative}.fc .fc-timegrid-axis-chunk>table,.fc .fc-timegrid-slots{position:relative;z-index:1}.fc .fc-timegrid-slot{height:1.5em;border-bottom:0}.fc .fc-timegrid-slot:empty:before{content:\\\"\\u00A0\\\"}.fc .fc-timegrid-slot-minor{border-top-style:dotted}.fc .fc-timegrid-slot-label-cushion{display:inline-block;white-space:nowrap}.fc .fc-timegrid-slot-label{vertical-align:middle}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{padding:0 4px}.fc .fc-timegrid-axis-frame-liquid{height:100%}.fc .fc-timegrid-axis-frame{overflow:hidden;display:flex;align-items:center;justify-content:flex-end}.fc .fc-timegrid-axis-cushion{max-width:60px;flex-shrink:0}.fc-direction-ltr .fc-timegrid-slot-label-frame{text-align:right}.fc-direction-rtl .fc-timegrid-slot-label-frame{text-align:left}.fc-liquid-hack .fc-timegrid-axis-frame-liquid{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-timegrid-col.fc-day-today{background-color:rgba(255,220,40,.15);background-color:var(--fc-today-bg-color,rgba(255,220,40,.15))}.fc .fc-timegrid-col-frame{min-height:100%;position:relative}.fc-media-screen.fc-liquid-hack .fc-timegrid-col-frame{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc-media-screen .fc-timegrid-cols{position:absolute;top:0;left:0;right:0;bottom:0}.fc-media-screen .fc-timegrid-cols>table{height:100%}.fc-media-screen .fc-timegrid-col-bg,.fc-media-screen .fc-timegrid-col-events,.fc-media-screen .fc-timegrid-now-indicator-container{position:absolute;top:0;left:0;right:0}.fc .fc-timegrid-col-bg{z-index:2}.fc .fc-timegrid-col-bg .fc-non-business{z-index:1}.fc .fc-timegrid-col-bg .fc-bg-event{z-index:2}.fc .fc-timegrid-col-bg .fc-highlight{z-index:3}.fc .fc-timegrid-bg-harness{position:absolute;left:0;right:0}.fc .fc-timegrid-col-events{z-index:3}.fc .fc-timegrid-now-indicator-container{bottom:0;overflow:hidden}.fc-direction-ltr .fc-timegrid-col-events{margin:0 2.5% 0 2px}.fc-direction-rtl .fc-timegrid-col-events{margin:0 2px 0 2.5%}.fc-timegrid-event-harness{position:absolute}.fc-timegrid-event-harness>.fc-timegrid-event{position:absolute;top:0;bottom:0;left:0;right:0}.fc-timegrid-event-harness-inset .fc-timegrid-event,.fc-timegrid-event.fc-event-mirror,.fc-timegrid-more-link{box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px var(--fc-page-bg-color,#fff)}.fc-timegrid-event,.fc-timegrid-more-link{font-size:.85em;font-size:var(--fc-small-font-size,.85em);border-radius:3px}.fc-timegrid-event{margin-bottom:1px}.fc-timegrid-event .fc-event-main{padding:1px 1px 0}.fc-timegrid-event .fc-event-time{white-space:nowrap;font-size:.85em;font-size:var(--fc-small-font-size,.85em);margin-bottom:1px}.fc-timegrid-event-short .fc-event-main-frame{flex-direction:row;overflow:hidden}.fc-timegrid-event-short .fc-event-time:after{content:\\\"\\u00A0-\\u00A0\\\"}.fc-timegrid-event-short .fc-event-title{font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-timegrid-more-link{position:absolute;z-index:9999;color:inherit;color:var(--fc-more-link-text-color,inherit);background:#d0d0d0;background:var(--fc-more-link-bg-color,#d0d0d0);cursor:pointer;margin-bottom:1px}.fc-timegrid-more-link-inner{padding:3px 2px;top:0}.fc-direction-ltr .fc-timegrid-more-link{right:0}.fc-direction-rtl .fc-timegrid-more-link{left:0}.fc .fc-timegrid-now-indicator-line{position:absolute;z-index:4;left:0;right:0;border:0 solid red;border-color:var(--fc-now-indicator-color,red);border-top:1px solid var(--fc-now-indicator-color,red)}.fc .fc-timegrid-now-indicator-arrow{position:absolute;z-index:4;margin-top:-5px;border-style:solid;border-color:red;border-color:var(--fc-now-indicator-color,red)}.fc-direction-ltr .fc-timegrid-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-direction-rtl .fc-timegrid-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent}:root{--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc-theme-standard .fc-list{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc .fc-list-empty{background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3));height:100%;display:flex;justify-content:center;align-items:center}.fc .fc-list-empty-cushion{margin:5em 0}.fc .fc-list-table{width:100%;border-style:hidden}.fc .fc-list-table tr>*{border-left:0;border-right:0}.fc .fc-list-sticky .fc-list-day>*{position:sticky;top:0;background:#fff;background:var(--fc-page-bg-color,#fff)}.fc .fc-list-table thead{position:absolute;left:-10000px}.fc .fc-list-table tbody>tr:first-child th{border-top:0}.fc .fc-list-table th{padding:0}.fc .fc-list-day-cushion,.fc .fc-list-table td{padding:8px 14px}.fc .fc-list-day-cushion:after{content:\\\"\\\";clear:both;display:table}.fc-theme-standard .fc-list-day-cushion{background-color:hsla(0,0%,81.6%,.3);background-color:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}.fc-direction-ltr .fc-list-day-text,.fc-direction-rtl .fc-list-day-side-text{float:left}.fc-direction-ltr .fc-list-day-side-text,.fc-direction-rtl .fc-list-day-text{float:right}.fc-direction-ltr .fc-list-table .fc-list-event-graphic{padding-right:0}.fc-direction-rtl .fc-list-table .fc-list-event-graphic{padding-left:0}.fc .fc-list-event.fc-event-forced-url{cursor:pointer}.fc .fc-list-event:hover td{background-color:#f5f5f5;background-color:var(--fc-list-event-hover-bg-color,#f5f5f5)}.fc .fc-list-event-graphic,.fc .fc-list-event-time{white-space:nowrap;width:1px}.fc .fc-list-event-dot{display:inline-block;box-sizing:content-box;width:0;height:0;border:5px solid #3788d8;border:calc(var(--fc-list-event-dot-width, 10px) / 2) solid var(--fc-event-border-color,#3788d8);border-radius:5px;border-radius:calc(var(--fc-list-event-dot-width, 10px) / 2)}.fc .fc-list-event-title a{color:inherit;text-decoration:none}.fc .fc-list-event.fc-event-forced-url:hover a{text-decoration:underline}.fc-theme-bootstrap a:not([href]){color:inherit}.fc .fc-event,.fc .fc-scrollgrid table tr{-moz-column-break-inside:avoid;break-inside:avoid}.fc-media-print{display:block;max-width:100%}.fc-media-print .fc-bg-event,.fc-media-print .fc-non-business,.fc-media-print .fc-timegrid-axis-chunk,.fc-media-print .fc-timegrid-slots,.fc-media-print .fc-timeline-slots{display:none}.fc-media-print .fc-h-event,.fc-media-print .fc-toolbar button,.fc-media-print .fc-v-event{color:#000!important;background:#fff!important}.fc-media-print .fc-event,.fc-media-print .fc-event-main{color:#000!important}.fc-media-print .fc-timegrid-event{margin:.5em 0}.fc .fc-timeline-body{min-height:100%;position:relative;z-index:1}.fc .fc-timeline-slots{position:absolute;z-index:1;top:0;bottom:0}.fc .fc-timeline-slots>table{height:100%}.fc .fc-timeline-slot-minor{border-style:dotted}.fc .fc-timeline-slot-frame{display:flex;align-items:center;justify-content:center}.fc .fc-timeline-header-row-chrono .fc-timeline-slot-frame{justify-content:flex-start}.fc .fc-timeline-header-row:last-child .fc-timeline-slot-frame{overflow:hidden}.fc .fc-timeline-slot-cushion{padding:4px 5px;white-space:nowrap}.fc-direction-ltr .fc-timeline-slot{border-right:0!important}.fc-direction-rtl .fc-timeline-slot{border-left:0!important}.fc .fc-timeline-now-indicator-container{position:absolute;z-index:4;top:0;bottom:0;left:0;right:0;width:0}.fc .fc-timeline-now-indicator-arrow,.fc .fc-timeline-now-indicator-line{position:absolute;top:0;border-style:solid;border-color:red;border-color:var(--fc-now-indicator-color,red)}.fc .fc-timeline-now-indicator-arrow{margin:0 -6px;border-width:6px 5px 0;border-left-color:transparent;border-right-color:transparent}.fc .fc-timeline-now-indicator-line{margin:0 -1px;bottom:0;border-width:0 0 0 1px}.fc .fc-timeline-events{position:relative;z-index:3;width:0}.fc .fc-timeline-event-harness,.fc .fc-timeline-more-link{position:absolute;top:0}.fc-timeline-event{z-index:1}.fc-timeline-event.fc-event-mirror{z-index:2}.fc-timeline-event{position:relative;display:flex;align-items:center;border-radius:0;padding:2px 1px;margin-bottom:1px;font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-timeline-event .fc-event-main{flex-grow:1;flex-shrink:1;min-width:0}.fc-timeline-event .fc-event-time{font-weight:700}.fc-timeline-event .fc-event-time,.fc-timeline-event .fc-event-title{white-space:nowrap;padding:0 2px}.fc-direction-ltr .fc-timeline-event.fc-event-end,.fc-direction-ltr .fc-timeline-more-link{margin-right:1px}.fc-direction-rtl .fc-timeline-event.fc-event-end,.fc-direction-rtl .fc-timeline-more-link{margin-left:1px}.fc-timeline-overlap-disabled .fc-timeline-event{padding-top:5px;padding-bottom:5px;margin-bottom:0}.fc-timeline-event:not(.fc-event-end):after,.fc-timeline-event:not(.fc-event-start):before{content:\\\"\\\";flex-grow:0;flex-shrink:0;opacity:.5;width:0;height:0;margin:0 1px;border-color:transparent #000;border-style:solid;border-width:5px}.fc-direction-ltr .fc-timeline-event:not(.fc-event-start):before,.fc-direction-rtl .fc-timeline-event:not(.fc-event-end):after{border-left:0}.fc-direction-ltr .fc-timeline-event:not(.fc-event-end):after,.fc-direction-rtl .fc-timeline-event:not(.fc-event-start):before{border-right:0}.fc-timeline-more-link{font-size:.85em;font-size:var(--fc-small-font-size,.85em);color:inherit;color:var(--fc-more-link-text-color,inherit);background:#d0d0d0;background:var(--fc-more-link-bg-color,#d0d0d0);padding:1px;cursor:pointer}.fc-timeline-more-link-inner{display:inline-block;left:0;right:0;padding:2px}.fc .fc-timeline-bg{position:absolute;z-index:2;top:0;bottom:0;width:0;left:0;right:0}.fc .fc-timeline-bg .fc-non-business{z-index:1}.fc .fc-timeline-bg .fc-bg-event{z-index:2}.fc .fc-timeline-bg .fc-highlight{z-index:3}.fc .fc-timeline-bg-harness{position:absolute;top:0;bottom:0}.fc .fc-resource-timeline-divider{width:3px;cursor:col-resize}.fc .fc-resource-group{font-weight:inherit;text-align:inherit}.fc .fc-resource-timeline .fc-resource-group:not([rowspan]){background:hsla(0,0%,81.6%,.3);background:var(--fc-neutral-bg-color,hsla(0,0%,81.6%,.3))}.fc .fc-timeline-lane-frame{position:relative}.fc .fc-timeline-overlap-enabled .fc-timeline-lane-frame .fc-timeline-events{box-sizing:content-box;padding-bottom:10px}.fc-timeline-body-expandrows td.fc-timeline-lane{position:relative}.fc-timeline-body-expandrows .fc-timeline-lane-frame{position:static}.fc-datagrid-cell-frame-liquid{height:100%}.fc-liquid-hack .fc-datagrid-cell-frame-liquid{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-datagrid-header .fc-datagrid-cell-frame{position:relative;display:flex;justify-content:flex-start;align-items:center}.fc .fc-datagrid-cell-resizer{position:absolute;z-index:1;top:0;bottom:0;width:5px;cursor:col-resize}.fc .fc-datagrid-cell-cushion{padding:8px;white-space:nowrap;overflow:hidden}.fc .fc-datagrid-expander{cursor:pointer;opacity:.65}.fc .fc-datagrid-expander .fc-icon{display:inline-block;width:1em}.fc .fc-datagrid-expander-placeholder{cursor:auto}.fc .fc-resource-timeline-flat .fc-datagrid-expander-placeholder{display:none}.fc-direction-ltr .fc-datagrid-cell-resizer{right:-3px}.fc-direction-rtl .fc-datagrid-cell-resizer{left:-3px}.fc-direction-ltr .fc-datagrid-expander{margin-right:3px}.fc-direction-rtl .fc-datagrid-expander{margin-left:3px}\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { options: [{\n type: Input\n }], deepChangeDetection: [{\n type: Input\n }] }); })();\n\nclass FullCalendarModule {\n static registerPlugins(plugins) {\n globalPlugins.push(...plugins);\n }\n}\nFullCalendarModule.ɵfac = function FullCalendarModule_Factory(t) { return new (t || FullCalendarModule)(); };\nFullCalendarModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: FullCalendarModule });\nFullCalendarModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FullCalendarModule, [{\n type: NgModule,\n args: [{\n declarations: [FullCalendarComponent],\n imports: [],\n exports: [FullCalendarComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(FullCalendarModule, { declarations: [FullCalendarComponent], exports: [FullCalendarComponent] }); })();\n\n/*\n * Public API Surface of fullcalendar\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { FullCalendarComponent, FullCalendarModule };\n\n","/*!\nFullCalendar v5.10.1\nDocs & License: https://fullcalendar.io/\n(c) 2021 Adam Shaw\n*/\nimport './main.css';\n\nimport { __extends } from 'tslib';\nimport { Theme, createPlugin } from '@fullcalendar/common';\n\nvar BootstrapTheme = /** @class */ (function (_super) {\n __extends(BootstrapTheme, _super);\n function BootstrapTheme() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return BootstrapTheme;\n}(Theme));\nBootstrapTheme.prototype.classes = {\n root: 'fc-theme-bootstrap',\n table: 'table-bordered',\n tableCellShaded: 'table-active',\n buttonGroup: 'btn-group',\n button: 'btn btn-primary',\n buttonActive: 'active',\n popover: 'popover',\n popoverHeader: 'popover-header',\n popoverContent: 'popover-body',\n};\nBootstrapTheme.prototype.baseIconClass = 'fa';\nBootstrapTheme.prototype.iconClasses = {\n close: 'fa-times',\n prev: 'fa-chevron-left',\n next: 'fa-chevron-right',\n prevYear: 'fa-angle-double-left',\n nextYear: 'fa-angle-double-right',\n};\nBootstrapTheme.prototype.rtlIconClasses = {\n prev: 'fa-chevron-right',\n next: 'fa-chevron-left',\n prevYear: 'fa-angle-double-right',\n nextYear: 'fa-angle-double-left',\n};\nBootstrapTheme.prototype.iconOverrideOption = 'bootstrapFontAwesome'; // TODO: make TS-friendly. move the option-processing into this plugin\nBootstrapTheme.prototype.iconOverrideCustomButtonOption = 'bootstrapFontAwesome';\nBootstrapTheme.prototype.iconOverridePrefix = 'fa-';\nvar plugin = createPlugin({\n themeClasses: {\n bootstrap: BootstrapTheme,\n },\n});\n\nexport default plugin;\nexport { BootstrapTheme };\n","/*!\nFullCalendar v5.10.1\nDocs & License: https://fullcalendar.io/\n(c) 2021 Adam Shaw\n*/\nimport './main.css';\n\nimport { __assign, __spreadArray, __extends } from 'tslib';\nimport { createContext, Component, createRef, createElement, Fragment, createPortal } from './vdom.js';\nexport * from './vdom.js';\n\n// no public types yet. when there are, export from:\n// import {} from './api-type-deps'\nvar EventSourceApi = /** @class */ (function () {\n function EventSourceApi(context, internalEventSource) {\n this.context = context;\n this.internalEventSource = internalEventSource;\n }\n EventSourceApi.prototype.remove = function () {\n this.context.dispatch({\n type: 'REMOVE_EVENT_SOURCE',\n sourceId: this.internalEventSource.sourceId,\n });\n };\n EventSourceApi.prototype.refetch = function () {\n this.context.dispatch({\n type: 'FETCH_EVENT_SOURCES',\n sourceIds: [this.internalEventSource.sourceId],\n isRefetch: true,\n });\n };\n Object.defineProperty(EventSourceApi.prototype, \"id\", {\n get: function () {\n return this.internalEventSource.publicId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventSourceApi.prototype, \"url\", {\n get: function () {\n return this.internalEventSource.meta.url;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventSourceApi.prototype, \"format\", {\n get: function () {\n return this.internalEventSource.meta.format; // TODO: bad. not guaranteed\n },\n enumerable: false,\n configurable: true\n });\n return EventSourceApi;\n}());\n\nfunction removeElement(el) {\n if (el.parentNode) {\n el.parentNode.removeChild(el);\n }\n}\n// Querying\n// ----------------------------------------------------------------------------------------------------------------\nfunction elementClosest(el, selector) {\n if (el.closest) {\n return el.closest(selector);\n // really bad fallback for IE\n // from https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n }\n if (!document.documentElement.contains(el)) {\n return null;\n }\n do {\n if (elementMatches(el, selector)) {\n return el;\n }\n el = (el.parentElement || el.parentNode);\n } while (el !== null && el.nodeType === 1);\n return null;\n}\nfunction elementMatches(el, selector) {\n var method = el.matches || el.matchesSelector || el.msMatchesSelector;\n return method.call(el, selector);\n}\n// accepts multiple subject els\n// returns a real array. good for methods like forEach\n// TODO: accept the document\nfunction findElements(container, selector) {\n var containers = container instanceof HTMLElement ? [container] : container;\n var allMatches = [];\n for (var i = 0; i < containers.length; i += 1) {\n var matches = containers[i].querySelectorAll(selector);\n for (var j = 0; j < matches.length; j += 1) {\n allMatches.push(matches[j]);\n }\n }\n return allMatches;\n}\n// accepts multiple subject els\n// only queries direct child elements // TODO: rename to findDirectChildren!\nfunction findDirectChildren(parent, selector) {\n var parents = parent instanceof HTMLElement ? [parent] : parent;\n var allMatches = [];\n for (var i = 0; i < parents.length; i += 1) {\n var childNodes = parents[i].children; // only ever elements\n for (var j = 0; j < childNodes.length; j += 1) {\n var childNode = childNodes[j];\n if (!selector || elementMatches(childNode, selector)) {\n allMatches.push(childNode);\n }\n }\n }\n return allMatches;\n}\n// Style\n// ----------------------------------------------------------------------------------------------------------------\nvar PIXEL_PROP_RE = /(top|left|right|bottom|width|height)$/i;\nfunction applyStyle(el, props) {\n for (var propName in props) {\n applyStyleProp(el, propName, props[propName]);\n }\n}\nfunction applyStyleProp(el, name, val) {\n if (val == null) {\n el.style[name] = '';\n }\n else if (typeof val === 'number' && PIXEL_PROP_RE.test(name)) {\n el.style[name] = val + \"px\";\n }\n else {\n el.style[name] = val;\n }\n}\n// Event Handling\n// ----------------------------------------------------------------------------------------------------------------\n// if intercepting bubbled events at the document/window/body level,\n// and want to see originating element (the 'target'), use this util instead\n// of `ev.target` because it goes within web-component boundaries.\nfunction getEventTargetViaRoot(ev) {\n var _a, _b;\n return (_b = (_a = ev.composedPath) === null || _a === void 0 ? void 0 : _a.call(ev)[0]) !== null && _b !== void 0 ? _b : ev.target;\n}\n// Shadow DOM consuderations\n// ----------------------------------------------------------------------------------------------------------------\nfunction getElRoot(el) {\n return el.getRootNode ? el.getRootNode() : document;\n}\n// Unique ID for DOM attribute\nvar guid$1 = 0;\nfunction getUniqueDomId() {\n guid$1 += 1;\n return 'fc-dom-' + guid$1;\n}\n\n// Stops a mouse/touch event from doing it's native browser action\nfunction preventDefault(ev) {\n ev.preventDefault();\n}\n// Event Delegation\n// ----------------------------------------------------------------------------------------------------------------\nfunction buildDelegationHandler(selector, handler) {\n return function (ev) {\n var matchedChild = elementClosest(ev.target, selector);\n if (matchedChild) {\n handler.call(matchedChild, ev, matchedChild);\n }\n };\n}\nfunction listenBySelector(container, eventType, selector, handler) {\n var attachedHandler = buildDelegationHandler(selector, handler);\n container.addEventListener(eventType, attachedHandler);\n return function () {\n container.removeEventListener(eventType, attachedHandler);\n };\n}\nfunction listenToHoverBySelector(container, selector, onMouseEnter, onMouseLeave) {\n var currentMatchedChild;\n return listenBySelector(container, 'mouseover', selector, function (mouseOverEv, matchedChild) {\n if (matchedChild !== currentMatchedChild) {\n currentMatchedChild = matchedChild;\n onMouseEnter(mouseOverEv, matchedChild);\n var realOnMouseLeave_1 = function (mouseLeaveEv) {\n currentMatchedChild = null;\n onMouseLeave(mouseLeaveEv, matchedChild);\n matchedChild.removeEventListener('mouseleave', realOnMouseLeave_1);\n };\n // listen to the next mouseleave, and then unattach\n matchedChild.addEventListener('mouseleave', realOnMouseLeave_1);\n }\n });\n}\n// Animation\n// ----------------------------------------------------------------------------------------------------------------\nvar transitionEventNames = [\n 'webkitTransitionEnd',\n 'otransitionend',\n 'oTransitionEnd',\n 'msTransitionEnd',\n 'transitionend',\n];\n// triggered only when the next single subsequent transition finishes\nfunction whenTransitionDone(el, callback) {\n var realCallback = function (ev) {\n callback(ev);\n transitionEventNames.forEach(function (eventName) {\n el.removeEventListener(eventName, realCallback);\n });\n };\n transitionEventNames.forEach(function (eventName) {\n el.addEventListener(eventName, realCallback); // cross-browser way to determine when the transition finishes\n });\n}\n// ARIA workarounds\n// ----------------------------------------------------------------------------------------------------------------\nfunction createAriaClickAttrs(handler) {\n return __assign({ onClick: handler }, createAriaKeyboardAttrs(handler));\n}\nfunction createAriaKeyboardAttrs(handler) {\n return {\n tabIndex: 0,\n onKeyDown: function (ev) {\n if (ev.key === 'Enter' || ev.key === ' ') {\n handler(ev);\n ev.preventDefault(); // if space, don't scroll down page\n }\n },\n };\n}\n\nvar guidNumber = 0;\nfunction guid() {\n guidNumber += 1;\n return String(guidNumber);\n}\n/* FullCalendar-specific DOM Utilities\n----------------------------------------------------------------------------------------------------------------------*/\n// Make the mouse cursor express that an event is not allowed in the current area\nfunction disableCursor() {\n document.body.classList.add('fc-not-allowed');\n}\n// Returns the mouse cursor to its original look\nfunction enableCursor() {\n document.body.classList.remove('fc-not-allowed');\n}\n/* Selection\n----------------------------------------------------------------------------------------------------------------------*/\nfunction preventSelection(el) {\n el.classList.add('fc-unselectable');\n el.addEventListener('selectstart', preventDefault);\n}\nfunction allowSelection(el) {\n el.classList.remove('fc-unselectable');\n el.removeEventListener('selectstart', preventDefault);\n}\n/* Context Menu\n----------------------------------------------------------------------------------------------------------------------*/\nfunction preventContextMenu(el) {\n el.addEventListener('contextmenu', preventDefault);\n}\nfunction allowContextMenu(el) {\n el.removeEventListener('contextmenu', preventDefault);\n}\nfunction parseFieldSpecs(input) {\n var specs = [];\n var tokens = [];\n var i;\n var token;\n if (typeof input === 'string') {\n tokens = input.split(/\\s*,\\s*/);\n }\n else if (typeof input === 'function') {\n tokens = [input];\n }\n else if (Array.isArray(input)) {\n tokens = input;\n }\n for (i = 0; i < tokens.length; i += 1) {\n token = tokens[i];\n if (typeof token === 'string') {\n specs.push(token.charAt(0) === '-' ?\n { field: token.substring(1), order: -1 } :\n { field: token, order: 1 });\n }\n else if (typeof token === 'function') {\n specs.push({ func: token });\n }\n }\n return specs;\n}\nfunction compareByFieldSpecs(obj0, obj1, fieldSpecs) {\n var i;\n var cmp;\n for (i = 0; i < fieldSpecs.length; i += 1) {\n cmp = compareByFieldSpec(obj0, obj1, fieldSpecs[i]);\n if (cmp) {\n return cmp;\n }\n }\n return 0;\n}\nfunction compareByFieldSpec(obj0, obj1, fieldSpec) {\n if (fieldSpec.func) {\n return fieldSpec.func(obj0, obj1);\n }\n return flexibleCompare(obj0[fieldSpec.field], obj1[fieldSpec.field])\n * (fieldSpec.order || 1);\n}\nfunction flexibleCompare(a, b) {\n if (!a && !b) {\n return 0;\n }\n if (b == null) {\n return -1;\n }\n if (a == null) {\n return 1;\n }\n if (typeof a === 'string' || typeof b === 'string') {\n return String(a).localeCompare(String(b));\n }\n return a - b;\n}\n/* String Utilities\n----------------------------------------------------------------------------------------------------------------------*/\nfunction padStart(val, len) {\n var s = String(val);\n return '000'.substr(0, len - s.length) + s;\n}\nfunction formatWithOrdinals(formatter, args, fallbackText) {\n if (typeof formatter === 'function') {\n return formatter.apply(void 0, args);\n }\n if (typeof formatter === 'string') { // non-blank string\n return args.reduce(function (str, arg, index) { return (str.replace('$' + index, arg || '')); }, formatter);\n }\n return fallbackText;\n}\n/* Number Utilities\n----------------------------------------------------------------------------------------------------------------------*/\nfunction compareNumbers(a, b) {\n return a - b;\n}\nfunction isInt(n) {\n return n % 1 === 0;\n}\n/* FC-specific DOM dimension stuff\n----------------------------------------------------------------------------------------------------------------------*/\nfunction computeSmallestCellWidth(cellEl) {\n var allWidthEl = cellEl.querySelector('.fc-scrollgrid-shrink-frame');\n var contentWidthEl = cellEl.querySelector('.fc-scrollgrid-shrink-cushion');\n if (!allWidthEl) {\n throw new Error('needs fc-scrollgrid-shrink-frame className'); // TODO: use const\n }\n if (!contentWidthEl) {\n throw new Error('needs fc-scrollgrid-shrink-cushion className');\n }\n return cellEl.getBoundingClientRect().width - allWidthEl.getBoundingClientRect().width + // the cell padding+border\n contentWidthEl.getBoundingClientRect().width;\n}\n\nvar DAY_IDS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'];\n// Adding\nfunction addWeeks(m, n) {\n var a = dateToUtcArray(m);\n a[2] += n * 7;\n return arrayToUtcDate(a);\n}\nfunction addDays(m, n) {\n var a = dateToUtcArray(m);\n a[2] += n;\n return arrayToUtcDate(a);\n}\nfunction addMs(m, n) {\n var a = dateToUtcArray(m);\n a[6] += n;\n return arrayToUtcDate(a);\n}\n// Diffing (all return floats)\n// TODO: why not use ranges?\nfunction diffWeeks(m0, m1) {\n return diffDays(m0, m1) / 7;\n}\nfunction diffDays(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / (1000 * 60 * 60 * 24);\n}\nfunction diffHours(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / (1000 * 60 * 60);\n}\nfunction diffMinutes(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / (1000 * 60);\n}\nfunction diffSeconds(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / 1000;\n}\nfunction diffDayAndTime(m0, m1) {\n var m0day = startOfDay(m0);\n var m1day = startOfDay(m1);\n return {\n years: 0,\n months: 0,\n days: Math.round(diffDays(m0day, m1day)),\n milliseconds: (m1.valueOf() - m1day.valueOf()) - (m0.valueOf() - m0day.valueOf()),\n };\n}\n// Diffing Whole Units\nfunction diffWholeWeeks(m0, m1) {\n var d = diffWholeDays(m0, m1);\n if (d !== null && d % 7 === 0) {\n return d / 7;\n }\n return null;\n}\nfunction diffWholeDays(m0, m1) {\n if (timeAsMs(m0) === timeAsMs(m1)) {\n return Math.round(diffDays(m0, m1));\n }\n return null;\n}\n// Start-Of\nfunction startOfDay(m) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n ]);\n}\nfunction startOfHour(m) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n m.getUTCHours(),\n ]);\n}\nfunction startOfMinute(m) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n m.getUTCHours(),\n m.getUTCMinutes(),\n ]);\n}\nfunction startOfSecond(m) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n m.getUTCHours(),\n m.getUTCMinutes(),\n m.getUTCSeconds(),\n ]);\n}\n// Week Computation\nfunction weekOfYear(marker, dow, doy) {\n var y = marker.getUTCFullYear();\n var w = weekOfGivenYear(marker, y, dow, doy);\n if (w < 1) {\n return weekOfGivenYear(marker, y - 1, dow, doy);\n }\n var nextW = weekOfGivenYear(marker, y + 1, dow, doy);\n if (nextW >= 1) {\n return Math.min(w, nextW);\n }\n return w;\n}\nfunction weekOfGivenYear(marker, year, dow, doy) {\n var firstWeekStart = arrayToUtcDate([year, 0, 1 + firstWeekOffset(year, dow, doy)]);\n var dayStart = startOfDay(marker);\n var days = Math.round(diffDays(firstWeekStart, dayStart));\n return Math.floor(days / 7) + 1; // zero-indexed\n}\n// start-of-first-week - start-of-year\nfunction firstWeekOffset(year, dow, doy) {\n // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n var fwd = 7 + dow - doy;\n // first-week day local weekday -- which local weekday is fwd\n var fwdlw = (7 + arrayToUtcDate([year, 0, fwd]).getUTCDay() - dow) % 7;\n return -fwdlw + fwd - 1;\n}\n// Array Conversion\nfunction dateToLocalArray(date) {\n return [\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds(),\n ];\n}\nfunction arrayToLocalDate(a) {\n return new Date(a[0], a[1] || 0, a[2] == null ? 1 : a[2], // day of month\n a[3] || 0, a[4] || 0, a[5] || 0);\n}\nfunction dateToUtcArray(date) {\n return [\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds(),\n date.getUTCMilliseconds(),\n ];\n}\nfunction arrayToUtcDate(a) {\n // according to web standards (and Safari), a month index is required.\n // massage if only given a year.\n if (a.length === 1) {\n a = a.concat([0]);\n }\n return new Date(Date.UTC.apply(Date, a));\n}\n// Other Utils\nfunction isValidDate(m) {\n return !isNaN(m.valueOf());\n}\nfunction timeAsMs(m) {\n return m.getUTCHours() * 1000 * 60 * 60 +\n m.getUTCMinutes() * 1000 * 60 +\n m.getUTCSeconds() * 1000 +\n m.getUTCMilliseconds();\n}\n\nfunction createEventInstance(defId, range, forcedStartTzo, forcedEndTzo) {\n return {\n instanceId: guid(),\n defId: defId,\n range: range,\n forcedStartTzo: forcedStartTzo == null ? null : forcedStartTzo,\n forcedEndTzo: forcedEndTzo == null ? null : forcedEndTzo,\n };\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n// Merges an array of objects into a single object.\n// The second argument allows for an array of property names who's object values will be merged together.\nfunction mergeProps(propObjs, complexPropsMap) {\n var dest = {};\n if (complexPropsMap) {\n for (var name_1 in complexPropsMap) {\n var complexObjs = [];\n // collect the trailing object values, stopping when a non-object is discovered\n for (var i = propObjs.length - 1; i >= 0; i -= 1) {\n var val = propObjs[i][name_1];\n if (typeof val === 'object' && val) { // non-null object\n complexObjs.unshift(val);\n }\n else if (val !== undefined) {\n dest[name_1] = val; // if there were no objects, this value will be used\n break;\n }\n }\n // if the trailing values were objects, use the merged value\n if (complexObjs.length) {\n dest[name_1] = mergeProps(complexObjs);\n }\n }\n }\n // copy values into the destination, going from last to first\n for (var i = propObjs.length - 1; i >= 0; i -= 1) {\n var props = propObjs[i];\n for (var name_2 in props) {\n if (!(name_2 in dest)) { // if already assigned by previous props or complex props, don't reassign\n dest[name_2] = props[name_2];\n }\n }\n }\n return dest;\n}\nfunction filterHash(hash, func) {\n var filtered = {};\n for (var key in hash) {\n if (func(hash[key], key)) {\n filtered[key] = hash[key];\n }\n }\n return filtered;\n}\nfunction mapHash(hash, func) {\n var newHash = {};\n for (var key in hash) {\n newHash[key] = func(hash[key], key);\n }\n return newHash;\n}\nfunction arrayToHash(a) {\n var hash = {};\n for (var _i = 0, a_1 = a; _i < a_1.length; _i++) {\n var item = a_1[_i];\n hash[item] = true;\n }\n return hash;\n}\nfunction buildHashFromArray(a, func) {\n var hash = {};\n for (var i = 0; i < a.length; i += 1) {\n var tuple = func(a[i], i);\n hash[tuple[0]] = tuple[1];\n }\n return hash;\n}\nfunction hashValuesToArray(obj) {\n var a = [];\n for (var key in obj) {\n a.push(obj[key]);\n }\n return a;\n}\nfunction isPropsEqual(obj0, obj1) {\n if (obj0 === obj1) {\n return true;\n }\n for (var key in obj0) {\n if (hasOwnProperty.call(obj0, key)) {\n if (!(key in obj1)) {\n return false;\n }\n }\n }\n for (var key in obj1) {\n if (hasOwnProperty.call(obj1, key)) {\n if (obj0[key] !== obj1[key]) {\n return false;\n }\n }\n }\n return true;\n}\nfunction getUnequalProps(obj0, obj1) {\n var keys = [];\n for (var key in obj0) {\n if (hasOwnProperty.call(obj0, key)) {\n if (!(key in obj1)) {\n keys.push(key);\n }\n }\n }\n for (var key in obj1) {\n if (hasOwnProperty.call(obj1, key)) {\n if (obj0[key] !== obj1[key]) {\n keys.push(key);\n }\n }\n }\n return keys;\n}\nfunction compareObjs(oldProps, newProps, equalityFuncs) {\n if (equalityFuncs === void 0) { equalityFuncs = {}; }\n if (oldProps === newProps) {\n return true;\n }\n for (var key in newProps) {\n if (key in oldProps && isObjValsEqual(oldProps[key], newProps[key], equalityFuncs[key])) ;\n else {\n return false;\n }\n }\n // check for props that were omitted in the new\n for (var key in oldProps) {\n if (!(key in newProps)) {\n return false;\n }\n }\n return true;\n}\n/*\nassumed \"true\" equality for handler names like \"onReceiveSomething\"\n*/\nfunction isObjValsEqual(val0, val1, comparator) {\n if (val0 === val1 || comparator === true) {\n return true;\n }\n if (comparator) {\n return comparator(val0, val1);\n }\n return false;\n}\nfunction collectFromHash(hash, startIndex, endIndex, step) {\n if (startIndex === void 0) { startIndex = 0; }\n if (step === void 0) { step = 1; }\n var res = [];\n if (endIndex == null) {\n endIndex = Object.keys(hash).length;\n }\n for (var i = startIndex; i < endIndex; i += step) {\n var val = hash[i];\n if (val !== undefined) { // will disregard undefined for sparse arrays\n res.push(val);\n }\n }\n return res;\n}\n\nfunction parseRecurring(refined, defaultAllDay, dateEnv, recurringTypes) {\n for (var i = 0; i < recurringTypes.length; i += 1) {\n var parsed = recurringTypes[i].parse(refined, dateEnv);\n if (parsed) {\n var allDay = refined.allDay;\n if (allDay == null) {\n allDay = defaultAllDay;\n if (allDay == null) {\n allDay = parsed.allDayGuess;\n if (allDay == null) {\n allDay = false;\n }\n }\n }\n return {\n allDay: allDay,\n duration: parsed.duration,\n typeData: parsed.typeData,\n typeId: i,\n };\n }\n }\n return null;\n}\nfunction expandRecurring(eventStore, framingRange, context) {\n var dateEnv = context.dateEnv, pluginHooks = context.pluginHooks, options = context.options;\n var defs = eventStore.defs, instances = eventStore.instances;\n // remove existing recurring instances\n // TODO: bad. always expand events as a second step\n instances = filterHash(instances, function (instance) { return !defs[instance.defId].recurringDef; });\n for (var defId in defs) {\n var def = defs[defId];\n if (def.recurringDef) {\n var duration = def.recurringDef.duration;\n if (!duration) {\n duration = def.allDay ?\n options.defaultAllDayEventDuration :\n options.defaultTimedEventDuration;\n }\n var starts = expandRecurringRanges(def, duration, framingRange, dateEnv, pluginHooks.recurringTypes);\n for (var _i = 0, starts_1 = starts; _i < starts_1.length; _i++) {\n var start = starts_1[_i];\n var instance = createEventInstance(defId, {\n start: start,\n end: dateEnv.add(start, duration),\n });\n instances[instance.instanceId] = instance;\n }\n }\n }\n return { defs: defs, instances: instances };\n}\n/*\nEvent MUST have a recurringDef\n*/\nfunction expandRecurringRanges(eventDef, duration, framingRange, dateEnv, recurringTypes) {\n var typeDef = recurringTypes[eventDef.recurringDef.typeId];\n var markers = typeDef.expand(eventDef.recurringDef.typeData, {\n start: dateEnv.subtract(framingRange.start, duration),\n end: framingRange.end,\n }, dateEnv);\n // the recurrence plugins don't guarantee that all-day events are start-of-day, so we have to\n if (eventDef.allDay) {\n markers = markers.map(startOfDay);\n }\n return markers;\n}\n\nvar INTERNAL_UNITS = ['years', 'months', 'days', 'milliseconds'];\nvar PARSE_RE = /^(-?)(?:(\\d+)\\.)?(\\d+):(\\d\\d)(?::(\\d\\d)(?:\\.(\\d\\d\\d))?)?/;\n// Parsing and Creation\nfunction createDuration(input, unit) {\n var _a;\n if (typeof input === 'string') {\n return parseString(input);\n }\n if (typeof input === 'object' && input) { // non-null object\n return parseObject(input);\n }\n if (typeof input === 'number') {\n return parseObject((_a = {}, _a[unit || 'milliseconds'] = input, _a));\n }\n return null;\n}\nfunction parseString(s) {\n var m = PARSE_RE.exec(s);\n if (m) {\n var sign = m[1] ? -1 : 1;\n return {\n years: 0,\n months: 0,\n days: sign * (m[2] ? parseInt(m[2], 10) : 0),\n milliseconds: sign * ((m[3] ? parseInt(m[3], 10) : 0) * 60 * 60 * 1000 + // hours\n (m[4] ? parseInt(m[4], 10) : 0) * 60 * 1000 + // minutes\n (m[5] ? parseInt(m[5], 10) : 0) * 1000 + // seconds\n (m[6] ? parseInt(m[6], 10) : 0) // ms\n ),\n };\n }\n return null;\n}\nfunction parseObject(obj) {\n var duration = {\n years: obj.years || obj.year || 0,\n months: obj.months || obj.month || 0,\n days: obj.days || obj.day || 0,\n milliseconds: (obj.hours || obj.hour || 0) * 60 * 60 * 1000 + // hours\n (obj.minutes || obj.minute || 0) * 60 * 1000 + // minutes\n (obj.seconds || obj.second || 0) * 1000 + // seconds\n (obj.milliseconds || obj.millisecond || obj.ms || 0), // ms\n };\n var weeks = obj.weeks || obj.week;\n if (weeks) {\n duration.days += weeks * 7;\n duration.specifiedWeeks = true;\n }\n return duration;\n}\n// Equality\nfunction durationsEqual(d0, d1) {\n return d0.years === d1.years &&\n d0.months === d1.months &&\n d0.days === d1.days &&\n d0.milliseconds === d1.milliseconds;\n}\nfunction asCleanDays(dur) {\n if (!dur.years && !dur.months && !dur.milliseconds) {\n return dur.days;\n }\n return 0;\n}\n// Simple Math\nfunction addDurations(d0, d1) {\n return {\n years: d0.years + d1.years,\n months: d0.months + d1.months,\n days: d0.days + d1.days,\n milliseconds: d0.milliseconds + d1.milliseconds,\n };\n}\nfunction subtractDurations(d1, d0) {\n return {\n years: d1.years - d0.years,\n months: d1.months - d0.months,\n days: d1.days - d0.days,\n milliseconds: d1.milliseconds - d0.milliseconds,\n };\n}\nfunction multiplyDuration(d, n) {\n return {\n years: d.years * n,\n months: d.months * n,\n days: d.days * n,\n milliseconds: d.milliseconds * n,\n };\n}\n// Conversions\n// \"Rough\" because they are based on average-case Gregorian months/years\nfunction asRoughYears(dur) {\n return asRoughDays(dur) / 365;\n}\nfunction asRoughMonths(dur) {\n return asRoughDays(dur) / 30;\n}\nfunction asRoughDays(dur) {\n return asRoughMs(dur) / 864e5;\n}\nfunction asRoughMinutes(dur) {\n return asRoughMs(dur) / (1000 * 60);\n}\nfunction asRoughSeconds(dur) {\n return asRoughMs(dur) / 1000;\n}\nfunction asRoughMs(dur) {\n return dur.years * (365 * 864e5) +\n dur.months * (30 * 864e5) +\n dur.days * 864e5 +\n dur.milliseconds;\n}\n// Advanced Math\nfunction wholeDivideDurations(numerator, denominator) {\n var res = null;\n for (var i = 0; i < INTERNAL_UNITS.length; i += 1) {\n var unit = INTERNAL_UNITS[i];\n if (denominator[unit]) {\n var localRes = numerator[unit] / denominator[unit];\n if (!isInt(localRes) || (res !== null && res !== localRes)) {\n return null;\n }\n res = localRes;\n }\n else if (numerator[unit]) {\n // needs to divide by something but can't!\n return null;\n }\n }\n return res;\n}\nfunction greatestDurationDenominator(dur) {\n var ms = dur.milliseconds;\n if (ms) {\n if (ms % 1000 !== 0) {\n return { unit: 'millisecond', value: ms };\n }\n if (ms % (1000 * 60) !== 0) {\n return { unit: 'second', value: ms / 1000 };\n }\n if (ms % (1000 * 60 * 60) !== 0) {\n return { unit: 'minute', value: ms / (1000 * 60) };\n }\n if (ms) {\n return { unit: 'hour', value: ms / (1000 * 60 * 60) };\n }\n }\n if (dur.days) {\n if (dur.specifiedWeeks && dur.days % 7 === 0) {\n return { unit: 'week', value: dur.days / 7 };\n }\n return { unit: 'day', value: dur.days };\n }\n if (dur.months) {\n return { unit: 'month', value: dur.months };\n }\n if (dur.years) {\n return { unit: 'year', value: dur.years };\n }\n return { unit: 'millisecond', value: 0 };\n}\n\n// timeZoneOffset is in minutes\nfunction buildIsoString(marker, timeZoneOffset, stripZeroTime) {\n if (stripZeroTime === void 0) { stripZeroTime = false; }\n var s = marker.toISOString();\n s = s.replace('.000', '');\n if (stripZeroTime) {\n s = s.replace('T00:00:00Z', '');\n }\n if (s.length > 10) { // time part wasn't stripped, can add timezone info\n if (timeZoneOffset == null) {\n s = s.replace('Z', '');\n }\n else if (timeZoneOffset !== 0) {\n s = s.replace('Z', formatTimeZoneOffset(timeZoneOffset, true));\n }\n // otherwise, its UTC-0 and we want to keep the Z\n }\n return s;\n}\n// formats the date, but with no time part\n// TODO: somehow merge with buildIsoString and stripZeroTime\n// TODO: rename. omit \"string\"\nfunction formatDayString(marker) {\n return marker.toISOString().replace(/T.*$/, '');\n}\n// TODO: use Date::toISOString and use everything after the T?\nfunction formatIsoTimeString(marker) {\n return padStart(marker.getUTCHours(), 2) + ':' +\n padStart(marker.getUTCMinutes(), 2) + ':' +\n padStart(marker.getUTCSeconds(), 2);\n}\nfunction formatTimeZoneOffset(minutes, doIso) {\n if (doIso === void 0) { doIso = false; }\n var sign = minutes < 0 ? '-' : '+';\n var abs = Math.abs(minutes);\n var hours = Math.floor(abs / 60);\n var mins = Math.round(abs % 60);\n if (doIso) {\n return sign + padStart(hours, 2) + \":\" + padStart(mins, 2);\n }\n return \"GMT\" + sign + hours + (mins ? \":\" + padStart(mins, 2) : '');\n}\n\n// TODO: new util arrayify?\nfunction removeExact(array, exactVal) {\n var removeCnt = 0;\n var i = 0;\n while (i < array.length) {\n if (array[i] === exactVal) {\n array.splice(i, 1);\n removeCnt += 1;\n }\n else {\n i += 1;\n }\n }\n return removeCnt;\n}\nfunction isArraysEqual(a0, a1, equalityFunc) {\n if (a0 === a1) {\n return true;\n }\n var len = a0.length;\n var i;\n if (len !== a1.length) { // not array? or not same length?\n return false;\n }\n for (i = 0; i < len; i += 1) {\n if (!(equalityFunc ? equalityFunc(a0[i], a1[i]) : a0[i] === a1[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoize(workerFunc, resEquality, teardownFunc) {\n var currentArgs;\n var currentRes;\n return function () {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (!currentArgs) {\n currentRes = workerFunc.apply(this, newArgs);\n }\n else if (!isArraysEqual(currentArgs, newArgs)) {\n if (teardownFunc) {\n teardownFunc(currentRes);\n }\n var res = workerFunc.apply(this, newArgs);\n if (!resEquality || !resEquality(res, currentRes)) {\n currentRes = res;\n }\n }\n currentArgs = newArgs;\n return currentRes;\n };\n}\nfunction memoizeObjArg(workerFunc, resEquality, teardownFunc) {\n var _this = this;\n var currentArg;\n var currentRes;\n return function (newArg) {\n if (!currentArg) {\n currentRes = workerFunc.call(_this, newArg);\n }\n else if (!isPropsEqual(currentArg, newArg)) {\n if (teardownFunc) {\n teardownFunc(currentRes);\n }\n var res = workerFunc.call(_this, newArg);\n if (!resEquality || !resEquality(res, currentRes)) {\n currentRes = res;\n }\n }\n currentArg = newArg;\n return currentRes;\n };\n}\nfunction memoizeArraylike(// used at all?\nworkerFunc, resEquality, teardownFunc) {\n var _this = this;\n var currentArgSets = [];\n var currentResults = [];\n return function (newArgSets) {\n var currentLen = currentArgSets.length;\n var newLen = newArgSets.length;\n var i = 0;\n for (; i < currentLen; i += 1) {\n if (!newArgSets[i]) { // one of the old sets no longer exists\n if (teardownFunc) {\n teardownFunc(currentResults[i]);\n }\n }\n else if (!isArraysEqual(currentArgSets[i], newArgSets[i])) {\n if (teardownFunc) {\n teardownFunc(currentResults[i]);\n }\n var res = workerFunc.apply(_this, newArgSets[i]);\n if (!resEquality || !resEquality(res, currentResults[i])) {\n currentResults[i] = res;\n }\n }\n }\n for (; i < newLen; i += 1) {\n currentResults[i] = workerFunc.apply(_this, newArgSets[i]);\n }\n currentArgSets = newArgSets;\n currentResults.splice(newLen); // remove excess\n return currentResults;\n };\n}\nfunction memoizeHashlike(// used?\nworkerFunc, resEquality, teardownFunc) {\n var _this = this;\n var currentArgHash = {};\n var currentResHash = {};\n return function (newArgHash) {\n var newResHash = {};\n for (var key in newArgHash) {\n if (!currentResHash[key]) {\n newResHash[key] = workerFunc.apply(_this, newArgHash[key]);\n }\n else if (!isArraysEqual(currentArgHash[key], newArgHash[key])) {\n if (teardownFunc) {\n teardownFunc(currentResHash[key]);\n }\n var res = workerFunc.apply(_this, newArgHash[key]);\n newResHash[key] = (resEquality && resEquality(res, currentResHash[key]))\n ? currentResHash[key]\n : res;\n }\n else {\n newResHash[key] = currentResHash[key];\n }\n }\n currentArgHash = newArgHash;\n currentResHash = newResHash;\n return newResHash;\n };\n}\n\nvar EXTENDED_SETTINGS_AND_SEVERITIES = {\n week: 3,\n separator: 0,\n omitZeroMinute: 0,\n meridiem: 0,\n omitCommas: 0,\n};\nvar STANDARD_DATE_PROP_SEVERITIES = {\n timeZoneName: 7,\n era: 6,\n year: 5,\n month: 4,\n day: 2,\n weekday: 2,\n hour: 1,\n minute: 1,\n second: 1,\n};\nvar MERIDIEM_RE = /\\s*([ap])\\.?m\\.?/i; // eats up leading spaces too\nvar COMMA_RE = /,/g; // we need re for globalness\nvar MULTI_SPACE_RE = /\\s+/g;\nvar LTR_RE = /\\u200e/g; // control character\nvar UTC_RE = /UTC|GMT/;\nvar NativeFormatter = /** @class */ (function () {\n function NativeFormatter(formatSettings) {\n var standardDateProps = {};\n var extendedSettings = {};\n var severity = 0;\n for (var name_1 in formatSettings) {\n if (name_1 in EXTENDED_SETTINGS_AND_SEVERITIES) {\n extendedSettings[name_1] = formatSettings[name_1];\n severity = Math.max(EXTENDED_SETTINGS_AND_SEVERITIES[name_1], severity);\n }\n else {\n standardDateProps[name_1] = formatSettings[name_1];\n if (name_1 in STANDARD_DATE_PROP_SEVERITIES) { // TODO: what about hour12? no severity\n severity = Math.max(STANDARD_DATE_PROP_SEVERITIES[name_1], severity);\n }\n }\n }\n this.standardDateProps = standardDateProps;\n this.extendedSettings = extendedSettings;\n this.severity = severity;\n this.buildFormattingFunc = memoize(buildFormattingFunc);\n }\n NativeFormatter.prototype.format = function (date, context) {\n return this.buildFormattingFunc(this.standardDateProps, this.extendedSettings, context)(date);\n };\n NativeFormatter.prototype.formatRange = function (start, end, context, betterDefaultSeparator) {\n var _a = this, standardDateProps = _a.standardDateProps, extendedSettings = _a.extendedSettings;\n var diffSeverity = computeMarkerDiffSeverity(start.marker, end.marker, context.calendarSystem);\n if (!diffSeverity) {\n return this.format(start, context);\n }\n var biggestUnitForPartial = diffSeverity;\n if (biggestUnitForPartial > 1 && // the two dates are different in a way that's larger scale than time\n (standardDateProps.year === 'numeric' || standardDateProps.year === '2-digit') &&\n (standardDateProps.month === 'numeric' || standardDateProps.month === '2-digit') &&\n (standardDateProps.day === 'numeric' || standardDateProps.day === '2-digit')) {\n biggestUnitForPartial = 1; // make it look like the dates are only different in terms of time\n }\n var full0 = this.format(start, context);\n var full1 = this.format(end, context);\n if (full0 === full1) {\n return full0;\n }\n var partialDateProps = computePartialFormattingOptions(standardDateProps, biggestUnitForPartial);\n var partialFormattingFunc = buildFormattingFunc(partialDateProps, extendedSettings, context);\n var partial0 = partialFormattingFunc(start);\n var partial1 = partialFormattingFunc(end);\n var insertion = findCommonInsertion(full0, partial0, full1, partial1);\n var separator = extendedSettings.separator || betterDefaultSeparator || context.defaultSeparator || '';\n if (insertion) {\n return insertion.before + partial0 + separator + partial1 + insertion.after;\n }\n return full0 + separator + full1;\n };\n NativeFormatter.prototype.getLargestUnit = function () {\n switch (this.severity) {\n case 7:\n case 6:\n case 5:\n return 'year';\n case 4:\n return 'month';\n case 3:\n return 'week';\n case 2:\n return 'day';\n default:\n return 'time'; // really?\n }\n };\n return NativeFormatter;\n}());\nfunction buildFormattingFunc(standardDateProps, extendedSettings, context) {\n var standardDatePropCnt = Object.keys(standardDateProps).length;\n if (standardDatePropCnt === 1 && standardDateProps.timeZoneName === 'short') {\n return function (date) { return (formatTimeZoneOffset(date.timeZoneOffset)); };\n }\n if (standardDatePropCnt === 0 && extendedSettings.week) {\n return function (date) { return (formatWeekNumber(context.computeWeekNumber(date.marker), context.weekText, context.weekTextLong, context.locale, extendedSettings.week)); };\n }\n return buildNativeFormattingFunc(standardDateProps, extendedSettings, context);\n}\nfunction buildNativeFormattingFunc(standardDateProps, extendedSettings, context) {\n standardDateProps = __assign({}, standardDateProps); // copy\n extendedSettings = __assign({}, extendedSettings); // copy\n sanitizeSettings(standardDateProps, extendedSettings);\n standardDateProps.timeZone = 'UTC'; // we leverage the only guaranteed timeZone for our UTC markers\n var normalFormat = new Intl.DateTimeFormat(context.locale.codes, standardDateProps);\n var zeroFormat; // needed?\n if (extendedSettings.omitZeroMinute) {\n var zeroProps = __assign({}, standardDateProps);\n delete zeroProps.minute; // seconds and ms were already considered in sanitizeSettings\n zeroFormat = new Intl.DateTimeFormat(context.locale.codes, zeroProps);\n }\n return function (date) {\n var marker = date.marker;\n var format;\n if (zeroFormat && !marker.getUTCMinutes()) {\n format = zeroFormat;\n }\n else {\n format = normalFormat;\n }\n var s = format.format(marker);\n return postProcess(s, date, standardDateProps, extendedSettings, context);\n };\n}\nfunction sanitizeSettings(standardDateProps, extendedSettings) {\n // deal with a browser inconsistency where formatting the timezone\n // requires that the hour/minute be present.\n if (standardDateProps.timeZoneName) {\n if (!standardDateProps.hour) {\n standardDateProps.hour = '2-digit';\n }\n if (!standardDateProps.minute) {\n standardDateProps.minute = '2-digit';\n }\n }\n // only support short timezone names\n if (standardDateProps.timeZoneName === 'long') {\n standardDateProps.timeZoneName = 'short';\n }\n // if requesting to display seconds, MUST display minutes\n if (extendedSettings.omitZeroMinute && (standardDateProps.second || standardDateProps.millisecond)) {\n delete extendedSettings.omitZeroMinute;\n }\n}\nfunction postProcess(s, date, standardDateProps, extendedSettings, context) {\n s = s.replace(LTR_RE, ''); // remove left-to-right control chars. do first. good for other regexes\n if (standardDateProps.timeZoneName === 'short') {\n s = injectTzoStr(s, (context.timeZone === 'UTC' || date.timeZoneOffset == null) ?\n 'UTC' : // important to normalize for IE, which does \"GMT\"\n formatTimeZoneOffset(date.timeZoneOffset));\n }\n if (extendedSettings.omitCommas) {\n s = s.replace(COMMA_RE, '').trim();\n }\n if (extendedSettings.omitZeroMinute) {\n s = s.replace(':00', ''); // zeroFormat doesn't always achieve this\n }\n // ^ do anything that might create adjacent spaces before this point,\n // because MERIDIEM_RE likes to eat up loading spaces\n if (extendedSettings.meridiem === false) {\n s = s.replace(MERIDIEM_RE, '').trim();\n }\n else if (extendedSettings.meridiem === 'narrow') { // a/p\n s = s.replace(MERIDIEM_RE, function (m0, m1) { return m1.toLocaleLowerCase(); });\n }\n else if (extendedSettings.meridiem === 'short') { // am/pm\n s = s.replace(MERIDIEM_RE, function (m0, m1) { return m1.toLocaleLowerCase() + \"m\"; });\n }\n else if (extendedSettings.meridiem === 'lowercase') { // other meridiem transformers already converted to lowercase\n s = s.replace(MERIDIEM_RE, function (m0) { return m0.toLocaleLowerCase(); });\n }\n s = s.replace(MULTI_SPACE_RE, ' ');\n s = s.trim();\n return s;\n}\nfunction injectTzoStr(s, tzoStr) {\n var replaced = false;\n s = s.replace(UTC_RE, function () {\n replaced = true;\n return tzoStr;\n });\n // IE11 doesn't include UTC/GMT in the original string, so append to end\n if (!replaced) {\n s += \" \" + tzoStr;\n }\n return s;\n}\nfunction formatWeekNumber(num, weekText, weekTextLong, locale, display) {\n var parts = [];\n if (display === 'long') {\n parts.push(weekTextLong);\n }\n else if (display === 'short' || display === 'narrow') {\n parts.push(weekText);\n }\n if (display === 'long' || display === 'short') {\n parts.push(' ');\n }\n parts.push(locale.simpleNumberFormat.format(num));\n if (locale.options.direction === 'rtl') { // TODO: use control characters instead?\n parts.reverse();\n }\n return parts.join('');\n}\n// Range Formatting Utils\n// 0 = exactly the same\n// 1 = different by time\n// and bigger\nfunction computeMarkerDiffSeverity(d0, d1, ca) {\n if (ca.getMarkerYear(d0) !== ca.getMarkerYear(d1)) {\n return 5;\n }\n if (ca.getMarkerMonth(d0) !== ca.getMarkerMonth(d1)) {\n return 4;\n }\n if (ca.getMarkerDay(d0) !== ca.getMarkerDay(d1)) {\n return 2;\n }\n if (timeAsMs(d0) !== timeAsMs(d1)) {\n return 1;\n }\n return 0;\n}\nfunction computePartialFormattingOptions(options, biggestUnit) {\n var partialOptions = {};\n for (var name_2 in options) {\n if (!(name_2 in STANDARD_DATE_PROP_SEVERITIES) || // not a date part prop (like timeZone)\n STANDARD_DATE_PROP_SEVERITIES[name_2] <= biggestUnit) {\n partialOptions[name_2] = options[name_2];\n }\n }\n return partialOptions;\n}\nfunction findCommonInsertion(full0, partial0, full1, partial1) {\n var i0 = 0;\n while (i0 < full0.length) {\n var found0 = full0.indexOf(partial0, i0);\n if (found0 === -1) {\n break;\n }\n var before0 = full0.substr(0, found0);\n i0 = found0 + partial0.length;\n var after0 = full0.substr(i0);\n var i1 = 0;\n while (i1 < full1.length) {\n var found1 = full1.indexOf(partial1, i1);\n if (found1 === -1) {\n break;\n }\n var before1 = full1.substr(0, found1);\n i1 = found1 + partial1.length;\n var after1 = full1.substr(i1);\n if (before0 === before1 && after0 === after1) {\n return {\n before: before0,\n after: after0,\n };\n }\n }\n }\n return null;\n}\n\nfunction expandZonedMarker(dateInfo, calendarSystem) {\n var a = calendarSystem.markerToArray(dateInfo.marker);\n return {\n marker: dateInfo.marker,\n timeZoneOffset: dateInfo.timeZoneOffset,\n array: a,\n year: a[0],\n month: a[1],\n day: a[2],\n hour: a[3],\n minute: a[4],\n second: a[5],\n millisecond: a[6],\n };\n}\n\nfunction createVerboseFormattingArg(start, end, context, betterDefaultSeparator) {\n var startInfo = expandZonedMarker(start, context.calendarSystem);\n var endInfo = end ? expandZonedMarker(end, context.calendarSystem) : null;\n return {\n date: startInfo,\n start: startInfo,\n end: endInfo,\n timeZone: context.timeZone,\n localeCodes: context.locale.codes,\n defaultSeparator: betterDefaultSeparator || context.defaultSeparator,\n };\n}\n\n/*\nTODO: fix the terminology of \"formatter\" vs \"formatting func\"\n*/\n/*\nAt the time of instantiation, this object does not know which cmd-formatting system it will use.\nIt receives this at the time of formatting, as a setting.\n*/\nvar CmdFormatter = /** @class */ (function () {\n function CmdFormatter(cmdStr) {\n this.cmdStr = cmdStr;\n }\n CmdFormatter.prototype.format = function (date, context, betterDefaultSeparator) {\n return context.cmdFormatter(this.cmdStr, createVerboseFormattingArg(date, null, context, betterDefaultSeparator));\n };\n CmdFormatter.prototype.formatRange = function (start, end, context, betterDefaultSeparator) {\n return context.cmdFormatter(this.cmdStr, createVerboseFormattingArg(start, end, context, betterDefaultSeparator));\n };\n return CmdFormatter;\n}());\n\nvar FuncFormatter = /** @class */ (function () {\n function FuncFormatter(func) {\n this.func = func;\n }\n FuncFormatter.prototype.format = function (date, context, betterDefaultSeparator) {\n return this.func(createVerboseFormattingArg(date, null, context, betterDefaultSeparator));\n };\n FuncFormatter.prototype.formatRange = function (start, end, context, betterDefaultSeparator) {\n return this.func(createVerboseFormattingArg(start, end, context, betterDefaultSeparator));\n };\n return FuncFormatter;\n}());\n\nfunction createFormatter(input) {\n if (typeof input === 'object' && input) { // non-null object\n return new NativeFormatter(input);\n }\n if (typeof input === 'string') {\n return new CmdFormatter(input);\n }\n if (typeof input === 'function') {\n return new FuncFormatter(input);\n }\n return null;\n}\n\n// base options\n// ------------\nvar BASE_OPTION_REFINERS = {\n navLinkDayClick: identity,\n navLinkWeekClick: identity,\n duration: createDuration,\n bootstrapFontAwesome: identity,\n buttonIcons: identity,\n customButtons: identity,\n defaultAllDayEventDuration: createDuration,\n defaultTimedEventDuration: createDuration,\n nextDayThreshold: createDuration,\n scrollTime: createDuration,\n scrollTimeReset: Boolean,\n slotMinTime: createDuration,\n slotMaxTime: createDuration,\n dayPopoverFormat: createFormatter,\n slotDuration: createDuration,\n snapDuration: createDuration,\n headerToolbar: identity,\n footerToolbar: identity,\n defaultRangeSeparator: String,\n titleRangeSeparator: String,\n forceEventDuration: Boolean,\n dayHeaders: Boolean,\n dayHeaderFormat: createFormatter,\n dayHeaderClassNames: identity,\n dayHeaderContent: identity,\n dayHeaderDidMount: identity,\n dayHeaderWillUnmount: identity,\n dayCellClassNames: identity,\n dayCellContent: identity,\n dayCellDidMount: identity,\n dayCellWillUnmount: identity,\n initialView: String,\n aspectRatio: Number,\n weekends: Boolean,\n weekNumberCalculation: identity,\n weekNumbers: Boolean,\n weekNumberClassNames: identity,\n weekNumberContent: identity,\n weekNumberDidMount: identity,\n weekNumberWillUnmount: identity,\n editable: Boolean,\n viewClassNames: identity,\n viewDidMount: identity,\n viewWillUnmount: identity,\n nowIndicator: Boolean,\n nowIndicatorClassNames: identity,\n nowIndicatorContent: identity,\n nowIndicatorDidMount: identity,\n nowIndicatorWillUnmount: identity,\n showNonCurrentDates: Boolean,\n lazyFetching: Boolean,\n startParam: String,\n endParam: String,\n timeZoneParam: String,\n timeZone: String,\n locales: identity,\n locale: identity,\n themeSystem: String,\n dragRevertDuration: Number,\n dragScroll: Boolean,\n allDayMaintainDuration: Boolean,\n unselectAuto: Boolean,\n dropAccept: identity,\n eventOrder: parseFieldSpecs,\n eventOrderStrict: Boolean,\n handleWindowResize: Boolean,\n windowResizeDelay: Number,\n longPressDelay: Number,\n eventDragMinDistance: Number,\n expandRows: Boolean,\n height: identity,\n contentHeight: identity,\n direction: String,\n weekNumberFormat: createFormatter,\n eventResizableFromStart: Boolean,\n displayEventTime: Boolean,\n displayEventEnd: Boolean,\n weekText: String,\n weekTextLong: String,\n progressiveEventRendering: Boolean,\n businessHours: identity,\n initialDate: identity,\n now: identity,\n eventDataTransform: identity,\n stickyHeaderDates: identity,\n stickyFooterScrollbar: identity,\n viewHeight: identity,\n defaultAllDay: Boolean,\n eventSourceFailure: identity,\n eventSourceSuccess: identity,\n eventDisplay: String,\n eventStartEditable: Boolean,\n eventDurationEditable: Boolean,\n eventOverlap: identity,\n eventConstraint: identity,\n eventAllow: identity,\n eventBackgroundColor: String,\n eventBorderColor: String,\n eventTextColor: String,\n eventColor: String,\n eventClassNames: identity,\n eventContent: identity,\n eventDidMount: identity,\n eventWillUnmount: identity,\n selectConstraint: identity,\n selectOverlap: identity,\n selectAllow: identity,\n droppable: Boolean,\n unselectCancel: String,\n slotLabelFormat: identity,\n slotLaneClassNames: identity,\n slotLaneContent: identity,\n slotLaneDidMount: identity,\n slotLaneWillUnmount: identity,\n slotLabelClassNames: identity,\n slotLabelContent: identity,\n slotLabelDidMount: identity,\n slotLabelWillUnmount: identity,\n dayMaxEvents: identity,\n dayMaxEventRows: identity,\n dayMinWidth: Number,\n slotLabelInterval: createDuration,\n allDayText: String,\n allDayClassNames: identity,\n allDayContent: identity,\n allDayDidMount: identity,\n allDayWillUnmount: identity,\n slotMinWidth: Number,\n navLinks: Boolean,\n eventTimeFormat: createFormatter,\n rerenderDelay: Number,\n moreLinkText: identity,\n moreLinkHint: identity,\n selectMinDistance: Number,\n selectable: Boolean,\n selectLongPressDelay: Number,\n eventLongPressDelay: Number,\n selectMirror: Boolean,\n eventMaxStack: Number,\n eventMinHeight: Number,\n eventMinWidth: Number,\n eventShortHeight: Number,\n slotEventOverlap: Boolean,\n plugins: identity,\n firstDay: Number,\n dayCount: Number,\n dateAlignment: String,\n dateIncrement: createDuration,\n hiddenDays: identity,\n monthMode: Boolean,\n fixedWeekCount: Boolean,\n validRange: identity,\n visibleRange: identity,\n titleFormat: identity,\n eventInteractive: Boolean,\n // only used by list-view, but languages define the value, so we need it in base options\n noEventsText: String,\n viewHint: identity,\n navLinkHint: identity,\n closeHint: String,\n timeHint: String,\n eventHint: String,\n moreLinkClick: identity,\n moreLinkClassNames: identity,\n moreLinkContent: identity,\n moreLinkDidMount: identity,\n moreLinkWillUnmount: identity,\n};\n// do NOT give a type here. need `typeof BASE_OPTION_DEFAULTS` to give real results.\n// raw values.\nvar BASE_OPTION_DEFAULTS = {\n eventDisplay: 'auto',\n defaultRangeSeparator: ' - ',\n titleRangeSeparator: ' \\u2013 ',\n defaultTimedEventDuration: '01:00:00',\n defaultAllDayEventDuration: { day: 1 },\n forceEventDuration: false,\n nextDayThreshold: '00:00:00',\n dayHeaders: true,\n initialView: '',\n aspectRatio: 1.35,\n headerToolbar: {\n start: 'title',\n center: '',\n end: 'today prev,next',\n },\n weekends: true,\n weekNumbers: false,\n weekNumberCalculation: 'local',\n editable: false,\n nowIndicator: false,\n scrollTime: '06:00:00',\n scrollTimeReset: true,\n slotMinTime: '00:00:00',\n slotMaxTime: '24:00:00',\n showNonCurrentDates: true,\n lazyFetching: true,\n startParam: 'start',\n endParam: 'end',\n timeZoneParam: 'timeZone',\n timeZone: 'local',\n locales: [],\n locale: '',\n themeSystem: 'standard',\n dragRevertDuration: 500,\n dragScroll: true,\n allDayMaintainDuration: false,\n unselectAuto: true,\n dropAccept: '*',\n eventOrder: 'start,-duration,allDay,title',\n dayPopoverFormat: { month: 'long', day: 'numeric', year: 'numeric' },\n handleWindowResize: true,\n windowResizeDelay: 100,\n longPressDelay: 1000,\n eventDragMinDistance: 5,\n expandRows: false,\n navLinks: false,\n selectable: false,\n eventMinHeight: 15,\n eventMinWidth: 30,\n eventShortHeight: 30,\n};\n// calendar listeners\n// ------------------\nvar CALENDAR_LISTENER_REFINERS = {\n datesSet: identity,\n eventsSet: identity,\n eventAdd: identity,\n eventChange: identity,\n eventRemove: identity,\n windowResize: identity,\n eventClick: identity,\n eventMouseEnter: identity,\n eventMouseLeave: identity,\n select: identity,\n unselect: identity,\n loading: identity,\n // internal\n _unmount: identity,\n _beforeprint: identity,\n _afterprint: identity,\n _noEventDrop: identity,\n _noEventResize: identity,\n _resize: identity,\n _scrollRequest: identity,\n};\n// calendar-specific options\n// -------------------------\nvar CALENDAR_OPTION_REFINERS = {\n buttonText: identity,\n buttonHints: identity,\n views: identity,\n plugins: identity,\n initialEvents: identity,\n events: identity,\n eventSources: identity,\n};\nvar COMPLEX_OPTION_COMPARATORS = {\n headerToolbar: isBoolComplexEqual,\n footerToolbar: isBoolComplexEqual,\n buttonText: isBoolComplexEqual,\n buttonHints: isBoolComplexEqual,\n buttonIcons: isBoolComplexEqual,\n};\nfunction isBoolComplexEqual(a, b) {\n if (typeof a === 'object' && typeof b === 'object' && a && b) { // both non-null objects\n return isPropsEqual(a, b);\n }\n return a === b;\n}\n// view-specific options\n// ---------------------\nvar VIEW_OPTION_REFINERS = {\n type: String,\n component: identity,\n buttonText: String,\n buttonTextKey: String,\n dateProfileGeneratorClass: identity,\n usesMinMaxTime: Boolean,\n classNames: identity,\n content: identity,\n didMount: identity,\n willUnmount: identity,\n};\n// util funcs\n// ----------------------------------------------------------------------------------------------------\nfunction mergeRawOptions(optionSets) {\n return mergeProps(optionSets, COMPLEX_OPTION_COMPARATORS);\n}\nfunction refineProps(input, refiners) {\n var refined = {};\n var extra = {};\n for (var propName in refiners) {\n if (propName in input) {\n refined[propName] = refiners[propName](input[propName]);\n }\n }\n for (var propName in input) {\n if (!(propName in refiners)) {\n extra[propName] = input[propName];\n }\n }\n return { refined: refined, extra: extra };\n}\nfunction identity(raw) {\n return raw;\n}\n\nfunction parseEvents(rawEvents, eventSource, context, allowOpenRange) {\n var eventStore = createEmptyEventStore();\n var eventRefiners = buildEventRefiners(context);\n for (var _i = 0, rawEvents_1 = rawEvents; _i < rawEvents_1.length; _i++) {\n var rawEvent = rawEvents_1[_i];\n var tuple = parseEvent(rawEvent, eventSource, context, allowOpenRange, eventRefiners);\n if (tuple) {\n eventTupleToStore(tuple, eventStore);\n }\n }\n return eventStore;\n}\nfunction eventTupleToStore(tuple, eventStore) {\n if (eventStore === void 0) { eventStore = createEmptyEventStore(); }\n eventStore.defs[tuple.def.defId] = tuple.def;\n if (tuple.instance) {\n eventStore.instances[tuple.instance.instanceId] = tuple.instance;\n }\n return eventStore;\n}\n// retrieves events that have the same groupId as the instance specified by `instanceId`\n// or they are the same as the instance.\n// why might instanceId not be in the store? an event from another calendar?\nfunction getRelevantEvents(eventStore, instanceId) {\n var instance = eventStore.instances[instanceId];\n if (instance) {\n var def_1 = eventStore.defs[instance.defId];\n // get events/instances with same group\n var newStore = filterEventStoreDefs(eventStore, function (lookDef) { return isEventDefsGrouped(def_1, lookDef); });\n // add the original\n // TODO: wish we could use eventTupleToStore or something like it\n newStore.defs[def_1.defId] = def_1;\n newStore.instances[instance.instanceId] = instance;\n return newStore;\n }\n return createEmptyEventStore();\n}\nfunction isEventDefsGrouped(def0, def1) {\n return Boolean(def0.groupId && def0.groupId === def1.groupId);\n}\nfunction createEmptyEventStore() {\n return { defs: {}, instances: {} };\n}\nfunction mergeEventStores(store0, store1) {\n return {\n defs: __assign(__assign({}, store0.defs), store1.defs),\n instances: __assign(__assign({}, store0.instances), store1.instances),\n };\n}\nfunction filterEventStoreDefs(eventStore, filterFunc) {\n var defs = filterHash(eventStore.defs, filterFunc);\n var instances = filterHash(eventStore.instances, function (instance) { return (defs[instance.defId] // still exists?\n ); });\n return { defs: defs, instances: instances };\n}\nfunction excludeSubEventStore(master, sub) {\n var defs = master.defs, instances = master.instances;\n var filteredDefs = {};\n var filteredInstances = {};\n for (var defId in defs) {\n if (!sub.defs[defId]) { // not explicitly excluded\n filteredDefs[defId] = defs[defId];\n }\n }\n for (var instanceId in instances) {\n if (!sub.instances[instanceId] && // not explicitly excluded\n filteredDefs[instances[instanceId].defId] // def wasn't filtered away\n ) {\n filteredInstances[instanceId] = instances[instanceId];\n }\n }\n return {\n defs: filteredDefs,\n instances: filteredInstances,\n };\n}\n\nfunction normalizeConstraint(input, context) {\n if (Array.isArray(input)) {\n return parseEvents(input, null, context, true); // allowOpenRange=true\n }\n if (typeof input === 'object' && input) { // non-null object\n return parseEvents([input], null, context, true); // allowOpenRange=true\n }\n if (input != null) {\n return String(input);\n }\n return null;\n}\n\nfunction parseClassNames(raw) {\n if (Array.isArray(raw)) {\n return raw;\n }\n if (typeof raw === 'string') {\n return raw.split(/\\s+/);\n }\n return [];\n}\n\n// TODO: better called \"EventSettings\" or \"EventConfig\"\n// TODO: move this file into structs\n// TODO: separate constraint/overlap/allow, because selection uses only that, not other props\nvar EVENT_UI_REFINERS = {\n display: String,\n editable: Boolean,\n startEditable: Boolean,\n durationEditable: Boolean,\n constraint: identity,\n overlap: identity,\n allow: identity,\n className: parseClassNames,\n classNames: parseClassNames,\n color: String,\n backgroundColor: String,\n borderColor: String,\n textColor: String,\n};\nvar EMPTY_EVENT_UI = {\n display: null,\n startEditable: null,\n durationEditable: null,\n constraints: [],\n overlap: null,\n allows: [],\n backgroundColor: '',\n borderColor: '',\n textColor: '',\n classNames: [],\n};\nfunction createEventUi(refined, context) {\n var constraint = normalizeConstraint(refined.constraint, context);\n return {\n display: refined.display || null,\n startEditable: refined.startEditable != null ? refined.startEditable : refined.editable,\n durationEditable: refined.durationEditable != null ? refined.durationEditable : refined.editable,\n constraints: constraint != null ? [constraint] : [],\n overlap: refined.overlap != null ? refined.overlap : null,\n allows: refined.allow != null ? [refined.allow] : [],\n backgroundColor: refined.backgroundColor || refined.color || '',\n borderColor: refined.borderColor || refined.color || '',\n textColor: refined.textColor || '',\n classNames: (refined.className || []).concat(refined.classNames || []), // join singular and plural\n };\n}\n// TODO: prevent against problems with <2 args!\nfunction combineEventUis(uis) {\n return uis.reduce(combineTwoEventUis, EMPTY_EVENT_UI);\n}\nfunction combineTwoEventUis(item0, item1) {\n return {\n display: item1.display != null ? item1.display : item0.display,\n startEditable: item1.startEditable != null ? item1.startEditable : item0.startEditable,\n durationEditable: item1.durationEditable != null ? item1.durationEditable : item0.durationEditable,\n constraints: item0.constraints.concat(item1.constraints),\n overlap: typeof item1.overlap === 'boolean' ? item1.overlap : item0.overlap,\n allows: item0.allows.concat(item1.allows),\n backgroundColor: item1.backgroundColor || item0.backgroundColor,\n borderColor: item1.borderColor || item0.borderColor,\n textColor: item1.textColor || item0.textColor,\n classNames: item0.classNames.concat(item1.classNames),\n };\n}\n\nvar EVENT_NON_DATE_REFINERS = {\n id: String,\n groupId: String,\n title: String,\n url: String,\n interactive: Boolean,\n};\nvar EVENT_DATE_REFINERS = {\n start: identity,\n end: identity,\n date: identity,\n allDay: Boolean,\n};\nvar EVENT_REFINERS = __assign(__assign(__assign({}, EVENT_NON_DATE_REFINERS), EVENT_DATE_REFINERS), { extendedProps: identity });\nfunction parseEvent(raw, eventSource, context, allowOpenRange, refiners) {\n if (refiners === void 0) { refiners = buildEventRefiners(context); }\n var _a = refineEventDef(raw, context, refiners), refined = _a.refined, extra = _a.extra;\n var defaultAllDay = computeIsDefaultAllDay(eventSource, context);\n var recurringRes = parseRecurring(refined, defaultAllDay, context.dateEnv, context.pluginHooks.recurringTypes);\n if (recurringRes) {\n var def = parseEventDef(refined, extra, eventSource ? eventSource.sourceId : '', recurringRes.allDay, Boolean(recurringRes.duration), context);\n def.recurringDef = {\n typeId: recurringRes.typeId,\n typeData: recurringRes.typeData,\n duration: recurringRes.duration,\n };\n return { def: def, instance: null };\n }\n var singleRes = parseSingle(refined, defaultAllDay, context, allowOpenRange);\n if (singleRes) {\n var def = parseEventDef(refined, extra, eventSource ? eventSource.sourceId : '', singleRes.allDay, singleRes.hasEnd, context);\n var instance = createEventInstance(def.defId, singleRes.range, singleRes.forcedStartTzo, singleRes.forcedEndTzo);\n return { def: def, instance: instance };\n }\n return null;\n}\nfunction refineEventDef(raw, context, refiners) {\n if (refiners === void 0) { refiners = buildEventRefiners(context); }\n return refineProps(raw, refiners);\n}\nfunction buildEventRefiners(context) {\n return __assign(__assign(__assign({}, EVENT_UI_REFINERS), EVENT_REFINERS), context.pluginHooks.eventRefiners);\n}\n/*\nWill NOT populate extendedProps with the leftover properties.\nWill NOT populate date-related props.\n*/\nfunction parseEventDef(refined, extra, sourceId, allDay, hasEnd, context) {\n var def = {\n title: refined.title || '',\n groupId: refined.groupId || '',\n publicId: refined.id || '',\n url: refined.url || '',\n recurringDef: null,\n defId: guid(),\n sourceId: sourceId,\n allDay: allDay,\n hasEnd: hasEnd,\n interactive: refined.interactive,\n ui: createEventUi(refined, context),\n extendedProps: __assign(__assign({}, (refined.extendedProps || {})), extra),\n };\n for (var _i = 0, _a = context.pluginHooks.eventDefMemberAdders; _i < _a.length; _i++) {\n var memberAdder = _a[_i];\n __assign(def, memberAdder(refined));\n }\n // help out EventApi from having user modify props\n Object.freeze(def.ui.classNames);\n Object.freeze(def.extendedProps);\n return def;\n}\nfunction parseSingle(refined, defaultAllDay, context, allowOpenRange) {\n var allDay = refined.allDay;\n var startMeta;\n var startMarker = null;\n var hasEnd = false;\n var endMeta;\n var endMarker = null;\n var startInput = refined.start != null ? refined.start : refined.date;\n startMeta = context.dateEnv.createMarkerMeta(startInput);\n if (startMeta) {\n startMarker = startMeta.marker;\n }\n else if (!allowOpenRange) {\n return null;\n }\n if (refined.end != null) {\n endMeta = context.dateEnv.createMarkerMeta(refined.end);\n }\n if (allDay == null) {\n if (defaultAllDay != null) {\n allDay = defaultAllDay;\n }\n else {\n // fall back to the date props LAST\n allDay = (!startMeta || startMeta.isTimeUnspecified) &&\n (!endMeta || endMeta.isTimeUnspecified);\n }\n }\n if (allDay && startMarker) {\n startMarker = startOfDay(startMarker);\n }\n if (endMeta) {\n endMarker = endMeta.marker;\n if (allDay) {\n endMarker = startOfDay(endMarker);\n }\n if (startMarker && endMarker <= startMarker) {\n endMarker = null;\n }\n }\n if (endMarker) {\n hasEnd = true;\n }\n else if (!allowOpenRange) {\n hasEnd = context.options.forceEventDuration || false;\n endMarker = context.dateEnv.add(startMarker, allDay ?\n context.options.defaultAllDayEventDuration :\n context.options.defaultTimedEventDuration);\n }\n return {\n allDay: allDay,\n hasEnd: hasEnd,\n range: { start: startMarker, end: endMarker },\n forcedStartTzo: startMeta ? startMeta.forcedTzo : null,\n forcedEndTzo: endMeta ? endMeta.forcedTzo : null,\n };\n}\nfunction computeIsDefaultAllDay(eventSource, context) {\n var res = null;\n if (eventSource) {\n res = eventSource.defaultAllDay;\n }\n if (res == null) {\n res = context.options.defaultAllDay;\n }\n return res;\n}\n\n/* Date stuff that doesn't belong in datelib core\n----------------------------------------------------------------------------------------------------------------------*/\n// given a timed range, computes an all-day range that has the same exact duration,\n// but whose start time is aligned with the start of the day.\nfunction computeAlignedDayRange(timedRange) {\n var dayCnt = Math.floor(diffDays(timedRange.start, timedRange.end)) || 1;\n var start = startOfDay(timedRange.start);\n var end = addDays(start, dayCnt);\n return { start: start, end: end };\n}\n// given a timed range, computes an all-day range based on how for the end date bleeds into the next day\n// TODO: give nextDayThreshold a default arg\nfunction computeVisibleDayRange(timedRange, nextDayThreshold) {\n if (nextDayThreshold === void 0) { nextDayThreshold = createDuration(0); }\n var startDay = null;\n var endDay = null;\n if (timedRange.end) {\n endDay = startOfDay(timedRange.end);\n var endTimeMS = timedRange.end.valueOf() - endDay.valueOf(); // # of milliseconds into `endDay`\n // If the end time is actually inclusively part of the next day and is equal to or\n // beyond the next day threshold, adjust the end to be the exclusive end of `endDay`.\n // Otherwise, leaving it as inclusive will cause it to exclude `endDay`.\n if (endTimeMS && endTimeMS >= asRoughMs(nextDayThreshold)) {\n endDay = addDays(endDay, 1);\n }\n }\n if (timedRange.start) {\n startDay = startOfDay(timedRange.start); // the beginning of the day the range starts\n // If end is within `startDay` but not past nextDayThreshold, assign the default duration of one day.\n if (endDay && endDay <= startDay) {\n endDay = addDays(startDay, 1);\n }\n }\n return { start: startDay, end: endDay };\n}\n// spans from one day into another?\nfunction isMultiDayRange(range) {\n var visibleRange = computeVisibleDayRange(range);\n return diffDays(visibleRange.start, visibleRange.end) > 1;\n}\nfunction diffDates(date0, date1, dateEnv, largeUnit) {\n if (largeUnit === 'year') {\n return createDuration(dateEnv.diffWholeYears(date0, date1), 'year');\n }\n if (largeUnit === 'month') {\n return createDuration(dateEnv.diffWholeMonths(date0, date1), 'month');\n }\n return diffDayAndTime(date0, date1); // returns a duration\n}\n\nfunction parseRange(input, dateEnv) {\n var start = null;\n var end = null;\n if (input.start) {\n start = dateEnv.createMarker(input.start);\n }\n if (input.end) {\n end = dateEnv.createMarker(input.end);\n }\n if (!start && !end) {\n return null;\n }\n if (start && end && end < start) {\n return null;\n }\n return { start: start, end: end };\n}\n// SIDE-EFFECT: will mutate ranges.\n// Will return a new array result.\nfunction invertRanges(ranges, constraintRange) {\n var invertedRanges = [];\n var start = constraintRange.start; // the end of the previous range. the start of the new range\n var i;\n var dateRange;\n // ranges need to be in order. required for our date-walking algorithm\n ranges.sort(compareRanges);\n for (i = 0; i < ranges.length; i += 1) {\n dateRange = ranges[i];\n // add the span of time before the event (if there is any)\n if (dateRange.start > start) { // compare millisecond time (skip any ambig logic)\n invertedRanges.push({ start: start, end: dateRange.start });\n }\n if (dateRange.end > start) {\n start = dateRange.end;\n }\n }\n // add the span of time after the last event (if there is any)\n if (start < constraintRange.end) { // compare millisecond time (skip any ambig logic)\n invertedRanges.push({ start: start, end: constraintRange.end });\n }\n return invertedRanges;\n}\nfunction compareRanges(range0, range1) {\n return range0.start.valueOf() - range1.start.valueOf(); // earlier ranges go first\n}\nfunction intersectRanges(range0, range1) {\n var start = range0.start, end = range0.end;\n var newRange = null;\n if (range1.start !== null) {\n if (start === null) {\n start = range1.start;\n }\n else {\n start = new Date(Math.max(start.valueOf(), range1.start.valueOf()));\n }\n }\n if (range1.end != null) {\n if (end === null) {\n end = range1.end;\n }\n else {\n end = new Date(Math.min(end.valueOf(), range1.end.valueOf()));\n }\n }\n if (start === null || end === null || start < end) {\n newRange = { start: start, end: end };\n }\n return newRange;\n}\nfunction rangesEqual(range0, range1) {\n return (range0.start === null ? null : range0.start.valueOf()) === (range1.start === null ? null : range1.start.valueOf()) &&\n (range0.end === null ? null : range0.end.valueOf()) === (range1.end === null ? null : range1.end.valueOf());\n}\nfunction rangesIntersect(range0, range1) {\n return (range0.end === null || range1.start === null || range0.end > range1.start) &&\n (range0.start === null || range1.end === null || range0.start < range1.end);\n}\nfunction rangeContainsRange(outerRange, innerRange) {\n return (outerRange.start === null || (innerRange.start !== null && innerRange.start >= outerRange.start)) &&\n (outerRange.end === null || (innerRange.end !== null && innerRange.end <= outerRange.end));\n}\nfunction rangeContainsMarker(range, date) {\n return (range.start === null || date >= range.start) &&\n (range.end === null || date < range.end);\n}\n// If the given date is not within the given range, move it inside.\n// (If it's past the end, make it one millisecond before the end).\nfunction constrainMarkerToRange(date, range) {\n if (range.start != null && date < range.start) {\n return range.start;\n }\n if (range.end != null && date >= range.end) {\n return new Date(range.end.valueOf() - 1);\n }\n return date;\n}\n\n/*\nSpecifying nextDayThreshold signals that all-day ranges should be sliced.\n*/\nfunction sliceEventStore(eventStore, eventUiBases, framingRange, nextDayThreshold) {\n var inverseBgByGroupId = {};\n var inverseBgByDefId = {};\n var defByGroupId = {};\n var bgRanges = [];\n var fgRanges = [];\n var eventUis = compileEventUis(eventStore.defs, eventUiBases);\n for (var defId in eventStore.defs) {\n var def = eventStore.defs[defId];\n var ui = eventUis[def.defId];\n if (ui.display === 'inverse-background') {\n if (def.groupId) {\n inverseBgByGroupId[def.groupId] = [];\n if (!defByGroupId[def.groupId]) {\n defByGroupId[def.groupId] = def;\n }\n }\n else {\n inverseBgByDefId[defId] = [];\n }\n }\n }\n for (var instanceId in eventStore.instances) {\n var instance = eventStore.instances[instanceId];\n var def = eventStore.defs[instance.defId];\n var ui = eventUis[def.defId];\n var origRange = instance.range;\n var normalRange = (!def.allDay && nextDayThreshold) ?\n computeVisibleDayRange(origRange, nextDayThreshold) :\n origRange;\n var slicedRange = intersectRanges(normalRange, framingRange);\n if (slicedRange) {\n if (ui.display === 'inverse-background') {\n if (def.groupId) {\n inverseBgByGroupId[def.groupId].push(slicedRange);\n }\n else {\n inverseBgByDefId[instance.defId].push(slicedRange);\n }\n }\n else if (ui.display !== 'none') {\n (ui.display === 'background' ? bgRanges : fgRanges).push({\n def: def,\n ui: ui,\n instance: instance,\n range: slicedRange,\n isStart: normalRange.start && normalRange.start.valueOf() === slicedRange.start.valueOf(),\n isEnd: normalRange.end && normalRange.end.valueOf() === slicedRange.end.valueOf(),\n });\n }\n }\n }\n for (var groupId in inverseBgByGroupId) { // BY GROUP\n var ranges = inverseBgByGroupId[groupId];\n var invertedRanges = invertRanges(ranges, framingRange);\n for (var _i = 0, invertedRanges_1 = invertedRanges; _i < invertedRanges_1.length; _i++) {\n var invertedRange = invertedRanges_1[_i];\n var def = defByGroupId[groupId];\n var ui = eventUis[def.defId];\n bgRanges.push({\n def: def,\n ui: ui,\n instance: null,\n range: invertedRange,\n isStart: false,\n isEnd: false,\n });\n }\n }\n for (var defId in inverseBgByDefId) {\n var ranges = inverseBgByDefId[defId];\n var invertedRanges = invertRanges(ranges, framingRange);\n for (var _a = 0, invertedRanges_2 = invertedRanges; _a < invertedRanges_2.length; _a++) {\n var invertedRange = invertedRanges_2[_a];\n bgRanges.push({\n def: eventStore.defs[defId],\n ui: eventUis[defId],\n instance: null,\n range: invertedRange,\n isStart: false,\n isEnd: false,\n });\n }\n }\n return { bg: bgRanges, fg: fgRanges };\n}\nfunction hasBgRendering(def) {\n return def.ui.display === 'background' || def.ui.display === 'inverse-background';\n}\nfunction setElSeg(el, seg) {\n el.fcSeg = seg;\n}\nfunction getElSeg(el) {\n return el.fcSeg ||\n el.parentNode.fcSeg || // for the harness\n null;\n}\n// event ui computation\nfunction compileEventUis(eventDefs, eventUiBases) {\n return mapHash(eventDefs, function (eventDef) { return compileEventUi(eventDef, eventUiBases); });\n}\nfunction compileEventUi(eventDef, eventUiBases) {\n var uis = [];\n if (eventUiBases['']) {\n uis.push(eventUiBases['']);\n }\n if (eventUiBases[eventDef.defId]) {\n uis.push(eventUiBases[eventDef.defId]);\n }\n uis.push(eventDef.ui);\n return combineEventUis(uis);\n}\nfunction sortEventSegs(segs, eventOrderSpecs) {\n var objs = segs.map(buildSegCompareObj);\n objs.sort(function (obj0, obj1) { return compareByFieldSpecs(obj0, obj1, eventOrderSpecs); });\n return objs.map(function (c) { return c._seg; });\n}\n// returns a object with all primitive props that can be compared\nfunction buildSegCompareObj(seg) {\n var eventRange = seg.eventRange;\n var eventDef = eventRange.def;\n var range = eventRange.instance ? eventRange.instance.range : eventRange.range;\n var start = range.start ? range.start.valueOf() : 0; // TODO: better support for open-range events\n var end = range.end ? range.end.valueOf() : 0; // \"\n return __assign(__assign(__assign({}, eventDef.extendedProps), eventDef), { id: eventDef.publicId, start: start,\n end: end, duration: end - start, allDay: Number(eventDef.allDay), _seg: seg });\n}\nfunction computeSegDraggable(seg, context) {\n var pluginHooks = context.pluginHooks;\n var transformers = pluginHooks.isDraggableTransformers;\n var _a = seg.eventRange, def = _a.def, ui = _a.ui;\n var val = ui.startEditable;\n for (var _i = 0, transformers_1 = transformers; _i < transformers_1.length; _i++) {\n var transformer = transformers_1[_i];\n val = transformer(val, def, ui, context);\n }\n return val;\n}\nfunction computeSegStartResizable(seg, context) {\n return seg.isStart && seg.eventRange.ui.durationEditable && context.options.eventResizableFromStart;\n}\nfunction computeSegEndResizable(seg, context) {\n return seg.isEnd && seg.eventRange.ui.durationEditable;\n}\nfunction buildSegTimeText(seg, timeFormat, context, defaultDisplayEventTime, // defaults to true\ndefaultDisplayEventEnd, // defaults to true\nstartOverride, endOverride) {\n var dateEnv = context.dateEnv, options = context.options;\n var displayEventTime = options.displayEventTime, displayEventEnd = options.displayEventEnd;\n var eventDef = seg.eventRange.def;\n var eventInstance = seg.eventRange.instance;\n if (displayEventTime == null) {\n displayEventTime = defaultDisplayEventTime !== false;\n }\n if (displayEventEnd == null) {\n displayEventEnd = defaultDisplayEventEnd !== false;\n }\n var wholeEventStart = eventInstance.range.start;\n var wholeEventEnd = eventInstance.range.end;\n var segStart = startOverride || seg.start || seg.eventRange.range.start;\n var segEnd = endOverride || seg.end || seg.eventRange.range.end;\n var isStartDay = startOfDay(wholeEventStart).valueOf() === startOfDay(segStart).valueOf();\n var isEndDay = startOfDay(addMs(wholeEventEnd, -1)).valueOf() === startOfDay(addMs(segEnd, -1)).valueOf();\n if (displayEventTime && !eventDef.allDay && (isStartDay || isEndDay)) {\n segStart = isStartDay ? wholeEventStart : segStart;\n segEnd = isEndDay ? wholeEventEnd : segEnd;\n if (displayEventEnd && eventDef.hasEnd) {\n return dateEnv.formatRange(segStart, segEnd, timeFormat, {\n forcedStartTzo: startOverride ? null : eventInstance.forcedStartTzo,\n forcedEndTzo: endOverride ? null : eventInstance.forcedEndTzo,\n });\n }\n return dateEnv.format(segStart, timeFormat, {\n forcedTzo: startOverride ? null : eventInstance.forcedStartTzo, // nooooo, same\n });\n }\n return '';\n}\nfunction getSegMeta(seg, todayRange, nowDate) {\n var segRange = seg.eventRange.range;\n return {\n isPast: segRange.end < (nowDate || todayRange.start),\n isFuture: segRange.start >= (nowDate || todayRange.end),\n isToday: todayRange && rangeContainsMarker(todayRange, segRange.start),\n };\n}\nfunction getEventClassNames(props) {\n var classNames = ['fc-event'];\n if (props.isMirror) {\n classNames.push('fc-event-mirror');\n }\n if (props.isDraggable) {\n classNames.push('fc-event-draggable');\n }\n if (props.isStartResizable || props.isEndResizable) {\n classNames.push('fc-event-resizable');\n }\n if (props.isDragging) {\n classNames.push('fc-event-dragging');\n }\n if (props.isResizing) {\n classNames.push('fc-event-resizing');\n }\n if (props.isSelected) {\n classNames.push('fc-event-selected');\n }\n if (props.isStart) {\n classNames.push('fc-event-start');\n }\n if (props.isEnd) {\n classNames.push('fc-event-end');\n }\n if (props.isPast) {\n classNames.push('fc-event-past');\n }\n if (props.isToday) {\n classNames.push('fc-event-today');\n }\n if (props.isFuture) {\n classNames.push('fc-event-future');\n }\n return classNames;\n}\nfunction buildEventRangeKey(eventRange) {\n return eventRange.instance\n ? eventRange.instance.instanceId\n : eventRange.def.defId + \":\" + eventRange.range.start.toISOString();\n // inverse-background events don't have specific instances. TODO: better solution\n}\nfunction getSegAnchorAttrs(seg, context) {\n var _a = seg.eventRange, def = _a.def, instance = _a.instance;\n var url = def.url;\n if (url) {\n return { href: url };\n }\n var emitter = context.emitter, options = context.options;\n var eventInteractive = options.eventInteractive;\n if (eventInteractive == null) {\n eventInteractive = def.interactive;\n if (eventInteractive == null) {\n eventInteractive = Boolean(emitter.hasHandlers('eventClick'));\n }\n }\n // mock what happens in EventClicking\n if (eventInteractive) {\n // only attach keyboard-related handlers because click handler is already done in EventClicking\n return createAriaKeyboardAttrs(function (ev) {\n emitter.trigger('eventClick', {\n el: ev.target,\n event: new EventApi(context, def, instance),\n jsEvent: ev,\n view: context.viewApi,\n });\n });\n }\n return {};\n}\n\nvar STANDARD_PROPS = {\n start: identity,\n end: identity,\n allDay: Boolean,\n};\nfunction parseDateSpan(raw, dateEnv, defaultDuration) {\n var span = parseOpenDateSpan(raw, dateEnv);\n var range = span.range;\n if (!range.start) {\n return null;\n }\n if (!range.end) {\n if (defaultDuration == null) {\n return null;\n }\n range.end = dateEnv.add(range.start, defaultDuration);\n }\n return span;\n}\n/*\nTODO: somehow combine with parseRange?\nWill return null if the start/end props were present but parsed invalidly.\n*/\nfunction parseOpenDateSpan(raw, dateEnv) {\n var _a = refineProps(raw, STANDARD_PROPS), standardProps = _a.refined, extra = _a.extra;\n var startMeta = standardProps.start ? dateEnv.createMarkerMeta(standardProps.start) : null;\n var endMeta = standardProps.end ? dateEnv.createMarkerMeta(standardProps.end) : null;\n var allDay = standardProps.allDay;\n if (allDay == null) {\n allDay = (startMeta && startMeta.isTimeUnspecified) &&\n (!endMeta || endMeta.isTimeUnspecified);\n }\n return __assign({ range: {\n start: startMeta ? startMeta.marker : null,\n end: endMeta ? endMeta.marker : null,\n }, allDay: allDay }, extra);\n}\nfunction isDateSpansEqual(span0, span1) {\n return rangesEqual(span0.range, span1.range) &&\n span0.allDay === span1.allDay &&\n isSpanPropsEqual(span0, span1);\n}\n// the NON-DATE-RELATED props\nfunction isSpanPropsEqual(span0, span1) {\n for (var propName in span1) {\n if (propName !== 'range' && propName !== 'allDay') {\n if (span0[propName] !== span1[propName]) {\n return false;\n }\n }\n }\n // are there any props that span0 has that span1 DOESN'T have?\n // both have range/allDay, so no need to special-case.\n for (var propName in span0) {\n if (!(propName in span1)) {\n return false;\n }\n }\n return true;\n}\nfunction buildDateSpanApi(span, dateEnv) {\n return __assign(__assign({}, buildRangeApi(span.range, dateEnv, span.allDay)), { allDay: span.allDay });\n}\nfunction buildRangeApiWithTimeZone(range, dateEnv, omitTime) {\n return __assign(__assign({}, buildRangeApi(range, dateEnv, omitTime)), { timeZone: dateEnv.timeZone });\n}\nfunction buildRangeApi(range, dateEnv, omitTime) {\n return {\n start: dateEnv.toDate(range.start),\n end: dateEnv.toDate(range.end),\n startStr: dateEnv.formatIso(range.start, { omitTime: omitTime }),\n endStr: dateEnv.formatIso(range.end, { omitTime: omitTime }),\n };\n}\nfunction fabricateEventRange(dateSpan, eventUiBases, context) {\n var res = refineEventDef({ editable: false }, context);\n var def = parseEventDef(res.refined, res.extra, '', // sourceId\n dateSpan.allDay, true, // hasEnd\n context);\n return {\n def: def,\n ui: compileEventUi(def, eventUiBases),\n instance: createEventInstance(def.defId, dateSpan.range),\n range: dateSpan.range,\n isStart: true,\n isEnd: true,\n };\n}\n\nfunction triggerDateSelect(selection, pev, context) {\n context.emitter.trigger('select', __assign(__assign({}, buildDateSpanApiWithContext(selection, context)), { jsEvent: pev ? pev.origEvent : null, view: context.viewApi || context.calendarApi.view }));\n}\nfunction triggerDateUnselect(pev, context) {\n context.emitter.trigger('unselect', {\n jsEvent: pev ? pev.origEvent : null,\n view: context.viewApi || context.calendarApi.view,\n });\n}\nfunction buildDateSpanApiWithContext(dateSpan, context) {\n var props = {};\n for (var _i = 0, _a = context.pluginHooks.dateSpanTransforms; _i < _a.length; _i++) {\n var transform = _a[_i];\n __assign(props, transform(dateSpan, context));\n }\n __assign(props, buildDateSpanApi(dateSpan, context.dateEnv));\n return props;\n}\n// Given an event's allDay status and start date, return what its fallback end date should be.\n// TODO: rename to computeDefaultEventEnd\nfunction getDefaultEventEnd(allDay, marker, context) {\n var dateEnv = context.dateEnv, options = context.options;\n var end = marker;\n if (allDay) {\n end = startOfDay(end);\n end = dateEnv.add(end, options.defaultAllDayEventDuration);\n }\n else {\n end = dateEnv.add(end, options.defaultTimedEventDuration);\n }\n return end;\n}\n\n// applies the mutation to ALL defs/instances within the event store\nfunction applyMutationToEventStore(eventStore, eventConfigBase, mutation, context) {\n var eventConfigs = compileEventUis(eventStore.defs, eventConfigBase);\n var dest = createEmptyEventStore();\n for (var defId in eventStore.defs) {\n var def = eventStore.defs[defId];\n dest.defs[defId] = applyMutationToEventDef(def, eventConfigs[defId], mutation, context);\n }\n for (var instanceId in eventStore.instances) {\n var instance = eventStore.instances[instanceId];\n var def = dest.defs[instance.defId]; // important to grab the newly modified def\n dest.instances[instanceId] = applyMutationToEventInstance(instance, def, eventConfigs[instance.defId], mutation, context);\n }\n return dest;\n}\nfunction applyMutationToEventDef(eventDef, eventConfig, mutation, context) {\n var standardProps = mutation.standardProps || {};\n // if hasEnd has not been specified, guess a good value based on deltas.\n // if duration will change, there's no way the default duration will persist,\n // and thus, we need to mark the event as having a real end\n if (standardProps.hasEnd == null &&\n eventConfig.durationEditable &&\n (mutation.startDelta || mutation.endDelta)) {\n standardProps.hasEnd = true; // TODO: is this mutation okay?\n }\n var copy = __assign(__assign(__assign({}, eventDef), standardProps), { ui: __assign(__assign({}, eventDef.ui), standardProps.ui) });\n if (mutation.extendedProps) {\n copy.extendedProps = __assign(__assign({}, copy.extendedProps), mutation.extendedProps);\n }\n for (var _i = 0, _a = context.pluginHooks.eventDefMutationAppliers; _i < _a.length; _i++) {\n var applier = _a[_i];\n applier(copy, mutation, context);\n }\n if (!copy.hasEnd && context.options.forceEventDuration) {\n copy.hasEnd = true;\n }\n return copy;\n}\nfunction applyMutationToEventInstance(eventInstance, eventDef, // must first be modified by applyMutationToEventDef\neventConfig, mutation, context) {\n var dateEnv = context.dateEnv;\n var forceAllDay = mutation.standardProps && mutation.standardProps.allDay === true;\n var clearEnd = mutation.standardProps && mutation.standardProps.hasEnd === false;\n var copy = __assign({}, eventInstance);\n if (forceAllDay) {\n copy.range = computeAlignedDayRange(copy.range);\n }\n if (mutation.datesDelta && eventConfig.startEditable) {\n copy.range = {\n start: dateEnv.add(copy.range.start, mutation.datesDelta),\n end: dateEnv.add(copy.range.end, mutation.datesDelta),\n };\n }\n if (mutation.startDelta && eventConfig.durationEditable) {\n copy.range = {\n start: dateEnv.add(copy.range.start, mutation.startDelta),\n end: copy.range.end,\n };\n }\n if (mutation.endDelta && eventConfig.durationEditable) {\n copy.range = {\n start: copy.range.start,\n end: dateEnv.add(copy.range.end, mutation.endDelta),\n };\n }\n if (clearEnd) {\n copy.range = {\n start: copy.range.start,\n end: getDefaultEventEnd(eventDef.allDay, copy.range.start, context),\n };\n }\n // in case event was all-day but the supplied deltas were not\n // better util for this?\n if (eventDef.allDay) {\n copy.range = {\n start: startOfDay(copy.range.start),\n end: startOfDay(copy.range.end),\n };\n }\n // handle invalid durations\n if (copy.range.end < copy.range.start) {\n copy.range.end = getDefaultEventEnd(eventDef.allDay, copy.range.start, context);\n }\n return copy;\n}\n\n// no public types yet. when there are, export from:\n// import {} from './api-type-deps'\nvar ViewApi = /** @class */ (function () {\n function ViewApi(type, getCurrentData, dateEnv) {\n this.type = type;\n this.getCurrentData = getCurrentData;\n this.dateEnv = dateEnv;\n }\n Object.defineProperty(ViewApi.prototype, \"calendar\", {\n get: function () {\n return this.getCurrentData().calendarApi;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ViewApi.prototype, \"title\", {\n get: function () {\n return this.getCurrentData().viewTitle;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ViewApi.prototype, \"activeStart\", {\n get: function () {\n return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.start);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ViewApi.prototype, \"activeEnd\", {\n get: function () {\n return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.end);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ViewApi.prototype, \"currentStart\", {\n get: function () {\n return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.start);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ViewApi.prototype, \"currentEnd\", {\n get: function () {\n return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.end);\n },\n enumerable: false,\n configurable: true\n });\n ViewApi.prototype.getOption = function (name) {\n return this.getCurrentData().options[name]; // are the view-specific options\n };\n return ViewApi;\n}());\n\nvar EVENT_SOURCE_REFINERS = {\n id: String,\n defaultAllDay: Boolean,\n url: String,\n format: String,\n events: identity,\n eventDataTransform: identity,\n // for any network-related sources\n success: identity,\n failure: identity,\n};\nfunction parseEventSource(raw, context, refiners) {\n if (refiners === void 0) { refiners = buildEventSourceRefiners(context); }\n var rawObj;\n if (typeof raw === 'string') {\n rawObj = { url: raw };\n }\n else if (typeof raw === 'function' || Array.isArray(raw)) {\n rawObj = { events: raw };\n }\n else if (typeof raw === 'object' && raw) { // not null\n rawObj = raw;\n }\n if (rawObj) {\n var _a = refineProps(rawObj, refiners), refined = _a.refined, extra = _a.extra;\n var metaRes = buildEventSourceMeta(refined, context);\n if (metaRes) {\n return {\n _raw: raw,\n isFetching: false,\n latestFetchId: '',\n fetchRange: null,\n defaultAllDay: refined.defaultAllDay,\n eventDataTransform: refined.eventDataTransform,\n success: refined.success,\n failure: refined.failure,\n publicId: refined.id || '',\n sourceId: guid(),\n sourceDefId: metaRes.sourceDefId,\n meta: metaRes.meta,\n ui: createEventUi(refined, context),\n extendedProps: extra,\n };\n }\n }\n return null;\n}\nfunction buildEventSourceRefiners(context) {\n return __assign(__assign(__assign({}, EVENT_UI_REFINERS), EVENT_SOURCE_REFINERS), context.pluginHooks.eventSourceRefiners);\n}\nfunction buildEventSourceMeta(raw, context) {\n var defs = context.pluginHooks.eventSourceDefs;\n for (var i = defs.length - 1; i >= 0; i -= 1) { // later-added plugins take precedence\n var def = defs[i];\n var meta = def.parseMeta(raw);\n if (meta) {\n return { sourceDefId: i, meta: meta };\n }\n }\n return null;\n}\n\nfunction reduceCurrentDate(currentDate, action) {\n switch (action.type) {\n case 'CHANGE_DATE':\n return action.dateMarker;\n default:\n return currentDate;\n }\n}\nfunction getInitialDate(options, dateEnv) {\n var initialDateInput = options.initialDate;\n // compute the initial ambig-timezone date\n if (initialDateInput != null) {\n return dateEnv.createMarker(initialDateInput);\n }\n return getNow(options.now, dateEnv); // getNow already returns unzoned\n}\nfunction getNow(nowInput, dateEnv) {\n if (typeof nowInput === 'function') {\n nowInput = nowInput();\n }\n if (nowInput == null) {\n return dateEnv.createNowMarker();\n }\n return dateEnv.createMarker(nowInput);\n}\n\nvar CalendarApi = /** @class */ (function () {\n function CalendarApi() {\n }\n CalendarApi.prototype.getCurrentData = function () {\n return this.currentDataManager.getCurrentData();\n };\n CalendarApi.prototype.dispatch = function (action) {\n return this.currentDataManager.dispatch(action);\n };\n Object.defineProperty(CalendarApi.prototype, \"view\", {\n get: function () { return this.getCurrentData().viewApi; } // for public API\n ,\n enumerable: false,\n configurable: true\n });\n CalendarApi.prototype.batchRendering = function (callback) {\n callback();\n };\n CalendarApi.prototype.updateSize = function () {\n this.trigger('_resize', true);\n };\n // Options\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.setOption = function (name, val) {\n this.dispatch({\n type: 'SET_OPTION',\n optionName: name,\n rawOptionValue: val,\n });\n };\n CalendarApi.prototype.getOption = function (name) {\n return this.currentDataManager.currentCalendarOptionsInput[name];\n };\n CalendarApi.prototype.getAvailableLocaleCodes = function () {\n return Object.keys(this.getCurrentData().availableRawLocales);\n };\n // Trigger\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.on = function (handlerName, handler) {\n var currentDataManager = this.currentDataManager;\n if (currentDataManager.currentCalendarOptionsRefiners[handlerName]) {\n currentDataManager.emitter.on(handlerName, handler);\n }\n else {\n console.warn(\"Unknown listener name '\" + handlerName + \"'\");\n }\n };\n CalendarApi.prototype.off = function (handlerName, handler) {\n this.currentDataManager.emitter.off(handlerName, handler);\n };\n // not meant for public use\n CalendarApi.prototype.trigger = function (handlerName) {\n var _a;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n (_a = this.currentDataManager.emitter).trigger.apply(_a, __spreadArray([handlerName], args));\n };\n // View\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.changeView = function (viewType, dateOrRange) {\n var _this = this;\n this.batchRendering(function () {\n _this.unselect();\n if (dateOrRange) {\n if (dateOrRange.start && dateOrRange.end) { // a range\n _this.dispatch({\n type: 'CHANGE_VIEW_TYPE',\n viewType: viewType,\n });\n _this.dispatch({\n type: 'SET_OPTION',\n optionName: 'visibleRange',\n rawOptionValue: dateOrRange,\n });\n }\n else {\n var dateEnv = _this.getCurrentData().dateEnv;\n _this.dispatch({\n type: 'CHANGE_VIEW_TYPE',\n viewType: viewType,\n dateMarker: dateEnv.createMarker(dateOrRange),\n });\n }\n }\n else {\n _this.dispatch({\n type: 'CHANGE_VIEW_TYPE',\n viewType: viewType,\n });\n }\n });\n };\n // Forces navigation to a view for the given date.\n // `viewType` can be a specific view name or a generic one like \"week\" or \"day\".\n // needs to change\n CalendarApi.prototype.zoomTo = function (dateMarker, viewType) {\n var state = this.getCurrentData();\n var spec;\n viewType = viewType || 'day'; // day is default zoom\n spec = state.viewSpecs[viewType] || this.getUnitViewSpec(viewType);\n this.unselect();\n if (spec) {\n this.dispatch({\n type: 'CHANGE_VIEW_TYPE',\n viewType: spec.type,\n dateMarker: dateMarker,\n });\n }\n else {\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: dateMarker,\n });\n }\n };\n // Given a duration singular unit, like \"week\" or \"day\", finds a matching view spec.\n // Preference is given to views that have corresponding buttons.\n CalendarApi.prototype.getUnitViewSpec = function (unit) {\n var _a = this.getCurrentData(), viewSpecs = _a.viewSpecs, toolbarConfig = _a.toolbarConfig;\n var viewTypes = [].concat(toolbarConfig.header ? toolbarConfig.header.viewsWithButtons : [], toolbarConfig.footer ? toolbarConfig.footer.viewsWithButtons : []);\n var i;\n var spec;\n for (var viewType in viewSpecs) {\n viewTypes.push(viewType);\n }\n for (i = 0; i < viewTypes.length; i += 1) {\n spec = viewSpecs[viewTypes[i]];\n if (spec) {\n if (spec.singleUnit === unit) {\n return spec;\n }\n }\n }\n return null;\n };\n // Current Date\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.prev = function () {\n this.unselect();\n this.dispatch({ type: 'PREV' });\n };\n CalendarApi.prototype.next = function () {\n this.unselect();\n this.dispatch({ type: 'NEXT' });\n };\n CalendarApi.prototype.prevYear = function () {\n var state = this.getCurrentData();\n this.unselect();\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: state.dateEnv.addYears(state.currentDate, -1),\n });\n };\n CalendarApi.prototype.nextYear = function () {\n var state = this.getCurrentData();\n this.unselect();\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: state.dateEnv.addYears(state.currentDate, 1),\n });\n };\n CalendarApi.prototype.today = function () {\n var state = this.getCurrentData();\n this.unselect();\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: getNow(state.calendarOptions.now, state.dateEnv),\n });\n };\n CalendarApi.prototype.gotoDate = function (zonedDateInput) {\n var state = this.getCurrentData();\n this.unselect();\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: state.dateEnv.createMarker(zonedDateInput),\n });\n };\n CalendarApi.prototype.incrementDate = function (deltaInput) {\n var state = this.getCurrentData();\n var delta = createDuration(deltaInput);\n if (delta) { // else, warn about invalid input?\n this.unselect();\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: state.dateEnv.add(state.currentDate, delta),\n });\n }\n };\n // for external API\n CalendarApi.prototype.getDate = function () {\n var state = this.getCurrentData();\n return state.dateEnv.toDate(state.currentDate);\n };\n // Date Formatting Utils\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.formatDate = function (d, formatter) {\n var dateEnv = this.getCurrentData().dateEnv;\n return dateEnv.format(dateEnv.createMarker(d), createFormatter(formatter));\n };\n // `settings` is for formatter AND isEndExclusive\n CalendarApi.prototype.formatRange = function (d0, d1, settings) {\n var dateEnv = this.getCurrentData().dateEnv;\n return dateEnv.formatRange(dateEnv.createMarker(d0), dateEnv.createMarker(d1), createFormatter(settings), settings);\n };\n CalendarApi.prototype.formatIso = function (d, omitTime) {\n var dateEnv = this.getCurrentData().dateEnv;\n return dateEnv.formatIso(dateEnv.createMarker(d), { omitTime: omitTime });\n };\n // Date Selection / Event Selection / DayClick\n // -----------------------------------------------------------------------------------------------------------------\n // this public method receives start/end dates in any format, with any timezone\n // NOTE: args were changed from v3\n CalendarApi.prototype.select = function (dateOrObj, endDate) {\n var selectionInput;\n if (endDate == null) {\n if (dateOrObj.start != null) {\n selectionInput = dateOrObj;\n }\n else {\n selectionInput = {\n start: dateOrObj,\n end: null,\n };\n }\n }\n else {\n selectionInput = {\n start: dateOrObj,\n end: endDate,\n };\n }\n var state = this.getCurrentData();\n var selection = parseDateSpan(selectionInput, state.dateEnv, createDuration({ days: 1 }));\n if (selection) { // throw parse error otherwise?\n this.dispatch({ type: 'SELECT_DATES', selection: selection });\n triggerDateSelect(selection, null, state);\n }\n };\n // public method\n CalendarApi.prototype.unselect = function (pev) {\n var state = this.getCurrentData();\n if (state.dateSelection) {\n this.dispatch({ type: 'UNSELECT_DATES' });\n triggerDateUnselect(pev, state);\n }\n };\n // Public Events API\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.addEvent = function (eventInput, sourceInput) {\n if (eventInput instanceof EventApi) {\n var def = eventInput._def;\n var instance = eventInput._instance;\n var currentData = this.getCurrentData();\n // not already present? don't want to add an old snapshot\n if (!currentData.eventStore.defs[def.defId]) {\n this.dispatch({\n type: 'ADD_EVENTS',\n eventStore: eventTupleToStore({ def: def, instance: instance }), // TODO: better util for two args?\n });\n this.triggerEventAdd(eventInput);\n }\n return eventInput;\n }\n var state = this.getCurrentData();\n var eventSource;\n if (sourceInput instanceof EventSourceApi) {\n eventSource = sourceInput.internalEventSource;\n }\n else if (typeof sourceInput === 'boolean') {\n if (sourceInput) { // true. part of the first event source\n eventSource = hashValuesToArray(state.eventSources)[0];\n }\n }\n else if (sourceInput != null) { // an ID. accepts a number too\n var sourceApi = this.getEventSourceById(sourceInput); // TODO: use an internal function\n if (!sourceApi) {\n console.warn(\"Could not find an event source with ID \\\"\" + sourceInput + \"\\\"\"); // TODO: test\n return null;\n }\n eventSource = sourceApi.internalEventSource;\n }\n var tuple = parseEvent(eventInput, eventSource, state, false);\n if (tuple) {\n var newEventApi = new EventApi(state, tuple.def, tuple.def.recurringDef ? null : tuple.instance);\n this.dispatch({\n type: 'ADD_EVENTS',\n eventStore: eventTupleToStore(tuple),\n });\n this.triggerEventAdd(newEventApi);\n return newEventApi;\n }\n return null;\n };\n CalendarApi.prototype.triggerEventAdd = function (eventApi) {\n var _this = this;\n var emitter = this.getCurrentData().emitter;\n emitter.trigger('eventAdd', {\n event: eventApi,\n relatedEvents: [],\n revert: function () {\n _this.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: eventApiToStore(eventApi),\n });\n },\n });\n };\n // TODO: optimize\n CalendarApi.prototype.getEventById = function (id) {\n var state = this.getCurrentData();\n var _a = state.eventStore, defs = _a.defs, instances = _a.instances;\n id = String(id);\n for (var defId in defs) {\n var def = defs[defId];\n if (def.publicId === id) {\n if (def.recurringDef) {\n return new EventApi(state, def, null);\n }\n for (var instanceId in instances) {\n var instance = instances[instanceId];\n if (instance.defId === def.defId) {\n return new EventApi(state, def, instance);\n }\n }\n }\n }\n return null;\n };\n CalendarApi.prototype.getEvents = function () {\n var currentData = this.getCurrentData();\n return buildEventApis(currentData.eventStore, currentData);\n };\n CalendarApi.prototype.removeAllEvents = function () {\n this.dispatch({ type: 'REMOVE_ALL_EVENTS' });\n };\n // Public Event Sources API\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.getEventSources = function () {\n var state = this.getCurrentData();\n var sourceHash = state.eventSources;\n var sourceApis = [];\n for (var internalId in sourceHash) {\n sourceApis.push(new EventSourceApi(state, sourceHash[internalId]));\n }\n return sourceApis;\n };\n CalendarApi.prototype.getEventSourceById = function (id) {\n var state = this.getCurrentData();\n var sourceHash = state.eventSources;\n id = String(id);\n for (var sourceId in sourceHash) {\n if (sourceHash[sourceId].publicId === id) {\n return new EventSourceApi(state, sourceHash[sourceId]);\n }\n }\n return null;\n };\n CalendarApi.prototype.addEventSource = function (sourceInput) {\n var state = this.getCurrentData();\n if (sourceInput instanceof EventSourceApi) {\n // not already present? don't want to add an old snapshot\n if (!state.eventSources[sourceInput.internalEventSource.sourceId]) {\n this.dispatch({\n type: 'ADD_EVENT_SOURCES',\n sources: [sourceInput.internalEventSource],\n });\n }\n return sourceInput;\n }\n var eventSource = parseEventSource(sourceInput, state);\n if (eventSource) { // TODO: error otherwise?\n this.dispatch({ type: 'ADD_EVENT_SOURCES', sources: [eventSource] });\n return new EventSourceApi(state, eventSource);\n }\n return null;\n };\n CalendarApi.prototype.removeAllEventSources = function () {\n this.dispatch({ type: 'REMOVE_ALL_EVENT_SOURCES' });\n };\n CalendarApi.prototype.refetchEvents = function () {\n this.dispatch({ type: 'FETCH_EVENT_SOURCES', isRefetch: true });\n };\n // Scroll\n // -----------------------------------------------------------------------------------------------------------------\n CalendarApi.prototype.scrollToTime = function (timeInput) {\n var time = createDuration(timeInput);\n if (time) {\n this.trigger('_scrollRequest', { time: time });\n }\n };\n return CalendarApi;\n}());\n\nvar EventApi = /** @class */ (function () {\n // instance will be null if expressing a recurring event that has no current instances,\n // OR if trying to validate an incoming external event that has no dates assigned\n function EventApi(context, def, instance) {\n this._context = context;\n this._def = def;\n this._instance = instance || null;\n }\n /*\n TODO: make event struct more responsible for this\n */\n EventApi.prototype.setProp = function (name, val) {\n var _a, _b;\n if (name in EVENT_DATE_REFINERS) {\n console.warn('Could not set date-related prop \\'name\\'. Use one of the date-related methods instead.');\n // TODO: make proper aliasing system?\n }\n else if (name === 'id') {\n val = EVENT_NON_DATE_REFINERS[name](val);\n this.mutate({\n standardProps: { publicId: val }, // hardcoded internal name\n });\n }\n else if (name in EVENT_NON_DATE_REFINERS) {\n val = EVENT_NON_DATE_REFINERS[name](val);\n this.mutate({\n standardProps: (_a = {}, _a[name] = val, _a),\n });\n }\n else if (name in EVENT_UI_REFINERS) {\n var ui = EVENT_UI_REFINERS[name](val);\n if (name === 'color') {\n ui = { backgroundColor: val, borderColor: val };\n }\n else if (name === 'editable') {\n ui = { startEditable: val, durationEditable: val };\n }\n else {\n ui = (_b = {}, _b[name] = val, _b);\n }\n this.mutate({\n standardProps: { ui: ui },\n });\n }\n else {\n console.warn(\"Could not set prop '\" + name + \"'. Use setExtendedProp instead.\");\n }\n };\n EventApi.prototype.setExtendedProp = function (name, val) {\n var _a;\n this.mutate({\n extendedProps: (_a = {}, _a[name] = val, _a),\n });\n };\n EventApi.prototype.setStart = function (startInput, options) {\n if (options === void 0) { options = {}; }\n var dateEnv = this._context.dateEnv;\n var start = dateEnv.createMarker(startInput);\n if (start && this._instance) { // TODO: warning if parsed bad\n var instanceRange = this._instance.range;\n var startDelta = diffDates(instanceRange.start, start, dateEnv, options.granularity); // what if parsed bad!?\n if (options.maintainDuration) {\n this.mutate({ datesDelta: startDelta });\n }\n else {\n this.mutate({ startDelta: startDelta });\n }\n }\n };\n EventApi.prototype.setEnd = function (endInput, options) {\n if (options === void 0) { options = {}; }\n var dateEnv = this._context.dateEnv;\n var end;\n if (endInput != null) {\n end = dateEnv.createMarker(endInput);\n if (!end) {\n return; // TODO: warning if parsed bad\n }\n }\n if (this._instance) {\n if (end) {\n var endDelta = diffDates(this._instance.range.end, end, dateEnv, options.granularity);\n this.mutate({ endDelta: endDelta });\n }\n else {\n this.mutate({ standardProps: { hasEnd: false } });\n }\n }\n };\n EventApi.prototype.setDates = function (startInput, endInput, options) {\n if (options === void 0) { options = {}; }\n var dateEnv = this._context.dateEnv;\n var standardProps = { allDay: options.allDay };\n var start = dateEnv.createMarker(startInput);\n var end;\n if (!start) {\n return; // TODO: warning if parsed bad\n }\n if (endInput != null) {\n end = dateEnv.createMarker(endInput);\n if (!end) { // TODO: warning if parsed bad\n return;\n }\n }\n if (this._instance) {\n var instanceRange = this._instance.range;\n // when computing the diff for an event being converted to all-day,\n // compute diff off of the all-day values the way event-mutation does.\n if (options.allDay === true) {\n instanceRange = computeAlignedDayRange(instanceRange);\n }\n var startDelta = diffDates(instanceRange.start, start, dateEnv, options.granularity);\n if (end) {\n var endDelta = diffDates(instanceRange.end, end, dateEnv, options.granularity);\n if (durationsEqual(startDelta, endDelta)) {\n this.mutate({ datesDelta: startDelta, standardProps: standardProps });\n }\n else {\n this.mutate({ startDelta: startDelta, endDelta: endDelta, standardProps: standardProps });\n }\n }\n else { // means \"clear the end\"\n standardProps.hasEnd = false;\n this.mutate({ datesDelta: startDelta, standardProps: standardProps });\n }\n }\n };\n EventApi.prototype.moveStart = function (deltaInput) {\n var delta = createDuration(deltaInput);\n if (delta) { // TODO: warning if parsed bad\n this.mutate({ startDelta: delta });\n }\n };\n EventApi.prototype.moveEnd = function (deltaInput) {\n var delta = createDuration(deltaInput);\n if (delta) { // TODO: warning if parsed bad\n this.mutate({ endDelta: delta });\n }\n };\n EventApi.prototype.moveDates = function (deltaInput) {\n var delta = createDuration(deltaInput);\n if (delta) { // TODO: warning if parsed bad\n this.mutate({ datesDelta: delta });\n }\n };\n EventApi.prototype.setAllDay = function (allDay, options) {\n if (options === void 0) { options = {}; }\n var standardProps = { allDay: allDay };\n var maintainDuration = options.maintainDuration;\n if (maintainDuration == null) {\n maintainDuration = this._context.options.allDayMaintainDuration;\n }\n if (this._def.allDay !== allDay) {\n standardProps.hasEnd = maintainDuration;\n }\n this.mutate({ standardProps: standardProps });\n };\n EventApi.prototype.formatRange = function (formatInput) {\n var dateEnv = this._context.dateEnv;\n var instance = this._instance;\n var formatter = createFormatter(formatInput);\n if (this._def.hasEnd) {\n return dateEnv.formatRange(instance.range.start, instance.range.end, formatter, {\n forcedStartTzo: instance.forcedStartTzo,\n forcedEndTzo: instance.forcedEndTzo,\n });\n }\n return dateEnv.format(instance.range.start, formatter, {\n forcedTzo: instance.forcedStartTzo,\n });\n };\n EventApi.prototype.mutate = function (mutation) {\n var instance = this._instance;\n if (instance) {\n var def = this._def;\n var context_1 = this._context;\n var eventStore_1 = context_1.getCurrentData().eventStore;\n var relevantEvents = getRelevantEvents(eventStore_1, instance.instanceId);\n var eventConfigBase = {\n '': {\n display: '',\n startEditable: true,\n durationEditable: true,\n constraints: [],\n overlap: null,\n allows: [],\n backgroundColor: '',\n borderColor: '',\n textColor: '',\n classNames: [],\n },\n };\n relevantEvents = applyMutationToEventStore(relevantEvents, eventConfigBase, mutation, context_1);\n var oldEvent = new EventApi(context_1, def, instance); // snapshot\n this._def = relevantEvents.defs[def.defId];\n this._instance = relevantEvents.instances[instance.instanceId];\n context_1.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: relevantEvents,\n });\n context_1.emitter.trigger('eventChange', {\n oldEvent: oldEvent,\n event: this,\n relatedEvents: buildEventApis(relevantEvents, context_1, instance),\n revert: function () {\n context_1.dispatch({\n type: 'RESET_EVENTS',\n eventStore: eventStore_1,\n });\n },\n });\n }\n };\n EventApi.prototype.remove = function () {\n var context = this._context;\n var asStore = eventApiToStore(this);\n context.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: asStore,\n });\n context.emitter.trigger('eventRemove', {\n event: this,\n relatedEvents: [],\n revert: function () {\n context.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: asStore,\n });\n },\n });\n };\n Object.defineProperty(EventApi.prototype, \"source\", {\n get: function () {\n var sourceId = this._def.sourceId;\n if (sourceId) {\n return new EventSourceApi(this._context, this._context.getCurrentData().eventSources[sourceId]);\n }\n return null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"start\", {\n get: function () {\n return this._instance ?\n this._context.dateEnv.toDate(this._instance.range.start) :\n null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"end\", {\n get: function () {\n return (this._instance && this._def.hasEnd) ?\n this._context.dateEnv.toDate(this._instance.range.end) :\n null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"startStr\", {\n get: function () {\n var instance = this._instance;\n if (instance) {\n return this._context.dateEnv.formatIso(instance.range.start, {\n omitTime: this._def.allDay,\n forcedTzo: instance.forcedStartTzo,\n });\n }\n return '';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"endStr\", {\n get: function () {\n var instance = this._instance;\n if (instance && this._def.hasEnd) {\n return this._context.dateEnv.formatIso(instance.range.end, {\n omitTime: this._def.allDay,\n forcedTzo: instance.forcedEndTzo,\n });\n }\n return '';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"id\", {\n // computable props that all access the def\n // TODO: find a TypeScript-compatible way to do this at scale\n get: function () { return this._def.publicId; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"groupId\", {\n get: function () { return this._def.groupId; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"allDay\", {\n get: function () { return this._def.allDay; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"title\", {\n get: function () { return this._def.title; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"url\", {\n get: function () { return this._def.url; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"display\", {\n get: function () { return this._def.ui.display || 'auto'; } // bad. just normalize the type earlier\n ,\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"startEditable\", {\n get: function () { return this._def.ui.startEditable; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"durationEditable\", {\n get: function () { return this._def.ui.durationEditable; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"constraint\", {\n get: function () { return this._def.ui.constraints[0] || null; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"overlap\", {\n get: function () { return this._def.ui.overlap; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"allow\", {\n get: function () { return this._def.ui.allows[0] || null; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"backgroundColor\", {\n get: function () { return this._def.ui.backgroundColor; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"borderColor\", {\n get: function () { return this._def.ui.borderColor; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"textColor\", {\n get: function () { return this._def.ui.textColor; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"classNames\", {\n // NOTE: user can't modify these because Object.freeze was called in event-def parsing\n get: function () { return this._def.ui.classNames; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(EventApi.prototype, \"extendedProps\", {\n get: function () { return this._def.extendedProps; },\n enumerable: false,\n configurable: true\n });\n EventApi.prototype.toPlainObject = function (settings) {\n if (settings === void 0) { settings = {}; }\n var def = this._def;\n var ui = def.ui;\n var _a = this, startStr = _a.startStr, endStr = _a.endStr;\n var res = {};\n if (def.title) {\n res.title = def.title;\n }\n if (startStr) {\n res.start = startStr;\n }\n if (endStr) {\n res.end = endStr;\n }\n if (def.publicId) {\n res.id = def.publicId;\n }\n if (def.groupId) {\n res.groupId = def.groupId;\n }\n if (def.url) {\n res.url = def.url;\n }\n if (ui.display && ui.display !== 'auto') {\n res.display = ui.display;\n }\n // TODO: what about recurring-event properties???\n // TODO: include startEditable/durationEditable/constraint/overlap/allow\n if (settings.collapseColor && ui.backgroundColor && ui.backgroundColor === ui.borderColor) {\n res.color = ui.backgroundColor;\n }\n else {\n if (ui.backgroundColor) {\n res.backgroundColor = ui.backgroundColor;\n }\n if (ui.borderColor) {\n res.borderColor = ui.borderColor;\n }\n }\n if (ui.textColor) {\n res.textColor = ui.textColor;\n }\n if (ui.classNames.length) {\n res.classNames = ui.classNames;\n }\n if (Object.keys(def.extendedProps).length) {\n if (settings.collapseExtendedProps) {\n __assign(res, def.extendedProps);\n }\n else {\n res.extendedProps = def.extendedProps;\n }\n }\n return res;\n };\n EventApi.prototype.toJSON = function () {\n return this.toPlainObject();\n };\n return EventApi;\n}());\nfunction eventApiToStore(eventApi) {\n var _a, _b;\n var def = eventApi._def;\n var instance = eventApi._instance;\n return {\n defs: (_a = {}, _a[def.defId] = def, _a),\n instances: instance\n ? (_b = {}, _b[instance.instanceId] = instance, _b) : {},\n };\n}\nfunction buildEventApis(eventStore, context, excludeInstance) {\n var defs = eventStore.defs, instances = eventStore.instances;\n var eventApis = [];\n var excludeInstanceId = excludeInstance ? excludeInstance.instanceId : '';\n for (var id in instances) {\n var instance = instances[id];\n var def = defs[instance.defId];\n if (instance.instanceId !== excludeInstanceId) {\n eventApis.push(new EventApi(context, def, instance));\n }\n }\n return eventApis;\n}\n\nvar calendarSystemClassMap = {};\nfunction registerCalendarSystem(name, theClass) {\n calendarSystemClassMap[name] = theClass;\n}\nfunction createCalendarSystem(name) {\n return new calendarSystemClassMap[name]();\n}\nvar GregorianCalendarSystem = /** @class */ (function () {\n function GregorianCalendarSystem() {\n }\n GregorianCalendarSystem.prototype.getMarkerYear = function (d) {\n return d.getUTCFullYear();\n };\n GregorianCalendarSystem.prototype.getMarkerMonth = function (d) {\n return d.getUTCMonth();\n };\n GregorianCalendarSystem.prototype.getMarkerDay = function (d) {\n return d.getUTCDate();\n };\n GregorianCalendarSystem.prototype.arrayToMarker = function (arr) {\n return arrayToUtcDate(arr);\n };\n GregorianCalendarSystem.prototype.markerToArray = function (marker) {\n return dateToUtcArray(marker);\n };\n return GregorianCalendarSystem;\n}());\nregisterCalendarSystem('gregory', GregorianCalendarSystem);\n\nvar ISO_RE = /^\\s*(\\d{4})(-?(\\d{2})(-?(\\d{2})([T ](\\d{2}):?(\\d{2})(:?(\\d{2})(\\.(\\d+))?)?(Z|(([-+])(\\d{2})(:?(\\d{2}))?))?)?)?)?$/;\nfunction parse(str) {\n var m = ISO_RE.exec(str);\n if (m) {\n var marker = new Date(Date.UTC(Number(m[1]), m[3] ? Number(m[3]) - 1 : 0, Number(m[5] || 1), Number(m[7] || 0), Number(m[8] || 0), Number(m[10] || 0), m[12] ? Number(\"0.\" + m[12]) * 1000 : 0));\n if (isValidDate(marker)) {\n var timeZoneOffset = null;\n if (m[13]) {\n timeZoneOffset = (m[15] === '-' ? -1 : 1) * (Number(m[16] || 0) * 60 +\n Number(m[18] || 0));\n }\n return {\n marker: marker,\n isTimeUnspecified: !m[6],\n timeZoneOffset: timeZoneOffset,\n };\n }\n }\n return null;\n}\n\nvar DateEnv = /** @class */ (function () {\n function DateEnv(settings) {\n var timeZone = this.timeZone = settings.timeZone;\n var isNamedTimeZone = timeZone !== 'local' && timeZone !== 'UTC';\n if (settings.namedTimeZoneImpl && isNamedTimeZone) {\n this.namedTimeZoneImpl = new settings.namedTimeZoneImpl(timeZone);\n }\n this.canComputeOffset = Boolean(!isNamedTimeZone || this.namedTimeZoneImpl);\n this.calendarSystem = createCalendarSystem(settings.calendarSystem);\n this.locale = settings.locale;\n this.weekDow = settings.locale.week.dow;\n this.weekDoy = settings.locale.week.doy;\n if (settings.weekNumberCalculation === 'ISO') {\n this.weekDow = 1;\n this.weekDoy = 4;\n }\n if (typeof settings.firstDay === 'number') {\n this.weekDow = settings.firstDay;\n }\n if (typeof settings.weekNumberCalculation === 'function') {\n this.weekNumberFunc = settings.weekNumberCalculation;\n }\n this.weekText = settings.weekText != null ? settings.weekText : settings.locale.options.weekText;\n this.weekTextLong = (settings.weekTextLong != null ? settings.weekTextLong : settings.locale.options.weekTextLong) || this.weekText;\n this.cmdFormatter = settings.cmdFormatter;\n this.defaultSeparator = settings.defaultSeparator;\n }\n // Creating / Parsing\n DateEnv.prototype.createMarker = function (input) {\n var meta = this.createMarkerMeta(input);\n if (meta === null) {\n return null;\n }\n return meta.marker;\n };\n DateEnv.prototype.createNowMarker = function () {\n if (this.canComputeOffset) {\n return this.timestampToMarker(new Date().valueOf());\n }\n // if we can't compute the current date val for a timezone,\n // better to give the current local date vals than UTC\n return arrayToUtcDate(dateToLocalArray(new Date()));\n };\n DateEnv.prototype.createMarkerMeta = function (input) {\n if (typeof input === 'string') {\n return this.parse(input);\n }\n var marker = null;\n if (typeof input === 'number') {\n marker = this.timestampToMarker(input);\n }\n else if (input instanceof Date) {\n input = input.valueOf();\n if (!isNaN(input)) {\n marker = this.timestampToMarker(input);\n }\n }\n else if (Array.isArray(input)) {\n marker = arrayToUtcDate(input);\n }\n if (marker === null || !isValidDate(marker)) {\n return null;\n }\n return { marker: marker, isTimeUnspecified: false, forcedTzo: null };\n };\n DateEnv.prototype.parse = function (s) {\n var parts = parse(s);\n if (parts === null) {\n return null;\n }\n var marker = parts.marker;\n var forcedTzo = null;\n if (parts.timeZoneOffset !== null) {\n if (this.canComputeOffset) {\n marker = this.timestampToMarker(marker.valueOf() - parts.timeZoneOffset * 60 * 1000);\n }\n else {\n forcedTzo = parts.timeZoneOffset;\n }\n }\n return { marker: marker, isTimeUnspecified: parts.isTimeUnspecified, forcedTzo: forcedTzo };\n };\n // Accessors\n DateEnv.prototype.getYear = function (marker) {\n return this.calendarSystem.getMarkerYear(marker);\n };\n DateEnv.prototype.getMonth = function (marker) {\n return this.calendarSystem.getMarkerMonth(marker);\n };\n // Adding / Subtracting\n DateEnv.prototype.add = function (marker, dur) {\n var a = this.calendarSystem.markerToArray(marker);\n a[0] += dur.years;\n a[1] += dur.months;\n a[2] += dur.days;\n a[6] += dur.milliseconds;\n return this.calendarSystem.arrayToMarker(a);\n };\n DateEnv.prototype.subtract = function (marker, dur) {\n var a = this.calendarSystem.markerToArray(marker);\n a[0] -= dur.years;\n a[1] -= dur.months;\n a[2] -= dur.days;\n a[6] -= dur.milliseconds;\n return this.calendarSystem.arrayToMarker(a);\n };\n DateEnv.prototype.addYears = function (marker, n) {\n var a = this.calendarSystem.markerToArray(marker);\n a[0] += n;\n return this.calendarSystem.arrayToMarker(a);\n };\n DateEnv.prototype.addMonths = function (marker, n) {\n var a = this.calendarSystem.markerToArray(marker);\n a[1] += n;\n return this.calendarSystem.arrayToMarker(a);\n };\n // Diffing Whole Units\n DateEnv.prototype.diffWholeYears = function (m0, m1) {\n var calendarSystem = this.calendarSystem;\n if (timeAsMs(m0) === timeAsMs(m1) &&\n calendarSystem.getMarkerDay(m0) === calendarSystem.getMarkerDay(m1) &&\n calendarSystem.getMarkerMonth(m0) === calendarSystem.getMarkerMonth(m1)) {\n return calendarSystem.getMarkerYear(m1) - calendarSystem.getMarkerYear(m0);\n }\n return null;\n };\n DateEnv.prototype.diffWholeMonths = function (m0, m1) {\n var calendarSystem = this.calendarSystem;\n if (timeAsMs(m0) === timeAsMs(m1) &&\n calendarSystem.getMarkerDay(m0) === calendarSystem.getMarkerDay(m1)) {\n return (calendarSystem.getMarkerMonth(m1) - calendarSystem.getMarkerMonth(m0)) +\n (calendarSystem.getMarkerYear(m1) - calendarSystem.getMarkerYear(m0)) * 12;\n }\n return null;\n };\n // Range / Duration\n DateEnv.prototype.greatestWholeUnit = function (m0, m1) {\n var n = this.diffWholeYears(m0, m1);\n if (n !== null) {\n return { unit: 'year', value: n };\n }\n n = this.diffWholeMonths(m0, m1);\n if (n !== null) {\n return { unit: 'month', value: n };\n }\n n = diffWholeWeeks(m0, m1);\n if (n !== null) {\n return { unit: 'week', value: n };\n }\n n = diffWholeDays(m0, m1);\n if (n !== null) {\n return { unit: 'day', value: n };\n }\n n = diffHours(m0, m1);\n if (isInt(n)) {\n return { unit: 'hour', value: n };\n }\n n = diffMinutes(m0, m1);\n if (isInt(n)) {\n return { unit: 'minute', value: n };\n }\n n = diffSeconds(m0, m1);\n if (isInt(n)) {\n return { unit: 'second', value: n };\n }\n return { unit: 'millisecond', value: m1.valueOf() - m0.valueOf() };\n };\n DateEnv.prototype.countDurationsBetween = function (m0, m1, d) {\n // TODO: can use greatestWholeUnit\n var diff;\n if (d.years) {\n diff = this.diffWholeYears(m0, m1);\n if (diff !== null) {\n return diff / asRoughYears(d);\n }\n }\n if (d.months) {\n diff = this.diffWholeMonths(m0, m1);\n if (diff !== null) {\n return diff / asRoughMonths(d);\n }\n }\n if (d.days) {\n diff = diffWholeDays(m0, m1);\n if (diff !== null) {\n return diff / asRoughDays(d);\n }\n }\n return (m1.valueOf() - m0.valueOf()) / asRoughMs(d);\n };\n // Start-Of\n // these DON'T return zoned-dates. only UTC start-of dates\n DateEnv.prototype.startOf = function (m, unit) {\n if (unit === 'year') {\n return this.startOfYear(m);\n }\n if (unit === 'month') {\n return this.startOfMonth(m);\n }\n if (unit === 'week') {\n return this.startOfWeek(m);\n }\n if (unit === 'day') {\n return startOfDay(m);\n }\n if (unit === 'hour') {\n return startOfHour(m);\n }\n if (unit === 'minute') {\n return startOfMinute(m);\n }\n if (unit === 'second') {\n return startOfSecond(m);\n }\n return null;\n };\n DateEnv.prototype.startOfYear = function (m) {\n return this.calendarSystem.arrayToMarker([\n this.calendarSystem.getMarkerYear(m),\n ]);\n };\n DateEnv.prototype.startOfMonth = function (m) {\n return this.calendarSystem.arrayToMarker([\n this.calendarSystem.getMarkerYear(m),\n this.calendarSystem.getMarkerMonth(m),\n ]);\n };\n DateEnv.prototype.startOfWeek = function (m) {\n return this.calendarSystem.arrayToMarker([\n this.calendarSystem.getMarkerYear(m),\n this.calendarSystem.getMarkerMonth(m),\n m.getUTCDate() - ((m.getUTCDay() - this.weekDow + 7) % 7),\n ]);\n };\n // Week Number\n DateEnv.prototype.computeWeekNumber = function (marker) {\n if (this.weekNumberFunc) {\n return this.weekNumberFunc(this.toDate(marker));\n }\n return weekOfYear(marker, this.weekDow, this.weekDoy);\n };\n // TODO: choke on timeZoneName: long\n DateEnv.prototype.format = function (marker, formatter, dateOptions) {\n if (dateOptions === void 0) { dateOptions = {}; }\n return formatter.format({\n marker: marker,\n timeZoneOffset: dateOptions.forcedTzo != null ?\n dateOptions.forcedTzo :\n this.offsetForMarker(marker),\n }, this);\n };\n DateEnv.prototype.formatRange = function (start, end, formatter, dateOptions) {\n if (dateOptions === void 0) { dateOptions = {}; }\n if (dateOptions.isEndExclusive) {\n end = addMs(end, -1);\n }\n return formatter.formatRange({\n marker: start,\n timeZoneOffset: dateOptions.forcedStartTzo != null ?\n dateOptions.forcedStartTzo :\n this.offsetForMarker(start),\n }, {\n marker: end,\n timeZoneOffset: dateOptions.forcedEndTzo != null ?\n dateOptions.forcedEndTzo :\n this.offsetForMarker(end),\n }, this, dateOptions.defaultSeparator);\n };\n /*\n DUMB: the omitTime arg is dumb. if we omit the time, we want to omit the timezone offset. and if we do that,\n might as well use buildIsoString or some other util directly\n */\n DateEnv.prototype.formatIso = function (marker, extraOptions) {\n if (extraOptions === void 0) { extraOptions = {}; }\n var timeZoneOffset = null;\n if (!extraOptions.omitTimeZoneOffset) {\n if (extraOptions.forcedTzo != null) {\n timeZoneOffset = extraOptions.forcedTzo;\n }\n else {\n timeZoneOffset = this.offsetForMarker(marker);\n }\n }\n return buildIsoString(marker, timeZoneOffset, extraOptions.omitTime);\n };\n // TimeZone\n DateEnv.prototype.timestampToMarker = function (ms) {\n if (this.timeZone === 'local') {\n return arrayToUtcDate(dateToLocalArray(new Date(ms)));\n }\n if (this.timeZone === 'UTC' || !this.namedTimeZoneImpl) {\n return new Date(ms);\n }\n return arrayToUtcDate(this.namedTimeZoneImpl.timestampToArray(ms));\n };\n DateEnv.prototype.offsetForMarker = function (m) {\n if (this.timeZone === 'local') {\n return -arrayToLocalDate(dateToUtcArray(m)).getTimezoneOffset(); // convert \"inverse\" offset to \"normal\" offset\n }\n if (this.timeZone === 'UTC') {\n return 0;\n }\n if (this.namedTimeZoneImpl) {\n return this.namedTimeZoneImpl.offsetForArray(dateToUtcArray(m));\n }\n return null;\n };\n // Conversion\n DateEnv.prototype.toDate = function (m, forcedTzo) {\n if (this.timeZone === 'local') {\n return arrayToLocalDate(dateToUtcArray(m));\n }\n if (this.timeZone === 'UTC') {\n return new Date(m.valueOf()); // make sure it's a copy\n }\n if (!this.namedTimeZoneImpl) {\n return new Date(m.valueOf() - (forcedTzo || 0));\n }\n return new Date(m.valueOf() -\n this.namedTimeZoneImpl.offsetForArray(dateToUtcArray(m)) * 1000 * 60);\n };\n return DateEnv;\n}());\n\nvar globalLocales = [];\n\nvar MINIMAL_RAW_EN_LOCALE = {\n code: 'en',\n week: {\n dow: 0,\n doy: 4, // 4 days need to be within the year to be considered the first week\n },\n direction: 'ltr',\n buttonText: {\n prev: 'prev',\n next: 'next',\n prevYear: 'prev year',\n nextYear: 'next year',\n year: 'year',\n today: 'today',\n month: 'month',\n week: 'week',\n day: 'day',\n list: 'list',\n },\n weekText: 'W',\n weekTextLong: 'Week',\n closeHint: 'Close',\n timeHint: 'Time',\n eventHint: 'Event',\n allDayText: 'all-day',\n moreLinkText: 'more',\n noEventsText: 'No events to display',\n};\nvar RAW_EN_LOCALE = __assign(__assign({}, MINIMAL_RAW_EN_LOCALE), { \n // Includes things we don't want other locales to inherit,\n // things that derive from other translatable strings.\n buttonHints: {\n prev: 'Previous $0',\n next: 'Next $0',\n today: function (buttonText, unit) {\n return (unit === 'day')\n ? 'Today'\n : \"This \" + buttonText;\n },\n }, viewHint: '$0 view', navLinkHint: 'Go to $0', moreLinkHint: function (eventCnt) {\n return \"Show \" + eventCnt + \" more event\" + (eventCnt === 1 ? '' : 's');\n } });\nfunction organizeRawLocales(explicitRawLocales) {\n var defaultCode = explicitRawLocales.length > 0 ? explicitRawLocales[0].code : 'en';\n var allRawLocales = globalLocales.concat(explicitRawLocales);\n var rawLocaleMap = {\n en: RAW_EN_LOCALE,\n };\n for (var _i = 0, allRawLocales_1 = allRawLocales; _i < allRawLocales_1.length; _i++) {\n var rawLocale = allRawLocales_1[_i];\n rawLocaleMap[rawLocale.code] = rawLocale;\n }\n return {\n map: rawLocaleMap,\n defaultCode: defaultCode,\n };\n}\nfunction buildLocale(inputSingular, available) {\n if (typeof inputSingular === 'object' && !Array.isArray(inputSingular)) {\n return parseLocale(inputSingular.code, [inputSingular.code], inputSingular);\n }\n return queryLocale(inputSingular, available);\n}\nfunction queryLocale(codeArg, available) {\n var codes = [].concat(codeArg || []); // will convert to array\n var raw = queryRawLocale(codes, available) || RAW_EN_LOCALE;\n return parseLocale(codeArg, codes, raw);\n}\nfunction queryRawLocale(codes, available) {\n for (var i = 0; i < codes.length; i += 1) {\n var parts = codes[i].toLocaleLowerCase().split('-');\n for (var j = parts.length; j > 0; j -= 1) {\n var simpleId = parts.slice(0, j).join('-');\n if (available[simpleId]) {\n return available[simpleId];\n }\n }\n }\n return null;\n}\nfunction parseLocale(codeArg, codes, raw) {\n var merged = mergeProps([MINIMAL_RAW_EN_LOCALE, raw], ['buttonText']);\n delete merged.code; // don't want this part of the options\n var week = merged.week;\n delete merged.week;\n return {\n codeArg: codeArg,\n codes: codes,\n week: week,\n simpleNumberFormat: new Intl.NumberFormat(codeArg),\n options: merged,\n };\n}\n\nfunction formatDate(dateInput, options) {\n if (options === void 0) { options = {}; }\n var dateEnv = buildDateEnv$1(options);\n var formatter = createFormatter(options);\n var dateMeta = dateEnv.createMarkerMeta(dateInput);\n if (!dateMeta) { // TODO: warning?\n return '';\n }\n return dateEnv.format(dateMeta.marker, formatter, {\n forcedTzo: dateMeta.forcedTzo,\n });\n}\nfunction formatRange(startInput, endInput, options) {\n var dateEnv = buildDateEnv$1(typeof options === 'object' && options ? options : {}); // pass in if non-null object\n var formatter = createFormatter(options);\n var startMeta = dateEnv.createMarkerMeta(startInput);\n var endMeta = dateEnv.createMarkerMeta(endInput);\n if (!startMeta || !endMeta) { // TODO: warning?\n return '';\n }\n return dateEnv.formatRange(startMeta.marker, endMeta.marker, formatter, {\n forcedStartTzo: startMeta.forcedTzo,\n forcedEndTzo: endMeta.forcedTzo,\n isEndExclusive: options.isEndExclusive,\n defaultSeparator: BASE_OPTION_DEFAULTS.defaultRangeSeparator,\n });\n}\n// TODO: more DRY and optimized\nfunction buildDateEnv$1(settings) {\n var locale = buildLocale(settings.locale || 'en', organizeRawLocales([]).map); // TODO: don't hardcode 'en' everywhere\n return new DateEnv(__assign(__assign({ timeZone: BASE_OPTION_DEFAULTS.timeZone, calendarSystem: 'gregory' }, settings), { locale: locale }));\n}\n\nvar DEF_DEFAULTS = {\n startTime: '09:00',\n endTime: '17:00',\n daysOfWeek: [1, 2, 3, 4, 5],\n display: 'inverse-background',\n classNames: 'fc-non-business',\n groupId: '_businessHours', // so multiple defs get grouped\n};\n/*\nTODO: pass around as EventDefHash!!!\n*/\nfunction parseBusinessHours(input, context) {\n return parseEvents(refineInputs(input), null, context);\n}\nfunction refineInputs(input) {\n var rawDefs;\n if (input === true) {\n rawDefs = [{}]; // will get DEF_DEFAULTS verbatim\n }\n else if (Array.isArray(input)) {\n // if specifying an array, every sub-definition NEEDS a day-of-week\n rawDefs = input.filter(function (rawDef) { return rawDef.daysOfWeek; });\n }\n else if (typeof input === 'object' && input) { // non-null object\n rawDefs = [input];\n }\n else { // is probably false\n rawDefs = [];\n }\n rawDefs = rawDefs.map(function (rawDef) { return (__assign(__assign({}, DEF_DEFAULTS), rawDef)); });\n return rawDefs;\n}\n\nfunction pointInsideRect(point, rect) {\n return point.left >= rect.left &&\n point.left < rect.right &&\n point.top >= rect.top &&\n point.top < rect.bottom;\n}\n// Returns a new rectangle that is the intersection of the two rectangles. If they don't intersect, returns false\nfunction intersectRects(rect1, rect2) {\n var res = {\n left: Math.max(rect1.left, rect2.left),\n right: Math.min(rect1.right, rect2.right),\n top: Math.max(rect1.top, rect2.top),\n bottom: Math.min(rect1.bottom, rect2.bottom),\n };\n if (res.left < res.right && res.top < res.bottom) {\n return res;\n }\n return false;\n}\nfunction translateRect(rect, deltaX, deltaY) {\n return {\n left: rect.left + deltaX,\n right: rect.right + deltaX,\n top: rect.top + deltaY,\n bottom: rect.bottom + deltaY,\n };\n}\n// Returns a new point that will have been moved to reside within the given rectangle\nfunction constrainPoint(point, rect) {\n return {\n left: Math.min(Math.max(point.left, rect.left), rect.right),\n top: Math.min(Math.max(point.top, rect.top), rect.bottom),\n };\n}\n// Returns a point that is the center of the given rectangle\nfunction getRectCenter(rect) {\n return {\n left: (rect.left + rect.right) / 2,\n top: (rect.top + rect.bottom) / 2,\n };\n}\n// Subtracts point2's coordinates from point1's coordinates, returning a delta\nfunction diffPoints(point1, point2) {\n return {\n left: point1.left - point2.left,\n top: point1.top - point2.top,\n };\n}\n\nvar canVGrowWithinCell;\nfunction getCanVGrowWithinCell() {\n if (canVGrowWithinCell == null) {\n canVGrowWithinCell = computeCanVGrowWithinCell();\n }\n return canVGrowWithinCell;\n}\nfunction computeCanVGrowWithinCell() {\n // for SSR, because this function is call immediately at top-level\n // TODO: just make this logic execute top-level, immediately, instead of doing lazily\n if (typeof document === 'undefined') {\n return true;\n }\n var el = document.createElement('div');\n el.style.position = 'absolute';\n el.style.top = '0px';\n el.style.left = '0px';\n el.innerHTML = '
    \n {{headerText}}\n \n {{dataAccessor(data, name)}}\n
    ';\n el.querySelector('table').style.height = '100px';\n el.querySelector('div').style.height = '100%';\n document.body.appendChild(el);\n var div = el.querySelector('div');\n var possible = div.offsetHeight > 0;\n document.body.removeChild(el);\n return possible;\n}\n\nvar EMPTY_EVENT_STORE = createEmptyEventStore(); // for purecomponents. TODO: keep elsewhere\nvar Splitter = /** @class */ (function () {\n function Splitter() {\n this.getKeysForEventDefs = memoize(this._getKeysForEventDefs);\n this.splitDateSelection = memoize(this._splitDateSpan);\n this.splitEventStore = memoize(this._splitEventStore);\n this.splitIndividualUi = memoize(this._splitIndividualUi);\n this.splitEventDrag = memoize(this._splitInteraction);\n this.splitEventResize = memoize(this._splitInteraction);\n this.eventUiBuilders = {}; // TODO: typescript protection\n }\n Splitter.prototype.splitProps = function (props) {\n var _this = this;\n var keyInfos = this.getKeyInfo(props);\n var defKeys = this.getKeysForEventDefs(props.eventStore);\n var dateSelections = this.splitDateSelection(props.dateSelection);\n var individualUi = this.splitIndividualUi(props.eventUiBases, defKeys); // the individual *bases*\n var eventStores = this.splitEventStore(props.eventStore, defKeys);\n var eventDrags = this.splitEventDrag(props.eventDrag);\n var eventResizes = this.splitEventResize(props.eventResize);\n var splitProps = {};\n this.eventUiBuilders = mapHash(keyInfos, function (info, key) { return _this.eventUiBuilders[key] || memoize(buildEventUiForKey); });\n for (var key in keyInfos) {\n var keyInfo = keyInfos[key];\n var eventStore = eventStores[key] || EMPTY_EVENT_STORE;\n var buildEventUi = this.eventUiBuilders[key];\n splitProps[key] = {\n businessHours: keyInfo.businessHours || props.businessHours,\n dateSelection: dateSelections[key] || null,\n eventStore: eventStore,\n eventUiBases: buildEventUi(props.eventUiBases[''], keyInfo.ui, individualUi[key]),\n eventSelection: eventStore.instances[props.eventSelection] ? props.eventSelection : '',\n eventDrag: eventDrags[key] || null,\n eventResize: eventResizes[key] || null,\n };\n }\n return splitProps;\n };\n Splitter.prototype._splitDateSpan = function (dateSpan) {\n var dateSpans = {};\n if (dateSpan) {\n var keys = this.getKeysForDateSpan(dateSpan);\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n dateSpans[key] = dateSpan;\n }\n }\n return dateSpans;\n };\n Splitter.prototype._getKeysForEventDefs = function (eventStore) {\n var _this = this;\n return mapHash(eventStore.defs, function (eventDef) { return _this.getKeysForEventDef(eventDef); });\n };\n Splitter.prototype._splitEventStore = function (eventStore, defKeys) {\n var defs = eventStore.defs, instances = eventStore.instances;\n var splitStores = {};\n for (var defId in defs) {\n for (var _i = 0, _a = defKeys[defId]; _i < _a.length; _i++) {\n var key = _a[_i];\n if (!splitStores[key]) {\n splitStores[key] = createEmptyEventStore();\n }\n splitStores[key].defs[defId] = defs[defId];\n }\n }\n for (var instanceId in instances) {\n var instance = instances[instanceId];\n for (var _b = 0, _c = defKeys[instance.defId]; _b < _c.length; _b++) {\n var key = _c[_b];\n if (splitStores[key]) { // must have already been created\n splitStores[key].instances[instanceId] = instance;\n }\n }\n }\n return splitStores;\n };\n Splitter.prototype._splitIndividualUi = function (eventUiBases, defKeys) {\n var splitHashes = {};\n for (var defId in eventUiBases) {\n if (defId) { // not the '' key\n for (var _i = 0, _a = defKeys[defId]; _i < _a.length; _i++) {\n var key = _a[_i];\n if (!splitHashes[key]) {\n splitHashes[key] = {};\n }\n splitHashes[key][defId] = eventUiBases[defId];\n }\n }\n }\n return splitHashes;\n };\n Splitter.prototype._splitInteraction = function (interaction) {\n var splitStates = {};\n if (interaction) {\n var affectedStores_1 = this._splitEventStore(interaction.affectedEvents, this._getKeysForEventDefs(interaction.affectedEvents));\n // can't rely on defKeys because event data is mutated\n var mutatedKeysByDefId = this._getKeysForEventDefs(interaction.mutatedEvents);\n var mutatedStores_1 = this._splitEventStore(interaction.mutatedEvents, mutatedKeysByDefId);\n var populate = function (key) {\n if (!splitStates[key]) {\n splitStates[key] = {\n affectedEvents: affectedStores_1[key] || EMPTY_EVENT_STORE,\n mutatedEvents: mutatedStores_1[key] || EMPTY_EVENT_STORE,\n isEvent: interaction.isEvent,\n };\n }\n };\n for (var key in affectedStores_1) {\n populate(key);\n }\n for (var key in mutatedStores_1) {\n populate(key);\n }\n }\n return splitStates;\n };\n return Splitter;\n}());\nfunction buildEventUiForKey(allUi, eventUiForKey, individualUi) {\n var baseParts = [];\n if (allUi) {\n baseParts.push(allUi);\n }\n if (eventUiForKey) {\n baseParts.push(eventUiForKey);\n }\n var stuff = {\n '': combineEventUis(baseParts),\n };\n if (individualUi) {\n __assign(stuff, individualUi);\n }\n return stuff;\n}\n\nfunction getDateMeta(date, todayRange, nowDate, dateProfile) {\n return {\n dow: date.getUTCDay(),\n isDisabled: Boolean(dateProfile && !rangeContainsMarker(dateProfile.activeRange, date)),\n isOther: Boolean(dateProfile && !rangeContainsMarker(dateProfile.currentRange, date)),\n isToday: Boolean(todayRange && rangeContainsMarker(todayRange, date)),\n isPast: Boolean(nowDate ? (date < nowDate) : todayRange ? (date < todayRange.start) : false),\n isFuture: Boolean(nowDate ? (date > nowDate) : todayRange ? (date >= todayRange.end) : false),\n };\n}\nfunction getDayClassNames(meta, theme) {\n var classNames = [\n 'fc-day',\n \"fc-day-\" + DAY_IDS[meta.dow],\n ];\n if (meta.isDisabled) {\n classNames.push('fc-day-disabled');\n }\n else {\n if (meta.isToday) {\n classNames.push('fc-day-today');\n classNames.push(theme.getClass('today'));\n }\n if (meta.isPast) {\n classNames.push('fc-day-past');\n }\n if (meta.isFuture) {\n classNames.push('fc-day-future');\n }\n if (meta.isOther) {\n classNames.push('fc-day-other');\n }\n }\n return classNames;\n}\nfunction getSlotClassNames(meta, theme) {\n var classNames = [\n 'fc-slot',\n \"fc-slot-\" + DAY_IDS[meta.dow],\n ];\n if (meta.isDisabled) {\n classNames.push('fc-slot-disabled');\n }\n else {\n if (meta.isToday) {\n classNames.push('fc-slot-today');\n classNames.push(theme.getClass('today'));\n }\n if (meta.isPast) {\n classNames.push('fc-slot-past');\n }\n if (meta.isFuture) {\n classNames.push('fc-slot-future');\n }\n }\n return classNames;\n}\n\nvar DAY_FORMAT = createFormatter({ year: 'numeric', month: 'long', day: 'numeric' });\nvar WEEK_FORMAT = createFormatter({ week: 'long' });\nfunction buildNavLinkAttrs(context, dateMarker, viewType, isTabbable) {\n if (viewType === void 0) { viewType = 'day'; }\n if (isTabbable === void 0) { isTabbable = true; }\n var dateEnv = context.dateEnv, options = context.options, calendarApi = context.calendarApi;\n var dateStr = dateEnv.format(dateMarker, viewType === 'week' ? WEEK_FORMAT : DAY_FORMAT);\n if (options.navLinks) {\n var zonedDate = dateEnv.toDate(dateMarker);\n var handleInteraction = function (ev) {\n var customAction = viewType === 'day' ? options.navLinkDayClick :\n viewType === 'week' ? options.navLinkWeekClick : null;\n if (typeof customAction === 'function') {\n customAction.call(calendarApi, dateEnv.toDate(dateMarker), ev);\n }\n else {\n if (typeof customAction === 'string') {\n viewType = customAction;\n }\n calendarApi.zoomTo(dateMarker, viewType);\n }\n };\n return __assign({ title: formatWithOrdinals(options.navLinkHint, [dateStr, zonedDate], dateStr), 'data-navlink': '' }, (isTabbable\n ? createAriaClickAttrs(handleInteraction)\n : { onClick: handleInteraction }));\n }\n return { 'aria-label': dateStr };\n}\n\nvar _isRtlScrollbarOnLeft = null;\nfunction getIsRtlScrollbarOnLeft() {\n if (_isRtlScrollbarOnLeft === null) {\n _isRtlScrollbarOnLeft = computeIsRtlScrollbarOnLeft();\n }\n return _isRtlScrollbarOnLeft;\n}\nfunction computeIsRtlScrollbarOnLeft() {\n var outerEl = document.createElement('div');\n applyStyle(outerEl, {\n position: 'absolute',\n top: -1000,\n left: 0,\n border: 0,\n padding: 0,\n overflow: 'scroll',\n direction: 'rtl',\n });\n outerEl.innerHTML = '
    ';\n document.body.appendChild(outerEl);\n var innerEl = outerEl.firstChild;\n var res = innerEl.getBoundingClientRect().left > outerEl.getBoundingClientRect().left;\n removeElement(outerEl);\n return res;\n}\n\nvar _scrollbarWidths;\nfunction getScrollbarWidths() {\n if (!_scrollbarWidths) {\n _scrollbarWidths = computeScrollbarWidths();\n }\n return _scrollbarWidths;\n}\nfunction computeScrollbarWidths() {\n var el = document.createElement('div');\n el.style.overflow = 'scroll';\n el.style.position = 'absolute';\n el.style.top = '-9999px';\n el.style.left = '-9999px';\n document.body.appendChild(el);\n var res = computeScrollbarWidthsForEl(el);\n document.body.removeChild(el);\n return res;\n}\n// WARNING: will include border\nfunction computeScrollbarWidthsForEl(el) {\n return {\n x: el.offsetHeight - el.clientHeight,\n y: el.offsetWidth - el.clientWidth,\n };\n}\n\nfunction computeEdges(el, getPadding) {\n if (getPadding === void 0) { getPadding = false; }\n var computedStyle = window.getComputedStyle(el);\n var borderLeft = parseInt(computedStyle.borderLeftWidth, 10) || 0;\n var borderRight = parseInt(computedStyle.borderRightWidth, 10) || 0;\n var borderTop = parseInt(computedStyle.borderTopWidth, 10) || 0;\n var borderBottom = parseInt(computedStyle.borderBottomWidth, 10) || 0;\n var badScrollbarWidths = computeScrollbarWidthsForEl(el); // includes border!\n var scrollbarLeftRight = badScrollbarWidths.y - borderLeft - borderRight;\n var scrollbarBottom = badScrollbarWidths.x - borderTop - borderBottom;\n var res = {\n borderLeft: borderLeft,\n borderRight: borderRight,\n borderTop: borderTop,\n borderBottom: borderBottom,\n scrollbarBottom: scrollbarBottom,\n scrollbarLeft: 0,\n scrollbarRight: 0,\n };\n if (getIsRtlScrollbarOnLeft() && computedStyle.direction === 'rtl') { // is the scrollbar on the left side?\n res.scrollbarLeft = scrollbarLeftRight;\n }\n else {\n res.scrollbarRight = scrollbarLeftRight;\n }\n if (getPadding) {\n res.paddingLeft = parseInt(computedStyle.paddingLeft, 10) || 0;\n res.paddingRight = parseInt(computedStyle.paddingRight, 10) || 0;\n res.paddingTop = parseInt(computedStyle.paddingTop, 10) || 0;\n res.paddingBottom = parseInt(computedStyle.paddingBottom, 10) || 0;\n }\n return res;\n}\nfunction computeInnerRect(el, goWithinPadding, doFromWindowViewport) {\n if (goWithinPadding === void 0) { goWithinPadding = false; }\n var outerRect = doFromWindowViewport ? el.getBoundingClientRect() : computeRect(el);\n var edges = computeEdges(el, goWithinPadding);\n var res = {\n left: outerRect.left + edges.borderLeft + edges.scrollbarLeft,\n right: outerRect.right - edges.borderRight - edges.scrollbarRight,\n top: outerRect.top + edges.borderTop,\n bottom: outerRect.bottom - edges.borderBottom - edges.scrollbarBottom,\n };\n if (goWithinPadding) {\n res.left += edges.paddingLeft;\n res.right -= edges.paddingRight;\n res.top += edges.paddingTop;\n res.bottom -= edges.paddingBottom;\n }\n return res;\n}\nfunction computeRect(el) {\n var rect = el.getBoundingClientRect();\n return {\n left: rect.left + window.pageXOffset,\n top: rect.top + window.pageYOffset,\n right: rect.right + window.pageXOffset,\n bottom: rect.bottom + window.pageYOffset,\n };\n}\nfunction computeClippedClientRect(el) {\n var clippingParents = getClippingParents(el);\n var rect = el.getBoundingClientRect();\n for (var _i = 0, clippingParents_1 = clippingParents; _i < clippingParents_1.length; _i++) {\n var clippingParent = clippingParents_1[_i];\n var intersection = intersectRects(rect, clippingParent.getBoundingClientRect());\n if (intersection) {\n rect = intersection;\n }\n else {\n return null;\n }\n }\n return rect;\n}\nfunction computeHeightAndMargins(el) {\n return el.getBoundingClientRect().height + computeVMargins(el);\n}\nfunction computeVMargins(el) {\n var computed = window.getComputedStyle(el);\n return parseInt(computed.marginTop, 10) +\n parseInt(computed.marginBottom, 10);\n}\n// does not return window\nfunction getClippingParents(el) {\n var parents = [];\n while (el instanceof HTMLElement) { // will stop when gets to document or null\n var computedStyle = window.getComputedStyle(el);\n if (computedStyle.position === 'fixed') {\n break;\n }\n if ((/(auto|scroll)/).test(computedStyle.overflow + computedStyle.overflowY + computedStyle.overflowX)) {\n parents.push(el);\n }\n el = el.parentNode;\n }\n return parents;\n}\n\n// given a function that resolves a result asynchronously.\n// the function can either call passed-in success and failure callbacks,\n// or it can return a promise.\n// if you need to pass additional params to func, bind them first.\nfunction unpromisify(func, success, failure) {\n // guard against success/failure callbacks being called more than once\n // and guard against a promise AND callback being used together.\n var isResolved = false;\n var wrappedSuccess = function () {\n if (!isResolved) {\n isResolved = true;\n success.apply(this, arguments); // eslint-disable-line prefer-rest-params\n }\n };\n var wrappedFailure = function () {\n if (!isResolved) {\n isResolved = true;\n if (failure) {\n failure.apply(this, arguments); // eslint-disable-line prefer-rest-params\n }\n }\n };\n var res = func(wrappedSuccess, wrappedFailure);\n if (res && typeof res.then === 'function') {\n res.then(wrappedSuccess, wrappedFailure);\n }\n}\n\nvar Emitter = /** @class */ (function () {\n function Emitter() {\n this.handlers = {};\n this.thisContext = null;\n }\n Emitter.prototype.setThisContext = function (thisContext) {\n this.thisContext = thisContext;\n };\n Emitter.prototype.setOptions = function (options) {\n this.options = options;\n };\n Emitter.prototype.on = function (type, handler) {\n addToHash(this.handlers, type, handler);\n };\n Emitter.prototype.off = function (type, handler) {\n removeFromHash(this.handlers, type, handler);\n };\n Emitter.prototype.trigger = function (type) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var attachedHandlers = this.handlers[type] || [];\n var optionHandler = this.options && this.options[type];\n var handlers = [].concat(optionHandler || [], attachedHandlers);\n for (var _a = 0, handlers_1 = handlers; _a < handlers_1.length; _a++) {\n var handler = handlers_1[_a];\n handler.apply(this.thisContext, args);\n }\n };\n Emitter.prototype.hasHandlers = function (type) {\n return Boolean((this.handlers[type] && this.handlers[type].length) ||\n (this.options && this.options[type]));\n };\n return Emitter;\n}());\nfunction addToHash(hash, type, handler) {\n (hash[type] || (hash[type] = []))\n .push(handler);\n}\nfunction removeFromHash(hash, type, handler) {\n if (handler) {\n if (hash[type]) {\n hash[type] = hash[type].filter(function (func) { return func !== handler; });\n }\n }\n else {\n delete hash[type]; // remove all handler funcs for this type\n }\n}\n\n/*\nRecords offset information for a set of elements, relative to an origin element.\nCan record the left/right OR the top/bottom OR both.\nProvides methods for querying the cache by position.\n*/\nvar PositionCache = /** @class */ (function () {\n function PositionCache(originEl, els, isHorizontal, isVertical) {\n this.els = els;\n var originClientRect = this.originClientRect = originEl.getBoundingClientRect(); // relative to viewport top-left\n if (isHorizontal) {\n this.buildElHorizontals(originClientRect.left);\n }\n if (isVertical) {\n this.buildElVerticals(originClientRect.top);\n }\n }\n // Populates the left/right internal coordinate arrays\n PositionCache.prototype.buildElHorizontals = function (originClientLeft) {\n var lefts = [];\n var rights = [];\n for (var _i = 0, _a = this.els; _i < _a.length; _i++) {\n var el = _a[_i];\n var rect = el.getBoundingClientRect();\n lefts.push(rect.left - originClientLeft);\n rights.push(rect.right - originClientLeft);\n }\n this.lefts = lefts;\n this.rights = rights;\n };\n // Populates the top/bottom internal coordinate arrays\n PositionCache.prototype.buildElVerticals = function (originClientTop) {\n var tops = [];\n var bottoms = [];\n for (var _i = 0, _a = this.els; _i < _a.length; _i++) {\n var el = _a[_i];\n var rect = el.getBoundingClientRect();\n tops.push(rect.top - originClientTop);\n bottoms.push(rect.bottom - originClientTop);\n }\n this.tops = tops;\n this.bottoms = bottoms;\n };\n // Given a left offset (from document left), returns the index of the el that it horizontally intersects.\n // If no intersection is made, returns undefined.\n PositionCache.prototype.leftToIndex = function (leftPosition) {\n var _a = this, lefts = _a.lefts, rights = _a.rights;\n var len = lefts.length;\n var i;\n for (i = 0; i < len; i += 1) {\n if (leftPosition >= lefts[i] && leftPosition < rights[i]) {\n return i;\n }\n }\n return undefined; // TODO: better\n };\n // Given a top offset (from document top), returns the index of the el that it vertically intersects.\n // If no intersection is made, returns undefined.\n PositionCache.prototype.topToIndex = function (topPosition) {\n var _a = this, tops = _a.tops, bottoms = _a.bottoms;\n var len = tops.length;\n var i;\n for (i = 0; i < len; i += 1) {\n if (topPosition >= tops[i] && topPosition < bottoms[i]) {\n return i;\n }\n }\n return undefined; // TODO: better\n };\n // Gets the width of the element at the given index\n PositionCache.prototype.getWidth = function (leftIndex) {\n return this.rights[leftIndex] - this.lefts[leftIndex];\n };\n // Gets the height of the element at the given index\n PositionCache.prototype.getHeight = function (topIndex) {\n return this.bottoms[topIndex] - this.tops[topIndex];\n };\n return PositionCache;\n}());\n\n/* eslint max-classes-per-file: \"off\" */\n/*\nAn object for getting/setting scroll-related information for an element.\nInternally, this is done very differently for window versus DOM element,\nso this object serves as a common interface.\n*/\nvar ScrollController = /** @class */ (function () {\n function ScrollController() {\n }\n ScrollController.prototype.getMaxScrollTop = function () {\n return this.getScrollHeight() - this.getClientHeight();\n };\n ScrollController.prototype.getMaxScrollLeft = function () {\n return this.getScrollWidth() - this.getClientWidth();\n };\n ScrollController.prototype.canScrollVertically = function () {\n return this.getMaxScrollTop() > 0;\n };\n ScrollController.prototype.canScrollHorizontally = function () {\n return this.getMaxScrollLeft() > 0;\n };\n ScrollController.prototype.canScrollUp = function () {\n return this.getScrollTop() > 0;\n };\n ScrollController.prototype.canScrollDown = function () {\n return this.getScrollTop() < this.getMaxScrollTop();\n };\n ScrollController.prototype.canScrollLeft = function () {\n return this.getScrollLeft() > 0;\n };\n ScrollController.prototype.canScrollRight = function () {\n return this.getScrollLeft() < this.getMaxScrollLeft();\n };\n return ScrollController;\n}());\nvar ElementScrollController = /** @class */ (function (_super) {\n __extends(ElementScrollController, _super);\n function ElementScrollController(el) {\n var _this = _super.call(this) || this;\n _this.el = el;\n return _this;\n }\n ElementScrollController.prototype.getScrollTop = function () {\n return this.el.scrollTop;\n };\n ElementScrollController.prototype.getScrollLeft = function () {\n return this.el.scrollLeft;\n };\n ElementScrollController.prototype.setScrollTop = function (top) {\n this.el.scrollTop = top;\n };\n ElementScrollController.prototype.setScrollLeft = function (left) {\n this.el.scrollLeft = left;\n };\n ElementScrollController.prototype.getScrollWidth = function () {\n return this.el.scrollWidth;\n };\n ElementScrollController.prototype.getScrollHeight = function () {\n return this.el.scrollHeight;\n };\n ElementScrollController.prototype.getClientHeight = function () {\n return this.el.clientHeight;\n };\n ElementScrollController.prototype.getClientWidth = function () {\n return this.el.clientWidth;\n };\n return ElementScrollController;\n}(ScrollController));\nvar WindowScrollController = /** @class */ (function (_super) {\n __extends(WindowScrollController, _super);\n function WindowScrollController() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n WindowScrollController.prototype.getScrollTop = function () {\n return window.pageYOffset;\n };\n WindowScrollController.prototype.getScrollLeft = function () {\n return window.pageXOffset;\n };\n WindowScrollController.prototype.setScrollTop = function (n) {\n window.scroll(window.pageXOffset, n);\n };\n WindowScrollController.prototype.setScrollLeft = function (n) {\n window.scroll(n, window.pageYOffset);\n };\n WindowScrollController.prototype.getScrollWidth = function () {\n return document.documentElement.scrollWidth;\n };\n WindowScrollController.prototype.getScrollHeight = function () {\n return document.documentElement.scrollHeight;\n };\n WindowScrollController.prototype.getClientHeight = function () {\n return document.documentElement.clientHeight;\n };\n WindowScrollController.prototype.getClientWidth = function () {\n return document.documentElement.clientWidth;\n };\n return WindowScrollController;\n}(ScrollController));\n\nvar Theme = /** @class */ (function () {\n function Theme(calendarOptions) {\n if (this.iconOverrideOption) {\n this.setIconOverride(calendarOptions[this.iconOverrideOption]);\n }\n }\n Theme.prototype.setIconOverride = function (iconOverrideHash) {\n var iconClassesCopy;\n var buttonName;\n if (typeof iconOverrideHash === 'object' && iconOverrideHash) { // non-null object\n iconClassesCopy = __assign({}, this.iconClasses);\n for (buttonName in iconOverrideHash) {\n iconClassesCopy[buttonName] = this.applyIconOverridePrefix(iconOverrideHash[buttonName]);\n }\n this.iconClasses = iconClassesCopy;\n }\n else if (iconOverrideHash === false) {\n this.iconClasses = {};\n }\n };\n Theme.prototype.applyIconOverridePrefix = function (className) {\n var prefix = this.iconOverridePrefix;\n if (prefix && className.indexOf(prefix) !== 0) { // if not already present\n className = prefix + className;\n }\n return className;\n };\n Theme.prototype.getClass = function (key) {\n return this.classes[key] || '';\n };\n Theme.prototype.getIconClass = function (buttonName, isRtl) {\n var className;\n if (isRtl && this.rtlIconClasses) {\n className = this.rtlIconClasses[buttonName] || this.iconClasses[buttonName];\n }\n else {\n className = this.iconClasses[buttonName];\n }\n if (className) {\n return this.baseIconClass + \" \" + className;\n }\n return '';\n };\n Theme.prototype.getCustomButtonIconClass = function (customButtonProps) {\n var className;\n if (this.iconOverrideCustomButtonOption) {\n className = customButtonProps[this.iconOverrideCustomButtonOption];\n if (className) {\n return this.baseIconClass + \" \" + this.applyIconOverridePrefix(className);\n }\n }\n return '';\n };\n return Theme;\n}());\nTheme.prototype.classes = {};\nTheme.prototype.iconClasses = {};\nTheme.prototype.baseIconClass = '';\nTheme.prototype.iconOverridePrefix = '';\n\nvar ScrollResponder = /** @class */ (function () {\n function ScrollResponder(execFunc, emitter, scrollTime, scrollTimeReset) {\n var _this = this;\n this.execFunc = execFunc;\n this.emitter = emitter;\n this.scrollTime = scrollTime;\n this.scrollTimeReset = scrollTimeReset;\n this.handleScrollRequest = function (request) {\n _this.queuedRequest = __assign({}, _this.queuedRequest || {}, request);\n _this.drain();\n };\n emitter.on('_scrollRequest', this.handleScrollRequest);\n this.fireInitialScroll();\n }\n ScrollResponder.prototype.detach = function () {\n this.emitter.off('_scrollRequest', this.handleScrollRequest);\n };\n ScrollResponder.prototype.update = function (isDatesNew) {\n if (isDatesNew && this.scrollTimeReset) {\n this.fireInitialScroll(); // will drain\n }\n else {\n this.drain();\n }\n };\n ScrollResponder.prototype.fireInitialScroll = function () {\n this.handleScrollRequest({\n time: this.scrollTime,\n });\n };\n ScrollResponder.prototype.drain = function () {\n if (this.queuedRequest && this.execFunc(this.queuedRequest)) {\n this.queuedRequest = null;\n }\n };\n return ScrollResponder;\n}());\n\nvar ViewContextType = createContext({}); // for Components\nfunction buildViewContext(viewSpec, viewApi, viewOptions, dateProfileGenerator, dateEnv, theme, pluginHooks, dispatch, getCurrentData, emitter, calendarApi, registerInteractiveComponent, unregisterInteractiveComponent) {\n return {\n dateEnv: dateEnv,\n options: viewOptions,\n pluginHooks: pluginHooks,\n emitter: emitter,\n dispatch: dispatch,\n getCurrentData: getCurrentData,\n calendarApi: calendarApi,\n viewSpec: viewSpec,\n viewApi: viewApi,\n dateProfileGenerator: dateProfileGenerator,\n theme: theme,\n isRtl: viewOptions.direction === 'rtl',\n addResizeHandler: function (handler) {\n emitter.on('_resize', handler);\n },\n removeResizeHandler: function (handler) {\n emitter.off('_resize', handler);\n },\n createScrollResponder: function (execFunc) {\n return new ScrollResponder(execFunc, emitter, createDuration(viewOptions.scrollTime), viewOptions.scrollTimeReset);\n },\n registerInteractiveComponent: registerInteractiveComponent,\n unregisterInteractiveComponent: unregisterInteractiveComponent,\n };\n}\n\n/* eslint max-classes-per-file: off */\nvar PureComponent = /** @class */ (function (_super) {\n __extends(PureComponent, _super);\n function PureComponent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PureComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {\n if (this.debug) {\n // eslint-disable-next-line no-console\n console.log(getUnequalProps(nextProps, this.props), getUnequalProps(nextState, this.state));\n }\n return !compareObjs(this.props, nextProps, this.propEquality) ||\n !compareObjs(this.state, nextState, this.stateEquality);\n };\n PureComponent.addPropsEquality = addPropsEquality;\n PureComponent.addStateEquality = addStateEquality;\n PureComponent.contextType = ViewContextType;\n return PureComponent;\n}(Component));\nPureComponent.prototype.propEquality = {};\nPureComponent.prototype.stateEquality = {};\nvar BaseComponent = /** @class */ (function (_super) {\n __extends(BaseComponent, _super);\n function BaseComponent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BaseComponent.contextType = ViewContextType;\n return BaseComponent;\n}(PureComponent));\nfunction addPropsEquality(propEquality) {\n var hash = Object.create(this.prototype.propEquality);\n __assign(hash, propEquality);\n this.prototype.propEquality = hash;\n}\nfunction addStateEquality(stateEquality) {\n var hash = Object.create(this.prototype.stateEquality);\n __assign(hash, stateEquality);\n this.prototype.stateEquality = hash;\n}\n// use other one\nfunction setRef(ref, current) {\n if (typeof ref === 'function') {\n ref(current);\n }\n else if (ref) {\n // see https://github.com/facebook/react/issues/13029\n ref.current = current;\n }\n}\n\n/*\nan INTERACTABLE date component\n\nPURPOSES:\n- hook up to fg, fill, and mirror renderers\n- interface for dragging and hits\n*/\nvar DateComponent = /** @class */ (function (_super) {\n __extends(DateComponent, _super);\n function DateComponent() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.uid = guid();\n return _this;\n }\n // Hit System\n // -----------------------------------------------------------------------------------------------------------------\n DateComponent.prototype.prepareHits = function () {\n };\n DateComponent.prototype.queryHit = function (positionLeft, positionTop, elWidth, elHeight) {\n return null; // this should be abstract\n };\n // Pointer Interaction Utils\n // -----------------------------------------------------------------------------------------------------------------\n DateComponent.prototype.isValidSegDownEl = function (el) {\n return !this.props.eventDrag && // HACK\n !this.props.eventResize && // HACK\n !elementClosest(el, '.fc-event-mirror');\n };\n DateComponent.prototype.isValidDateDownEl = function (el) {\n return !elementClosest(el, '.fc-event:not(.fc-bg-event)') &&\n !elementClosest(el, '.fc-more-link') && // a \"more..\" link\n !elementClosest(el, 'a[data-navlink]') && // a clickable nav link\n !elementClosest(el, '.fc-popover'); // hack\n };\n return DateComponent;\n}(BaseComponent));\n\n// TODO: easier way to add new hooks? need to update a million things\nfunction createPlugin(input) {\n return {\n id: guid(),\n deps: input.deps || [],\n reducers: input.reducers || [],\n isLoadingFuncs: input.isLoadingFuncs || [],\n contextInit: [].concat(input.contextInit || []),\n eventRefiners: input.eventRefiners || {},\n eventDefMemberAdders: input.eventDefMemberAdders || [],\n eventSourceRefiners: input.eventSourceRefiners || {},\n isDraggableTransformers: input.isDraggableTransformers || [],\n eventDragMutationMassagers: input.eventDragMutationMassagers || [],\n eventDefMutationAppliers: input.eventDefMutationAppliers || [],\n dateSelectionTransformers: input.dateSelectionTransformers || [],\n datePointTransforms: input.datePointTransforms || [],\n dateSpanTransforms: input.dateSpanTransforms || [],\n views: input.views || {},\n viewPropsTransformers: input.viewPropsTransformers || [],\n isPropsValid: input.isPropsValid || null,\n externalDefTransforms: input.externalDefTransforms || [],\n viewContainerAppends: input.viewContainerAppends || [],\n eventDropTransformers: input.eventDropTransformers || [],\n componentInteractions: input.componentInteractions || [],\n calendarInteractions: input.calendarInteractions || [],\n themeClasses: input.themeClasses || {},\n eventSourceDefs: input.eventSourceDefs || [],\n cmdFormatter: input.cmdFormatter,\n recurringTypes: input.recurringTypes || [],\n namedTimeZonedImpl: input.namedTimeZonedImpl,\n initialView: input.initialView || '',\n elementDraggingImpl: input.elementDraggingImpl,\n optionChangeHandlers: input.optionChangeHandlers || {},\n scrollGridImpl: input.scrollGridImpl || null,\n contentTypeHandlers: input.contentTypeHandlers || {},\n listenerRefiners: input.listenerRefiners || {},\n optionRefiners: input.optionRefiners || {},\n propSetHandlers: input.propSetHandlers || {},\n };\n}\nfunction buildPluginHooks(pluginDefs, globalDefs) {\n var isAdded = {};\n var hooks = {\n reducers: [],\n isLoadingFuncs: [],\n contextInit: [],\n eventRefiners: {},\n eventDefMemberAdders: [],\n eventSourceRefiners: {},\n isDraggableTransformers: [],\n eventDragMutationMassagers: [],\n eventDefMutationAppliers: [],\n dateSelectionTransformers: [],\n datePointTransforms: [],\n dateSpanTransforms: [],\n views: {},\n viewPropsTransformers: [],\n isPropsValid: null,\n externalDefTransforms: [],\n viewContainerAppends: [],\n eventDropTransformers: [],\n componentInteractions: [],\n calendarInteractions: [],\n themeClasses: {},\n eventSourceDefs: [],\n cmdFormatter: null,\n recurringTypes: [],\n namedTimeZonedImpl: null,\n initialView: '',\n elementDraggingImpl: null,\n optionChangeHandlers: {},\n scrollGridImpl: null,\n contentTypeHandlers: {},\n listenerRefiners: {},\n optionRefiners: {},\n propSetHandlers: {},\n };\n function addDefs(defs) {\n for (var _i = 0, defs_1 = defs; _i < defs_1.length; _i++) {\n var def = defs_1[_i];\n if (!isAdded[def.id]) {\n isAdded[def.id] = true;\n addDefs(def.deps);\n hooks = combineHooks(hooks, def);\n }\n }\n }\n if (pluginDefs) {\n addDefs(pluginDefs);\n }\n addDefs(globalDefs);\n return hooks;\n}\nfunction buildBuildPluginHooks() {\n var currentOverrideDefs = [];\n var currentGlobalDefs = [];\n var currentHooks;\n return function (overrideDefs, globalDefs) {\n if (!currentHooks || !isArraysEqual(overrideDefs, currentOverrideDefs) || !isArraysEqual(globalDefs, currentGlobalDefs)) {\n currentHooks = buildPluginHooks(overrideDefs, globalDefs);\n }\n currentOverrideDefs = overrideDefs;\n currentGlobalDefs = globalDefs;\n return currentHooks;\n };\n}\nfunction combineHooks(hooks0, hooks1) {\n return {\n reducers: hooks0.reducers.concat(hooks1.reducers),\n isLoadingFuncs: hooks0.isLoadingFuncs.concat(hooks1.isLoadingFuncs),\n contextInit: hooks0.contextInit.concat(hooks1.contextInit),\n eventRefiners: __assign(__assign({}, hooks0.eventRefiners), hooks1.eventRefiners),\n eventDefMemberAdders: hooks0.eventDefMemberAdders.concat(hooks1.eventDefMemberAdders),\n eventSourceRefiners: __assign(__assign({}, hooks0.eventSourceRefiners), hooks1.eventSourceRefiners),\n isDraggableTransformers: hooks0.isDraggableTransformers.concat(hooks1.isDraggableTransformers),\n eventDragMutationMassagers: hooks0.eventDragMutationMassagers.concat(hooks1.eventDragMutationMassagers),\n eventDefMutationAppliers: hooks0.eventDefMutationAppliers.concat(hooks1.eventDefMutationAppliers),\n dateSelectionTransformers: hooks0.dateSelectionTransformers.concat(hooks1.dateSelectionTransformers),\n datePointTransforms: hooks0.datePointTransforms.concat(hooks1.datePointTransforms),\n dateSpanTransforms: hooks0.dateSpanTransforms.concat(hooks1.dateSpanTransforms),\n views: __assign(__assign({}, hooks0.views), hooks1.views),\n viewPropsTransformers: hooks0.viewPropsTransformers.concat(hooks1.viewPropsTransformers),\n isPropsValid: hooks1.isPropsValid || hooks0.isPropsValid,\n externalDefTransforms: hooks0.externalDefTransforms.concat(hooks1.externalDefTransforms),\n viewContainerAppends: hooks0.viewContainerAppends.concat(hooks1.viewContainerAppends),\n eventDropTransformers: hooks0.eventDropTransformers.concat(hooks1.eventDropTransformers),\n calendarInteractions: hooks0.calendarInteractions.concat(hooks1.calendarInteractions),\n componentInteractions: hooks0.componentInteractions.concat(hooks1.componentInteractions),\n themeClasses: __assign(__assign({}, hooks0.themeClasses), hooks1.themeClasses),\n eventSourceDefs: hooks0.eventSourceDefs.concat(hooks1.eventSourceDefs),\n cmdFormatter: hooks1.cmdFormatter || hooks0.cmdFormatter,\n recurringTypes: hooks0.recurringTypes.concat(hooks1.recurringTypes),\n namedTimeZonedImpl: hooks1.namedTimeZonedImpl || hooks0.namedTimeZonedImpl,\n initialView: hooks0.initialView || hooks1.initialView,\n elementDraggingImpl: hooks0.elementDraggingImpl || hooks1.elementDraggingImpl,\n optionChangeHandlers: __assign(__assign({}, hooks0.optionChangeHandlers), hooks1.optionChangeHandlers),\n scrollGridImpl: hooks1.scrollGridImpl || hooks0.scrollGridImpl,\n contentTypeHandlers: __assign(__assign({}, hooks0.contentTypeHandlers), hooks1.contentTypeHandlers),\n listenerRefiners: __assign(__assign({}, hooks0.listenerRefiners), hooks1.listenerRefiners),\n optionRefiners: __assign(__assign({}, hooks0.optionRefiners), hooks1.optionRefiners),\n propSetHandlers: __assign(__assign({}, hooks0.propSetHandlers), hooks1.propSetHandlers),\n };\n}\n\nvar StandardTheme = /** @class */ (function (_super) {\n __extends(StandardTheme, _super);\n function StandardTheme() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return StandardTheme;\n}(Theme));\nStandardTheme.prototype.classes = {\n root: 'fc-theme-standard',\n tableCellShaded: 'fc-cell-shaded',\n buttonGroup: 'fc-button-group',\n button: 'fc-button fc-button-primary',\n buttonActive: 'fc-button-active',\n};\nStandardTheme.prototype.baseIconClass = 'fc-icon';\nStandardTheme.prototype.iconClasses = {\n close: 'fc-icon-x',\n prev: 'fc-icon-chevron-left',\n next: 'fc-icon-chevron-right',\n prevYear: 'fc-icon-chevrons-left',\n nextYear: 'fc-icon-chevrons-right',\n};\nStandardTheme.prototype.rtlIconClasses = {\n prev: 'fc-icon-chevron-right',\n next: 'fc-icon-chevron-left',\n prevYear: 'fc-icon-chevrons-right',\n nextYear: 'fc-icon-chevrons-left',\n};\nStandardTheme.prototype.iconOverrideOption = 'buttonIcons'; // TODO: make TS-friendly\nStandardTheme.prototype.iconOverrideCustomButtonOption = 'icon';\nStandardTheme.prototype.iconOverridePrefix = 'fc-icon-';\n\nfunction compileViewDefs(defaultConfigs, overrideConfigs) {\n var hash = {};\n var viewType;\n for (viewType in defaultConfigs) {\n ensureViewDef(viewType, hash, defaultConfigs, overrideConfigs);\n }\n for (viewType in overrideConfigs) {\n ensureViewDef(viewType, hash, defaultConfigs, overrideConfigs);\n }\n return hash;\n}\nfunction ensureViewDef(viewType, hash, defaultConfigs, overrideConfigs) {\n if (hash[viewType]) {\n return hash[viewType];\n }\n var viewDef = buildViewDef(viewType, hash, defaultConfigs, overrideConfigs);\n if (viewDef) {\n hash[viewType] = viewDef;\n }\n return viewDef;\n}\nfunction buildViewDef(viewType, hash, defaultConfigs, overrideConfigs) {\n var defaultConfig = defaultConfigs[viewType];\n var overrideConfig = overrideConfigs[viewType];\n var queryProp = function (name) { return ((defaultConfig && defaultConfig[name] !== null) ? defaultConfig[name] :\n ((overrideConfig && overrideConfig[name] !== null) ? overrideConfig[name] : null)); };\n var theComponent = queryProp('component');\n var superType = queryProp('superType');\n var superDef = null;\n if (superType) {\n if (superType === viewType) {\n throw new Error('Can\\'t have a custom view type that references itself');\n }\n superDef = ensureViewDef(superType, hash, defaultConfigs, overrideConfigs);\n }\n if (!theComponent && superDef) {\n theComponent = superDef.component;\n }\n if (!theComponent) {\n return null; // don't throw a warning, might be settings for a single-unit view\n }\n return {\n type: viewType,\n component: theComponent,\n defaults: __assign(__assign({}, (superDef ? superDef.defaults : {})), (defaultConfig ? defaultConfig.rawOptions : {})),\n overrides: __assign(__assign({}, (superDef ? superDef.overrides : {})), (overrideConfig ? overrideConfig.rawOptions : {})),\n };\n}\n\n/* eslint max-classes-per-file: off */\n// NOTE: in JSX, you should always use this class with arg. otherwise, will default to any???\nvar RenderHook = /** @class */ (function (_super) {\n __extends(RenderHook, _super);\n function RenderHook() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.rootElRef = createRef();\n _this.handleRootEl = function (el) {\n setRef(_this.rootElRef, el);\n if (_this.props.elRef) {\n setRef(_this.props.elRef, el);\n }\n };\n return _this;\n }\n RenderHook.prototype.render = function () {\n var _this = this;\n var props = this.props;\n var hookProps = props.hookProps;\n return (createElement(MountHook, { hookProps: hookProps, didMount: props.didMount, willUnmount: props.willUnmount, elRef: this.handleRootEl }, function (rootElRef) { return (createElement(ContentHook, { hookProps: hookProps, content: props.content, defaultContent: props.defaultContent, backupElRef: _this.rootElRef }, function (innerElRef, innerContent) { return props.children(rootElRef, normalizeClassNames(props.classNames, hookProps), innerElRef, innerContent); })); }));\n };\n return RenderHook;\n}(BaseComponent));\n// TODO: rename to be about function, not default. use in above type\n// for forcing rerender of components that use the ContentHook\nvar CustomContentRenderContext = createContext(0);\nfunction ContentHook(props) {\n return (createElement(CustomContentRenderContext.Consumer, null, function (renderId) { return (createElement(ContentHookInner, __assign({ renderId: renderId }, props))); }));\n}\nvar ContentHookInner = /** @class */ (function (_super) {\n __extends(ContentHookInner, _super);\n function ContentHookInner() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.innerElRef = createRef();\n return _this;\n }\n ContentHookInner.prototype.render = function () {\n return this.props.children(this.innerElRef, this.renderInnerContent());\n };\n ContentHookInner.prototype.componentDidMount = function () {\n this.updateCustomContent();\n };\n ContentHookInner.prototype.componentDidUpdate = function () {\n this.updateCustomContent();\n };\n ContentHookInner.prototype.componentWillUnmount = function () {\n if (this.customContentInfo && this.customContentInfo.destroy) {\n this.customContentInfo.destroy();\n }\n };\n ContentHookInner.prototype.renderInnerContent = function () {\n var customContentInfo = this.customContentInfo; // only populated if using non-[p]react node(s)\n var innerContent = this.getInnerContent();\n var meta = this.getContentMeta(innerContent);\n // initial run, or content-type changing? (from vue -> react for example)\n if (!customContentInfo || customContentInfo.contentKey !== meta.contentKey) {\n // clearing old value\n if (customContentInfo) {\n if (customContentInfo.destroy) {\n customContentInfo.destroy();\n }\n customContentInfo = this.customContentInfo = null;\n }\n // assigning new value\n if (meta.contentKey) {\n customContentInfo = this.customContentInfo = __assign({ contentKey: meta.contentKey, contentVal: innerContent[meta.contentKey] }, meta.buildLifecycleFuncs());\n }\n // updating\n }\n else if (customContentInfo) {\n customContentInfo.contentVal = innerContent[meta.contentKey];\n }\n return customContentInfo\n ? [] // signal that something was specified\n : innerContent; // assume a [p]react vdom node. use it\n };\n ContentHookInner.prototype.getInnerContent = function () {\n var props = this.props;\n var innerContent = normalizeContent(props.content, props.hookProps);\n if (innerContent === undefined) { // use the default\n innerContent = normalizeContent(props.defaultContent, props.hookProps);\n }\n return innerContent == null ? null : innerContent; // convert undefined to null (better for React)\n };\n ContentHookInner.prototype.getContentMeta = function (innerContent) {\n var contentTypeHandlers = this.context.pluginHooks.contentTypeHandlers;\n var contentKey = '';\n var buildLifecycleFuncs = null;\n if (innerContent) { // allowed to be null, for convenience to caller\n for (var searchKey in contentTypeHandlers) {\n if (innerContent[searchKey] !== undefined) {\n contentKey = searchKey;\n buildLifecycleFuncs = contentTypeHandlers[searchKey];\n break;\n }\n }\n }\n return { contentKey: contentKey, buildLifecycleFuncs: buildLifecycleFuncs };\n };\n ContentHookInner.prototype.updateCustomContent = function () {\n if (this.customContentInfo) { // for non-[p]react\n this.customContentInfo.render(this.innerElRef.current || this.props.backupElRef.current, // the element to render into\n this.customContentInfo.contentVal);\n }\n };\n return ContentHookInner;\n}(BaseComponent));\nvar MountHook = /** @class */ (function (_super) {\n __extends(MountHook, _super);\n function MountHook() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.handleRootEl = function (rootEl) {\n _this.rootEl = rootEl;\n if (_this.props.elRef) {\n setRef(_this.props.elRef, rootEl);\n }\n };\n return _this;\n }\n MountHook.prototype.render = function () {\n return this.props.children(this.handleRootEl);\n };\n MountHook.prototype.componentDidMount = function () {\n var callback = this.props.didMount;\n if (callback) {\n callback(__assign(__assign({}, this.props.hookProps), { el: this.rootEl }));\n }\n };\n MountHook.prototype.componentWillUnmount = function () {\n var callback = this.props.willUnmount;\n if (callback) {\n callback(__assign(__assign({}, this.props.hookProps), { el: this.rootEl }));\n }\n };\n return MountHook;\n}(BaseComponent));\nfunction buildClassNameNormalizer() {\n var currentGenerator;\n var currentHookProps;\n var currentClassNames = [];\n return function (generator, hookProps) {\n if (!currentHookProps || !isPropsEqual(currentHookProps, hookProps) || generator !== currentGenerator) {\n currentGenerator = generator;\n currentHookProps = hookProps;\n currentClassNames = normalizeClassNames(generator, hookProps);\n }\n return currentClassNames;\n };\n}\nfunction normalizeClassNames(classNames, hookProps) {\n if (typeof classNames === 'function') {\n classNames = classNames(hookProps);\n }\n return parseClassNames(classNames);\n}\nfunction normalizeContent(input, hookProps) {\n if (typeof input === 'function') {\n return input(hookProps, createElement); // give the function the vdom-creation func\n }\n return input;\n}\n\nvar ViewRoot = /** @class */ (function (_super) {\n __extends(ViewRoot, _super);\n function ViewRoot() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.normalizeClassNames = buildClassNameNormalizer();\n return _this;\n }\n ViewRoot.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n var options = context.options;\n var hookProps = { view: context.viewApi };\n var customClassNames = this.normalizeClassNames(options.viewClassNames, hookProps);\n return (createElement(MountHook, { hookProps: hookProps, didMount: options.viewDidMount, willUnmount: options.viewWillUnmount, elRef: props.elRef }, function (rootElRef) { return props.children(rootElRef, [\"fc-\" + props.viewSpec.type + \"-view\", 'fc-view'].concat(customClassNames)); }));\n };\n return ViewRoot;\n}(BaseComponent));\n\nfunction parseViewConfigs(inputs) {\n return mapHash(inputs, parseViewConfig);\n}\nfunction parseViewConfig(input) {\n var rawOptions = typeof input === 'function' ?\n { component: input } :\n input;\n var component = rawOptions.component;\n if (rawOptions.content) {\n component = createViewHookComponent(rawOptions);\n // TODO: remove content/classNames/didMount/etc from options?\n }\n return {\n superType: rawOptions.type,\n component: component,\n rawOptions: rawOptions,\n };\n}\nfunction createViewHookComponent(options) {\n return function (viewProps) { return (createElement(ViewContextType.Consumer, null, function (context) { return (createElement(ViewRoot, { viewSpec: context.viewSpec }, function (viewElRef, viewClassNames) {\n var hookProps = __assign(__assign({}, viewProps), { nextDayThreshold: context.options.nextDayThreshold });\n return (createElement(RenderHook, { hookProps: hookProps, classNames: options.classNames, content: options.content, didMount: options.didMount, willUnmount: options.willUnmount, elRef: viewElRef }, function (rootElRef, customClassNames, innerElRef, innerContent) { return (createElement(\"div\", { className: viewClassNames.concat(customClassNames).join(' '), ref: rootElRef }, innerContent)); }));\n })); })); };\n}\n\nfunction buildViewSpecs(defaultInputs, optionOverrides, dynamicOptionOverrides, localeDefaults) {\n var defaultConfigs = parseViewConfigs(defaultInputs);\n var overrideConfigs = parseViewConfigs(optionOverrides.views);\n var viewDefs = compileViewDefs(defaultConfigs, overrideConfigs);\n return mapHash(viewDefs, function (viewDef) { return buildViewSpec(viewDef, overrideConfigs, optionOverrides, dynamicOptionOverrides, localeDefaults); });\n}\nfunction buildViewSpec(viewDef, overrideConfigs, optionOverrides, dynamicOptionOverrides, localeDefaults) {\n var durationInput = viewDef.overrides.duration ||\n viewDef.defaults.duration ||\n dynamicOptionOverrides.duration ||\n optionOverrides.duration;\n var duration = null;\n var durationUnit = '';\n var singleUnit = '';\n var singleUnitOverrides = {};\n if (durationInput) {\n duration = createDurationCached(durationInput);\n if (duration) { // valid?\n var denom = greatestDurationDenominator(duration);\n durationUnit = denom.unit;\n if (denom.value === 1) {\n singleUnit = durationUnit;\n singleUnitOverrides = overrideConfigs[durationUnit] ? overrideConfigs[durationUnit].rawOptions : {};\n }\n }\n }\n var queryButtonText = function (optionsSubset) {\n var buttonTextMap = optionsSubset.buttonText || {};\n var buttonTextKey = viewDef.defaults.buttonTextKey;\n if (buttonTextKey != null && buttonTextMap[buttonTextKey] != null) {\n return buttonTextMap[buttonTextKey];\n }\n if (buttonTextMap[viewDef.type] != null) {\n return buttonTextMap[viewDef.type];\n }\n if (buttonTextMap[singleUnit] != null) {\n return buttonTextMap[singleUnit];\n }\n return null;\n };\n var queryButtonTitle = function (optionsSubset) {\n var buttonHints = optionsSubset.buttonHints || {};\n var buttonKey = viewDef.defaults.buttonTextKey; // use same key as text\n if (buttonKey != null && buttonHints[buttonKey] != null) {\n return buttonHints[buttonKey];\n }\n if (buttonHints[viewDef.type] != null) {\n return buttonHints[viewDef.type];\n }\n if (buttonHints[singleUnit] != null) {\n return buttonHints[singleUnit];\n }\n return null;\n };\n return {\n type: viewDef.type,\n component: viewDef.component,\n duration: duration,\n durationUnit: durationUnit,\n singleUnit: singleUnit,\n optionDefaults: viewDef.defaults,\n optionOverrides: __assign(__assign({}, singleUnitOverrides), viewDef.overrides),\n buttonTextOverride: queryButtonText(dynamicOptionOverrides) ||\n queryButtonText(optionOverrides) || // constructor-specified buttonText lookup hash takes precedence\n viewDef.overrides.buttonText,\n buttonTextDefault: queryButtonText(localeDefaults) ||\n viewDef.defaults.buttonText ||\n queryButtonText(BASE_OPTION_DEFAULTS) ||\n viewDef.type,\n // not DRY\n buttonTitleOverride: queryButtonTitle(dynamicOptionOverrides) ||\n queryButtonTitle(optionOverrides) ||\n viewDef.overrides.buttonHint,\n buttonTitleDefault: queryButtonTitle(localeDefaults) ||\n viewDef.defaults.buttonHint ||\n queryButtonTitle(BASE_OPTION_DEFAULTS),\n // will eventually fall back to buttonText\n };\n}\n// hack to get memoization working\nvar durationInputMap = {};\nfunction createDurationCached(durationInput) {\n var json = JSON.stringify(durationInput);\n var res = durationInputMap[json];\n if (res === undefined) {\n res = createDuration(durationInput);\n durationInputMap[json] = res;\n }\n return res;\n}\n\nvar DateProfileGenerator = /** @class */ (function () {\n function DateProfileGenerator(props) {\n this.props = props;\n this.nowDate = getNow(props.nowInput, props.dateEnv);\n this.initHiddenDays();\n }\n /* Date Range Computation\n ------------------------------------------------------------------------------------------------------------------*/\n // Builds a structure with info about what the dates/ranges will be for the \"prev\" view.\n DateProfileGenerator.prototype.buildPrev = function (currentDateProfile, currentDate, forceToValid) {\n var dateEnv = this.props.dateEnv;\n var prevDate = dateEnv.subtract(dateEnv.startOf(currentDate, currentDateProfile.currentRangeUnit), // important for start-of-month\n currentDateProfile.dateIncrement);\n return this.build(prevDate, -1, forceToValid);\n };\n // Builds a structure with info about what the dates/ranges will be for the \"next\" view.\n DateProfileGenerator.prototype.buildNext = function (currentDateProfile, currentDate, forceToValid) {\n var dateEnv = this.props.dateEnv;\n var nextDate = dateEnv.add(dateEnv.startOf(currentDate, currentDateProfile.currentRangeUnit), // important for start-of-month\n currentDateProfile.dateIncrement);\n return this.build(nextDate, 1, forceToValid);\n };\n // Builds a structure holding dates/ranges for rendering around the given date.\n // Optional direction param indicates whether the date is being incremented/decremented\n // from its previous value. decremented = -1, incremented = 1 (default).\n DateProfileGenerator.prototype.build = function (currentDate, direction, forceToValid) {\n if (forceToValid === void 0) { forceToValid = true; }\n var props = this.props;\n var validRange;\n var currentInfo;\n var isRangeAllDay;\n var renderRange;\n var activeRange;\n var isValid;\n validRange = this.buildValidRange();\n validRange = this.trimHiddenDays(validRange);\n if (forceToValid) {\n currentDate = constrainMarkerToRange(currentDate, validRange);\n }\n currentInfo = this.buildCurrentRangeInfo(currentDate, direction);\n isRangeAllDay = /^(year|month|week|day)$/.test(currentInfo.unit);\n renderRange = this.buildRenderRange(this.trimHiddenDays(currentInfo.range), currentInfo.unit, isRangeAllDay);\n renderRange = this.trimHiddenDays(renderRange);\n activeRange = renderRange;\n if (!props.showNonCurrentDates) {\n activeRange = intersectRanges(activeRange, currentInfo.range);\n }\n activeRange = this.adjustActiveRange(activeRange);\n activeRange = intersectRanges(activeRange, validRange); // might return null\n // it's invalid if the originally requested date is not contained,\n // or if the range is completely outside of the valid range.\n isValid = rangesIntersect(currentInfo.range, validRange);\n return {\n // constraint for where prev/next operations can go and where events can be dragged/resized to.\n // an object with optional start and end properties.\n validRange: validRange,\n // range the view is formally responsible for.\n // for example, a month view might have 1st-31st, excluding padded dates\n currentRange: currentInfo.range,\n // name of largest unit being displayed, like \"month\" or \"week\"\n currentRangeUnit: currentInfo.unit,\n isRangeAllDay: isRangeAllDay,\n // dates that display events and accept drag-n-drop\n // will be `null` if no dates accept events\n activeRange: activeRange,\n // date range with a rendered skeleton\n // includes not-active days that need some sort of DOM\n renderRange: renderRange,\n // Duration object that denotes the first visible time of any given day\n slotMinTime: props.slotMinTime,\n // Duration object that denotes the exclusive visible end time of any given day\n slotMaxTime: props.slotMaxTime,\n isValid: isValid,\n // how far the current date will move for a prev/next operation\n dateIncrement: this.buildDateIncrement(currentInfo.duration),\n // pass a fallback (might be null) ^\n };\n };\n // Builds an object with optional start/end properties.\n // Indicates the minimum/maximum dates to display.\n // not responsible for trimming hidden days.\n DateProfileGenerator.prototype.buildValidRange = function () {\n var input = this.props.validRangeInput;\n var simpleInput = typeof input === 'function'\n ? input.call(this.props.calendarApi, this.nowDate)\n : input;\n return this.refineRange(simpleInput) ||\n { start: null, end: null }; // completely open-ended\n };\n // Builds a structure with info about the \"current\" range, the range that is\n // highlighted as being the current month for example.\n // See build() for a description of `direction`.\n // Guaranteed to have `range` and `unit` properties. `duration` is optional.\n DateProfileGenerator.prototype.buildCurrentRangeInfo = function (date, direction) {\n var props = this.props;\n var duration = null;\n var unit = null;\n var range = null;\n var dayCount;\n if (props.duration) {\n duration = props.duration;\n unit = props.durationUnit;\n range = this.buildRangeFromDuration(date, direction, duration, unit);\n }\n else if ((dayCount = this.props.dayCount)) {\n unit = 'day';\n range = this.buildRangeFromDayCount(date, direction, dayCount);\n }\n else if ((range = this.buildCustomVisibleRange(date))) {\n unit = props.dateEnv.greatestWholeUnit(range.start, range.end).unit;\n }\n else {\n duration = this.getFallbackDuration();\n unit = greatestDurationDenominator(duration).unit;\n range = this.buildRangeFromDuration(date, direction, duration, unit);\n }\n return { duration: duration, unit: unit, range: range };\n };\n DateProfileGenerator.prototype.getFallbackDuration = function () {\n return createDuration({ day: 1 });\n };\n // Returns a new activeRange to have time values (un-ambiguate)\n // slotMinTime or slotMaxTime causes the range to expand.\n DateProfileGenerator.prototype.adjustActiveRange = function (range) {\n var _a = this.props, dateEnv = _a.dateEnv, usesMinMaxTime = _a.usesMinMaxTime, slotMinTime = _a.slotMinTime, slotMaxTime = _a.slotMaxTime;\n var start = range.start, end = range.end;\n if (usesMinMaxTime) {\n // expand active range if slotMinTime is negative (why not when positive?)\n if (asRoughDays(slotMinTime) < 0) {\n start = startOfDay(start); // necessary?\n start = dateEnv.add(start, slotMinTime);\n }\n // expand active range if slotMaxTime is beyond one day (why not when negative?)\n if (asRoughDays(slotMaxTime) > 1) {\n end = startOfDay(end); // necessary?\n end = addDays(end, -1);\n end = dateEnv.add(end, slotMaxTime);\n }\n }\n return { start: start, end: end };\n };\n // Builds the \"current\" range when it is specified as an explicit duration.\n // `unit` is the already-computed greatestDurationDenominator unit of duration.\n DateProfileGenerator.prototype.buildRangeFromDuration = function (date, direction, duration, unit) {\n var _a = this.props, dateEnv = _a.dateEnv, dateAlignment = _a.dateAlignment;\n var start;\n var end;\n var res;\n // compute what the alignment should be\n if (!dateAlignment) {\n var dateIncrement = this.props.dateIncrement;\n if (dateIncrement) {\n // use the smaller of the two units\n if (asRoughMs(dateIncrement) < asRoughMs(duration)) {\n dateAlignment = greatestDurationDenominator(dateIncrement).unit;\n }\n else {\n dateAlignment = unit;\n }\n }\n else {\n dateAlignment = unit;\n }\n }\n // if the view displays a single day or smaller\n if (asRoughDays(duration) <= 1) {\n if (this.isHiddenDay(start)) {\n start = this.skipHiddenDays(start, direction);\n start = startOfDay(start);\n }\n }\n function computeRes() {\n start = dateEnv.startOf(date, dateAlignment);\n end = dateEnv.add(start, duration);\n res = { start: start, end: end };\n }\n computeRes();\n // if range is completely enveloped by hidden days, go past the hidden days\n if (!this.trimHiddenDays(res)) {\n date = this.skipHiddenDays(date, direction);\n computeRes();\n }\n return res;\n };\n // Builds the \"current\" range when a dayCount is specified.\n DateProfileGenerator.prototype.buildRangeFromDayCount = function (date, direction, dayCount) {\n var _a = this.props, dateEnv = _a.dateEnv, dateAlignment = _a.dateAlignment;\n var runningCount = 0;\n var start = date;\n var end;\n if (dateAlignment) {\n start = dateEnv.startOf(start, dateAlignment);\n }\n start = startOfDay(start);\n start = this.skipHiddenDays(start, direction);\n end = start;\n do {\n end = addDays(end, 1);\n if (!this.isHiddenDay(end)) {\n runningCount += 1;\n }\n } while (runningCount < dayCount);\n return { start: start, end: end };\n };\n // Builds a normalized range object for the \"visible\" range,\n // which is a way to define the currentRange and activeRange at the same time.\n DateProfileGenerator.prototype.buildCustomVisibleRange = function (date) {\n var props = this.props;\n var input = props.visibleRangeInput;\n var simpleInput = typeof input === 'function'\n ? input.call(props.calendarApi, props.dateEnv.toDate(date))\n : input;\n var range = this.refineRange(simpleInput);\n if (range && (range.start == null || range.end == null)) {\n return null;\n }\n return range;\n };\n // Computes the range that will represent the element/cells for *rendering*,\n // but which may have voided days/times.\n // not responsible for trimming hidden days.\n DateProfileGenerator.prototype.buildRenderRange = function (currentRange, currentRangeUnit, isRangeAllDay) {\n return currentRange;\n };\n // Compute the duration value that should be added/substracted to the current date\n // when a prev/next operation happens.\n DateProfileGenerator.prototype.buildDateIncrement = function (fallback) {\n var dateIncrement = this.props.dateIncrement;\n var customAlignment;\n if (dateIncrement) {\n return dateIncrement;\n }\n if ((customAlignment = this.props.dateAlignment)) {\n return createDuration(1, customAlignment);\n }\n if (fallback) {\n return fallback;\n }\n return createDuration({ days: 1 });\n };\n DateProfileGenerator.prototype.refineRange = function (rangeInput) {\n if (rangeInput) {\n var range = parseRange(rangeInput, this.props.dateEnv);\n if (range) {\n range = computeVisibleDayRange(range);\n }\n return range;\n }\n return null;\n };\n /* Hidden Days\n ------------------------------------------------------------------------------------------------------------------*/\n // Initializes internal variables related to calculating hidden days-of-week\n DateProfileGenerator.prototype.initHiddenDays = function () {\n var hiddenDays = this.props.hiddenDays || []; // array of day-of-week indices that are hidden\n var isHiddenDayHash = []; // is the day-of-week hidden? (hash with day-of-week-index -> bool)\n var dayCnt = 0;\n var i;\n if (this.props.weekends === false) {\n hiddenDays.push(0, 6); // 0=sunday, 6=saturday\n }\n for (i = 0; i < 7; i += 1) {\n if (!(isHiddenDayHash[i] = hiddenDays.indexOf(i) !== -1)) {\n dayCnt += 1;\n }\n }\n if (!dayCnt) {\n throw new Error('invalid hiddenDays'); // all days were hidden? bad.\n }\n this.isHiddenDayHash = isHiddenDayHash;\n };\n // Remove days from the beginning and end of the range that are computed as hidden.\n // If the whole range is trimmed off, returns null\n DateProfileGenerator.prototype.trimHiddenDays = function (range) {\n var start = range.start, end = range.end;\n if (start) {\n start = this.skipHiddenDays(start);\n }\n if (end) {\n end = this.skipHiddenDays(end, -1, true);\n }\n if (start == null || end == null || start < end) {\n return { start: start, end: end };\n }\n return null;\n };\n // Is the current day hidden?\n // `day` is a day-of-week index (0-6), or a Date (used for UTC)\n DateProfileGenerator.prototype.isHiddenDay = function (day) {\n if (day instanceof Date) {\n day = day.getUTCDay();\n }\n return this.isHiddenDayHash[day];\n };\n // Incrementing the current day until it is no longer a hidden day, returning a copy.\n // DOES NOT CONSIDER validRange!\n // If the initial value of `date` is not a hidden day, don't do anything.\n // Pass `isExclusive` as `true` if you are dealing with an end date.\n // `inc` defaults to `1` (increment one day forward each time)\n DateProfileGenerator.prototype.skipHiddenDays = function (date, inc, isExclusive) {\n if (inc === void 0) { inc = 1; }\n if (isExclusive === void 0) { isExclusive = false; }\n while (this.isHiddenDayHash[(date.getUTCDay() + (isExclusive ? inc : 0) + 7) % 7]) {\n date = addDays(date, inc);\n }\n return date;\n };\n return DateProfileGenerator;\n}());\n\nfunction reduceViewType(viewType, action) {\n switch (action.type) {\n case 'CHANGE_VIEW_TYPE':\n viewType = action.viewType;\n }\n return viewType;\n}\n\nfunction reduceDynamicOptionOverrides(dynamicOptionOverrides, action) {\n var _a;\n switch (action.type) {\n case 'SET_OPTION':\n return __assign(__assign({}, dynamicOptionOverrides), (_a = {}, _a[action.optionName] = action.rawOptionValue, _a));\n default:\n return dynamicOptionOverrides;\n }\n}\n\nfunction reduceDateProfile(currentDateProfile, action, currentDate, dateProfileGenerator) {\n var dp;\n switch (action.type) {\n case 'CHANGE_VIEW_TYPE':\n return dateProfileGenerator.build(action.dateMarker || currentDate);\n case 'CHANGE_DATE':\n return dateProfileGenerator.build(action.dateMarker);\n case 'PREV':\n dp = dateProfileGenerator.buildPrev(currentDateProfile, currentDate);\n if (dp.isValid) {\n return dp;\n }\n break;\n case 'NEXT':\n dp = dateProfileGenerator.buildNext(currentDateProfile, currentDate);\n if (dp.isValid) {\n return dp;\n }\n break;\n }\n return currentDateProfile;\n}\n\nfunction initEventSources(calendarOptions, dateProfile, context) {\n var activeRange = dateProfile ? dateProfile.activeRange : null;\n return addSources({}, parseInitialSources(calendarOptions, context), activeRange, context);\n}\nfunction reduceEventSources(eventSources, action, dateProfile, context) {\n var activeRange = dateProfile ? dateProfile.activeRange : null; // need this check?\n switch (action.type) {\n case 'ADD_EVENT_SOURCES': // already parsed\n return addSources(eventSources, action.sources, activeRange, context);\n case 'REMOVE_EVENT_SOURCE':\n return removeSource(eventSources, action.sourceId);\n case 'PREV': // TODO: how do we track all actions that affect dateProfile :(\n case 'NEXT':\n case 'CHANGE_DATE':\n case 'CHANGE_VIEW_TYPE':\n if (dateProfile) {\n return fetchDirtySources(eventSources, activeRange, context);\n }\n return eventSources;\n case 'FETCH_EVENT_SOURCES':\n return fetchSourcesByIds(eventSources, action.sourceIds ? // why no type?\n arrayToHash(action.sourceIds) :\n excludeStaticSources(eventSources, context), activeRange, action.isRefetch || false, context);\n case 'RECEIVE_EVENTS':\n case 'RECEIVE_EVENT_ERROR':\n return receiveResponse(eventSources, action.sourceId, action.fetchId, action.fetchRange);\n case 'REMOVE_ALL_EVENT_SOURCES':\n return {};\n default:\n return eventSources;\n }\n}\nfunction reduceEventSourcesNewTimeZone(eventSources, dateProfile, context) {\n var activeRange = dateProfile ? dateProfile.activeRange : null; // need this check?\n return fetchSourcesByIds(eventSources, excludeStaticSources(eventSources, context), activeRange, true, context);\n}\nfunction computeEventSourcesLoading(eventSources) {\n for (var sourceId in eventSources) {\n if (eventSources[sourceId].isFetching) {\n return true;\n }\n }\n return false;\n}\nfunction addSources(eventSourceHash, sources, fetchRange, context) {\n var hash = {};\n for (var _i = 0, sources_1 = sources; _i < sources_1.length; _i++) {\n var source = sources_1[_i];\n hash[source.sourceId] = source;\n }\n if (fetchRange) {\n hash = fetchDirtySources(hash, fetchRange, context);\n }\n return __assign(__assign({}, eventSourceHash), hash);\n}\nfunction removeSource(eventSourceHash, sourceId) {\n return filterHash(eventSourceHash, function (eventSource) { return eventSource.sourceId !== sourceId; });\n}\nfunction fetchDirtySources(sourceHash, fetchRange, context) {\n return fetchSourcesByIds(sourceHash, filterHash(sourceHash, function (eventSource) { return isSourceDirty(eventSource, fetchRange, context); }), fetchRange, false, context);\n}\nfunction isSourceDirty(eventSource, fetchRange, context) {\n if (!doesSourceNeedRange(eventSource, context)) {\n return !eventSource.latestFetchId;\n }\n return !context.options.lazyFetching ||\n !eventSource.fetchRange ||\n eventSource.isFetching || // always cancel outdated in-progress fetches\n fetchRange.start < eventSource.fetchRange.start ||\n fetchRange.end > eventSource.fetchRange.end;\n}\nfunction fetchSourcesByIds(prevSources, sourceIdHash, fetchRange, isRefetch, context) {\n var nextSources = {};\n for (var sourceId in prevSources) {\n var source = prevSources[sourceId];\n if (sourceIdHash[sourceId]) {\n nextSources[sourceId] = fetchSource(source, fetchRange, isRefetch, context);\n }\n else {\n nextSources[sourceId] = source;\n }\n }\n return nextSources;\n}\nfunction fetchSource(eventSource, fetchRange, isRefetch, context) {\n var options = context.options, calendarApi = context.calendarApi;\n var sourceDef = context.pluginHooks.eventSourceDefs[eventSource.sourceDefId];\n var fetchId = guid();\n sourceDef.fetch({\n eventSource: eventSource,\n range: fetchRange,\n isRefetch: isRefetch,\n context: context,\n }, function (res) {\n var rawEvents = res.rawEvents;\n if (options.eventSourceSuccess) {\n rawEvents = options.eventSourceSuccess.call(calendarApi, rawEvents, res.xhr) || rawEvents;\n }\n if (eventSource.success) {\n rawEvents = eventSource.success.call(calendarApi, rawEvents, res.xhr) || rawEvents;\n }\n context.dispatch({\n type: 'RECEIVE_EVENTS',\n sourceId: eventSource.sourceId,\n fetchId: fetchId,\n fetchRange: fetchRange,\n rawEvents: rawEvents,\n });\n }, function (error) {\n console.warn(error.message, error);\n if (options.eventSourceFailure) {\n options.eventSourceFailure.call(calendarApi, error);\n }\n if (eventSource.failure) {\n eventSource.failure(error);\n }\n context.dispatch({\n type: 'RECEIVE_EVENT_ERROR',\n sourceId: eventSource.sourceId,\n fetchId: fetchId,\n fetchRange: fetchRange,\n error: error,\n });\n });\n return __assign(__assign({}, eventSource), { isFetching: true, latestFetchId: fetchId });\n}\nfunction receiveResponse(sourceHash, sourceId, fetchId, fetchRange) {\n var _a;\n var eventSource = sourceHash[sourceId];\n if (eventSource && // not already removed\n fetchId === eventSource.latestFetchId) {\n return __assign(__assign({}, sourceHash), (_a = {}, _a[sourceId] = __assign(__assign({}, eventSource), { isFetching: false, fetchRange: fetchRange }), _a));\n }\n return sourceHash;\n}\nfunction excludeStaticSources(eventSources, context) {\n return filterHash(eventSources, function (eventSource) { return doesSourceNeedRange(eventSource, context); });\n}\nfunction parseInitialSources(rawOptions, context) {\n var refiners = buildEventSourceRefiners(context);\n var rawSources = [].concat(rawOptions.eventSources || []);\n var sources = []; // parsed\n if (rawOptions.initialEvents) {\n rawSources.unshift(rawOptions.initialEvents);\n }\n if (rawOptions.events) {\n rawSources.unshift(rawOptions.events);\n }\n for (var _i = 0, rawSources_1 = rawSources; _i < rawSources_1.length; _i++) {\n var rawSource = rawSources_1[_i];\n var source = parseEventSource(rawSource, context, refiners);\n if (source) {\n sources.push(source);\n }\n }\n return sources;\n}\nfunction doesSourceNeedRange(eventSource, context) {\n var defs = context.pluginHooks.eventSourceDefs;\n return !defs[eventSource.sourceDefId].ignoreRange;\n}\n\nfunction reduceEventStore(eventStore, action, eventSources, dateProfile, context) {\n switch (action.type) {\n case 'RECEIVE_EVENTS': // raw\n return receiveRawEvents(eventStore, eventSources[action.sourceId], action.fetchId, action.fetchRange, action.rawEvents, context);\n case 'ADD_EVENTS': // already parsed, but not expanded\n return addEvent(eventStore, action.eventStore, // new ones\n dateProfile ? dateProfile.activeRange : null, context);\n case 'RESET_EVENTS':\n return action.eventStore;\n case 'MERGE_EVENTS': // already parsed and expanded\n return mergeEventStores(eventStore, action.eventStore);\n case 'PREV': // TODO: how do we track all actions that affect dateProfile :(\n case 'NEXT':\n case 'CHANGE_DATE':\n case 'CHANGE_VIEW_TYPE':\n if (dateProfile) {\n return expandRecurring(eventStore, dateProfile.activeRange, context);\n }\n return eventStore;\n case 'REMOVE_EVENTS':\n return excludeSubEventStore(eventStore, action.eventStore);\n case 'REMOVE_EVENT_SOURCE':\n return excludeEventsBySourceId(eventStore, action.sourceId);\n case 'REMOVE_ALL_EVENT_SOURCES':\n return filterEventStoreDefs(eventStore, function (eventDef) { return (!eventDef.sourceId // only keep events with no source id\n ); });\n case 'REMOVE_ALL_EVENTS':\n return createEmptyEventStore();\n default:\n return eventStore;\n }\n}\nfunction receiveRawEvents(eventStore, eventSource, fetchId, fetchRange, rawEvents, context) {\n if (eventSource && // not already removed\n fetchId === eventSource.latestFetchId // TODO: wish this logic was always in event-sources\n ) {\n var subset = parseEvents(transformRawEvents(rawEvents, eventSource, context), eventSource, context);\n if (fetchRange) {\n subset = expandRecurring(subset, fetchRange, context);\n }\n return mergeEventStores(excludeEventsBySourceId(eventStore, eventSource.sourceId), subset);\n }\n return eventStore;\n}\nfunction transformRawEvents(rawEvents, eventSource, context) {\n var calEachTransform = context.options.eventDataTransform;\n var sourceEachTransform = eventSource ? eventSource.eventDataTransform : null;\n if (sourceEachTransform) {\n rawEvents = transformEachRawEvent(rawEvents, sourceEachTransform);\n }\n if (calEachTransform) {\n rawEvents = transformEachRawEvent(rawEvents, calEachTransform);\n }\n return rawEvents;\n}\nfunction transformEachRawEvent(rawEvents, func) {\n var refinedEvents;\n if (!func) {\n refinedEvents = rawEvents;\n }\n else {\n refinedEvents = [];\n for (var _i = 0, rawEvents_1 = rawEvents; _i < rawEvents_1.length; _i++) {\n var rawEvent = rawEvents_1[_i];\n var refinedEvent = func(rawEvent);\n if (refinedEvent) {\n refinedEvents.push(refinedEvent);\n }\n else if (refinedEvent == null) {\n refinedEvents.push(rawEvent);\n } // if a different falsy value, do nothing\n }\n }\n return refinedEvents;\n}\nfunction addEvent(eventStore, subset, expandRange, context) {\n if (expandRange) {\n subset = expandRecurring(subset, expandRange, context);\n }\n return mergeEventStores(eventStore, subset);\n}\nfunction rezoneEventStoreDates(eventStore, oldDateEnv, newDateEnv) {\n var defs = eventStore.defs;\n var instances = mapHash(eventStore.instances, function (instance) {\n var def = defs[instance.defId];\n if (def.allDay || def.recurringDef) {\n return instance; // isn't dependent on timezone\n }\n return __assign(__assign({}, instance), { range: {\n start: newDateEnv.createMarker(oldDateEnv.toDate(instance.range.start, instance.forcedStartTzo)),\n end: newDateEnv.createMarker(oldDateEnv.toDate(instance.range.end, instance.forcedEndTzo)),\n }, forcedStartTzo: newDateEnv.canComputeOffset ? null : instance.forcedStartTzo, forcedEndTzo: newDateEnv.canComputeOffset ? null : instance.forcedEndTzo });\n });\n return { defs: defs, instances: instances };\n}\nfunction excludeEventsBySourceId(eventStore, sourceId) {\n return filterEventStoreDefs(eventStore, function (eventDef) { return eventDef.sourceId !== sourceId; });\n}\n// QUESTION: why not just return instances? do a general object-property-exclusion util\nfunction excludeInstances(eventStore, removals) {\n return {\n defs: eventStore.defs,\n instances: filterHash(eventStore.instances, function (instance) { return !removals[instance.instanceId]; }),\n };\n}\n\nfunction reduceDateSelection(currentSelection, action) {\n switch (action.type) {\n case 'UNSELECT_DATES':\n return null;\n case 'SELECT_DATES':\n return action.selection;\n default:\n return currentSelection;\n }\n}\n\nfunction reduceSelectedEvent(currentInstanceId, action) {\n switch (action.type) {\n case 'UNSELECT_EVENT':\n return '';\n case 'SELECT_EVENT':\n return action.eventInstanceId;\n default:\n return currentInstanceId;\n }\n}\n\nfunction reduceEventDrag(currentDrag, action) {\n var newDrag;\n switch (action.type) {\n case 'UNSET_EVENT_DRAG':\n return null;\n case 'SET_EVENT_DRAG':\n newDrag = action.state;\n return {\n affectedEvents: newDrag.affectedEvents,\n mutatedEvents: newDrag.mutatedEvents,\n isEvent: newDrag.isEvent,\n };\n default:\n return currentDrag;\n }\n}\n\nfunction reduceEventResize(currentResize, action) {\n var newResize;\n switch (action.type) {\n case 'UNSET_EVENT_RESIZE':\n return null;\n case 'SET_EVENT_RESIZE':\n newResize = action.state;\n return {\n affectedEvents: newResize.affectedEvents,\n mutatedEvents: newResize.mutatedEvents,\n isEvent: newResize.isEvent,\n };\n default:\n return currentResize;\n }\n}\n\nfunction parseToolbars(calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi) {\n var header = calendarOptions.headerToolbar ? parseToolbar(calendarOptions.headerToolbar, calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi) : null;\n var footer = calendarOptions.footerToolbar ? parseToolbar(calendarOptions.footerToolbar, calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi) : null;\n return { header: header, footer: footer };\n}\nfunction parseToolbar(sectionStrHash, calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi) {\n var sectionWidgets = {};\n var viewsWithButtons = [];\n var hasTitle = false;\n for (var sectionName in sectionStrHash) {\n var sectionStr = sectionStrHash[sectionName];\n var sectionRes = parseSection(sectionStr, calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi);\n sectionWidgets[sectionName] = sectionRes.widgets;\n viewsWithButtons.push.apply(viewsWithButtons, sectionRes.viewsWithButtons);\n hasTitle = hasTitle || sectionRes.hasTitle;\n }\n return { sectionWidgets: sectionWidgets, viewsWithButtons: viewsWithButtons, hasTitle: hasTitle };\n}\n/*\nBAD: querying icons and text here. should be done at render time\n*/\nfunction parseSection(sectionStr, calendarOptions, // defaults+overrides, then refined\ncalendarOptionOverrides, // overrides only!, unrefined :(\ntheme, viewSpecs, calendarApi) {\n var isRtl = calendarOptions.direction === 'rtl';\n var calendarCustomButtons = calendarOptions.customButtons || {};\n var calendarButtonTextOverrides = calendarOptionOverrides.buttonText || {};\n var calendarButtonText = calendarOptions.buttonText || {};\n var calendarButtonHintOverrides = calendarOptionOverrides.buttonHints || {};\n var calendarButtonHints = calendarOptions.buttonHints || {};\n var sectionSubstrs = sectionStr ? sectionStr.split(' ') : [];\n var viewsWithButtons = [];\n var hasTitle = false;\n var widgets = sectionSubstrs.map(function (buttonGroupStr) { return (buttonGroupStr.split(',').map(function (buttonName) {\n if (buttonName === 'title') {\n hasTitle = true;\n return { buttonName: buttonName };\n }\n var customButtonProps;\n var viewSpec;\n var buttonClick;\n var buttonIcon; // only one of these will be set\n var buttonText; // \"\n var buttonHint;\n // ^ for the title=\"\" attribute, for accessibility\n if ((customButtonProps = calendarCustomButtons[buttonName])) {\n buttonClick = function (ev) {\n if (customButtonProps.click) {\n customButtonProps.click.call(ev.target, ev, ev.target); // TODO: use Calendar this context?\n }\n };\n (buttonIcon = theme.getCustomButtonIconClass(customButtonProps)) ||\n (buttonIcon = theme.getIconClass(buttonName, isRtl)) ||\n (buttonText = customButtonProps.text);\n buttonHint = customButtonProps.hint || customButtonProps.text;\n }\n else if ((viewSpec = viewSpecs[buttonName])) {\n viewsWithButtons.push(buttonName);\n buttonClick = function () {\n calendarApi.changeView(buttonName);\n };\n (buttonText = viewSpec.buttonTextOverride) ||\n (buttonIcon = theme.getIconClass(buttonName, isRtl)) ||\n (buttonText = viewSpec.buttonTextDefault);\n var textFallback = viewSpec.buttonTextOverride ||\n viewSpec.buttonTextDefault;\n buttonHint = formatWithOrdinals(viewSpec.buttonTitleOverride ||\n viewSpec.buttonTitleDefault ||\n calendarOptions.viewHint, [textFallback, buttonName], // view-name = buttonName\n textFallback);\n }\n else if (calendarApi[buttonName]) { // a calendarApi method\n buttonClick = function () {\n calendarApi[buttonName]();\n };\n (buttonText = calendarButtonTextOverrides[buttonName]) ||\n (buttonIcon = theme.getIconClass(buttonName, isRtl)) ||\n (buttonText = calendarButtonText[buttonName]); // everything else is considered default\n if (buttonName === 'prevYear' || buttonName === 'nextYear') {\n var prevOrNext = buttonName === 'prevYear' ? 'prev' : 'next';\n buttonHint = formatWithOrdinals(calendarButtonHintOverrides[prevOrNext] ||\n calendarButtonHints[prevOrNext], [\n calendarButtonText.year || 'year',\n 'year',\n ], calendarButtonText[buttonName]);\n }\n else {\n buttonHint = function (navUnit) { return formatWithOrdinals(calendarButtonHintOverrides[buttonName] ||\n calendarButtonHints[buttonName], [\n calendarButtonText[navUnit] || navUnit,\n navUnit,\n ], calendarButtonText[buttonName]); };\n }\n }\n return { buttonName: buttonName, buttonClick: buttonClick, buttonIcon: buttonIcon, buttonText: buttonText, buttonHint: buttonHint };\n })); });\n return { widgets: widgets, viewsWithButtons: viewsWithButtons, hasTitle: hasTitle };\n}\n\nvar eventSourceDef$2 = {\n ignoreRange: true,\n parseMeta: function (refined) {\n if (Array.isArray(refined.events)) {\n return refined.events;\n }\n return null;\n },\n fetch: function (arg, success) {\n success({\n rawEvents: arg.eventSource.meta,\n });\n },\n};\nvar arrayEventSourcePlugin = createPlugin({\n eventSourceDefs: [eventSourceDef$2],\n});\n\nvar eventSourceDef$1 = {\n parseMeta: function (refined) {\n if (typeof refined.events === 'function') {\n return refined.events;\n }\n return null;\n },\n fetch: function (arg, success, failure) {\n var dateEnv = arg.context.dateEnv;\n var func = arg.eventSource.meta;\n unpromisify(func.bind(null, buildRangeApiWithTimeZone(arg.range, dateEnv)), function (rawEvents) {\n success({ rawEvents: rawEvents }); // needs an object response\n }, failure);\n },\n};\nvar funcEventSourcePlugin = createPlugin({\n eventSourceDefs: [eventSourceDef$1],\n});\n\nfunction requestJson(method, url, params, successCallback, failureCallback) {\n method = method.toUpperCase();\n var body = null;\n if (method === 'GET') {\n url = injectQueryStringParams(url, params);\n }\n else {\n body = encodeParams(params);\n }\n var xhr = new XMLHttpRequest();\n xhr.open(method, url, true);\n if (method !== 'GET') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n }\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 400) {\n var parsed = false;\n var res = void 0;\n try {\n res = JSON.parse(xhr.responseText);\n parsed = true;\n }\n catch (err) {\n // will handle parsed=false\n }\n if (parsed) {\n successCallback(res, xhr);\n }\n else {\n failureCallback('Failure parsing JSON', xhr);\n }\n }\n else {\n failureCallback('Request failed', xhr);\n }\n };\n xhr.onerror = function () {\n failureCallback('Request failed', xhr);\n };\n xhr.send(body);\n}\nfunction injectQueryStringParams(url, params) {\n return url +\n (url.indexOf('?') === -1 ? '?' : '&') +\n encodeParams(params);\n}\nfunction encodeParams(params) {\n var parts = [];\n for (var key in params) {\n parts.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(params[key]));\n }\n return parts.join('&');\n}\n\nvar JSON_FEED_EVENT_SOURCE_REFINERS = {\n method: String,\n extraParams: identity,\n startParam: String,\n endParam: String,\n timeZoneParam: String,\n};\n\nvar eventSourceDef = {\n parseMeta: function (refined) {\n if (refined.url && (refined.format === 'json' || !refined.format)) {\n return {\n url: refined.url,\n format: 'json',\n method: (refined.method || 'GET').toUpperCase(),\n extraParams: refined.extraParams,\n startParam: refined.startParam,\n endParam: refined.endParam,\n timeZoneParam: refined.timeZoneParam,\n };\n }\n return null;\n },\n fetch: function (arg, success, failure) {\n var meta = arg.eventSource.meta;\n var requestParams = buildRequestParams(meta, arg.range, arg.context);\n requestJson(meta.method, meta.url, requestParams, function (rawEvents, xhr) {\n success({ rawEvents: rawEvents, xhr: xhr });\n }, function (errorMessage, xhr) {\n failure({ message: errorMessage, xhr: xhr });\n });\n },\n};\nvar jsonFeedEventSourcePlugin = createPlugin({\n eventSourceRefiners: JSON_FEED_EVENT_SOURCE_REFINERS,\n eventSourceDefs: [eventSourceDef],\n});\nfunction buildRequestParams(meta, range, context) {\n var dateEnv = context.dateEnv, options = context.options;\n var startParam;\n var endParam;\n var timeZoneParam;\n var customRequestParams;\n var params = {};\n startParam = meta.startParam;\n if (startParam == null) {\n startParam = options.startParam;\n }\n endParam = meta.endParam;\n if (endParam == null) {\n endParam = options.endParam;\n }\n timeZoneParam = meta.timeZoneParam;\n if (timeZoneParam == null) {\n timeZoneParam = options.timeZoneParam;\n }\n // retrieve any outbound GET/POST data from the options\n if (typeof meta.extraParams === 'function') {\n // supplied as a function that returns a key/value object\n customRequestParams = meta.extraParams();\n }\n else {\n // probably supplied as a straight key/value object\n customRequestParams = meta.extraParams || {};\n }\n __assign(params, customRequestParams);\n params[startParam] = dateEnv.formatIso(range.start);\n params[endParam] = dateEnv.formatIso(range.end);\n if (dateEnv.timeZone !== 'local') {\n params[timeZoneParam] = dateEnv.timeZone;\n }\n return params;\n}\n\nvar SIMPLE_RECURRING_REFINERS = {\n daysOfWeek: identity,\n startTime: createDuration,\n endTime: createDuration,\n duration: createDuration,\n startRecur: identity,\n endRecur: identity,\n};\n\nvar recurring = {\n parse: function (refined, dateEnv) {\n if (refined.daysOfWeek || refined.startTime || refined.endTime || refined.startRecur || refined.endRecur) {\n var recurringData = {\n daysOfWeek: refined.daysOfWeek || null,\n startTime: refined.startTime || null,\n endTime: refined.endTime || null,\n startRecur: refined.startRecur ? dateEnv.createMarker(refined.startRecur) : null,\n endRecur: refined.endRecur ? dateEnv.createMarker(refined.endRecur) : null,\n };\n var duration = void 0;\n if (refined.duration) {\n duration = refined.duration;\n }\n if (!duration && refined.startTime && refined.endTime) {\n duration = subtractDurations(refined.endTime, refined.startTime);\n }\n return {\n allDayGuess: Boolean(!refined.startTime && !refined.endTime),\n duration: duration,\n typeData: recurringData, // doesn't need endTime anymore but oh well\n };\n }\n return null;\n },\n expand: function (typeData, framingRange, dateEnv) {\n var clippedFramingRange = intersectRanges(framingRange, { start: typeData.startRecur, end: typeData.endRecur });\n if (clippedFramingRange) {\n return expandRanges(typeData.daysOfWeek, typeData.startTime, clippedFramingRange, dateEnv);\n }\n return [];\n },\n};\nvar simpleRecurringEventsPlugin = createPlugin({\n recurringTypes: [recurring],\n eventRefiners: SIMPLE_RECURRING_REFINERS,\n});\nfunction expandRanges(daysOfWeek, startTime, framingRange, dateEnv) {\n var dowHash = daysOfWeek ? arrayToHash(daysOfWeek) : null;\n var dayMarker = startOfDay(framingRange.start);\n var endMarker = framingRange.end;\n var instanceStarts = [];\n while (dayMarker < endMarker) {\n var instanceStart \n // if everyday, or this particular day-of-week\n = void 0;\n // if everyday, or this particular day-of-week\n if (!dowHash || dowHash[dayMarker.getUTCDay()]) {\n if (startTime) {\n instanceStart = dateEnv.add(dayMarker, startTime);\n }\n else {\n instanceStart = dayMarker;\n }\n instanceStarts.push(instanceStart);\n }\n dayMarker = addDays(dayMarker, 1);\n }\n return instanceStarts;\n}\n\nvar changeHandlerPlugin = createPlugin({\n optionChangeHandlers: {\n events: function (events, context) {\n handleEventSources([events], context);\n },\n eventSources: handleEventSources,\n },\n});\n/*\nBUG: if `event` was supplied, all previously-given `eventSources` will be wiped out\n*/\nfunction handleEventSources(inputs, context) {\n var unfoundSources = hashValuesToArray(context.getCurrentData().eventSources);\n var newInputs = [];\n for (var _i = 0, inputs_1 = inputs; _i < inputs_1.length; _i++) {\n var input = inputs_1[_i];\n var inputFound = false;\n for (var i = 0; i < unfoundSources.length; i += 1) {\n if (unfoundSources[i]._raw === input) {\n unfoundSources.splice(i, 1); // delete\n inputFound = true;\n break;\n }\n }\n if (!inputFound) {\n newInputs.push(input);\n }\n }\n for (var _a = 0, unfoundSources_1 = unfoundSources; _a < unfoundSources_1.length; _a++) {\n var unfoundSource = unfoundSources_1[_a];\n context.dispatch({\n type: 'REMOVE_EVENT_SOURCE',\n sourceId: unfoundSource.sourceId,\n });\n }\n for (var _b = 0, newInputs_1 = newInputs; _b < newInputs_1.length; _b++) {\n var newInput = newInputs_1[_b];\n context.calendarApi.addEventSource(newInput);\n }\n}\n\nfunction handleDateProfile(dateProfile, context) {\n context.emitter.trigger('datesSet', __assign(__assign({}, buildRangeApiWithTimeZone(dateProfile.activeRange, context.dateEnv)), { view: context.viewApi }));\n}\n\nfunction handleEventStore(eventStore, context) {\n var emitter = context.emitter;\n if (emitter.hasHandlers('eventsSet')) {\n emitter.trigger('eventsSet', buildEventApis(eventStore, context));\n }\n}\n\n/*\nthis array is exposed on the root namespace so that UMD plugins can add to it.\nsee the rollup-bundles script.\n*/\nvar globalPlugins = [\n arrayEventSourcePlugin,\n funcEventSourcePlugin,\n jsonFeedEventSourcePlugin,\n simpleRecurringEventsPlugin,\n changeHandlerPlugin,\n createPlugin({\n isLoadingFuncs: [\n function (state) { return computeEventSourcesLoading(state.eventSources); },\n ],\n contentTypeHandlers: {\n html: buildHtmlRenderer,\n domNodes: buildDomNodeRenderer,\n },\n propSetHandlers: {\n dateProfile: handleDateProfile,\n eventStore: handleEventStore,\n },\n }),\n];\nfunction buildHtmlRenderer() {\n var currentEl = null;\n var currentHtml = '';\n function render(el, html) {\n if (el !== currentEl || html !== currentHtml) {\n el.innerHTML = html;\n }\n currentEl = el;\n currentHtml = html;\n }\n function destroy() {\n currentEl.innerHTML = '';\n currentEl = null;\n currentHtml = '';\n }\n return { render: render, destroy: destroy };\n}\nfunction buildDomNodeRenderer() {\n var currentEl = null;\n var currentDomNodes = [];\n function render(el, domNodes) {\n var newDomNodes = Array.prototype.slice.call(domNodes);\n if (el !== currentEl || !isArraysEqual(currentDomNodes, newDomNodes)) {\n // append first, remove second (for scroll resetting)\n for (var _i = 0, newDomNodes_1 = newDomNodes; _i < newDomNodes_1.length; _i++) {\n var newNode = newDomNodes_1[_i];\n el.appendChild(newNode);\n }\n destroy();\n }\n currentEl = el;\n currentDomNodes = newDomNodes;\n }\n function destroy() {\n currentDomNodes.forEach(removeElement);\n currentDomNodes = [];\n currentEl = null;\n }\n return { render: render, destroy: destroy };\n}\n\nvar DelayedRunner = /** @class */ (function () {\n function DelayedRunner(drainedOption) {\n this.drainedOption = drainedOption;\n this.isRunning = false;\n this.isDirty = false;\n this.pauseDepths = {};\n this.timeoutId = 0;\n }\n DelayedRunner.prototype.request = function (delay) {\n this.isDirty = true;\n if (!this.isPaused()) {\n this.clearTimeout();\n if (delay == null) {\n this.tryDrain();\n }\n else {\n this.timeoutId = setTimeout(// NOT OPTIMAL! TODO: look at debounce\n this.tryDrain.bind(this), delay);\n }\n }\n };\n DelayedRunner.prototype.pause = function (scope) {\n if (scope === void 0) { scope = ''; }\n var pauseDepths = this.pauseDepths;\n pauseDepths[scope] = (pauseDepths[scope] || 0) + 1;\n this.clearTimeout();\n };\n DelayedRunner.prototype.resume = function (scope, force) {\n if (scope === void 0) { scope = ''; }\n var pauseDepths = this.pauseDepths;\n if (scope in pauseDepths) {\n if (force) {\n delete pauseDepths[scope];\n }\n else {\n pauseDepths[scope] -= 1;\n var depth = pauseDepths[scope];\n if (depth <= 0) {\n delete pauseDepths[scope];\n }\n }\n this.tryDrain();\n }\n };\n DelayedRunner.prototype.isPaused = function () {\n return Object.keys(this.pauseDepths).length;\n };\n DelayedRunner.prototype.tryDrain = function () {\n if (!this.isRunning && !this.isPaused()) {\n this.isRunning = true;\n while (this.isDirty) {\n this.isDirty = false;\n this.drained(); // might set isDirty to true again\n }\n this.isRunning = false;\n }\n };\n DelayedRunner.prototype.clear = function () {\n this.clearTimeout();\n this.isDirty = false;\n this.pauseDepths = {};\n };\n DelayedRunner.prototype.clearTimeout = function () {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n this.timeoutId = 0;\n }\n };\n DelayedRunner.prototype.drained = function () {\n if (this.drainedOption) {\n this.drainedOption();\n }\n };\n return DelayedRunner;\n}());\n\nvar TaskRunner = /** @class */ (function () {\n function TaskRunner(runTaskOption, drainedOption) {\n this.runTaskOption = runTaskOption;\n this.drainedOption = drainedOption;\n this.queue = [];\n this.delayedRunner = new DelayedRunner(this.drain.bind(this));\n }\n TaskRunner.prototype.request = function (task, delay) {\n this.queue.push(task);\n this.delayedRunner.request(delay);\n };\n TaskRunner.prototype.pause = function (scope) {\n this.delayedRunner.pause(scope);\n };\n TaskRunner.prototype.resume = function (scope, force) {\n this.delayedRunner.resume(scope, force);\n };\n TaskRunner.prototype.drain = function () {\n var queue = this.queue;\n while (queue.length) {\n var completedTasks = [];\n var task = void 0;\n while ((task = queue.shift())) {\n this.runTask(task);\n completedTasks.push(task);\n }\n this.drained(completedTasks);\n } // keep going, in case new tasks were added in the drained handler\n };\n TaskRunner.prototype.runTask = function (task) {\n if (this.runTaskOption) {\n this.runTaskOption(task);\n }\n };\n TaskRunner.prototype.drained = function (completedTasks) {\n if (this.drainedOption) {\n this.drainedOption(completedTasks);\n }\n };\n return TaskRunner;\n}());\n\n// Computes what the title at the top of the calendarApi should be for this view\nfunction buildTitle(dateProfile, viewOptions, dateEnv) {\n var range;\n // for views that span a large unit of time, show the proper interval, ignoring stray days before and after\n if (/^(year|month)$/.test(dateProfile.currentRangeUnit)) {\n range = dateProfile.currentRange;\n }\n else { // for day units or smaller, use the actual day range\n range = dateProfile.activeRange;\n }\n return dateEnv.formatRange(range.start, range.end, createFormatter(viewOptions.titleFormat || buildTitleFormat(dateProfile)), {\n isEndExclusive: dateProfile.isRangeAllDay,\n defaultSeparator: viewOptions.titleRangeSeparator,\n });\n}\n// Generates the format string that should be used to generate the title for the current date range.\n// Attempts to compute the most appropriate format if not explicitly specified with `titleFormat`.\nfunction buildTitleFormat(dateProfile) {\n var currentRangeUnit = dateProfile.currentRangeUnit;\n if (currentRangeUnit === 'year') {\n return { year: 'numeric' };\n }\n if (currentRangeUnit === 'month') {\n return { year: 'numeric', month: 'long' }; // like \"September 2014\"\n }\n var days = diffWholeDays(dateProfile.currentRange.start, dateProfile.currentRange.end);\n if (days !== null && days > 1) {\n // multi-day range. shorter, like \"Sep 9 - 10 2014\"\n return { year: 'numeric', month: 'short', day: 'numeric' };\n }\n // one day. longer, like \"September 9 2014\"\n return { year: 'numeric', month: 'long', day: 'numeric' };\n}\n\n// in future refactor, do the redux-style function(state=initial) for initial-state\n// also, whatever is happening in constructor, have it happen in action queue too\nvar CalendarDataManager = /** @class */ (function () {\n function CalendarDataManager(props) {\n var _this = this;\n this.computeOptionsData = memoize(this._computeOptionsData);\n this.computeCurrentViewData = memoize(this._computeCurrentViewData);\n this.organizeRawLocales = memoize(organizeRawLocales);\n this.buildLocale = memoize(buildLocale);\n this.buildPluginHooks = buildBuildPluginHooks();\n this.buildDateEnv = memoize(buildDateEnv);\n this.buildTheme = memoize(buildTheme);\n this.parseToolbars = memoize(parseToolbars);\n this.buildViewSpecs = memoize(buildViewSpecs);\n this.buildDateProfileGenerator = memoizeObjArg(buildDateProfileGenerator);\n this.buildViewApi = memoize(buildViewApi);\n this.buildViewUiProps = memoizeObjArg(buildViewUiProps);\n this.buildEventUiBySource = memoize(buildEventUiBySource, isPropsEqual);\n this.buildEventUiBases = memoize(buildEventUiBases);\n this.parseContextBusinessHours = memoizeObjArg(parseContextBusinessHours);\n this.buildTitle = memoize(buildTitle);\n this.emitter = new Emitter();\n this.actionRunner = new TaskRunner(this._handleAction.bind(this), this.updateData.bind(this));\n this.currentCalendarOptionsInput = {};\n this.currentCalendarOptionsRefined = {};\n this.currentViewOptionsInput = {};\n this.currentViewOptionsRefined = {};\n this.currentCalendarOptionsRefiners = {};\n this.getCurrentData = function () { return _this.data; };\n this.dispatch = function (action) {\n _this.actionRunner.request(action); // protects against recursive calls to _handleAction\n };\n this.props = props;\n this.actionRunner.pause();\n var dynamicOptionOverrides = {};\n var optionsData = this.computeOptionsData(props.optionOverrides, dynamicOptionOverrides, props.calendarApi);\n var currentViewType = optionsData.calendarOptions.initialView || optionsData.pluginHooks.initialView;\n var currentViewData = this.computeCurrentViewData(currentViewType, optionsData, props.optionOverrides, dynamicOptionOverrides);\n // wire things up\n // TODO: not DRY\n props.calendarApi.currentDataManager = this;\n this.emitter.setThisContext(props.calendarApi);\n this.emitter.setOptions(currentViewData.options);\n var currentDate = getInitialDate(optionsData.calendarOptions, optionsData.dateEnv);\n var dateProfile = currentViewData.dateProfileGenerator.build(currentDate);\n if (!rangeContainsMarker(dateProfile.activeRange, currentDate)) {\n currentDate = dateProfile.currentRange.start;\n }\n var calendarContext = {\n dateEnv: optionsData.dateEnv,\n options: optionsData.calendarOptions,\n pluginHooks: optionsData.pluginHooks,\n calendarApi: props.calendarApi,\n dispatch: this.dispatch,\n emitter: this.emitter,\n getCurrentData: this.getCurrentData,\n };\n // needs to be after setThisContext\n for (var _i = 0, _a = optionsData.pluginHooks.contextInit; _i < _a.length; _i++) {\n var callback = _a[_i];\n callback(calendarContext);\n }\n // NOT DRY\n var eventSources = initEventSources(optionsData.calendarOptions, dateProfile, calendarContext);\n var initialState = {\n dynamicOptionOverrides: dynamicOptionOverrides,\n currentViewType: currentViewType,\n currentDate: currentDate,\n dateProfile: dateProfile,\n businessHours: this.parseContextBusinessHours(calendarContext),\n eventSources: eventSources,\n eventUiBases: {},\n eventStore: createEmptyEventStore(),\n renderableEventStore: createEmptyEventStore(),\n dateSelection: null,\n eventSelection: '',\n eventDrag: null,\n eventResize: null,\n selectionConfig: this.buildViewUiProps(calendarContext).selectionConfig,\n };\n var contextAndState = __assign(__assign({}, calendarContext), initialState);\n for (var _b = 0, _c = optionsData.pluginHooks.reducers; _b < _c.length; _b++) {\n var reducer = _c[_b];\n __assign(initialState, reducer(null, null, contextAndState));\n }\n if (computeIsLoading(initialState, calendarContext)) {\n this.emitter.trigger('loading', true); // NOT DRY\n }\n this.state = initialState;\n this.updateData();\n this.actionRunner.resume();\n }\n CalendarDataManager.prototype.resetOptions = function (optionOverrides, append) {\n var props = this.props;\n props.optionOverrides = append\n ? __assign(__assign({}, props.optionOverrides), optionOverrides) : optionOverrides;\n this.actionRunner.request({\n type: 'NOTHING',\n });\n };\n CalendarDataManager.prototype._handleAction = function (action) {\n var _a = this, props = _a.props, state = _a.state, emitter = _a.emitter;\n var dynamicOptionOverrides = reduceDynamicOptionOverrides(state.dynamicOptionOverrides, action);\n var optionsData = this.computeOptionsData(props.optionOverrides, dynamicOptionOverrides, props.calendarApi);\n var currentViewType = reduceViewType(state.currentViewType, action);\n var currentViewData = this.computeCurrentViewData(currentViewType, optionsData, props.optionOverrides, dynamicOptionOverrides);\n // wire things up\n // TODO: not DRY\n props.calendarApi.currentDataManager = this;\n emitter.setThisContext(props.calendarApi);\n emitter.setOptions(currentViewData.options);\n var calendarContext = {\n dateEnv: optionsData.dateEnv,\n options: optionsData.calendarOptions,\n pluginHooks: optionsData.pluginHooks,\n calendarApi: props.calendarApi,\n dispatch: this.dispatch,\n emitter: emitter,\n getCurrentData: this.getCurrentData,\n };\n var currentDate = state.currentDate, dateProfile = state.dateProfile;\n if (this.data && this.data.dateProfileGenerator !== currentViewData.dateProfileGenerator) { // hack\n dateProfile = currentViewData.dateProfileGenerator.build(currentDate);\n }\n currentDate = reduceCurrentDate(currentDate, action);\n dateProfile = reduceDateProfile(dateProfile, action, currentDate, currentViewData.dateProfileGenerator);\n if (action.type === 'PREV' || // TODO: move this logic into DateProfileGenerator\n action.type === 'NEXT' || // \"\n !rangeContainsMarker(dateProfile.currentRange, currentDate)) {\n currentDate = dateProfile.currentRange.start;\n }\n var eventSources = reduceEventSources(state.eventSources, action, dateProfile, calendarContext);\n var eventStore = reduceEventStore(state.eventStore, action, eventSources, dateProfile, calendarContext);\n var isEventsLoading = computeEventSourcesLoading(eventSources); // BAD. also called in this func in computeIsLoading\n var renderableEventStore = (isEventsLoading && !currentViewData.options.progressiveEventRendering) ?\n (state.renderableEventStore || eventStore) : // try from previous state\n eventStore;\n var _b = this.buildViewUiProps(calendarContext), eventUiSingleBase = _b.eventUiSingleBase, selectionConfig = _b.selectionConfig; // will memoize obj\n var eventUiBySource = this.buildEventUiBySource(eventSources);\n var eventUiBases = this.buildEventUiBases(renderableEventStore.defs, eventUiSingleBase, eventUiBySource);\n var newState = {\n dynamicOptionOverrides: dynamicOptionOverrides,\n currentViewType: currentViewType,\n currentDate: currentDate,\n dateProfile: dateProfile,\n eventSources: eventSources,\n eventStore: eventStore,\n renderableEventStore: renderableEventStore,\n selectionConfig: selectionConfig,\n eventUiBases: eventUiBases,\n businessHours: this.parseContextBusinessHours(calendarContext),\n dateSelection: reduceDateSelection(state.dateSelection, action),\n eventSelection: reduceSelectedEvent(state.eventSelection, action),\n eventDrag: reduceEventDrag(state.eventDrag, action),\n eventResize: reduceEventResize(state.eventResize, action),\n };\n var contextAndState = __assign(__assign({}, calendarContext), newState);\n for (var _i = 0, _c = optionsData.pluginHooks.reducers; _i < _c.length; _i++) {\n var reducer = _c[_i];\n __assign(newState, reducer(state, action, contextAndState)); // give the OLD state, for old value\n }\n var wasLoading = computeIsLoading(state, calendarContext);\n var isLoading = computeIsLoading(newState, calendarContext);\n // TODO: use propSetHandlers in plugin system\n if (!wasLoading && isLoading) {\n emitter.trigger('loading', true);\n }\n else if (wasLoading && !isLoading) {\n emitter.trigger('loading', false);\n }\n this.state = newState;\n if (props.onAction) {\n props.onAction(action);\n }\n };\n CalendarDataManager.prototype.updateData = function () {\n var _a = this, props = _a.props, state = _a.state;\n var oldData = this.data;\n var optionsData = this.computeOptionsData(props.optionOverrides, state.dynamicOptionOverrides, props.calendarApi);\n var currentViewData = this.computeCurrentViewData(state.currentViewType, optionsData, props.optionOverrides, state.dynamicOptionOverrides);\n var data = this.data = __assign(__assign(__assign({ viewTitle: this.buildTitle(state.dateProfile, currentViewData.options, optionsData.dateEnv), calendarApi: props.calendarApi, dispatch: this.dispatch, emitter: this.emitter, getCurrentData: this.getCurrentData }, optionsData), currentViewData), state);\n var changeHandlers = optionsData.pluginHooks.optionChangeHandlers;\n var oldCalendarOptions = oldData && oldData.calendarOptions;\n var newCalendarOptions = optionsData.calendarOptions;\n if (oldCalendarOptions && oldCalendarOptions !== newCalendarOptions) {\n if (oldCalendarOptions.timeZone !== newCalendarOptions.timeZone) {\n // hack\n state.eventSources = data.eventSources = reduceEventSourcesNewTimeZone(data.eventSources, state.dateProfile, data);\n state.eventStore = data.eventStore = rezoneEventStoreDates(data.eventStore, oldData.dateEnv, data.dateEnv);\n }\n for (var optionName in changeHandlers) {\n if (oldCalendarOptions[optionName] !== newCalendarOptions[optionName]) {\n changeHandlers[optionName](newCalendarOptions[optionName], data);\n }\n }\n }\n if (props.onData) {\n props.onData(data);\n }\n };\n CalendarDataManager.prototype._computeOptionsData = function (optionOverrides, dynamicOptionOverrides, calendarApi) {\n // TODO: blacklist options that are handled by optionChangeHandlers\n var _a = this.processRawCalendarOptions(optionOverrides, dynamicOptionOverrides), refinedOptions = _a.refinedOptions, pluginHooks = _a.pluginHooks, localeDefaults = _a.localeDefaults, availableLocaleData = _a.availableLocaleData, extra = _a.extra;\n warnUnknownOptions(extra);\n var dateEnv = this.buildDateEnv(refinedOptions.timeZone, refinedOptions.locale, refinedOptions.weekNumberCalculation, refinedOptions.firstDay, refinedOptions.weekText, pluginHooks, availableLocaleData, refinedOptions.defaultRangeSeparator);\n var viewSpecs = this.buildViewSpecs(pluginHooks.views, optionOverrides, dynamicOptionOverrides, localeDefaults);\n var theme = this.buildTheme(refinedOptions, pluginHooks);\n var toolbarConfig = this.parseToolbars(refinedOptions, optionOverrides, theme, viewSpecs, calendarApi);\n return {\n calendarOptions: refinedOptions,\n pluginHooks: pluginHooks,\n dateEnv: dateEnv,\n viewSpecs: viewSpecs,\n theme: theme,\n toolbarConfig: toolbarConfig,\n localeDefaults: localeDefaults,\n availableRawLocales: availableLocaleData.map,\n };\n };\n // always called from behind a memoizer\n CalendarDataManager.prototype.processRawCalendarOptions = function (optionOverrides, dynamicOptionOverrides) {\n var _a = mergeRawOptions([\n BASE_OPTION_DEFAULTS,\n optionOverrides,\n dynamicOptionOverrides,\n ]), locales = _a.locales, locale = _a.locale;\n var availableLocaleData = this.organizeRawLocales(locales);\n var availableRawLocales = availableLocaleData.map;\n var localeDefaults = this.buildLocale(locale || availableLocaleData.defaultCode, availableRawLocales).options;\n var pluginHooks = this.buildPluginHooks(optionOverrides.plugins || [], globalPlugins);\n var refiners = this.currentCalendarOptionsRefiners = __assign(__assign(__assign(__assign(__assign({}, BASE_OPTION_REFINERS), CALENDAR_LISTENER_REFINERS), CALENDAR_OPTION_REFINERS), pluginHooks.listenerRefiners), pluginHooks.optionRefiners);\n var extra = {};\n var raw = mergeRawOptions([\n BASE_OPTION_DEFAULTS,\n localeDefaults,\n optionOverrides,\n dynamicOptionOverrides,\n ]);\n var refined = {};\n var currentRaw = this.currentCalendarOptionsInput;\n var currentRefined = this.currentCalendarOptionsRefined;\n var anyChanges = false;\n for (var optionName in raw) {\n if (optionName !== 'plugins') { // because plugins is special-cased\n if (raw[optionName] === currentRaw[optionName] ||\n (COMPLEX_OPTION_COMPARATORS[optionName] &&\n (optionName in currentRaw) &&\n COMPLEX_OPTION_COMPARATORS[optionName](currentRaw[optionName], raw[optionName]))) {\n refined[optionName] = currentRefined[optionName];\n }\n else if (refiners[optionName]) {\n refined[optionName] = refiners[optionName](raw[optionName]);\n anyChanges = true;\n }\n else {\n extra[optionName] = currentRaw[optionName];\n }\n }\n }\n if (anyChanges) {\n this.currentCalendarOptionsInput = raw;\n this.currentCalendarOptionsRefined = refined;\n }\n return {\n rawOptions: this.currentCalendarOptionsInput,\n refinedOptions: this.currentCalendarOptionsRefined,\n pluginHooks: pluginHooks,\n availableLocaleData: availableLocaleData,\n localeDefaults: localeDefaults,\n extra: extra,\n };\n };\n CalendarDataManager.prototype._computeCurrentViewData = function (viewType, optionsData, optionOverrides, dynamicOptionOverrides) {\n var viewSpec = optionsData.viewSpecs[viewType];\n if (!viewSpec) {\n throw new Error(\"viewType \\\"\" + viewType + \"\\\" is not available. Please make sure you've loaded all neccessary plugins\");\n }\n var _a = this.processRawViewOptions(viewSpec, optionsData.pluginHooks, optionsData.localeDefaults, optionOverrides, dynamicOptionOverrides), refinedOptions = _a.refinedOptions, extra = _a.extra;\n warnUnknownOptions(extra);\n var dateProfileGenerator = this.buildDateProfileGenerator({\n dateProfileGeneratorClass: viewSpec.optionDefaults.dateProfileGeneratorClass,\n duration: viewSpec.duration,\n durationUnit: viewSpec.durationUnit,\n usesMinMaxTime: viewSpec.optionDefaults.usesMinMaxTime,\n dateEnv: optionsData.dateEnv,\n calendarApi: this.props.calendarApi,\n slotMinTime: refinedOptions.slotMinTime,\n slotMaxTime: refinedOptions.slotMaxTime,\n showNonCurrentDates: refinedOptions.showNonCurrentDates,\n dayCount: refinedOptions.dayCount,\n dateAlignment: refinedOptions.dateAlignment,\n dateIncrement: refinedOptions.dateIncrement,\n hiddenDays: refinedOptions.hiddenDays,\n weekends: refinedOptions.weekends,\n nowInput: refinedOptions.now,\n validRangeInput: refinedOptions.validRange,\n visibleRangeInput: refinedOptions.visibleRange,\n monthMode: refinedOptions.monthMode,\n fixedWeekCount: refinedOptions.fixedWeekCount,\n });\n var viewApi = this.buildViewApi(viewType, this.getCurrentData, optionsData.dateEnv);\n return { viewSpec: viewSpec, options: refinedOptions, dateProfileGenerator: dateProfileGenerator, viewApi: viewApi };\n };\n CalendarDataManager.prototype.processRawViewOptions = function (viewSpec, pluginHooks, localeDefaults, optionOverrides, dynamicOptionOverrides) {\n var raw = mergeRawOptions([\n BASE_OPTION_DEFAULTS,\n viewSpec.optionDefaults,\n localeDefaults,\n optionOverrides,\n viewSpec.optionOverrides,\n dynamicOptionOverrides,\n ]);\n var refiners = __assign(__assign(__assign(__assign(__assign(__assign({}, BASE_OPTION_REFINERS), CALENDAR_LISTENER_REFINERS), CALENDAR_OPTION_REFINERS), VIEW_OPTION_REFINERS), pluginHooks.listenerRefiners), pluginHooks.optionRefiners);\n var refined = {};\n var currentRaw = this.currentViewOptionsInput;\n var currentRefined = this.currentViewOptionsRefined;\n var anyChanges = false;\n var extra = {};\n for (var optionName in raw) {\n if (raw[optionName] === currentRaw[optionName]) {\n refined[optionName] = currentRefined[optionName];\n }\n else {\n if (raw[optionName] === this.currentCalendarOptionsInput[optionName]) {\n if (optionName in this.currentCalendarOptionsRefined) { // might be an \"extra\" prop\n refined[optionName] = this.currentCalendarOptionsRefined[optionName];\n }\n }\n else if (refiners[optionName]) {\n refined[optionName] = refiners[optionName](raw[optionName]);\n }\n else {\n extra[optionName] = raw[optionName];\n }\n anyChanges = true;\n }\n }\n if (anyChanges) {\n this.currentViewOptionsInput = raw;\n this.currentViewOptionsRefined = refined;\n }\n return {\n rawOptions: this.currentViewOptionsInput,\n refinedOptions: this.currentViewOptionsRefined,\n extra: extra,\n };\n };\n return CalendarDataManager;\n}());\nfunction buildDateEnv(timeZone, explicitLocale, weekNumberCalculation, firstDay, weekText, pluginHooks, availableLocaleData, defaultSeparator) {\n var locale = buildLocale(explicitLocale || availableLocaleData.defaultCode, availableLocaleData.map);\n return new DateEnv({\n calendarSystem: 'gregory',\n timeZone: timeZone,\n namedTimeZoneImpl: pluginHooks.namedTimeZonedImpl,\n locale: locale,\n weekNumberCalculation: weekNumberCalculation,\n firstDay: firstDay,\n weekText: weekText,\n cmdFormatter: pluginHooks.cmdFormatter,\n defaultSeparator: defaultSeparator,\n });\n}\nfunction buildTheme(options, pluginHooks) {\n var ThemeClass = pluginHooks.themeClasses[options.themeSystem] || StandardTheme;\n return new ThemeClass(options);\n}\nfunction buildDateProfileGenerator(props) {\n var DateProfileGeneratorClass = props.dateProfileGeneratorClass || DateProfileGenerator;\n return new DateProfileGeneratorClass(props);\n}\nfunction buildViewApi(type, getCurrentData, dateEnv) {\n return new ViewApi(type, getCurrentData, dateEnv);\n}\nfunction buildEventUiBySource(eventSources) {\n return mapHash(eventSources, function (eventSource) { return eventSource.ui; });\n}\nfunction buildEventUiBases(eventDefs, eventUiSingleBase, eventUiBySource) {\n var eventUiBases = { '': eventUiSingleBase };\n for (var defId in eventDefs) {\n var def = eventDefs[defId];\n if (def.sourceId && eventUiBySource[def.sourceId]) {\n eventUiBases[defId] = eventUiBySource[def.sourceId];\n }\n }\n return eventUiBases;\n}\nfunction buildViewUiProps(calendarContext) {\n var options = calendarContext.options;\n return {\n eventUiSingleBase: createEventUi({\n display: options.eventDisplay,\n editable: options.editable,\n startEditable: options.eventStartEditable,\n durationEditable: options.eventDurationEditable,\n constraint: options.eventConstraint,\n overlap: typeof options.eventOverlap === 'boolean' ? options.eventOverlap : undefined,\n allow: options.eventAllow,\n backgroundColor: options.eventBackgroundColor,\n borderColor: options.eventBorderColor,\n textColor: options.eventTextColor,\n color: options.eventColor,\n // classNames: options.eventClassNames // render hook will handle this\n }, calendarContext),\n selectionConfig: createEventUi({\n constraint: options.selectConstraint,\n overlap: typeof options.selectOverlap === 'boolean' ? options.selectOverlap : undefined,\n allow: options.selectAllow,\n }, calendarContext),\n };\n}\nfunction computeIsLoading(state, context) {\n for (var _i = 0, _a = context.pluginHooks.isLoadingFuncs; _i < _a.length; _i++) {\n var isLoadingFunc = _a[_i];\n if (isLoadingFunc(state)) {\n return true;\n }\n }\n return false;\n}\nfunction parseContextBusinessHours(calendarContext) {\n return parseBusinessHours(calendarContext.options.businessHours, calendarContext);\n}\nfunction warnUnknownOptions(options, viewName) {\n for (var optionName in options) {\n console.warn(\"Unknown option '\" + optionName + \"'\" +\n (viewName ? \" for view '\" + viewName + \"'\" : ''));\n }\n}\n\n// TODO: move this to react plugin?\nvar CalendarDataProvider = /** @class */ (function (_super) {\n __extends(CalendarDataProvider, _super);\n function CalendarDataProvider(props) {\n var _this = _super.call(this, props) || this;\n _this.handleData = function (data) {\n if (!_this.dataManager) { // still within initial run, before assignment in constructor\n // eslint-disable-next-line react/no-direct-mutation-state\n _this.state = data; // can't use setState yet\n }\n else {\n _this.setState(data);\n }\n };\n _this.dataManager = new CalendarDataManager({\n optionOverrides: props.optionOverrides,\n calendarApi: props.calendarApi,\n onData: _this.handleData,\n });\n return _this;\n }\n CalendarDataProvider.prototype.render = function () {\n return this.props.children(this.state);\n };\n CalendarDataProvider.prototype.componentDidUpdate = function (prevProps) {\n var newOptionOverrides = this.props.optionOverrides;\n if (newOptionOverrides !== prevProps.optionOverrides) { // prevent recursive handleData\n this.dataManager.resetOptions(newOptionOverrides);\n }\n };\n return CalendarDataProvider;\n}(Component));\n\n// HELPERS\n/*\nif nextDayThreshold is specified, slicing is done in an all-day fashion.\nyou can get nextDayThreshold from context.nextDayThreshold\n*/\nfunction sliceEvents(props, allDay) {\n return sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg;\n}\n\nvar NamedTimeZoneImpl = /** @class */ (function () {\n function NamedTimeZoneImpl(timeZoneName) {\n this.timeZoneName = timeZoneName;\n }\n return NamedTimeZoneImpl;\n}());\n\nvar SegHierarchy = /** @class */ (function () {\n function SegHierarchy() {\n // settings\n this.strictOrder = false;\n this.allowReslicing = false;\n this.maxCoord = -1; // -1 means no max\n this.maxStackCnt = -1; // -1 means no max\n this.levelCoords = []; // ordered\n this.entriesByLevel = []; // parallel with levelCoords\n this.stackCnts = {}; // TODO: use better technique!?\n }\n SegHierarchy.prototype.addSegs = function (inputs) {\n var hiddenEntries = [];\n for (var _i = 0, inputs_1 = inputs; _i < inputs_1.length; _i++) {\n var input = inputs_1[_i];\n this.insertEntry(input, hiddenEntries);\n }\n return hiddenEntries;\n };\n SegHierarchy.prototype.insertEntry = function (entry, hiddenEntries) {\n var insertion = this.findInsertion(entry);\n if (this.isInsertionValid(insertion, entry)) {\n this.insertEntryAt(entry, insertion);\n return 1;\n }\n return this.handleInvalidInsertion(insertion, entry, hiddenEntries);\n };\n SegHierarchy.prototype.isInsertionValid = function (insertion, entry) {\n return (this.maxCoord === -1 || insertion.levelCoord + entry.thickness <= this.maxCoord) &&\n (this.maxStackCnt === -1 || insertion.stackCnt < this.maxStackCnt);\n };\n // returns number of new entries inserted\n SegHierarchy.prototype.handleInvalidInsertion = function (insertion, entry, hiddenEntries) {\n if (this.allowReslicing && insertion.touchingEntry) {\n return this.splitEntry(entry, insertion.touchingEntry, hiddenEntries);\n }\n hiddenEntries.push(entry);\n return 0;\n };\n SegHierarchy.prototype.splitEntry = function (entry, barrier, hiddenEntries) {\n var partCnt = 0;\n var splitHiddenEntries = [];\n var entrySpan = entry.span;\n var barrierSpan = barrier.span;\n if (entrySpan.start < barrierSpan.start) {\n partCnt += this.insertEntry({\n index: entry.index,\n thickness: entry.thickness,\n span: { start: entrySpan.start, end: barrierSpan.start },\n }, splitHiddenEntries);\n }\n if (entrySpan.end > barrierSpan.end) {\n partCnt += this.insertEntry({\n index: entry.index,\n thickness: entry.thickness,\n span: { start: barrierSpan.end, end: entrySpan.end },\n }, splitHiddenEntries);\n }\n if (partCnt) {\n hiddenEntries.push.apply(hiddenEntries, __spreadArray([{\n index: entry.index,\n thickness: entry.thickness,\n span: intersectSpans(barrierSpan, entrySpan), // guaranteed to intersect\n }], splitHiddenEntries));\n return partCnt;\n }\n hiddenEntries.push(entry);\n return 0;\n };\n SegHierarchy.prototype.insertEntryAt = function (entry, insertion) {\n var _a = this, entriesByLevel = _a.entriesByLevel, levelCoords = _a.levelCoords;\n if (insertion.lateral === -1) {\n // create a new level\n insertAt(levelCoords, insertion.level, insertion.levelCoord);\n insertAt(entriesByLevel, insertion.level, [entry]);\n }\n else {\n // insert into existing level\n insertAt(entriesByLevel[insertion.level], insertion.lateral, entry);\n }\n this.stackCnts[buildEntryKey(entry)] = insertion.stackCnt;\n };\n SegHierarchy.prototype.findInsertion = function (newEntry) {\n var _a = this, levelCoords = _a.levelCoords, entriesByLevel = _a.entriesByLevel, strictOrder = _a.strictOrder, stackCnts = _a.stackCnts;\n var levelCnt = levelCoords.length;\n var candidateCoord = 0;\n var touchingLevel = -1;\n var touchingLateral = -1;\n var touchingEntry = null;\n var stackCnt = 0;\n for (var trackingLevel = 0; trackingLevel < levelCnt; trackingLevel += 1) {\n var trackingCoord = levelCoords[trackingLevel];\n // if the current level is past the placed entry, we have found a good empty space and can stop.\n // if strictOrder, keep finding more lateral intersections.\n if (!strictOrder && trackingCoord >= candidateCoord + newEntry.thickness) {\n break;\n }\n var trackingEntries = entriesByLevel[trackingLevel];\n var trackingEntry = void 0;\n var searchRes = binarySearch(trackingEntries, newEntry.span.start, getEntrySpanEnd); // find first entry after newEntry's end\n var lateralIndex = searchRes[0] + searchRes[1]; // if exact match (which doesn't collide), go to next one\n while ( // loop through entries that horizontally intersect\n (trackingEntry = trackingEntries[lateralIndex]) && // but not past the whole entry list\n trackingEntry.span.start < newEntry.span.end // and not entirely past newEntry\n ) {\n var trackingEntryBottom = trackingCoord + trackingEntry.thickness;\n // intersects into the top of the candidate?\n if (trackingEntryBottom > candidateCoord) {\n candidateCoord = trackingEntryBottom;\n touchingEntry = trackingEntry;\n touchingLevel = trackingLevel;\n touchingLateral = lateralIndex;\n }\n // butts up against top of candidate? (will happen if just intersected as well)\n if (trackingEntryBottom === candidateCoord) {\n // accumulate the highest possible stackCnt of the trackingEntries that butt up\n stackCnt = Math.max(stackCnt, stackCnts[buildEntryKey(trackingEntry)] + 1);\n }\n lateralIndex += 1;\n }\n }\n // the destination level will be after touchingEntry's level. find it\n var destLevel = 0;\n if (touchingEntry) {\n destLevel = touchingLevel + 1;\n while (destLevel < levelCnt && levelCoords[destLevel] < candidateCoord) {\n destLevel += 1;\n }\n }\n // if adding to an existing level, find where to insert\n var destLateral = -1;\n if (destLevel < levelCnt && levelCoords[destLevel] === candidateCoord) {\n destLateral = binarySearch(entriesByLevel[destLevel], newEntry.span.end, getEntrySpanEnd)[0];\n }\n return {\n touchingLevel: touchingLevel,\n touchingLateral: touchingLateral,\n touchingEntry: touchingEntry,\n stackCnt: stackCnt,\n levelCoord: candidateCoord,\n level: destLevel,\n lateral: destLateral,\n };\n };\n // sorted by levelCoord (lowest to highest)\n SegHierarchy.prototype.toRects = function () {\n var _a = this, entriesByLevel = _a.entriesByLevel, levelCoords = _a.levelCoords;\n var levelCnt = entriesByLevel.length;\n var rects = [];\n for (var level = 0; level < levelCnt; level += 1) {\n var entries = entriesByLevel[level];\n var levelCoord = levelCoords[level];\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n rects.push(__assign(__assign({}, entry), { levelCoord: levelCoord }));\n }\n }\n return rects;\n };\n return SegHierarchy;\n}());\nfunction getEntrySpanEnd(entry) {\n return entry.span.end;\n}\nfunction buildEntryKey(entry) {\n return entry.index + ':' + entry.span.start;\n}\n// returns groups with entries sorted by input order\nfunction groupIntersectingEntries(entries) {\n var merges = [];\n for (var _i = 0, entries_2 = entries; _i < entries_2.length; _i++) {\n var entry = entries_2[_i];\n var filteredMerges = [];\n var hungryMerge = {\n span: entry.span,\n entries: [entry],\n };\n for (var _a = 0, merges_1 = merges; _a < merges_1.length; _a++) {\n var merge = merges_1[_a];\n if (intersectSpans(merge.span, hungryMerge.span)) {\n hungryMerge = {\n entries: merge.entries.concat(hungryMerge.entries),\n span: joinSpans(merge.span, hungryMerge.span),\n };\n }\n else {\n filteredMerges.push(merge);\n }\n }\n filteredMerges.push(hungryMerge);\n merges = filteredMerges;\n }\n return merges;\n}\nfunction joinSpans(span0, span1) {\n return {\n start: Math.min(span0.start, span1.start),\n end: Math.max(span0.end, span1.end),\n };\n}\nfunction intersectSpans(span0, span1) {\n var start = Math.max(span0.start, span1.start);\n var end = Math.min(span0.end, span1.end);\n if (start < end) {\n return { start: start, end: end };\n }\n return null;\n}\n// general util\n// ---------------------------------------------------------------------------------------------------------------------\nfunction insertAt(arr, index, item) {\n arr.splice(index, 0, item);\n}\nfunction binarySearch(a, searchVal, getItemVal) {\n var startIndex = 0;\n var endIndex = a.length; // exclusive\n if (!endIndex || searchVal < getItemVal(a[startIndex])) { // no items OR before first item\n return [0, 0];\n }\n if (searchVal > getItemVal(a[endIndex - 1])) { // after last item\n return [endIndex, 0];\n }\n while (startIndex < endIndex) {\n var middleIndex = Math.floor(startIndex + (endIndex - startIndex) / 2);\n var middleVal = getItemVal(a[middleIndex]);\n if (searchVal < middleVal) {\n endIndex = middleIndex;\n }\n else if (searchVal > middleVal) {\n startIndex = middleIndex + 1;\n }\n else { // equal!\n return [middleIndex, 1];\n }\n }\n return [startIndex, 0];\n}\n\nvar Interaction = /** @class */ (function () {\n function Interaction(settings) {\n this.component = settings.component;\n this.isHitComboAllowed = settings.isHitComboAllowed || null;\n }\n Interaction.prototype.destroy = function () {\n };\n return Interaction;\n}());\nfunction parseInteractionSettings(component, input) {\n return {\n component: component,\n el: input.el,\n useEventCenter: input.useEventCenter != null ? input.useEventCenter : true,\n isHitComboAllowed: input.isHitComboAllowed || null,\n };\n}\nfunction interactionSettingsToStore(settings) {\n var _a;\n return _a = {},\n _a[settings.component.uid] = settings,\n _a;\n}\n// global state\nvar interactionSettingsStore = {};\n\n/*\nAn abstraction for a dragging interaction originating on an event.\nDoes higher-level things than PointerDragger, such as possibly:\n- a \"mirror\" that moves with the pointer\n- a minimum number of pixels or other criteria for a true drag to begin\n\nsubclasses must emit:\n- pointerdown\n- dragstart\n- dragmove\n- pointerup\n- dragend\n*/\nvar ElementDragging = /** @class */ (function () {\n function ElementDragging(el, selector) {\n this.emitter = new Emitter();\n }\n ElementDragging.prototype.destroy = function () {\n };\n ElementDragging.prototype.setMirrorIsVisible = function (bool) {\n // optional if subclass doesn't want to support a mirror\n };\n ElementDragging.prototype.setMirrorNeedsRevert = function (bool) {\n // optional if subclass doesn't want to support a mirror\n };\n ElementDragging.prototype.setAutoScrollEnabled = function (bool) {\n // optional\n };\n return ElementDragging;\n}());\n\n// TODO: get rid of this in favor of options system,\n// tho it's really easy to access this globally rather than pass thru options.\nvar config = {};\n\n/*\nInformation about what will happen when an external element is dragged-and-dropped\nonto a calendar. Contains information for creating an event.\n*/\nvar DRAG_META_REFINERS = {\n startTime: createDuration,\n duration: createDuration,\n create: Boolean,\n sourceId: String,\n};\nfunction parseDragMeta(raw) {\n var _a = refineProps(raw, DRAG_META_REFINERS), refined = _a.refined, extra = _a.extra;\n return {\n startTime: refined.startTime || null,\n duration: refined.duration || null,\n create: refined.create != null ? refined.create : true,\n sourceId: refined.sourceId,\n leftoverProps: extra,\n };\n}\n\nvar ToolbarSection = /** @class */ (function (_super) {\n __extends(ToolbarSection, _super);\n function ToolbarSection() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarSection.prototype.render = function () {\n var _this = this;\n var children = this.props.widgetGroups.map(function (widgetGroup) { return _this.renderWidgetGroup(widgetGroup); });\n return createElement.apply(void 0, __spreadArray(['div', { className: 'fc-toolbar-chunk' }], children));\n };\n ToolbarSection.prototype.renderWidgetGroup = function (widgetGroup) {\n var props = this.props;\n var theme = this.context.theme;\n var children = [];\n var isOnlyButtons = true;\n for (var _i = 0, widgetGroup_1 = widgetGroup; _i < widgetGroup_1.length; _i++) {\n var widget = widgetGroup_1[_i];\n var buttonName = widget.buttonName, buttonClick = widget.buttonClick, buttonText = widget.buttonText, buttonIcon = widget.buttonIcon, buttonHint = widget.buttonHint;\n if (buttonName === 'title') {\n isOnlyButtons = false;\n children.push(createElement(\"h2\", { className: \"fc-toolbar-title\", id: props.titleId }, props.title));\n }\n else {\n var isPressed = buttonName === props.activeButton;\n var isDisabled = (!props.isTodayEnabled && buttonName === 'today') ||\n (!props.isPrevEnabled && buttonName === 'prev') ||\n (!props.isNextEnabled && buttonName === 'next');\n var buttonClasses = [\"fc-\" + buttonName + \"-button\", theme.getClass('button')];\n if (isPressed) {\n buttonClasses.push(theme.getClass('buttonActive'));\n }\n children.push(createElement(\"button\", { type: \"button\", title: typeof buttonHint === 'function' ? buttonHint(props.navUnit) : buttonHint, disabled: isDisabled, \"aria-pressed\": isPressed, className: buttonClasses.join(' '), onClick: buttonClick }, buttonText || (buttonIcon ? createElement(\"span\", { className: buttonIcon }) : '')));\n }\n }\n if (children.length > 1) {\n var groupClassName = (isOnlyButtons && theme.getClass('buttonGroup')) || '';\n return createElement.apply(void 0, __spreadArray(['div', { className: groupClassName }], children));\n }\n return children[0];\n };\n return ToolbarSection;\n}(BaseComponent));\n\nvar Toolbar = /** @class */ (function (_super) {\n __extends(Toolbar, _super);\n function Toolbar() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Toolbar.prototype.render = function () {\n var _a = this.props, model = _a.model, extraClassName = _a.extraClassName;\n var forceLtr = false;\n var startContent;\n var endContent;\n var sectionWidgets = model.sectionWidgets;\n var centerContent = sectionWidgets.center;\n if (sectionWidgets.left) {\n forceLtr = true;\n startContent = sectionWidgets.left;\n }\n else {\n startContent = sectionWidgets.start;\n }\n if (sectionWidgets.right) {\n forceLtr = true;\n endContent = sectionWidgets.right;\n }\n else {\n endContent = sectionWidgets.end;\n }\n var classNames = [\n extraClassName || '',\n 'fc-toolbar',\n forceLtr ? 'fc-toolbar-ltr' : '',\n ];\n return (createElement(\"div\", { className: classNames.join(' ') },\n this.renderSection('start', startContent || []),\n this.renderSection('center', centerContent || []),\n this.renderSection('end', endContent || [])));\n };\n Toolbar.prototype.renderSection = function (key, widgetGroups) {\n var props = this.props;\n return (createElement(ToolbarSection, { key: key, widgetGroups: widgetGroups, title: props.title, navUnit: props.navUnit, activeButton: props.activeButton, isTodayEnabled: props.isTodayEnabled, isPrevEnabled: props.isPrevEnabled, isNextEnabled: props.isNextEnabled, titleId: props.titleId }));\n };\n return Toolbar;\n}(BaseComponent));\n\n// TODO: do function component?\nvar ViewContainer = /** @class */ (function (_super) {\n __extends(ViewContainer, _super);\n function ViewContainer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n availableWidth: null,\n };\n _this.handleEl = function (el) {\n _this.el = el;\n setRef(_this.props.elRef, el);\n _this.updateAvailableWidth();\n };\n _this.handleResize = function () {\n _this.updateAvailableWidth();\n };\n return _this;\n }\n ViewContainer.prototype.render = function () {\n var _a = this, props = _a.props, state = _a.state;\n var aspectRatio = props.aspectRatio;\n var classNames = [\n 'fc-view-harness',\n (aspectRatio || props.liquid || props.height)\n ? 'fc-view-harness-active' // harness controls the height\n : 'fc-view-harness-passive', // let the view do the height\n ];\n var height = '';\n var paddingBottom = '';\n if (aspectRatio) {\n if (state.availableWidth !== null) {\n height = state.availableWidth / aspectRatio;\n }\n else {\n // while waiting to know availableWidth, we can't set height to *zero*\n // because will cause lots of unnecessary scrollbars within scrollgrid.\n // BETTER: don't start rendering ANYTHING yet until we know container width\n // NOTE: why not always use paddingBottom? Causes height oscillation (issue 5606)\n paddingBottom = (1 / aspectRatio) * 100 + \"%\";\n }\n }\n else {\n height = props.height || '';\n }\n return (createElement(\"div\", { \"aria-labelledby\": props.labeledById, ref: this.handleEl, className: classNames.join(' '), style: { height: height, paddingBottom: paddingBottom } }, props.children));\n };\n ViewContainer.prototype.componentDidMount = function () {\n this.context.addResizeHandler(this.handleResize);\n };\n ViewContainer.prototype.componentWillUnmount = function () {\n this.context.removeResizeHandler(this.handleResize);\n };\n ViewContainer.prototype.updateAvailableWidth = function () {\n if (this.el && // needed. but why?\n this.props.aspectRatio // aspectRatio is the only height setting that needs availableWidth\n ) {\n this.setState({ availableWidth: this.el.offsetWidth });\n }\n };\n return ViewContainer;\n}(BaseComponent));\n\n/*\nDetects when the user clicks on an event within a DateComponent\n*/\nvar EventClicking = /** @class */ (function (_super) {\n __extends(EventClicking, _super);\n function EventClicking(settings) {\n var _this = _super.call(this, settings) || this;\n _this.handleSegClick = function (ev, segEl) {\n var component = _this.component;\n var context = component.context;\n var seg = getElSeg(segEl);\n if (seg && // might be the
    surrounding the more link\n component.isValidSegDownEl(ev.target)) {\n // our way to simulate a link click for elements that can't be tags\n // grab before trigger fired in case trigger trashes DOM thru rerendering\n var hasUrlContainer = elementClosest(ev.target, '.fc-event-forced-url');\n var url = hasUrlContainer ? hasUrlContainer.querySelector('a[href]').href : '';\n context.emitter.trigger('eventClick', {\n el: segEl,\n event: new EventApi(component.context, seg.eventRange.def, seg.eventRange.instance),\n jsEvent: ev,\n view: context.viewApi,\n });\n if (url && !ev.defaultPrevented) {\n window.location.href = url;\n }\n }\n };\n _this.destroy = listenBySelector(settings.el, 'click', '.fc-event', // on both fg and bg events\n _this.handleSegClick);\n return _this;\n }\n return EventClicking;\n}(Interaction));\n\n/*\nTriggers events and adds/removes core classNames when the user's pointer\nenters/leaves event-elements of a component.\n*/\nvar EventHovering = /** @class */ (function (_super) {\n __extends(EventHovering, _super);\n function EventHovering(settings) {\n var _this = _super.call(this, settings) || this;\n // for simulating an eventMouseLeave when the event el is destroyed while mouse is over it\n _this.handleEventElRemove = function (el) {\n if (el === _this.currentSegEl) {\n _this.handleSegLeave(null, _this.currentSegEl);\n }\n };\n _this.handleSegEnter = function (ev, segEl) {\n if (getElSeg(segEl)) { // TODO: better way to make sure not hovering over more+ link or its wrapper\n _this.currentSegEl = segEl;\n _this.triggerEvent('eventMouseEnter', ev, segEl);\n }\n };\n _this.handleSegLeave = function (ev, segEl) {\n if (_this.currentSegEl) {\n _this.currentSegEl = null;\n _this.triggerEvent('eventMouseLeave', ev, segEl);\n }\n };\n _this.removeHoverListeners = listenToHoverBySelector(settings.el, '.fc-event', // on both fg and bg events\n _this.handleSegEnter, _this.handleSegLeave);\n return _this;\n }\n EventHovering.prototype.destroy = function () {\n this.removeHoverListeners();\n };\n EventHovering.prototype.triggerEvent = function (publicEvName, ev, segEl) {\n var component = this.component;\n var context = component.context;\n var seg = getElSeg(segEl);\n if (!ev || component.isValidSegDownEl(ev.target)) {\n context.emitter.trigger(publicEvName, {\n el: segEl,\n event: new EventApi(context, seg.eventRange.def, seg.eventRange.instance),\n jsEvent: ev,\n view: context.viewApi,\n });\n }\n };\n return EventHovering;\n}(Interaction));\n\nvar CalendarContent = /** @class */ (function (_super) {\n __extends(CalendarContent, _super);\n function CalendarContent() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.buildViewContext = memoize(buildViewContext);\n _this.buildViewPropTransformers = memoize(buildViewPropTransformers);\n _this.buildToolbarProps = memoize(buildToolbarProps);\n _this.headerRef = createRef();\n _this.footerRef = createRef();\n _this.interactionsStore = {};\n // eslint-disable-next-line\n _this.state = {\n viewLabelId: getUniqueDomId(),\n };\n // Component Registration\n // -----------------------------------------------------------------------------------------------------------------\n _this.registerInteractiveComponent = function (component, settingsInput) {\n var settings = parseInteractionSettings(component, settingsInput);\n var DEFAULT_INTERACTIONS = [\n EventClicking,\n EventHovering,\n ];\n var interactionClasses = DEFAULT_INTERACTIONS.concat(_this.props.pluginHooks.componentInteractions);\n var interactions = interactionClasses.map(function (TheInteractionClass) { return new TheInteractionClass(settings); });\n _this.interactionsStore[component.uid] = interactions;\n interactionSettingsStore[component.uid] = settings;\n };\n _this.unregisterInteractiveComponent = function (component) {\n for (var _i = 0, _a = _this.interactionsStore[component.uid]; _i < _a.length; _i++) {\n var listener = _a[_i];\n listener.destroy();\n }\n delete _this.interactionsStore[component.uid];\n delete interactionSettingsStore[component.uid];\n };\n // Resizing\n // -----------------------------------------------------------------------------------------------------------------\n _this.resizeRunner = new DelayedRunner(function () {\n _this.props.emitter.trigger('_resize', true); // should window resizes be considered \"forced\" ?\n _this.props.emitter.trigger('windowResize', { view: _this.props.viewApi });\n });\n _this.handleWindowResize = function (ev) {\n var options = _this.props.options;\n if (options.handleWindowResize &&\n ev.target === window // avoid jqui events\n ) {\n _this.resizeRunner.request(options.windowResizeDelay);\n }\n };\n return _this;\n }\n /*\n renders INSIDE of an outer div\n */\n CalendarContent.prototype.render = function () {\n var props = this.props;\n var toolbarConfig = props.toolbarConfig, options = props.options;\n var toolbarProps = this.buildToolbarProps(props.viewSpec, props.dateProfile, props.dateProfileGenerator, props.currentDate, getNow(props.options.now, props.dateEnv), // TODO: use NowTimer????\n props.viewTitle);\n var viewVGrow = false;\n var viewHeight = '';\n var viewAspectRatio;\n if (props.isHeightAuto || props.forPrint) {\n viewHeight = '';\n }\n else if (options.height != null) {\n viewVGrow = true;\n }\n else if (options.contentHeight != null) {\n viewHeight = options.contentHeight;\n }\n else {\n viewAspectRatio = Math.max(options.aspectRatio, 0.5); // prevent from getting too tall\n }\n var viewContext = this.buildViewContext(props.viewSpec, props.viewApi, props.options, props.dateProfileGenerator, props.dateEnv, props.theme, props.pluginHooks, props.dispatch, props.getCurrentData, props.emitter, props.calendarApi, this.registerInteractiveComponent, this.unregisterInteractiveComponent);\n var viewLabelId = (toolbarConfig.header && toolbarConfig.header.hasTitle)\n ? this.state.viewLabelId\n : '';\n return (createElement(ViewContextType.Provider, { value: viewContext },\n toolbarConfig.header && (createElement(Toolbar, __assign({ ref: this.headerRef, extraClassName: \"fc-header-toolbar\", model: toolbarConfig.header, titleId: viewLabelId }, toolbarProps))),\n createElement(ViewContainer, { liquid: viewVGrow, height: viewHeight, aspectRatio: viewAspectRatio, labeledById: viewLabelId },\n this.renderView(props),\n this.buildAppendContent()),\n toolbarConfig.footer && (createElement(Toolbar, __assign({ ref: this.footerRef, extraClassName: \"fc-footer-toolbar\", model: toolbarConfig.footer, titleId: \"\" }, toolbarProps)))));\n };\n CalendarContent.prototype.componentDidMount = function () {\n var props = this.props;\n this.calendarInteractions = props.pluginHooks.calendarInteractions\n .map(function (CalendarInteractionClass) { return new CalendarInteractionClass(props); });\n window.addEventListener('resize', this.handleWindowResize);\n var propSetHandlers = props.pluginHooks.propSetHandlers;\n for (var propName in propSetHandlers) {\n propSetHandlers[propName](props[propName], props);\n }\n };\n CalendarContent.prototype.componentDidUpdate = function (prevProps) {\n var props = this.props;\n var propSetHandlers = props.pluginHooks.propSetHandlers;\n for (var propName in propSetHandlers) {\n if (props[propName] !== prevProps[propName]) {\n propSetHandlers[propName](props[propName], props);\n }\n }\n };\n CalendarContent.prototype.componentWillUnmount = function () {\n window.removeEventListener('resize', this.handleWindowResize);\n this.resizeRunner.clear();\n for (var _i = 0, _a = this.calendarInteractions; _i < _a.length; _i++) {\n var interaction = _a[_i];\n interaction.destroy();\n }\n this.props.emitter.trigger('_unmount');\n };\n CalendarContent.prototype.buildAppendContent = function () {\n var props = this.props;\n var children = props.pluginHooks.viewContainerAppends.map(function (buildAppendContent) { return buildAppendContent(props); });\n return createElement.apply(void 0, __spreadArray([Fragment, {}], children));\n };\n CalendarContent.prototype.renderView = function (props) {\n var pluginHooks = props.pluginHooks;\n var viewSpec = props.viewSpec;\n var viewProps = {\n dateProfile: props.dateProfile,\n businessHours: props.businessHours,\n eventStore: props.renderableEventStore,\n eventUiBases: props.eventUiBases,\n dateSelection: props.dateSelection,\n eventSelection: props.eventSelection,\n eventDrag: props.eventDrag,\n eventResize: props.eventResize,\n isHeightAuto: props.isHeightAuto,\n forPrint: props.forPrint,\n };\n var transformers = this.buildViewPropTransformers(pluginHooks.viewPropsTransformers);\n for (var _i = 0, transformers_1 = transformers; _i < transformers_1.length; _i++) {\n var transformer = transformers_1[_i];\n __assign(viewProps, transformer.transform(viewProps, props));\n }\n var ViewComponent = viewSpec.component;\n return (createElement(ViewComponent, __assign({}, viewProps)));\n };\n return CalendarContent;\n}(PureComponent));\nfunction buildToolbarProps(viewSpec, dateProfile, dateProfileGenerator, currentDate, now, title) {\n // don't force any date-profiles to valid date profiles (the `false`) so that we can tell if it's invalid\n var todayInfo = dateProfileGenerator.build(now, undefined, false); // TODO: need `undefined` or else INFINITE LOOP for some reason\n var prevInfo = dateProfileGenerator.buildPrev(dateProfile, currentDate, false);\n var nextInfo = dateProfileGenerator.buildNext(dateProfile, currentDate, false);\n return {\n title: title,\n activeButton: viewSpec.type,\n navUnit: viewSpec.singleUnit,\n isTodayEnabled: todayInfo.isValid && !rangeContainsMarker(dateProfile.currentRange, now),\n isPrevEnabled: prevInfo.isValid,\n isNextEnabled: nextInfo.isValid,\n };\n}\n// Plugin\n// -----------------------------------------------------------------------------------------------------------------\nfunction buildViewPropTransformers(theClasses) {\n return theClasses.map(function (TheClass) { return new TheClass(); });\n}\n\nvar CalendarRoot = /** @class */ (function (_super) {\n __extends(CalendarRoot, _super);\n function CalendarRoot() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n forPrint: false,\n };\n _this.handleBeforePrint = function () {\n _this.setState({ forPrint: true });\n };\n _this.handleAfterPrint = function () {\n _this.setState({ forPrint: false });\n };\n return _this;\n }\n CalendarRoot.prototype.render = function () {\n var props = this.props;\n var options = props.options;\n var forPrint = this.state.forPrint;\n var isHeightAuto = forPrint || options.height === 'auto' || options.contentHeight === 'auto';\n var height = (!isHeightAuto && options.height != null) ? options.height : '';\n var classNames = [\n 'fc',\n forPrint ? 'fc-media-print' : 'fc-media-screen',\n \"fc-direction-\" + options.direction,\n props.theme.getClass('root'),\n ];\n if (!getCanVGrowWithinCell()) {\n classNames.push('fc-liquid-hack');\n }\n return props.children(classNames, height, isHeightAuto, forPrint);\n };\n CalendarRoot.prototype.componentDidMount = function () {\n var emitter = this.props.emitter;\n emitter.on('_beforeprint', this.handleBeforePrint);\n emitter.on('_afterprint', this.handleAfterPrint);\n };\n CalendarRoot.prototype.componentWillUnmount = function () {\n var emitter = this.props.emitter;\n emitter.off('_beforeprint', this.handleBeforePrint);\n emitter.off('_afterprint', this.handleAfterPrint);\n };\n return CalendarRoot;\n}(BaseComponent));\n\n// Computes a default column header formatting string if `colFormat` is not explicitly defined\nfunction computeFallbackHeaderFormat(datesRepDistinctDays, dayCnt) {\n // if more than one week row, or if there are a lot of columns with not much space,\n // put just the day numbers will be in each cell\n if (!datesRepDistinctDays || dayCnt > 10) {\n return createFormatter({ weekday: 'short' }); // \"Sat\"\n }\n if (dayCnt > 1) {\n return createFormatter({ weekday: 'short', month: 'numeric', day: 'numeric', omitCommas: true }); // \"Sat 11/12\"\n }\n return createFormatter({ weekday: 'long' }); // \"Saturday\"\n}\n\nvar CLASS_NAME = 'fc-col-header-cell'; // do the cushion too? no\nfunction renderInner$1(hookProps) {\n return hookProps.text;\n}\n\nvar TableDateCell = /** @class */ (function (_super) {\n __extends(TableDateCell, _super);\n function TableDateCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TableDateCell.prototype.render = function () {\n var _a = this.context, dateEnv = _a.dateEnv, options = _a.options, theme = _a.theme, viewApi = _a.viewApi;\n var props = this.props;\n var date = props.date, dateProfile = props.dateProfile;\n var dayMeta = getDateMeta(date, props.todayRange, null, dateProfile);\n var classNames = [CLASS_NAME].concat(getDayClassNames(dayMeta, theme));\n var text = dateEnv.format(date, props.dayHeaderFormat);\n // if colCnt is 1, we are already in a day-view and don't need a navlink\n var navLinkAttrs = (!dayMeta.isDisabled && props.colCnt > 1)\n ? buildNavLinkAttrs(this.context, date)\n : {};\n var hookProps = __assign(__assign(__assign({ date: dateEnv.toDate(date), view: viewApi }, props.extraHookProps), { text: text }), dayMeta);\n return (createElement(RenderHook, { hookProps: hookProps, classNames: options.dayHeaderClassNames, content: options.dayHeaderContent, defaultContent: renderInner$1, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount }, function (rootElRef, customClassNames, innerElRef, innerContent) { return (createElement(\"th\", __assign({ ref: rootElRef, role: \"columnheader\", className: classNames.concat(customClassNames).join(' '), \"data-date\": !dayMeta.isDisabled ? formatDayString(date) : undefined, colSpan: props.colSpan }, props.extraDataAttrs),\n createElement(\"div\", { className: \"fc-scrollgrid-sync-inner\" }, !dayMeta.isDisabled && (createElement(\"a\", __assign({ ref: innerElRef, className: [\n 'fc-col-header-cell-cushion',\n props.isSticky ? 'fc-sticky' : '',\n ].join(' ') }, navLinkAttrs), innerContent))))); }));\n };\n return TableDateCell;\n}(BaseComponent));\n\nvar WEEKDAY_FORMAT = createFormatter({ weekday: 'long' });\nvar TableDowCell = /** @class */ (function (_super) {\n __extends(TableDowCell, _super);\n function TableDowCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TableDowCell.prototype.render = function () {\n var props = this.props;\n var _a = this.context, dateEnv = _a.dateEnv, theme = _a.theme, viewApi = _a.viewApi, options = _a.options;\n var date = addDays(new Date(259200000), props.dow); // start with Sun, 04 Jan 1970 00:00:00 GMT\n var dateMeta = {\n dow: props.dow,\n isDisabled: false,\n isFuture: false,\n isPast: false,\n isToday: false,\n isOther: false,\n };\n var classNames = [CLASS_NAME].concat(getDayClassNames(dateMeta, theme), props.extraClassNames || []);\n var text = dateEnv.format(date, props.dayHeaderFormat);\n var hookProps = __assign(__assign(__assign(__assign({ // TODO: make this public?\n date: date }, dateMeta), { view: viewApi }), props.extraHookProps), { text: text });\n return (createElement(RenderHook, { hookProps: hookProps, classNames: options.dayHeaderClassNames, content: options.dayHeaderContent, defaultContent: renderInner$1, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount }, function (rootElRef, customClassNames, innerElRef, innerContent) { return (createElement(\"th\", __assign({ ref: rootElRef, role: \"columnheader\", className: classNames.concat(customClassNames).join(' '), colSpan: props.colSpan }, props.extraDataAttrs),\n createElement(\"div\", { className: \"fc-scrollgrid-sync-inner\" },\n createElement(\"a\", { \"aria-label\": dateEnv.format(date, WEEKDAY_FORMAT), className: [\n 'fc-col-header-cell-cushion',\n props.isSticky ? 'fc-sticky' : '',\n ].join(' '), ref: innerElRef }, innerContent)))); }));\n };\n return TableDowCell;\n}(BaseComponent));\n\nvar NowTimer = /** @class */ (function (_super) {\n __extends(NowTimer, _super);\n function NowTimer(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this.initialNowDate = getNow(context.options.now, context.dateEnv);\n _this.initialNowQueriedMs = new Date().valueOf();\n _this.state = _this.computeTiming().currentState;\n return _this;\n }\n NowTimer.prototype.render = function () {\n var _a = this, props = _a.props, state = _a.state;\n return props.children(state.nowDate, state.todayRange);\n };\n NowTimer.prototype.componentDidMount = function () {\n this.setTimeout();\n };\n NowTimer.prototype.componentDidUpdate = function (prevProps) {\n if (prevProps.unit !== this.props.unit) {\n this.clearTimeout();\n this.setTimeout();\n }\n };\n NowTimer.prototype.componentWillUnmount = function () {\n this.clearTimeout();\n };\n NowTimer.prototype.computeTiming = function () {\n var _a = this, props = _a.props, context = _a.context;\n var unroundedNow = addMs(this.initialNowDate, new Date().valueOf() - this.initialNowQueriedMs);\n var currentUnitStart = context.dateEnv.startOf(unroundedNow, props.unit);\n var nextUnitStart = context.dateEnv.add(currentUnitStart, createDuration(1, props.unit));\n var waitMs = nextUnitStart.valueOf() - unroundedNow.valueOf();\n // there is a max setTimeout ms value (https://stackoverflow.com/a/3468650/96342)\n // ensure no longer than a day\n waitMs = Math.min(1000 * 60 * 60 * 24, waitMs);\n return {\n currentState: { nowDate: currentUnitStart, todayRange: buildDayRange(currentUnitStart) },\n nextState: { nowDate: nextUnitStart, todayRange: buildDayRange(nextUnitStart) },\n waitMs: waitMs,\n };\n };\n NowTimer.prototype.setTimeout = function () {\n var _this = this;\n var _a = this.computeTiming(), nextState = _a.nextState, waitMs = _a.waitMs;\n this.timeoutId = setTimeout(function () {\n _this.setState(nextState, function () {\n _this.setTimeout();\n });\n }, waitMs);\n };\n NowTimer.prototype.clearTimeout = function () {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n }\n };\n NowTimer.contextType = ViewContextType;\n return NowTimer;\n}(Component));\nfunction buildDayRange(date) {\n var start = startOfDay(date);\n var end = addDays(start, 1);\n return { start: start, end: end };\n}\n\nvar DayHeader = /** @class */ (function (_super) {\n __extends(DayHeader, _super);\n function DayHeader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.createDayHeaderFormatter = memoize(createDayHeaderFormatter);\n return _this;\n }\n DayHeader.prototype.render = function () {\n var context = this.context;\n var _a = this.props, dates = _a.dates, dateProfile = _a.dateProfile, datesRepDistinctDays = _a.datesRepDistinctDays, renderIntro = _a.renderIntro;\n var dayHeaderFormat = this.createDayHeaderFormatter(context.options.dayHeaderFormat, datesRepDistinctDays, dates.length);\n return (createElement(NowTimer, { unit: \"day\" }, function (nowDate, todayRange) { return (createElement(\"tr\", { role: \"row\" },\n renderIntro && renderIntro('day'),\n dates.map(function (date) { return (datesRepDistinctDays ? (createElement(TableDateCell, { key: date.toISOString(), date: date, dateProfile: dateProfile, todayRange: todayRange, colCnt: dates.length, dayHeaderFormat: dayHeaderFormat })) : (createElement(TableDowCell, { key: date.getUTCDay(), dow: date.getUTCDay(), dayHeaderFormat: dayHeaderFormat }))); }))); }));\n };\n return DayHeader;\n}(BaseComponent));\nfunction createDayHeaderFormatter(explicitFormat, datesRepDistinctDays, dateCnt) {\n return explicitFormat || computeFallbackHeaderFormat(datesRepDistinctDays, dateCnt);\n}\n\nvar DaySeriesModel = /** @class */ (function () {\n function DaySeriesModel(range, dateProfileGenerator) {\n var date = range.start;\n var end = range.end;\n var indices = [];\n var dates = [];\n var dayIndex = -1;\n while (date < end) { // loop each day from start to end\n if (dateProfileGenerator.isHiddenDay(date)) {\n indices.push(dayIndex + 0.5); // mark that it's between indices\n }\n else {\n dayIndex += 1;\n indices.push(dayIndex);\n dates.push(date);\n }\n date = addDays(date, 1);\n }\n this.dates = dates;\n this.indices = indices;\n this.cnt = dates.length;\n }\n DaySeriesModel.prototype.sliceRange = function (range) {\n var firstIndex = this.getDateDayIndex(range.start); // inclusive first index\n var lastIndex = this.getDateDayIndex(addDays(range.end, -1)); // inclusive last index\n var clippedFirstIndex = Math.max(0, firstIndex);\n var clippedLastIndex = Math.min(this.cnt - 1, lastIndex);\n // deal with in-between indices\n clippedFirstIndex = Math.ceil(clippedFirstIndex); // in-between starts round to next cell\n clippedLastIndex = Math.floor(clippedLastIndex); // in-between ends round to prev cell\n if (clippedFirstIndex <= clippedLastIndex) {\n return {\n firstIndex: clippedFirstIndex,\n lastIndex: clippedLastIndex,\n isStart: firstIndex === clippedFirstIndex,\n isEnd: lastIndex === clippedLastIndex,\n };\n }\n return null;\n };\n // Given a date, returns its chronolocial cell-index from the first cell of the grid.\n // If the date lies between cells (because of hiddenDays), returns a floating-point value between offsets.\n // If before the first offset, returns a negative number.\n // If after the last offset, returns an offset past the last cell offset.\n // Only works for *start* dates of cells. Will not work for exclusive end dates for cells.\n DaySeriesModel.prototype.getDateDayIndex = function (date) {\n var indices = this.indices;\n var dayOffset = Math.floor(diffDays(this.dates[0], date));\n if (dayOffset < 0) {\n return indices[0] - 1;\n }\n if (dayOffset >= indices.length) {\n return indices[indices.length - 1] + 1;\n }\n return indices[dayOffset];\n };\n return DaySeriesModel;\n}());\n\nvar DayTableModel = /** @class */ (function () {\n function DayTableModel(daySeries, breakOnWeeks) {\n var dates = daySeries.dates;\n var daysPerRow;\n var firstDay;\n var rowCnt;\n if (breakOnWeeks) {\n // count columns until the day-of-week repeats\n firstDay = dates[0].getUTCDay();\n for (daysPerRow = 1; daysPerRow < dates.length; daysPerRow += 1) {\n if (dates[daysPerRow].getUTCDay() === firstDay) {\n break;\n }\n }\n rowCnt = Math.ceil(dates.length / daysPerRow);\n }\n else {\n rowCnt = 1;\n daysPerRow = dates.length;\n }\n this.rowCnt = rowCnt;\n this.colCnt = daysPerRow;\n this.daySeries = daySeries;\n this.cells = this.buildCells();\n this.headerDates = this.buildHeaderDates();\n }\n DayTableModel.prototype.buildCells = function () {\n var rows = [];\n for (var row = 0; row < this.rowCnt; row += 1) {\n var cells = [];\n for (var col = 0; col < this.colCnt; col += 1) {\n cells.push(this.buildCell(row, col));\n }\n rows.push(cells);\n }\n return rows;\n };\n DayTableModel.prototype.buildCell = function (row, col) {\n var date = this.daySeries.dates[row * this.colCnt + col];\n return {\n key: date.toISOString(),\n date: date,\n };\n };\n DayTableModel.prototype.buildHeaderDates = function () {\n var dates = [];\n for (var col = 0; col < this.colCnt; col += 1) {\n dates.push(this.cells[0][col].date);\n }\n return dates;\n };\n DayTableModel.prototype.sliceRange = function (range) {\n var colCnt = this.colCnt;\n var seriesSeg = this.daySeries.sliceRange(range);\n var segs = [];\n if (seriesSeg) {\n var firstIndex = seriesSeg.firstIndex, lastIndex = seriesSeg.lastIndex;\n var index = firstIndex;\n while (index <= lastIndex) {\n var row = Math.floor(index / colCnt);\n var nextIndex = Math.min((row + 1) * colCnt, lastIndex + 1);\n segs.push({\n row: row,\n firstCol: index % colCnt,\n lastCol: (nextIndex - 1) % colCnt,\n isStart: seriesSeg.isStart && index === firstIndex,\n isEnd: seriesSeg.isEnd && (nextIndex - 1) === lastIndex,\n });\n index = nextIndex;\n }\n }\n return segs;\n };\n return DayTableModel;\n}());\n\nvar Slicer = /** @class */ (function () {\n function Slicer() {\n this.sliceBusinessHours = memoize(this._sliceBusinessHours);\n this.sliceDateSelection = memoize(this._sliceDateSpan);\n this.sliceEventStore = memoize(this._sliceEventStore);\n this.sliceEventDrag = memoize(this._sliceInteraction);\n this.sliceEventResize = memoize(this._sliceInteraction);\n this.forceDayIfListItem = false; // hack\n }\n Slicer.prototype.sliceProps = function (props, dateProfile, nextDayThreshold, context) {\n var extraArgs = [];\n for (var _i = 4; _i < arguments.length; _i++) {\n extraArgs[_i - 4] = arguments[_i];\n }\n var eventUiBases = props.eventUiBases;\n var eventSegs = this.sliceEventStore.apply(this, __spreadArray([props.eventStore, eventUiBases, dateProfile, nextDayThreshold], extraArgs));\n return {\n dateSelectionSegs: this.sliceDateSelection.apply(this, __spreadArray([props.dateSelection, eventUiBases, context], extraArgs)),\n businessHourSegs: this.sliceBusinessHours.apply(this, __spreadArray([props.businessHours, dateProfile, nextDayThreshold, context], extraArgs)),\n fgEventSegs: eventSegs.fg,\n bgEventSegs: eventSegs.bg,\n eventDrag: this.sliceEventDrag.apply(this, __spreadArray([props.eventDrag, eventUiBases, dateProfile, nextDayThreshold], extraArgs)),\n eventResize: this.sliceEventResize.apply(this, __spreadArray([props.eventResize, eventUiBases, dateProfile, nextDayThreshold], extraArgs)),\n eventSelection: props.eventSelection,\n }; // TODO: give interactionSegs?\n };\n Slicer.prototype.sliceNowDate = function (// does not memoize\n date, context) {\n var extraArgs = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n extraArgs[_i - 2] = arguments[_i];\n }\n return this._sliceDateSpan.apply(this, __spreadArray([{ range: { start: date, end: addMs(date, 1) }, allDay: false },\n {},\n context], extraArgs));\n };\n Slicer.prototype._sliceBusinessHours = function (businessHours, dateProfile, nextDayThreshold, context) {\n var extraArgs = [];\n for (var _i = 4; _i < arguments.length; _i++) {\n extraArgs[_i - 4] = arguments[_i];\n }\n if (!businessHours) {\n return [];\n }\n return this._sliceEventStore.apply(this, __spreadArray([expandRecurring(businessHours, computeActiveRange(dateProfile, Boolean(nextDayThreshold)), context),\n {},\n dateProfile,\n nextDayThreshold], extraArgs)).bg;\n };\n Slicer.prototype._sliceEventStore = function (eventStore, eventUiBases, dateProfile, nextDayThreshold) {\n var extraArgs = [];\n for (var _i = 4; _i < arguments.length; _i++) {\n extraArgs[_i - 4] = arguments[_i];\n }\n if (eventStore) {\n var rangeRes = sliceEventStore(eventStore, eventUiBases, computeActiveRange(dateProfile, Boolean(nextDayThreshold)), nextDayThreshold);\n return {\n bg: this.sliceEventRanges(rangeRes.bg, extraArgs),\n fg: this.sliceEventRanges(rangeRes.fg, extraArgs),\n };\n }\n return { bg: [], fg: [] };\n };\n Slicer.prototype._sliceInteraction = function (interaction, eventUiBases, dateProfile, nextDayThreshold) {\n var extraArgs = [];\n for (var _i = 4; _i < arguments.length; _i++) {\n extraArgs[_i - 4] = arguments[_i];\n }\n if (!interaction) {\n return null;\n }\n var rangeRes = sliceEventStore(interaction.mutatedEvents, eventUiBases, computeActiveRange(dateProfile, Boolean(nextDayThreshold)), nextDayThreshold);\n return {\n segs: this.sliceEventRanges(rangeRes.fg, extraArgs),\n affectedInstances: interaction.affectedEvents.instances,\n isEvent: interaction.isEvent,\n };\n };\n Slicer.prototype._sliceDateSpan = function (dateSpan, eventUiBases, context) {\n var extraArgs = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n extraArgs[_i - 3] = arguments[_i];\n }\n if (!dateSpan) {\n return [];\n }\n var eventRange = fabricateEventRange(dateSpan, eventUiBases, context);\n var segs = this.sliceRange.apply(this, __spreadArray([dateSpan.range], extraArgs));\n for (var _a = 0, segs_1 = segs; _a < segs_1.length; _a++) {\n var seg = segs_1[_a];\n seg.eventRange = eventRange;\n }\n return segs;\n };\n /*\n \"complete\" seg means it has component and eventRange\n */\n Slicer.prototype.sliceEventRanges = function (eventRanges, extraArgs) {\n var segs = [];\n for (var _i = 0, eventRanges_1 = eventRanges; _i < eventRanges_1.length; _i++) {\n var eventRange = eventRanges_1[_i];\n segs.push.apply(segs, this.sliceEventRange(eventRange, extraArgs));\n }\n return segs;\n };\n /*\n \"complete\" seg means it has component and eventRange\n */\n Slicer.prototype.sliceEventRange = function (eventRange, extraArgs) {\n var dateRange = eventRange.range;\n // hack to make multi-day events that are being force-displayed as list-items to take up only one day\n if (this.forceDayIfListItem && eventRange.ui.display === 'list-item') {\n dateRange = {\n start: dateRange.start,\n end: addDays(dateRange.start, 1),\n };\n }\n var segs = this.sliceRange.apply(this, __spreadArray([dateRange], extraArgs));\n for (var _i = 0, segs_2 = segs; _i < segs_2.length; _i++) {\n var seg = segs_2[_i];\n seg.eventRange = eventRange;\n seg.isStart = eventRange.isStart && seg.isStart;\n seg.isEnd = eventRange.isEnd && seg.isEnd;\n }\n return segs;\n };\n return Slicer;\n}());\n/*\nfor incorporating slotMinTime/slotMaxTime if appropriate\nTODO: should be part of DateProfile!\nTimelineDateProfile already does this btw\n*/\nfunction computeActiveRange(dateProfile, isComponentAllDay) {\n var range = dateProfile.activeRange;\n if (isComponentAllDay) {\n return range;\n }\n return {\n start: addMs(range.start, dateProfile.slotMinTime.milliseconds),\n end: addMs(range.end, dateProfile.slotMaxTime.milliseconds - 864e5), // 864e5 = ms in a day\n };\n}\n\n// high-level segmenting-aware tester functions\n// ------------------------------------------------------------------------------------------------------------------------\nfunction isInteractionValid(interaction, dateProfile, context) {\n var instances = interaction.mutatedEvents.instances;\n for (var instanceId in instances) {\n if (!rangeContainsRange(dateProfile.validRange, instances[instanceId].range)) {\n return false;\n }\n }\n return isNewPropsValid({ eventDrag: interaction }, context); // HACK: the eventDrag props is used for ALL interactions\n}\nfunction isDateSelectionValid(dateSelection, dateProfile, context) {\n if (!rangeContainsRange(dateProfile.validRange, dateSelection.range)) {\n return false;\n }\n return isNewPropsValid({ dateSelection: dateSelection }, context);\n}\nfunction isNewPropsValid(newProps, context) {\n var calendarState = context.getCurrentData();\n var props = __assign({ businessHours: calendarState.businessHours, dateSelection: '', eventStore: calendarState.eventStore, eventUiBases: calendarState.eventUiBases, eventSelection: '', eventDrag: null, eventResize: null }, newProps);\n return (context.pluginHooks.isPropsValid || isPropsValid)(props, context);\n}\nfunction isPropsValid(state, context, dateSpanMeta, filterConfig) {\n if (dateSpanMeta === void 0) { dateSpanMeta = {}; }\n if (state.eventDrag && !isInteractionPropsValid(state, context, dateSpanMeta, filterConfig)) {\n return false;\n }\n if (state.dateSelection && !isDateSelectionPropsValid(state, context, dateSpanMeta, filterConfig)) {\n return false;\n }\n return true;\n}\n// Moving Event Validation\n// ------------------------------------------------------------------------------------------------------------------------\nfunction isInteractionPropsValid(state, context, dateSpanMeta, filterConfig) {\n var currentState = context.getCurrentData();\n var interaction = state.eventDrag; // HACK: the eventDrag props is used for ALL interactions\n var subjectEventStore = interaction.mutatedEvents;\n var subjectDefs = subjectEventStore.defs;\n var subjectInstances = subjectEventStore.instances;\n var subjectConfigs = compileEventUis(subjectDefs, interaction.isEvent ?\n state.eventUiBases :\n { '': currentState.selectionConfig });\n if (filterConfig) {\n subjectConfigs = mapHash(subjectConfigs, filterConfig);\n }\n // exclude the subject events. TODO: exclude defs too?\n var otherEventStore = excludeInstances(state.eventStore, interaction.affectedEvents.instances);\n var otherDefs = otherEventStore.defs;\n var otherInstances = otherEventStore.instances;\n var otherConfigs = compileEventUis(otherDefs, state.eventUiBases);\n for (var subjectInstanceId in subjectInstances) {\n var subjectInstance = subjectInstances[subjectInstanceId];\n var subjectRange = subjectInstance.range;\n var subjectConfig = subjectConfigs[subjectInstance.defId];\n var subjectDef = subjectDefs[subjectInstance.defId];\n // constraint\n if (!allConstraintsPass(subjectConfig.constraints, subjectRange, otherEventStore, state.businessHours, context)) {\n return false;\n }\n // overlap\n var eventOverlap = context.options.eventOverlap;\n var eventOverlapFunc = typeof eventOverlap === 'function' ? eventOverlap : null;\n for (var otherInstanceId in otherInstances) {\n var otherInstance = otherInstances[otherInstanceId];\n // intersect! evaluate\n if (rangesIntersect(subjectRange, otherInstance.range)) {\n var otherOverlap = otherConfigs[otherInstance.defId].overlap;\n // consider the other event's overlap. only do this if the subject event is a \"real\" event\n if (otherOverlap === false && interaction.isEvent) {\n return false;\n }\n if (subjectConfig.overlap === false) {\n return false;\n }\n if (eventOverlapFunc && !eventOverlapFunc(new EventApi(context, otherDefs[otherInstance.defId], otherInstance), // still event\n new EventApi(context, subjectDef, subjectInstance))) {\n return false;\n }\n }\n }\n // allow (a function)\n var calendarEventStore = currentState.eventStore; // need global-to-calendar, not local to component (splittable)state\n for (var _i = 0, _a = subjectConfig.allows; _i < _a.length; _i++) {\n var subjectAllow = _a[_i];\n var subjectDateSpan = __assign(__assign({}, dateSpanMeta), { range: subjectInstance.range, allDay: subjectDef.allDay });\n var origDef = calendarEventStore.defs[subjectDef.defId];\n var origInstance = calendarEventStore.instances[subjectInstanceId];\n var eventApi = void 0;\n if (origDef) { // was previously in the calendar\n eventApi = new EventApi(context, origDef, origInstance);\n }\n else { // was an external event\n eventApi = new EventApi(context, subjectDef); // no instance, because had no dates\n }\n if (!subjectAllow(buildDateSpanApiWithContext(subjectDateSpan, context), eventApi)) {\n return false;\n }\n }\n }\n return true;\n}\n// Date Selection Validation\n// ------------------------------------------------------------------------------------------------------------------------\nfunction isDateSelectionPropsValid(state, context, dateSpanMeta, filterConfig) {\n var relevantEventStore = state.eventStore;\n var relevantDefs = relevantEventStore.defs;\n var relevantInstances = relevantEventStore.instances;\n var selection = state.dateSelection;\n var selectionRange = selection.range;\n var selectionConfig = context.getCurrentData().selectionConfig;\n if (filterConfig) {\n selectionConfig = filterConfig(selectionConfig);\n }\n // constraint\n if (!allConstraintsPass(selectionConfig.constraints, selectionRange, relevantEventStore, state.businessHours, context)) {\n return false;\n }\n // overlap\n var selectOverlap = context.options.selectOverlap;\n var selectOverlapFunc = typeof selectOverlap === 'function' ? selectOverlap : null;\n for (var relevantInstanceId in relevantInstances) {\n var relevantInstance = relevantInstances[relevantInstanceId];\n // intersect! evaluate\n if (rangesIntersect(selectionRange, relevantInstance.range)) {\n if (selectionConfig.overlap === false) {\n return false;\n }\n if (selectOverlapFunc && !selectOverlapFunc(new EventApi(context, relevantDefs[relevantInstance.defId], relevantInstance), null)) {\n return false;\n }\n }\n }\n // allow (a function)\n for (var _i = 0, _a = selectionConfig.allows; _i < _a.length; _i++) {\n var selectionAllow = _a[_i];\n var fullDateSpan = __assign(__assign({}, dateSpanMeta), selection);\n if (!selectionAllow(buildDateSpanApiWithContext(fullDateSpan, context), null)) {\n return false;\n }\n }\n return true;\n}\n// Constraint Utils\n// ------------------------------------------------------------------------------------------------------------------------\nfunction allConstraintsPass(constraints, subjectRange, otherEventStore, businessHoursUnexpanded, context) {\n for (var _i = 0, constraints_1 = constraints; _i < constraints_1.length; _i++) {\n var constraint = constraints_1[_i];\n if (!anyRangesContainRange(constraintToRanges(constraint, subjectRange, otherEventStore, businessHoursUnexpanded, context), subjectRange)) {\n return false;\n }\n }\n return true;\n}\nfunction constraintToRanges(constraint, subjectRange, // for expanding a recurring constraint, or expanding business hours\notherEventStore, // for if constraint is an even group ID\nbusinessHoursUnexpanded, // for if constraint is 'businessHours'\ncontext) {\n if (constraint === 'businessHours') {\n return eventStoreToRanges(expandRecurring(businessHoursUnexpanded, subjectRange, context));\n }\n if (typeof constraint === 'string') { // an group ID\n return eventStoreToRanges(filterEventStoreDefs(otherEventStore, function (eventDef) { return eventDef.groupId === constraint; }));\n }\n if (typeof constraint === 'object' && constraint) { // non-null object\n return eventStoreToRanges(expandRecurring(constraint, subjectRange, context));\n }\n return []; // if it's false\n}\n// TODO: move to event-store file?\nfunction eventStoreToRanges(eventStore) {\n var instances = eventStore.instances;\n var ranges = [];\n for (var instanceId in instances) {\n ranges.push(instances[instanceId].range);\n }\n return ranges;\n}\n// TODO: move to geom file?\nfunction anyRangesContainRange(outerRanges, innerRange) {\n for (var _i = 0, outerRanges_1 = outerRanges; _i < outerRanges_1.length; _i++) {\n var outerRange = outerRanges_1[_i];\n if (rangeContainsRange(outerRange, innerRange)) {\n return true;\n }\n }\n return false;\n}\n\nvar VISIBLE_HIDDEN_RE = /^(visible|hidden)$/;\nvar Scroller = /** @class */ (function (_super) {\n __extends(Scroller, _super);\n function Scroller() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.handleEl = function (el) {\n _this.el = el;\n setRef(_this.props.elRef, el);\n };\n return _this;\n }\n Scroller.prototype.render = function () {\n var props = this.props;\n var liquid = props.liquid, liquidIsAbsolute = props.liquidIsAbsolute;\n var isAbsolute = liquid && liquidIsAbsolute;\n var className = ['fc-scroller'];\n if (liquid) {\n if (liquidIsAbsolute) {\n className.push('fc-scroller-liquid-absolute');\n }\n else {\n className.push('fc-scroller-liquid');\n }\n }\n return (createElement(\"div\", { ref: this.handleEl, className: className.join(' '), style: {\n overflowX: props.overflowX,\n overflowY: props.overflowY,\n left: (isAbsolute && -(props.overcomeLeft || 0)) || '',\n right: (isAbsolute && -(props.overcomeRight || 0)) || '',\n bottom: (isAbsolute && -(props.overcomeBottom || 0)) || '',\n marginLeft: (!isAbsolute && -(props.overcomeLeft || 0)) || '',\n marginRight: (!isAbsolute && -(props.overcomeRight || 0)) || '',\n marginBottom: (!isAbsolute && -(props.overcomeBottom || 0)) || '',\n maxHeight: props.maxHeight || '',\n } }, props.children));\n };\n Scroller.prototype.needsXScrolling = function () {\n if (VISIBLE_HIDDEN_RE.test(this.props.overflowX)) {\n return false;\n }\n // testing scrollWidth>clientWidth is unreliable cross-browser when pixel heights aren't integers.\n // much more reliable to see if children are taller than the scroller, even tho doesn't account for\n // inner-child margins and absolute positioning\n var el = this.el;\n var realClientWidth = this.el.getBoundingClientRect().width - this.getYScrollbarWidth();\n var children = el.children;\n for (var i = 0; i < children.length; i += 1) {\n var childEl = children[i];\n if (childEl.getBoundingClientRect().width > realClientWidth) {\n return true;\n }\n }\n return false;\n };\n Scroller.prototype.needsYScrolling = function () {\n if (VISIBLE_HIDDEN_RE.test(this.props.overflowY)) {\n return false;\n }\n // testing scrollHeight>clientHeight is unreliable cross-browser when pixel heights aren't integers.\n // much more reliable to see if children are taller than the scroller, even tho doesn't account for\n // inner-child margins and absolute positioning\n var el = this.el;\n var realClientHeight = this.el.getBoundingClientRect().height - this.getXScrollbarWidth();\n var children = el.children;\n for (var i = 0; i < children.length; i += 1) {\n var childEl = children[i];\n if (childEl.getBoundingClientRect().height > realClientHeight) {\n return true;\n }\n }\n return false;\n };\n Scroller.prototype.getXScrollbarWidth = function () {\n if (VISIBLE_HIDDEN_RE.test(this.props.overflowX)) {\n return 0;\n }\n return this.el.offsetHeight - this.el.clientHeight; // only works because we guarantee no borders. TODO: add to CSS with important?\n };\n Scroller.prototype.getYScrollbarWidth = function () {\n if (VISIBLE_HIDDEN_RE.test(this.props.overflowY)) {\n return 0;\n }\n return this.el.offsetWidth - this.el.clientWidth; // only works because we guarantee no borders. TODO: add to CSS with important?\n };\n return Scroller;\n}(BaseComponent));\n\n/*\nTODO: somehow infer OtherArgs from masterCallback?\nTODO: infer RefType from masterCallback if provided\n*/\nvar RefMap = /** @class */ (function () {\n function RefMap(masterCallback) {\n var _this = this;\n this.masterCallback = masterCallback;\n this.currentMap = {};\n this.depths = {};\n this.callbackMap = {};\n this.handleValue = function (val, key) {\n var _a = _this, depths = _a.depths, currentMap = _a.currentMap;\n var removed = false;\n var added = false;\n if (val !== null) {\n // for bug... ACTUALLY: can probably do away with this now that callers don't share numeric indices anymore\n removed = (key in currentMap);\n currentMap[key] = val;\n depths[key] = (depths[key] || 0) + 1;\n added = true;\n }\n else {\n depths[key] -= 1;\n if (!depths[key]) {\n delete currentMap[key];\n delete _this.callbackMap[key];\n removed = true;\n }\n }\n if (_this.masterCallback) {\n if (removed) {\n _this.masterCallback(null, String(key));\n }\n if (added) {\n _this.masterCallback(val, String(key));\n }\n }\n };\n }\n RefMap.prototype.createRef = function (key) {\n var _this = this;\n var refCallback = this.callbackMap[key];\n if (!refCallback) {\n refCallback = this.callbackMap[key] = function (val) {\n _this.handleValue(val, String(key));\n };\n }\n return refCallback;\n };\n // TODO: check callers that don't care about order. should use getAll instead\n // NOTE: this method has become less valuable now that we are encouraged to map order by some other index\n // TODO: provide ONE array-export function, buildArray, which fails on non-numeric indexes. caller can manipulate and \"collect\"\n RefMap.prototype.collect = function (startIndex, endIndex, step) {\n return collectFromHash(this.currentMap, startIndex, endIndex, step);\n };\n RefMap.prototype.getAll = function () {\n return hashValuesToArray(this.currentMap);\n };\n return RefMap;\n}());\n\nfunction computeShrinkWidth(chunkEls) {\n var shrinkCells = findElements(chunkEls, '.fc-scrollgrid-shrink');\n var largestWidth = 0;\n for (var _i = 0, shrinkCells_1 = shrinkCells; _i < shrinkCells_1.length; _i++) {\n var shrinkCell = shrinkCells_1[_i];\n largestWidth = Math.max(largestWidth, computeSmallestCellWidth(shrinkCell));\n }\n return Math.ceil(largestWidth); // elements work best with integers. round up to ensure contents fits\n}\nfunction getSectionHasLiquidHeight(props, sectionConfig) {\n return props.liquid && sectionConfig.liquid; // does the section do liquid-height? (need to have whole scrollgrid liquid-height as well)\n}\nfunction getAllowYScrolling(props, sectionConfig) {\n return sectionConfig.maxHeight != null || // if its possible for the height to max out, we might need scrollbars\n getSectionHasLiquidHeight(props, sectionConfig); // if the section is liquid height, it might condense enough to require scrollbars\n}\n// TODO: ONLY use `arg`. force out internal function to use same API\nfunction renderChunkContent(sectionConfig, chunkConfig, arg, isHeader) {\n var expandRows = arg.expandRows;\n var content = typeof chunkConfig.content === 'function' ?\n chunkConfig.content(arg) :\n createElement('table', {\n role: 'presentation',\n className: [\n chunkConfig.tableClassName,\n sectionConfig.syncRowHeights ? 'fc-scrollgrid-sync-table' : '',\n ].join(' '),\n style: {\n minWidth: arg.tableMinWidth,\n width: arg.clientWidth,\n height: expandRows ? arg.clientHeight : '', // css `height` on a
    serves as a min-height\n },\n }, arg.tableColGroupNode, createElement(isHeader ? 'thead' : 'tbody', {\n role: 'presentation',\n }, typeof chunkConfig.rowContent === 'function'\n ? chunkConfig.rowContent(arg)\n : chunkConfig.rowContent));\n return content;\n}\nfunction isColPropsEqual(cols0, cols1) {\n return isArraysEqual(cols0, cols1, isPropsEqual);\n}\nfunction renderMicroColGroup(cols, shrinkWidth) {\n var colNodes = [];\n /*\n for ColProps with spans, it would have been great to make a single \n HOWEVER, Chrome was getting messing up distributing the width to elements makes Chrome behave.\n */\n for (var _i = 0, cols_1 = cols; _i < cols_1.length; _i++) {\n var colProps = cols_1[_i];\n var span = colProps.span || 1;\n for (var i = 0; i < span; i += 1) {\n colNodes.push(createElement(\"col\", { style: {\n width: colProps.width === 'shrink' ? sanitizeShrinkWidth(shrinkWidth) : (colProps.width || ''),\n minWidth: colProps.minWidth || '',\n } }));\n }\n }\n return createElement.apply(void 0, __spreadArray(['colgroup', {}], colNodes));\n}\nfunction sanitizeShrinkWidth(shrinkWidth) {\n /* why 4? if we do 0, it will kill any border, which are needed for computeSmallestCellWidth\n 4 accounts for 2 2-pixel borders. TODO: better solution? */\n return shrinkWidth == null ? 4 : shrinkWidth;\n}\nfunction hasShrinkWidth(cols) {\n for (var _i = 0, cols_2 = cols; _i < cols_2.length; _i++) {\n var col = cols_2[_i];\n if (col.width === 'shrink') {\n return true;\n }\n }\n return false;\n}\nfunction getScrollGridClassNames(liquid, context) {\n var classNames = [\n 'fc-scrollgrid',\n context.theme.getClass('table'),\n ];\n if (liquid) {\n classNames.push('fc-scrollgrid-liquid');\n }\n return classNames;\n}\nfunction getSectionClassNames(sectionConfig, wholeTableVGrow) {\n var classNames = [\n 'fc-scrollgrid-section',\n \"fc-scrollgrid-section-\" + sectionConfig.type,\n sectionConfig.className, // used?\n ];\n if (wholeTableVGrow && sectionConfig.liquid && sectionConfig.maxHeight == null) {\n classNames.push('fc-scrollgrid-section-liquid');\n }\n if (sectionConfig.isSticky) {\n classNames.push('fc-scrollgrid-section-sticky');\n }\n return classNames;\n}\nfunction renderScrollShim(arg) {\n return (createElement(\"div\", { className: \"fc-scrollgrid-sticky-shim\", style: {\n width: arg.clientWidth,\n minWidth: arg.tableMinWidth,\n } }));\n}\nfunction getStickyHeaderDates(options) {\n var stickyHeaderDates = options.stickyHeaderDates;\n if (stickyHeaderDates == null || stickyHeaderDates === 'auto') {\n stickyHeaderDates = options.height === 'auto' || options.viewHeight === 'auto';\n }\n return stickyHeaderDates;\n}\nfunction getStickyFooterScrollbar(options) {\n var stickyFooterScrollbar = options.stickyFooterScrollbar;\n if (stickyFooterScrollbar == null || stickyFooterScrollbar === 'auto') {\n stickyFooterScrollbar = options.height === 'auto' || options.viewHeight === 'auto';\n }\n return stickyFooterScrollbar;\n}\n\nvar SimpleScrollGrid = /** @class */ (function (_super) {\n __extends(SimpleScrollGrid, _super);\n function SimpleScrollGrid() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.processCols = memoize(function (a) { return a; }, isColPropsEqual); // so we get same `cols` props every time\n // yucky to memoize VNodes, but much more efficient for consumers\n _this.renderMicroColGroup = memoize(renderMicroColGroup);\n _this.scrollerRefs = new RefMap();\n _this.scrollerElRefs = new RefMap(_this._handleScrollerEl.bind(_this));\n _this.state = {\n shrinkWidth: null,\n forceYScrollbars: false,\n scrollerClientWidths: {},\n scrollerClientHeights: {},\n };\n // TODO: can do a really simple print-view. dont need to join rows\n _this.handleSizing = function () {\n _this.setState(__assign({ shrinkWidth: _this.computeShrinkWidth() }, _this.computeScrollerDims()));\n };\n return _this;\n }\n SimpleScrollGrid.prototype.render = function () {\n var _a = this, props = _a.props, state = _a.state, context = _a.context;\n var sectionConfigs = props.sections || [];\n var cols = this.processCols(props.cols);\n var microColGroupNode = this.renderMicroColGroup(cols, state.shrinkWidth);\n var classNames = getScrollGridClassNames(props.liquid, context);\n if (props.collapsibleWidth) {\n classNames.push('fc-scrollgrid-collapsible');\n }\n // TODO: make DRY\n var configCnt = sectionConfigs.length;\n var configI = 0;\n var currentConfig;\n var headSectionNodes = [];\n var bodySectionNodes = [];\n var footSectionNodes = [];\n while (configI < configCnt && (currentConfig = sectionConfigs[configI]).type === 'header') {\n headSectionNodes.push(this.renderSection(currentConfig, microColGroupNode, true));\n configI += 1;\n }\n while (configI < configCnt && (currentConfig = sectionConfigs[configI]).type === 'body') {\n bodySectionNodes.push(this.renderSection(currentConfig, microColGroupNode, false));\n configI += 1;\n }\n while (configI < configCnt && (currentConfig = sectionConfigs[configI]).type === 'footer') {\n footSectionNodes.push(this.renderSection(currentConfig, microColGroupNode, true));\n configI += 1;\n }\n // firefox bug: when setting height on table and there is a thead or tfoot,\n // the necessary height:100% on the liquid-height body section forces the *whole* table to be taller. (bug #5524)\n // use getCanVGrowWithinCell as a way to detect table-stupid firefox.\n // if so, use a simpler dom structure, jam everything into a lone tbody.\n var isBuggy = !getCanVGrowWithinCell();\n var roleAttrs = { role: 'rowgroup' };\n return createElement('table', {\n role: 'grid',\n className: classNames.join(' '),\n style: { height: props.height },\n }, Boolean(!isBuggy && headSectionNodes.length) && createElement.apply(void 0, __spreadArray(['thead', roleAttrs], headSectionNodes)), Boolean(!isBuggy && bodySectionNodes.length) && createElement.apply(void 0, __spreadArray(['tbody', roleAttrs], bodySectionNodes)), Boolean(!isBuggy && footSectionNodes.length) && createElement.apply(void 0, __spreadArray(['tfoot', roleAttrs], footSectionNodes)), isBuggy && createElement.apply(void 0, __spreadArray(__spreadArray(__spreadArray(['tbody', roleAttrs], headSectionNodes), bodySectionNodes), footSectionNodes)));\n };\n SimpleScrollGrid.prototype.renderSection = function (sectionConfig, microColGroupNode, isHeader) {\n if ('outerContent' in sectionConfig) {\n return (createElement(Fragment, { key: sectionConfig.key }, sectionConfig.outerContent));\n }\n return (createElement(\"tr\", { key: sectionConfig.key, role: \"presentation\", className: getSectionClassNames(sectionConfig, this.props.liquid).join(' ') }, this.renderChunkTd(sectionConfig, microColGroupNode, sectionConfig.chunk, isHeader)));\n };\n SimpleScrollGrid.prototype.renderChunkTd = function (sectionConfig, microColGroupNode, chunkConfig, isHeader) {\n if ('outerContent' in chunkConfig) {\n return chunkConfig.outerContent;\n }\n var props = this.props;\n var _a = this.state, forceYScrollbars = _a.forceYScrollbars, scrollerClientWidths = _a.scrollerClientWidths, scrollerClientHeights = _a.scrollerClientHeights;\n var needsYScrolling = getAllowYScrolling(props, sectionConfig); // TODO: do lazily. do in section config?\n var isLiquid = getSectionHasLiquidHeight(props, sectionConfig);\n // for `!props.liquid` - is WHOLE scrollgrid natural height?\n // TODO: do same thing in advanced scrollgrid? prolly not b/c always has horizontal scrollbars\n var overflowY = !props.liquid ? 'visible' :\n forceYScrollbars ? 'scroll' :\n !needsYScrolling ? 'hidden' :\n 'auto';\n var sectionKey = sectionConfig.key;\n var content = renderChunkContent(sectionConfig, chunkConfig, {\n tableColGroupNode: microColGroupNode,\n tableMinWidth: '',\n clientWidth: (!props.collapsibleWidth && scrollerClientWidths[sectionKey] !== undefined) ? scrollerClientWidths[sectionKey] : null,\n clientHeight: scrollerClientHeights[sectionKey] !== undefined ? scrollerClientHeights[sectionKey] : null,\n expandRows: sectionConfig.expandRows,\n syncRowHeights: false,\n rowSyncHeights: [],\n reportRowHeightChange: function () { },\n }, isHeader);\n return createElement(isHeader ? 'th' : 'td', {\n ref: chunkConfig.elRef,\n role: 'presentation',\n }, createElement(\"div\", { className: \"fc-scroller-harness\" + (isLiquid ? ' fc-scroller-harness-liquid' : '') },\n createElement(Scroller, { ref: this.scrollerRefs.createRef(sectionKey), elRef: this.scrollerElRefs.createRef(sectionKey), overflowY: overflowY, overflowX: !props.liquid ? 'visible' : 'hidden' /* natural height? */, maxHeight: sectionConfig.maxHeight, liquid: isLiquid, liquidIsAbsolute // because its within a harness\n : true }, content)));\n };\n SimpleScrollGrid.prototype._handleScrollerEl = function (scrollerEl, key) {\n var section = getSectionByKey(this.props.sections, key);\n if (section) {\n setRef(section.chunk.scrollerElRef, scrollerEl);\n }\n };\n SimpleScrollGrid.prototype.componentDidMount = function () {\n this.handleSizing();\n this.context.addResizeHandler(this.handleSizing);\n };\n SimpleScrollGrid.prototype.componentDidUpdate = function () {\n // TODO: need better solution when state contains non-sizing things\n this.handleSizing();\n };\n SimpleScrollGrid.prototype.componentWillUnmount = function () {\n this.context.removeResizeHandler(this.handleSizing);\n };\n SimpleScrollGrid.prototype.computeShrinkWidth = function () {\n return hasShrinkWidth(this.props.cols)\n ? computeShrinkWidth(this.scrollerElRefs.getAll())\n : 0;\n };\n SimpleScrollGrid.prototype.computeScrollerDims = function () {\n var scrollbarWidth = getScrollbarWidths();\n var _a = this, scrollerRefs = _a.scrollerRefs, scrollerElRefs = _a.scrollerElRefs;\n var forceYScrollbars = false;\n var scrollerClientWidths = {};\n var scrollerClientHeights = {};\n for (var sectionKey in scrollerRefs.currentMap) {\n var scroller = scrollerRefs.currentMap[sectionKey];\n if (scroller && scroller.needsYScrolling()) {\n forceYScrollbars = true;\n break;\n }\n }\n for (var _i = 0, _b = this.props.sections; _i < _b.length; _i++) {\n var section = _b[_i];\n var sectionKey = section.key;\n var scrollerEl = scrollerElRefs.currentMap[sectionKey];\n if (scrollerEl) {\n var harnessEl = scrollerEl.parentNode; // TODO: weird way to get this. need harness b/c doesn't include table borders\n scrollerClientWidths[sectionKey] = Math.floor(harnessEl.getBoundingClientRect().width - (forceYScrollbars\n ? scrollbarWidth.y // use global because scroller might not have scrollbars yet but will need them in future\n : 0));\n scrollerClientHeights[sectionKey] = Math.floor(harnessEl.getBoundingClientRect().height);\n }\n }\n return { forceYScrollbars: forceYScrollbars, scrollerClientWidths: scrollerClientWidths, scrollerClientHeights: scrollerClientHeights };\n };\n return SimpleScrollGrid;\n}(BaseComponent));\nSimpleScrollGrid.addStateEquality({\n scrollerClientWidths: isPropsEqual,\n scrollerClientHeights: isPropsEqual,\n});\nfunction getSectionByKey(sections, key) {\n for (var _i = 0, sections_1 = sections; _i < sections_1.length; _i++) {\n var section = sections_1[_i];\n if (section.key === key) {\n return section;\n }\n }\n return null;\n}\n\nvar EventRoot = /** @class */ (function (_super) {\n __extends(EventRoot, _super);\n function EventRoot() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.elRef = createRef();\n return _this;\n }\n EventRoot.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n var options = context.options;\n var seg = props.seg;\n var eventRange = seg.eventRange;\n var ui = eventRange.ui;\n var hookProps = {\n event: new EventApi(context, eventRange.def, eventRange.instance),\n view: context.viewApi,\n timeText: props.timeText,\n textColor: ui.textColor,\n backgroundColor: ui.backgroundColor,\n borderColor: ui.borderColor,\n isDraggable: !props.disableDragging && computeSegDraggable(seg, context),\n isStartResizable: !props.disableResizing && computeSegStartResizable(seg, context),\n isEndResizable: !props.disableResizing && computeSegEndResizable(seg),\n isMirror: Boolean(props.isDragging || props.isResizing || props.isDateSelecting),\n isStart: Boolean(seg.isStart),\n isEnd: Boolean(seg.isEnd),\n isPast: Boolean(props.isPast),\n isFuture: Boolean(props.isFuture),\n isToday: Boolean(props.isToday),\n isSelected: Boolean(props.isSelected),\n isDragging: Boolean(props.isDragging),\n isResizing: Boolean(props.isResizing),\n };\n var standardClassNames = getEventClassNames(hookProps).concat(ui.classNames);\n return (createElement(RenderHook, { hookProps: hookProps, classNames: options.eventClassNames, content: options.eventContent, defaultContent: props.defaultContent, didMount: options.eventDidMount, willUnmount: options.eventWillUnmount, elRef: this.elRef }, function (rootElRef, customClassNames, innerElRef, innerContent) { return props.children(rootElRef, standardClassNames.concat(customClassNames), innerElRef, innerContent, hookProps); }));\n };\n EventRoot.prototype.componentDidMount = function () {\n setElSeg(this.elRef.current, this.props.seg);\n };\n /*\n need to re-assign seg to the element if seg changes, even if the element is the same\n */\n EventRoot.prototype.componentDidUpdate = function (prevProps) {\n var seg = this.props.seg;\n if (seg !== prevProps.seg) {\n setElSeg(this.elRef.current, seg);\n }\n };\n return EventRoot;\n}(BaseComponent));\n\n// should not be a purecomponent\nvar StandardEvent = /** @class */ (function (_super) {\n __extends(StandardEvent, _super);\n function StandardEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StandardEvent.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n var seg = props.seg;\n var timeFormat = context.options.eventTimeFormat || props.defaultTimeFormat;\n var timeText = buildSegTimeText(seg, timeFormat, context, props.defaultDisplayEventTime, props.defaultDisplayEventEnd);\n return (createElement(EventRoot, { seg: seg, timeText: timeText, disableDragging: props.disableDragging, disableResizing: props.disableResizing, defaultContent: props.defaultContent || renderInnerContent$1, isDragging: props.isDragging, isResizing: props.isResizing, isDateSelecting: props.isDateSelecting, isSelected: props.isSelected, isPast: props.isPast, isFuture: props.isFuture, isToday: props.isToday }, function (rootElRef, classNames, innerElRef, innerContent, hookProps) { return (createElement(\"a\", __assign({ className: props.extraClassNames.concat(classNames).join(' '), style: {\n borderColor: hookProps.borderColor,\n backgroundColor: hookProps.backgroundColor,\n }, ref: rootElRef }, getSegAnchorAttrs(seg, context)),\n createElement(\"div\", { className: \"fc-event-main\", ref: innerElRef, style: { color: hookProps.textColor } }, innerContent),\n hookProps.isStartResizable &&\n createElement(\"div\", { className: \"fc-event-resizer fc-event-resizer-start\" }),\n hookProps.isEndResizable &&\n createElement(\"div\", { className: \"fc-event-resizer fc-event-resizer-end\" }))); }));\n };\n return StandardEvent;\n}(BaseComponent));\nfunction renderInnerContent$1(innerProps) {\n return (createElement(\"div\", { className: \"fc-event-main-frame\" },\n innerProps.timeText && (createElement(\"div\", { className: \"fc-event-time\" }, innerProps.timeText)),\n createElement(\"div\", { className: \"fc-event-title-container\" },\n createElement(\"div\", { className: \"fc-event-title fc-sticky\" }, innerProps.event.title || createElement(Fragment, null, \"\\u00A0\")))));\n}\n\nvar NowIndicatorRoot = function (props) { return (createElement(ViewContextType.Consumer, null, function (context) {\n var options = context.options;\n var hookProps = {\n isAxis: props.isAxis,\n date: context.dateEnv.toDate(props.date),\n view: context.viewApi,\n };\n return (createElement(RenderHook, { hookProps: hookProps, classNames: options.nowIndicatorClassNames, content: options.nowIndicatorContent, didMount: options.nowIndicatorDidMount, willUnmount: options.nowIndicatorWillUnmount }, props.children));\n})); };\n\nvar DAY_NUM_FORMAT = createFormatter({ day: 'numeric' });\nvar DayCellContent = /** @class */ (function (_super) {\n __extends(DayCellContent, _super);\n function DayCellContent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DayCellContent.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n var options = context.options;\n var hookProps = refineDayCellHookProps({\n date: props.date,\n dateProfile: props.dateProfile,\n todayRange: props.todayRange,\n showDayNumber: props.showDayNumber,\n extraProps: props.extraHookProps,\n viewApi: context.viewApi,\n dateEnv: context.dateEnv,\n });\n return (createElement(ContentHook, { hookProps: hookProps, content: options.dayCellContent, defaultContent: props.defaultContent }, props.children));\n };\n return DayCellContent;\n}(BaseComponent));\nfunction refineDayCellHookProps(raw) {\n var date = raw.date, dateEnv = raw.dateEnv;\n var dayMeta = getDateMeta(date, raw.todayRange, null, raw.dateProfile);\n return __assign(__assign(__assign({ date: dateEnv.toDate(date), view: raw.viewApi }, dayMeta), { dayNumberText: raw.showDayNumber ? dateEnv.format(date, DAY_NUM_FORMAT) : '' }), raw.extraProps);\n}\n\nvar DayCellRoot = /** @class */ (function (_super) {\n __extends(DayCellRoot, _super);\n function DayCellRoot() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.refineHookProps = memoizeObjArg(refineDayCellHookProps);\n _this.normalizeClassNames = buildClassNameNormalizer();\n return _this;\n }\n DayCellRoot.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n var options = context.options;\n var hookProps = this.refineHookProps({\n date: props.date,\n dateProfile: props.dateProfile,\n todayRange: props.todayRange,\n showDayNumber: props.showDayNumber,\n extraProps: props.extraHookProps,\n viewApi: context.viewApi,\n dateEnv: context.dateEnv,\n });\n var classNames = getDayClassNames(hookProps, context.theme).concat(hookProps.isDisabled\n ? [] // don't use custom classNames if disabled\n : this.normalizeClassNames(options.dayCellClassNames, hookProps));\n var dataAttrs = hookProps.isDisabled ? {} : {\n 'data-date': formatDayString(props.date),\n };\n return (createElement(MountHook, { hookProps: hookProps, didMount: options.dayCellDidMount, willUnmount: options.dayCellWillUnmount, elRef: props.elRef }, function (rootElRef) { return props.children(rootElRef, classNames, dataAttrs, hookProps.isDisabled); }));\n };\n return DayCellRoot;\n}(BaseComponent));\n\nfunction renderFill(fillType) {\n return (createElement(\"div\", { className: \"fc-\" + fillType }));\n}\nvar BgEvent = function (props) { return (createElement(EventRoot, { defaultContent: renderInnerContent, seg: props.seg /* uselesss i think */, timeText: \"\", disableDragging: true, disableResizing: true, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: false, isPast: props.isPast, isFuture: props.isFuture, isToday: props.isToday }, function (rootElRef, classNames, innerElRef, innerContent, hookProps) { return (createElement(\"div\", { ref: rootElRef, className: ['fc-bg-event'].concat(classNames).join(' '), style: {\n backgroundColor: hookProps.backgroundColor,\n } }, innerContent)); })); };\nfunction renderInnerContent(props) {\n var title = props.event.title;\n return title && (createElement(\"div\", { className: \"fc-event-title\" }, props.event.title));\n}\n\nvar WeekNumberRoot = function (props) { return (createElement(ViewContextType.Consumer, null, function (context) {\n var dateEnv = context.dateEnv, options = context.options;\n var date = props.date;\n var format = options.weekNumberFormat || props.defaultFormat;\n var num = dateEnv.computeWeekNumber(date); // TODO: somehow use for formatting as well?\n var text = dateEnv.format(date, format);\n var hookProps = { num: num, text: text, date: date };\n return (createElement(RenderHook, { hookProps: hookProps, classNames: options.weekNumberClassNames, content: options.weekNumberContent, defaultContent: renderInner, didMount: options.weekNumberDidMount, willUnmount: options.weekNumberWillUnmount }, props.children));\n})); };\nfunction renderInner(innerProps) {\n return innerProps.text;\n}\n\nvar PADDING_FROM_VIEWPORT = 10;\nvar Popover = /** @class */ (function (_super) {\n __extends(Popover, _super);\n function Popover() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n titleId: getUniqueDomId(),\n };\n _this.handleRootEl = function (el) {\n _this.rootEl = el;\n if (_this.props.elRef) {\n setRef(_this.props.elRef, el);\n }\n };\n // Triggered when the user clicks *anywhere* in the document, for the autoHide feature\n _this.handleDocumentMouseDown = function (ev) {\n // only hide the popover if the click happened outside the popover\n var target = getEventTargetViaRoot(ev);\n if (!_this.rootEl.contains(target)) {\n _this.handleCloseClick();\n }\n };\n _this.handleDocumentKeyDown = function (ev) {\n if (ev.key === 'Escape') {\n _this.handleCloseClick();\n }\n };\n _this.handleCloseClick = function () {\n var onClose = _this.props.onClose;\n if (onClose) {\n onClose();\n }\n };\n return _this;\n }\n Popover.prototype.render = function () {\n var _a = this.context, theme = _a.theme, options = _a.options;\n var _b = this, props = _b.props, state = _b.state;\n var classNames = [\n 'fc-popover',\n theme.getClass('popover'),\n ].concat(props.extraClassNames || []);\n return createPortal(createElement(\"div\", __assign({ id: props.id, className: classNames.join(' '), \"aria-labelledby\": state.titleId }, props.extraAttrs, { ref: this.handleRootEl }),\n createElement(\"div\", { className: 'fc-popover-header ' + theme.getClass('popoverHeader') },\n createElement(\"span\", { className: \"fc-popover-title\", id: state.titleId }, props.title),\n createElement(\"span\", { className: 'fc-popover-close ' + theme.getIconClass('close'), title: options.closeHint, onClick: this.handleCloseClick })),\n createElement(\"div\", { className: 'fc-popover-body ' + theme.getClass('popoverContent') }, props.children)), props.parentEl);\n };\n Popover.prototype.componentDidMount = function () {\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n this.updateSize();\n };\n Popover.prototype.componentWillUnmount = function () {\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n };\n Popover.prototype.updateSize = function () {\n var isRtl = this.context.isRtl;\n var _a = this.props, alignmentEl = _a.alignmentEl, alignGridTop = _a.alignGridTop;\n var rootEl = this.rootEl;\n var alignmentRect = computeClippedClientRect(alignmentEl);\n if (alignmentRect) {\n var popoverDims = rootEl.getBoundingClientRect();\n // position relative to viewport\n var popoverTop = alignGridTop\n ? elementClosest(alignmentEl, '.fc-scrollgrid').getBoundingClientRect().top\n : alignmentRect.top;\n var popoverLeft = isRtl ? alignmentRect.right - popoverDims.width : alignmentRect.left;\n // constrain\n popoverTop = Math.max(popoverTop, PADDING_FROM_VIEWPORT);\n popoverLeft = Math.min(popoverLeft, document.documentElement.clientWidth - PADDING_FROM_VIEWPORT - popoverDims.width);\n popoverLeft = Math.max(popoverLeft, PADDING_FROM_VIEWPORT);\n var origin_1 = rootEl.offsetParent.getBoundingClientRect();\n applyStyle(rootEl, {\n top: popoverTop - origin_1.top,\n left: popoverLeft - origin_1.left,\n });\n }\n };\n return Popover;\n}(BaseComponent));\n\nvar MorePopover = /** @class */ (function (_super) {\n __extends(MorePopover, _super);\n function MorePopover() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.handleRootEl = function (rootEl) {\n _this.rootEl = rootEl;\n if (rootEl) {\n _this.context.registerInteractiveComponent(_this, {\n el: rootEl,\n useEventCenter: false,\n });\n }\n else {\n _this.context.unregisterInteractiveComponent(_this);\n }\n };\n return _this;\n }\n MorePopover.prototype.render = function () {\n var _a = this.context, options = _a.options, dateEnv = _a.dateEnv;\n var props = this.props;\n var startDate = props.startDate, todayRange = props.todayRange, dateProfile = props.dateProfile;\n var title = dateEnv.format(startDate, options.dayPopoverFormat);\n return (createElement(DayCellRoot, { date: startDate, dateProfile: dateProfile, todayRange: todayRange, elRef: this.handleRootEl }, function (rootElRef, dayClassNames, dataAttrs) { return (createElement(Popover, { elRef: rootElRef, id: props.id, title: title, extraClassNames: ['fc-more-popover'].concat(dayClassNames), extraAttrs: dataAttrs /* TODO: make these time-based when not whole-day? */, parentEl: props.parentEl, alignmentEl: props.alignmentEl, alignGridTop: props.alignGridTop, onClose: props.onClose },\n createElement(DayCellContent, { date: startDate, dateProfile: dateProfile, todayRange: todayRange }, function (innerElRef, innerContent) { return (innerContent &&\n createElement(\"div\", { className: \"fc-more-popover-misc\", ref: innerElRef }, innerContent)); }),\n props.children)); }));\n };\n MorePopover.prototype.queryHit = function (positionLeft, positionTop, elWidth, elHeight) {\n var _a = this, rootEl = _a.rootEl, props = _a.props;\n if (positionLeft >= 0 && positionLeft < elWidth &&\n positionTop >= 0 && positionTop < elHeight) {\n return {\n dateProfile: props.dateProfile,\n dateSpan: __assign({ allDay: true, range: {\n start: props.startDate,\n end: props.endDate,\n } }, props.extraDateSpan),\n dayEl: rootEl,\n rect: {\n left: 0,\n top: 0,\n right: elWidth,\n bottom: elHeight,\n },\n layer: 1, // important when comparing with hits from other components\n };\n }\n return null;\n };\n return MorePopover;\n}(DateComponent));\n\nvar MoreLinkRoot = /** @class */ (function (_super) {\n __extends(MoreLinkRoot, _super);\n function MoreLinkRoot() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.linkElRef = createRef();\n _this.state = {\n isPopoverOpen: false,\n popoverId: getUniqueDomId(),\n };\n _this.handleClick = function (ev) {\n var _a = _this, props = _a.props, context = _a.context;\n var moreLinkClick = context.options.moreLinkClick;\n var date = computeRange(props).start;\n function buildPublicSeg(seg) {\n var _a = seg.eventRange, def = _a.def, instance = _a.instance, range = _a.range;\n return {\n event: new EventApi(context, def, instance),\n start: context.dateEnv.toDate(range.start),\n end: context.dateEnv.toDate(range.end),\n isStart: seg.isStart,\n isEnd: seg.isEnd,\n };\n }\n if (typeof moreLinkClick === 'function') {\n moreLinkClick = moreLinkClick({\n date: date,\n allDay: Boolean(props.allDayDate),\n allSegs: props.allSegs.map(buildPublicSeg),\n hiddenSegs: props.hiddenSegs.map(buildPublicSeg),\n jsEvent: ev,\n view: context.viewApi,\n });\n }\n if (!moreLinkClick || moreLinkClick === 'popover') {\n _this.setState({ isPopoverOpen: true });\n }\n else if (typeof moreLinkClick === 'string') { // a view name\n context.calendarApi.zoomTo(date, moreLinkClick);\n }\n };\n _this.handlePopoverClose = function () {\n _this.setState({ isPopoverOpen: false });\n };\n return _this;\n }\n MoreLinkRoot.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, state = _a.state;\n return (createElement(ViewContextType.Consumer, null, function (context) {\n var viewApi = context.viewApi, options = context.options, calendarApi = context.calendarApi;\n var moreLinkText = options.moreLinkText;\n var moreCnt = props.moreCnt;\n var range = computeRange(props);\n var text = typeof moreLinkText === 'function' // TODO: eventually use formatWithOrdinals\n ? moreLinkText.call(calendarApi, moreCnt)\n : \"+\" + moreCnt + \" \" + moreLinkText;\n var title = formatWithOrdinals(options.moreLinkHint, [moreCnt], text);\n var hookProps = {\n num: moreCnt,\n shortText: \"+\" + moreCnt,\n text: text,\n view: viewApi,\n };\n return (createElement(Fragment, null,\n Boolean(props.moreCnt) && (createElement(RenderHook, { elRef: _this.linkElRef, hookProps: hookProps, classNames: options.moreLinkClassNames, content: options.moreLinkContent, defaultContent: props.defaultContent || renderMoreLinkInner, didMount: options.moreLinkDidMount, willUnmount: options.moreLinkWillUnmount }, function (rootElRef, customClassNames, innerElRef, innerContent) { return props.children(rootElRef, ['fc-more-link'].concat(customClassNames), innerElRef, innerContent, _this.handleClick, title, state.isPopoverOpen, state.isPopoverOpen ? state.popoverId : ''); })),\n state.isPopoverOpen && (createElement(MorePopover, { id: state.popoverId, startDate: range.start, endDate: range.end, dateProfile: props.dateProfile, todayRange: props.todayRange, extraDateSpan: props.extraDateSpan, parentEl: _this.parentEl, alignmentEl: props.alignmentElRef.current, alignGridTop: props.alignGridTop, onClose: _this.handlePopoverClose }, props.popoverContent()))));\n }));\n };\n MoreLinkRoot.prototype.componentDidMount = function () {\n this.updateParentEl();\n };\n MoreLinkRoot.prototype.componentDidUpdate = function () {\n this.updateParentEl();\n };\n MoreLinkRoot.prototype.updateParentEl = function () {\n if (this.linkElRef.current) {\n this.parentEl = elementClosest(this.linkElRef.current, '.fc-view-harness');\n }\n };\n return MoreLinkRoot;\n}(BaseComponent));\nfunction renderMoreLinkInner(props) {\n return props.text;\n}\nfunction computeRange(props) {\n if (props.allDayDate) {\n return {\n start: props.allDayDate,\n end: addDays(props.allDayDate, 1),\n };\n }\n var hiddenSegs = props.hiddenSegs;\n return {\n start: computeEarliestSegStart(hiddenSegs),\n end: computeLatestSegEnd(hiddenSegs),\n };\n}\nfunction computeEarliestSegStart(segs) {\n return segs.reduce(pickEarliestStart).eventRange.range.start;\n}\nfunction pickEarliestStart(seg0, seg1) {\n return seg0.eventRange.range.start < seg1.eventRange.range.start ? seg0 : seg1;\n}\nfunction computeLatestSegEnd(segs) {\n return segs.reduce(pickLatestEnd).eventRange.range.end;\n}\nfunction pickLatestEnd(seg0, seg1) {\n return seg0.eventRange.range.end > seg1.eventRange.range.end ? seg0 : seg1;\n}\n\n// exports\n// --------------------------------------------------------------------------------------------------\nvar version = '5.10.1'; // important to type it, so .d.ts has generic string\n\nexport { BASE_OPTION_DEFAULTS, BASE_OPTION_REFINERS, BaseComponent, BgEvent, CalendarApi, CalendarContent, CalendarDataManager, CalendarDataProvider, CalendarRoot, ContentHook, CustomContentRenderContext, DateComponent, DateEnv, DateProfileGenerator, DayCellContent, DayCellRoot, DayHeader, DaySeriesModel, DayTableModel, DelayedRunner, ElementDragging, ElementScrollController, Emitter, EventApi, EventRoot, EventSourceApi, Interaction, MoreLinkRoot, MountHook, NamedTimeZoneImpl, NowIndicatorRoot, NowTimer, PositionCache, RefMap, RenderHook, ScrollController, ScrollResponder, Scroller, SegHierarchy, SimpleScrollGrid, Slicer, Splitter, StandardEvent, TableDateCell, TableDowCell, Theme, ViewApi, ViewContextType, ViewRoot, WeekNumberRoot, WindowScrollController, addDays, addDurations, addMs, addWeeks, allowContextMenu, allowSelection, applyMutationToEventStore, applyStyle, applyStyleProp, asCleanDays, asRoughMinutes, asRoughMs, asRoughSeconds, binarySearch, buildClassNameNormalizer, buildEntryKey, buildEventApis, buildEventRangeKey, buildHashFromArray, buildIsoString, buildNavLinkAttrs, buildSegCompareObj, buildSegTimeText, collectFromHash, combineEventUis, compareByFieldSpec, compareByFieldSpecs, compareNumbers, compareObjs, computeEarliestSegStart, computeEdges, computeFallbackHeaderFormat, computeHeightAndMargins, computeInnerRect, computeRect, computeSegDraggable, computeSegEndResizable, computeSegStartResizable, computeShrinkWidth, computeSmallestCellWidth, computeVisibleDayRange, config, constrainPoint, createAriaClickAttrs, createDuration, createEmptyEventStore, createEventInstance, createEventUi, createFormatter, createPlugin, diffDates, diffDayAndTime, diffDays, diffPoints, diffWeeks, diffWholeDays, diffWholeWeeks, disableCursor, elementClosest, elementMatches, enableCursor, eventTupleToStore, filterEventStoreDefs, filterHash, findDirectChildren, findElements, flexibleCompare, formatDate, formatDayString, formatIsoTimeString, formatRange, getAllowYScrolling, getCanVGrowWithinCell, getClippingParents, getDateMeta, getDayClassNames, getDefaultEventEnd, getElRoot, getElSeg, getEntrySpanEnd, getEventClassNames, getEventTargetViaRoot, getIsRtlScrollbarOnLeft, getRectCenter, getRelevantEvents, getScrollGridClassNames, getScrollbarWidths, getSectionClassNames, getSectionHasLiquidHeight, getSegAnchorAttrs, getSegMeta, getSlotClassNames, getStickyFooterScrollbar, getStickyHeaderDates, getUnequalProps, getUniqueDomId, globalLocales, globalPlugins, greatestDurationDenominator, groupIntersectingEntries, guid, hasBgRendering, hasShrinkWidth, identity, interactionSettingsStore, interactionSettingsToStore, intersectRanges, intersectRects, intersectSpans, isArraysEqual, isColPropsEqual, isDateSelectionValid, isDateSpansEqual, isInt, isInteractionValid, isMultiDayRange, isPropsEqual, isPropsValid, isValidDate, joinSpans, listenBySelector, mapHash, memoize, memoizeArraylike, memoizeHashlike, memoizeObjArg, mergeEventStores, multiplyDuration, padStart, parseBusinessHours, parseClassNames, parseDragMeta, parseEventDef, parseFieldSpecs, parse as parseMarker, pointInsideRect, preventContextMenu, preventDefault, preventSelection, rangeContainsMarker, rangeContainsRange, rangesEqual, rangesIntersect, refineEventDef, refineProps, removeElement, removeExact, renderChunkContent, renderFill, renderMicroColGroup, renderScrollShim, requestJson, sanitizeShrinkWidth, setElSeg, setRef, sliceEventStore, sliceEvents, sortEventSegs, startOfDay, translateRect, triggerDateSelect, unpromisify, version, whenTransitionDone, wholeDivideDurations };\n","/// \nif (typeof FullCalendarVDom === 'undefined') {\n throw new Error('Please import the top-level fullcalendar lib before attempting to import a plugin.');\n}\nvar Component = FullCalendarVDom.Component;\nvar createElement = FullCalendarVDom.createElement;\nvar render = FullCalendarVDom.render;\nvar createRef = FullCalendarVDom.createRef;\nvar Fragment = FullCalendarVDom.Fragment;\nvar createContext = FullCalendarVDom.createContext;\nvar createPortal = FullCalendarVDom.createPortal;\nvar flushToDom = FullCalendarVDom.flushToDom;\nvar unmountComponentAtNode = FullCalendarVDom.unmountComponentAtNode;\n/* eslint-enable */\n\nexport { Component, Fragment, createContext, createElement, createPortal, createRef, flushToDom, render, unmountComponentAtNode };\n","/*!\nFullCalendar v5.10.1\nDocs & License: https://fullcalendar.io/\n(c) 2021 Adam Shaw\n*/\nimport './vdom.js';\nimport { __extends, __assign } from 'tslib';\nimport { render, createElement, CalendarRoot, CustomContentRenderContext, CalendarContent, unmountComponentAtNode, flushToDom, DelayedRunner, CalendarDataManager, isArraysEqual, applyStyleProp, CalendarApi } from '@fullcalendar/common';\nexport * from '@fullcalendar/common';\n\nvar Calendar = /** @class */ (function (_super) {\n __extends(Calendar, _super);\n function Calendar(el, optionOverrides) {\n if (optionOverrides === void 0) { optionOverrides = {}; }\n var _this = _super.call(this) || this;\n _this.isRendering = false;\n _this.isRendered = false;\n _this.currentClassNames = [];\n _this.customContentRenderId = 0; // will affect custom generated classNames?\n _this.handleAction = function (action) {\n // actions we know we want to render immediately\n switch (action.type) {\n case 'SET_EVENT_DRAG':\n case 'SET_EVENT_RESIZE':\n _this.renderRunner.tryDrain();\n }\n };\n _this.handleData = function (data) {\n _this.currentData = data;\n _this.renderRunner.request(data.calendarOptions.rerenderDelay);\n };\n _this.handleRenderRequest = function () {\n if (_this.isRendering) {\n _this.isRendered = true;\n var currentData_1 = _this.currentData;\n render(createElement(CalendarRoot, { options: currentData_1.calendarOptions, theme: currentData_1.theme, emitter: currentData_1.emitter }, function (classNames, height, isHeightAuto, forPrint) {\n _this.setClassNames(classNames);\n _this.setHeight(height);\n return (createElement(CustomContentRenderContext.Provider, { value: _this.customContentRenderId },\n createElement(CalendarContent, __assign({ isHeightAuto: isHeightAuto, forPrint: forPrint }, currentData_1))));\n }), _this.el);\n }\n else if (_this.isRendered) {\n _this.isRendered = false;\n unmountComponentAtNode(_this.el);\n _this.setClassNames([]);\n _this.setHeight('');\n }\n flushToDom();\n };\n _this.el = el;\n _this.renderRunner = new DelayedRunner(_this.handleRenderRequest);\n new CalendarDataManager({\n optionOverrides: optionOverrides,\n calendarApi: _this,\n onAction: _this.handleAction,\n onData: _this.handleData,\n });\n return _this;\n }\n Object.defineProperty(Calendar.prototype, \"view\", {\n get: function () { return this.currentData.viewApi; } // for public API\n ,\n enumerable: false,\n configurable: true\n });\n Calendar.prototype.render = function () {\n var wasRendering = this.isRendering;\n if (!wasRendering) {\n this.isRendering = true;\n }\n else {\n this.customContentRenderId += 1;\n }\n this.renderRunner.request();\n if (wasRendering) {\n this.updateSize();\n }\n };\n Calendar.prototype.destroy = function () {\n if (this.isRendering) {\n this.isRendering = false;\n this.renderRunner.request();\n }\n };\n Calendar.prototype.updateSize = function () {\n _super.prototype.updateSize.call(this);\n flushToDom();\n };\n Calendar.prototype.batchRendering = function (func) {\n this.renderRunner.pause('batchRendering');\n func();\n this.renderRunner.resume('batchRendering');\n };\n Calendar.prototype.pauseRendering = function () {\n this.renderRunner.pause('pauseRendering');\n };\n Calendar.prototype.resumeRendering = function () {\n this.renderRunner.resume('pauseRendering', true);\n };\n Calendar.prototype.resetOptions = function (optionOverrides, append) {\n this.currentDataManager.resetOptions(optionOverrides, append);\n };\n Calendar.prototype.setClassNames = function (classNames) {\n if (!isArraysEqual(classNames, this.currentClassNames)) {\n var classList = this.el.classList;\n for (var _i = 0, _a = this.currentClassNames; _i < _a.length; _i++) {\n var className = _a[_i];\n classList.remove(className);\n }\n for (var _b = 0, classNames_1 = classNames; _b < classNames_1.length; _b++) {\n var className = classNames_1[_b];\n classList.add(className);\n }\n this.currentClassNames = classNames;\n }\n };\n Calendar.prototype.setHeight = function (height) {\n applyStyleProp(this.el, 'height', height);\n };\n return Calendar;\n}(CalendarApi));\n\nexport { Calendar };\n","import { __extends } from 'tslib';\nimport * as preact from 'preact';\nimport * as preactCompat from 'preact/compat';\n\nvar globalObj = typeof globalThis !== 'undefined' ? globalThis : window; // // TODO: streamline when killing IE11 support\nif (globalObj.FullCalendarVDom) {\n console.warn('FullCalendar VDOM already loaded');\n}\nelse {\n globalObj.FullCalendarVDom = {\n Component: preact.Component,\n createElement: preact.createElement,\n render: preact.render,\n createRef: preact.createRef,\n Fragment: preact.Fragment,\n createContext: createContext,\n createPortal: preactCompat.createPortal,\n flushToDom: flushToDom,\n unmountComponentAtNode: unmountComponentAtNode,\n };\n}\n// HACKS...\n// TODO: lock version\n// TODO: link gh issues\nfunction flushToDom() {\n var oldDebounceRendering = preact.options.debounceRendering; // orig\n var callbackQ = [];\n function execCallbackSync(callback) {\n callbackQ.push(callback);\n }\n preact.options.debounceRendering = execCallbackSync;\n preact.render(preact.createElement(FakeComponent, {}), document.createElement('div'));\n while (callbackQ.length) {\n callbackQ.shift()();\n }\n preact.options.debounceRendering = oldDebounceRendering;\n}\nvar FakeComponent = /** @class */ (function (_super) {\n __extends(FakeComponent, _super);\n function FakeComponent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FakeComponent.prototype.render = function () { return preact.createElement('div', {}); };\n FakeComponent.prototype.componentDidMount = function () { this.setState({}); };\n return FakeComponent;\n}(preact.Component));\nfunction createContext(defaultValue) {\n var ContextType = preact.createContext(defaultValue);\n var origProvider = ContextType.Provider;\n ContextType.Provider = function () {\n var _this = this;\n var isNew = !this.getChildContext;\n var children = origProvider.apply(this, arguments); // eslint-disable-line prefer-rest-params\n if (isNew) {\n var subs_1 = [];\n this.shouldComponentUpdate = function (_props) {\n if (_this.props.value !== _props.value) {\n subs_1.forEach(function (c) {\n c.context = _props.value;\n c.forceUpdate();\n });\n }\n };\n this.sub = function (c) {\n subs_1.push(c);\n var old = c.componentWillUnmount;\n c.componentWillUnmount = function () {\n subs_1.splice(subs_1.indexOf(c), 1);\n old && old.call(c);\n };\n };\n }\n return children;\n };\n return ContextType;\n}\nfunction unmountComponentAtNode(node) {\n preact.render(null, node);\n}\n","/*!\nFullCalendar v5.10.1\nDocs & License: https://fullcalendar.io/\n(c) 2021 Adam Shaw\n*/\nimport './main.css';\n\nimport { createRef, getStickyHeaderDates, createElement, ViewRoot, SimpleScrollGrid, getStickyFooterScrollbar, renderScrollShim, DateComponent, buildNavLinkAttrs, DayCellContent, Fragment, BaseComponent, createFormatter, StandardEvent, buildSegTimeText, EventRoot, getSegAnchorAttrs, memoize, MoreLinkRoot, getSegMeta, createAriaClickAttrs, getUniqueDomId, setRef, DayCellRoot, WeekNumberRoot, buildEntryKey, intersectSpans, SegHierarchy, intersectRanges, addDays, RefMap, sortEventSegs, isPropsEqual, buildEventRangeKey, BgEvent, renderFill, PositionCache, NowTimer, Slicer, DayHeader, DaySeriesModel, DayTableModel, addWeeks, diffWeeks, DateProfileGenerator, createPlugin } from '@fullcalendar/common';\nimport { __extends, __assign, __spreadArray } from 'tslib';\n\n/* An abstract class for the daygrid views, as well as month view. Renders one or more rows of day cells.\n----------------------------------------------------------------------------------------------------------------------*/\n// It is a manager for a Table subcomponent, which does most of the heavy lifting.\n// It is responsible for managing width/height.\nvar TableView = /** @class */ (function (_super) {\n __extends(TableView, _super);\n function TableView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.headerElRef = createRef();\n return _this;\n }\n TableView.prototype.renderSimpleLayout = function (headerRowContent, bodyContent) {\n var _a = this, props = _a.props, context = _a.context;\n var sections = [];\n var stickyHeaderDates = getStickyHeaderDates(context.options);\n if (headerRowContent) {\n sections.push({\n type: 'header',\n key: 'header',\n isSticky: stickyHeaderDates,\n chunk: {\n elRef: this.headerElRef,\n tableClassName: 'fc-col-header',\n rowContent: headerRowContent,\n },\n });\n }\n sections.push({\n type: 'body',\n key: 'body',\n liquid: true,\n chunk: { content: bodyContent },\n });\n return (createElement(ViewRoot, { viewSpec: context.viewSpec }, function (rootElRef, classNames) { return (createElement(\"div\", { ref: rootElRef, className: ['fc-daygrid'].concat(classNames).join(' ') },\n createElement(SimpleScrollGrid, { liquid: !props.isHeightAuto && !props.forPrint, collapsibleWidth: props.forPrint, cols: [] /* TODO: make optional? */, sections: sections }))); }));\n };\n TableView.prototype.renderHScrollLayout = function (headerRowContent, bodyContent, colCnt, dayMinWidth) {\n var ScrollGrid = this.context.pluginHooks.scrollGridImpl;\n if (!ScrollGrid) {\n throw new Error('No ScrollGrid implementation');\n }\n var _a = this, props = _a.props, context = _a.context;\n var stickyHeaderDates = !props.forPrint && getStickyHeaderDates(context.options);\n var stickyFooterScrollbar = !props.forPrint && getStickyFooterScrollbar(context.options);\n var sections = [];\n if (headerRowContent) {\n sections.push({\n type: 'header',\n key: 'header',\n isSticky: stickyHeaderDates,\n chunks: [{\n key: 'main',\n elRef: this.headerElRef,\n tableClassName: 'fc-col-header',\n rowContent: headerRowContent,\n }],\n });\n }\n sections.push({\n type: 'body',\n key: 'body',\n liquid: true,\n chunks: [{\n key: 'main',\n content: bodyContent,\n }],\n });\n if (stickyFooterScrollbar) {\n sections.push({\n type: 'footer',\n key: 'footer',\n isSticky: true,\n chunks: [{\n key: 'main',\n content: renderScrollShim,\n }],\n });\n }\n return (createElement(ViewRoot, { viewSpec: context.viewSpec }, function (rootElRef, classNames) { return (createElement(\"div\", { ref: rootElRef, className: ['fc-daygrid'].concat(classNames).join(' ') },\n createElement(ScrollGrid, { liquid: !props.isHeightAuto && !props.forPrint, collapsibleWidth: props.forPrint, colGroups: [{ cols: [{ span: colCnt, minWidth: dayMinWidth }] }], sections: sections }))); }));\n };\n return TableView;\n}(DateComponent));\n\nfunction splitSegsByRow(segs, rowCnt) {\n var byRow = [];\n for (var i = 0; i < rowCnt; i += 1) {\n byRow[i] = [];\n }\n for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n var seg = segs_1[_i];\n byRow[seg.row].push(seg);\n }\n return byRow;\n}\nfunction splitSegsByFirstCol(segs, colCnt) {\n var byCol = [];\n for (var i = 0; i < colCnt; i += 1) {\n byCol[i] = [];\n }\n for (var _i = 0, segs_2 = segs; _i < segs_2.length; _i++) {\n var seg = segs_2[_i];\n byCol[seg.firstCol].push(seg);\n }\n return byCol;\n}\nfunction splitInteractionByRow(ui, rowCnt) {\n var byRow = [];\n if (!ui) {\n for (var i = 0; i < rowCnt; i += 1) {\n byRow[i] = null;\n }\n }\n else {\n for (var i = 0; i < rowCnt; i += 1) {\n byRow[i] = {\n affectedInstances: ui.affectedInstances,\n isEvent: ui.isEvent,\n segs: [],\n };\n }\n for (var _i = 0, _a = ui.segs; _i < _a.length; _i++) {\n var seg = _a[_i];\n byRow[seg.row].segs.push(seg);\n }\n }\n return byRow;\n}\n\nvar TableCellTop = /** @class */ (function (_super) {\n __extends(TableCellTop, _super);\n function TableCellTop() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TableCellTop.prototype.render = function () {\n var props = this.props;\n var navLinkAttrs = buildNavLinkAttrs(this.context, props.date);\n return (createElement(DayCellContent, { date: props.date, dateProfile: props.dateProfile, todayRange: props.todayRange, showDayNumber: props.showDayNumber, extraHookProps: props.extraHookProps, defaultContent: renderTopInner }, function (innerElRef, innerContent) { return ((innerContent || props.forceDayTop) && (createElement(\"div\", { className: \"fc-daygrid-day-top\", ref: innerElRef },\n createElement(\"a\", __assign({ id: props.dayNumberId, className: \"fc-daygrid-day-number\" }, navLinkAttrs), innerContent || createElement(Fragment, null, \"\\u00A0\"))))); }));\n };\n return TableCellTop;\n}(BaseComponent));\nfunction renderTopInner(props) {\n return props.dayNumberText;\n}\n\nvar DEFAULT_TABLE_EVENT_TIME_FORMAT = createFormatter({\n hour: 'numeric',\n minute: '2-digit',\n omitZeroMinute: true,\n meridiem: 'narrow',\n});\nfunction hasListItemDisplay(seg) {\n var display = seg.eventRange.ui.display;\n return display === 'list-item' || (display === 'auto' &&\n !seg.eventRange.def.allDay &&\n seg.firstCol === seg.lastCol && // can't be multi-day\n seg.isStart && // \"\n seg.isEnd // \"\n );\n}\n\nvar TableBlockEvent = /** @class */ (function (_super) {\n __extends(TableBlockEvent, _super);\n function TableBlockEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TableBlockEvent.prototype.render = function () {\n var props = this.props;\n return (createElement(StandardEvent, __assign({}, props, { extraClassNames: ['fc-daygrid-event', 'fc-daygrid-block-event', 'fc-h-event'], defaultTimeFormat: DEFAULT_TABLE_EVENT_TIME_FORMAT, defaultDisplayEventEnd: props.defaultDisplayEventEnd, disableResizing: !props.seg.eventRange.def.allDay })));\n };\n return TableBlockEvent;\n}(BaseComponent));\n\nvar TableListItemEvent = /** @class */ (function (_super) {\n __extends(TableListItemEvent, _super);\n function TableListItemEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TableListItemEvent.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n var timeFormat = context.options.eventTimeFormat || DEFAULT_TABLE_EVENT_TIME_FORMAT;\n var timeText = buildSegTimeText(props.seg, timeFormat, context, true, props.defaultDisplayEventEnd);\n return (createElement(EventRoot, { seg: props.seg, timeText: timeText, defaultContent: renderInnerContent, isDragging: props.isDragging, isResizing: false, isDateSelecting: false, isSelected: props.isSelected, isPast: props.isPast, isFuture: props.isFuture, isToday: props.isToday }, function (rootElRef, classNames, innerElRef, innerContent) { return ( // we don't use styles!\n createElement(\"a\", __assign({ className: ['fc-daygrid-event', 'fc-daygrid-dot-event'].concat(classNames).join(' '), ref: rootElRef }, getSegAnchorAttrs(props.seg, context)), innerContent)); }));\n };\n return TableListItemEvent;\n}(BaseComponent));\nfunction renderInnerContent(innerProps) {\n return (createElement(Fragment, null,\n createElement(\"div\", { className: \"fc-daygrid-event-dot\", style: { borderColor: innerProps.borderColor || innerProps.backgroundColor } }),\n innerProps.timeText && (createElement(\"div\", { className: \"fc-event-time\" }, innerProps.timeText)),\n createElement(\"div\", { className: \"fc-event-title\" }, innerProps.event.title || createElement(Fragment, null, \"\\u00A0\"))));\n}\n\nvar TableCellMoreLink = /** @class */ (function (_super) {\n __extends(TableCellMoreLink, _super);\n function TableCellMoreLink() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.compileSegs = memoize(compileSegs);\n return _this;\n }\n TableCellMoreLink.prototype.render = function () {\n var props = this.props;\n var _a = this.compileSegs(props.singlePlacements), allSegs = _a.allSegs, invisibleSegs = _a.invisibleSegs;\n return (createElement(MoreLinkRoot, { dateProfile: props.dateProfile, todayRange: props.todayRange, allDayDate: props.allDayDate, moreCnt: props.moreCnt, allSegs: allSegs, hiddenSegs: invisibleSegs, alignmentElRef: props.alignmentElRef, alignGridTop: props.alignGridTop, extraDateSpan: props.extraDateSpan, popoverContent: function () {\n var isForcedInvisible = (props.eventDrag ? props.eventDrag.affectedInstances : null) ||\n (props.eventResize ? props.eventResize.affectedInstances : null) ||\n {};\n return (createElement(Fragment, null, allSegs.map(function (seg) {\n var instanceId = seg.eventRange.instance.instanceId;\n return (createElement(\"div\", { className: \"fc-daygrid-event-harness\", key: instanceId, style: {\n visibility: isForcedInvisible[instanceId] ? 'hidden' : '',\n } }, hasListItemDisplay(seg) ? (createElement(TableListItemEvent, __assign({ seg: seg, isDragging: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange)))) : (createElement(TableBlockEvent, __assign({ seg: seg, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange))))));\n })));\n } }, function (rootElRef, classNames, innerElRef, innerContent, handleClick, title, isExpanded, popoverId) { return (createElement(\"a\", __assign({ ref: rootElRef, className: ['fc-daygrid-more-link'].concat(classNames).join(' '), title: title, \"aria-expanded\": isExpanded, \"aria-controls\": popoverId }, createAriaClickAttrs(handleClick)), innerContent)); }));\n };\n return TableCellMoreLink;\n}(BaseComponent));\nfunction compileSegs(singlePlacements) {\n var allSegs = [];\n var invisibleSegs = [];\n for (var _i = 0, singlePlacements_1 = singlePlacements; _i < singlePlacements_1.length; _i++) {\n var placement = singlePlacements_1[_i];\n allSegs.push(placement.seg);\n if (!placement.isVisible) {\n invisibleSegs.push(placement.seg);\n }\n }\n return { allSegs: allSegs, invisibleSegs: invisibleSegs };\n}\n\nvar DEFAULT_WEEK_NUM_FORMAT = createFormatter({ week: 'narrow' });\nvar TableCell = /** @class */ (function (_super) {\n __extends(TableCell, _super);\n function TableCell() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.rootElRef = createRef();\n _this.state = {\n dayNumberId: getUniqueDomId(),\n };\n _this.handleRootEl = function (el) {\n setRef(_this.rootElRef, el);\n setRef(_this.props.elRef, el);\n };\n return _this;\n }\n TableCell.prototype.render = function () {\n var _a = this, context = _a.context, props = _a.props, state = _a.state, rootElRef = _a.rootElRef;\n var date = props.date, dateProfile = props.dateProfile;\n var navLinkAttrs = buildNavLinkAttrs(context, date, 'week');\n return (createElement(DayCellRoot, { date: date, dateProfile: dateProfile, todayRange: props.todayRange, showDayNumber: props.showDayNumber, extraHookProps: props.extraHookProps, elRef: this.handleRootEl }, function (dayElRef, dayClassNames, rootDataAttrs, isDisabled) { return (createElement(\"td\", __assign({ ref: dayElRef, role: \"gridcell\", className: ['fc-daygrid-day'].concat(dayClassNames, props.extraClassNames || []).join(' ') }, rootDataAttrs, props.extraDataAttrs, (props.showDayNumber ? { 'aria-labelledby': state.dayNumberId } : {})),\n createElement(\"div\", { className: \"fc-daygrid-day-frame fc-scrollgrid-sync-inner\", ref: props.innerElRef /* different from hook system! RENAME */ },\n props.showWeekNumber && (createElement(WeekNumberRoot, { date: date, defaultFormat: DEFAULT_WEEK_NUM_FORMAT }, function (weekElRef, weekClassNames, innerElRef, innerContent) { return (createElement(\"a\", __assign({ ref: weekElRef, className: ['fc-daygrid-week-number'].concat(weekClassNames).join(' ') }, navLinkAttrs), innerContent)); })),\n !isDisabled && (createElement(TableCellTop, { date: date, dateProfile: dateProfile, showDayNumber: props.showDayNumber, dayNumberId: state.dayNumberId, forceDayTop: props.forceDayTop, todayRange: props.todayRange, extraHookProps: props.extraHookProps })),\n createElement(\"div\", { className: \"fc-daygrid-day-events\", ref: props.fgContentElRef },\n props.fgContent,\n createElement(\"div\", { className: \"fc-daygrid-day-bottom\", style: { marginTop: props.moreMarginTop } },\n createElement(TableCellMoreLink, { allDayDate: date, singlePlacements: props.singlePlacements, moreCnt: props.moreCnt, alignmentElRef: rootElRef, alignGridTop: !props.showDayNumber, extraDateSpan: props.extraDateSpan, dateProfile: props.dateProfile, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, todayRange: props.todayRange }))),\n createElement(\"div\", { className: \"fc-daygrid-day-bg\" }, props.bgContent)))); }));\n };\n return TableCell;\n}(DateComponent));\n\nfunction computeFgSegPlacement(segs, // assumed already sorted\ndayMaxEvents, dayMaxEventRows, strictOrder, eventInstanceHeights, maxContentHeight, cells) {\n var hierarchy = new DayGridSegHierarchy();\n hierarchy.allowReslicing = true;\n hierarchy.strictOrder = strictOrder;\n if (dayMaxEvents === true || dayMaxEventRows === true) {\n hierarchy.maxCoord = maxContentHeight;\n hierarchy.hiddenConsumes = true;\n }\n else if (typeof dayMaxEvents === 'number') {\n hierarchy.maxStackCnt = dayMaxEvents;\n }\n else if (typeof dayMaxEventRows === 'number') {\n hierarchy.maxStackCnt = dayMaxEventRows;\n hierarchy.hiddenConsumes = true;\n }\n // create segInputs only for segs with known heights\n var segInputs = [];\n var unknownHeightSegs = [];\n for (var i = 0; i < segs.length; i += 1) {\n var seg = segs[i];\n var instanceId = seg.eventRange.instance.instanceId;\n var eventHeight = eventInstanceHeights[instanceId];\n if (eventHeight != null) {\n segInputs.push({\n index: i,\n thickness: eventHeight,\n span: {\n start: seg.firstCol,\n end: seg.lastCol + 1,\n },\n });\n }\n else {\n unknownHeightSegs.push(seg);\n }\n }\n var hiddenEntries = hierarchy.addSegs(segInputs);\n var segRects = hierarchy.toRects();\n var _a = placeRects(segRects, segs, cells), singleColPlacements = _a.singleColPlacements, multiColPlacements = _a.multiColPlacements, leftoverMargins = _a.leftoverMargins;\n var moreCnts = [];\n var moreMarginTops = [];\n // add segs with unknown heights\n for (var _i = 0, unknownHeightSegs_1 = unknownHeightSegs; _i < unknownHeightSegs_1.length; _i++) {\n var seg = unknownHeightSegs_1[_i];\n multiColPlacements[seg.firstCol].push({\n seg: seg,\n isVisible: false,\n isAbsolute: true,\n absoluteTop: 0,\n marginTop: 0,\n });\n for (var col = seg.firstCol; col <= seg.lastCol; col += 1) {\n singleColPlacements[col].push({\n seg: resliceSeg(seg, col, col + 1, cells),\n isVisible: false,\n isAbsolute: false,\n absoluteTop: 0,\n marginTop: 0,\n });\n }\n }\n // add the hidden entries\n for (var col = 0; col < cells.length; col += 1) {\n moreCnts.push(0);\n }\n for (var _b = 0, hiddenEntries_1 = hiddenEntries; _b < hiddenEntries_1.length; _b++) {\n var hiddenEntry = hiddenEntries_1[_b];\n var seg = segs[hiddenEntry.index];\n var hiddenSpan = hiddenEntry.span;\n multiColPlacements[hiddenSpan.start].push({\n seg: resliceSeg(seg, hiddenSpan.start, hiddenSpan.end, cells),\n isVisible: false,\n isAbsolute: true,\n absoluteTop: 0,\n marginTop: 0,\n });\n for (var col = hiddenSpan.start; col < hiddenSpan.end; col += 1) {\n moreCnts[col] += 1;\n singleColPlacements[col].push({\n seg: resliceSeg(seg, col, col + 1, cells),\n isVisible: false,\n isAbsolute: false,\n absoluteTop: 0,\n marginTop: 0,\n });\n }\n }\n // deal with leftover margins\n for (var col = 0; col < cells.length; col += 1) {\n moreMarginTops.push(leftoverMargins[col]);\n }\n return { singleColPlacements: singleColPlacements, multiColPlacements: multiColPlacements, moreCnts: moreCnts, moreMarginTops: moreMarginTops };\n}\n// rects ordered by top coord, then left\nfunction placeRects(allRects, segs, cells) {\n var rectsByEachCol = groupRectsByEachCol(allRects, cells.length);\n var singleColPlacements = [];\n var multiColPlacements = [];\n var leftoverMargins = [];\n for (var col = 0; col < cells.length; col += 1) {\n var rects = rectsByEachCol[col];\n // compute all static segs in singlePlacements\n var singlePlacements = [];\n var currentHeight = 0;\n var currentMarginTop = 0;\n for (var _i = 0, rects_1 = rects; _i < rects_1.length; _i++) {\n var rect = rects_1[_i];\n var seg = segs[rect.index];\n singlePlacements.push({\n seg: resliceSeg(seg, col, col + 1, cells),\n isVisible: true,\n isAbsolute: false,\n absoluteTop: rect.levelCoord,\n marginTop: rect.levelCoord - currentHeight,\n });\n currentHeight = rect.levelCoord + rect.thickness;\n }\n // compute mixed static/absolute segs in multiPlacements\n var multiPlacements = [];\n currentHeight = 0;\n currentMarginTop = 0;\n for (var _a = 0, rects_2 = rects; _a < rects_2.length; _a++) {\n var rect = rects_2[_a];\n var seg = segs[rect.index];\n var isAbsolute = rect.span.end - rect.span.start > 1; // multi-column?\n var isFirstCol = rect.span.start === col;\n currentMarginTop += rect.levelCoord - currentHeight; // amount of space since bottom of previous seg\n currentHeight = rect.levelCoord + rect.thickness; // height will now be bottom of current seg\n if (isAbsolute) {\n currentMarginTop += rect.thickness;\n if (isFirstCol) {\n multiPlacements.push({\n seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),\n isVisible: true,\n isAbsolute: true,\n absoluteTop: rect.levelCoord,\n marginTop: 0,\n });\n }\n }\n else if (isFirstCol) {\n multiPlacements.push({\n seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),\n isVisible: true,\n isAbsolute: false,\n absoluteTop: rect.levelCoord,\n marginTop: currentMarginTop, // claim the margin\n });\n currentMarginTop = 0;\n }\n }\n singleColPlacements.push(singlePlacements);\n multiColPlacements.push(multiPlacements);\n leftoverMargins.push(currentMarginTop);\n }\n return { singleColPlacements: singleColPlacements, multiColPlacements: multiColPlacements, leftoverMargins: leftoverMargins };\n}\nfunction groupRectsByEachCol(rects, colCnt) {\n var rectsByEachCol = [];\n for (var col = 0; col < colCnt; col += 1) {\n rectsByEachCol.push([]);\n }\n for (var _i = 0, rects_3 = rects; _i < rects_3.length; _i++) {\n var rect = rects_3[_i];\n for (var col = rect.span.start; col < rect.span.end; col += 1) {\n rectsByEachCol[col].push(rect);\n }\n }\n return rectsByEachCol;\n}\nfunction resliceSeg(seg, spanStart, spanEnd, cells) {\n if (seg.firstCol === spanStart && seg.lastCol === spanEnd - 1) {\n return seg;\n }\n var eventRange = seg.eventRange;\n var origRange = eventRange.range;\n var slicedRange = intersectRanges(origRange, {\n start: cells[spanStart].date,\n end: addDays(cells[spanEnd - 1].date, 1),\n });\n return __assign(__assign({}, seg), { firstCol: spanStart, lastCol: spanEnd - 1, eventRange: {\n def: eventRange.def,\n ui: __assign(__assign({}, eventRange.ui), { durationEditable: false }),\n instance: eventRange.instance,\n range: slicedRange,\n }, isStart: seg.isStart && slicedRange.start.valueOf() === origRange.start.valueOf(), isEnd: seg.isEnd && slicedRange.end.valueOf() === origRange.end.valueOf() });\n}\nvar DayGridSegHierarchy = /** @class */ (function (_super) {\n __extends(DayGridSegHierarchy, _super);\n function DayGridSegHierarchy() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // config\n _this.hiddenConsumes = false;\n // allows us to keep hidden entries in the hierarchy so they take up space\n _this.forceHidden = {};\n return _this;\n }\n DayGridSegHierarchy.prototype.addSegs = function (segInputs) {\n var _this = this;\n var hiddenSegs = _super.prototype.addSegs.call(this, segInputs);\n var entriesByLevel = this.entriesByLevel;\n var excludeHidden = function (entry) { return !_this.forceHidden[buildEntryKey(entry)]; };\n // remove the forced-hidden segs\n for (var level = 0; level < entriesByLevel.length; level += 1) {\n entriesByLevel[level] = entriesByLevel[level].filter(excludeHidden);\n }\n return hiddenSegs;\n };\n DayGridSegHierarchy.prototype.handleInvalidInsertion = function (insertion, entry, hiddenEntries) {\n var _a = this, entriesByLevel = _a.entriesByLevel, forceHidden = _a.forceHidden;\n var touchingEntry = insertion.touchingEntry, touchingLevel = insertion.touchingLevel, touchingLateral = insertion.touchingLateral;\n if (this.hiddenConsumes && touchingEntry) {\n var touchingEntryId = buildEntryKey(touchingEntry);\n // if not already hidden\n if (!forceHidden[touchingEntryId]) {\n if (this.allowReslicing) {\n var placeholderEntry = __assign(__assign({}, touchingEntry), { span: intersectSpans(touchingEntry.span, entry.span) });\n var placeholderEntryId = buildEntryKey(placeholderEntry);\n forceHidden[placeholderEntryId] = true;\n entriesByLevel[touchingLevel][touchingLateral] = placeholderEntry; // replace touchingEntry with our placeholder\n this.splitEntry(touchingEntry, entry, hiddenEntries); // split up the touchingEntry, reinsert it\n }\n else {\n forceHidden[touchingEntryId] = true;\n hiddenEntries.push(touchingEntry);\n }\n }\n }\n return _super.prototype.handleInvalidInsertion.call(this, insertion, entry, hiddenEntries);\n };\n return DayGridSegHierarchy;\n}(SegHierarchy));\n\nvar TableRow = /** @class */ (function (_super) {\n __extends(TableRow, _super);\n function TableRow() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.cellElRefs = new RefMap(); // the ref, but not guaranteed to be ready when this fires\n elementClosest(innerEl, 'tr'), isStable);\n }\n };\n return _this;\n }\n ResourceTimelineLane.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, context = _a.context;\n var options = context.options;\n var hookProps = this.refineHookProps({ resource: props.resource, context: context });\n var customClassNames = this.normalizeClassNames(options.resourceLaneClassNames, hookProps);\n return (createElement(\"tr\", { ref: props.elRef },\n createElement(MountHook, { hookProps: hookProps, didMount: options.resourceLaneDidMount, willUnmount: options.resourceLaneWillUnmount }, function (rootElRef) { return (createElement(\"td\", { ref: rootElRef, className: ['fc-timeline-lane', 'fc-resource'].concat(customClassNames).join(' '), \"data-resource-id\": props.resource.id },\n createElement(\"div\", { className: \"fc-timeline-lane-frame\", style: { height: props.innerHeight } },\n createElement(ResourceTimelineLaneMisc, { resource: props.resource }),\n createElement(TimelineLane, { dateProfile: props.dateProfile, tDateProfile: props.tDateProfile, nowDate: props.nowDate, todayRange: props.todayRange, nextDayThreshold: props.nextDayThreshold, businessHours: props.businessHours, eventStore: props.eventStore, eventUiBases: props.eventUiBases, dateSelection: props.dateSelection, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, timelineCoords: props.timelineCoords, onHeightChange: _this.handleHeightChange, resourceId: props.resource.id })))); }))); // important NOT to do liquid-height. dont want to shrink height smaller than content\n };\n return ResourceTimelineLane;\n}(BaseComponent));\nfunction refineHookProps(raw) {\n return {\n resource: new ResourceApi(raw.context, raw.resource),\n };\n}\n\n/*\nparallels the SpreadsheetGroupRow\n*/\nvar DividerRow = /** @class */ (function (_super) {\n __extends(DividerRow, _super);\n function DividerRow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DividerRow.prototype.render = function () {\n var _this = this;\n var props = this.props;\n var renderingHooks = this.props.renderingHooks;\n var hookProps = { groupValue: props.groupValue, view: this.context.viewApi };\n return (createElement(\"tr\", { ref: props.elRef },\n createElement(RenderHook, { hookProps: hookProps, classNames: renderingHooks.laneClassNames, content: renderingHooks.laneContent, didMount: renderingHooks.laneDidMount, willUnmount: renderingHooks.laneWillUnmount }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"td\", { ref: rootElRef, className: [\n 'fc-timeline-lane',\n 'fc-resource-group',\n _this.context.theme.getClass('tableCellShaded'),\n ].concat(classNames).join(' ') },\n createElement(\"div\", { style: { height: props.innerHeight }, ref: innerElRef }, innerContent))); })));\n };\n return DividerRow;\n}(BaseComponent));\n\nvar ResourceTimelineLanesBody = /** @class */ (function (_super) {\n __extends(ResourceTimelineLanesBody, _super);\n function ResourceTimelineLanesBody() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ResourceTimelineLanesBody.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n var rowElRefs = props.rowElRefs, innerHeights = props.innerHeights;\n return (createElement(\"tbody\", null, props.rowNodes.map(function (node, index) {\n if (node.group) {\n return (createElement(DividerRow, { key: node.id, elRef: rowElRefs.createRef(node.id), groupValue: node.group.value, renderingHooks: node.group.spec, innerHeight: innerHeights[index] || '' }));\n }\n if (node.resource) {\n var resource = node.resource;\n return (createElement(ResourceTimelineLane, __assign({ key: node.id, elRef: rowElRefs.createRef(node.id) }, props.splitProps[resource.id], { resource: resource, dateProfile: props.dateProfile, tDateProfile: props.tDateProfile, nowDate: props.nowDate, todayRange: props.todayRange, nextDayThreshold: context.options.nextDayThreshold, businessHours: resource.businessHours || props.fallbackBusinessHours, innerHeight: innerHeights[index] || '', timelineCoords: props.slatCoords, onHeightChange: props.onRowHeightChange })));\n }\n return null;\n })));\n };\n return ResourceTimelineLanesBody;\n}(BaseComponent));\n\nvar ResourceTimelineLanes = /** @class */ (function (_super) {\n __extends(ResourceTimelineLanes, _super);\n function ResourceTimelineLanes() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.rootElRef = createRef();\n _this.rowElRefs = new RefMap();\n return _this;\n }\n ResourceTimelineLanes.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n return (createElement(\"table\", { ref: this.rootElRef, \"aria-hidden\": true, className: 'fc-scrollgrid-sync-table ' + context.theme.getClass('table'), style: {\n minWidth: props.tableMinWidth,\n width: props.clientWidth,\n height: props.minHeight,\n } },\n createElement(ResourceTimelineLanesBody, { rowElRefs: this.rowElRefs, rowNodes: props.rowNodes, dateProfile: props.dateProfile, tDateProfile: props.tDateProfile, nowDate: props.nowDate, todayRange: props.todayRange, splitProps: props.splitProps, fallbackBusinessHours: props.fallbackBusinessHours, slatCoords: props.slatCoords, innerHeights: props.innerHeights, onRowHeightChange: props.onRowHeightChange })));\n };\n ResourceTimelineLanes.prototype.componentDidMount = function () {\n this.updateCoords();\n };\n ResourceTimelineLanes.prototype.componentDidUpdate = function () {\n this.updateCoords();\n };\n ResourceTimelineLanes.prototype.componentWillUnmount = function () {\n if (this.props.onRowCoords) {\n this.props.onRowCoords(null);\n }\n };\n ResourceTimelineLanes.prototype.updateCoords = function () {\n var props = this.props;\n if (props.onRowCoords && props.clientWidth !== null) { // a populated clientWidth means sizing has stabilized\n this.props.onRowCoords(new PositionCache(this.rootElRef.current, collectRowEls(this.rowElRefs.currentMap, props.rowNodes), false, true));\n }\n };\n return ResourceTimelineLanes;\n}(BaseComponent));\nfunction collectRowEls(elMap, rowNodes) {\n return rowNodes.map(function (rowNode) { return elMap[rowNode.id]; });\n}\n\nvar ResourceTimelineGrid = /** @class */ (function (_super) {\n __extends(ResourceTimelineGrid, _super);\n function ResourceTimelineGrid() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.computeHasResourceBusinessHours = memoize(computeHasResourceBusinessHours);\n _this.resourceSplitter = new ResourceSplitter(); // doesn't let it do businessHours tho\n _this.bgSlicer = new TimelineLaneSlicer();\n _this.slatsRef = createRef(); // needed for Hit creation :(\n _this.state = {\n slatCoords: null,\n };\n _this.handleEl = function (el) {\n if (el) {\n _this.context.registerInteractiveComponent(_this, { el: el });\n }\n else {\n _this.context.unregisterInteractiveComponent(_this);\n }\n };\n _this.handleSlatCoords = function (slatCoords) {\n _this.setState({ slatCoords: slatCoords });\n if (_this.props.onSlatCoords) {\n _this.props.onSlatCoords(slatCoords);\n }\n };\n _this.handleRowCoords = function (rowCoords) {\n _this.rowCoords = rowCoords;\n if (_this.props.onRowCoords) {\n _this.props.onRowCoords(rowCoords);\n }\n };\n return _this;\n }\n ResourceTimelineGrid.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, state = _a.state, context = _a.context;\n var dateProfile = props.dateProfile, tDateProfile = props.tDateProfile;\n var timerUnit = greatestDurationDenominator(tDateProfile.slotDuration).unit;\n var hasResourceBusinessHours = this.computeHasResourceBusinessHours(props.rowNodes);\n var splitProps = this.resourceSplitter.splitProps(props);\n var bgLaneProps = splitProps[''];\n var bgSlicedProps = this.bgSlicer.sliceProps(bgLaneProps, dateProfile, tDateProfile.isTimeScale ? null : props.nextDayThreshold, context, // wish we didn't need to pass in the rest of these args...\n dateProfile, context.dateProfileGenerator, tDateProfile, context.dateEnv);\n // WORKAROUND: make ignore slatCoords when out of sync with dateProfile\n var slatCoords = state.slatCoords && state.slatCoords.dateProfile === props.dateProfile ? state.slatCoords : null;\n return (createElement(\"div\", { ref: this.handleEl, className: [\n 'fc-timeline-body',\n props.expandRows ? 'fc-timeline-body-expandrows' : '',\n ].join(' '), style: { minWidth: props.tableMinWidth } },\n createElement(NowTimer, { unit: timerUnit }, function (nowDate, todayRange) { return (createElement(Fragment, null,\n createElement(TimelineSlats, { ref: _this.slatsRef, dateProfile: dateProfile, tDateProfile: tDateProfile, nowDate: nowDate, todayRange: todayRange, clientWidth: props.clientWidth, tableColGroupNode: props.tableColGroupNode, tableMinWidth: props.tableMinWidth, onCoords: _this.handleSlatCoords, onScrollLeftRequest: props.onScrollLeftRequest }),\n createElement(TimelineLaneBg, { businessHourSegs: hasResourceBusinessHours ? null : bgSlicedProps.businessHourSegs, bgEventSegs: bgSlicedProps.bgEventSegs, timelineCoords: slatCoords, \n // empty array will result in unnecessary rerenders?\n eventResizeSegs: (bgSlicedProps.eventResize ? bgSlicedProps.eventResize.segs : []), dateSelectionSegs: bgSlicedProps.dateSelectionSegs, nowDate: nowDate, todayRange: todayRange }),\n createElement(ResourceTimelineLanes, { rowNodes: props.rowNodes, dateProfile: dateProfile, tDateProfile: props.tDateProfile, nowDate: nowDate, todayRange: todayRange, splitProps: splitProps, fallbackBusinessHours: hasResourceBusinessHours ? props.businessHours : null, clientWidth: props.clientWidth, minHeight: props.expandRows ? props.clientHeight : '', tableMinWidth: props.tableMinWidth, innerHeights: props.rowInnerHeights, slatCoords: slatCoords, onRowCoords: _this.handleRowCoords, onRowHeightChange: props.onRowHeightChange }),\n (context.options.nowIndicator && slatCoords && slatCoords.isDateInRange(nowDate)) && (createElement(\"div\", { className: \"fc-timeline-now-indicator-container\" },\n createElement(NowIndicatorRoot, { isAxis: false, date: nowDate }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"div\", { ref: rootElRef, className: ['fc-timeline-now-indicator-line'].concat(classNames).join(' '), style: coordToCss(slatCoords.dateToCoord(nowDate), context.isRtl) }, innerContent)); }))))); })));\n };\n // Hit System\n // ------------------------------------------------------------------------------------------\n ResourceTimelineGrid.prototype.queryHit = function (positionLeft, positionTop) {\n var rowCoords = this.rowCoords;\n var rowIndex = rowCoords.topToIndex(positionTop);\n if (rowIndex != null) {\n var resource = this.props.rowNodes[rowIndex].resource;\n if (resource) { // not a group\n var slatHit = this.slatsRef.current.positionToHit(positionLeft);\n if (slatHit) {\n return {\n dateProfile: this.props.dateProfile,\n dateSpan: {\n range: slatHit.dateSpan.range,\n allDay: slatHit.dateSpan.allDay,\n resourceId: resource.id,\n },\n rect: {\n left: slatHit.left,\n right: slatHit.right,\n top: rowCoords.tops[rowIndex],\n bottom: rowCoords.bottoms[rowIndex],\n },\n dayEl: slatHit.dayEl,\n layer: 0,\n };\n }\n }\n }\n return null;\n };\n return ResourceTimelineGrid;\n}(DateComponent));\nfunction computeHasResourceBusinessHours(rowNodes) {\n for (var _i = 0, rowNodes_1 = rowNodes; _i < rowNodes_1.length; _i++) {\n var node = rowNodes_1[_i];\n var resource = node.resource;\n if (resource && resource.businessHours) {\n return true;\n }\n }\n return false;\n}\n\nvar MIN_RESOURCE_AREA_WIDTH = 30; // definitely bigger than scrollbars\n// RENAME?\nvar ResourceTimelineViewLayout = /** @class */ (function (_super) {\n __extends(ResourceTimelineViewLayout, _super);\n function ResourceTimelineViewLayout() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.scrollGridRef = createRef();\n _this.timeBodyScrollerElRef = createRef();\n _this.spreadsheetHeaderChunkElRef = createRef();\n _this.rootElRef = createRef();\n _this.ensureScrollGridResizeId = 0;\n _this.state = {\n resourceAreaWidthOverride: null,\n };\n /*\n ghetto debounce. don't race with ScrollGrid's resizing delay. solves #6140\n */\n _this.ensureScrollGridResize = function () {\n if (_this.ensureScrollGridResizeId) {\n clearTimeout(_this.ensureScrollGridResizeId);\n }\n _this.ensureScrollGridResizeId = setTimeout(function () {\n _this.scrollGridRef.current.handleSizing(false);\n }, config.SCROLLGRID_RESIZE_INTERVAL + 1);\n };\n return _this;\n }\n ResourceTimelineViewLayout.prototype.render = function () {\n var _a = this, props = _a.props, state = _a.state, context = _a.context;\n var options = context.options;\n var stickyHeaderDates = !props.forPrint && getStickyHeaderDates(options);\n var stickyFooterScrollbar = !props.forPrint && getStickyFooterScrollbar(options);\n var sections = [\n {\n type: 'header',\n key: 'header',\n syncRowHeights: true,\n isSticky: stickyHeaderDates,\n chunks: [\n {\n key: 'datagrid',\n elRef: this.spreadsheetHeaderChunkElRef,\n // TODO: allow the content to specify this. have general-purpose 'content' with obj with keys\n tableClassName: 'fc-datagrid-header',\n rowContent: props.spreadsheetHeaderRows,\n },\n {\n key: 'divider',\n outerContent: (createElement(\"td\", { role: \"presentation\", className: 'fc-resource-timeline-divider ' + context.theme.getClass('tableCellShaded') })),\n },\n {\n key: 'timeline',\n content: props.timeHeaderContent,\n },\n ],\n },\n {\n type: 'body',\n key: 'body',\n syncRowHeights: true,\n liquid: true,\n expandRows: Boolean(options.expandRows),\n chunks: [\n {\n key: 'datagrid',\n tableClassName: 'fc-datagrid-body',\n rowContent: props.spreadsheetBodyRows,\n },\n {\n key: 'divider',\n outerContent: (createElement(\"td\", { role: \"presentation\", className: 'fc-resource-timeline-divider ' + context.theme.getClass('tableCellShaded') })),\n },\n {\n key: 'timeline',\n scrollerElRef: this.timeBodyScrollerElRef,\n content: props.timeBodyContent,\n },\n ],\n },\n ];\n if (stickyFooterScrollbar) {\n sections.push({\n type: 'footer',\n key: 'footer',\n isSticky: true,\n chunks: [\n {\n key: 'datagrid',\n content: renderScrollShim,\n },\n {\n key: 'divider',\n outerContent: (createElement(\"td\", { role: \"presentation\", className: 'fc-resource-timeline-divider ' + context.theme.getClass('tableCellShaded') })),\n },\n {\n key: 'timeline',\n content: renderScrollShim,\n },\n ],\n });\n }\n var resourceAreaWidth = state.resourceAreaWidthOverride != null\n ? state.resourceAreaWidthOverride\n : options.resourceAreaWidth;\n return (createElement(ScrollGrid, { ref: this.scrollGridRef, elRef: this.rootElRef, liquid: !props.isHeightAuto && !props.forPrint, collapsibleWidth: false, colGroups: [\n { cols: props.spreadsheetCols, width: resourceAreaWidth },\n { cols: [] },\n { cols: props.timeCols },\n ], sections: sections }));\n };\n ResourceTimelineViewLayout.prototype.forceTimeScroll = function (left) {\n var scrollGrid = this.scrollGridRef.current;\n scrollGrid.forceScrollLeft(2, left); // 2 = the time area\n };\n ResourceTimelineViewLayout.prototype.forceResourceScroll = function (top) {\n var scrollGrid = this.scrollGridRef.current;\n scrollGrid.forceScrollTop(1, top); // 1 = the body\n };\n ResourceTimelineViewLayout.prototype.getResourceScroll = function () {\n var timeBodyScrollerEl = this.timeBodyScrollerElRef.current;\n return timeBodyScrollerEl.scrollTop;\n };\n // Resource Area Resizing\n // ------------------------------------------------------------------------------------------\n // NOTE: a callback Ref for the resizer was firing multiple times with same elements (Preact)\n // that's why we use spreadsheetResizerElRef instead\n ResourceTimelineViewLayout.prototype.componentDidMount = function () {\n this.initSpreadsheetResizing();\n };\n ResourceTimelineViewLayout.prototype.componentWillUnmount = function () {\n this.destroySpreadsheetResizing();\n };\n ResourceTimelineViewLayout.prototype.initSpreadsheetResizing = function () {\n var _this = this;\n var _a = this.context, isRtl = _a.isRtl, pluginHooks = _a.pluginHooks;\n var ElementDraggingImpl = pluginHooks.elementDraggingImpl;\n var spreadsheetHeadEl = this.spreadsheetHeaderChunkElRef.current;\n if (ElementDraggingImpl) {\n var rootEl_1 = this.rootElRef.current;\n var dragging = this.spreadsheetResizerDragging = new ElementDraggingImpl(rootEl_1, '.fc-resource-timeline-divider');\n var dragStartWidth_1;\n var viewWidth_1;\n dragging.emitter.on('dragstart', function () {\n dragStartWidth_1 = spreadsheetHeadEl.getBoundingClientRect().width;\n viewWidth_1 = rootEl_1.getBoundingClientRect().width;\n });\n dragging.emitter.on('dragmove', function (pev) {\n var newWidth = dragStartWidth_1 + pev.deltaX * (isRtl ? -1 : 1);\n newWidth = Math.max(newWidth, MIN_RESOURCE_AREA_WIDTH);\n newWidth = Math.min(newWidth, viewWidth_1 - MIN_RESOURCE_AREA_WIDTH);\n // scrollgrid will ignore resize requests if there are too many :|\n _this.setState({\n resourceAreaWidthOverride: newWidth,\n }, _this.ensureScrollGridResize);\n });\n dragging.setAutoScrollEnabled(false); // because gets weird with auto-scrolling time area\n }\n };\n ResourceTimelineViewLayout.prototype.destroySpreadsheetResizing = function () {\n if (this.spreadsheetResizerDragging) {\n this.spreadsheetResizerDragging.destroy();\n }\n };\n return ResourceTimelineViewLayout;\n}(BaseComponent));\n\nvar ResourceTimelineView = /** @class */ (function (_super) {\n __extends(ResourceTimelineView, _super);\n function ResourceTimelineView(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this.processColOptions = memoize(processColOptions);\n _this.buildTimelineDateProfile = memoize(buildTimelineDateProfile);\n _this.hasNesting = memoize(hasNesting);\n _this.buildRowNodes = memoize(buildRowNodes);\n _this.layoutRef = createRef();\n _this.rowNodes = [];\n _this.renderedRowNodes = [];\n _this.buildRowIndex = memoize(buildRowIndex);\n _this.handleSlatCoords = function (slatCoords) {\n _this.setState({ slatCoords: slatCoords });\n };\n _this.handleRowCoords = function (rowCoords) {\n _this.rowCoords = rowCoords;\n _this.scrollResponder.update(false); // TODO: could eliminate this if rowCoords lived in state\n };\n _this.handleMaxCushionWidth = function (slotCushionMaxWidth) {\n _this.setState({\n slotCushionMaxWidth: Math.ceil(slotCushionMaxWidth), // for less rerendering TODO: DRY\n });\n };\n // Scrolling\n // ------------------------------------------------------------------------------------------------------------------\n // this is useful for scrolling prev/next dates while resource is scrolled down\n _this.handleScrollLeftRequest = function (scrollLeft) {\n var layout = _this.layoutRef.current;\n layout.forceTimeScroll(scrollLeft);\n };\n _this.handleScrollRequest = function (request) {\n var rowCoords = _this.rowCoords;\n var layout = _this.layoutRef.current;\n var rowId = request.rowId || request.resourceId;\n if (rowCoords) {\n if (rowId) {\n var rowIdToIndex = _this.buildRowIndex(_this.renderedRowNodes);\n var index = rowIdToIndex[rowId];\n if (index != null) {\n var scrollTop = (request.fromBottom != null ?\n rowCoords.bottoms[index] - request.fromBottom : // pixels from bottom edge\n rowCoords.tops[index] // just use top edge\n );\n layout.forceResourceScroll(scrollTop);\n }\n }\n return true;\n }\n return null;\n };\n // Resource INDIVIDUAL-Column Area Resizing\n // ------------------------------------------------------------------------------------------\n _this.handleColWidthChange = function (colWidths) {\n _this.setState({\n spreadsheetColWidths: colWidths,\n });\n };\n _this.state = {\n resourceAreaWidth: context.options.resourceAreaWidth,\n spreadsheetColWidths: [],\n };\n return _this;\n }\n ResourceTimelineView.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, state = _a.state, context = _a.context;\n var options = context.options, viewSpec = context.viewSpec;\n var _b = this.processColOptions(context.options), superHeaderRendering = _b.superHeaderRendering, groupSpecs = _b.groupSpecs, orderSpecs = _b.orderSpecs, isVGrouping = _b.isVGrouping, colSpecs = _b.colSpecs;\n var tDateProfile = this.buildTimelineDateProfile(props.dateProfile, context.dateEnv, options, context.dateProfileGenerator);\n var rowNodes = this.rowNodes = this.buildRowNodes(props.resourceStore, groupSpecs, orderSpecs, isVGrouping, props.resourceEntityExpansions, options.resourcesInitiallyExpanded);\n var extraClassNames = [\n 'fc-resource-timeline',\n this.hasNesting(rowNodes) ? '' : 'fc-resource-timeline-flat',\n 'fc-timeline',\n options.eventOverlap === false ? 'fc-timeline-overlap-disabled' : 'fc-timeline-overlap-enabled',\n ];\n var slotMinWidth = options.slotMinWidth;\n var slatCols = buildSlatCols(tDateProfile, slotMinWidth || this.computeFallbackSlotMinWidth(tDateProfile));\n return (createElement(ViewRoot, { viewSpec: viewSpec }, function (rootElRef, classNames) { return (createElement(\"div\", { ref: rootElRef, className: extraClassNames.concat(classNames).join(' ') },\n createElement(ResourceTimelineViewLayout, { ref: _this.layoutRef, forPrint: props.forPrint, isHeightAuto: props.isHeightAuto, spreadsheetCols: buildSpreadsheetCols(colSpecs, state.spreadsheetColWidths, ''), spreadsheetHeaderRows: function (contentArg) { return (createElement(SpreadsheetHeader // TODO: rename to SpreadsheetHeaderRows\n , { superHeaderRendering: superHeaderRendering, colSpecs: colSpecs, onColWidthChange: _this.handleColWidthChange, rowInnerHeights: contentArg.rowSyncHeights })); }, spreadsheetBodyRows: function (contentArg) { return (createElement(Fragment, null, _this.renderSpreadsheetRows(rowNodes, colSpecs, contentArg.rowSyncHeights))); }, timeCols: slatCols, timeHeaderContent: function (contentArg) { return (createElement(TimelineHeader, { clientWidth: contentArg.clientWidth, clientHeight: contentArg.clientHeight, tableMinWidth: contentArg.tableMinWidth, tableColGroupNode: contentArg.tableColGroupNode, dateProfile: props.dateProfile, tDateProfile: tDateProfile, slatCoords: state.slatCoords, rowInnerHeights: contentArg.rowSyncHeights, onMaxCushionWidth: slotMinWidth ? null : _this.handleMaxCushionWidth })); }, timeBodyContent: function (contentArg) { return (createElement(ResourceTimelineGrid, { dateProfile: props.dateProfile, clientWidth: contentArg.clientWidth, clientHeight: contentArg.clientHeight, tableMinWidth: contentArg.tableMinWidth, tableColGroupNode: contentArg.tableColGroupNode, expandRows: contentArg.expandRows, tDateProfile: tDateProfile, rowNodes: rowNodes, businessHours: props.businessHours, dateSelection: props.dateSelection, eventStore: props.eventStore, eventUiBases: props.eventUiBases, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, resourceStore: props.resourceStore, nextDayThreshold: context.options.nextDayThreshold, rowInnerHeights: contentArg.rowSyncHeights, onSlatCoords: _this.handleSlatCoords, onRowCoords: _this.handleRowCoords, onScrollLeftRequest: _this.handleScrollLeftRequest, onRowHeightChange: contentArg.reportRowHeightChange })); } }))); }));\n };\n ResourceTimelineView.prototype.renderSpreadsheetRows = function (nodes, colSpecs, rowSyncHeights) {\n return nodes.map(function (node, index) {\n if (node.group) {\n return (createElement(SpreadsheetGroupRow, { key: node.id, id: node.id, spreadsheetColCnt: colSpecs.length, isExpanded: node.isExpanded, group: node.group, innerHeight: rowSyncHeights[index] || '' }));\n }\n if (node.resource) {\n return (createElement(SpreadsheetRow, { key: node.id, colSpecs: colSpecs, rowSpans: node.rowSpans, depth: node.depth, isExpanded: node.isExpanded, hasChildren: node.hasChildren, resource: node.resource, innerHeight: rowSyncHeights[index] || '' }));\n }\n return null;\n });\n };\n ResourceTimelineView.prototype.componentDidMount = function () {\n this.renderedRowNodes = this.rowNodes;\n this.scrollResponder = this.context.createScrollResponder(this.handleScrollRequest);\n };\n ResourceTimelineView.prototype.getSnapshotBeforeUpdate = function () {\n if (!this.props.forPrint) { // because print-view is always zero?\n return { resourceScroll: this.queryResourceScroll() };\n }\n return {};\n };\n ResourceTimelineView.prototype.componentDidUpdate = function (prevProps, prevState, snapshot) {\n this.renderedRowNodes = this.rowNodes;\n this.scrollResponder.update(prevProps.dateProfile !== this.props.dateProfile);\n if (snapshot.resourceScroll) {\n this.handleScrollRequest(snapshot.resourceScroll); // TODO: this gets triggered too often\n }\n };\n ResourceTimelineView.prototype.componentWillUnmount = function () {\n this.scrollResponder.detach();\n };\n ResourceTimelineView.prototype.computeFallbackSlotMinWidth = function (tDateProfile) {\n return Math.max(30, ((this.state.slotCushionMaxWidth || 0) / tDateProfile.slotsPerLabel));\n };\n ResourceTimelineView.prototype.queryResourceScroll = function () {\n var _a = this, rowCoords = _a.rowCoords, renderedRowNodes = _a.renderedRowNodes;\n if (rowCoords) {\n var layout = this.layoutRef.current;\n var trBottoms = rowCoords.bottoms;\n var scrollTop = layout.getResourceScroll();\n var scroll_1 = {};\n for (var i = 0; i < trBottoms.length; i += 1) {\n var rowNode = renderedRowNodes[i];\n var elBottom = trBottoms[i] - scrollTop; // from the top of the scroller\n if (elBottom > 0) {\n scroll_1.rowId = rowNode.id;\n scroll_1.fromBottom = elBottom;\n break;\n }\n }\n return scroll_1;\n }\n return null;\n };\n return ResourceTimelineView;\n}(BaseComponent));\nResourceTimelineView.addStateEquality({\n spreadsheetColWidths: isArraysEqual,\n});\nfunction buildRowIndex(rowNodes) {\n var rowIdToIndex = {};\n for (var i = 0; i < rowNodes.length; i += 1) {\n rowIdToIndex[rowNodes[i].id] = i;\n }\n return rowIdToIndex;\n}\nfunction buildSpreadsheetCols(colSpecs, forcedWidths, fallbackWidth) {\n if (fallbackWidth === void 0) { fallbackWidth = ''; }\n return colSpecs.map(function (colSpec, i) { return ({\n className: colSpec.isMain ? 'fc-main-col' : '',\n width: forcedWidths[i] || colSpec.width || fallbackWidth,\n }); });\n}\nfunction hasNesting(nodes) {\n for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {\n var node = nodes_1[_i];\n if (node.group) {\n return true;\n }\n if (node.resource) {\n if (node.hasChildren) {\n return true;\n }\n }\n }\n return false;\n}\nfunction processColOptions(options) {\n var allColSpecs = options.resourceAreaColumns || [];\n var superHeaderRendering = null;\n if (!allColSpecs.length) {\n allColSpecs.push({\n headerClassNames: options.resourceAreaHeaderClassNames,\n headerContent: options.resourceAreaHeaderContent || 'Resources',\n headerDidMount: options.resourceAreaHeaderDidMount,\n headerWillUnmount: options.resourceAreaHeaderWillUnmount,\n });\n }\n else if (options.resourceAreaHeaderContent) { // weird way to determine if content\n superHeaderRendering = {\n headerClassNames: options.resourceAreaHeaderClassNames,\n headerContent: options.resourceAreaHeaderContent,\n headerDidMount: options.resourceAreaHeaderDidMount,\n headerWillUnmount: options.resourceAreaHeaderWillUnmount,\n };\n }\n var plainColSpecs = [];\n var groupColSpecs = []; // part of the colSpecs, but filtered out in order to put first\n var groupSpecs = [];\n var isVGrouping = false;\n for (var _i = 0, allColSpecs_1 = allColSpecs; _i < allColSpecs_1.length; _i++) {\n var colSpec = allColSpecs_1[_i];\n if (colSpec.group) {\n groupColSpecs.push(__assign(__assign({}, colSpec), { cellClassNames: colSpec.cellClassNames || options.resourceGroupLabelClassNames, cellContent: colSpec.cellContent || options.resourceGroupLabelContent, cellDidMount: colSpec.cellDidMount || options.resourceGroupLabelDidMount, cellWillUnmount: colSpec.cellWillUnmount || options.resourceGroupLaneWillUnmount }));\n }\n else {\n plainColSpecs.push(colSpec);\n }\n }\n // BAD: mutates a user-supplied option\n var mainColSpec = plainColSpecs[0];\n mainColSpec.isMain = true;\n mainColSpec.cellClassNames = mainColSpec.cellClassNames || options.resourceLabelClassNames;\n mainColSpec.cellContent = mainColSpec.cellContent || options.resourceLabelContent;\n mainColSpec.cellDidMount = mainColSpec.cellDidMount || options.resourceLabelDidMount;\n mainColSpec.cellWillUnmount = mainColSpec.cellWillUnmount || options.resourceLabelWillUnmount;\n if (groupColSpecs.length) {\n groupSpecs = groupColSpecs;\n isVGrouping = true;\n }\n else {\n var hGroupField = options.resourceGroupField;\n if (hGroupField) {\n groupSpecs.push({\n field: hGroupField,\n labelClassNames: options.resourceGroupLabelClassNames,\n labelContent: options.resourceGroupLabelContent,\n labelDidMount: options.resourceGroupLabelDidMount,\n labelWillUnmount: options.resourceGroupLabelWillUnmount,\n laneClassNames: options.resourceGroupLaneClassNames,\n laneContent: options.resourceGroupLaneContent,\n laneDidMount: options.resourceGroupLaneDidMount,\n laneWillUnmount: options.resourceGroupLaneWillUnmount,\n });\n }\n }\n var allOrderSpecs = options.resourceOrder || DEFAULT_RESOURCE_ORDER;\n var plainOrderSpecs = [];\n for (var _a = 0, allOrderSpecs_1 = allOrderSpecs; _a < allOrderSpecs_1.length; _a++) {\n var orderSpec = allOrderSpecs_1[_a];\n var isGroup = false;\n for (var _b = 0, groupSpecs_1 = groupSpecs; _b < groupSpecs_1.length; _b++) {\n var groupSpec = groupSpecs_1[_b];\n if (groupSpec.field === orderSpec.field) {\n groupSpec.order = orderSpec.order; // -1, 0, 1\n isGroup = true;\n break;\n }\n }\n if (!isGroup) {\n plainOrderSpecs.push(orderSpec);\n }\n }\n return {\n superHeaderRendering: superHeaderRendering,\n isVGrouping: isVGrouping,\n groupSpecs: groupSpecs,\n colSpecs: groupColSpecs.concat(plainColSpecs),\n orderSpecs: plainOrderSpecs,\n };\n}\n\nvar main = createPlugin({\n deps: [\n premiumCommonPlugin,\n resourceCommonPlugin,\n timelinePlugin,\n ],\n initialView: 'resourceTimelineDay',\n views: {\n resourceTimeline: {\n type: 'timeline',\n component: ResourceTimelineView,\n needsResourceData: true,\n resourceAreaWidth: '30%',\n resourcesInitiallyExpanded: true,\n eventResizableFromStart: true, // TODO: not DRY with this same setting in the main timeline config\n },\n resourceTimelineDay: {\n type: 'resourceTimeline',\n duration: { days: 1 },\n },\n resourceTimelineWeek: {\n type: 'resourceTimeline',\n duration: { weeks: 1 },\n },\n resourceTimelineMonth: {\n type: 'resourceTimeline',\n duration: { months: 1 },\n },\n resourceTimelineYear: {\n type: 'resourceTimeline',\n duration: { years: 1 },\n },\n },\n});\n\nexport default main;\nexport { ResourceTimelineLane, ResourceTimelineView, SpreadsheetRow };\n","/*!\nFullCalendar Scheduler v5.10.1\nDocs & License: https://fullcalendar.io/scheduler\n(c) 2021 Adam Shaw\n*/\nimport { Emitter, DelayedRunner, removeElement, computeEdges, findElements, translateRect, computeInnerRect, applyStyle, createRef, setRef, getIsRtlScrollbarOnLeft, createElement, Scroller, isPropsEqual, BaseComponent, memoizeArraylike, renderMicroColGroup, RefMap, memoizeHashlike, getScrollGridClassNames, getCanVGrowWithinCell, Fragment, getSectionClassNames, getAllowYScrolling, getSectionHasLiquidHeight, renderChunkContent, config, computeShrinkWidth, getScrollbarWidths, collectFromHash, mapHash, isArraysEqual, sanitizeShrinkWidth, hasShrinkWidth, compareObjs, isColPropsEqual, createPlugin } from '@fullcalendar/common';\nimport premiumCommonPlugin from '@fullcalendar/premium-common';\nimport { __extends, __assign, __spreadArray } from 'tslib';\n\nvar WHEEL_EVENT_NAMES = 'wheel mousewheel DomMouseScroll MozMousePixelScroll'.split(' ');\n/*\nALSO, with the ability to disable touch\n*/\nvar ScrollListener = /** @class */ (function () {\n function ScrollListener(el) {\n var _this = this;\n this.el = el;\n this.emitter = new Emitter();\n this.isScrolling = false;\n this.isTouching = false; // user currently has finger down?\n this.isRecentlyWheeled = false;\n this.isRecentlyScrolled = false;\n this.wheelWaiter = new DelayedRunner(this._handleWheelWaited.bind(this));\n this.scrollWaiter = new DelayedRunner(this._handleScrollWaited.bind(this));\n // Handlers\n // ----------------------------------------------------------------------------------------------\n this.handleScroll = function () {\n _this.startScroll();\n _this.emitter.trigger('scroll', _this.isRecentlyWheeled, _this.isTouching);\n _this.isRecentlyScrolled = true;\n _this.scrollWaiter.request(500);\n };\n // will fire *before* the scroll event is fired (might not cause a scroll)\n this.handleWheel = function () {\n _this.isRecentlyWheeled = true;\n _this.wheelWaiter.request(500);\n };\n // will fire *before* the scroll event is fired (might not cause a scroll)\n this.handleTouchStart = function () {\n _this.isTouching = true;\n };\n this.handleTouchEnd = function () {\n _this.isTouching = false;\n // if the user ended their touch, and the scroll area wasn't moving,\n // we consider this to be the end of the scroll.\n if (!_this.isRecentlyScrolled) {\n _this.endScroll(); // won't fire if already ended\n }\n };\n el.addEventListener('scroll', this.handleScroll);\n el.addEventListener('touchstart', this.handleTouchStart, { passive: true });\n el.addEventListener('touchend', this.handleTouchEnd);\n for (var _i = 0, WHEEL_EVENT_NAMES_1 = WHEEL_EVENT_NAMES; _i < WHEEL_EVENT_NAMES_1.length; _i++) {\n var eventName = WHEEL_EVENT_NAMES_1[_i];\n el.addEventListener(eventName, this.handleWheel);\n }\n }\n ScrollListener.prototype.destroy = function () {\n var el = this.el;\n el.removeEventListener('scroll', this.handleScroll);\n el.removeEventListener('touchstart', this.handleTouchStart, { passive: true });\n el.removeEventListener('touchend', this.handleTouchEnd);\n for (var _i = 0, WHEEL_EVENT_NAMES_2 = WHEEL_EVENT_NAMES; _i < WHEEL_EVENT_NAMES_2.length; _i++) {\n var eventName = WHEEL_EVENT_NAMES_2[_i];\n el.removeEventListener(eventName, this.handleWheel);\n }\n };\n // Start / Stop\n // ----------------------------------------------------------------------------------------------\n ScrollListener.prototype.startScroll = function () {\n if (!this.isScrolling) {\n this.isScrolling = true;\n this.emitter.trigger('scrollStart', this.isRecentlyWheeled, this.isTouching);\n }\n };\n ScrollListener.prototype.endScroll = function () {\n if (this.isScrolling) {\n this.emitter.trigger('scrollEnd');\n this.isScrolling = false;\n this.isRecentlyScrolled = true;\n this.isRecentlyWheeled = false;\n this.scrollWaiter.clear();\n this.wheelWaiter.clear();\n }\n };\n ScrollListener.prototype._handleScrollWaited = function () {\n this.isRecentlyScrolled = false;\n // only end the scroll if not currently touching.\n // if touching, the scrolling will end later, on touchend.\n if (!this.isTouching) {\n this.endScroll(); // won't fire if already ended\n }\n };\n ScrollListener.prototype._handleWheelWaited = function () {\n this.isRecentlyWheeled = false;\n };\n return ScrollListener;\n}());\n\n// TODO: assume the el has no borders?\nfunction getScrollCanvasOrigin(scrollEl) {\n var rect = scrollEl.getBoundingClientRect();\n var edges = computeEdges(scrollEl); // TODO: pass in isRtl?\n return {\n left: rect.left + edges.borderLeft + edges.scrollbarLeft - getScrollFromLeftEdge(scrollEl),\n top: rect.top + edges.borderTop - scrollEl.scrollTop,\n };\n}\nfunction getScrollFromLeftEdge(el) {\n var scrollLeft = el.scrollLeft;\n var computedStyles = window.getComputedStyle(el); // TODO: pass in isRtl instead?\n if (computedStyles.direction === 'rtl') {\n switch (getRtlScrollSystem()) {\n case 'negative':\n scrollLeft *= -1; // convert to 'reverse'. fall through...\n case 'reverse': // scrollLeft is distance between scrollframe's right edge scrollcanvas's right edge\n scrollLeft = el.scrollWidth - scrollLeft - el.clientWidth;\n }\n }\n return scrollLeft;\n}\nfunction setScrollFromLeftEdge(el, scrollLeft) {\n var computedStyles = window.getComputedStyle(el); // TODO: pass in isRtl instead?\n if (computedStyles.direction === 'rtl') {\n switch (getRtlScrollSystem()) {\n case 'reverse':\n scrollLeft = el.scrollWidth - scrollLeft;\n break;\n case 'negative':\n scrollLeft = -(el.scrollWidth - scrollLeft);\n break;\n }\n }\n el.scrollLeft = scrollLeft;\n}\n// Horizontal Scroll System Detection\n// ----------------------------------------------------------------------------------------------\nvar _rtlScrollSystem;\nfunction getRtlScrollSystem() {\n return _rtlScrollSystem || (_rtlScrollSystem = detectRtlScrollSystem());\n}\nfunction detectRtlScrollSystem() {\n var el = document.createElement('div');\n el.style.position = 'absolute';\n el.style.top = '-1000px';\n el.style.width = '1px';\n el.style.height = '1px';\n el.style.overflow = 'scroll';\n el.style.direction = 'rtl';\n el.style.fontSize = '100px';\n el.innerHTML = 'A';\n document.body.appendChild(el);\n var system;\n if (el.scrollLeft > 0) {\n system = 'positive'; // scroll is a positive number from the left edge\n }\n else {\n el.scrollLeft = 1;\n if (el.scrollLeft > 0) {\n system = 'reverse'; // scroll is a positive number from the right edge\n }\n else {\n system = 'negative'; // scroll is a negative number from the right edge\n }\n }\n removeElement(el);\n return system;\n}\n\nvar IS_MS_EDGE = typeof navigator !== 'undefined' && /Edge/.test(navigator.userAgent); // TODO: what about Chromeum-based Edge?\nvar STICKY_SELECTOR = '.fc-sticky';\n/*\nuseful beyond the native position:sticky for these reasons:\n- support in IE11\n- nice centering support\n\nREQUIREMENT: fc-sticky elements, if the fc-sticky className is taken away, should NOT have relative or absolute positioning.\nThis is because we attach the coords with JS, and the VDOM might take away the fc-sticky class but doesn't know kill the positioning.\n\nTODO: don't query text-align:center. isn't compatible with flexbox centering. instead, check natural X coord within parent container\n*/\nvar StickyScrolling = /** @class */ (function () {\n function StickyScrolling(scrollEl, isRtl) {\n var _this = this;\n this.scrollEl = scrollEl;\n this.isRtl = isRtl;\n this.usingRelative = null;\n this.updateSize = function () {\n var scrollEl = _this.scrollEl;\n var els = findElements(scrollEl, STICKY_SELECTOR);\n var elGeoms = _this.queryElGeoms(els);\n var viewportWidth = scrollEl.clientWidth;\n var viewportHeight = scrollEl.clientHeight;\n if (_this.usingRelative) {\n var elDestinations = _this.computeElDestinations(elGeoms, viewportWidth); // read before prepPositioning\n assignRelativePositions(els, elGeoms, elDestinations, viewportWidth, viewportHeight);\n }\n else {\n assignStickyPositions(els, elGeoms, viewportWidth);\n }\n };\n this.usingRelative =\n !getStickySupported() || // IE11\n // https://stackoverflow.com/questions/56835658/in-microsoft-edge-sticky-positioning-doesnt-work-when-combined-with-dir-rtl\n (IS_MS_EDGE && isRtl);\n if (this.usingRelative) {\n this.listener = new ScrollListener(scrollEl);\n this.listener.emitter.on('scrollEnd', this.updateSize);\n }\n }\n StickyScrolling.prototype.destroy = function () {\n if (this.listener) {\n this.listener.destroy();\n }\n };\n StickyScrolling.prototype.queryElGeoms = function (els) {\n var _a = this, scrollEl = _a.scrollEl, isRtl = _a.isRtl;\n var canvasOrigin = getScrollCanvasOrigin(scrollEl);\n var elGeoms = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n var parentBound = translateRect(computeInnerRect(el.parentNode, true, true), // weird way to call this!!!\n -canvasOrigin.left, -canvasOrigin.top);\n var elRect = el.getBoundingClientRect();\n var computedStyles = window.getComputedStyle(el);\n var textAlign = window.getComputedStyle(el.parentNode).textAlign; // ask the parent\n var naturalBound = null;\n if (textAlign === 'start') {\n textAlign = isRtl ? 'right' : 'left';\n }\n else if (textAlign === 'end') {\n textAlign = isRtl ? 'left' : 'right';\n }\n if (computedStyles.position !== 'sticky') {\n naturalBound = translateRect(elRect, -canvasOrigin.left - (parseFloat(computedStyles.left) || 0), // could be 'auto'\n -canvasOrigin.top - (parseFloat(computedStyles.top) || 0));\n }\n elGeoms.push({\n parentBound: parentBound,\n naturalBound: naturalBound,\n elWidth: elRect.width,\n elHeight: elRect.height,\n textAlign: textAlign,\n });\n }\n return elGeoms;\n };\n // only for IE\n StickyScrolling.prototype.computeElDestinations = function (elGeoms, viewportWidth) {\n var scrollEl = this.scrollEl;\n var viewportTop = scrollEl.scrollTop;\n var viewportLeft = getScrollFromLeftEdge(scrollEl);\n var viewportRight = viewportLeft + viewportWidth;\n return elGeoms.map(function (elGeom) {\n var elWidth = elGeom.elWidth, elHeight = elGeom.elHeight, parentBound = elGeom.parentBound, naturalBound = elGeom.naturalBound;\n var destLeft; // relative to canvas topleft\n var destTop; // \"\n switch (elGeom.textAlign) {\n case 'left':\n destLeft = viewportLeft;\n break;\n case 'right':\n destLeft = viewportRight - elWidth;\n break;\n case 'center':\n destLeft = (viewportLeft + viewportRight) / 2 - elWidth / 2; /// noooo, use half-width insteadddddddd\n break;\n }\n destLeft = Math.min(destLeft, parentBound.right - elWidth);\n destLeft = Math.max(destLeft, parentBound.left);\n destTop = viewportTop;\n destTop = Math.min(destTop, parentBound.bottom - elHeight);\n destTop = Math.max(destTop, naturalBound.top); // better to use natural top for upper bound\n return { left: destLeft, top: destTop };\n });\n };\n return StickyScrolling;\n}());\nfunction assignRelativePositions(els, elGeoms, elDestinations, viewportWidth, viewportHeight) {\n els.forEach(function (el, i) {\n var _a = elGeoms[i], naturalBound = _a.naturalBound, parentBound = _a.parentBound;\n var parentWidth = parentBound.right - parentBound.left;\n var parentHeight = parentBound.bottom - parentBound.bottom;\n var left;\n var top;\n if (parentWidth > viewportWidth ||\n parentHeight > viewportHeight) {\n left = elDestinations[i].left - naturalBound.left;\n top = elDestinations[i].top - naturalBound.top;\n }\n else { // if parent container can be completely in view, we don't need stickiness\n left = '';\n top = '';\n }\n applyStyle(el, {\n position: 'relative',\n left: left,\n right: -left,\n top: top,\n });\n });\n}\nfunction assignStickyPositions(els, elGeoms, viewportWidth) {\n els.forEach(function (el, i) {\n var _a = elGeoms[i], textAlign = _a.textAlign, elWidth = _a.elWidth, parentBound = _a.parentBound;\n var parentWidth = parentBound.right - parentBound.left;\n var left;\n if (textAlign === 'center' &&\n parentWidth > viewportWidth) {\n left = (viewportWidth - elWidth) / 2;\n }\n else { // if parent container can be completely in view, we don't need stickiness\n left = '';\n }\n applyStyle(el, {\n left: left,\n right: left,\n top: 0,\n });\n });\n}\nvar _isStickySupported;\nfunction getStickySupported() {\n if (_isStickySupported == null) {\n _isStickySupported = computeStickySupported();\n }\n return _isStickySupported;\n}\nfunction computeStickySupported() {\n var el = document.createElement('div');\n el.style.position = 'sticky';\n document.body.appendChild(el);\n var val = window.getComputedStyle(el).position;\n removeElement(el);\n return val === 'sticky';\n}\n\nvar ClippedScroller = /** @class */ (function (_super) {\n __extends(ClippedScroller, _super);\n function ClippedScroller() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.elRef = createRef();\n _this.state = {\n xScrollbarWidth: 0,\n yScrollbarWidth: 0,\n };\n _this.handleScroller = function (scroller) {\n _this.scroller = scroller;\n setRef(_this.props.scrollerRef, scroller);\n };\n _this.handleSizing = function () {\n var props = _this.props;\n if (props.overflowY === 'scroll-hidden') {\n _this.setState({ yScrollbarWidth: _this.scroller.getYScrollbarWidth() });\n }\n if (props.overflowX === 'scroll-hidden') {\n _this.setState({ xScrollbarWidth: _this.scroller.getXScrollbarWidth() });\n }\n };\n return _this;\n }\n ClippedScroller.prototype.render = function () {\n var _a = this, props = _a.props, state = _a.state, context = _a.context;\n var isScrollbarOnLeft = context.isRtl && getIsRtlScrollbarOnLeft();\n var overcomeLeft = 0;\n var overcomeRight = 0;\n var overcomeBottom = 0;\n if (props.overflowX === 'scroll-hidden') {\n overcomeBottom = state.xScrollbarWidth;\n }\n if (props.overflowY === 'scroll-hidden') {\n if (state.yScrollbarWidth != null) {\n if (isScrollbarOnLeft) {\n overcomeLeft = state.yScrollbarWidth;\n }\n else {\n overcomeRight = state.yScrollbarWidth;\n }\n }\n }\n return (createElement(\"div\", { ref: this.elRef, className: 'fc-scroller-harness' + (props.liquid ? ' fc-scroller-harness-liquid' : '') },\n createElement(Scroller, { ref: this.handleScroller, elRef: this.props.scrollerElRef, overflowX: props.overflowX === 'scroll-hidden' ? 'scroll' : props.overflowX, overflowY: props.overflowY === 'scroll-hidden' ? 'scroll' : props.overflowY, overcomeLeft: overcomeLeft, overcomeRight: overcomeRight, overcomeBottom: overcomeBottom, maxHeight: typeof props.maxHeight === 'number'\n ? (props.maxHeight + (props.overflowX === 'scroll-hidden' ? state.xScrollbarWidth : 0))\n : '', liquid: props.liquid, liquidIsAbsolute: true }, props.children)));\n };\n ClippedScroller.prototype.componentDidMount = function () {\n this.handleSizing();\n this.context.addResizeHandler(this.handleSizing);\n };\n ClippedScroller.prototype.componentDidUpdate = function (prevProps) {\n if (!isPropsEqual(prevProps, this.props)) { // an external change?\n this.handleSizing();\n }\n };\n ClippedScroller.prototype.componentWillUnmount = function () {\n this.context.removeResizeHandler(this.handleSizing);\n };\n ClippedScroller.prototype.needsXScrolling = function () {\n return this.scroller.needsXScrolling();\n };\n ClippedScroller.prototype.needsYScrolling = function () {\n return this.scroller.needsYScrolling();\n };\n return ClippedScroller;\n}(BaseComponent));\n\nvar ScrollSyncer = /** @class */ (function () {\n function ScrollSyncer(isVertical, scrollEls) {\n var _this = this;\n this.isVertical = isVertical;\n this.scrollEls = scrollEls;\n this.isPaused = false;\n this.scrollListeners = scrollEls.map(function (el) { return _this.bindScroller(el); });\n }\n ScrollSyncer.prototype.destroy = function () {\n for (var _i = 0, _a = this.scrollListeners; _i < _a.length; _i++) {\n var scrollListener = _a[_i];\n scrollListener.destroy();\n }\n };\n ScrollSyncer.prototype.bindScroller = function (el) {\n var _this = this;\n var _a = this, scrollEls = _a.scrollEls, isVertical = _a.isVertical;\n var scrollListener = new ScrollListener(el);\n var onScroll = function (isWheel, isTouch) {\n if (!_this.isPaused) {\n if (!_this.masterEl || (_this.masterEl !== el && (isWheel || isTouch))) {\n _this.assignMaster(el);\n }\n if (_this.masterEl === el) { // dealing with current\n for (var _i = 0, scrollEls_1 = scrollEls; _i < scrollEls_1.length; _i++) {\n var otherEl = scrollEls_1[_i];\n if (otherEl !== el) {\n if (isVertical) {\n otherEl.scrollTop = el.scrollTop;\n }\n else {\n otherEl.scrollLeft = el.scrollLeft;\n }\n }\n }\n }\n }\n };\n var onScrollEnd = function () {\n if (_this.masterEl === el) {\n _this.masterEl = null;\n }\n };\n scrollListener.emitter.on('scroll', onScroll);\n scrollListener.emitter.on('scrollEnd', onScrollEnd);\n return scrollListener;\n };\n ScrollSyncer.prototype.assignMaster = function (el) {\n this.masterEl = el;\n for (var _i = 0, _a = this.scrollListeners; _i < _a.length; _i++) {\n var scrollListener = _a[_i];\n if (scrollListener.el !== el) {\n scrollListener.endScroll(); // to prevent residual scrolls from reclaiming master\n }\n }\n };\n /*\n will normalize the scrollLeft value\n */\n ScrollSyncer.prototype.forceScrollLeft = function (scrollLeft) {\n this.isPaused = true;\n for (var _i = 0, _a = this.scrollListeners; _i < _a.length; _i++) {\n var listener = _a[_i];\n setScrollFromLeftEdge(listener.el, scrollLeft);\n }\n this.isPaused = false;\n };\n ScrollSyncer.prototype.forceScrollTop = function (top) {\n this.isPaused = true;\n for (var _i = 0, _a = this.scrollListeners; _i < _a.length; _i++) {\n var listener = _a[_i];\n listener.el.scrollTop = top;\n }\n this.isPaused = false;\n };\n return ScrollSyncer;\n}());\n\n/*\nTODO: make subcomponent\nNOTE: doesn't support collapsibleWidth (which is sortof a hack anyway)\n*/\nvar ScrollGrid = /** @class */ (function (_super) {\n __extends(ScrollGrid, _super);\n function ScrollGrid() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.compileColGroupStats = memoizeArraylike(compileColGroupStat, isColGroupStatsEqual);\n _this.renderMicroColGroups = memoizeArraylike(renderMicroColGroup); // yucky to memoize VNodes, but much more efficient for consumers\n _this.clippedScrollerRefs = new RefMap();\n // doesn't hold non-scrolling els used just for padding\n _this.scrollerElRefs = new RefMap(_this._handleScrollerEl.bind(_this));\n _this.chunkElRefs = new RefMap(_this._handleChunkEl.bind(_this));\n _this.getStickyScrolling = memoizeArraylike(initStickyScrolling, null, destroyStickyScrolling);\n _this.getScrollSyncersBySection = memoizeHashlike(initScrollSyncer.bind(_this, true), null, destroyScrollSyncer);\n _this.getScrollSyncersByColumn = memoizeHashlike(initScrollSyncer.bind(_this, false), null, destroyScrollSyncer);\n _this.stickyScrollings = [];\n _this.scrollSyncersBySection = {};\n _this.scrollSyncersByColumn = {};\n // for row-height-syncing\n _this.rowUnstableMap = new Map(); // no need to groom. always self-cancels\n _this.rowInnerMaxHeightMap = new Map();\n _this.anyRowHeightsChanged = false;\n _this.recentSizingCnt = 0;\n _this.state = {\n shrinkWidths: [],\n forceYScrollbars: false,\n forceXScrollbars: false,\n scrollerClientWidths: {},\n scrollerClientHeights: {},\n sectionRowMaxHeights: [],\n };\n _this.handleSizing = function (isForcedResize, sectionRowMaxHeightsChanged) {\n if (!_this.allowSizing()) {\n return;\n }\n if (!sectionRowMaxHeightsChanged) { // something else changed, probably external\n _this.anyRowHeightsChanged = true;\n }\n var otherState = {};\n // if reacting to self-change of sectionRowMaxHeightsChanged, or not stable, don't do anything\n if (isForcedResize || (!sectionRowMaxHeightsChanged && !_this.rowUnstableMap.size)) {\n otherState.sectionRowMaxHeights = _this.computeSectionRowMaxHeights();\n }\n _this.setState(__assign(__assign({ shrinkWidths: _this.computeShrinkWidths() }, _this.computeScrollerDims()), otherState), function () {\n if (!_this.rowUnstableMap.size) {\n _this.updateStickyScrolling(); // needs to happen AFTER final positioning committed to DOM\n }\n });\n };\n _this.handleRowHeightChange = function (rowEl, isStable) {\n var _a = _this, rowUnstableMap = _a.rowUnstableMap, rowInnerMaxHeightMap = _a.rowInnerMaxHeightMap;\n if (!isStable) {\n rowUnstableMap.set(rowEl, true);\n }\n else {\n rowUnstableMap.delete(rowEl);\n var innerMaxHeight = getRowInnerMaxHeight(rowEl);\n if (!rowInnerMaxHeightMap.has(rowEl) || rowInnerMaxHeightMap.get(rowEl) !== innerMaxHeight) {\n rowInnerMaxHeightMap.set(rowEl, innerMaxHeight);\n _this.anyRowHeightsChanged = true;\n }\n if (!rowUnstableMap.size && _this.anyRowHeightsChanged) {\n _this.anyRowHeightsChanged = false;\n _this.setState({\n sectionRowMaxHeights: _this.computeSectionRowMaxHeights(),\n });\n }\n }\n };\n return _this;\n }\n ScrollGrid.prototype.render = function () {\n var _a = this, props = _a.props, state = _a.state, context = _a.context;\n var shrinkWidths = state.shrinkWidths;\n var colGroupStats = this.compileColGroupStats(props.colGroups.map(function (colGroup) { return [colGroup]; }));\n var microColGroupNodes = this.renderMicroColGroups(colGroupStats.map(function (stat, i) { return [stat.cols, shrinkWidths[i]]; }));\n var classNames = getScrollGridClassNames(props.liquid, context);\n var _b = this.getDims(); _b[0]; _b[1];\n // TODO: make DRY\n var sectionConfigs = props.sections;\n var configCnt = sectionConfigs.length;\n var configI = 0;\n var currentConfig;\n var headSectionNodes = [];\n var bodySectionNodes = [];\n var footSectionNodes = [];\n while (configI < configCnt && (currentConfig = sectionConfigs[configI]).type === 'header') {\n headSectionNodes.push(this.renderSection(currentConfig, configI, colGroupStats, microColGroupNodes, state.sectionRowMaxHeights, true));\n configI += 1;\n }\n while (configI < configCnt && (currentConfig = sectionConfigs[configI]).type === 'body') {\n bodySectionNodes.push(this.renderSection(currentConfig, configI, colGroupStats, microColGroupNodes, state.sectionRowMaxHeights, false));\n configI += 1;\n }\n while (configI < configCnt && (currentConfig = sectionConfigs[configI]).type === 'footer') {\n footSectionNodes.push(this.renderSection(currentConfig, configI, colGroupStats, microColGroupNodes, state.sectionRowMaxHeights, true));\n configI += 1;\n }\n var isBuggy = !getCanVGrowWithinCell(); // see NOTE in SimpleScrollGrid\n var roleAttrs = { role: 'rowgroup' };\n return createElement('table', {\n ref: props.elRef,\n role: 'grid',\n className: classNames.join(' '),\n }, renderMacroColGroup(colGroupStats, shrinkWidths), Boolean(!isBuggy && headSectionNodes.length) && createElement.apply(void 0, __spreadArray(['thead', roleAttrs], headSectionNodes)), Boolean(!isBuggy && bodySectionNodes.length) && createElement.apply(void 0, __spreadArray(['tbody', roleAttrs], bodySectionNodes)), Boolean(!isBuggy && footSectionNodes.length) && createElement.apply(void 0, __spreadArray(['tfoot', roleAttrs], footSectionNodes)), isBuggy && createElement.apply(void 0, __spreadArray(__spreadArray(__spreadArray(['tbody', roleAttrs], headSectionNodes), bodySectionNodes), footSectionNodes)));\n };\n ScrollGrid.prototype.renderSection = function (sectionConfig, sectionIndex, colGroupStats, microColGroupNodes, sectionRowMaxHeights, isHeader) {\n var _this = this;\n if ('outerContent' in sectionConfig) {\n return (createElement(Fragment, { key: sectionConfig.key }, sectionConfig.outerContent));\n }\n return (createElement(\"tr\", { key: sectionConfig.key, role: \"presentation\", className: getSectionClassNames(sectionConfig, this.props.liquid).join(' ') }, sectionConfig.chunks.map(function (chunkConfig, i) { return _this.renderChunk(sectionConfig, sectionIndex, colGroupStats[i], microColGroupNodes[i], chunkConfig, i, (sectionRowMaxHeights[sectionIndex] || [])[i] || [], isHeader); })));\n };\n ScrollGrid.prototype.renderChunk = function (sectionConfig, sectionIndex, colGroupStat, microColGroupNode, chunkConfig, chunkIndex, rowHeights, isHeader) {\n if ('outerContent' in chunkConfig) {\n return (createElement(Fragment, { key: chunkConfig.key }, chunkConfig.outerContent));\n }\n var state = this.state;\n var scrollerClientWidths = state.scrollerClientWidths, scrollerClientHeights = state.scrollerClientHeights;\n var _a = this.getDims(), sectionCnt = _a[0], chunksPerSection = _a[1];\n var index = sectionIndex * chunksPerSection + chunkIndex;\n var sideScrollIndex = (!this.context.isRtl || getIsRtlScrollbarOnLeft()) ? chunksPerSection - 1 : 0;\n var isVScrollSide = chunkIndex === sideScrollIndex;\n var isLastSection = sectionIndex === sectionCnt - 1;\n var forceXScrollbars = isLastSection && state.forceXScrollbars; // NOOOO can result in `null`\n var forceYScrollbars = isVScrollSide && state.forceYScrollbars; // NOOOO can result in `null`\n var allowXScrolling = colGroupStat && colGroupStat.allowXScrolling; // rename?\n var allowYScrolling = getAllowYScrolling(this.props, sectionConfig); // rename? do in section func?\n var chunkVGrow = getSectionHasLiquidHeight(this.props, sectionConfig); // do in section func?\n var expandRows = sectionConfig.expandRows && chunkVGrow;\n var tableMinWidth = (colGroupStat && colGroupStat.totalColMinWidth) || '';\n var content = renderChunkContent(sectionConfig, chunkConfig, {\n tableColGroupNode: microColGroupNode,\n tableMinWidth: tableMinWidth,\n clientWidth: scrollerClientWidths[index] !== undefined ? scrollerClientWidths[index] : null,\n clientHeight: scrollerClientHeights[index] !== undefined ? scrollerClientHeights[index] : null,\n expandRows: expandRows,\n syncRowHeights: Boolean(sectionConfig.syncRowHeights),\n rowSyncHeights: rowHeights,\n reportRowHeightChange: this.handleRowHeightChange,\n }, isHeader);\n var overflowX = forceXScrollbars ? (isLastSection ? 'scroll' : 'scroll-hidden') :\n !allowXScrolling ? 'hidden' :\n (isLastSection ? 'auto' : 'scroll-hidden');\n var overflowY = forceYScrollbars ? (isVScrollSide ? 'scroll' : 'scroll-hidden') :\n !allowYScrolling ? 'hidden' :\n (isVScrollSide ? 'auto' : 'scroll-hidden');\n // it *could* be possible to reduce DOM wrappers by only doing a ClippedScroller when allowXScrolling or allowYScrolling,\n // but if these values were to change, the inner components would be unmounted/remounted because of the parent change.\n content = (createElement(ClippedScroller, { ref: this.clippedScrollerRefs.createRef(index), scrollerElRef: this.scrollerElRefs.createRef(index), overflowX: overflowX, overflowY: overflowY, liquid: chunkVGrow, maxHeight: sectionConfig.maxHeight }, content));\n return createElement(isHeader ? 'th' : 'td', {\n key: chunkConfig.key,\n ref: this.chunkElRefs.createRef(index),\n role: 'presentation',\n }, content);\n };\n ScrollGrid.prototype.componentDidMount = function () {\n this.updateScrollSyncers();\n this.handleSizing(false);\n this.context.addResizeHandler(this.handleSizing);\n };\n ScrollGrid.prototype.componentDidUpdate = function (prevProps, prevState) {\n this.updateScrollSyncers();\n // TODO: need better solution when state contains non-sizing things\n this.handleSizing(false, prevState.sectionRowMaxHeights !== this.state.sectionRowMaxHeights);\n };\n ScrollGrid.prototype.componentWillUnmount = function () {\n this.context.removeResizeHandler(this.handleSizing);\n this.destroyStickyScrolling();\n this.destroyScrollSyncers();\n };\n ScrollGrid.prototype.allowSizing = function () {\n var now = new Date();\n if (!this.lastSizingDate ||\n now.valueOf() > this.lastSizingDate.valueOf() + config.SCROLLGRID_RESIZE_INTERVAL) {\n this.lastSizingDate = now;\n this.recentSizingCnt = 0;\n return true;\n }\n return (this.recentSizingCnt += 1) <= 10;\n };\n ScrollGrid.prototype.computeShrinkWidths = function () {\n var _this = this;\n var colGroupStats = this.compileColGroupStats(this.props.colGroups.map(function (colGroup) { return [colGroup]; }));\n var _a = this.getDims(), sectionCnt = _a[0], chunksPerSection = _a[1];\n var cnt = sectionCnt * chunksPerSection;\n var shrinkWidths = [];\n colGroupStats.forEach(function (colGroupStat, i) {\n if (colGroupStat.hasShrinkCol) {\n var chunkEls = _this.chunkElRefs.collect(i, cnt, chunksPerSection); // in one col\n shrinkWidths[i] = computeShrinkWidth(chunkEls);\n }\n });\n return shrinkWidths;\n };\n // has the side effect of grooming rowInnerMaxHeightMap\n // TODO: somehow short-circuit if there are no new height changes\n ScrollGrid.prototype.computeSectionRowMaxHeights = function () {\n var newHeightMap = new Map();\n var _a = this.getDims(), sectionCnt = _a[0], chunksPerSection = _a[1];\n var sectionRowMaxHeights = [];\n for (var sectionI = 0; sectionI < sectionCnt; sectionI += 1) {\n var sectionConfig = this.props.sections[sectionI];\n var assignableHeights = []; // chunk, row\n if (sectionConfig && sectionConfig.syncRowHeights) {\n var rowHeightsByChunk = [];\n for (var chunkI = 0; chunkI < chunksPerSection; chunkI += 1) {\n var index = sectionI * chunksPerSection + chunkI;\n var rowHeights = [];\n var chunkEl = this.chunkElRefs.currentMap[index];\n if (chunkEl) {\n rowHeights = findElements(chunkEl, '.fc-scrollgrid-sync-table tr').map(function (rowEl) {\n var max = getRowInnerMaxHeight(rowEl);\n newHeightMap.set(rowEl, max);\n return max;\n });\n }\n else {\n rowHeights = [];\n }\n rowHeightsByChunk.push(rowHeights);\n }\n var rowCnt = rowHeightsByChunk[0].length;\n var isEqualRowCnt = true;\n for (var chunkI = 1; chunkI < chunksPerSection; chunkI += 1) {\n var isOuterContent = sectionConfig.chunks[chunkI] && sectionConfig.chunks[chunkI].outerContent !== undefined; // can be null\n if (!isOuterContent && rowHeightsByChunk[chunkI].length !== rowCnt) { // skip outer content\n isEqualRowCnt = false;\n break;\n }\n }\n if (!isEqualRowCnt) {\n var chunkHeightSums = [];\n for (var chunkI = 0; chunkI < chunksPerSection; chunkI += 1) {\n chunkHeightSums.push(sumNumbers(rowHeightsByChunk[chunkI]) + rowHeightsByChunk[chunkI].length);\n }\n var maxTotalSum = Math.max.apply(Math, chunkHeightSums);\n for (var chunkI = 0; chunkI < chunksPerSection; chunkI += 1) {\n var rowInChunkCnt = rowHeightsByChunk[chunkI].length;\n var rowInChunkTotalHeight = maxTotalSum - rowInChunkCnt; // subtract border\n // height of non-first row. we do this to avoid rounding, because it's unreliable within a table\n var rowInChunkHeightOthers = Math.floor(rowInChunkTotalHeight / rowInChunkCnt);\n // whatever is leftover goes to the first row\n var rowInChunkHeightFirst = rowInChunkTotalHeight - rowInChunkHeightOthers * (rowInChunkCnt - 1);\n var rowInChunkHeights = [];\n var row = 0;\n if (row < rowInChunkCnt) {\n rowInChunkHeights.push(rowInChunkHeightFirst);\n row += 1;\n }\n while (row < rowInChunkCnt) {\n rowInChunkHeights.push(rowInChunkHeightOthers);\n row += 1;\n }\n assignableHeights.push(rowInChunkHeights);\n }\n }\n else {\n for (var chunkI = 0; chunkI < chunksPerSection; chunkI += 1) {\n assignableHeights.push([]);\n }\n for (var row = 0; row < rowCnt; row += 1) {\n var rowHeightsAcrossChunks = [];\n for (var chunkI = 0; chunkI < chunksPerSection; chunkI += 1) {\n var h = rowHeightsByChunk[chunkI][row];\n if (h != null) { // protect against outerContent\n rowHeightsAcrossChunks.push(h);\n }\n }\n var maxHeight = Math.max.apply(Math, rowHeightsAcrossChunks);\n for (var chunkI = 0; chunkI < chunksPerSection; chunkI += 1) {\n assignableHeights[chunkI].push(maxHeight);\n }\n }\n }\n }\n sectionRowMaxHeights.push(assignableHeights);\n }\n this.rowInnerMaxHeightMap = newHeightMap;\n return sectionRowMaxHeights;\n };\n ScrollGrid.prototype.computeScrollerDims = function () {\n var scrollbarWidth = getScrollbarWidths();\n var _a = this.getDims(), sectionCnt = _a[0], chunksPerSection = _a[1];\n var sideScrollI = (!this.context.isRtl || getIsRtlScrollbarOnLeft()) ? chunksPerSection - 1 : 0;\n var lastSectionI = sectionCnt - 1;\n var currentScrollers = this.clippedScrollerRefs.currentMap;\n var scrollerEls = this.scrollerElRefs.currentMap;\n var forceYScrollbars = false;\n var forceXScrollbars = false;\n var scrollerClientWidths = {};\n var scrollerClientHeights = {};\n for (var sectionI = 0; sectionI < sectionCnt; sectionI += 1) { // along edge\n var index = sectionI * chunksPerSection + sideScrollI;\n var scroller = currentScrollers[index];\n if (scroller && scroller.needsYScrolling()) {\n forceYScrollbars = true;\n break;\n }\n }\n for (var chunkI = 0; chunkI < chunksPerSection; chunkI += 1) { // along last row\n var index = lastSectionI * chunksPerSection + chunkI;\n var scroller = currentScrollers[index];\n if (scroller && scroller.needsXScrolling()) {\n forceXScrollbars = true;\n break;\n }\n }\n for (var sectionI = 0; sectionI < sectionCnt; sectionI += 1) {\n for (var chunkI = 0; chunkI < chunksPerSection; chunkI += 1) {\n var index = sectionI * chunksPerSection + chunkI;\n var scrollerEl = scrollerEls[index];\n if (scrollerEl) {\n // TODO: weird way to get this. need harness b/c doesn't include table borders\n var harnessEl = scrollerEl.parentNode;\n scrollerClientWidths[index] = Math.floor(harnessEl.getBoundingClientRect().width - ((chunkI === sideScrollI && forceYScrollbars)\n ? scrollbarWidth.y // use global because scroller might not have scrollbars yet but will need them in future\n : 0));\n scrollerClientHeights[index] = Math.floor(harnessEl.getBoundingClientRect().height - ((sectionI === lastSectionI && forceXScrollbars)\n ? scrollbarWidth.x // use global because scroller might not have scrollbars yet but will need them in future\n : 0));\n }\n }\n }\n return { forceYScrollbars: forceYScrollbars, forceXScrollbars: forceXScrollbars, scrollerClientWidths: scrollerClientWidths, scrollerClientHeights: scrollerClientHeights };\n };\n ScrollGrid.prototype.updateStickyScrolling = function () {\n var isRtl = this.context.isRtl;\n var argsByKey = this.scrollerElRefs.getAll().map(function (scrollEl) { return [scrollEl, isRtl]; });\n var stickyScrollings = this.getStickyScrolling(argsByKey);\n stickyScrollings.forEach(function (stickyScrolling) { return stickyScrolling.updateSize(); });\n this.stickyScrollings = stickyScrollings;\n };\n ScrollGrid.prototype.destroyStickyScrolling = function () {\n this.stickyScrollings.forEach(destroyStickyScrolling);\n };\n ScrollGrid.prototype.updateScrollSyncers = function () {\n var _a = this.getDims(), sectionCnt = _a[0], chunksPerSection = _a[1];\n var cnt = sectionCnt * chunksPerSection;\n var scrollElsBySection = {};\n var scrollElsByColumn = {};\n var scrollElMap = this.scrollerElRefs.currentMap;\n for (var sectionI = 0; sectionI < sectionCnt; sectionI += 1) {\n var startIndex = sectionI * chunksPerSection;\n var endIndex = startIndex + chunksPerSection;\n scrollElsBySection[sectionI] = collectFromHash(scrollElMap, startIndex, endIndex, 1); // use the filtered\n }\n for (var col = 0; col < chunksPerSection; col += 1) {\n scrollElsByColumn[col] = this.scrollerElRefs.collect(col, cnt, chunksPerSection); // DON'T use the filtered\n }\n this.scrollSyncersBySection = this.getScrollSyncersBySection(scrollElsBySection);\n this.scrollSyncersByColumn = this.getScrollSyncersByColumn(scrollElsByColumn);\n };\n ScrollGrid.prototype.destroyScrollSyncers = function () {\n mapHash(this.scrollSyncersBySection, destroyScrollSyncer);\n mapHash(this.scrollSyncersByColumn, destroyScrollSyncer);\n };\n ScrollGrid.prototype.getChunkConfigByIndex = function (index) {\n var chunksPerSection = this.getDims()[1];\n var sectionI = Math.floor(index / chunksPerSection);\n var chunkI = index % chunksPerSection;\n var sectionConfig = this.props.sections[sectionI];\n return sectionConfig && sectionConfig.chunks[chunkI];\n };\n ScrollGrid.prototype.forceScrollLeft = function (col, scrollLeft) {\n var scrollSyncer = this.scrollSyncersByColumn[col];\n if (scrollSyncer) {\n scrollSyncer.forceScrollLeft(scrollLeft);\n }\n };\n ScrollGrid.prototype.forceScrollTop = function (sectionI, scrollTop) {\n var scrollSyncer = this.scrollSyncersBySection[sectionI];\n if (scrollSyncer) {\n scrollSyncer.forceScrollTop(scrollTop);\n }\n };\n ScrollGrid.prototype._handleChunkEl = function (chunkEl, key) {\n var chunkConfig = this.getChunkConfigByIndex(parseInt(key, 10));\n if (chunkConfig) { // null if section disappeared. bad, b/c won't null-set the elRef\n setRef(chunkConfig.elRef, chunkEl);\n }\n };\n ScrollGrid.prototype._handleScrollerEl = function (scrollerEl, key) {\n var chunkConfig = this.getChunkConfigByIndex(parseInt(key, 10));\n if (chunkConfig) { // null if section disappeared. bad, b/c won't null-set the elRef\n setRef(chunkConfig.scrollerElRef, scrollerEl);\n }\n };\n ScrollGrid.prototype.getDims = function () {\n var sectionCnt = this.props.sections.length;\n var chunksPerSection = sectionCnt ? this.props.sections[0].chunks.length : 0;\n return [sectionCnt, chunksPerSection];\n };\n return ScrollGrid;\n}(BaseComponent));\nScrollGrid.addStateEquality({\n shrinkWidths: isArraysEqual,\n scrollerClientWidths: isPropsEqual,\n scrollerClientHeights: isPropsEqual,\n});\nfunction sumNumbers(numbers) {\n var sum = 0;\n for (var _i = 0, numbers_1 = numbers; _i < numbers_1.length; _i++) {\n var n = numbers_1[_i];\n sum += n;\n }\n return sum;\n}\nfunction getRowInnerMaxHeight(rowEl) {\n var innerHeights = findElements(rowEl, '.fc-scrollgrid-sync-inner').map(getElHeight);\n if (innerHeights.length) {\n return Math.max.apply(Math, innerHeights);\n }\n return 0;\n}\nfunction getElHeight(el) {\n return el.offsetHeight; // better to deal with integers, for rounding, for PureComponent\n}\nfunction renderMacroColGroup(colGroupStats, shrinkWidths) {\n var children = colGroupStats.map(function (colGroupStat, i) {\n var width = colGroupStat.width;\n if (width === 'shrink') {\n width = colGroupStat.totalColWidth + sanitizeShrinkWidth(shrinkWidths[i]) + 1; // +1 for border :(\n }\n return ( // eslint-disable-next-line react/jsx-key\n createElement(\"col\", { style: { width: width } }));\n });\n return createElement.apply(void 0, __spreadArray(['colgroup', {}], children));\n}\nfunction compileColGroupStat(colGroupConfig) {\n var totalColWidth = sumColProp(colGroupConfig.cols, 'width'); // excludes \"shrink\"\n var totalColMinWidth = sumColProp(colGroupConfig.cols, 'minWidth');\n var hasShrinkCol = hasShrinkWidth(colGroupConfig.cols);\n var allowXScrolling = colGroupConfig.width !== 'shrink' && Boolean(totalColWidth || totalColMinWidth || hasShrinkCol);\n return {\n hasShrinkCol: hasShrinkCol,\n totalColWidth: totalColWidth,\n totalColMinWidth: totalColMinWidth,\n allowXScrolling: allowXScrolling,\n cols: colGroupConfig.cols,\n width: colGroupConfig.width,\n };\n}\nfunction sumColProp(cols, propName) {\n var total = 0;\n for (var _i = 0, cols_1 = cols; _i < cols_1.length; _i++) {\n var col = cols_1[_i];\n var val = col[propName];\n if (typeof val === 'number') {\n total += val * (col.span || 1);\n }\n }\n return total;\n}\nvar COL_GROUP_STAT_EQUALITY = {\n cols: isColPropsEqual,\n};\nfunction isColGroupStatsEqual(stat0, stat1) {\n return compareObjs(stat0, stat1, COL_GROUP_STAT_EQUALITY);\n}\n// for memoizers...\nfunction initScrollSyncer(isVertical) {\n var scrollEls = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n scrollEls[_i - 1] = arguments[_i];\n }\n return new ScrollSyncer(isVertical, scrollEls);\n}\nfunction destroyScrollSyncer(scrollSyncer) {\n scrollSyncer.destroy();\n}\nfunction initStickyScrolling(scrollEl, isRtl) {\n return new StickyScrolling(scrollEl, isRtl);\n}\nfunction destroyStickyScrolling(stickyScrolling) {\n stickyScrolling.destroy();\n}\n\nvar main = createPlugin({\n deps: [\n premiumCommonPlugin,\n ],\n scrollGridImpl: ScrollGrid,\n});\nconfig.SCROLLGRID_RESIZE_INTERVAL = 500;\n\nexport default main;\nexport { ScrollGrid, setScrollFromLeftEdge };\n","/*!\nFullCalendar v5.10.1\nDocs & License: https://fullcalendar.io/\n(c) 2021 Adam Shaw\n*/\nimport './main.css';\n\nimport { hasBgRendering, Splitter, createFormatter, createElement, ViewContextType, RenderHook, BaseComponent, createRef, diffDays, buildNavLinkAttrs, WeekNumberRoot, getStickyHeaderDates, ViewRoot, SimpleScrollGrid, getStickyFooterScrollbar, NowTimer, NowIndicatorRoot, renderScrollShim, DateComponent, rangeContainsMarker, startOfDay, asRoughMs, createDuration, RefMap, PositionCache, MoreLinkRoot, setRef, SegHierarchy, groupIntersectingEntries, buildEntryKey, binarySearch, getEntrySpanEnd, StandardEvent, DayCellContent, Fragment, getSegMeta, memoize, sortEventSegs, DayCellRoot, buildIsoString, computeEarliestSegStart, buildEventRangeKey, BgEvent, renderFill, addDurations, multiplyDuration, wholeDivideDurations, intersectRanges, Slicer, formatIsoTimeString, DayHeader, DaySeriesModel, DayTableModel, createPlugin } from '@fullcalendar/common';\nimport { __extends, __assign } from 'tslib';\nimport { DayTable } from '@fullcalendar/daygrid';\n\nvar AllDaySplitter = /** @class */ (function (_super) {\n __extends(AllDaySplitter, _super);\n function AllDaySplitter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AllDaySplitter.prototype.getKeyInfo = function () {\n return {\n allDay: {},\n timed: {},\n };\n };\n AllDaySplitter.prototype.getKeysForDateSpan = function (dateSpan) {\n if (dateSpan.allDay) {\n return ['allDay'];\n }\n return ['timed'];\n };\n AllDaySplitter.prototype.getKeysForEventDef = function (eventDef) {\n if (!eventDef.allDay) {\n return ['timed'];\n }\n if (hasBgRendering(eventDef)) {\n return ['timed', 'allDay'];\n }\n return ['allDay'];\n };\n return AllDaySplitter;\n}(Splitter));\n\nvar DEFAULT_SLAT_LABEL_FORMAT = createFormatter({\n hour: 'numeric',\n minute: '2-digit',\n omitZeroMinute: true,\n meridiem: 'short',\n});\nfunction TimeColsAxisCell(props) {\n var classNames = [\n 'fc-timegrid-slot',\n 'fc-timegrid-slot-label',\n props.isLabeled ? 'fc-scrollgrid-shrink' : 'fc-timegrid-slot-minor',\n ];\n return (createElement(ViewContextType.Consumer, null, function (context) {\n if (!props.isLabeled) {\n return (createElement(\"td\", { className: classNames.join(' '), \"data-time\": props.isoTimeStr }));\n }\n var dateEnv = context.dateEnv, options = context.options, viewApi = context.viewApi;\n var labelFormat = // TODO: fully pre-parse\n options.slotLabelFormat == null ? DEFAULT_SLAT_LABEL_FORMAT :\n Array.isArray(options.slotLabelFormat) ? createFormatter(options.slotLabelFormat[0]) :\n createFormatter(options.slotLabelFormat);\n var hookProps = {\n level: 0,\n time: props.time,\n date: dateEnv.toDate(props.date),\n view: viewApi,\n text: dateEnv.format(props.date, labelFormat),\n };\n return (createElement(RenderHook, { hookProps: hookProps, classNames: options.slotLabelClassNames, content: options.slotLabelContent, defaultContent: renderInnerContent, didMount: options.slotLabelDidMount, willUnmount: options.slotLabelWillUnmount }, function (rootElRef, customClassNames, innerElRef, innerContent) { return (createElement(\"td\", { ref: rootElRef, className: classNames.concat(customClassNames).join(' '), \"data-time\": props.isoTimeStr },\n createElement(\"div\", { className: \"fc-timegrid-slot-label-frame fc-scrollgrid-shrink-frame\" },\n createElement(\"div\", { className: \"fc-timegrid-slot-label-cushion fc-scrollgrid-shrink-cushion\", ref: innerElRef }, innerContent)))); }));\n }));\n}\nfunction renderInnerContent(props) {\n return props.text;\n}\n\nvar TimeBodyAxis = /** @class */ (function (_super) {\n __extends(TimeBodyAxis, _super);\n function TimeBodyAxis() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TimeBodyAxis.prototype.render = function () {\n return this.props.slatMetas.map(function (slatMeta) { return (createElement(\"tr\", { key: slatMeta.key },\n createElement(TimeColsAxisCell, __assign({}, slatMeta)))); });\n };\n return TimeBodyAxis;\n}(BaseComponent));\n\nvar DEFAULT_WEEK_NUM_FORMAT = createFormatter({ week: 'short' });\nvar AUTO_ALL_DAY_MAX_EVENT_ROWS = 5;\nvar TimeColsView = /** @class */ (function (_super) {\n __extends(TimeColsView, _super);\n function TimeColsView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.allDaySplitter = new AllDaySplitter(); // for use by subclasses\n _this.headerElRef = createRef();\n _this.rootElRef = createRef();\n _this.scrollerElRef = createRef();\n _this.state = {\n slatCoords: null,\n };\n _this.handleScrollTopRequest = function (scrollTop) {\n var scrollerEl = _this.scrollerElRef.current;\n if (scrollerEl) { // TODO: not sure how this could ever be null. weirdness with the reducer\n scrollerEl.scrollTop = scrollTop;\n }\n };\n /* Header Render Methods\n ------------------------------------------------------------------------------------------------------------------*/\n _this.renderHeadAxis = function (rowKey, frameHeight) {\n if (frameHeight === void 0) { frameHeight = ''; }\n var options = _this.context.options;\n var dateProfile = _this.props.dateProfile;\n var range = dateProfile.renderRange;\n var dayCnt = diffDays(range.start, range.end);\n var navLinkAttrs = (dayCnt === 1) // only do in day views (to avoid doing in week views that dont need it)\n ? buildNavLinkAttrs(_this.context, range.start, 'week')\n : {};\n if (options.weekNumbers && rowKey === 'day') {\n return (createElement(WeekNumberRoot, { date: range.start, defaultFormat: DEFAULT_WEEK_NUM_FORMAT }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"th\", { ref: rootElRef, \"aria-hidden\": true, className: [\n 'fc-timegrid-axis',\n 'fc-scrollgrid-shrink',\n ].concat(classNames).join(' ') },\n createElement(\"div\", { className: \"fc-timegrid-axis-frame fc-scrollgrid-shrink-frame fc-timegrid-axis-frame-liquid\", style: { height: frameHeight } },\n createElement(\"a\", __assign({ ref: innerElRef, className: \"fc-timegrid-axis-cushion fc-scrollgrid-shrink-cushion fc-scrollgrid-sync-inner\" }, navLinkAttrs), innerContent)))); }));\n }\n return (createElement(\"th\", { \"aria-hidden\": true, className: \"fc-timegrid-axis\" },\n createElement(\"div\", { className: \"fc-timegrid-axis-frame\", style: { height: frameHeight } })));\n };\n /* Table Component Render Methods\n ------------------------------------------------------------------------------------------------------------------*/\n // only a one-way height sync. we don't send the axis inner-content height to the DayGrid,\n // but DayGrid still needs to have classNames on inner elements in order to measure.\n _this.renderTableRowAxis = function (rowHeight) {\n var _a = _this.context, options = _a.options, viewApi = _a.viewApi;\n var hookProps = {\n text: options.allDayText,\n view: viewApi,\n };\n return (\n // TODO: make reusable hook. used in list view too\n createElement(RenderHook, { hookProps: hookProps, classNames: options.allDayClassNames, content: options.allDayContent, defaultContent: renderAllDayInner, didMount: options.allDayDidMount, willUnmount: options.allDayWillUnmount }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"td\", { ref: rootElRef, \"aria-hidden\": true, className: [\n 'fc-timegrid-axis',\n 'fc-scrollgrid-shrink',\n ].concat(classNames).join(' ') },\n createElement(\"div\", { className: 'fc-timegrid-axis-frame fc-scrollgrid-shrink-frame' + (rowHeight == null ? ' fc-timegrid-axis-frame-liquid' : ''), style: { height: rowHeight } },\n createElement(\"span\", { className: \"fc-timegrid-axis-cushion fc-scrollgrid-shrink-cushion fc-scrollgrid-sync-inner\", ref: innerElRef }, innerContent)))); }));\n };\n _this.handleSlatCoords = function (slatCoords) {\n _this.setState({ slatCoords: slatCoords });\n };\n return _this;\n }\n // rendering\n // ----------------------------------------------------------------------------------------------------\n TimeColsView.prototype.renderSimpleLayout = function (headerRowContent, allDayContent, timeContent) {\n var _a = this, context = _a.context, props = _a.props;\n var sections = [];\n var stickyHeaderDates = getStickyHeaderDates(context.options);\n if (headerRowContent) {\n sections.push({\n type: 'header',\n key: 'header',\n isSticky: stickyHeaderDates,\n chunk: {\n elRef: this.headerElRef,\n tableClassName: 'fc-col-header',\n rowContent: headerRowContent,\n },\n });\n }\n if (allDayContent) {\n sections.push({\n type: 'body',\n key: 'all-day',\n chunk: { content: allDayContent },\n });\n sections.push({\n type: 'body',\n key: 'all-day-divider',\n outerContent: ( // TODO: rename to cellContent so don't need to define ?\n createElement(\"tr\", { role: \"presentation\", className: \"fc-scrollgrid-section\" },\n createElement(\"td\", { className: 'fc-timegrid-divider ' + context.theme.getClass('tableCellShaded') }))),\n });\n }\n sections.push({\n type: 'body',\n key: 'body',\n liquid: true,\n expandRows: Boolean(context.options.expandRows),\n chunk: {\n scrollerElRef: this.scrollerElRef,\n content: timeContent,\n },\n });\n return (createElement(ViewRoot, { viewSpec: context.viewSpec, elRef: this.rootElRef }, function (rootElRef, classNames) { return (createElement(\"div\", { className: ['fc-timegrid'].concat(classNames).join(' '), ref: rootElRef },\n createElement(SimpleScrollGrid, { liquid: !props.isHeightAuto && !props.forPrint, collapsibleWidth: props.forPrint, cols: [{ width: 'shrink' }], sections: sections }))); }));\n };\n TimeColsView.prototype.renderHScrollLayout = function (headerRowContent, allDayContent, timeContent, colCnt, dayMinWidth, slatMetas, slatCoords) {\n var _this = this;\n var ScrollGrid = this.context.pluginHooks.scrollGridImpl;\n if (!ScrollGrid) {\n throw new Error('No ScrollGrid implementation');\n }\n var _a = this, context = _a.context, props = _a.props;\n var stickyHeaderDates = !props.forPrint && getStickyHeaderDates(context.options);\n var stickyFooterScrollbar = !props.forPrint && getStickyFooterScrollbar(context.options);\n var sections = [];\n if (headerRowContent) {\n sections.push({\n type: 'header',\n key: 'header',\n isSticky: stickyHeaderDates,\n syncRowHeights: true,\n chunks: [\n {\n key: 'axis',\n rowContent: function (arg) { return (createElement(\"tr\", { role: \"presentation\" }, _this.renderHeadAxis('day', arg.rowSyncHeights[0]))); },\n },\n {\n key: 'cols',\n elRef: this.headerElRef,\n tableClassName: 'fc-col-header',\n rowContent: headerRowContent,\n },\n ],\n });\n }\n if (allDayContent) {\n sections.push({\n type: 'body',\n key: 'all-day',\n syncRowHeights: true,\n chunks: [\n {\n key: 'axis',\n rowContent: function (contentArg) { return (createElement(\"tr\", { role: \"presentation\" }, _this.renderTableRowAxis(contentArg.rowSyncHeights[0]))); },\n },\n {\n key: 'cols',\n content: allDayContent,\n },\n ],\n });\n sections.push({\n key: 'all-day-divider',\n type: 'body',\n outerContent: ( // TODO: rename to cellContent so don't need to define ?\n createElement(\"tr\", { role: \"presentation\", className: \"fc-scrollgrid-section\" },\n createElement(\"td\", { colSpan: 2, className: 'fc-timegrid-divider ' + context.theme.getClass('tableCellShaded') }))),\n });\n }\n var isNowIndicator = context.options.nowIndicator;\n sections.push({\n type: 'body',\n key: 'body',\n liquid: true,\n expandRows: Boolean(context.options.expandRows),\n chunks: [\n {\n key: 'axis',\n content: function (arg) { return (\n // TODO: make this now-indicator arrow more DRY with TimeColsContent\n createElement(\"div\", { className: \"fc-timegrid-axis-chunk\" },\n createElement(\"table\", { \"aria-hidden\": true, style: { height: arg.expandRows ? arg.clientHeight : '' } },\n arg.tableColGroupNode,\n createElement(\"tbody\", null,\n createElement(TimeBodyAxis, { slatMetas: slatMetas }))),\n createElement(\"div\", { className: \"fc-timegrid-now-indicator-container\" },\n createElement(NowTimer, { unit: isNowIndicator ? 'minute' : 'day' /* hacky */ }, function (nowDate) {\n var nowIndicatorTop = isNowIndicator &&\n slatCoords &&\n slatCoords.safeComputeTop(nowDate); // might return void\n if (typeof nowIndicatorTop === 'number') {\n return (createElement(NowIndicatorRoot, { isAxis: true, date: nowDate }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"div\", { ref: rootElRef, className: ['fc-timegrid-now-indicator-arrow'].concat(classNames).join(' '), style: { top: nowIndicatorTop } }, innerContent)); }));\n }\n return null;\n })))); },\n },\n {\n key: 'cols',\n scrollerElRef: this.scrollerElRef,\n content: timeContent,\n },\n ],\n });\n if (stickyFooterScrollbar) {\n sections.push({\n key: 'footer',\n type: 'footer',\n isSticky: true,\n chunks: [\n {\n key: 'axis',\n content: renderScrollShim,\n },\n {\n key: 'cols',\n content: renderScrollShim,\n },\n ],\n });\n }\n return (createElement(ViewRoot, { viewSpec: context.viewSpec, elRef: this.rootElRef }, function (rootElRef, classNames) { return (createElement(\"div\", { className: ['fc-timegrid'].concat(classNames).join(' '), ref: rootElRef },\n createElement(ScrollGrid, { liquid: !props.isHeightAuto && !props.forPrint, collapsibleWidth: false, colGroups: [\n { width: 'shrink', cols: [{ width: 'shrink' }] },\n { cols: [{ span: colCnt, minWidth: dayMinWidth }] },\n ], sections: sections }))); }));\n };\n /* Dimensions\n ------------------------------------------------------------------------------------------------------------------*/\n TimeColsView.prototype.getAllDayMaxEventProps = function () {\n var _a = this.context.options, dayMaxEvents = _a.dayMaxEvents, dayMaxEventRows = _a.dayMaxEventRows;\n if (dayMaxEvents === true || dayMaxEventRows === true) { // is auto?\n dayMaxEvents = undefined;\n dayMaxEventRows = AUTO_ALL_DAY_MAX_EVENT_ROWS; // make sure \"auto\" goes to a real number\n }\n return { dayMaxEvents: dayMaxEvents, dayMaxEventRows: dayMaxEventRows };\n };\n return TimeColsView;\n}(DateComponent));\nfunction renderAllDayInner(hookProps) {\n return hookProps.text;\n}\n\nvar TimeColsSlatsCoords = /** @class */ (function () {\n function TimeColsSlatsCoords(positions, dateProfile, slotDuration) {\n this.positions = positions;\n this.dateProfile = dateProfile;\n this.slotDuration = slotDuration;\n }\n TimeColsSlatsCoords.prototype.safeComputeTop = function (date) {\n var dateProfile = this.dateProfile;\n if (rangeContainsMarker(dateProfile.currentRange, date)) {\n var startOfDayDate = startOfDay(date);\n var timeMs = date.valueOf() - startOfDayDate.valueOf();\n if (timeMs >= asRoughMs(dateProfile.slotMinTime) &&\n timeMs < asRoughMs(dateProfile.slotMaxTime)) {\n return this.computeTimeTop(createDuration(timeMs));\n }\n }\n return null;\n };\n // Computes the top coordinate, relative to the bounds of the grid, of the given date.\n // A `startOfDayDate` must be given for avoiding ambiguity over how to treat midnight.\n TimeColsSlatsCoords.prototype.computeDateTop = function (when, startOfDayDate) {\n if (!startOfDayDate) {\n startOfDayDate = startOfDay(when);\n }\n return this.computeTimeTop(createDuration(when.valueOf() - startOfDayDate.valueOf()));\n };\n // Computes the top coordinate, relative to the bounds of the grid, of the given time (a Duration).\n // This is a makeshify way to compute the time-top. Assumes all slatMetas dates are uniform.\n // Eventually allow computation with arbirary slat dates.\n TimeColsSlatsCoords.prototype.computeTimeTop = function (duration) {\n var _a = this, positions = _a.positions, dateProfile = _a.dateProfile;\n var len = positions.els.length;\n // floating-point value of # of slots covered\n var slatCoverage = (duration.milliseconds - asRoughMs(dateProfile.slotMinTime)) / asRoughMs(this.slotDuration);\n var slatIndex;\n var slatRemainder;\n // compute a floating-point number for how many slats should be progressed through.\n // from 0 to number of slats (inclusive)\n // constrained because slotMinTime/slotMaxTime might be customized.\n slatCoverage = Math.max(0, slatCoverage);\n slatCoverage = Math.min(len, slatCoverage);\n // an integer index of the furthest whole slat\n // from 0 to number slats (*exclusive*, so len-1)\n slatIndex = Math.floor(slatCoverage);\n slatIndex = Math.min(slatIndex, len - 1);\n // how much further through the slatIndex slat (from 0.0-1.0) must be covered in addition.\n // could be 1.0 if slatCoverage is covering *all* the slots\n slatRemainder = slatCoverage - slatIndex;\n return positions.tops[slatIndex] +\n positions.getHeight(slatIndex) * slatRemainder;\n };\n return TimeColsSlatsCoords;\n}());\n\nvar TimeColsSlatsBody = /** @class */ (function (_super) {\n __extends(TimeColsSlatsBody, _super);\n function TimeColsSlatsBody() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TimeColsSlatsBody.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n var options = context.options;\n var slatElRefs = props.slatElRefs;\n return (createElement(\"tbody\", null, props.slatMetas.map(function (slatMeta, i) {\n var hookProps = {\n time: slatMeta.time,\n date: context.dateEnv.toDate(slatMeta.date),\n view: context.viewApi,\n };\n var classNames = [\n 'fc-timegrid-slot',\n 'fc-timegrid-slot-lane',\n slatMeta.isLabeled ? '' : 'fc-timegrid-slot-minor',\n ];\n return (createElement(\"tr\", { key: slatMeta.key, ref: slatElRefs.createRef(slatMeta.key) },\n props.axis && (createElement(TimeColsAxisCell, __assign({}, slatMeta))),\n createElement(RenderHook, { hookProps: hookProps, classNames: options.slotLaneClassNames, content: options.slotLaneContent, didMount: options.slotLaneDidMount, willUnmount: options.slotLaneWillUnmount }, function (rootElRef, customClassNames, innerElRef, innerContent) { return (createElement(\"td\", { ref: rootElRef, className: classNames.concat(customClassNames).join(' '), \"data-time\": slatMeta.isoTimeStr }, innerContent)); })));\n })));\n };\n return TimeColsSlatsBody;\n}(BaseComponent));\n\n/*\nfor the horizontal \"slats\" that run width-wise. Has a time axis on a side. Depends on RTL.\n*/\nvar TimeColsSlats = /** @class */ (function (_super) {\n __extends(TimeColsSlats, _super);\n function TimeColsSlats() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.rootElRef = createRef();\n _this.slatElRefs = new RefMap();\n return _this;\n }\n TimeColsSlats.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n return (createElement(\"div\", { ref: this.rootElRef, className: \"fc-timegrid-slots\" },\n createElement(\"table\", { \"aria-hidden\": true, className: context.theme.getClass('table'), style: {\n minWidth: props.tableMinWidth,\n width: props.clientWidth,\n height: props.minHeight,\n } },\n props.tableColGroupNode /* relies on there only being a single for the axis */,\n createElement(TimeColsSlatsBody, { slatElRefs: this.slatElRefs, axis: props.axis, slatMetas: props.slatMetas }))));\n };\n TimeColsSlats.prototype.componentDidMount = function () {\n this.updateSizing();\n };\n TimeColsSlats.prototype.componentDidUpdate = function () {\n this.updateSizing();\n };\n TimeColsSlats.prototype.componentWillUnmount = function () {\n if (this.props.onCoords) {\n this.props.onCoords(null);\n }\n };\n TimeColsSlats.prototype.updateSizing = function () {\n var _a = this, context = _a.context, props = _a.props;\n if (props.onCoords &&\n props.clientWidth !== null // means sizing has stabilized\n ) {\n var rootEl = this.rootElRef.current;\n if (rootEl.offsetHeight) { // not hidden by css\n props.onCoords(new TimeColsSlatsCoords(new PositionCache(this.rootElRef.current, collectSlatEls(this.slatElRefs.currentMap, props.slatMetas), false, true), this.props.dateProfile, context.options.slotDuration));\n }\n }\n };\n return TimeColsSlats;\n}(BaseComponent));\nfunction collectSlatEls(elMap, slatMetas) {\n return slatMetas.map(function (slatMeta) { return elMap[slatMeta.key]; });\n}\n\nfunction splitSegsByCol(segs, colCnt) {\n var segsByCol = [];\n var i;\n for (i = 0; i < colCnt; i += 1) {\n segsByCol.push([]);\n }\n if (segs) {\n for (i = 0; i < segs.length; i += 1) {\n segsByCol[segs[i].col].push(segs[i]);\n }\n }\n return segsByCol;\n}\nfunction splitInteractionByCol(ui, colCnt) {\n var byRow = [];\n if (!ui) {\n for (var i = 0; i < colCnt; i += 1) {\n byRow[i] = null;\n }\n }\n else {\n for (var i = 0; i < colCnt; i += 1) {\n byRow[i] = {\n affectedInstances: ui.affectedInstances,\n isEvent: ui.isEvent,\n segs: [],\n };\n }\n for (var _i = 0, _a = ui.segs; _i < _a.length; _i++) {\n var seg = _a[_i];\n byRow[seg.col].segs.push(seg);\n }\n }\n return byRow;\n}\n\nvar TimeColMoreLink = /** @class */ (function (_super) {\n __extends(TimeColMoreLink, _super);\n function TimeColMoreLink() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.rootElRef = createRef();\n return _this;\n }\n TimeColMoreLink.prototype.render = function () {\n var _this = this;\n var props = this.props;\n return (createElement(MoreLinkRoot, { allDayDate: null, moreCnt: props.hiddenSegs.length, allSegs: props.hiddenSegs, hiddenSegs: props.hiddenSegs, alignmentElRef: this.rootElRef, defaultContent: renderMoreLinkInner, extraDateSpan: props.extraDateSpan, dateProfile: props.dateProfile, todayRange: props.todayRange, popoverContent: function () { return renderPlainFgSegs(props.hiddenSegs, props); } }, function (rootElRef, classNames, innerElRef, innerContent, handleClick, title, isExpanded, popoverId) { return (createElement(\"a\", { ref: function (el) {\n setRef(rootElRef, el);\n setRef(_this.rootElRef, el);\n }, className: ['fc-timegrid-more-link'].concat(classNames).join(' '), style: { top: props.top, bottom: props.bottom }, onClick: handleClick, title: title, \"aria-expanded\": isExpanded, \"aria-controls\": popoverId },\n createElement(\"div\", { ref: innerElRef, className: \"fc-timegrid-more-link-inner fc-sticky\" }, innerContent))); }));\n };\n return TimeColMoreLink;\n}(BaseComponent));\nfunction renderMoreLinkInner(props) {\n return props.shortText;\n}\n\n// segInputs assumed sorted\nfunction buildPositioning(segInputs, strictOrder, maxStackCnt) {\n var hierarchy = new SegHierarchy();\n if (strictOrder != null) {\n hierarchy.strictOrder = strictOrder;\n }\n if (maxStackCnt != null) {\n hierarchy.maxStackCnt = maxStackCnt;\n }\n var hiddenEntries = hierarchy.addSegs(segInputs);\n var hiddenGroups = groupIntersectingEntries(hiddenEntries);\n var web = buildWeb(hierarchy);\n web = stretchWeb(web, 1); // all levelCoords/thickness will have 0.0-1.0\n var segRects = webToRects(web);\n return { segRects: segRects, hiddenGroups: hiddenGroups };\n}\nfunction buildWeb(hierarchy) {\n var entriesByLevel = hierarchy.entriesByLevel;\n var buildNode = cacheable(function (level, lateral) { return level + ':' + lateral; }, function (level, lateral) {\n var siblingRange = findNextLevelSegs(hierarchy, level, lateral);\n var nextLevelRes = buildNodes(siblingRange, buildNode);\n var entry = entriesByLevel[level][lateral];\n return [\n __assign(__assign({}, entry), { nextLevelNodes: nextLevelRes[0] }),\n entry.thickness + nextLevelRes[1], // the pressure builds\n ];\n });\n return buildNodes(entriesByLevel.length\n ? { level: 0, lateralStart: 0, lateralEnd: entriesByLevel[0].length }\n : null, buildNode)[0];\n}\nfunction buildNodes(siblingRange, buildNode) {\n if (!siblingRange) {\n return [[], 0];\n }\n var level = siblingRange.level, lateralStart = siblingRange.lateralStart, lateralEnd = siblingRange.lateralEnd;\n var lateral = lateralStart;\n var pairs = [];\n while (lateral < lateralEnd) {\n pairs.push(buildNode(level, lateral));\n lateral += 1;\n }\n pairs.sort(cmpDescPressures);\n return [\n pairs.map(extractNode),\n pairs[0][1], // first item's pressure\n ];\n}\nfunction cmpDescPressures(a, b) {\n return b[1] - a[1];\n}\nfunction extractNode(a) {\n return a[0];\n}\nfunction findNextLevelSegs(hierarchy, subjectLevel, subjectLateral) {\n var levelCoords = hierarchy.levelCoords, entriesByLevel = hierarchy.entriesByLevel;\n var subjectEntry = entriesByLevel[subjectLevel][subjectLateral];\n var afterSubject = levelCoords[subjectLevel] + subjectEntry.thickness;\n var levelCnt = levelCoords.length;\n var level = subjectLevel;\n // skip past levels that are too high up\n for (; level < levelCnt && levelCoords[level] < afterSubject; level += 1)\n ; // do nothing\n for (; level < levelCnt; level += 1) {\n var entries = entriesByLevel[level];\n var entry = void 0;\n var searchIndex = binarySearch(entries, subjectEntry.span.start, getEntrySpanEnd);\n var lateralStart = searchIndex[0] + searchIndex[1]; // if exact match (which doesn't collide), go to next one\n var lateralEnd = lateralStart;\n while ( // loop through entries that horizontally intersect\n (entry = entries[lateralEnd]) && // but not past the whole seg list\n entry.span.start < subjectEntry.span.end) {\n lateralEnd += 1;\n }\n if (lateralStart < lateralEnd) {\n return { level: level, lateralStart: lateralStart, lateralEnd: lateralEnd };\n }\n }\n return null;\n}\nfunction stretchWeb(topLevelNodes, totalThickness) {\n var stretchNode = cacheable(function (node, startCoord, prevThickness) { return buildEntryKey(node); }, function (node, startCoord, prevThickness) {\n var nextLevelNodes = node.nextLevelNodes, thickness = node.thickness;\n var allThickness = thickness + prevThickness;\n var thicknessFraction = thickness / allThickness;\n var endCoord;\n var newChildren = [];\n if (!nextLevelNodes.length) {\n endCoord = totalThickness;\n }\n else {\n for (var _i = 0, nextLevelNodes_1 = nextLevelNodes; _i < nextLevelNodes_1.length; _i++) {\n var childNode = nextLevelNodes_1[_i];\n if (endCoord === undefined) {\n var res = stretchNode(childNode, startCoord, allThickness);\n endCoord = res[0];\n newChildren.push(res[1]);\n }\n else {\n var res = stretchNode(childNode, endCoord, 0);\n newChildren.push(res[1]);\n }\n }\n }\n var newThickness = (endCoord - startCoord) * thicknessFraction;\n return [endCoord - newThickness, __assign(__assign({}, node), { thickness: newThickness, nextLevelNodes: newChildren })];\n });\n return topLevelNodes.map(function (node) { return stretchNode(node, 0, 0)[1]; });\n}\n// not sorted in any particular order\nfunction webToRects(topLevelNodes) {\n var rects = [];\n var processNode = cacheable(function (node, levelCoord, stackDepth) { return buildEntryKey(node); }, function (node, levelCoord, stackDepth) {\n var rect = __assign(__assign({}, node), { levelCoord: levelCoord,\n stackDepth: stackDepth, stackForward: 0 });\n rects.push(rect);\n return (rect.stackForward = processNodes(node.nextLevelNodes, levelCoord + node.thickness, stackDepth + 1) + 1);\n });\n function processNodes(nodes, levelCoord, stackDepth) {\n var stackForward = 0;\n for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {\n var node = nodes_1[_i];\n stackForward = Math.max(processNode(node, levelCoord, stackDepth), stackForward);\n }\n return stackForward;\n }\n processNodes(topLevelNodes, 0, 0);\n return rects; // TODO: sort rects by levelCoord to be consistent with toRects?\n}\n// TODO: move to general util\nfunction cacheable(keyFunc, workFunc) {\n var cache = {};\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var key = keyFunc.apply(void 0, args);\n return (key in cache)\n ? cache[key]\n : (cache[key] = workFunc.apply(void 0, args));\n };\n}\n\nfunction computeSegVCoords(segs, colDate, slatCoords, eventMinHeight) {\n if (slatCoords === void 0) { slatCoords = null; }\n if (eventMinHeight === void 0) { eventMinHeight = 0; }\n var vcoords = [];\n if (slatCoords) {\n for (var i = 0; i < segs.length; i += 1) {\n var seg = segs[i];\n var spanStart = slatCoords.computeDateTop(seg.start, colDate);\n var spanEnd = Math.max(spanStart + (eventMinHeight || 0), // :(\n slatCoords.computeDateTop(seg.end, colDate));\n vcoords.push({\n start: Math.round(spanStart),\n end: Math.round(spanEnd), //\n });\n }\n }\n return vcoords;\n}\nfunction computeFgSegPlacements(segs, segVCoords, // might not have for every seg\neventOrderStrict, eventMaxStack) {\n var segInputs = [];\n var dumbSegs = []; // segs without coords\n for (var i = 0; i < segs.length; i += 1) {\n var vcoords = segVCoords[i];\n if (vcoords) {\n segInputs.push({\n index: i,\n thickness: 1,\n span: vcoords,\n });\n }\n else {\n dumbSegs.push(segs[i]);\n }\n }\n var _a = buildPositioning(segInputs, eventOrderStrict, eventMaxStack), segRects = _a.segRects, hiddenGroups = _a.hiddenGroups;\n var segPlacements = [];\n for (var _i = 0, segRects_1 = segRects; _i < segRects_1.length; _i++) {\n var segRect = segRects_1[_i];\n segPlacements.push({\n seg: segs[segRect.index],\n rect: segRect,\n });\n }\n for (var _b = 0, dumbSegs_1 = dumbSegs; _b < dumbSegs_1.length; _b++) {\n var dumbSeg = dumbSegs_1[_b];\n segPlacements.push({ seg: dumbSeg, rect: null });\n }\n return { segPlacements: segPlacements, hiddenGroups: hiddenGroups };\n}\n\nvar DEFAULT_TIME_FORMAT = createFormatter({\n hour: 'numeric',\n minute: '2-digit',\n meridiem: false,\n});\nvar TimeColEvent = /** @class */ (function (_super) {\n __extends(TimeColEvent, _super);\n function TimeColEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TimeColEvent.prototype.render = function () {\n var classNames = [\n 'fc-timegrid-event',\n 'fc-v-event',\n ];\n if (this.props.isShort) {\n classNames.push('fc-timegrid-event-short');\n }\n return (createElement(StandardEvent, __assign({}, this.props, { defaultTimeFormat: DEFAULT_TIME_FORMAT, extraClassNames: classNames })));\n };\n return TimeColEvent;\n}(BaseComponent));\n\nvar TimeColMisc = /** @class */ (function (_super) {\n __extends(TimeColMisc, _super);\n function TimeColMisc() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TimeColMisc.prototype.render = function () {\n var props = this.props;\n return (createElement(DayCellContent, { date: props.date, dateProfile: props.dateProfile, todayRange: props.todayRange, extraHookProps: props.extraHookProps }, function (innerElRef, innerContent) { return (innerContent &&\n createElement(\"div\", { className: \"fc-timegrid-col-misc\", ref: innerElRef }, innerContent)); }));\n };\n return TimeColMisc;\n}(BaseComponent));\n\nvar TimeCol = /** @class */ (function (_super) {\n __extends(TimeCol, _super);\n function TimeCol() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.sortEventSegs = memoize(sortEventSegs);\n return _this;\n }\n // TODO: memoize event-placement?\n TimeCol.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, context = _a.context;\n var isSelectMirror = context.options.selectMirror;\n var mirrorSegs = (props.eventDrag && props.eventDrag.segs) ||\n (props.eventResize && props.eventResize.segs) ||\n (isSelectMirror && props.dateSelectionSegs) ||\n [];\n var interactionAffectedInstances = // TODO: messy way to compute this\n (props.eventDrag && props.eventDrag.affectedInstances) ||\n (props.eventResize && props.eventResize.affectedInstances) ||\n {};\n var sortedFgSegs = this.sortEventSegs(props.fgEventSegs, context.options.eventOrder);\n return (createElement(DayCellRoot, { elRef: props.elRef, date: props.date, dateProfile: props.dateProfile, todayRange: props.todayRange, extraHookProps: props.extraHookProps }, function (rootElRef, classNames, dataAttrs) { return (createElement(\"td\", __assign({ ref: rootElRef, role: \"gridcell\", className: ['fc-timegrid-col'].concat(classNames, props.extraClassNames || []).join(' ') }, dataAttrs, props.extraDataAttrs),\n createElement(\"div\", { className: \"fc-timegrid-col-frame\" },\n createElement(\"div\", { className: \"fc-timegrid-col-bg\" },\n _this.renderFillSegs(props.businessHourSegs, 'non-business'),\n _this.renderFillSegs(props.bgEventSegs, 'bg-event'),\n _this.renderFillSegs(props.dateSelectionSegs, 'highlight')),\n createElement(\"div\", { className: \"fc-timegrid-col-events\" }, _this.renderFgSegs(sortedFgSegs, interactionAffectedInstances, false, false, false)),\n createElement(\"div\", { className: \"fc-timegrid-col-events\" }, _this.renderFgSegs(mirrorSegs, {}, Boolean(props.eventDrag), Boolean(props.eventResize), Boolean(isSelectMirror))),\n createElement(\"div\", { className: \"fc-timegrid-now-indicator-container\" }, _this.renderNowIndicator(props.nowIndicatorSegs)),\n createElement(TimeColMisc, { date: props.date, dateProfile: props.dateProfile, todayRange: props.todayRange, extraHookProps: props.extraHookProps })))); }));\n };\n TimeCol.prototype.renderFgSegs = function (sortedFgSegs, segIsInvisible, isDragging, isResizing, isDateSelecting) {\n var props = this.props;\n if (props.forPrint) {\n return renderPlainFgSegs(sortedFgSegs, props);\n }\n return this.renderPositionedFgSegs(sortedFgSegs, segIsInvisible, isDragging, isResizing, isDateSelecting);\n };\n TimeCol.prototype.renderPositionedFgSegs = function (segs, // if not mirror, needs to be sorted\n segIsInvisible, isDragging, isResizing, isDateSelecting) {\n var _this = this;\n var _a = this.context.options, eventMaxStack = _a.eventMaxStack, eventShortHeight = _a.eventShortHeight, eventOrderStrict = _a.eventOrderStrict, eventMinHeight = _a.eventMinHeight;\n var _b = this.props, date = _b.date, slatCoords = _b.slatCoords, eventSelection = _b.eventSelection, todayRange = _b.todayRange, nowDate = _b.nowDate;\n var isMirror = isDragging || isResizing || isDateSelecting;\n var segVCoords = computeSegVCoords(segs, date, slatCoords, eventMinHeight);\n var _c = computeFgSegPlacements(segs, segVCoords, eventOrderStrict, eventMaxStack), segPlacements = _c.segPlacements, hiddenGroups = _c.hiddenGroups;\n return (createElement(Fragment, null,\n this.renderHiddenGroups(hiddenGroups, segs),\n segPlacements.map(function (segPlacement) {\n var seg = segPlacement.seg, rect = segPlacement.rect;\n var instanceId = seg.eventRange.instance.instanceId;\n var isVisible = isMirror || Boolean(!segIsInvisible[instanceId] && rect);\n var vStyle = computeSegVStyle(rect && rect.span);\n var hStyle = (!isMirror && rect) ? _this.computeSegHStyle(rect) : { left: 0, right: 0 };\n var isInset = Boolean(rect) && rect.stackForward > 0;\n var isShort = Boolean(rect) && (rect.span.end - rect.span.start) < eventShortHeight; // look at other places for this problem\n return (createElement(\"div\", { className: 'fc-timegrid-event-harness' +\n (isInset ? ' fc-timegrid-event-harness-inset' : ''), key: instanceId, style: __assign(__assign({ visibility: isVisible ? '' : 'hidden' }, vStyle), hStyle) },\n createElement(TimeColEvent, __assign({ seg: seg, isDragging: isDragging, isResizing: isResizing, isDateSelecting: isDateSelecting, isSelected: instanceId === eventSelection, isShort: isShort }, getSegMeta(seg, todayRange, nowDate)))));\n })));\n };\n // will already have eventMinHeight applied because segInputs already had it\n TimeCol.prototype.renderHiddenGroups = function (hiddenGroups, segs) {\n var _a = this.props, extraDateSpan = _a.extraDateSpan, dateProfile = _a.dateProfile, todayRange = _a.todayRange, nowDate = _a.nowDate, eventSelection = _a.eventSelection, eventDrag = _a.eventDrag, eventResize = _a.eventResize;\n return (createElement(Fragment, null, hiddenGroups.map(function (hiddenGroup) {\n var positionCss = computeSegVStyle(hiddenGroup.span);\n var hiddenSegs = compileSegsFromEntries(hiddenGroup.entries, segs);\n return (createElement(TimeColMoreLink, { key: buildIsoString(computeEarliestSegStart(hiddenSegs)), hiddenSegs: hiddenSegs, top: positionCss.top, bottom: positionCss.bottom, extraDateSpan: extraDateSpan, dateProfile: dateProfile, todayRange: todayRange, nowDate: nowDate, eventSelection: eventSelection, eventDrag: eventDrag, eventResize: eventResize }));\n })));\n };\n TimeCol.prototype.renderFillSegs = function (segs, fillType) {\n var _a = this, props = _a.props, context = _a.context;\n var segVCoords = computeSegVCoords(segs, props.date, props.slatCoords, context.options.eventMinHeight); // don't assume all populated\n var children = segVCoords.map(function (vcoords, i) {\n var seg = segs[i];\n return (createElement(\"div\", { key: buildEventRangeKey(seg.eventRange), className: \"fc-timegrid-bg-harness\", style: computeSegVStyle(vcoords) }, fillType === 'bg-event' ?\n createElement(BgEvent, __assign({ seg: seg }, getSegMeta(seg, props.todayRange, props.nowDate))) :\n renderFill(fillType)));\n });\n return createElement(Fragment, null, children);\n };\n TimeCol.prototype.renderNowIndicator = function (segs) {\n var _a = this.props, slatCoords = _a.slatCoords, date = _a.date;\n if (!slatCoords) {\n return null;\n }\n return segs.map(function (seg, i) { return (createElement(NowIndicatorRoot, { isAxis: false, date: date, \n // key doesn't matter. will only ever be one\n key: i }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"div\", { ref: rootElRef, className: ['fc-timegrid-now-indicator-line'].concat(classNames).join(' '), style: { top: slatCoords.computeDateTop(seg.start, date) } }, innerContent)); })); });\n };\n TimeCol.prototype.computeSegHStyle = function (segHCoords) {\n var _a = this.context, isRtl = _a.isRtl, options = _a.options;\n var shouldOverlap = options.slotEventOverlap;\n var nearCoord = segHCoords.levelCoord; // the left side if LTR. the right side if RTL. floating-point\n var farCoord = segHCoords.levelCoord + segHCoords.thickness; // the right side if LTR. the left side if RTL. floating-point\n var left; // amount of space from left edge, a fraction of the total width\n var right; // amount of space from right edge, a fraction of the total width\n if (shouldOverlap) {\n // double the width, but don't go beyond the maximum forward coordinate (1.0)\n farCoord = Math.min(1, nearCoord + (farCoord - nearCoord) * 2);\n }\n if (isRtl) {\n left = 1 - farCoord;\n right = nearCoord;\n }\n else {\n left = nearCoord;\n right = 1 - farCoord;\n }\n var props = {\n zIndex: segHCoords.stackDepth + 1,\n left: left * 100 + '%',\n right: right * 100 + '%',\n };\n if (shouldOverlap && !segHCoords.stackForward) {\n // add padding to the edge so that forward stacked events don't cover the resizer's icon\n props[isRtl ? 'marginLeft' : 'marginRight'] = 10 * 2; // 10 is a guesstimate of the icon's width\n }\n return props;\n };\n return TimeCol;\n}(BaseComponent));\nfunction renderPlainFgSegs(sortedFgSegs, _a) {\n var todayRange = _a.todayRange, nowDate = _a.nowDate, eventSelection = _a.eventSelection, eventDrag = _a.eventDrag, eventResize = _a.eventResize;\n var hiddenInstances = (eventDrag ? eventDrag.affectedInstances : null) ||\n (eventResize ? eventResize.affectedInstances : null) ||\n {};\n return (createElement(Fragment, null, sortedFgSegs.map(function (seg) {\n var instanceId = seg.eventRange.instance.instanceId;\n return (createElement(\"div\", { key: instanceId, style: { visibility: hiddenInstances[instanceId] ? 'hidden' : '' } },\n createElement(TimeColEvent, __assign({ seg: seg, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: instanceId === eventSelection, isShort: false }, getSegMeta(seg, todayRange, nowDate)))));\n })));\n}\nfunction computeSegVStyle(segVCoords) {\n if (!segVCoords) {\n return { top: '', bottom: '' };\n }\n return {\n top: segVCoords.start,\n bottom: -segVCoords.end,\n };\n}\nfunction compileSegsFromEntries(segEntries, allSegs) {\n return segEntries.map(function (segEntry) { return allSegs[segEntry.index]; });\n}\n\nvar TimeColsContent = /** @class */ (function (_super) {\n __extends(TimeColsContent, _super);\n function TimeColsContent() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.splitFgEventSegs = memoize(splitSegsByCol);\n _this.splitBgEventSegs = memoize(splitSegsByCol);\n _this.splitBusinessHourSegs = memoize(splitSegsByCol);\n _this.splitNowIndicatorSegs = memoize(splitSegsByCol);\n _this.splitDateSelectionSegs = memoize(splitSegsByCol);\n _this.splitEventDrag = memoize(splitInteractionByCol);\n _this.splitEventResize = memoize(splitInteractionByCol);\n _this.rootElRef = createRef();\n _this.cellElRefs = new RefMap();\n return _this;\n }\n TimeColsContent.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, context = _a.context;\n var nowIndicatorTop = context.options.nowIndicator &&\n props.slatCoords &&\n props.slatCoords.safeComputeTop(props.nowDate); // might return void\n var colCnt = props.cells.length;\n var fgEventSegsByRow = this.splitFgEventSegs(props.fgEventSegs, colCnt);\n var bgEventSegsByRow = this.splitBgEventSegs(props.bgEventSegs, colCnt);\n var businessHourSegsByRow = this.splitBusinessHourSegs(props.businessHourSegs, colCnt);\n var nowIndicatorSegsByRow = this.splitNowIndicatorSegs(props.nowIndicatorSegs, colCnt);\n var dateSelectionSegsByRow = this.splitDateSelectionSegs(props.dateSelectionSegs, colCnt);\n var eventDragByRow = this.splitEventDrag(props.eventDrag, colCnt);\n var eventResizeByRow = this.splitEventResize(props.eventResize, colCnt);\n return (createElement(\"div\", { className: \"fc-timegrid-cols\", ref: this.rootElRef },\n createElement(\"table\", { role: \"presentation\", style: {\n minWidth: props.tableMinWidth,\n width: props.clientWidth,\n } },\n props.tableColGroupNode,\n createElement(\"tbody\", { role: \"presentation\" },\n createElement(\"tr\", { role: \"row\" },\n props.axis && (createElement(\"td\", { \"aria-hidden\": true, className: \"fc-timegrid-col fc-timegrid-axis\" },\n createElement(\"div\", { className: \"fc-timegrid-col-frame\" },\n createElement(\"div\", { className: \"fc-timegrid-now-indicator-container\" }, typeof nowIndicatorTop === 'number' && (createElement(NowIndicatorRoot, { isAxis: true, date: props.nowDate }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"div\", { ref: rootElRef, className: ['fc-timegrid-now-indicator-arrow'].concat(classNames).join(' '), style: { top: nowIndicatorTop } }, innerContent)); })))))),\n props.cells.map(function (cell, i) { return (createElement(TimeCol, { key: cell.key, elRef: _this.cellElRefs.createRef(cell.key), dateProfile: props.dateProfile, date: cell.date, nowDate: props.nowDate, todayRange: props.todayRange, extraHookProps: cell.extraHookProps, extraDataAttrs: cell.extraDataAttrs, extraClassNames: cell.extraClassNames, extraDateSpan: cell.extraDateSpan, fgEventSegs: fgEventSegsByRow[i], bgEventSegs: bgEventSegsByRow[i], businessHourSegs: businessHourSegsByRow[i], nowIndicatorSegs: nowIndicatorSegsByRow[i], dateSelectionSegs: dateSelectionSegsByRow[i], eventDrag: eventDragByRow[i], eventResize: eventResizeByRow[i], slatCoords: props.slatCoords, eventSelection: props.eventSelection, forPrint: props.forPrint })); }))))));\n };\n TimeColsContent.prototype.componentDidMount = function () {\n this.updateCoords();\n };\n TimeColsContent.prototype.componentDidUpdate = function () {\n this.updateCoords();\n };\n TimeColsContent.prototype.updateCoords = function () {\n var props = this.props;\n if (props.onColCoords &&\n props.clientWidth !== null // means sizing has stabilized\n ) {\n props.onColCoords(new PositionCache(this.rootElRef.current, collectCellEls(this.cellElRefs.currentMap, props.cells), true, // horizontal\n false));\n }\n };\n return TimeColsContent;\n}(BaseComponent));\nfunction collectCellEls(elMap, cells) {\n return cells.map(function (cell) { return elMap[cell.key]; });\n}\n\n/* A component that renders one or more columns of vertical time slots\n----------------------------------------------------------------------------------------------------------------------*/\nvar TimeCols = /** @class */ (function (_super) {\n __extends(TimeCols, _super);\n function TimeCols() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.processSlotOptions = memoize(processSlotOptions);\n _this.state = {\n slatCoords: null,\n };\n _this.handleRootEl = function (el) {\n if (el) {\n _this.context.registerInteractiveComponent(_this, {\n el: el,\n isHitComboAllowed: _this.props.isHitComboAllowed,\n });\n }\n else {\n _this.context.unregisterInteractiveComponent(_this);\n }\n };\n _this.handleScrollRequest = function (request) {\n var onScrollTopRequest = _this.props.onScrollTopRequest;\n var slatCoords = _this.state.slatCoords;\n if (onScrollTopRequest && slatCoords) {\n if (request.time) {\n var top_1 = slatCoords.computeTimeTop(request.time);\n top_1 = Math.ceil(top_1); // zoom can give weird floating-point values. rather scroll a little bit further\n if (top_1) {\n top_1 += 1; // to overcome top border that slots beyond the first have. looks better\n }\n onScrollTopRequest(top_1);\n }\n return true;\n }\n return false;\n };\n _this.handleColCoords = function (colCoords) {\n _this.colCoords = colCoords;\n };\n _this.handleSlatCoords = function (slatCoords) {\n _this.setState({ slatCoords: slatCoords });\n if (_this.props.onSlatCoords) {\n _this.props.onSlatCoords(slatCoords);\n }\n };\n return _this;\n }\n TimeCols.prototype.render = function () {\n var _a = this, props = _a.props, state = _a.state;\n return (createElement(\"div\", { className: \"fc-timegrid-body\", ref: this.handleRootEl, style: {\n // these props are important to give this wrapper correct dimensions for interactions\n // TODO: if we set it here, can we avoid giving to inner tables?\n width: props.clientWidth,\n minWidth: props.tableMinWidth,\n } },\n createElement(TimeColsSlats, { axis: props.axis, dateProfile: props.dateProfile, slatMetas: props.slatMetas, clientWidth: props.clientWidth, minHeight: props.expandRows ? props.clientHeight : '', tableMinWidth: props.tableMinWidth, tableColGroupNode: props.axis ? props.tableColGroupNode : null /* axis depends on the colgroup's shrinking */, onCoords: this.handleSlatCoords }),\n createElement(TimeColsContent, { cells: props.cells, axis: props.axis, dateProfile: props.dateProfile, businessHourSegs: props.businessHourSegs, bgEventSegs: props.bgEventSegs, fgEventSegs: props.fgEventSegs, dateSelectionSegs: props.dateSelectionSegs, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, todayRange: props.todayRange, nowDate: props.nowDate, nowIndicatorSegs: props.nowIndicatorSegs, clientWidth: props.clientWidth, tableMinWidth: props.tableMinWidth, tableColGroupNode: props.tableColGroupNode, slatCoords: state.slatCoords, onColCoords: this.handleColCoords, forPrint: props.forPrint })));\n };\n TimeCols.prototype.componentDidMount = function () {\n this.scrollResponder = this.context.createScrollResponder(this.handleScrollRequest);\n };\n TimeCols.prototype.componentDidUpdate = function (prevProps) {\n this.scrollResponder.update(prevProps.dateProfile !== this.props.dateProfile);\n };\n TimeCols.prototype.componentWillUnmount = function () {\n this.scrollResponder.detach();\n };\n TimeCols.prototype.queryHit = function (positionLeft, positionTop) {\n var _a = this.context, dateEnv = _a.dateEnv, options = _a.options;\n var colCoords = this.colCoords;\n var dateProfile = this.props.dateProfile;\n var slatCoords = this.state.slatCoords;\n var _b = this.processSlotOptions(this.props.slotDuration, options.snapDuration), snapDuration = _b.snapDuration, snapsPerSlot = _b.snapsPerSlot;\n var colIndex = colCoords.leftToIndex(positionLeft);\n var slatIndex = slatCoords.positions.topToIndex(positionTop);\n if (colIndex != null && slatIndex != null) {\n var cell = this.props.cells[colIndex];\n var slatTop = slatCoords.positions.tops[slatIndex];\n var slatHeight = slatCoords.positions.getHeight(slatIndex);\n var partial = (positionTop - slatTop) / slatHeight; // floating point number between 0 and 1\n var localSnapIndex = Math.floor(partial * snapsPerSlot); // the snap # relative to start of slat\n var snapIndex = slatIndex * snapsPerSlot + localSnapIndex;\n var dayDate = this.props.cells[colIndex].date;\n var time = addDurations(dateProfile.slotMinTime, multiplyDuration(snapDuration, snapIndex));\n var start = dateEnv.add(dayDate, time);\n var end = dateEnv.add(start, snapDuration);\n return {\n dateProfile: dateProfile,\n dateSpan: __assign({ range: { start: start, end: end }, allDay: false }, cell.extraDateSpan),\n dayEl: colCoords.els[colIndex],\n rect: {\n left: colCoords.lefts[colIndex],\n right: colCoords.rights[colIndex],\n top: slatTop,\n bottom: slatTop + slatHeight,\n },\n layer: 0,\n };\n }\n return null;\n };\n return TimeCols;\n}(DateComponent));\nfunction processSlotOptions(slotDuration, snapDurationOverride) {\n var snapDuration = snapDurationOverride || slotDuration;\n var snapsPerSlot = wholeDivideDurations(slotDuration, snapDuration);\n if (snapsPerSlot === null) {\n snapDuration = slotDuration;\n snapsPerSlot = 1;\n // TODO: say warning?\n }\n return { snapDuration: snapDuration, snapsPerSlot: snapsPerSlot };\n}\n\nvar DayTimeColsSlicer = /** @class */ (function (_super) {\n __extends(DayTimeColsSlicer, _super);\n function DayTimeColsSlicer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DayTimeColsSlicer.prototype.sliceRange = function (range, dayRanges) {\n var segs = [];\n for (var col = 0; col < dayRanges.length; col += 1) {\n var segRange = intersectRanges(range, dayRanges[col]);\n if (segRange) {\n segs.push({\n start: segRange.start,\n end: segRange.end,\n isStart: segRange.start.valueOf() === range.start.valueOf(),\n isEnd: segRange.end.valueOf() === range.end.valueOf(),\n col: col,\n });\n }\n }\n return segs;\n };\n return DayTimeColsSlicer;\n}(Slicer));\n\nvar DayTimeCols = /** @class */ (function (_super) {\n __extends(DayTimeCols, _super);\n function DayTimeCols() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.buildDayRanges = memoize(buildDayRanges);\n _this.slicer = new DayTimeColsSlicer();\n _this.timeColsRef = createRef();\n return _this;\n }\n DayTimeCols.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, context = _a.context;\n var dateProfile = props.dateProfile, dayTableModel = props.dayTableModel;\n var isNowIndicator = context.options.nowIndicator;\n var dayRanges = this.buildDayRanges(dayTableModel, dateProfile, context.dateEnv);\n // give it the first row of cells\n // TODO: would move this further down hierarchy, but sliceNowDate needs it\n return (createElement(NowTimer, { unit: isNowIndicator ? 'minute' : 'day' }, function (nowDate, todayRange) { return (createElement(TimeCols, __assign({ ref: _this.timeColsRef }, _this.slicer.sliceProps(props, dateProfile, null, context, dayRanges), { forPrint: props.forPrint, axis: props.axis, dateProfile: dateProfile, slatMetas: props.slatMetas, slotDuration: props.slotDuration, cells: dayTableModel.cells[0], tableColGroupNode: props.tableColGroupNode, tableMinWidth: props.tableMinWidth, clientWidth: props.clientWidth, clientHeight: props.clientHeight, expandRows: props.expandRows, nowDate: nowDate, nowIndicatorSegs: isNowIndicator && _this.slicer.sliceNowDate(nowDate, context, dayRanges), todayRange: todayRange, onScrollTopRequest: props.onScrollTopRequest, onSlatCoords: props.onSlatCoords }))); }));\n };\n return DayTimeCols;\n}(DateComponent));\nfunction buildDayRanges(dayTableModel, dateProfile, dateEnv) {\n var ranges = [];\n for (var _i = 0, _a = dayTableModel.headerDates; _i < _a.length; _i++) {\n var date = _a[_i];\n ranges.push({\n start: dateEnv.add(date, dateProfile.slotMinTime),\n end: dateEnv.add(date, dateProfile.slotMaxTime),\n });\n }\n return ranges;\n}\n\n// potential nice values for the slot-duration and interval-duration\n// from largest to smallest\nvar STOCK_SUB_DURATIONS = [\n { hours: 1 },\n { minutes: 30 },\n { minutes: 15 },\n { seconds: 30 },\n { seconds: 15 },\n];\nfunction buildSlatMetas(slotMinTime, slotMaxTime, explicitLabelInterval, slotDuration, dateEnv) {\n var dayStart = new Date(0);\n var slatTime = slotMinTime;\n var slatIterator = createDuration(0);\n var labelInterval = explicitLabelInterval || computeLabelInterval(slotDuration);\n var metas = [];\n while (asRoughMs(slatTime) < asRoughMs(slotMaxTime)) {\n var date = dateEnv.add(dayStart, slatTime);\n var isLabeled = wholeDivideDurations(slatIterator, labelInterval) !== null;\n metas.push({\n date: date,\n time: slatTime,\n key: date.toISOString(),\n isoTimeStr: formatIsoTimeString(date),\n isLabeled: isLabeled,\n });\n slatTime = addDurations(slatTime, slotDuration);\n slatIterator = addDurations(slatIterator, slotDuration);\n }\n return metas;\n}\n// Computes an automatic value for slotLabelInterval\nfunction computeLabelInterval(slotDuration) {\n var i;\n var labelInterval;\n var slotsPerLabel;\n // find the smallest stock label interval that results in more than one slots-per-label\n for (i = STOCK_SUB_DURATIONS.length - 1; i >= 0; i -= 1) {\n labelInterval = createDuration(STOCK_SUB_DURATIONS[i]);\n slotsPerLabel = wholeDivideDurations(labelInterval, slotDuration);\n if (slotsPerLabel !== null && slotsPerLabel > 1) {\n return labelInterval;\n }\n }\n return slotDuration; // fall back\n}\n\nvar DayTimeColsView = /** @class */ (function (_super) {\n __extends(DayTimeColsView, _super);\n function DayTimeColsView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.buildTimeColsModel = memoize(buildTimeColsModel);\n _this.buildSlatMetas = memoize(buildSlatMetas);\n return _this;\n }\n DayTimeColsView.prototype.render = function () {\n var _this = this;\n var _a = this.context, options = _a.options, dateEnv = _a.dateEnv, dateProfileGenerator = _a.dateProfileGenerator;\n var props = this.props;\n var dateProfile = props.dateProfile;\n var dayTableModel = this.buildTimeColsModel(dateProfile, dateProfileGenerator);\n var splitProps = this.allDaySplitter.splitProps(props);\n var slatMetas = this.buildSlatMetas(dateProfile.slotMinTime, dateProfile.slotMaxTime, options.slotLabelInterval, options.slotDuration, dateEnv);\n var dayMinWidth = options.dayMinWidth;\n var hasAttachedAxis = !dayMinWidth;\n var hasDetachedAxis = dayMinWidth;\n var headerContent = options.dayHeaders && (createElement(DayHeader, { dates: dayTableModel.headerDates, dateProfile: dateProfile, datesRepDistinctDays: true, renderIntro: hasAttachedAxis ? this.renderHeadAxis : null }));\n var allDayContent = (options.allDaySlot !== false) && (function (contentArg) { return (createElement(DayTable, __assign({}, splitProps.allDay, { dateProfile: dateProfile, dayTableModel: dayTableModel, nextDayThreshold: options.nextDayThreshold, tableMinWidth: contentArg.tableMinWidth, colGroupNode: contentArg.tableColGroupNode, renderRowIntro: hasAttachedAxis ? _this.renderTableRowAxis : null, showWeekNumbers: false, expandRows: false, headerAlignElRef: _this.headerElRef, clientWidth: contentArg.clientWidth, clientHeight: contentArg.clientHeight, forPrint: props.forPrint }, _this.getAllDayMaxEventProps()))); });\n var timeGridContent = function (contentArg) { return (createElement(DayTimeCols, __assign({}, splitProps.timed, { dayTableModel: dayTableModel, dateProfile: dateProfile, axis: hasAttachedAxis, slotDuration: options.slotDuration, slatMetas: slatMetas, forPrint: props.forPrint, tableColGroupNode: contentArg.tableColGroupNode, tableMinWidth: contentArg.tableMinWidth, clientWidth: contentArg.clientWidth, clientHeight: contentArg.clientHeight, onSlatCoords: _this.handleSlatCoords, expandRows: contentArg.expandRows, onScrollTopRequest: _this.handleScrollTopRequest }))); };\n return hasDetachedAxis\n ? this.renderHScrollLayout(headerContent, allDayContent, timeGridContent, dayTableModel.colCnt, dayMinWidth, slatMetas, this.state.slatCoords)\n : this.renderSimpleLayout(headerContent, allDayContent, timeGridContent);\n };\n return DayTimeColsView;\n}(TimeColsView));\nfunction buildTimeColsModel(dateProfile, dateProfileGenerator) {\n var daySeries = new DaySeriesModel(dateProfile.renderRange, dateProfileGenerator);\n return new DayTableModel(daySeries, false);\n}\n\nvar OPTION_REFINERS = {\n allDaySlot: Boolean,\n};\n\nvar main = createPlugin({\n initialView: 'timeGridWeek',\n optionRefiners: OPTION_REFINERS,\n views: {\n timeGrid: {\n component: DayTimeColsView,\n usesMinMaxTime: true,\n allDaySlot: true,\n slotDuration: '00:30:00',\n slotEventOverlap: true, // a bad name. confused with overlap/constraint system\n },\n timeGridDay: {\n type: 'timeGrid',\n duration: { days: 1 },\n },\n timeGridWeek: {\n type: 'timeGrid',\n duration: { weeks: 1 },\n },\n },\n});\n\nexport default main;\nexport { DayTimeCols, DayTimeColsSlicer, DayTimeColsView, TimeCols, TimeColsSlatsCoords, TimeColsView, buildDayRanges, buildSlatMetas, buildTimeColsModel };\n","/*!\nFullCalendar Scheduler v5.10.1\nDocs & License: https://fullcalendar.io/scheduler\n(c) 2021 Adam Shaw\n*/\nimport './main.css';\n\nimport { config, createFormatter, greatestDurationDenominator, asCleanDays, createDuration, wholeDivideDurations, asRoughMs, addDays, startOfDay, asRoughSeconds, asRoughMinutes, diffWholeDays, isInt, computeVisibleDayRange, padStart, createElement, ContentHook, BaseComponent, memoizeObjArg, buildClassNameNormalizer, memoize, getDateMeta, getSlotClassNames, getDayClassNames, MountHook, buildNavLinkAttrs, Fragment, rangeContainsMarker, PositionCache, findDirectChildren, createRef, NowTimer, NowIndicatorRoot, findElements, RenderHook, RefMap, multiplyDuration, SegHierarchy, groupIntersectingEntries, buildIsoString, computeEarliestSegStart, buildEventRangeKey, BgEvent, getSegMeta, renderFill, intersectRanges, addMs, Slicer, StandardEvent, MoreLinkRoot, setRef, sortEventSegs, mapHash, isPropsEqual, DateComponent, getStickyHeaderDates, getStickyFooterScrollbar, ViewRoot, renderScrollShim, createPlugin } from '@fullcalendar/common';\nimport premiumCommonPlugin from '@fullcalendar/premium-common';\nimport { __extends, __assign } from 'tslib';\nimport { ScrollGrid } from '@fullcalendar/scrollgrid';\n\nvar MIN_AUTO_LABELS = 18; // more than `12` months but less that `24` hours\nvar MAX_AUTO_SLOTS_PER_LABEL = 6; // allows 6 10-min slots in an hour\nvar MAX_AUTO_CELLS = 200; // allows 4-days to have a :30 slot duration\nconfig.MAX_TIMELINE_SLOTS = 1000;\n// potential nice values for slot-duration and interval-duration\nvar STOCK_SUB_DURATIONS = [\n { years: 1 },\n { months: 1 },\n { days: 1 },\n { hours: 1 },\n { minutes: 30 },\n { minutes: 15 },\n { minutes: 10 },\n { minutes: 5 },\n { minutes: 1 },\n { seconds: 30 },\n { seconds: 15 },\n { seconds: 10 },\n { seconds: 5 },\n { seconds: 1 },\n { milliseconds: 500 },\n { milliseconds: 100 },\n { milliseconds: 10 },\n { milliseconds: 1 },\n];\nfunction buildTimelineDateProfile(dateProfile, dateEnv, allOptions, dateProfileGenerator) {\n var tDateProfile = {\n labelInterval: allOptions.slotLabelInterval,\n slotDuration: allOptions.slotDuration,\n };\n validateLabelAndSlot(tDateProfile, dateProfile, dateEnv); // validate after computed grid duration\n ensureLabelInterval(tDateProfile, dateProfile, dateEnv);\n ensureSlotDuration(tDateProfile, dateProfile, dateEnv);\n var input = allOptions.slotLabelFormat;\n var rawFormats = Array.isArray(input) ? input :\n (input != null) ? [input] :\n computeHeaderFormats(tDateProfile, dateProfile, dateEnv, allOptions);\n tDateProfile.headerFormats = rawFormats.map(function (rawFormat) { return createFormatter(rawFormat); });\n tDateProfile.isTimeScale = Boolean(tDateProfile.slotDuration.milliseconds);\n var largeUnit = null;\n if (!tDateProfile.isTimeScale) {\n var slotUnit = greatestDurationDenominator(tDateProfile.slotDuration).unit;\n if (/year|month|week/.test(slotUnit)) {\n largeUnit = slotUnit;\n }\n }\n tDateProfile.largeUnit = largeUnit;\n tDateProfile.emphasizeWeeks =\n asCleanDays(tDateProfile.slotDuration) === 1 &&\n currentRangeAs('weeks', dateProfile, dateEnv) >= 2 &&\n !allOptions.businessHours;\n /*\n console.log('label interval =', timelineView.labelInterval.humanize())\n console.log('slot duration =', timelineView.slotDuration.humanize())\n console.log('header formats =', timelineView.headerFormats)\n console.log('isTimeScale', timelineView.isTimeScale)\n console.log('largeUnit', timelineView.largeUnit)\n */\n var rawSnapDuration = allOptions.snapDuration;\n var snapDuration;\n var snapsPerSlot;\n if (rawSnapDuration) {\n snapDuration = createDuration(rawSnapDuration);\n snapsPerSlot = wholeDivideDurations(tDateProfile.slotDuration, snapDuration);\n // ^ TODO: warning if not whole?\n }\n if (snapsPerSlot == null) {\n snapDuration = tDateProfile.slotDuration;\n snapsPerSlot = 1;\n }\n tDateProfile.snapDuration = snapDuration;\n tDateProfile.snapsPerSlot = snapsPerSlot;\n // more...\n var timeWindowMs = asRoughMs(dateProfile.slotMaxTime) - asRoughMs(dateProfile.slotMinTime);\n // TODO: why not use normalizeRange!?\n var normalizedStart = normalizeDate(dateProfile.renderRange.start, tDateProfile, dateEnv);\n var normalizedEnd = normalizeDate(dateProfile.renderRange.end, tDateProfile, dateEnv);\n // apply slotMinTime/slotMaxTime\n // TODO: View should be responsible.\n if (tDateProfile.isTimeScale) {\n normalizedStart = dateEnv.add(normalizedStart, dateProfile.slotMinTime);\n normalizedEnd = dateEnv.add(addDays(normalizedEnd, -1), dateProfile.slotMaxTime);\n }\n tDateProfile.timeWindowMs = timeWindowMs;\n tDateProfile.normalizedRange = { start: normalizedStart, end: normalizedEnd };\n var slotDates = [];\n var date = normalizedStart;\n while (date < normalizedEnd) {\n if (isValidDate(date, tDateProfile, dateProfile, dateProfileGenerator)) {\n slotDates.push(date);\n }\n date = dateEnv.add(date, tDateProfile.slotDuration);\n }\n tDateProfile.slotDates = slotDates;\n // more...\n var snapIndex = -1;\n var snapDiff = 0; // index of the diff :(\n var snapDiffToIndex = [];\n var snapIndexToDiff = [];\n date = normalizedStart;\n while (date < normalizedEnd) {\n if (isValidDate(date, tDateProfile, dateProfile, dateProfileGenerator)) {\n snapIndex += 1;\n snapDiffToIndex.push(snapIndex);\n snapIndexToDiff.push(snapDiff);\n }\n else {\n snapDiffToIndex.push(snapIndex + 0.5);\n }\n date = dateEnv.add(date, tDateProfile.snapDuration);\n snapDiff += 1;\n }\n tDateProfile.snapDiffToIndex = snapDiffToIndex;\n tDateProfile.snapIndexToDiff = snapIndexToDiff;\n tDateProfile.snapCnt = snapIndex + 1; // is always one behind\n tDateProfile.slotCnt = tDateProfile.snapCnt / tDateProfile.snapsPerSlot;\n // more...\n tDateProfile.isWeekStarts = buildIsWeekStarts(tDateProfile, dateEnv);\n tDateProfile.cellRows = buildCellRows(tDateProfile, dateEnv);\n tDateProfile.slotsPerLabel = wholeDivideDurations(tDateProfile.labelInterval, tDateProfile.slotDuration);\n return tDateProfile;\n}\n/*\nsnaps to appropriate unit\n*/\nfunction normalizeDate(date, tDateProfile, dateEnv) {\n var normalDate = date;\n if (!tDateProfile.isTimeScale) {\n normalDate = startOfDay(normalDate);\n if (tDateProfile.largeUnit) {\n normalDate = dateEnv.startOf(normalDate, tDateProfile.largeUnit);\n }\n }\n return normalDate;\n}\n/*\nsnaps to appropriate unit\n*/\nfunction normalizeRange(range, tDateProfile, dateEnv) {\n if (!tDateProfile.isTimeScale) {\n range = computeVisibleDayRange(range);\n if (tDateProfile.largeUnit) {\n var dayRange = range; // preserve original result\n range = {\n start: dateEnv.startOf(range.start, tDateProfile.largeUnit),\n end: dateEnv.startOf(range.end, tDateProfile.largeUnit),\n };\n // if date is partially through the interval, or is in the same interval as the start,\n // make the exclusive end be the *next* interval\n if (range.end.valueOf() !== dayRange.end.valueOf() || range.end <= range.start) {\n range = {\n start: range.start,\n end: dateEnv.add(range.end, tDateProfile.slotDuration),\n };\n }\n }\n }\n return range;\n}\nfunction isValidDate(date, tDateProfile, dateProfile, dateProfileGenerator) {\n if (dateProfileGenerator.isHiddenDay(date)) {\n return false;\n }\n if (tDateProfile.isTimeScale) {\n // determine if the time is within slotMinTime/slotMaxTime, which may have wacky values\n var day = startOfDay(date);\n var timeMs = date.valueOf() - day.valueOf();\n var ms = timeMs - asRoughMs(dateProfile.slotMinTime); // milliseconds since slotMinTime\n ms = ((ms % 86400000) + 86400000) % 86400000; // make negative values wrap to 24hr clock\n return ms < tDateProfile.timeWindowMs; // before the slotMaxTime?\n }\n return true;\n}\nfunction validateLabelAndSlot(tDateProfile, dateProfile, dateEnv) {\n var currentRange = dateProfile.currentRange;\n // make sure labelInterval doesn't exceed the max number of cells\n if (tDateProfile.labelInterval) {\n var labelCnt = dateEnv.countDurationsBetween(currentRange.start, currentRange.end, tDateProfile.labelInterval);\n if (labelCnt > config.MAX_TIMELINE_SLOTS) {\n console.warn('slotLabelInterval results in too many cells');\n tDateProfile.labelInterval = null;\n }\n }\n // make sure slotDuration doesn't exceed the maximum number of cells\n if (tDateProfile.slotDuration) {\n var slotCnt = dateEnv.countDurationsBetween(currentRange.start, currentRange.end, tDateProfile.slotDuration);\n if (slotCnt > config.MAX_TIMELINE_SLOTS) {\n console.warn('slotDuration results in too many cells');\n tDateProfile.slotDuration = null;\n }\n }\n // make sure labelInterval is a multiple of slotDuration\n if (tDateProfile.labelInterval && tDateProfile.slotDuration) {\n var slotsPerLabel = wholeDivideDurations(tDateProfile.labelInterval, tDateProfile.slotDuration);\n if (slotsPerLabel === null || slotsPerLabel < 1) {\n console.warn('slotLabelInterval must be a multiple of slotDuration');\n tDateProfile.slotDuration = null;\n }\n }\n}\nfunction ensureLabelInterval(tDateProfile, dateProfile, dateEnv) {\n var currentRange = dateProfile.currentRange;\n var labelInterval = tDateProfile.labelInterval;\n if (!labelInterval) {\n // compute based off the slot duration\n // find the largest label interval with an acceptable slots-per-label\n var input = void 0;\n if (tDateProfile.slotDuration) {\n for (var _i = 0, STOCK_SUB_DURATIONS_1 = STOCK_SUB_DURATIONS; _i < STOCK_SUB_DURATIONS_1.length; _i++) {\n input = STOCK_SUB_DURATIONS_1[_i];\n var tryLabelInterval = createDuration(input);\n var slotsPerLabel = wholeDivideDurations(tryLabelInterval, tDateProfile.slotDuration);\n if (slotsPerLabel !== null && slotsPerLabel <= MAX_AUTO_SLOTS_PER_LABEL) {\n labelInterval = tryLabelInterval;\n break;\n }\n }\n // use the slot duration as a last resort\n if (!labelInterval) {\n labelInterval = tDateProfile.slotDuration;\n }\n // compute based off the view's duration\n // find the largest label interval that yields the minimum number of labels\n }\n else {\n for (var _a = 0, STOCK_SUB_DURATIONS_2 = STOCK_SUB_DURATIONS; _a < STOCK_SUB_DURATIONS_2.length; _a++) {\n input = STOCK_SUB_DURATIONS_2[_a];\n labelInterval = createDuration(input);\n var labelCnt = dateEnv.countDurationsBetween(currentRange.start, currentRange.end, labelInterval);\n if (labelCnt >= MIN_AUTO_LABELS) {\n break;\n }\n }\n }\n tDateProfile.labelInterval = labelInterval;\n }\n return labelInterval;\n}\nfunction ensureSlotDuration(tDateProfile, dateProfile, dateEnv) {\n var currentRange = dateProfile.currentRange;\n var slotDuration = tDateProfile.slotDuration;\n if (!slotDuration) {\n var labelInterval = ensureLabelInterval(tDateProfile, dateProfile, dateEnv); // will compute if necessary\n // compute based off the label interval\n // find the largest slot duration that is different from labelInterval, but still acceptable\n for (var _i = 0, STOCK_SUB_DURATIONS_3 = STOCK_SUB_DURATIONS; _i < STOCK_SUB_DURATIONS_3.length; _i++) {\n var input = STOCK_SUB_DURATIONS_3[_i];\n var trySlotDuration = createDuration(input);\n var slotsPerLabel = wholeDivideDurations(labelInterval, trySlotDuration);\n if (slotsPerLabel !== null && slotsPerLabel > 1 && slotsPerLabel <= MAX_AUTO_SLOTS_PER_LABEL) {\n slotDuration = trySlotDuration;\n break;\n }\n }\n // only allow the value if it won't exceed the view's # of slots limit\n if (slotDuration) {\n var slotCnt = dateEnv.countDurationsBetween(currentRange.start, currentRange.end, slotDuration);\n if (slotCnt > MAX_AUTO_CELLS) {\n slotDuration = null;\n }\n }\n // use the label interval as a last resort\n if (!slotDuration) {\n slotDuration = labelInterval;\n }\n tDateProfile.slotDuration = slotDuration;\n }\n return slotDuration;\n}\nfunction computeHeaderFormats(tDateProfile, dateProfile, dateEnv, allOptions) {\n var format1;\n var format2;\n var labelInterval = tDateProfile.labelInterval;\n var unit = greatestDurationDenominator(labelInterval).unit;\n var weekNumbersVisible = allOptions.weekNumbers;\n var format0 = (format1 = (format2 = null));\n // NOTE: weekNumber computation function wont work\n if ((unit === 'week') && !weekNumbersVisible) {\n unit = 'day';\n }\n switch (unit) {\n case 'year':\n format0 = { year: 'numeric' }; // '2015'\n break;\n case 'month':\n if (currentRangeAs('years', dateProfile, dateEnv) > 1) {\n format0 = { year: 'numeric' }; // '2015'\n }\n format1 = { month: 'short' }; // 'Jan'\n break;\n case 'week':\n if (currentRangeAs('years', dateProfile, dateEnv) > 1) {\n format0 = { year: 'numeric' }; // '2015'\n }\n format1 = { week: 'narrow' }; // 'Wk4'\n break;\n case 'day':\n if (currentRangeAs('years', dateProfile, dateEnv) > 1) {\n format0 = { year: 'numeric', month: 'long' }; // 'January 2014'\n }\n else if (currentRangeAs('months', dateProfile, dateEnv) > 1) {\n format0 = { month: 'long' }; // 'January'\n }\n if (weekNumbersVisible) {\n format1 = { week: 'short' }; // 'Wk 4'\n }\n format2 = { weekday: 'narrow', day: 'numeric' }; // 'Su 9'\n break;\n case 'hour':\n if (weekNumbersVisible) {\n format0 = { week: 'short' }; // 'Wk 4'\n }\n if (currentRangeAs('days', dateProfile, dateEnv) > 1) {\n format1 = { weekday: 'short', day: 'numeric', month: 'numeric', omitCommas: true }; // Sat 4/7\n }\n format2 = {\n hour: 'numeric',\n minute: '2-digit',\n omitZeroMinute: true,\n meridiem: 'short',\n };\n break;\n case 'minute':\n // sufficiently large number of different minute cells?\n if ((asRoughMinutes(labelInterval) / 60) >= MAX_AUTO_SLOTS_PER_LABEL) {\n format0 = {\n hour: 'numeric',\n meridiem: 'short',\n };\n format1 = function (params) { return (':' + padStart(params.date.minute, 2) // ':30'\n ); };\n }\n else {\n format0 = {\n hour: 'numeric',\n minute: 'numeric',\n meridiem: 'short',\n };\n }\n break;\n case 'second':\n // sufficiently large number of different second cells?\n if ((asRoughSeconds(labelInterval) / 60) >= MAX_AUTO_SLOTS_PER_LABEL) {\n format0 = { hour: 'numeric', minute: '2-digit', meridiem: 'lowercase' }; // '8:30 PM'\n format1 = function (params) { return (':' + padStart(params.date.second, 2) // ':30'\n ); };\n }\n else {\n format0 = { hour: 'numeric', minute: '2-digit', second: '2-digit', meridiem: 'lowercase' }; // '8:30:45 PM'\n }\n break;\n case 'millisecond':\n format0 = { hour: 'numeric', minute: '2-digit', second: '2-digit', meridiem: 'lowercase' }; // '8:30:45 PM'\n format1 = function (params) { return ('.' + padStart(params.millisecond, 3)); };\n break;\n }\n return [].concat(format0 || [], format1 || [], format2 || []);\n}\n// Compute the number of the give units in the \"current\" range.\n// Won't go more precise than days.\n// Will return `0` if there's not a clean whole interval.\nfunction currentRangeAs(unit, dateProfile, dateEnv) {\n var range = dateProfile.currentRange;\n var res = null;\n if (unit === 'years') {\n res = dateEnv.diffWholeYears(range.start, range.end);\n }\n else if (unit === 'months') {\n res = dateEnv.diffWholeMonths(range.start, range.end);\n }\n else if (unit === 'weeks') {\n res = dateEnv.diffWholeMonths(range.start, range.end);\n }\n else if (unit === 'days') {\n res = diffWholeDays(range.start, range.end);\n }\n return res || 0;\n}\nfunction buildIsWeekStarts(tDateProfile, dateEnv) {\n var slotDates = tDateProfile.slotDates, emphasizeWeeks = tDateProfile.emphasizeWeeks;\n var prevWeekNumber = null;\n var isWeekStarts = [];\n for (var _i = 0, slotDates_1 = slotDates; _i < slotDates_1.length; _i++) {\n var slotDate = slotDates_1[_i];\n var weekNumber = dateEnv.computeWeekNumber(slotDate);\n var isWeekStart = emphasizeWeeks && (prevWeekNumber !== null) && (prevWeekNumber !== weekNumber);\n prevWeekNumber = weekNumber;\n isWeekStarts.push(isWeekStart);\n }\n return isWeekStarts;\n}\nfunction buildCellRows(tDateProfile, dateEnv) {\n var slotDates = tDateProfile.slotDates;\n var formats = tDateProfile.headerFormats;\n var cellRows = formats.map(function () { return []; }); // indexed by row,col\n var slotAsDays = asCleanDays(tDateProfile.slotDuration);\n var guessedSlotUnit = slotAsDays === 7 ? 'week' :\n slotAsDays === 1 ? 'day' :\n null;\n // specifically for navclicks\n var rowUnitsFromFormats = formats.map(function (format) { return (format.getLargestUnit ? format.getLargestUnit() : null); });\n // builds cellRows and slotCells\n for (var i = 0; i < slotDates.length; i += 1) {\n var date = slotDates[i];\n var isWeekStart = tDateProfile.isWeekStarts[i];\n for (var row = 0; row < formats.length; row += 1) {\n var format = formats[row];\n var rowCells = cellRows[row];\n var leadingCell = rowCells[rowCells.length - 1];\n var isLastRow = row === formats.length - 1;\n var isSuperRow = formats.length > 1 && !isLastRow; // more than one row and not the last\n var newCell = null;\n var rowUnit = rowUnitsFromFormats[row] || (isLastRow ? guessedSlotUnit : null);\n if (isSuperRow) {\n var text = dateEnv.format(date, format);\n if (!leadingCell || (leadingCell.text !== text)) {\n newCell = buildCellObject(date, text, rowUnit);\n }\n else {\n leadingCell.colspan += 1;\n }\n }\n else if (!leadingCell ||\n isInt(dateEnv.countDurationsBetween(tDateProfile.normalizedRange.start, date, tDateProfile.labelInterval))) {\n var text = dateEnv.format(date, format);\n newCell = buildCellObject(date, text, rowUnit);\n }\n else {\n leadingCell.colspan += 1;\n }\n if (newCell) {\n newCell.weekStart = isWeekStart;\n rowCells.push(newCell);\n }\n }\n }\n return cellRows;\n}\nfunction buildCellObject(date, text, rowUnit) {\n return { date: date, text: text, rowUnit: rowUnit, colspan: 1, isWeekStart: false };\n}\n\nvar TimelineHeaderThInner = /** @class */ (function (_super) {\n __extends(TimelineHeaderThInner, _super);\n function TimelineHeaderThInner() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TimelineHeaderThInner.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n return (createElement(ContentHook, { hookProps: props.hookProps, content: context.options.slotLabelContent, defaultContent: renderInnerContent }, function (innerElRef, innerContent) { return (createElement(\"a\", __assign({ ref: innerElRef, className: 'fc-timeline-slot-cushion fc-scrollgrid-sync-inner' + (props.isSticky ? ' fc-sticky' : '') }, props.navLinkAttrs), innerContent)); }));\n };\n return TimelineHeaderThInner;\n}(BaseComponent));\nfunction renderInnerContent(props) {\n return props.text;\n}\nfunction refineHookProps(input) {\n return {\n level: input.level,\n date: input.dateEnv.toDate(input.dateMarker),\n view: input.viewApi,\n text: input.text,\n };\n}\n\nvar TimelineHeaderTh = /** @class */ (function (_super) {\n __extends(TimelineHeaderTh, _super);\n function TimelineHeaderTh() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.refineHookProps = memoizeObjArg(refineHookProps);\n _this.normalizeClassNames = buildClassNameNormalizer();\n _this.buildCellNavLinkAttrs = memoize(buildCellNavLinkAttrs);\n return _this;\n }\n TimelineHeaderTh.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, context = _a.context;\n var dateEnv = context.dateEnv, options = context.options;\n var cell = props.cell, dateProfile = props.dateProfile, tDateProfile = props.tDateProfile;\n // the cell.rowUnit is f'd\n // giving 'month' for a 3-day view\n // workaround: to infer day, do NOT time\n var dateMeta = getDateMeta(cell.date, props.todayRange, props.nowDate, dateProfile);\n var classNames = ['fc-timeline-slot', 'fc-timeline-slot-label'].concat(cell.rowUnit === 'time' // TODO: so slot classnames for week/month/bigger. see note above about rowUnit\n ? getSlotClassNames(dateMeta, context.theme)\n : getDayClassNames(dateMeta, context.theme));\n if (cell.isWeekStart) {\n classNames.push('fc-timeline-slot-em');\n }\n var hookProps = this.refineHookProps({\n level: props.rowLevel,\n dateMarker: cell.date,\n text: cell.text,\n dateEnv: context.dateEnv,\n viewApi: context.viewApi,\n });\n var customClassNames = this.normalizeClassNames(options.slotLabelClassNames, hookProps);\n return (createElement(MountHook, { hookProps: hookProps, didMount: options.slotLabelDidMount, willUnmount: options.slotLabelWillUnmount }, function (rootElRef) { return (createElement(\"th\", { ref: rootElRef, className: classNames.concat(customClassNames).join(' '), \"data-date\": dateEnv.formatIso(cell.date, { omitTime: !tDateProfile.isTimeScale, omitTimeZoneOffset: true }), colSpan: cell.colspan },\n createElement(\"div\", { className: \"fc-timeline-slot-frame\", style: { height: props.rowInnerHeight } },\n createElement(TimelineHeaderThInner, { hookProps: hookProps, isSticky: props.isSticky, navLinkAttrs: _this.buildCellNavLinkAttrs(context, cell.date, cell.rowUnit) })))); }));\n };\n return TimelineHeaderTh;\n}(BaseComponent));\nfunction buildCellNavLinkAttrs(context, cellDate, rowUnit) {\n return (rowUnit && rowUnit !== 'time')\n ? buildNavLinkAttrs(context, cellDate, rowUnit)\n : {};\n}\n\nvar TimelineHeaderRows = /** @class */ (function (_super) {\n __extends(TimelineHeaderRows, _super);\n function TimelineHeaderRows() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TimelineHeaderRows.prototype.render = function () {\n var _a = this.props, dateProfile = _a.dateProfile, tDateProfile = _a.tDateProfile, rowInnerHeights = _a.rowInnerHeights, todayRange = _a.todayRange, nowDate = _a.nowDate;\n var cellRows = tDateProfile.cellRows;\n return (createElement(Fragment, null, cellRows.map(function (rowCells, rowLevel) {\n var isLast = rowLevel === cellRows.length - 1;\n var isChrono = tDateProfile.isTimeScale && isLast; // the final row, with times?\n var classNames = [\n 'fc-timeline-header-row',\n isChrono ? 'fc-timeline-header-row-chrono' : '',\n ];\n return ( // eslint-disable-next-line react/no-array-index-key\n createElement(\"tr\", { key: rowLevel, className: classNames.join(' ') }, rowCells.map(function (cell) { return (createElement(TimelineHeaderTh, { key: cell.date.toISOString(), cell: cell, rowLevel: rowLevel, dateProfile: dateProfile, tDateProfile: tDateProfile, todayRange: todayRange, nowDate: nowDate, rowInnerHeight: rowInnerHeights && rowInnerHeights[rowLevel], isSticky: !isLast })); })));\n })));\n };\n return TimelineHeaderRows;\n}(BaseComponent));\n\nvar TimelineCoords = /** @class */ (function () {\n function TimelineCoords(slatRootEl, // okay to expose?\n slatEls, dateProfile, tDateProfile, dateEnv, isRtl) {\n this.slatRootEl = slatRootEl;\n this.dateProfile = dateProfile;\n this.tDateProfile = tDateProfile;\n this.dateEnv = dateEnv;\n this.isRtl = isRtl;\n this.outerCoordCache = new PositionCache(slatRootEl, slatEls, true, // isHorizontal\n false);\n // for the inner divs within the slats\n // used for event rendering and scrollTime, to disregard slat border\n this.innerCoordCache = new PositionCache(slatRootEl, findDirectChildren(slatEls, 'div'), true, // isHorizontal\n false);\n }\n TimelineCoords.prototype.isDateInRange = function (date) {\n return rangeContainsMarker(this.dateProfile.currentRange, date);\n };\n // results range from negative width of area to 0\n TimelineCoords.prototype.dateToCoord = function (date) {\n var tDateProfile = this.tDateProfile;\n var snapCoverage = this.computeDateSnapCoverage(date);\n var slotCoverage = snapCoverage / tDateProfile.snapsPerSlot;\n var slotIndex = Math.floor(slotCoverage);\n slotIndex = Math.min(slotIndex, tDateProfile.slotCnt - 1);\n var partial = slotCoverage - slotIndex;\n var _a = this, innerCoordCache = _a.innerCoordCache, outerCoordCache = _a.outerCoordCache;\n if (this.isRtl) {\n return outerCoordCache.originClientRect.width - (outerCoordCache.rights[slotIndex] -\n (innerCoordCache.getWidth(slotIndex) * partial));\n }\n return (outerCoordCache.lefts[slotIndex] +\n (innerCoordCache.getWidth(slotIndex) * partial));\n };\n TimelineCoords.prototype.rangeToCoords = function (range) {\n return {\n start: this.dateToCoord(range.start),\n end: this.dateToCoord(range.end),\n };\n };\n TimelineCoords.prototype.durationToCoord = function (duration) {\n var _a = this, dateProfile = _a.dateProfile, tDateProfile = _a.tDateProfile, dateEnv = _a.dateEnv, isRtl = _a.isRtl;\n var coord = 0;\n if (dateProfile) {\n var date = dateEnv.add(dateProfile.activeRange.start, duration);\n if (!tDateProfile.isTimeScale) {\n date = startOfDay(date);\n }\n coord = this.dateToCoord(date);\n // hack to overcome the left borders of non-first slat\n if (!isRtl && coord) {\n coord += 1;\n }\n }\n return coord;\n };\n TimelineCoords.prototype.coordFromLeft = function (coord) {\n if (this.isRtl) {\n return this.outerCoordCache.originClientRect.width - coord;\n }\n return coord;\n };\n // returned value is between 0 and the number of snaps\n TimelineCoords.prototype.computeDateSnapCoverage = function (date) {\n return computeDateSnapCoverage(date, this.tDateProfile, this.dateEnv);\n };\n return TimelineCoords;\n}());\n// returned value is between 0 and the number of snaps\nfunction computeDateSnapCoverage(date, tDateProfile, dateEnv) {\n var snapDiff = dateEnv.countDurationsBetween(tDateProfile.normalizedRange.start, date, tDateProfile.snapDuration);\n if (snapDiff < 0) {\n return 0;\n }\n if (snapDiff >= tDateProfile.snapDiffToIndex.length) {\n return tDateProfile.snapCnt;\n }\n var snapDiffInt = Math.floor(snapDiff);\n var snapCoverage = tDateProfile.snapDiffToIndex[snapDiffInt];\n if (isInt(snapCoverage)) { // not an in-between value\n snapCoverage += snapDiff - snapDiffInt; // add the remainder\n }\n else {\n // a fractional value, meaning the date is not visible\n // always round up in this case. works for start AND end dates in a range.\n snapCoverage = Math.ceil(snapCoverage);\n }\n return snapCoverage;\n}\nfunction coordToCss(hcoord, isRtl) {\n if (hcoord === null) {\n return { left: '', right: '' };\n }\n if (isRtl) {\n return { right: hcoord, left: '' };\n }\n return { left: hcoord, right: '' };\n}\nfunction coordsToCss(hcoords, isRtl) {\n if (!hcoords) {\n return { left: '', right: '' };\n }\n if (isRtl) {\n return { right: hcoords.start, left: -hcoords.end };\n }\n return { left: hcoords.start, right: -hcoords.end };\n}\n\nvar TimelineHeader = /** @class */ (function (_super) {\n __extends(TimelineHeader, _super);\n function TimelineHeader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.rootElRef = createRef();\n return _this;\n }\n TimelineHeader.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, context = _a.context;\n // TODO: very repetitive\n // TODO: make part of tDateProfile?\n var timerUnit = greatestDurationDenominator(props.tDateProfile.slotDuration).unit;\n // WORKAROUND: make ignore slatCoords when out of sync with dateProfile\n var slatCoords = props.slatCoords && props.slatCoords.dateProfile === props.dateProfile ? props.slatCoords : null;\n return (createElement(NowTimer, { unit: timerUnit }, function (nowDate, todayRange) { return (createElement(\"div\", { className: \"fc-timeline-header\", ref: _this.rootElRef },\n createElement(\"table\", { \"aria-hidden\": true, className: \"fc-scrollgrid-sync-table\", style: { minWidth: props.tableMinWidth, width: props.clientWidth } },\n props.tableColGroupNode,\n createElement(\"tbody\", null,\n createElement(TimelineHeaderRows, { dateProfile: props.dateProfile, tDateProfile: props.tDateProfile, nowDate: nowDate, todayRange: todayRange, rowInnerHeights: props.rowInnerHeights }))),\n context.options.nowIndicator && (\n // need to have a container regardless of whether the current view has a visible now indicator\n // because apparently removal of the element resets the scroll for some reasons (issue #5351).\n // this issue doesn't happen for the timeline body however (\n createElement(\"div\", { className: \"fc-timeline-now-indicator-container\" }, (slatCoords && slatCoords.isDateInRange(nowDate)) && (createElement(NowIndicatorRoot, { isAxis: true, date: nowDate }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"div\", { ref: rootElRef, className: ['fc-timeline-now-indicator-arrow'].concat(classNames).join(' '), style: coordToCss(slatCoords.dateToCoord(nowDate), context.isRtl) }, innerContent)); })))))); }));\n };\n TimelineHeader.prototype.componentDidMount = function () {\n this.updateSize();\n };\n TimelineHeader.prototype.componentDidUpdate = function () {\n this.updateSize();\n };\n TimelineHeader.prototype.updateSize = function () {\n if (this.props.onMaxCushionWidth) {\n this.props.onMaxCushionWidth(this.computeMaxCushionWidth());\n }\n };\n TimelineHeader.prototype.computeMaxCushionWidth = function () {\n return Math.max.apply(Math, findElements(this.rootElRef.current, '.fc-timeline-header-row:last-child .fc-timeline-slot-cushion').map(function (el) { return el.getBoundingClientRect().width; }));\n };\n return TimelineHeader;\n}(BaseComponent));\n\nvar TimelineSlatCell = /** @class */ (function (_super) {\n __extends(TimelineSlatCell, _super);\n function TimelineSlatCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TimelineSlatCell.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n var dateEnv = context.dateEnv, options = context.options, theme = context.theme;\n var date = props.date, tDateProfile = props.tDateProfile, isEm = props.isEm;\n var dateMeta = getDateMeta(props.date, props.todayRange, props.nowDate, props.dateProfile);\n var classNames = ['fc-timeline-slot', 'fc-timeline-slot-lane'];\n var dataAttrs = { 'data-date': dateEnv.formatIso(date, { omitTimeZoneOffset: true, omitTime: !tDateProfile.isTimeScale }) };\n var hookProps = __assign(__assign({ date: dateEnv.toDate(props.date) }, dateMeta), { view: context.viewApi });\n if (isEm) {\n classNames.push('fc-timeline-slot-em');\n }\n if (tDateProfile.isTimeScale) {\n classNames.push(isInt(dateEnv.countDurationsBetween(tDateProfile.normalizedRange.start, props.date, tDateProfile.labelInterval)) ?\n 'fc-timeline-slot-major' :\n 'fc-timeline-slot-minor');\n }\n classNames.push.apply(classNames, (props.isDay\n ? getDayClassNames(dateMeta, theme)\n : getSlotClassNames(dateMeta, theme)));\n return (createElement(RenderHook, { hookProps: hookProps, classNames: options.slotLaneClassNames, content: options.slotLaneContent, didMount: options.slotLaneDidMount, willUnmount: options.slotLaneWillUnmount, elRef: props.elRef }, function (rootElRef, customClassNames, innerElRef, innerContent) { return (createElement(\"td\", __assign({ ref: rootElRef, className: classNames.concat(customClassNames).join(' ') }, dataAttrs),\n createElement(\"div\", { ref: innerElRef }, innerContent))); }));\n };\n return TimelineSlatCell;\n}(BaseComponent));\n\nvar TimelineSlatsBody = /** @class */ (function (_super) {\n __extends(TimelineSlatsBody, _super);\n function TimelineSlatsBody() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TimelineSlatsBody.prototype.render = function () {\n var props = this.props;\n var tDateProfile = props.tDateProfile, cellElRefs = props.cellElRefs;\n var slotDates = tDateProfile.slotDates, isWeekStarts = tDateProfile.isWeekStarts;\n var isDay = !tDateProfile.isTimeScale && !tDateProfile.largeUnit;\n return (createElement(\"tbody\", null,\n createElement(\"tr\", null, slotDates.map(function (slotDate, i) {\n var key = slotDate.toISOString();\n return (createElement(TimelineSlatCell, { key: key, elRef: cellElRefs.createRef(key), date: slotDate, dateProfile: props.dateProfile, tDateProfile: tDateProfile, nowDate: props.nowDate, todayRange: props.todayRange, isEm: isWeekStarts[i], isDay: isDay }));\n }))));\n };\n return TimelineSlatsBody;\n}(BaseComponent));\n\nvar TimelineSlats = /** @class */ (function (_super) {\n __extends(TimelineSlats, _super);\n function TimelineSlats() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.rootElRef = createRef();\n _this.cellElRefs = new RefMap();\n _this.handleScrollRequest = function (request) {\n var onScrollLeftRequest = _this.props.onScrollLeftRequest;\n var coords = _this.coords;\n if (onScrollLeftRequest && coords) {\n if (request.time) {\n var scrollLeft = coords.coordFromLeft(coords.durationToCoord(request.time));\n onScrollLeftRequest(scrollLeft);\n }\n return true;\n }\n return null; // best?\n };\n return _this;\n }\n TimelineSlats.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n return (createElement(\"div\", { className: \"fc-timeline-slots\", ref: this.rootElRef },\n createElement(\"table\", { \"aria-hidden\": true, className: context.theme.getClass('table'), style: {\n minWidth: props.tableMinWidth,\n width: props.clientWidth,\n } },\n props.tableColGroupNode,\n createElement(TimelineSlatsBody, { cellElRefs: this.cellElRefs, dateProfile: props.dateProfile, tDateProfile: props.tDateProfile, nowDate: props.nowDate, todayRange: props.todayRange }))));\n };\n TimelineSlats.prototype.componentDidMount = function () {\n this.updateSizing();\n this.scrollResponder = this.context.createScrollResponder(this.handleScrollRequest);\n };\n TimelineSlats.prototype.componentDidUpdate = function (prevProps) {\n this.updateSizing();\n this.scrollResponder.update(prevProps.dateProfile !== this.props.dateProfile);\n };\n TimelineSlats.prototype.componentWillUnmount = function () {\n this.scrollResponder.detach();\n if (this.props.onCoords) {\n this.props.onCoords(null);\n }\n };\n TimelineSlats.prototype.updateSizing = function () {\n var _a = this, props = _a.props, context = _a.context;\n if (props.clientWidth !== null && // is sizing stable?\n this.scrollResponder\n // ^it's possible to have clientWidth immediately after mount (when returning from print view), but w/o scrollResponder\n ) {\n var rootEl = this.rootElRef.current;\n if (rootEl.offsetWidth) { // not hidden by css\n this.coords = new TimelineCoords(this.rootElRef.current, collectCellEls(this.cellElRefs.currentMap, props.tDateProfile.slotDates), props.dateProfile, props.tDateProfile, context.dateEnv, context.isRtl);\n if (props.onCoords) {\n props.onCoords(this.coords);\n }\n this.scrollResponder.update(false); // TODO: wouldn't have to do this if coords were in state\n }\n }\n };\n TimelineSlats.prototype.positionToHit = function (leftPosition) {\n var outerCoordCache = this.coords.outerCoordCache;\n var _a = this.context, dateEnv = _a.dateEnv, isRtl = _a.isRtl;\n var tDateProfile = this.props.tDateProfile;\n var slatIndex = outerCoordCache.leftToIndex(leftPosition);\n if (slatIndex != null) {\n // somewhat similar to what TimeGrid does. consolidate?\n var slatWidth = outerCoordCache.getWidth(slatIndex);\n var partial = isRtl ?\n (outerCoordCache.rights[slatIndex] - leftPosition) / slatWidth :\n (leftPosition - outerCoordCache.lefts[slatIndex]) / slatWidth;\n var localSnapIndex = Math.floor(partial * tDateProfile.snapsPerSlot);\n var start = dateEnv.add(tDateProfile.slotDates[slatIndex], multiplyDuration(tDateProfile.snapDuration, localSnapIndex));\n var end = dateEnv.add(start, tDateProfile.snapDuration);\n return {\n dateSpan: {\n range: { start: start, end: end },\n allDay: !this.props.tDateProfile.isTimeScale,\n },\n dayEl: this.cellElRefs.currentMap[slatIndex],\n left: outerCoordCache.lefts[slatIndex],\n right: outerCoordCache.rights[slatIndex],\n };\n }\n return null;\n };\n return TimelineSlats;\n}(BaseComponent));\nfunction collectCellEls(elMap, slotDates) {\n return slotDates.map(function (slotDate) {\n var key = slotDate.toISOString();\n return elMap[key];\n });\n}\n\nfunction computeSegHCoords(segs, minWidth, timelineCoords) {\n var hcoords = [];\n if (timelineCoords) {\n for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n var seg = segs_1[_i];\n var res = timelineCoords.rangeToCoords(seg);\n var start = Math.round(res.start); // for barely-overlapping collisions\n var end = Math.round(res.end); //\n if (end - start < minWidth) {\n end = start + minWidth;\n }\n hcoords.push({ start: start, end: end });\n }\n }\n return hcoords;\n}\nfunction computeFgSegPlacements(segs, segHCoords, // might not have for every seg\neventInstanceHeights, // might not have for every seg\nmoreLinkHeights, // might not have for every more-link\nstrictOrder, maxStackCnt) {\n var segInputs = [];\n var crudePlacements = []; // when we don't know dims\n for (var i = 0; i < segs.length; i += 1) {\n var seg = segs[i];\n var instanceId = seg.eventRange.instance.instanceId;\n var height = eventInstanceHeights[instanceId];\n var hcoords = segHCoords[i];\n if (height && hcoords) {\n segInputs.push({\n index: i,\n span: hcoords,\n thickness: height,\n });\n }\n else {\n crudePlacements.push({\n seg: seg,\n hcoords: hcoords,\n top: null,\n });\n }\n }\n var hierarchy = new SegHierarchy();\n if (strictOrder != null) {\n hierarchy.strictOrder = strictOrder;\n }\n if (maxStackCnt != null) {\n hierarchy.maxStackCnt = maxStackCnt;\n }\n var hiddenEntries = hierarchy.addSegs(segInputs);\n var hiddenPlacements = hiddenEntries.map(function (entry) { return ({\n seg: segs[entry.index],\n hcoords: entry.span,\n top: null,\n }); });\n var hiddenGroups = groupIntersectingEntries(hiddenEntries);\n var moreLinkInputs = [];\n var moreLinkCrudePlacements = [];\n var extractSeg = function (entry) { return segs[entry.index]; };\n for (var i = 0; i < hiddenGroups.length; i += 1) {\n var hiddenGroup = hiddenGroups[i];\n var sortedSegs = hiddenGroup.entries.map(extractSeg);\n var height = moreLinkHeights[buildIsoString(computeEarliestSegStart(sortedSegs))]; // not optimal :(\n if (height != null) {\n // NOTE: the hiddenGroup's spanStart/spanEnd are already computed by rangeToCoords. computed during input.\n moreLinkInputs.push({\n index: segs.length + i,\n thickness: height,\n span: hiddenGroup.span,\n });\n }\n else {\n moreLinkCrudePlacements.push({\n seg: sortedSegs,\n hcoords: hiddenGroup.span,\n top: null,\n });\n }\n }\n // add more-links into the hierarchy, but don't limit\n hierarchy.maxStackCnt = -1;\n hierarchy.addSegs(moreLinkInputs);\n var visibleRects = hierarchy.toRects();\n var visiblePlacements = [];\n var maxHeight = 0;\n for (var _i = 0, visibleRects_1 = visibleRects; _i < visibleRects_1.length; _i++) {\n var rect = visibleRects_1[_i];\n var segIndex = rect.index;\n visiblePlacements.push({\n seg: segIndex < segs.length\n ? segs[segIndex] // a real seg\n : hiddenGroups[segIndex - segs.length].entries.map(extractSeg),\n hcoords: rect.span,\n top: rect.levelCoord,\n });\n maxHeight = Math.max(maxHeight, rect.levelCoord + rect.thickness);\n }\n return [\n visiblePlacements.concat(crudePlacements, hiddenPlacements, moreLinkCrudePlacements),\n maxHeight,\n ];\n}\n\nvar TimelineLaneBg = /** @class */ (function (_super) {\n __extends(TimelineLaneBg, _super);\n function TimelineLaneBg() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TimelineLaneBg.prototype.render = function () {\n var props = this.props;\n var highlightSeg = [].concat(props.eventResizeSegs, props.dateSelectionSegs);\n return props.timelineCoords && (createElement(\"div\", { className: \"fc-timeline-bg\" },\n this.renderSegs(props.businessHourSegs || [], props.timelineCoords, 'non-business'),\n this.renderSegs(props.bgEventSegs || [], props.timelineCoords, 'bg-event'),\n this.renderSegs(highlightSeg, props.timelineCoords, 'highlight')));\n };\n TimelineLaneBg.prototype.renderSegs = function (segs, timelineCoords, fillType) {\n var _a = this.props, todayRange = _a.todayRange, nowDate = _a.nowDate;\n var isRtl = this.context.isRtl;\n var segHCoords = computeSegHCoords(segs, 0, timelineCoords);\n var children = segs.map(function (seg, i) {\n var hcoords = segHCoords[i];\n var hStyle = coordsToCss(hcoords, isRtl);\n return (createElement(\"div\", { key: buildEventRangeKey(seg.eventRange), className: \"fc-timeline-bg-harness\", style: hStyle }, fillType === 'bg-event' ?\n createElement(BgEvent, __assign({ seg: seg }, getSegMeta(seg, todayRange, nowDate))) :\n renderFill(fillType)));\n });\n return createElement(Fragment, null, children);\n };\n return TimelineLaneBg;\n}(BaseComponent));\n\nvar TimelineLaneSlicer = /** @class */ (function (_super) {\n __extends(TimelineLaneSlicer, _super);\n function TimelineLaneSlicer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TimelineLaneSlicer.prototype.sliceRange = function (origRange, dateProfile, dateProfileGenerator, tDateProfile, dateEnv) {\n var normalRange = normalizeRange(origRange, tDateProfile, dateEnv);\n var segs = [];\n // protect against when the span is entirely in an invalid date region\n if (computeDateSnapCoverage(normalRange.start, tDateProfile, dateEnv)\n < computeDateSnapCoverage(normalRange.end, tDateProfile, dateEnv)) {\n // intersect the footprint's range with the grid's range\n var slicedRange = intersectRanges(normalRange, tDateProfile.normalizedRange);\n if (slicedRange) {\n segs.push({\n start: slicedRange.start,\n end: slicedRange.end,\n isStart: slicedRange.start.valueOf() === normalRange.start.valueOf()\n && isValidDate(slicedRange.start, tDateProfile, dateProfile, dateProfileGenerator),\n isEnd: slicedRange.end.valueOf() === normalRange.end.valueOf()\n && isValidDate(addMs(slicedRange.end, -1), tDateProfile, dateProfile, dateProfileGenerator),\n });\n }\n }\n return segs;\n };\n return TimelineLaneSlicer;\n}(Slicer));\n\nvar DEFAULT_TIME_FORMAT = createFormatter({\n hour: 'numeric',\n minute: '2-digit',\n omitZeroMinute: true,\n meridiem: 'narrow',\n});\nvar TimelineEvent = /** @class */ (function (_super) {\n __extends(TimelineEvent, _super);\n function TimelineEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TimelineEvent.prototype.render = function () {\n var props = this.props;\n return (createElement(StandardEvent, __assign({}, props, { extraClassNames: ['fc-timeline-event', 'fc-h-event'], defaultTimeFormat: DEFAULT_TIME_FORMAT, defaultDisplayEventTime: !props.isTimeScale })));\n };\n return TimelineEvent;\n}(BaseComponent));\n\nvar TimelineLaneMoreLink = /** @class */ (function (_super) {\n __extends(TimelineLaneMoreLink, _super);\n function TimelineLaneMoreLink() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.rootElRef = createRef();\n return _this;\n }\n TimelineLaneMoreLink.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, context = _a.context;\n var hiddenSegs = props.hiddenSegs, elRef = props.elRef, placement = props.placement, resourceId = props.resourceId;\n var top = placement.top, hcoords = placement.hcoords;\n var isVisible = hcoords && top !== null;\n var hStyle = coordsToCss(hcoords, context.isRtl);\n var extraDateSpan = resourceId ? { resourceId: resourceId } : {};\n return (createElement(MoreLinkRoot, { allDayDate: null, moreCnt: hiddenSegs.length, allSegs: hiddenSegs, hiddenSegs: hiddenSegs, alignmentElRef: this.rootElRef, dateProfile: props.dateProfile, todayRange: props.todayRange, extraDateSpan: extraDateSpan, popoverContent: function () { return (createElement(Fragment, null, hiddenSegs.map(function (seg) {\n var instanceId = seg.eventRange.instance.instanceId;\n return (createElement(\"div\", { key: instanceId, style: { visibility: props.isForcedInvisible[instanceId] ? 'hidden' : '' } },\n createElement(TimelineEvent, __assign({ isTimeScale: props.isTimeScale, seg: seg, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: instanceId === props.eventSelection }, getSegMeta(seg, props.todayRange, props.nowDate)))));\n }))); } }, function (rootElRef, classNames, innerElRef, innerContent, handleClick, title, isExpanded, popoverId) { return (createElement(\"a\", { ref: function (el) {\n setRef(rootElRef, el); // for MoreLinkRoot\n setRef(elRef, el); // for props props\n setRef(_this.rootElRef, el); // for this component\n }, className: ['fc-timeline-more-link'].concat(classNames).join(' '), style: __assign({ visibility: isVisible ? '' : 'hidden', top: top || 0 }, hStyle), onClick: handleClick, title: title, \"aria-expanded\": isExpanded, \"aria-controls\": popoverId },\n createElement(\"div\", { ref: innerElRef, className: \"fc-timeline-more-link-inner fc-sticky\" }, innerContent))); }));\n };\n return TimelineLaneMoreLink;\n}(BaseComponent));\n\nvar TimelineLane = /** @class */ (function (_super) {\n __extends(TimelineLane, _super);\n function TimelineLane() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.slicer = new TimelineLaneSlicer();\n _this.sortEventSegs = memoize(sortEventSegs);\n _this.harnessElRefs = new RefMap();\n _this.moreElRefs = new RefMap();\n _this.innerElRef = createRef();\n // TODO: memoize event positioning\n _this.state = {\n eventInstanceHeights: {},\n moreLinkHeights: {},\n };\n return _this;\n }\n TimelineLane.prototype.render = function () {\n var _a = this, props = _a.props, state = _a.state, context = _a.context;\n var options = context.options;\n var dateProfile = props.dateProfile, tDateProfile = props.tDateProfile;\n var slicedProps = this.slicer.sliceProps(props, dateProfile, tDateProfile.isTimeScale ? null : props.nextDayThreshold, context, // wish we didn't have to pass in the rest of the args...\n dateProfile, context.dateProfileGenerator, tDateProfile, context.dateEnv);\n var mirrorSegs = (slicedProps.eventDrag ? slicedProps.eventDrag.segs : null) ||\n (slicedProps.eventResize ? slicedProps.eventResize.segs : null) ||\n [];\n var fgSegs = this.sortEventSegs(slicedProps.fgEventSegs, options.eventOrder);\n var fgSegHCoords = computeSegHCoords(fgSegs, options.eventMinWidth, props.timelineCoords);\n var _b = computeFgSegPlacements(fgSegs, fgSegHCoords, state.eventInstanceHeights, state.moreLinkHeights, options.eventOrderStrict, options.eventMaxStack), fgPlacements = _b[0], fgHeight = _b[1];\n var isForcedInvisible = // TODO: more convenient\n (slicedProps.eventDrag ? slicedProps.eventDrag.affectedInstances : null) ||\n (slicedProps.eventResize ? slicedProps.eventResize.affectedInstances : null) ||\n {};\n return (createElement(Fragment, null,\n createElement(TimelineLaneBg, { businessHourSegs: slicedProps.businessHourSegs, bgEventSegs: slicedProps.bgEventSegs, timelineCoords: props.timelineCoords, eventResizeSegs: slicedProps.eventResize ? slicedProps.eventResize.segs : [] /* bad new empty array? */, dateSelectionSegs: slicedProps.dateSelectionSegs, nowDate: props.nowDate, todayRange: props.todayRange }),\n createElement(\"div\", { className: \"fc-timeline-events fc-scrollgrid-sync-inner\", ref: this.innerElRef, style: { height: fgHeight } },\n this.renderFgSegs(fgPlacements, isForcedInvisible, false, false, false),\n this.renderFgSegs(buildMirrorPlacements(mirrorSegs, props.timelineCoords, fgPlacements), {}, Boolean(slicedProps.eventDrag), Boolean(slicedProps.eventResize), false))));\n };\n TimelineLane.prototype.componentDidMount = function () {\n this.updateSize();\n };\n TimelineLane.prototype.componentDidUpdate = function (prevProps, prevState) {\n if (prevProps.eventStore !== this.props.eventStore || // external thing changed?\n prevProps.timelineCoords !== this.props.timelineCoords || // external thing changed?\n prevState.moreLinkHeights !== this.state.moreLinkHeights // HACK. see addStateEquality\n ) {\n this.updateSize();\n }\n };\n TimelineLane.prototype.updateSize = function () {\n var _this = this;\n var props = this.props;\n var timelineCoords = props.timelineCoords;\n if (props.onHeightChange) {\n props.onHeightChange(this.innerElRef.current, false);\n }\n if (timelineCoords) {\n this.setState({\n eventInstanceHeights: mapHash(this.harnessElRefs.currentMap, function (harnessEl) { return (Math.round(harnessEl.getBoundingClientRect().height)); }),\n moreLinkHeights: mapHash(this.moreElRefs.currentMap, function (moreEl) { return (Math.round(moreEl.getBoundingClientRect().height)); }),\n }, function () {\n if (props.onHeightChange) {\n props.onHeightChange(_this.innerElRef.current, true);\n }\n });\n }\n };\n TimelineLane.prototype.renderFgSegs = function (segPlacements, isForcedInvisible, isDragging, isResizing, isDateSelecting) {\n var _a = this, harnessElRefs = _a.harnessElRefs, moreElRefs = _a.moreElRefs, props = _a.props, context = _a.context;\n var isMirror = isDragging || isResizing || isDateSelecting;\n return (createElement(Fragment, null, segPlacements.map(function (segPlacement) {\n var seg = segPlacement.seg, hcoords = segPlacement.hcoords, top = segPlacement.top;\n if (Array.isArray(seg)) { // a more-link\n var isoStr = buildIsoString(computeEarliestSegStart(seg));\n return (createElement(TimelineLaneMoreLink, { key: 'm:' + isoStr /* \"m\" for \"more\" */, elRef: moreElRefs.createRef(isoStr), hiddenSegs: seg, placement: segPlacement, dateProfile: props.dateProfile, nowDate: props.nowDate, todayRange: props.todayRange, isTimeScale: props.tDateProfile.isTimeScale, eventSelection: props.eventSelection, resourceId: props.resourceId, isForcedInvisible: isForcedInvisible }));\n }\n var instanceId = seg.eventRange.instance.instanceId;\n var isVisible = isMirror || Boolean(!isForcedInvisible[instanceId] && hcoords && top !== null);\n var hStyle = coordsToCss(hcoords, context.isRtl);\n return (createElement(\"div\", { key: 'e:' + instanceId /* \"e\" for \"event\" */, ref: isMirror ? null : harnessElRefs.createRef(instanceId), className: \"fc-timeline-event-harness\", style: __assign({ visibility: isVisible ? '' : 'hidden', top: top || 0 }, hStyle) },\n createElement(TimelineEvent, __assign({ isTimeScale: props.tDateProfile.isTimeScale, seg: seg, isDragging: isDragging, isResizing: isResizing, isDateSelecting: isDateSelecting, isSelected: instanceId === props.eventSelection /* TODO: bad for mirror? */ }, getSegMeta(seg, props.todayRange, props.nowDate)))));\n })));\n };\n return TimelineLane;\n}(BaseComponent));\nTimelineLane.addStateEquality({\n eventInstanceHeights: isPropsEqual,\n moreLinkHeights: isPropsEqual,\n});\nfunction buildMirrorPlacements(mirrorSegs, timelineCoords, fgPlacements) {\n if (!mirrorSegs.length || !timelineCoords) {\n return [];\n }\n var topsByInstanceId = buildAbsoluteTopHash(fgPlacements); // TODO: cache this at first render?\n return mirrorSegs.map(function (seg) { return ({\n seg: seg,\n hcoords: timelineCoords.rangeToCoords(seg),\n top: topsByInstanceId[seg.eventRange.instance.instanceId],\n }); });\n}\nfunction buildAbsoluteTopHash(placements) {\n var topsByInstanceId = {};\n for (var _i = 0, placements_1 = placements; _i < placements_1.length; _i++) {\n var placement = placements_1[_i];\n var seg = placement.seg;\n if (!Array.isArray(seg)) { // doesn't represent a more-link\n topsByInstanceId[seg.eventRange.instance.instanceId] = placement.top;\n }\n }\n return topsByInstanceId;\n}\n\nvar TimelineGrid = /** @class */ (function (_super) {\n __extends(TimelineGrid, _super);\n function TimelineGrid() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.slatsRef = createRef();\n _this.state = {\n coords: null,\n };\n _this.handeEl = function (el) {\n if (el) {\n _this.context.registerInteractiveComponent(_this, { el: el });\n }\n else {\n _this.context.unregisterInteractiveComponent(_this);\n }\n };\n _this.handleCoords = function (coords) {\n _this.setState({ coords: coords });\n if (_this.props.onSlatCoords) {\n _this.props.onSlatCoords(coords);\n }\n };\n return _this;\n }\n TimelineGrid.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, state = _a.state, context = _a.context;\n var options = context.options;\n var dateProfile = props.dateProfile, tDateProfile = props.tDateProfile;\n var timerUnit = greatestDurationDenominator(tDateProfile.slotDuration).unit;\n return (createElement(\"div\", { className: \"fc-timeline-body\", ref: this.handeEl, style: {\n minWidth: props.tableMinWidth,\n height: props.clientHeight,\n width: props.clientWidth,\n } },\n createElement(NowTimer, { unit: timerUnit }, function (nowDate, todayRange) { return (createElement(Fragment, null,\n createElement(TimelineSlats, { ref: _this.slatsRef, dateProfile: dateProfile, tDateProfile: tDateProfile, nowDate: nowDate, todayRange: todayRange, clientWidth: props.clientWidth, tableColGroupNode: props.tableColGroupNode, tableMinWidth: props.tableMinWidth, onCoords: _this.handleCoords, onScrollLeftRequest: props.onScrollLeftRequest }),\n createElement(TimelineLane, { dateProfile: dateProfile, tDateProfile: props.tDateProfile, nowDate: nowDate, todayRange: todayRange, nextDayThreshold: options.nextDayThreshold, businessHours: props.businessHours, eventStore: props.eventStore, eventUiBases: props.eventUiBases, dateSelection: props.dateSelection, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, timelineCoords: state.coords }),\n (options.nowIndicator && state.coords && state.coords.isDateInRange(nowDate)) && (createElement(\"div\", { className: \"fc-timeline-now-indicator-container\" },\n createElement(NowIndicatorRoot, { isAxis: false, date: nowDate }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"div\", { ref: rootElRef, className: ['fc-timeline-now-indicator-line'].concat(classNames).join(' '), style: coordToCss(state.coords.dateToCoord(nowDate), context.isRtl) }, innerContent)); }))))); })));\n };\n // Hit System\n // ------------------------------------------------------------------------------------------\n TimelineGrid.prototype.queryHit = function (positionLeft, positionTop, elWidth, elHeight) {\n var slats = this.slatsRef.current;\n var slatHit = slats.positionToHit(positionLeft);\n if (slatHit) {\n return {\n dateProfile: this.props.dateProfile,\n dateSpan: slatHit.dateSpan,\n rect: {\n left: slatHit.left,\n right: slatHit.right,\n top: 0,\n bottom: elHeight,\n },\n dayEl: slatHit.dayEl,\n layer: 0,\n };\n }\n return null;\n };\n return TimelineGrid;\n}(DateComponent));\n\nvar TimelineView = /** @class */ (function (_super) {\n __extends(TimelineView, _super);\n function TimelineView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.buildTimelineDateProfile = memoize(buildTimelineDateProfile);\n _this.scrollGridRef = createRef();\n _this.state = {\n slatCoords: null,\n slotCushionMaxWidth: null,\n };\n _this.handleSlatCoords = function (slatCoords) {\n _this.setState({ slatCoords: slatCoords });\n };\n _this.handleScrollLeftRequest = function (scrollLeft) {\n var scrollGrid = _this.scrollGridRef.current;\n scrollGrid.forceScrollLeft(0, scrollLeft);\n };\n _this.handleMaxCushionWidth = function (slotCushionMaxWidth) {\n _this.setState({\n slotCushionMaxWidth: Math.ceil(slotCushionMaxWidth), // for less rerendering TODO: DRY\n });\n };\n return _this;\n }\n TimelineView.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, state = _a.state, context = _a.context;\n var options = context.options;\n var stickyHeaderDates = !props.forPrint && getStickyHeaderDates(options);\n var stickyFooterScrollbar = !props.forPrint && getStickyFooterScrollbar(options);\n var tDateProfile = this.buildTimelineDateProfile(props.dateProfile, context.dateEnv, options, context.dateProfileGenerator);\n var extraClassNames = [\n 'fc-timeline',\n options.eventOverlap === false ? 'fc-timeline-overlap-disabled' : '',\n ];\n var slotMinWidth = options.slotMinWidth;\n var slatCols = buildSlatCols(tDateProfile, slotMinWidth || this.computeFallbackSlotMinWidth(tDateProfile));\n var sections = [\n {\n type: 'header',\n key: 'header',\n isSticky: stickyHeaderDates,\n chunks: [{\n key: 'timeline',\n content: function (contentArg) { return (createElement(TimelineHeader, { dateProfile: props.dateProfile, clientWidth: contentArg.clientWidth, clientHeight: contentArg.clientHeight, tableMinWidth: contentArg.tableMinWidth, tableColGroupNode: contentArg.tableColGroupNode, tDateProfile: tDateProfile, slatCoords: state.slatCoords, onMaxCushionWidth: slotMinWidth ? null : _this.handleMaxCushionWidth })); },\n }],\n },\n {\n type: 'body',\n key: 'body',\n liquid: true,\n chunks: [{\n key: 'timeline',\n content: function (contentArg) { return (createElement(TimelineGrid, __assign({}, props, { clientWidth: contentArg.clientWidth, clientHeight: contentArg.clientHeight, tableMinWidth: contentArg.tableMinWidth, tableColGroupNode: contentArg.tableColGroupNode, tDateProfile: tDateProfile, onSlatCoords: _this.handleSlatCoords, onScrollLeftRequest: _this.handleScrollLeftRequest }))); },\n }],\n },\n ];\n if (stickyFooterScrollbar) {\n sections.push({\n type: 'footer',\n key: 'footer',\n isSticky: true,\n chunks: [{\n key: 'timeline',\n content: renderScrollShim,\n }],\n });\n }\n return (createElement(ViewRoot, { viewSpec: context.viewSpec }, function (rootElRef, classNames) { return (createElement(\"div\", { ref: rootElRef, className: extraClassNames.concat(classNames).join(' ') },\n createElement(ScrollGrid, { ref: _this.scrollGridRef, liquid: !props.isHeightAuto && !props.forPrint, collapsibleWidth: false, colGroups: [\n { cols: slatCols },\n ], sections: sections }))); }));\n };\n TimelineView.prototype.computeFallbackSlotMinWidth = function (tDateProfile) {\n return Math.max(30, ((this.state.slotCushionMaxWidth || 0) / tDateProfile.slotsPerLabel));\n };\n return TimelineView;\n}(DateComponent));\nfunction buildSlatCols(tDateProfile, slotMinWidth) {\n return [{\n span: tDateProfile.slotCnt,\n minWidth: slotMinWidth || 1, // needs to be a non-zero number to trigger horizontal scrollbars!??????\n }];\n}\n\nvar main = createPlugin({\n deps: [\n premiumCommonPlugin,\n ],\n initialView: 'timelineDay',\n views: {\n timeline: {\n component: TimelineView,\n usesMinMaxTime: true,\n eventResizableFromStart: true, // how is this consumed for TimelineView tho?\n },\n timelineDay: {\n type: 'timeline',\n duration: { days: 1 },\n },\n timelineWeek: {\n type: 'timeline',\n duration: { weeks: 1 },\n },\n timelineMonth: {\n type: 'timeline',\n duration: { months: 1 },\n },\n timelineYear: {\n type: 'timeline',\n duration: { years: 1 },\n },\n },\n});\n\nexport default main;\nexport { TimelineCoords, TimelineHeader, TimelineHeaderRows, TimelineLane, TimelineLaneBg, TimelineLaneSlicer, TimelineSlats, TimelineView, buildSlatCols, buildTimelineDateProfile, coordToCss, coordsToCss };\n","/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n/**\n * AnimationFrame provides a user-friendly abstraction around requesting\n * and canceling animation frames.\n */\nvar AnimationFrame = /** @class */ (function () {\n function AnimationFrame() {\n this.rafIDs = new Map();\n }\n /**\n * Requests an animation frame. Cancels any existing frame with the same key.\n * @param {string} key The key for this callback.\n * @param {FrameRequestCallback} callback The callback to be executed.\n */\n AnimationFrame.prototype.request = function (key, callback) {\n var _this = this;\n this.cancel(key);\n var frameID = requestAnimationFrame(function (frame) {\n _this.rafIDs.delete(key);\n // Callback must come *after* the key is deleted so that nested calls to\n // request with the same key are not deleted.\n callback(frame);\n });\n this.rafIDs.set(key, frameID);\n };\n /**\n * Cancels a queued callback with the given key.\n * @param {string} key The key for this callback.\n */\n AnimationFrame.prototype.cancel = function (key) {\n var rafID = this.rafIDs.get(key);\n if (rafID) {\n cancelAnimationFrame(rafID);\n this.rafIDs.delete(key);\n }\n };\n /**\n * Cancels all queued callback.\n */\n AnimationFrame.prototype.cancelAll = function () {\n var _this = this;\n // Need to use forEach because it's the only iteration method supported\n // by IE11. Suppress the underscore because we don't need it.\n // tslint:disable-next-line:enforce-name-casing\n this.rafIDs.forEach(function (_, key) {\n _this.cancel(key);\n });\n };\n /**\n * Returns the queue of unexecuted callback keys.\n */\n AnimationFrame.prototype.getQueue = function () {\n var queue = [];\n // Need to use forEach because it's the only iteration method supported\n // by IE11. Suppress the underscore because we don't need it.\n // tslint:disable-next-line:enforce-name-casing\n this.rafIDs.forEach(function (_, key) {\n queue.push(key);\n });\n return queue;\n };\n return AnimationFrame;\n}());\nexport { AnimationFrame };\n","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar cssPropertyNameMap = {\n animation: {\n prefixed: '-webkit-animation',\n standard: 'animation',\n },\n transform: {\n prefixed: '-webkit-transform',\n standard: 'transform',\n },\n transition: {\n prefixed: '-webkit-transition',\n standard: 'transition',\n },\n};\nvar jsEventTypeMap = {\n animationend: {\n cssProperty: 'animation',\n prefixed: 'webkitAnimationEnd',\n standard: 'animationend',\n },\n animationiteration: {\n cssProperty: 'animation',\n prefixed: 'webkitAnimationIteration',\n standard: 'animationiteration',\n },\n animationstart: {\n cssProperty: 'animation',\n prefixed: 'webkitAnimationStart',\n standard: 'animationstart',\n },\n transitionend: {\n cssProperty: 'transition',\n prefixed: 'webkitTransitionEnd',\n standard: 'transitionend',\n },\n};\nfunction isWindow(windowObj) {\n return Boolean(windowObj.document) && typeof windowObj.document.createElement === 'function';\n}\nexport function getCorrectPropertyName(windowObj, cssProperty) {\n if (isWindow(windowObj) && cssProperty in cssPropertyNameMap) {\n var el = windowObj.document.createElement('div');\n var _a = cssPropertyNameMap[cssProperty], standard = _a.standard, prefixed = _a.prefixed;\n var isStandard = standard in el.style;\n return isStandard ? standard : prefixed;\n }\n return cssProperty;\n}\nexport function getCorrectEventName(windowObj, eventType) {\n if (isWindow(windowObj) && eventType in jsEventTypeMap) {\n var el = windowObj.document.createElement('div');\n var _a = jsEventTypeMap[eventType], standard = _a.standard, prefixed = _a.prefixed, cssProperty = _a.cssProperty;\n var isStandard = cssProperty in el.style;\n return isStandard ? standard : prefixed;\n }\n return eventType;\n}\n","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __read, __spreadArray } from \"tslib\";\nimport { MDCFoundation } from './foundation';\nvar MDCComponent = /** @class */ (function () {\n function MDCComponent(root, foundation) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n this.root = root;\n this.initialize.apply(this, __spreadArray([], __read(args)));\n // Note that we initialize foundation here and not within the constructor's\n // default param so that this.root is defined and can be used within the\n // foundation class.\n this.foundation =\n foundation === undefined ? this.getDefaultFoundation() : foundation;\n this.foundation.init();\n this.initialSyncWithDOM();\n }\n MDCComponent.attachTo = function (root) {\n // Subclasses which extend MDCBase should provide an attachTo() method that takes a root element and\n // returns an instantiated component with its root set to that element. Also note that in the cases of\n // subclasses, an explicit foundation class will not have to be passed in; it will simply be initialized\n // from getDefaultFoundation().\n return new MDCComponent(root, new MDCFoundation({}));\n };\n /* istanbul ignore next: method param only exists for typing purposes; it does not need to be unit tested */\n MDCComponent.prototype.initialize = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\n // Subclasses can override this to do any additional setup work that would be considered part of a\n // \"constructor\". Essentially, it is a hook into the parent constructor before the foundation is\n // initialized. Any additional arguments besides root and foundation will be passed in here.\n };\n MDCComponent.prototype.getDefaultFoundation = function () {\n // Subclasses must override this method to return a properly configured foundation class for the\n // component.\n throw new Error('Subclasses must override getDefaultFoundation to return a properly configured ' +\n 'foundation class');\n };\n MDCComponent.prototype.initialSyncWithDOM = function () {\n // Subclasses should override this method if they need to perform work to synchronize with a host DOM\n // object. An example of this would be a form control wrapper that needs to synchronize its internal state\n // to some property or attribute of the host DOM. Please note: this is *not* the place to perform DOM\n // reads/writes that would cause layout / paint, as this is called synchronously from within the constructor.\n };\n MDCComponent.prototype.destroy = function () {\n // Subclasses may implement this method to release any resources / deregister any listeners they have\n // attached. An example of this might be deregistering a resize event from the window object.\n this.foundation.destroy();\n };\n MDCComponent.prototype.listen = function (evtType, handler, options) {\n this.root.addEventListener(evtType, handler, options);\n };\n MDCComponent.prototype.unlisten = function (evtType, handler, options) {\n this.root.removeEventListener(evtType, handler, options);\n };\n /**\n * Fires a cross-browser-compatible custom event from the component root of the given type, with the given data.\n */\n MDCComponent.prototype.emit = function (evtType, evtData, shouldBubble) {\n if (shouldBubble === void 0) { shouldBubble = false; }\n var evt;\n if (typeof CustomEvent === 'function') {\n evt = new CustomEvent(evtType, {\n bubbles: shouldBubble,\n detail: evtData,\n });\n }\n else {\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(evtType, shouldBubble, false, evtData);\n }\n this.root.dispatchEvent(evt);\n };\n return MDCComponent;\n}());\nexport { MDCComponent };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCComponent;\n","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar MDCFoundation = /** @class */ (function () {\n function MDCFoundation(adapter) {\n if (adapter === void 0) { adapter = {}; }\n this.adapter = adapter;\n }\n Object.defineProperty(MDCFoundation, \"cssClasses\", {\n get: function () {\n // Classes extending MDCFoundation should implement this method to return an object which exports every\n // CSS class the foundation class needs as a property. e.g. {ACTIVE: 'mdc-component--active'}\n return {};\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCFoundation, \"strings\", {\n get: function () {\n // Classes extending MDCFoundation should implement this method to return an object which exports all\n // semantic strings as constants. e.g. {ARIA_ROLE: 'tablist'}\n return {};\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCFoundation, \"numbers\", {\n get: function () {\n // Classes extending MDCFoundation should implement this method to return an object which exports all\n // of its semantic numbers as constants. e.g. {ANIMATION_DELAY_MS: 350}\n return {};\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCFoundation, \"defaultAdapter\", {\n get: function () {\n // Classes extending MDCFoundation may choose to implement this getter in order to provide a convenient\n // way of viewing the necessary methods of an adapter. In the future, this could also be used for adapter\n // validation.\n return {};\n },\n enumerable: false,\n configurable: true\n });\n MDCFoundation.prototype.init = function () {\n // Subclasses should override this method to perform initialization routines (registering events, etc.)\n };\n MDCFoundation.prototype.destroy = function () {\n // Subclasses should override this method to perform de-initialization routines (de-registering events, etc.)\n };\n return MDCFoundation;\n}());\nexport { MDCFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCFoundation;\n","/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n/**\n * KEY provides normalized string values for keys.\n */\nexport var KEY = {\n UNKNOWN: 'Unknown',\n BACKSPACE: 'Backspace',\n ENTER: 'Enter',\n SPACEBAR: 'Spacebar',\n PAGE_UP: 'PageUp',\n PAGE_DOWN: 'PageDown',\n END: 'End',\n HOME: 'Home',\n ARROW_LEFT: 'ArrowLeft',\n ARROW_UP: 'ArrowUp',\n ARROW_RIGHT: 'ArrowRight',\n ARROW_DOWN: 'ArrowDown',\n DELETE: 'Delete',\n ESCAPE: 'Escape',\n TAB: 'Tab',\n};\nvar normalizedKeys = new Set();\n// IE11 has no support for new Map with iterable so we need to initialize this\n// by hand.\nnormalizedKeys.add(KEY.BACKSPACE);\nnormalizedKeys.add(KEY.ENTER);\nnormalizedKeys.add(KEY.SPACEBAR);\nnormalizedKeys.add(KEY.PAGE_UP);\nnormalizedKeys.add(KEY.PAGE_DOWN);\nnormalizedKeys.add(KEY.END);\nnormalizedKeys.add(KEY.HOME);\nnormalizedKeys.add(KEY.ARROW_LEFT);\nnormalizedKeys.add(KEY.ARROW_UP);\nnormalizedKeys.add(KEY.ARROW_RIGHT);\nnormalizedKeys.add(KEY.ARROW_DOWN);\nnormalizedKeys.add(KEY.DELETE);\nnormalizedKeys.add(KEY.ESCAPE);\nnormalizedKeys.add(KEY.TAB);\nvar KEY_CODE = {\n BACKSPACE: 8,\n ENTER: 13,\n SPACEBAR: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n END: 35,\n HOME: 36,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n DELETE: 46,\n ESCAPE: 27,\n TAB: 9,\n};\nvar mappedKeyCodes = new Map();\n// IE11 has no support for new Map with iterable so we need to initialize this\n// by hand.\nmappedKeyCodes.set(KEY_CODE.BACKSPACE, KEY.BACKSPACE);\nmappedKeyCodes.set(KEY_CODE.ENTER, KEY.ENTER);\nmappedKeyCodes.set(KEY_CODE.SPACEBAR, KEY.SPACEBAR);\nmappedKeyCodes.set(KEY_CODE.PAGE_UP, KEY.PAGE_UP);\nmappedKeyCodes.set(KEY_CODE.PAGE_DOWN, KEY.PAGE_DOWN);\nmappedKeyCodes.set(KEY_CODE.END, KEY.END);\nmappedKeyCodes.set(KEY_CODE.HOME, KEY.HOME);\nmappedKeyCodes.set(KEY_CODE.ARROW_LEFT, KEY.ARROW_LEFT);\nmappedKeyCodes.set(KEY_CODE.ARROW_UP, KEY.ARROW_UP);\nmappedKeyCodes.set(KEY_CODE.ARROW_RIGHT, KEY.ARROW_RIGHT);\nmappedKeyCodes.set(KEY_CODE.ARROW_DOWN, KEY.ARROW_DOWN);\nmappedKeyCodes.set(KEY_CODE.DELETE, KEY.DELETE);\nmappedKeyCodes.set(KEY_CODE.ESCAPE, KEY.ESCAPE);\nmappedKeyCodes.set(KEY_CODE.TAB, KEY.TAB);\nvar navigationKeys = new Set();\n// IE11 has no support for new Set with iterable so we need to initialize this\n// by hand.\nnavigationKeys.add(KEY.PAGE_UP);\nnavigationKeys.add(KEY.PAGE_DOWN);\nnavigationKeys.add(KEY.END);\nnavigationKeys.add(KEY.HOME);\nnavigationKeys.add(KEY.ARROW_LEFT);\nnavigationKeys.add(KEY.ARROW_UP);\nnavigationKeys.add(KEY.ARROW_RIGHT);\nnavigationKeys.add(KEY.ARROW_DOWN);\n/**\n * normalizeKey returns the normalized string for a navigational action.\n */\nexport function normalizeKey(evt) {\n var key = evt.key;\n // If the event already has a normalized key, return it\n if (normalizedKeys.has(key)) {\n return key;\n }\n // tslint:disable-next-line:deprecation\n var mappedKey = mappedKeyCodes.get(evt.keyCode);\n if (mappedKey) {\n return mappedKey;\n }\n return KEY.UNKNOWN;\n}\n/**\n * isNavigationEvent returns whether the event is a navigation event\n */\nexport function isNavigationEvent(evt) {\n return navigationKeys.has(normalizeKey(evt));\n}\n","/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __extends } from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { CssClasses, events } from './constants';\nimport { MDCTooltipFoundation } from './foundation';\nvar MDCTooltip = /** @class */ (function (_super) {\n __extends(MDCTooltip, _super);\n function MDCTooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MDCTooltip.attachTo = function (root) {\n return new MDCTooltip(root);\n };\n MDCTooltip.prototype.initialize = function () {\n var tooltipId = this.root.getAttribute('id');\n if (!tooltipId) {\n throw new Error('MDCTooltip: Tooltip component must have an id.');\n }\n var anchorElem = document.querySelector(\"[data-tooltip-id=\\\"\" + tooltipId + \"\\\"]\") ||\n document.querySelector(\"[aria-describedby=\\\"\" + tooltipId + \"\\\"]\");\n if (!anchorElem) {\n throw new Error('MDCTooltip: Tooltip component requires an anchor element annotated with [aria-describedby] or [data-tooltip-id].');\n }\n this.anchorElem = anchorElem;\n };\n MDCTooltip.prototype.initialSyncWithDOM = function () {\n var _this = this;\n this.isTooltipRich = this.foundation.isRich();\n this.isTooltipPersistent = this.foundation.isPersistent();\n this.handleMouseEnter = function () {\n _this.foundation.handleAnchorMouseEnter();\n };\n this.handleFocus = function (evt) {\n _this.foundation.handleAnchorFocus(evt);\n };\n this.handleMouseLeave = function () {\n _this.foundation.handleAnchorMouseLeave();\n };\n this.handleTransitionEnd = function () {\n _this.foundation.handleTransitionEnd();\n };\n this.handleClick = function () {\n _this.foundation.handleAnchorClick();\n };\n this.handleTouchstart = function () {\n _this.foundation.handleAnchorTouchstart();\n };\n this.handleTouchend = function () {\n _this.foundation.handleAnchorTouchend();\n };\n if (this.isTooltipRich && this.isTooltipPersistent) {\n this.anchorElem.addEventListener('click', this.handleClick);\n }\n else {\n this.anchorElem.addEventListener('mouseenter', this.handleMouseEnter);\n // TODO(b/157075286): Listening for a 'focus' event is too broad.\n this.anchorElem.addEventListener('focus', this.handleFocus);\n this.anchorElem.addEventListener('mouseleave', this.handleMouseLeave);\n this.anchorElem.addEventListener('touchstart', this.handleTouchstart);\n this.anchorElem.addEventListener('touchend', this.handleTouchend);\n }\n this.listen('transitionend', this.handleTransitionEnd);\n };\n MDCTooltip.prototype.destroy = function () {\n if (this.anchorElem) {\n if (this.isTooltipRich && this.isTooltipPersistent) {\n this.anchorElem.removeEventListener('click', this.handleClick);\n }\n else {\n this.anchorElem.removeEventListener('mouseenter', this.handleMouseEnter);\n this.anchorElem.removeEventListener('focus', this.handleFocus);\n this.anchorElem.removeEventListener('mouseleave', this.handleMouseLeave);\n this.anchorElem.removeEventListener('touchstart', this.handleTouchstart);\n this.anchorElem.removeEventListener('touchend', this.handleTouchend);\n }\n }\n this.unlisten('transitionend', this.handleTransitionEnd);\n _super.prototype.destroy.call(this);\n };\n MDCTooltip.prototype.setTooltipPosition = function (position) {\n this.foundation.setTooltipPosition(position);\n };\n MDCTooltip.prototype.setAnchorBoundaryType = function (type) {\n this.foundation.setAnchorBoundaryType(type);\n };\n MDCTooltip.prototype.setShowDelay = function (delayMs) {\n this.foundation.setShowDelay(delayMs);\n };\n MDCTooltip.prototype.setHideDelay = function (delayMs) {\n this.foundation.setHideDelay(delayMs);\n };\n MDCTooltip.prototype.hide = function () {\n this.foundation.hide();\n };\n MDCTooltip.prototype.isShown = function () {\n return this.foundation.isShown();\n };\n /**\n * Method that allows user to specify additional elements that should have a\n * scroll event listener attached to it. This should be used in instances\n * where the anchor element is placed inside a scrollable container (that is\n * not the body element), and will ensure that the tooltip will stay attached\n * to the anchor on scroll.\n */\n MDCTooltip.prototype.attachScrollHandler = function (addEventListenerFn) {\n this.foundation.attachScrollHandler(addEventListenerFn);\n };\n /**\n * Must be used in conjunction with #attachScrollHandler. Removes the scroll\n * event handler from elements on the page.\n */\n MDCTooltip.prototype.removeScrollHandler = function (removeEventHandlerFn) {\n this.foundation.removeScrollHandler(removeEventHandlerFn);\n };\n MDCTooltip.prototype.getDefaultFoundation = function () {\n var _this = this;\n var adapter = {\n getAttribute: function (attr) { return _this.root.getAttribute(attr); },\n setAttribute: function (attr, value) {\n _this.root.setAttribute(attr, value);\n },\n removeAttribute: function (attr) {\n _this.root.removeAttribute(attr);\n },\n addClass: function (className) {\n _this.root.classList.add(className);\n },\n hasClass: function (className) { return _this.root.classList.contains(className); },\n removeClass: function (className) {\n _this.root.classList.remove(className);\n },\n getComputedStyleProperty: function (propertyName) {\n return window.getComputedStyle(_this.root).getPropertyValue(propertyName);\n },\n setStyleProperty: function (propertyName, value) {\n _this.root.style.setProperty(propertyName, value);\n },\n setSurfaceAnimationStyleProperty: function (propertyName, value) {\n var surface = _this.root.querySelector(\".\" + CssClasses.SURFACE_ANIMATION);\n surface === null || surface === void 0 ? void 0 : surface.style.setProperty(propertyName, value);\n },\n getViewportWidth: function () { return window.innerWidth; },\n getViewportHeight: function () { return window.innerHeight; },\n getTooltipSize: function () {\n return {\n width: _this.root.offsetWidth,\n height: _this.root.offsetHeight\n };\n },\n getAnchorBoundingRect: function () {\n return _this.anchorElem ? _this.anchorElem.getBoundingClientRect() : null;\n },\n getParentBoundingRect: function () {\n var _a, _b;\n return (_b = (_a = _this.root.parentElement) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) !== null && _b !== void 0 ? _b : null;\n },\n getAnchorAttribute: function (attr) {\n return _this.anchorElem ? _this.anchorElem.getAttribute(attr) : null;\n },\n setAnchorAttribute: function (attr, value) {\n var _a;\n (_a = _this.anchorElem) === null || _a === void 0 ? void 0 : _a.setAttribute(attr, value);\n },\n isRTL: function () { return getComputedStyle(_this.root).direction === 'rtl'; },\n anchorContainsElement: function (element) {\n var _a;\n return !!((_a = _this.anchorElem) === null || _a === void 0 ? void 0 : _a.contains(element));\n },\n tooltipContainsElement: function (element) {\n return _this.root.contains(element);\n },\n focusAnchorElement: function () {\n var _a;\n (_a = _this.anchorElem) === null || _a === void 0 ? void 0 : _a.focus();\n },\n registerEventHandler: function (evt, handler) {\n if (_this.root instanceof HTMLElement) {\n _this.root.addEventListener(evt, handler);\n }\n },\n deregisterEventHandler: function (evt, handler) {\n if (_this.root instanceof HTMLElement) {\n _this.root.removeEventListener(evt, handler);\n }\n },\n registerAnchorEventHandler: function (evt, handler) {\n var _a;\n (_a = _this.anchorElem) === null || _a === void 0 ? void 0 : _a.addEventListener(evt, handler);\n },\n deregisterAnchorEventHandler: function (evt, handler) {\n var _a;\n (_a = _this.anchorElem) === null || _a === void 0 ? void 0 : _a.removeEventListener(evt, handler);\n },\n registerDocumentEventHandler: function (evt, handler) {\n document.body.addEventListener(evt, handler);\n },\n deregisterDocumentEventHandler: function (evt, handler) {\n document.body.removeEventListener(evt, handler);\n },\n registerWindowEventHandler: function (evt, handler) {\n window.addEventListener(evt, handler);\n },\n deregisterWindowEventHandler: function (evt, handler) {\n window.removeEventListener(evt, handler);\n },\n notifyHidden: function () {\n _this.emit(events.HIDDEN, {});\n },\n getTooltipCaretBoundingRect: function () {\n var caret = _this.root.querySelector(\".\" + CssClasses.TOOLTIP_CARET_TOP);\n if (!caret) {\n return null;\n }\n return caret.getBoundingClientRect();\n },\n setTooltipCaretStyle: function (propertyName, value) {\n var topCaret = _this.root.querySelector(\".\" + CssClasses.TOOLTIP_CARET_TOP);\n var bottomCaret = _this.root.querySelector(\".\" + CssClasses.TOOLTIP_CARET_BOTTOM);\n if (!topCaret || !bottomCaret) {\n return;\n }\n topCaret.style.setProperty(propertyName, value);\n bottomCaret.style.setProperty(propertyName, value);\n },\n clearTooltipCaretStyles: function () {\n var topCaret = _this.root.querySelector(\".\" + CssClasses.TOOLTIP_CARET_TOP);\n var bottomCaret = _this.root.querySelector(\".\" + CssClasses.TOOLTIP_CARET_BOTTOM);\n if (!topCaret || !bottomCaret) {\n return;\n }\n topCaret.removeAttribute('style');\n bottomCaret.removeAttribute('style');\n },\n getActiveElement: function () {\n return document.activeElement;\n },\n };\n //tslint:enable:object-literal-sort-keys\n return new MDCTooltipFoundation(adapter);\n };\n return MDCTooltip;\n}(MDCComponent));\nexport { MDCTooltip };\n","/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nvar CssClasses;\n(function (CssClasses) {\n CssClasses[\"RICH\"] = \"mdc-tooltip--rich\";\n CssClasses[\"SHOWN\"] = \"mdc-tooltip--shown\";\n CssClasses[\"SHOWING\"] = \"mdc-tooltip--showing\";\n CssClasses[\"SHOWING_TRANSITION\"] = \"mdc-tooltip--showing-transition\";\n CssClasses[\"HIDE\"] = \"mdc-tooltip--hide\";\n CssClasses[\"HIDE_TRANSITION\"] = \"mdc-tooltip--hide-transition\";\n CssClasses[\"MULTILINE_TOOLTIP\"] = \"mdc-tooltip--multiline\";\n CssClasses[\"SURFACE\"] = \"mdc-tooltip__surface\";\n CssClasses[\"SURFACE_ANIMATION\"] = \"mdc-tooltip__surface-animation\";\n CssClasses[\"TOOLTIP_CARET_TOP\"] = \"mdc-tooltip__caret-surface-top\";\n CssClasses[\"TOOLTIP_CARET_BOTTOM\"] = \"mdc-tooltip__caret-surface-bottom\";\n})(CssClasses || (CssClasses = {}));\nvar numbers = {\n BOUNDED_ANCHOR_GAP: 4,\n UNBOUNDED_ANCHOR_GAP: 8,\n MIN_VIEWPORT_TOOLTIP_THRESHOLD: 8,\n HIDE_DELAY_MS: 600,\n SHOW_DELAY_MS: 500,\n // LINT.IfChange(tooltip-dimensions)\n MIN_HEIGHT: 24,\n MAX_WIDTH: 200,\n // LINT.ThenChange(_tooltip.scss:tooltip-dimensions)\n CARET_INDENTATION: 24,\n // LINT.IfChange(tooltip-anim-scale)\n ANIMATION_SCALE: 0.8,\n // LINT.ThenChange(_tooltip.scss:tooltip-anim-scale)\n};\nvar attributes = {\n ARIA_EXPANDED: 'aria-expanded',\n ARIA_HASPOPUP: 'aria-haspopup',\n PERSISTENT: 'data-mdc-tooltip-persistent',\n SCROLLABLE_ANCESTOR: 'tooltip-scrollable-ancestor',\n HAS_CARET: 'data-mdc-tooltip-has-caret',\n};\nvar events = {\n HIDDEN: 'MDCTooltip:hidden',\n};\n/** Enum for possible tooltip positioning relative to its anchor element. */\nvar XPosition;\n(function (XPosition) {\n XPosition[XPosition[\"DETECTED\"] = 0] = \"DETECTED\";\n XPosition[XPosition[\"START\"] = 1] = \"START\";\n // Note: CENTER is not valid for rich tooltips.\n XPosition[XPosition[\"CENTER\"] = 2] = \"CENTER\";\n XPosition[XPosition[\"END\"] = 3] = \"END\";\n})(XPosition || (XPosition = {}));\nvar YPosition;\n(function (YPosition) {\n YPosition[YPosition[\"DETECTED\"] = 0] = \"DETECTED\";\n YPosition[YPosition[\"ABOVE\"] = 1] = \"ABOVE\";\n YPosition[YPosition[\"BELOW\"] = 2] = \"BELOW\";\n})(YPosition || (YPosition = {}));\n/**\n * Enum for possible anchor boundary types. This determines the gap between the\n * bottom of the anchor and the tooltip element.\n * Bounded anchors have an identifiable boundary (e.g. buttons).\n * Unbounded anchors don't have a visually declared boundary (e.g. plain text).\n */\nvar AnchorBoundaryType;\n(function (AnchorBoundaryType) {\n AnchorBoundaryType[AnchorBoundaryType[\"BOUNDED\"] = 0] = \"BOUNDED\";\n AnchorBoundaryType[AnchorBoundaryType[\"UNBOUNDED\"] = 1] = \"UNBOUNDED\";\n})(AnchorBoundaryType || (AnchorBoundaryType = {}));\nvar strings = {\n LEFT: 'left',\n RIGHT: 'right',\n CENTER: 'center',\n TOP: 'top',\n BOTTOM: 'bottom'\n};\n/**\n * Enum for possible positions of a tooltip with caret (this specifies the\n * positioning of the tooltip relative to the anchor -- the position of the\n * caret will follow that of the tooltip). This can NOT be combined with the\n * above X/YPosition options. Naming for the enums follows: (vertical\n * placement)_(horizontal placement).\n */\nvar PositionWithCaret;\n(function (PositionWithCaret) {\n PositionWithCaret[PositionWithCaret[\"DETECTED\"] = 0] = \"DETECTED\";\n PositionWithCaret[PositionWithCaret[\"ABOVE_START\"] = 1] = \"ABOVE_START\";\n PositionWithCaret[PositionWithCaret[\"ABOVE_CENTER\"] = 2] = \"ABOVE_CENTER\";\n PositionWithCaret[PositionWithCaret[\"ABOVE_END\"] = 3] = \"ABOVE_END\";\n PositionWithCaret[PositionWithCaret[\"TOP_SIDE_START\"] = 4] = \"TOP_SIDE_START\";\n PositionWithCaret[PositionWithCaret[\"CENTER_SIDE_START\"] = 5] = \"CENTER_SIDE_START\";\n PositionWithCaret[PositionWithCaret[\"BOTTOM_SIDE_START\"] = 6] = \"BOTTOM_SIDE_START\";\n PositionWithCaret[PositionWithCaret[\"TOP_SIDE_END\"] = 7] = \"TOP_SIDE_END\";\n PositionWithCaret[PositionWithCaret[\"CENTER_SIDE_END\"] = 8] = \"CENTER_SIDE_END\";\n PositionWithCaret[PositionWithCaret[\"BOTTOM_SIDE_END\"] = 9] = \"BOTTOM_SIDE_END\";\n PositionWithCaret[PositionWithCaret[\"BELOW_START\"] = 10] = \"BELOW_START\";\n PositionWithCaret[PositionWithCaret[\"BELOW_CENTER\"] = 11] = \"BELOW_CENTER\";\n PositionWithCaret[PositionWithCaret[\"BELOW_END\"] = 12] = \"BELOW_END\";\n})(PositionWithCaret || (PositionWithCaret = {}));\nvar YPositionWithCaret;\n(function (YPositionWithCaret) {\n YPositionWithCaret[YPositionWithCaret[\"ABOVE\"] = 1] = \"ABOVE\";\n YPositionWithCaret[YPositionWithCaret[\"BELOW\"] = 2] = \"BELOW\";\n YPositionWithCaret[YPositionWithCaret[\"SIDE_TOP\"] = 3] = \"SIDE_TOP\";\n YPositionWithCaret[YPositionWithCaret[\"SIDE_CENTER\"] = 4] = \"SIDE_CENTER\";\n YPositionWithCaret[YPositionWithCaret[\"SIDE_BOTTOM\"] = 5] = \"SIDE_BOTTOM\";\n})(YPositionWithCaret || (YPositionWithCaret = {}));\nvar XPositionWithCaret;\n(function (XPositionWithCaret) {\n XPositionWithCaret[XPositionWithCaret[\"START\"] = 1] = \"START\";\n XPositionWithCaret[XPositionWithCaret[\"CENTER\"] = 2] = \"CENTER\";\n XPositionWithCaret[XPositionWithCaret[\"END\"] = 3] = \"END\";\n XPositionWithCaret[XPositionWithCaret[\"SIDE_START\"] = 4] = \"SIDE_START\";\n XPositionWithCaret[XPositionWithCaret[\"SIDE_END\"] = 5] = \"SIDE_END\";\n})(XPositionWithCaret || (XPositionWithCaret = {}));\nexport { CssClasses, numbers, attributes, events, XPosition, AnchorBoundaryType, YPosition, strings, PositionWithCaret, YPositionWithCaret, XPositionWithCaret };\n","/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends, __values } from \"tslib\";\nimport { AnimationFrame } from '@material/animation/animationframe';\nimport { getCorrectPropertyName } from '@material/animation/util';\nimport { MDCFoundation } from '@material/base/foundation';\nimport { KEY, normalizeKey } from '@material/dom/keyboard';\nimport { AnchorBoundaryType, attributes, CssClasses, numbers, PositionWithCaret, strings, XPosition, XPositionWithCaret, YPosition, YPositionWithCaret } from './constants';\nvar RICH = CssClasses.RICH, SHOWN = CssClasses.SHOWN, SHOWING = CssClasses.SHOWING, SHOWING_TRANSITION = CssClasses.SHOWING_TRANSITION, HIDE = CssClasses.HIDE, HIDE_TRANSITION = CssClasses.HIDE_TRANSITION, MULTILINE_TOOLTIP = CssClasses.MULTILINE_TOOLTIP;\nvar AnimationKeys;\n(function (AnimationKeys) {\n AnimationKeys[\"POLL_ANCHOR\"] = \"poll_anchor\";\n})(AnimationKeys || (AnimationKeys = {}));\n// Accessing `window` without a `typeof` check will throw on Node environments.\nvar HAS_WINDOW = typeof window !== 'undefined';\nvar MDCTooltipFoundation = /** @class */ (function (_super) {\n __extends(MDCTooltipFoundation, _super);\n function MDCTooltipFoundation(adapter) {\n var _this = _super.call(this, __assign(__assign({}, MDCTooltipFoundation.defaultAdapter), adapter)) || this;\n _this.tooltipShown = false;\n _this.anchorGap = numbers.BOUNDED_ANCHOR_GAP;\n _this.xTooltipPos = XPosition.DETECTED;\n _this.yTooltipPos = YPosition.DETECTED;\n _this.tooltipPositionWithCaret = PositionWithCaret.DETECTED;\n // Minimum threshold distance needed between the tooltip and the viewport.\n _this.minViewportTooltipThreshold = numbers.MIN_VIEWPORT_TOOLTIP_THRESHOLD;\n _this.hideDelayMs = numbers.HIDE_DELAY_MS;\n _this.showDelayMs = numbers.SHOW_DELAY_MS;\n _this.anchorRect = null;\n _this.parentRect = null;\n _this.frameId = null;\n _this.hideTimeout = null;\n _this.showTimeout = null;\n _this.addAncestorScrollEventListeners = new Array();\n _this.removeAncestorScrollEventListeners = new Array();\n _this.animFrame = new AnimationFrame();\n _this.anchorBlurHandler = function (evt) {\n _this.handleAnchorBlur(evt);\n };\n _this.documentClickHandler = function (evt) {\n _this.handleDocumentClick(evt);\n };\n _this.documentKeydownHandler = function (evt) {\n _this.handleKeydown(evt);\n };\n _this.tooltipMouseEnterHandler = function () {\n _this.handleTooltipMouseEnter();\n };\n _this.tooltipMouseLeaveHandler = function () {\n _this.handleTooltipMouseLeave();\n };\n _this.richTooltipFocusOutHandler = function (evt) {\n _this.handleRichTooltipFocusOut(evt);\n };\n _this.windowScrollHandler = function () {\n _this.handleWindowScrollEvent();\n };\n _this.windowResizeHandler = function () {\n _this.handleWindowChangeEvent();\n };\n return _this;\n }\n Object.defineProperty(MDCTooltipFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n getAttribute: function () { return null; },\n setAttribute: function () { return undefined; },\n removeAttribute: function () { return undefined; },\n addClass: function () { return undefined; },\n hasClass: function () { return false; },\n removeClass: function () { return undefined; },\n getComputedStyleProperty: function () { return ''; },\n setStyleProperty: function () { return undefined; },\n setSurfaceAnimationStyleProperty: function () { return undefined; },\n getViewportWidth: function () { return 0; },\n getViewportHeight: function () { return 0; },\n getTooltipSize: function () { return ({ width: 0, height: 0 }); },\n getAnchorBoundingRect: function () {\n return ({ top: 0, right: 0, bottom: 0, left: 0, width: 0, height: 0 });\n },\n getParentBoundingRect: function () {\n return ({ top: 0, right: 0, bottom: 0, left: 0, width: 0, height: 0 });\n },\n getAnchorAttribute: function () { return null; },\n setAnchorAttribute: function () { return null; },\n isRTL: function () { return false; },\n anchorContainsElement: function () { return false; },\n tooltipContainsElement: function () { return false; },\n focusAnchorElement: function () { return undefined; },\n registerEventHandler: function () { return undefined; },\n deregisterEventHandler: function () { return undefined; },\n registerAnchorEventHandler: function () { return undefined; },\n deregisterAnchorEventHandler: function () { return undefined; },\n registerDocumentEventHandler: function () { return undefined; },\n deregisterDocumentEventHandler: function () { return undefined; },\n registerWindowEventHandler: function () { return undefined; },\n deregisterWindowEventHandler: function () { return undefined; },\n notifyHidden: function () { return undefined; },\n getTooltipCaretBoundingRect: function () {\n return ({ top: 0, right: 0, bottom: 0, left: 0, width: 0, height: 0 });\n },\n setTooltipCaretStyle: function () { return undefined; },\n clearTooltipCaretStyles: function () { return undefined; },\n getActiveElement: function () { return null; },\n };\n },\n enumerable: false,\n configurable: true\n });\n MDCTooltipFoundation.prototype.init = function () {\n this.richTooltip = this.adapter.hasClass(RICH);\n this.persistentTooltip =\n this.adapter.getAttribute(attributes.PERSISTENT) === 'true';\n this.interactiveTooltip =\n !!this.adapter.getAnchorAttribute(attributes.ARIA_EXPANDED) &&\n this.adapter.getAnchorAttribute(attributes.ARIA_HASPOPUP) === 'dialog';\n this.hasCaret = this.richTooltip &&\n this.adapter.getAttribute(attributes.HAS_CARET) === 'true';\n };\n MDCTooltipFoundation.prototype.isShown = function () {\n return this.tooltipShown;\n };\n MDCTooltipFoundation.prototype.isRich = function () {\n return this.richTooltip;\n };\n MDCTooltipFoundation.prototype.isPersistent = function () {\n return this.persistentTooltip;\n };\n MDCTooltipFoundation.prototype.handleAnchorMouseEnter = function () {\n var _this = this;\n if (this.tooltipShown) {\n // Covers the instance where a user hovers over the anchor to reveal the\n // tooltip, and then quickly navigates away and then back to the anchor.\n // The tooltip should stay visible without animating out and then back in\n // again.\n this.show();\n }\n else {\n // clearHideTimeout here since handleAnchorMouseLeave sets a hideTimeout\n // and that can execute before the showTimeout executes, resulting in hide\n // being called and the showTimeout set below to be cleared.\n this.clearHideTimeout();\n this.showTimeout = setTimeout(function () {\n _this.show();\n }, this.showDelayMs);\n }\n };\n MDCTooltipFoundation.prototype.handleAnchorTouchstart = function () {\n var _this = this;\n this.showTimeout = setTimeout(function () {\n _this.show();\n }, this.showDelayMs);\n // Prevent a context menu from appearing if user is long-pressing on a\n // tooltip anchor.\n this.adapter.registerWindowEventHandler('contextmenu', this.preventContextMenuOnLongTouch);\n };\n MDCTooltipFoundation.prototype.preventContextMenuOnLongTouch = function (evt) {\n evt.preventDefault();\n };\n MDCTooltipFoundation.prototype.handleAnchorTouchend = function () {\n this.clearShowTimeout();\n // Only remove the 'contextmenu' listener if the tooltip is not shown. When\n // the tooltip *is* shown, listener is removed in the close method.\n if (!this.isShown()) {\n this.adapter.deregisterWindowEventHandler('contextmenu', this.preventContextMenuOnLongTouch);\n }\n };\n MDCTooltipFoundation.prototype.handleAnchorFocus = function (evt) {\n var _this = this;\n // TODO(b/157075286): Need to add some way to distinguish keyboard\n // navigation focus events from other focus events, and only show the\n // tooltip on the former of these events.\n var relatedTarget = evt.relatedTarget;\n var tooltipContainsRelatedTarget = relatedTarget instanceof HTMLElement &&\n this.adapter.tooltipContainsElement(relatedTarget);\n // Do not show tooltip if the previous focus was on a tooltip element. This\n // occurs when a rich tooltip is closed and focus is restored to the anchor\n // or when user tab-navigates back into the anchor from the rich tooltip.\n if (tooltipContainsRelatedTarget) {\n return;\n }\n this.showTimeout = setTimeout(function () {\n _this.show();\n }, this.showDelayMs);\n };\n MDCTooltipFoundation.prototype.handleAnchorMouseLeave = function () {\n var _this = this;\n this.clearShowTimeout();\n this.hideTimeout = setTimeout(function () {\n _this.hide();\n }, this.hideDelayMs);\n };\n MDCTooltipFoundation.prototype.handleAnchorClick = function () {\n if (this.tooltipShown) {\n this.hide();\n }\n else {\n this.show();\n }\n };\n MDCTooltipFoundation.prototype.handleDocumentClick = function (evt) {\n var anchorOrTooltipContainsTargetElement = evt.target instanceof HTMLElement &&\n (this.adapter.anchorContainsElement(evt.target) ||\n this.adapter.tooltipContainsElement(evt.target));\n // For persistent rich tooltips, we will not hide if:\n // - The click target is within the anchor element. Otherwise, both\n // the anchor element's click handler and this handler will handle the\n // click (due to event propagation), resulting in a shown tooltip\n // being immediately hidden if the tooltip was initially hidden.\n // - The click target is within the tooltip element, since clicks\n // on the tooltip do not close the tooltip.\n if (this.richTooltip && this.persistentTooltip &&\n anchorOrTooltipContainsTargetElement) {\n return;\n }\n // Hide the tooltip immediately on click.\n this.hide();\n };\n MDCTooltipFoundation.prototype.handleKeydown = function (evt) {\n // Hide the tooltip immediately on ESC key.\n var key = normalizeKey(evt);\n if (key === KEY.ESCAPE) {\n var activeElement = this.adapter.getActiveElement();\n var tooltipContainsActiveElement = activeElement instanceof HTMLElement &&\n this.adapter.tooltipContainsElement(activeElement);\n if (tooltipContainsActiveElement) {\n this.adapter.focusAnchorElement();\n }\n this.hide();\n }\n };\n MDCTooltipFoundation.prototype.handleAnchorBlur = function (evt) {\n if (this.richTooltip) {\n var tooltipContainsRelatedTargetElement = evt.relatedTarget instanceof HTMLElement &&\n this.adapter.tooltipContainsElement(evt.relatedTarget);\n // If focus changed to the tooltip element, don't hide the tooltip.\n if (tooltipContainsRelatedTargetElement) {\n return;\n }\n if (evt.relatedTarget === null && this.interactiveTooltip) {\n // If evt.relatedTarget is null, it is because focus is moving to an\n // element that is not focusable. This should only occur in instances\n // of a screen reader in browse mode/linear navigation mode. If the\n // tooltip is interactive (and so the entire content is not read by\n // the screen reader upon the tooltip being opened), we want to allow\n // users to read the content of the tooltip (and not just the focusable\n // elements).\n return;\n }\n }\n // Hide tooltip immediately on focus change.\n this.hide();\n };\n MDCTooltipFoundation.prototype.handleTooltipMouseEnter = function () {\n this.show();\n };\n MDCTooltipFoundation.prototype.handleTooltipMouseLeave = function () {\n var _this = this;\n this.clearShowTimeout();\n this.hideTimeout = setTimeout(function () {\n _this.hide();\n }, this.hideDelayMs);\n };\n MDCTooltipFoundation.prototype.handleRichTooltipFocusOut = function (evt) {\n var anchorOrTooltipContainsRelatedTargetElement = evt.relatedTarget instanceof HTMLElement &&\n (this.adapter.anchorContainsElement(evt.relatedTarget) ||\n this.adapter.tooltipContainsElement(evt.relatedTarget));\n // If the focus is still within the anchor or the tooltip, do not hide the\n // tooltip.\n if (anchorOrTooltipContainsRelatedTargetElement) {\n return;\n }\n if (evt.relatedTarget === null && this.interactiveTooltip) {\n // If evt.relatedTarget is null, it is because focus is moving to an\n // element that is not focusable. This should only occur in instances\n // of a screen reader in browse mode/linear navigation mode. If the\n // tooltip is interactive (and so the entire content is not read by\n // the screen reader upon the tooltip being opened), we want to allow\n // users to read the content of the tooltip (and not just the focusable\n // elements).\n return;\n }\n this.hide();\n };\n MDCTooltipFoundation.prototype.handleWindowScrollEvent = function () {\n if (this.persistentTooltip) {\n // Persistent tooltips remain visible on user scroll, call appropriate\n // handler to ensure the tooltip remains pinned to the anchor on page\n // scroll.\n this.handleWindowChangeEvent();\n return;\n }\n this.hide();\n };\n /**\n * On window resize or scroll, check the anchor position and size and\n * repostion tooltip if necessary.\n */\n MDCTooltipFoundation.prototype.handleWindowChangeEvent = function () {\n var _this = this;\n // Since scroll and resize events can fire at a high rate, we throttle\n // the potential re-positioning of tooltip component using\n // requestAnimationFrame.\n this.animFrame.request(AnimationKeys.POLL_ANCHOR, function () {\n _this.repositionTooltipOnAnchorMove();\n });\n };\n MDCTooltipFoundation.prototype.show = function () {\n var e_1, _a;\n var _this = this;\n this.clearHideTimeout();\n this.clearShowTimeout();\n if (this.tooltipShown) {\n return;\n }\n this.tooltipShown = true;\n this.adapter.removeAttribute('aria-hidden');\n if (this.richTooltip) {\n if (this.interactiveTooltip) {\n this.adapter.setAnchorAttribute('aria-expanded', 'true');\n }\n this.adapter.registerEventHandler('focusout', this.richTooltipFocusOutHandler);\n }\n if (!this.persistentTooltip) {\n this.adapter.registerEventHandler('mouseenter', this.tooltipMouseEnterHandler);\n this.adapter.registerEventHandler('mouseleave', this.tooltipMouseLeaveHandler);\n }\n this.adapter.removeClass(HIDE);\n this.adapter.addClass(SHOWING);\n if (this.isTooltipMultiline() && !this.richTooltip) {\n this.adapter.addClass(MULTILINE_TOOLTIP);\n }\n this.anchorRect = this.adapter.getAnchorBoundingRect();\n this.parentRect = this.adapter.getParentBoundingRect();\n this.richTooltip ? this.positionRichTooltip() : this.positionPlainTooltip();\n this.adapter.registerAnchorEventHandler('blur', this.anchorBlurHandler);\n this.adapter.registerDocumentEventHandler('click', this.documentClickHandler);\n this.adapter.registerDocumentEventHandler('keydown', this.documentKeydownHandler);\n this.adapter.registerWindowEventHandler('scroll', this.windowScrollHandler);\n this.adapter.registerWindowEventHandler('resize', this.windowResizeHandler);\n try {\n // Register any additional scroll handlers\n for (var _b = __values(this.addAncestorScrollEventListeners), _c = _b.next(); !_c.done; _c = _b.next()) {\n var fn = _c.value;\n fn();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n this.frameId = requestAnimationFrame(function () {\n _this.clearAllAnimationClasses();\n _this.adapter.addClass(SHOWN);\n _this.adapter.addClass(SHOWING_TRANSITION);\n });\n };\n MDCTooltipFoundation.prototype.hide = function () {\n var e_2, _a;\n this.clearHideTimeout();\n this.clearShowTimeout();\n if (!this.tooltipShown) {\n return;\n }\n if (this.frameId) {\n cancelAnimationFrame(this.frameId);\n }\n this.tooltipShown = false;\n this.adapter.setAttribute('aria-hidden', 'true');\n this.adapter.deregisterEventHandler('focusout', this.richTooltipFocusOutHandler);\n if (this.richTooltip) {\n if (this.interactiveTooltip) {\n this.adapter.setAnchorAttribute('aria-expanded', 'false');\n }\n }\n if (!this.persistentTooltip) {\n this.adapter.deregisterEventHandler('mouseenter', this.tooltipMouseEnterHandler);\n this.adapter.deregisterEventHandler('mouseleave', this.tooltipMouseLeaveHandler);\n }\n this.clearAllAnimationClasses();\n this.adapter.addClass(HIDE);\n this.adapter.addClass(HIDE_TRANSITION);\n this.adapter.removeClass(SHOWN);\n this.adapter.deregisterAnchorEventHandler('blur', this.anchorBlurHandler);\n this.adapter.deregisterDocumentEventHandler('click', this.documentClickHandler);\n this.adapter.deregisterDocumentEventHandler('keydown', this.documentKeydownHandler);\n this.adapter.deregisterWindowEventHandler('scroll', this.windowScrollHandler);\n this.adapter.deregisterWindowEventHandler('resize', this.windowResizeHandler);\n this.adapter.deregisterWindowEventHandler('contextmenu', this.preventContextMenuOnLongTouch);\n try {\n // Deregister any additional scroll handlers\n for (var _b = __values(this.removeAncestorScrollEventListeners), _c = _b.next(); !_c.done; _c = _b.next()) {\n var fn = _c.value;\n fn();\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n };\n MDCTooltipFoundation.prototype.handleTransitionEnd = function () {\n var isHidingTooltip = this.adapter.hasClass(HIDE);\n this.adapter.removeClass(SHOWING);\n this.adapter.removeClass(SHOWING_TRANSITION);\n this.adapter.removeClass(HIDE);\n this.adapter.removeClass(HIDE_TRANSITION);\n // If handleTransitionEnd is called after hiding the tooltip, the tooltip\n // will have the HIDE class (before calling the adapter removeClass method).\n // If tooltip is now hidden, send a notification that the animation has\n // completed and the tooltip is no longer visible.\n if (isHidingTooltip) {\n this.adapter.notifyHidden();\n }\n };\n MDCTooltipFoundation.prototype.clearAllAnimationClasses = function () {\n this.adapter.removeClass(SHOWING_TRANSITION);\n this.adapter.removeClass(HIDE_TRANSITION);\n };\n MDCTooltipFoundation.prototype.setTooltipPosition = function (position) {\n var xPos = position.xPos, yPos = position.yPos, withCaretPos = position.withCaretPos;\n if (this.hasCaret && withCaretPos) {\n this.tooltipPositionWithCaret = withCaretPos;\n return;\n }\n if (xPos) {\n this.xTooltipPos = xPos;\n }\n if (yPos) {\n this.yTooltipPos = yPos;\n }\n };\n MDCTooltipFoundation.prototype.setAnchorBoundaryType = function (type) {\n if (type === AnchorBoundaryType.UNBOUNDED) {\n this.anchorGap = numbers.UNBOUNDED_ANCHOR_GAP;\n }\n else {\n this.anchorGap = numbers.BOUNDED_ANCHOR_GAP;\n }\n };\n MDCTooltipFoundation.prototype.setShowDelay = function (delayMs) {\n this.showDelayMs = delayMs;\n };\n MDCTooltipFoundation.prototype.setHideDelay = function (delayMs) {\n this.hideDelayMs = delayMs;\n };\n MDCTooltipFoundation.prototype.isTooltipMultiline = function () {\n var tooltipSize = this.adapter.getTooltipSize();\n return tooltipSize.height > numbers.MIN_HEIGHT &&\n tooltipSize.width >= numbers.MAX_WIDTH;\n };\n MDCTooltipFoundation.prototype.positionPlainTooltip = function () {\n // A plain tooltip has `fixed` positioning and is placed as an immediate\n // child of the document body. Its positioning is calculated with respect to\n // the viewport.\n var _a = this.calculateTooltipStyles(this.anchorRect), top = _a.top, yTransformOrigin = _a.yTransformOrigin, left = _a.left, xTransformOrigin = _a.xTransformOrigin;\n var transformProperty = HAS_WINDOW ? getCorrectPropertyName(window, 'transform') : 'transform';\n this.adapter.setSurfaceAnimationStyleProperty(transformProperty + \"-origin\", xTransformOrigin + \" \" + yTransformOrigin);\n this.adapter.setStyleProperty('top', top + \"px\");\n this.adapter.setStyleProperty('left', left + \"px\");\n };\n MDCTooltipFoundation.prototype.positionRichTooltip = function () {\n // TODO(b/177686782): Remove width setting when max-content is used to style\n // the rich tooltip.\n var _a, _b, _c, _d;\n // getComputedStyleProperty is used instead of getTooltipSize since\n // getTooltipSize returns the offSetWidth, which includes the border and\n // padding. What we need is the width of the tooltip without border and\n // padding.\n var width = this.adapter.getComputedStyleProperty('width');\n // When rich tooltips are positioned within their parent containers, the\n // tooltip width might be shrunk if it collides with the edge of the parent\n // container. We set the width of the tooltip to prevent this.\n this.adapter.setStyleProperty('width', width);\n var _e = this.hasCaret ?\n this.calculateTooltipWithCaretStyles(this.anchorRect) :\n this.calculateTooltipStyles(this.anchorRect), top = _e.top, yTransformOrigin = _e.yTransformOrigin, left = _e.left, xTransformOrigin = _e.xTransformOrigin;\n var transformProperty = HAS_WINDOW ? getCorrectPropertyName(window, 'transform') : 'transform';\n this.adapter.setSurfaceAnimationStyleProperty(transformProperty + \"-origin\", xTransformOrigin + \" \" + yTransformOrigin);\n // A rich tooltip has `absolute` positioning and is placed as a sibling to\n // the anchor element. Its positioning is calculated with respect to the\n // parent element, and so the values need to be adjusted against the parent\n // element.\n var leftAdjustment = left - ((_b = (_a = this.parentRect) === null || _a === void 0 ? void 0 : _a.left) !== null && _b !== void 0 ? _b : 0);\n var topAdjustment = top - ((_d = (_c = this.parentRect) === null || _c === void 0 ? void 0 : _c.top) !== null && _d !== void 0 ? _d : 0);\n this.adapter.setStyleProperty('top', topAdjustment + \"px\");\n this.adapter.setStyleProperty('left', leftAdjustment + \"px\");\n };\n /**\n * Calculates the position of the tooltip. A tooltip will be placed beneath\n * the anchor element and aligned either with the 'start'/'end' edge of the\n * anchor element or the 'center'.\n *\n * Tooltip alignment is selected such that the tooltip maintains a threshold\n * distance away from the viewport (defaulting to 'center' alignment). If the\n * placement of the anchor prevents this threshold distance from being\n * maintained, the tooltip is positioned so that it does not collide with the\n * viewport.\n *\n * Users can specify an alignment, however, if this alignment results in the\n * tooltip colliding with the viewport, this specification is overwritten.\n */\n MDCTooltipFoundation.prototype.calculateTooltipStyles = function (anchorRect) {\n if (!anchorRect) {\n return { top: 0, left: 0 };\n }\n var tooltipSize = this.adapter.getTooltipSize();\n var top = this.calculateYTooltipDistance(anchorRect, tooltipSize.height);\n var left = this.calculateXTooltipDistance(anchorRect, tooltipSize.width);\n return {\n top: top.distance,\n yTransformOrigin: top.yTransformOrigin,\n left: left.distance,\n xTransformOrigin: left.xTransformOrigin\n };\n };\n /**\n * Calculates the `left` distance for the tooltip.\n * Returns the distance value and a string indicating the x-axis transform-\n * origin that should be used when animating the tooltip.\n */\n MDCTooltipFoundation.prototype.calculateXTooltipDistance = function (anchorRect, tooltipWidth) {\n var isLTR = !this.adapter.isRTL();\n var startPos, endPos, centerPos;\n var startTransformOrigin, endTransformOrigin;\n if (this.richTooltip) {\n startPos = isLTR ? anchorRect.left - tooltipWidth : anchorRect.right;\n endPos = isLTR ? anchorRect.right : anchorRect.left - tooltipWidth;\n startTransformOrigin = isLTR ? strings.RIGHT : strings.LEFT;\n endTransformOrigin = isLTR ? strings.LEFT : strings.RIGHT;\n }\n else {\n startPos = isLTR ? anchorRect.left : anchorRect.right - tooltipWidth;\n endPos = isLTR ? anchorRect.right - tooltipWidth : anchorRect.left;\n centerPos = anchorRect.left + (anchorRect.width - tooltipWidth) / 2;\n startTransformOrigin = isLTR ? strings.LEFT : strings.RIGHT;\n endTransformOrigin = isLTR ? strings.RIGHT : strings.LEFT;\n }\n var positionOptions = this.richTooltip ?\n this.determineValidPositionOptions(startPos, endPos) :\n // For plain tooltips, centerPos is defined\n this.determineValidPositionOptions(centerPos, startPos, endPos);\n if (this.xTooltipPos === XPosition.START && positionOptions.has(startPos)) {\n return { distance: startPos, xTransformOrigin: startTransformOrigin };\n }\n if (this.xTooltipPos === XPosition.END && positionOptions.has(endPos)) {\n return { distance: endPos, xTransformOrigin: endTransformOrigin };\n }\n if (this.xTooltipPos === XPosition.CENTER &&\n positionOptions.has(centerPos)) {\n // This code path is only executed if calculating the distance for plain\n // tooltips. In this instance, centerPos will always be defined, so we can\n // safely assert that the returned value is non-null/undefined.\n return { distance: centerPos, xTransformOrigin: strings.CENTER };\n }\n // If no user position is supplied, rich tooltips default to end pos, then\n // start position. Plain tooltips default to center, start, then end.\n var possiblePositions = this.richTooltip ?\n [\n { distance: endPos, xTransformOrigin: endTransformOrigin },\n { distance: startPos, xTransformOrigin: startTransformOrigin }\n ] :\n [\n { distance: centerPos, xTransformOrigin: strings.CENTER },\n { distance: startPos, xTransformOrigin: startTransformOrigin },\n { distance: endPos, xTransformOrigin: endTransformOrigin }\n ];\n var validPosition = possiblePositions.find(function (_a) {\n var distance = _a.distance;\n return positionOptions.has(distance);\n });\n if (validPosition) {\n return validPosition;\n }\n // Indicates that all potential positions would result in the tooltip\n // colliding with the viewport. This would only occur when the anchor\n // element itself collides with the viewport, or the viewport is very\n // narrow. In this case, we allow the tooltip to be mis-aligned from the\n // anchor element.\n if (anchorRect.left < 0) {\n return {\n distance: this.minViewportTooltipThreshold,\n xTransformOrigin: strings.LEFT\n };\n }\n else {\n var viewportWidth = this.adapter.getViewportWidth();\n var distance = viewportWidth - (tooltipWidth + this.minViewportTooltipThreshold);\n return { distance: distance, xTransformOrigin: strings.RIGHT };\n }\n };\n /**\n * Given the values for the horizontal alignments of the tooltip, calculates\n * which of these options would result in the tooltip maintaining the required\n * threshold distance vs which would result in the tooltip staying within the\n * viewport.\n *\n * A Set of values is returned holding the distances that would honor the\n * above requirements. Following the logic for determining the tooltip\n * position, if all alignments violate the threshold, then the returned Set\n * contains values that keep the tooltip within the viewport.\n */\n MDCTooltipFoundation.prototype.determineValidPositionOptions = function () {\n var e_3, _a;\n var positions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n positions[_i] = arguments[_i];\n }\n var posWithinThreshold = new Set();\n var posWithinViewport = new Set();\n try {\n for (var positions_1 = __values(positions), positions_1_1 = positions_1.next(); !positions_1_1.done; positions_1_1 = positions_1.next()) {\n var position = positions_1_1.value;\n if (this.positionHonorsViewportThreshold(position)) {\n posWithinThreshold.add(position);\n }\n else if (this.positionDoesntCollideWithViewport(position)) {\n posWithinViewport.add(position);\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (positions_1_1 && !positions_1_1.done && (_a = positions_1.return)) _a.call(positions_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return posWithinThreshold.size ? posWithinThreshold : posWithinViewport;\n };\n MDCTooltipFoundation.prototype.positionHonorsViewportThreshold = function (leftPos) {\n var viewportWidth = this.adapter.getViewportWidth();\n var tooltipWidth = this.adapter.getTooltipSize().width;\n return leftPos + tooltipWidth <=\n viewportWidth - this.minViewportTooltipThreshold &&\n leftPos >= this.minViewportTooltipThreshold;\n };\n MDCTooltipFoundation.prototype.positionDoesntCollideWithViewport = function (leftPos) {\n var viewportWidth = this.adapter.getViewportWidth();\n var tooltipWidth = this.adapter.getTooltipSize().width;\n return leftPos + tooltipWidth <= viewportWidth && leftPos >= 0;\n };\n /**\n * Calculates the `top` distance for the tooltip.\n * Returns the distance value and a string indicating the y-axis transform-\n * origin that should be used when animating the tooltip.\n */\n MDCTooltipFoundation.prototype.calculateYTooltipDistance = function (anchorRect, tooltipHeight) {\n var belowYPos = anchorRect.bottom + this.anchorGap;\n var aboveYPos = anchorRect.top - (this.anchorGap + tooltipHeight);\n var yPositionOptions = this.determineValidYPositionOptions(aboveYPos, belowYPos);\n if (this.yTooltipPos === YPosition.ABOVE &&\n yPositionOptions.has(aboveYPos)) {\n return { distance: aboveYPos, yTransformOrigin: strings.BOTTOM };\n }\n else if (this.yTooltipPos === YPosition.BELOW &&\n yPositionOptions.has(belowYPos)) {\n return { distance: belowYPos, yTransformOrigin: strings.TOP };\n }\n if (yPositionOptions.has(belowYPos)) {\n return { distance: belowYPos, yTransformOrigin: strings.TOP };\n }\n if (yPositionOptions.has(aboveYPos)) {\n return { distance: aboveYPos, yTransformOrigin: strings.BOTTOM };\n }\n // Indicates that all potential positions would result in the tooltip\n // colliding with the viewport. This would only occur when the viewport is\n // very short.\n return { distance: belowYPos, yTransformOrigin: strings.TOP };\n };\n /**\n * Given the values for above/below alignment of the tooltip, calculates\n * which of these options would result in the tooltip maintaining the required\n * threshold distance vs which would result in the tooltip staying within the\n * viewport.\n *\n * A Set of values is returned holding the distances that would honor the\n * above requirements. Following the logic for determining the tooltip\n * position, if all possible alignments violate the threshold, then the\n * returned Set contains values that keep the tooltip within the viewport.\n */\n MDCTooltipFoundation.prototype.determineValidYPositionOptions = function (aboveAnchorPos, belowAnchorPos) {\n var posWithinThreshold = new Set();\n var posWithinViewport = new Set();\n if (this.yPositionHonorsViewportThreshold(aboveAnchorPos)) {\n posWithinThreshold.add(aboveAnchorPos);\n }\n else if (this.yPositionDoesntCollideWithViewport(aboveAnchorPos)) {\n posWithinViewport.add(aboveAnchorPos);\n }\n if (this.yPositionHonorsViewportThreshold(belowAnchorPos)) {\n posWithinThreshold.add(belowAnchorPos);\n }\n else if (this.yPositionDoesntCollideWithViewport(belowAnchorPos)) {\n posWithinViewport.add(belowAnchorPos);\n }\n return posWithinThreshold.size ? posWithinThreshold : posWithinViewport;\n };\n MDCTooltipFoundation.prototype.yPositionHonorsViewportThreshold = function (yPos) {\n var viewportHeight = this.adapter.getViewportHeight();\n var tooltipHeight = this.adapter.getTooltipSize().height;\n return yPos + tooltipHeight + this.minViewportTooltipThreshold <=\n viewportHeight &&\n yPos >= this.minViewportTooltipThreshold;\n };\n MDCTooltipFoundation.prototype.yPositionDoesntCollideWithViewport = function (yPos) {\n var viewportHeight = this.adapter.getViewportHeight();\n var tooltipHeight = this.adapter.getTooltipSize().height;\n return yPos + tooltipHeight <= viewportHeight && yPos >= 0;\n };\n MDCTooltipFoundation.prototype.calculateTooltipWithCaretStyles = function (anchorRect) {\n // Prior to grabbing the caret bounding rect, we clear all styles set on the\n // caret. This will ensure the width/height is consistent (since we rotate\n // the caret 90deg in some positions which would result in the height and\n // width bounding rect measurements flipping).\n this.adapter.clearTooltipCaretStyles();\n var caretSize = this.adapter.getTooltipCaretBoundingRect();\n if (!anchorRect || !caretSize) {\n return { position: PositionWithCaret.DETECTED, top: 0, left: 0 };\n }\n // The caret for the rich tooltip is created by rotating/skewing/scaling\n // square div into a diamond shape and then hiding half of it so it looks\n // like a triangle. We use the boundingClientRect to calculate the\n // width/height of the element after the transforms (to the caret) have been\n // applied. Since the full tooltip is scaled by 0.8 for the entrance\n // animation, we divide by this value to retrieve the actual caret\n // dimensions.\n var caretWidth = caretSize.width / numbers.ANIMATION_SCALE;\n // Since we hide half of caret, we divide the returned ClientRect height\n // by 2.\n var caretHeight = (caretSize.height / numbers.ANIMATION_SCALE) / 2;\n var tooltipSize = this.adapter.getTooltipSize();\n var yOptions = this.calculateYWithCaretDistanceOptions(anchorRect, tooltipSize.height, { caretWidth: caretWidth, caretHeight: caretHeight });\n var xOptions = this.calculateXWithCaretDistanceOptions(anchorRect, tooltipSize.width, { caretWidth: caretWidth, caretHeight: caretHeight });\n var positionOptions = this.validateTooltipWithCaretDistances(yOptions, xOptions);\n if (positionOptions.size < 1) {\n positionOptions = this.generateBackupPositionOption(anchorRect, tooltipSize, { caretWidth: caretWidth, caretHeight: caretHeight });\n }\n var _a = this.determineTooltipWithCaretDistance(positionOptions), position = _a.position, xDistance = _a.xDistance, yDistance = _a.yDistance;\n // After determining the position of the tooltip relative to the anchor,\n // place the caret in the corresponding position and retrieve the necessary\n // x/y transform origins needed to properly animate the tooltip entrance.\n var _b = this.setCaretPositionStyles(position, { caretWidth: caretWidth, caretHeight: caretHeight }), yTransformOrigin = _b.yTransformOrigin, xTransformOrigin = _b.xTransformOrigin;\n return {\n yTransformOrigin: yTransformOrigin,\n xTransformOrigin: xTransformOrigin,\n top: yDistance,\n left: xDistance\n };\n };\n MDCTooltipFoundation.prototype.calculateXWithCaretDistanceOptions = function (anchorRect, tooltipWidth, caretSize) {\n var caretWidth = caretSize.caretWidth, caretHeight = caretSize.caretHeight;\n var isLTR = !this.adapter.isRTL();\n var anchorMidpoint = anchorRect.left + anchorRect.width / 2;\n var sideLeftAligned = anchorRect.left - (tooltipWidth + this.anchorGap + caretHeight);\n var sideRightAligned = anchorRect.right + this.anchorGap + caretHeight;\n var sideStartPos = isLTR ? sideLeftAligned : sideRightAligned;\n var sideEndPos = isLTR ? sideRightAligned : sideLeftAligned;\n var verticalLeftAligned = anchorMidpoint - (numbers.CARET_INDENTATION + caretWidth / 2);\n var verticalRightAligned = anchorMidpoint -\n (tooltipWidth - numbers.CARET_INDENTATION - caretWidth / 2);\n var verticalStartPos = isLTR ? verticalLeftAligned : verticalRightAligned;\n var verticalEndPos = isLTR ? verticalRightAligned : verticalLeftAligned;\n var verticalCenterPos = anchorMidpoint - tooltipWidth / 2;\n var possiblePositionsMap = new Map([\n [XPositionWithCaret.START, verticalStartPos],\n [XPositionWithCaret.CENTER, verticalCenterPos],\n [XPositionWithCaret.END, verticalEndPos],\n [XPositionWithCaret.SIDE_END, sideEndPos],\n [XPositionWithCaret.SIDE_START, sideStartPos],\n ]);\n return possiblePositionsMap;\n };\n MDCTooltipFoundation.prototype.calculateYWithCaretDistanceOptions = function (anchorRect, tooltipHeight, caretSize) {\n var caretWidth = caretSize.caretWidth, caretHeight = caretSize.caretHeight;\n var anchorMidpoint = anchorRect.top + anchorRect.height / 2;\n var belowYPos = anchorRect.bottom + this.anchorGap + caretHeight;\n var aboveYPos = anchorRect.top - (this.anchorGap + tooltipHeight + caretHeight);\n var sideTopYPos = anchorMidpoint - (numbers.CARET_INDENTATION + caretWidth / 2);\n var sideCenterYPos = anchorMidpoint - (tooltipHeight / 2);\n var sideBottomYPos = anchorMidpoint -\n (tooltipHeight - numbers.CARET_INDENTATION - caretWidth / 2);\n var possiblePositionsMap = new Map([\n [YPositionWithCaret.ABOVE, aboveYPos],\n [YPositionWithCaret.BELOW, belowYPos],\n [YPositionWithCaret.SIDE_TOP, sideTopYPos],\n [YPositionWithCaret.SIDE_CENTER, sideCenterYPos],\n [YPositionWithCaret.SIDE_BOTTOM, sideBottomYPos],\n ]);\n return possiblePositionsMap;\n };\n MDCTooltipFoundation.prototype.repositionTooltipOnAnchorMove = function () {\n var newAnchorRect = this.adapter.getAnchorBoundingRect();\n if (!newAnchorRect || !this.anchorRect)\n return;\n if (newAnchorRect.top !== this.anchorRect.top ||\n newAnchorRect.left !== this.anchorRect.left ||\n newAnchorRect.height !== this.anchorRect.height ||\n newAnchorRect.width !== this.anchorRect.width) {\n this.anchorRect = newAnchorRect;\n this.parentRect = this.adapter.getParentBoundingRect();\n this.richTooltip ? this.positionRichTooltip() :\n this.positionPlainTooltip();\n }\n };\n /**\n * Given a list of x/y position options for a rich tooltip with caret, checks\n * if valid x/y combinations of these position options are either within the\n * viewport threshold, or simply within the viewport. Returns a map with the\n * valid x/y position combinations that all either honor the viewport\n * threshold or are simply inside within the viewport.\n */\n MDCTooltipFoundation.prototype.validateTooltipWithCaretDistances = function (yOptions, xOptions) {\n var e_4, _a, e_5, _b, e_6, _c;\n var posWithinThreshold = new Map();\n var posWithinViewport = new Map();\n // If a tooltip has a caret, not all combinations of YPositionWithCarets and\n // XPositionWithCarets are possible. Because of this we only check the\n // validity of a given XPositionWithCaret if a potential corresponding\n // YPositionWithCaret is valid.\n var validMappings = new Map([\n [\n YPositionWithCaret.ABOVE,\n [\n XPositionWithCaret.START, XPositionWithCaret.CENTER,\n XPositionWithCaret.END\n ]\n ],\n [\n YPositionWithCaret.BELOW,\n [\n XPositionWithCaret.START, XPositionWithCaret.CENTER,\n XPositionWithCaret.END\n ]\n ],\n [\n YPositionWithCaret.SIDE_TOP,\n [XPositionWithCaret.SIDE_START, XPositionWithCaret.SIDE_END]\n ],\n [\n YPositionWithCaret.SIDE_CENTER,\n [XPositionWithCaret.SIDE_START, XPositionWithCaret.SIDE_END]\n ],\n [\n YPositionWithCaret.SIDE_BOTTOM,\n [XPositionWithCaret.SIDE_START, XPositionWithCaret.SIDE_END]\n ],\n ]);\n try {\n for (var _d = __values(validMappings.keys()), _e = _d.next(); !_e.done; _e = _d.next()) {\n var y = _e.value;\n var yDistance = yOptions.get(y);\n if (this.yPositionHonorsViewportThreshold(yDistance)) {\n try {\n for (var _f = (e_5 = void 0, __values(validMappings.get(y))), _g = _f.next(); !_g.done; _g = _f.next()) {\n var x = _g.value;\n var xDistance = xOptions.get(x);\n if (this.positionHonorsViewportThreshold(xDistance)) {\n var caretPositionName = this.caretPositionOptionsMapping(x, y);\n posWithinThreshold.set(caretPositionName, { xDistance: xDistance, yDistance: yDistance });\n }\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (_g && !_g.done && (_b = _f.return)) _b.call(_f);\n }\n finally { if (e_5) throw e_5.error; }\n }\n }\n else if (this.yPositionDoesntCollideWithViewport(yDistance)) {\n try {\n for (var _h = (e_6 = void 0, __values(validMappings.get(y))), _j = _h.next(); !_j.done; _j = _h.next()) {\n var x = _j.value;\n var xDistance = xOptions.get(x);\n if (this.positionDoesntCollideWithViewport(xDistance)) {\n var caretPositionName = this.caretPositionOptionsMapping(x, y);\n posWithinViewport.set(caretPositionName, { xDistance: xDistance, yDistance: yDistance });\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (_j && !_j.done && (_c = _h.return)) _c.call(_h);\n }\n finally { if (e_6) throw e_6.error; }\n }\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_e && !_e.done && (_a = _d.return)) _a.call(_d);\n }\n finally { if (e_4) throw e_4.error; }\n }\n return posWithinThreshold.size ? posWithinThreshold : posWithinViewport;\n };\n /**\n * Method for generating a horizontal and vertical position for the tooltip if\n * all other calculated values are considered invalid. This would only happen\n * in situations of very small viewports/large tooltips.\n */\n MDCTooltipFoundation.prototype.generateBackupPositionOption = function (anchorRect, tooltipSize, caretSize) {\n var isLTR = !this.adapter.isRTL();\n var xDistance;\n var xPos;\n if (anchorRect.left < 0) {\n xDistance = this.minViewportTooltipThreshold + caretSize.caretHeight;\n xPos = isLTR ? XPositionWithCaret.END : XPositionWithCaret.START;\n }\n else {\n var viewportWidth = this.adapter.getViewportWidth();\n xDistance = viewportWidth -\n (tooltipSize.width + this.minViewportTooltipThreshold +\n caretSize.caretHeight);\n xPos = isLTR ? XPositionWithCaret.START : XPositionWithCaret.END;\n }\n var yDistance;\n var yPos;\n if (anchorRect.top < 0) {\n yDistance = this.minViewportTooltipThreshold + caretSize.caretHeight;\n yPos = YPositionWithCaret.BELOW;\n }\n else {\n var viewportHeight = this.adapter.getViewportHeight();\n yDistance = viewportHeight -\n (tooltipSize.height + this.minViewportTooltipThreshold +\n caretSize.caretHeight);\n yPos = YPositionWithCaret.ABOVE;\n }\n var caretPositionName = this.caretPositionOptionsMapping(xPos, yPos);\n return new Map([[caretPositionName, { xDistance: xDistance, yDistance: yDistance }]]);\n };\n /**\n * Given a list of valid position options for a rich tooltip with caret,\n * returns the option that should be used.\n */\n MDCTooltipFoundation.prototype.determineTooltipWithCaretDistance = function (options) {\n if (options.has(this.tooltipPositionWithCaret)) {\n var tooltipPos = options.get(this.tooltipPositionWithCaret);\n return {\n position: this.tooltipPositionWithCaret,\n xDistance: tooltipPos.xDistance,\n yDistance: tooltipPos.yDistance,\n };\n }\n var orderPref = [\n PositionWithCaret.ABOVE_START, PositionWithCaret.ABOVE_CENTER,\n PositionWithCaret.ABOVE_END, PositionWithCaret.TOP_SIDE_START,\n PositionWithCaret.CENTER_SIDE_START, PositionWithCaret.BOTTOM_SIDE_START,\n PositionWithCaret.TOP_SIDE_END, PositionWithCaret.CENTER_SIDE_END,\n PositionWithCaret.BOTTOM_SIDE_END, PositionWithCaret.BELOW_START,\n PositionWithCaret.BELOW_CENTER, PositionWithCaret.BELOW_END\n ];\n // Before calling this method we check whether or not the \"options\" param\n // is empty and invoke a different method. We, therefore, can be certain\n // that \"validPosition\" will always be defined.\n var validPosition = orderPref.find(function (pos) { return options.has(pos); });\n var pos = options.get(validPosition);\n return {\n position: validPosition,\n xDistance: pos.xDistance,\n yDistance: pos.yDistance,\n };\n };\n /**\n * Returns the corresponding PositionWithCaret enum for the proivded\n * XPositionWithCaret and YPositionWithCaret enums. This mapping exists so our\n * public API accepts only PositionWithCaret enums (as all combinations of\n * XPositionWithCaret and YPositionWithCaret are not valid), but internally we\n * can calculate the X and Y positions of a rich tooltip with caret\n * separately.\n */\n MDCTooltipFoundation.prototype.caretPositionOptionsMapping = function (xPos, yPos) {\n switch (yPos) {\n case YPositionWithCaret.ABOVE:\n if (xPos === XPositionWithCaret.START) {\n return PositionWithCaret.ABOVE_START;\n }\n else if (xPos === XPositionWithCaret.CENTER) {\n return PositionWithCaret.ABOVE_CENTER;\n }\n else if (xPos === XPositionWithCaret.END) {\n return PositionWithCaret.ABOVE_END;\n }\n break;\n case YPositionWithCaret.BELOW:\n if (xPos === XPositionWithCaret.START) {\n return PositionWithCaret.BELOW_START;\n }\n else if (xPos === XPositionWithCaret.CENTER) {\n return PositionWithCaret.BELOW_CENTER;\n }\n else if (xPos === XPositionWithCaret.END) {\n return PositionWithCaret.BELOW_END;\n }\n break;\n case YPositionWithCaret.SIDE_TOP:\n if (xPos === XPositionWithCaret.SIDE_START) {\n return PositionWithCaret.TOP_SIDE_START;\n }\n else if (xPos === XPositionWithCaret.SIDE_END) {\n return PositionWithCaret.TOP_SIDE_END;\n }\n break;\n case YPositionWithCaret.SIDE_CENTER:\n if (xPos === XPositionWithCaret.SIDE_START) {\n return PositionWithCaret.CENTER_SIDE_START;\n }\n else if (xPos === XPositionWithCaret.SIDE_END) {\n return PositionWithCaret.CENTER_SIDE_END;\n }\n break;\n case YPositionWithCaret.SIDE_BOTTOM:\n if (xPos === XPositionWithCaret.SIDE_START) {\n return PositionWithCaret.BOTTOM_SIDE_START;\n }\n else if (xPos === XPositionWithCaret.SIDE_END) {\n return PositionWithCaret.BOTTOM_SIDE_END;\n }\n break;\n default:\n break;\n }\n throw new Error(\"MDCTooltipFoundation: Invalid caret position of \" + xPos + \", \" + yPos);\n };\n /**\n * Given a PositionWithCaret, applies the correct styles to the caret element\n * so that it is positioned properly on the rich tooltip.\n * Returns the x and y positions of the caret, to be used as the\n * transform-origin on the tooltip itself for entrance animations.\n */\n MDCTooltipFoundation.prototype.setCaretPositionStyles = function (position, caretSize) {\n var e_7, _a;\n var values = this.calculateCaretPositionOnTooltip(position, caretSize);\n if (!values) {\n return { yTransformOrigin: 0, xTransformOrigin: 0 };\n }\n // Prior to setting the caret position styles, clear any previous styles\n // set. This is necessary as all position options do not use the same\n // properties (e.g. using 'left' or 'right') and so old style properties\n // might not get overridden, causing misplaced carets.\n this.adapter.clearTooltipCaretStyles();\n this.adapter.setTooltipCaretStyle(values.yAlignment, values.yAxisPx);\n this.adapter.setTooltipCaretStyle(values.xAlignment, values.xAxisPx);\n // Value of scaleX is cos(skew), Math.cos() expects radians though, so we\n // must first convert the skew value (which is in degrees) to radians.\n var skewRadians = values.skew * (Math.PI / 180);\n var scaleX = Math.cos(skewRadians);\n this.adapter.setTooltipCaretStyle('transform', \"rotate(\" + values.rotation + \"deg) skewY(\" + values.skew + \"deg) scaleX(\" + scaleX + \")\");\n this.adapter.setTooltipCaretStyle('transform-origin', values.xAlignment + \" \" + values.yAlignment);\n try {\n for (var _b = __values(values.caretCorners), _c = _b.next(); !_c.done; _c = _b.next()) {\n var corner = _c.value;\n this.adapter.setTooltipCaretStyle(corner, '0');\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_7) throw e_7.error; }\n }\n return {\n yTransformOrigin: values.yTransformOrigin,\n xTransformOrigin: values.xTransformOrigin\n };\n };\n /**\n * Given a PositionWithCaret, determines the correct styles to position the\n * caret properly on the rich tooltip.\n */\n MDCTooltipFoundation.prototype.calculateCaretPositionOnTooltip = function (tooltipPos, caretSize) {\n var isLTR = !this.adapter.isRTL();\n var tooltipWidth = this.adapter.getComputedStyleProperty('width');\n var tooltipHeight = this.adapter.getComputedStyleProperty('height');\n if (!tooltipWidth || !tooltipHeight || !caretSize) {\n return;\n }\n var midpointWidth = \"calc((\" + tooltipWidth + \" - \" + caretSize.caretWidth + \"px) / 2)\";\n var midpointHeight = \"calc((\" + tooltipHeight + \" - \" + caretSize.caretWidth + \"px) / 2)\";\n var flushWithEdge = '0';\n var indentedFromEdge = numbers.CARET_INDENTATION + \"px\";\n var indentedFromWidth = \"calc(\" + tooltipWidth + \" - \" + indentedFromEdge + \")\";\n var indentedFromHeight = \"calc(\" + tooltipHeight + \" - \" + indentedFromEdge + \")\";\n var verticalRotation = 35;\n var horizontalRotation = Math.abs(90 - verticalRotation);\n var bottomRightTopLeftBorderRadius = ['border-bottom-right-radius', 'border-top-left-radius'];\n var bottomLeftTopRightBorderRadius = ['border-bottom-left-radius', 'border-top-right-radius'];\n var skewDeg = 20;\n switch (tooltipPos) {\n case PositionWithCaret.BELOW_CENTER:\n return {\n yAlignment: strings.TOP,\n xAlignment: strings.LEFT,\n yAxisPx: flushWithEdge,\n xAxisPx: midpointWidth,\n rotation: -1 * verticalRotation,\n skew: -1 * skewDeg,\n xTransformOrigin: midpointWidth,\n yTransformOrigin: flushWithEdge,\n caretCorners: bottomRightTopLeftBorderRadius,\n };\n case PositionWithCaret.BELOW_END:\n return {\n yAlignment: strings.TOP,\n xAlignment: isLTR ? strings.RIGHT : strings.LEFT,\n yAxisPx: flushWithEdge,\n xAxisPx: indentedFromEdge,\n rotation: isLTR ? verticalRotation : -1 * verticalRotation,\n skew: isLTR ? skewDeg : -1 * skewDeg,\n xTransformOrigin: isLTR ? indentedFromWidth : indentedFromEdge,\n yTransformOrigin: flushWithEdge,\n caretCorners: isLTR ? bottomLeftTopRightBorderRadius :\n bottomRightTopLeftBorderRadius,\n };\n case PositionWithCaret.BELOW_START:\n return {\n yAlignment: strings.TOP,\n xAlignment: isLTR ? strings.LEFT : strings.RIGHT,\n yAxisPx: flushWithEdge,\n xAxisPx: indentedFromEdge,\n rotation: isLTR ? -1 * verticalRotation : verticalRotation,\n skew: isLTR ? -1 * skewDeg : skewDeg,\n xTransformOrigin: isLTR ? indentedFromEdge : indentedFromWidth,\n yTransformOrigin: flushWithEdge,\n caretCorners: isLTR ? bottomRightTopLeftBorderRadius :\n bottomLeftTopRightBorderRadius,\n };\n case PositionWithCaret.TOP_SIDE_END:\n return {\n yAlignment: strings.TOP,\n xAlignment: isLTR ? strings.LEFT : strings.RIGHT,\n yAxisPx: indentedFromEdge,\n xAxisPx: flushWithEdge,\n rotation: isLTR ? horizontalRotation : -1 * horizontalRotation,\n skew: isLTR ? -1 * skewDeg : skewDeg,\n xTransformOrigin: isLTR ? flushWithEdge : tooltipWidth,\n yTransformOrigin: indentedFromEdge,\n caretCorners: isLTR ? bottomRightTopLeftBorderRadius :\n bottomLeftTopRightBorderRadius,\n };\n case PositionWithCaret.CENTER_SIDE_END:\n return {\n yAlignment: strings.TOP,\n xAlignment: isLTR ? strings.LEFT : strings.RIGHT,\n yAxisPx: midpointHeight,\n xAxisPx: flushWithEdge,\n rotation: isLTR ? horizontalRotation : -1 * horizontalRotation,\n skew: isLTR ? -1 * skewDeg : skewDeg,\n xTransformOrigin: isLTR ? flushWithEdge : tooltipWidth,\n yTransformOrigin: midpointHeight,\n caretCorners: isLTR ? bottomRightTopLeftBorderRadius :\n bottomLeftTopRightBorderRadius,\n };\n case PositionWithCaret.BOTTOM_SIDE_END:\n return {\n yAlignment: strings.BOTTOM,\n xAlignment: isLTR ? strings.LEFT : strings.RIGHT,\n yAxisPx: indentedFromEdge,\n xAxisPx: flushWithEdge,\n rotation: isLTR ? -1 * horizontalRotation : horizontalRotation,\n skew: isLTR ? skewDeg : -1 * skewDeg,\n xTransformOrigin: isLTR ? flushWithEdge : tooltipWidth,\n yTransformOrigin: indentedFromHeight,\n caretCorners: isLTR ? bottomLeftTopRightBorderRadius :\n bottomRightTopLeftBorderRadius,\n };\n case PositionWithCaret.TOP_SIDE_START:\n return {\n yAlignment: strings.TOP,\n xAlignment: isLTR ? strings.RIGHT : strings.LEFT,\n yAxisPx: indentedFromEdge,\n xAxisPx: flushWithEdge,\n rotation: isLTR ? -1 * horizontalRotation : horizontalRotation,\n skew: isLTR ? skewDeg : -1 * skewDeg,\n xTransformOrigin: isLTR ? tooltipWidth : flushWithEdge,\n yTransformOrigin: indentedFromEdge,\n caretCorners: isLTR ? bottomLeftTopRightBorderRadius :\n bottomRightTopLeftBorderRadius,\n };\n case PositionWithCaret.CENTER_SIDE_START:\n return {\n yAlignment: strings.TOP,\n xAlignment: isLTR ? strings.RIGHT : strings.LEFT,\n yAxisPx: midpointHeight,\n xAxisPx: flushWithEdge,\n rotation: isLTR ? -1 * horizontalRotation : horizontalRotation,\n skew: isLTR ? skewDeg : -1 * skewDeg,\n xTransformOrigin: isLTR ? tooltipWidth : flushWithEdge,\n yTransformOrigin: midpointHeight,\n caretCorners: isLTR ? bottomLeftTopRightBorderRadius :\n bottomRightTopLeftBorderRadius,\n };\n case PositionWithCaret.BOTTOM_SIDE_START:\n return {\n yAlignment: strings.BOTTOM,\n xAlignment: isLTR ? strings.RIGHT : strings.LEFT,\n yAxisPx: indentedFromEdge,\n xAxisPx: flushWithEdge,\n rotation: isLTR ? horizontalRotation : -1 * horizontalRotation,\n skew: isLTR ? -1 * skewDeg : skewDeg,\n xTransformOrigin: isLTR ? tooltipWidth : flushWithEdge,\n yTransformOrigin: indentedFromHeight,\n caretCorners: isLTR ? bottomRightTopLeftBorderRadius :\n bottomLeftTopRightBorderRadius,\n };\n case PositionWithCaret.ABOVE_CENTER:\n return {\n yAlignment: strings.BOTTOM,\n xAlignment: strings.LEFT,\n yAxisPx: flushWithEdge,\n xAxisPx: midpointWidth,\n rotation: verticalRotation,\n skew: skewDeg,\n xTransformOrigin: midpointWidth,\n yTransformOrigin: tooltipHeight,\n caretCorners: bottomLeftTopRightBorderRadius,\n };\n case PositionWithCaret.ABOVE_END:\n return {\n yAlignment: strings.BOTTOM,\n xAlignment: isLTR ? strings.RIGHT : strings.LEFT,\n yAxisPx: flushWithEdge,\n xAxisPx: indentedFromEdge,\n rotation: isLTR ? -1 * verticalRotation : verticalRotation,\n skew: isLTR ? -1 * skewDeg : skewDeg,\n xTransformOrigin: isLTR ? indentedFromWidth : indentedFromEdge,\n yTransformOrigin: tooltipHeight,\n caretCorners: isLTR ? bottomRightTopLeftBorderRadius :\n bottomLeftTopRightBorderRadius,\n };\n default:\n case PositionWithCaret.ABOVE_START:\n return {\n yAlignment: strings.BOTTOM,\n xAlignment: isLTR ? strings.LEFT : strings.RIGHT,\n yAxisPx: flushWithEdge,\n xAxisPx: indentedFromEdge,\n rotation: isLTR ? verticalRotation : -1 * verticalRotation,\n skew: isLTR ? skewDeg : -1 * skewDeg,\n xTransformOrigin: isLTR ? indentedFromEdge : indentedFromWidth,\n yTransformOrigin: tooltipHeight,\n caretCorners: isLTR ? bottomLeftTopRightBorderRadius :\n bottomRightTopLeftBorderRadius,\n };\n }\n };\n MDCTooltipFoundation.prototype.clearShowTimeout = function () {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n };\n MDCTooltipFoundation.prototype.clearHideTimeout = function () {\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n };\n /**\n * Method that allows user to specify additional elements that should have a\n * scroll event listener attached to it. This should be used in instances\n * where the anchor element is placed inside a scrollable container, and will\n * ensure that the tooltip will stay attached to the anchor on scroll.\n */\n MDCTooltipFoundation.prototype.attachScrollHandler = function (addEventListenerFn) {\n var _this = this;\n this.addAncestorScrollEventListeners.push(function () {\n addEventListenerFn('scroll', _this.windowScrollHandler);\n });\n };\n /**\n * Must be used in conjunction with #attachScrollHandler. Removes the scroll\n * event handler from elements on the page.\n */\n MDCTooltipFoundation.prototype.removeScrollHandler = function (removeEventHandlerFn) {\n var _this = this;\n this.removeAncestorScrollEventListeners.push(function () {\n removeEventHandlerFn('scroll', _this.windowScrollHandler);\n });\n };\n MDCTooltipFoundation.prototype.destroy = function () {\n var e_8, _a;\n if (this.frameId) {\n cancelAnimationFrame(this.frameId);\n this.frameId = null;\n }\n this.clearHideTimeout();\n this.clearShowTimeout();\n this.adapter.removeClass(SHOWN);\n this.adapter.removeClass(SHOWING_TRANSITION);\n this.adapter.removeClass(SHOWING);\n this.adapter.removeClass(HIDE);\n this.adapter.removeClass(HIDE_TRANSITION);\n if (this.richTooltip) {\n this.adapter.deregisterEventHandler('focusout', this.richTooltipFocusOutHandler);\n }\n if (!this.persistentTooltip) {\n this.adapter.deregisterEventHandler('mouseenter', this.tooltipMouseEnterHandler);\n this.adapter.deregisterEventHandler('mouseleave', this.tooltipMouseLeaveHandler);\n }\n this.adapter.deregisterAnchorEventHandler('blur', this.anchorBlurHandler);\n this.adapter.deregisterDocumentEventHandler('click', this.documentClickHandler);\n this.adapter.deregisterDocumentEventHandler('keydown', this.documentKeydownHandler);\n this.adapter.deregisterWindowEventHandler('scroll', this.windowScrollHandler);\n this.adapter.deregisterWindowEventHandler('resize', this.windowResizeHandler);\n try {\n for (var _b = __values(this.removeAncestorScrollEventListeners), _c = _b.next(); !_c.done; _c = _b.next()) {\n var fn = _c.value;\n fn();\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_8) throw e_8.error; }\n }\n this.animFrame.cancelAll();\n };\n return MDCTooltipFoundation;\n}(MDCFoundation));\nexport { MDCTooltipFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCTooltipFoundation;\n","import { compose, ScannedActionsSubject, Store, createAction, StoreRootModule, StoreFeatureModule } from '@ngrx/store';\nimport { merge, Observable, Subject, defer, Notification, pipe, of } from 'rxjs';\nimport { ignoreElements, materialize, map, catchError, filter, groupBy, mergeMap, exhaustMap, dematerialize, take, concatMap, finalize, withLatestFrom } from 'rxjs/operators';\nimport { Injectable, Inject, InjectionToken, ErrorHandler, NgModule, Optional, Injector, SkipSelf, Self } from '@angular/core';\n\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from 'rxjs';\nimport * as ɵngcc2 from '@ngrx/store';\nconst DEFAULT_EFFECT_CONFIG = {\n dispatch: true,\n useEffectsErrorHandler: true,\n};\nconst CREATE_EFFECT_METADATA_KEY = '__@ngrx/effects_create__';\n\n/**\n * @description\n * Creates an effect from an `Observable` and an `EffectConfig`.\n *\n * @param source A function which returns an `Observable`.\n * @param config A `Partial` to configure the effect. By default, `dispatch` is true and `useEffectsErrorHandler` is true.\n * @returns If `EffectConfig`#`dispatch` is true, returns `Observable`. Else, returns `Observable`.\n *\n * @usageNotes\n *\n * ** Mapping to a different action **\n * ```ts\n * effectName$ = createEffect(\n * () => this.actions$.pipe(\n * ofType(FeatureActions.actionOne),\n * map(() => FeatureActions.actionTwo())\n * )\n * );\n * ```\n *\n * ** Non-dispatching effects **\n * ```ts\n * effectName$ = createEffect(\n * () => this.actions$.pipe(\n * ofType(FeatureActions.actionOne),\n * tap(() => console.log('Action One Dispatched'))\n * ),\n * { dispatch: false }\n * // FeatureActions.actionOne is not dispatched\n * );\n * ```\n */\nfunction createEffect(source, config) {\n const effect = source();\n const value = Object.assign(Object.assign({}, DEFAULT_EFFECT_CONFIG), config);\n Object.defineProperty(effect, CREATE_EFFECT_METADATA_KEY, {\n value,\n });\n return effect;\n}\nfunction getCreateEffectMetadata(instance) {\n const propertyNames = Object.getOwnPropertyNames(instance);\n const metadata = propertyNames\n .filter((propertyName) => {\n if (instance[propertyName] &&\n instance[propertyName].hasOwnProperty(CREATE_EFFECT_METADATA_KEY)) {\n // If the property type has overridden `hasOwnProperty` we need to ensure\n // that the metadata is valid (containing a `dispatch`property)\n // https://github.com/ngrx/platform/issues/2975\n const property = instance[propertyName];\n return property[CREATE_EFFECT_METADATA_KEY].hasOwnProperty('dispatch');\n }\n return false;\n })\n .map((propertyName) => {\n const metaData = instance[propertyName][CREATE_EFFECT_METADATA_KEY];\n return Object.assign({ propertyName }, metaData);\n });\n return metadata;\n}\n\nfunction getSourceForInstance(instance) {\n return Object.getPrototypeOf(instance);\n}\n\nconst METADATA_KEY = '__@ngrx/effects__';\n/**\n * @deprecated The Effect decorator (`@Effect`) is deprecated in favor for the `createEffect` method.\n * See the docs for more info {@link https://ngrx.io/guide/migration/v11#the-effect-decorator}\n */\nfunction Effect(config = {}) {\n return function (target, propertyName) {\n const metadata = Object.assign(Object.assign(Object.assign({}, DEFAULT_EFFECT_CONFIG), config), { // Overrides any defaults if values are provided\n propertyName });\n addEffectMetadataEntry(target, metadata);\n };\n}\nfunction getEffectDecoratorMetadata(instance) {\n const effectsDecorators = compose(getEffectMetadataEntries, getSourceForInstance)(instance);\n return effectsDecorators;\n}\n/**\n * Type guard to detemine whether METADATA_KEY is already present on the Class\n * constructor\n */\nfunction hasMetadataEntries(sourceProto) {\n return sourceProto.constructor.hasOwnProperty(METADATA_KEY);\n}\n/** Add Effect Metadata to the Effect Class constructor under specific key */\nfunction addEffectMetadataEntry(sourceProto, metadata) {\n if (hasMetadataEntries(sourceProto)) {\n sourceProto.constructor[METADATA_KEY].push(metadata);\n }\n else {\n Object.defineProperty(sourceProto.constructor, METADATA_KEY, {\n value: [metadata],\n });\n }\n}\nfunction getEffectMetadataEntries(sourceProto) {\n return hasMetadataEntries(sourceProto)\n ? sourceProto.constructor[METADATA_KEY]\n : [];\n}\n\nfunction getEffectsMetadata(instance) {\n return getSourceMetadata(instance).reduce((acc, { propertyName, dispatch, useEffectsErrorHandler }) => {\n acc[propertyName] = { dispatch, useEffectsErrorHandler };\n return acc;\n }, {});\n}\nfunction getSourceMetadata(instance) {\n const effects = [\n getEffectDecoratorMetadata,\n getCreateEffectMetadata,\n ];\n return effects.reduce((sources, source) => sources.concat(source(instance)), []);\n}\n\nfunction mergeEffects(sourceInstance, globalErrorHandler, effectsErrorHandler) {\n const sourceName = getSourceForInstance(sourceInstance).constructor.name;\n const observables$ = getSourceMetadata(sourceInstance).map(({ propertyName, dispatch, useEffectsErrorHandler, }) => {\n const observable$ = typeof sourceInstance[propertyName] === 'function'\n ? sourceInstance[propertyName]()\n : sourceInstance[propertyName];\n const effectAction$ = useEffectsErrorHandler\n ? effectsErrorHandler(observable$, globalErrorHandler)\n : observable$;\n if (dispatch === false) {\n return effectAction$.pipe(ignoreElements());\n }\n const materialized$ = effectAction$.pipe(materialize());\n return materialized$.pipe(map((notification) => ({\n effect: sourceInstance[propertyName],\n notification,\n propertyName,\n sourceName,\n sourceInstance,\n })));\n });\n return merge(...observables$);\n}\n\nconst MAX_NUMBER_OF_RETRY_ATTEMPTS = 10;\nfunction defaultEffectsErrorHandler(observable$, errorHandler, retryAttemptLeft = MAX_NUMBER_OF_RETRY_ATTEMPTS) {\n return observable$.pipe(catchError((error) => {\n if (errorHandler)\n errorHandler.handleError(error);\n if (retryAttemptLeft <= 1) {\n return observable$; // last attempt\n }\n // Return observable that produces this particular effect\n return defaultEffectsErrorHandler(observable$, errorHandler, retryAttemptLeft - 1);\n }));\n}\n\nclass Actions extends Observable {\n constructor(source) {\n super();\n if (source) {\n this.source = source;\n }\n }\n lift(operator) {\n const observable = new Actions();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n}\nActions.ɵfac = function Actions_Factory(t) { return new (t || Actions)(ɵngcc0.ɵɵinject(ScannedActionsSubject)); };\nActions.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: Actions, factory: Actions.ɵfac });\n/**\n * @type {function(): !Array<(null|{\n * type: ?,\n * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>),\n * })>}\n * @nocollapse\n */\nActions.ctorParameters = () => [\n { type: Observable, decorators: [{ type: Inject, args: [ScannedActionsSubject,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Actions, [{\n type: Injectable\n }], function () { return [{ type: ɵngcc1.Observable, decorators: [{\n type: Inject,\n args: [ScannedActionsSubject]\n }] }]; }, null); })();\n/**\n * `ofType` filters an Observable of `Actions` into an Observable of the actions\n * whose type strings are passed to it.\n *\n * For example, if `actions` has type `Actions`, and\n * the type of the `Addition` action is `add`, then\n * `actions.pipe(ofType('add'))` returns an `Observable`.\n *\n * Properly typing this function is hard and requires some advanced TS tricks\n * below.\n *\n * Type narrowing automatically works, as long as your `actions` object\n * starts with a `Actions` instead of generic `Actions`.\n *\n * For backwards compatibility, when one passes a single type argument\n * `ofType('something')` the result is an `Observable`. Note, that `T`\n * completely overrides any possible inference from 'something'.\n *\n * Unfortunately, for unknown 'actions: Actions' these types will produce\n * 'Observable'. In such cases one has to manually set the generic type\n * like `actions.ofType('add')`.\n *\n * @usageNotes\n *\n * Filter the Actions stream on the \"customers page loaded\" action\n *\n * ```ts\n * import { ofType } from '@ngrx/effects';\n * import * fromCustomers from '../customers';\n *\n * this.actions$.pipe(\n * ofType(fromCustomers.pageLoaded)\n * )\n * ```\n */\nfunction ofType(...allowedTypes) {\n return filter((action) => allowedTypes.some((typeOrActionCreator) => {\n if (typeof typeOrActionCreator === 'string') {\n // Comparing the string to type\n return typeOrActionCreator === action.type;\n }\n // We are filtering by ActionCreator\n return typeOrActionCreator.type === action.type;\n }));\n}\n\nfunction reportInvalidActions(output, reporter) {\n if (output.notification.kind === 'N') {\n const action = output.notification.value;\n const isInvalidAction = !isAction(action);\n if (isInvalidAction) {\n reporter.handleError(new Error(`Effect ${getEffectName(output)} dispatched an invalid action: ${stringify(action)}`));\n }\n }\n}\nfunction isAction(action) {\n return (typeof action !== 'function' &&\n action &&\n action.type &&\n typeof action.type === 'string');\n}\nfunction getEffectName({ propertyName, sourceInstance, sourceName, }) {\n const isMethod = typeof sourceInstance[propertyName] === 'function';\n return `\"${sourceName}.${String(propertyName)}${isMethod ? '()' : ''}\"`;\n}\nfunction stringify(action) {\n try {\n return JSON.stringify(action);\n }\n catch (_a) {\n return action;\n }\n}\n\nconst onIdentifyEffectsKey = 'ngrxOnIdentifyEffects';\nfunction isOnIdentifyEffects(instance) {\n return isFunction(instance, onIdentifyEffectsKey);\n}\nconst onRunEffectsKey = 'ngrxOnRunEffects';\nfunction isOnRunEffects(instance) {\n return isFunction(instance, onRunEffectsKey);\n}\nconst onInitEffects = 'ngrxOnInitEffects';\nfunction isOnInitEffects(instance) {\n return isFunction(instance, onInitEffects);\n}\nfunction isFunction(instance, functionName) {\n return (instance &&\n functionName in instance &&\n typeof instance[functionName] === 'function');\n}\n\nconst _ROOT_EFFECTS_GUARD = new InjectionToken('@ngrx/effects Internal Root Guard');\nconst USER_PROVIDED_EFFECTS = new InjectionToken('@ngrx/effects User Provided Effects');\nconst _ROOT_EFFECTS = new InjectionToken('@ngrx/effects Internal Root Effects');\nconst ROOT_EFFECTS = new InjectionToken('@ngrx/effects Root Effects');\nconst _FEATURE_EFFECTS = new InjectionToken('@ngrx/effects Internal Feature Effects');\nconst FEATURE_EFFECTS = new InjectionToken('@ngrx/effects Feature Effects');\nconst EFFECTS_ERROR_HANDLER = new InjectionToken('@ngrx/effects Effects Error Handler');\n\nclass EffectSources extends Subject {\n constructor(errorHandler, effectsErrorHandler) {\n super();\n this.errorHandler = errorHandler;\n this.effectsErrorHandler = effectsErrorHandler;\n }\n addEffects(effectSourceInstance) {\n this.next(effectSourceInstance);\n }\n /**\n * @internal\n */\n toActions() {\n return this.pipe(groupBy(getSourceForInstance), mergeMap((source$) => {\n return source$.pipe(groupBy(effectsInstance));\n }), mergeMap((source$) => {\n const effect$ = source$.pipe(exhaustMap((sourceInstance) => {\n return resolveEffectSource(this.errorHandler, this.effectsErrorHandler)(sourceInstance);\n }), map((output) => {\n reportInvalidActions(output, this.errorHandler);\n return output.notification;\n }), filter((notification) => notification.kind === 'N' && notification.value != null), dematerialize());\n // start the stream with an INIT action\n // do this only for the first Effect instance\n const init$ = source$.pipe(take(1), filter(isOnInitEffects), map((instance) => instance.ngrxOnInitEffects()));\n return merge(effect$, init$);\n }));\n }\n}\nEffectSources.ɵfac = function EffectSources_Factory(t) { return new (t || EffectSources)(ɵngcc0.ɵɵinject(ɵngcc0.ErrorHandler), ɵngcc0.ɵɵinject(EFFECTS_ERROR_HANDLER)); };\nEffectSources.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: EffectSources, factory: EffectSources.ɵfac });\n/**\n * @type {function(): !Array<(null|{\n * type: ?,\n * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>),\n * })>}\n * @nocollapse\n */\nEffectSources.ctorParameters = () => [\n { type: ErrorHandler },\n { type: undefined, decorators: [{ type: Inject, args: [EFFECTS_ERROR_HANDLER,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(EffectSources, [{\n type: Injectable\n }], function () { return [{ type: ɵngcc0.ErrorHandler }, { type: undefined, decorators: [{\n type: Inject,\n args: [EFFECTS_ERROR_HANDLER]\n }] }]; }, null); })();\nfunction effectsInstance(sourceInstance) {\n if (isOnIdentifyEffects(sourceInstance)) {\n return sourceInstance.ngrxOnIdentifyEffects();\n }\n return '';\n}\nfunction resolveEffectSource(errorHandler, effectsErrorHandler) {\n return (sourceInstance) => {\n const mergedEffects$ = mergeEffects(sourceInstance, errorHandler, effectsErrorHandler);\n if (isOnRunEffects(sourceInstance)) {\n return sourceInstance.ngrxOnRunEffects(mergedEffects$);\n }\n return mergedEffects$;\n };\n}\n\nclass EffectsRunner {\n constructor(effectSources, store) {\n this.effectSources = effectSources;\n this.store = store;\n this.effectsSubscription = null;\n }\n start() {\n if (!this.effectsSubscription) {\n this.effectsSubscription = this.effectSources\n .toActions()\n .subscribe(this.store);\n }\n }\n ngOnDestroy() {\n if (this.effectsSubscription) {\n this.effectsSubscription.unsubscribe();\n this.effectsSubscription = null;\n }\n }\n}\nEffectsRunner.ɵfac = function EffectsRunner_Factory(t) { return new (t || EffectsRunner)(ɵngcc0.ɵɵinject(EffectSources), ɵngcc0.ɵɵinject(ɵngcc2.Store)); };\nEffectsRunner.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: EffectsRunner, factory: EffectsRunner.ɵfac });\n/**\n * @type {function(): !Array<(null|{\n * type: ?,\n * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>),\n * })>}\n * @nocollapse\n */\nEffectsRunner.ctorParameters = () => [\n { type: EffectSources },\n { type: Store }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(EffectsRunner, [{\n type: Injectable\n }], function () { return [{ type: EffectSources }, { type: ɵngcc2.Store }]; }, null); })();\n\nconst ROOT_EFFECTS_INIT = '@ngrx/effects/init';\nconst rootEffectsInit = createAction(ROOT_EFFECTS_INIT);\nclass EffectsRootModule {\n constructor(sources, runner, store, rootEffects, storeRootModule, storeFeatureModule, guard) {\n this.sources = sources;\n runner.start();\n rootEffects.forEach((effectSourceInstance) => sources.addEffects(effectSourceInstance));\n store.dispatch({ type: ROOT_EFFECTS_INIT });\n }\n addEffects(effectSourceInstance) {\n this.sources.addEffects(effectSourceInstance);\n }\n}\nEffectsRootModule.ɵfac = function EffectsRootModule_Factory(t) { return new (t || EffectsRootModule)(ɵngcc0.ɵɵinject(EffectSources), ɵngcc0.ɵɵinject(EffectsRunner), ɵngcc0.ɵɵinject(ɵngcc2.Store), ɵngcc0.ɵɵinject(ROOT_EFFECTS), ɵngcc0.ɵɵinject(ɵngcc2.StoreRootModule, 8), ɵngcc0.ɵɵinject(ɵngcc2.StoreFeatureModule, 8), ɵngcc0.ɵɵinject(_ROOT_EFFECTS_GUARD, 8)); };\nEffectsRootModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: EffectsRootModule });\nEffectsRootModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n/**\n * @type {function(): !Array<(null|{\n * type: ?,\n * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>),\n * })>}\n * @nocollapse\n */\nEffectsRootModule.ctorParameters = () => [\n { type: EffectSources },\n { type: EffectsRunner },\n { type: Store },\n { type: Array, decorators: [{ type: Inject, args: [ROOT_EFFECTS,] }] },\n { type: StoreRootModule, decorators: [{ type: Optional }] },\n { type: StoreFeatureModule, decorators: [{ type: Optional }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [_ROOT_EFFECTS_GUARD,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(EffectsRootModule, [{\n type: NgModule,\n args: [{}]\n }], function () { return [{ type: EffectSources }, { type: EffectsRunner }, { type: ɵngcc2.Store }, { type: Array, decorators: [{\n type: Inject,\n args: [ROOT_EFFECTS]\n }] }, { type: ɵngcc2.StoreRootModule, decorators: [{\n type: Optional\n }] }, { type: ɵngcc2.StoreFeatureModule, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [_ROOT_EFFECTS_GUARD]\n }] }]; }, null); })();\n\nclass EffectsFeatureModule {\n constructor(root, effectSourceGroups, storeRootModule, storeFeatureModule) {\n effectSourceGroups.forEach((group) => group.forEach((effectSourceInstance) => root.addEffects(effectSourceInstance)));\n }\n}\nEffectsFeatureModule.ɵfac = function EffectsFeatureModule_Factory(t) { return new (t || EffectsFeatureModule)(ɵngcc0.ɵɵinject(EffectsRootModule), ɵngcc0.ɵɵinject(FEATURE_EFFECTS), ɵngcc0.ɵɵinject(ɵngcc2.StoreRootModule, 8), ɵngcc0.ɵɵinject(ɵngcc2.StoreFeatureModule, 8)); };\nEffectsFeatureModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: EffectsFeatureModule });\nEffectsFeatureModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n/**\n * @type {function(): !Array<(null|{\n * type: ?,\n * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>),\n * })>}\n * @nocollapse\n */\nEffectsFeatureModule.ctorParameters = () => [\n { type: EffectsRootModule },\n { type: Array, decorators: [{ type: Inject, args: [FEATURE_EFFECTS,] }] },\n { type: StoreRootModule, decorators: [{ type: Optional }] },\n { type: StoreFeatureModule, decorators: [{ type: Optional }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(EffectsFeatureModule, [{\n type: NgModule,\n args: [{}]\n }], function () { return [{ type: EffectsRootModule }, { type: Array, decorators: [{\n type: Inject,\n args: [FEATURE_EFFECTS]\n }] }, { type: ɵngcc2.StoreRootModule, decorators: [{\n type: Optional\n }] }, { type: ɵngcc2.StoreFeatureModule, decorators: [{\n type: Optional\n }] }]; }, null); })();\n\nclass EffectsModule {\n static forFeature(featureEffects = []) {\n return {\n ngModule: EffectsFeatureModule,\n providers: [\n featureEffects,\n {\n provide: _FEATURE_EFFECTS,\n multi: true,\n useValue: featureEffects,\n },\n {\n provide: USER_PROVIDED_EFFECTS,\n multi: true,\n useValue: [],\n },\n {\n provide: FEATURE_EFFECTS,\n multi: true,\n useFactory: createEffects,\n deps: [Injector, _FEATURE_EFFECTS, USER_PROVIDED_EFFECTS],\n },\n ],\n };\n }\n static forRoot(rootEffects = []) {\n return {\n ngModule: EffectsRootModule,\n providers: [\n {\n provide: EFFECTS_ERROR_HANDLER,\n useValue: defaultEffectsErrorHandler,\n },\n EffectsRunner,\n EffectSources,\n Actions,\n rootEffects,\n {\n provide: _ROOT_EFFECTS,\n useValue: [rootEffects],\n },\n {\n provide: _ROOT_EFFECTS_GUARD,\n useFactory: _provideForRootGuard,\n deps: [\n [EffectsRunner, new Optional(), new SkipSelf()],\n [_ROOT_EFFECTS, new Self()],\n ],\n },\n {\n provide: USER_PROVIDED_EFFECTS,\n multi: true,\n useValue: [],\n },\n {\n provide: ROOT_EFFECTS,\n useFactory: createEffects,\n deps: [Injector, _ROOT_EFFECTS, USER_PROVIDED_EFFECTS],\n },\n ],\n };\n }\n}\nEffectsModule.ɵfac = function EffectsModule_Factory(t) { return new (t || EffectsModule)(); };\nEffectsModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: EffectsModule });\nEffectsModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(EffectsModule, [{\n type: NgModule,\n args: [{}]\n }], null, null); })();\nfunction createEffects(injector, effectGroups, userProvidedEffectGroups) {\n const mergedEffects = [];\n for (const effectGroup of effectGroups) {\n mergedEffects.push(...effectGroup);\n }\n for (const userProvidedEffectGroup of userProvidedEffectGroups) {\n mergedEffects.push(...userProvidedEffectGroup);\n }\n return createEffectInstances(injector, mergedEffects);\n}\nfunction createEffectInstances(injector, effects) {\n return effects.map((effect) => injector.get(effect));\n}\nfunction _provideForRootGuard(runner, rootEffects) {\n // check whether any effects are actually passed\n const hasEffects = !(rootEffects.length === 1 && rootEffects[0].length === 0);\n if (hasEffects && runner) {\n throw new TypeError(`EffectsModule.forRoot() called twice. Feature modules should use EffectsModule.forFeature() instead.`);\n }\n return 'guarded';\n}\n\n/**\n * Wraps project fn with error handling making it safe to use in Effects.\n * Takes either a config with named properties that represent different possible\n * callbacks or project/error callbacks that are required.\n */\nfunction act(\n/** Allow to take either config object or project/error functions */\nconfigOrProject, errorFn) {\n const { project, error, complete, operator, unsubscribe } = typeof configOrProject === 'function'\n ? {\n project: configOrProject,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n error: errorFn,\n operator: concatMap,\n complete: undefined,\n unsubscribe: undefined,\n }\n : Object.assign(Object.assign({}, configOrProject), { operator: configOrProject.operator || concatMap });\n return (source) => defer(() => {\n const subject = new Subject();\n return merge(source.pipe(operator((input, index) => defer(() => {\n let completed = false;\n let errored = false;\n let projectedCount = 0;\n return project(input, index).pipe(materialize(), map((notification) => {\n switch (notification.kind) {\n case 'E':\n errored = true;\n return new Notification('N', error(notification.error, input));\n case 'C':\n completed = true;\n return complete\n ? new Notification('N', complete(projectedCount, input))\n : undefined;\n default:\n ++projectedCount;\n return notification;\n }\n }), filter((n) => n != null), dematerialize(), finalize(() => {\n if (!completed && !errored && unsubscribe) {\n subject.next(unsubscribe(projectedCount, input));\n }\n }));\n }))), subject);\n });\n}\n\n/**\n * `concatLatestFrom` combines the source value\n * and the last available value from a lazily evaluated Observable\n * in a new array\n *\n * @usageNotes\n *\n * Select the active customer from the NgRx Store\n *\n * ```ts\n * import { concatLatestFrom } from '@ngrx/effects';\n * import * fromCustomers from '../customers';\n *\n * this.actions$.pipe(\n * concatLatestFrom(() => this.store.select(fromCustomers.selectActiveCustomer))\n * )\n * ```\n *\n * Select a customer from the NgRx Store by its id that is available on the action\n *\n * ```ts\n * import { concatLatestFrom } from '@ngrx/effects';\n * import * fromCustomers from '../customers';\n *\n * this.actions$.pipe(\n * concatLatestFrom((action) => this.store.select(fromCustomers.selectCustomer(action.customerId)))\n * )\n * ```\n */\nfunction concatLatestFrom(observablesFactory) {\n return pipe(concatMap((value) => {\n const observables = observablesFactory(value);\n const observablesAsArray = Array.isArray(observables)\n ? observables\n : [observables];\n return of(value).pipe(withLatestFrom(...observablesAsArray));\n }));\n}\n\n/**\n * DO NOT EDIT\n *\n * This file is automatically generated at build\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Actions, EFFECTS_ERROR_HANDLER, Effect, EffectSources, EffectsFeatureModule, EffectsModule, EffectsRootModule, EffectsRunner, ROOT_EFFECTS_INIT, USER_PROVIDED_EFFECTS, act, concatLatestFrom, createEffect, defaultEffectsErrorHandler, getEffectsMetadata, mergeEffects, ofType, rootEffectsInit, getSourceMetadata as ɵa, createEffects as ɵb, _provideForRootGuard as ɵc, _ROOT_EFFECTS_GUARD as ɵd, _ROOT_EFFECTS as ɵe, ROOT_EFFECTS as ɵf, _FEATURE_EFFECTS as ɵg, FEATURE_EFFECTS as ɵh };\n\n","import { InjectionToken, Injectable, Inject, ErrorHandler, NgModule } from '@angular/core';\nimport { ActionsSubject, UPDATE, INIT, ReducerObservable, ScannedActionsSubject, INITIAL_STATE, StateObservable, ReducerManagerDispatcher } from '@ngrx/store';\nimport { EMPTY, Observable, of, merge, queueScheduler, ReplaySubject } from 'rxjs';\nimport { share, filter, map, concatMap, timeout, debounceTime, catchError, take, takeUntil, switchMap, skip, observeOn, withLatestFrom, scan } from 'rxjs/operators';\n\n/**\n * Chrome extension documentation\n * @see https://github.com/reduxjs/redux-devtools/blob/main/extension/docs/API/Arguments.md\n * Firefox extension documentation\n * @see https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@ngrx/store';\nclass StoreDevtoolsConfig {\n constructor() {\n /**\n * Maximum allowed actions to be stored in the history tree (default: `false`)\n */\n this.maxAge = false;\n }\n}\nconst STORE_DEVTOOLS_CONFIG = new InjectionToken('@ngrx/store-devtools Options');\n/**\n * Used to provide a `StoreDevtoolsConfig` for the store-devtools.\n */\nconst INITIAL_OPTIONS = new InjectionToken('@ngrx/store-devtools Initial Config');\nfunction noMonitor() {\n return null;\n}\nconst DEFAULT_NAME = 'NgRx Store DevTools';\nfunction createConfig(optionsInput) {\n const DEFAULT_OPTIONS = {\n maxAge: false,\n monitor: noMonitor,\n actionSanitizer: undefined,\n stateSanitizer: undefined,\n name: DEFAULT_NAME,\n serialize: false,\n logOnly: false,\n autoPause: false,\n // Add all features explicitly. This prevent buggy behavior for\n // options like \"lock\" which might otherwise not show up.\n features: {\n pause: true,\n lock: true,\n persist: true,\n export: true,\n import: 'custom',\n jump: true,\n skip: true,\n reorder: true,\n dispatch: true,\n test: true, // Generate tests for the selected actions\n },\n };\n const options = typeof optionsInput === 'function' ? optionsInput() : optionsInput;\n const logOnly = options.logOnly\n ? { pause: true, export: true, test: true }\n : false;\n const features = options.features || logOnly || DEFAULT_OPTIONS.features;\n const config = Object.assign({}, DEFAULT_OPTIONS, { features }, options);\n if (config.maxAge && config.maxAge < 2) {\n throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${config.maxAge}`);\n }\n return config;\n}\n\nconst PERFORM_ACTION = 'PERFORM_ACTION';\nconst REFRESH = 'REFRESH';\nconst RESET = 'RESET';\nconst ROLLBACK = 'ROLLBACK';\nconst COMMIT = 'COMMIT';\nconst SWEEP = 'SWEEP';\nconst TOGGLE_ACTION = 'TOGGLE_ACTION';\nconst SET_ACTIONS_ACTIVE = 'SET_ACTIONS_ACTIVE';\nconst JUMP_TO_STATE = 'JUMP_TO_STATE';\nconst JUMP_TO_ACTION = 'JUMP_TO_ACTION';\nconst IMPORT_STATE = 'IMPORT_STATE';\nconst LOCK_CHANGES = 'LOCK_CHANGES';\nconst PAUSE_RECORDING = 'PAUSE_RECORDING';\nclass PerformAction {\n constructor(action, timestamp) {\n this.action = action;\n this.timestamp = timestamp;\n this.type = PERFORM_ACTION;\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' +\n 'Have you misspelled a constant?');\n }\n }\n}\nclass Refresh {\n constructor() {\n this.type = REFRESH;\n }\n}\nclass Reset {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = RESET;\n }\n}\nclass Rollback {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = ROLLBACK;\n }\n}\nclass Commit {\n constructor(timestamp) {\n this.timestamp = timestamp;\n this.type = COMMIT;\n }\n}\nclass Sweep {\n constructor() {\n this.type = SWEEP;\n }\n}\nclass ToggleAction {\n constructor(id) {\n this.id = id;\n this.type = TOGGLE_ACTION;\n }\n}\nclass SetActionsActive {\n constructor(start, end, active = true) {\n this.start = start;\n this.end = end;\n this.active = active;\n this.type = SET_ACTIONS_ACTIVE;\n }\n}\nclass JumpToState {\n constructor(index) {\n this.index = index;\n this.type = JUMP_TO_STATE;\n }\n}\nclass JumpToAction {\n constructor(actionId) {\n this.actionId = actionId;\n this.type = JUMP_TO_ACTION;\n }\n}\nclass ImportState {\n constructor(nextLiftedState) {\n this.nextLiftedState = nextLiftedState;\n this.type = IMPORT_STATE;\n }\n}\nclass LockChanges {\n constructor(status) {\n this.status = status;\n this.type = LOCK_CHANGES;\n }\n}\nclass PauseRecording {\n constructor(status) {\n this.status = status;\n this.type = PAUSE_RECORDING;\n }\n}\n\nclass DevtoolsDispatcher extends ActionsSubject {\n}\nDevtoolsDispatcher.ɵfac = /*@__PURE__*/ function () { let ɵDevtoolsDispatcher_BaseFactory; return function DevtoolsDispatcher_Factory(t) { return (ɵDevtoolsDispatcher_BaseFactory || (ɵDevtoolsDispatcher_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(DevtoolsDispatcher)))(t || DevtoolsDispatcher); }; }();\nDevtoolsDispatcher.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: DevtoolsDispatcher, factory: DevtoolsDispatcher.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DevtoolsDispatcher, [{\n type: Injectable\n }], null, null); })();\n\nfunction difference(first, second) {\n return first.filter((item) => second.indexOf(item) < 0);\n}\n/**\n * Provides an app's view into the state of the lifted store.\n */\nfunction unliftState(liftedState) {\n const { computedStates, currentStateIndex } = liftedState;\n // At start up NgRx dispatches init actions,\n // When these init actions are being filtered out by the predicate or safe/block list options\n // we don't have a complete computed states yet.\n // At this point it could happen that we're out of bounds, when this happens we fall back to the last known state\n if (currentStateIndex >= computedStates.length) {\n const { state } = computedStates[computedStates.length - 1];\n return state;\n }\n const { state } = computedStates[currentStateIndex];\n return state;\n}\nfunction unliftAction(liftedState) {\n return liftedState.actionsById[liftedState.nextActionId - 1];\n}\n/**\n * Lifts an app's action into an action on the lifted store.\n */\nfunction liftAction(action) {\n return new PerformAction(action, +Date.now());\n}\n/**\n * Sanitizes given actions with given function.\n */\nfunction sanitizeActions(actionSanitizer, actions) {\n return Object.keys(actions).reduce((sanitizedActions, actionIdx) => {\n const idx = Number(actionIdx);\n sanitizedActions[idx] = sanitizeAction(actionSanitizer, actions[idx], idx);\n return sanitizedActions;\n }, {});\n}\n/**\n * Sanitizes given action with given function.\n */\nfunction sanitizeAction(actionSanitizer, action, actionIdx) {\n return Object.assign(Object.assign({}, action), { action: actionSanitizer(action.action, actionIdx) });\n}\n/**\n * Sanitizes given states with given function.\n */\nfunction sanitizeStates(stateSanitizer, states) {\n return states.map((computedState, idx) => ({\n state: sanitizeState(stateSanitizer, computedState.state, idx),\n error: computedState.error,\n }));\n}\n/**\n * Sanitizes given state with given function.\n */\nfunction sanitizeState(stateSanitizer, state, stateIdx) {\n return stateSanitizer(state, stateIdx);\n}\n/**\n * Read the config and tell if actions should be filtered\n */\nfunction shouldFilterActions(config) {\n return config.predicate || config.actionsSafelist || config.actionsBlocklist;\n}\n/**\n * Return a full filtered lifted state\n */\nfunction filterLiftedState(liftedState, predicate, safelist, blocklist) {\n const filteredStagedActionIds = [];\n const filteredActionsById = {};\n const filteredComputedStates = [];\n liftedState.stagedActionIds.forEach((id, idx) => {\n const liftedAction = liftedState.actionsById[id];\n if (!liftedAction)\n return;\n if (idx &&\n isActionFiltered(liftedState.computedStates[idx], liftedAction, predicate, safelist, blocklist)) {\n return;\n }\n filteredActionsById[id] = liftedAction;\n filteredStagedActionIds.push(id);\n filteredComputedStates.push(liftedState.computedStates[idx]);\n });\n return Object.assign(Object.assign({}, liftedState), { stagedActionIds: filteredStagedActionIds, actionsById: filteredActionsById, computedStates: filteredComputedStates });\n}\n/**\n * Return true is the action should be ignored\n */\nfunction isActionFiltered(state, action, predicate, safelist, blockedlist) {\n const predicateMatch = predicate && !predicate(state, action.action);\n const safelistMatch = safelist &&\n !action.action.type.match(safelist.map((s) => escapeRegExp(s)).join('|'));\n const blocklistMatch = blockedlist &&\n action.action.type.match(blockedlist.map((s) => escapeRegExp(s)).join('|'));\n return predicateMatch || safelistMatch || blocklistMatch;\n}\n/**\n * Return string with escaped RegExp special characters\n * https://stackoverflow.com/a/6969486/1337347\n */\nfunction escapeRegExp(s) {\n return s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\nconst ExtensionActionTypes = {\n START: 'START',\n DISPATCH: 'DISPATCH',\n STOP: 'STOP',\n ACTION: 'ACTION',\n};\nconst REDUX_DEVTOOLS_EXTENSION = new InjectionToken('@ngrx/store-devtools Redux Devtools Extension');\nclass DevtoolsExtension {\n constructor(devtoolsExtension, config, dispatcher) {\n this.config = config;\n this.dispatcher = dispatcher;\n this.devtoolsExtension = devtoolsExtension;\n this.createActionStreams();\n }\n notify(action, state) {\n if (!this.devtoolsExtension) {\n return;\n }\n // Check to see if the action requires a full update of the liftedState.\n // If it is a simple action generated by the user's app and the recording\n // is not locked/paused, only send the action and the current state (fast).\n //\n // A full liftedState update (slow: serializes the entire liftedState) is\n // only required when:\n // a) redux-devtools-extension fires the @@Init action (ignored by\n // @ngrx/store-devtools)\n // b) an action is generated by an @ngrx module (e.g. @ngrx/effects/init\n // or @ngrx/store/update-reducers)\n // c) the state has been recomputed due to time-traveling\n // d) any action that is not a PerformAction to err on the side of\n // caution.\n if (action.type === PERFORM_ACTION) {\n if (state.isLocked || state.isPaused) {\n return;\n }\n const currentState = unliftState(state);\n if (shouldFilterActions(this.config) &&\n isActionFiltered(currentState, action, this.config.predicate, this.config.actionsSafelist, this.config.actionsBlocklist)) {\n return;\n }\n const sanitizedState = this.config.stateSanitizer\n ? sanitizeState(this.config.stateSanitizer, currentState, state.currentStateIndex)\n : currentState;\n const sanitizedAction = this.config.actionSanitizer\n ? sanitizeAction(this.config.actionSanitizer, action, state.nextActionId)\n : action;\n this.sendToReduxDevtools(() => this.extensionConnection.send(sanitizedAction, sanitizedState));\n }\n else {\n // Requires full state update\n const sanitizedLiftedState = Object.assign(Object.assign({}, state), { stagedActionIds: state.stagedActionIds, actionsById: this.config.actionSanitizer\n ? sanitizeActions(this.config.actionSanitizer, state.actionsById)\n : state.actionsById, computedStates: this.config.stateSanitizer\n ? sanitizeStates(this.config.stateSanitizer, state.computedStates)\n : state.computedStates });\n this.sendToReduxDevtools(() => this.devtoolsExtension.send(null, sanitizedLiftedState, this.getExtensionConfig(this.config)));\n }\n }\n createChangesObservable() {\n if (!this.devtoolsExtension) {\n return EMPTY;\n }\n return new Observable((subscriber) => {\n const connection = this.devtoolsExtension.connect(this.getExtensionConfig(this.config));\n this.extensionConnection = connection;\n connection.init();\n connection.subscribe((change) => subscriber.next(change));\n return connection.unsubscribe;\n });\n }\n createActionStreams() {\n // Listens to all changes\n const changes$ = this.createChangesObservable().pipe(share());\n // Listen for the start action\n const start$ = changes$.pipe(filter((change) => change.type === ExtensionActionTypes.START));\n // Listen for the stop action\n const stop$ = changes$.pipe(filter((change) => change.type === ExtensionActionTypes.STOP));\n // Listen for lifted actions\n const liftedActions$ = changes$.pipe(filter((change) => change.type === ExtensionActionTypes.DISPATCH), map((change) => this.unwrapAction(change.payload)), concatMap((action) => {\n if (action.type === IMPORT_STATE) {\n // State imports may happen in two situations:\n // 1. Explicitly by user\n // 2. User activated the \"persist state accross reloads\" option\n // and now the state is imported during reload.\n // Because of option 2, we need to give possible\n // lazy loaded reducers time to instantiate.\n // As soon as there is no UPDATE action within 1 second,\n // it is assumed that all reducers are loaded.\n return this.dispatcher.pipe(filter((action) => action.type === UPDATE), timeout(1000), debounceTime(1000), map(() => action), catchError(() => of(action)), take(1));\n }\n else {\n return of(action);\n }\n }));\n // Listen for unlifted actions\n const actions$ = changes$.pipe(filter((change) => change.type === ExtensionActionTypes.ACTION), map((change) => this.unwrapAction(change.payload)));\n const actionsUntilStop$ = actions$.pipe(takeUntil(stop$));\n const liftedUntilStop$ = liftedActions$.pipe(takeUntil(stop$));\n this.start$ = start$.pipe(takeUntil(stop$));\n // Only take the action sources between the start/stop events\n this.actions$ = this.start$.pipe(switchMap(() => actionsUntilStop$));\n this.liftedActions$ = this.start$.pipe(switchMap(() => liftedUntilStop$));\n }\n unwrapAction(action) {\n return typeof action === 'string' ? eval(`(${action})`) : action;\n }\n getExtensionConfig(config) {\n var _a;\n const extensionOptions = {\n name: config.name,\n features: config.features,\n serialize: config.serialize,\n autoPause: (_a = config.autoPause) !== null && _a !== void 0 ? _a : false,\n // The action/state sanitizers are not added to the config\n // because sanitation is done in this class already.\n // It is done before sending it to the devtools extension for consistency:\n // - If we call extensionConnection.send(...),\n // the extension would call the sanitizers.\n // - If we call devtoolsExtension.send(...) (aka full state update),\n // the extension would NOT call the sanitizers, so we have to do it ourselves.\n };\n if (config.maxAge !== false /* support === 0 */) {\n extensionOptions.maxAge = config.maxAge;\n }\n return extensionOptions;\n }\n sendToReduxDevtools(send) {\n try {\n send();\n }\n catch (err) {\n console.warn('@ngrx/store-devtools: something went wrong inside the redux devtools', err);\n }\n }\n}\nDevtoolsExtension.ɵfac = function DevtoolsExtension_Factory(t) { return new (t || DevtoolsExtension)(ɵngcc0.ɵɵinject(REDUX_DEVTOOLS_EXTENSION), ɵngcc0.ɵɵinject(STORE_DEVTOOLS_CONFIG), ɵngcc0.ɵɵinject(DevtoolsDispatcher)); };\nDevtoolsExtension.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: DevtoolsExtension, factory: DevtoolsExtension.ɵfac });\n/**\n * @type {function(): !Array<(null|{\n * type: ?,\n * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>),\n * })>}\n * @nocollapse\n */\nDevtoolsExtension.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [REDUX_DEVTOOLS_EXTENSION,] }] },\n { type: StoreDevtoolsConfig, decorators: [{ type: Inject, args: [STORE_DEVTOOLS_CONFIG,] }] },\n { type: DevtoolsDispatcher }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(DevtoolsExtension, [{\n type: Injectable\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [REDUX_DEVTOOLS_EXTENSION]\n }] }, { type: StoreDevtoolsConfig, decorators: [{\n type: Inject,\n args: [STORE_DEVTOOLS_CONFIG]\n }] }, { type: DevtoolsDispatcher }]; }, null); })();\n\nconst INIT_ACTION = { type: INIT };\nconst RECOMPUTE = '@ngrx/store-devtools/recompute';\nconst RECOMPUTE_ACTION = { type: RECOMPUTE };\n/**\n * Computes the next entry in the log by applying an action.\n */\nfunction computeNextEntry(reducer, action, state, error, errorHandler) {\n if (error) {\n return {\n state,\n error: 'Interrupted by an error up the chain',\n };\n }\n let nextState = state;\n let nextError;\n try {\n nextState = reducer(state, action);\n }\n catch (err) {\n nextError = err.toString();\n errorHandler.handleError(err);\n }\n return {\n state: nextState,\n error: nextError,\n };\n}\n/**\n * Runs the reducer on invalidated actions to get a fresh computation log.\n */\nfunction recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused) {\n // Optimization: exit early and return the same reference\n // if we know nothing could have changed.\n if (minInvalidatedStateIndex >= computedStates.length &&\n computedStates.length === stagedActionIds.length) {\n return computedStates;\n }\n const nextComputedStates = computedStates.slice(0, minInvalidatedStateIndex);\n // If the recording is paused, recompute all states up until the pause state,\n // else recompute all states.\n const lastIncludedActionId = stagedActionIds.length - (isPaused ? 1 : 0);\n for (let i = minInvalidatedStateIndex; i < lastIncludedActionId; i++) {\n const actionId = stagedActionIds[i];\n const action = actionsById[actionId].action;\n const previousEntry = nextComputedStates[i - 1];\n const previousState = previousEntry ? previousEntry.state : committedState;\n const previousError = previousEntry ? previousEntry.error : undefined;\n const shouldSkip = skippedActionIds.indexOf(actionId) > -1;\n const entry = shouldSkip\n ? previousEntry\n : computeNextEntry(reducer, action, previousState, previousError, errorHandler);\n nextComputedStates.push(entry);\n }\n // If the recording is paused, the last state will not be recomputed,\n // because it's essentially not part of the state history.\n if (isPaused) {\n nextComputedStates.push(computedStates[computedStates.length - 1]);\n }\n return nextComputedStates;\n}\nfunction liftInitialState(initialCommittedState, monitorReducer) {\n return {\n monitorState: monitorReducer(undefined, {}),\n nextActionId: 1,\n actionsById: { 0: liftAction(INIT_ACTION) },\n stagedActionIds: [0],\n skippedActionIds: [],\n committedState: initialCommittedState,\n currentStateIndex: 0,\n computedStates: [],\n isLocked: false,\n isPaused: false,\n };\n}\n/**\n * Creates a history state reducer from an app's reducer.\n */\nfunction liftReducerWith(initialCommittedState, initialLiftedState, errorHandler, monitorReducer, options = {}) {\n /**\n * Manages how the history actions modify the history state.\n */\n return (reducer) => (liftedState, liftedAction) => {\n let { monitorState, actionsById, nextActionId, stagedActionIds, skippedActionIds, committedState, currentStateIndex, computedStates, isLocked, isPaused, } = liftedState || initialLiftedState;\n if (!liftedState) {\n // Prevent mutating initialLiftedState\n actionsById = Object.create(actionsById);\n }\n function commitExcessActions(n) {\n // Auto-commits n-number of excess actions.\n let excess = n;\n let idsToDelete = stagedActionIds.slice(1, excess + 1);\n for (let i = 0; i < idsToDelete.length; i++) {\n if (computedStates[i + 1].error) {\n // Stop if error is found. Commit actions up to error.\n excess = i;\n idsToDelete = stagedActionIds.slice(1, excess + 1);\n break;\n }\n else {\n delete actionsById[idsToDelete[i]];\n }\n }\n skippedActionIds = skippedActionIds.filter((id) => idsToDelete.indexOf(id) === -1);\n stagedActionIds = [0, ...stagedActionIds.slice(excess + 1)];\n committedState = computedStates[excess].state;\n computedStates = computedStates.slice(excess);\n currentStateIndex =\n currentStateIndex > excess ? currentStateIndex - excess : 0;\n }\n function commitChanges() {\n // Consider the last committed state the new starting point.\n // Squash any staged actions into a single committed state.\n actionsById = { 0: liftAction(INIT_ACTION) };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n committedState = computedStates[currentStateIndex].state;\n currentStateIndex = 0;\n computedStates = [];\n }\n // By default, aggressively recompute every state whatever happens.\n // This has O(n) performance, so we'll override this to a sensible\n // value whenever we feel like we don't have to recompute the states.\n let minInvalidatedStateIndex = 0;\n switch (liftedAction.type) {\n case LOCK_CHANGES: {\n isLocked = liftedAction.status;\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case PAUSE_RECORDING: {\n isPaused = liftedAction.status;\n if (isPaused) {\n // Add a pause action to signal the devtools-user the recording is paused.\n // The corresponding state will be overwritten on each update to always contain\n // the latest state (see Actions.PERFORM_ACTION).\n stagedActionIds = [...stagedActionIds, nextActionId];\n actionsById[nextActionId] = new PerformAction({\n type: '@ngrx/devtools/pause',\n }, +Date.now());\n nextActionId++;\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n computedStates = computedStates.concat(computedStates[computedStates.length - 1]);\n if (currentStateIndex === stagedActionIds.length - 2) {\n currentStateIndex++;\n }\n minInvalidatedStateIndex = Infinity;\n }\n else {\n commitChanges();\n }\n break;\n }\n case RESET: {\n // Get back to the state the store was created with.\n actionsById = { 0: liftAction(INIT_ACTION) };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n committedState = initialCommittedState;\n currentStateIndex = 0;\n computedStates = [];\n break;\n }\n case COMMIT: {\n commitChanges();\n break;\n }\n case ROLLBACK: {\n // Forget about any staged actions.\n // Start again from the last committed state.\n actionsById = { 0: liftAction(INIT_ACTION) };\n nextActionId = 1;\n stagedActionIds = [0];\n skippedActionIds = [];\n currentStateIndex = 0;\n computedStates = [];\n break;\n }\n case TOGGLE_ACTION: {\n // Toggle whether an action with given ID is skipped.\n // Being skipped means it is a no-op during the computation.\n const { id: actionId } = liftedAction;\n const index = skippedActionIds.indexOf(actionId);\n if (index === -1) {\n skippedActionIds = [actionId, ...skippedActionIds];\n }\n else {\n skippedActionIds = skippedActionIds.filter((id) => id !== actionId);\n }\n // Optimization: we know history before this action hasn't changed\n minInvalidatedStateIndex = stagedActionIds.indexOf(actionId);\n break;\n }\n case SET_ACTIONS_ACTIVE: {\n // Toggle whether an action with given ID is skipped.\n // Being skipped means it is a no-op during the computation.\n const { start, end, active } = liftedAction;\n const actionIds = [];\n for (let i = start; i < end; i++)\n actionIds.push(i);\n if (active) {\n skippedActionIds = difference(skippedActionIds, actionIds);\n }\n else {\n skippedActionIds = [...skippedActionIds, ...actionIds];\n }\n // Optimization: we know history before this action hasn't changed\n minInvalidatedStateIndex = stagedActionIds.indexOf(start);\n break;\n }\n case JUMP_TO_STATE: {\n // Without recomputing anything, move the pointer that tell us\n // which state is considered the current one. Useful for sliders.\n currentStateIndex = liftedAction.index;\n // Optimization: we know the history has not changed.\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case JUMP_TO_ACTION: {\n // Jumps to a corresponding state to a specific action.\n // Useful when filtering actions.\n const index = stagedActionIds.indexOf(liftedAction.actionId);\n if (index !== -1)\n currentStateIndex = index;\n minInvalidatedStateIndex = Infinity;\n break;\n }\n case SWEEP: {\n // Forget any actions that are currently being skipped.\n stagedActionIds = difference(stagedActionIds, skippedActionIds);\n skippedActionIds = [];\n currentStateIndex = Math.min(currentStateIndex, stagedActionIds.length - 1);\n break;\n }\n case PERFORM_ACTION: {\n // Ignore action and return state as is if recording is locked\n if (isLocked) {\n return liftedState || initialLiftedState;\n }\n if (isPaused ||\n (liftedState &&\n isActionFiltered(liftedState.computedStates[currentStateIndex], liftedAction, options.predicate, options.actionsSafelist, options.actionsBlocklist))) {\n // If recording is paused or if the action should be ignored, overwrite the last state\n // (corresponds to the pause action) and keep everything else as is.\n // This way, the app gets the new current state while the devtools\n // do not record another action.\n const lastState = computedStates[computedStates.length - 1];\n computedStates = [\n ...computedStates.slice(0, -1),\n computeNextEntry(reducer, liftedAction.action, lastState.state, lastState.error, errorHandler),\n ];\n minInvalidatedStateIndex = Infinity;\n break;\n }\n // Auto-commit as new actions come in.\n if (options.maxAge && stagedActionIds.length === options.maxAge) {\n commitExcessActions(1);\n }\n if (currentStateIndex === stagedActionIds.length - 1) {\n currentStateIndex++;\n }\n const actionId = nextActionId++;\n // Mutation! This is the hottest path, and we optimize on purpose.\n // It is safe because we set a new key in a cache dictionary.\n actionsById[actionId] = liftedAction;\n stagedActionIds = [...stagedActionIds, actionId];\n // Optimization: we know that only the new action needs computing.\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n break;\n }\n case IMPORT_STATE: {\n // Completely replace everything.\n ({\n monitorState,\n actionsById,\n nextActionId,\n stagedActionIds,\n skippedActionIds,\n committedState,\n currentStateIndex,\n computedStates,\n isLocked,\n isPaused,\n } = liftedAction.nextLiftedState);\n break;\n }\n case INIT: {\n // Always recompute states on hot reload and init.\n minInvalidatedStateIndex = 0;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n // States must be recomputed before committing excess.\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n commitExcessActions(stagedActionIds.length - options.maxAge);\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n break;\n }\n case UPDATE: {\n const stateHasErrors = computedStates.filter((state) => state.error).length > 0;\n if (stateHasErrors) {\n // Recompute all states\n minInvalidatedStateIndex = 0;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n // States must be recomputed before committing excess.\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n commitExcessActions(stagedActionIds.length - options.maxAge);\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n }\n else {\n // If not paused/locked, add a new action to signal devtools-user\n // that there was a reducer update.\n if (!isPaused && !isLocked) {\n if (currentStateIndex === stagedActionIds.length - 1) {\n currentStateIndex++;\n }\n // Add a new action to only recompute state\n const actionId = nextActionId++;\n actionsById[actionId] = new PerformAction(liftedAction, +Date.now());\n stagedActionIds = [...stagedActionIds, actionId];\n minInvalidatedStateIndex = stagedActionIds.length - 1;\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n }\n // Recompute state history with latest reducer and update action\n computedStates = computedStates.map((cmp) => (Object.assign(Object.assign({}, cmp), { state: reducer(cmp.state, RECOMPUTE_ACTION) })));\n currentStateIndex = stagedActionIds.length - 1;\n if (options.maxAge && stagedActionIds.length > options.maxAge) {\n commitExcessActions(stagedActionIds.length - options.maxAge);\n }\n // Avoid double computation.\n minInvalidatedStateIndex = Infinity;\n }\n break;\n }\n default: {\n // If the action is not recognized, it's a monitor action.\n // Optimization: a monitor action can't change history.\n minInvalidatedStateIndex = Infinity;\n break;\n }\n }\n computedStates = recomputeStates(computedStates, minInvalidatedStateIndex, reducer, committedState, actionsById, stagedActionIds, skippedActionIds, errorHandler, isPaused);\n monitorState = monitorReducer(monitorState, liftedAction);\n return {\n monitorState,\n actionsById,\n nextActionId,\n stagedActionIds,\n skippedActionIds,\n committedState,\n currentStateIndex,\n computedStates,\n isLocked,\n isPaused,\n };\n };\n}\n\nclass StoreDevtools {\n constructor(dispatcher, actions$, reducers$, extension, scannedActions, errorHandler, initialState, config) {\n const liftedInitialState = liftInitialState(initialState, config.monitor);\n const liftReducer = liftReducerWith(initialState, liftedInitialState, errorHandler, config.monitor, config);\n const liftedAction$ = merge(merge(actions$.asObservable().pipe(skip(1)), extension.actions$).pipe(map(liftAction)), dispatcher, extension.liftedActions$).pipe(observeOn(queueScheduler));\n const liftedReducer$ = reducers$.pipe(map(liftReducer));\n const liftedStateSubject = new ReplaySubject(1);\n const liftedStateSubscription = liftedAction$\n .pipe(withLatestFrom(liftedReducer$), scan(({ state: liftedState }, [action, reducer]) => {\n let reducedLiftedState = reducer(liftedState, action);\n // On full state update\n // If we have actions filters, we must filter completely our lifted state to be sync with the extension\n if (action.type !== PERFORM_ACTION && shouldFilterActions(config)) {\n reducedLiftedState = filterLiftedState(reducedLiftedState, config.predicate, config.actionsSafelist, config.actionsBlocklist);\n }\n // Extension should be sent the sanitized lifted state\n extension.notify(action, reducedLiftedState);\n return { state: reducedLiftedState, action };\n }, { state: liftedInitialState, action: null }))\n .subscribe(({ state, action }) => {\n liftedStateSubject.next(state);\n if (action.type === PERFORM_ACTION) {\n const unliftedAction = action.action;\n scannedActions.next(unliftedAction);\n }\n });\n const extensionStartSubscription = extension.start$.subscribe(() => {\n this.refresh();\n });\n const liftedState$ = liftedStateSubject.asObservable();\n const state$ = liftedState$.pipe(map(unliftState));\n this.extensionStartSubscription = extensionStartSubscription;\n this.stateSubscription = liftedStateSubscription;\n this.dispatcher = dispatcher;\n this.liftedState = liftedState$;\n this.state = state$;\n }\n dispatch(action) {\n this.dispatcher.next(action);\n }\n next(action) {\n this.dispatcher.next(action);\n }\n error(error) { }\n complete() { }\n performAction(action) {\n this.dispatch(new PerformAction(action, +Date.now()));\n }\n refresh() {\n this.dispatch(new Refresh());\n }\n reset() {\n this.dispatch(new Reset(+Date.now()));\n }\n rollback() {\n this.dispatch(new Rollback(+Date.now()));\n }\n commit() {\n this.dispatch(new Commit(+Date.now()));\n }\n sweep() {\n this.dispatch(new Sweep());\n }\n toggleAction(id) {\n this.dispatch(new ToggleAction(id));\n }\n jumpToAction(actionId) {\n this.dispatch(new JumpToAction(actionId));\n }\n jumpToState(index) {\n this.dispatch(new JumpToState(index));\n }\n importState(nextLiftedState) {\n this.dispatch(new ImportState(nextLiftedState));\n }\n lockChanges(status) {\n this.dispatch(new LockChanges(status));\n }\n pauseRecording(status) {\n this.dispatch(new PauseRecording(status));\n }\n}\nStoreDevtools.ɵfac = function StoreDevtools_Factory(t) { return new (t || StoreDevtools)(ɵngcc0.ɵɵinject(DevtoolsDispatcher), ɵngcc0.ɵɵinject(ɵngcc1.ActionsSubject), ɵngcc0.ɵɵinject(ɵngcc1.ReducerObservable), ɵngcc0.ɵɵinject(DevtoolsExtension), ɵngcc0.ɵɵinject(ɵngcc1.ScannedActionsSubject), ɵngcc0.ɵɵinject(ɵngcc0.ErrorHandler), ɵngcc0.ɵɵinject(INITIAL_STATE), ɵngcc0.ɵɵinject(STORE_DEVTOOLS_CONFIG)); };\nStoreDevtools.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: StoreDevtools, factory: StoreDevtools.ɵfac });\n/**\n * @type {function(): !Array<(null|{\n * type: ?,\n * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>),\n * })>}\n * @nocollapse\n */\nStoreDevtools.ctorParameters = () => [\n { type: DevtoolsDispatcher },\n { type: ActionsSubject },\n { type: ReducerObservable },\n { type: DevtoolsExtension },\n { type: ScannedActionsSubject },\n { type: ErrorHandler },\n { type: undefined, decorators: [{ type: Inject, args: [INITIAL_STATE,] }] },\n { type: StoreDevtoolsConfig, decorators: [{ type: Inject, args: [STORE_DEVTOOLS_CONFIG,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(StoreDevtools, [{\n type: Injectable\n }], function () { return [{ type: DevtoolsDispatcher }, { type: ɵngcc1.ActionsSubject }, { type: ɵngcc1.ReducerObservable }, { type: DevtoolsExtension }, { type: ɵngcc1.ScannedActionsSubject }, { type: ɵngcc0.ErrorHandler }, { type: undefined, decorators: [{\n type: Inject,\n args: [INITIAL_STATE]\n }] }, { type: StoreDevtoolsConfig, decorators: [{\n type: Inject,\n args: [STORE_DEVTOOLS_CONFIG]\n }] }]; }, null); })();\n\nconst IS_EXTENSION_OR_MONITOR_PRESENT = new InjectionToken('@ngrx/store-devtools Is Devtools Extension or Monitor Present');\nfunction createIsExtensionOrMonitorPresent(extension, config) {\n return Boolean(extension) || config.monitor !== noMonitor;\n}\nfunction createReduxDevtoolsExtension() {\n const extensionKey = '__REDUX_DEVTOOLS_EXTENSION__';\n if (typeof window === 'object' &&\n typeof window[extensionKey] !== 'undefined') {\n return window[extensionKey];\n }\n else {\n return null;\n }\n}\nfunction createStateObservable(devtools) {\n return devtools.state;\n}\nclass StoreDevtoolsModule {\n static instrument(options = {}) {\n return {\n ngModule: StoreDevtoolsModule,\n providers: [\n DevtoolsExtension,\n DevtoolsDispatcher,\n StoreDevtools,\n {\n provide: INITIAL_OPTIONS,\n useValue: options,\n },\n {\n provide: IS_EXTENSION_OR_MONITOR_PRESENT,\n deps: [REDUX_DEVTOOLS_EXTENSION, STORE_DEVTOOLS_CONFIG],\n useFactory: createIsExtensionOrMonitorPresent,\n },\n {\n provide: REDUX_DEVTOOLS_EXTENSION,\n useFactory: createReduxDevtoolsExtension,\n },\n {\n provide: STORE_DEVTOOLS_CONFIG,\n deps: [INITIAL_OPTIONS],\n useFactory: createConfig,\n },\n {\n provide: StateObservable,\n deps: [StoreDevtools],\n useFactory: createStateObservable,\n },\n {\n provide: ReducerManagerDispatcher,\n useExisting: DevtoolsDispatcher,\n },\n ],\n };\n }\n}\nStoreDevtoolsModule.ɵfac = function StoreDevtoolsModule_Factory(t) { return new (t || StoreDevtoolsModule)(); };\nStoreDevtoolsModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: StoreDevtoolsModule });\nStoreDevtoolsModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(StoreDevtoolsModule, [{\n type: NgModule,\n args: [{}]\n }], null, null); })();\n\n/**\n * DO NOT EDIT\n *\n * This file is automatically generated at build\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { INITIAL_OPTIONS, RECOMPUTE, StoreDevtools, StoreDevtoolsConfig, StoreDevtoolsModule, IS_EXTENSION_OR_MONITOR_PRESENT as ɵa, createIsExtensionOrMonitorPresent as ɵb, createReduxDevtoolsExtension as ɵc, createStateObservable as ɵd, STORE_DEVTOOLS_CONFIG as ɵe, noMonitor as ɵf, createConfig as ɵg, REDUX_DEVTOOLS_EXTENSION as ɵh, DevtoolsExtension as ɵi, DevtoolsDispatcher as ɵj };\n\n","import * as ngCore from '@angular/core';\nimport { Injectable, InjectionToken, Inject, isDevMode, NgModule, Optional, SkipSelf, Injector } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject, queueScheduler } from 'rxjs';\nimport { observeOn, withLatestFrom, scan, pluck, map, distinctUntilChanged } from 'rxjs/operators';\n\nimport * as ɵngcc0 from '@angular/core';\nconst REGISTERED_ACTION_TYPES = {};\nfunction resetRegisteredActionTypes() {\n for (const key of Object.keys(REGISTERED_ACTION_TYPES)) {\n delete REGISTERED_ACTION_TYPES[key];\n }\n}\n\n/**\n * @description\n * Creates a configured `Creator` function that, when called, returns an object in the shape of the `Action` interface.\n *\n * Action creators reduce the explicitness of class-based action creators.\n *\n * @param type Describes the action that will be dispatched\n * @param config Additional metadata needed for the handling of the action. See {@link createAction#usage-notes Usage Notes}.\n *\n * @usageNotes\n *\n * **Declaring an action creator**\n *\n * Without additional metadata:\n * ```ts\n * export const increment = createAction('[Counter] Increment');\n * ```\n * With additional metadata:\n * ```ts\n * export const loginSuccess = createAction(\n * '[Auth/API] Login Success',\n * props<{ user: User }>()\n * );\n * ```\n * With a function:\n * ```ts\n * export const loginSuccess = createAction(\n * '[Auth/API] Login Success',\n * (response: Response) => response.user\n * );\n * ```\n *\n * **Dispatching an action**\n *\n * Without additional metadata:\n * ```ts\n * store.dispatch(increment());\n * ```\n * With additional metadata:\n * ```ts\n * store.dispatch(loginSuccess({ user: newUser }));\n * ```\n *\n * **Referencing an action in a reducer**\n *\n * Using a switch statement:\n * ```ts\n * switch (action.type) {\n * // ...\n * case AuthApiActions.loginSuccess.type: {\n * return {\n * ...state,\n * user: action.user\n * };\n * }\n * }\n * ```\n * Using a reducer creator:\n * ```ts\n * on(AuthApiActions.loginSuccess, (state, { user }) => ({ ...state, user }))\n * ```\n *\n * **Referencing an action in an effect**\n * ```ts\n * effectName$ = createEffect(\n * () => this.actions$.pipe(\n * ofType(AuthApiActions.loginSuccess),\n * // ...\n * )\n * );\n * ```\n */\nfunction createAction(type, config) {\n REGISTERED_ACTION_TYPES[type] = (REGISTERED_ACTION_TYPES[type] || 0) + 1;\n if (typeof config === 'function') {\n return defineType(type, (...args) => (Object.assign(Object.assign({}, config(...args)), { type })));\n }\n const as = config ? config._as : 'empty';\n switch (as) {\n case 'empty':\n return defineType(type, () => ({ type }));\n case 'props':\n return defineType(type, (props) => (Object.assign(Object.assign({}, props), { type })));\n default:\n throw new Error('Unexpected config.');\n }\n}\nfunction props() {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/naming-convention\n return { _as: 'props', _p: undefined };\n}\nfunction union(creators) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return undefined;\n}\nfunction defineType(type, creator) {\n return Object.defineProperty(creator, 'type', {\n value: type,\n writable: false,\n });\n}\n\nconst INIT = '@ngrx/store/init';\nclass ActionsSubject extends BehaviorSubject {\n constructor() {\n super({ type: INIT });\n }\n next(action) {\n if (typeof action === 'function') {\n throw new TypeError(`\n Dispatch expected an object, instead it received a function.\n If you're using the createAction function, make sure to invoke the function\n before dispatching the action. For example, someAction should be someAction().`);\n }\n else if (typeof action === 'undefined') {\n throw new TypeError(`Actions must be objects`);\n }\n else if (typeof action.type === 'undefined') {\n throw new TypeError(`Actions must have a type property`);\n }\n super.next(action);\n }\n complete() {\n /* noop */\n }\n ngOnDestroy() {\n super.complete();\n }\n}\nActionsSubject.ɵfac = function ActionsSubject_Factory(t) { return new (t || ActionsSubject)(); };\nActionsSubject.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: ActionsSubject, factory: ActionsSubject.ɵfac });\n/**\n * @type {function(): !Array<(null|{\n * type: ?,\n * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>),\n * })>}\n * @nocollapse\n */\nActionsSubject.ctorParameters = () => [];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ActionsSubject, [{\n type: Injectable\n }], function () { return []; }, null); })();\nconst ACTIONS_SUBJECT_PROVIDERS = [ActionsSubject];\n\nconst _ROOT_STORE_GUARD = new InjectionToken('@ngrx/store Internal Root Guard');\nconst _INITIAL_STATE = new InjectionToken('@ngrx/store Internal Initial State');\nconst INITIAL_STATE = new InjectionToken('@ngrx/store Initial State');\nconst REDUCER_FACTORY = new InjectionToken('@ngrx/store Reducer Factory');\nconst _REDUCER_FACTORY = new InjectionToken('@ngrx/store Internal Reducer Factory Provider');\nconst INITIAL_REDUCERS = new InjectionToken('@ngrx/store Initial Reducers');\nconst _INITIAL_REDUCERS = new InjectionToken('@ngrx/store Internal Initial Reducers');\nconst STORE_FEATURES = new InjectionToken('@ngrx/store Store Features');\nconst _STORE_REDUCERS = new InjectionToken('@ngrx/store Internal Store Reducers');\nconst _FEATURE_REDUCERS = new InjectionToken('@ngrx/store Internal Feature Reducers');\nconst _FEATURE_CONFIGS = new InjectionToken('@ngrx/store Internal Feature Configs');\nconst _STORE_FEATURES = new InjectionToken('@ngrx/store Internal Store Features');\nconst _FEATURE_REDUCERS_TOKEN = new InjectionToken('@ngrx/store Internal Feature Reducers Token');\nconst FEATURE_REDUCERS = new InjectionToken('@ngrx/store Feature Reducers');\n/**\n * User-defined meta reducers from StoreModule.forRoot()\n */\nconst USER_PROVIDED_META_REDUCERS = new InjectionToken('@ngrx/store User Provided Meta Reducers');\n/**\n * Meta reducers defined either internally by @ngrx/store or by library authors\n */\nconst META_REDUCERS = new InjectionToken('@ngrx/store Meta Reducers');\n/**\n * Concats the user provided meta reducers and the meta reducers provided on the multi\n * injection token\n */\nconst _RESOLVED_META_REDUCERS = new InjectionToken('@ngrx/store Internal Resolved Meta Reducers');\n/**\n * Runtime checks defined by the user via an InjectionToken\n * Defaults to `_USER_RUNTIME_CHECKS`\n */\nconst USER_RUNTIME_CHECKS = new InjectionToken('@ngrx/store User Runtime Checks Config');\n/**\n * Runtime checks defined by the user via forRoot()\n */\nconst _USER_RUNTIME_CHECKS = new InjectionToken('@ngrx/store Internal User Runtime Checks Config');\n/**\n * Runtime checks currently in use\n */\nconst ACTIVE_RUNTIME_CHECKS = new InjectionToken('@ngrx/store Internal Runtime Checks');\nconst _ACTION_TYPE_UNIQUENESS_CHECK = new InjectionToken('@ngrx/store Check if Action types are unique');\n\n/**\n * @description\n * Combines reducers for individual features into a single reducer.\n *\n * You can use this function to delegate handling of state transitions to multiple reducers, each acting on their\n * own sub-state within the root state.\n *\n * @param reducers An object mapping keys of the root state to their corresponding feature reducer.\n * @param initialState Provides a state value if the current state is `undefined`, as it is initially.\n * @returns A reducer function.\n *\n * @usageNotes\n *\n * **Example combining two feature reducers into one \"root\" reducer**\n *\n * ```ts\n * export const reducer = combineReducers({\n * featureA: featureAReducer,\n * featureB: featureBReducer\n * });\n * ```\n *\n * You can also override the initial states of the sub-features:\n * ```ts\n * export const reducer = combineReducers({\n * featureA: featureAReducer,\n * featureB: featureBReducer\n * }, {\n * featureA: { counterA: 13 },\n * featureB: { counterB: 37 }\n * });\n * ```\n */\nfunction combineReducers(reducers, initialState = {}) {\n const reducerKeys = Object.keys(reducers);\n const finalReducers = {};\n for (let i = 0; i < reducerKeys.length; i++) {\n const key = reducerKeys[i];\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n const finalReducerKeys = Object.keys(finalReducers);\n return function combination(state, action) {\n state = state === undefined ? initialState : state;\n let hasChanged = false;\n const nextState = {};\n for (let i = 0; i < finalReducerKeys.length; i++) {\n const key = finalReducerKeys[i];\n const reducer = finalReducers[key];\n const previousStateForKey = state[key];\n const nextStateForKey = reducer(previousStateForKey, action);\n nextState[key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n return hasChanged ? nextState : state;\n };\n}\nfunction omit(object, keyToRemove) {\n return Object.keys(object)\n .filter((key) => key !== keyToRemove)\n .reduce((result, key) => Object.assign(result, { [key]: object[key] }), {});\n}\nfunction compose(...functions) {\n return function (arg) {\n if (functions.length === 0) {\n return arg;\n }\n const last = functions[functions.length - 1];\n const rest = functions.slice(0, -1);\n return rest.reduceRight((composed, fn) => fn(composed), last(arg));\n };\n}\nfunction createReducerFactory(reducerFactory, metaReducers) {\n if (Array.isArray(metaReducers) && metaReducers.length > 0) {\n reducerFactory = compose.apply(null, [\n ...metaReducers,\n reducerFactory,\n ]);\n }\n return (reducers, initialState) => {\n const reducer = reducerFactory(reducers);\n return (state, action) => {\n state = state === undefined ? initialState : state;\n return reducer(state, action);\n };\n };\n}\nfunction createFeatureReducerFactory(metaReducers) {\n const reducerFactory = Array.isArray(metaReducers) && metaReducers.length > 0\n ? compose(...metaReducers)\n : (r) => r;\n return (reducer, initialState) => {\n reducer = reducerFactory(reducer);\n return (state, action) => {\n state = state === undefined ? initialState : state;\n return reducer(state, action);\n };\n };\n}\n\nclass ReducerObservable extends Observable {\n}\nclass ReducerManagerDispatcher extends ActionsSubject {\n}\nconst UPDATE = '@ngrx/store/update-reducers';\nclass ReducerManager extends BehaviorSubject {\n constructor(dispatcher, initialState, reducers, reducerFactory) {\n super(reducerFactory(reducers, initialState));\n this.dispatcher = dispatcher;\n this.initialState = initialState;\n this.reducers = reducers;\n this.reducerFactory = reducerFactory;\n }\n get currentReducers() {\n return this.reducers;\n }\n addFeature(feature) {\n this.addFeatures([feature]);\n }\n addFeatures(features) {\n const reducers = features.reduce((reducerDict, { reducers, reducerFactory, metaReducers, initialState, key }) => {\n const reducer = typeof reducers === 'function'\n ? createFeatureReducerFactory(metaReducers)(reducers, initialState)\n : createReducerFactory(reducerFactory, metaReducers)(reducers, initialState);\n reducerDict[key] = reducer;\n return reducerDict;\n }, {});\n this.addReducers(reducers);\n }\n removeFeature(feature) {\n this.removeFeatures([feature]);\n }\n removeFeatures(features) {\n this.removeReducers(features.map((p) => p.key));\n }\n addReducer(key, reducer) {\n this.addReducers({ [key]: reducer });\n }\n addReducers(reducers) {\n this.reducers = Object.assign(Object.assign({}, this.reducers), reducers);\n this.updateReducers(Object.keys(reducers));\n }\n removeReducer(featureKey) {\n this.removeReducers([featureKey]);\n }\n removeReducers(featureKeys) {\n featureKeys.forEach((key) => {\n this.reducers = omit(this.reducers, key) /*TODO(#823)*/;\n });\n this.updateReducers(featureKeys);\n }\n updateReducers(featureKeys) {\n this.next(this.reducerFactory(this.reducers, this.initialState));\n this.dispatcher.next({\n type: UPDATE,\n features: featureKeys,\n });\n }\n ngOnDestroy() {\n this.complete();\n }\n}\nReducerManager.ɵfac = function ReducerManager_Factory(t) { return new (t || ReducerManager)(ɵngcc0.ɵɵinject(ReducerManagerDispatcher), ɵngcc0.ɵɵinject(INITIAL_STATE), ɵngcc0.ɵɵinject(INITIAL_REDUCERS), ɵngcc0.ɵɵinject(REDUCER_FACTORY)); };\nReducerManager.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: ReducerManager, factory: ReducerManager.ɵfac });\n/**\n * @type {function(): !Array<(null|{\n * type: ?,\n * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>),\n * })>}\n * @nocollapse\n */\nReducerManager.ctorParameters = () => [\n { type: ReducerManagerDispatcher },\n { type: undefined, decorators: [{ type: Inject, args: [INITIAL_STATE,] }] },\n { type: undefined, decorators: [{ type: Inject, args: [INITIAL_REDUCERS,] }] },\n { type: undefined, decorators: [{ type: Inject, args: [REDUCER_FACTORY,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ReducerManager, [{\n type: Injectable\n }], function () { return [{ type: ReducerManagerDispatcher }, { type: undefined, decorators: [{\n type: Inject,\n args: [INITIAL_STATE]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [INITIAL_REDUCERS]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [REDUCER_FACTORY]\n }] }]; }, null); })();\nconst REDUCER_MANAGER_PROVIDERS = [\n ReducerManager,\n { provide: ReducerObservable, useExisting: ReducerManager },\n { provide: ReducerManagerDispatcher, useExisting: ActionsSubject },\n];\n\nclass ScannedActionsSubject extends Subject {\n ngOnDestroy() {\n this.complete();\n }\n}\nScannedActionsSubject.ɵfac = /*@__PURE__*/ function () { let ɵScannedActionsSubject_BaseFactory; return function ScannedActionsSubject_Factory(t) { return (ɵScannedActionsSubject_BaseFactory || (ɵScannedActionsSubject_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(ScannedActionsSubject)))(t || ScannedActionsSubject); }; }();\nScannedActionsSubject.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: ScannedActionsSubject, factory: ScannedActionsSubject.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ScannedActionsSubject, [{\n type: Injectable\n }], null, null); })();\nconst SCANNED_ACTIONS_SUBJECT_PROVIDERS = [\n ScannedActionsSubject,\n];\n\nclass StateObservable extends Observable {\n}\nclass State extends BehaviorSubject {\n constructor(actions$, reducer$, scannedActions, initialState) {\n super(initialState);\n const actionsOnQueue$ = actions$.pipe(observeOn(queueScheduler));\n const withLatestReducer$ = actionsOnQueue$.pipe(withLatestFrom(reducer$));\n const seed = { state: initialState };\n const stateAndAction$ = withLatestReducer$.pipe(scan(reduceState, seed));\n this.stateSubscription = stateAndAction$.subscribe(({ state, action }) => {\n this.next(state);\n scannedActions.next(action);\n });\n }\n ngOnDestroy() {\n this.stateSubscription.unsubscribe();\n this.complete();\n }\n}\nState.ɵfac = function State_Factory(t) { return new (t || State)(ɵngcc0.ɵɵinject(ActionsSubject), ɵngcc0.ɵɵinject(ReducerObservable), ɵngcc0.ɵɵinject(ScannedActionsSubject), ɵngcc0.ɵɵinject(INITIAL_STATE)); };\nState.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: State, factory: State.ɵfac });\nState.INIT = INIT;\n/**\n * @type {function(): !Array<(null|{\n * type: ?,\n * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>),\n * })>}\n * @nocollapse\n */\nState.ctorParameters = () => [\n { type: ActionsSubject },\n { type: ReducerObservable },\n { type: ScannedActionsSubject },\n { type: undefined, decorators: [{ type: Inject, args: [INITIAL_STATE,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(State, [{\n type: Injectable\n }], function () { return [{ type: ActionsSubject }, { type: ReducerObservable }, { type: ScannedActionsSubject }, { type: undefined, decorators: [{\n type: Inject,\n args: [INITIAL_STATE]\n }] }]; }, null); })();\nfunction reduceState(stateActionPair = { state: undefined }, [action, reducer]) {\n const { state } = stateActionPair;\n return { state: reducer(state, action), action };\n}\nconst STATE_PROVIDERS = [\n State,\n { provide: StateObservable, useExisting: State },\n];\n\n/* eslint-disable @typescript-eslint/naming-convention */\nclass Store extends Observable {\n constructor(state$, actionsObserver, reducerManager) {\n super();\n this.actionsObserver = actionsObserver;\n this.reducerManager = reducerManager;\n this.source = state$;\n }\n select(pathOrMapFn, ...paths) {\n return select.call(null, pathOrMapFn, ...paths)(this);\n }\n lift(operator) {\n const store = new Store(this, this.actionsObserver, this.reducerManager);\n store.operator = operator;\n return store;\n }\n dispatch(action) {\n this.actionsObserver.next(action);\n }\n next(action) {\n this.actionsObserver.next(action);\n }\n error(err) {\n this.actionsObserver.error(err);\n }\n complete() {\n this.actionsObserver.complete();\n }\n addReducer(key, reducer) {\n this.reducerManager.addReducer(key, reducer);\n }\n removeReducer(key) {\n this.reducerManager.removeReducer(key);\n }\n}\nStore.ɵfac = function Store_Factory(t) { return new (t || Store)(ɵngcc0.ɵɵinject(StateObservable), ɵngcc0.ɵɵinject(ActionsSubject), ɵngcc0.ɵɵinject(ReducerManager)); };\nStore.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: Store, factory: Store.ɵfac });\n/**\n * @type {function(): !Array<(null|{\n * type: ?,\n * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>),\n * })>}\n * @nocollapse\n */\nStore.ctorParameters = () => [\n { type: StateObservable },\n { type: ActionsSubject },\n { type: ReducerManager }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Store, [{\n type: Injectable\n }], function () { return [{ type: StateObservable }, { type: ActionsSubject }, { type: ReducerManager }]; }, null); })();\nconst STORE_PROVIDERS = [Store];\nfunction select(pathOrMapFn, propsOrPath, ...paths) {\n return function selectOperator(source$) {\n let mapped$;\n if (typeof pathOrMapFn === 'string') {\n const pathSlices = [propsOrPath, ...paths].filter(Boolean);\n mapped$ = source$.pipe(pluck(pathOrMapFn, ...pathSlices));\n }\n else if (typeof pathOrMapFn === 'function') {\n mapped$ = source$.pipe(map((source) => pathOrMapFn(source, propsOrPath)));\n }\n else {\n throw new TypeError(`Unexpected type '${typeof pathOrMapFn}' in select operator,` +\n ` expected 'string' or 'function'`);\n }\n return mapped$.pipe(distinctUntilChanged());\n };\n}\n\nfunction capitalize(text) {\n return (text.charAt(0).toUpperCase() + text.substr(1));\n}\n\nconst RUNTIME_CHECK_URL = 'https://ngrx.io/guide/store/configuration/runtime-checks';\nfunction isUndefined(target) {\n return target === undefined;\n}\nfunction isNull(target) {\n return target === null;\n}\nfunction isArray(target) {\n return Array.isArray(target);\n}\nfunction isString(target) {\n return typeof target === 'string';\n}\nfunction isBoolean(target) {\n return typeof target === 'boolean';\n}\nfunction isNumber(target) {\n return typeof target === 'number';\n}\nfunction isObjectLike(target) {\n return typeof target === 'object' && target !== null;\n}\nfunction isObject(target) {\n return isObjectLike(target) && !isArray(target);\n}\nfunction isPlainObject(target) {\n if (!isObject(target)) {\n return false;\n }\n const targetPrototype = Object.getPrototypeOf(target);\n return targetPrototype === Object.prototype || targetPrototype === null;\n}\nfunction isFunction(target) {\n return typeof target === 'function';\n}\nfunction isComponent(target) {\n return isFunction(target) && target.hasOwnProperty('ɵcmp');\n}\nfunction hasOwnProperty(target, propertyName) {\n return Object.prototype.hasOwnProperty.call(target, propertyName);\n}\n\nlet _ngrxMockEnvironment = false;\nfunction setNgrxMockEnvironment(value) {\n _ngrxMockEnvironment = value;\n}\nfunction isNgrxMockEnvironment() {\n return _ngrxMockEnvironment;\n}\n\nfunction isEqualCheck(a, b) {\n return a === b;\n}\nfunction isArgumentsChanged(args, lastArguments, comparator) {\n for (let i = 0; i < args.length; i++) {\n if (!comparator(args[i], lastArguments[i])) {\n return true;\n }\n }\n return false;\n}\nfunction resultMemoize(projectionFn, isResultEqual) {\n return defaultMemoize(projectionFn, isEqualCheck, isResultEqual);\n}\nfunction defaultMemoize(projectionFn, isArgumentsEqual = isEqualCheck, isResultEqual = isEqualCheck) {\n let lastArguments = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, , , , ,\n let lastResult = null;\n let overrideResult;\n function reset() {\n lastArguments = null;\n lastResult = null;\n }\n function setResult(result = undefined) {\n overrideResult = { result };\n }\n function clearResult() {\n overrideResult = undefined;\n }\n /* eslint-disable prefer-rest-params, prefer-spread */\n // disabled because of the use of `arguments`\n function memoized() {\n if (overrideResult !== undefined) {\n return overrideResult.result;\n }\n if (!lastArguments) {\n lastResult = projectionFn.apply(null, arguments);\n lastArguments = arguments;\n return lastResult;\n }\n if (!isArgumentsChanged(arguments, lastArguments, isArgumentsEqual)) {\n return lastResult;\n }\n const newResult = projectionFn.apply(null, arguments);\n lastArguments = arguments;\n if (isResultEqual(lastResult, newResult)) {\n return lastResult;\n }\n lastResult = newResult;\n return newResult;\n }\n return { memoized, reset, setResult, clearResult };\n}\nfunction createSelector(...input) {\n return createSelectorFactory(defaultMemoize)(...input);\n}\nfunction defaultStateFn(state, selectors, props, memoizedProjector) {\n if (props === undefined) {\n const args = selectors.map((fn) => fn(state));\n return memoizedProjector.memoized.apply(null, args);\n }\n const args = selectors.map((fn) => fn(state, props));\n return memoizedProjector.memoized.apply(null, [...args, props]);\n}\n/**\n *\n * @param memoize The function used to memoize selectors\n * @param options Config Object that may include a `stateFn` function defining how to return the selector's value, given the entire `Store`'s state, parent `Selector`s, `Props`, and a `MemoizedProjection`\n *\n * @usageNotes\n *\n * **Creating a Selector Factory Where Array Order Does Not Matter**\n *\n * ```ts\n * function removeMatch(arr: string[], target: string): string[] {\n * const matchIndex = arr.indexOf(target);\n * return [...arr.slice(0, matchIndex), ...arr.slice(matchIndex + 1)];\n * }\n *\n * function orderDoesNotMatterComparer(a: any, b: any): boolean {\n * if (!Array.isArray(a) || !Array.isArray(b)) {\n * return a === b;\n * }\n * if (a.length !== b.length) {\n * return false;\n * }\n * let tempB = [...b];\n * function reduceToDetermineIfArraysContainSameContents(\n * previousCallResult: boolean,\n * arrayMember: any\n * ): boolean {\n * if (previousCallResult === false) {\n * return false;\n * }\n * if (tempB.includes(arrayMember)) {\n * tempB = removeMatch(tempB, arrayMember);\n * return true;\n * }\n * return false;\n * }\n * return a.reduce(reduceToDetermineIfArraysContainSameContents, true);\n * }\n *\n * export const creactOrderDoesNotMatterSelector = createSelectorFactory(\n * (projectionFun) => defaultMemoize(\n * projectionFun,\n * orderDoesNotMatterComparer,\n * orderDoesNotMatterComparer\n * )\n * );\n * ```\n *\n * **Creating an Alternative Memoization Strategy**\n *\n * ```ts\n * function serialize(x: any): string {\n * return JSON.stringify(x);\n * }\n *\n * export const createFullHistorySelector = createSelectorFactory(\n * (projectionFunction) => {\n * const cache = {};\n *\n * function memoized() {\n * const serializedArguments = serialize(...arguments);\n * if (cache[serializedArguments] != null) {\n * cache[serializedArguments] = projectionFunction.apply(null, arguments);\n * }\n * return cache[serializedArguments];\n * }\n * return {\n * memoized,\n * reset: () => {},\n * setResult: () => {},\n * clearResult: () => {},\n * };\n * }\n * );\n * ```\n *\n *\n */\nfunction createSelectorFactory(memoize, options = {\n stateFn: defaultStateFn,\n}) {\n return function (...input) {\n let args = input;\n if (Array.isArray(args[0])) {\n const [head, ...tail] = args;\n args = [...head, ...tail];\n }\n const selectors = args.slice(0, args.length - 1);\n const projector = args[args.length - 1];\n const memoizedSelectors = selectors.filter((selector) => selector.release && typeof selector.release === 'function');\n const memoizedProjector = memoize(function (...selectors) {\n return projector.apply(null, selectors);\n });\n const memoizedState = defaultMemoize(function (state, props) {\n return options.stateFn.apply(null, [\n state,\n selectors,\n props,\n memoizedProjector,\n ]);\n });\n function release() {\n memoizedState.reset();\n memoizedProjector.reset();\n memoizedSelectors.forEach((selector) => selector.release());\n }\n return Object.assign(memoizedState.memoized, {\n release,\n projector: memoizedProjector.memoized,\n setResult: memoizedState.setResult,\n clearResult: memoizedState.clearResult,\n });\n };\n}\nfunction createFeatureSelector(featureName) {\n return createSelector((state) => {\n const featureState = state[featureName];\n if (!isNgrxMockEnvironment() && isDevMode() && !(featureName in state)) {\n console.warn(`@ngrx/store: The feature name \"${featureName}\" does ` +\n 'not exist in the state, therefore createFeatureSelector ' +\n 'cannot access it. Be sure it is imported in a loaded module ' +\n `using StoreModule.forRoot('${featureName}', ...) or ` +\n `StoreModule.forFeature('${featureName}', ...). If the default ` +\n 'state is intended to be undefined, as is the case with router ' +\n 'state, this development-only warning message can be ignored.');\n }\n return featureState;\n }, (featureState) => featureState);\n}\n\n/**\n * @description\n * A function that accepts a feature name and a feature reducer, and creates\n * a feature selector and a selector for each feature state property.\n *\n * @param featureConfig An object that contains a feature name and a feature reducer.\n * @returns An object that contains a feature name, a feature reducer,\n * a feature selector, a the selector for each feature state property.\n *\n * @usageNotes\n *\n * **With Application State**\n *\n * ```ts\n * interface AppState {\n * products: ProductsState;\n * }\n *\n * interface ProductsState {\n * products: Product[];\n * selectedId: string | null;\n * }\n *\n * const initialState: ProductsState = {\n * products: [],\n * selectedId: null,\n * };\n *\n * // AppState is passed as a generic argument\n * const productsFeature = createFeature({\n * name: 'products',\n * reducer: createReducer(\n * initialState,\n * on(ProductsApiActions.loadSuccess(state, { products }) => ({\n * ...state,\n * products,\n * }),\n * ),\n * });\n *\n * const {\n * selectProductsState, // type: MemoizedSelector\n * selectProducts, // type: MemoizedSelector\n * selectSelectedId, // type: MemoizedSelector\n * } = productsFeature;\n * ```\n *\n * **Without Application State**\n *\n * ```ts\n * const productsFeature = createFeature({\n * name: 'products',\n * reducer: createReducer(initialState),\n * });\n *\n * const {\n * selectProductsState, // type: MemoizedSelector, ProductsState>\n * selectProducts, // type: MemoizedSelector, Product[]>\n * selectSelectedId, // type: MemoizedSelector\n * } = productsFeature;\n * ```\n */\nfunction createFeature(featureConfig) {\n const { name, reducer } = featureConfig;\n const featureSelector = createFeatureSelector(name);\n const nestedSelectors = createNestedSelectors(featureSelector, reducer);\n return Object.assign({ name,\n reducer, [`select${capitalize(name)}State`]: featureSelector }, nestedSelectors);\n}\nfunction createNestedSelectors(featureSelector, reducer) {\n const initialState = getInitialState(reducer);\n const nestedKeys = (isPlainObject(initialState)\n ? Object.keys(initialState)\n : []);\n return nestedKeys.reduce((nestedSelectors, nestedKey) => (Object.assign(Object.assign({}, nestedSelectors), { [`select${capitalize(nestedKey)}`]: createSelector(featureSelector, (parentState) => parentState === null || parentState === void 0 ? void 0 : parentState[nestedKey]) })), {});\n}\nfunction getInitialState(reducer) {\n return reducer(undefined, { type: '@ngrx/feature/init' });\n}\n\nfunction immutabilityCheckMetaReducer(reducer, checks) {\n return function (state, action) {\n const act = checks.action(action) ? freeze(action) : action;\n const nextState = reducer(state, act);\n return checks.state() ? freeze(nextState) : nextState;\n };\n}\nfunction freeze(target) {\n Object.freeze(target);\n const targetIsFunction = isFunction(target);\n Object.getOwnPropertyNames(target).forEach((prop) => {\n // Ignore Ivy properties, ref: https://github.com/ngrx/platform/issues/2109#issuecomment-582689060\n if (prop.startsWith('ɵ')) {\n return;\n }\n if (hasOwnProperty(target, prop) &&\n (targetIsFunction\n ? prop !== 'caller' && prop !== 'callee' && prop !== 'arguments'\n : true)) {\n const propValue = target[prop];\n if ((isObjectLike(propValue) || isFunction(propValue)) &&\n !Object.isFrozen(propValue)) {\n freeze(propValue);\n }\n }\n });\n return target;\n}\n\nfunction serializationCheckMetaReducer(reducer, checks) {\n return function (state, action) {\n if (checks.action(action)) {\n const unserializableAction = getUnserializable(action);\n throwIfUnserializable(unserializableAction, 'action');\n }\n const nextState = reducer(state, action);\n if (checks.state()) {\n const unserializableState = getUnserializable(nextState);\n throwIfUnserializable(unserializableState, 'state');\n }\n return nextState;\n };\n}\nfunction getUnserializable(target, path = []) {\n // Guard against undefined and null, e.g. a reducer that returns undefined\n if ((isUndefined(target) || isNull(target)) && path.length === 0) {\n return {\n path: ['root'],\n value: target,\n };\n }\n const keys = Object.keys(target);\n return keys.reduce((result, key) => {\n if (result) {\n return result;\n }\n const value = target[key];\n // Ignore Ivy components\n if (isComponent(value)) {\n return result;\n }\n if (isUndefined(value) ||\n isNull(value) ||\n isNumber(value) ||\n isBoolean(value) ||\n isString(value) ||\n isArray(value)) {\n return false;\n }\n if (isPlainObject(value)) {\n return getUnserializable(value, [...path, key]);\n }\n return {\n path: [...path, key],\n value,\n };\n }, false);\n}\nfunction throwIfUnserializable(unserializable, context) {\n if (unserializable === false) {\n return;\n }\n const unserializablePath = unserializable.path.join('.');\n const error = new Error(`Detected unserializable ${context} at \"${unserializablePath}\". ${RUNTIME_CHECK_URL}#strict${context}serializability`);\n error.value = unserializable.value;\n error.unserializablePath = unserializablePath;\n throw error;\n}\n\nfunction inNgZoneAssertMetaReducer(reducer, checks) {\n return function (state, action) {\n if (checks.action(action) && !ngCore.NgZone.isInAngularZone()) {\n throw new Error(`Action '${action.type}' running outside NgZone. ${RUNTIME_CHECK_URL}#strictactionwithinngzone`);\n }\n return reducer(state, action);\n };\n}\n\nfunction createActiveRuntimeChecks(runtimeChecks) {\n if (isDevMode()) {\n return Object.assign({ strictStateSerializability: false, strictActionSerializability: false, strictStateImmutability: true, strictActionImmutability: true, strictActionWithinNgZone: false, strictActionTypeUniqueness: false }, runtimeChecks);\n }\n return {\n strictStateSerializability: false,\n strictActionSerializability: false,\n strictStateImmutability: false,\n strictActionImmutability: false,\n strictActionWithinNgZone: false,\n strictActionTypeUniqueness: false,\n };\n}\nfunction createSerializationCheckMetaReducer({ strictActionSerializability, strictStateSerializability, }) {\n return (reducer) => strictActionSerializability || strictStateSerializability\n ? serializationCheckMetaReducer(reducer, {\n action: (action) => strictActionSerializability && !ignoreNgrxAction(action),\n state: () => strictStateSerializability,\n })\n : reducer;\n}\nfunction createImmutabilityCheckMetaReducer({ strictActionImmutability, strictStateImmutability, }) {\n return (reducer) => strictActionImmutability || strictStateImmutability\n ? immutabilityCheckMetaReducer(reducer, {\n action: (action) => strictActionImmutability && !ignoreNgrxAction(action),\n state: () => strictStateImmutability,\n })\n : reducer;\n}\nfunction ignoreNgrxAction(action) {\n return action.type.startsWith('@ngrx');\n}\nfunction createInNgZoneCheckMetaReducer({ strictActionWithinNgZone, }) {\n return (reducer) => strictActionWithinNgZone\n ? inNgZoneAssertMetaReducer(reducer, {\n action: (action) => strictActionWithinNgZone && !ignoreNgrxAction(action),\n })\n : reducer;\n}\nfunction provideRuntimeChecks(runtimeChecks) {\n return [\n {\n provide: _USER_RUNTIME_CHECKS,\n useValue: runtimeChecks,\n },\n {\n provide: USER_RUNTIME_CHECKS,\n useFactory: _runtimeChecksFactory,\n deps: [_USER_RUNTIME_CHECKS],\n },\n {\n provide: ACTIVE_RUNTIME_CHECKS,\n deps: [USER_RUNTIME_CHECKS],\n useFactory: createActiveRuntimeChecks,\n },\n {\n provide: META_REDUCERS,\n multi: true,\n deps: [ACTIVE_RUNTIME_CHECKS],\n useFactory: createImmutabilityCheckMetaReducer,\n },\n {\n provide: META_REDUCERS,\n multi: true,\n deps: [ACTIVE_RUNTIME_CHECKS],\n useFactory: createSerializationCheckMetaReducer,\n },\n {\n provide: META_REDUCERS,\n multi: true,\n deps: [ACTIVE_RUNTIME_CHECKS],\n useFactory: createInNgZoneCheckMetaReducer,\n },\n ];\n}\nfunction checkForActionTypeUniqueness() {\n return [\n {\n provide: _ACTION_TYPE_UNIQUENESS_CHECK,\n multi: true,\n deps: [ACTIVE_RUNTIME_CHECKS],\n useFactory: _actionTypeUniquenessCheck,\n },\n ];\n}\nfunction _runtimeChecksFactory(runtimeChecks) {\n return runtimeChecks;\n}\nfunction _actionTypeUniquenessCheck(config) {\n if (!config.strictActionTypeUniqueness) {\n return;\n }\n const duplicates = Object.entries(REGISTERED_ACTION_TYPES)\n .filter(([, registrations]) => registrations > 1)\n .map(([type]) => type);\n if (duplicates.length) {\n throw new Error(`Action types are registered more than once, ${duplicates\n .map((type) => `\"${type}\"`)\n .join(', ')}. ${RUNTIME_CHECK_URL}#strictactiontypeuniqueness`);\n }\n}\n\nclass StoreRootModule {\n constructor(actions$, reducer$, scannedActions$, store, guard, actionCheck) { }\n}\nStoreRootModule.ɵfac = function StoreRootModule_Factory(t) { return new (t || StoreRootModule)(ɵngcc0.ɵɵinject(ActionsSubject), ɵngcc0.ɵɵinject(ReducerObservable), ɵngcc0.ɵɵinject(ScannedActionsSubject), ɵngcc0.ɵɵinject(Store), ɵngcc0.ɵɵinject(_ROOT_STORE_GUARD, 8), ɵngcc0.ɵɵinject(_ACTION_TYPE_UNIQUENESS_CHECK, 8)); };\nStoreRootModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: StoreRootModule });\nStoreRootModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n/**\n * @type {function(): !Array<(null|{\n * type: ?,\n * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>),\n * })>}\n * @nocollapse\n */\nStoreRootModule.ctorParameters = () => [\n { type: ActionsSubject },\n { type: ReducerObservable },\n { type: ScannedActionsSubject },\n { type: Store },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [_ROOT_STORE_GUARD,] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [_ACTION_TYPE_UNIQUENESS_CHECK,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(StoreRootModule, [{\n type: NgModule,\n args: [{}]\n }], function () { return [{ type: ActionsSubject }, { type: ReducerObservable }, { type: ScannedActionsSubject }, { type: Store }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [_ROOT_STORE_GUARD]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [_ACTION_TYPE_UNIQUENESS_CHECK]\n }] }]; }, null); })();\nclass StoreFeatureModule {\n constructor(features, featureReducers, reducerManager, root, actionCheck) {\n this.features = features;\n this.featureReducers = featureReducers;\n this.reducerManager = reducerManager;\n const feats = features.map((feature, index) => {\n const featureReducerCollection = featureReducers.shift();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const reducers = featureReducerCollection /*TODO(#823)*/[index];\n return Object.assign(Object.assign({}, feature), { reducers, initialState: _initialStateFactory(feature.initialState) });\n });\n reducerManager.addFeatures(feats);\n }\n // eslint-disable-next-line @angular-eslint/contextual-lifecycle\n ngOnDestroy() {\n this.reducerManager.removeFeatures(this.features);\n }\n}\nStoreFeatureModule.ɵfac = function StoreFeatureModule_Factory(t) { return new (t || StoreFeatureModule)(ɵngcc0.ɵɵinject(_STORE_FEATURES), ɵngcc0.ɵɵinject(FEATURE_REDUCERS), ɵngcc0.ɵɵinject(ReducerManager), ɵngcc0.ɵɵinject(StoreRootModule), ɵngcc0.ɵɵinject(_ACTION_TYPE_UNIQUENESS_CHECK, 8)); };\nStoreFeatureModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: StoreFeatureModule });\nStoreFeatureModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n/**\n * @type {function(): !Array<(null|{\n * type: ?,\n * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array)}>),\n * })>}\n * @nocollapse\n */\nStoreFeatureModule.ctorParameters = () => [\n { type: Array, decorators: [{ type: Inject, args: [_STORE_FEATURES,] }] },\n { type: Array, decorators: [{ type: Inject, args: [FEATURE_REDUCERS,] }] },\n { type: ReducerManager },\n { type: StoreRootModule },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [_ACTION_TYPE_UNIQUENESS_CHECK,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(StoreFeatureModule, [{\n type: NgModule,\n args: [{}]\n }], function () { return [{ type: Array, decorators: [{\n type: Inject,\n args: [_STORE_FEATURES]\n }] }, { type: Array, decorators: [{\n type: Inject,\n args: [FEATURE_REDUCERS]\n }] }, { type: ReducerManager }, { type: StoreRootModule }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [_ACTION_TYPE_UNIQUENESS_CHECK]\n }] }]; }, null); })();\nclass StoreModule {\n static forRoot(reducers, config = {}) {\n return {\n ngModule: StoreRootModule,\n providers: [\n {\n provide: _ROOT_STORE_GUARD,\n useFactory: _provideForRootGuard,\n deps: [[Store, new Optional(), new SkipSelf()]],\n },\n { provide: _INITIAL_STATE, useValue: config.initialState },\n {\n provide: INITIAL_STATE,\n useFactory: _initialStateFactory,\n deps: [_INITIAL_STATE],\n },\n { provide: _INITIAL_REDUCERS, useValue: reducers },\n {\n provide: _STORE_REDUCERS,\n useExisting: reducers instanceof InjectionToken ? reducers : _INITIAL_REDUCERS,\n },\n {\n provide: INITIAL_REDUCERS,\n deps: [Injector, _INITIAL_REDUCERS, [new Inject(_STORE_REDUCERS)]],\n useFactory: _createStoreReducers,\n },\n {\n provide: USER_PROVIDED_META_REDUCERS,\n useValue: config.metaReducers ? config.metaReducers : [],\n },\n {\n provide: _RESOLVED_META_REDUCERS,\n deps: [META_REDUCERS, USER_PROVIDED_META_REDUCERS],\n useFactory: _concatMetaReducers,\n },\n {\n provide: _REDUCER_FACTORY,\n useValue: config.reducerFactory\n ? config.reducerFactory\n : combineReducers,\n },\n {\n provide: REDUCER_FACTORY,\n deps: [_REDUCER_FACTORY, _RESOLVED_META_REDUCERS],\n useFactory: createReducerFactory,\n },\n ACTIONS_SUBJECT_PROVIDERS,\n REDUCER_MANAGER_PROVIDERS,\n SCANNED_ACTIONS_SUBJECT_PROVIDERS,\n STATE_PROVIDERS,\n STORE_PROVIDERS,\n provideRuntimeChecks(config.runtimeChecks),\n checkForActionTypeUniqueness(),\n ],\n };\n }\n static forFeature(featureNameOrSlice, reducersOrConfig, config = {}) {\n return {\n ngModule: StoreFeatureModule,\n providers: [\n {\n provide: _FEATURE_CONFIGS,\n multi: true,\n useValue: featureNameOrSlice instanceof Object ? {} : config,\n },\n {\n provide: STORE_FEATURES,\n multi: true,\n useValue: {\n key: featureNameOrSlice instanceof Object\n ? featureNameOrSlice.name\n : featureNameOrSlice,\n reducerFactory: !(config instanceof InjectionToken) && config.reducerFactory\n ? config.reducerFactory\n : combineReducers,\n metaReducers: !(config instanceof InjectionToken) && config.metaReducers\n ? config.metaReducers\n : [],\n initialState: !(config instanceof InjectionToken) && config.initialState\n ? config.initialState\n : undefined,\n },\n },\n {\n provide: _STORE_FEATURES,\n deps: [Injector, _FEATURE_CONFIGS, STORE_FEATURES],\n useFactory: _createFeatureStore,\n },\n {\n provide: _FEATURE_REDUCERS,\n multi: true,\n useValue: featureNameOrSlice instanceof Object\n ? featureNameOrSlice.reducer\n : reducersOrConfig,\n },\n {\n provide: _FEATURE_REDUCERS_TOKEN,\n multi: true,\n useExisting: reducersOrConfig instanceof InjectionToken\n ? reducersOrConfig\n : _FEATURE_REDUCERS,\n },\n {\n provide: FEATURE_REDUCERS,\n multi: true,\n deps: [\n Injector,\n _FEATURE_REDUCERS,\n [new Inject(_FEATURE_REDUCERS_TOKEN)],\n ],\n useFactory: _createFeatureReducers,\n },\n checkForActionTypeUniqueness(),\n ],\n };\n }\n}\nStoreModule.ɵfac = function StoreModule_Factory(t) { return new (t || StoreModule)(); };\nStoreModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: StoreModule });\nStoreModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(StoreModule, [{\n type: NgModule,\n args: [{}]\n }], null, null); })();\nfunction _createStoreReducers(injector, reducers) {\n return reducers instanceof InjectionToken ? injector.get(reducers) : reducers;\n}\nfunction _createFeatureStore(injector, configs, featureStores) {\n return featureStores.map((feat, index) => {\n if (configs[index] instanceof InjectionToken) {\n const conf = injector.get(configs[index]);\n return {\n key: feat.key,\n reducerFactory: conf.reducerFactory\n ? conf.reducerFactory\n : combineReducers,\n metaReducers: conf.metaReducers ? conf.metaReducers : [],\n initialState: conf.initialState,\n };\n }\n return feat;\n });\n}\nfunction _createFeatureReducers(injector, reducerCollection) {\n const reducers = reducerCollection.map((reducer) => {\n return reducer instanceof InjectionToken ? injector.get(reducer) : reducer;\n });\n return reducers;\n}\nfunction _initialStateFactory(initialState) {\n if (typeof initialState === 'function') {\n return initialState();\n }\n return initialState;\n}\nfunction _concatMetaReducers(metaReducers, userProvidedMetaReducers) {\n return metaReducers.concat(userProvidedMetaReducers);\n}\nfunction _provideForRootGuard(store) {\n if (store) {\n throw new TypeError(`StoreModule.forRoot() called twice. Feature modules should use StoreModule.forFeature() instead.`);\n }\n return 'guarded';\n}\n\n/**\n * @description\n * Associates actions with a given state change function.\n * A state change function must be provided as the last parameter.\n *\n * @param args `ActionCreator`'s followed by a state change function.\n *\n * @returns an association of action types with a state change function.\n *\n * @usageNotes\n * ```ts\n * on(AuthApiActions.loginSuccess, (state, { user }) => ({ ...state, user }))\n * ```\n */\nfunction on(...args) {\n // This could be refactored when TS releases the version with this fix:\n // https://github.com/microsoft/TypeScript/pull/41544\n const reducer = args.pop();\n const types = args.map((creator) => creator.type);\n return { reducer, types };\n}\n/**\n * @description\n * Creates a reducer function to handle state transitions.\n *\n * Reducer creators reduce the explicitness of reducer functions with switch statements.\n *\n * @param initialState Provides a state value if the current state is `undefined`, as it is initially.\n * @param ons Associations between actions and state changes.\n * @returns A reducer function.\n *\n * @usageNotes\n *\n * - Must be used with `ActionCreator`'s (returned by `createAction`). Cannot be used with class-based action creators.\n * - The returned `ActionReducer` should additionally be wrapped with another function, if you are using View Engine AOT.\n * In case you are using Ivy (or only JIT View Engine) the extra wrapper function is not required.\n *\n * **Declaring a reducer creator**\n *\n * ```ts\n * export const reducer = createReducer(\n * initialState,\n * on(\n * featureActions.actionOne,\n * featureActions.actionTwo,\n * (state, { updatedValue }) => ({ ...state, prop: updatedValue })\n * ),\n * on(featureActions.actionThree, () => initialState);\n * );\n * ```\n *\n * **Declaring a reducer creator using a wrapper function (Only needed if using View Engine AOT)**\n *\n * ```ts\n * const featureReducer = createReducer(\n * initialState,\n * on(\n * featureActions.actionOne,\n * featureActions.actionTwo,\n * (state, { updatedValue }) => ({ ...state, prop: updatedValue })\n * ),\n * on(featureActions.actionThree, () => initialState);\n * );\n *\n * export function reducer(state: State | undefined, action: Action) {\n * return featureReducer(state, action);\n * }\n * ```\n */\nfunction createReducer(initialState, ...ons) {\n const map = new Map();\n for (const on of ons) {\n for (const type of on.types) {\n const existingReducer = map.get(type);\n if (existingReducer) {\n const newReducer = (state, action) => on.reducer(existingReducer(state, action), action);\n map.set(type, newReducer);\n }\n else {\n map.set(type, on.reducer);\n }\n }\n }\n return function (state = initialState, action) {\n const reducer = map.get(action.type);\n return reducer ? reducer(state, action) : state;\n };\n}\n\n/**\n * DO NOT EDIT\n *\n * This file is automatically generated at build\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ACTIVE_RUNTIME_CHECKS, ActionsSubject, FEATURE_REDUCERS, INIT, INITIAL_REDUCERS, INITIAL_STATE, META_REDUCERS, REDUCER_FACTORY, ReducerManager, ReducerManagerDispatcher, ReducerObservable, STORE_FEATURES, ScannedActionsSubject, State, StateObservable, Store, StoreFeatureModule, StoreModule, StoreRootModule, UPDATE, USER_PROVIDED_META_REDUCERS, USER_RUNTIME_CHECKS, combineReducers, compose, createAction, createFeature, createFeatureSelector, createReducer, createReducerFactory, createSelector, createSelectorFactory, defaultMemoize, defaultStateFn, isNgrxMockEnvironment, on, props, reduceState, resultMemoize, select, setNgrxMockEnvironment, union, STORE_PROVIDERS as ɵb, createSerializationCheckMetaReducer as ɵba, createImmutabilityCheckMetaReducer as ɵbb, createInNgZoneCheckMetaReducer as ɵbc, provideRuntimeChecks as ɵbd, checkForActionTypeUniqueness as ɵbe, _runtimeChecksFactory as ɵbf, _actionTypeUniquenessCheck as ɵbg, ACTIONS_SUBJECT_PROVIDERS as ɵc, REDUCER_MANAGER_PROVIDERS as ɵd, SCANNED_ACTIONS_SUBJECT_PROVIDERS as ɵe, isEqualCheck as ɵf, STATE_PROVIDERS as ɵg, _ROOT_STORE_GUARD as ɵh, _INITIAL_STATE as ɵi, _REDUCER_FACTORY as ɵj, _INITIAL_REDUCERS as ɵk, _STORE_REDUCERS as ɵl, _FEATURE_REDUCERS as ɵm, _FEATURE_CONFIGS as ɵn, _STORE_FEATURES as ɵo, _FEATURE_REDUCERS_TOKEN as ɵp, _RESOLVED_META_REDUCERS as ɵq, _USER_RUNTIME_CHECKS as ɵr, _ACTION_TYPE_UNIQUENESS_CHECK as ɵs, _createStoreReducers as ɵt, _createFeatureStore as ɵu, _createFeatureReducers as ɵv, _initialStateFactory as ɵw, _concatMetaReducers as ɵx, _provideForRootGuard as ɵy, createActiveRuntimeChecks as ɵz };\n\n","import * as i0 from '@angular/core';\nimport { Injectable, InjectionToken, Inject, PLATFORM_ID, NgModule } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ReplaySubject, fromEvent, race, throwError, of, Observable, asyncScheduler, from } from 'rxjs';\nimport { mergeMap, map, first, mapTo, takeWhile, tap, observeOn, catchError } from 'rxjs/operators';\n\nclass JSONValidator {\n /**\n * Validate a JSON data against a Jsubset of the JSON Schema standard.\n * Types are enforced to validate everything: each schema must\n * @param data JSON data to validate\n * @param schema Subset of JSON Schema. Must have a `type`.\n * @returns If data is valid: `true`, if it is invalid: `false`\n * @see {@link https://github.com/cyrilletuzi/angular-async-local-storage/blob/main/docs/VALIDATION.md}\n */\n validate(data, schema) {\n switch (schema.type) {\n case 'string':\n return this.validateString(data, schema);\n case 'number':\n case 'integer':\n return this.validateNumber(data, schema);\n case 'boolean':\n return this.validateBoolean(data, schema);\n case 'array':\n return this.validateArray(data, schema);\n case 'object':\n return this.validateObject(data, schema);\n }\n }\n /**\n * Validate a string\n * @param data Data to validate\n * @param schema Schema describing the string\n * @returns If data is valid: `true`, if it is invalid: `false`\n */\n validateString(data, schema) {\n if (typeof data !== 'string') {\n return false;\n }\n if (!this.validateConst(data, schema)) {\n return false;\n }\n if (!this.validateEnum(data, schema)) {\n return false;\n }\n if ((schema.maxLength !== undefined) && (data.length > schema.maxLength)) {\n return false;\n }\n if ((schema.minLength !== undefined) && (data.length < schema.minLength)) {\n return false;\n }\n if (schema.pattern) {\n let regularExpression = null;\n try {\n regularExpression = new RegExp(schema.pattern);\n }\n catch (_a) {\n // Nothing to do\n }\n if (regularExpression && !regularExpression.test(data)) {\n return false;\n }\n }\n return true;\n }\n /**\n * Validate a number or an integer\n * @param data Data to validate\n * @param schema Schema describing the number or integer\n * @returns If data is valid: `true`, if it is invalid: `false`\n */\n validateNumber(data, schema) {\n if (typeof data !== 'number') {\n return false;\n }\n if ((schema.type === 'integer') && !Number.isInteger(data)) {\n return false;\n }\n if (!this.validateConst(data, schema)) {\n return false;\n }\n if (!this.validateEnum(data, schema)) {\n return false;\n }\n /* Test is done this way to not divide by 0 */\n if (schema.multipleOf && !Number.isInteger(data / schema.multipleOf)) {\n return false;\n }\n if ((schema.maximum !== undefined) && (data > schema.maximum)) {\n return false;\n }\n if ((schema.exclusiveMaximum !== undefined) && (data >= schema.exclusiveMaximum)) {\n return false;\n }\n if ((schema.minimum !== undefined) && (data < schema.minimum)) {\n return false;\n }\n if ((schema.exclusiveMinimum !== undefined) && (data <= schema.exclusiveMinimum)) {\n return false;\n }\n return true;\n }\n /**\n * Validate a boolean\n * @param data Data to validate\n * @param schema Schema describing the boolean\n * @returns If data is valid: `true`, if it is invalid: `false`\n */\n validateBoolean(data, schema) {\n if (typeof data !== 'boolean') {\n return false;\n }\n if (!this.validateConst(data, schema)) {\n return false;\n }\n return true;\n }\n /**\n * Validate an array\n * @param data Data to validate\n * @param schema Schema describing the array\n * @returns If data is valid: `true`, if it is invalid: `false`\n */\n validateArray(data, schema) {\n if (!Array.isArray(data)) {\n return false;\n }\n if ((schema.maxItems !== undefined) && (data.length > schema.maxItems)) {\n return false;\n }\n if ((schema.minItems !== undefined) && (data.length < schema.minItems)) {\n return false;\n }\n if (schema.uniqueItems) {\n /* Create a set to eliminate values with multiple occurences */\n const dataSet = new Set(data);\n if (data.length !== dataSet.size) {\n return false;\n }\n }\n /* Specific test for tuples */\n if (Array.isArray(schema.items)) {\n return this.validateTuple(data, schema.items);\n }\n /* Validate all the values in array */\n for (const value of data) {\n // TODO: remove when TypeScript 4.1 is available\n // (currently the narrowed type from `Array.isArray()` is lost on readonly arrays)\n if (!this.validate(value, schema.items)) {\n return false;\n }\n }\n return true;\n }\n /**\n * Validate a tuple (array with fixed length and multiple types)\n * @param data Data to validate\n * @param schemas Schemas describing the tuple\n * @returns If data is valid: `true`, if it is invalid: `false`\n */\n validateTuple(data, schemas) {\n /* Tuples have a fixed length */\n if (data.length !== schemas.length) {\n return false;\n }\n for (let i = 0; i < schemas.length; i += 1) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (!this.validate(data[i], schemas[i])) {\n return false;\n }\n }\n return true;\n }\n /**\n * Validate an object\n * @param data Data to validate\n * @param schema JSON schema describing the object\n * @returns If data is valid: `true`, if it is invalid: `false`\n */\n validateObject(data, schema) {\n /* Check the type and if not `null` as `null` also have the type `object` in old browsers */\n if ((typeof data !== 'object') || (data === null)) {\n return false;\n }\n /* Check if the object doesn't have more properties than expected\n * Equivalent of `additionalProperties: false`\n */\n if (Object.keys(schema.properties).length < Object.keys(data).length) {\n return false;\n }\n /* Validate required properties */\n if (schema.required) {\n for (const requiredProp of schema.required) {\n if (!Object.prototype.hasOwnProperty.call(data, requiredProp)) {\n return false;\n }\n }\n }\n /* Recursively validate all properties */\n for (const property in schema.properties) {\n /* Filter to keep only real properties (no internal JS stuff) and check if the data has the property too */\n if (Object.prototype.hasOwnProperty.call(schema.properties, property) && Object.prototype.hasOwnProperty.call(data, property)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (!this.validate(data[property], schema.properties[property])) {\n return false;\n }\n }\n }\n return true;\n }\n /**\n * Validate a constant\n * @param data Data ta validate\n * @param schema JSON schema describing the constant\n * @returns If data is valid: `true`, if it is invalid: `false`\n */\n validateConst(data, schema) {\n if (!schema.const) {\n return true;\n }\n return (data === schema.const);\n }\n /**\n * Validate an enum\n * @param data Data ta validate\n * @param schema JSON schema describing the enum\n * @returns If data is valid: `true`, if it is invalid: `false`\n */\n validateEnum(data, schema) {\n if (!schema.enum) {\n return true;\n }\n /* Cast as the data can be of multiple types, and so TypeScript is lost */\n return (schema.enum.includes(data));\n }\n}\nJSONValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: JSONValidator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nJSONValidator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: JSONValidator, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: JSONValidator, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n\n/**\n * Token to provide a prefix to `localStorage` keys.\n */\nconst LS_PREFIX = new InjectionToken('localStoragePrefix', {\n providedIn: 'root',\n factory: () => ''\n});\n/**\n * Default name used for `indexedDB` database.\n */\nconst DEFAULT_IDB_DB_NAME = 'ngStorage';\n/**\n * Token to provide `indexedDB` database name.\n */\nconst IDB_DB_NAME = new InjectionToken('localStorageIDBDBName', {\n providedIn: 'root',\n factory: () => DEFAULT_IDB_DB_NAME\n});\n/**\n * Default version used for `indexedDB` database.\n */\nconst DEFAULT_IDB_DB_VERSION = 1;\n/**\n * Token to provide `indexedDB` database version.\n * Must be an unsigned **integer**.\n */\nconst IDB_DB_VERSION = new InjectionToken('localStorageIDBDBVersion', {\n providedIn: 'root',\n factory: () => DEFAULT_IDB_DB_VERSION\n});\n/**\n * Default name used for `indexedDB` object store.\n */\nconst DEFAULT_IDB_STORE_NAME = 'localStorage';\n/**\n * Token to provide `indexedDB` store name.\n * For backward compatibility, the default can't be set now, `IndexedDBDatabase` will do it at runtime.\n */\nconst IDB_STORE_NAME = new InjectionToken('localStorageIDBStoreName', {\n providedIn: 'root',\n factory: () => DEFAULT_IDB_STORE_NAME\n});\n/**\n * Default value for interoperability with native `indexedDB` and other storage libs,\n * by changing how values are stored in `indexedDB` database.\n */\nconst DEFAULT_IDB_NO_WRAP = true;\n/**\n * Token to allow interoperability with native `indexedDB` and other storage libs,\n * by changing how values are stored in `indexedDB` database.\n * Defaults to `true`. Change to `false` for backward compatiblity in existing applications.\n * **DO NOT CHANGE THIS BEHAVIOR ONCE IN PRODUCTION**, as it would break with existing data.\n */\nconst IDB_NO_WRAP = new InjectionToken('localStorageIDBWrap', {\n providedIn: 'root',\n factory: () => DEFAULT_IDB_NO_WRAP\n});\n\n/**\n * Exception message when `indexedDB` is not working\n */\nconst IDB_BROKEN_ERROR = 'indexedDB is not working';\n/**\n * Exception raised when `indexedDB` is not working\n */\nclass IDBBrokenError extends Error {\n constructor() {\n super(...arguments);\n this.message = IDB_BROKEN_ERROR;\n }\n}\n/**\n * Exception message when a value can't be serialized for `localStorage`\n */\nconst SERIALIZATION_ERROR = `The storage is currently localStorage,\nwhere data must be serialized, and the provided data can't be serialized.`;\n/**\n * Exception raised when a value can't be serialized for `localStorage`\n */\nclass SerializationError extends Error {\n constructor() {\n super(...arguments);\n this.message = SERIALIZATION_ERROR;\n }\n}\n\nclass IndexedDBDatabase {\n /**\n * Constructor params are provided by Angular (but can also be passed manually in tests)\n * @param dbName `indexedDB` database name\n * @param storeName `indexedDB` store name\n * @param dbVersion `indexedDB` database version\n * @param noWrap Flag to not wrap `indexedDB` values for interoperability or to wrap for backward compatibility\n */\n constructor(dbName = DEFAULT_IDB_DB_NAME, storeName = DEFAULT_IDB_STORE_NAME, dbVersion = DEFAULT_IDB_DB_VERSION, noWrap = DEFAULT_IDB_NO_WRAP) {\n /**\n * `indexedDB` database connection, wrapped in a RxJS `ReplaySubject` to be able to access the connection\n * even after the connection success event happened\n */\n this.database = new ReplaySubject(1);\n /**\n * Index used when wrapping value. *For backward compatibility only.*\n */\n this.wrapIndex = 'value';\n this.dbName = dbName;\n this.storeName = storeName;\n this.dbVersion = dbVersion;\n this.noWrap = noWrap;\n /* Connect to `indexedDB`, with prefix if provided by the user */\n this.connect();\n }\n /**\n * Information about `indexedDB` connection. *Only useful for interoperability.*\n * @returns `indexedDB` database name, store name and database version\n */\n get backingStore() {\n return {\n database: this.dbName,\n store: this.storeName,\n version: this.dbVersion,\n };\n }\n /**\n * Number of items in our `indexedDB` database and object store\n */\n get size() {\n /* Open a transaction in read-only mode */\n return this.transaction('readonly').pipe(mergeMap((transactionData) => {\n const { store, events } = transactionData;\n /* Request to know the number of items */\n const request = store.count();\n /* Return the result */\n return events.pipe(map(() => request.result));\n }), \n /* The observable will complete after the first value */\n first());\n }\n /**\n * Gets an item value in our `indexedDB` store\n * @param key The item's key\n * @returns The item's value if the key exists, `undefined` otherwise, wrapped in an RxJS `Observable`\n */\n get(key) {\n /* Open a transaction in read-only mode */\n return this.transaction('readonly').pipe(mergeMap((transactionData) => {\n const { store, events } = transactionData;\n /* Request the value with the key provided by the user */\n const request = store.get(key);\n /* Listen events and return the result */\n return events.pipe(map(() => {\n if ((request.result !== undefined) && (request.result !== null)) {\n /* Prior to v8, the value was wrapped in an `{ value: ...}` object */\n if (!this.noWrap && (typeof request.result === 'object') && (this.wrapIndex in request.result) &&\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n (request.result[this.wrapIndex] !== undefined) && (request.result[this.wrapIndex] !== null)) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return request.result[this.wrapIndex];\n }\n else {\n /* Cast to the wanted type */\n return request.result;\n }\n }\n /* Return `undefined` if the value is empty */\n return undefined;\n }));\n }), \n /* The observable will complete after the first value */\n first());\n }\n /**\n * Sets an item in our `indexedDB` store\n * @param key The item's key\n * @param data The item's value\n * @returns An RxJS `Observable` to wait the end of the operation\n */\n set(key, data) {\n /* Storing `undefined` in `indexedDb` can cause issues in some browsers so removing item instead */\n if (data === undefined) {\n return this.delete(key);\n }\n /* Open a transaction in write mode */\n return this.transaction('readwrite').pipe(mergeMap((transactionData) => {\n const { store, events } = transactionData;\n /* Prior to v8, data was wrapped in a `{ value: ... }` object */\n const dataToStore = this.noWrap ? data : { [this.wrapIndex]: data };\n /* Add if the item is not existing yet, or update otherwise */\n store.put(dataToStore, key);\n /* Listen to events and return `undefined` as no value is expected */\n return events.pipe(mapTo(undefined));\n }), \n /* The observable will complete after the first value */\n first());\n }\n /**\n * Deletes an item in our `indexedDB` store\n * @param key The item's key\n * @returns An RxJS `Observable` to wait the end of the operation\n */\n delete(key) {\n /* Open a transaction in write mode */\n return this.transaction('readwrite').pipe(mergeMap((transactionData) => {\n const { store, events } = transactionData;\n /* Delete the item in store */\n store.delete(key);\n /* Listen to events and return `undefined` as no data is expected here */\n return events.pipe(mapTo(undefined));\n }), \n /* The observable will complete after the first value */\n first());\n }\n /**\n * Deletes all items from our `indexedDB` objet store\n * @returns An RxJS `Observable` to wait the end of the operation\n */\n clear() {\n /* Open a transaction in write mode */\n return this.transaction('readwrite').pipe(mergeMap((transactionData) => {\n const { store, events } = transactionData;\n /* Delete all items in object store */\n store.clear();\n /* Listen to events and return `undefined` as no data is expected here */\n return events.pipe(mapTo(undefined));\n }), \n /* The observable will complete */\n first());\n }\n /**\n * Get all the keys in our `indexedDB` store\n * @returns An RxJS `Observable` iterating on each key\n */\n keys() {\n /* Open a transaction in read-only mode */\n return this.transaction('readonly').pipe(\n /* `first()` is used as the final operator in other methods to complete the `Observable`\n * (as it all starts from a `ReplaySubject` which never ends),\n * but as this method is iterating over multiple values, `first()` **must** be used here */\n first(), mergeMap((transactionData) => {\n const { store } = transactionData;\n /* Open a cursor on the store\n * `.openKeyCursor()` is better for performance, but only available in indexedDB v2 (missing in IE)\n * Avoid issues like https://github.com/cyrilletuzi/angular-async-local-storage/issues/69 */\n const request = ('openKeyCursor' in store) ? store.openKeyCursor() : store.openCursor();\n /* Listen to success event */\n const success$ = fromEvent(request, 'success').pipe(\n /* Stop the `Observable` when the cursor is `null` */\n takeWhile(() => (request.result !== null)), \n /* This lib only allows string keys, but user could have added other types of keys from outside\n * It's OK to cast as the cursor as been tested in the previous operator */\n map(() => request.result.key.toString()), \n /* Iterate on the cursor */\n tap(() => { request.result.continue(); }));\n /* Listen to error event and if so, throw an error */\n const error$ = this.listenError(request);\n /* Choose the first event to occur */\n return race([success$, error$]);\n }));\n }\n /**\n * Check if a key exists in our `indexedDB` store\n * @returns An RxJS `Observable` telling if the key exists or not\n */\n has(key) {\n /* Open a transaction in read-only mode */\n return this.transaction('readonly').pipe(mergeMap((transactionData) => {\n const { store, events } = transactionData;\n /* Check if the key exists in the store\n * `getKey()` is better but only available in `indexedDB` v2 (Chrome >= 58, missing in IE/Edge Legacy).\n * In older browsers, the value is checked instead, but it could lead to an exception\n * if `undefined` was stored outside of this lib (e.g. directly with the native `indexedDB` API).\n * Fixes https://github.com/cyrilletuzi/angular-async-local-storage/issues/69\n */\n const request = ('getKey' in store) ? store.getKey(key) : store.get(key);\n /* Listen to events and return `true` or `false` */\n return events.pipe(map(() => (request.result !== undefined) ? true : false));\n }), \n /* The observable will complete */\n first());\n }\n /**\n * Connects to `indexedDB` and creates the object store on first time\n */\n connect() {\n let request;\n /* Connect to `indexedDB`\n * Will fail in Safari cross-origin iframes\n * @see {@link https://github.com/cyrilletuzi/angular-async-local-storage/issues/42} */\n try {\n /* Do NOT explicit `window` here, as `indexedDB` could be used from a web worker too */\n request = indexedDB.open(this.dbName, this.dbVersion);\n }\n catch (_a) {\n this.database.error(new IDBBrokenError());\n return;\n }\n /* Create store on first connection */\n this.createStore(request);\n /* Listen to success and error events */\n const success$ = fromEvent(request, 'success');\n const error$ = this.listenError(request);\n /* Choose the first to occur */\n race([success$, error$])\n /* The observable will complete */\n .pipe(first())\n .subscribe({\n next: () => {\n /* Register the database connection in the `ReplaySubject` for further access */\n this.database.next(request.result);\n },\n error: () => {\n /* Firefox private mode issue: fallback storage if IndexedDb connection is failing\n * @see {@link https://bugzilla.mozilla.org/show_bug.cgi?id=781982}\n * @see {@link https://github.com/cyrilletuzi/angular-async-local-storage/issues/26} */\n this.database.error(new IDBBrokenError());\n },\n });\n }\n /**\n * Create store on first use of `indexedDB`\n * @param request `indexedDB` database opening request\n */\n createStore(request) {\n /* Listen to the event fired on first connection */\n fromEvent(request, 'upgradeneeded')\n /* The observable will complete */\n .pipe(first())\n .subscribe({\n next: () => {\n /* Check if the store already exists, to avoid error */\n if (!request.result.objectStoreNames.contains(this.storeName)) {\n /* Create the object store */\n request.result.createObjectStore(this.storeName);\n }\n }\n });\n }\n /**\n * Open an `indexedDB` transaction and get our store\n * @param mode `readonly` or `readwrite`\n * @returns An `indexedDB` transaction store and events, wrapped in an RxJS `Observable`\n */\n transaction(mode) {\n /* From the `indexedDB` connection, open a transaction and get the store */\n return this.database\n .pipe(mergeMap((database) => {\n let transaction;\n try {\n transaction = database.transaction([this.storeName], mode);\n }\n catch (error) {\n /* The store could have been deleted from outside */\n return throwError(error);\n }\n /* Get the store from the transaction */\n const store = transaction.objectStore(this.storeName);\n /* Listen transaction `complete` and `error` events */\n const events = this.listenTransactionEvents(transaction);\n return of({ store, events });\n }));\n }\n /**\n * Listen errors on a transaction or request, and throw if trigerred\n * @param transactionOrRequest `indexedDb` transaction or request to listen\n * @returns An `Observable` listening to errors\n */\n listenError(transactionOrRequest) {\n return fromEvent(transactionOrRequest, 'error').pipe(\n /* Throw on error to be able to catch errors in RxJS way.\n * Here `event.target` must be used, as `transactionOrRequest.error` will be `null`\n * if we are on the request and the error is only triggered later by the transaction */\n mergeMap((event) => throwError(event.target.error)));\n }\n /**\n * Listen transaction `complete` and `error` events\n * @param transaction Transaction to listen\n * @returns An `Observable` listening to transaction `complete` and `error` events\n */\n listenTransactionEvents(transaction) {\n /* Listen to the `complete` event */\n const complete$ = fromEvent(transaction, 'complete');\n /* Listen to the `error` event */\n const error$ = this.listenError(transaction);\n /* Choose the first event to occur */\n return race([complete$, error$]);\n }\n}\nIndexedDBDatabase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: IndexedDBDatabase, deps: [{ token: IDB_DB_NAME }, { token: IDB_STORE_NAME }, { token: IDB_DB_VERSION }, { token: IDB_NO_WRAP }], target: i0.ɵɵFactoryTarget.Injectable });\nIndexedDBDatabase.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: IndexedDBDatabase, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: IndexedDBDatabase, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [IDB_DB_NAME]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [IDB_STORE_NAME]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [IDB_DB_VERSION]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [IDB_NO_WRAP]\n }] }]; } });\n\nclass LocalStorageDatabase {\n /**\n * Constructor params are provided by Angular (but can also be passed manually in tests)\n * @param prefix Prefix option to avoid collision for multiple apps on the same subdomain or for interoperability\n */\n constructor(prefix = '') {\n /* Prefix if asked, or no prefix otherwise */\n this.prefix = prefix || '';\n }\n /**\n * Number of items in `localStorage`\n */\n get size() {\n /* Wrap in a RxJS `Observable` to be consistent with other storages */\n return of(localStorage.length);\n }\n /**\n * Gets an item value in `localStorage`\n * @param key The item's key\n * @returns The item's value if the key exists, `undefined` otherwise, wrapped in a RxJS `Observable`\n */\n get(key) {\n /* Get raw data */\n const unparsedData = localStorage.getItem(this.prefixKey(key));\n let parsedData;\n /* No need to parse if data is `null` or `undefined` */\n if ((unparsedData !== undefined) && (unparsedData !== null)) {\n /* Try to parse */\n try {\n parsedData = JSON.parse(unparsedData);\n }\n catch (error) {\n return throwError(error);\n }\n }\n /* Wrap in a RxJS `Observable` to be consistent with other storages */\n return of(parsedData);\n }\n /**\n * Store an item in `localStorage`\n * @param key The item's key\n * @param data The item's value\n * @returns A RxJS `Observable` to wait the end of the operation\n */\n set(key, data) {\n let serializedData = null;\n /* Check if data can be serialized */\n const dataPrototype = Object.getPrototypeOf(data);\n if ((typeof data === 'object') && (data !== null) && !Array.isArray(data) &&\n !((dataPrototype === Object.prototype) || (dataPrototype === null))) {\n return throwError(new SerializationError());\n }\n /* Try to stringify (can fail on circular references) */\n try {\n serializedData = JSON.stringify(data);\n }\n catch (error) {\n return throwError(error);\n }\n /* Can fail if storage quota is exceeded */\n try {\n localStorage.setItem(this.prefixKey(key), serializedData);\n }\n catch (error) {\n return throwError(error);\n }\n /* Wrap in a RxJS `Observable` to be consistent with other storages */\n return of(undefined);\n }\n /**\n * Deletes an item in `localStorage`\n * @param key The item's key\n * @returns A RxJS `Observable` to wait the end of the operation\n */\n delete(key) {\n localStorage.removeItem(this.prefixKey(key));\n /* Wrap in a RxJS `Observable` to be consistent with other storages */\n return of(undefined);\n }\n /**\n * Deletes all items in `localStorage`\n * @returns A RxJS `Observable` to wait the end of the operation\n */\n clear() {\n localStorage.clear();\n /* Wrap in a RxJS `Observable` to be consistent with other storages */\n return of(undefined);\n }\n /**\n * Get all keys in `localStorage`\n * Note the order of the keys may be inconsistent in Firefox\n * @returns A RxJS `Observable` iterating on keys\n */\n keys() {\n /* Create an `Observable` from keys */\n return new Observable((subscriber) => {\n /* Iteretate over all the indexes */\n for (let index = 0; index < localStorage.length; index += 1) {\n /* Cast as we are sure in this case the key is not `null` */\n subscriber.next(this.getUnprefixedKey(index));\n }\n subscriber.complete();\n }).pipe(\n /* Required to work like other databases which are asynchronous */\n observeOn(asyncScheduler));\n }\n /**\n * Check if a key exists in `localStorage`\n * @param key The item's key\n * @returns A RxJS `Observable` telling if the key exists or not\n */\n has(key) {\n /* Itérate over all indexes in storage */\n for (let index = 0; index < localStorage.length; index += 1) {\n if (key === this.getUnprefixedKey(index)) {\n /* Wrap in a RxJS `Observable` to be consistent with other storages */\n return of(true);\n }\n }\n /* Wrap in a RxJS `Observable` to be consistent with other storages */\n return of(false);\n }\n /**\n * Get an unprefixed key\n * @param index Index of the key\n * @returns The unprefixed key name if exists, `null` otherwise\n */\n getUnprefixedKey(index) {\n /* Get the key in storage: may have a prefix */\n const prefixedKey = localStorage.key(index);\n if (prefixedKey !== null) {\n /* If no prefix, the key is already good, otherwrite strip the prefix */\n return !this.prefix ? prefixedKey : prefixedKey.substr(this.prefix.length);\n }\n return null;\n }\n /**\n * Add the prefix to a key\n * @param key The key name\n * @returns The prefixed key name\n */\n prefixKey(key) {\n return `${this.prefix}${key}`;\n }\n}\nLocalStorageDatabase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: LocalStorageDatabase, deps: [{ token: LS_PREFIX }], target: i0.ɵɵFactoryTarget.Injectable });\nLocalStorageDatabase.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: LocalStorageDatabase, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: LocalStorageDatabase, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LS_PREFIX]\n }] }]; } });\n\nclass MemoryDatabase {\n constructor() {\n /**\n * Memory storage\n */\n this.memoryStorage = new Map();\n }\n /**\n * Number of items in memory\n */\n get size() {\n /* Wrap in a RxJS `Observable` to be consistent with other storages */\n return of(this.memoryStorage.size);\n }\n /**\n * Gets an item value in memory\n * @param key The item's key\n * @returns The item's value if the key exists, `undefined` otherwise, wrapped in a RxJS `Observable`\n */\n get(key) {\n /* Wrap in a RxJS `Observable` to be consistent with other storages */\n return of(this.memoryStorage.get(key));\n }\n /**\n * Sets an item in memory\n * @param key The item's key\n * @param data The item's value\n * @returns A RxJS `Observable` to wait the end of the operation\n */\n set(key, data) {\n this.memoryStorage.set(key, data);\n /* Wrap in a RxJS `Observable` to be consistent with other storages */\n return of(undefined);\n }\n /**\n * Deletes an item in memory\n * @param key The item's key\n * @returns A RxJS `Observable` to wait the end of the operation\n */\n delete(key) {\n this.memoryStorage.delete(key);\n /* Wrap in a RxJS `Observable` to be consistent with other storages */\n return of(undefined);\n }\n /**\n * Deletes all items in memory\n * @returns A RxJS `Observable` to wait the end of the operation\n */\n clear() {\n this.memoryStorage.clear();\n /* Wrap in a RxJS `Observable` to be consistent with other storages */\n return of(undefined);\n }\n /**\n * Get all keys in memory\n * @returns A RxJS `Observable` iterating on keys\n */\n keys() {\n /* Create an `Observable` from keys */\n return from(this.memoryStorage.keys());\n }\n /**\n * Check if a key exists in memory\n * @param key Key name\n * @returns a RxJS `Observable` telling if the key exists or not\n */\n has(key) {\n /* Wrap in a RxJS `Observable` to be consistent with other storages */\n return of(this.memoryStorage.has(key));\n }\n}\nMemoryDatabase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: MemoryDatabase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nMemoryDatabase.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: MemoryDatabase, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: MemoryDatabase, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n\n/**\n * Factory to create a storage according to browser support\n * @param platformId Context about the platform (`browser`, `server`...)\n * @param LSPrefix Prefix for `localStorage` keys to avoid collision for multiple apps on the same subdomain\n * @param IDBDBName `indexedDB` database name\n * @param IDBstoreName `indexedDB` storeName name\n * @see {@link https://github.com/cyrilletuzi/angular-async-local-storage/blob/main/docs/BROWSERS_SUPPORT.md}\n */\nfunction localDatabaseFactory(platformId, LSPrefix, IDBDBName, IDBStoreName, IDBDBVersion, IDBNoWrap) {\n /* When storage is fully disabled in browser (via the \"Block all cookies\" option),\n * just trying to check `indexedDB` or `localStorage` variables causes a security exception.\n * Prevents https://github.com/cyrilletuzi/angular-async-local-storage/issues/118\n */\n try {\n // Do not explicit `window` here, as the global object is not the same in web workers\n if (isPlatformBrowser(platformId) && (indexedDB !== undefined) && (indexedDB !== null) && ('open' in indexedDB)) {\n /* Check:\n * - if we are in a browser context (issue: server-side rendering)\n * - it could exist but be `undefined` or `null` (issue: IE private mode)\n * - it could exists but not having a working API\n * Will be the case for:\n * - All other browsers in normal mode\n * - Chromium / Safari private mode, but in this case, data will be swiped when the user leaves the app */\n return new IndexedDBDatabase(IDBDBName, IDBStoreName, IDBDBVersion, IDBNoWrap);\n }\n else if (isPlatformBrowser(platformId)\n && (localStorage !== undefined) && (localStorage !== null) && ('getItem' in localStorage)) {\n /* Check:\n * - if we are in a browser context (issue: server-side rendering)\n * - if `localStorage` exists (to be sure)\n * - it could exists but not having a working API\n * Will be the case for:\n * - Safari cross-origin iframes, detected later in `IndexedDBDatabase.connect()`\n * @see {@link https://github.com/cyrilletuzi/angular-async-local-storage/issues/42}\n * - IE / Firefox private mode, but in this case, data will be swiped when the user leaves the app\n * For Firefox, can only be detected later in `IndexedDBDatabase.connect()`\n * @see {@link https://bugzilla.mozilla.org/show_bug.cgi?id=781982}\n */\n return new LocalStorageDatabase(LSPrefix);\n }\n }\n catch (_a) {\n // Nothing to do\n }\n /* Will be the case for:\n * - In browsers if storage has been fully disabled (via the \"Block all cookies\" option)\n * - Server-side rendering\n * - All other non-browser context\n */\n return new MemoryDatabase();\n}\nclass LocalDatabase {\n}\nLocalDatabase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: LocalDatabase, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLocalDatabase.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: LocalDatabase, providedIn: 'root', useFactory: localDatabaseFactory, deps: [{ token: PLATFORM_ID }, { token: LS_PREFIX }, { token: IDB_DB_NAME }, { token: IDB_STORE_NAME }, { token: IDB_DB_VERSION }, { token: IDB_NO_WRAP }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: LocalDatabase, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n useFactory: localDatabaseFactory,\n deps: [\n PLATFORM_ID,\n LS_PREFIX,\n IDB_DB_NAME,\n IDB_STORE_NAME,\n IDB_DB_VERSION,\n IDB_NO_WRAP,\n ]\n }]\n }] });\n\n/**\n * Exception message when a value is not valid against the JSON schema\n */\nconst VALIDATION_ERROR = `Data stored is not valid against the provided JSON schema.\nCheck your JSON schema, otherwise it means data has been corrupted.`;\n/**\n * Exception raised when a value is not valid against the JSON schema\n */\nclass ValidationError extends Error {\n constructor() {\n super(...arguments);\n this.message = VALIDATION_ERROR;\n }\n}\n\nclass StorageMap {\n /**\n * Constructor params are provided by Angular (but can also be passed manually in tests)\n * @param database Storage to use\n * @param jsonValidator Validator service\n * @param LSPrefix Prefix for `localStorage` keys to avoid collision for multiple apps on the same subdomain or for interoperability\n */\n constructor(database, jsonValidator = new JSONValidator(), LSPrefix = '') {\n this.database = database;\n this.jsonValidator = jsonValidator;\n this.LSPrefix = LSPrefix;\n this.notifiers = new Map();\n }\n /**\n * **Number of items** in storage, wrapped in an `Observable`.\n *\n * @example\n * this.storageMap.size.subscribe((size) => {\n * console.log(size);\n * });\n */\n get size() {\n return this.database.size\n /* Catch if `indexedDb` is broken */\n .pipe(this.catchIDBBroken(() => this.database.size));\n }\n /**\n * Tells you which storage engine is used. *Only useful for interoperability.*\n * Note that due to some browsers issues in some special contexts\n * (Firefox private mode and Safari cross-origin iframes),\n * **this information may be wrong at initialization,**\n * as the storage could fallback from `indexedDB` to `localStorage`\n * only after a first read or write operation.\n * @returns Storage engine used\n *\n * @see {@link https://github.com/cyrilletuzi/angular-async-local-storage/blob/main/docs/INTEROPERABILITY.md}\n *\n * @example\n * if (this.storageMap.backingEngine === 'indexedDB') {}\n */\n get backingEngine() {\n if (this.database instanceof IndexedDBDatabase) {\n return 'indexedDB';\n }\n else if (this.database instanceof LocalStorageDatabase) {\n return 'localStorage';\n }\n else if (this.database instanceof MemoryDatabase) {\n return 'memory';\n }\n else {\n return 'unknown';\n }\n }\n /**\n * Info about `indexedDB` database. *Only useful for interoperability.*\n * @returns `indexedDB` database name, store name and database version.\n * **Values will be empty if the storage is not `indexedDB`,**\n * **so it should be used after an engine check**.\n *\n * @see {@link https://github.com/cyrilletuzi/angular-async-local-storage/blob/main/docs/INTEROPERABILITY.md}\n *\n * @example\n * if (this.storageMap.backingEngine === 'indexedDB') {\n * const { database, store, version } = this.storageMap.backingStore;\n * }\n */\n get backingStore() {\n return (this.database instanceof IndexedDBDatabase) ?\n this.database.backingStore :\n { database: '', store: '', version: 0 };\n }\n /**\n * Info about `localStorage` fallback storage. *Only useful for interoperability.*\n * @returns `localStorage` prefix.\n * **Values will be empty if the storage is not `localStorage`,**\n * **so it should be used after an engine check**.\n *\n * @see {@link https://github.com/cyrilletuzi/angular-async-local-storage/blob/main/docs/INTEROPERABILITY.md}\n *\n * @example\n * if (this.storageMap.backingEngine === 'localStorage') {\n * const { prefix } = this.storageMap.fallbackBackingStore;\n * }\n */\n get fallbackBackingStore() {\n return (this.database instanceof LocalStorageDatabase) ?\n { prefix: this.database.prefix } :\n { prefix: '' };\n }\n get(key, schema) {\n /* Get the data in storage */\n return this.database.get(key).pipe(\n /* Check if `indexedDb` is broken */\n this.catchIDBBroken(() => this.database.get(key)), mergeMap((data) => {\n /* No need to validate if the data is empty */\n if ((data === undefined) || (data === null)) {\n return of(undefined);\n }\n else if (schema) {\n /* Validate data against a JSON schema if provided */\n if (!this.jsonValidator.validate(data, schema)) {\n return throwError(new ValidationError());\n }\n /* Data have been checked, so it's OK to cast */\n return of(data);\n }\n /* Cast to unknown as the data wasn't checked */\n return of(data);\n }));\n }\n /**\n * Set an item in storage.\n * Note that setting `null` or `undefined` will remove the item to avoid some browsers issues.\n * @param key The item's key\n * @param data The item's value\n * @param schema Optional JSON schema to validate the data\n * @returns A RxJS `Observable` to wait the end of the operation\n *\n * @example\n * this.storageMap.set('key', 'value').subscribe(() => {});\n */\n set(key, data, schema) {\n /* Storing `undefined` or `null` is useless and can cause issues in `indexedDb` in some browsers,\n * so removing item instead for all storages to have a consistent API */\n if ((data === undefined) || (data === null)) {\n return this.delete(key);\n }\n /* Validate data against a JSON schema if provided */\n if (schema && !this.jsonValidator.validate(data, schema)) {\n return throwError(new ValidationError());\n }\n return this.database.set(key, data).pipe(\n /* Catch if `indexedDb` is broken */\n this.catchIDBBroken(() => this.database.set(key, data)), \n /* Notify watchers (must be last because it should only happen if the operation succeeds) */\n tap(() => { this.notify(key, data); }));\n }\n /**\n * Delete an item in storage\n * @param key The item's key\n * @returns A RxJS `Observable` to wait the end of the operation\n *\n * @example\n * this.storageMap.delete('key').subscribe(() => {});\n */\n delete(key) {\n return this.database.delete(key).pipe(\n /* Catch if `indexedDb` is broken */\n this.catchIDBBroken(() => this.database.delete(key)), \n /* Notify watchers (must be last because it should only happen if the operation succeeds) */\n tap(() => { this.notify(key, undefined); }));\n }\n /**\n * Delete all items in storage\n * @returns A RxJS `Observable` to wait the end of the operation\n *\n * @example\n * this.storageMap.clear().subscribe(() => {});\n */\n clear() {\n return this.database.clear().pipe(\n /* Catch if `indexedDb` is broken */\n this.catchIDBBroken(() => this.database.clear()), \n /* Notify watchers (must be last because it should only happen if the operation succeeds) */\n tap(() => {\n for (const key of this.notifiers.keys()) {\n this.notify(key, undefined);\n }\n }));\n }\n /**\n * Get all keys stored in storage. Note **this is an *iterating* `Observable`**:\n * * if there is no key, the `next` callback will not be invoked,\n * * if you need to wait the whole operation to end, be sure to act in the `complete` callback,\n * as this `Observable` can emit several values and so will invoke the `next` callback several times.\n * @returns A list of the keys wrapped in a RxJS `Observable`\n *\n * @example\n * this.storageMap.keys().subscribe({\n * next: (key) => { console.log(key); },\n * complete: () => { console.log('Done'); },\n * });\n */\n keys() {\n return this.database.keys()\n /* Catch if `indexedDb` is broken */\n .pipe(this.catchIDBBroken(() => this.database.keys()));\n }\n /**\n * Tells if a key exists in storage\n * @returns A RxJS `Observable` telling if the key exists\n *\n * @example\n * this.storageMap.has('key').subscribe((hasKey) => {\n * if (hasKey) {}\n * });\n */\n has(key) {\n return this.database.has(key)\n /* Catch if `indexedDb` is broken */\n .pipe(this.catchIDBBroken(() => this.database.has(key)));\n }\n watch(key, schema) {\n /* Check if there is already a notifier */\n if (!this.notifiers.has(key)) {\n this.notifiers.set(key, new ReplaySubject(1));\n }\n /* Non-null assertion is required because TypeScript doesn't narrow `.has()` yet */\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const notifier = this.notifiers.get(key);\n /* Get the current item value */\n (schema ? this.get(key, schema) : this.get(key)).subscribe({\n next: (result) => notifier.next(result),\n error: (error) => notifier.error(error),\n });\n /* Only the public API of the `Observable` should be returned */\n return (schema ?\n notifier.asObservable() :\n notifier.asObservable());\n }\n /**\n * Notify when a value changes\n * @param key The item's key\n * @param data The new value\n */\n notify(key, value) {\n const notifier = this.notifiers.get(key);\n if (notifier) {\n notifier.next(value);\n }\n }\n /**\n * RxJS operator to catch if `indexedDB` is broken\n * @param operationCallback Callback with the operation to redo\n */\n catchIDBBroken(operationCallback) {\n return catchError((error) => {\n /* Check if `indexedDB` is broken based on error message (the specific error class seems to be lost in the process) */\n if ((error !== undefined) && (error !== null)\n && (typeof error === 'object') && ('message' in error)\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n && (error.message === IDB_BROKEN_ERROR)) {\n /* When storage is fully disabled in browser (via the \"Block all cookies\" option),\n * just trying to check `localStorage` variable causes a security exception.\n * Prevents https://github.com/cyrilletuzi/angular-async-local-storage/issues/118\n */\n try {\n if ('getItem' in localStorage) {\n /* Fallback to `localStorage` if available */\n this.database = new LocalStorageDatabase(this.LSPrefix);\n }\n else {\n /* Fallback to memory storage otherwise */\n this.database = new MemoryDatabase();\n }\n }\n catch (_a) {\n /* Fallback to memory storage otherwise */\n this.database = new MemoryDatabase();\n }\n /* Redo the operation */\n return operationCallback();\n }\n else {\n /* Otherwise, rethrow the error */\n return throwError(error);\n }\n });\n }\n}\nStorageMap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: StorageMap, deps: [{ token: LocalDatabase }, { token: JSONValidator }, { token: LS_PREFIX }], target: i0.ɵɵFactoryTarget.Injectable });\nStorageMap.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: StorageMap, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: StorageMap, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: LocalDatabase }, { type: JSONValidator }, { type: undefined, decorators: [{\n type: Inject,\n args: [LS_PREFIX]\n }] }]; } });\n\nclass LocalStorage {\n /* Use the `StorageMap` service to avoid code duplication */\n constructor(storageMap) {\n this.storageMap = storageMap;\n }\n /**\n * Number of items in storage wrapped in an `Observable`\n *\n * @example\n * this.localStorage.length.subscribe((length) => {\n * console.log(length);\n * });\n */\n get length() {\n return this.storageMap.size;\n }\n getItem(key, schema) {\n if (schema) {\n /* Backward compatibility with version <= 7 */\n schema = ('schema' in schema) ? schema.schema : schema;\n }\n return (schema ? this.storageMap.get(key, schema) : this.storageMap.get(key)).pipe(\n /* Transform `undefined` into `null` to align with `localStorage` API */\n map((value) => (value !== undefined) ? value : null));\n }\n /**\n * Set an item in storage.\n * Note that setting `null` or `undefined` will remove the item to avoid some browsers issues.\n * @param key The item's key\n * @param data The item's value\n * @param schema Optional JSON schema to validate the data\n * @returns A RxJS `Observable` to wait the end of the operation\n *\n * @example\n * this.localStorage.set('key', 'value').subscribe(() => {});\n */\n setItem(key, data, schema) {\n return this.storageMap.set(key, data, schema).pipe(\n /* Transform `undefined` into `true` for backward compatibility with v7 */\n mapTo(true));\n }\n /**\n * Delete an item in storage\n * @param key The item's key\n * @returns A RxJS `Observable` to wait the end of the operation\n *\n * @example\n * this.localStorage.delete('key').subscribe(() => {});\n */\n removeItem(key) {\n return this.storageMap.delete(key).pipe(\n /* Transform `undefined` into `true` for backward compatibility with v7 */\n mapTo(true));\n }\n /**\n * Delete all items in storage\n * @returns A RxJS `Observable` to wait the end of the operation\n *\n * @example\n * this.localStorage.clear().subscribe(() => {});\n */\n clear() {\n return this.storageMap.clear().pipe(\n /* Transform `undefined` into `true` for backward compatibility with v7 */\n mapTo(true));\n }\n}\nLocalStorage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: LocalStorage, deps: [{ token: StorageMap }], target: i0.ɵɵFactoryTarget.Injectable });\nLocalStorage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: LocalStorage, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: LocalStorage, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: function () { return [{ type: StorageMap }]; } });\n\n/**\n * This module does not contain anything, it's only useful to provide options via `.forRoot()`.\n */\nclass StorageModule {\n /**\n * Only useful to provide options, otherwise it does nothing.\n * **Must be used at initialization, ie. in `AppModule`, and must not be loaded again in another module.**\n *\n * @example\n * NgModule({\n * imports: [StorageModule.forRoot({\n * LSPrefix: 'custom_',\n * })]\n * })\n * export class AppModule\n */\n static forRoot(config) {\n return {\n ngModule: StorageModule,\n providers: [\n config.LSPrefix ? { provide: LS_PREFIX, useValue: config.LSPrefix } : [],\n config.IDBDBName ? { provide: IDB_DB_NAME, useValue: config.IDBDBName } : [],\n config.IDBStoreName ? { provide: IDB_STORE_NAME, useValue: config.IDBStoreName } : [],\n config.IDBDBVersion ? { provide: IDB_DB_VERSION, useValue: config.IDBDBVersion } : [],\n (config.IDBNoWrap === false) ? { provide: IDB_NO_WRAP, useValue: config.IDBNoWrap } : [],\n ],\n };\n }\n}\nStorageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: StorageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nStorageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: StorageModule });\nStorageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: StorageModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.0\", ngImport: i0, type: StorageModule, decorators: [{\n type: NgModule\n }] });\n\n/*\n * Public API Surface of local-storage\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { JSONValidator, LocalDatabase, LocalStorage, SERIALIZATION_ERROR, SerializationError, StorageMap, StorageModule, VALIDATION_ERROR, ValidationError };\n","import { Injectable, EventEmitter, Inject, InjectionToken, ChangeDetectorRef, Directive, ElementRef, Input, Pipe, NgModule } from '@angular/core';\nimport { of, concat, merge, Observable } from 'rxjs';\nimport { map, share, switchMap, take, toArray } from 'rxjs/operators';\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\n */\n/**\n * @abstract\n */\nimport * as ɵngcc0 from '@angular/core';\nclass TranslateLoader {\n}\n/**\n * This loader is just a placeholder that does nothing, in case you don't need a loader at all\n */\nclass TranslateFakeLoader extends TranslateLoader {\n /**\n * @param {?} lang\n * @return {?}\n */\n getTranslation(lang) {\n return of({});\n }\n}\nTranslateFakeLoader.ɵfac = /*@__PURE__*/ function () { let ɵTranslateFakeLoader_BaseFactory; return function TranslateFakeLoader_Factory(t) { return (ɵTranslateFakeLoader_BaseFactory || (ɵTranslateFakeLoader_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(TranslateFakeLoader)))(t || TranslateFakeLoader); }; }();\nTranslateFakeLoader.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: TranslateFakeLoader, factory: TranslateFakeLoader.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TranslateFakeLoader, [{\n type: Injectable\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\n */\n/**\n * @abstract\n */\nclass MissingTranslationHandler {\n}\n/**\n * This handler is just a placeholder that does nothing, in case you don't need a missing translation handler at all\n */\nclass FakeMissingTranslationHandler {\n /**\n * @param {?} params\n * @return {?}\n */\n handle(params) {\n return params.key;\n }\n}\nFakeMissingTranslationHandler.ɵfac = function FakeMissingTranslationHandler_Factory(t) { return new (t || FakeMissingTranslationHandler)(); };\nFakeMissingTranslationHandler.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: FakeMissingTranslationHandler, factory: FakeMissingTranslationHandler.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FakeMissingTranslationHandler, [{\n type: Injectable\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\n */\n/**\n * @abstract\n */\nclass TranslateCompiler {\n}\n/**\n * This compiler is just a placeholder that does nothing, in case you don't need a compiler at all\n */\nclass TranslateFakeCompiler extends TranslateCompiler {\n /**\n * @param {?} value\n * @param {?} lang\n * @return {?}\n */\n compile(value, lang) {\n return value;\n }\n /**\n * @param {?} translations\n * @param {?} lang\n * @return {?}\n */\n compileTranslations(translations, lang) {\n return translations;\n }\n}\nTranslateFakeCompiler.ɵfac = /*@__PURE__*/ function () { let ɵTranslateFakeCompiler_BaseFactory; return function TranslateFakeCompiler_Factory(t) { return (ɵTranslateFakeCompiler_BaseFactory || (ɵTranslateFakeCompiler_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(TranslateFakeCompiler)))(t || TranslateFakeCompiler); }; }();\nTranslateFakeCompiler.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: TranslateFakeCompiler, factory: TranslateFakeCompiler.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TranslateFakeCompiler, [{\n type: Injectable\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\n */\n/* tslint:disable */\n/**\n * Determines if two objects or two values are equivalent.\n *\n * Two objects or values are considered equivalent if at least one of the following is true:\n *\n * * Both objects or values pass `===` comparison.\n * * Both objects or values are of the same type and all of their properties are equal by\n * comparing them with `equals`.\n *\n * @param {?} o1 Object or value to compare.\n * @param {?} o2 Object or value to compare.\n * @return {?} true if arguments are equal.\n */\nfunction equals(o1, o2) {\n if (o1 === o2)\n return true;\n if (o1 === null || o2 === null)\n return false;\n if (o1 !== o1 && o2 !== o2)\n return true; // NaN === NaN\n // NaN === NaN\n /** @type {?} */\n let t1 = typeof o1;\n /** @type {?} */\n let t2 = typeof o2;\n /** @type {?} */\n let length;\n /** @type {?} */\n let key;\n /** @type {?} */\n let keySet;\n if (t1 == t2 && t1 == 'object') {\n if (Array.isArray(o1)) {\n if (!Array.isArray(o2))\n return false;\n if ((length = o1.length) == o2.length) {\n for (key = 0; key < length; key++) {\n if (!equals(o1[key], o2[key]))\n return false;\n }\n return true;\n }\n }\n else {\n if (Array.isArray(o2)) {\n return false;\n }\n keySet = Object.create(null);\n for (key in o1) {\n if (!equals(o1[key], o2[key])) {\n return false;\n }\n keySet[key] = true;\n }\n for (key in o2) {\n if (!(key in keySet) && typeof o2[key] !== 'undefined') {\n return false;\n }\n }\n return true;\n }\n }\n return false;\n}\n/* tslint:enable */\n/**\n * @param {?} value\n * @return {?}\n */\nfunction isDefined(value) {\n return typeof value !== 'undefined' && value !== null;\n}\n/**\n * @param {?} item\n * @return {?}\n */\nfunction isObject(item) {\n return (item && typeof item === 'object' && !Array.isArray(item));\n}\n/**\n * @param {?} target\n * @param {?} source\n * @return {?}\n */\nfunction mergeDeep(target, source) {\n /** @type {?} */\n let output = Object.assign({}, target);\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach((key) => {\n if (isObject(source[key])) {\n if (!(key in target)) {\n Object.assign(output, { [key]: source[key] });\n }\n else {\n output[key] = mergeDeep(target[key], source[key]);\n }\n }\n else {\n Object.assign(output, { [key]: source[key] });\n }\n });\n }\n return output;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\n */\n/**\n * @abstract\n */\nclass TranslateParser {\n}\nclass TranslateDefaultParser extends TranslateParser {\n constructor() {\n super(...arguments);\n this.templateMatcher = /{{\\s?([^{}\\s]*)\\s?}}/g;\n }\n /**\n * @param {?} expr\n * @param {?=} params\n * @return {?}\n */\n interpolate(expr, params) {\n /** @type {?} */\n let result;\n if (typeof expr === 'string') {\n result = this.interpolateString(expr, params);\n }\n else if (typeof expr === 'function') {\n result = this.interpolateFunction(expr, params);\n }\n else {\n // this should not happen, but an unrelated TranslateService test depends on it\n result = (/** @type {?} */ (expr));\n }\n return result;\n }\n /**\n * @param {?} target\n * @param {?} key\n * @return {?}\n */\n getValue(target, key) {\n /** @type {?} */\n let keys = key.split('.');\n key = '';\n do {\n key += keys.shift();\n if (isDefined(target) && isDefined(target[key]) && (typeof target[key] === 'object' || !keys.length)) {\n target = target[key];\n key = '';\n }\n else if (!keys.length) {\n target = undefined;\n }\n else {\n key += '.';\n }\n } while (keys.length);\n return target;\n }\n /**\n * @param {?} fn\n * @param {?=} params\n * @return {?}\n */\n interpolateFunction(fn, params) {\n return fn(params);\n }\n /**\n * @param {?} expr\n * @param {?=} params\n * @return {?}\n */\n interpolateString(expr, params) {\n if (!params) {\n return expr;\n }\n return expr.replace(this.templateMatcher, (substring, b) => {\n /** @type {?} */\n let r = this.getValue(params, b);\n return isDefined(r) ? r : substring;\n });\n }\n}\nTranslateDefaultParser.ɵfac = /*@__PURE__*/ function () { let ɵTranslateDefaultParser_BaseFactory; return function TranslateDefaultParser_Factory(t) { return (ɵTranslateDefaultParser_BaseFactory || (ɵTranslateDefaultParser_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(TranslateDefaultParser)))(t || TranslateDefaultParser); }; }();\nTranslateDefaultParser.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: TranslateDefaultParser, factory: TranslateDefaultParser.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TranslateDefaultParser, [{\n type: Injectable\n }], null, null); })();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\n */\nclass TranslateStore {\n constructor() {\n /**\n * The lang currently used\n */\n this.currentLang = this.defaultLang;\n /**\n * a list of translations per lang\n */\n this.translations = {};\n /**\n * an array of langs\n */\n this.langs = [];\n /**\n * An EventEmitter to listen to translation change events\n * onTranslationChange.subscribe((params: TranslationChangeEvent) => {\n * // do something\n * });\n */\n this.onTranslationChange = new EventEmitter();\n /**\n * An EventEmitter to listen to lang change events\n * onLangChange.subscribe((params: LangChangeEvent) => {\n * // do something\n * });\n */\n this.onLangChange = new EventEmitter();\n /**\n * An EventEmitter to listen to default lang change events\n * onDefaultLangChange.subscribe((params: DefaultLangChangeEvent) => {\n * // do something\n * });\n */\n this.onDefaultLangChange = new EventEmitter();\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\n */\n/** @type {?} */\nconst USE_STORE = new InjectionToken('USE_STORE');\n/** @type {?} */\nconst USE_DEFAULT_LANG = new InjectionToken('USE_DEFAULT_LANG');\nclass TranslateService {\n /**\n *\n * @param {?} store an instance of the store (that is supposed to be unique)\n * @param {?} currentLoader An instance of the loader currently used\n * @param {?} compiler An instance of the compiler currently used\n * @param {?} parser An instance of the parser currently used\n * @param {?} missingTranslationHandler A handler for missing translations.\n * @param {?=} useDefaultLang whether we should use default language translation when current language translation is missing.\n * @param {?=} isolate whether this service should use the store or not\n */\n constructor(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang = true, isolate = false) {\n this.store = store;\n this.currentLoader = currentLoader;\n this.compiler = compiler;\n this.parser = parser;\n this.missingTranslationHandler = missingTranslationHandler;\n this.useDefaultLang = useDefaultLang;\n this.isolate = isolate;\n this.pending = false;\n this._onTranslationChange = new EventEmitter();\n this._onLangChange = new EventEmitter();\n this._onDefaultLangChange = new EventEmitter();\n this._langs = [];\n this._translations = {};\n this._translationRequests = {};\n }\n /**\n * An EventEmitter to listen to translation change events\n * onTranslationChange.subscribe((params: TranslationChangeEvent) => {\n * // do something\n * });\n * @return {?}\n */\n get onTranslationChange() {\n return this.isolate ? this._onTranslationChange : this.store.onTranslationChange;\n }\n /**\n * An EventEmitter to listen to lang change events\n * onLangChange.subscribe((params: LangChangeEvent) => {\n * // do something\n * });\n * @return {?}\n */\n get onLangChange() {\n return this.isolate ? this._onLangChange : this.store.onLangChange;\n }\n /**\n * An EventEmitter to listen to default lang change events\n * onDefaultLangChange.subscribe((params: DefaultLangChangeEvent) => {\n * // do something\n * });\n * @return {?}\n */\n get onDefaultLangChange() {\n return this.isolate ? this._onDefaultLangChange : this.store.onDefaultLangChange;\n }\n /**\n * The default lang to fallback when translations are missing on the current lang\n * @return {?}\n */\n get defaultLang() {\n return this.isolate ? this._defaultLang : this.store.defaultLang;\n }\n /**\n * @param {?} defaultLang\n * @return {?}\n */\n set defaultLang(defaultLang) {\n if (this.isolate) {\n this._defaultLang = defaultLang;\n }\n else {\n this.store.defaultLang = defaultLang;\n }\n }\n /**\n * The lang currently used\n * @return {?}\n */\n get currentLang() {\n return this.isolate ? this._currentLang : this.store.currentLang;\n }\n /**\n * @param {?} currentLang\n * @return {?}\n */\n set currentLang(currentLang) {\n if (this.isolate) {\n this._currentLang = currentLang;\n }\n else {\n this.store.currentLang = currentLang;\n }\n }\n /**\n * an array of langs\n * @return {?}\n */\n get langs() {\n return this.isolate ? this._langs : this.store.langs;\n }\n /**\n * @param {?} langs\n * @return {?}\n */\n set langs(langs) {\n if (this.isolate) {\n this._langs = langs;\n }\n else {\n this.store.langs = langs;\n }\n }\n /**\n * a list of translations per lang\n * @return {?}\n */\n get translations() {\n return this.isolate ? this._translations : this.store.translations;\n }\n /**\n * @param {?} translations\n * @return {?}\n */\n set translations(translations) {\n if (this.isolate) {\n this._translations = translations;\n }\n else {\n this.store.translations = translations;\n }\n }\n /**\n * Sets the default language to use as a fallback\n * @param {?} lang\n * @return {?}\n */\n setDefaultLang(lang) {\n if (lang === this.defaultLang) {\n return;\n }\n /** @type {?} */\n let pending = this.retrieveTranslations(lang);\n if (typeof pending !== \"undefined\") {\n // on init set the defaultLang immediately\n if (!this.defaultLang) {\n this.defaultLang = lang;\n }\n pending.pipe(take(1))\n .subscribe((res) => {\n this.changeDefaultLang(lang);\n });\n }\n else { // we already have this language\n this.changeDefaultLang(lang);\n }\n }\n /**\n * Gets the default language used\n * @return {?}\n */\n getDefaultLang() {\n return this.defaultLang;\n }\n /**\n * Changes the lang currently used\n * @param {?} lang\n * @return {?}\n */\n use(lang) {\n // don't change the language if the language given is already selected\n if (lang === this.currentLang) {\n return of(this.translations[lang]);\n }\n /** @type {?} */\n let pending = this.retrieveTranslations(lang);\n if (typeof pending !== \"undefined\") {\n // on init set the currentLang immediately\n if (!this.currentLang) {\n this.currentLang = lang;\n }\n pending.pipe(take(1))\n .subscribe((res) => {\n this.changeLang(lang);\n });\n return pending;\n }\n else { // we have this language, return an Observable\n this.changeLang(lang);\n return of(this.translations[lang]);\n }\n }\n /**\n * Retrieves the given translations\n * @param {?} lang\n * @return {?}\n */\n retrieveTranslations(lang) {\n /** @type {?} */\n let pending;\n // if this language is unavailable, ask for it\n if (typeof this.translations[lang] === \"undefined\") {\n this._translationRequests[lang] = this._translationRequests[lang] || this.getTranslation(lang);\n pending = this._translationRequests[lang];\n }\n return pending;\n }\n /**\n * Gets an object of translations for a given language with the current loader\n * and passes it through the compiler\n * @param {?} lang\n * @return {?}\n */\n getTranslation(lang) {\n this.pending = true;\n /** @type {?} */\n const loadingTranslations = this.currentLoader.getTranslation(lang).pipe(share());\n this.loadingTranslations = loadingTranslations.pipe(take(1), map((res) => this.compiler.compileTranslations(res, lang)), share());\n this.loadingTranslations\n .subscribe((res) => {\n this.translations[lang] = res;\n this.updateLangs();\n this.pending = false;\n }, (err) => {\n this.pending = false;\n });\n return loadingTranslations;\n }\n /**\n * Manually sets an object of translations for a given language\n * after passing it through the compiler\n * @param {?} lang\n * @param {?} translations\n * @param {?=} shouldMerge\n * @return {?}\n */\n setTranslation(lang, translations, shouldMerge = false) {\n translations = this.compiler.compileTranslations(translations, lang);\n if (shouldMerge && this.translations[lang]) {\n this.translations[lang] = mergeDeep(this.translations[lang], translations);\n }\n else {\n this.translations[lang] = translations;\n }\n this.updateLangs();\n this.onTranslationChange.emit({ lang: lang, translations: this.translations[lang] });\n }\n /**\n * Returns an array of currently available langs\n * @return {?}\n */\n getLangs() {\n return this.langs;\n }\n /**\n * Add available langs\n * @param {?} langs\n * @return {?}\n */\n addLangs(langs) {\n langs.forEach((lang) => {\n if (this.langs.indexOf(lang) === -1) {\n this.langs.push(lang);\n }\n });\n }\n /**\n * Update the list of available langs\n * @return {?}\n */\n updateLangs() {\n this.addLangs(Object.keys(this.translations));\n }\n /**\n * Returns the parsed result of the translations\n * @param {?} translations\n * @param {?} key\n * @param {?=} interpolateParams\n * @return {?}\n */\n getParsedResult(translations, key, interpolateParams) {\n /** @type {?} */\n let res;\n if (key instanceof Array) {\n /** @type {?} */\n let result = {};\n /** @type {?} */\n let observables = false;\n for (let k of key) {\n result[k] = this.getParsedResult(translations, k, interpolateParams);\n if (typeof result[k].subscribe === \"function\") {\n observables = true;\n }\n }\n if (observables) {\n /** @type {?} */\n let mergedObs;\n for (let k of key) {\n /** @type {?} */\n let obs = typeof result[k].subscribe === \"function\" ? result[k] : of((/** @type {?} */ (result[k])));\n if (typeof mergedObs === \"undefined\") {\n mergedObs = obs;\n }\n else {\n mergedObs = merge(mergedObs, obs);\n }\n }\n return mergedObs.pipe(toArray(), map((arr) => {\n /** @type {?} */\n let obj = {};\n arr.forEach((value, index) => {\n obj[key[index]] = value;\n });\n return obj;\n }));\n }\n return result;\n }\n if (translations) {\n res = this.parser.interpolate(this.parser.getValue(translations, key), interpolateParams);\n }\n if (typeof res === \"undefined\" && this.defaultLang && this.defaultLang !== this.currentLang && this.useDefaultLang) {\n res = this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang], key), interpolateParams);\n }\n if (typeof res === \"undefined\") {\n /** @type {?} */\n let params = { key, translateService: this };\n if (typeof interpolateParams !== 'undefined') {\n params.interpolateParams = interpolateParams;\n }\n res = this.missingTranslationHandler.handle(params);\n }\n return typeof res !== \"undefined\" ? res : key;\n }\n /**\n * Gets the translated value of a key (or an array of keys)\n * @param {?} key\n * @param {?=} interpolateParams\n * @return {?} the translated key, or an object of translated keys\n */\n get(key, interpolateParams) {\n if (!isDefined(key) || !key.length) {\n throw new Error(`Parameter \"key\" required`);\n }\n // check if we are loading a new translation to use\n if (this.pending) {\n return Observable.create((observer) => {\n /** @type {?} */\n let onComplete = (res) => {\n observer.next(res);\n observer.complete();\n };\n /** @type {?} */\n let onError = (err) => {\n observer.error(err);\n };\n this.loadingTranslations.subscribe((res) => {\n res = this.getParsedResult(res, key, interpolateParams);\n if (typeof res.subscribe === \"function\") {\n res.subscribe(onComplete, onError);\n }\n else {\n onComplete(res);\n }\n }, onError);\n });\n }\n else {\n /** @type {?} */\n let res = this.getParsedResult(this.translations[this.currentLang], key, interpolateParams);\n if (typeof res.subscribe === \"function\") {\n return res;\n }\n else {\n return of(res);\n }\n }\n }\n /**\n * Returns a stream of translated values of a key (or an array of keys) which updates\n * whenever the language changes.\n * @param {?} key\n * @param {?=} interpolateParams\n * @return {?} A stream of the translated key, or an object of translated keys\n */\n stream(key, interpolateParams) {\n if (!isDefined(key) || !key.length) {\n throw new Error(`Parameter \"key\" required`);\n }\n return concat(this.get(key, interpolateParams), this.onLangChange.pipe(switchMap((event) => {\n /** @type {?} */\n const res = this.getParsedResult(event.translations, key, interpolateParams);\n if (typeof res.subscribe === \"function\") {\n return res;\n }\n else {\n return of(res);\n }\n })));\n }\n /**\n * Returns a translation instantly from the internal state of loaded translation.\n * All rules regarding the current language, the preferred language of even fallback languages will be used except any promise handling.\n * @param {?} key\n * @param {?=} interpolateParams\n * @return {?}\n */\n instant(key, interpolateParams) {\n if (!isDefined(key) || !key.length) {\n throw new Error(`Parameter \"key\" required`);\n }\n /** @type {?} */\n let res = this.getParsedResult(this.translations[this.currentLang], key, interpolateParams);\n if (typeof res.subscribe !== \"undefined\") {\n if (key instanceof Array) {\n /** @type {?} */\n let obj = {};\n key.forEach((value, index) => {\n obj[key[index]] = key[index];\n });\n return obj;\n }\n return key;\n }\n else {\n return res;\n }\n }\n /**\n * Sets the translated value of a key, after compiling it\n * @param {?} key\n * @param {?} value\n * @param {?=} lang\n * @return {?}\n */\n set(key, value, lang = this.currentLang) {\n this.translations[lang][key] = this.compiler.compile(value, lang);\n this.updateLangs();\n this.onTranslationChange.emit({ lang: lang, translations: this.translations[lang] });\n }\n /**\n * Changes the current lang\n * @param {?} lang\n * @return {?}\n */\n changeLang(lang) {\n this.currentLang = lang;\n this.onLangChange.emit({ lang: lang, translations: this.translations[lang] });\n // if there is no default lang, use the one that we just set\n if (!this.defaultLang) {\n this.changeDefaultLang(lang);\n }\n }\n /**\n * Changes the default lang\n * @param {?} lang\n * @return {?}\n */\n changeDefaultLang(lang) {\n this.defaultLang = lang;\n this.onDefaultLangChange.emit({ lang: lang, translations: this.translations[lang] });\n }\n /**\n * Allows to reload the lang file from the file\n * @param {?} lang\n * @return {?}\n */\n reloadLang(lang) {\n this.resetLang(lang);\n return this.getTranslation(lang);\n }\n /**\n * Deletes inner translation\n * @param {?} lang\n * @return {?}\n */\n resetLang(lang) {\n this._translationRequests[lang] = undefined;\n this.translations[lang] = undefined;\n }\n /**\n * Returns the language code name from the browser, e.g. \"de\"\n * @return {?}\n */\n getBrowserLang() {\n if (typeof window === 'undefined' || typeof window.navigator === 'undefined') {\n return undefined;\n }\n /** @type {?} */\n let browserLang = window.navigator.languages ? window.navigator.languages[0] : null;\n browserLang = browserLang || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage;\n if (browserLang.indexOf('-') !== -1) {\n browserLang = browserLang.split('-')[0];\n }\n if (browserLang.indexOf('_') !== -1) {\n browserLang = browserLang.split('_')[0];\n }\n return browserLang;\n }\n /**\n * Returns the culture language code name from the browser, e.g. \"de-DE\"\n * @return {?}\n */\n getBrowserCultureLang() {\n if (typeof window === 'undefined' || typeof window.navigator === 'undefined') {\n return undefined;\n }\n /** @type {?} */\n let browserCultureLang = window.navigator.languages ? window.navigator.languages[0] : null;\n browserCultureLang = browserCultureLang || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage;\n return browserCultureLang;\n }\n}\nTranslateService.ɵfac = function TranslateService_Factory(t) { return new (t || TranslateService)(ɵngcc0.ɵɵinject(TranslateStore), ɵngcc0.ɵɵinject(TranslateLoader), ɵngcc0.ɵɵinject(TranslateCompiler), ɵngcc0.ɵɵinject(TranslateParser), ɵngcc0.ɵɵinject(MissingTranslationHandler), ɵngcc0.ɵɵinject(USE_DEFAULT_LANG), ɵngcc0.ɵɵinject(USE_STORE)); };\nTranslateService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: TranslateService, factory: TranslateService.ɵfac });\n/** @nocollapse */\nTranslateService.ctorParameters = () => [\n { type: TranslateStore },\n { type: TranslateLoader },\n { type: TranslateCompiler },\n { type: TranslateParser },\n { type: MissingTranslationHandler },\n { type: Boolean, decorators: [{ type: Inject, args: [USE_DEFAULT_LANG,] }] },\n { type: Boolean, decorators: [{ type: Inject, args: [USE_STORE,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TranslateService, [{\n type: Injectable\n }], function () { return [{ type: TranslateStore }, { type: TranslateLoader }, { type: TranslateCompiler }, { type: TranslateParser }, { type: MissingTranslationHandler }, { type: Boolean, decorators: [{\n type: Inject,\n args: [USE_DEFAULT_LANG]\n }] }, { type: Boolean, decorators: [{\n type: Inject,\n args: [USE_STORE]\n }] }]; }, null); })();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\n */\nclass TranslateDirective {\n /**\n * @param {?} translateService\n * @param {?} element\n * @param {?} _ref\n */\n constructor(translateService, element, _ref) {\n this.translateService = translateService;\n this.element = element;\n this._ref = _ref;\n // subscribe to onTranslationChange event, in case the translations of the current lang change\n if (!this.onTranslationChangeSub) {\n this.onTranslationChangeSub = this.translateService.onTranslationChange.subscribe((event) => {\n if (event.lang === this.translateService.currentLang) {\n this.checkNodes(true, event.translations);\n }\n });\n }\n // subscribe to onLangChange event, in case the language changes\n if (!this.onLangChangeSub) {\n this.onLangChangeSub = this.translateService.onLangChange.subscribe((event) => {\n this.checkNodes(true, event.translations);\n });\n }\n // subscribe to onDefaultLangChange event, in case the default language changes\n if (!this.onDefaultLangChangeSub) {\n this.onDefaultLangChangeSub = this.translateService.onDefaultLangChange.subscribe((event) => {\n this.checkNodes(true);\n });\n }\n }\n /**\n * @param {?} key\n * @return {?}\n */\n set translate(key) {\n if (key) {\n this.key = key;\n this.checkNodes();\n }\n }\n /**\n * @param {?} params\n * @return {?}\n */\n set translateParams(params) {\n if (!equals(this.currentParams, params)) {\n this.currentParams = params;\n this.checkNodes(true);\n }\n }\n /**\n * @return {?}\n */\n ngAfterViewChecked() {\n this.checkNodes();\n }\n /**\n * @param {?=} forceUpdate\n * @param {?=} translations\n * @return {?}\n */\n checkNodes(forceUpdate = false, translations) {\n /** @type {?} */\n let nodes = this.element.nativeElement.childNodes;\n // if the element is empty\n if (!nodes.length) {\n // we add the key as content\n this.setContent(this.element.nativeElement, this.key);\n nodes = this.element.nativeElement.childNodes;\n }\n for (let i = 0; i < nodes.length; ++i) {\n /** @type {?} */\n let node = nodes[i];\n if (node.nodeType === 3) { // node type 3 is a text node\n // node type 3 is a text node\n /** @type {?} */\n let key;\n if (this.key) {\n key = this.key;\n if (forceUpdate) {\n node.lastKey = null;\n }\n }\n else {\n /** @type {?} */\n let content = this.getContent(node);\n /** @type {?} */\n let trimmedContent = content.trim();\n if (trimmedContent.length) {\n // we want to use the content as a key, not the translation value\n if (content !== node.currentValue) {\n key = trimmedContent;\n // the content was changed from the user, we'll use it as a reference if needed\n node.originalContent = this.getContent(node);\n }\n else if (node.originalContent && forceUpdate) { // the content seems ok, but the lang has changed\n node.lastKey = null;\n // the current content is the translation, not the key, use the last real content as key\n key = node.originalContent.trim();\n }\n }\n }\n this.updateValue(key, node, translations);\n }\n }\n }\n /**\n * @param {?} key\n * @param {?} node\n * @param {?} translations\n * @return {?}\n */\n updateValue(key, node, translations) {\n if (key) {\n if (node.lastKey === key && this.lastParams === this.currentParams) {\n return;\n }\n this.lastParams = this.currentParams;\n /** @type {?} */\n let onTranslation = (res) => {\n if (res !== key) {\n node.lastKey = key;\n }\n if (!node.originalContent) {\n node.originalContent = this.getContent(node);\n }\n node.currentValue = isDefined(res) ? res : (node.originalContent || key);\n // we replace in the original content to preserve spaces that we might have trimmed\n this.setContent(node, this.key ? node.currentValue : node.originalContent.replace(key, node.currentValue));\n this._ref.markForCheck();\n };\n if (isDefined(translations)) {\n /** @type {?} */\n let res = this.translateService.getParsedResult(translations, key, this.currentParams);\n if (typeof res.subscribe === \"function\") {\n res.subscribe(onTranslation);\n }\n else {\n onTranslation(res);\n }\n }\n else {\n this.translateService.get(key, this.currentParams).subscribe(onTranslation);\n }\n }\n }\n /**\n * @param {?} node\n * @return {?}\n */\n getContent(node) {\n return isDefined(node.textContent) ? node.textContent : node.data;\n }\n /**\n * @param {?} node\n * @param {?} content\n * @return {?}\n */\n setContent(node, content) {\n if (isDefined(node.textContent)) {\n node.textContent = content;\n }\n else {\n node.data = content;\n }\n }\n /**\n * @return {?}\n */\n ngOnDestroy() {\n if (this.onLangChangeSub) {\n this.onLangChangeSub.unsubscribe();\n }\n if (this.onDefaultLangChangeSub) {\n this.onDefaultLangChangeSub.unsubscribe();\n }\n if (this.onTranslationChangeSub) {\n this.onTranslationChangeSub.unsubscribe();\n }\n }\n}\nTranslateDirective.ɵfac = function TranslateDirective_Factory(t) { return new (t || TranslateDirective)(ɵngcc0.ɵɵdirectiveInject(TranslateService), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nTranslateDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: TranslateDirective, selectors: [[\"\", \"translate\", \"\"], [\"\", \"ngx-translate\", \"\"]], inputs: { translate: \"translate\", translateParams: \"translateParams\" } });\n/** @nocollapse */\nTranslateDirective.ctorParameters = () => [\n { type: TranslateService },\n { type: ElementRef },\n { type: ChangeDetectorRef }\n];\nTranslateDirective.propDecorators = {\n translate: [{ type: Input }],\n translateParams: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TranslateDirective, [{\n type: Directive,\n args: [{\n selector: '[translate],[ngx-translate]'\n }]\n }], function () { return [{ type: TranslateService }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }]; }, { translate: [{\n type: Input\n }], translateParams: [{\n type: Input\n }] }); })();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\n */\nclass TranslatePipe {\n /**\n * @param {?} translate\n * @param {?} _ref\n */\n constructor(translate, _ref) {\n this.translate = translate;\n this._ref = _ref;\n this.value = '';\n }\n /**\n * @param {?} key\n * @param {?=} interpolateParams\n * @param {?=} translations\n * @return {?}\n */\n updateValue(key, interpolateParams, translations) {\n /** @type {?} */\n let onTranslation = (res) => {\n this.value = res !== undefined ? res : key;\n this.lastKey = key;\n this._ref.markForCheck();\n };\n if (translations) {\n /** @type {?} */\n let res = this.translate.getParsedResult(translations, key, interpolateParams);\n if (typeof res.subscribe === 'function') {\n res.subscribe(onTranslation);\n }\n else {\n onTranslation(res);\n }\n }\n this.translate.get(key, interpolateParams).subscribe(onTranslation);\n }\n /**\n * @param {?} query\n * @param {...?} args\n * @return {?}\n */\n transform(query, ...args) {\n if (!query || query.length === 0) {\n return query;\n }\n // if we ask another time for the same key, return the last value\n if (equals(query, this.lastKey) && equals(args, this.lastParams)) {\n return this.value;\n }\n /** @type {?} */\n let interpolateParams;\n if (isDefined(args[0]) && args.length) {\n if (typeof args[0] === 'string' && args[0].length) {\n // we accept objects written in the template such as {n:1}, {'n':1}, {n:'v'}\n // which is why we might need to change it to real JSON objects such as {\"n\":1} or {\"n\":\"v\"}\n /** @type {?} */\n let validArgs = args[0]\n .replace(/(\\')?([a-zA-Z0-9_]+)(\\')?(\\s)?:/g, '\"$2\":')\n .replace(/:(\\s)?(\\')(.*?)(\\')/g, ':\"$3\"');\n try {\n interpolateParams = JSON.parse(validArgs);\n }\n catch (e) {\n throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${args[0]}`);\n }\n }\n else if (typeof args[0] === 'object' && !Array.isArray(args[0])) {\n interpolateParams = args[0];\n }\n }\n // store the query, in case it changes\n this.lastKey = query;\n // store the params, in case they change\n this.lastParams = args;\n // set the value\n this.updateValue(query, interpolateParams);\n // if there is a subscription to onLangChange, clean it\n this._dispose();\n // subscribe to onTranslationChange event, in case the translations change\n if (!this.onTranslationChange) {\n this.onTranslationChange = this.translate.onTranslationChange.subscribe((event) => {\n if (this.lastKey && event.lang === this.translate.currentLang) {\n this.lastKey = null;\n this.updateValue(query, interpolateParams, event.translations);\n }\n });\n }\n // subscribe to onLangChange event, in case the language changes\n if (!this.onLangChange) {\n this.onLangChange = this.translate.onLangChange.subscribe((event) => {\n if (this.lastKey) {\n this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n this.updateValue(query, interpolateParams, event.translations);\n }\n });\n }\n // subscribe to onDefaultLangChange event, in case the default language changes\n if (!this.onDefaultLangChange) {\n this.onDefaultLangChange = this.translate.onDefaultLangChange.subscribe(() => {\n if (this.lastKey) {\n this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n this.updateValue(query, interpolateParams);\n }\n });\n }\n return this.value;\n }\n /**\n * Clean any existing subscription to change events\n * @return {?}\n */\n _dispose() {\n if (typeof this.onTranslationChange !== 'undefined') {\n this.onTranslationChange.unsubscribe();\n this.onTranslationChange = undefined;\n }\n if (typeof this.onLangChange !== 'undefined') {\n this.onLangChange.unsubscribe();\n this.onLangChange = undefined;\n }\n if (typeof this.onDefaultLangChange !== 'undefined') {\n this.onDefaultLangChange.unsubscribe();\n this.onDefaultLangChange = undefined;\n }\n }\n /**\n * @return {?}\n */\n ngOnDestroy() {\n this._dispose();\n }\n}\nTranslatePipe.ɵfac = function TranslatePipe_Factory(t) { return new (t || TranslatePipe)(ɵngcc0.ɵɵdirectiveInject(TranslateService, 16), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef, 16)); };\nTranslatePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"translate\", type: TranslatePipe, pure: false });\nTranslatePipe.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: TranslatePipe, factory: TranslatePipe.ɵfac });\n/** @nocollapse */\nTranslatePipe.ctorParameters = () => [\n { type: TranslateService },\n { type: ChangeDetectorRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TranslatePipe, [{\n type: Injectable\n }, {\n type: Pipe,\n args: [{\n name: 'translate',\n pure: false // required to update the value when the promise is resolved\n }]\n }], function () { return [{ type: TranslateService }, { type: ɵngcc0.ChangeDetectorRef }]; }, null); })();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\n */\nclass TranslateModule {\n /**\n * Use this method in your root module to provide the TranslateService\n * @param {?=} config\n * @return {?}\n */\n static forRoot(config = {}) {\n return {\n ngModule: TranslateModule,\n providers: [\n config.loader || { provide: TranslateLoader, useClass: TranslateFakeLoader },\n config.compiler || { provide: TranslateCompiler, useClass: TranslateFakeCompiler },\n config.parser || { provide: TranslateParser, useClass: TranslateDefaultParser },\n config.missingTranslationHandler || { provide: MissingTranslationHandler, useClass: FakeMissingTranslationHandler },\n TranslateStore,\n { provide: USE_STORE, useValue: config.isolate },\n { provide: USE_DEFAULT_LANG, useValue: config.useDefaultLang },\n TranslateService\n ]\n };\n }\n /**\n * Use this method in your other (non root) modules to import the directive/pipe\n * @param {?=} config\n * @return {?}\n */\n static forChild(config = {}) {\n return {\n ngModule: TranslateModule,\n providers: [\n config.loader || { provide: TranslateLoader, useClass: TranslateFakeLoader },\n config.compiler || { provide: TranslateCompiler, useClass: TranslateFakeCompiler },\n config.parser || { provide: TranslateParser, useClass: TranslateDefaultParser },\n config.missingTranslationHandler || { provide: MissingTranslationHandler, useClass: FakeMissingTranslationHandler },\n { provide: USE_STORE, useValue: config.isolate },\n { provide: USE_DEFAULT_LANG, useValue: config.useDefaultLang },\n TranslateService\n ]\n };\n }\n}\nTranslateModule.ɵfac = function TranslateModule_Factory(t) { return new (t || TranslateModule)(); };\nTranslateModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: TranslateModule });\nTranslateModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TranslateModule, [{\n type: NgModule,\n args: [{\n declarations: [\n TranslatePipe,\n TranslateDirective\n ],\n exports: [\n TranslatePipe,\n TranslateDirective\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(TranslateModule, { declarations: [TranslatePipe, TranslateDirective], exports: [TranslatePipe, TranslateDirective] }); })();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc\n */\n\nexport { TranslateModule, TranslateLoader, TranslateFakeLoader, USE_STORE, USE_DEFAULT_LANG, TranslateService, MissingTranslationHandler, FakeMissingTranslationHandler, TranslateParser, TranslateDefaultParser, TranslateCompiler, TranslateFakeCompiler, TranslateDirective, TranslatePipe, TranslateStore };\n\n","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc\n */\nclass TranslateHttpLoader {\n /**\n * @param {?} http\n * @param {?=} prefix\n * @param {?=} suffix\n */\n constructor(http, prefix = \"/assets/i18n/\", suffix = \".json\") {\n this.http = http;\n this.prefix = prefix;\n this.suffix = suffix;\n }\n /**\n * Gets the translations from the server\n * @param {?} lang\n * @return {?}\n */\n getTranslation(lang) {\n return this.http.get(`${this.prefix}${lang}${this.suffix}`);\n }\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc\n */\n\nexport { TranslateHttpLoader };\n\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { IllegalArgumentException, InvertedLuminanceSource, LuminanceSource, } from '@zxing/library';\n/**/\nvar HTMLCanvasElementLuminanceSource = /** @class */ (function (_super) {\n __extends(HTMLCanvasElementLuminanceSource, _super);\n function HTMLCanvasElementLuminanceSource(canvas) {\n var _this = _super.call(this, canvas.width, canvas.height) || this;\n _this.canvas = canvas;\n _this.buffer = HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData(canvas);\n return _this;\n }\n HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData = function (canvas) {\n var canvasCtx = canvas.getContext('2d');\n if (!canvasCtx) {\n throw new Error('Couldn\\'t get canvas context.');\n }\n var imageData = canvasCtx.getImageData(0, 0, canvas.width, canvas.height);\n return HTMLCanvasElementLuminanceSource.toGrayscaleBuffer(imageData.data, canvas.width, canvas.height);\n };\n HTMLCanvasElementLuminanceSource.toGrayscaleBuffer = function (imageBuffer, width, height) {\n var grayscaleBuffer = new Uint8ClampedArray(width * height);\n for (var i = 0, j = 0, length_1 = imageBuffer.length; i < length_1; i += 4, j++) {\n var gray = void 0;\n var alpha = imageBuffer[i + 3];\n // The color of fully-transparent pixels is irrelevant. They are often, technically, fully-transparent\n // black (0 alpha, and then 0 RGB). They are often used, of course as the \"white\" area in a\n // barcode image. Force any such pixel to be white:\n if (alpha === 0) {\n gray = 0xFF;\n }\n else {\n var pixelR = imageBuffer[i];\n var pixelG = imageBuffer[i + 1];\n var pixelB = imageBuffer[i + 2];\n // .299R + 0.587G + 0.114B (YUV/YIQ for PAL and NTSC),\n // (306*R) >> 10 is approximately equal to R*0.299, and so on.\n // 0x200 >> 10 is 0.5, it implements rounding.\n // tslint:disable-next-line:no-bitwise\n gray = (306 * pixelR + 601 * pixelG + 117 * pixelB + 0x200) >> 10;\n }\n grayscaleBuffer[j] = gray;\n }\n return grayscaleBuffer;\n };\n HTMLCanvasElementLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n if (y < 0 || y >= this.getHeight()) {\n throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n }\n var width = this.getWidth();\n var start = y * width;\n if (row === null) {\n row = this.buffer.slice(start, start + width);\n }\n else {\n if (row.length < width) {\n row = new Uint8ClampedArray(width);\n }\n // The underlying raster of image consists of bytes with the luminance values\n // TODO: can avoid set/slice?\n row.set(this.buffer.slice(start, start + width));\n }\n return row;\n };\n HTMLCanvasElementLuminanceSource.prototype.getMatrix = function () {\n return this.buffer;\n };\n HTMLCanvasElementLuminanceSource.prototype.isCropSupported = function () {\n return true;\n };\n HTMLCanvasElementLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n _super.prototype.crop.call(this, left, top, width, height);\n return this;\n };\n /**\n * This is always true, since the image is a gray-scale image.\n *\n * @return true\n */\n HTMLCanvasElementLuminanceSource.prototype.isRotateSupported = function () {\n return true;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotateCounterClockwise = function () {\n this.rotate(-90);\n return this;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotateCounterClockwise45 = function () {\n this.rotate(-45);\n return this;\n };\n HTMLCanvasElementLuminanceSource.prototype.invert = function () {\n return new InvertedLuminanceSource(this);\n };\n HTMLCanvasElementLuminanceSource.prototype.getTempCanvasElement = function () {\n if (null === this.tempCanvasElement) {\n var tempCanvasElement = this.canvas.ownerDocument.createElement('canvas');\n tempCanvasElement.width = this.canvas.width;\n tempCanvasElement.height = this.canvas.height;\n this.tempCanvasElement = tempCanvasElement;\n }\n return this.tempCanvasElement;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotate = function (angle) {\n var tempCanvasElement = this.getTempCanvasElement();\n if (!tempCanvasElement) {\n throw new Error('Could not create a Canvas element.');\n }\n var angleRadians = angle * HTMLCanvasElementLuminanceSource.DEGREE_TO_RADIANS;\n // Calculate and set new dimensions for temp canvas\n var width = this.canvas.width;\n var height = this.canvas.height;\n var newWidth = Math.ceil(Math.abs(Math.cos(angleRadians)) * width + Math.abs(Math.sin(angleRadians)) * height);\n var newHeight = Math.ceil(Math.abs(Math.sin(angleRadians)) * width + Math.abs(Math.cos(angleRadians)) * height);\n tempCanvasElement.width = newWidth;\n tempCanvasElement.height = newHeight;\n var tempContext = tempCanvasElement.getContext('2d');\n if (!tempContext) {\n throw new Error('Could not create a Canvas Context element.');\n }\n // Draw at center of temp canvas to prevent clipping of image data\n tempContext.translate(newWidth / 2, newHeight / 2);\n tempContext.rotate(angleRadians);\n tempContext.drawImage(this.canvas, width / -2, height / -2);\n this.buffer = HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData(tempCanvasElement);\n return this;\n };\n HTMLCanvasElementLuminanceSource.DEGREE_TO_RADIANS = Math.PI / 180;\n return HTMLCanvasElementLuminanceSource;\n}(LuminanceSource));\nexport { HTMLCanvasElementLuminanceSource };\n","/**\n * If navigator is present.\n */\nexport function hasNavigator() {\n return typeof navigator !== 'undefined';\n}\n/**\n * If mediaDevices under navigator is supported.\n */\nfunction isMediaDevicesSupported() {\n return hasNavigator() && !!navigator.mediaDevices;\n}\n/**\n * If enumerateDevices under navigator is supported.\n */\nexport function canEnumerateDevices() {\n return !!(isMediaDevicesSupported() && navigator.mediaDevices.enumerateDevices);\n}\n","// public API\n// core\nexport { BarcodeFormat } from '@zxing/library';\n// common\nexport * from './common/HTMLCanvasElementLuminanceSource';\nexport * from './common/HTMLVisualMediaElement';\nexport * from './common/IScannerControls';\n// readers\nexport * from './readers/BrowserAztecCodeReader';\nexport * from './readers/BrowserMultiFormatOneDReader';\nexport * from './readers/BrowserCodeReader';\nexport * from './readers/BrowserDatamatrixCodeReader';\nexport * from './readers/BrowserMultiFormatReader';\nexport * from './readers/BrowserPDF417Reader';\nexport * from './readers/BrowserQRCodeReader';\nexport * from './readers/IBrowserCodeReaderOptions';\n// writers\nexport * from './writers/BrowserCodeSvgWriter';\nexport * from './writers/BrowserQRCodeSvgWriter';\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { AztecCodeReader } from '@zxing/library';\nimport { BrowserCodeReader } from './BrowserCodeReader';\n/**\n * Aztec Code reader to use from browser.\n *\n * @class BrowserAztecCodeReader\n * @extends {BrowserCodeReader}\n */\nvar BrowserAztecCodeReader = /** @class */ (function (_super) {\n __extends(BrowserAztecCodeReader, _super);\n /**\n * Creates an instance of BrowserAztecCodeReader.\n */\n function BrowserAztecCodeReader(hints, options) {\n return _super.call(this, new AztecCodeReader(), hints, options) || this;\n }\n return BrowserAztecCodeReader;\n}(BrowserCodeReader));\nexport { BrowserAztecCodeReader };\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport { ArgumentException, BinaryBitmap, ChecksumException, DecodeHintType, FormatException, HybridBinarizer, NotFoundException, } from '@zxing/library';\nimport { HTMLCanvasElementLuminanceSource } from '../common/HTMLCanvasElementLuminanceSource';\nimport { canEnumerateDevices, hasNavigator } from '../common/navigator-utils';\nvar defaultOptions = {\n delayBetweenScanAttempts: 500,\n delayBetweenScanSuccess: 500,\n tryPlayVideoTimeout: 5000,\n};\n/**\n * Base class for browser code reader.\n */\nvar BrowserCodeReader = /** @class */ (function () {\n /**\n * Creates an instance of BrowserCodeReader.\n * @param {Reader} reader The reader instance to decode the barcode\n * @param hints Holds the hints the user sets for the Reader.\n */\n function BrowserCodeReader(reader, hints, options) {\n if (hints === void 0) { hints = new Map(); }\n if (options === void 0) { options = {}; }\n this.reader = reader;\n this.hints = hints;\n this.options = __assign(__assign({}, defaultOptions), options);\n }\n Object.defineProperty(BrowserCodeReader.prototype, \"possibleFormats\", {\n /**\n * Allows to change the possible formats the decoder should\n * search for while scanning some image. Useful for changing\n * the possible formats during BrowserCodeReader::scan.\n */\n set: function (formats) {\n this.hints.set(DecodeHintType.POSSIBLE_FORMATS, formats);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Defines what the videoElement src will be.\n *\n * @param videoElement\n * @param stream The stream to be added as a source.\n */\n BrowserCodeReader.addVideoSource = function (videoElement, stream) {\n // Older browsers may not have `srcObject`\n try {\n // @note Throws Exception if interrupted by a new loaded request\n videoElement.srcObject = stream;\n }\n catch (err) {\n // @note Avoid using this in new browsers, as it is going away.\n videoElement.src = URL.createObjectURL(stream);\n }\n };\n /**\n * Enables or disables the torch in a media stream.\n *\n * @experimental This doesn't work across all browsers and is still a Draft.\n */\n BrowserCodeReader.mediaStreamSetTorch = function (track, onOff) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, track.applyConstraints({\n advanced: [{\n fillLightMode: onOff ? 'flash' : 'off',\n torch: onOff ? true : false,\n }],\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Checks if the stream has torch support.\n */\n BrowserCodeReader.mediaStreamIsTorchCompatible = function (params) {\n var e_1, _a;\n var tracks = params.getVideoTracks();\n try {\n for (var tracks_1 = __values(tracks), tracks_1_1 = tracks_1.next(); !tracks_1_1.done; tracks_1_1 = tracks_1.next()) {\n var track = tracks_1_1.value;\n if (BrowserCodeReader.mediaStreamIsTorchCompatibleTrack(track)) {\n return true;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (tracks_1_1 && !tracks_1_1.done && (_a = tracks_1.return)) _a.call(tracks_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return false;\n };\n /**\n *\n * @param track The media stream track that will be checked for compatibility.\n */\n BrowserCodeReader.mediaStreamIsTorchCompatibleTrack = function (track) {\n try {\n var capabilities = track.getCapabilities();\n return 'torch' in capabilities;\n }\n catch (err) {\n // some browsers may not be compatible with ImageCapture\n // so we are ignoring this for now.\n // tslint:disable-next-line:no-console\n console.error(err);\n // tslint:disable-next-line:no-console\n console.warn('Your browser may be not fully compatible with WebRTC and/or ImageCapture specs. Torch will not be available.');\n return false;\n }\n };\n /**\n * Checks if the given video element is currently playing.\n */\n BrowserCodeReader.isVideoPlaying = function (video) {\n return video.currentTime > 0 && !video.paused && video.readyState > 2;\n };\n /**\n * Searches and validates a media element.\n */\n BrowserCodeReader.getMediaElement = function (mediaElementId, type) {\n var mediaElement = document.getElementById(mediaElementId);\n if (!mediaElement) {\n throw new ArgumentException(\"element with id '\" + mediaElementId + \"' not found\");\n }\n if (mediaElement.nodeName.toLowerCase() !== type.toLowerCase()) {\n throw new ArgumentException(\"element with id '\" + mediaElementId + \"' must be an \" + type + \" element\");\n }\n return mediaElement;\n };\n /**\n * Receives a source and makes sure to return a Video Element from it or fail.\n */\n BrowserCodeReader.createVideoElement = function (videoThingy) {\n if (videoThingy instanceof HTMLVideoElement) {\n return videoThingy;\n }\n if (typeof videoThingy === 'string') {\n return BrowserCodeReader.getMediaElement(videoThingy, 'video');\n }\n if (!videoThingy && typeof document !== 'undefined') {\n var videoElement = document.createElement('video');\n videoElement.width = 200;\n videoElement.height = 200;\n return videoElement;\n }\n throw new Error('Couldn\\'t get videoElement from videoSource!');\n };\n /**\n * Receives a source and makes sure to return an Image Element from it or fail.\n */\n BrowserCodeReader.prepareImageElement = function (imageSource) {\n if (imageSource instanceof HTMLImageElement) {\n return imageSource;\n }\n if (typeof imageSource === 'string') {\n return BrowserCodeReader.getMediaElement(imageSource, 'img');\n }\n if (typeof imageSource === 'undefined') {\n var imageElement = document.createElement('img');\n imageElement.width = 200;\n imageElement.height = 200;\n return imageElement;\n }\n throw new Error('Couldn\\'t get imageElement from imageSource!');\n };\n /**\n * Sets a HTMLVideoElement for scanning or creates a new one.\n *\n * @param videoElem The HTMLVideoElement to be set.\n */\n BrowserCodeReader.prepareVideoElement = function (videoElem) {\n var videoElement = BrowserCodeReader.createVideoElement(videoElem);\n // @todo the following lines should not always be done this way, should conditionally\n // change according were we created the element or not\n // Needed for iOS 11\n videoElement.setAttribute('autoplay', 'true');\n videoElement.setAttribute('muted', 'true');\n videoElement.setAttribute('playsinline', 'true');\n return videoElement;\n };\n /**\n * Checks if and HTML image is loaded.\n */\n BrowserCodeReader.isImageLoaded = function (img) {\n // During the onload event, IE correctly identifies any images that\n // weren't downloaded as not complete. Others should too. Gecko-based\n // browsers act like NS4 in that they report this incorrectly.\n if (!img.complete) {\n return false;\n }\n // However, they do have two very useful properties: naturalWidth and\n // naturalHeight. These give the true size of the image. If it failed\n // to load, either of these should be zero.\n if (img.naturalWidth === 0) {\n return false;\n }\n // No other way of checking: assume it’s ok.\n return true;\n };\n /**\n * Creates a binaryBitmap based in a canvas.\n *\n * @param canvas HTML canvas element containing the image source draw.\n */\n BrowserCodeReader.createBinaryBitmapFromCanvas = function (canvas) {\n var luminanceSource = new HTMLCanvasElementLuminanceSource(canvas);\n var hybridBinarizer = new HybridBinarizer(luminanceSource);\n return new BinaryBitmap(hybridBinarizer);\n };\n /**\n * Overwriting this allows you to manipulate the snapshot image in anyway you want before decode.\n */\n BrowserCodeReader.drawImageOnCanvas = function (canvasElementContext, srcElement) {\n canvasElementContext.drawImage(srcElement, 0, 0);\n };\n BrowserCodeReader.getMediaElementDimensions = function (mediaElement) {\n if (mediaElement instanceof HTMLVideoElement) {\n return {\n height: mediaElement.videoHeight,\n width: mediaElement.videoWidth,\n };\n }\n if (mediaElement instanceof HTMLImageElement) {\n return {\n height: mediaElement.naturalHeight || mediaElement.height,\n width: mediaElement.naturalWidth || mediaElement.width,\n };\n }\n throw new Error('Couldn\\'t find the Source\\'s dimensions!');\n };\n /**\n * 🖌 Prepares the canvas for capture and scan frames.\n */\n BrowserCodeReader.createCaptureCanvas = function (mediaElement) {\n if (!mediaElement) {\n throw new ArgumentException('Cannot create a capture canvas without a media element.');\n }\n if (typeof document === 'undefined') {\n throw new Error('The page \"Document\" is undefined, make sure you\\'re running in a browser.');\n }\n var canvasElement = document.createElement('canvas');\n var _a = BrowserCodeReader.getMediaElementDimensions(mediaElement), width = _a.width, height = _a.height;\n canvasElement.style.width = width + 'px';\n canvasElement.style.height = height + 'px';\n canvasElement.width = width;\n canvasElement.height = height;\n return canvasElement;\n };\n /**\n * Just tries to play the video and logs any errors.\n * The play call is only made is the video is not already playing.\n */\n BrowserCodeReader.tryPlayVideo = function (videoElement) {\n return __awaiter(this, void 0, void 0, function () {\n var error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (videoElement === null || videoElement === void 0 ? void 0 : videoElement.ended) {\n // tslint:disable-next-line:no-console\n console.error('Trying to play video that has ended.');\n return [2 /*return*/, false];\n }\n if (BrowserCodeReader.isVideoPlaying(videoElement)) {\n // tslint:disable-next-line:no-console\n console.warn('Trying to play video that is already playing.');\n return [2 /*return*/, true];\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, videoElement.play()];\n case 2:\n _a.sent();\n return [2 /*return*/, true];\n case 3:\n error_1 = _a.sent();\n // tslint:disable-next-line:no-console\n console.warn('It was not possible to play the video.', error_1);\n return [2 /*return*/, false];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Creates a canvas and draws the current image frame from the media element on it.\n *\n * @param mediaElement HTML media element to extract an image frame from.\n */\n BrowserCodeReader.createCanvasFromMediaElement = function (mediaElement) {\n var canvas = BrowserCodeReader.createCaptureCanvas(mediaElement);\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n throw new Error('Couldn\\'t find Canvas 2D Context.');\n }\n BrowserCodeReader.drawImageOnCanvas(ctx, mediaElement);\n return canvas;\n };\n /**\n * Creates a binaryBitmap based in some image source.\n *\n * @param mediaElement HTML element containing drawable image source.\n */\n BrowserCodeReader.createBinaryBitmapFromMediaElem = function (mediaElement) {\n var canvas = BrowserCodeReader.createCanvasFromMediaElement(mediaElement);\n return BrowserCodeReader.createBinaryBitmapFromCanvas(canvas);\n };\n BrowserCodeReader.destroyImageElement = function (imageElement) {\n imageElement.src = '';\n imageElement.removeAttribute('src');\n imageElement = undefined;\n };\n /**\n * Lists all the available video input devices.\n */\n BrowserCodeReader.listVideoInputDevices = function () {\n return __awaiter(this, void 0, void 0, function () {\n var devices, videoDevices, devices_1, devices_1_1, device, kind, deviceId, label, groupId, videoDevice;\n var e_2, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!hasNavigator()) {\n throw new Error('Can\\'t enumerate devices, navigator is not present.');\n }\n if (!canEnumerateDevices()) {\n throw new Error('Can\\'t enumerate devices, method not supported.');\n }\n return [4 /*yield*/, navigator.mediaDevices.enumerateDevices()];\n case 1:\n devices = _b.sent();\n videoDevices = [];\n try {\n for (devices_1 = __values(devices), devices_1_1 = devices_1.next(); !devices_1_1.done; devices_1_1 = devices_1.next()) {\n device = devices_1_1.value;\n kind = device.kind === 'video' ? 'videoinput' : device.kind;\n if (kind !== 'videoinput') {\n continue;\n }\n deviceId = device.deviceId || device.id;\n label = device.label || \"Video device \" + (videoDevices.length + 1);\n groupId = device.groupId;\n videoDevice = { deviceId: deviceId, label: label, kind: kind, groupId: groupId };\n videoDevices.push(videoDevice);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (devices_1_1 && !devices_1_1.done && (_a = devices_1.return)) _a.call(devices_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return [2 /*return*/, videoDevices];\n }\n });\n });\n };\n /**\n * Let's you find a device using it's Id.\n */\n BrowserCodeReader.findDeviceById = function (deviceId) {\n return __awaiter(this, void 0, void 0, function () {\n var devices;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, BrowserCodeReader.listVideoInputDevices()];\n case 1:\n devices = _a.sent();\n if (!devices) {\n return [2 /*return*/];\n }\n return [2 /*return*/, devices.find(function (x) { return x.deviceId === deviceId; })];\n }\n });\n });\n };\n /**\n * Unbinds a HTML video src property.\n */\n BrowserCodeReader.cleanVideoSource = function (videoElement) {\n if (!videoElement) {\n return;\n }\n // forgets about that element 😢\n try {\n videoElement.srcObject = null;\n }\n catch (err) {\n videoElement.src = '';\n }\n if (videoElement) {\n videoElement.removeAttribute('src');\n }\n };\n /**\n * Stops all media streams that are created.\n */\n BrowserCodeReader.releaseAllStreams = function () {\n if (BrowserCodeReader.streamTracker.length !== 0) {\n // tslint:disable-next-line:no-console\n BrowserCodeReader.streamTracker.forEach(function (mediaStream) {\n mediaStream.getTracks().forEach(function (track) { return track.stop(); });\n });\n }\n BrowserCodeReader.streamTracker = [];\n };\n /**\n * Waits for a video to load and then hits play on it.\n * To accomplish that, it binds listeners and callbacks to the video element.\n *\n * @param element The video element.\n * @param callbackFn Callback invoked when the video is played.\n */\n BrowserCodeReader.playVideoOnLoadAsync = function (element, timeout) {\n return __awaiter(this, void 0, void 0, function () {\n var isPlaying;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, BrowserCodeReader.tryPlayVideo(element)];\n case 1:\n isPlaying = _a.sent();\n if (isPlaying) {\n return [2 /*return*/, true];\n }\n return [2 /*return*/, new Promise(function (resolve, reject) {\n // waits 3 seconds or rejects.\n var timeoutId = setTimeout(function () {\n if (BrowserCodeReader.isVideoPlaying(element)) {\n // if video is playing then we had success, just ignore\n return;\n }\n reject(false);\n element.removeEventListener('canplay', videoCanPlayListener);\n }, timeout);\n /**\n * Should contain the current registered listener for video loaded-metadata,\n * used to unregister that listener when needed.\n */\n var videoCanPlayListener = function () {\n BrowserCodeReader.tryPlayVideo(element).then(function (hasPlayed) {\n clearTimeout(timeoutId);\n element.removeEventListener('canplay', videoCanPlayListener);\n resolve(hasPlayed);\n });\n };\n // both should be unregistered after called\n element.addEventListener('canplay', videoCanPlayListener);\n })];\n }\n });\n });\n };\n /**\n * Sets the new stream and request a new decoding-with-delay.\n *\n * @param stream The stream to be shown in the video element.\n * @param decodeFn A callback for the decode method.\n */\n BrowserCodeReader.attachStreamToVideo = function (stream, preview, previewPlayTimeout) {\n if (previewPlayTimeout === void 0) { previewPlayTimeout = 5000; }\n return __awaiter(this, void 0, void 0, function () {\n var videoElement;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n videoElement = BrowserCodeReader.prepareVideoElement(preview);\n BrowserCodeReader.addVideoSource(videoElement, stream);\n return [4 /*yield*/, BrowserCodeReader.playVideoOnLoadAsync(videoElement, previewPlayTimeout)];\n case 1:\n _a.sent();\n return [2 /*return*/, videoElement];\n }\n });\n });\n };\n /**\n * Returns a Promise that resolves when the given image element loads.\n */\n BrowserCodeReader._waitImageLoad = function (element) {\n return new Promise(function (resolve, reject) {\n var timeout = 10000;\n // waits 10 seconds or rejects.\n var timeoutId = setTimeout(function () {\n if (BrowserCodeReader.isImageLoaded(element)) {\n // if video is playing then we had success, just ignore\n return;\n }\n // removes the listener\n element.removeEventListener('load', imageLoadedListener);\n // rejects the load\n reject();\n }, timeout);\n var imageLoadedListener = function () {\n clearTimeout(timeoutId);\n // removes the listener\n element.removeEventListener('load', imageLoadedListener);\n // resolves the load\n resolve();\n };\n element.addEventListener('load', imageLoadedListener);\n });\n };\n /**\n * Checks if the `callbackFn` is defined, otherwise throws.\n */\n BrowserCodeReader.checkCallbackFnOrThrow = function (callbackFn) {\n if (!callbackFn) {\n throw new ArgumentException('`callbackFn` is a required parameter, you cannot capture results without it.');\n }\n };\n /**\n * Standard method to dispose a media stream object.\n */\n BrowserCodeReader.disposeMediaStream = function (stream) {\n stream.getVideoTracks().forEach(function (x) { return x.stop(); });\n stream = undefined;\n };\n /**\n * Gets the BinaryBitmap for ya! (and decodes it)\n */\n BrowserCodeReader.prototype.decode = function (element) {\n // get binary bitmap for decode function\n var canvas = BrowserCodeReader.createCanvasFromMediaElement(element);\n return this.decodeFromCanvas(canvas);\n };\n /**\n * Call the encapsulated readers decode\n */\n BrowserCodeReader.prototype.decodeBitmap = function (binaryBitmap) {\n return this.reader.decode(binaryBitmap, this.hints);\n };\n /**\n * Decodes some barcode from a canvas!\n */\n BrowserCodeReader.prototype.decodeFromCanvas = function (canvas) {\n var binaryBitmap = BrowserCodeReader.createBinaryBitmapFromCanvas(canvas);\n return this.decodeBitmap(binaryBitmap);\n };\n /**\n * Decodes something from an image HTML element.\n */\n BrowserCodeReader.prototype.decodeFromImageElement = function (source) {\n return __awaiter(this, void 0, void 0, function () {\n var element;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!source) {\n throw new ArgumentException('An image element must be provided.');\n }\n element = BrowserCodeReader.prepareImageElement(source);\n return [4 /*yield*/, this._decodeOnLoadImage(element)];\n case 1: \n // onLoad will remove it's callback once done\n // we do not need to dispose or destroy the image\n // since it came from the user\n return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Decodes an image from a URL.\n */\n BrowserCodeReader.prototype.decodeFromImageUrl = function (url) {\n return __awaiter(this, void 0, void 0, function () {\n var element;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n element = BrowserCodeReader.prepareImageElement();\n // loads the image.\n element.src = url;\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 3, 4]);\n return [4 /*yield*/, this.decodeFromImageElement(element)];\n case 2: \n // it waits the task so we can destroy the created image after\n return [2 /*return*/, _a.sent()];\n case 3:\n // we created this element, so we destroy it\n BrowserCodeReader.destroyImageElement(element);\n return [7 /*endfinally*/];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Continuously tries to decode the barcode from a stream obtained from the given constraints\n * while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [previewElem] the video element in page where to show the video while\n * decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in\n * which case no video will be shown.\n */\n BrowserCodeReader.prototype.decodeFromConstraints = function (constraints, previewElem, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var stream, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n BrowserCodeReader.checkCallbackFnOrThrow(callbackFn);\n return [4 /*yield*/, this.getUserMedia(constraints)];\n case 1:\n stream = _a.sent();\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, this.decodeFromStream(stream, previewElem, callbackFn)];\n case 3: return [2 /*return*/, _a.sent()];\n case 4:\n error_2 = _a.sent();\n BrowserCodeReader.disposeMediaStream(stream);\n throw error_2;\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given constraints\n * while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [preview] the video element in page where to show the video\n * while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined,\n * in which case no video will be shown.\n */\n BrowserCodeReader.prototype.decodeFromStream = function (stream, preview, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var timeout, video, finalizeCallback, originalControls, videoTracks, controls, isTorchAvailable, torchTrack_1, switchTorch_1, stop_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n BrowserCodeReader.checkCallbackFnOrThrow(callbackFn);\n timeout = this.options.tryPlayVideoTimeout;\n return [4 /*yield*/, BrowserCodeReader.attachStreamToVideo(stream, preview, timeout)];\n case 1:\n video = _a.sent();\n finalizeCallback = function () {\n // stops video tracks and releases the stream reference\n BrowserCodeReader.disposeMediaStream(stream);\n // this video was just a preview, so in order\n // to release the stream we gotta stop showing\n // it (the stream) in the video element\n BrowserCodeReader.cleanVideoSource(video);\n };\n originalControls = this.scan(video, callbackFn, finalizeCallback);\n videoTracks = stream.getVideoTracks();\n controls = __assign(__assign({}, originalControls), { stop: function () {\n originalControls.stop();\n },\n streamVideoConstraintsApply: function (constraints, trackFilter) {\n return __awaiter(this, void 0, void 0, function () {\n var tracks, tracks_2, tracks_2_1, track, e_3_1;\n var e_3, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n tracks = trackFilter ? videoTracks.filter(trackFilter) : videoTracks;\n _b.label = 1;\n case 1:\n _b.trys.push([1, 6, 7, 8]);\n tracks_2 = __values(tracks), tracks_2_1 = tracks_2.next();\n _b.label = 2;\n case 2:\n if (!!tracks_2_1.done) return [3 /*break*/, 5];\n track = tracks_2_1.value;\n return [4 /*yield*/, track.applyConstraints(constraints)];\n case 3:\n _b.sent();\n _b.label = 4;\n case 4:\n tracks_2_1 = tracks_2.next();\n return [3 /*break*/, 2];\n case 5: return [3 /*break*/, 8];\n case 6:\n e_3_1 = _b.sent();\n e_3 = { error: e_3_1 };\n return [3 /*break*/, 8];\n case 7:\n try {\n if (tracks_2_1 && !tracks_2_1.done && (_a = tracks_2.return)) _a.call(tracks_2);\n }\n finally { if (e_3) throw e_3.error; }\n return [7 /*endfinally*/];\n case 8: return [2 /*return*/];\n }\n });\n });\n },\n streamVideoConstraintsGet: function (trackFilter) {\n return videoTracks.find(trackFilter).getConstraints();\n },\n streamVideoSettingsGet: function (trackFilter) {\n return videoTracks.find(trackFilter).getSettings();\n },\n streamVideoCapabilitiesGet: function (trackFilter) {\n return videoTracks.find(trackFilter).getCapabilities();\n } });\n isTorchAvailable = BrowserCodeReader.mediaStreamIsTorchCompatible(stream);\n if (isTorchAvailable) {\n torchTrack_1 = videoTracks === null || videoTracks === void 0 ? void 0 : videoTracks.find(function (t) { return BrowserCodeReader.mediaStreamIsTorchCompatibleTrack(t); });\n switchTorch_1 = function (onOff) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, BrowserCodeReader.mediaStreamSetTorch(torchTrack_1, onOff)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); };\n controls.switchTorch = switchTorch_1;\n stop_1 = function () {\n originalControls.stop();\n switchTorch_1(false);\n };\n controls.stop = stop_1;\n }\n return [2 /*return*/, controls];\n }\n });\n });\n };\n /**\n * Continuously tries to decode the barcode from the device specified by device while showing\n * the video in the specified video element.\n *\n * @param {string|null} [deviceId] the id of one of the devices obtained after calling\n * getVideoInputDevices. Can be undefined, in this case it will decode from one of the\n * available devices, preferring the main camera (environment facing) if available.\n * @param {string|HTMLVideoElement|null} [video] the video element in page where to show the video\n * while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined,\n * in which case no video will be shown.\n */\n BrowserCodeReader.prototype.decodeFromVideoDevice = function (deviceId, previewElem, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var videoConstraints, constraints;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n BrowserCodeReader.checkCallbackFnOrThrow(callbackFn);\n if (!deviceId) {\n videoConstraints = { facingMode: 'environment' };\n }\n else {\n videoConstraints = { deviceId: { exact: deviceId } };\n }\n constraints = { video: videoConstraints };\n return [4 /*yield*/, this.decodeFromConstraints(constraints, previewElem, callbackFn)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Decodes something from an image HTML element.\n */\n BrowserCodeReader.prototype.decodeFromVideoElement = function (source, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var element, timeout;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n BrowserCodeReader.checkCallbackFnOrThrow(callbackFn);\n if (!source) {\n throw new ArgumentException('A video element must be provided.');\n }\n element = BrowserCodeReader.prepareVideoElement(source);\n timeout = this.options.tryPlayVideoTimeout;\n // plays the video\n return [4 /*yield*/, BrowserCodeReader.playVideoOnLoadAsync(element, timeout)];\n case 1:\n // plays the video\n _a.sent();\n // starts decoding after played the video\n return [2 /*return*/, this.scan(element, callbackFn)];\n }\n });\n });\n };\n /**\n * Decodes a video from a URL until it ends.\n */\n BrowserCodeReader.prototype.decodeFromVideoUrl = function (url, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var element, finalizeCallback, timeout, controls;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n BrowserCodeReader.checkCallbackFnOrThrow(callbackFn);\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n element = BrowserCodeReader.prepareVideoElement();\n // starts loading the video\n element.src = url;\n finalizeCallback = function () {\n // dispose created video element\n BrowserCodeReader.cleanVideoSource(element);\n };\n timeout = this.options.tryPlayVideoTimeout;\n // plays the video\n return [4 /*yield*/, BrowserCodeReader.playVideoOnLoadAsync(element, timeout)];\n case 1:\n // plays the video\n _a.sent();\n controls = this.scan(element, callbackFn, finalizeCallback);\n return [2 /*return*/, controls];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given\n * constraints while showing the video in the specified video element.\n *\n * @param constraints the media stream constraints to get s valid media stream to decode from\n * @param videoSource the video element in page where to show the video while decoding.\n * Can be either an element id or directly an HTMLVideoElement. Can be undefined,\n * in which case no video will be shown.\n * The decoding result.\n */\n BrowserCodeReader.prototype.decodeOnceFromConstraints = function (constraints, videoSource) {\n return __awaiter(this, void 0, void 0, function () {\n var stream;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getUserMedia(constraints)];\n case 1:\n stream = _a.sent();\n return [4 /*yield*/, this.decodeOnceFromStream(stream, videoSource)];\n case 2: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given\n * constraints while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [video] the video element in page where to show the video while decoding.\n * Can be either an element id or directly an HTMLVideoElement. Can be undefined,\n * in which case no video will be shown.\n */\n BrowserCodeReader.prototype.decodeOnceFromStream = function (stream, preview) {\n return __awaiter(this, void 0, void 0, function () {\n var receivedPreview, video, result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n receivedPreview = Boolean(preview);\n return [4 /*yield*/, BrowserCodeReader.attachStreamToVideo(stream, preview)];\n case 1:\n video = _a.sent();\n _a.label = 2;\n case 2:\n _a.trys.push([2, , 4, 5]);\n return [4 /*yield*/, this.scanOneResult(video)];\n case 3:\n result = _a.sent();\n return [2 /*return*/, result];\n case 4:\n if (!receivedPreview) {\n BrowserCodeReader.cleanVideoSource(video);\n }\n return [7 /*endfinally*/];\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from the device specified by deviceId\n * while showing the video in the specified video element.\n *\n * @param deviceId the id of one of the devices obtained after calling getVideoInputDevices.\n * Can be undefined, in this case it will decode from one of the available devices,\n * preferring the main camera (environment facing) if available.\n * @param videoSource the video element in page where to show the video while decoding.\n * Can be either an element id or directly an HTMLVideoElement. Can be undefined,\n * in which case no video will be shown.\n */\n BrowserCodeReader.prototype.decodeOnceFromVideoDevice = function (deviceId, videoSource) {\n return __awaiter(this, void 0, void 0, function () {\n var videoConstraints, constraints;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!deviceId) {\n videoConstraints = { facingMode: 'environment' };\n }\n else {\n videoConstraints = { deviceId: { exact: deviceId } };\n }\n constraints = { video: videoConstraints };\n return [4 /*yield*/, this.decodeOnceFromConstraints(constraints, videoSource)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Decodes something from an image HTML element.\n */\n BrowserCodeReader.prototype.decodeOnceFromVideoElement = function (source) {\n return __awaiter(this, void 0, void 0, function () {\n var element, timeout;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!source) {\n throw new ArgumentException('A video element must be provided.');\n }\n element = BrowserCodeReader.prepareVideoElement(source);\n timeout = this.options.tryPlayVideoTimeout;\n // plays the video\n return [4 /*yield*/, BrowserCodeReader.playVideoOnLoadAsync(element, timeout)];\n case 1:\n // plays the video\n _a.sent();\n return [4 /*yield*/, this.scanOneResult(element)];\n case 2: \n // starts decoding after played the video\n return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Decodes a video from a URL.\n */\n BrowserCodeReader.prototype.decodeOnceFromVideoUrl = function (url) {\n return __awaiter(this, void 0, void 0, function () {\n var element, task;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n element = BrowserCodeReader.prepareVideoElement();\n // starts loading the video\n element.src = url;\n task = this.decodeOnceFromVideoElement(element);\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 3, 4]);\n return [4 /*yield*/, task];\n case 2: \n // it waits the task so we can destroy the created image after\n return [2 /*return*/, _a.sent()];\n case 3:\n // we created this element, so we destroy it\n BrowserCodeReader.cleanVideoSource(element);\n return [7 /*endfinally*/];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Tries to decode from the video input until it finds some value.\n */\n BrowserCodeReader.prototype.scanOneResult = function (element, retryIfNotFound, retryIfChecksumError, retryIfFormatError) {\n var _this = this;\n if (retryIfNotFound === void 0) { retryIfNotFound = true; }\n if (retryIfChecksumError === void 0) { retryIfChecksumError = true; }\n if (retryIfFormatError === void 0) { retryIfFormatError = true; }\n return new Promise(function (resolve, reject) {\n // reuses the scan API, but returns at the first successful result\n _this.scan(element, function (result, error, controls) {\n if (result) {\n // good result, returning\n resolve(result);\n controls.stop();\n return;\n }\n if (error) {\n // checks if it should retry\n if (error instanceof NotFoundException && retryIfNotFound) {\n return;\n }\n if (error instanceof ChecksumException && retryIfChecksumError) {\n return;\n }\n if (error instanceof FormatException && retryIfFormatError) {\n return;\n }\n // not re-trying\n controls.stop(); // stops scan loop\n reject(error); // returns the error\n }\n });\n });\n };\n /**\n * Continuously decodes from video input.\n *\n * @param element HTML element to scan/decode from. It will not be disposed or destroyed.\n * @param callbackFn Called after every scan attempt, being it successful or errored.\n * @param finalizeCallback Called after scan process reaches the end or stop is called.\n */\n BrowserCodeReader.prototype.scan = function (element, callbackFn, finalizeCallback) {\n var _this = this;\n BrowserCodeReader.checkCallbackFnOrThrow(callbackFn);\n /**\n * The HTML canvas element, used to draw the video or image's frame for decoding.\n */\n var captureCanvas = BrowserCodeReader.createCaptureCanvas(element);\n /**\n * The HTML canvas element context.\n */\n var captureCanvasContext = captureCanvas.getContext('2d');\n // cannot proceed w/o this\n if (!captureCanvasContext) {\n throw new Error('Couldn\\'t create canvas for visual element scan.');\n }\n var disposeCanvas = function () {\n captureCanvasContext = undefined;\n captureCanvas = undefined;\n };\n var stopScan = false;\n var lastTimeoutId;\n // can be called to break the scan loop\n var stop = function () {\n stopScan = true;\n clearTimeout(lastTimeoutId);\n disposeCanvas();\n if (finalizeCallback) {\n finalizeCallback();\n }\n };\n // created for extensibility\n var controls = { stop: stop };\n // this async loop allows infinite (or almost? maybe) scans\n var loop = function () {\n if (stopScan) {\n // no need to clear timeouts as none was create yet in this scope.\n return;\n }\n try {\n BrowserCodeReader.drawImageOnCanvas(captureCanvasContext, element);\n var result = _this.decodeFromCanvas(captureCanvas);\n callbackFn(result, undefined, controls);\n lastTimeoutId = setTimeout(loop, _this.options.delayBetweenScanSuccess);\n }\n catch (error) {\n callbackFn(undefined, error, controls);\n var isChecksumError = error instanceof ChecksumException;\n var isFormatError = error instanceof FormatException;\n var isNotFound = error instanceof NotFoundException;\n if (isChecksumError || isFormatError || isNotFound) {\n // trying again\n lastTimeoutId = setTimeout(loop, _this.options.delayBetweenScanAttempts);\n return;\n }\n // not trying again\n disposeCanvas();\n if (finalizeCallback) {\n finalizeCallback(error);\n }\n }\n };\n // starts the async loop\n loop();\n return controls;\n };\n /**\n * Waits for the image to load and then tries to decode it.\n */\n BrowserCodeReader.prototype._decodeOnLoadImage = function (element) {\n return __awaiter(this, void 0, void 0, function () {\n var isImageLoaded;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isImageLoaded = BrowserCodeReader.isImageLoaded(element);\n if (!!isImageLoaded) return [3 /*break*/, 2];\n return [4 /*yield*/, BrowserCodeReader._waitImageLoad(element)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/, this.decode(element)];\n }\n });\n });\n };\n /**\n * Get MediaStream from browser to be used.\n * @param constraints constraints the media stream constraints to get s valid media stream to decode from.\n * @private For private use.\n */\n BrowserCodeReader.prototype.getUserMedia = function (constraints) {\n return __awaiter(this, void 0, void 0, function () {\n var stream;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, navigator.mediaDevices.getUserMedia(constraints)];\n case 1:\n stream = _a.sent();\n BrowserCodeReader.streamTracker.push(stream);\n return [2 /*return*/, stream];\n }\n });\n });\n };\n /**\n * Keeps track to created media streams.\n * @private there is no need this array to be accessible from outside.\n */\n BrowserCodeReader.streamTracker = [];\n return BrowserCodeReader;\n}());\nexport { BrowserCodeReader };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { DataMatrixReader } from '@zxing/library';\nimport { BrowserCodeReader } from './BrowserCodeReader';\n/**\n * QR Code reader to use from browser.\n */\nvar BrowserDatamatrixCodeReader = /** @class */ (function (_super) {\n __extends(BrowserDatamatrixCodeReader, _super);\n /**\n * Creates an instance of BrowserQRCodeReader.\n */\n function BrowserDatamatrixCodeReader(hints, options) {\n return _super.call(this, new DataMatrixReader(), hints, options) || this;\n }\n return BrowserDatamatrixCodeReader;\n}(BrowserCodeReader));\nexport { BrowserDatamatrixCodeReader };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { MultiFormatOneDReader } from '@zxing/library';\nimport { BrowserCodeReader } from './BrowserCodeReader';\n/**\n * Reader to be used for any One Dimension type barcode.\n */\nvar BrowserMultiFormatOneDReader = /** @class */ (function (_super) {\n __extends(BrowserMultiFormatOneDReader, _super);\n /**\n * Creates an instance of BrowserBarcodeReader.\n * @param {Map} hints?\n * @param options\n */\n function BrowserMultiFormatOneDReader(hints, options) {\n return _super.call(this, new MultiFormatOneDReader(hints), hints, options) || this;\n }\n return BrowserMultiFormatOneDReader;\n}(BrowserCodeReader));\nexport { BrowserMultiFormatOneDReader };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { DecodeHintType, MultiFormatReader, } from '@zxing/library';\nimport { BrowserCodeReader } from './BrowserCodeReader';\nvar BrowserMultiFormatReader = /** @class */ (function (_super) {\n __extends(BrowserMultiFormatReader, _super);\n function BrowserMultiFormatReader(hints, options) {\n var _this = this;\n var reader = new MultiFormatReader();\n reader.setHints(hints);\n _this = _super.call(this, reader, hints, options) || this;\n _this.reader = reader;\n return _this;\n }\n Object.defineProperty(BrowserMultiFormatReader.prototype, \"possibleFormats\", {\n set: function (formats) {\n this.hints.set(DecodeHintType.POSSIBLE_FORMATS, formats);\n this.reader.setHints(this.hints);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Overwrite decodeBitmap to call decodeWithState, which will pay\n * attention to the hints set in the constructor function\n */\n BrowserMultiFormatReader.prototype.decodeBitmap = function (binaryBitmap) {\n return this.reader.decodeWithState(binaryBitmap);\n };\n /**\n * Allows to change hints in runtime.\n */\n BrowserMultiFormatReader.prototype.setHints = function (hints) {\n this.hints = hints;\n this.reader.setHints(this.hints);\n };\n return BrowserMultiFormatReader;\n}(BrowserCodeReader));\nexport { BrowserMultiFormatReader };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { PDF417Reader } from '@zxing/library';\nimport { BrowserCodeReader } from './BrowserCodeReader';\n/**\n * QR Code reader to use from browser.\n */\nvar BrowserPDF417Reader = /** @class */ (function (_super) {\n __extends(BrowserPDF417Reader, _super);\n /**\n * Creates an instance of BrowserPDF417Reader.\n */\n function BrowserPDF417Reader(hints, options) {\n return _super.call(this, new PDF417Reader(), hints, options) || this;\n }\n return BrowserPDF417Reader;\n}(BrowserCodeReader));\nexport { BrowserPDF417Reader };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { QRCodeReader } from '@zxing/library';\nimport { BrowserCodeReader } from './BrowserCodeReader';\n/**\n * QR Code reader to use from browser.\n */\nvar BrowserQRCodeReader = /** @class */ (function (_super) {\n __extends(BrowserQRCodeReader, _super);\n /**\n * Creates an instance of BrowserQRCodeReader.\n */\n function BrowserQRCodeReader(hints, options) {\n return _super.call(this, new QRCodeReader(), hints, options) || this;\n }\n return BrowserQRCodeReader;\n}(BrowserCodeReader));\nexport { BrowserQRCodeReader };\n","import { EncodeHintType, IllegalArgumentException, IllegalStateException, QRCodeDecoderErrorCorrectionLevel, QRCodeEncoder, } from '@zxing/library';\nvar svgNs = 'http://www.w3.org/2000/svg';\n/**/\nvar BrowserCodeSvgWriter = /** @class */ (function () {\n /**\n * Constructs. 😉\n */\n function BrowserCodeSvgWriter(containerElement) {\n if (typeof containerElement === 'string') {\n var container = document.getElementById(containerElement);\n if (!container) {\n throw new Error(\"Could not find a Container element with '\" + containerElement + \"'.\");\n }\n this.containerElement = container;\n }\n else {\n this.containerElement = containerElement;\n }\n }\n /**\n * Writes the QR code to a SVG and renders it in the container.\n */\n BrowserCodeSvgWriter.prototype.write = function (contents, width, height, hints) {\n if (contents.length === 0) {\n throw new IllegalArgumentException('Found empty contents');\n }\n if (width < 0 || height < 0) {\n throw new IllegalArgumentException('Requested dimensions are too small: ' + width + 'x' + height);\n }\n var quietZone = hints && hints.get(EncodeHintType.MARGIN) !== undefined\n ? Number.parseInt(hints.get(EncodeHintType.MARGIN).toString(), 10)\n : BrowserCodeSvgWriter.QUIET_ZONE_SIZE;\n var code = this.encode(hints, contents);\n return this.renderResult(code, width, height, quietZone);\n };\n /**\n * Creates a SVG element.\n */\n BrowserCodeSvgWriter.prototype.createSVGElement = function (w, h) {\n var el = document.createElementNS(BrowserCodeSvgWriter.SVG_NS, 'svg');\n el.setAttributeNS(svgNs, 'width', h.toString());\n el.setAttributeNS(svgNs, 'height', w.toString());\n return el;\n };\n /**\n * Creates a SVG rect.\n */\n BrowserCodeSvgWriter.prototype.createSvgPathPlaceholderElement = function (w, h) {\n var el = document.createElementNS(BrowserCodeSvgWriter.SVG_NS, 'path');\n el.setAttributeNS(svgNs, 'd', \"M0 0h\" + w + \"v\" + h + \"H0z\");\n el.setAttributeNS(svgNs, 'fill', 'none');\n return el;\n };\n /**\n * Creates a SVG rect.\n */\n BrowserCodeSvgWriter.prototype.createSvgRectElement = function (x, y, w, h) {\n var el = document.createElementNS(BrowserCodeSvgWriter.SVG_NS, 'rect');\n el.setAttributeNS(svgNs, 'x', x.toString());\n el.setAttributeNS(svgNs, 'y', y.toString());\n el.setAttributeNS(svgNs, 'height', w.toString());\n el.setAttributeNS(svgNs, 'width', h.toString());\n el.setAttributeNS(svgNs, 'fill', '#000000');\n return el;\n };\n /**\n * Encodes the content to a Barcode type.\n */\n BrowserCodeSvgWriter.prototype.encode = function (hints, contents) {\n var errorCorrectionLevel = QRCodeDecoderErrorCorrectionLevel.L;\n if (hints && hints.get(EncodeHintType.ERROR_CORRECTION) !== undefined) {\n var correctionStr = hints.get(EncodeHintType.ERROR_CORRECTION).toString();\n errorCorrectionLevel = QRCodeDecoderErrorCorrectionLevel.fromString(correctionStr);\n }\n var code = QRCodeEncoder.encode(contents, errorCorrectionLevel, hints);\n return code;\n };\n /**\n * Renders the SVG in the container.\n *\n * @note the input matrix uses 0 == white, 1 == black. The output matrix\n * uses 0 == black, 255 == white (i.e. an 8 bit greyscale bitmap).\n */\n BrowserCodeSvgWriter.prototype.renderResult = function (code, width /*int*/, height /*int*/, quietZone /*int*/) {\n // if (this.format && format != this.format) {\n // throw new IllegalArgumentException(\"Can only encode QR_CODE, but got \" + format)\n // }\n var input = code.getMatrix();\n if (input === null) {\n throw new IllegalStateException();\n }\n var inputWidth = input.getWidth();\n var inputHeight = input.getHeight();\n var qrWidth = inputWidth + (quietZone * 2);\n var qrHeight = inputHeight + (quietZone * 2);\n var outputWidth = Math.max(width, qrWidth);\n var outputHeight = Math.max(height, qrHeight);\n var multiple = Math.min(Math.floor(outputWidth / qrWidth), Math.floor(outputHeight / qrHeight));\n // Padding includes both the quiet zone and the extra white pixels to accommodate the requested\n // dimensions. For example, if input is 25x25 the QR will be 33x33 including the quiet zone.\n // If the requested size is 200x160, the multiple will be 4, for a QR of 132x132. These will\n // handle all the padding from 100x100 (the actual QR) up to 200x160.\n var leftPadding = Math.floor((outputWidth - (inputWidth * multiple)) / 2);\n var topPadding = Math.floor((outputHeight - (inputHeight * multiple)) / 2);\n var svgElement = this.createSVGElement(outputWidth, outputHeight);\n var placeholder = this.createSvgPathPlaceholderElement(width, height);\n svgElement.appendChild(placeholder);\n this.containerElement.appendChild(svgElement);\n // 2D loop\n for (var inputY = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the barcode\n for (var inputX = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) {\n if (input.get(inputX, inputY) === 1) {\n var svgRectElement = this.createSvgRectElement(outputX, outputY, multiple, multiple);\n svgElement.appendChild(svgRectElement);\n }\n }\n }\n return svgElement;\n };\n /**\n * Default quiet zone in pixels.\n */\n BrowserCodeSvgWriter.QUIET_ZONE_SIZE = 4;\n /**\n * SVG markup NameSpace\n */\n BrowserCodeSvgWriter.SVG_NS = 'http://www.w3.org/2000/svg';\n return BrowserCodeSvgWriter;\n}());\nexport { BrowserCodeSvgWriter };\n","import { EncodeHintType, IllegalArgumentException, IllegalStateException, QRCodeDecoderErrorCorrectionLevel, QRCodeEncoder, } from '@zxing/library';\nvar svgNs = 'http://www.w3.org/2000/svg';\n/**/\nvar BrowserQRCodeSvgWriter = /** @class */ (function () {\n function BrowserQRCodeSvgWriter() {\n }\n /**\n * Writes and renders a QRCode SVG element.\n *\n * @param contents\n * @param width\n * @param height\n * @param hints\n */\n BrowserQRCodeSvgWriter.prototype.write = function (contents, width, height, hints) {\n if (contents.length === 0) {\n throw new IllegalArgumentException('Found empty contents');\n }\n // if (format != BarcodeFormat.QR_CODE) {\n // throw new IllegalArgumentException(\"Can only encode QR_CODE, but got \" + format)\n // }\n if (width < 0 || height < 0) {\n throw new IllegalArgumentException('Requested dimensions are too small: ' + width + 'x' + height);\n }\n var errorCorrectionLevel = QRCodeDecoderErrorCorrectionLevel.L;\n var quietZone = BrowserQRCodeSvgWriter.QUIET_ZONE_SIZE;\n if (hints) {\n if (undefined !== hints.get(EncodeHintType.ERROR_CORRECTION)) {\n var correctionStr = hints.get(EncodeHintType.ERROR_CORRECTION).toString();\n errorCorrectionLevel = QRCodeDecoderErrorCorrectionLevel.fromString(correctionStr);\n }\n if (undefined !== hints.get(EncodeHintType.MARGIN)) {\n quietZone = Number.parseInt(hints.get(EncodeHintType.MARGIN).toString(), 10);\n }\n }\n var code = QRCodeEncoder.encode(contents, errorCorrectionLevel, hints);\n return this.renderResult(code, width, height, quietZone);\n };\n /**\n * Renders the result and then appends it to the DOM.\n */\n BrowserQRCodeSvgWriter.prototype.writeToDom = function (containerElement, contents, width, height, hints) {\n if (typeof containerElement === 'string') {\n var targetEl = document.querySelector(containerElement);\n if (!targetEl) {\n throw new Error('Could no find the target HTML element.');\n }\n containerElement = targetEl;\n }\n var svgElement = this.write(contents, width, height, hints);\n if (containerElement instanceof HTMLElement) {\n containerElement.appendChild(svgElement);\n }\n };\n /**\n * Note that the input matrix uses 0 == white, 1 == black.\n * The output matrix uses 0 == black, 255 == white (i.e. an 8 bit greyscale bitmap).\n */\n BrowserQRCodeSvgWriter.prototype.renderResult = function (code, width /*int*/, height /*int*/, quietZone /*int*/) {\n var input = code.getMatrix();\n if (input === null) {\n throw new IllegalStateException();\n }\n var inputWidth = input.getWidth();\n var inputHeight = input.getHeight();\n var qrWidth = inputWidth + (quietZone * 2);\n var qrHeight = inputHeight + (quietZone * 2);\n var outputWidth = Math.max(width, qrWidth);\n var outputHeight = Math.max(height, qrHeight);\n var multiple = Math.min(Math.floor(outputWidth / qrWidth), Math.floor(outputHeight / qrHeight));\n // Padding includes both the quiet zone and the extra white pixels to accommodate the requested\n // dimensions. For example, if input is 25x25 the QR will be 33x33 including the quiet zone.\n // If the requested size is 200x160, the multiple will be 4, for a QR of 132x132. These will\n // handle all the padding from 100x100 (the actual QR) up to 200x160.\n var leftPadding = Math.floor((outputWidth - (inputWidth * multiple)) / 2);\n var topPadding = Math.floor((outputHeight - (inputHeight * multiple)) / 2);\n var svgElement = this.createSVGElement(outputWidth, outputHeight);\n for (var inputY = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the barcode\n for (var inputX = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) {\n if (input.get(inputX, inputY) === 1) {\n var svgRectElement = this.createSvgRectElement(outputX, outputY, multiple, multiple);\n svgElement.appendChild(svgRectElement);\n }\n }\n }\n return svgElement;\n };\n /**\n * Creates a SVG element.\n *\n * @param w SVG's width attribute\n * @param h SVG's height attribute\n */\n BrowserQRCodeSvgWriter.prototype.createSVGElement = function (w, h) {\n var svgElement = document.createElementNS(svgNs, 'svg');\n var width = w.toString();\n var height = h.toString();\n svgElement.setAttribute('height', height);\n svgElement.setAttribute('width', width);\n svgElement.setAttribute('viewBox', \"0 0 \" + width + \" \" + height);\n return svgElement;\n };\n /**\n * Creates a SVG rect element.\n *\n * @param x Element's x coordinate\n * @param y Element's y coordinate\n * @param w Element's width attribute\n * @param h Element's height attribute\n */\n BrowserQRCodeSvgWriter.prototype.createSvgRectElement = function (x, y, w, h) {\n var rect = document.createElementNS(svgNs, 'rect');\n rect.setAttribute('x', x.toString());\n rect.setAttribute('y', y.toString());\n rect.setAttribute('height', w.toString());\n rect.setAttribute('width', h.toString());\n rect.setAttribute('fill', '#000000');\n return rect;\n };\n BrowserQRCodeSvgWriter.QUIET_ZONE_SIZE = 4;\n return BrowserQRCodeSvgWriter;\n}());\nexport { BrowserQRCodeSvgWriter };\n","// browser\nexport * from './browser/BrowserAztecCodeReader';\nexport * from './browser/BrowserBarcodeReader';\nexport * from './browser/BrowserCodeReader';\nexport * from './browser/BrowserDatamatrixCodeReader';\nexport * from './browser/BrowserMultiFormatReader';\nexport * from './browser/BrowserPDF417Reader';\nexport * from './browser/BrowserQRCodeReader';\nexport * from './browser/BrowserQRCodeSvgWriter';\nexport * from './browser/DecodeContinuouslyCallback';\nexport * from './browser/HTMLCanvasElementLuminanceSource';\nexport * from './browser/HTMLVisualMediaElement';\nexport * from './browser/VideoInputDevice';\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BrowserCodeReader } from './BrowserCodeReader';\nimport AztecReader from '../core/aztec/AztecReader';\n/**\n * Aztec Code reader to use from browser.\n *\n * @class BrowserAztecCodeReader\n * @extends {BrowserCodeReader}\n */\nvar BrowserAztecCodeReader = /** @class */ (function (_super) {\n __extends(BrowserAztecCodeReader, _super);\n /**\n * Creates an instance of BrowserAztecCodeReader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n *\n * @memberOf BrowserAztecCodeReader\n */\n function BrowserAztecCodeReader(timeBetweenScansMillis) {\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n return _super.call(this, new AztecReader(), timeBetweenScansMillis) || this;\n }\n return BrowserAztecCodeReader;\n}(BrowserCodeReader));\nexport { BrowserAztecCodeReader };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BrowserCodeReader } from './BrowserCodeReader';\nimport MultiFormatOneDReader from '../core/oned/MultiFormatOneDReader';\n/**\n * @deprecated Moving to @zxing/browser\n *\n * Barcode reader reader to use from browser.\n */\nvar BrowserBarcodeReader = /** @class */ (function (_super) {\n __extends(BrowserBarcodeReader, _super);\n /**\n * Creates an instance of BrowserBarcodeReader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n * @param {Map} hints\n */\n function BrowserBarcodeReader(timeBetweenScansMillis, hints) {\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n return _super.call(this, new MultiFormatOneDReader(hints), timeBetweenScansMillis, hints) || this;\n }\n return BrowserBarcodeReader;\n}(BrowserCodeReader));\nexport { BrowserBarcodeReader };\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport ArgumentException from '../core/ArgumentException';\nimport BinaryBitmap from '../core/BinaryBitmap';\nimport ChecksumException from '../core/ChecksumException';\nimport HybridBinarizer from '../core/common/HybridBinarizer';\nimport FormatException from '../core/FormatException';\nimport NotFoundException from '../core/NotFoundException';\nimport { HTMLCanvasElementLuminanceSource } from './HTMLCanvasElementLuminanceSource';\nimport { VideoInputDevice } from './VideoInputDevice';\n/**\n * @deprecated Moving to @zxing/browser\n *\n * Base class for browser code reader.\n */\nvar BrowserCodeReader = /** @class */ (function () {\n /**\n * Creates an instance of BrowserCodeReader.\n * @param {Reader} reader The reader instance to decode the barcode\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent successful decode tries\n *\n * @memberOf BrowserCodeReader\n */\n function BrowserCodeReader(reader, timeBetweenScansMillis, _hints) {\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n this.reader = reader;\n this.timeBetweenScansMillis = timeBetweenScansMillis;\n this._hints = _hints;\n /**\n * This will break the loop.\n */\n this._stopContinuousDecode = false;\n /**\n * This will break the loop.\n */\n this._stopAsyncDecode = false;\n /**\n * Delay time between decode attempts made by the scanner.\n */\n this._timeBetweenDecodingAttempts = 0;\n }\n Object.defineProperty(BrowserCodeReader.prototype, \"hasNavigator\", {\n /**\n * If navigator is present.\n */\n get: function () {\n return typeof navigator !== 'undefined';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BrowserCodeReader.prototype, \"isMediaDevicesSuported\", {\n /**\n * If mediaDevices under navigator is supported.\n */\n get: function () {\n return this.hasNavigator && !!navigator.mediaDevices;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BrowserCodeReader.prototype, \"canEnumerateDevices\", {\n /**\n * If enumerateDevices under navigator is supported.\n */\n get: function () {\n return !!(this.isMediaDevicesSuported && navigator.mediaDevices.enumerateDevices);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BrowserCodeReader.prototype, \"timeBetweenDecodingAttempts\", {\n /** Time between two decoding tries in milli seconds. */\n get: function () {\n return this._timeBetweenDecodingAttempts;\n },\n /**\n * Change the time span the decoder waits between two decoding tries.\n *\n * @param {number} millis Time between two decoding tries in milli seconds.\n */\n set: function (millis) {\n this._timeBetweenDecodingAttempts = millis < 0 ? 0 : millis;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BrowserCodeReader.prototype, \"hints\", {\n /**\n * Sets the hints.\n */\n get: function () {\n return this._hints;\n },\n /**\n * Sets the hints.\n */\n set: function (hints) {\n this._hints = hints || null;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Lists all the available video input devices.\n */\n BrowserCodeReader.prototype.listVideoInputDevices = function () {\n return __awaiter(this, void 0, void 0, function () {\n var devices, videoDevices, devices_1, devices_1_1, device, kind, deviceId, label, groupId, videoDevice;\n var e_1, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!this.hasNavigator) {\n throw new Error('Can\\'t enumerate devices, navigator is not present.');\n }\n if (!this.canEnumerateDevices) {\n throw new Error('Can\\'t enumerate devices, method not supported.');\n }\n return [4 /*yield*/, navigator.mediaDevices.enumerateDevices()];\n case 1:\n devices = _b.sent();\n videoDevices = [];\n try {\n for (devices_1 = __values(devices), devices_1_1 = devices_1.next(); !devices_1_1.done; devices_1_1 = devices_1.next()) {\n device = devices_1_1.value;\n kind = device.kind === 'video' ? 'videoinput' : device.kind;\n if (kind !== 'videoinput') {\n continue;\n }\n deviceId = device.deviceId || device.id;\n label = device.label || \"Video device \" + (videoDevices.length + 1);\n groupId = device.groupId;\n videoDevice = { deviceId: deviceId, label: label, kind: kind, groupId: groupId };\n videoDevices.push(videoDevice);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (devices_1_1 && !devices_1_1.done && (_a = devices_1.return)) _a.call(devices_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return [2 /*return*/, videoDevices];\n }\n });\n });\n };\n /**\n * Obtain the list of available devices with type 'videoinput'.\n *\n * @returns {Promise} an array of available video input devices\n *\n * @memberOf BrowserCodeReader\n *\n * @deprecated Use `listVideoInputDevices` instead.\n */\n BrowserCodeReader.prototype.getVideoInputDevices = function () {\n return __awaiter(this, void 0, void 0, function () {\n var devices;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.listVideoInputDevices()];\n case 1:\n devices = _a.sent();\n return [2 /*return*/, devices.map(function (d) { return new VideoInputDevice(d.deviceId, d.label); })];\n }\n });\n });\n };\n /**\n * Let's you find a device using it's Id.\n */\n BrowserCodeReader.prototype.findDeviceById = function (deviceId) {\n return __awaiter(this, void 0, void 0, function () {\n var devices;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.listVideoInputDevices()];\n case 1:\n devices = _a.sent();\n if (!devices) {\n return [2 /*return*/, null];\n }\n return [2 /*return*/, devices.find(function (x) { return x.deviceId === deviceId; })];\n }\n });\n });\n };\n /**\n * Decodes the barcode from the device specified by deviceId while showing the video in the specified video element.\n *\n * @param deviceId the id of one of the devices obtained after calling getVideoInputDevices. Can be undefined, in this case it will decode from one of the available devices, preffering the main camera (environment facing) if available.\n * @param video the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns The decoding result.\n *\n * @memberOf BrowserCodeReader\n *\n * @deprecated Use `decodeOnceFromVideoDevice` instead.\n */\n BrowserCodeReader.prototype.decodeFromInputVideoDevice = function (deviceId, videoSource) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.decodeOnceFromVideoDevice(deviceId, videoSource)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from the device specified by deviceId while showing the video in the specified video element.\n *\n * @param deviceId the id of one of the devices obtained after calling getVideoInputDevices. Can be undefined, in this case it will decode from one of the available devices, preffering the main camera (environment facing) if available.\n * @param video the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeOnceFromVideoDevice = function (deviceId, videoSource) {\n return __awaiter(this, void 0, void 0, function () {\n var videoConstraints, constraints;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.reset();\n if (!deviceId) {\n videoConstraints = { facingMode: 'environment' };\n }\n else {\n videoConstraints = { deviceId: { exact: deviceId } };\n }\n constraints = { video: videoConstraints };\n return [4 /*yield*/, this.decodeOnceFromConstraints(constraints, videoSource)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given constraints while showing the video in the specified video element.\n *\n * @param constraints the media stream constraints to get s valid media stream to decode from\n * @param video the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeOnceFromConstraints = function (constraints, videoSource) {\n return __awaiter(this, void 0, void 0, function () {\n var stream;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, navigator.mediaDevices.getUserMedia(constraints)];\n case 1:\n stream = _a.sent();\n return [4 /*yield*/, this.decodeOnceFromStream(stream, videoSource)];\n case 2: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given constraints while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeOnceFromStream = function (stream, videoSource) {\n return __awaiter(this, void 0, void 0, function () {\n var video, result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.reset();\n return [4 /*yield*/, this.attachStreamToVideo(stream, videoSource)];\n case 1:\n video = _a.sent();\n return [4 /*yield*/, this.decodeOnce(video)];\n case 2:\n result = _a.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n /**\n * Continuously decodes the barcode from the device specified by device while showing the video in the specified video element.\n *\n * @param {string|null} [deviceId] the id of one of the devices obtained after calling getVideoInputDevices. Can be undefined, in this case it will decode from one of the available devices, preffering the main camera (environment facing) if available.\n * @param {string|HTMLVideoElement|null} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise}\n *\n * @memberOf BrowserCodeReader\n *\n * @deprecated Use `decodeFromVideoDevice` instead.\n */\n BrowserCodeReader.prototype.decodeFromInputVideoDeviceContinuously = function (deviceId, videoSource, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.decodeFromVideoDevice(deviceId, videoSource, callbackFn)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Continuously tries to decode the barcode from the device specified by device while showing the video in the specified video element.\n *\n * @param {string|null} [deviceId] the id of one of the devices obtained after calling getVideoInputDevices. Can be undefined, in this case it will decode from one of the available devices, preffering the main camera (environment facing) if available.\n * @param {string|HTMLVideoElement|null} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise}\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeFromVideoDevice = function (deviceId, videoSource, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var videoConstraints, constraints;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!deviceId) {\n videoConstraints = { facingMode: 'environment' };\n }\n else {\n videoConstraints = { deviceId: { exact: deviceId } };\n }\n constraints = { video: videoConstraints };\n return [4 /*yield*/, this.decodeFromConstraints(constraints, videoSource, callbackFn)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Continuously tries to decode the barcode from a stream obtained from the given constraints while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeFromConstraints = function (constraints, videoSource, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var stream;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, navigator.mediaDevices.getUserMedia(constraints)];\n case 1:\n stream = _a.sent();\n return [4 /*yield*/, this.decodeFromStream(stream, videoSource, callbackFn)];\n case 2: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given constraints while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeFromStream = function (stream, videoSource, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n var video;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.reset();\n return [4 /*yield*/, this.attachStreamToVideo(stream, videoSource)];\n case 1:\n video = _a.sent();\n return [4 /*yield*/, this.decodeContinuously(video, callbackFn)];\n case 2: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Breaks the decoding loop.\n */\n BrowserCodeReader.prototype.stopAsyncDecode = function () {\n this._stopAsyncDecode = true;\n };\n /**\n * Breaks the decoding loop.\n */\n BrowserCodeReader.prototype.stopContinuousDecode = function () {\n this._stopContinuousDecode = true;\n };\n /**\n * Sets the new stream and request a new decoding-with-delay.\n *\n * @param stream The stream to be shown in the video element.\n * @param decodeFn A callback for the decode method.\n */\n BrowserCodeReader.prototype.attachStreamToVideo = function (stream, videoSource) {\n return __awaiter(this, void 0, void 0, function () {\n var videoElement;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n videoElement = this.prepareVideoElement(videoSource);\n this.addVideoSource(videoElement, stream);\n this.videoElement = videoElement;\n this.stream = stream;\n return [4 /*yield*/, this.playVideoOnLoadAsync(videoElement)];\n case 1:\n _a.sent();\n return [2 /*return*/, videoElement];\n }\n });\n });\n };\n /**\n *\n * @param videoElement\n */\n BrowserCodeReader.prototype.playVideoOnLoadAsync = function (videoElement) {\n var _this = this;\n return new Promise(function (resolve, reject) { return _this.playVideoOnLoad(videoElement, function () { return resolve(); }); });\n };\n /**\n * Binds listeners and callbacks to the videoElement.\n *\n * @param element\n * @param callbackFn\n */\n BrowserCodeReader.prototype.playVideoOnLoad = function (element, callbackFn) {\n var _this = this;\n this.videoEndedListener = function () { return _this.stopStreams(); };\n this.videoCanPlayListener = function () { return _this.tryPlayVideo(element); };\n element.addEventListener('ended', this.videoEndedListener);\n element.addEventListener('canplay', this.videoCanPlayListener);\n element.addEventListener('playing', callbackFn);\n // if canplay was already fired, we won't know when to play, so just give it a try\n this.tryPlayVideo(element);\n };\n /**\n * Checks if the given video element is currently playing.\n */\n BrowserCodeReader.prototype.isVideoPlaying = function (video) {\n return video.currentTime > 0 && !video.paused && !video.ended && video.readyState > 2;\n };\n /**\n * Just tries to play the video and logs any errors.\n * The play call is only made is the video is not already playing.\n */\n BrowserCodeReader.prototype.tryPlayVideo = function (videoElement) {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (this.isVideoPlaying(videoElement)) {\n console.warn('Trying to play video that is already playing.');\n return [2 /*return*/];\n }\n _b.label = 1;\n case 1:\n _b.trys.push([1, 3, , 4]);\n return [4 /*yield*/, videoElement.play()];\n case 2:\n _b.sent();\n return [3 /*break*/, 4];\n case 3:\n _a = _b.sent();\n console.warn('It was not possible to play the video.');\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Searches and validates a media element.\n */\n BrowserCodeReader.prototype.getMediaElement = function (mediaElementId, type) {\n var mediaElement = document.getElementById(mediaElementId);\n if (!mediaElement) {\n throw new ArgumentException(\"element with id '\" + mediaElementId + \"' not found\");\n }\n if (mediaElement.nodeName.toLowerCase() !== type.toLowerCase()) {\n throw new ArgumentException(\"element with id '\" + mediaElementId + \"' must be an \" + type + \" element\");\n }\n return mediaElement;\n };\n /**\n * Decodes the barcode from an image.\n *\n * @param {(string|HTMLImageElement)} [source] The image element that can be either an element id or the element itself. Can be undefined in which case the decoding will be done from the imageUrl parameter.\n * @param {string} [url]\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeFromImage = function (source, url) {\n if (!source && !url) {\n throw new ArgumentException('either imageElement with a src set or an url must be provided');\n }\n if (url && !source) {\n return this.decodeFromImageUrl(url);\n }\n return this.decodeFromImageElement(source);\n };\n /**\n * Decodes the barcode from a video.\n *\n * @param {(string|HTMLImageElement)} [source] The image element that can be either an element id or the element itself. Can be undefined in which case the decoding will be done from the imageUrl parameter.\n * @param {string} [url]\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.decodeFromVideo = function (source, url) {\n if (!source && !url) {\n throw new ArgumentException('Either an element with a src set or an URL must be provided');\n }\n if (url && !source) {\n return this.decodeFromVideoUrl(url);\n }\n return this.decodeFromVideoElement(source);\n };\n /**\n * Decodes continuously the barcode from a video.\n *\n * @param {(string|HTMLImageElement)} [source] The image element that can be either an element id or the element itself. Can be undefined in which case the decoding will be done from the imageUrl parameter.\n * @param {string} [url]\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n *\n * @experimental\n */\n BrowserCodeReader.prototype.decodeFromVideoContinuously = function (source, url, callbackFn) {\n if (undefined === source && undefined === url) {\n throw new ArgumentException('Either an element with a src set or an URL must be provided');\n }\n if (url && !source) {\n return this.decodeFromVideoUrlContinuously(url, callbackFn);\n }\n return this.decodeFromVideoElementContinuously(source, callbackFn);\n };\n /**\n * Decodes something from an image HTML element.\n */\n BrowserCodeReader.prototype.decodeFromImageElement = function (source) {\n if (!source) {\n throw new ArgumentException('An image element must be provided.');\n }\n this.reset();\n var element = this.prepareImageElement(source);\n this.imageElement = element;\n var task;\n if (this.isImageLoaded(element)) {\n task = this.decodeOnce(element, false, true);\n }\n else {\n task = this._decodeOnLoadImage(element);\n }\n return task;\n };\n /**\n * Decodes something from an image HTML element.\n */\n BrowserCodeReader.prototype.decodeFromVideoElement = function (source) {\n var element = this._decodeFromVideoElementSetup(source);\n return this._decodeOnLoadVideo(element);\n };\n /**\n * Decodes something from an image HTML element.\n */\n BrowserCodeReader.prototype.decodeFromVideoElementContinuously = function (source, callbackFn) {\n var element = this._decodeFromVideoElementSetup(source);\n return this._decodeOnLoadVideoContinuously(element, callbackFn);\n };\n /**\n * Sets up the video source so it can be decoded when loaded.\n *\n * @param source The video source element.\n */\n BrowserCodeReader.prototype._decodeFromVideoElementSetup = function (source) {\n if (!source) {\n throw new ArgumentException('A video element must be provided.');\n }\n this.reset();\n var element = this.prepareVideoElement(source);\n // defines the video element before starts decoding\n this.videoElement = element;\n return element;\n };\n /**\n * Decodes an image from a URL.\n */\n BrowserCodeReader.prototype.decodeFromImageUrl = function (url) {\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n this.reset();\n var element = this.prepareImageElement();\n this.imageElement = element;\n var decodeTask = this._decodeOnLoadImage(element);\n element.src = url;\n return decodeTask;\n };\n /**\n * Decodes an image from a URL.\n */\n BrowserCodeReader.prototype.decodeFromVideoUrl = function (url) {\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n this.reset();\n // creates a new element\n var element = this.prepareVideoElement();\n var decodeTask = this.decodeFromVideoElement(element);\n element.src = url;\n return decodeTask;\n };\n /**\n * Decodes an image from a URL.\n *\n * @experimental\n */\n BrowserCodeReader.prototype.decodeFromVideoUrlContinuously = function (url, callbackFn) {\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n this.reset();\n // creates a new element\n var element = this.prepareVideoElement();\n var decodeTask = this.decodeFromVideoElementContinuously(element, callbackFn);\n element.src = url;\n return decodeTask;\n };\n BrowserCodeReader.prototype._decodeOnLoadImage = function (element) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n _this.imageLoadedListener = function () { return _this.decodeOnce(element, false, true).then(resolve, reject); };\n element.addEventListener('load', _this.imageLoadedListener);\n });\n };\n BrowserCodeReader.prototype._decodeOnLoadVideo = function (videoElement) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: \n // plays the video\n return [4 /*yield*/, this.playVideoOnLoadAsync(videoElement)];\n case 1:\n // plays the video\n _a.sent();\n return [4 /*yield*/, this.decodeOnce(videoElement)];\n case 2: \n // starts decoding after played the video\n return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n BrowserCodeReader.prototype._decodeOnLoadVideoContinuously = function (videoElement, callbackFn) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: \n // plays the video\n return [4 /*yield*/, this.playVideoOnLoadAsync(videoElement)];\n case 1:\n // plays the video\n _a.sent();\n // starts decoding after played the video\n this.decodeContinuously(videoElement, callbackFn);\n return [2 /*return*/];\n }\n });\n });\n };\n BrowserCodeReader.prototype.isImageLoaded = function (img) {\n // During the onload event, IE correctly identifies any images that\n // weren’t downloaded as not complete. Others should too. Gecko-based\n // browsers act like NS4 in that they report this incorrectly.\n if (!img.complete) {\n return false;\n }\n // However, they do have two very useful properties: naturalWidth and\n // naturalHeight. These give the true size of the image. If it failed\n // to load, either of these should be zero.\n if (img.naturalWidth === 0) {\n return false;\n }\n // No other way of checking: assume it’s ok.\n return true;\n };\n BrowserCodeReader.prototype.prepareImageElement = function (imageSource) {\n var imageElement;\n if (typeof imageSource === 'undefined') {\n imageElement = document.createElement('img');\n imageElement.width = 200;\n imageElement.height = 200;\n }\n if (typeof imageSource === 'string') {\n imageElement = this.getMediaElement(imageSource, 'img');\n }\n if (imageSource instanceof HTMLImageElement) {\n imageElement = imageSource;\n }\n return imageElement;\n };\n /**\n * Sets a HTMLVideoElement for scanning or creates a new one.\n *\n * @param videoSource The HTMLVideoElement to be set.\n */\n BrowserCodeReader.prototype.prepareVideoElement = function (videoSource) {\n var videoElement;\n if (!videoSource && typeof document !== 'undefined') {\n videoElement = document.createElement('video');\n videoElement.width = 200;\n videoElement.height = 200;\n }\n if (typeof videoSource === 'string') {\n videoElement = this.getMediaElement(videoSource, 'video');\n }\n if (videoSource instanceof HTMLVideoElement) {\n videoElement = videoSource;\n }\n // Needed for iOS 11\n videoElement.setAttribute('autoplay', 'true');\n videoElement.setAttribute('muted', 'true');\n videoElement.setAttribute('playsinline', 'true');\n return videoElement;\n };\n /**\n * Tries to decode from the video input until it finds some value.\n */\n BrowserCodeReader.prototype.decodeOnce = function (element, retryIfNotFound, retryIfChecksumOrFormatError) {\n var _this = this;\n if (retryIfNotFound === void 0) { retryIfNotFound = true; }\n if (retryIfChecksumOrFormatError === void 0) { retryIfChecksumOrFormatError = true; }\n this._stopAsyncDecode = false;\n var loop = function (resolve, reject) {\n if (_this._stopAsyncDecode) {\n reject(new NotFoundException('Video stream has ended before any code could be detected.'));\n _this._stopAsyncDecode = undefined;\n return;\n }\n try {\n var result = _this.decode(element);\n resolve(result);\n }\n catch (e) {\n var ifNotFound = retryIfNotFound && e instanceof NotFoundException;\n var isChecksumOrFormatError = e instanceof ChecksumException || e instanceof FormatException;\n var ifChecksumOrFormat = isChecksumOrFormatError && retryIfChecksumOrFormatError;\n if (ifNotFound || ifChecksumOrFormat) {\n // trying again\n return setTimeout(loop, _this._timeBetweenDecodingAttempts, resolve, reject);\n }\n reject(e);\n }\n };\n return new Promise(function (resolve, reject) { return loop(resolve, reject); });\n };\n /**\n * Continuously decodes from video input.\n */\n BrowserCodeReader.prototype.decodeContinuously = function (element, callbackFn) {\n var _this = this;\n this._stopContinuousDecode = false;\n var loop = function () {\n if (_this._stopContinuousDecode) {\n _this._stopContinuousDecode = undefined;\n return;\n }\n try {\n var result = _this.decode(element);\n callbackFn(result, null);\n setTimeout(loop, _this.timeBetweenScansMillis);\n }\n catch (e) {\n callbackFn(null, e);\n var isChecksumOrFormatError = e instanceof ChecksumException || e instanceof FormatException;\n var isNotFound = e instanceof NotFoundException;\n if (isChecksumOrFormatError || isNotFound) {\n // trying again\n setTimeout(loop, _this._timeBetweenDecodingAttempts);\n }\n }\n };\n loop();\n };\n /**\n * Gets the BinaryBitmap for ya! (and decodes it)\n */\n BrowserCodeReader.prototype.decode = function (element) {\n // get binary bitmap for decode function\n var binaryBitmap = this.createBinaryBitmap(element);\n return this.decodeBitmap(binaryBitmap);\n };\n BrowserCodeReader.prototype._isHTMLVideoElement = function (mediaElement) {\n var potentialVideo = mediaElement;\n return potentialVideo.videoWidth !== 0;\n };\n /**\n * Creates a binaryBitmap based in some image source.\n *\n * @param mediaElement HTML element containing drawable image source.\n */\n BrowserCodeReader.prototype.createBinaryBitmap = function (mediaElement) {\n var ctx = this.getCaptureCanvasContext(mediaElement);\n if (this._isHTMLVideoElement(mediaElement)) {\n this.drawFrameOnCanvas(mediaElement);\n }\n else {\n this.drawImageOnCanvas(mediaElement);\n }\n var canvas = this.getCaptureCanvas(mediaElement);\n var luminanceSource = new HTMLCanvasElementLuminanceSource(canvas);\n var hybridBinarizer = new HybridBinarizer(luminanceSource);\n return new BinaryBitmap(hybridBinarizer);\n };\n /**\n *\n */\n BrowserCodeReader.prototype.getCaptureCanvasContext = function (mediaElement) {\n if (!this.captureCanvasContext) {\n var elem = this.getCaptureCanvas(mediaElement);\n var ctx = elem.getContext('2d');\n this.captureCanvasContext = ctx;\n }\n return this.captureCanvasContext;\n };\n /**\n *\n */\n BrowserCodeReader.prototype.getCaptureCanvas = function (mediaElement) {\n if (!this.captureCanvas) {\n var elem = this.createCaptureCanvas(mediaElement);\n this.captureCanvas = elem;\n }\n return this.captureCanvas;\n };\n /**\n * Overwriting this allows you to manipulate the next frame in anyway you want before decode.\n */\n BrowserCodeReader.prototype.drawFrameOnCanvas = function (srcElement, dimensions, canvasElementContext) {\n if (dimensions === void 0) { dimensions = { sx: 0, sy: 0, sWidth: srcElement.videoWidth, sHeight: srcElement.videoHeight, dx: 0, dy: 0, dWidth: srcElement.videoWidth, dHeight: srcElement.videoHeight }; }\n if (canvasElementContext === void 0) { canvasElementContext = this.captureCanvasContext; }\n canvasElementContext.drawImage(srcElement, dimensions.sx, dimensions.sy, dimensions.sWidth, dimensions.sHeight, dimensions.dx, dimensions.dy, dimensions.dWidth, dimensions.dHeight);\n };\n /**\n * Ovewriting this allows you to manipulate the snapshot image in anyway you want before decode.\n */\n BrowserCodeReader.prototype.drawImageOnCanvas = function (srcElement, dimensions, canvasElementContext) {\n if (dimensions === void 0) { dimensions = { sx: 0, sy: 0, sWidth: srcElement.naturalWidth, sHeight: srcElement.naturalHeight, dx: 0, dy: 0, dWidth: srcElement.naturalWidth, dHeight: srcElement.naturalHeight }; }\n if (canvasElementContext === void 0) { canvasElementContext = this.captureCanvasContext; }\n canvasElementContext.drawImage(srcElement, dimensions.sx, dimensions.sy, dimensions.sWidth, dimensions.sHeight, dimensions.dx, dimensions.dy, dimensions.dWidth, dimensions.dHeight);\n };\n /**\n * Call the encapsulated readers decode\n */\n BrowserCodeReader.prototype.decodeBitmap = function (binaryBitmap) {\n return this.reader.decode(binaryBitmap, this._hints);\n };\n /**\n * 🖌 Prepares the canvas for capture and scan frames.\n */\n BrowserCodeReader.prototype.createCaptureCanvas = function (mediaElement) {\n if (typeof document === 'undefined') {\n this._destroyCaptureCanvas();\n return null;\n }\n var canvasElement = document.createElement('canvas');\n var width;\n var height;\n if (typeof mediaElement !== 'undefined') {\n if (mediaElement instanceof HTMLVideoElement) {\n width = mediaElement.videoWidth;\n height = mediaElement.videoHeight;\n }\n else if (mediaElement instanceof HTMLImageElement) {\n width = mediaElement.naturalWidth || mediaElement.width;\n height = mediaElement.naturalHeight || mediaElement.height;\n }\n }\n canvasElement.style.width = width + 'px';\n canvasElement.style.height = height + 'px';\n canvasElement.width = width;\n canvasElement.height = height;\n return canvasElement;\n };\n /**\n * Stops the continuous scan and cleans the stream.\n */\n BrowserCodeReader.prototype.stopStreams = function () {\n if (this.stream) {\n this.stream.getVideoTracks().forEach(function (t) { return t.stop(); });\n this.stream = undefined;\n }\n if (this._stopAsyncDecode === false) {\n this.stopAsyncDecode();\n }\n if (this._stopContinuousDecode === false) {\n this.stopContinuousDecode();\n }\n };\n /**\n * Resets the code reader to the initial state. Cancels any ongoing barcode scanning from video or camera.\n *\n * @memberOf BrowserCodeReader\n */\n BrowserCodeReader.prototype.reset = function () {\n // stops the camera, preview and scan 🔴\n this.stopStreams();\n // clean and forget about HTML elements\n this._destroyVideoElement();\n this._destroyImageElement();\n this._destroyCaptureCanvas();\n };\n BrowserCodeReader.prototype._destroyVideoElement = function () {\n if (!this.videoElement) {\n return;\n }\n // first gives freedon to the element 🕊\n if (typeof this.videoEndedListener !== 'undefined') {\n this.videoElement.removeEventListener('ended', this.videoEndedListener);\n }\n if (typeof this.videoPlayingEventListener !== 'undefined') {\n this.videoElement.removeEventListener('playing', this.videoPlayingEventListener);\n }\n if (typeof this.videoCanPlayListener !== 'undefined') {\n this.videoElement.removeEventListener('loadedmetadata', this.videoCanPlayListener);\n }\n // then forgets about that element 😢\n this.cleanVideoSource(this.videoElement);\n this.videoElement = undefined;\n };\n BrowserCodeReader.prototype._destroyImageElement = function () {\n if (!this.imageElement) {\n return;\n }\n // first gives freedon to the element 🕊\n if (undefined !== this.imageLoadedListener) {\n this.imageElement.removeEventListener('load', this.imageLoadedListener);\n }\n // then forget about that element 😢\n this.imageElement.src = undefined;\n this.imageElement.removeAttribute('src');\n this.imageElement = undefined;\n };\n /**\n * Cleans canvas references 🖌\n */\n BrowserCodeReader.prototype._destroyCaptureCanvas = function () {\n // then forget about that element 😢\n this.captureCanvasContext = undefined;\n this.captureCanvas = undefined;\n };\n /**\n * Defines what the videoElement src will be.\n *\n * @param videoElement\n * @param stream\n */\n BrowserCodeReader.prototype.addVideoSource = function (videoElement, stream) {\n // Older browsers may not have `srcObject`\n try {\n // @note Throws Exception if interrupted by a new loaded request\n videoElement.srcObject = stream;\n }\n catch (err) {\n // @note Avoid using this in new browsers, as it is going away.\n videoElement.src = URL.createObjectURL(stream);\n }\n };\n /**\n * Unbinds a HTML video src property.\n *\n * @param videoElement\n */\n BrowserCodeReader.prototype.cleanVideoSource = function (videoElement) {\n try {\n videoElement.srcObject = null;\n }\n catch (err) {\n videoElement.src = '';\n }\n this.videoElement.removeAttribute('src');\n };\n return BrowserCodeReader;\n}());\nexport { BrowserCodeReader };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BrowserCodeReader } from './BrowserCodeReader';\nimport DataMatrixReader from '../core/datamatrix/DataMatrixReader';\n/**\n * @deprecated Moving to @zxing/browser\n *\n * QR Code reader to use from browser.\n */\nvar BrowserDatamatrixCodeReader = /** @class */ (function (_super) {\n __extends(BrowserDatamatrixCodeReader, _super);\n /**\n * Creates an instance of BrowserQRCodeReader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n */\n function BrowserDatamatrixCodeReader(timeBetweenScansMillis) {\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n return _super.call(this, new DataMatrixReader(), timeBetweenScansMillis) || this;\n }\n return BrowserDatamatrixCodeReader;\n}(BrowserCodeReader));\nexport { BrowserDatamatrixCodeReader };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BrowserCodeReader } from './BrowserCodeReader';\nimport MultiFormatReader from '../core/MultiFormatReader';\nvar BrowserMultiFormatReader = /** @class */ (function (_super) {\n __extends(BrowserMultiFormatReader, _super);\n function BrowserMultiFormatReader(hints, timeBetweenScansMillis) {\n if (hints === void 0) { hints = null; }\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n var _this = this;\n var reader = new MultiFormatReader();\n reader.setHints(hints);\n _this = _super.call(this, reader, timeBetweenScansMillis) || this;\n return _this;\n }\n /**\n * Overwrite decodeBitmap to call decodeWithState, which will pay\n * attention to the hints set in the constructor function\n */\n BrowserMultiFormatReader.prototype.decodeBitmap = function (binaryBitmap) {\n return this.reader.decodeWithState(binaryBitmap);\n };\n return BrowserMultiFormatReader;\n}(BrowserCodeReader));\nexport { BrowserMultiFormatReader };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BrowserCodeReader } from './BrowserCodeReader';\nimport PDF417Reader from '../core/pdf417/PDF417Reader';\n/**\n * @deprecated Moving to @zxing/browser\n *\n * QR Code reader to use from browser.\n */\nvar BrowserPDF417Reader = /** @class */ (function (_super) {\n __extends(BrowserPDF417Reader, _super);\n /**\n * Creates an instance of BrowserPDF417Reader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n */\n function BrowserPDF417Reader(timeBetweenScansMillis) {\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n return _super.call(this, new PDF417Reader(), timeBetweenScansMillis) || this;\n }\n return BrowserPDF417Reader;\n}(BrowserCodeReader));\nexport { BrowserPDF417Reader };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BrowserCodeReader } from './BrowserCodeReader';\nimport QRCodeReader from '../core/qrcode/QRCodeReader';\n/**\n * @deprecated Moving to @zxing/browser\n *\n * QR Code reader to use from browser.\n */\nvar BrowserQRCodeReader = /** @class */ (function (_super) {\n __extends(BrowserQRCodeReader, _super);\n /**\n * Creates an instance of BrowserQRCodeReader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n */\n function BrowserQRCodeReader(timeBetweenScansMillis) {\n if (timeBetweenScansMillis === void 0) { timeBetweenScansMillis = 500; }\n return _super.call(this, new QRCodeReader(), timeBetweenScansMillis) || this;\n }\n return BrowserQRCodeReader;\n}(BrowserCodeReader));\nexport { BrowserQRCodeReader };\n","import EncodeHintType from '../core/EncodeHintType';\nimport Encoder from '../core/qrcode/encoder/Encoder';\nimport ErrorCorrectionLevel from '../core/qrcode/decoder/ErrorCorrectionLevel';\nimport IllegalArgumentException from '../core/IllegalArgumentException';\nimport IllegalStateException from '../core/IllegalStateException';\n/**\n * @deprecated Moving to @zxing/browser\n */\nvar BrowserQRCodeSvgWriter = /** @class */ (function () {\n function BrowserQRCodeSvgWriter() {\n }\n /**\n * Writes and renders a QRCode SVG element.\n *\n * @param contents\n * @param width\n * @param height\n * @param hints\n */\n BrowserQRCodeSvgWriter.prototype.write = function (contents, width, height, hints) {\n if (hints === void 0) { hints = null; }\n if (contents.length === 0) {\n throw new IllegalArgumentException('Found empty contents');\n }\n // if (format != BarcodeFormat.QR_CODE) {\n // throw new IllegalArgumentException(\"Can only encode QR_CODE, but got \" + format)\n // }\n if (width < 0 || height < 0) {\n throw new IllegalArgumentException('Requested dimensions are too small: ' + width + 'x' + height);\n }\n var errorCorrectionLevel = ErrorCorrectionLevel.L;\n var quietZone = BrowserQRCodeSvgWriter.QUIET_ZONE_SIZE;\n if (hints !== null) {\n if (undefined !== hints.get(EncodeHintType.ERROR_CORRECTION)) {\n errorCorrectionLevel = ErrorCorrectionLevel.fromString(hints.get(EncodeHintType.ERROR_CORRECTION).toString());\n }\n if (undefined !== hints.get(EncodeHintType.MARGIN)) {\n quietZone = Number.parseInt(hints.get(EncodeHintType.MARGIN).toString(), 10);\n }\n }\n var code = Encoder.encode(contents, errorCorrectionLevel, hints);\n return this.renderResult(code, width, height, quietZone);\n };\n /**\n * Renders the result and then appends it to the DOM.\n */\n BrowserQRCodeSvgWriter.prototype.writeToDom = function (containerElement, contents, width, height, hints) {\n if (hints === void 0) { hints = null; }\n if (typeof containerElement === 'string') {\n containerElement = document.querySelector(containerElement);\n }\n var svgElement = this.write(contents, width, height, hints);\n if (containerElement)\n containerElement.appendChild(svgElement);\n };\n /**\n * Note that the input matrix uses 0 == white, 1 == black.\n * The output matrix uses 0 == black, 255 == white (i.e. an 8 bit greyscale bitmap).\n */\n BrowserQRCodeSvgWriter.prototype.renderResult = function (code, width /*int*/, height /*int*/, quietZone /*int*/) {\n var input = code.getMatrix();\n if (input === null) {\n throw new IllegalStateException();\n }\n var inputWidth = input.getWidth();\n var inputHeight = input.getHeight();\n var qrWidth = inputWidth + (quietZone * 2);\n var qrHeight = inputHeight + (quietZone * 2);\n var outputWidth = Math.max(width, qrWidth);\n var outputHeight = Math.max(height, qrHeight);\n var multiple = Math.min(Math.floor(outputWidth / qrWidth), Math.floor(outputHeight / qrHeight));\n // Padding includes both the quiet zone and the extra white pixels to accommodate the requested\n // dimensions. For example, if input is 25x25 the QR will be 33x33 including the quiet zone.\n // If the requested size is 200x160, the multiple will be 4, for a QR of 132x132. These will\n // handle all the padding from 100x100 (the actual QR) up to 200x160.\n var leftPadding = Math.floor((outputWidth - (inputWidth * multiple)) / 2);\n var topPadding = Math.floor((outputHeight - (inputHeight * multiple)) / 2);\n var svgElement = this.createSVGElement(outputWidth, outputHeight);\n for (var inputY = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the barcode\n for (var inputX = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) {\n if (input.get(inputX, inputY) === 1) {\n var svgRectElement = this.createSvgRectElement(outputX, outputY, multiple, multiple);\n svgElement.appendChild(svgRectElement);\n }\n }\n }\n return svgElement;\n };\n /**\n * Creates a SVG element.\n *\n * @param w SVG's width attribute\n * @param h SVG's height attribute\n */\n BrowserQRCodeSvgWriter.prototype.createSVGElement = function (w, h) {\n var svgElement = document.createElementNS(BrowserQRCodeSvgWriter.SVG_NS, 'svg');\n svgElement.setAttributeNS(null, 'height', w.toString());\n svgElement.setAttributeNS(null, 'width', h.toString());\n return svgElement;\n };\n /**\n * Creates a SVG rect element.\n *\n * @param x Element's x coordinate\n * @param y Element's y coordinate\n * @param w Element's width attribute\n * @param h Element's height attribute\n */\n BrowserQRCodeSvgWriter.prototype.createSvgRectElement = function (x, y, w, h) {\n var rect = document.createElementNS(BrowserQRCodeSvgWriter.SVG_NS, 'rect');\n rect.setAttributeNS(null, 'x', x.toString());\n rect.setAttributeNS(null, 'y', y.toString());\n rect.setAttributeNS(null, 'height', w.toString());\n rect.setAttributeNS(null, 'width', h.toString());\n rect.setAttributeNS(null, 'fill', '#000000');\n return rect;\n };\n BrowserQRCodeSvgWriter.QUIET_ZONE_SIZE = 4;\n /**\n * SVG markup NameSpace\n */\n BrowserQRCodeSvgWriter.SVG_NS = 'http://www.w3.org/2000/svg';\n return BrowserQRCodeSvgWriter;\n}());\nexport { BrowserQRCodeSvgWriter };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport InvertedLuminanceSource from '../core/InvertedLuminanceSource';\nimport LuminanceSource from '../core/LuminanceSource';\nimport IllegalArgumentException from '../core/IllegalArgumentException';\n/**\n * @deprecated Moving to @zxing/browser\n */\nvar HTMLCanvasElementLuminanceSource = /** @class */ (function (_super) {\n __extends(HTMLCanvasElementLuminanceSource, _super);\n function HTMLCanvasElementLuminanceSource(canvas) {\n var _this = _super.call(this, canvas.width, canvas.height) || this;\n _this.canvas = canvas;\n _this.tempCanvasElement = null;\n _this.buffer = HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData(canvas);\n return _this;\n }\n HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData = function (canvas) {\n var imageData = canvas.getContext('2d').getImageData(0, 0, canvas.width, canvas.height);\n return HTMLCanvasElementLuminanceSource.toGrayscaleBuffer(imageData.data, canvas.width, canvas.height);\n };\n HTMLCanvasElementLuminanceSource.toGrayscaleBuffer = function (imageBuffer, width, height) {\n var grayscaleBuffer = new Uint8ClampedArray(width * height);\n for (var i = 0, j = 0, length_1 = imageBuffer.length; i < length_1; i += 4, j++) {\n var gray = void 0;\n var alpha = imageBuffer[i + 3];\n // The color of fully-transparent pixels is irrelevant. They are often, technically, fully-transparent\n // black (0 alpha, and then 0 RGB). They are often used, of course as the \"white\" area in a\n // barcode image. Force any such pixel to be white:\n if (alpha === 0) {\n gray = 0xFF;\n }\n else {\n var pixelR = imageBuffer[i];\n var pixelG = imageBuffer[i + 1];\n var pixelB = imageBuffer[i + 2];\n // .299R + 0.587G + 0.114B (YUV/YIQ for PAL and NTSC),\n // (306*R) >> 10 is approximately equal to R*0.299, and so on.\n // 0x200 >> 10 is 0.5, it implements rounding.\n gray = (306 * pixelR +\n 601 * pixelG +\n 117 * pixelB +\n 0x200) >> 10;\n }\n grayscaleBuffer[j] = gray;\n }\n return grayscaleBuffer;\n };\n HTMLCanvasElementLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n if (y < 0 || y >= this.getHeight()) {\n throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n }\n var width = this.getWidth();\n var start = y * width;\n if (row === null) {\n row = this.buffer.slice(start, start + width);\n }\n else {\n if (row.length < width) {\n row = new Uint8ClampedArray(width);\n }\n // The underlying raster of image consists of bytes with the luminance values\n // TODO: can avoid set/slice?\n row.set(this.buffer.slice(start, start + width));\n }\n return row;\n };\n HTMLCanvasElementLuminanceSource.prototype.getMatrix = function () {\n return this.buffer;\n };\n HTMLCanvasElementLuminanceSource.prototype.isCropSupported = function () {\n return true;\n };\n HTMLCanvasElementLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n _super.prototype.crop.call(this, left, top, width, height);\n return this;\n };\n /**\n * This is always true, since the image is a gray-scale image.\n *\n * @return true\n */\n HTMLCanvasElementLuminanceSource.prototype.isRotateSupported = function () {\n return true;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotateCounterClockwise = function () {\n this.rotate(-90);\n return this;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotateCounterClockwise45 = function () {\n this.rotate(-45);\n return this;\n };\n HTMLCanvasElementLuminanceSource.prototype.getTempCanvasElement = function () {\n if (null === this.tempCanvasElement) {\n var tempCanvasElement = this.canvas.ownerDocument.createElement('canvas');\n tempCanvasElement.width = this.canvas.width;\n tempCanvasElement.height = this.canvas.height;\n this.tempCanvasElement = tempCanvasElement;\n }\n return this.tempCanvasElement;\n };\n HTMLCanvasElementLuminanceSource.prototype.rotate = function (angle) {\n var tempCanvasElement = this.getTempCanvasElement();\n var tempContext = tempCanvasElement.getContext('2d');\n var angleRadians = angle * HTMLCanvasElementLuminanceSource.DEGREE_TO_RADIANS;\n // Calculate and set new dimensions for temp canvas\n var width = this.canvas.width;\n var height = this.canvas.height;\n var newWidth = Math.ceil(Math.abs(Math.cos(angleRadians)) * width + Math.abs(Math.sin(angleRadians)) * height);\n var newHeight = Math.ceil(Math.abs(Math.sin(angleRadians)) * width + Math.abs(Math.cos(angleRadians)) * height);\n tempCanvasElement.width = newWidth;\n tempCanvasElement.height = newHeight;\n // Draw at center of temp canvas to prevent clipping of image data\n tempContext.translate(newWidth / 2, newHeight / 2);\n tempContext.rotate(angleRadians);\n tempContext.drawImage(this.canvas, width / -2, height / -2);\n this.buffer = HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData(tempCanvasElement);\n return this;\n };\n HTMLCanvasElementLuminanceSource.prototype.invert = function () {\n return new InvertedLuminanceSource(this);\n };\n HTMLCanvasElementLuminanceSource.DEGREE_TO_RADIANS = Math.PI / 180;\n return HTMLCanvasElementLuminanceSource;\n}(LuminanceSource));\nexport { HTMLCanvasElementLuminanceSource };\n","/**\n * @deprecated Moving to @zxing/browser\n *\n * Video input device metadata containing the id and label of the device if available.\n */\nvar VideoInputDevice = /** @class */ (function () {\n /**\n * Creates an instance of VideoInputDevice.\n *\n * @param {string} deviceId the video input device id\n * @param {string} label the label of the device if available\n */\n function VideoInputDevice(deviceId, label, groupId) {\n this.deviceId = deviceId;\n this.label = label;\n /** @inheritdoc */\n this.kind = 'videoinput';\n this.groupId = groupId || undefined;\n }\n /** @inheritdoc */\n VideoInputDevice.prototype.toJSON = function () {\n return {\n kind: this.kind,\n groupId: this.groupId,\n deviceId: this.deviceId,\n label: this.label,\n };\n };\n return VideoInputDevice;\n}());\nexport { VideoInputDevice };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar ArgumentException = /** @class */ (function (_super) {\n __extends(ArgumentException, _super);\n function ArgumentException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ArgumentException.kind = 'ArgumentException';\n return ArgumentException;\n}(Exception));\nexport default ArgumentException;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar ArithmeticException = /** @class */ (function (_super) {\n __extends(ArithmeticException, _super);\n function ArithmeticException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ArithmeticException.kind = 'ArithmeticException';\n return ArithmeticException;\n}(Exception));\nexport default ArithmeticException;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport IndexOutOfBoundsException from './IndexOutOfBoundsException';\n/**\n * Custom Error class of type Exception.\n */\nvar ArrayIndexOutOfBoundsException = /** @class */ (function (_super) {\n __extends(ArrayIndexOutOfBoundsException, _super);\n function ArrayIndexOutOfBoundsException(index, message) {\n if (index === void 0) { index = undefined; }\n if (message === void 0) { message = undefined; }\n var _this = _super.call(this, message) || this;\n _this.index = index;\n _this.message = message;\n return _this;\n }\n ArrayIndexOutOfBoundsException.kind = 'ArrayIndexOutOfBoundsException';\n return ArrayIndexOutOfBoundsException;\n}(IndexOutOfBoundsException));\nexport default ArrayIndexOutOfBoundsException;\n","/*\n * Direct port to TypeScript of ZXing by Adrian Toșcă\n */\n/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing {*/\n/**\n * Enumerates barcode formats known to this package. Please keep alphabetized.\n *\n * @author Sean Owen\n */\nvar BarcodeFormat;\n(function (BarcodeFormat) {\n /** Aztec 2D barcode format. */\n BarcodeFormat[BarcodeFormat[\"AZTEC\"] = 0] = \"AZTEC\";\n /** CODABAR 1D format. */\n BarcodeFormat[BarcodeFormat[\"CODABAR\"] = 1] = \"CODABAR\";\n /** Code 39 1D format. */\n BarcodeFormat[BarcodeFormat[\"CODE_39\"] = 2] = \"CODE_39\";\n /** Code 93 1D format. */\n BarcodeFormat[BarcodeFormat[\"CODE_93\"] = 3] = \"CODE_93\";\n /** Code 128 1D format. */\n BarcodeFormat[BarcodeFormat[\"CODE_128\"] = 4] = \"CODE_128\";\n /** Data Matrix 2D barcode format. */\n BarcodeFormat[BarcodeFormat[\"DATA_MATRIX\"] = 5] = \"DATA_MATRIX\";\n /** EAN-8 1D format. */\n BarcodeFormat[BarcodeFormat[\"EAN_8\"] = 6] = \"EAN_8\";\n /** EAN-13 1D format. */\n BarcodeFormat[BarcodeFormat[\"EAN_13\"] = 7] = \"EAN_13\";\n /** ITF (Interleaved Two of Five) 1D format. */\n BarcodeFormat[BarcodeFormat[\"ITF\"] = 8] = \"ITF\";\n /** MaxiCode 2D barcode format. */\n BarcodeFormat[BarcodeFormat[\"MAXICODE\"] = 9] = \"MAXICODE\";\n /** PDF417 format. */\n BarcodeFormat[BarcodeFormat[\"PDF_417\"] = 10] = \"PDF_417\";\n /** QR Code 2D barcode format. */\n BarcodeFormat[BarcodeFormat[\"QR_CODE\"] = 11] = \"QR_CODE\";\n /** RSS 14 */\n BarcodeFormat[BarcodeFormat[\"RSS_14\"] = 12] = \"RSS_14\";\n /** RSS EXPANDED */\n BarcodeFormat[BarcodeFormat[\"RSS_EXPANDED\"] = 13] = \"RSS_EXPANDED\";\n /** UPC-A 1D format. */\n BarcodeFormat[BarcodeFormat[\"UPC_A\"] = 14] = \"UPC_A\";\n /** UPC-E 1D format. */\n BarcodeFormat[BarcodeFormat[\"UPC_E\"] = 15] = \"UPC_E\";\n /** UPC/EAN extension format. Not a stand-alone format. */\n BarcodeFormat[BarcodeFormat[\"UPC_EAN_EXTENSION\"] = 16] = \"UPC_EAN_EXTENSION\";\n})(BarcodeFormat || (BarcodeFormat = {}));\nexport default BarcodeFormat;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * This class hierarchy provides a set of methods to convert luminance data to 1 bit data.\n * It allows the algorithm to vary polymorphically, for example allowing a very expensive\n * thresholding technique for servers and a fast one for mobile. It also permits the implementation\n * to vary, e.g. a JNI version for Android and a Java fallback version for other platforms.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar Binarizer = /** @class */ (function () {\n function Binarizer(source) {\n this.source = source;\n }\n Binarizer.prototype.getLuminanceSource = function () {\n return this.source;\n };\n Binarizer.prototype.getWidth = function () {\n return this.source.getWidth();\n };\n Binarizer.prototype.getHeight = function () {\n return this.source.getHeight();\n };\n return Binarizer;\n}());\nexport default Binarizer;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport IllegalArgumentException from './IllegalArgumentException';\nvar BinaryBitmap = /** @class */ (function () {\n function BinaryBitmap(binarizer) {\n this.binarizer = binarizer;\n if (binarizer === null) {\n throw new IllegalArgumentException('Binarizer must be non-null.');\n }\n }\n /**\n * @return The width of the bitmap.\n */\n BinaryBitmap.prototype.getWidth = function () {\n return this.binarizer.getWidth();\n };\n /**\n * @return The height of the bitmap.\n */\n BinaryBitmap.prototype.getHeight = function () {\n return this.binarizer.getHeight();\n };\n /**\n * Converts one row of luminance data to 1 bit data. May actually do the conversion, or return\n * cached data. Callers should assume this method is expensive and call it as seldom as possible.\n * This method is intended for decoding 1D barcodes and may choose to apply sharpening.\n *\n * @param y The row to fetch, which must be in [0, bitmap height)\n * @param row An optional preallocated array. If null or too small, it will be ignored.\n * If used, the Binarizer will call BitArray.clear(). Always use the returned object.\n * @return The array of bits for this row (true means black).\n * @throws NotFoundException if row can't be binarized\n */\n BinaryBitmap.prototype.getBlackRow = function (y /*int*/, row) {\n return this.binarizer.getBlackRow(y, row);\n };\n /**\n * Converts a 2D array of luminance data to 1 bit. As above, assume this method is expensive\n * and do not call it repeatedly. This method is intended for decoding 2D barcodes and may or\n * may not apply sharpening. Therefore, a row from this matrix may not be identical to one\n * fetched using getBlackRow(), so don't mix and match between them.\n *\n * @return The 2D array of bits for the image (true means black).\n * @throws NotFoundException if image can't be binarized to make a matrix\n */\n BinaryBitmap.prototype.getBlackMatrix = function () {\n // The matrix is created on demand the first time it is requested, then cached. There are two\n // reasons for this:\n // 1. This work will never be done if the caller only installs 1D Reader objects, or if a\n // 1D Reader finds a barcode before the 2D Readers run.\n // 2. This work will only be done once even if the caller installs multiple 2D Readers.\n if (this.matrix === null || this.matrix === undefined) {\n this.matrix = this.binarizer.getBlackMatrix();\n }\n return this.matrix;\n };\n /**\n * @return Whether this bitmap can be cropped.\n */\n BinaryBitmap.prototype.isCropSupported = function () {\n return this.binarizer.getLuminanceSource().isCropSupported();\n };\n /**\n * Returns a new object with cropped image data. Implementations may keep a reference to the\n * original data rather than a copy. Only callable if isCropSupported() is true.\n *\n * @param left The left coordinate, which must be in [0,getWidth())\n * @param top The top coordinate, which must be in [0,getHeight())\n * @param width The width of the rectangle to crop.\n * @param height The height of the rectangle to crop.\n * @return A cropped version of this object.\n */\n BinaryBitmap.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n var newSource = this.binarizer.getLuminanceSource().crop(left, top, width, height);\n return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n };\n /**\n * @return Whether this bitmap supports counter-clockwise rotation.\n */\n BinaryBitmap.prototype.isRotateSupported = function () {\n return this.binarizer.getLuminanceSource().isRotateSupported();\n };\n /**\n * Returns a new object with rotated image data by 90 degrees counterclockwise.\n * Only callable if {@link #isRotateSupported()} is true.\n *\n * @return A rotated version of this object.\n */\n BinaryBitmap.prototype.rotateCounterClockwise = function () {\n var newSource = this.binarizer.getLuminanceSource().rotateCounterClockwise();\n return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n };\n /**\n * Returns a new object with rotated image data by 45 degrees counterclockwise.\n * Only callable if {@link #isRotateSupported()} is true.\n *\n * @return A rotated version of this object.\n */\n BinaryBitmap.prototype.rotateCounterClockwise45 = function () {\n var newSource = this.binarizer.getLuminanceSource().rotateCounterClockwise45();\n return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n };\n /*@Override*/\n BinaryBitmap.prototype.toString = function () {\n try {\n return this.getBlackMatrix().toString();\n }\n catch (e /*: NotFoundException*/) {\n return '';\n }\n };\n return BinaryBitmap;\n}());\nexport default BinaryBitmap;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar ChecksumException = /** @class */ (function (_super) {\n __extends(ChecksumException, _super);\n function ChecksumException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ChecksumException.getChecksumInstance = function () {\n return new ChecksumException();\n };\n ChecksumException.kind = 'ChecksumException';\n return ChecksumException;\n}(Exception));\nexport default ChecksumException;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing {*/\n/**\n * Encapsulates a type of hint that a caller may pass to a barcode reader to help it\n * more quickly or accurately decode it. It is up to implementations to decide what,\n * if anything, to do with the information that is supplied.\n *\n * @author Sean Owen\n * @author dswitkin@google.com (Daniel Switkin)\n * @see Reader#decode(BinaryBitmap,java.util.Map)\n */\nvar DecodeHintType;\n(function (DecodeHintType) {\n /**\n * Unspecified, application-specific hint. Maps to an unspecified {@link Object}.\n */\n DecodeHintType[DecodeHintType[\"OTHER\"] = 0] = \"OTHER\"; /*(Object.class)*/\n /**\n * Image is a pure monochrome image of a barcode. Doesn't matter what it maps to;\n * use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"PURE_BARCODE\"] = 1] = \"PURE_BARCODE\"; /*(Void.class)*/\n /**\n * Image is known to be of one of a few possible formats.\n * Maps to a {@link List} of {@link BarcodeFormat}s.\n */\n DecodeHintType[DecodeHintType[\"POSSIBLE_FORMATS\"] = 2] = \"POSSIBLE_FORMATS\"; /*(List.class)*/\n /**\n * Spend more time to try to find a barcode; optimize for accuracy, not speed.\n * Doesn't matter what it maps to; use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"TRY_HARDER\"] = 3] = \"TRY_HARDER\"; /*(Void.class)*/\n /**\n * Specifies what character encoding to use when decoding, where applicable (type String)\n */\n DecodeHintType[DecodeHintType[\"CHARACTER_SET\"] = 4] = \"CHARACTER_SET\"; /*(String.class)*/\n /**\n * Allowed lengths of encoded data -- reject anything else. Maps to an {@code Int32Array}.\n */\n DecodeHintType[DecodeHintType[\"ALLOWED_LENGTHS\"] = 5] = \"ALLOWED_LENGTHS\"; /*(Int32Array.class)*/\n /**\n * Assume Code 39 codes employ a check digit. Doesn't matter what it maps to;\n * use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"ASSUME_CODE_39_CHECK_DIGIT\"] = 6] = \"ASSUME_CODE_39_CHECK_DIGIT\"; /*(Void.class)*/\n /**\n * Assume the barcode is being processed as a GS1 barcode, and modify behavior as needed.\n * For example this affects FNC1 handling for Code 128 (aka GS1-128). Doesn't matter what it maps to;\n * use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"ASSUME_GS1\"] = 7] = \"ASSUME_GS1\"; /*(Void.class)*/\n /**\n * If true, return the start and end digits in a Codabar barcode instead of stripping them. They\n * are alpha, whereas the rest are numeric. By default, they are stripped, but this causes them\n * to not be. Doesn't matter what it maps to; use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"RETURN_CODABAR_START_END\"] = 8] = \"RETURN_CODABAR_START_END\"; /*(Void.class)*/\n /**\n * The caller needs to be notified via callback when a possible {@link ResultPoint}\n * is found. Maps to a {@link ResultPointCallback}.\n */\n DecodeHintType[DecodeHintType[\"NEED_RESULT_POINT_CALLBACK\"] = 9] = \"NEED_RESULT_POINT_CALLBACK\"; /*(ResultPointCallback.class)*/\n /**\n * Allowed extension lengths for EAN or UPC barcodes. Other formats will ignore this.\n * Maps to an {@code Int32Array} of the allowed extension lengths, for example [2], [5], or [2, 5].\n * If it is optional to have an extension, do not set this hint. If this is set,\n * and a UPC or EAN barcode is found but an extension is not, then no result will be returned\n * at all.\n */\n DecodeHintType[DecodeHintType[\"ALLOWED_EAN_EXTENSIONS\"] = 10] = \"ALLOWED_EAN_EXTENSIONS\"; /*(Int32Array.class)*/\n // End of enumeration values.\n /**\n * Data type the hint is expecting.\n * Among the possible values the {@link Void} stands out as being used for\n * hints that do not expect a value to be supplied (flag hints). Such hints\n * will possibly have their value ignored, or replaced by a\n * {@link Boolean#TRUE}. Hint suppliers should probably use\n * {@link Boolean#TRUE} as directed by the actual hint documentation.\n */\n // private valueType: Class\n // DecodeHintType(valueType: Class) {\n // this.valueType = valueType\n // }\n // public getValueType(): Class {\n // return valueType\n // }\n})(DecodeHintType || (DecodeHintType = {}));\nexport default DecodeHintType;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing {*/\n/**\n * These are a set of hints that you may pass to Writers to specify their behavior.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar EncodeHintType;\n(function (EncodeHintType) {\n /**\n * Specifies what degree of error correction to use, for example in QR Codes.\n * Type depends on the encoder. For example for QR codes it's type\n * {@link com.google.zxing.qrcode.decoder.ErrorCorrectionLevel ErrorCorrectionLevel}.\n * For Aztec it is of type {@link Integer}, representing the minimal percentage of error correction words.\n * For PDF417 it is of type {@link Integer}, valid values being 0 to 8.\n * In all cases, it can also be a {@link String} representation of the desired value as well.\n * Note: an Aztec symbol should have a minimum of 25% EC words.\n */\n EncodeHintType[EncodeHintType[\"ERROR_CORRECTION\"] = 0] = \"ERROR_CORRECTION\";\n /**\n * Specifies what character encoding to use where applicable (type {@link String})\n */\n EncodeHintType[EncodeHintType[\"CHARACTER_SET\"] = 1] = \"CHARACTER_SET\";\n /**\n * Specifies the matrix shape for Data Matrix (type {@link com.google.zxing.datamatrix.encoder.SymbolShapeHint})\n */\n EncodeHintType[EncodeHintType[\"DATA_MATRIX_SHAPE\"] = 2] = \"DATA_MATRIX_SHAPE\";\n /**\n * Specifies a minimum barcode size (type {@link Dimension}). Only applicable to Data Matrix now.\n *\n * @deprecated use width/height params in\n * {@link com.google.zxing.datamatrix.DataMatrixWriter#encode(String, BarcodeFormat, int, int)}\n */\n /*@Deprecated*/\n EncodeHintType[EncodeHintType[\"MIN_SIZE\"] = 3] = \"MIN_SIZE\";\n /**\n * Specifies a maximum barcode size (type {@link Dimension}). Only applicable to Data Matrix now.\n *\n * @deprecated without replacement\n */\n /*@Deprecated*/\n EncodeHintType[EncodeHintType[\"MAX_SIZE\"] = 4] = \"MAX_SIZE\";\n /**\n * Specifies margin, in pixels, to use when generating the barcode. The meaning can vary\n * by format; for example it controls margin before and after the barcode horizontally for\n * most 1D formats. (Type {@link Integer}, or {@link String} representation of the integer value).\n */\n EncodeHintType[EncodeHintType[\"MARGIN\"] = 5] = \"MARGIN\";\n /**\n * Specifies whether to use compact mode for PDF417 (type {@link Boolean}, or \"true\" or \"false\"\n * {@link String} value).\n */\n EncodeHintType[EncodeHintType[\"PDF417_COMPACT\"] = 6] = \"PDF417_COMPACT\";\n /**\n * Specifies what compaction mode to use for PDF417 (type\n * {@link com.google.zxing.pdf417.encoder.Compaction Compaction} or {@link String} value of one of its\n * enum values).\n */\n EncodeHintType[EncodeHintType[\"PDF417_COMPACTION\"] = 7] = \"PDF417_COMPACTION\";\n /**\n * Specifies the minimum and maximum number of rows and columns for PDF417 (type\n * {@link com.google.zxing.pdf417.encoder.Dimensions Dimensions}).\n */\n EncodeHintType[EncodeHintType[\"PDF417_DIMENSIONS\"] = 8] = \"PDF417_DIMENSIONS\";\n /**\n * Specifies the required number of layers for an Aztec code.\n * A negative number (-1, -2, -3, -4) specifies a compact Aztec code.\n * 0 indicates to use the minimum number of layers (the default).\n * A positive number (1, 2, .. 32) specifies a normal (non-compact) Aztec code.\n * (Type {@link Integer}, or {@link String} representation of the integer value).\n */\n EncodeHintType[EncodeHintType[\"AZTEC_LAYERS\"] = 9] = \"AZTEC_LAYERS\";\n /**\n * Specifies the exact version of QR code to be encoded.\n * (Type {@link Integer}, or {@link String} representation of the integer value).\n */\n EncodeHintType[EncodeHintType[\"QR_VERSION\"] = 10] = \"QR_VERSION\";\n})(EncodeHintType || (EncodeHintType = {}));\nexport default EncodeHintType;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { CustomError } from 'ts-custom-error';\n/**\n * Custom Error class of type Exception.\n */\nvar Exception = /** @class */ (function (_super) {\n __extends(Exception, _super);\n /**\n * Allows Exception to be constructed directly\n * with some message and prototype definition.\n */\n function Exception(message) {\n if (message === void 0) { message = undefined; }\n var _this = _super.call(this, message) || this;\n _this.message = message;\n return _this;\n }\n Exception.prototype.getKind = function () {\n var ex = this.constructor;\n return ex.kind;\n };\n /**\n * It's typed as string so it can be extended and overriden.\n */\n Exception.kind = 'Exception';\n return Exception;\n}(CustomError));\nexport default Exception;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar FormatException = /** @class */ (function (_super) {\n __extends(FormatException, _super);\n function FormatException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FormatException.getFormatInstance = function () {\n return new FormatException();\n };\n FormatException.kind = 'FormatException';\n return FormatException;\n}(Exception));\nexport default FormatException;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar IllegalArgumentException = /** @class */ (function (_super) {\n __extends(IllegalArgumentException, _super);\n function IllegalArgumentException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n IllegalArgumentException.kind = 'IllegalArgumentException';\n return IllegalArgumentException;\n}(Exception));\nexport default IllegalArgumentException;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar IllegalStateException = /** @class */ (function (_super) {\n __extends(IllegalStateException, _super);\n function IllegalStateException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n IllegalStateException.kind = 'IllegalStateException';\n return IllegalStateException;\n}(Exception));\nexport default IllegalStateException;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar IndexOutOfBoundsException = /** @class */ (function (_super) {\n __extends(IndexOutOfBoundsException, _super);\n function IndexOutOfBoundsException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n IndexOutOfBoundsException.kind = 'IndexOutOfBoundsException';\n return IndexOutOfBoundsException;\n}(Exception));\nexport default IndexOutOfBoundsException;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport LuminanceSource from './LuminanceSource';\n/*namespace com.google.zxing {*/\n/**\n * A wrapper implementation of {@link LuminanceSource} which inverts the luminances it returns -- black becomes\n * white and vice versa, and each value becomes (255-value).\n *\n * @author Sean Owen\n */\nvar InvertedLuminanceSource = /** @class */ (function (_super) {\n __extends(InvertedLuminanceSource, _super);\n function InvertedLuminanceSource(delegate) {\n var _this = _super.call(this, delegate.getWidth(), delegate.getHeight()) || this;\n _this.delegate = delegate;\n return _this;\n }\n /*@Override*/\n InvertedLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n var sourceRow = this.delegate.getRow(y, row);\n var width = this.getWidth();\n for (var i = 0; i < width; i++) {\n sourceRow[i] = /*(byte)*/ (255 - (sourceRow[i] & 0xFF));\n }\n return sourceRow;\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.getMatrix = function () {\n var matrix = this.delegate.getMatrix();\n var length = this.getWidth() * this.getHeight();\n var invertedMatrix = new Uint8ClampedArray(length);\n for (var i = 0; i < length; i++) {\n invertedMatrix[i] = /*(byte)*/ (255 - (matrix[i] & 0xFF));\n }\n return invertedMatrix;\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.isCropSupported = function () {\n return this.delegate.isCropSupported();\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n return new InvertedLuminanceSource(this.delegate.crop(left, top, width, height));\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.isRotateSupported = function () {\n return this.delegate.isRotateSupported();\n };\n /**\n * @return original delegate {@link LuminanceSource} since invert undoes itself\n */\n /*@Override*/\n InvertedLuminanceSource.prototype.invert = function () {\n return this.delegate;\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.rotateCounterClockwise = function () {\n return new InvertedLuminanceSource(this.delegate.rotateCounterClockwise());\n };\n /*@Override*/\n InvertedLuminanceSource.prototype.rotateCounterClockwise45 = function () {\n return new InvertedLuminanceSource(this.delegate.rotateCounterClockwise45());\n };\n return InvertedLuminanceSource;\n}(LuminanceSource));\nexport default InvertedLuminanceSource;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport StringBuilder from './util/StringBuilder';\nimport UnsupportedOperationException from './UnsupportedOperationException';\n/*namespace com.google.zxing {*/\n/**\n * The purpose of this class hierarchy is to abstract different bitmap implementations across\n * platforms into a standard interface for requesting greyscale luminance values. The interface\n * only provides immutable methods; therefore crop and rotation create copies. This is to ensure\n * that one Reader does not modify the original luminance source and leave it in an unknown state\n * for other Readers in the chain.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar LuminanceSource = /** @class */ (function () {\n function LuminanceSource(width /*int*/, height /*int*/) {\n this.width = width;\n this.height = height;\n }\n /**\n * @return The width of the bitmap.\n */\n LuminanceSource.prototype.getWidth = function () {\n return this.width;\n };\n /**\n * @return The height of the bitmap.\n */\n LuminanceSource.prototype.getHeight = function () {\n return this.height;\n };\n /**\n * @return Whether this subclass supports cropping.\n */\n LuminanceSource.prototype.isCropSupported = function () {\n return false;\n };\n /**\n * Returns a new object with cropped image data. Implementations may keep a reference to the\n * original data rather than a copy. Only callable if isCropSupported() is true.\n *\n * @param left The left coordinate, which must be in [0,getWidth())\n * @param top The top coordinate, which must be in [0,getHeight())\n * @param width The width of the rectangle to crop.\n * @param height The height of the rectangle to crop.\n * @return A cropped version of this object.\n */\n LuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n throw new UnsupportedOperationException('This luminance source does not support cropping.');\n };\n /**\n * @return Whether this subclass supports counter-clockwise rotation.\n */\n LuminanceSource.prototype.isRotateSupported = function () {\n return false;\n };\n /**\n * Returns a new object with rotated image data by 90 degrees counterclockwise.\n * Only callable if {@link #isRotateSupported()} is true.\n *\n * @return A rotated version of this object.\n */\n LuminanceSource.prototype.rotateCounterClockwise = function () {\n throw new UnsupportedOperationException('This luminance source does not support rotation by 90 degrees.');\n };\n /**\n * Returns a new object with rotated image data by 45 degrees counterclockwise.\n * Only callable if {@link #isRotateSupported()} is true.\n *\n * @return A rotated version of this object.\n */\n LuminanceSource.prototype.rotateCounterClockwise45 = function () {\n throw new UnsupportedOperationException('This luminance source does not support rotation by 45 degrees.');\n };\n /*@Override*/\n LuminanceSource.prototype.toString = function () {\n var row = new Uint8ClampedArray(this.width);\n var result = new StringBuilder();\n for (var y = 0; y < this.height; y++) {\n var sourceRow = this.getRow(y, row);\n for (var x = 0; x < this.width; x++) {\n var luminance = sourceRow[x] & 0xFF;\n var c = void 0;\n if (luminance < 0x40) {\n c = '#';\n }\n else if (luminance < 0x80) {\n c = '+';\n }\n else if (luminance < 0xC0) {\n c = '.';\n }\n else {\n c = ' ';\n }\n result.append(c);\n }\n result.append('\\n');\n }\n return result.toString();\n };\n return LuminanceSource;\n}());\nexport default LuminanceSource;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport DecodeHintType from './DecodeHintType';\nimport BarcodeFormat from './BarcodeFormat';\nimport QRCodeReader from './qrcode/QRCodeReader';\nimport AztecReader from './aztec/AztecReader';\nimport MultiFormatOneDReader from './oned/MultiFormatOneDReader';\nimport DataMatrixReader from './datamatrix/DataMatrixReader';\nimport NotFoundException from './NotFoundException';\nimport PDF417Reader from './pdf417/PDF417Reader';\nimport ReaderException from './ReaderException';\n/*namespace com.google.zxing {*/\n/**\n * MultiFormatReader is a convenience class and the main entry point into the library for most uses.\n * By default it attempts to decode all barcode formats that the library supports. Optionally, you\n * can provide a hints object to request different behavior, for example only decoding QR codes.\n *\n * @author Sean Owen\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar MultiFormatReader = /** @class */ (function () {\n function MultiFormatReader() {\n }\n /**\n * This version of decode honors the intent of Reader.decode(BinaryBitmap) in that it\n * passes null as a hint to the decoders. However, that makes it inefficient to call repeatedly.\n * Use setHints() followed by decodeWithState() for continuous scan applications.\n *\n * @param image The pixel data to decode\n * @return The contents of the image\n *\n * @throws NotFoundException Any errors which occurred\n */\n /*@Override*/\n // public decode(image: BinaryBitmap): Result {\n // setHints(null)\n // return decodeInternal(image)\n // }\n /**\n * Decode an image using the hints provided. Does not honor existing state.\n *\n * @param image The pixel data to decode\n * @param hints The hints to use, clearing the previous state.\n * @return The contents of the image\n *\n * @throws NotFoundException Any errors which occurred\n */\n /*@Override*/\n MultiFormatReader.prototype.decode = function (image, hints) {\n this.setHints(hints);\n return this.decodeInternal(image);\n };\n /**\n * Decode an image using the state set up by calling setHints() previously. Continuous scan\n * clients will get a large speed increase by using this instead of decode().\n *\n * @param image The pixel data to decode\n * @return The contents of the image\n *\n * @throws NotFoundException Any errors which occurred\n */\n MultiFormatReader.prototype.decodeWithState = function (image) {\n // Make sure to set up the default state so we don't crash\n if (this.readers === null || this.readers === undefined) {\n this.setHints(null);\n }\n return this.decodeInternal(image);\n };\n /**\n * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls\n * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This\n * is important for performance in continuous scan clients.\n *\n * @param hints The set of hints to use for subsequent calls to decode(image)\n */\n MultiFormatReader.prototype.setHints = function (hints) {\n this.hints = hints;\n var tryHarder = hints !== null && hints !== undefined && undefined !== hints.get(DecodeHintType.TRY_HARDER);\n /*@SuppressWarnings(\"unchecked\")*/\n var formats = hints === null || hints === undefined ? null : hints.get(DecodeHintType.POSSIBLE_FORMATS);\n var readers = new Array();\n if (formats !== null && formats !== undefined) {\n var addOneDReader = formats.some(function (f) {\n return f === BarcodeFormat.UPC_A ||\n f === BarcodeFormat.UPC_E ||\n f === BarcodeFormat.EAN_13 ||\n f === BarcodeFormat.EAN_8 ||\n f === BarcodeFormat.CODABAR ||\n f === BarcodeFormat.CODE_39 ||\n f === BarcodeFormat.CODE_93 ||\n f === BarcodeFormat.CODE_128 ||\n f === BarcodeFormat.ITF ||\n f === BarcodeFormat.RSS_14 ||\n f === BarcodeFormat.RSS_EXPANDED;\n });\n // Put 1D readers upfront in \"normal\" mode\n // TYPESCRIPTPORT: TODO: uncomment below as they are ported\n if (addOneDReader && !tryHarder) {\n readers.push(new MultiFormatOneDReader(hints));\n }\n if (formats.includes(BarcodeFormat.QR_CODE)) {\n readers.push(new QRCodeReader());\n }\n if (formats.includes(BarcodeFormat.DATA_MATRIX)) {\n readers.push(new DataMatrixReader());\n }\n if (formats.includes(BarcodeFormat.AZTEC)) {\n readers.push(new AztecReader());\n }\n if (formats.includes(BarcodeFormat.PDF_417)) {\n readers.push(new PDF417Reader());\n }\n // if (formats.includes(BarcodeFormat.MAXICODE)) {\n // readers.push(new MaxiCodeReader())\n // }\n // At end in \"try harder\" mode\n if (addOneDReader && tryHarder) {\n readers.push(new MultiFormatOneDReader(hints));\n }\n }\n if (readers.length === 0) {\n if (!tryHarder) {\n readers.push(new MultiFormatOneDReader(hints));\n }\n readers.push(new QRCodeReader());\n readers.push(new DataMatrixReader());\n readers.push(new AztecReader());\n readers.push(new PDF417Reader());\n // readers.push(new MaxiCodeReader())\n if (tryHarder) {\n readers.push(new MultiFormatOneDReader(hints));\n }\n }\n this.readers = readers; // .toArray(new Reader[readers.size()])\n };\n /*@Override*/\n MultiFormatReader.prototype.reset = function () {\n var e_1, _a;\n if (this.readers !== null) {\n try {\n for (var _b = __values(this.readers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var reader = _c.value;\n reader.reset();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n };\n /**\n * @throws NotFoundException\n */\n MultiFormatReader.prototype.decodeInternal = function (image) {\n var e_2, _a;\n if (this.readers === null) {\n throw new ReaderException('No readers where selected, nothing can be read.');\n }\n try {\n for (var _b = __values(this.readers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var reader = _c.value;\n // Trying to decode with ${reader} reader.\n try {\n return reader.decode(image, this.hints);\n }\n catch (ex) {\n if (ex instanceof ReaderException) {\n continue;\n }\n // Bad Exception.\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n throw new NotFoundException('No MultiFormat Readers were able to detect the code.');\n };\n return MultiFormatReader;\n}());\nexport default MultiFormatReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// import DataMatrixWriter from './datamatrix/DataMatrixWriter'\n// import CodaBarWriter from './oned/CodaBarWriter'\n// import Code128Writer from './oned/Code128Writer'\n// import Code39Writer from './oned/Code39Writer'\n// import Code93Writer from './oned/Code93Writer'\n// import EAN13Writer from './oned/EAN13Writer'\n// import EAN8Writer from './oned/EAN8Writer'\n// import ITFWriter from './oned/ITFWriter'\n// import UPCAWriter from './oned/UPCAWriter'\n// import UPCEWriter from './oned/UPCEWriter'\n// import PDF417Writer from './pdf417/PDF417Writer'\nimport QRCodeWriter from './qrcode/QRCodeWriter';\nimport BarcodeFormat from './BarcodeFormat';\nimport IllegalArgumentException from './IllegalArgumentException';\n/*import java.util.Map;*/\n/**\n * This is a factory class which finds the appropriate Writer subclass for the BarcodeFormat\n * requested and encodes the barcode with the supplied contents.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar MultiFormatWriter = /** @class */ (function () {\n function MultiFormatWriter() {\n }\n /*@Override*/\n // public encode(contents: string,\n // format: BarcodeFormat,\n // width: number /*int*/,\n // height: number /*int*/): BitMatrix /*throws WriterException */ {\n // return encode(contents, format, width, height, null)\n // }\n /*@Override*/\n MultiFormatWriter.prototype.encode = function (contents, format, width /*int*/, height /*int*/, hints) {\n var writer;\n switch (format) {\n // case BarcodeFormat.EAN_8:\n // writer = new EAN8Writer()\n // break\n // case BarcodeFormat.UPC_E:\n // writer = new UPCEWriter()\n // break\n // case BarcodeFormat.EAN_13:\n // writer = new EAN13Writer()\n // break\n // case BarcodeFormat.UPC_A:\n // writer = new UPCAWriter()\n // break\n case BarcodeFormat.QR_CODE:\n writer = new QRCodeWriter();\n break;\n // case BarcodeFormat.CODE_39:\n // writer = new Code39Writer()\n // break\n // case BarcodeFormat.CODE_93:\n // writer = new Code93Writer()\n // break\n // case BarcodeFormat.CODE_128:\n // writer = new Code128Writer()\n // break\n // case BarcodeFormat.ITF:\n // writer = new ITFWriter()\n // break\n // case BarcodeFormat.PDF_417:\n // writer = new PDF417Writer()\n // break\n // case BarcodeFormat.CODABAR:\n // writer = new CodaBarWriter()\n // break\n // case BarcodeFormat.DATA_MATRIX:\n // writer = new DataMatrixWriter()\n // break\n // case BarcodeFormat.AZTEC:\n // writer = new AztecWriter()\n // break\n default:\n throw new IllegalArgumentException('No encoder available for format ' + format);\n }\n return writer.encode(contents, format, width, height, hints);\n };\n return MultiFormatWriter;\n}());\nexport default MultiFormatWriter;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar NotFoundException = /** @class */ (function (_super) {\n __extends(NotFoundException, _super);\n function NotFoundException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NotFoundException.getNotFoundInstance = function () {\n return new NotFoundException();\n };\n NotFoundException.kind = 'NotFoundException';\n return NotFoundException;\n}(Exception));\nexport default NotFoundException;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar NullPointerException = /** @class */ (function (_super) {\n __extends(NullPointerException, _super);\n function NullPointerException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NullPointerException.kind = 'NullPointerException';\n return NullPointerException;\n}(Exception));\nexport default NullPointerException;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar OutOfMemoryError = /** @class */ (function (_super) {\n __extends(OutOfMemoryError, _super);\n function OutOfMemoryError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return OutOfMemoryError;\n}(Exception));\nexport default OutOfMemoryError;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing {*/\nimport System from './util/System';\nimport LuminanceSource from './LuminanceSource';\nimport InvertedLuminanceSource from './InvertedLuminanceSource';\nimport IllegalArgumentException from './IllegalArgumentException';\n/**\n * This object extends LuminanceSource around an array of YUV data returned from the camera driver,\n * with the option to crop to a rectangle within the full data. This can be used to exclude\n * superfluous pixels around the perimeter and speed up decoding.\n *\n * It works for any pixel format where the Y channel is planar and appears first, including\n * YCbCr_420_SP and YCbCr_422_SP.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar PlanarYUVLuminanceSource = /** @class */ (function (_super) {\n __extends(PlanarYUVLuminanceSource, _super);\n function PlanarYUVLuminanceSource(yuvData, dataWidth /*int*/, dataHeight /*int*/, left /*int*/, top /*int*/, width /*int*/, height /*int*/, reverseHorizontal) {\n var _this = _super.call(this, width, height) || this;\n _this.yuvData = yuvData;\n _this.dataWidth = dataWidth;\n _this.dataHeight = dataHeight;\n _this.left = left;\n _this.top = top;\n if (left + width > dataWidth || top + height > dataHeight) {\n throw new IllegalArgumentException('Crop rectangle does not fit within image data.');\n }\n if (reverseHorizontal) {\n _this.reverseHorizontal(width, height);\n }\n return _this;\n }\n /*@Override*/\n PlanarYUVLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n if (y < 0 || y >= this.getHeight()) {\n throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n }\n var width = this.getWidth();\n if (row === null || row === undefined || row.length < width) {\n row = new Uint8ClampedArray(width);\n }\n var offset = (y + this.top) * this.dataWidth + this.left;\n System.arraycopy(this.yuvData, offset, row, 0, width);\n return row;\n };\n /*@Override*/\n PlanarYUVLuminanceSource.prototype.getMatrix = function () {\n var width = this.getWidth();\n var height = this.getHeight();\n // If the caller asks for the entire underlying image, save the copy and give them the\n // original data. The docs specifically warn that result.length must be ignored.\n if (width === this.dataWidth && height === this.dataHeight) {\n return this.yuvData;\n }\n var area = width * height;\n var matrix = new Uint8ClampedArray(area);\n var inputOffset = this.top * this.dataWidth + this.left;\n // If the width matches the full width of the underlying data, perform a single copy.\n if (width === this.dataWidth) {\n System.arraycopy(this.yuvData, inputOffset, matrix, 0, area);\n return matrix;\n }\n // Otherwise copy one cropped row at a time.\n for (var y = 0; y < height; y++) {\n var outputOffset = y * width;\n System.arraycopy(this.yuvData, inputOffset, matrix, outputOffset, width);\n inputOffset += this.dataWidth;\n }\n return matrix;\n };\n /*@Override*/\n PlanarYUVLuminanceSource.prototype.isCropSupported = function () {\n return true;\n };\n /*@Override*/\n PlanarYUVLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n return new PlanarYUVLuminanceSource(this.yuvData, this.dataWidth, this.dataHeight, this.left + left, this.top + top, width, height, false);\n };\n PlanarYUVLuminanceSource.prototype.renderThumbnail = function () {\n var width = this.getWidth() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n var height = this.getHeight() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n var pixels = new Int32Array(width * height);\n var yuv = this.yuvData;\n var inputOffset = this.top * this.dataWidth + this.left;\n for (var y = 0; y < height; y++) {\n var outputOffset = y * width;\n for (var x = 0; x < width; x++) {\n var grey = yuv[inputOffset + x * PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR] & 0xff;\n pixels[outputOffset + x] = 0xFF000000 | (grey * 0x00010101);\n }\n inputOffset += this.dataWidth * PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n }\n return pixels;\n };\n /**\n * @return width of image from {@link #renderThumbnail()}\n */\n PlanarYUVLuminanceSource.prototype.getThumbnailWidth = function () {\n return this.getWidth() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n };\n /**\n * @return height of image from {@link #renderThumbnail()}\n */\n PlanarYUVLuminanceSource.prototype.getThumbnailHeight = function () {\n return this.getHeight() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n };\n PlanarYUVLuminanceSource.prototype.reverseHorizontal = function (width /*int*/, height /*int*/) {\n var yuvData = this.yuvData;\n for (var y = 0, rowStart = this.top * this.dataWidth + this.left; y < height; y++, rowStart += this.dataWidth) {\n var middle = rowStart + width / 2;\n for (var x1 = rowStart, x2 = rowStart + width - 1; x1 < middle; x1++, x2--) {\n var temp = yuvData[x1];\n yuvData[x1] = yuvData[x2];\n yuvData[x2] = temp;\n }\n }\n };\n PlanarYUVLuminanceSource.prototype.invert = function () {\n return new InvertedLuminanceSource(this);\n };\n PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR = 2;\n return PlanarYUVLuminanceSource;\n}(LuminanceSource));\nexport default PlanarYUVLuminanceSource;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing {*/\nimport './InvertedLuminanceSource'; // required because of circular dependencies between LuminanceSource and InvertedLuminanceSource\nimport InvertedLuminanceSource from './InvertedLuminanceSource';\nimport LuminanceSource from './LuminanceSource';\nimport System from './util/System';\nimport IllegalArgumentException from './IllegalArgumentException';\n/**\n * This class is used to help decode images from files which arrive as RGB data from\n * an ARGB pixel array. It does not support rotation.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Betaminos\n */\nvar RGBLuminanceSource = /** @class */ (function (_super) {\n __extends(RGBLuminanceSource, _super);\n function RGBLuminanceSource(luminances, width /*int*/, height /*int*/, dataWidth /*int*/, dataHeight /*int*/, left /*int*/, top /*int*/) {\n var _this = _super.call(this, width, height) || this;\n _this.dataWidth = dataWidth;\n _this.dataHeight = dataHeight;\n _this.left = left;\n _this.top = top;\n if (luminances.BYTES_PER_ELEMENT === 4) { // Int32Array\n var size = width * height;\n var luminancesUint8Array = new Uint8ClampedArray(size);\n for (var offset = 0; offset < size; offset++) {\n var pixel = luminances[offset];\n var r = (pixel >> 16) & 0xff; // red\n var g2 = (pixel >> 7) & 0x1fe; // 2 * green\n var b = pixel & 0xff; // blue\n // Calculate green-favouring average cheaply\n luminancesUint8Array[offset] = /*(byte) */ ((r + g2 + b) / 4) & 0xFF;\n }\n _this.luminances = luminancesUint8Array;\n }\n else {\n _this.luminances = luminances;\n }\n if (undefined === dataWidth) {\n _this.dataWidth = width;\n }\n if (undefined === dataHeight) {\n _this.dataHeight = height;\n }\n if (undefined === left) {\n _this.left = 0;\n }\n if (undefined === top) {\n _this.top = 0;\n }\n if (_this.left + width > _this.dataWidth || _this.top + height > _this.dataHeight) {\n throw new IllegalArgumentException('Crop rectangle does not fit within image data.');\n }\n return _this;\n }\n /*@Override*/\n RGBLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n if (y < 0 || y >= this.getHeight()) {\n throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n }\n var width = this.getWidth();\n if (row === null || row === undefined || row.length < width) {\n row = new Uint8ClampedArray(width);\n }\n var offset = (y + this.top) * this.dataWidth + this.left;\n System.arraycopy(this.luminances, offset, row, 0, width);\n return row;\n };\n /*@Override*/\n RGBLuminanceSource.prototype.getMatrix = function () {\n var width = this.getWidth();\n var height = this.getHeight();\n // If the caller asks for the entire underlying image, save the copy and give them the\n // original data. The docs specifically warn that result.length must be ignored.\n if (width === this.dataWidth && height === this.dataHeight) {\n return this.luminances;\n }\n var area = width * height;\n var matrix = new Uint8ClampedArray(area);\n var inputOffset = this.top * this.dataWidth + this.left;\n // If the width matches the full width of the underlying data, perform a single copy.\n if (width === this.dataWidth) {\n System.arraycopy(this.luminances, inputOffset, matrix, 0, area);\n return matrix;\n }\n // Otherwise copy one cropped row at a time.\n for (var y = 0; y < height; y++) {\n var outputOffset = y * width;\n System.arraycopy(this.luminances, inputOffset, matrix, outputOffset, width);\n inputOffset += this.dataWidth;\n }\n return matrix;\n };\n /*@Override*/\n RGBLuminanceSource.prototype.isCropSupported = function () {\n return true;\n };\n /*@Override*/\n RGBLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n return new RGBLuminanceSource(this.luminances, width, height, this.dataWidth, this.dataHeight, this.left + left, this.top + top);\n };\n RGBLuminanceSource.prototype.invert = function () {\n return new InvertedLuminanceSource(this);\n };\n return RGBLuminanceSource;\n}(LuminanceSource));\nexport default RGBLuminanceSource;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar ReaderException = /** @class */ (function (_super) {\n __extends(ReaderException, _super);\n function ReaderException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ReaderException.kind = 'ReaderException';\n return ReaderException;\n}(Exception));\nexport default ReaderException;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar ReedSolomonException = /** @class */ (function (_super) {\n __extends(ReedSolomonException, _super);\n function ReedSolomonException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ReedSolomonException.kind = 'ReedSolomonException';\n return ReedSolomonException;\n}(Exception));\nexport default ReedSolomonException;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport System from './util/System';\n/**\n *

    Encapsulates the result of decoding a barcode within an image.

    \n *\n * @author Sean Owen\n */\nvar Result = /** @class */ (function () {\n // public constructor(private text: string,\n // Uint8Array rawBytes,\n // ResultPoconst resultPoints: Int32Array,\n // BarcodeFormat format) {\n // this(text, rawBytes, resultPoints, format, System.currentTimeMillis())\n // }\n // public constructor(text: string,\n // Uint8Array rawBytes,\n // ResultPoconst resultPoints: Int32Array,\n // BarcodeFormat format,\n // long timestamp) {\n // this(text, rawBytes, rawBytes == null ? 0 : 8 * rawBytes.length,\n // resultPoints, format, timestamp)\n // }\n function Result(text, rawBytes, numBits, resultPoints, format, timestamp) {\n if (numBits === void 0) { numBits = rawBytes == null ? 0 : 8 * rawBytes.length; }\n if (timestamp === void 0) { timestamp = System.currentTimeMillis(); }\n this.text = text;\n this.rawBytes = rawBytes;\n this.numBits = numBits;\n this.resultPoints = resultPoints;\n this.format = format;\n this.timestamp = timestamp;\n this.text = text;\n this.rawBytes = rawBytes;\n if (undefined === numBits || null === numBits) {\n this.numBits = (rawBytes === null || rawBytes === undefined) ? 0 : 8 * rawBytes.length;\n }\n else {\n this.numBits = numBits;\n }\n this.resultPoints = resultPoints;\n this.format = format;\n this.resultMetadata = null;\n if (undefined === timestamp || null === timestamp) {\n this.timestamp = System.currentTimeMillis();\n }\n else {\n this.timestamp = timestamp;\n }\n }\n /**\n * @return raw text encoded by the barcode\n */\n Result.prototype.getText = function () {\n return this.text;\n };\n /**\n * @return raw bytes encoded by the barcode, if applicable, otherwise {@code null}\n */\n Result.prototype.getRawBytes = function () {\n return this.rawBytes;\n };\n /**\n * @return how many bits of {@link #getRawBytes()} are valid; typically 8 times its length\n * @since 3.3.0\n */\n Result.prototype.getNumBits = function () {\n return this.numBits;\n };\n /**\n * @return points related to the barcode in the image. These are typically points\n * identifying finder patterns or the corners of the barcode. The exact meaning is\n * specific to the type of barcode that was decoded.\n */\n Result.prototype.getResultPoints = function () {\n return this.resultPoints;\n };\n /**\n * @return {@link BarcodeFormat} representing the format of the barcode that was decoded\n */\n Result.prototype.getBarcodeFormat = function () {\n return this.format;\n };\n /**\n * @return {@link Map} mapping {@link ResultMetadataType} keys to values. May be\n * {@code null}. This contains optional metadata about what was detected about the barcode,\n * like orientation.\n */\n Result.prototype.getResultMetadata = function () {\n return this.resultMetadata;\n };\n Result.prototype.putMetadata = function (type, value) {\n if (this.resultMetadata === null) {\n this.resultMetadata = new Map();\n }\n this.resultMetadata.set(type, value);\n };\n Result.prototype.putAllMetadata = function (metadata) {\n if (metadata !== null) {\n if (this.resultMetadata === null) {\n this.resultMetadata = metadata;\n }\n else {\n this.resultMetadata = new Map(metadata);\n }\n }\n };\n Result.prototype.addResultPoints = function (newPoints) {\n var oldPoints = this.resultPoints;\n if (oldPoints === null) {\n this.resultPoints = newPoints;\n }\n else if (newPoints !== null && newPoints.length > 0) {\n var allPoints = new Array(oldPoints.length + newPoints.length);\n System.arraycopy(oldPoints, 0, allPoints, 0, oldPoints.length);\n System.arraycopy(newPoints, 0, allPoints, oldPoints.length, newPoints.length);\n this.resultPoints = allPoints;\n }\n };\n Result.prototype.getTimestamp = function () {\n return this.timestamp;\n };\n /*@Override*/\n Result.prototype.toString = function () {\n return this.text;\n };\n return Result;\n}());\nexport default Result;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing {*/\n/**\n * Represents some type of metadata about the result of the decoding that the decoder\n * wishes to communicate back to the caller.\n *\n * @author Sean Owen\n */\nvar ResultMetadataType;\n(function (ResultMetadataType) {\n /**\n * Unspecified, application-specific metadata. Maps to an unspecified {@link Object}.\n */\n ResultMetadataType[ResultMetadataType[\"OTHER\"] = 0] = \"OTHER\";\n /**\n * Denotes the likely approximate orientation of the barcode in the image. This value\n * is given as degrees rotated clockwise from the normal, upright orientation.\n * For example a 1D barcode which was found by reading top-to-bottom would be\n * said to have orientation \"90\". This key maps to an {@link Integer} whose\n * value is in the range [0,360).\n */\n ResultMetadataType[ResultMetadataType[\"ORIENTATION\"] = 1] = \"ORIENTATION\";\n /**\n *

    2D barcode formats typically encode text, but allow for a sort of 'byte mode'\n * which is sometimes used to encode binary data. While {@link Result} makes available\n * the complete raw bytes in the barcode for these formats, it does not offer the bytes\n * from the byte segments alone.

    \n *\n *

    This maps to a {@link java.util.List} of byte arrays corresponding to the\n * raw bytes in the byte segments in the barcode, in order.

    \n */\n ResultMetadataType[ResultMetadataType[\"BYTE_SEGMENTS\"] = 2] = \"BYTE_SEGMENTS\";\n /**\n * Error correction level used, if applicable. The value type depends on the\n * format, but is typically a String.\n */\n ResultMetadataType[ResultMetadataType[\"ERROR_CORRECTION_LEVEL\"] = 3] = \"ERROR_CORRECTION_LEVEL\";\n /**\n * For some periodicals, indicates the issue number as an {@link Integer}.\n */\n ResultMetadataType[ResultMetadataType[\"ISSUE_NUMBER\"] = 4] = \"ISSUE_NUMBER\";\n /**\n * For some products, indicates the suggested retail price in the barcode as a\n * formatted {@link String}.\n */\n ResultMetadataType[ResultMetadataType[\"SUGGESTED_PRICE\"] = 5] = \"SUGGESTED_PRICE\";\n /**\n * For some products, the possible country of manufacture as a {@link String} denoting the\n * ISO country code. Some map to multiple possible countries, like \"US/CA\".\n */\n ResultMetadataType[ResultMetadataType[\"POSSIBLE_COUNTRY\"] = 6] = \"POSSIBLE_COUNTRY\";\n /**\n * For some products, the extension text\n */\n ResultMetadataType[ResultMetadataType[\"UPC_EAN_EXTENSION\"] = 7] = \"UPC_EAN_EXTENSION\";\n /**\n * PDF417-specific metadata\n */\n ResultMetadataType[ResultMetadataType[\"PDF417_EXTRA_METADATA\"] = 8] = \"PDF417_EXTRA_METADATA\";\n /**\n * If the code format supports structured append and the current scanned code is part of one then the\n * sequence number is given with it.\n */\n ResultMetadataType[ResultMetadataType[\"STRUCTURED_APPEND_SEQUENCE\"] = 9] = \"STRUCTURED_APPEND_SEQUENCE\";\n /**\n * If the code format supports structured append and the current scanned code is part of one then the\n * parity is given with it.\n */\n ResultMetadataType[ResultMetadataType[\"STRUCTURED_APPEND_PARITY\"] = 10] = \"STRUCTURED_APPEND_PARITY\";\n})(ResultMetadataType || (ResultMetadataType = {}));\nexport default ResultMetadataType;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing {*/\nimport MathUtils from './common/detector/MathUtils';\nimport Float from './util/Float';\n/**\n *

    Encapsulates a point of interest in an image containing a barcode. Typically, this\n * would be the location of a finder pattern or the corner of the barcode, for example.

    \n *\n * @author Sean Owen\n */\nvar ResultPoint = /** @class */ (function () {\n function ResultPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n ResultPoint.prototype.getX = function () {\n return this.x;\n };\n ResultPoint.prototype.getY = function () {\n return this.y;\n };\n /*@Override*/\n ResultPoint.prototype.equals = function (other) {\n if (other instanceof ResultPoint) {\n var otherPoint = other;\n return this.x === otherPoint.x && this.y === otherPoint.y;\n }\n return false;\n };\n /*@Override*/\n ResultPoint.prototype.hashCode = function () {\n return 31 * Float.floatToIntBits(this.x) + Float.floatToIntBits(this.y);\n };\n /*@Override*/\n ResultPoint.prototype.toString = function () {\n return '(' + this.x + ',' + this.y + ')';\n };\n /**\n * Orders an array of three ResultPoints in an order [A,B,C] such that AB is less than AC\n * and BC is less than AC, and the angle between BC and BA is less than 180 degrees.\n *\n * @param patterns array of three {@code ResultPoint} to order\n */\n ResultPoint.orderBestPatterns = function (patterns) {\n // Find distances between pattern centers\n var zeroOneDistance = this.distance(patterns[0], patterns[1]);\n var oneTwoDistance = this.distance(patterns[1], patterns[2]);\n var zeroTwoDistance = this.distance(patterns[0], patterns[2]);\n var pointA;\n var pointB;\n var pointC;\n // Assume one closest to other two is B; A and C will just be guesses at first\n if (oneTwoDistance >= zeroOneDistance && oneTwoDistance >= zeroTwoDistance) {\n pointB = patterns[0];\n pointA = patterns[1];\n pointC = patterns[2];\n }\n else if (zeroTwoDistance >= oneTwoDistance && zeroTwoDistance >= zeroOneDistance) {\n pointB = patterns[1];\n pointA = patterns[0];\n pointC = patterns[2];\n }\n else {\n pointB = patterns[2];\n pointA = patterns[0];\n pointC = patterns[1];\n }\n // Use cross product to figure out whether A and C are correct or flipped.\n // This asks whether BC x BA has a positive z component, which is the arrangement\n // we want for A, B, C. If it's negative, then we've got it flipped around and\n // should swap A and C.\n if (this.crossProductZ(pointA, pointB, pointC) < 0.0) {\n var temp = pointA;\n pointA = pointC;\n pointC = temp;\n }\n patterns[0] = pointA;\n patterns[1] = pointB;\n patterns[2] = pointC;\n };\n /**\n * @param pattern1 first pattern\n * @param pattern2 second pattern\n * @return distance between two points\n */\n ResultPoint.distance = function (pattern1, pattern2) {\n return MathUtils.distance(pattern1.x, pattern1.y, pattern2.x, pattern2.y);\n };\n /**\n * Returns the z component of the cross product between vectors BC and BA.\n */\n ResultPoint.crossProductZ = function (pointA, pointB, pointC) {\n var bX = pointB.x;\n var bY = pointB.y;\n return ((pointC.x - bX) * (pointA.y - bY)) - ((pointC.y - bY) * (pointA.x - bX));\n };\n return ResultPoint;\n}());\nexport default ResultPoint;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar UnsupportedOperationException = /** @class */ (function (_super) {\n __extends(UnsupportedOperationException, _super);\n function UnsupportedOperationException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n UnsupportedOperationException.kind = 'UnsupportedOperationException';\n return UnsupportedOperationException;\n}(Exception));\nexport default UnsupportedOperationException;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar WriterException = /** @class */ (function (_super) {\n __extends(WriterException, _super);\n function WriterException() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n WriterException.kind = 'WriterException';\n return WriterException;\n}(Exception));\nexport default WriterException;\n","/*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport DetectorResult from '../common/DetectorResult';\n/**\n *

    Extends {@link DetectorResult} with more information specific to the Aztec format,\n * like the number of layers and whether it's compact.

    \n *\n * @author Sean Owen\n */\nvar AztecDetectorResult = /** @class */ (function (_super) {\n __extends(AztecDetectorResult, _super);\n function AztecDetectorResult(bits, points, compact, nbDatablocks, nbLayers) {\n var _this = _super.call(this, bits, points) || this;\n _this.compact = compact;\n _this.nbDatablocks = nbDatablocks;\n _this.nbLayers = nbLayers;\n return _this;\n }\n AztecDetectorResult.prototype.getNbLayers = function () {\n return this.nbLayers;\n };\n AztecDetectorResult.prototype.getNbDatablocks = function () {\n return this.nbDatablocks;\n };\n AztecDetectorResult.prototype.isCompact = function () {\n return this.compact;\n };\n return AztecDetectorResult;\n}(DetectorResult));\nexport default AztecDetectorResult;\n","/*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport Result from '../Result';\nimport BarcodeFormat from '../BarcodeFormat';\nimport DecodeHintType from '../DecodeHintType';\nimport ResultMetadataType from '../ResultMetadataType';\nimport System from '../util/System';\nimport Decoder from './decoder/Decoder';\nimport Detector from './detector/Detector';\n// import java.util.List;\n// import java.util.Map;\n/**\n * This implementation can detect and decode Aztec codes in an image.\n *\n * @author David Olivier\n */\nvar AztecReader = /** @class */ (function () {\n function AztecReader() {\n }\n /**\n * Locates and decodes a Data Matrix code in an image.\n *\n * @return a String representing the content encoded by the Data Matrix code\n * @throws NotFoundException if a Data Matrix code cannot be found\n * @throws FormatException if a Data Matrix code cannot be decoded\n */\n AztecReader.prototype.decode = function (image, hints) {\n if (hints === void 0) { hints = null; }\n var exception = null;\n var detector = new Detector(image.getBlackMatrix());\n var points = null;\n var decoderResult = null;\n try {\n var detectorResult = detector.detectMirror(false);\n points = detectorResult.getPoints();\n this.reportFoundResultPoints(hints, points);\n decoderResult = new Decoder().decode(detectorResult);\n }\n catch (e) {\n exception = e;\n }\n if (decoderResult == null) {\n try {\n var detectorResult = detector.detectMirror(true);\n points = detectorResult.getPoints();\n this.reportFoundResultPoints(hints, points);\n decoderResult = new Decoder().decode(detectorResult);\n }\n catch (e) {\n if (exception != null) {\n throw exception;\n }\n throw e;\n }\n }\n var result = new Result(decoderResult.getText(), decoderResult.getRawBytes(), decoderResult.getNumBits(), points, BarcodeFormat.AZTEC, System.currentTimeMillis());\n var byteSegments = decoderResult.getByteSegments();\n if (byteSegments != null) {\n result.putMetadata(ResultMetadataType.BYTE_SEGMENTS, byteSegments);\n }\n var ecLevel = decoderResult.getECLevel();\n if (ecLevel != null) {\n result.putMetadata(ResultMetadataType.ERROR_CORRECTION_LEVEL, ecLevel);\n }\n return result;\n };\n AztecReader.prototype.reportFoundResultPoints = function (hints, points) {\n if (hints != null) {\n var rpcb_1 = hints.get(DecodeHintType.NEED_RESULT_POINT_CALLBACK);\n if (rpcb_1 != null) {\n points.forEach(function (point, idx, arr) {\n rpcb_1.foundPossibleResultPoint(point);\n });\n }\n }\n };\n // @Override\n AztecReader.prototype.reset = function () {\n // do nothing\n };\n return AztecReader;\n}());\nexport default AztecReader;\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n// package com.google.zxing.aztec;\n// import com.google.zxing.BarcodeFormat;\nimport BarcodeFormat from '../BarcodeFormat';\n// import com.google.zxing.EncodeHintType;\nimport EncodeHintType from '../EncodeHintType';\n// import com.google.zxing.aztec.encoder.Encoder;\nimport Encoder from './encoder/Encoder';\n// import com.google.zxing.common.BitMatrix;\nimport BitMatrix from '../common/BitMatrix';\n// import java.nio.charset.Charset;\nimport Charset from '../util/Charset';\n// import java.nio.charset.StandardCharsets;\nimport StandardCharsets from '../util/StandardCharsets';\n// import java.util.Map;\nimport Integer from '../util/Integer';\nimport IllegalStateException from '../IllegalStateException';\nimport IllegalArgumentException from '../IllegalArgumentException';\nimport StringUtils from '../common/StringUtils';\n/**\n * Renders an Aztec code as a {@link BitMatrix}.\n */\nvar AztecWriter = /** @class */ (function () {\n function AztecWriter() {\n }\n // @Override\n AztecWriter.prototype.encode = function (contents, format, width, height) {\n return this.encodeWithHints(contents, format, width, height, null);\n };\n // @Override\n AztecWriter.prototype.encodeWithHints = function (contents, format, width, height, hints) {\n var charset = StandardCharsets.ISO_8859_1;\n var eccPercent = Encoder.DEFAULT_EC_PERCENT;\n var layers = Encoder.DEFAULT_AZTEC_LAYERS;\n if (hints != null) {\n if (hints.has(EncodeHintType.CHARACTER_SET)) {\n charset = Charset.forName(hints.get(EncodeHintType.CHARACTER_SET).toString());\n }\n if (hints.has(EncodeHintType.ERROR_CORRECTION)) {\n eccPercent = Integer.parseInt(hints.get(EncodeHintType.ERROR_CORRECTION).toString());\n }\n if (hints.has(EncodeHintType.AZTEC_LAYERS)) {\n layers = Integer.parseInt(hints.get(EncodeHintType.AZTEC_LAYERS).toString());\n }\n }\n return AztecWriter.encodeLayers(contents, format, width, height, charset, eccPercent, layers);\n };\n AztecWriter.encodeLayers = function (contents, format, width, height, charset, eccPercent, layers) {\n if (format !== BarcodeFormat.AZTEC) {\n throw new IllegalArgumentException('Can only encode AZTEC, but got ' + format);\n }\n var aztec = Encoder.encode(StringUtils.getBytes(contents, charset), eccPercent, layers);\n return AztecWriter.renderResult(aztec, width, height);\n };\n AztecWriter.renderResult = function (code, width, height) {\n var input = code.getMatrix();\n if (input == null) {\n throw new IllegalStateException();\n }\n var inputWidth = input.getWidth();\n var inputHeight = input.getHeight();\n var outputWidth = Math.max(width, inputWidth);\n var outputHeight = Math.max(height, inputHeight);\n var multiple = Math.min(outputWidth / inputWidth, outputHeight / inputHeight);\n var leftPadding = (outputWidth - (inputWidth * multiple)) / 2;\n var topPadding = (outputHeight - (inputHeight * multiple)) / 2;\n var output = new BitMatrix(outputWidth, outputHeight);\n for (var inputY /*int*/ = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the barcode\n for (var inputX /*int*/ = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) {\n if (input.get(inputX, inputY)) {\n output.setRegion(outputX, outputY, multiple, multiple);\n }\n }\n }\n return output;\n };\n return AztecWriter;\n}());\nexport default AztecWriter;\n","/*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport DecoderResult from '../../common/DecoderResult';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport ReedSolomonDecoder from '../../common/reedsolomon/ReedSolomonDecoder';\nimport IllegalStateException from '../../IllegalStateException';\nimport FormatException from '../../FormatException';\nimport StringUtils from '../../common/StringUtils';\nimport Integer from '../../util/Integer';\n// import java.util.Arrays;\nvar Table;\n(function (Table) {\n Table[Table[\"UPPER\"] = 0] = \"UPPER\";\n Table[Table[\"LOWER\"] = 1] = \"LOWER\";\n Table[Table[\"MIXED\"] = 2] = \"MIXED\";\n Table[Table[\"DIGIT\"] = 3] = \"DIGIT\";\n Table[Table[\"PUNCT\"] = 4] = \"PUNCT\";\n Table[Table[\"BINARY\"] = 5] = \"BINARY\";\n})(Table || (Table = {}));\n/**\n *

    The main class which implements Aztec Code decoding -- as opposed to locating and extracting\n * the Aztec Code from an image.

    \n *\n * @author David Olivier\n */\nvar Decoder = /** @class */ (function () {\n function Decoder() {\n }\n Decoder.prototype.decode = function (detectorResult) {\n this.ddata = detectorResult;\n var matrix = detectorResult.getBits();\n var rawbits = this.extractBits(matrix);\n var correctedBits = this.correctBits(rawbits);\n var rawBytes = Decoder.convertBoolArrayToByteArray(correctedBits);\n var result = Decoder.getEncodedData(correctedBits);\n var decoderResult = new DecoderResult(rawBytes, result, null, null);\n decoderResult.setNumBits(correctedBits.length);\n return decoderResult;\n };\n // This method is used for testing the high-level encoder\n Decoder.highLevelDecode = function (correctedBits) {\n return this.getEncodedData(correctedBits);\n };\n /**\n * Gets the string encoded in the aztec code bits\n *\n * @return the decoded string\n */\n Decoder.getEncodedData = function (correctedBits) {\n var endIndex = correctedBits.length;\n var latchTable = Table.UPPER; // table most recently latched to\n var shiftTable = Table.UPPER; // table to use for the next read\n var result = '';\n var index = 0;\n while (index < endIndex) {\n if (shiftTable === Table.BINARY) {\n if (endIndex - index < 5) {\n break;\n }\n var length_1 = Decoder.readCode(correctedBits, index, 5);\n index += 5;\n if (length_1 === 0) {\n if (endIndex - index < 11) {\n break;\n }\n length_1 = Decoder.readCode(correctedBits, index, 11) + 31;\n index += 11;\n }\n for (var charCount = 0; charCount < length_1; charCount++) {\n if (endIndex - index < 8) {\n index = endIndex; // Force outer loop to exit\n break;\n }\n var code = Decoder.readCode(correctedBits, index, 8);\n result += /*(char)*/ StringUtils.castAsNonUtf8Char(code);\n index += 8;\n }\n // Go back to whatever mode we had been in\n shiftTable = latchTable;\n }\n else {\n var size = shiftTable === Table.DIGIT ? 4 : 5;\n if (endIndex - index < size) {\n break;\n }\n var code = Decoder.readCode(correctedBits, index, size);\n index += size;\n var str = Decoder.getCharacter(shiftTable, code);\n if (str.startsWith('CTRL_')) {\n // Table changes\n // ISO/IEC 24778:2008 prescribes ending a shift sequence in the mode from which it was invoked.\n // That's including when that mode is a shift.\n // Our test case dlusbs.png for issue #642 exercises that.\n latchTable = shiftTable; // Latch the current mode, so as to return to Upper after U/S B/S\n shiftTable = Decoder.getTable(str.charAt(5));\n if (str.charAt(6) === 'L') {\n latchTable = shiftTable;\n }\n }\n else {\n result += str;\n // Go back to whatever mode we had been in\n shiftTable = latchTable;\n }\n }\n }\n return result;\n };\n /**\n * gets the table corresponding to the char passed\n */\n Decoder.getTable = function (t) {\n switch (t) {\n case 'L':\n return Table.LOWER;\n case 'P':\n return Table.PUNCT;\n case 'M':\n return Table.MIXED;\n case 'D':\n return Table.DIGIT;\n case 'B':\n return Table.BINARY;\n case 'U':\n default:\n return Table.UPPER;\n }\n };\n /**\n * Gets the character (or string) corresponding to the passed code in the given table\n *\n * @param table the table used\n * @param code the code of the character\n */\n Decoder.getCharacter = function (table, code) {\n switch (table) {\n case Table.UPPER:\n return Decoder.UPPER_TABLE[code];\n case Table.LOWER:\n return Decoder.LOWER_TABLE[code];\n case Table.MIXED:\n return Decoder.MIXED_TABLE[code];\n case Table.PUNCT:\n return Decoder.PUNCT_TABLE[code];\n case Table.DIGIT:\n return Decoder.DIGIT_TABLE[code];\n default:\n // Should not reach here.\n throw new IllegalStateException('Bad table');\n }\n };\n /**\n *

    Performs RS error correction on an array of bits.

    \n *\n * @return the corrected array\n * @throws FormatException if the input contains too many errors\n */\n Decoder.prototype.correctBits = function (rawbits) {\n var gf;\n var codewordSize;\n if (this.ddata.getNbLayers() <= 2) {\n codewordSize = 6;\n gf = GenericGF.AZTEC_DATA_6;\n }\n else if (this.ddata.getNbLayers() <= 8) {\n codewordSize = 8;\n gf = GenericGF.AZTEC_DATA_8;\n }\n else if (this.ddata.getNbLayers() <= 22) {\n codewordSize = 10;\n gf = GenericGF.AZTEC_DATA_10;\n }\n else {\n codewordSize = 12;\n gf = GenericGF.AZTEC_DATA_12;\n }\n var numDataCodewords = this.ddata.getNbDatablocks();\n var numCodewords = rawbits.length / codewordSize;\n if (numCodewords < numDataCodewords) {\n throw new FormatException();\n }\n var offset = rawbits.length % codewordSize;\n var dataWords = new Int32Array(numCodewords);\n for (var i = 0; i < numCodewords; i++, offset += codewordSize) {\n dataWords[i] = Decoder.readCode(rawbits, offset, codewordSize);\n }\n try {\n var rsDecoder = new ReedSolomonDecoder(gf);\n rsDecoder.decode(dataWords, numCodewords - numDataCodewords);\n }\n catch (ex) {\n throw new FormatException(ex);\n }\n // Now perform the unstuffing operation.\n // First, count how many bits are going to be thrown out as stuffing\n var mask = (1 << codewordSize) - 1;\n var stuffedBits = 0;\n for (var i = 0; i < numDataCodewords; i++) {\n var dataWord = dataWords[i];\n if (dataWord === 0 || dataWord === mask) {\n throw new FormatException();\n }\n else if (dataWord === 1 || dataWord === mask - 1) {\n stuffedBits++;\n }\n }\n // Now, actually unpack the bits and remove the stuffing\n var correctedBits = new Array(numDataCodewords * codewordSize - stuffedBits);\n var index = 0;\n for (var i = 0; i < numDataCodewords; i++) {\n var dataWord = dataWords[i];\n if (dataWord === 1 || dataWord === mask - 1) {\n // next codewordSize-1 bits are all zeros or all ones\n correctedBits.fill(dataWord > 1, index, index + codewordSize - 1);\n // Arrays.fill(correctedBits, index, index + codewordSize - 1, dataWord > 1);\n index += codewordSize - 1;\n }\n else {\n for (var bit = codewordSize - 1; bit >= 0; --bit) {\n correctedBits[index++] = (dataWord & (1 << bit)) !== 0;\n }\n }\n }\n return correctedBits;\n };\n /**\n * Gets the array of bits from an Aztec Code matrix\n *\n * @return the array of bits\n */\n Decoder.prototype.extractBits = function (matrix) {\n var compact = this.ddata.isCompact();\n var layers = this.ddata.getNbLayers();\n var baseMatrixSize = (compact ? 11 : 14) + layers * 4; // not including alignment lines\n var alignmentMap = new Int32Array(baseMatrixSize);\n var rawbits = new Array(this.totalBitsInLayer(layers, compact));\n if (compact) {\n for (var i = 0; i < alignmentMap.length; i++) {\n alignmentMap[i] = i;\n }\n }\n else {\n var matrixSize = baseMatrixSize + 1 + 2 * Integer.truncDivision((Integer.truncDivision(baseMatrixSize, 2) - 1), 15);\n var origCenter = baseMatrixSize / 2;\n var center = Integer.truncDivision(matrixSize, 2);\n for (var i = 0; i < origCenter; i++) {\n var newOffset = i + Integer.truncDivision(i, 15);\n alignmentMap[origCenter - i - 1] = center - newOffset - 1;\n alignmentMap[origCenter + i] = center + newOffset + 1;\n }\n }\n for (var i = 0, rowOffset = 0; i < layers; i++) {\n var rowSize = (layers - i) * 4 + (compact ? 9 : 12);\n // The top-left most point of this layer is (not including alignment lines)\n var low = i * 2;\n // The bottom-right most point of this layer is (not including alignment lines)\n var high = baseMatrixSize - 1 - low;\n // We pull bits from the two 2 x rowSize columns and two rowSize x 2 rows\n for (var j = 0; j < rowSize; j++) {\n var columnOffset = j * 2;\n for (var k = 0; k < 2; k++) {\n // left column\n rawbits[rowOffset + columnOffset + k] =\n matrix.get(alignmentMap[low + k], alignmentMap[low + j]);\n // bottom row\n rawbits[rowOffset + 2 * rowSize + columnOffset + k] =\n matrix.get(alignmentMap[low + j], alignmentMap[high - k]);\n // right column\n rawbits[rowOffset + 4 * rowSize + columnOffset + k] =\n matrix.get(alignmentMap[high - k], alignmentMap[high - j]);\n // top row\n rawbits[rowOffset + 6 * rowSize + columnOffset + k] =\n matrix.get(alignmentMap[high - j], alignmentMap[low + k]);\n }\n }\n rowOffset += rowSize * 8;\n }\n return rawbits;\n };\n /**\n * Reads a code of given length and at given index in an array of bits\n */\n Decoder.readCode = function (rawbits, startIndex, length) {\n var res = 0;\n for (var i = startIndex; i < startIndex + length; i++) {\n res <<= 1;\n if (rawbits[i]) {\n res |= 0x01;\n }\n }\n return res;\n };\n /**\n * Reads a code of length 8 in an array of bits, padding with zeros\n */\n Decoder.readByte = function (rawbits, startIndex) {\n var n = rawbits.length - startIndex;\n if (n >= 8) {\n return Decoder.readCode(rawbits, startIndex, 8);\n }\n return Decoder.readCode(rawbits, startIndex, n) << (8 - n);\n };\n /**\n * Packs a bit array into bytes, most significant bit first\n */\n Decoder.convertBoolArrayToByteArray = function (boolArr) {\n var byteArr = new Uint8Array((boolArr.length + 7) / 8);\n for (var i = 0; i < byteArr.length; i++) {\n byteArr[i] = Decoder.readByte(boolArr, 8 * i);\n }\n return byteArr;\n };\n Decoder.prototype.totalBitsInLayer = function (layers, compact) {\n return ((compact ? 88 : 112) + 16 * layers) * layers;\n };\n Decoder.UPPER_TABLE = [\n 'CTRL_PS', ' ', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',\n 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'CTRL_LL', 'CTRL_ML', 'CTRL_DL', 'CTRL_BS'\n ];\n Decoder.LOWER_TABLE = [\n 'CTRL_PS', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',\n 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'CTRL_US', 'CTRL_ML', 'CTRL_DL', 'CTRL_BS'\n ];\n Decoder.MIXED_TABLE = [\n // Module parse failed: Octal literal in strict mode (50:29)\n // so number string were scaped\n 'CTRL_PS', ' ', '\\\\1', '\\\\2', '\\\\3', '\\\\4', '\\\\5', '\\\\6', '\\\\7', '\\b', '\\t', '\\n',\n '\\\\13', '\\f', '\\r', '\\\\33', '\\\\34', '\\\\35', '\\\\36', '\\\\37', '@', '\\\\', '^', '_',\n '`', '|', '~', '\\\\177', 'CTRL_LL', 'CTRL_UL', 'CTRL_PL', 'CTRL_BS'\n ];\n Decoder.PUNCT_TABLE = [\n '', '\\r', '\\r\\n', '. ', ', ', ': ', '!', '\"', '#', '$', '%', '&', '\\'', '(', ')',\n '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '[', ']', '{', '}', 'CTRL_UL'\n ];\n Decoder.DIGIT_TABLE = [\n 'CTRL_PS', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ',', '.', 'CTRL_UL', 'CTRL_US'\n ];\n return Decoder;\n}());\nexport default Decoder;\n","/*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport ResultPoint from '../../ResultPoint';\nimport AztecDetectorResult from '../AztecDetectorResult';\nimport MathUtils from '../../common/detector/MathUtils';\nimport WhiteRectangleDetector from '../../common/detector/WhiteRectangleDetector';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport ReedSolomonDecoder from '../../common/reedsolomon/ReedSolomonDecoder';\nimport NotFoundException from '../../NotFoundException';\nimport GridSamplerInstance from '../../common/GridSamplerInstance';\nimport Integer from '../../util/Integer';\nvar Point = /** @class */ (function () {\n function Point(x, y) {\n this.x = x;\n this.y = y;\n }\n Point.prototype.toResultPoint = function () {\n return new ResultPoint(this.getX(), this.getY());\n };\n Point.prototype.getX = function () {\n return this.x;\n };\n Point.prototype.getY = function () {\n return this.y;\n };\n return Point;\n}());\nexport { Point };\n/**\n * Encapsulates logic that can detect an Aztec Code in an image, even if the Aztec Code\n * is rotated or skewed, or partially obscured.\n *\n * @author David Olivier\n * @author Frank Yellin\n */\nvar Detector = /** @class */ (function () {\n function Detector(image) {\n this.EXPECTED_CORNER_BITS = new Int32Array([\n 0xee0,\n 0x1dc,\n 0x83b,\n 0x707,\n ]);\n this.image = image;\n }\n Detector.prototype.detect = function () {\n return this.detectMirror(false);\n };\n /**\n * Detects an Aztec Code in an image.\n *\n * @param isMirror if true, image is a mirror-image of original\n * @return {@link AztecDetectorResult} encapsulating results of detecting an Aztec Code\n * @throws NotFoundException if no Aztec Code can be found\n */\n Detector.prototype.detectMirror = function (isMirror) {\n // 1. Get the center of the aztec matrix\n var pCenter = this.getMatrixCenter();\n // 2. Get the center points of the four diagonal points just outside the bull's eye\n // [topRight, bottomRight, bottomLeft, topLeft]\n var bullsEyeCorners = this.getBullsEyeCorners(pCenter);\n if (isMirror) {\n var temp = bullsEyeCorners[0];\n bullsEyeCorners[0] = bullsEyeCorners[2];\n bullsEyeCorners[2] = temp;\n }\n // 3. Get the size of the matrix and other parameters from the bull's eye\n this.extractParameters(bullsEyeCorners);\n // 4. Sample the grid\n var bits = this.sampleGrid(this.image, bullsEyeCorners[this.shift % 4], bullsEyeCorners[(this.shift + 1) % 4], bullsEyeCorners[(this.shift + 2) % 4], bullsEyeCorners[(this.shift + 3) % 4]);\n // 5. Get the corners of the matrix.\n var corners = this.getMatrixCornerPoints(bullsEyeCorners);\n return new AztecDetectorResult(bits, corners, this.compact, this.nbDataBlocks, this.nbLayers);\n };\n /**\n * Extracts the number of data layers and data blocks from the layer around the bull's eye.\n *\n * @param bullsEyeCorners the array of bull's eye corners\n * @throws NotFoundException in case of too many errors or invalid parameters\n */\n Detector.prototype.extractParameters = function (bullsEyeCorners) {\n if (!this.isValidPoint(bullsEyeCorners[0]) || !this.isValidPoint(bullsEyeCorners[1]) ||\n !this.isValidPoint(bullsEyeCorners[2]) || !this.isValidPoint(bullsEyeCorners[3])) {\n throw new NotFoundException();\n }\n var length = 2 * this.nbCenterLayers;\n // Get the bits around the bull's eye\n var sides = new Int32Array([\n this.sampleLine(bullsEyeCorners[0], bullsEyeCorners[1], length),\n this.sampleLine(bullsEyeCorners[1], bullsEyeCorners[2], length),\n this.sampleLine(bullsEyeCorners[2], bullsEyeCorners[3], length),\n this.sampleLine(bullsEyeCorners[3], bullsEyeCorners[0], length) // Top\n ]);\n // bullsEyeCorners[shift] is the corner of the bulls'eye that has three\n // orientation marks.\n // sides[shift] is the row/column that goes from the corner with three\n // orientation marks to the corner with two.\n this.shift = this.getRotation(sides, length);\n // Flatten the parameter bits into a single 28- or 40-bit long\n var parameterData = 0;\n for (var i = 0; i < 4; i++) {\n var side = sides[(this.shift + i) % 4];\n if (this.compact) {\n // Each side of the form ..XXXXXXX. where Xs are parameter data\n parameterData <<= 7;\n parameterData += (side >> 1) & 0x7F;\n }\n else {\n // Each side of the form ..XXXXX.XXXXX. where Xs are parameter data\n parameterData <<= 10;\n parameterData += ((side >> 2) & (0x1f << 5)) + ((side >> 1) & 0x1F);\n }\n }\n // Corrects parameter data using RS. Returns just the data portion\n // without the error correction.\n var correctedData = this.getCorrectedParameterData(parameterData, this.compact);\n if (this.compact) {\n // 8 bits: 2 bits layers and 6 bits data blocks\n this.nbLayers = (correctedData >> 6) + 1;\n this.nbDataBlocks = (correctedData & 0x3F) + 1;\n }\n else {\n // 16 bits: 5 bits layers and 11 bits data blocks\n this.nbLayers = (correctedData >> 11) + 1;\n this.nbDataBlocks = (correctedData & 0x7FF) + 1;\n }\n };\n Detector.prototype.getRotation = function (sides, length) {\n // In a normal pattern, we expect to See\n // ** .* D A\n // * *\n //\n // . *\n // .. .. C B\n //\n // Grab the 3 bits from each of the sides the form the locator pattern and concatenate\n // into a 12-bit integer. Start with the bit at A\n var cornerBits = 0;\n sides.forEach(function (side, idx, arr) {\n // XX......X where X's are orientation marks\n var t = ((side >> (length - 2)) << 1) + (side & 1);\n cornerBits = (cornerBits << 3) + t;\n });\n // for (var side in sides) {\n // // XX......X where X's are orientation marks\n // var t = ((side >> (length - 2)) << 1) + (side & 1);\n // cornerBits = (cornerBits << 3) + t;\n // }\n // Mov the bottom bit to the top, so that the three bits of the locator pattern at A are\n // together. cornerBits is now:\n // 3 orientation bits at A || 3 orientation bits at B || ... || 3 orientation bits at D\n cornerBits = ((cornerBits & 1) << 11) + (cornerBits >> 1);\n // The result shift indicates which element of BullsEyeCorners[] goes into the top-left\n // corner. Since the four rotation values have a Hamming distance of 8, we\n // can easily tolerate two errors.\n for (var shift = 0; shift < 4; shift++) {\n if (Integer.bitCount(cornerBits ^ this.EXPECTED_CORNER_BITS[shift]) <= 2) {\n return shift;\n }\n }\n throw new NotFoundException();\n };\n /**\n * Corrects the parameter bits using Reed-Solomon algorithm.\n *\n * @param parameterData parameter bits\n * @param compact true if this is a compact Aztec code\n * @throws NotFoundException if the array contains too many errors\n */\n Detector.prototype.getCorrectedParameterData = function (parameterData, compact) {\n var numCodewords;\n var numDataCodewords;\n if (compact) {\n numCodewords = 7;\n numDataCodewords = 2;\n }\n else {\n numCodewords = 10;\n numDataCodewords = 4;\n }\n var numECCodewords = numCodewords - numDataCodewords;\n var parameterWords = new Int32Array(numCodewords);\n for (var i = numCodewords - 1; i >= 0; --i) {\n parameterWords[i] = parameterData & 0xF;\n parameterData >>= 4;\n }\n try {\n var rsDecoder = new ReedSolomonDecoder(GenericGF.AZTEC_PARAM);\n rsDecoder.decode(parameterWords, numECCodewords);\n }\n catch (ignored) {\n throw new NotFoundException();\n }\n // Toss the error correction. Just return the data as an integer\n var result = 0;\n for (var i = 0; i < numDataCodewords; i++) {\n result = (result << 4) + parameterWords[i];\n }\n return result;\n };\n /**\n * Finds the corners of a bull-eye centered on the passed point.\n * This returns the centers of the diagonal points just outside the bull's eye\n * Returns [topRight, bottomRight, bottomLeft, topLeft]\n *\n * @param pCenter Center point\n * @return The corners of the bull-eye\n * @throws NotFoundException If no valid bull-eye can be found\n */\n Detector.prototype.getBullsEyeCorners = function (pCenter) {\n var pina = pCenter;\n var pinb = pCenter;\n var pinc = pCenter;\n var pind = pCenter;\n var color = true;\n for (this.nbCenterLayers = 1; this.nbCenterLayers < 9; this.nbCenterLayers++) {\n var pouta = this.getFirstDifferent(pina, color, 1, -1);\n var poutb = this.getFirstDifferent(pinb, color, 1, 1);\n var poutc = this.getFirstDifferent(pinc, color, -1, 1);\n var poutd = this.getFirstDifferent(pind, color, -1, -1);\n // d a\n //\n // c b\n if (this.nbCenterLayers > 2) {\n var q = (this.distancePoint(poutd, pouta) * this.nbCenterLayers) / (this.distancePoint(pind, pina) * (this.nbCenterLayers + 2));\n if (q < 0.75 || q > 1.25 || !this.isWhiteOrBlackRectangle(pouta, poutb, poutc, poutd)) {\n break;\n }\n }\n pina = pouta;\n pinb = poutb;\n pinc = poutc;\n pind = poutd;\n color = !color;\n }\n if (this.nbCenterLayers !== 5 && this.nbCenterLayers !== 7) {\n throw new NotFoundException();\n }\n this.compact = this.nbCenterLayers === 5;\n // Expand the square by .5 pixel in each direction so that we're on the border\n // between the white square and the black square\n var pinax = new ResultPoint(pina.getX() + 0.5, pina.getY() - 0.5);\n var pinbx = new ResultPoint(pinb.getX() + 0.5, pinb.getY() + 0.5);\n var pincx = new ResultPoint(pinc.getX() - 0.5, pinc.getY() + 0.5);\n var pindx = new ResultPoint(pind.getX() - 0.5, pind.getY() - 0.5);\n // Expand the square so that its corners are the centers of the points\n // just outside the bull's eye.\n return this.expandSquare([pinax, pinbx, pincx, pindx], 2 * this.nbCenterLayers - 3, 2 * this.nbCenterLayers);\n };\n /**\n * Finds a candidate center point of an Aztec code from an image\n *\n * @return the center point\n */\n Detector.prototype.getMatrixCenter = function () {\n var pointA;\n var pointB;\n var pointC;\n var pointD;\n // Get a white rectangle that can be the border of the matrix in center bull's eye or\n try {\n var cornerPoints = new WhiteRectangleDetector(this.image).detect();\n pointA = cornerPoints[0];\n pointB = cornerPoints[1];\n pointC = cornerPoints[2];\n pointD = cornerPoints[3];\n }\n catch (e) {\n // This exception can be in case the initial rectangle is white\n // In that case, surely in the bull's eye, we try to expand the rectangle.\n var cx_1 = this.image.getWidth() / 2;\n var cy_1 = this.image.getHeight() / 2;\n pointA = this.getFirstDifferent(new Point(cx_1 + 7, cy_1 - 7), false, 1, -1).toResultPoint();\n pointB = this.getFirstDifferent(new Point(cx_1 + 7, cy_1 + 7), false, 1, 1).toResultPoint();\n pointC = this.getFirstDifferent(new Point(cx_1 - 7, cy_1 + 7), false, -1, 1).toResultPoint();\n pointD = this.getFirstDifferent(new Point(cx_1 - 7, cy_1 - 7), false, -1, -1).toResultPoint();\n }\n // Compute the center of the rectangle\n var cx = MathUtils.round((pointA.getX() + pointD.getX() + pointB.getX() + pointC.getX()) / 4.0);\n var cy = MathUtils.round((pointA.getY() + pointD.getY() + pointB.getY() + pointC.getY()) / 4.0);\n // Redetermine the white rectangle starting from previously computed center.\n // This will ensure that we end up with a white rectangle in center bull's eye\n // in order to compute a more accurate center.\n try {\n var cornerPoints = new WhiteRectangleDetector(this.image, 15, cx, cy).detect();\n pointA = cornerPoints[0];\n pointB = cornerPoints[1];\n pointC = cornerPoints[2];\n pointD = cornerPoints[3];\n }\n catch (e) {\n // This exception can be in case the initial rectangle is white\n // In that case we try to expand the rectangle.\n pointA = this.getFirstDifferent(new Point(cx + 7, cy - 7), false, 1, -1).toResultPoint();\n pointB = this.getFirstDifferent(new Point(cx + 7, cy + 7), false, 1, 1).toResultPoint();\n pointC = this.getFirstDifferent(new Point(cx - 7, cy + 7), false, -1, 1).toResultPoint();\n pointD = this.getFirstDifferent(new Point(cx - 7, cy - 7), false, -1, -1).toResultPoint();\n }\n // Recompute the center of the rectangle\n cx = MathUtils.round((pointA.getX() + pointD.getX() + pointB.getX() + pointC.getX()) / 4.0);\n cy = MathUtils.round((pointA.getY() + pointD.getY() + pointB.getY() + pointC.getY()) / 4.0);\n return new Point(cx, cy);\n };\n /**\n * Gets the Aztec code corners from the bull's eye corners and the parameters.\n *\n * @param bullsEyeCorners the array of bull's eye corners\n * @return the array of aztec code corners\n */\n Detector.prototype.getMatrixCornerPoints = function (bullsEyeCorners) {\n return this.expandSquare(bullsEyeCorners, 2 * this.nbCenterLayers, this.getDimension());\n };\n /**\n * Creates a BitMatrix by sampling the provided image.\n * topLeft, topRight, bottomRight, and bottomLeft are the centers of the squares on the\n * diagonal just outside the bull's eye.\n */\n Detector.prototype.sampleGrid = function (image, topLeft, topRight, bottomRight, bottomLeft) {\n var sampler = GridSamplerInstance.getInstance();\n var dimension = this.getDimension();\n var low = dimension / 2 - this.nbCenterLayers;\n var high = dimension / 2 + this.nbCenterLayers;\n return sampler.sampleGrid(image, dimension, dimension, low, low, // topleft\n high, low, // topright\n high, high, // bottomright\n low, high, // bottomleft\n topLeft.getX(), topLeft.getY(), topRight.getX(), topRight.getY(), bottomRight.getX(), bottomRight.getY(), bottomLeft.getX(), bottomLeft.getY());\n };\n /**\n * Samples a line.\n *\n * @param p1 start point (inclusive)\n * @param p2 end point (exclusive)\n * @param size number of bits\n * @return the array of bits as an int (first bit is high-order bit of result)\n */\n Detector.prototype.sampleLine = function (p1, p2, size) {\n var result = 0;\n var d = this.distanceResultPoint(p1, p2);\n var moduleSize = d / size;\n var px = p1.getX();\n var py = p1.getY();\n var dx = moduleSize * (p2.getX() - p1.getX()) / d;\n var dy = moduleSize * (p2.getY() - p1.getY()) / d;\n for (var i = 0; i < size; i++) {\n if (this.image.get(MathUtils.round(px + i * dx), MathUtils.round(py + i * dy))) {\n result |= 1 << (size - i - 1);\n }\n }\n return result;\n };\n /**\n * @return true if the border of the rectangle passed in parameter is compound of white points only\n * or black points only\n */\n Detector.prototype.isWhiteOrBlackRectangle = function (p1, p2, p3, p4) {\n var corr = 3;\n p1 = new Point(p1.getX() - corr, p1.getY() + corr);\n p2 = new Point(p2.getX() - corr, p2.getY() - corr);\n p3 = new Point(p3.getX() + corr, p3.getY() - corr);\n p4 = new Point(p4.getX() + corr, p4.getY() + corr);\n var cInit = this.getColor(p4, p1);\n if (cInit === 0) {\n return false;\n }\n var c = this.getColor(p1, p2);\n if (c !== cInit) {\n return false;\n }\n c = this.getColor(p2, p3);\n if (c !== cInit) {\n return false;\n }\n c = this.getColor(p3, p4);\n return c === cInit;\n };\n /**\n * Gets the color of a segment\n *\n * @return 1 if segment more than 90% black, -1 if segment is more than 90% white, 0 else\n */\n Detector.prototype.getColor = function (p1, p2) {\n var d = this.distancePoint(p1, p2);\n var dx = (p2.getX() - p1.getX()) / d;\n var dy = (p2.getY() - p1.getY()) / d;\n var error = 0;\n var px = p1.getX();\n var py = p1.getY();\n var colorModel = this.image.get(p1.getX(), p1.getY());\n var iMax = Math.ceil(d);\n for (var i = 0; i < iMax; i++) {\n px += dx;\n py += dy;\n if (this.image.get(MathUtils.round(px), MathUtils.round(py)) !== colorModel) {\n error++;\n }\n }\n var errRatio = error / d;\n if (errRatio > 0.1 && errRatio < 0.9) {\n return 0;\n }\n return (errRatio <= 0.1) === colorModel ? 1 : -1;\n };\n /**\n * Gets the coordinate of the first point with a different color in the given direction\n */\n Detector.prototype.getFirstDifferent = function (init, color, dx, dy) {\n var x = init.getX() + dx;\n var y = init.getY() + dy;\n while (this.isValid(x, y) && this.image.get(x, y) === color) {\n x += dx;\n y += dy;\n }\n x -= dx;\n y -= dy;\n while (this.isValid(x, y) && this.image.get(x, y) === color) {\n x += dx;\n }\n x -= dx;\n while (this.isValid(x, y) && this.image.get(x, y) === color) {\n y += dy;\n }\n y -= dy;\n return new Point(x, y);\n };\n /**\n * Expand the square represented by the corner points by pushing out equally in all directions\n *\n * @param cornerPoints the corners of the square, which has the bull's eye at its center\n * @param oldSide the original length of the side of the square in the target bit matrix\n * @param newSide the new length of the size of the square in the target bit matrix\n * @return the corners of the expanded square\n */\n Detector.prototype.expandSquare = function (cornerPoints, oldSide, newSide) {\n var ratio = newSide / (2.0 * oldSide);\n var dx = cornerPoints[0].getX() - cornerPoints[2].getX();\n var dy = cornerPoints[0].getY() - cornerPoints[2].getY();\n var centerx = (cornerPoints[0].getX() + cornerPoints[2].getX()) / 2.0;\n var centery = (cornerPoints[0].getY() + cornerPoints[2].getY()) / 2.0;\n var result0 = new ResultPoint(centerx + ratio * dx, centery + ratio * dy);\n var result2 = new ResultPoint(centerx - ratio * dx, centery - ratio * dy);\n dx = cornerPoints[1].getX() - cornerPoints[3].getX();\n dy = cornerPoints[1].getY() - cornerPoints[3].getY();\n centerx = (cornerPoints[1].getX() + cornerPoints[3].getX()) / 2.0;\n centery = (cornerPoints[1].getY() + cornerPoints[3].getY()) / 2.0;\n var result1 = new ResultPoint(centerx + ratio * dx, centery + ratio * dy);\n var result3 = new ResultPoint(centerx - ratio * dx, centery - ratio * dy);\n var results = [result0, result1, result2, result3];\n return results;\n };\n Detector.prototype.isValid = function (x, y) {\n return x >= 0 && x < this.image.getWidth() && y > 0 && y < this.image.getHeight();\n };\n Detector.prototype.isValidPoint = function (point) {\n var x = MathUtils.round(point.getX());\n var y = MathUtils.round(point.getY());\n return this.isValid(x, y);\n };\n Detector.prototype.distancePoint = function (a, b) {\n return MathUtils.distance(a.getX(), a.getY(), b.getX(), b.getY());\n };\n Detector.prototype.distanceResultPoint = function (a, b) {\n return MathUtils.distance(a.getX(), a.getY(), b.getX(), b.getY());\n };\n Detector.prototype.getDimension = function () {\n if (this.compact) {\n return 4 * this.nbLayers + 11;\n }\n if (this.nbLayers <= 4) {\n return 4 * this.nbLayers + 15;\n }\n return 4 * this.nbLayers + 2 * (Integer.truncDivision((this.nbLayers - 4), 8) + 1) + 15;\n };\n return Detector;\n}());\nexport default Detector;\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n/**\n * Aztec 2D code representation\n *\n * @author Rustam Abdullaev\n */\nvar AztecCode = /** @class */ (function () {\n function AztecCode() {\n }\n /**\n * @return {@code true} if compact instead of full mode\n */\n AztecCode.prototype.isCompact = function () {\n return this.compact;\n };\n AztecCode.prototype.setCompact = function (compact) {\n this.compact = compact;\n };\n /**\n * @return size in pixels (width and height)\n */\n AztecCode.prototype.getSize = function () {\n return this.size;\n };\n AztecCode.prototype.setSize = function (size) {\n this.size = size;\n };\n /**\n * @return number of levels\n */\n AztecCode.prototype.getLayers = function () {\n return this.layers;\n };\n AztecCode.prototype.setLayers = function (layers) {\n this.layers = layers;\n };\n /**\n * @return number of data codewords\n */\n AztecCode.prototype.getCodeWords = function () {\n return this.codeWords;\n };\n AztecCode.prototype.setCodeWords = function (codeWords) {\n this.codeWords = codeWords;\n };\n /**\n * @return the symbol image\n */\n AztecCode.prototype.getMatrix = function () {\n return this.matrix;\n };\n AztecCode.prototype.setMatrix = function (matrix) {\n this.matrix = matrix;\n };\n return AztecCode;\n}());\nexport default AztecCode;\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport SimpleToken from './SimpleToken';\nvar BinaryShiftToken = /** @class */ (function (_super) {\n __extends(BinaryShiftToken, _super);\n function BinaryShiftToken(previous, binaryShiftStart, binaryShiftByteCount) {\n var _this = _super.call(this, previous, 0, 0) || this;\n _this.binaryShiftStart = binaryShiftStart;\n _this.binaryShiftByteCount = binaryShiftByteCount;\n return _this;\n }\n /**\n * @Override\n */\n BinaryShiftToken.prototype.appendTo = function (bitArray, text) {\n for (var i = 0; i < this.binaryShiftByteCount; i++) {\n if (i === 0 || (i === 31 && this.binaryShiftByteCount <= 62)) {\n // We need a header before the first character, and before\n // character 31 when the total byte code is <= 62\n bitArray.appendBits(31, 5); // BINARY_SHIFT\n if (this.binaryShiftByteCount > 62) {\n bitArray.appendBits(this.binaryShiftByteCount - 31, 16);\n }\n else if (i === 0) {\n // 1 <= binaryShiftByteCode <= 62\n bitArray.appendBits(Math.min(this.binaryShiftByteCount, 31), 5);\n }\n else {\n // 32 <= binaryShiftCount <= 62 and i == 31\n bitArray.appendBits(this.binaryShiftByteCount - 31, 5);\n }\n }\n bitArray.appendBits(text[this.binaryShiftStart + i], 8);\n }\n };\n BinaryShiftToken.prototype.addBinaryShift = function (start, byteCount) {\n // int bitCount = (byteCount * 8) + (byteCount <= 31 ? 10 : byteCount <= 62 ? 20 : 21);\n return new BinaryShiftToken(this, start, byteCount);\n };\n /**\n * @Override\n */\n BinaryShiftToken.prototype.toString = function () {\n return '<' + this.binaryShiftStart + '::' + (this.binaryShiftStart + this.binaryShiftByteCount - 1) + '>';\n };\n return BinaryShiftToken;\n}(SimpleToken));\nexport default BinaryShiftToken;\n","import * as C from './EncoderConstants';\nimport Arrays from '../../util/Arrays';\nimport StringUtils from '../../common/StringUtils';\nexport function static_CHAR_MAP(CHAR_MAP) {\n var spaceCharCode = StringUtils.getCharCode(' ');\n var pointCharCode = StringUtils.getCharCode('.');\n var commaCharCode = StringUtils.getCharCode(',');\n CHAR_MAP[C.MODE_UPPER][spaceCharCode] = 1;\n var zUpperCharCode = StringUtils.getCharCode('Z');\n var aUpperCharCode = StringUtils.getCharCode('A');\n for (var c = aUpperCharCode; c <= zUpperCharCode; c++) {\n CHAR_MAP[C.MODE_UPPER][c] = c - aUpperCharCode + 2;\n }\n CHAR_MAP[C.MODE_LOWER][spaceCharCode] = 1;\n var zLowerCharCode = StringUtils.getCharCode('z');\n var aLowerCharCode = StringUtils.getCharCode('a');\n for (var c = aLowerCharCode; c <= zLowerCharCode; c++) {\n CHAR_MAP[C.MODE_LOWER][c] = c - aLowerCharCode + 2;\n }\n CHAR_MAP[C.MODE_DIGIT][spaceCharCode] = 1;\n var nineCharCode = StringUtils.getCharCode('9');\n var zeroCharCode = StringUtils.getCharCode('0');\n for (var c = zeroCharCode; c <= nineCharCode; c++) {\n CHAR_MAP[C.MODE_DIGIT][c] = c - zeroCharCode + 2;\n }\n CHAR_MAP[C.MODE_DIGIT][commaCharCode] = 12;\n CHAR_MAP[C.MODE_DIGIT][pointCharCode] = 13;\n var mixedTable = [\n '\\x00',\n ' ',\n '\\x01',\n '\\x02',\n '\\x03',\n '\\x04',\n '\\x05',\n '\\x06',\n '\\x07',\n '\\b',\n '\\t',\n '\\n',\n '\\x0b',\n '\\f',\n '\\r',\n '\\x1b',\n '\\x1c',\n '\\x1d',\n '\\x1e',\n '\\x1f',\n '@',\n '\\\\',\n '^',\n '_',\n '`',\n '|',\n '~',\n '\\x7f'\n ];\n for (var i = 0; i < mixedTable.length; i++) {\n CHAR_MAP[C.MODE_MIXED][StringUtils.getCharCode(mixedTable[i])] = i;\n }\n var punctTable = [\n '\\x00',\n '\\r',\n '\\x00',\n '\\x00',\n '\\x00',\n '\\x00',\n '!',\n '\\'',\n '#',\n '$',\n '%',\n '&',\n '\\'',\n '(',\n ')',\n '*',\n '+',\n ',',\n '-',\n '.',\n '/',\n ':',\n ';',\n '<',\n '=',\n '>',\n '?',\n '[',\n ']',\n '{',\n '}'\n ];\n for (var i = 0; i < punctTable.length; i++) {\n if (StringUtils.getCharCode(punctTable[i]) > 0) {\n CHAR_MAP[C.MODE_PUNCT][StringUtils.getCharCode(punctTable[i])] = i;\n }\n }\n return CHAR_MAP;\n}\nexport var CHAR_MAP = static_CHAR_MAP(Arrays.createInt32Array(5, 256));\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BitArray from '../../common/BitArray';\nimport IllegalArgumentException from '../../IllegalArgumentException';\nimport StringUtils from '../../common/StringUtils';\nimport BitMatrix from '../../common/BitMatrix';\nimport AztecCode from './AztecCode';\nimport ReedSolomonEncoder from '../../common/reedsolomon/ReedSolomonEncoder';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport HighLevelEncoder from './HighLevelEncoder';\nimport Integer from '../../util/Integer';\n/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// package com.google.zxing.aztec.encoder;\n// import com.google.zxing.common.BitArray;\n// import com.google.zxing.common.BitMatrix;\n// import com.google.zxing.common.reedsolomon.GenericGF;\n// import com.google.zxing.common.reedsolomon.ReedSolomonEncoder;\n/**\n * Generates Aztec 2D barcodes.\n *\n * @author Rustam Abdullaev\n */\nvar Encoder = /** @class */ (function () {\n function Encoder() {\n }\n /**\n * Encodes the given binary content as an Aztec symbol\n *\n * @param data input data string\n * @return Aztec symbol matrix with metadata\n */\n Encoder.encodeBytes = function (data) {\n return Encoder.encode(data, Encoder.DEFAULT_EC_PERCENT, Encoder.DEFAULT_AZTEC_LAYERS);\n };\n /**\n * Encodes the given binary content as an Aztec symbol\n *\n * @param data input data string\n * @param minECCPercent minimal percentage of error check words (According to ISO/IEC 24778:2008,\n * a minimum of 23% + 3 words is recommended)\n * @param userSpecifiedLayers if non-zero, a user-specified value for the number of layers\n * @return Aztec symbol matrix with metadata\n */\n Encoder.encode = function (data, minECCPercent, userSpecifiedLayers) {\n // High-level encode\n var bits = new HighLevelEncoder(data).encode();\n // stuff bits and choose symbol size\n var eccBits = Integer.truncDivision((bits.getSize() * minECCPercent), 100) + 11;\n var totalSizeBits = bits.getSize() + eccBits;\n var compact;\n var layers;\n var totalBitsInLayer;\n var wordSize;\n var stuffedBits;\n if (userSpecifiedLayers !== Encoder.DEFAULT_AZTEC_LAYERS) {\n compact = userSpecifiedLayers < 0;\n layers = Math.abs(userSpecifiedLayers);\n if (layers > (compact ? Encoder.MAX_NB_BITS_COMPACT : Encoder.MAX_NB_BITS)) {\n throw new IllegalArgumentException(StringUtils.format('Illegal value %s for layers', userSpecifiedLayers));\n }\n totalBitsInLayer = Encoder.totalBitsInLayer(layers, compact);\n wordSize = Encoder.WORD_SIZE[layers];\n var usableBitsInLayers = totalBitsInLayer - (totalBitsInLayer % wordSize);\n stuffedBits = Encoder.stuffBits(bits, wordSize);\n if (stuffedBits.getSize() + eccBits > usableBitsInLayers) {\n throw new IllegalArgumentException('Data to large for user specified layer');\n }\n if (compact && stuffedBits.getSize() > wordSize * 64) {\n // Compact format only allows 64 data words, though C4 can hold more words than that\n throw new IllegalArgumentException('Data to large for user specified layer');\n }\n }\n else {\n wordSize = 0;\n stuffedBits = null;\n // We look at the possible table sizes in the order Compact1, Compact2, Compact3,\n // Compact4, Normal4,... Normal(i) for i < 4 isn't typically used since Compact(i+1)\n // is the same size, but has more data.\n for (var i /*int*/ = 0;; i++) {\n if (i > Encoder.MAX_NB_BITS) {\n throw new IllegalArgumentException('Data too large for an Aztec code');\n }\n compact = i <= 3;\n layers = compact ? i + 1 : i;\n totalBitsInLayer = Encoder.totalBitsInLayer(layers, compact);\n if (totalSizeBits > totalBitsInLayer) {\n continue;\n }\n // [Re]stuff the bits if this is the first opportunity, or if the\n // wordSize has changed\n if (stuffedBits == null || wordSize !== Encoder.WORD_SIZE[layers]) {\n wordSize = Encoder.WORD_SIZE[layers];\n stuffedBits = Encoder.stuffBits(bits, wordSize);\n }\n var usableBitsInLayers = totalBitsInLayer - (totalBitsInLayer % wordSize);\n if (compact && stuffedBits.getSize() > wordSize * 64) {\n // Compact format only allows 64 data words, though C4 can hold more words than that\n continue;\n }\n if (stuffedBits.getSize() + eccBits <= usableBitsInLayers) {\n break;\n }\n }\n }\n var messageBits = Encoder.generateCheckWords(stuffedBits, totalBitsInLayer, wordSize);\n // generate mode message\n var messageSizeInWords = stuffedBits.getSize() / wordSize;\n var modeMessage = Encoder.generateModeMessage(compact, layers, messageSizeInWords);\n // allocate symbol\n var baseMatrixSize = (compact ? 11 : 14) + layers * 4; // not including alignment lines\n var alignmentMap = new Int32Array(baseMatrixSize);\n var matrixSize;\n if (compact) {\n // no alignment marks in compact mode, alignmentMap is a no-op\n matrixSize = baseMatrixSize;\n for (var i /*int*/ = 0; i < alignmentMap.length; i++) {\n alignmentMap[i] = i;\n }\n }\n else {\n matrixSize = baseMatrixSize + 1 + 2 * Integer.truncDivision((Integer.truncDivision(baseMatrixSize, 2) - 1), 15);\n var origCenter = Integer.truncDivision(baseMatrixSize, 2);\n var center = Integer.truncDivision(matrixSize, 2);\n for (var i /*int*/ = 0; i < origCenter; i++) {\n var newOffset = i + Integer.truncDivision(i, 15);\n alignmentMap[origCenter - i - 1] = center - newOffset - 1;\n alignmentMap[origCenter + i] = center + newOffset + 1;\n }\n }\n var matrix = new BitMatrix(matrixSize);\n // draw data bits\n for (var i /*int*/ = 0, rowOffset = 0; i < layers; i++) {\n var rowSize = (layers - i) * 4 + (compact ? 9 : 12);\n for (var j /*int*/ = 0; j < rowSize; j++) {\n var columnOffset = j * 2;\n for (var k /*int*/ = 0; k < 2; k++) {\n if (messageBits.get(rowOffset + columnOffset + k)) {\n matrix.set(alignmentMap[i * 2 + k], alignmentMap[i * 2 + j]);\n }\n if (messageBits.get(rowOffset + rowSize * 2 + columnOffset + k)) {\n matrix.set(alignmentMap[i * 2 + j], alignmentMap[baseMatrixSize - 1 - i * 2 - k]);\n }\n if (messageBits.get(rowOffset + rowSize * 4 + columnOffset + k)) {\n matrix.set(alignmentMap[baseMatrixSize - 1 - i * 2 - k], alignmentMap[baseMatrixSize - 1 - i * 2 - j]);\n }\n if (messageBits.get(rowOffset + rowSize * 6 + columnOffset + k)) {\n matrix.set(alignmentMap[baseMatrixSize - 1 - i * 2 - j], alignmentMap[i * 2 + k]);\n }\n }\n }\n rowOffset += rowSize * 8;\n }\n // draw mode message\n Encoder.drawModeMessage(matrix, compact, matrixSize, modeMessage);\n // draw alignment marks\n if (compact) {\n Encoder.drawBullsEye(matrix, Integer.truncDivision(matrixSize, 2), 5);\n }\n else {\n Encoder.drawBullsEye(matrix, Integer.truncDivision(matrixSize, 2), 7);\n for (var i /*int*/ = 0, j = 0; i < Integer.truncDivision(baseMatrixSize, 2) - 1; i += 15, j += 16) {\n for (var k /*int*/ = Integer.truncDivision(matrixSize, 2) & 1; k < matrixSize; k += 2) {\n matrix.set(Integer.truncDivision(matrixSize, 2) - j, k);\n matrix.set(Integer.truncDivision(matrixSize, 2) + j, k);\n matrix.set(k, Integer.truncDivision(matrixSize, 2) - j);\n matrix.set(k, Integer.truncDivision(matrixSize, 2) + j);\n }\n }\n }\n var aztec = new AztecCode();\n aztec.setCompact(compact);\n aztec.setSize(matrixSize);\n aztec.setLayers(layers);\n aztec.setCodeWords(messageSizeInWords);\n aztec.setMatrix(matrix);\n return aztec;\n };\n Encoder.drawBullsEye = function (matrix, center, size) {\n for (var i /*int*/ = 0; i < size; i += 2) {\n for (var j /*int*/ = center - i; j <= center + i; j++) {\n matrix.set(j, center - i);\n matrix.set(j, center + i);\n matrix.set(center - i, j);\n matrix.set(center + i, j);\n }\n }\n matrix.set(center - size, center - size);\n matrix.set(center - size + 1, center - size);\n matrix.set(center - size, center - size + 1);\n matrix.set(center + size, center - size);\n matrix.set(center + size, center - size + 1);\n matrix.set(center + size, center + size - 1);\n };\n Encoder.generateModeMessage = function (compact, layers, messageSizeInWords) {\n var modeMessage = new BitArray();\n if (compact) {\n modeMessage.appendBits(layers - 1, 2);\n modeMessage.appendBits(messageSizeInWords - 1, 6);\n modeMessage = Encoder.generateCheckWords(modeMessage, 28, 4);\n }\n else {\n modeMessage.appendBits(layers - 1, 5);\n modeMessage.appendBits(messageSizeInWords - 1, 11);\n modeMessage = Encoder.generateCheckWords(modeMessage, 40, 4);\n }\n return modeMessage;\n };\n Encoder.drawModeMessage = function (matrix, compact, matrixSize, modeMessage) {\n var center = Integer.truncDivision(matrixSize, 2);\n if (compact) {\n for (var i /*int*/ = 0; i < 7; i++) {\n var offset = center - 3 + i;\n if (modeMessage.get(i)) {\n matrix.set(offset, center - 5);\n }\n if (modeMessage.get(i + 7)) {\n matrix.set(center + 5, offset);\n }\n if (modeMessage.get(20 - i)) {\n matrix.set(offset, center + 5);\n }\n if (modeMessage.get(27 - i)) {\n matrix.set(center - 5, offset);\n }\n }\n }\n else {\n for (var i /*int*/ = 0; i < 10; i++) {\n var offset = center - 5 + i + Integer.truncDivision(i, 5);\n if (modeMessage.get(i)) {\n matrix.set(offset, center - 7);\n }\n if (modeMessage.get(i + 10)) {\n matrix.set(center + 7, offset);\n }\n if (modeMessage.get(29 - i)) {\n matrix.set(offset, center + 7);\n }\n if (modeMessage.get(39 - i)) {\n matrix.set(center - 7, offset);\n }\n }\n }\n };\n Encoder.generateCheckWords = function (bitArray, totalBits, wordSize) {\n var e_1, _a;\n // bitArray is guaranteed to be a multiple of the wordSize, so no padding needed\n var messageSizeInWords = bitArray.getSize() / wordSize;\n var rs = new ReedSolomonEncoder(Encoder.getGF(wordSize));\n var totalWords = Integer.truncDivision(totalBits, wordSize);\n var messageWords = Encoder.bitsToWords(bitArray, wordSize, totalWords);\n rs.encode(messageWords, totalWords - messageSizeInWords);\n var startPad = totalBits % wordSize;\n var messageBits = new BitArray();\n messageBits.appendBits(0, startPad);\n try {\n for (var _b = __values(Array.from(messageWords)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var messageWord = _c.value /*: int*/;\n messageBits.appendBits(messageWord, wordSize);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return messageBits;\n };\n Encoder.bitsToWords = function (stuffedBits, wordSize, totalWords) {\n var message = new Int32Array(totalWords);\n var i;\n var n;\n for (i = 0, n = stuffedBits.getSize() / wordSize; i < n; i++) {\n var value = 0;\n for (var j /*int*/ = 0; j < wordSize; j++) {\n value |= stuffedBits.get(i * wordSize + j) ? (1 << wordSize - j - 1) : 0;\n }\n message[i] = value;\n }\n return message;\n };\n Encoder.getGF = function (wordSize) {\n switch (wordSize) {\n case 4:\n return GenericGF.AZTEC_PARAM;\n case 6:\n return GenericGF.AZTEC_DATA_6;\n case 8:\n return GenericGF.AZTEC_DATA_8;\n case 10:\n return GenericGF.AZTEC_DATA_10;\n case 12:\n return GenericGF.AZTEC_DATA_12;\n default:\n throw new IllegalArgumentException('Unsupported word size ' + wordSize);\n }\n };\n Encoder.stuffBits = function (bits, wordSize) {\n var out = new BitArray();\n var n = bits.getSize();\n var mask = (1 << wordSize) - 2;\n for (var i /*int*/ = 0; i < n; i += wordSize) {\n var word = 0;\n for (var j /*int*/ = 0; j < wordSize; j++) {\n if (i + j >= n || bits.get(i + j)) {\n word |= 1 << (wordSize - 1 - j);\n }\n }\n if ((word & mask) === mask) {\n out.appendBits(word & mask, wordSize);\n i--;\n }\n else if ((word & mask) === 0) {\n out.appendBits(word | 1, wordSize);\n i--;\n }\n else {\n out.appendBits(word, wordSize);\n }\n }\n return out;\n };\n Encoder.totalBitsInLayer = function (layers, compact) {\n return ((compact ? 88 : 112) + 16 * layers) * layers;\n };\n Encoder.DEFAULT_EC_PERCENT = 33; // default minimal percentage of error check words\n Encoder.DEFAULT_AZTEC_LAYERS = 0;\n Encoder.MAX_NB_BITS = 32;\n Encoder.MAX_NB_BITS_COMPACT = 4;\n Encoder.WORD_SIZE = Int32Array.from([\n 4, 6, 6, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 12, 12\n ]);\n return Encoder;\n}());\nexport default Encoder;\n","import SimpleToken from './SimpleToken';\nexport var /*final*/ MODE_NAMES = [\n 'UPPER',\n 'LOWER',\n 'DIGIT',\n 'MIXED',\n 'PUNCT'\n];\nexport var /*final*/ MODE_UPPER = 0; // 5 bits\nexport var /*final*/ MODE_LOWER = 1; // 5 bits\nexport var /*final*/ MODE_DIGIT = 2; // 4 bits\nexport var /*final*/ MODE_MIXED = 3; // 5 bits\nexport var /*final*/ MODE_PUNCT = 4; // 5 bits\nexport var EMPTY_TOKEN = new SimpleToken(null, 0, 0);\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// import java.util.Collection;\n// import java.util.Collections;\nimport Collections from '../../util/Collections';\n// import java.util.Comparator;\n// import java.util.Iterator;\n// import java.util.LinkedList;\nimport State from './State';\nimport * as C from './EncoderConstants';\nimport * as CharMap from './CharMap';\nimport * as ShiftTable from './ShiftTable';\nimport StringUtils from '../../common/StringUtils';\n/**\n * This produces nearly optimal encodings of text into the first-level of\n * encoding used by Aztec code.\n *\n * It uses a dynamic algorithm. For each prefix of the string, it determines\n * a set of encodings that could lead to this prefix. We repeatedly add a\n * character and generate a new set of optimal encodings until we have read\n * through the entire input.\n *\n * @author Frank Yellin\n * @author Rustam Abdullaev\n */\nvar HighLevelEncoder = /** @class */ (function () {\n function HighLevelEncoder(text) {\n this.text = text;\n }\n /**\n * @return text represented by this encoder encoded as a {@link BitArray}\n */\n HighLevelEncoder.prototype.encode = function () {\n var spaceCharCode = StringUtils.getCharCode(' ');\n var lineBreakCharCode = StringUtils.getCharCode('\\n');\n var states = Collections.singletonList(State.INITIAL_STATE);\n for (var index = 0; index < this.text.length; index++) {\n var pairCode = void 0;\n var nextChar = index + 1 < this.text.length ? this.text[index + 1] : 0;\n switch (this.text[index]) {\n case StringUtils.getCharCode('\\r'):\n pairCode = nextChar === lineBreakCharCode ? 2 : 0;\n break;\n case StringUtils.getCharCode('.'):\n pairCode = nextChar === spaceCharCode ? 3 : 0;\n break;\n case StringUtils.getCharCode(','):\n pairCode = nextChar === spaceCharCode ? 4 : 0;\n break;\n case StringUtils.getCharCode(':'):\n pairCode = nextChar === spaceCharCode ? 5 : 0;\n break;\n default:\n pairCode = 0;\n }\n if (pairCode > 0) {\n // We have one of the four special PUNCT pairs. Treat them specially.\n // Get a new set of states for the two new characters.\n states = HighLevelEncoder.updateStateListForPair(states, index, pairCode);\n index++;\n }\n else {\n // Get a new set of states for the new character.\n states = this.updateStateListForChar(states, index);\n }\n }\n // We are left with a set of states. Find the shortest one.\n var minState = Collections.min(states, function (a, b) {\n return a.getBitCount() - b.getBitCount();\n });\n // Convert it to a bit array, and return.\n return minState.toBitArray(this.text);\n };\n // We update a set of states for a new character by updating each state\n // for the new character, merging the results, and then removing the\n // non-optimal states.\n HighLevelEncoder.prototype.updateStateListForChar = function (states, index) {\n var e_1, _a;\n var result = [];\n try {\n for (var states_1 = __values(states), states_1_1 = states_1.next(); !states_1_1.done; states_1_1 = states_1.next()) {\n var state = states_1_1.value /*State*/;\n this.updateStateForChar(state, index, result);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (states_1_1 && !states_1_1.done && (_a = states_1.return)) _a.call(states_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return HighLevelEncoder.simplifyStates(result);\n };\n // Return a set of states that represent the possible ways of updating this\n // state for the next character. The resulting set of states are added to\n // the \"result\" list.\n HighLevelEncoder.prototype.updateStateForChar = function (state, index, result) {\n var ch = (this.text[index] & 0xff);\n var charInCurrentTable = CharMap.CHAR_MAP[state.getMode()][ch] > 0;\n var stateNoBinary = null;\n for (var mode /*int*/ = 0; mode <= C.MODE_PUNCT; mode++) {\n var charInMode = CharMap.CHAR_MAP[mode][ch];\n if (charInMode > 0) {\n if (stateNoBinary == null) {\n // Only create stateNoBinary the first time it's required.\n stateNoBinary = state.endBinaryShift(index);\n }\n // Try generating the character by latching to its mode\n if (!charInCurrentTable ||\n mode === state.getMode() ||\n mode === C.MODE_DIGIT) {\n // If the character is in the current table, we don't want to latch to\n // any other mode except possibly digit (which uses only 4 bits). Any\n // other latch would be equally successful *after* this character, and\n // so wouldn't save any bits.\n var latchState = stateNoBinary.latchAndAppend(mode, charInMode);\n result.push(latchState);\n }\n // Try generating the character by switching to its mode.\n if (!charInCurrentTable &&\n ShiftTable.SHIFT_TABLE[state.getMode()][mode] >= 0) {\n // It never makes sense to temporarily shift to another mode if the\n // character exists in the current mode. That can never save bits.\n var shiftState = stateNoBinary.shiftAndAppend(mode, charInMode);\n result.push(shiftState);\n }\n }\n }\n if (state.getBinaryShiftByteCount() > 0 ||\n CharMap.CHAR_MAP[state.getMode()][ch] === 0) {\n // It's never worthwhile to go into binary shift mode if you're not already\n // in binary shift mode, and the character exists in your current mode.\n // That can never save bits over just outputting the char in the current mode.\n var binaryState = state.addBinaryShiftChar(index);\n result.push(binaryState);\n }\n };\n HighLevelEncoder.updateStateListForPair = function (states, index, pairCode) {\n var e_2, _a;\n var result = [];\n try {\n for (var states_2 = __values(states), states_2_1 = states_2.next(); !states_2_1.done; states_2_1 = states_2.next()) {\n var state = states_2_1.value /*State*/;\n this.updateStateForPair(state, index, pairCode, result);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (states_2_1 && !states_2_1.done && (_a = states_2.return)) _a.call(states_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return this.simplifyStates(result);\n };\n HighLevelEncoder.updateStateForPair = function (state, index, pairCode, result) {\n var stateNoBinary = state.endBinaryShift(index);\n // Possibility 1. Latch to C.MODE_PUNCT, and then append this code\n result.push(stateNoBinary.latchAndAppend(C.MODE_PUNCT, pairCode));\n if (state.getMode() !== C.MODE_PUNCT) {\n // Possibility 2. Shift to C.MODE_PUNCT, and then append this code.\n // Every state except C.MODE_PUNCT (handled above) can shift\n result.push(stateNoBinary.shiftAndAppend(C.MODE_PUNCT, pairCode));\n }\n if (pairCode === 3 || pairCode === 4) {\n // both characters are in DIGITS. Sometimes better to just add two digits\n var digitState = stateNoBinary\n .latchAndAppend(C.MODE_DIGIT, 16 - pairCode) // period or comma in DIGIT\n .latchAndAppend(C.MODE_DIGIT, 1); // space in DIGIT\n result.push(digitState);\n }\n if (state.getBinaryShiftByteCount() > 0) {\n // It only makes sense to do the characters as binary if we're already\n // in binary mode.\n var binaryState = state\n .addBinaryShiftChar(index)\n .addBinaryShiftChar(index + 1);\n result.push(binaryState);\n }\n };\n HighLevelEncoder.simplifyStates = function (states) {\n var e_3, _a, e_4, _b;\n var result = [];\n try {\n for (var states_3 = __values(states), states_3_1 = states_3.next(); !states_3_1.done; states_3_1 = states_3.next()) {\n var newState = states_3_1.value;\n var add = true;\n var _loop_1 = function (oldState) {\n if (oldState.isBetterThanOrEqualTo(newState)) {\n add = false;\n return \"break\";\n }\n if (newState.isBetterThanOrEqualTo(oldState)) {\n // iterator.remove();\n result = result.filter(function (x) { return x !== oldState; }); // remove old state\n }\n };\n try {\n for (var result_1 = (e_4 = void 0, __values(result)), result_1_1 = result_1.next(); !result_1_1.done; result_1_1 = result_1.next()) {\n var oldState = result_1_1.value;\n var state_1 = _loop_1(oldState);\n if (state_1 === \"break\")\n break;\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (result_1_1 && !result_1_1.done && (_b = result_1.return)) _b.call(result_1);\n }\n finally { if (e_4) throw e_4.error; }\n }\n if (add) {\n result.push(newState);\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (states_3_1 && !states_3_1.done && (_a = states_3.return)) _a.call(states_3);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return result;\n };\n return HighLevelEncoder;\n}());\nexport default HighLevelEncoder;\n","// The Latch Table shows, for each pair of Modes, the optimal method for\n// getting from one mode to another. In the worst possible case, this can\n// be up to 14 bits. In the best possible case, we are already there!\n// The high half-word of each entry gives the number of bits.\n// The low half-word of each entry are the actual bits necessary to change\nexport var LATCH_TABLE = [\n Int32Array.from([\n 0,\n (5 << 16) + 28,\n (5 << 16) + 30,\n (5 << 16) + 29,\n (10 << 16) + (29 << 5) + 30 // UPPER -> MIXED -> PUNCT\n ]),\n Int32Array.from([\n (9 << 16) + (30 << 4) + 14,\n 0,\n (5 << 16) + 30,\n (5 << 16) + 29,\n (10 << 16) + (29 << 5) + 30 // LOWER -> MIXED -> PUNCT\n ]),\n Int32Array.from([\n (4 << 16) + 14,\n (9 << 16) + (14 << 5) + 28,\n 0,\n (9 << 16) + (14 << 5) + 29,\n (14 << 16) + (14 << 10) + (29 << 5) + 30\n // DIGIT -> UPPER -> MIXED -> PUNCT\n ]),\n Int32Array.from([\n (5 << 16) + 29,\n (5 << 16) + 28,\n (10 << 16) + (29 << 5) + 30,\n 0,\n (5 << 16) + 30 // MIXED -> PUNCT\n ]),\n Int32Array.from([\n (5 << 16) + 31,\n (10 << 16) + (31 << 5) + 28,\n (10 << 16) + (31 << 5) + 30,\n (10 << 16) + (31 << 5) + 29,\n 0\n ])\n];\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport Arrays from '../../util/Arrays';\nimport * as C from './EncoderConstants';\nexport function static_SHIFT_TABLE(SHIFT_TABLE) {\n var e_1, _a;\n try {\n for (var SHIFT_TABLE_1 = __values(SHIFT_TABLE), SHIFT_TABLE_1_1 = SHIFT_TABLE_1.next(); !SHIFT_TABLE_1_1.done; SHIFT_TABLE_1_1 = SHIFT_TABLE_1.next()) {\n var table = SHIFT_TABLE_1_1.value /*Int32Array*/;\n Arrays.fill(table, -1);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (SHIFT_TABLE_1_1 && !SHIFT_TABLE_1_1.done && (_a = SHIFT_TABLE_1.return)) _a.call(SHIFT_TABLE_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n SHIFT_TABLE[C.MODE_UPPER][C.MODE_PUNCT] = 0;\n SHIFT_TABLE[C.MODE_LOWER][C.MODE_PUNCT] = 0;\n SHIFT_TABLE[C.MODE_LOWER][C.MODE_UPPER] = 28;\n SHIFT_TABLE[C.MODE_MIXED][C.MODE_PUNCT] = 0;\n SHIFT_TABLE[C.MODE_DIGIT][C.MODE_PUNCT] = 0;\n SHIFT_TABLE[C.MODE_DIGIT][C.MODE_UPPER] = 15;\n return SHIFT_TABLE;\n}\nexport var /*final*/ SHIFT_TABLE = static_SHIFT_TABLE(Arrays.createInt32Array(6, 6)); // mode shift codes, per table\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport Token from './Token';\nimport Integer from '../../util/Integer';\nvar SimpleToken = /** @class */ (function (_super) {\n __extends(SimpleToken, _super);\n function SimpleToken(previous, value, bitCount) {\n var _this = _super.call(this, previous) || this;\n _this.value = value;\n _this.bitCount = bitCount;\n return _this;\n }\n /**\n * @Override\n */\n SimpleToken.prototype.appendTo = function (bitArray, text) {\n bitArray.appendBits(this.value, this.bitCount);\n };\n SimpleToken.prototype.add = function (value, bitCount) {\n return new SimpleToken(this, value, bitCount);\n };\n SimpleToken.prototype.addBinaryShift = function (start, byteCount) {\n // no-op can't binary shift a simple token\n console.warn('addBinaryShift on SimpleToken, this simply returns a copy of this token');\n return new SimpleToken(this, start, byteCount);\n };\n /**\n * @Override\n */\n SimpleToken.prototype.toString = function () {\n var value = this.value & ((1 << this.bitCount) - 1);\n value |= 1 << this.bitCount;\n return '<' + Integer.toBinaryString(value | (1 << this.bitCount)).substring(1) + '>';\n };\n return SimpleToken;\n}(Token));\nexport default SimpleToken;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.aztec.encoder;\n// import java.util.Deque;\n// import java.util.LinkedList;\n// import com.google.zxing.common.BitArray;\nimport BitArray from '../../common/BitArray';\nimport * as TokenHelpers from './TokenHelpers';\nimport * as C from './EncoderConstants';\nimport * as LatchTable from './LatchTable';\nimport * as ShiftTable from './ShiftTable';\nimport StringUtils from '../../common/StringUtils';\n/**\n * State represents all information about a sequence necessary to generate the current output.\n * Note that a state is immutable.\n */\nvar State = /** @class */ (function () {\n function State(token, mode, binaryBytes, bitCount) {\n this.token = token;\n this.mode = mode;\n this.binaryShiftByteCount = binaryBytes;\n this.bitCount = bitCount;\n // Make sure we match the token\n // int binaryShiftBitCount = (binaryShiftByteCount * 8) +\n // (binaryShiftByteCount === 0 ? 0 :\n // binaryShiftByteCount <= 31 ? 10 :\n // binaryShiftByteCount <= 62 ? 20 : 21);\n // assert this.bitCount === token.getTotalBitCount() + binaryShiftBitCount;\n }\n State.prototype.getMode = function () {\n return this.mode;\n };\n State.prototype.getToken = function () {\n return this.token;\n };\n State.prototype.getBinaryShiftByteCount = function () {\n return this.binaryShiftByteCount;\n };\n State.prototype.getBitCount = function () {\n return this.bitCount;\n };\n // Create a new state representing this state with a latch to a (not\n // necessary different) mode, and then a code.\n State.prototype.latchAndAppend = function (mode, value) {\n // assert binaryShiftByteCount === 0;\n var bitCount = this.bitCount;\n var token = this.token;\n if (mode !== this.mode) {\n var latch = LatchTable.LATCH_TABLE[this.mode][mode];\n token = TokenHelpers.add(token, latch & 0xffff, latch >> 16);\n bitCount += latch >> 16;\n }\n var latchModeBitCount = mode === C.MODE_DIGIT ? 4 : 5;\n token = TokenHelpers.add(token, value, latchModeBitCount);\n return new State(token, mode, 0, bitCount + latchModeBitCount);\n };\n // Create a new state representing this state, with a temporary shift\n // to a different mode to output a single value.\n State.prototype.shiftAndAppend = function (mode, value) {\n // assert binaryShiftByteCount === 0 && this.mode !== mode;\n var token = this.token;\n var thisModeBitCount = this.mode === C.MODE_DIGIT ? 4 : 5;\n // Shifts exist only to UPPER and PUNCT, both with tokens size 5.\n token = TokenHelpers.add(token, ShiftTable.SHIFT_TABLE[this.mode][mode], thisModeBitCount);\n token = TokenHelpers.add(token, value, 5);\n return new State(token, this.mode, 0, this.bitCount + thisModeBitCount + 5);\n };\n // Create a new state representing this state, but an additional character\n // output in Binary Shift mode.\n State.prototype.addBinaryShiftChar = function (index) {\n var token = this.token;\n var mode = this.mode;\n var bitCount = this.bitCount;\n if (this.mode === C.MODE_PUNCT || this.mode === C.MODE_DIGIT) {\n // assert binaryShiftByteCount === 0;\n var latch = LatchTable.LATCH_TABLE[mode][C.MODE_UPPER];\n token = TokenHelpers.add(token, latch & 0xffff, latch >> 16);\n bitCount += latch >> 16;\n mode = C.MODE_UPPER;\n }\n var deltaBitCount = this.binaryShiftByteCount === 0 || this.binaryShiftByteCount === 31\n ? 18\n : this.binaryShiftByteCount === 62\n ? 9\n : 8;\n var result = new State(token, mode, this.binaryShiftByteCount + 1, bitCount + deltaBitCount);\n if (result.binaryShiftByteCount === 2047 + 31) {\n // The string is as long as it's allowed to be. We should end it.\n result = result.endBinaryShift(index + 1);\n }\n return result;\n };\n // Create the state identical to this one, but we are no longer in\n // Binary Shift mode.\n State.prototype.endBinaryShift = function (index) {\n if (this.binaryShiftByteCount === 0) {\n return this;\n }\n var token = this.token;\n token = TokenHelpers.addBinaryShift(token, index - this.binaryShiftByteCount, this.binaryShiftByteCount);\n // assert token.getTotalBitCount() === this.bitCount;\n return new State(token, this.mode, 0, this.bitCount);\n };\n // Returns true if \"this\" state is better (equal: or) to be in than \"that\"\n // state under all possible circumstances.\n State.prototype.isBetterThanOrEqualTo = function (other) {\n var newModeBitCount = this.bitCount + (LatchTable.LATCH_TABLE[this.mode][other.mode] >> 16);\n if (this.binaryShiftByteCount < other.binaryShiftByteCount) {\n // add additional B/S encoding cost of other, if any\n newModeBitCount +=\n State.calculateBinaryShiftCost(other) -\n State.calculateBinaryShiftCost(this);\n }\n else if (this.binaryShiftByteCount > other.binaryShiftByteCount &&\n other.binaryShiftByteCount > 0) {\n // maximum possible additional cost (it: h)\n newModeBitCount += 10;\n }\n return newModeBitCount <= other.bitCount;\n };\n State.prototype.toBitArray = function (text) {\n var e_1, _a;\n // Reverse the tokens, so that they are in the order that they should\n // be output\n var symbols = [];\n for (var token = this.endBinaryShift(text.length).token; token !== null; token = token.getPrevious()) {\n symbols.unshift(token);\n }\n var bitArray = new BitArray();\n try {\n // Add each token to the result.\n for (var symbols_1 = __values(symbols), symbols_1_1 = symbols_1.next(); !symbols_1_1.done; symbols_1_1 = symbols_1.next()) {\n var symbol = symbols_1_1.value;\n symbol.appendTo(bitArray, text);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (symbols_1_1 && !symbols_1_1.done && (_a = symbols_1.return)) _a.call(symbols_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n // assert bitArray.getSize() === this.bitCount;\n return bitArray;\n };\n /**\n * @Override\n */\n State.prototype.toString = function () {\n return StringUtils.format('%s bits=%d bytes=%d', C.MODE_NAMES[this.mode], this.bitCount, this.binaryShiftByteCount);\n };\n State.calculateBinaryShiftCost = function (state) {\n if (state.binaryShiftByteCount > 62) {\n return 21; // B/S with extended length\n }\n if (state.binaryShiftByteCount > 31) {\n return 20; // two B/S\n }\n if (state.binaryShiftByteCount > 0) {\n return 10; // one B/S\n }\n return 0;\n };\n State.INITIAL_STATE = new State(C.EMPTY_TOKEN, C.MODE_UPPER, 0, 0);\n return State;\n}());\nexport default State;\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\nvar Token = /** @class */ (function () {\n function Token(previous) {\n this.previous = previous;\n }\n Token.prototype.getPrevious = function () {\n return this.previous;\n };\n return Token;\n}());\nexport default Token;\n","import SimpleToken from './SimpleToken';\nimport BinaryShiftToken from './BinaryShiftToken';\nexport function addBinaryShift(token, start, byteCount) {\n // int bitCount = (byteCount * 8) + (byteCount <= 31 ? 10 : byteCount <= 62 ? 20 : 21);\n return new BinaryShiftToken(token, start, byteCount);\n}\nexport function add(token, value, bitCount) {\n return new SimpleToken(token, value, bitCount);\n}\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common {*/\n/*import java.util.Arrays;*/\nimport IllegalArgumentException from '../IllegalArgumentException';\nimport Arrays from '../util/Arrays';\nimport Integer from '../util/Integer';\nimport System from '../util/System';\n/**\n *

    A simple, fast array of bits, represented compactly by an array of ints internally.

    \n *\n * @author Sean Owen\n */\nvar BitArray /*implements Cloneable*/ = /** @class */ (function () {\n // public constructor() {\n // this.size = 0\n // this.bits = new Int32Array(1)\n // }\n // public constructor(size?: number /*int*/) {\n // if (undefined === size) {\n // this.size = 0\n // } else {\n // this.size = size\n // }\n // this.bits = this.makeArray(size)\n // }\n // For testing only\n function BitArray(size /*int*/, bits) {\n if (undefined === size) {\n this.size = 0;\n this.bits = new Int32Array(1);\n }\n else {\n this.size = size;\n if (undefined === bits || null === bits) {\n this.bits = BitArray.makeArray(size);\n }\n else {\n this.bits = bits;\n }\n }\n }\n BitArray.prototype.getSize = function () {\n return this.size;\n };\n BitArray.prototype.getSizeInBytes = function () {\n return Math.floor((this.size + 7) / 8);\n };\n BitArray.prototype.ensureCapacity = function (size /*int*/) {\n if (size > this.bits.length * 32) {\n var newBits = BitArray.makeArray(size);\n System.arraycopy(this.bits, 0, newBits, 0, this.bits.length);\n this.bits = newBits;\n }\n };\n /**\n * @param i bit to get\n * @return true iff bit i is set\n */\n BitArray.prototype.get = function (i /*int*/) {\n return (this.bits[Math.floor(i / 32)] & (1 << (i & 0x1F))) !== 0;\n };\n /**\n * Sets bit i.\n *\n * @param i bit to set\n */\n BitArray.prototype.set = function (i /*int*/) {\n this.bits[Math.floor(i / 32)] |= 1 << (i & 0x1F);\n };\n /**\n * Flips bit i.\n *\n * @param i bit to set\n */\n BitArray.prototype.flip = function (i /*int*/) {\n this.bits[Math.floor(i / 32)] ^= 1 << (i & 0x1F);\n };\n /**\n * @param from first bit to check\n * @return index of first bit that is set, starting from the given index, or size if none are set\n * at or beyond this given index\n * @see #getNextUnset(int)\n */\n BitArray.prototype.getNextSet = function (from /*int*/) {\n var size = this.size;\n if (from >= size) {\n return size;\n }\n var bits = this.bits;\n var bitsOffset = Math.floor(from / 32);\n var currentBits = bits[bitsOffset];\n // mask off lesser bits first\n currentBits &= ~((1 << (from & 0x1F)) - 1);\n var length = bits.length;\n while (currentBits === 0) {\n if (++bitsOffset === length) {\n return size;\n }\n currentBits = bits[bitsOffset];\n }\n var result = (bitsOffset * 32) + Integer.numberOfTrailingZeros(currentBits);\n return result > size ? size : result;\n };\n /**\n * @param from index to start looking for unset bit\n * @return index of next unset bit, or {@code size} if none are unset until the end\n * @see #getNextSet(int)\n */\n BitArray.prototype.getNextUnset = function (from /*int*/) {\n var size = this.size;\n if (from >= size) {\n return size;\n }\n var bits = this.bits;\n var bitsOffset = Math.floor(from / 32);\n var currentBits = ~bits[bitsOffset];\n // mask off lesser bits first\n currentBits &= ~((1 << (from & 0x1F)) - 1);\n var length = bits.length;\n while (currentBits === 0) {\n if (++bitsOffset === length) {\n return size;\n }\n currentBits = ~bits[bitsOffset];\n }\n var result = (bitsOffset * 32) + Integer.numberOfTrailingZeros(currentBits);\n return result > size ? size : result;\n };\n /**\n * Sets a block of 32 bits, starting at bit i.\n *\n * @param i first bit to set\n * @param newBits the new value of the next 32 bits. Note again that the least-significant bit\n * corresponds to bit i, the next-least-significant to i+1, and so on.\n */\n BitArray.prototype.setBulk = function (i /*int*/, newBits /*int*/) {\n this.bits[Math.floor(i / 32)] = newBits;\n };\n /**\n * Sets a range of bits.\n *\n * @param start start of range, inclusive.\n * @param end end of range, exclusive\n */\n BitArray.prototype.setRange = function (start /*int*/, end /*int*/) {\n if (end < start || start < 0 || end > this.size) {\n throw new IllegalArgumentException();\n }\n if (end === start) {\n return;\n }\n end--; // will be easier to treat this as the last actually set bit -- inclusive\n var firstInt = Math.floor(start / 32);\n var lastInt = Math.floor(end / 32);\n var bits = this.bits;\n for (var i = firstInt; i <= lastInt; i++) {\n var firstBit = i > firstInt ? 0 : start & 0x1F;\n var lastBit = i < lastInt ? 31 : end & 0x1F;\n // Ones from firstBit to lastBit, inclusive\n var mask = (2 << lastBit) - (1 << firstBit);\n bits[i] |= mask;\n }\n };\n /**\n * Clears all bits (sets to false).\n */\n BitArray.prototype.clear = function () {\n var max = this.bits.length;\n var bits = this.bits;\n for (var i = 0; i < max; i++) {\n bits[i] = 0;\n }\n };\n /**\n * Efficient method to check if a range of bits is set, or not set.\n *\n * @param start start of range, inclusive.\n * @param end end of range, exclusive\n * @param value if true, checks that bits in range are set, otherwise checks that they are not set\n * @return true iff all bits are set or not set in range, according to value argument\n * @throws IllegalArgumentException if end is less than start or the range is not contained in the array\n */\n BitArray.prototype.isRange = function (start /*int*/, end /*int*/, value) {\n if (end < start || start < 0 || end > this.size) {\n throw new IllegalArgumentException();\n }\n if (end === start) {\n return true; // empty range matches\n }\n end--; // will be easier to treat this as the last actually set bit -- inclusive\n var firstInt = Math.floor(start / 32);\n var lastInt = Math.floor(end / 32);\n var bits = this.bits;\n for (var i = firstInt; i <= lastInt; i++) {\n var firstBit = i > firstInt ? 0 : start & 0x1F;\n var lastBit = i < lastInt ? 31 : end & 0x1F;\n // Ones from firstBit to lastBit, inclusive\n var mask = (2 << lastBit) - (1 << firstBit) & 0xFFFFFFFF;\n // TYPESCRIPTPORT: & 0xFFFFFFFF added to discard anything after 32 bits, as ES has 53 bits\n // Return false if we're looking for 1s and the masked bits[i] isn't all 1s (is: that,\n // equals the mask, or we're looking for 0s and the masked portion is not all 0s\n if ((bits[i] & mask) !== (value ? mask : 0)) {\n return false;\n }\n }\n return true;\n };\n BitArray.prototype.appendBit = function (bit) {\n this.ensureCapacity(this.size + 1);\n if (bit) {\n this.bits[Math.floor(this.size / 32)] |= 1 << (this.size & 0x1F);\n }\n this.size++;\n };\n /**\n * Appends the least-significant bits, from value, in order from most-significant to\n * least-significant. For example, appending 6 bits from 0x000001E will append the bits\n * 0, 1, 1, 1, 1, 0 in that order.\n *\n * @param value {@code int} containing bits to append\n * @param numBits bits from value to append\n */\n BitArray.prototype.appendBits = function (value /*int*/, numBits /*int*/) {\n if (numBits < 0 || numBits > 32) {\n throw new IllegalArgumentException('Num bits must be between 0 and 32');\n }\n this.ensureCapacity(this.size + numBits);\n // const appendBit = this.appendBit;\n for (var numBitsLeft = numBits; numBitsLeft > 0; numBitsLeft--) {\n this.appendBit(((value >> (numBitsLeft - 1)) & 0x01) === 1);\n }\n };\n BitArray.prototype.appendBitArray = function (other) {\n var otherSize = other.size;\n this.ensureCapacity(this.size + otherSize);\n // const appendBit = this.appendBit;\n for (var i = 0; i < otherSize; i++) {\n this.appendBit(other.get(i));\n }\n };\n BitArray.prototype.xor = function (other) {\n if (this.size !== other.size) {\n throw new IllegalArgumentException('Sizes don\\'t match');\n }\n var bits = this.bits;\n for (var i = 0, length_1 = bits.length; i < length_1; i++) {\n // The last int could be incomplete (i.e. not have 32 bits in\n // it) but there is no problem since 0 XOR 0 == 0.\n bits[i] ^= other.bits[i];\n }\n };\n /**\n *\n * @param bitOffset first bit to start writing\n * @param array array to write into. Bytes are written most-significant byte first. This is the opposite\n * of the internal representation, which is exposed by {@link #getBitArray()}\n * @param offset position in array to start writing\n * @param numBytes how many bytes to write\n */\n BitArray.prototype.toBytes = function (bitOffset /*int*/, array, offset /*int*/, numBytes /*int*/) {\n for (var i = 0; i < numBytes; i++) {\n var theByte = 0;\n for (var j = 0; j < 8; j++) {\n if (this.get(bitOffset)) {\n theByte |= 1 << (7 - j);\n }\n bitOffset++;\n }\n array[offset + i] = /*(byte)*/ theByte;\n }\n };\n /**\n * @return underlying array of ints. The first element holds the first 32 bits, and the least\n * significant bit is bit 0.\n */\n BitArray.prototype.getBitArray = function () {\n return this.bits;\n };\n /**\n * Reverses all bits in the array.\n */\n BitArray.prototype.reverse = function () {\n var newBits = new Int32Array(this.bits.length);\n // reverse all int's first\n var len = Math.floor((this.size - 1) / 32);\n var oldBitsLen = len + 1;\n var bits = this.bits;\n for (var i = 0; i < oldBitsLen; i++) {\n var x = bits[i];\n x = ((x >> 1) & 0x55555555) | ((x & 0x55555555) << 1);\n x = ((x >> 2) & 0x33333333) | ((x & 0x33333333) << 2);\n x = ((x >> 4) & 0x0f0f0f0f) | ((x & 0x0f0f0f0f) << 4);\n x = ((x >> 8) & 0x00ff00ff) | ((x & 0x00ff00ff) << 8);\n x = ((x >> 16) & 0x0000ffff) | ((x & 0x0000ffff) << 16);\n newBits[len - i] = /*(int)*/ x;\n }\n // now correct the int's if the bit size isn't a multiple of 32\n if (this.size !== oldBitsLen * 32) {\n var leftOffset = oldBitsLen * 32 - this.size;\n var currentInt = newBits[0] >>> leftOffset;\n for (var i = 1; i < oldBitsLen; i++) {\n var nextInt = newBits[i];\n currentInt |= nextInt << (32 - leftOffset);\n newBits[i - 1] = currentInt;\n currentInt = nextInt >>> leftOffset;\n }\n newBits[oldBitsLen - 1] = currentInt;\n }\n this.bits = newBits;\n };\n BitArray.makeArray = function (size /*int*/) {\n return new Int32Array(Math.floor((size + 31) / 32));\n };\n /*@Override*/\n BitArray.prototype.equals = function (o) {\n if (!(o instanceof BitArray)) {\n return false;\n }\n var other = o;\n return this.size === other.size && Arrays.equals(this.bits, other.bits);\n };\n /*@Override*/\n BitArray.prototype.hashCode = function () {\n return 31 * this.size + Arrays.hashCode(this.bits);\n };\n /*@Override*/\n BitArray.prototype.toString = function () {\n var result = '';\n for (var i = 0, size = this.size; i < size; i++) {\n if ((i & 0x07) === 0) {\n result += ' ';\n }\n result += this.get(i) ? 'X' : '.';\n }\n return result;\n };\n /*@Override*/\n BitArray.prototype.clone = function () {\n return new BitArray(this.size, this.bits.slice());\n };\n return BitArray;\n}());\nexport default BitArray;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common {*/\n/*import java.util.Arrays;*/\nimport BitArray from './BitArray';\nimport System from '../util/System';\nimport Arrays from '../util/Arrays';\nimport StringBuilder from '../util/StringBuilder';\nimport IllegalArgumentException from '../IllegalArgumentException';\n/**\n *

    Represents a 2D matrix of bits. In function arguments below, and throughout the common\n * module, x is the column position, and y is the row position. The ordering is always x, y.\n * The origin is at the top-left.

    \n *\n *

    Internally the bits are represented in a 1-D array of 32-bit ints. However, each row begins\n * with a new int. This is done intentionally so that we can copy out a row into a BitArray very\n * efficiently.

    \n *\n *

    The ordering of bits is row-major. Within each int, the least significant bits are used first,\n * meaning they represent lower x values. This is compatible with BitArray's implementation.

    \n *\n * @author Sean Owen\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar BitMatrix /*implements Cloneable*/ = /** @class */ (function () {\n /**\n * Creates an empty square {@link BitMatrix}.\n *\n * @param dimension height and width\n */\n // public constructor(dimension: number /*int*/) {\n // this(dimension, dimension)\n // }\n /**\n * Creates an empty {@link BitMatrix}.\n *\n * @param width bit matrix width\n * @param height bit matrix height\n */\n // public constructor(width: number /*int*/, height: number /*int*/) {\n // if (width < 1 || height < 1) {\n // throw new IllegalArgumentException(\"Both dimensions must be greater than 0\")\n // }\n // this.width = width\n // this.height = height\n // this.rowSize = (width + 31) / 32\n // bits = new int[rowSize * height];\n // }\n function BitMatrix(width /*int*/, height /*int*/, rowSize /*int*/, bits) {\n this.width = width;\n this.height = height;\n this.rowSize = rowSize;\n this.bits = bits;\n if (undefined === height || null === height) {\n height = width;\n }\n this.height = height;\n if (width < 1 || height < 1) {\n throw new IllegalArgumentException('Both dimensions must be greater than 0');\n }\n if (undefined === rowSize || null === rowSize) {\n rowSize = Math.floor((width + 31) / 32);\n }\n this.rowSize = rowSize;\n if (undefined === bits || null === bits) {\n this.bits = new Int32Array(this.rowSize * this.height);\n }\n }\n /**\n * Interprets a 2D array of booleans as a {@link BitMatrix}, where \"true\" means an \"on\" bit.\n *\n * @function parse\n * @param image bits of the image, as a row-major 2D array. Elements are arrays representing rows\n * @return {@link BitMatrix} representation of image\n */\n BitMatrix.parseFromBooleanArray = function (image) {\n var height = image.length;\n var width = image[0].length;\n var bits = new BitMatrix(width, height);\n for (var i = 0; i < height; i++) {\n var imageI = image[i];\n for (var j = 0; j < width; j++) {\n if (imageI[j]) {\n bits.set(j, i);\n }\n }\n }\n return bits;\n };\n /**\n *\n * @function parse\n * @param stringRepresentation\n * @param setString\n * @param unsetString\n */\n BitMatrix.parseFromString = function (stringRepresentation, setString, unsetString) {\n if (stringRepresentation === null) {\n throw new IllegalArgumentException('stringRepresentation cannot be null');\n }\n var bits = new Array(stringRepresentation.length);\n var bitsPos = 0;\n var rowStartPos = 0;\n var rowLength = -1;\n var nRows = 0;\n var pos = 0;\n while (pos < stringRepresentation.length) {\n if (stringRepresentation.charAt(pos) === '\\n' ||\n stringRepresentation.charAt(pos) === '\\r') {\n if (bitsPos > rowStartPos) {\n if (rowLength === -1) {\n rowLength = bitsPos - rowStartPos;\n }\n else if (bitsPos - rowStartPos !== rowLength) {\n throw new IllegalArgumentException('row lengths do not match');\n }\n rowStartPos = bitsPos;\n nRows++;\n }\n pos++;\n }\n else if (stringRepresentation.substring(pos, pos + setString.length) === setString) {\n pos += setString.length;\n bits[bitsPos] = true;\n bitsPos++;\n }\n else if (stringRepresentation.substring(pos, pos + unsetString.length) === unsetString) {\n pos += unsetString.length;\n bits[bitsPos] = false;\n bitsPos++;\n }\n else {\n throw new IllegalArgumentException('illegal character encountered: ' + stringRepresentation.substring(pos));\n }\n }\n // no EOL at end?\n if (bitsPos > rowStartPos) {\n if (rowLength === -1) {\n rowLength = bitsPos - rowStartPos;\n }\n else if (bitsPos - rowStartPos !== rowLength) {\n throw new IllegalArgumentException('row lengths do not match');\n }\n nRows++;\n }\n var matrix = new BitMatrix(rowLength, nRows);\n for (var i = 0; i < bitsPos; i++) {\n if (bits[i]) {\n matrix.set(Math.floor(i % rowLength), Math.floor(i / rowLength));\n }\n }\n return matrix;\n };\n /**\n *

    Gets the requested bit, where true means black.

    \n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n * @return value of given bit in matrix\n */\n BitMatrix.prototype.get = function (x /*int*/, y /*int*/) {\n var offset = y * this.rowSize + Math.floor(x / 32);\n return ((this.bits[offset] >>> (x & 0x1f)) & 1) !== 0;\n };\n /**\n *

    Sets the given bit to true.

    \n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n */\n BitMatrix.prototype.set = function (x /*int*/, y /*int*/) {\n var offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] |= (1 << (x & 0x1f)) & 0xFFFFFFFF;\n };\n BitMatrix.prototype.unset = function (x /*int*/, y /*int*/) {\n var offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] &= ~((1 << (x & 0x1f)) & 0xFFFFFFFF);\n };\n /**\n *

    Flips the given bit.

    \n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n */\n BitMatrix.prototype.flip = function (x /*int*/, y /*int*/) {\n var offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] ^= ((1 << (x & 0x1f)) & 0xFFFFFFFF);\n };\n /**\n * Exclusive-or (XOR): Flip the bit in this {@code BitMatrix} if the corresponding\n * mask bit is set.\n *\n * @param mask XOR mask\n */\n BitMatrix.prototype.xor = function (mask) {\n if (this.width !== mask.getWidth() || this.height !== mask.getHeight()\n || this.rowSize !== mask.getRowSize()) {\n throw new IllegalArgumentException('input matrix dimensions do not match');\n }\n var rowArray = new BitArray(Math.floor(this.width / 32) + 1);\n var rowSize = this.rowSize;\n var bits = this.bits;\n for (var y = 0, height = this.height; y < height; y++) {\n var offset = y * rowSize;\n var row = mask.getRow(y, rowArray).getBitArray();\n for (var x = 0; x < rowSize; x++) {\n bits[offset + x] ^= row[x];\n }\n }\n };\n /**\n * Clears all bits (sets to false).\n */\n BitMatrix.prototype.clear = function () {\n var bits = this.bits;\n var max = bits.length;\n for (var i = 0; i < max; i++) {\n bits[i] = 0;\n }\n };\n /**\n *

    Sets a square region of the bit matrix to true.

    \n *\n * @param left The horizontal position to begin at (inclusive)\n * @param top The vertical position to begin at (inclusive)\n * @param width The width of the region\n * @param height The height of the region\n */\n BitMatrix.prototype.setRegion = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n if (top < 0 || left < 0) {\n throw new IllegalArgumentException('Left and top must be nonnegative');\n }\n if (height < 1 || width < 1) {\n throw new IllegalArgumentException('Height and width must be at least 1');\n }\n var right = left + width;\n var bottom = top + height;\n if (bottom > this.height || right > this.width) {\n throw new IllegalArgumentException('The region must fit inside the matrix');\n }\n var rowSize = this.rowSize;\n var bits = this.bits;\n for (var y = top; y < bottom; y++) {\n var offset = y * rowSize;\n for (var x = left; x < right; x++) {\n bits[offset + Math.floor(x / 32)] |= ((1 << (x & 0x1f)) & 0xFFFFFFFF);\n }\n }\n };\n /**\n * A fast method to retrieve one row of data from the matrix as a BitArray.\n *\n * @param y The row to retrieve\n * @param row An optional caller-allocated BitArray, will be allocated if null or too small\n * @return The resulting BitArray - this reference should always be used even when passing\n * your own row\n */\n BitMatrix.prototype.getRow = function (y /*int*/, row) {\n if (row === null || row === undefined || row.getSize() < this.width) {\n row = new BitArray(this.width);\n }\n else {\n row.clear();\n }\n var rowSize = this.rowSize;\n var bits = this.bits;\n var offset = y * rowSize;\n for (var x = 0; x < rowSize; x++) {\n row.setBulk(x * 32, bits[offset + x]);\n }\n return row;\n };\n /**\n * @param y row to set\n * @param row {@link BitArray} to copy from\n */\n BitMatrix.prototype.setRow = function (y /*int*/, row) {\n System.arraycopy(row.getBitArray(), 0, this.bits, y * this.rowSize, this.rowSize);\n };\n /**\n * Modifies this {@code BitMatrix} to represent the same but rotated 180 degrees\n */\n BitMatrix.prototype.rotate180 = function () {\n var width = this.getWidth();\n var height = this.getHeight();\n var topRow = new BitArray(width);\n var bottomRow = new BitArray(width);\n for (var i = 0, length_1 = Math.floor((height + 1) / 2); i < length_1; i++) {\n topRow = this.getRow(i, topRow);\n bottomRow = this.getRow(height - 1 - i, bottomRow);\n topRow.reverse();\n bottomRow.reverse();\n this.setRow(i, bottomRow);\n this.setRow(height - 1 - i, topRow);\n }\n };\n /**\n * This is useful in detecting the enclosing rectangle of a 'pure' barcode.\n *\n * @return {@code left,top,width,height} enclosing rectangle of all 1 bits, or null if it is all white\n */\n BitMatrix.prototype.getEnclosingRectangle = function () {\n var width = this.width;\n var height = this.height;\n var rowSize = this.rowSize;\n var bits = this.bits;\n var left = width;\n var top = height;\n var right = -1;\n var bottom = -1;\n for (var y = 0; y < height; y++) {\n for (var x32 = 0; x32 < rowSize; x32++) {\n var theBits = bits[y * rowSize + x32];\n if (theBits !== 0) {\n if (y < top) {\n top = y;\n }\n if (y > bottom) {\n bottom = y;\n }\n if (x32 * 32 < left) {\n var bit = 0;\n while (((theBits << (31 - bit)) & 0xFFFFFFFF) === 0) {\n bit++;\n }\n if ((x32 * 32 + bit) < left) {\n left = x32 * 32 + bit;\n }\n }\n if (x32 * 32 + 31 > right) {\n var bit = 31;\n while ((theBits >>> bit) === 0) {\n bit--;\n }\n if ((x32 * 32 + bit) > right) {\n right = x32 * 32 + bit;\n }\n }\n }\n }\n }\n if (right < left || bottom < top) {\n return null;\n }\n return Int32Array.from([left, top, right - left + 1, bottom - top + 1]);\n };\n /**\n * This is useful in detecting a corner of a 'pure' barcode.\n *\n * @return {@code x,y} coordinate of top-left-most 1 bit, or null if it is all white\n */\n BitMatrix.prototype.getTopLeftOnBit = function () {\n var rowSize = this.rowSize;\n var bits = this.bits;\n var bitsOffset = 0;\n while (bitsOffset < bits.length && bits[bitsOffset] === 0) {\n bitsOffset++;\n }\n if (bitsOffset === bits.length) {\n return null;\n }\n var y = bitsOffset / rowSize;\n var x = (bitsOffset % rowSize) * 32;\n var theBits = bits[bitsOffset];\n var bit = 0;\n while (((theBits << (31 - bit)) & 0xFFFFFFFF) === 0) {\n bit++;\n }\n x += bit;\n return Int32Array.from([x, y]);\n };\n BitMatrix.prototype.getBottomRightOnBit = function () {\n var rowSize = this.rowSize;\n var bits = this.bits;\n var bitsOffset = bits.length - 1;\n while (bitsOffset >= 0 && bits[bitsOffset] === 0) {\n bitsOffset--;\n }\n if (bitsOffset < 0) {\n return null;\n }\n var y = Math.floor(bitsOffset / rowSize);\n var x = Math.floor(bitsOffset % rowSize) * 32;\n var theBits = bits[bitsOffset];\n var bit = 31;\n while ((theBits >>> bit) === 0) {\n bit--;\n }\n x += bit;\n return Int32Array.from([x, y]);\n };\n /**\n * @return The width of the matrix\n */\n BitMatrix.prototype.getWidth = function () {\n return this.width;\n };\n /**\n * @return The height of the matrix\n */\n BitMatrix.prototype.getHeight = function () {\n return this.height;\n };\n /**\n * @return The row size of the matrix\n */\n BitMatrix.prototype.getRowSize = function () {\n return this.rowSize;\n };\n /*@Override*/\n BitMatrix.prototype.equals = function (o) {\n if (!(o instanceof BitMatrix)) {\n return false;\n }\n var other = o;\n return this.width === other.width && this.height === other.height && this.rowSize === other.rowSize &&\n Arrays.equals(this.bits, other.bits);\n };\n /*@Override*/\n BitMatrix.prototype.hashCode = function () {\n var hash = this.width;\n hash = 31 * hash + this.width;\n hash = 31 * hash + this.height;\n hash = 31 * hash + this.rowSize;\n hash = 31 * hash + Arrays.hashCode(this.bits);\n return hash;\n };\n /**\n * @return string representation using \"X\" for set and \" \" for unset bits\n */\n /*@Override*/\n // public toString(): string {\n // return toString(\": \"X, \" \")\n // }\n /**\n * @param setString representation of a set bit\n * @param unsetString representation of an unset bit\n * @return string representation of entire matrix utilizing given strings\n */\n // public toString(setString: string = \"X \", unsetString: string = \" \"): string {\n // return this.buildToString(setString, unsetString, \"\\n\")\n // }\n /**\n * @param setString representation of a set bit\n * @param unsetString representation of an unset bit\n * @param lineSeparator newline character in string representation\n * @return string representation of entire matrix utilizing given strings and line separator\n * @deprecated call {@link #toString(String,String)} only, which uses \\n line separator always\n */\n // @Deprecated\n BitMatrix.prototype.toString = function (setString, unsetString, lineSeparator) {\n if (setString === void 0) { setString = 'X '; }\n if (unsetString === void 0) { unsetString = ' '; }\n if (lineSeparator === void 0) { lineSeparator = '\\n'; }\n return this.buildToString(setString, unsetString, lineSeparator);\n };\n BitMatrix.prototype.buildToString = function (setString, unsetString, lineSeparator) {\n var result = new StringBuilder();\n // result.append(lineSeparator);\n for (var y = 0, height = this.height; y < height; y++) {\n for (var x = 0, width = this.width; x < width; x++) {\n result.append(this.get(x, y) ? setString : unsetString);\n }\n result.append(lineSeparator);\n }\n return result.toString();\n };\n /*@Override*/\n BitMatrix.prototype.clone = function () {\n return new BitMatrix(this.width, this.height, this.rowSize, this.bits.slice());\n };\n return BitMatrix;\n}());\nexport default BitMatrix;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common {*/\nimport IllegalArgumentException from '../IllegalArgumentException';\n/**\n *

    This provides an easy abstraction to read bits at a time from a sequence of bytes, where the\n * number of bits read is not often a multiple of 8.

    \n *\n *

    This class is thread-safe but not reentrant -- unless the caller modifies the bytes array\n * it passed in, in which case all bets are off.

    \n *\n * @author Sean Owen\n */\nvar BitSource = /** @class */ (function () {\n /**\n * @param bytes bytes from which this will read bits. Bits will be read from the first byte first.\n * Bits are read within a byte from most-significant to least-significant bit.\n */\n function BitSource(bytes) {\n this.bytes = bytes;\n this.byteOffset = 0;\n this.bitOffset = 0;\n }\n /**\n * @return index of next bit in current byte which would be read by the next call to {@link #readBits(int)}.\n */\n BitSource.prototype.getBitOffset = function () {\n return this.bitOffset;\n };\n /**\n * @return index of next byte in input byte array which would be read by the next call to {@link #readBits(int)}.\n */\n BitSource.prototype.getByteOffset = function () {\n return this.byteOffset;\n };\n /**\n * @param numBits number of bits to read\n * @return int representing the bits read. The bits will appear as the least-significant\n * bits of the int\n * @throws IllegalArgumentException if numBits isn't in [1,32] or more than is available\n */\n BitSource.prototype.readBits = function (numBits /*int*/) {\n if (numBits < 1 || numBits > 32 || numBits > this.available()) {\n throw new IllegalArgumentException('' + numBits);\n }\n var result = 0;\n var bitOffset = this.bitOffset;\n var byteOffset = this.byteOffset;\n var bytes = this.bytes;\n // First, read remainder from current byte\n if (bitOffset > 0) {\n var bitsLeft = 8 - bitOffset;\n var toRead = numBits < bitsLeft ? numBits : bitsLeft;\n var bitsToNotRead = bitsLeft - toRead;\n var mask = (0xFF >> (8 - toRead)) << bitsToNotRead;\n result = (bytes[byteOffset] & mask) >> bitsToNotRead;\n numBits -= toRead;\n bitOffset += toRead;\n if (bitOffset === 8) {\n bitOffset = 0;\n byteOffset++;\n }\n }\n // Next read whole bytes\n if (numBits > 0) {\n while (numBits >= 8) {\n result = (result << 8) | (bytes[byteOffset] & 0xFF);\n byteOffset++;\n numBits -= 8;\n }\n // Finally read a partial byte\n if (numBits > 0) {\n var bitsToNotRead = 8 - numBits;\n var mask = (0xFF >> bitsToNotRead) << bitsToNotRead;\n result = (result << numBits) | ((bytes[byteOffset] & mask) >> bitsToNotRead);\n bitOffset += numBits;\n }\n }\n this.bitOffset = bitOffset;\n this.byteOffset = byteOffset;\n return result;\n };\n /**\n * @return number of bits that can be read successfully\n */\n BitSource.prototype.available = function () {\n return 8 * (this.bytes.length - this.byteOffset) - this.bitOffset;\n };\n return BitSource;\n}());\nexport default BitSource;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.common {*/\nimport FormatException from '../FormatException';\n/*import java.util.HashMap;*/\n/*import java.util.Map;*/\nexport var CharacterSetValueIdentifiers;\n(function (CharacterSetValueIdentifiers) {\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp437\"] = 0] = \"Cp437\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_1\"] = 1] = \"ISO8859_1\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_2\"] = 2] = \"ISO8859_2\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_3\"] = 3] = \"ISO8859_3\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_4\"] = 4] = \"ISO8859_4\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_5\"] = 5] = \"ISO8859_5\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_6\"] = 6] = \"ISO8859_6\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_7\"] = 7] = \"ISO8859_7\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_8\"] = 8] = \"ISO8859_8\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_9\"] = 9] = \"ISO8859_9\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_10\"] = 10] = \"ISO8859_10\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_11\"] = 11] = \"ISO8859_11\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_13\"] = 12] = \"ISO8859_13\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_14\"] = 13] = \"ISO8859_14\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_15\"] = 14] = \"ISO8859_15\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_16\"] = 15] = \"ISO8859_16\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"SJIS\"] = 16] = \"SJIS\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1250\"] = 17] = \"Cp1250\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1251\"] = 18] = \"Cp1251\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1252\"] = 19] = \"Cp1252\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1256\"] = 20] = \"Cp1256\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"UnicodeBigUnmarked\"] = 21] = \"UnicodeBigUnmarked\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"UTF8\"] = 22] = \"UTF8\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ASCII\"] = 23] = \"ASCII\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Big5\"] = 24] = \"Big5\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"GB18030\"] = 25] = \"GB18030\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"EUC_KR\"] = 26] = \"EUC_KR\";\n})(CharacterSetValueIdentifiers || (CharacterSetValueIdentifiers = {}));\n/**\n * Encapsulates a Character Set ECI, according to \"Extended Channel Interpretations\" 5.3.1.1\n * of ISO 18004.\n *\n * @author Sean Owen\n */\nvar CharacterSetECI = /** @class */ (function () {\n function CharacterSetECI(valueIdentifier, valuesParam, name) {\n var e_1, _a;\n var otherEncodingNames = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n otherEncodingNames[_i - 3] = arguments[_i];\n }\n this.valueIdentifier = valueIdentifier;\n this.name = name;\n if (typeof valuesParam === 'number') {\n this.values = Int32Array.from([valuesParam]);\n }\n else {\n this.values = valuesParam;\n }\n this.otherEncodingNames = otherEncodingNames;\n CharacterSetECI.VALUE_IDENTIFIER_TO_ECI.set(valueIdentifier, this);\n CharacterSetECI.NAME_TO_ECI.set(name, this);\n var values = this.values;\n for (var i = 0, length_1 = values.length; i !== length_1; i++) {\n var v = values[i];\n CharacterSetECI.VALUES_TO_ECI.set(v, this);\n }\n try {\n for (var otherEncodingNames_1 = __values(otherEncodingNames), otherEncodingNames_1_1 = otherEncodingNames_1.next(); !otherEncodingNames_1_1.done; otherEncodingNames_1_1 = otherEncodingNames_1.next()) {\n var otherName = otherEncodingNames_1_1.value;\n CharacterSetECI.NAME_TO_ECI.set(otherName, this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (otherEncodingNames_1_1 && !otherEncodingNames_1_1.done && (_a = otherEncodingNames_1.return)) _a.call(otherEncodingNames_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n // CharacterSetECI(value: number /*int*/) {\n // this(new Int32Array {value})\n // }\n // CharacterSetECI(value: number /*int*/, String... otherEncodingNames) {\n // this.values = new Int32Array {value}\n // this.otherEncodingNames = otherEncodingNames\n // }\n // CharacterSetECI(values: Int32Array, String... otherEncodingNames) {\n // this.values = values\n // this.otherEncodingNames = otherEncodingNames\n // }\n CharacterSetECI.prototype.getValueIdentifier = function () {\n return this.valueIdentifier;\n };\n CharacterSetECI.prototype.getName = function () {\n return this.name;\n };\n CharacterSetECI.prototype.getValue = function () {\n return this.values[0];\n };\n /**\n * @param value character set ECI value\n * @return {@code CharacterSetECI} representing ECI of given value, or null if it is legal but\n * unsupported\n * @throws FormatException if ECI value is invalid\n */\n CharacterSetECI.getCharacterSetECIByValue = function (value /*int*/) {\n if (value < 0 || value >= 900) {\n throw new FormatException('incorect value');\n }\n var characterSet = CharacterSetECI.VALUES_TO_ECI.get(value);\n if (undefined === characterSet) {\n throw new FormatException('incorect value');\n }\n return characterSet;\n };\n /**\n * @param name character set ECI encoding name\n * @return CharacterSetECI representing ECI for character encoding, or null if it is legal\n * but unsupported\n */\n CharacterSetECI.getCharacterSetECIByName = function (name) {\n var characterSet = CharacterSetECI.NAME_TO_ECI.get(name);\n if (undefined === characterSet) {\n throw new FormatException('incorect value');\n }\n return characterSet;\n };\n CharacterSetECI.prototype.equals = function (o) {\n if (!(o instanceof CharacterSetECI)) {\n return false;\n }\n var other = o;\n return this.getName() === other.getName();\n };\n CharacterSetECI.VALUE_IDENTIFIER_TO_ECI = new Map();\n CharacterSetECI.VALUES_TO_ECI = new Map();\n CharacterSetECI.NAME_TO_ECI = new Map();\n // Enum name is a Java encoding valid for java.lang and java.io\n // TYPESCRIPTPORT: changed the main label for ISO as the TextEncoder did not recognized them in the form from java\n // (eg ISO8859_1 must be ISO88591 or ISO8859-1 or ISO-8859-1)\n // later on: well, except 16 wich does not work with ISO885916 so used ISO-8859-1 form for default\n CharacterSetECI.Cp437 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp437, Int32Array.from([0, 2]), 'Cp437');\n CharacterSetECI.ISO8859_1 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_1, Int32Array.from([1, 3]), 'ISO-8859-1', 'ISO88591', 'ISO8859_1');\n CharacterSetECI.ISO8859_2 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_2, 4, 'ISO-8859-2', 'ISO88592', 'ISO8859_2');\n CharacterSetECI.ISO8859_3 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_3, 5, 'ISO-8859-3', 'ISO88593', 'ISO8859_3');\n CharacterSetECI.ISO8859_4 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_4, 6, 'ISO-8859-4', 'ISO88594', 'ISO8859_4');\n CharacterSetECI.ISO8859_5 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_5, 7, 'ISO-8859-5', 'ISO88595', 'ISO8859_5');\n CharacterSetECI.ISO8859_6 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_6, 8, 'ISO-8859-6', 'ISO88596', 'ISO8859_6');\n CharacterSetECI.ISO8859_7 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_7, 9, 'ISO-8859-7', 'ISO88597', 'ISO8859_7');\n CharacterSetECI.ISO8859_8 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_8, 10, 'ISO-8859-8', 'ISO88598', 'ISO8859_8');\n CharacterSetECI.ISO8859_9 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_9, 11, 'ISO-8859-9', 'ISO88599', 'ISO8859_9');\n CharacterSetECI.ISO8859_10 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_10, 12, 'ISO-8859-10', 'ISO885910', 'ISO8859_10');\n CharacterSetECI.ISO8859_11 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_11, 13, 'ISO-8859-11', 'ISO885911', 'ISO8859_11');\n CharacterSetECI.ISO8859_13 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_13, 15, 'ISO-8859-13', 'ISO885913', 'ISO8859_13');\n CharacterSetECI.ISO8859_14 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_14, 16, 'ISO-8859-14', 'ISO885914', 'ISO8859_14');\n CharacterSetECI.ISO8859_15 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_15, 17, 'ISO-8859-15', 'ISO885915', 'ISO8859_15');\n CharacterSetECI.ISO8859_16 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_16, 18, 'ISO-8859-16', 'ISO885916', 'ISO8859_16');\n CharacterSetECI.SJIS = new CharacterSetECI(CharacterSetValueIdentifiers.SJIS, 20, 'SJIS', 'Shift_JIS');\n CharacterSetECI.Cp1250 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1250, 21, 'Cp1250', 'windows-1250');\n CharacterSetECI.Cp1251 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1251, 22, 'Cp1251', 'windows-1251');\n CharacterSetECI.Cp1252 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1252, 23, 'Cp1252', 'windows-1252');\n CharacterSetECI.Cp1256 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1256, 24, 'Cp1256', 'windows-1256');\n CharacterSetECI.UnicodeBigUnmarked = new CharacterSetECI(CharacterSetValueIdentifiers.UnicodeBigUnmarked, 25, 'UnicodeBigUnmarked', 'UTF-16BE', 'UnicodeBig');\n CharacterSetECI.UTF8 = new CharacterSetECI(CharacterSetValueIdentifiers.UTF8, 26, 'UTF8', 'UTF-8');\n CharacterSetECI.ASCII = new CharacterSetECI(CharacterSetValueIdentifiers.ASCII, Int32Array.from([27, 170]), 'ASCII', 'US-ASCII');\n CharacterSetECI.Big5 = new CharacterSetECI(CharacterSetValueIdentifiers.Big5, 28, 'Big5');\n CharacterSetECI.GB18030 = new CharacterSetECI(CharacterSetValueIdentifiers.GB18030, 29, 'GB18030', 'GB2312', 'EUC_CN', 'GBK');\n CharacterSetECI.EUC_KR = new CharacterSetECI(CharacterSetValueIdentifiers.EUC_KR, 30, 'EUC_KR', 'EUC-KR');\n return CharacterSetECI;\n}());\nexport default CharacterSetECI;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common {*/\n/*import java.util.List;*/\n/**\n *

    Encapsulates the result of decoding a matrix of bits. This typically\n * applies to 2D barcode formats. For now it contains the raw bytes obtained,\n * as well as a String interpretation of those bytes, if applicable.

    \n *\n * @author Sean Owen\n */\nvar DecoderResult = /** @class */ (function () {\n // public constructor(rawBytes: Uint8Array,\n // text: string,\n // List byteSegments,\n // String ecLevel) {\n // this(rawBytes, text, byteSegments, ecLevel, -1, -1)\n // }\n function DecoderResult(rawBytes, text, byteSegments, ecLevel, structuredAppendSequenceNumber, structuredAppendParity) {\n if (structuredAppendSequenceNumber === void 0) { structuredAppendSequenceNumber = -1; }\n if (structuredAppendParity === void 0) { structuredAppendParity = -1; }\n this.rawBytes = rawBytes;\n this.text = text;\n this.byteSegments = byteSegments;\n this.ecLevel = ecLevel;\n this.structuredAppendSequenceNumber = structuredAppendSequenceNumber;\n this.structuredAppendParity = structuredAppendParity;\n this.numBits = (rawBytes === undefined || rawBytes === null) ? 0 : 8 * rawBytes.length;\n }\n /**\n * @return raw bytes representing the result, or {@code null} if not applicable\n */\n DecoderResult.prototype.getRawBytes = function () {\n return this.rawBytes;\n };\n /**\n * @return how many bits of {@link #getRawBytes()} are valid; typically 8 times its length\n * @since 3.3.0\n */\n DecoderResult.prototype.getNumBits = function () {\n return this.numBits;\n };\n /**\n * @param numBits overrides the number of bits that are valid in {@link #getRawBytes()}\n * @since 3.3.0\n */\n DecoderResult.prototype.setNumBits = function (numBits /*int*/) {\n this.numBits = numBits;\n };\n /**\n * @return text representation of the result\n */\n DecoderResult.prototype.getText = function () {\n return this.text;\n };\n /**\n * @return list of byte segments in the result, or {@code null} if not applicable\n */\n DecoderResult.prototype.getByteSegments = function () {\n return this.byteSegments;\n };\n /**\n * @return name of error correction level used, or {@code null} if not applicable\n */\n DecoderResult.prototype.getECLevel = function () {\n return this.ecLevel;\n };\n /**\n * @return number of errors corrected, or {@code null} if not applicable\n */\n DecoderResult.prototype.getErrorsCorrected = function () {\n return this.errorsCorrected;\n };\n DecoderResult.prototype.setErrorsCorrected = function (errorsCorrected /*Integer*/) {\n this.errorsCorrected = errorsCorrected;\n };\n /**\n * @return number of erasures corrected, or {@code null} if not applicable\n */\n DecoderResult.prototype.getErasures = function () {\n return this.erasures;\n };\n DecoderResult.prototype.setErasures = function (erasures /*Integer*/) {\n this.erasures = erasures;\n };\n /**\n * @return arbitrary additional metadata\n */\n DecoderResult.prototype.getOther = function () {\n return this.other;\n };\n DecoderResult.prototype.setOther = function (other) {\n this.other = other;\n };\n DecoderResult.prototype.hasStructuredAppend = function () {\n return this.structuredAppendParity >= 0 && this.structuredAppendSequenceNumber >= 0;\n };\n DecoderResult.prototype.getStructuredAppendParity = function () {\n return this.structuredAppendParity;\n };\n DecoderResult.prototype.getStructuredAppendSequenceNumber = function () {\n return this.structuredAppendSequenceNumber;\n };\n return DecoderResult;\n}());\nexport default DecoderResult;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.common {*/\nimport GridSampler from './GridSampler';\nimport BitMatrix from './BitMatrix';\nimport PerspectiveTransform from './PerspectiveTransform';\nimport NotFoundException from '../NotFoundException';\n/**\n * @author Sean Owen\n */\nvar DefaultGridSampler = /** @class */ (function (_super) {\n __extends(DefaultGridSampler, _super);\n function DefaultGridSampler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /*@Override*/\n DefaultGridSampler.prototype.sampleGrid = function (image, dimensionX /*int*/, dimensionY /*int*/, p1ToX /*float*/, p1ToY /*float*/, p2ToX /*float*/, p2ToY /*float*/, p3ToX /*float*/, p3ToY /*float*/, p4ToX /*float*/, p4ToY /*float*/, p1FromX /*float*/, p1FromY /*float*/, p2FromX /*float*/, p2FromY /*float*/, p3FromX /*float*/, p3FromY /*float*/, p4FromX /*float*/, p4FromY /*float*/) {\n var transform = PerspectiveTransform.quadrilateralToQuadrilateral(p1ToX, p1ToY, p2ToX, p2ToY, p3ToX, p3ToY, p4ToX, p4ToY, p1FromX, p1FromY, p2FromX, p2FromY, p3FromX, p3FromY, p4FromX, p4FromY);\n return this.sampleGridWithTransform(image, dimensionX, dimensionY, transform);\n };\n /*@Override*/\n DefaultGridSampler.prototype.sampleGridWithTransform = function (image, dimensionX /*int*/, dimensionY /*int*/, transform) {\n if (dimensionX <= 0 || dimensionY <= 0) {\n throw new NotFoundException();\n }\n var bits = new BitMatrix(dimensionX, dimensionY);\n var points = new Float32Array(2 * dimensionX);\n for (var y = 0; y < dimensionY; y++) {\n var max = points.length;\n var iValue = y + 0.5;\n for (var x = 0; x < max; x += 2) {\n points[x] = (x / 2) + 0.5;\n points[x + 1] = iValue;\n }\n transform.transformPoints(points);\n // Quick check to see if points transformed to something inside the image\n // sufficient to check the endpoints\n GridSampler.checkAndNudgePoints(image, points);\n try {\n for (var x = 0; x < max; x += 2) {\n if (image.get(Math.floor(points[x]), Math.floor(points[x + 1]))) {\n // Black(-ish) pixel\n bits.set(x / 2, y);\n }\n }\n }\n catch (aioobe /*: ArrayIndexOutOfBoundsException*/) {\n // This feels wrong, but, sometimes if the finder patterns are misidentified, the resulting\n // transform gets \"twisted\" such that it maps a straight line of points to a set of points\n // whose endpoints are in bounds, but others are not. There is probably some mathematical\n // way to detect this about the transformation that I don't know yet.\n // This results in an ugly runtime exception despite our clever checks above -- can't have\n // that. We could check each point's coordinates but that feels duplicative. We settle for\n // catching and wrapping ArrayIndexOutOfBoundsException.\n throw new NotFoundException();\n }\n }\n return bits;\n };\n return DefaultGridSampler;\n}(GridSampler));\nexport default DefaultGridSampler;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n *

    Encapsulates the result of detecting a barcode in an image. This includes the raw\n * matrix of black/white pixels corresponding to the barcode, and possibly points of interest\n * in the image, like the location of finder patterns or corners of the barcode in the image.

    \n *\n * @author Sean Owen\n */\nvar DetectorResult = /** @class */ (function () {\n function DetectorResult(bits, points) {\n this.bits = bits;\n this.points = points;\n }\n DetectorResult.prototype.getBits = function () {\n return this.bits;\n };\n DetectorResult.prototype.getPoints = function () {\n return this.points;\n };\n return DetectorResult;\n}());\nexport default DetectorResult;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.common {*/\nimport Binarizer from '../Binarizer';\nimport BitArray from './BitArray';\nimport BitMatrix from './BitMatrix';\nimport NotFoundException from '../NotFoundException';\n/**\n * This Binarizer implementation uses the old ZXing global histogram approach. It is suitable\n * for low-end mobile devices which don't have enough CPU or memory to use a local thresholding\n * algorithm. However, because it picks a global black point, it cannot handle difficult shadows\n * and gradients.\n *\n * Faster mobile devices and all desktop applications should probably use HybridBinarizer instead.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n */\nvar GlobalHistogramBinarizer = /** @class */ (function (_super) {\n __extends(GlobalHistogramBinarizer, _super);\n function GlobalHistogramBinarizer(source) {\n var _this = _super.call(this, source) || this;\n _this.luminances = GlobalHistogramBinarizer.EMPTY;\n _this.buckets = new Int32Array(GlobalHistogramBinarizer.LUMINANCE_BUCKETS);\n return _this;\n }\n // Applies simple sharpening to the row data to improve performance of the 1D Readers.\n /*@Override*/\n GlobalHistogramBinarizer.prototype.getBlackRow = function (y /*int*/, row) {\n var source = this.getLuminanceSource();\n var width = source.getWidth();\n if (row === undefined || row === null || row.getSize() < width) {\n row = new BitArray(width);\n }\n else {\n row.clear();\n }\n this.initArrays(width);\n var localLuminances = source.getRow(y, this.luminances);\n var localBuckets = this.buckets;\n for (var x = 0; x < width; x++) {\n localBuckets[(localLuminances[x] & 0xff) >> GlobalHistogramBinarizer.LUMINANCE_SHIFT]++;\n }\n var blackPoint = GlobalHistogramBinarizer.estimateBlackPoint(localBuckets);\n if (width < 3) {\n // Special case for very small images\n for (var x = 0; x < width; x++) {\n if ((localLuminances[x] & 0xff) < blackPoint) {\n row.set(x);\n }\n }\n }\n else {\n var left = localLuminances[0] & 0xff;\n var center = localLuminances[1] & 0xff;\n for (var x = 1; x < width - 1; x++) {\n var right = localLuminances[x + 1] & 0xff;\n // A simple -1 4 -1 box filter with a weight of 2.\n if (((center * 4) - left - right) / 2 < blackPoint) {\n row.set(x);\n }\n left = center;\n center = right;\n }\n }\n return row;\n };\n // Does not sharpen the data, as this call is intended to only be used by 2D Readers.\n /*@Override*/\n GlobalHistogramBinarizer.prototype.getBlackMatrix = function () {\n var source = this.getLuminanceSource();\n var width = source.getWidth();\n var height = source.getHeight();\n var matrix = new BitMatrix(width, height);\n // Quickly calculates the histogram by sampling four rows from the image. This proved to be\n // more robust on the blackbox tests than sampling a diagonal as we used to do.\n this.initArrays(width);\n var localBuckets = this.buckets;\n for (var y = 1; y < 5; y++) {\n var row = Math.floor((height * y) / 5);\n var localLuminances_1 = source.getRow(row, this.luminances);\n var right = Math.floor((width * 4) / 5);\n for (var x = Math.floor(width / 5); x < right; x++) {\n var pixel = localLuminances_1[x] & 0xff;\n localBuckets[pixel >> GlobalHistogramBinarizer.LUMINANCE_SHIFT]++;\n }\n }\n var blackPoint = GlobalHistogramBinarizer.estimateBlackPoint(localBuckets);\n // We delay reading the entire image luminance until the black point estimation succeeds.\n // Although we end up reading four rows twice, it is consistent with our motto of\n // \"fail quickly\" which is necessary for continuous scanning.\n var localLuminances = source.getMatrix();\n for (var y = 0; y < height; y++) {\n var offset = y * width;\n for (var x = 0; x < width; x++) {\n var pixel = localLuminances[offset + x] & 0xff;\n if (pixel < blackPoint) {\n matrix.set(x, y);\n }\n }\n }\n return matrix;\n };\n /*@Override*/\n GlobalHistogramBinarizer.prototype.createBinarizer = function (source) {\n return new GlobalHistogramBinarizer(source);\n };\n GlobalHistogramBinarizer.prototype.initArrays = function (luminanceSize /*int*/) {\n if (this.luminances.length < luminanceSize) {\n this.luminances = new Uint8ClampedArray(luminanceSize);\n }\n var buckets = this.buckets;\n for (var x = 0; x < GlobalHistogramBinarizer.LUMINANCE_BUCKETS; x++) {\n buckets[x] = 0;\n }\n };\n GlobalHistogramBinarizer.estimateBlackPoint = function (buckets) {\n // Find the tallest peak in the histogram.\n var numBuckets = buckets.length;\n var maxBucketCount = 0;\n var firstPeak = 0;\n var firstPeakSize = 0;\n for (var x = 0; x < numBuckets; x++) {\n if (buckets[x] > firstPeakSize) {\n firstPeak = x;\n firstPeakSize = buckets[x];\n }\n if (buckets[x] > maxBucketCount) {\n maxBucketCount = buckets[x];\n }\n }\n // Find the second-tallest peak which is somewhat far from the tallest peak.\n var secondPeak = 0;\n var secondPeakScore = 0;\n for (var x = 0; x < numBuckets; x++) {\n var distanceToBiggest = x - firstPeak;\n // Encourage more distant second peaks by multiplying by square of distance.\n var score = buckets[x] * distanceToBiggest * distanceToBiggest;\n if (score > secondPeakScore) {\n secondPeak = x;\n secondPeakScore = score;\n }\n }\n // Make sure firstPeak corresponds to the black peak.\n if (firstPeak > secondPeak) {\n var temp = firstPeak;\n firstPeak = secondPeak;\n secondPeak = temp;\n }\n // If there is too little contrast in the image to pick a meaningful black point, throw rather\n // than waste time trying to decode the image, and risk false positives.\n if (secondPeak - firstPeak <= numBuckets / 16) {\n throw new NotFoundException();\n }\n // Find a valley between them that is low and closer to the white peak.\n var bestValley = secondPeak - 1;\n var bestValleyScore = -1;\n for (var x = secondPeak - 1; x > firstPeak; x--) {\n var fromFirst = x - firstPeak;\n var score = fromFirst * fromFirst * (secondPeak - x) * (maxBucketCount - buckets[x]);\n if (score > bestValleyScore) {\n bestValley = x;\n bestValleyScore = score;\n }\n }\n return bestValley << GlobalHistogramBinarizer.LUMINANCE_SHIFT;\n };\n GlobalHistogramBinarizer.LUMINANCE_BITS = 5;\n GlobalHistogramBinarizer.LUMINANCE_SHIFT = 8 - GlobalHistogramBinarizer.LUMINANCE_BITS;\n GlobalHistogramBinarizer.LUMINANCE_BUCKETS = 1 << GlobalHistogramBinarizer.LUMINANCE_BITS;\n GlobalHistogramBinarizer.EMPTY = Uint8ClampedArray.from([0]);\n return GlobalHistogramBinarizer;\n}(Binarizer));\nexport default GlobalHistogramBinarizer;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport NotFoundException from '../NotFoundException';\n/**\n * Implementations of this class can, given locations of finder patterns for a QR code in an\n * image, sample the right points in the image to reconstruct the QR code, accounting for\n * perspective distortion. It is abstracted since it is relatively expensive and should be allowed\n * to take advantage of platform-specific optimized implementations, like Sun's Java Advanced\n * Imaging library, but which may not be available in other environments such as J2ME, and vice\n * versa.\n *\n * The implementation used can be controlled by calling {@link #setGridSampler(GridSampler)}\n * with an instance of a class which implements this interface.\n *\n * @author Sean Owen\n */\nvar GridSampler = /** @class */ (function () {\n function GridSampler() {\n }\n /**\n *

    Checks a set of points that have been transformed to sample points on an image against\n * the image's dimensions to see if the point are even within the image.

    \n *\n *

    This method will actually \"nudge\" the endpoints back onto the image if they are found to be\n * barely (less than 1 pixel) off the image. This accounts for imperfect detection of finder\n * patterns in an image where the QR Code runs all the way to the image border.

    \n *\n *

    For efficiency, the method will check points from either end of the line until one is found\n * to be within the image. Because the set of points are assumed to be linear, this is valid.

    \n *\n * @param image image into which the points should map\n * @param points actual points in x1,y1,...,xn,yn form\n * @throws NotFoundException if an endpoint is lies outside the image boundaries\n */\n GridSampler.checkAndNudgePoints = function (image, points) {\n var width = image.getWidth();\n var height = image.getHeight();\n // Check and nudge points from start until we see some that are OK:\n var nudged = true;\n for (var offset = 0; offset < points.length && nudged; offset += 2) {\n var x = Math.floor(points[offset]);\n var y = Math.floor(points[offset + 1]);\n if (x < -1 || x > width || y < -1 || y > height) {\n throw new NotFoundException();\n }\n nudged = false;\n if (x === -1) {\n points[offset] = 0.0;\n nudged = true;\n }\n else if (x === width) {\n points[offset] = width - 1;\n nudged = true;\n }\n if (y === -1) {\n points[offset + 1] = 0.0;\n nudged = true;\n }\n else if (y === height) {\n points[offset + 1] = height - 1;\n nudged = true;\n }\n }\n // Check and nudge points from end:\n nudged = true;\n for (var offset = points.length - 2; offset >= 0 && nudged; offset -= 2) {\n var x = Math.floor(points[offset]);\n var y = Math.floor(points[offset + 1]);\n if (x < -1 || x > width || y < -1 || y > height) {\n throw new NotFoundException();\n }\n nudged = false;\n if (x === -1) {\n points[offset] = 0.0;\n nudged = true;\n }\n else if (x === width) {\n points[offset] = width - 1;\n nudged = true;\n }\n if (y === -1) {\n points[offset + 1] = 0.0;\n nudged = true;\n }\n else if (y === height) {\n points[offset + 1] = height - 1;\n nudged = true;\n }\n }\n };\n return GridSampler;\n}());\nexport default GridSampler;\n","import DefaultGridSampler from './DefaultGridSampler';\nvar GridSamplerInstance = /** @class */ (function () {\n function GridSamplerInstance() {\n }\n /**\n * Sets the implementation of GridSampler used by the library. One global\n * instance is stored, which may sound problematic. But, the implementation provided\n * ought to be appropriate for the entire platform, and all uses of this library\n * in the whole lifetime of the JVM. For instance, an Android activity can swap in\n * an implementation that takes advantage of native platform libraries.\n *\n * @param newGridSampler The platform-specific object to install.\n */\n GridSamplerInstance.setGridSampler = function (newGridSampler) {\n GridSamplerInstance.gridSampler = newGridSampler;\n };\n /**\n * @return the current implementation of GridSampler\n */\n GridSamplerInstance.getInstance = function () {\n return GridSamplerInstance.gridSampler;\n };\n GridSamplerInstance.gridSampler = new DefaultGridSampler();\n return GridSamplerInstance;\n}());\nexport default GridSamplerInstance;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport GlobalHistogramBinarizer from './GlobalHistogramBinarizer';\nimport BitMatrix from './BitMatrix';\n/**\n * This class implements a local thresholding algorithm, which while slower than the\n * GlobalHistogramBinarizer, is fairly efficient for what it does. It is designed for\n * high frequency images of barcodes with black data on white backgrounds. For this application,\n * it does a much better job than a global blackpoint with severe shadows and gradients.\n * However it tends to produce artifacts on lower frequency images and is therefore not\n * a good general purpose binarizer for uses outside ZXing.\n *\n * This class extends GlobalHistogramBinarizer, using the older histogram approach for 1D readers,\n * and the newer local approach for 2D readers. 1D decoding using a per-row histogram is already\n * inherently local, and only fails for horizontal gradients. We can revisit that problem later,\n * but for now it was not a win to use local blocks for 1D.\n *\n * This Binarizer is the default for the unit tests and the recommended class for library users.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar HybridBinarizer = /** @class */ (function (_super) {\n __extends(HybridBinarizer, _super);\n function HybridBinarizer(source) {\n var _this = _super.call(this, source) || this;\n _this.matrix = null;\n return _this;\n }\n /**\n * Calculates the final BitMatrix once for all requests. This could be called once from the\n * constructor instead, but there are some advantages to doing it lazily, such as making\n * profiling easier, and not doing heavy lifting when callers don't expect it.\n */\n /*@Override*/\n HybridBinarizer.prototype.getBlackMatrix = function () {\n if (this.matrix !== null) {\n return this.matrix;\n }\n var source = this.getLuminanceSource();\n var width = source.getWidth();\n var height = source.getHeight();\n if (width >= HybridBinarizer.MINIMUM_DIMENSION && height >= HybridBinarizer.MINIMUM_DIMENSION) {\n var luminances = source.getMatrix();\n var subWidth = width >> HybridBinarizer.BLOCK_SIZE_POWER;\n if ((width & HybridBinarizer.BLOCK_SIZE_MASK) !== 0) {\n subWidth++;\n }\n var subHeight = height >> HybridBinarizer.BLOCK_SIZE_POWER;\n if ((height & HybridBinarizer.BLOCK_SIZE_MASK) !== 0) {\n subHeight++;\n }\n var blackPoints = HybridBinarizer.calculateBlackPoints(luminances, subWidth, subHeight, width, height);\n var newMatrix = new BitMatrix(width, height);\n HybridBinarizer.calculateThresholdForBlock(luminances, subWidth, subHeight, width, height, blackPoints, newMatrix);\n this.matrix = newMatrix;\n }\n else {\n // If the image is too small, fall back to the global histogram approach.\n this.matrix = _super.prototype.getBlackMatrix.call(this);\n }\n return this.matrix;\n };\n /*@Override*/\n HybridBinarizer.prototype.createBinarizer = function (source) {\n return new HybridBinarizer(source);\n };\n /**\n * For each block in the image, calculate the average black point using a 5x5 grid\n * of the blocks around it. Also handles the corner cases (fractional blocks are computed based\n * on the last pixels in the row/column which are also used in the previous block).\n */\n HybridBinarizer.calculateThresholdForBlock = function (luminances, subWidth /*int*/, subHeight /*int*/, width /*int*/, height /*int*/, blackPoints, matrix) {\n var maxYOffset = height - HybridBinarizer.BLOCK_SIZE;\n var maxXOffset = width - HybridBinarizer.BLOCK_SIZE;\n for (var y = 0; y < subHeight; y++) {\n var yoffset = y << HybridBinarizer.BLOCK_SIZE_POWER;\n if (yoffset > maxYOffset) {\n yoffset = maxYOffset;\n }\n var top_1 = HybridBinarizer.cap(y, 2, subHeight - 3);\n for (var x = 0; x < subWidth; x++) {\n var xoffset = x << HybridBinarizer.BLOCK_SIZE_POWER;\n if (xoffset > maxXOffset) {\n xoffset = maxXOffset;\n }\n var left = HybridBinarizer.cap(x, 2, subWidth - 3);\n var sum = 0;\n for (var z = -2; z <= 2; z++) {\n var blackRow = blackPoints[top_1 + z];\n sum += blackRow[left - 2] + blackRow[left - 1] + blackRow[left] + blackRow[left + 1] + blackRow[left + 2];\n }\n var average = sum / 25;\n HybridBinarizer.thresholdBlock(luminances, xoffset, yoffset, average, width, matrix);\n }\n }\n };\n HybridBinarizer.cap = function (value /*int*/, min /*int*/, max /*int*/) {\n return value < min ? min : value > max ? max : value;\n };\n /**\n * Applies a single threshold to a block of pixels.\n */\n HybridBinarizer.thresholdBlock = function (luminances, xoffset /*int*/, yoffset /*int*/, threshold /*int*/, stride /*int*/, matrix) {\n for (var y = 0, offset = yoffset * stride + xoffset; y < HybridBinarizer.BLOCK_SIZE; y++, offset += stride) {\n for (var x = 0; x < HybridBinarizer.BLOCK_SIZE; x++) {\n // Comparison needs to be <= so that black == 0 pixels are black even if the threshold is 0.\n if ((luminances[offset + x] & 0xFF) <= threshold) {\n matrix.set(xoffset + x, yoffset + y);\n }\n }\n }\n };\n /**\n * Calculates a single black point for each block of pixels and saves it away.\n * See the following thread for a discussion of this algorithm:\n * http://groups.google.com/group/zxing/browse_thread/thread/d06efa2c35a7ddc0\n */\n HybridBinarizer.calculateBlackPoints = function (luminances, subWidth /*int*/, subHeight /*int*/, width /*int*/, height /*int*/) {\n var maxYOffset = height - HybridBinarizer.BLOCK_SIZE;\n var maxXOffset = width - HybridBinarizer.BLOCK_SIZE;\n // tslint:disable-next-line:whitespace\n var blackPoints = new Array(subHeight); // subWidth\n for (var y = 0; y < subHeight; y++) {\n blackPoints[y] = new Int32Array(subWidth);\n var yoffset = y << HybridBinarizer.BLOCK_SIZE_POWER;\n if (yoffset > maxYOffset) {\n yoffset = maxYOffset;\n }\n for (var x = 0; x < subWidth; x++) {\n var xoffset = x << HybridBinarizer.BLOCK_SIZE_POWER;\n if (xoffset > maxXOffset) {\n xoffset = maxXOffset;\n }\n var sum = 0;\n var min = 0xFF;\n var max = 0;\n for (var yy = 0, offset = yoffset * width + xoffset; yy < HybridBinarizer.BLOCK_SIZE; yy++, offset += width) {\n for (var xx = 0; xx < HybridBinarizer.BLOCK_SIZE; xx++) {\n var pixel = luminances[offset + xx] & 0xFF;\n sum += pixel;\n // still looking for good contrast\n if (pixel < min) {\n min = pixel;\n }\n if (pixel > max) {\n max = pixel;\n }\n }\n // short-circuit min/max tests once dynamic range is met\n if (max - min > HybridBinarizer.MIN_DYNAMIC_RANGE) {\n // finish the rest of the rows quickly\n for (yy++, offset += width; yy < HybridBinarizer.BLOCK_SIZE; yy++, offset += width) {\n for (var xx = 0; xx < HybridBinarizer.BLOCK_SIZE; xx++) {\n sum += luminances[offset + xx] & 0xFF;\n }\n }\n }\n }\n // The default estimate is the average of the values in the block.\n var average = sum >> (HybridBinarizer.BLOCK_SIZE_POWER * 2);\n if (max - min <= HybridBinarizer.MIN_DYNAMIC_RANGE) {\n // If variation within the block is low, assume this is a block with only light or only\n // dark pixels. In that case we do not want to use the average, as it would divide this\n // low contrast area into black and white pixels, essentially creating data out of noise.\n //\n // The default assumption is that the block is light/background. Since no estimate for\n // the level of dark pixels exists locally, use half the min for the block.\n average = min / 2;\n if (y > 0 && x > 0) {\n // Correct the \"white background\" assumption for blocks that have neighbors by comparing\n // the pixels in this block to the previously calculated black points. This is based on\n // the fact that dark barcode symbology is always surrounded by some amount of light\n // background for which reasonable black point estimates were made. The bp estimated at\n // the boundaries is used for the interior.\n // The (min < bp) is arbitrary but works better than other heuristics that were tried.\n var averageNeighborBlackPoint = (blackPoints[y - 1][x] + (2 * blackPoints[y][x - 1]) + blackPoints[y - 1][x - 1]) / 4;\n if (min < averageNeighborBlackPoint) {\n average = averageNeighborBlackPoint;\n }\n }\n }\n blackPoints[y][x] = average;\n }\n }\n return blackPoints;\n };\n // This class uses 5x5 blocks to compute local luminance, where each block is 8x8 pixels.\n // So this is the smallest dimension in each axis we can accept.\n HybridBinarizer.BLOCK_SIZE_POWER = 3;\n HybridBinarizer.BLOCK_SIZE = 1 << HybridBinarizer.BLOCK_SIZE_POWER; // ...0100...00\n HybridBinarizer.BLOCK_SIZE_MASK = HybridBinarizer.BLOCK_SIZE - 1; // ...0011...11\n HybridBinarizer.MINIMUM_DIMENSION = HybridBinarizer.BLOCK_SIZE * 5;\n HybridBinarizer.MIN_DYNAMIC_RANGE = 24;\n return HybridBinarizer;\n}(GlobalHistogramBinarizer));\nexport default HybridBinarizer;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common {*/\n/**\n *

    This class implements a perspective transform in two dimensions. Given four source and four\n * destination points, it will compute the transformation implied between them. The code is based\n * directly upon section 3.4.2 of George Wolberg's \"Digital Image Warping\"; see pages 54-56.

    \n *\n * @author Sean Owen\n */\nvar PerspectiveTransform = /** @class */ (function () {\n function PerspectiveTransform(a11 /*float*/, a21 /*float*/, a31 /*float*/, a12 /*float*/, a22 /*float*/, a32 /*float*/, a13 /*float*/, a23 /*float*/, a33 /*float*/) {\n this.a11 = a11;\n this.a21 = a21;\n this.a31 = a31;\n this.a12 = a12;\n this.a22 = a22;\n this.a32 = a32;\n this.a13 = a13;\n this.a23 = a23;\n this.a33 = a33;\n }\n PerspectiveTransform.quadrilateralToQuadrilateral = function (x0 /*float*/, y0 /*float*/, x1 /*float*/, y1 /*float*/, x2 /*float*/, y2 /*float*/, x3 /*float*/, y3 /*float*/, x0p /*float*/, y0p /*float*/, x1p /*float*/, y1p /*float*/, x2p /*float*/, y2p /*float*/, x3p /*float*/, y3p /*float*/) {\n var qToS = PerspectiveTransform.quadrilateralToSquare(x0, y0, x1, y1, x2, y2, x3, y3);\n var sToQ = PerspectiveTransform.squareToQuadrilateral(x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p);\n return sToQ.times(qToS);\n };\n PerspectiveTransform.prototype.transformPoints = function (points) {\n var max = points.length;\n var a11 = this.a11;\n var a12 = this.a12;\n var a13 = this.a13;\n var a21 = this.a21;\n var a22 = this.a22;\n var a23 = this.a23;\n var a31 = this.a31;\n var a32 = this.a32;\n var a33 = this.a33;\n for (var i = 0; i < max; i += 2) {\n var x = points[i];\n var y = points[i + 1];\n var denominator = a13 * x + a23 * y + a33;\n points[i] = (a11 * x + a21 * y + a31) / denominator;\n points[i + 1] = (a12 * x + a22 * y + a32) / denominator;\n }\n };\n PerspectiveTransform.prototype.transformPointsWithValues = function (xValues, yValues) {\n var a11 = this.a11;\n var a12 = this.a12;\n var a13 = this.a13;\n var a21 = this.a21;\n var a22 = this.a22;\n var a23 = this.a23;\n var a31 = this.a31;\n var a32 = this.a32;\n var a33 = this.a33;\n var n = xValues.length;\n for (var i = 0; i < n; i++) {\n var x = xValues[i];\n var y = yValues[i];\n var denominator = a13 * x + a23 * y + a33;\n xValues[i] = (a11 * x + a21 * y + a31) / denominator;\n yValues[i] = (a12 * x + a22 * y + a32) / denominator;\n }\n };\n PerspectiveTransform.squareToQuadrilateral = function (x0 /*float*/, y0 /*float*/, x1 /*float*/, y1 /*float*/, x2 /*float*/, y2 /*float*/, x3 /*float*/, y3 /*float*/) {\n var dx3 = x0 - x1 + x2 - x3;\n var dy3 = y0 - y1 + y2 - y3;\n if (dx3 === 0.0 && dy3 === 0.0) {\n // Affine\n return new PerspectiveTransform(x1 - x0, x2 - x1, x0, y1 - y0, y2 - y1, y0, 0.0, 0.0, 1.0);\n }\n else {\n var dx1 = x1 - x2;\n var dx2 = x3 - x2;\n var dy1 = y1 - y2;\n var dy2 = y3 - y2;\n var denominator = dx1 * dy2 - dx2 * dy1;\n var a13 = (dx3 * dy2 - dx2 * dy3) / denominator;\n var a23 = (dx1 * dy3 - dx3 * dy1) / denominator;\n return new PerspectiveTransform(x1 - x0 + a13 * x1, x3 - x0 + a23 * x3, x0, y1 - y0 + a13 * y1, y3 - y0 + a23 * y3, y0, a13, a23, 1.0);\n }\n };\n PerspectiveTransform.quadrilateralToSquare = function (x0 /*float*/, y0 /*float*/, x1 /*float*/, y1 /*float*/, x2 /*float*/, y2 /*float*/, x3 /*float*/, y3 /*float*/) {\n // Here, the adjoint serves as the inverse:\n return PerspectiveTransform.squareToQuadrilateral(x0, y0, x1, y1, x2, y2, x3, y3).buildAdjoint();\n };\n PerspectiveTransform.prototype.buildAdjoint = function () {\n // Adjoint is the transpose of the cofactor matrix:\n return new PerspectiveTransform(this.a22 * this.a33 - this.a23 * this.a32, this.a23 * this.a31 - this.a21 * this.a33, this.a21 * this.a32 - this.a22 * this.a31, this.a13 * this.a32 - this.a12 * this.a33, this.a11 * this.a33 - this.a13 * this.a31, this.a12 * this.a31 - this.a11 * this.a32, this.a12 * this.a23 - this.a13 * this.a22, this.a13 * this.a21 - this.a11 * this.a23, this.a11 * this.a22 - this.a12 * this.a21);\n };\n PerspectiveTransform.prototype.times = function (other) {\n return new PerspectiveTransform(this.a11 * other.a11 + this.a21 * other.a12 + this.a31 * other.a13, this.a11 * other.a21 + this.a21 * other.a22 + this.a31 * other.a23, this.a11 * other.a31 + this.a21 * other.a32 + this.a31 * other.a33, this.a12 * other.a11 + this.a22 * other.a12 + this.a32 * other.a13, this.a12 * other.a21 + this.a22 * other.a22 + this.a32 * other.a23, this.a12 * other.a31 + this.a22 * other.a32 + this.a32 * other.a33, this.a13 * other.a11 + this.a23 * other.a12 + this.a33 * other.a13, this.a13 * other.a21 + this.a23 * other.a22 + this.a33 * other.a23, this.a13 * other.a31 + this.a23 * other.a32 + this.a33 * other.a33);\n };\n return PerspectiveTransform;\n}());\nexport default PerspectiveTransform;\n","/*\n * Copyright (C) 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common {*/\n/*import java.nio.charset.Charset;*/\n/*import java.util.Map;*/\nimport DecodeHintType from '../DecodeHintType';\nimport CharacterSetECI from './CharacterSetECI';\nimport StringEncoding from '../util/StringEncoding';\n/**\n * Common string-related functions.\n *\n * @author Sean Owen\n * @author Alex Dupre\n */\nvar StringUtils = /** @class */ (function () {\n function StringUtils() {\n }\n // SHIFT_JIS.equalsIgnoreCase(PLATFORM_DEFAULT_ENCODING) ||\n // EUC_JP.equalsIgnoreCase(PLATFORM_DEFAULT_ENCODING);\n StringUtils.castAsNonUtf8Char = function (code, encoding) {\n if (encoding === void 0) { encoding = null; }\n // ISO 8859-1 is the Java default as UTF-8 is JavaScripts\n // you can see this method as a Java version of String.fromCharCode\n var e = encoding ? encoding.getName() : this.ISO88591;\n // use passed format (fromCharCode will return UTF8 encoding)\n return StringEncoding.decode(new Uint8Array([code]), e);\n };\n /**\n * @param bytes bytes encoding a string, whose encoding should be guessed\n * @param hints decode hints if applicable\n * @return name of guessed encoding; at the moment will only guess one of:\n * {@link #SHIFT_JIS}, {@link #UTF8}, {@link #ISO88591}, or the platform\n * default encoding if none of these can possibly be correct\n */\n StringUtils.guessEncoding = function (bytes, hints) {\n if (hints !== null && hints !== undefined && undefined !== hints.get(DecodeHintType.CHARACTER_SET)) {\n return hints.get(DecodeHintType.CHARACTER_SET).toString();\n }\n // For now, merely tries to distinguish ISO-8859-1, UTF-8 and Shift_JIS,\n // which should be by far the most common encodings.\n var length = bytes.length;\n var canBeISO88591 = true;\n var canBeShiftJIS = true;\n var canBeUTF8 = true;\n var utf8BytesLeft = 0;\n // int utf8LowChars = 0\n var utf2BytesChars = 0;\n var utf3BytesChars = 0;\n var utf4BytesChars = 0;\n var sjisBytesLeft = 0;\n // int sjisLowChars = 0\n var sjisKatakanaChars = 0;\n // int sjisDoubleBytesChars = 0\n var sjisCurKatakanaWordLength = 0;\n var sjisCurDoubleBytesWordLength = 0;\n var sjisMaxKatakanaWordLength = 0;\n var sjisMaxDoubleBytesWordLength = 0;\n // int isoLowChars = 0\n // int isoHighChars = 0\n var isoHighOther = 0;\n var utf8bom = bytes.length > 3 &&\n bytes[0] === /*(byte) */ 0xEF &&\n bytes[1] === /*(byte) */ 0xBB &&\n bytes[2] === /*(byte) */ 0xBF;\n for (var i = 0; i < length && (canBeISO88591 || canBeShiftJIS || canBeUTF8); i++) {\n var value = bytes[i] & 0xFF;\n // UTF-8 stuff\n if (canBeUTF8) {\n if (utf8BytesLeft > 0) {\n if ((value & 0x80) === 0) {\n canBeUTF8 = false;\n }\n else {\n utf8BytesLeft--;\n }\n }\n else if ((value & 0x80) !== 0) {\n if ((value & 0x40) === 0) {\n canBeUTF8 = false;\n }\n else {\n utf8BytesLeft++;\n if ((value & 0x20) === 0) {\n utf2BytesChars++;\n }\n else {\n utf8BytesLeft++;\n if ((value & 0x10) === 0) {\n utf3BytesChars++;\n }\n else {\n utf8BytesLeft++;\n if ((value & 0x08) === 0) {\n utf4BytesChars++;\n }\n else {\n canBeUTF8 = false;\n }\n }\n }\n }\n } // else {\n // utf8LowChars++\n // }\n }\n // ISO-8859-1 stuff\n if (canBeISO88591) {\n if (value > 0x7F && value < 0xA0) {\n canBeISO88591 = false;\n }\n else if (value > 0x9F) {\n if (value < 0xC0 || value === 0xD7 || value === 0xF7) {\n isoHighOther++;\n } // else {\n // isoHighChars++\n // }\n } // else {\n // isoLowChars++\n // }\n }\n // Shift_JIS stuff\n if (canBeShiftJIS) {\n if (sjisBytesLeft > 0) {\n if (value < 0x40 || value === 0x7F || value > 0xFC) {\n canBeShiftJIS = false;\n }\n else {\n sjisBytesLeft--;\n }\n }\n else if (value === 0x80 || value === 0xA0 || value > 0xEF) {\n canBeShiftJIS = false;\n }\n else if (value > 0xA0 && value < 0xE0) {\n sjisKatakanaChars++;\n sjisCurDoubleBytesWordLength = 0;\n sjisCurKatakanaWordLength++;\n if (sjisCurKatakanaWordLength > sjisMaxKatakanaWordLength) {\n sjisMaxKatakanaWordLength = sjisCurKatakanaWordLength;\n }\n }\n else if (value > 0x7F) {\n sjisBytesLeft++;\n // sjisDoubleBytesChars++\n sjisCurKatakanaWordLength = 0;\n sjisCurDoubleBytesWordLength++;\n if (sjisCurDoubleBytesWordLength > sjisMaxDoubleBytesWordLength) {\n sjisMaxDoubleBytesWordLength = sjisCurDoubleBytesWordLength;\n }\n }\n else {\n // sjisLowChars++\n sjisCurKatakanaWordLength = 0;\n sjisCurDoubleBytesWordLength = 0;\n }\n }\n }\n if (canBeUTF8 && utf8BytesLeft > 0) {\n canBeUTF8 = false;\n }\n if (canBeShiftJIS && sjisBytesLeft > 0) {\n canBeShiftJIS = false;\n }\n // Easy -- if there is BOM or at least 1 valid not-single byte character (and no evidence it can't be UTF-8), done\n if (canBeUTF8 && (utf8bom || utf2BytesChars + utf3BytesChars + utf4BytesChars > 0)) {\n return StringUtils.UTF8;\n }\n // Easy -- if assuming Shift_JIS or at least 3 valid consecutive not-ascii characters (and no evidence it can't be), done\n if (canBeShiftJIS && (StringUtils.ASSUME_SHIFT_JIS || sjisMaxKatakanaWordLength >= 3 || sjisMaxDoubleBytesWordLength >= 3)) {\n return StringUtils.SHIFT_JIS;\n }\n // Distinguishing Shift_JIS and ISO-8859-1 can be a little tough for short words. The crude heuristic is:\n // - If we saw\n // - only two consecutive katakana chars in the whole text, or\n // - at least 10% of bytes that could be \"upper\" not-alphanumeric Latin1,\n // - then we conclude Shift_JIS, else ISO-8859-1\n if (canBeISO88591 && canBeShiftJIS) {\n return (sjisMaxKatakanaWordLength === 2 && sjisKatakanaChars === 2) || isoHighOther * 10 >= length\n ? StringUtils.SHIFT_JIS : StringUtils.ISO88591;\n }\n // Otherwise, try in order ISO-8859-1, Shift JIS, UTF-8 and fall back to default platform encoding\n if (canBeISO88591) {\n return StringUtils.ISO88591;\n }\n if (canBeShiftJIS) {\n return StringUtils.SHIFT_JIS;\n }\n if (canBeUTF8) {\n return StringUtils.UTF8;\n }\n // Otherwise, we take a wild guess with platform encoding\n return StringUtils.PLATFORM_DEFAULT_ENCODING;\n };\n /**\n *\n * @see https://stackoverflow.com/a/13439711/4367683\n *\n * @param append The new string to append.\n * @param args Argumets values to be formated.\n */\n StringUtils.format = function (append) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var i = -1;\n function callback(exp, p0, p1, p2, p3, p4) {\n if (exp === '%%')\n return '%';\n if (args[++i] === undefined)\n return undefined;\n exp = p2 ? parseInt(p2.substr(1)) : undefined;\n var base = p3 ? parseInt(p3.substr(1)) : undefined;\n var val;\n switch (p4) {\n case 's':\n val = args[i];\n break;\n case 'c':\n val = args[i][0];\n break;\n case 'f':\n val = parseFloat(args[i]).toFixed(exp);\n break;\n case 'p':\n val = parseFloat(args[i]).toPrecision(exp);\n break;\n case 'e':\n val = parseFloat(args[i]).toExponential(exp);\n break;\n case 'x':\n val = parseInt(args[i]).toString(base ? base : 16);\n break;\n case 'd':\n val = parseFloat(parseInt(args[i], base ? base : 10).toPrecision(exp)).toFixed(0);\n break;\n }\n val = typeof val === 'object' ? JSON.stringify(val) : (+val).toString(base);\n var size = parseInt(p1); /* padding size */\n var ch = p1 && (p1[0] + '') === '0' ? '0' : ' '; /* isnull? */\n while (val.length < size)\n val = p0 !== undefined ? val + ch : ch + val; /* isminus? */\n return val;\n }\n var regex = /%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;\n return append.replace(regex, callback);\n };\n /**\n *\n */\n StringUtils.getBytes = function (str, encoding) {\n return StringEncoding.encode(str, encoding);\n };\n /**\n * Returns the charcode at the specified index or at index zero.\n */\n StringUtils.getCharCode = function (str, index) {\n if (index === void 0) { index = 0; }\n return str.charCodeAt(index);\n };\n /**\n * Returns char for given charcode\n */\n StringUtils.getCharAt = function (charCode) {\n return String.fromCharCode(charCode);\n };\n StringUtils.SHIFT_JIS = CharacterSetECI.SJIS.getName(); // \"SJIS\"\n StringUtils.GB2312 = 'GB2312';\n StringUtils.ISO88591 = CharacterSetECI.ISO8859_1.getName(); // \"ISO8859_1\"\n StringUtils.EUC_JP = 'EUC_JP';\n StringUtils.UTF8 = CharacterSetECI.UTF8.getName(); // \"UTF8\"\n StringUtils.PLATFORM_DEFAULT_ENCODING = StringUtils.UTF8; // \"UTF8\"//Charset.defaultCharset().name()\n StringUtils.ASSUME_SHIFT_JIS = false;\n return StringUtils;\n}());\nexport default StringUtils;\n","/*\n * Copyright 2012 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common.detector {*/\n/**\n * General math-related and numeric utility functions.\n */\nvar MathUtils = /** @class */ (function () {\n function MathUtils() {\n }\n /**\n * Ends up being a bit faster than {@link Math#round(float)}. This merely rounds its\n * argument to the nearest int, where x.5 rounds up to x+1. Semantics of this shortcut\n * differ slightly from {@link Math#round(float)} in that half rounds down for negative\n * values. -2.5 rounds to -3, not -2. For purposes here it makes no difference.\n *\n * @param d real value to round\n * @return nearest {@code int}\n */\n MathUtils.round = function (d /*float*/) {\n if (NaN === d)\n return 0;\n if (d <= Number.MIN_SAFE_INTEGER)\n return Number.MIN_SAFE_INTEGER;\n if (d >= Number.MAX_SAFE_INTEGER)\n return Number.MAX_SAFE_INTEGER;\n return /*(int) */ (d + (d < 0.0 ? -0.5 : 0.5)) | 0;\n };\n // TYPESCRIPTPORT: maybe remove round method and call directly Math.round, it looks like it doesn't make sense for js\n /**\n * @param aX point A x coordinate\n * @param aY point A y coordinate\n * @param bX point B x coordinate\n * @param bY point B y coordinate\n * @return Euclidean distance between points A and B\n */\n MathUtils.distance = function (aX /*float|int*/, aY /*float|int*/, bX /*float|int*/, bY /*float|int*/) {\n var xDiff = aX - bX;\n var yDiff = aY - bY;\n return /*(float) */ Math.sqrt(xDiff * xDiff + yDiff * yDiff);\n };\n /**\n * @param aX point A x coordinate\n * @param aY point A y coordinate\n * @param bX point B x coordinate\n * @param bY point B y coordinate\n * @return Euclidean distance between points A and B\n */\n // public static distance(aX: number /*int*/, aY: number /*int*/, bX: number /*int*/, bY: number /*int*/): float {\n // const xDiff = aX - bX\n // const yDiff = aY - bY\n // return (float) Math.sqrt(xDiff * xDiff + yDiff * yDiff);\n // }\n /**\n * @param array values to sum\n * @return sum of values in array\n */\n MathUtils.sum = function (array) {\n var count = 0;\n for (var i = 0, length_1 = array.length; i !== length_1; i++) {\n var a = array[i];\n count += a;\n }\n return count;\n };\n return MathUtils;\n}());\nexport default MathUtils;\n","/*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common.detector {*/\nimport ResultPoint from '../../ResultPoint';\nimport MathUtils from './MathUtils';\nimport NotFoundException from '../../NotFoundException';\n/**\n *

    \n * Detects a candidate barcode-like rectangular region within an image. It\n * starts around the center of the image, increases the size of the candidate\n * region until it finds a white rectangular region. By keeping track of the\n * last black points it encountered, it determines the corners of the barcode.\n *

    \n *\n * @author David Olivier\n */\nvar WhiteRectangleDetector = /** @class */ (function () {\n // public constructor(private image: BitMatrix) /*throws NotFoundException*/ {\n // this(image, INIT_SIZE, image.getWidth() / 2, image.getHeight() / 2)\n // }\n /**\n * @param image barcode image to find a rectangle in\n * @param initSize initial size of search area around center\n * @param x x position of search center\n * @param y y position of search center\n * @throws NotFoundException if image is too small to accommodate {@code initSize}\n */\n function WhiteRectangleDetector(image, initSize /*int*/, x /*int*/, y /*int*/) {\n this.image = image;\n this.height = image.getHeight();\n this.width = image.getWidth();\n if (undefined === initSize || null === initSize) {\n initSize = WhiteRectangleDetector.INIT_SIZE;\n }\n if (undefined === x || null === x) {\n x = image.getWidth() / 2 | 0;\n }\n if (undefined === y || null === y) {\n y = image.getHeight() / 2 | 0;\n }\n var halfsize = initSize / 2 | 0;\n this.leftInit = x - halfsize;\n this.rightInit = x + halfsize;\n this.upInit = y - halfsize;\n this.downInit = y + halfsize;\n if (this.upInit < 0 || this.leftInit < 0 || this.downInit >= this.height || this.rightInit >= this.width) {\n throw new NotFoundException();\n }\n }\n /**\n *

    \n * Detects a candidate barcode-like rectangular region within an image. It\n * starts around the center of the image, increases the size of the candidate\n * region until it finds a white rectangular region.\n *

    \n *\n * @return {@link ResultPoint}[] describing the corners of the rectangular\n * region. The first and last points are opposed on the diagonal, as\n * are the second and third. The first point will be the topmost\n * point and the last, the bottommost. The second point will be\n * leftmost and the third, the rightmost\n * @throws NotFoundException if no Data Matrix Code can be found\n */\n WhiteRectangleDetector.prototype.detect = function () {\n var left = this.leftInit;\n var right = this.rightInit;\n var up = this.upInit;\n var down = this.downInit;\n var sizeExceeded = false;\n var aBlackPointFoundOnBorder = true;\n var atLeastOneBlackPointFoundOnBorder = false;\n var atLeastOneBlackPointFoundOnRight = false;\n var atLeastOneBlackPointFoundOnBottom = false;\n var atLeastOneBlackPointFoundOnLeft = false;\n var atLeastOneBlackPointFoundOnTop = false;\n var width = this.width;\n var height = this.height;\n while (aBlackPointFoundOnBorder) {\n aBlackPointFoundOnBorder = false;\n // .....\n // . |\n // .....\n var rightBorderNotWhite = true;\n while ((rightBorderNotWhite || !atLeastOneBlackPointFoundOnRight) && right < width) {\n rightBorderNotWhite = this.containsBlackPoint(up, down, right, false);\n if (rightBorderNotWhite) {\n right++;\n aBlackPointFoundOnBorder = true;\n atLeastOneBlackPointFoundOnRight = true;\n }\n else if (!atLeastOneBlackPointFoundOnRight) {\n right++;\n }\n }\n if (right >= width) {\n sizeExceeded = true;\n break;\n }\n // .....\n // . .\n // .___.\n var bottomBorderNotWhite = true;\n while ((bottomBorderNotWhite || !atLeastOneBlackPointFoundOnBottom) && down < height) {\n bottomBorderNotWhite = this.containsBlackPoint(left, right, down, true);\n if (bottomBorderNotWhite) {\n down++;\n aBlackPointFoundOnBorder = true;\n atLeastOneBlackPointFoundOnBottom = true;\n }\n else if (!atLeastOneBlackPointFoundOnBottom) {\n down++;\n }\n }\n if (down >= height) {\n sizeExceeded = true;\n break;\n }\n // .....\n // | .\n // .....\n var leftBorderNotWhite = true;\n while ((leftBorderNotWhite || !atLeastOneBlackPointFoundOnLeft) && left >= 0) {\n leftBorderNotWhite = this.containsBlackPoint(up, down, left, false);\n if (leftBorderNotWhite) {\n left--;\n aBlackPointFoundOnBorder = true;\n atLeastOneBlackPointFoundOnLeft = true;\n }\n else if (!atLeastOneBlackPointFoundOnLeft) {\n left--;\n }\n }\n if (left < 0) {\n sizeExceeded = true;\n break;\n }\n // .___.\n // . .\n // .....\n var topBorderNotWhite = true;\n while ((topBorderNotWhite || !atLeastOneBlackPointFoundOnTop) && up >= 0) {\n topBorderNotWhite = this.containsBlackPoint(left, right, up, true);\n if (topBorderNotWhite) {\n up--;\n aBlackPointFoundOnBorder = true;\n atLeastOneBlackPointFoundOnTop = true;\n }\n else if (!atLeastOneBlackPointFoundOnTop) {\n up--;\n }\n }\n if (up < 0) {\n sizeExceeded = true;\n break;\n }\n if (aBlackPointFoundOnBorder) {\n atLeastOneBlackPointFoundOnBorder = true;\n }\n }\n if (!sizeExceeded && atLeastOneBlackPointFoundOnBorder) {\n var maxSize = right - left;\n var z = null;\n for (var i = 1; z === null && i < maxSize; i++) {\n z = this.getBlackPointOnSegment(left, down - i, left + i, down);\n }\n if (z == null) {\n throw new NotFoundException();\n }\n var t = null;\n // go down right\n for (var i = 1; t === null && i < maxSize; i++) {\n t = this.getBlackPointOnSegment(left, up + i, left + i, up);\n }\n if (t == null) {\n throw new NotFoundException();\n }\n var x = null;\n // go down left\n for (var i = 1; x === null && i < maxSize; i++) {\n x = this.getBlackPointOnSegment(right, up + i, right - i, up);\n }\n if (x == null) {\n throw new NotFoundException();\n }\n var y = null;\n // go up left\n for (var i = 1; y === null && i < maxSize; i++) {\n y = this.getBlackPointOnSegment(right, down - i, right - i, down);\n }\n if (y == null) {\n throw new NotFoundException();\n }\n return this.centerEdges(y, z, x, t);\n }\n else {\n throw new NotFoundException();\n }\n };\n WhiteRectangleDetector.prototype.getBlackPointOnSegment = function (aX /*float*/, aY /*float*/, bX /*float*/, bY /*float*/) {\n var dist = MathUtils.round(MathUtils.distance(aX, aY, bX, bY));\n var xStep = (bX - aX) / dist;\n var yStep = (bY - aY) / dist;\n var image = this.image;\n for (var i = 0; i < dist; i++) {\n var x = MathUtils.round(aX + i * xStep);\n var y = MathUtils.round(aY + i * yStep);\n if (image.get(x, y)) {\n return new ResultPoint(x, y);\n }\n }\n return null;\n };\n /**\n * recenters the points of a constant distance towards the center\n *\n * @param y bottom most point\n * @param z left most point\n * @param x right most point\n * @param t top most point\n * @return {@link ResultPoint}[] describing the corners of the rectangular\n * region. The first and last points are opposed on the diagonal, as\n * are the second and third. The first point will be the topmost\n * point and the last, the bottommost. The second point will be\n * leftmost and the third, the rightmost\n */\n WhiteRectangleDetector.prototype.centerEdges = function (y, z, x, t) {\n //\n // t t\n // z x\n // x OR z\n // y y\n //\n var yi = y.getX();\n var yj = y.getY();\n var zi = z.getX();\n var zj = z.getY();\n var xi = x.getX();\n var xj = x.getY();\n var ti = t.getX();\n var tj = t.getY();\n var CORR = WhiteRectangleDetector.CORR;\n if (yi < this.width / 2.0) {\n return [\n new ResultPoint(ti - CORR, tj + CORR),\n new ResultPoint(zi + CORR, zj + CORR),\n new ResultPoint(xi - CORR, xj - CORR),\n new ResultPoint(yi + CORR, yj - CORR)\n ];\n }\n else {\n return [\n new ResultPoint(ti + CORR, tj + CORR),\n new ResultPoint(zi + CORR, zj - CORR),\n new ResultPoint(xi - CORR, xj + CORR),\n new ResultPoint(yi - CORR, yj - CORR)\n ];\n }\n };\n /**\n * Determines whether a segment contains a black point\n *\n * @param a min value of the scanned coordinate\n * @param b max value of the scanned coordinate\n * @param fixed value of fixed coordinate\n * @param horizontal set to true if scan must be horizontal, false if vertical\n * @return true if a black point has been found, else false.\n */\n WhiteRectangleDetector.prototype.containsBlackPoint = function (a /*int*/, b /*int*/, fixed /*int*/, horizontal) {\n var image = this.image;\n if (horizontal) {\n for (var x = a; x <= b; x++) {\n if (image.get(x, fixed)) {\n return true;\n }\n }\n }\n else {\n for (var y = a; y <= b; y++) {\n if (image.get(fixed, y)) {\n return true;\n }\n }\n }\n return false;\n };\n WhiteRectangleDetector.INIT_SIZE = 10;\n WhiteRectangleDetector.CORR = 1;\n return WhiteRectangleDetector;\n}());\nexport default WhiteRectangleDetector;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n *

    This class contains utility methods for performing mathematical operations over\n * the Galois Fields. Operations use a given primitive polynomial in calculations.

    \n *\n *

    Throughout this package, elements of the GF are represented as an {@code int}\n * for convenience and speed (but at the cost of memory).\n *

    \n *\n * @author Sean Owen\n * @author David Olivier\n */\nvar AbstractGenericGF = /** @class */ (function () {\n function AbstractGenericGF() {\n }\n /**\n * @return 2 to the power of a in GF(size)\n */\n AbstractGenericGF.prototype.exp = function (a) {\n return this.expTable[a];\n };\n /**\n * @return base 2 log of a in GF(size)\n */\n AbstractGenericGF.prototype.log = function (a /*int*/) {\n if (a === 0) {\n throw new IllegalArgumentException();\n }\n return this.logTable[a];\n };\n /**\n * Implements both addition and subtraction -- they are the same in GF(size).\n *\n * @return sum/difference of a and b\n */\n AbstractGenericGF.addOrSubtract = function (a /*int*/, b /*int*/) {\n return a ^ b;\n };\n return AbstractGenericGF;\n}());\nexport default AbstractGenericGF;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.common.reedsolomon {*/\nimport GenericGFPoly from './GenericGFPoly';\nimport AbstractGenericGF from './AbstractGenericGF';\nimport Integer from '../../util/Integer';\nimport IllegalArgumentException from '../../IllegalArgumentException';\nimport ArithmeticException from '../../ArithmeticException';\n/**\n *

    This class contains utility methods for performing mathematical operations over\n * the Galois Fields. Operations use a given primitive polynomial in calculations.

    \n *\n *

    Throughout this package, elements of the GF are represented as an {@code int}\n * for convenience and speed (but at the cost of memory).\n *

    \n *\n * @author Sean Owen\n * @author David Olivier\n */\nvar GenericGF = /** @class */ (function (_super) {\n __extends(GenericGF, _super);\n /**\n * Create a representation of GF(size) using the given primitive polynomial.\n *\n * @param primitive irreducible polynomial whose coefficients are represented by\n * the bits of an int, where the least-significant bit represents the constant\n * coefficient\n * @param size the size of the field\n * @param b the factor b in the generator polynomial can be 0- or 1-based\n * (g(x) = (x+a^b)(x+a^(b+1))...(x+a^(b+2t-1))).\n * In most cases it should be 1, but for QR code it is 0.\n */\n function GenericGF(primitive /*int*/, size /*int*/, generatorBase /*int*/) {\n var _this = _super.call(this) || this;\n _this.primitive = primitive;\n _this.size = size;\n _this.generatorBase = generatorBase;\n var expTable = new Int32Array(size);\n var x = 1;\n for (var i = 0; i < size; i++) {\n expTable[i] = x;\n x *= 2; // we're assuming the generator alpha is 2\n if (x >= size) {\n x ^= primitive;\n x &= size - 1;\n }\n }\n _this.expTable = expTable;\n var logTable = new Int32Array(size);\n for (var i = 0; i < size - 1; i++) {\n logTable[expTable[i]] = i;\n }\n _this.logTable = logTable;\n // logTable[0] == 0 but this should never be used\n _this.zero = new GenericGFPoly(_this, Int32Array.from([0]));\n _this.one = new GenericGFPoly(_this, Int32Array.from([1]));\n return _this;\n }\n GenericGF.prototype.getZero = function () {\n return this.zero;\n };\n GenericGF.prototype.getOne = function () {\n return this.one;\n };\n /**\n * @return the monomial representing coefficient * x^degree\n */\n GenericGF.prototype.buildMonomial = function (degree /*int*/, coefficient /*int*/) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return this.zero;\n }\n var coefficients = new Int32Array(degree + 1);\n coefficients[0] = coefficient;\n return new GenericGFPoly(this, coefficients);\n };\n /**\n * @return multiplicative inverse of a\n */\n GenericGF.prototype.inverse = function (a /*int*/) {\n if (a === 0) {\n throw new ArithmeticException();\n }\n return this.expTable[this.size - this.logTable[a] - 1];\n };\n /**\n * @return product of a and b in GF(size)\n */\n GenericGF.prototype.multiply = function (a /*int*/, b /*int*/) {\n if (a === 0 || b === 0) {\n return 0;\n }\n return this.expTable[(this.logTable[a] + this.logTable[b]) % (this.size - 1)];\n };\n GenericGF.prototype.getSize = function () {\n return this.size;\n };\n GenericGF.prototype.getGeneratorBase = function () {\n return this.generatorBase;\n };\n /*@Override*/\n GenericGF.prototype.toString = function () {\n return ('GF(0x' + Integer.toHexString(this.primitive) + ',' + this.size + ')');\n };\n GenericGF.prototype.equals = function (o) {\n return o === this;\n };\n GenericGF.AZTEC_DATA_12 = new GenericGF(0x1069, 4096, 1); // x^12 + x^6 + x^5 + x^3 + 1\n GenericGF.AZTEC_DATA_10 = new GenericGF(0x409, 1024, 1); // x^10 + x^3 + 1\n GenericGF.AZTEC_DATA_6 = new GenericGF(0x43, 64, 1); // x^6 + x + 1\n GenericGF.AZTEC_PARAM = new GenericGF(0x13, 16, 1); // x^4 + x + 1\n GenericGF.QR_CODE_FIELD_256 = new GenericGF(0x011d, 256, 0); // x^8 + x^4 + x^3 + x^2 + 1\n GenericGF.DATA_MATRIX_FIELD_256 = new GenericGF(0x012d, 256, 1); // x^8 + x^5 + x^3 + x^2 + 1\n GenericGF.AZTEC_DATA_8 = GenericGF.DATA_MATRIX_FIELD_256;\n GenericGF.MAXICODE_FIELD_64 = GenericGF.AZTEC_DATA_6;\n return GenericGF;\n}(AbstractGenericGF));\nexport default GenericGF;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common.reedsolomon {*/\nimport AbstractGenericGF from './AbstractGenericGF';\nimport System from '../../util/System';\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n *

    Represents a polynomial whose coefficients are elements of a GF.\n * Instances of this class are immutable.

    \n *\n *

    Much credit is due to William Rucklidge since portions of this code are an indirect\n * port of his C++ Reed-Solomon implementation.

    \n *\n * @author Sean Owen\n */\nvar GenericGFPoly = /** @class */ (function () {\n /**\n * @param field the {@link GenericGF} instance representing the field to use\n * to perform computations\n * @param coefficients coefficients as ints representing elements of GF(size), arranged\n * from most significant (highest-power term) coefficient to least significant\n * @throws IllegalArgumentException if argument is null or empty,\n * or if leading coefficient is 0 and this is not a\n * constant polynomial (that is, it is not the monomial \"0\")\n */\n function GenericGFPoly(field, coefficients) {\n if (coefficients.length === 0) {\n throw new IllegalArgumentException();\n }\n this.field = field;\n var coefficientsLength = coefficients.length;\n if (coefficientsLength > 1 && coefficients[0] === 0) {\n // Leading term must be non-zero for anything except the constant polynomial \"0\"\n var firstNonZero = 1;\n while (firstNonZero < coefficientsLength && coefficients[firstNonZero] === 0) {\n firstNonZero++;\n }\n if (firstNonZero === coefficientsLength) {\n this.coefficients = Int32Array.from([0]);\n }\n else {\n this.coefficients = new Int32Array(coefficientsLength - firstNonZero);\n System.arraycopy(coefficients, firstNonZero, this.coefficients, 0, this.coefficients.length);\n }\n }\n else {\n this.coefficients = coefficients;\n }\n }\n GenericGFPoly.prototype.getCoefficients = function () {\n return this.coefficients;\n };\n /**\n * @return degree of this polynomial\n */\n GenericGFPoly.prototype.getDegree = function () {\n return this.coefficients.length - 1;\n };\n /**\n * @return true iff this polynomial is the monomial \"0\"\n */\n GenericGFPoly.prototype.isZero = function () {\n return this.coefficients[0] === 0;\n };\n /**\n * @return coefficient of x^degree term in this polynomial\n */\n GenericGFPoly.prototype.getCoefficient = function (degree /*int*/) {\n return this.coefficients[this.coefficients.length - 1 - degree];\n };\n /**\n * @return evaluation of this polynomial at a given point\n */\n GenericGFPoly.prototype.evaluateAt = function (a /*int*/) {\n if (a === 0) {\n // Just return the x^0 coefficient\n return this.getCoefficient(0);\n }\n var coefficients = this.coefficients;\n var result;\n if (a === 1) {\n // Just the sum of the coefficients\n result = 0;\n for (var i = 0, length_1 = coefficients.length; i !== length_1; i++) {\n var coefficient = coefficients[i];\n result = AbstractGenericGF.addOrSubtract(result, coefficient);\n }\n return result;\n }\n result = coefficients[0];\n var size = coefficients.length;\n var field = this.field;\n for (var i = 1; i < size; i++) {\n result = AbstractGenericGF.addOrSubtract(field.multiply(a, result), coefficients[i]);\n }\n return result;\n };\n GenericGFPoly.prototype.addOrSubtract = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('GenericGFPolys do not have same GenericGF field');\n }\n if (this.isZero()) {\n return other;\n }\n if (other.isZero()) {\n return this;\n }\n var smallerCoefficients = this.coefficients;\n var largerCoefficients = other.coefficients;\n if (smallerCoefficients.length > largerCoefficients.length) {\n var temp = smallerCoefficients;\n smallerCoefficients = largerCoefficients;\n largerCoefficients = temp;\n }\n var sumDiff = new Int32Array(largerCoefficients.length);\n var lengthDiff = largerCoefficients.length - smallerCoefficients.length;\n // Copy high-order terms only found in higher-degree polynomial's coefficients\n System.arraycopy(largerCoefficients, 0, sumDiff, 0, lengthDiff);\n for (var i = lengthDiff; i < largerCoefficients.length; i++) {\n sumDiff[i] = AbstractGenericGF.addOrSubtract(smallerCoefficients[i - lengthDiff], largerCoefficients[i]);\n }\n return new GenericGFPoly(this.field, sumDiff);\n };\n GenericGFPoly.prototype.multiply = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('GenericGFPolys do not have same GenericGF field');\n }\n if (this.isZero() || other.isZero()) {\n return this.field.getZero();\n }\n var aCoefficients = this.coefficients;\n var aLength = aCoefficients.length;\n var bCoefficients = other.coefficients;\n var bLength = bCoefficients.length;\n var product = new Int32Array(aLength + bLength - 1);\n var field = this.field;\n for (var i = 0; i < aLength; i++) {\n var aCoeff = aCoefficients[i];\n for (var j = 0; j < bLength; j++) {\n product[i + j] = AbstractGenericGF.addOrSubtract(product[i + j], field.multiply(aCoeff, bCoefficients[j]));\n }\n }\n return new GenericGFPoly(field, product);\n };\n GenericGFPoly.prototype.multiplyScalar = function (scalar /*int*/) {\n if (scalar === 0) {\n return this.field.getZero();\n }\n if (scalar === 1) {\n return this;\n }\n var size = this.coefficients.length;\n var field = this.field;\n var product = new Int32Array(size);\n var coefficients = this.coefficients;\n for (var i = 0; i < size; i++) {\n product[i] = field.multiply(coefficients[i], scalar);\n }\n return new GenericGFPoly(field, product);\n };\n GenericGFPoly.prototype.multiplyByMonomial = function (degree /*int*/, coefficient /*int*/) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return this.field.getZero();\n }\n var coefficients = this.coefficients;\n var size = coefficients.length;\n var product = new Int32Array(size + degree);\n var field = this.field;\n for (var i = 0; i < size; i++) {\n product[i] = field.multiply(coefficients[i], coefficient);\n }\n return new GenericGFPoly(field, product);\n };\n GenericGFPoly.prototype.divide = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('GenericGFPolys do not have same GenericGF field');\n }\n if (other.isZero()) {\n throw new IllegalArgumentException('Divide by 0');\n }\n var field = this.field;\n var quotient = field.getZero();\n var remainder = this;\n var denominatorLeadingTerm = other.getCoefficient(other.getDegree());\n var inverseDenominatorLeadingTerm = field.inverse(denominatorLeadingTerm);\n while (remainder.getDegree() >= other.getDegree() && !remainder.isZero()) {\n var degreeDifference = remainder.getDegree() - other.getDegree();\n var scale = field.multiply(remainder.getCoefficient(remainder.getDegree()), inverseDenominatorLeadingTerm);\n var term = other.multiplyByMonomial(degreeDifference, scale);\n var iterationQuotient = field.buildMonomial(degreeDifference, scale);\n quotient = quotient.addOrSubtract(iterationQuotient);\n remainder = remainder.addOrSubtract(term);\n }\n return [quotient, remainder];\n };\n /*@Override*/\n GenericGFPoly.prototype.toString = function () {\n var result = '';\n for (var degree = this.getDegree(); degree >= 0; degree--) {\n var coefficient = this.getCoefficient(degree);\n if (coefficient !== 0) {\n if (coefficient < 0) {\n result += ' - ';\n coefficient = -coefficient;\n }\n else {\n if (result.length > 0) {\n result += ' + ';\n }\n }\n if (degree === 0 || coefficient !== 1) {\n var alphaPower = this.field.log(coefficient);\n if (alphaPower === 0) {\n result += '1';\n }\n else if (alphaPower === 1) {\n result += 'a';\n }\n else {\n result += 'a^';\n result += alphaPower;\n }\n }\n if (degree !== 0) {\n if (degree === 1) {\n result += 'x';\n }\n else {\n result += 'x^';\n result += degree;\n }\n }\n }\n }\n return result;\n };\n return GenericGFPoly;\n}());\nexport default GenericGFPoly;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.common.reedsolomon {*/\nimport GenericGF from './GenericGF';\nimport GenericGFPoly from './GenericGFPoly';\nimport ReedSolomonException from '../../ReedSolomonException';\nimport IllegalStateException from '../../IllegalStateException';\n/**\n *

    Implements Reed-Solomon decoding, as the name implies.

    \n *\n *

    The algorithm will not be explained here, but the following references were helpful\n * in creating this implementation:

    \n *\n * \n *\n *

    Much credit is due to William Rucklidge since portions of this code are an indirect\n * port of his C++ Reed-Solomon implementation.

    \n *\n * @author Sean Owen\n * @author William Rucklidge\n * @author sanfordsquires\n */\nvar ReedSolomonDecoder = /** @class */ (function () {\n function ReedSolomonDecoder(field) {\n this.field = field;\n }\n /**\n *

    Decodes given set of received codewords, which include both data and error-correction\n * codewords. Really, this means it uses Reed-Solomon to detect and correct errors, in-place,\n * in the input.

    \n *\n * @param received data and error-correction codewords\n * @param twoS number of error-correction codewords available\n * @throws ReedSolomonException if decoding fails for any reason\n */\n ReedSolomonDecoder.prototype.decode = function (received, twoS /*int*/) {\n var field = this.field;\n var poly = new GenericGFPoly(field, received);\n var syndromeCoefficients = new Int32Array(twoS);\n var noError = true;\n for (var i = 0; i < twoS; i++) {\n var evalResult = poly.evaluateAt(field.exp(i + field.getGeneratorBase()));\n syndromeCoefficients[syndromeCoefficients.length - 1 - i] = evalResult;\n if (evalResult !== 0) {\n noError = false;\n }\n }\n if (noError) {\n return;\n }\n var syndrome = new GenericGFPoly(field, syndromeCoefficients);\n var sigmaOmega = this.runEuclideanAlgorithm(field.buildMonomial(twoS, 1), syndrome, twoS);\n var sigma = sigmaOmega[0];\n var omega = sigmaOmega[1];\n var errorLocations = this.findErrorLocations(sigma);\n var errorMagnitudes = this.findErrorMagnitudes(omega, errorLocations);\n for (var i = 0; i < errorLocations.length; i++) {\n var position = received.length - 1 - field.log(errorLocations[i]);\n if (position < 0) {\n throw new ReedSolomonException('Bad error location');\n }\n received[position] = GenericGF.addOrSubtract(received[position], errorMagnitudes[i]);\n }\n };\n ReedSolomonDecoder.prototype.runEuclideanAlgorithm = function (a, b, R /*int*/) {\n // Assume a's degree is >= b's\n if (a.getDegree() < b.getDegree()) {\n var temp = a;\n a = b;\n b = temp;\n }\n var field = this.field;\n var rLast = a;\n var r = b;\n var tLast = field.getZero();\n var t = field.getOne();\n // Run Euclidean algorithm until r's degree is less than R/2\n while (r.getDegree() >= (R / 2 | 0)) {\n var rLastLast = rLast;\n var tLastLast = tLast;\n rLast = r;\n tLast = t;\n // Divide rLastLast by rLast, with quotient in q and remainder in r\n if (rLast.isZero()) {\n // Oops, Euclidean algorithm already terminated?\n throw new ReedSolomonException('r_{i-1} was zero');\n }\n r = rLastLast;\n var q = field.getZero();\n var denominatorLeadingTerm = rLast.getCoefficient(rLast.getDegree());\n var dltInverse = field.inverse(denominatorLeadingTerm);\n while (r.getDegree() >= rLast.getDegree() && !r.isZero()) {\n var degreeDiff = r.getDegree() - rLast.getDegree();\n var scale = field.multiply(r.getCoefficient(r.getDegree()), dltInverse);\n q = q.addOrSubtract(field.buildMonomial(degreeDiff, scale));\n r = r.addOrSubtract(rLast.multiplyByMonomial(degreeDiff, scale));\n }\n t = q.multiply(tLast).addOrSubtract(tLastLast);\n if (r.getDegree() >= rLast.getDegree()) {\n throw new IllegalStateException('Division algorithm failed to reduce polynomial?');\n }\n }\n var sigmaTildeAtZero = t.getCoefficient(0);\n if (sigmaTildeAtZero === 0) {\n throw new ReedSolomonException('sigmaTilde(0) was zero');\n }\n var inverse = field.inverse(sigmaTildeAtZero);\n var sigma = t.multiplyScalar(inverse);\n var omega = r.multiplyScalar(inverse);\n return [sigma, omega];\n };\n ReedSolomonDecoder.prototype.findErrorLocations = function (errorLocator) {\n // This is a direct application of Chien's search\n var numErrors = errorLocator.getDegree();\n if (numErrors === 1) { // shortcut\n return Int32Array.from([errorLocator.getCoefficient(1)]);\n }\n var result = new Int32Array(numErrors);\n var e = 0;\n var field = this.field;\n for (var i = 1; i < field.getSize() && e < numErrors; i++) {\n if (errorLocator.evaluateAt(i) === 0) {\n result[e] = field.inverse(i);\n e++;\n }\n }\n if (e !== numErrors) {\n throw new ReedSolomonException('Error locator degree does not match number of roots');\n }\n return result;\n };\n ReedSolomonDecoder.prototype.findErrorMagnitudes = function (errorEvaluator, errorLocations) {\n // This is directly applying Forney's Formula\n var s = errorLocations.length;\n var result = new Int32Array(s);\n var field = this.field;\n for (var i = 0; i < s; i++) {\n var xiInverse = field.inverse(errorLocations[i]);\n var denominator = 1;\n for (var j = 0; j < s; j++) {\n if (i !== j) {\n // denominator = field.multiply(denominator,\n // GenericGF.addOrSubtract(1, field.multiply(errorLocations[j], xiInverse)))\n // Above should work but fails on some Apple and Linux JDKs due to a Hotspot bug.\n // Below is a funny-looking workaround from Steven Parkes\n var term = field.multiply(errorLocations[j], xiInverse);\n var termPlus1 = (term & 0x1) === 0 ? term | 1 : term & ~1;\n denominator = field.multiply(denominator, termPlus1);\n }\n }\n result[i] = field.multiply(errorEvaluator.evaluateAt(xiInverse), field.inverse(denominator));\n if (field.getGeneratorBase() !== 0) {\n result[i] = field.multiply(result[i], xiInverse);\n }\n }\n return result;\n };\n return ReedSolomonDecoder;\n}());\nexport default ReedSolomonDecoder;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport GenericGFPoly from './GenericGFPoly';\nimport System from '../../util/System';\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n *

    Implements Reed-Solomon encoding, as the name implies.

    \n *\n * @author Sean Owen\n * @author William Rucklidge\n */\nvar ReedSolomonEncoder = /** @class */ (function () {\n /**\n * A reed solomon error-correcting encoding constructor is created by\n * passing as Galois Field with of size equal to the number of code\n * words (symbols) in the alphabet (the number of values in each\n * element of arrays that are encoded/decoded).\n * @param field A galois field with a number of elements equal to the size\n * of the alphabet of symbols to encode.\n */\n function ReedSolomonEncoder(field) {\n this.field = field;\n this.cachedGenerators = [];\n this.cachedGenerators.push(new GenericGFPoly(field, Int32Array.from([1])));\n }\n ReedSolomonEncoder.prototype.buildGenerator = function (degree /*int*/) {\n var cachedGenerators = this.cachedGenerators;\n if (degree >= cachedGenerators.length) {\n var lastGenerator = cachedGenerators[cachedGenerators.length - 1];\n var field = this.field;\n for (var d = cachedGenerators.length; d <= degree; d++) {\n var nextGenerator = lastGenerator.multiply(new GenericGFPoly(field, Int32Array.from([1, field.exp(d - 1 + field.getGeneratorBase())])));\n cachedGenerators.push(nextGenerator);\n lastGenerator = nextGenerator;\n }\n }\n return cachedGenerators[degree];\n };\n /**\n *

    Encode a sequence of code words (symbols) using Reed-Solomon to allow decoders\n * to detect and correct errors that may have been introduced when the resulting\n * data is stored or transmitted.

    \n *\n * @param toEncode array used for both and output. Caller initializes the array with\n * the code words (symbols) to be encoded followed by empty elements allocated to make\n * space for error-correction code words in the encoded output. The array contains\n * the encdoded output when encode returns. Code words are encoded as numbers from\n * 0 to n-1, where n is the number of possible code words (symbols), as determined\n * by the size of the Galois Field passed in the constructor of this object.\n * @param ecBytes the number of elements reserved in the array (first parameter)\n * to store error-correction code words. Thus, the number of code words (symbols)\n * to encode in the first parameter is thus toEncode.length - ecBytes.\n * Note, the use of \"bytes\" in the name of this parameter is misleading, as there may\n * be more or fewer than 256 symbols being encoded, as determined by the number of\n * elements in the Galois Field passed as a constructor to this object.\n * @throws IllegalArgumentException thrown in response to validation errros.\n */\n ReedSolomonEncoder.prototype.encode = function (toEncode, ecBytes /*int*/) {\n if (ecBytes === 0) {\n throw new IllegalArgumentException('No error correction bytes');\n }\n var dataBytes = toEncode.length - ecBytes;\n if (dataBytes <= 0) {\n throw new IllegalArgumentException('No data bytes provided');\n }\n var generator = this.buildGenerator(ecBytes);\n var infoCoefficients = new Int32Array(dataBytes);\n System.arraycopy(toEncode, 0, infoCoefficients, 0, dataBytes);\n var info = new GenericGFPoly(this.field, infoCoefficients);\n info = info.multiplyByMonomial(ecBytes, 1);\n var remainder = info.divide(generator)[1];\n var coefficients = remainder.getCoefficients();\n var numZeroCoefficients = ecBytes - coefficients.length;\n for (var i = 0; i < numZeroCoefficients; i++) {\n toEncode[dataBytes + i] = 0;\n }\n System.arraycopy(coefficients, 0, toEncode, dataBytes + numZeroCoefficients, coefficients.length);\n };\n return ReedSolomonEncoder;\n}());\nexport default ReedSolomonEncoder;\n","import BarcodeFormat from '../BarcodeFormat';\nimport BitMatrix from '../common/BitMatrix';\nimport DecodeHintType from '../DecodeHintType';\nimport NotFoundException from '../NotFoundException';\nimport Result from '../Result';\nimport ResultMetadataType from '../ResultMetadataType';\nimport System from '../util/System';\nimport Decoder from './decoder/Decoder';\nimport Detector from './detector/Detector';\n/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * This implementation can detect and decode Data Matrix codes in an image.\n *\n * @author bbrown@google.com (Brian Brown)\n */\nvar DataMatrixReader = /** @class */ (function () {\n function DataMatrixReader() {\n this.decoder = new Decoder();\n }\n /**\n * Locates and decodes a Data Matrix code in an image.\n *\n * @return a String representing the content encoded by the Data Matrix code\n * @throws NotFoundException if a Data Matrix code cannot be found\n * @throws FormatException if a Data Matrix code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n // @Override\n // public Result decode(BinaryBitmap image) throws NotFoundException, ChecksumException, FormatException {\n // return decode(image, null);\n // }\n // @Override\n DataMatrixReader.prototype.decode = function (image, hints) {\n if (hints === void 0) { hints = null; }\n var decoderResult;\n var points;\n if (hints != null && hints.has(DecodeHintType.PURE_BARCODE)) {\n var bits = DataMatrixReader.extractPureBits(image.getBlackMatrix());\n decoderResult = this.decoder.decode(bits);\n points = DataMatrixReader.NO_POINTS;\n }\n else {\n var detectorResult = new Detector(image.getBlackMatrix()).detect();\n decoderResult = this.decoder.decode(detectorResult.getBits());\n points = detectorResult.getPoints();\n }\n var rawBytes = decoderResult.getRawBytes();\n var result = new Result(decoderResult.getText(), rawBytes, 8 * rawBytes.length, points, BarcodeFormat.DATA_MATRIX, System.currentTimeMillis());\n var byteSegments = decoderResult.getByteSegments();\n if (byteSegments != null) {\n result.putMetadata(ResultMetadataType.BYTE_SEGMENTS, byteSegments);\n }\n var ecLevel = decoderResult.getECLevel();\n if (ecLevel != null) {\n result.putMetadata(ResultMetadataType.ERROR_CORRECTION_LEVEL, ecLevel);\n }\n return result;\n };\n // @Override\n DataMatrixReader.prototype.reset = function () {\n // do nothing\n };\n /**\n * This method detects a code in a \"pure\" image -- that is, pure monochrome image\n * which contains only an unrotated, unskewed, image of a code, with some white border\n * around it. This is a specialized method that works exceptionally fast in this special\n * case.\n *\n * @see com.google.zxing.qrcode.QRCodeReader#extractPureBits(BitMatrix)\n */\n DataMatrixReader.extractPureBits = function (image) {\n var leftTopBlack = image.getTopLeftOnBit();\n var rightBottomBlack = image.getBottomRightOnBit();\n if (leftTopBlack == null || rightBottomBlack == null) {\n throw new NotFoundException();\n }\n var moduleSize = this.moduleSize(leftTopBlack, image);\n var top = leftTopBlack[1];\n var bottom = rightBottomBlack[1];\n var left = leftTopBlack[0];\n var right = rightBottomBlack[0];\n var matrixWidth = (right - left + 1) / moduleSize;\n var matrixHeight = (bottom - top + 1) / moduleSize;\n if (matrixWidth <= 0 || matrixHeight <= 0) {\n throw new NotFoundException();\n }\n // Push in the \"border\" by half the module width so that we start\n // sampling in the middle of the module. Just in case the image is a\n // little off, this will help recover.\n var nudge = moduleSize / 2;\n top += nudge;\n left += nudge;\n // Now just read off the bits\n var bits = new BitMatrix(matrixWidth, matrixHeight);\n for (var y = 0; y < matrixHeight; y++) {\n var iOffset = top + y * moduleSize;\n for (var x = 0; x < matrixWidth; x++) {\n if (image.get(left + x * moduleSize, iOffset)) {\n bits.set(x, y);\n }\n }\n }\n return bits;\n };\n DataMatrixReader.moduleSize = function (leftTopBlack, image) {\n var width = image.getWidth();\n var x = leftTopBlack[0];\n var y = leftTopBlack[1];\n while (x < width && image.get(x, y)) {\n x++;\n }\n if (x === width) {\n throw new NotFoundException();\n }\n var moduleSize = x - leftTopBlack[0];\n if (moduleSize === 0) {\n throw new NotFoundException();\n }\n return moduleSize;\n };\n DataMatrixReader.NO_POINTS = [];\n return DataMatrixReader;\n}());\nexport default DataMatrixReader;\n","import BitMatrix from '../../common/BitMatrix';\nimport Version from './Version';\nimport FormatException from '../../FormatException';\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @author bbrown@google.com (Brian Brown)\n */\nvar BitMatrixParser = /** @class */ (function () {\n /**\n * @param bitMatrix {@link BitMatrix} to parse\n * @throws FormatException if dimension is < 8 or > 144 or not 0 mod 2\n */\n function BitMatrixParser(bitMatrix) {\n var dimension = bitMatrix.getHeight();\n if (dimension < 8 || dimension > 144 || (dimension & 0x01) !== 0) {\n throw new FormatException();\n }\n this.version = BitMatrixParser.readVersion(bitMatrix);\n this.mappingBitMatrix = this.extractDataRegion(bitMatrix);\n this.readMappingMatrix = new BitMatrix(this.mappingBitMatrix.getWidth(), this.mappingBitMatrix.getHeight());\n }\n BitMatrixParser.prototype.getVersion = function () {\n return this.version;\n };\n /**\n *

    Creates the version object based on the dimension of the original bit matrix from\n * the datamatrix code.

    \n *\n *

    See ISO 16022:2006 Table 7 - ECC 200 symbol attributes

    \n *\n * @param bitMatrix Original {@link BitMatrix} including alignment patterns\n * @return {@link Version} encapsulating the Data Matrix Code's \"version\"\n * @throws FormatException if the dimensions of the mapping matrix are not valid\n * Data Matrix dimensions.\n */\n BitMatrixParser.readVersion = function (bitMatrix) {\n var numRows = bitMatrix.getHeight();\n var numColumns = bitMatrix.getWidth();\n return Version.getVersionForDimensions(numRows, numColumns);\n };\n /**\n *

    Reads the bits in the {@link BitMatrix} representing the mapping matrix (No alignment patterns)\n * in the correct order in order to reconstitute the codewords bytes contained within the\n * Data Matrix Code.

    \n *\n * @return bytes encoded within the Data Matrix Code\n * @throws FormatException if the exact number of bytes expected is not read\n */\n BitMatrixParser.prototype.readCodewords = function () {\n var result = new Int8Array(this.version.getTotalCodewords());\n var resultOffset = 0;\n var row = 4;\n var column = 0;\n var numRows = this.mappingBitMatrix.getHeight();\n var numColumns = this.mappingBitMatrix.getWidth();\n var corner1Read = false;\n var corner2Read = false;\n var corner3Read = false;\n var corner4Read = false;\n // Read all of the codewords\n do {\n // Check the four corner cases\n if ((row === numRows) && (column === 0) && !corner1Read) {\n result[resultOffset++] = this.readCorner1(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner1Read = true;\n }\n else if ((row === numRows - 2) && (column === 0) && ((numColumns & 0x03) !== 0) && !corner2Read) {\n result[resultOffset++] = this.readCorner2(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner2Read = true;\n }\n else if ((row === numRows + 4) && (column === 2) && ((numColumns & 0x07) === 0) && !corner3Read) {\n result[resultOffset++] = this.readCorner3(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner3Read = true;\n }\n else if ((row === numRows - 2) && (column === 0) && ((numColumns & 0x07) === 4) && !corner4Read) {\n result[resultOffset++] = this.readCorner4(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner4Read = true;\n }\n else {\n // Sweep upward diagonally to the right\n do {\n if ((row < numRows) && (column >= 0) && !this.readMappingMatrix.get(column, row)) {\n result[resultOffset++] = this.readUtah(row, column, numRows, numColumns) & 0xff;\n }\n row -= 2;\n column += 2;\n } while ((row >= 0) && (column < numColumns));\n row += 1;\n column += 3;\n // Sweep downward diagonally to the left\n do {\n if ((row >= 0) && (column < numColumns) && !this.readMappingMatrix.get(column, row)) {\n result[resultOffset++] = this.readUtah(row, column, numRows, numColumns) & 0xff;\n }\n row += 2;\n column -= 2;\n } while ((row < numRows) && (column >= 0));\n row += 3;\n column += 1;\n }\n } while ((row < numRows) || (column < numColumns));\n if (resultOffset !== this.version.getTotalCodewords()) {\n throw new FormatException();\n }\n return result;\n };\n /**\n *

    Reads a bit of the mapping matrix accounting for boundary wrapping.

    \n *\n * @param row Row to read in the mapping matrix\n * @param column Column to read in the mapping matrix\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return value of the given bit in the mapping matrix\n */\n BitMatrixParser.prototype.readModule = function (row, column, numRows, numColumns) {\n // Adjust the row and column indices based on boundary wrapping\n if (row < 0) {\n row += numRows;\n column += 4 - ((numRows + 4) & 0x07);\n }\n if (column < 0) {\n column += numColumns;\n row += 4 - ((numColumns + 4) & 0x07);\n }\n this.readMappingMatrix.set(column, row);\n return this.mappingBitMatrix.get(column, row);\n };\n /**\n *

    Reads the 8 bits of the standard Utah-shaped pattern.

    \n *\n *

    See ISO 16022:2006, 5.8.1 Figure 6

    \n *\n * @param row Current row in the mapping matrix, anchored at the 8th bit (LSB) of the pattern\n * @param column Current column in the mapping matrix, anchored at the 8th bit (LSB) of the pattern\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the utah shape\n */\n BitMatrixParser.prototype.readUtah = function (row, column, numRows, numColumns) {\n var currentByte = 0;\n if (this.readModule(row - 2, column - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 2, column - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 1, column - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 1, column - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 1, column, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row, column - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row, column - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row, column, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n };\n /**\n *

    Reads the 8 bits of the special corner condition 1.

    \n *\n *

    See ISO 16022:2006, Figure F.3

    \n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 1\n */\n BitMatrixParser.prototype.readCorner1 = function (numRows, numColumns) {\n var currentByte = 0;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(2, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(3, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n };\n /**\n *

    Reads the 8 bits of the special corner condition 2.

    \n *\n *

    See ISO 16022:2006, Figure F.4

    \n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 2\n */\n BitMatrixParser.prototype.readCorner2 = function (numRows, numColumns) {\n var currentByte = 0;\n if (this.readModule(numRows - 3, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 2, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 4, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 3, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n };\n /**\n *

    Reads the 8 bits of the special corner condition 3.

    \n *\n *

    See ISO 16022:2006, Figure F.5

    \n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 3\n */\n BitMatrixParser.prototype.readCorner3 = function (numRows, numColumns) {\n var currentByte = 0;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 3, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 3, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n };\n /**\n *

    Reads the 8 bits of the special corner condition 4.

    \n *\n *

    See ISO 16022:2006, Figure F.6

    \n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 4\n */\n BitMatrixParser.prototype.readCorner4 = function (numRows, numColumns) {\n var currentByte = 0;\n if (this.readModule(numRows - 3, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 2, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(2, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(3, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n };\n /**\n *

    Extracts the data region from a {@link BitMatrix} that contains\n * alignment patterns.

    \n *\n * @param bitMatrix Original {@link BitMatrix} with alignment patterns\n * @return BitMatrix that has the alignment patterns removed\n */\n BitMatrixParser.prototype.extractDataRegion = function (bitMatrix) {\n var symbolSizeRows = this.version.getSymbolSizeRows();\n var symbolSizeColumns = this.version.getSymbolSizeColumns();\n if (bitMatrix.getHeight() !== symbolSizeRows) {\n throw new IllegalArgumentException('Dimension of bitMatrix must match the version size');\n }\n var dataRegionSizeRows = this.version.getDataRegionSizeRows();\n var dataRegionSizeColumns = this.version.getDataRegionSizeColumns();\n var numDataRegionsRow = symbolSizeRows / dataRegionSizeRows | 0;\n var numDataRegionsColumn = symbolSizeColumns / dataRegionSizeColumns | 0;\n var sizeDataRegionRow = numDataRegionsRow * dataRegionSizeRows;\n var sizeDataRegionColumn = numDataRegionsColumn * dataRegionSizeColumns;\n var bitMatrixWithoutAlignment = new BitMatrix(sizeDataRegionColumn, sizeDataRegionRow);\n for (var dataRegionRow = 0; dataRegionRow < numDataRegionsRow; ++dataRegionRow) {\n var dataRegionRowOffset = dataRegionRow * dataRegionSizeRows;\n for (var dataRegionColumn = 0; dataRegionColumn < numDataRegionsColumn; ++dataRegionColumn) {\n var dataRegionColumnOffset = dataRegionColumn * dataRegionSizeColumns;\n for (var i = 0; i < dataRegionSizeRows; ++i) {\n var readRowOffset = dataRegionRow * (dataRegionSizeRows + 2) + 1 + i;\n var writeRowOffset = dataRegionRowOffset + i;\n for (var j = 0; j < dataRegionSizeColumns; ++j) {\n var readColumnOffset = dataRegionColumn * (dataRegionSizeColumns + 2) + 1 + j;\n if (bitMatrix.get(readColumnOffset, readRowOffset)) {\n var writeColumnOffset = dataRegionColumnOffset + j;\n bitMatrixWithoutAlignment.set(writeColumnOffset, writeRowOffset);\n }\n }\n }\n }\n }\n return bitMatrixWithoutAlignment;\n };\n return BitMatrixParser;\n}());\nexport default BitMatrixParser;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n *

    Encapsulates a block of data within a Data Matrix Code. Data Matrix Codes may split their data into\n * multiple blocks, each of which is a unit of data and error-correction codewords. Each\n * is represented by an instance of this class.

    \n *\n * @author bbrown@google.com (Brian Brown)\n */\nvar DataBlock = /** @class */ (function () {\n function DataBlock(numDataCodewords, codewords) {\n this.numDataCodewords = numDataCodewords;\n this.codewords = codewords;\n }\n /**\n *

    When Data Matrix Codes use multiple data blocks, they actually interleave the bytes of each of them.\n * That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This\n * method will separate the data into original blocks.

    \n *\n * @param rawCodewords bytes as read directly from the Data Matrix Code\n * @param version version of the Data Matrix Code\n * @return DataBlocks containing original bytes, \"de-interleaved\" from representation in the\n * Data Matrix Code\n */\n DataBlock.getDataBlocks = function (rawCodewords, version) {\n var e_1, _a, e_2, _b;\n // Figure out the number and size of data blocks used by this version\n var ecBlocks = version.getECBlocks();\n // First count the total number of data blocks\n var totalBlocks = 0;\n var ecBlockArray = ecBlocks.getECBlocks();\n try {\n for (var ecBlockArray_1 = __values(ecBlockArray), ecBlockArray_1_1 = ecBlockArray_1.next(); !ecBlockArray_1_1.done; ecBlockArray_1_1 = ecBlockArray_1.next()) {\n var ecBlock = ecBlockArray_1_1.value;\n totalBlocks += ecBlock.getCount();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (ecBlockArray_1_1 && !ecBlockArray_1_1.done && (_a = ecBlockArray_1.return)) _a.call(ecBlockArray_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n // Now establish DataBlocks of the appropriate size and number of data codewords\n var result = new Array(totalBlocks);\n var numResultBlocks = 0;\n try {\n for (var ecBlockArray_2 = __values(ecBlockArray), ecBlockArray_2_1 = ecBlockArray_2.next(); !ecBlockArray_2_1.done; ecBlockArray_2_1 = ecBlockArray_2.next()) {\n var ecBlock = ecBlockArray_2_1.value;\n for (var i = 0; i < ecBlock.getCount(); i++) {\n var numDataCodewords = ecBlock.getDataCodewords();\n var numBlockCodewords = ecBlocks.getECCodewords() + numDataCodewords;\n result[numResultBlocks++] = new DataBlock(numDataCodewords, new Uint8Array(numBlockCodewords));\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (ecBlockArray_2_1 && !ecBlockArray_2_1.done && (_b = ecBlockArray_2.return)) _b.call(ecBlockArray_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // All blocks have the same amount of data, except that the last n\n // (where n may be 0) have 1 less byte. Figure out where these start.\n // TODO(bbrown): There is only one case where there is a difference for Data Matrix for size 144\n var longerBlocksTotalCodewords = result[0].codewords.length;\n // int shorterBlocksTotalCodewords = longerBlocksTotalCodewords - 1;\n var longerBlocksNumDataCodewords = longerBlocksTotalCodewords - ecBlocks.getECCodewords();\n var shorterBlocksNumDataCodewords = longerBlocksNumDataCodewords - 1;\n // The last elements of result may be 1 element shorter for 144 matrix\n // first fill out as many elements as all of them have minus 1\n var rawCodewordsOffset = 0;\n for (var i = 0; i < shorterBlocksNumDataCodewords; i++) {\n for (var j = 0; j < numResultBlocks; j++) {\n result[j].codewords[i] = rawCodewords[rawCodewordsOffset++];\n }\n }\n // Fill out the last data block in the longer ones\n var specialVersion = version.getVersionNumber() === 24;\n var numLongerBlocks = specialVersion ? 8 : numResultBlocks;\n for (var j = 0; j < numLongerBlocks; j++) {\n result[j].codewords[longerBlocksNumDataCodewords - 1] = rawCodewords[rawCodewordsOffset++];\n }\n // Now add in error correction blocks\n var max = result[0].codewords.length;\n for (var i = longerBlocksNumDataCodewords; i < max; i++) {\n for (var j = 0; j < numResultBlocks; j++) {\n var jOffset = specialVersion ? (j + 8) % numResultBlocks : j;\n var iOffset = specialVersion && jOffset > 7 ? i - 1 : i;\n result[jOffset].codewords[iOffset] = rawCodewords[rawCodewordsOffset++];\n }\n }\n if (rawCodewordsOffset !== rawCodewords.length) {\n throw new IllegalArgumentException();\n }\n return result;\n };\n DataBlock.prototype.getNumDataCodewords = function () {\n return this.numDataCodewords;\n };\n DataBlock.prototype.getCodewords = function () {\n return this.codewords;\n };\n return DataBlock;\n}());\nexport default DataBlock;\n","import DecoderResult from '../../common/DecoderResult';\nimport BitSource from '../../common/BitSource';\nimport StringBuilder from '../../util/StringBuilder';\nimport StringEncoding from '../../util/StringEncoding';\nimport StringUtils from '../../common/StringUtils';\nimport FormatException from '../../FormatException';\nimport IllegalStateException from '../../IllegalStateException';\n/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar Mode;\n(function (Mode) {\n Mode[Mode[\"PAD_ENCODE\"] = 0] = \"PAD_ENCODE\";\n Mode[Mode[\"ASCII_ENCODE\"] = 1] = \"ASCII_ENCODE\";\n Mode[Mode[\"C40_ENCODE\"] = 2] = \"C40_ENCODE\";\n Mode[Mode[\"TEXT_ENCODE\"] = 3] = \"TEXT_ENCODE\";\n Mode[Mode[\"ANSIX12_ENCODE\"] = 4] = \"ANSIX12_ENCODE\";\n Mode[Mode[\"EDIFACT_ENCODE\"] = 5] = \"EDIFACT_ENCODE\";\n Mode[Mode[\"BASE256_ENCODE\"] = 6] = \"BASE256_ENCODE\";\n})(Mode || (Mode = {}));\n/**\n *

    Data Matrix Codes can encode text as bits in one of several modes, and can use multiple modes\n * in one Data Matrix Code. This class decodes the bits back into text.

    \n *\n *

    See ISO 16022:2006, 5.2.1 - 5.2.9.2

    \n *\n * @author bbrown@google.com (Brian Brown)\n * @author Sean Owen\n */\nvar DecodedBitStreamParser = /** @class */ (function () {\n function DecodedBitStreamParser() {\n }\n DecodedBitStreamParser.decode = function (bytes) {\n var bits = new BitSource(bytes);\n var result = new StringBuilder();\n var resultTrailer = new StringBuilder();\n var byteSegments = new Array();\n var mode = Mode.ASCII_ENCODE;\n do {\n if (mode === Mode.ASCII_ENCODE) {\n mode = this.decodeAsciiSegment(bits, result, resultTrailer);\n }\n else {\n switch (mode) {\n case Mode.C40_ENCODE:\n this.decodeC40Segment(bits, result);\n break;\n case Mode.TEXT_ENCODE:\n this.decodeTextSegment(bits, result);\n break;\n case Mode.ANSIX12_ENCODE:\n this.decodeAnsiX12Segment(bits, result);\n break;\n case Mode.EDIFACT_ENCODE:\n this.decodeEdifactSegment(bits, result);\n break;\n case Mode.BASE256_ENCODE:\n this.decodeBase256Segment(bits, result, byteSegments);\n break;\n default:\n throw new FormatException();\n }\n mode = Mode.ASCII_ENCODE;\n }\n } while (mode !== Mode.PAD_ENCODE && bits.available() > 0);\n if (resultTrailer.length() > 0) {\n result.append(resultTrailer.toString());\n }\n return new DecoderResult(bytes, result.toString(), byteSegments.length === 0 ? null : byteSegments, null);\n };\n /**\n * See ISO 16022:2006, 5.2.3 and Annex C, Table C.2\n */\n DecodedBitStreamParser.decodeAsciiSegment = function (bits, result, resultTrailer) {\n var upperShift = false;\n do {\n var oneByte = bits.readBits(8);\n if (oneByte === 0) {\n throw new FormatException();\n }\n else if (oneByte <= 128) { // ASCII data (ASCII value + 1)\n if (upperShift) {\n oneByte += 128;\n // upperShift = false;\n }\n result.append(String.fromCharCode(oneByte - 1));\n return Mode.ASCII_ENCODE;\n }\n else if (oneByte === 129) { // Pad\n return Mode.PAD_ENCODE;\n }\n else if (oneByte <= 229) { // 2-digit data 00-99 (Numeric Value + 130)\n var value = oneByte - 130;\n if (value < 10) { // pad with '0' for single digit values\n result.append('0');\n }\n result.append('' + value);\n }\n else {\n switch (oneByte) {\n case 230: // Latch to C40 encodation\n return Mode.C40_ENCODE;\n case 231: // Latch to Base 256 encodation\n return Mode.BASE256_ENCODE;\n case 232: // FNC1\n result.append(String.fromCharCode(29)); // translate as ASCII 29\n break;\n case 233: // Structured Append\n case 234: // Reader Programming\n // Ignore these symbols for now\n // throw ReaderException.getInstance();\n break;\n case 235: // Upper Shift (shift to Extended ASCII)\n upperShift = true;\n break;\n case 236: // 05 Macro\n result.append('[)>\\u001E05\\u001D');\n resultTrailer.insert(0, '\\u001E\\u0004');\n break;\n case 237: // 06 Macro\n result.append('[)>\\u001E06\\u001D');\n resultTrailer.insert(0, '\\u001E\\u0004');\n break;\n case 238: // Latch to ANSI X12 encodation\n return Mode.ANSIX12_ENCODE;\n case 239: // Latch to Text encodation\n return Mode.TEXT_ENCODE;\n case 240: // Latch to EDIFACT encodation\n return Mode.EDIFACT_ENCODE;\n case 241: // ECI Character\n // TODO(bbrown): I think we need to support ECI\n // throw ReaderException.getInstance();\n // Ignore this symbol for now\n break;\n default:\n // Not to be used in ASCII encodation\n // but work around encoders that end with 254, latch back to ASCII\n if (oneByte !== 254 || bits.available() !== 0) {\n throw new FormatException();\n }\n break;\n }\n }\n } while (bits.available() > 0);\n return Mode.ASCII_ENCODE;\n };\n /**\n * See ISO 16022:2006, 5.2.5 and Annex C, Table C.1\n */\n DecodedBitStreamParser.decodeC40Segment = function (bits, result) {\n // Three C40 values are encoded in a 16-bit value as\n // (1600 * C1) + (40 * C2) + C3 + 1\n // TODO(bbrown): The Upper Shift with C40 doesn't work in the 4 value scenario all the time\n var upperShift = false;\n var cValues = [];\n var shift = 0;\n do {\n // If there is only one byte left then it will be encoded as ASCII\n if (bits.available() === 8) {\n return;\n }\n var firstByte = bits.readBits(8);\n if (firstByte === 254) { // Unlatch codeword\n return;\n }\n this.parseTwoBytes(firstByte, bits.readBits(8), cValues);\n for (var i = 0; i < 3; i++) {\n var cValue = cValues[i];\n switch (shift) {\n case 0:\n if (cValue < 3) {\n shift = cValue + 1;\n }\n else if (cValue < this.C40_BASIC_SET_CHARS.length) {\n var c40char = this.C40_BASIC_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(c40char.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(c40char);\n }\n }\n else {\n throw new FormatException();\n }\n break;\n case 1:\n if (upperShift) {\n result.append(String.fromCharCode(cValue + 128));\n upperShift = false;\n }\n else {\n result.append(String.fromCharCode(cValue));\n }\n shift = 0;\n break;\n case 2:\n if (cValue < this.C40_SHIFT2_SET_CHARS.length) {\n var c40char = this.C40_SHIFT2_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(c40char.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(c40char);\n }\n }\n else {\n switch (cValue) {\n case 27: // FNC1\n result.append(String.fromCharCode(29)); // translate as ASCII 29\n break;\n case 30: // Upper Shift\n upperShift = true;\n break;\n default:\n throw new FormatException();\n }\n }\n shift = 0;\n break;\n case 3:\n if (upperShift) {\n result.append(String.fromCharCode(cValue + 224));\n upperShift = false;\n }\n else {\n result.append(String.fromCharCode(cValue + 96));\n }\n shift = 0;\n break;\n default:\n throw new FormatException();\n }\n }\n } while (bits.available() > 0);\n };\n /**\n * See ISO 16022:2006, 5.2.6 and Annex C, Table C.2\n */\n DecodedBitStreamParser.decodeTextSegment = function (bits, result) {\n // Three Text values are encoded in a 16-bit value as\n // (1600 * C1) + (40 * C2) + C3 + 1\n // TODO(bbrown): The Upper Shift with Text doesn't work in the 4 value scenario all the time\n var upperShift = false;\n var cValues = [];\n var shift = 0;\n do {\n // If there is only one byte left then it will be encoded as ASCII\n if (bits.available() === 8) {\n return;\n }\n var firstByte = bits.readBits(8);\n if (firstByte === 254) { // Unlatch codeword\n return;\n }\n this.parseTwoBytes(firstByte, bits.readBits(8), cValues);\n for (var i = 0; i < 3; i++) {\n var cValue = cValues[i];\n switch (shift) {\n case 0:\n if (cValue < 3) {\n shift = cValue + 1;\n }\n else if (cValue < this.TEXT_BASIC_SET_CHARS.length) {\n var textChar = this.TEXT_BASIC_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(textChar.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(textChar);\n }\n }\n else {\n throw new FormatException();\n }\n break;\n case 1:\n if (upperShift) {\n result.append(String.fromCharCode(cValue + 128));\n upperShift = false;\n }\n else {\n result.append(String.fromCharCode(cValue));\n }\n shift = 0;\n break;\n case 2:\n // Shift 2 for Text is the same encoding as C40\n if (cValue < this.TEXT_SHIFT2_SET_CHARS.length) {\n var textChar = this.TEXT_SHIFT2_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(textChar.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(textChar);\n }\n }\n else {\n switch (cValue) {\n case 27: // FNC1\n result.append(String.fromCharCode(29)); // translate as ASCII 29\n break;\n case 30: // Upper Shift\n upperShift = true;\n break;\n default:\n throw new FormatException();\n }\n }\n shift = 0;\n break;\n case 3:\n if (cValue < this.TEXT_SHIFT3_SET_CHARS.length) {\n var textChar = this.TEXT_SHIFT3_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(textChar.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(textChar);\n }\n shift = 0;\n }\n else {\n throw new FormatException();\n }\n break;\n default:\n throw new FormatException();\n }\n }\n } while (bits.available() > 0);\n };\n /**\n * See ISO 16022:2006, 5.2.7\n */\n DecodedBitStreamParser.decodeAnsiX12Segment = function (bits, result) {\n // Three ANSI X12 values are encoded in a 16-bit value as\n // (1600 * C1) + (40 * C2) + C3 + 1\n var cValues = [];\n do {\n // If there is only one byte left then it will be encoded as ASCII\n if (bits.available() === 8) {\n return;\n }\n var firstByte = bits.readBits(8);\n if (firstByte === 254) { // Unlatch codeword\n return;\n }\n this.parseTwoBytes(firstByte, bits.readBits(8), cValues);\n for (var i = 0; i < 3; i++) {\n var cValue = cValues[i];\n switch (cValue) {\n case 0: // X12 segment terminator \n result.append('\\r');\n break;\n case 1: // X12 segment separator *\n result.append('*');\n break;\n case 2: // X12 sub-element separator >\n result.append('>');\n break;\n case 3: // space\n result.append(' ');\n break;\n default:\n if (cValue < 14) { // 0 - 9\n result.append(String.fromCharCode(cValue + 44));\n }\n else if (cValue < 40) { // A - Z\n result.append(String.fromCharCode(cValue + 51));\n }\n else {\n throw new FormatException();\n }\n break;\n }\n }\n } while (bits.available() > 0);\n };\n DecodedBitStreamParser.parseTwoBytes = function (firstByte, secondByte, result) {\n var fullBitValue = (firstByte << 8) + secondByte - 1;\n var temp = Math.floor(fullBitValue / 1600);\n result[0] = temp;\n fullBitValue -= temp * 1600;\n temp = Math.floor(fullBitValue / 40);\n result[1] = temp;\n result[2] = fullBitValue - temp * 40;\n };\n /**\n * See ISO 16022:2006, 5.2.8 and Annex C Table C.3\n */\n DecodedBitStreamParser.decodeEdifactSegment = function (bits, result) {\n do {\n // If there is only two or less bytes left then it will be encoded as ASCII\n if (bits.available() <= 16) {\n return;\n }\n for (var i = 0; i < 4; i++) {\n var edifactValue = bits.readBits(6);\n // Check for the unlatch character\n if (edifactValue === 0x1F) { // 011111\n // Read rest of byte, which should be 0, and stop\n var bitsLeft = 8 - bits.getBitOffset();\n if (bitsLeft !== 8) {\n bits.readBits(bitsLeft);\n }\n return;\n }\n if ((edifactValue & 0x20) === 0) { // no 1 in the leading (6th) bit\n edifactValue |= 0x40; // Add a leading 01 to the 6 bit binary value\n }\n result.append(String.fromCharCode(edifactValue));\n }\n } while (bits.available() > 0);\n };\n /**\n * See ISO 16022:2006, 5.2.9 and Annex B, B.2\n */\n DecodedBitStreamParser.decodeBase256Segment = function (bits, result, byteSegments) {\n // Figure out how long the Base 256 Segment is.\n var codewordPosition = 1 + bits.getByteOffset(); // position is 1-indexed\n var d1 = this.unrandomize255State(bits.readBits(8), codewordPosition++);\n var count;\n if (d1 === 0) { // Read the remainder of the symbol\n count = bits.available() / 8 | 0;\n }\n else if (d1 < 250) {\n count = d1;\n }\n else {\n count = 250 * (d1 - 249) + this.unrandomize255State(bits.readBits(8), codewordPosition++);\n }\n // We're seeing NegativeArraySizeException errors from users.\n if (count < 0) {\n throw new FormatException();\n }\n var bytes = new Uint8Array(count);\n for (var i = 0; i < count; i++) {\n // Have seen this particular error in the wild, such as at\n // http://www.bcgen.com/demo/IDAutomationStreamingDataMatrix.aspx?MODE=3&D=Fred&PFMT=3&PT=F&X=0.3&O=0&LM=0.2\n if (bits.available() < 8) {\n throw new FormatException();\n }\n bytes[i] = this.unrandomize255State(bits.readBits(8), codewordPosition++);\n }\n byteSegments.push(bytes);\n try {\n result.append(StringEncoding.decode(bytes, StringUtils.ISO88591));\n }\n catch (uee) {\n throw new IllegalStateException('Platform does not support required encoding: ' + uee.message);\n }\n };\n /**\n * See ISO 16022:2006, Annex B, B.2\n */\n DecodedBitStreamParser.unrandomize255State = function (randomizedBase256Codeword, base256CodewordPosition) {\n var pseudoRandomNumber = ((149 * base256CodewordPosition) % 255) + 1;\n var tempVariable = randomizedBase256Codeword - pseudoRandomNumber;\n return tempVariable >= 0 ? tempVariable : tempVariable + 256;\n };\n /**\n * See ISO 16022:2006, Annex C Table C.1\n * The C40 Basic Character Set (*'s used for placeholders for the shift values)\n */\n DecodedBitStreamParser.C40_BASIC_SET_CHARS = [\n '*', '*', '*', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',\n 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'\n ];\n DecodedBitStreamParser.C40_SHIFT2_SET_CHARS = [\n '!', '\"', '#', '$', '%', '&', '\\'', '(', ')', '*', '+', ',', '-', '.',\n '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\\\', ']', '^', '_'\n ];\n /**\n * See ISO 16022:2006, Annex C Table C.2\n * The Text Basic Character Set (*'s used for placeholders for the shift values)\n */\n DecodedBitStreamParser.TEXT_BASIC_SET_CHARS = [\n '*', '*', '*', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',\n 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'\n ];\n // Shift 2 for Text is the same encoding as C40\n DecodedBitStreamParser.TEXT_SHIFT2_SET_CHARS = DecodedBitStreamParser.C40_SHIFT2_SET_CHARS;\n DecodedBitStreamParser.TEXT_SHIFT3_SET_CHARS = [\n '`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',\n 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}', '~', String.fromCharCode(127)\n ];\n return DecodedBitStreamParser;\n}());\nexport default DecodedBitStreamParser;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport ChecksumException from '../../ChecksumException';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport ReedSolomonDecoder from '../../common/reedsolomon/ReedSolomonDecoder';\nimport BitMatrixParser from './BitMatrixParser';\nimport DataBlock from './DataBlock';\nimport DecodedBitStreamParser from './DecodedBitStreamParser';\n/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n *

    The main class which implements Data Matrix Code decoding -- as opposed to locating and extracting\n * the Data Matrix Code from an image.

    \n *\n * @author bbrown@google.com (Brian Brown)\n */\nvar Decoder = /** @class */ (function () {\n function Decoder() {\n this.rsDecoder = new ReedSolomonDecoder(GenericGF.DATA_MATRIX_FIELD_256);\n }\n /**\n *

    Decodes a Data Matrix Code represented as a {@link BitMatrix}. A 1 or \"true\" is taken\n * to mean a black module.

    \n *\n * @param bits booleans representing white/black Data Matrix Code modules\n * @return text and bytes encoded within the Data Matrix Code\n * @throws FormatException if the Data Matrix Code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n Decoder.prototype.decode = function (bits) {\n var e_1, _a;\n // Construct a parser and read version, error-correction level\n var parser = new BitMatrixParser(bits);\n var version = parser.getVersion();\n // Read codewords\n var codewords = parser.readCodewords();\n // Separate into data blocks\n var dataBlocks = DataBlock.getDataBlocks(codewords, version);\n // Count total number of data bytes\n var totalBytes = 0;\n try {\n for (var dataBlocks_1 = __values(dataBlocks), dataBlocks_1_1 = dataBlocks_1.next(); !dataBlocks_1_1.done; dataBlocks_1_1 = dataBlocks_1.next()) {\n var db = dataBlocks_1_1.value;\n totalBytes += db.getNumDataCodewords();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (dataBlocks_1_1 && !dataBlocks_1_1.done && (_a = dataBlocks_1.return)) _a.call(dataBlocks_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var resultBytes = new Uint8Array(totalBytes);\n var dataBlocksCount = dataBlocks.length;\n // Error-correct and copy data blocks together into a stream of bytes\n for (var j = 0; j < dataBlocksCount; j++) {\n var dataBlock = dataBlocks[j];\n var codewordBytes = dataBlock.getCodewords();\n var numDataCodewords = dataBlock.getNumDataCodewords();\n this.correctErrors(codewordBytes, numDataCodewords);\n for (var i = 0; i < numDataCodewords; i++) {\n // De-interlace data blocks.\n resultBytes[i * dataBlocksCount + j] = codewordBytes[i];\n }\n }\n // Decode the contents of that stream of bytes\n return DecodedBitStreamParser.decode(resultBytes);\n };\n /**\n *

    Given data and error-correction codewords received, possibly corrupted by errors, attempts to\n * correct the errors in-place using Reed-Solomon error correction.

    \n *\n * @param codewordBytes data and error correction codewords\n * @param numDataCodewords number of codewords that are data bytes\n * @throws ChecksumException if error correction fails\n */\n Decoder.prototype.correctErrors = function (codewordBytes, numDataCodewords) {\n // const numCodewords = codewordBytes.length;\n // First read into an array of ints\n var codewordsInts = new Int32Array(codewordBytes);\n // for (let i = 0; i < numCodewords; i++) {\n // codewordsInts[i] = codewordBytes[i] & 0xFF;\n // }\n try {\n this.rsDecoder.decode(codewordsInts, codewordBytes.length - numDataCodewords);\n }\n catch (ignored /* ReedSolomonException */) {\n throw new ChecksumException();\n }\n // Copy back into array of bytes -- only need to worry about the bytes that were data\n // We don't care about errors in the error-correction codewords\n for (var i = 0; i < numDataCodewords; i++) {\n codewordBytes[i] = codewordsInts[i];\n }\n };\n return Decoder;\n}());\nexport default Decoder;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport FormatException from '../../FormatException';\n/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n *

    Encapsulates a set of error-correction blocks in one symbol version. Most versions will\n * use blocks of differing sizes within one version, so, this encapsulates the parameters for\n * each set of blocks. It also holds the number of error-correction codewords per block since it\n * will be the same across all blocks within one version.

    \n */\nvar ECBlocks = /** @class */ (function () {\n function ECBlocks(ecCodewords, ecBlocks1, ecBlocks2) {\n this.ecCodewords = ecCodewords;\n this.ecBlocks = [ecBlocks1];\n ecBlocks2 && this.ecBlocks.push(ecBlocks2);\n }\n ECBlocks.prototype.getECCodewords = function () {\n return this.ecCodewords;\n };\n ECBlocks.prototype.getECBlocks = function () {\n return this.ecBlocks;\n };\n return ECBlocks;\n}());\nexport { ECBlocks };\n/**\n *

    Encapsulates the parameters for one error-correction block in one symbol version.\n * This includes the number of data codewords, and the number of times a block with these\n * parameters is used consecutively in the Data Matrix code version's format.

    \n */\nvar ECB = /** @class */ (function () {\n function ECB(count, dataCodewords) {\n this.count = count;\n this.dataCodewords = dataCodewords;\n }\n ECB.prototype.getCount = function () {\n return this.count;\n };\n ECB.prototype.getDataCodewords = function () {\n return this.dataCodewords;\n };\n return ECB;\n}());\nexport { ECB };\n/**\n * The Version object encapsulates attributes about a particular\n * size Data Matrix Code.\n *\n * @author bbrown@google.com (Brian Brown)\n */\nvar Version = /** @class */ (function () {\n function Version(versionNumber, symbolSizeRows, symbolSizeColumns, dataRegionSizeRows, dataRegionSizeColumns, ecBlocks) {\n var e_1, _a;\n this.versionNumber = versionNumber;\n this.symbolSizeRows = symbolSizeRows;\n this.symbolSizeColumns = symbolSizeColumns;\n this.dataRegionSizeRows = dataRegionSizeRows;\n this.dataRegionSizeColumns = dataRegionSizeColumns;\n this.ecBlocks = ecBlocks;\n // Calculate the total number of codewords\n var total = 0;\n var ecCodewords = ecBlocks.getECCodewords();\n var ecbArray = ecBlocks.getECBlocks();\n try {\n for (var ecbArray_1 = __values(ecbArray), ecbArray_1_1 = ecbArray_1.next(); !ecbArray_1_1.done; ecbArray_1_1 = ecbArray_1.next()) {\n var ecBlock = ecbArray_1_1.value;\n total += ecBlock.getCount() * (ecBlock.getDataCodewords() + ecCodewords);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (ecbArray_1_1 && !ecbArray_1_1.done && (_a = ecbArray_1.return)) _a.call(ecbArray_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n this.totalCodewords = total;\n }\n Version.prototype.getVersionNumber = function () {\n return this.versionNumber;\n };\n Version.prototype.getSymbolSizeRows = function () {\n return this.symbolSizeRows;\n };\n Version.prototype.getSymbolSizeColumns = function () {\n return this.symbolSizeColumns;\n };\n Version.prototype.getDataRegionSizeRows = function () {\n return this.dataRegionSizeRows;\n };\n Version.prototype.getDataRegionSizeColumns = function () {\n return this.dataRegionSizeColumns;\n };\n Version.prototype.getTotalCodewords = function () {\n return this.totalCodewords;\n };\n Version.prototype.getECBlocks = function () {\n return this.ecBlocks;\n };\n /**\n *

    Deduces version information from Data Matrix dimensions.

    \n *\n * @param numRows Number of rows in modules\n * @param numColumns Number of columns in modules\n * @return Version for a Data Matrix Code of those dimensions\n * @throws FormatException if dimensions do correspond to a valid Data Matrix size\n */\n Version.getVersionForDimensions = function (numRows, numColumns) {\n var e_2, _a;\n if ((numRows & 0x01) !== 0 || (numColumns & 0x01) !== 0) {\n throw new FormatException();\n }\n try {\n for (var _b = __values(Version.VERSIONS), _c = _b.next(); !_c.done; _c = _b.next()) {\n var version = _c.value;\n if (version.symbolSizeRows === numRows && version.symbolSizeColumns === numColumns) {\n return version;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n throw new FormatException();\n };\n // @Override\n Version.prototype.toString = function () {\n return '' + this.versionNumber;\n };\n /**\n * See ISO 16022:2006 5.5.1 Table 7\n */\n Version.buildVersions = function () {\n return [\n new Version(1, 10, 10, 8, 8, new ECBlocks(5, new ECB(1, 3))),\n new Version(2, 12, 12, 10, 10, new ECBlocks(7, new ECB(1, 5))),\n new Version(3, 14, 14, 12, 12, new ECBlocks(10, new ECB(1, 8))),\n new Version(4, 16, 16, 14, 14, new ECBlocks(12, new ECB(1, 12))),\n new Version(5, 18, 18, 16, 16, new ECBlocks(14, new ECB(1, 18))),\n new Version(6, 20, 20, 18, 18, new ECBlocks(18, new ECB(1, 22))),\n new Version(7, 22, 22, 20, 20, new ECBlocks(20, new ECB(1, 30))),\n new Version(8, 24, 24, 22, 22, new ECBlocks(24, new ECB(1, 36))),\n new Version(9, 26, 26, 24, 24, new ECBlocks(28, new ECB(1, 44))),\n new Version(10, 32, 32, 14, 14, new ECBlocks(36, new ECB(1, 62))),\n new Version(11, 36, 36, 16, 16, new ECBlocks(42, new ECB(1, 86))),\n new Version(12, 40, 40, 18, 18, new ECBlocks(48, new ECB(1, 114))),\n new Version(13, 44, 44, 20, 20, new ECBlocks(56, new ECB(1, 144))),\n new Version(14, 48, 48, 22, 22, new ECBlocks(68, new ECB(1, 174))),\n new Version(15, 52, 52, 24, 24, new ECBlocks(42, new ECB(2, 102))),\n new Version(16, 64, 64, 14, 14, new ECBlocks(56, new ECB(2, 140))),\n new Version(17, 72, 72, 16, 16, new ECBlocks(36, new ECB(4, 92))),\n new Version(18, 80, 80, 18, 18, new ECBlocks(48, new ECB(4, 114))),\n new Version(19, 88, 88, 20, 20, new ECBlocks(56, new ECB(4, 144))),\n new Version(20, 96, 96, 22, 22, new ECBlocks(68, new ECB(4, 174))),\n new Version(21, 104, 104, 24, 24, new ECBlocks(56, new ECB(6, 136))),\n new Version(22, 120, 120, 18, 18, new ECBlocks(68, new ECB(6, 175))),\n new Version(23, 132, 132, 20, 20, new ECBlocks(62, new ECB(8, 163))),\n new Version(24, 144, 144, 22, 22, new ECBlocks(62, new ECB(8, 156), new ECB(2, 155))),\n new Version(25, 8, 18, 6, 16, new ECBlocks(7, new ECB(1, 5))),\n new Version(26, 8, 32, 6, 14, new ECBlocks(11, new ECB(1, 10))),\n new Version(27, 12, 26, 10, 24, new ECBlocks(14, new ECB(1, 16))),\n new Version(28, 12, 36, 10, 16, new ECBlocks(18, new ECB(1, 22))),\n new Version(29, 16, 36, 14, 16, new ECBlocks(24, new ECB(1, 32))),\n new Version(30, 16, 48, 14, 22, new ECBlocks(28, new ECB(1, 49)))\n ];\n };\n Version.VERSIONS = Version.buildVersions();\n return Version;\n}());\nexport default Version;\n","import WhiteRectangleDetector from '../../common/detector/WhiteRectangleDetector';\nimport DetectorResult from '../../common/DetectorResult';\nimport GridSamplerInstance from '../../common/GridSamplerInstance';\nimport NotFoundException from '../../NotFoundException';\nimport ResultPoint from '../../ResultPoint';\n/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n *

    Encapsulates logic that can detect a Data Matrix Code in an image, even if the Data Matrix Code\n * is rotated or skewed, or partially obscured.

    \n *\n * @author Sean Owen\n */\nvar Detector = /** @class */ (function () {\n function Detector(image) {\n this.image = image;\n this.rectangleDetector = new WhiteRectangleDetector(this.image);\n }\n /**\n *

    Detects a Data Matrix Code in an image.

    \n *\n * @return {@link DetectorResult} encapsulating results of detecting a Data Matrix Code\n * @throws NotFoundException if no Data Matrix Code can be found\n */\n Detector.prototype.detect = function () {\n var cornerPoints = this.rectangleDetector.detect();\n var points = this.detectSolid1(cornerPoints);\n points = this.detectSolid2(points);\n points[3] = this.correctTopRight(points);\n if (!points[3]) {\n throw new NotFoundException();\n }\n points = this.shiftToModuleCenter(points);\n var topLeft = points[0];\n var bottomLeft = points[1];\n var bottomRight = points[2];\n var topRight = points[3];\n var dimensionTop = this.transitionsBetween(topLeft, topRight) + 1;\n var dimensionRight = this.transitionsBetween(bottomRight, topRight) + 1;\n if ((dimensionTop & 0x01) === 1) {\n dimensionTop += 1;\n }\n if ((dimensionRight & 0x01) === 1) {\n dimensionRight += 1;\n }\n if (4 * dimensionTop < 7 * dimensionRight && 4 * dimensionRight < 7 * dimensionTop) {\n // The matrix is square\n dimensionTop = dimensionRight = Math.max(dimensionTop, dimensionRight);\n }\n var bits = Detector.sampleGrid(this.image, topLeft, bottomLeft, bottomRight, topRight, dimensionTop, dimensionRight);\n return new DetectorResult(bits, [topLeft, bottomLeft, bottomRight, topRight]);\n };\n Detector.shiftPoint = function (point, to, div) {\n var x = (to.getX() - point.getX()) / (div + 1);\n var y = (to.getY() - point.getY()) / (div + 1);\n return new ResultPoint(point.getX() + x, point.getY() + y);\n };\n Detector.moveAway = function (point, fromX, fromY) {\n var x = point.getX();\n var y = point.getY();\n if (x < fromX) {\n x -= 1;\n }\n else {\n x += 1;\n }\n if (y < fromY) {\n y -= 1;\n }\n else {\n y += 1;\n }\n return new ResultPoint(x, y);\n };\n /**\n * Detect a solid side which has minimum transition.\n */\n Detector.prototype.detectSolid1 = function (cornerPoints) {\n // 0 2\n // 1 3\n var pointA = cornerPoints[0];\n var pointB = cornerPoints[1];\n var pointC = cornerPoints[3];\n var pointD = cornerPoints[2];\n var trAB = this.transitionsBetween(pointA, pointB);\n var trBC = this.transitionsBetween(pointB, pointC);\n var trCD = this.transitionsBetween(pointC, pointD);\n var trDA = this.transitionsBetween(pointD, pointA);\n // 0..3\n // : :\n // 1--2\n var min = trAB;\n var points = [pointD, pointA, pointB, pointC];\n if (min > trBC) {\n min = trBC;\n points[0] = pointA;\n points[1] = pointB;\n points[2] = pointC;\n points[3] = pointD;\n }\n if (min > trCD) {\n min = trCD;\n points[0] = pointB;\n points[1] = pointC;\n points[2] = pointD;\n points[3] = pointA;\n }\n if (min > trDA) {\n points[0] = pointC;\n points[1] = pointD;\n points[2] = pointA;\n points[3] = pointB;\n }\n return points;\n };\n /**\n * Detect a second solid side next to first solid side.\n */\n Detector.prototype.detectSolid2 = function (points) {\n // A..D\n // : :\n // B--C\n var pointA = points[0];\n var pointB = points[1];\n var pointC = points[2];\n var pointD = points[3];\n // Transition detection on the edge is not stable.\n // To safely detect, shift the points to the module center.\n var tr = this.transitionsBetween(pointA, pointD);\n var pointBs = Detector.shiftPoint(pointB, pointC, (tr + 1) * 4);\n var pointCs = Detector.shiftPoint(pointC, pointB, (tr + 1) * 4);\n var trBA = this.transitionsBetween(pointBs, pointA);\n var trCD = this.transitionsBetween(pointCs, pointD);\n // 0..3\n // | :\n // 1--2\n if (trBA < trCD) {\n // solid sides: A-B-C\n points[0] = pointA;\n points[1] = pointB;\n points[2] = pointC;\n points[3] = pointD;\n }\n else {\n // solid sides: B-C-D\n points[0] = pointB;\n points[1] = pointC;\n points[2] = pointD;\n points[3] = pointA;\n }\n return points;\n };\n /**\n * Calculates the corner position of the white top right module.\n */\n Detector.prototype.correctTopRight = function (points) {\n // A..D\n // | :\n // B--C\n var pointA = points[0];\n var pointB = points[1];\n var pointC = points[2];\n var pointD = points[3];\n // shift points for safe transition detection.\n var trTop = this.transitionsBetween(pointA, pointD);\n var trRight = this.transitionsBetween(pointB, pointD);\n var pointAs = Detector.shiftPoint(pointA, pointB, (trRight + 1) * 4);\n var pointCs = Detector.shiftPoint(pointC, pointB, (trTop + 1) * 4);\n trTop = this.transitionsBetween(pointAs, pointD);\n trRight = this.transitionsBetween(pointCs, pointD);\n var candidate1 = new ResultPoint(pointD.getX() + (pointC.getX() - pointB.getX()) / (trTop + 1), pointD.getY() + (pointC.getY() - pointB.getY()) / (trTop + 1));\n var candidate2 = new ResultPoint(pointD.getX() + (pointA.getX() - pointB.getX()) / (trRight + 1), pointD.getY() + (pointA.getY() - pointB.getY()) / (trRight + 1));\n if (!this.isValid(candidate1)) {\n if (this.isValid(candidate2)) {\n return candidate2;\n }\n return null;\n }\n if (!this.isValid(candidate2)) {\n return candidate1;\n }\n var sumc1 = this.transitionsBetween(pointAs, candidate1) + this.transitionsBetween(pointCs, candidate1);\n var sumc2 = this.transitionsBetween(pointAs, candidate2) + this.transitionsBetween(pointCs, candidate2);\n if (sumc1 > sumc2) {\n return candidate1;\n }\n else {\n return candidate2;\n }\n };\n /**\n * Shift the edge points to the module center.\n */\n Detector.prototype.shiftToModuleCenter = function (points) {\n // A..D\n // | :\n // B--C\n var pointA = points[0];\n var pointB = points[1];\n var pointC = points[2];\n var pointD = points[3];\n // calculate pseudo dimensions\n var dimH = this.transitionsBetween(pointA, pointD) + 1;\n var dimV = this.transitionsBetween(pointC, pointD) + 1;\n // shift points for safe dimension detection\n var pointAs = Detector.shiftPoint(pointA, pointB, dimV * 4);\n var pointCs = Detector.shiftPoint(pointC, pointB, dimH * 4);\n // calculate more precise dimensions\n dimH = this.transitionsBetween(pointAs, pointD) + 1;\n dimV = this.transitionsBetween(pointCs, pointD) + 1;\n if ((dimH & 0x01) === 1) {\n dimH += 1;\n }\n if ((dimV & 0x01) === 1) {\n dimV += 1;\n }\n // WhiteRectangleDetector returns points inside of the rectangle.\n // I want points on the edges.\n var centerX = (pointA.getX() + pointB.getX() + pointC.getX() + pointD.getX()) / 4;\n var centerY = (pointA.getY() + pointB.getY() + pointC.getY() + pointD.getY()) / 4;\n pointA = Detector.moveAway(pointA, centerX, centerY);\n pointB = Detector.moveAway(pointB, centerX, centerY);\n pointC = Detector.moveAway(pointC, centerX, centerY);\n pointD = Detector.moveAway(pointD, centerX, centerY);\n var pointBs;\n var pointDs;\n // shift points to the center of each modules\n pointAs = Detector.shiftPoint(pointA, pointB, dimV * 4);\n pointAs = Detector.shiftPoint(pointAs, pointD, dimH * 4);\n pointBs = Detector.shiftPoint(pointB, pointA, dimV * 4);\n pointBs = Detector.shiftPoint(pointBs, pointC, dimH * 4);\n pointCs = Detector.shiftPoint(pointC, pointD, dimV * 4);\n pointCs = Detector.shiftPoint(pointCs, pointB, dimH * 4);\n pointDs = Detector.shiftPoint(pointD, pointC, dimV * 4);\n pointDs = Detector.shiftPoint(pointDs, pointA, dimH * 4);\n return [pointAs, pointBs, pointCs, pointDs];\n };\n Detector.prototype.isValid = function (p) {\n return p.getX() >= 0 && p.getX() < this.image.getWidth() && p.getY() > 0 && p.getY() < this.image.getHeight();\n };\n Detector.sampleGrid = function (image, topLeft, bottomLeft, bottomRight, topRight, dimensionX, dimensionY) {\n var sampler = GridSamplerInstance.getInstance();\n return sampler.sampleGrid(image, dimensionX, dimensionY, 0.5, 0.5, dimensionX - 0.5, 0.5, dimensionX - 0.5, dimensionY - 0.5, 0.5, dimensionY - 0.5, topLeft.getX(), topLeft.getY(), topRight.getX(), topRight.getY(), bottomRight.getX(), bottomRight.getY(), bottomLeft.getX(), bottomLeft.getY());\n };\n /**\n * Counts the number of black/white transitions between two points, using something like Bresenham's algorithm.\n */\n Detector.prototype.transitionsBetween = function (from, to) {\n // See QR Code Detector, sizeOfBlackWhiteBlackRun()\n var fromX = Math.trunc(from.getX());\n var fromY = Math.trunc(from.getY());\n var toX = Math.trunc(to.getX());\n var toY = Math.trunc(to.getY());\n var steep = Math.abs(toY - fromY) > Math.abs(toX - fromX);\n if (steep) {\n var temp = fromX;\n fromX = fromY;\n fromY = temp;\n temp = toX;\n toX = toY;\n toY = temp;\n }\n var dx = Math.abs(toX - fromX);\n var dy = Math.abs(toY - fromY);\n var error = -dx / 2;\n var ystep = fromY < toY ? 1 : -1;\n var xstep = fromX < toX ? 1 : -1;\n var transitions = 0;\n var inBlack = this.image.get(steep ? fromY : fromX, steep ? fromX : fromY);\n for (var x = fromX, y = fromY; x !== toX; x += xstep) {\n var isBlack = this.image.get(steep ? y : x, steep ? x : y);\n if (isBlack !== inBlack) {\n transitions++;\n inBlack = isBlack;\n }\n error += dy;\n if (error > 0) {\n if (y === toY) {\n break;\n }\n y += ystep;\n error -= dx;\n }\n }\n return transitions;\n };\n return Detector;\n}());\nexport default Detector;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport OneDReader from './OneDReader';\nimport NotFoundException from '../NotFoundException';\nimport FormatException from '../FormatException';\n/**\n *

    Encapsulates functionality and implementation that is common to UPC and EAN families\n * of one-dimensional barcodes.

    \n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author alasdair@google.com (Alasdair Mackintosh)\n */\nvar AbstractUPCEANReader = /** @class */ (function (_super) {\n __extends(AbstractUPCEANReader, _super);\n function AbstractUPCEANReader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.decodeRowStringBuffer = '';\n return _this;\n }\n // private final UPCEANExtensionSupport extensionReader;\n // private final EANManufacturerOrgSupport eanManSupport;\n /*\n protected UPCEANReader() {\n decodeRowStringBuffer = new StringBuilder(20);\n extensionReader = new UPCEANExtensionSupport();\n eanManSupport = new EANManufacturerOrgSupport();\n }\n */\n AbstractUPCEANReader.findStartGuardPattern = function (row) {\n var foundStart = false;\n var startRange;\n var nextStart = 0;\n var counters = Int32Array.from([0, 0, 0]);\n while (!foundStart) {\n counters = Int32Array.from([0, 0, 0]);\n startRange = AbstractUPCEANReader.findGuardPattern(row, nextStart, false, this.START_END_PATTERN, counters);\n var start = startRange[0];\n nextStart = startRange[1];\n var quietStart = start - (nextStart - start);\n if (quietStart >= 0) {\n foundStart = row.isRange(quietStart, start, false);\n }\n }\n return startRange;\n };\n AbstractUPCEANReader.checkChecksum = function (s) {\n return AbstractUPCEANReader.checkStandardUPCEANChecksum(s);\n };\n AbstractUPCEANReader.checkStandardUPCEANChecksum = function (s) {\n var length = s.length;\n if (length === 0)\n return false;\n var check = parseInt(s.charAt(length - 1), 10);\n return AbstractUPCEANReader.getStandardUPCEANChecksum(s.substring(0, length - 1)) === check;\n };\n AbstractUPCEANReader.getStandardUPCEANChecksum = function (s) {\n var length = s.length;\n var sum = 0;\n for (var i = length - 1; i >= 0; i -= 2) {\n var digit = s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n if (digit < 0 || digit > 9) {\n throw new FormatException();\n }\n sum += digit;\n }\n sum *= 3;\n for (var i = length - 2; i >= 0; i -= 2) {\n var digit = s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n if (digit < 0 || digit > 9) {\n throw new FormatException();\n }\n sum += digit;\n }\n return (1000 - sum) % 10;\n };\n AbstractUPCEANReader.decodeEnd = function (row, endStart) {\n return AbstractUPCEANReader.findGuardPattern(row, endStart, false, AbstractUPCEANReader.START_END_PATTERN, new Int32Array(AbstractUPCEANReader.START_END_PATTERN.length).fill(0));\n };\n /**\n * @throws NotFoundException\n */\n AbstractUPCEANReader.findGuardPatternWithoutCounters = function (row, rowOffset, whiteFirst, pattern) {\n return this.findGuardPattern(row, rowOffset, whiteFirst, pattern, new Int32Array(pattern.length));\n };\n /**\n * @param row row of black/white values to search\n * @param rowOffset position to start search\n * @param whiteFirst if true, indicates that the pattern specifies white/black/white/...\n * pixel counts, otherwise, it is interpreted as black/white/black/...\n * @param pattern pattern of counts of number of black and white pixels that are being\n * searched for as a pattern\n * @param counters array of counters, as long as pattern, to re-use\n * @return start/end horizontal offset of guard pattern, as an array of two ints\n * @throws NotFoundException if pattern is not found\n */\n AbstractUPCEANReader.findGuardPattern = function (row, rowOffset, whiteFirst, pattern, counters) {\n var width = row.getSize();\n rowOffset = whiteFirst ? row.getNextUnset(rowOffset) : row.getNextSet(rowOffset);\n var counterPosition = 0;\n var patternStart = rowOffset;\n var patternLength = pattern.length;\n var isWhite = whiteFirst;\n for (var x = rowOffset; x < width; x++) {\n if (row.get(x) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === patternLength - 1) {\n if (OneDReader.patternMatchVariance(counters, pattern, AbstractUPCEANReader.MAX_INDIVIDUAL_VARIANCE) < AbstractUPCEANReader.MAX_AVG_VARIANCE) {\n return Int32Array.from([patternStart, x]);\n }\n patternStart += counters[0] + counters[1];\n var slice = counters.slice(2, counters.length - 1);\n for (var i = 0; i < counterPosition - 1; i++) {\n counters[i] = slice[i];\n }\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n };\n AbstractUPCEANReader.decodeDigit = function (row, counters, rowOffset, patterns) {\n this.recordPattern(row, rowOffset, counters);\n var bestVariance = this.MAX_AVG_VARIANCE;\n var bestMatch = -1;\n var max = patterns.length;\n for (var i = 0; i < max; i++) {\n var pattern = patterns[i];\n var variance = OneDReader.patternMatchVariance(counters, pattern, AbstractUPCEANReader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = i;\n }\n }\n if (bestMatch >= 0) {\n return bestMatch;\n }\n else {\n throw new NotFoundException();\n }\n };\n // These two values are critical for determining how permissive the decoding will be.\n // We've arrived at these values through a lot of trial and error. Setting them any higher\n // lets false positives creep in quickly.\n AbstractUPCEANReader.MAX_AVG_VARIANCE = 0.48;\n AbstractUPCEANReader.MAX_INDIVIDUAL_VARIANCE = 0.7;\n /**\n * Start/end guard pattern.\n */\n AbstractUPCEANReader.START_END_PATTERN = Int32Array.from([1, 1, 1]);\n /**\n * Pattern marking the middle of a UPC/EAN pattern, separating the two halves.\n */\n AbstractUPCEANReader.MIDDLE_PATTERN = Int32Array.from([1, 1, 1, 1, 1]);\n /**\n * end guard pattern.\n */\n AbstractUPCEANReader.END_PATTERN = Int32Array.from([1, 1, 1, 1, 1, 1]);\n /**\n * \"Odd\", or \"L\" patterns used to encode UPC/EAN digits.\n */\n AbstractUPCEANReader.L_PATTERNS = [\n Int32Array.from([3, 2, 1, 1]),\n Int32Array.from([2, 2, 2, 1]),\n Int32Array.from([2, 1, 2, 2]),\n Int32Array.from([1, 4, 1, 1]),\n Int32Array.from([1, 1, 3, 2]),\n Int32Array.from([1, 2, 3, 1]),\n Int32Array.from([1, 1, 1, 4]),\n Int32Array.from([1, 3, 1, 2]),\n Int32Array.from([1, 2, 1, 3]),\n Int32Array.from([3, 1, 1, 2]),\n ];\n return AbstractUPCEANReader;\n}(OneDReader));\nexport default AbstractUPCEANReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.oned {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport ChecksumException from '../ChecksumException';\nimport DecodeHintType from '../DecodeHintType';\nimport FormatException from '../FormatException';\nimport NotFoundException from '../NotFoundException';\n// import Reader from '../Reader';\nimport Result from '../Result';\n// import ResultMetadataType from '../ResultMetadataType';\nimport ResultPoint from '../ResultPoint';\nimport OneDReader from './OneDReader';\n/**\n *

    Decodes Code 128 barcodes.

    \n *\n * @author Sean Owen\n */\nvar Code128Reader = /** @class */ (function (_super) {\n __extends(Code128Reader, _super);\n function Code128Reader() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Code128Reader.findStartPattern = function (row) {\n var width = row.getSize();\n var rowOffset = row.getNextSet(0);\n var counterPosition = 0;\n var counters = Int32Array.from([0, 0, 0, 0, 0, 0]);\n var patternStart = rowOffset;\n var isWhite = false;\n var patternLength = 6;\n for (var i = rowOffset; i < width; i++) {\n if (row.get(i) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === (patternLength - 1)) {\n var bestVariance = Code128Reader.MAX_AVG_VARIANCE;\n var bestMatch = -1;\n for (var startCode = Code128Reader.CODE_START_A; startCode <= Code128Reader.CODE_START_C; startCode++) {\n var variance = OneDReader.patternMatchVariance(counters, Code128Reader.CODE_PATTERNS[startCode], Code128Reader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = startCode;\n }\n }\n // Look for whitespace before start pattern, >= 50% of width of start pattern\n if (bestMatch >= 0 &&\n row.isRange(Math.max(0, patternStart - (i - patternStart) / 2), patternStart, false)) {\n return Int32Array.from([patternStart, i, bestMatch]);\n }\n patternStart += counters[0] + counters[1];\n counters = counters.slice(2, counters.length - 1);\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n };\n Code128Reader.decodeCode = function (row, counters, rowOffset) {\n OneDReader.recordPattern(row, rowOffset, counters);\n var bestVariance = Code128Reader.MAX_AVG_VARIANCE; // worst variance we'll accept\n var bestMatch = -1;\n for (var d = 0; d < Code128Reader.CODE_PATTERNS.length; d++) {\n var pattern = Code128Reader.CODE_PATTERNS[d];\n var variance = this.patternMatchVariance(counters, pattern, Code128Reader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = d;\n }\n }\n // TODO We're overlooking the fact that the STOP pattern has 7 values, not 6.\n if (bestMatch >= 0) {\n return bestMatch;\n }\n else {\n throw new NotFoundException();\n }\n };\n Code128Reader.prototype.decodeRow = function (rowNumber, row, hints) {\n var convertFNC1 = hints && (hints.get(DecodeHintType.ASSUME_GS1) === true);\n var startPatternInfo = Code128Reader.findStartPattern(row);\n var startCode = startPatternInfo[2];\n var currentRawCodesIndex = 0;\n var rawCodes = new Uint8Array(20);\n rawCodes[currentRawCodesIndex++] = startCode;\n var codeSet;\n switch (startCode) {\n case Code128Reader.CODE_START_A:\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_START_B:\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_START_C:\n codeSet = Code128Reader.CODE_CODE_C;\n break;\n default:\n throw new FormatException();\n }\n var done = false;\n var isNextShifted = false;\n var result = '';\n var lastStart = startPatternInfo[0];\n var nextStart = startPatternInfo[1];\n var counters = Int32Array.from([0, 0, 0, 0, 0, 0]);\n var lastCode = 0;\n var code = 0;\n var checksumTotal = startCode;\n var multiplier = 0;\n var lastCharacterWasPrintable = true;\n var upperMode = false;\n var shiftUpperMode = false;\n while (!done) {\n var unshift = isNextShifted;\n isNextShifted = false;\n // Save off last code\n lastCode = code;\n // Decode another code from image\n code = Code128Reader.decodeCode(row, counters, nextStart);\n rawCodes[currentRawCodesIndex++] = code;\n // Remember whether the last code was printable or not (excluding CODE_STOP)\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = true;\n }\n // Add to checksum computation (if not CODE_STOP of course)\n if (code !== Code128Reader.CODE_STOP) {\n multiplier++;\n checksumTotal += multiplier * code;\n }\n // Advance to where the next code will to start\n lastStart = nextStart;\n nextStart += counters.reduce(function (previous, current) { return previous + current; }, 0);\n // Take care of illegal start codes\n switch (code) {\n case Code128Reader.CODE_START_A:\n case Code128Reader.CODE_START_B:\n case Code128Reader.CODE_START_C:\n throw new FormatException();\n }\n switch (codeSet) {\n case Code128Reader.CODE_CODE_A:\n if (code < 64) {\n if (shiftUpperMode === upperMode) {\n result += String.fromCharCode((' '.charCodeAt(0) + code));\n }\n else {\n result += String.fromCharCode((' '.charCodeAt(0) + code + 128));\n }\n shiftUpperMode = false;\n }\n else if (code < 96) {\n if (shiftUpperMode === upperMode) {\n result += String.fromCharCode((code - 64));\n }\n else {\n result += String.fromCharCode((code + 64));\n }\n shiftUpperMode = false;\n }\n else {\n // Don't let CODE_STOP, which always appears, affect whether whether we think the last\n // code was printable or not.\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = false;\n }\n switch (code) {\n case Code128Reader.CODE_FNC_1:\n if (convertFNC1) {\n if (result.length === 0) {\n // GS1 specification 5.4.3.7. and 5.4.6.4. If the first char after the start code\n // is FNC1 then this is GS1-128. We add the symbology identifier.\n result += ']C1';\n }\n else {\n // GS1 specification 5.4.7.5. Every subsequent FNC1 is returned as ASCII 29 (GS)\n result += String.fromCharCode(29);\n }\n }\n break;\n case Code128Reader.CODE_FNC_2:\n case Code128Reader.CODE_FNC_3:\n // do nothing?\n break;\n case Code128Reader.CODE_FNC_4_A:\n if (!upperMode && shiftUpperMode) {\n upperMode = true;\n shiftUpperMode = false;\n }\n else if (upperMode && shiftUpperMode) {\n upperMode = false;\n shiftUpperMode = false;\n }\n else {\n shiftUpperMode = true;\n }\n break;\n case Code128Reader.CODE_SHIFT:\n isNextShifted = true;\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_CODE_B:\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_CODE_C:\n codeSet = Code128Reader.CODE_CODE_C;\n break;\n case Code128Reader.CODE_STOP:\n done = true;\n break;\n }\n }\n break;\n case Code128Reader.CODE_CODE_B:\n if (code < 96) {\n if (shiftUpperMode === upperMode) {\n result += String.fromCharCode((' '.charCodeAt(0) + code));\n }\n else {\n result += String.fromCharCode((' '.charCodeAt(0) + code + 128));\n }\n shiftUpperMode = false;\n }\n else {\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = false;\n }\n switch (code) {\n case Code128Reader.CODE_FNC_1:\n if (convertFNC1) {\n if (result.length === 0) {\n // GS1 specification 5.4.3.7. and 5.4.6.4. If the first char after the start code\n // is FNC1 then this is GS1-128. We add the symbology identifier.\n result += ']C1';\n }\n else {\n // GS1 specification 5.4.7.5. Every subsequent FNC1 is returned as ASCII 29 (GS)\n result += String.fromCharCode(29);\n }\n }\n break;\n case Code128Reader.CODE_FNC_2:\n case Code128Reader.CODE_FNC_3:\n // do nothing?\n break;\n case Code128Reader.CODE_FNC_4_B:\n if (!upperMode && shiftUpperMode) {\n upperMode = true;\n shiftUpperMode = false;\n }\n else if (upperMode && shiftUpperMode) {\n upperMode = false;\n shiftUpperMode = false;\n }\n else {\n shiftUpperMode = true;\n }\n break;\n case Code128Reader.CODE_SHIFT:\n isNextShifted = true;\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_CODE_A:\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_CODE_C:\n codeSet = Code128Reader.CODE_CODE_C;\n break;\n case Code128Reader.CODE_STOP:\n done = true;\n break;\n }\n }\n break;\n case Code128Reader.CODE_CODE_C:\n if (code < 100) {\n if (code < 10) {\n result += '0';\n }\n result += code;\n }\n else {\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = false;\n }\n switch (code) {\n case Code128Reader.CODE_FNC_1:\n if (convertFNC1) {\n if (result.length === 0) {\n // GS1 specification 5.4.3.7. and 5.4.6.4. If the first char after the start code\n // is FNC1 then this is GS1-128. We add the symbology identifier.\n result += ']C1';\n }\n else {\n // GS1 specification 5.4.7.5. Every subsequent FNC1 is returned as ASCII 29 (GS)\n result += String.fromCharCode(29);\n }\n }\n break;\n case Code128Reader.CODE_CODE_A:\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_CODE_B:\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_STOP:\n done = true;\n break;\n }\n }\n break;\n }\n // Unshift back to another code set if we were shifted\n if (unshift) {\n codeSet = codeSet === Code128Reader.CODE_CODE_A ? Code128Reader.CODE_CODE_B : Code128Reader.CODE_CODE_A;\n }\n }\n var lastPatternSize = nextStart - lastStart;\n // Check for ample whitespace following pattern, but, to do this we first need to remember that\n // we fudged decoding CODE_STOP since it actually has 7 bars, not 6. There is a black bar left\n // to read off. Would be slightly better to properly read. Here we just skip it:\n nextStart = row.getNextUnset(nextStart);\n if (!row.isRange(nextStart, Math.min(row.getSize(), nextStart + (nextStart - lastStart) / 2), false)) {\n throw new NotFoundException();\n }\n // Pull out from sum the value of the penultimate check code\n checksumTotal -= multiplier * lastCode;\n // lastCode is the checksum then:\n if (checksumTotal % 103 !== lastCode) {\n throw new ChecksumException();\n }\n // Need to pull out the check digits from string\n var resultLength = result.length;\n if (resultLength === 0) {\n // false positive\n throw new NotFoundException();\n }\n // Only bother if the result had at least one character, and if the checksum digit happened to\n // be a printable character. If it was just interpreted as a control code, nothing to remove.\n if (resultLength > 0 && lastCharacterWasPrintable) {\n if (codeSet === Code128Reader.CODE_CODE_C) {\n result = result.substring(0, resultLength - 2);\n }\n else {\n result = result.substring(0, resultLength - 1);\n }\n }\n var left = (startPatternInfo[1] + startPatternInfo[0]) / 2.0;\n var right = lastStart + lastPatternSize / 2.0;\n var rawCodesSize = rawCodes.length;\n var rawBytes = new Uint8Array(rawCodesSize);\n for (var i = 0; i < rawCodesSize; i++) {\n rawBytes[i] = rawCodes[i];\n }\n var points = [new ResultPoint(left, rowNumber), new ResultPoint(right, rowNumber)];\n return new Result(result, rawBytes, 0, points, BarcodeFormat.CODE_128, new Date().getTime());\n };\n Code128Reader.CODE_PATTERNS = [\n Int32Array.from([2, 1, 2, 2, 2, 2]),\n Int32Array.from([2, 2, 2, 1, 2, 2]),\n Int32Array.from([2, 2, 2, 2, 2, 1]),\n Int32Array.from([1, 2, 1, 2, 2, 3]),\n Int32Array.from([1, 2, 1, 3, 2, 2]),\n Int32Array.from([1, 3, 1, 2, 2, 2]),\n Int32Array.from([1, 2, 2, 2, 1, 3]),\n Int32Array.from([1, 2, 2, 3, 1, 2]),\n Int32Array.from([1, 3, 2, 2, 1, 2]),\n Int32Array.from([2, 2, 1, 2, 1, 3]),\n Int32Array.from([2, 2, 1, 3, 1, 2]),\n Int32Array.from([2, 3, 1, 2, 1, 2]),\n Int32Array.from([1, 1, 2, 2, 3, 2]),\n Int32Array.from([1, 2, 2, 1, 3, 2]),\n Int32Array.from([1, 2, 2, 2, 3, 1]),\n Int32Array.from([1, 1, 3, 2, 2, 2]),\n Int32Array.from([1, 2, 3, 1, 2, 2]),\n Int32Array.from([1, 2, 3, 2, 2, 1]),\n Int32Array.from([2, 2, 3, 2, 1, 1]),\n Int32Array.from([2, 2, 1, 1, 3, 2]),\n Int32Array.from([2, 2, 1, 2, 3, 1]),\n Int32Array.from([2, 1, 3, 2, 1, 2]),\n Int32Array.from([2, 2, 3, 1, 1, 2]),\n Int32Array.from([3, 1, 2, 1, 3, 1]),\n Int32Array.from([3, 1, 1, 2, 2, 2]),\n Int32Array.from([3, 2, 1, 1, 2, 2]),\n Int32Array.from([3, 2, 1, 2, 2, 1]),\n Int32Array.from([3, 1, 2, 2, 1, 2]),\n Int32Array.from([3, 2, 2, 1, 1, 2]),\n Int32Array.from([3, 2, 2, 2, 1, 1]),\n Int32Array.from([2, 1, 2, 1, 2, 3]),\n Int32Array.from([2, 1, 2, 3, 2, 1]),\n Int32Array.from([2, 3, 2, 1, 2, 1]),\n Int32Array.from([1, 1, 1, 3, 2, 3]),\n Int32Array.from([1, 3, 1, 1, 2, 3]),\n Int32Array.from([1, 3, 1, 3, 2, 1]),\n Int32Array.from([1, 1, 2, 3, 1, 3]),\n Int32Array.from([1, 3, 2, 1, 1, 3]),\n Int32Array.from([1, 3, 2, 3, 1, 1]),\n Int32Array.from([2, 1, 1, 3, 1, 3]),\n Int32Array.from([2, 3, 1, 1, 1, 3]),\n Int32Array.from([2, 3, 1, 3, 1, 1]),\n Int32Array.from([1, 1, 2, 1, 3, 3]),\n Int32Array.from([1, 1, 2, 3, 3, 1]),\n Int32Array.from([1, 3, 2, 1, 3, 1]),\n Int32Array.from([1, 1, 3, 1, 2, 3]),\n Int32Array.from([1, 1, 3, 3, 2, 1]),\n Int32Array.from([1, 3, 3, 1, 2, 1]),\n Int32Array.from([3, 1, 3, 1, 2, 1]),\n Int32Array.from([2, 1, 1, 3, 3, 1]),\n Int32Array.from([2, 3, 1, 1, 3, 1]),\n Int32Array.from([2, 1, 3, 1, 1, 3]),\n Int32Array.from([2, 1, 3, 3, 1, 1]),\n Int32Array.from([2, 1, 3, 1, 3, 1]),\n Int32Array.from([3, 1, 1, 1, 2, 3]),\n Int32Array.from([3, 1, 1, 3, 2, 1]),\n Int32Array.from([3, 3, 1, 1, 2, 1]),\n Int32Array.from([3, 1, 2, 1, 1, 3]),\n Int32Array.from([3, 1, 2, 3, 1, 1]),\n Int32Array.from([3, 3, 2, 1, 1, 1]),\n Int32Array.from([3, 1, 4, 1, 1, 1]),\n Int32Array.from([2, 2, 1, 4, 1, 1]),\n Int32Array.from([4, 3, 1, 1, 1, 1]),\n Int32Array.from([1, 1, 1, 2, 2, 4]),\n Int32Array.from([1, 1, 1, 4, 2, 2]),\n Int32Array.from([1, 2, 1, 1, 2, 4]),\n Int32Array.from([1, 2, 1, 4, 2, 1]),\n Int32Array.from([1, 4, 1, 1, 2, 2]),\n Int32Array.from([1, 4, 1, 2, 2, 1]),\n Int32Array.from([1, 1, 2, 2, 1, 4]),\n Int32Array.from([1, 1, 2, 4, 1, 2]),\n Int32Array.from([1, 2, 2, 1, 1, 4]),\n Int32Array.from([1, 2, 2, 4, 1, 1]),\n Int32Array.from([1, 4, 2, 1, 1, 2]),\n Int32Array.from([1, 4, 2, 2, 1, 1]),\n Int32Array.from([2, 4, 1, 2, 1, 1]),\n Int32Array.from([2, 2, 1, 1, 1, 4]),\n Int32Array.from([4, 1, 3, 1, 1, 1]),\n Int32Array.from([2, 4, 1, 1, 1, 2]),\n Int32Array.from([1, 3, 4, 1, 1, 1]),\n Int32Array.from([1, 1, 1, 2, 4, 2]),\n Int32Array.from([1, 2, 1, 1, 4, 2]),\n Int32Array.from([1, 2, 1, 2, 4, 1]),\n Int32Array.from([1, 1, 4, 2, 1, 2]),\n Int32Array.from([1, 2, 4, 1, 1, 2]),\n Int32Array.from([1, 2, 4, 2, 1, 1]),\n Int32Array.from([4, 1, 1, 2, 1, 2]),\n Int32Array.from([4, 2, 1, 1, 1, 2]),\n Int32Array.from([4, 2, 1, 2, 1, 1]),\n Int32Array.from([2, 1, 2, 1, 4, 1]),\n Int32Array.from([2, 1, 4, 1, 2, 1]),\n Int32Array.from([4, 1, 2, 1, 2, 1]),\n Int32Array.from([1, 1, 1, 1, 4, 3]),\n Int32Array.from([1, 1, 1, 3, 4, 1]),\n Int32Array.from([1, 3, 1, 1, 4, 1]),\n Int32Array.from([1, 1, 4, 1, 1, 3]),\n Int32Array.from([1, 1, 4, 3, 1, 1]),\n Int32Array.from([4, 1, 1, 1, 1, 3]),\n Int32Array.from([4, 1, 1, 3, 1, 1]),\n Int32Array.from([1, 1, 3, 1, 4, 1]),\n Int32Array.from([1, 1, 4, 1, 3, 1]),\n Int32Array.from([3, 1, 1, 1, 4, 1]),\n Int32Array.from([4, 1, 1, 1, 3, 1]),\n Int32Array.from([2, 1, 1, 4, 1, 2]),\n Int32Array.from([2, 1, 1, 2, 1, 4]),\n Int32Array.from([2, 1, 1, 2, 3, 2]),\n Int32Array.from([2, 3, 3, 1, 1, 1, 2]),\n ];\n Code128Reader.MAX_AVG_VARIANCE = 0.25;\n Code128Reader.MAX_INDIVIDUAL_VARIANCE = 0.7;\n Code128Reader.CODE_SHIFT = 98;\n Code128Reader.CODE_CODE_C = 99;\n Code128Reader.CODE_CODE_B = 100;\n Code128Reader.CODE_CODE_A = 101;\n Code128Reader.CODE_FNC_1 = 102;\n Code128Reader.CODE_FNC_2 = 97;\n Code128Reader.CODE_FNC_3 = 96;\n Code128Reader.CODE_FNC_4_A = 101;\n Code128Reader.CODE_FNC_4_B = 100;\n Code128Reader.CODE_START_A = 103;\n Code128Reader.CODE_START_B = 104;\n Code128Reader.CODE_START_C = 105;\n Code128Reader.CODE_STOP = 106;\n return Code128Reader;\n}(OneDReader));\nexport default Code128Reader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.oned {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport ChecksumException from '../ChecksumException';\nimport FormatException from '../FormatException';\nimport NotFoundException from '../NotFoundException';\nimport OneDReader from './OneDReader';\nimport Result from '../Result';\nimport ResultPoint from '../ResultPoint';\n/**\n *

    Decodes Code 39 barcodes. Supports \"Full ASCII Code 39\" if USE_CODE_39_EXTENDED_MODE is set.

    \n *\n * @author Sean Owen\n * @see Code93Reader\n */\nvar Code39Reader = /** @class */ (function (_super) {\n __extends(Code39Reader, _super);\n /**\n * Creates a reader that assumes all encoded data is data, and does not treat the final\n * character as a check digit. It will not decoded \"extended Code 39\" sequences.\n */\n // public Code39Reader() {\n // this(false);\n // }\n /**\n * Creates a reader that can be configured to check the last character as a check digit.\n * It will not decoded \"extended Code 39\" sequences.\n *\n * @param usingCheckDigit if true, treat the last data character as a check digit, not\n * data, and verify that the checksum passes.\n */\n // public Code39Reader(boolean usingCheckDigit) {\n // this(usingCheckDigit, false);\n // }\n /**\n * Creates a reader that can be configured to check the last character as a check digit,\n * or optionally attempt to decode \"extended Code 39\" sequences that are used to encode\n * the full ASCII character set.\n *\n * @param usingCheckDigit if true, treat the last data character as a check digit, not\n * data, and verify that the checksum passes.\n * @param extendedMode if true, will attempt to decode extended Code 39 sequences in the\n * text.\n */\n function Code39Reader(usingCheckDigit, extendedMode) {\n if (usingCheckDigit === void 0) { usingCheckDigit = false; }\n if (extendedMode === void 0) { extendedMode = false; }\n var _this = _super.call(this) || this;\n _this.usingCheckDigit = usingCheckDigit;\n _this.extendedMode = extendedMode;\n _this.decodeRowResult = '';\n _this.counters = new Int32Array(9);\n return _this;\n }\n Code39Reader.prototype.decodeRow = function (rowNumber, row, hints) {\n var e_1, _a, e_2, _b;\n var theCounters = this.counters;\n theCounters.fill(0);\n this.decodeRowResult = '';\n var start = Code39Reader.findAsteriskPattern(row, theCounters);\n // Read off white space\n var nextStart = row.getNextSet(start[1]);\n var end = row.getSize();\n var decodedChar;\n var lastStart;\n do {\n Code39Reader.recordPattern(row, nextStart, theCounters);\n var pattern = Code39Reader.toNarrowWidePattern(theCounters);\n if (pattern < 0) {\n throw new NotFoundException();\n }\n decodedChar = Code39Reader.patternToChar(pattern);\n this.decodeRowResult += decodedChar;\n lastStart = nextStart;\n try {\n for (var theCounters_1 = (e_1 = void 0, __values(theCounters)), theCounters_1_1 = theCounters_1.next(); !theCounters_1_1.done; theCounters_1_1 = theCounters_1.next()) {\n var counter = theCounters_1_1.value;\n nextStart += counter;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (theCounters_1_1 && !theCounters_1_1.done && (_a = theCounters_1.return)) _a.call(theCounters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n // Read off white space\n nextStart = row.getNextSet(nextStart);\n } while (decodedChar !== '*');\n this.decodeRowResult = this.decodeRowResult.substring(0, this.decodeRowResult.length - 1); // remove asterisk\n // Look for whitespace after pattern:\n var lastPatternSize = 0;\n try {\n for (var theCounters_2 = __values(theCounters), theCounters_2_1 = theCounters_2.next(); !theCounters_2_1.done; theCounters_2_1 = theCounters_2.next()) {\n var counter = theCounters_2_1.value;\n lastPatternSize += counter;\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (theCounters_2_1 && !theCounters_2_1.done && (_b = theCounters_2.return)) _b.call(theCounters_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n var whiteSpaceAfterEnd = nextStart - lastStart - lastPatternSize;\n // If 50% of last pattern size, following last pattern, is not whitespace, fail\n // (but if it's whitespace to the very end of the image, that's OK)\n if (nextStart !== end && (whiteSpaceAfterEnd * 2) < lastPatternSize) {\n throw new NotFoundException();\n }\n if (this.usingCheckDigit) {\n var max = this.decodeRowResult.length - 1;\n var total = 0;\n for (var i = 0; i < max; i++) {\n total += Code39Reader.ALPHABET_STRING.indexOf(this.decodeRowResult.charAt(i));\n }\n if (this.decodeRowResult.charAt(max) !== Code39Reader.ALPHABET_STRING.charAt(total % 43)) {\n throw new ChecksumException();\n }\n this.decodeRowResult = this.decodeRowResult.substring(0, max);\n }\n if (this.decodeRowResult.length === 0) {\n // false positive\n throw new NotFoundException();\n }\n var resultString;\n if (this.extendedMode) {\n resultString = Code39Reader.decodeExtended(this.decodeRowResult);\n }\n else {\n resultString = this.decodeRowResult;\n }\n var left = (start[1] + start[0]) / 2.0;\n var right = lastStart + lastPatternSize / 2.0;\n return new Result(resultString, null, 0, [new ResultPoint(left, rowNumber), new ResultPoint(right, rowNumber)], BarcodeFormat.CODE_39, new Date().getTime());\n };\n Code39Reader.findAsteriskPattern = function (row, counters) {\n var width = row.getSize();\n var rowOffset = row.getNextSet(0);\n var counterPosition = 0;\n var patternStart = rowOffset;\n var isWhite = false;\n var patternLength = counters.length;\n for (var i = rowOffset; i < width; i++) {\n if (row.get(i) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === patternLength - 1) {\n // Look for whitespace before start pattern, >= 50% of width of start pattern\n if (this.toNarrowWidePattern(counters) === Code39Reader.ASTERISK_ENCODING &&\n row.isRange(Math.max(0, patternStart - Math.floor((i - patternStart) / 2)), patternStart, false)) {\n return [patternStart, i];\n }\n patternStart += counters[0] + counters[1];\n counters.copyWithin(0, 2, 2 + counterPosition - 1);\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n };\n // For efficiency, returns -1 on failure. Not throwing here saved as many as 700 exceptions\n // per image when using some of our blackbox images.\n Code39Reader.toNarrowWidePattern = function (counters) {\n var e_3, _a;\n var numCounters = counters.length;\n var maxNarrowCounter = 0;\n var wideCounters;\n do {\n var minCounter = 0x7fffffff;\n try {\n for (var counters_1 = (e_3 = void 0, __values(counters)), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n if (counter < minCounter && counter > maxNarrowCounter) {\n minCounter = counter;\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n maxNarrowCounter = minCounter;\n wideCounters = 0;\n var totalWideCountersWidth = 0;\n var pattern = 0;\n for (var i = 0; i < numCounters; i++) {\n var counter = counters[i];\n if (counter > maxNarrowCounter) {\n pattern |= 1 << (numCounters - 1 - i);\n wideCounters++;\n totalWideCountersWidth += counter;\n }\n }\n if (wideCounters === 3) {\n // Found 3 wide counters, but are they close enough in width?\n // We can perform a cheap, conservative check to see if any individual\n // counter is more than 1.5 times the average:\n for (var i = 0; i < numCounters && wideCounters > 0; i++) {\n var counter = counters[i];\n if (counter > maxNarrowCounter) {\n wideCounters--;\n // totalWideCountersWidth = 3 * average, so this checks if counter >= 3/2 * average\n if ((counter * 2) >= totalWideCountersWidth) {\n return -1;\n }\n }\n }\n return pattern;\n }\n } while (wideCounters > 3);\n return -1;\n };\n Code39Reader.patternToChar = function (pattern) {\n for (var i = 0; i < Code39Reader.CHARACTER_ENCODINGS.length; i++) {\n if (Code39Reader.CHARACTER_ENCODINGS[i] === pattern) {\n return Code39Reader.ALPHABET_STRING.charAt(i);\n }\n }\n if (pattern === Code39Reader.ASTERISK_ENCODING) {\n return '*';\n }\n throw new NotFoundException();\n };\n Code39Reader.decodeExtended = function (encoded) {\n var length = encoded.length;\n var decoded = '';\n for (var i = 0; i < length; i++) {\n var c = encoded.charAt(i);\n if (c === '+' || c === '$' || c === '%' || c === '/') {\n var next = encoded.charAt(i + 1);\n var decodedChar = '\\0';\n switch (c) {\n case '+':\n // +A to +Z map to a to z\n if (next >= 'A' && next <= 'Z') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) + 32);\n }\n else {\n throw new FormatException();\n }\n break;\n case '$':\n // $A to $Z map to control codes SH to SB\n if (next >= 'A' && next <= 'Z') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 64);\n }\n else {\n throw new FormatException();\n }\n break;\n case '%':\n // %A to %E map to control codes ESC to US\n if (next >= 'A' && next <= 'E') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 38);\n }\n else if (next >= 'F' && next <= 'J') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 11);\n }\n else if (next >= 'K' && next <= 'O') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) + 16);\n }\n else if (next >= 'P' && next <= 'T') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) + 43);\n }\n else if (next === 'U') {\n decodedChar = '\\0';\n }\n else if (next === 'V') {\n decodedChar = '@';\n }\n else if (next === 'W') {\n decodedChar = '`';\n }\n else if (next === 'X' || next === 'Y' || next === 'Z') {\n decodedChar = '\\x7f';\n }\n else {\n throw new FormatException();\n }\n break;\n case '/':\n // /A to /O map to ! to , and /Z maps to :\n if (next >= 'A' && next <= 'O') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 32);\n }\n else if (next === 'Z') {\n decodedChar = ':';\n }\n else {\n throw new FormatException();\n }\n break;\n }\n decoded += decodedChar;\n // bump up i again since we read two characters\n i++;\n }\n else {\n decoded += c;\n }\n }\n return decoded;\n };\n Code39Reader.ALPHABET_STRING = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%';\n /**\n * These represent the encodings of characters, as patterns of wide and narrow bars.\n * The 9 least-significant bits of each int correspond to the pattern of wide and narrow,\n * with 1s representing \"wide\" and 0s representing narrow.\n */\n Code39Reader.CHARACTER_ENCODINGS = [\n 0x034, 0x121, 0x061, 0x160, 0x031, 0x130, 0x070, 0x025, 0x124, 0x064,\n 0x109, 0x049, 0x148, 0x019, 0x118, 0x058, 0x00D, 0x10C, 0x04C, 0x01C,\n 0x103, 0x043, 0x142, 0x013, 0x112, 0x052, 0x007, 0x106, 0x046, 0x016,\n 0x181, 0x0C1, 0x1C0, 0x091, 0x190, 0x0D0, 0x085, 0x184, 0x0C4, 0x0A8,\n 0x0A2, 0x08A, 0x02A // /-%\n ];\n Code39Reader.ASTERISK_ENCODING = 0x094;\n return Code39Reader;\n}(OneDReader));\nexport default Code39Reader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BarcodeFormat from '../BarcodeFormat';\nimport UPCEANReader from './UPCEANReader';\nimport NotFoundException from '../NotFoundException';\n/**\n *

    Implements decoding of the EAN-13 format.

    \n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author alasdair@google.com (Alasdair Mackintosh)\n */\nvar EAN13Reader = /** @class */ (function (_super) {\n __extends(EAN13Reader, _super);\n function EAN13Reader() {\n var _this = _super.call(this) || this;\n _this.decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);\n return _this;\n }\n EAN13Reader.prototype.decodeMiddle = function (row, startRange, resultString) {\n var e_1, _a, e_2, _b;\n var counters = this.decodeMiddleCounters;\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var end = row.getSize();\n var rowOffset = startRange[1];\n var lgPatternFound = 0;\n for (var x = 0; x < 6 && rowOffset < end; x++) {\n var bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_AND_G_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch % 10));\n try {\n for (var counters_1 = (e_1 = void 0, __values(counters)), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n rowOffset += counter;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (bestMatch >= 10) {\n lgPatternFound |= 1 << (5 - x);\n }\n }\n resultString = EAN13Reader.determineFirstDigit(resultString, lgPatternFound);\n var middleRange = UPCEANReader.findGuardPattern(row, rowOffset, true, UPCEANReader.MIDDLE_PATTERN, new Int32Array(UPCEANReader.MIDDLE_PATTERN.length).fill(0));\n rowOffset = middleRange[1];\n for (var x = 0; x < 6 && rowOffset < end; x++) {\n var bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch));\n try {\n for (var counters_2 = (e_2 = void 0, __values(counters)), counters_2_1 = counters_2.next(); !counters_2_1.done; counters_2_1 = counters_2.next()) {\n var counter = counters_2_1.value;\n rowOffset += counter;\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (counters_2_1 && !counters_2_1.done && (_b = counters_2.return)) _b.call(counters_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n return { rowOffset: rowOffset, resultString: resultString };\n };\n EAN13Reader.prototype.getBarcodeFormat = function () {\n return BarcodeFormat.EAN_13;\n };\n EAN13Reader.determineFirstDigit = function (resultString, lgPatternFound) {\n for (var d = 0; d < 10; d++) {\n if (lgPatternFound === this.FIRST_DIGIT_ENCODINGS[d]) {\n resultString = String.fromCharCode(('0'.charCodeAt(0) + d)) + resultString;\n return resultString;\n }\n }\n throw new NotFoundException();\n };\n EAN13Reader.FIRST_DIGIT_ENCODINGS = [0x00, 0x0B, 0x0D, 0xE, 0x13, 0x19, 0x1C, 0x15, 0x16, 0x1A];\n return EAN13Reader;\n}(UPCEANReader));\nexport default EAN13Reader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BarcodeFormat from '../BarcodeFormat';\nimport UPCEANReader from './UPCEANReader';\n/**\n *

    Implements decoding of the EAN-8 format.

    \n *\n * @author Sean Owen\n */\nvar EAN8Reader = /** @class */ (function (_super) {\n __extends(EAN8Reader, _super);\n function EAN8Reader() {\n var _this = _super.call(this) || this;\n _this.decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);\n return _this;\n }\n EAN8Reader.prototype.decodeMiddle = function (row, startRange, resultString) {\n var e_1, _a, e_2, _b;\n var counters = this.decodeMiddleCounters;\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var end = row.getSize();\n var rowOffset = startRange[1];\n for (var x = 0; x < 4 && rowOffset < end; x++) {\n var bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch));\n try {\n for (var counters_1 = (e_1 = void 0, __values(counters)), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n rowOffset += counter;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n var middleRange = UPCEANReader.findGuardPattern(row, rowOffset, true, UPCEANReader.MIDDLE_PATTERN, new Int32Array(UPCEANReader.MIDDLE_PATTERN.length).fill(0));\n rowOffset = middleRange[1];\n for (var x = 0; x < 4 && rowOffset < end; x++) {\n var bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch));\n try {\n for (var counters_2 = (e_2 = void 0, __values(counters)), counters_2_1 = counters_2.next(); !counters_2_1.done; counters_2_1 = counters_2.next()) {\n var counter = counters_2_1.value;\n rowOffset += counter;\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (counters_2_1 && !counters_2_1.done && (_b = counters_2.return)) _b.call(counters_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n return { rowOffset: rowOffset, resultString: resultString };\n };\n EAN8Reader.prototype.getBarcodeFormat = function () {\n return BarcodeFormat.EAN_8;\n };\n return EAN8Reader;\n}(UPCEANReader));\nexport default EAN8Reader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.oned {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport DecodeHintType from '../DecodeHintType';\nimport FormatException from '../FormatException';\nimport NotFoundException from '../NotFoundException';\nimport Result from '../Result';\nimport ResultPoint from '../ResultPoint';\nimport StringBuilder from '../util/StringBuilder';\nimport System from '../util/System';\nimport OneDReader from './OneDReader';\n/**\n *

    Decodes ITF barcodes.

    \n *\n * @author Tjieco\n */\nvar ITFReader = /** @class */ (function (_super) {\n __extends(ITFReader, _super);\n function ITFReader() {\n // private static W = 3; // Pixel width of a 3x wide line\n // private static w = 2; // Pixel width of a 2x wide line\n // private static N = 1; // Pixed width of a narrow line\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // Stores the actual narrow line width of the image being decoded.\n _this.narrowLineWidth = -1;\n return _this;\n }\n // See ITFWriter.PATTERNS\n /*\n \n /!**\n * Patterns of Wide / Narrow lines to indicate each digit\n *!/\n */\n ITFReader.prototype.decodeRow = function (rowNumber, row, hints) {\n var e_1, _a;\n // Find out where the Middle section (payload) starts & ends\n var startRange = this.decodeStart(row);\n var endRange = this.decodeEnd(row);\n var result = new StringBuilder();\n ITFReader.decodeMiddle(row, startRange[1], endRange[0], result);\n var resultString = result.toString();\n var allowedLengths = null;\n if (hints != null) {\n allowedLengths = hints.get(DecodeHintType.ALLOWED_LENGTHS);\n }\n if (allowedLengths == null) {\n allowedLengths = ITFReader.DEFAULT_ALLOWED_LENGTHS;\n }\n // To avoid false positives with 2D barcodes (and other patterns), make\n // an assumption that the decoded string must be a 'standard' length if it's short\n var length = resultString.length;\n var lengthOK = false;\n var maxAllowedLength = 0;\n try {\n for (var allowedLengths_1 = __values(allowedLengths), allowedLengths_1_1 = allowedLengths_1.next(); !allowedLengths_1_1.done; allowedLengths_1_1 = allowedLengths_1.next()) {\n var value = allowedLengths_1_1.value;\n if (length === value) {\n lengthOK = true;\n break;\n }\n if (value > maxAllowedLength) {\n maxAllowedLength = value;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (allowedLengths_1_1 && !allowedLengths_1_1.done && (_a = allowedLengths_1.return)) _a.call(allowedLengths_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (!lengthOK && length > maxAllowedLength) {\n lengthOK = true;\n }\n if (!lengthOK) {\n throw new FormatException();\n }\n var points = [new ResultPoint(startRange[1], rowNumber), new ResultPoint(endRange[0], rowNumber)];\n var resultReturn = new Result(resultString, null, // no natural byte representation for these barcodes\n 0, points, BarcodeFormat.ITF, new Date().getTime());\n return resultReturn;\n };\n /*\n /!**\n * @param row row of black/white values to search\n * @param payloadStart offset of start pattern\n * @param resultString {@link StringBuilder} to append decoded chars to\n * @throws NotFoundException if decoding could not complete successfully\n *!/*/\n ITFReader.decodeMiddle = function (row, payloadStart, payloadEnd, resultString) {\n // Digits are interleaved in pairs - 5 black lines for one digit, and the\n // 5\n // interleaved white lines for the second digit.\n // Therefore, need to scan 10 lines and then\n // split these into two arrays\n var counterDigitPair = new Int32Array(10); // 10\n var counterBlack = new Int32Array(5); // 5\n var counterWhite = new Int32Array(5); // 5\n counterDigitPair.fill(0);\n counterBlack.fill(0);\n counterWhite.fill(0);\n while (payloadStart < payloadEnd) {\n // Get 10 runs of black/white.\n OneDReader.recordPattern(row, payloadStart, counterDigitPair);\n // Split them into each array\n for (var k = 0; k < 5; k++) {\n var twoK = 2 * k;\n counterBlack[k] = counterDigitPair[twoK];\n counterWhite[k] = counterDigitPair[twoK + 1];\n }\n var bestMatch = ITFReader.decodeDigit(counterBlack);\n resultString.append(bestMatch.toString());\n bestMatch = this.decodeDigit(counterWhite);\n resultString.append(bestMatch.toString());\n counterDigitPair.forEach(function (counterDigit) {\n payloadStart += counterDigit;\n });\n }\n };\n /*/!**\n * Identify where the start of the middle / payload section starts.\n *\n * @param row row of black/white values to search\n * @return Array, containing index of start of 'start block' and end of\n * 'start block'\n *!/*/\n ITFReader.prototype.decodeStart = function (row) {\n var endStart = ITFReader.skipWhiteSpace(row);\n var startPattern = ITFReader.findGuardPattern(row, endStart, ITFReader.START_PATTERN);\n // Determine the width of a narrow line in pixels. We can do this by\n // getting the width of the start pattern and dividing by 4 because its\n // made up of 4 narrow lines.\n this.narrowLineWidth = (startPattern[1] - startPattern[0]) / 4;\n this.validateQuietZone(row, startPattern[0]);\n return startPattern;\n };\n /*/!**\n * The start & end patterns must be pre/post fixed by a quiet zone. This\n * zone must be at least 10 times the width of a narrow line. Scan back until\n * we either get to the start of the barcode or match the necessary number of\n * quiet zone pixels.\n *\n * Note: Its assumed the row is reversed when using this method to find\n * quiet zone after the end pattern.\n *\n * ref: http://www.barcode-1.net/i25code.html\n *\n * @param row bit array representing the scanned barcode.\n * @param startPattern index into row of the start or end pattern.\n * @throws NotFoundException if the quiet zone cannot be found\n *!/*/\n ITFReader.prototype.validateQuietZone = function (row, startPattern) {\n var quietCount = this.narrowLineWidth * 10; // expect to find this many pixels of quiet zone\n // if there are not so many pixel at all let's try as many as possible\n quietCount = quietCount < startPattern ? quietCount : startPattern;\n for (var i = startPattern - 1; quietCount > 0 && i >= 0; i--) {\n if (row.get(i)) {\n break;\n }\n quietCount--;\n }\n if (quietCount !== 0) {\n // Unable to find the necessary number of quiet zone pixels.\n throw new NotFoundException();\n }\n };\n /*\n /!**\n * Skip all whitespace until we get to the first black line.\n *\n * @param row row of black/white values to search\n * @return index of the first black line.\n * @throws NotFoundException Throws exception if no black lines are found in the row\n *!/*/\n ITFReader.skipWhiteSpace = function (row) {\n var width = row.getSize();\n var endStart = row.getNextSet(0);\n if (endStart === width) {\n throw new NotFoundException();\n }\n return endStart;\n };\n /*/!**\n * Identify where the end of the middle / payload section ends.\n *\n * @param row row of black/white values to search\n * @return Array, containing index of start of 'end block' and end of 'end\n * block'\n *!/*/\n ITFReader.prototype.decodeEnd = function (row) {\n // For convenience, reverse the row and then\n // search from 'the start' for the end block\n row.reverse();\n try {\n var endStart = ITFReader.skipWhiteSpace(row);\n var endPattern = void 0;\n try {\n endPattern = ITFReader.findGuardPattern(row, endStart, ITFReader.END_PATTERN_REVERSED[0]);\n }\n catch (error) {\n if (error instanceof NotFoundException) {\n endPattern = ITFReader.findGuardPattern(row, endStart, ITFReader.END_PATTERN_REVERSED[1]);\n }\n }\n // The start & end patterns must be pre/post fixed by a quiet zone. This\n // zone must be at least 10 times the width of a narrow line.\n // ref: http://www.barcode-1.net/i25code.html\n this.validateQuietZone(row, endPattern[0]);\n // Now recalculate the indices of where the 'endblock' starts & stops to\n // accommodate\n // the reversed nature of the search\n var temp = endPattern[0];\n endPattern[0] = row.getSize() - endPattern[1];\n endPattern[1] = row.getSize() - temp;\n return endPattern;\n }\n finally {\n // Put the row back the right way.\n row.reverse();\n }\n };\n /*\n /!**\n * @param row row of black/white values to search\n * @param rowOffset position to start search\n * @param pattern pattern of counts of number of black and white pixels that are\n * being searched for as a pattern\n * @return start/end horizontal offset of guard pattern, as an array of two\n * ints\n * @throws NotFoundException if pattern is not found\n *!/*/\n ITFReader.findGuardPattern = function (row, rowOffset, pattern) {\n var patternLength = pattern.length;\n var counters = new Int32Array(patternLength);\n var width = row.getSize();\n var isWhite = false;\n var counterPosition = 0;\n var patternStart = rowOffset;\n counters.fill(0);\n for (var x = rowOffset; x < width; x++) {\n if (row.get(x) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === patternLength - 1) {\n if (OneDReader.patternMatchVariance(counters, pattern, ITFReader.MAX_INDIVIDUAL_VARIANCE) < ITFReader.MAX_AVG_VARIANCE) {\n return [patternStart, x];\n }\n patternStart += counters[0] + counters[1];\n System.arraycopy(counters, 2, counters, 0, counterPosition - 1);\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n };\n /*/!**\n * Attempts to decode a sequence of ITF black/white lines into single\n * digit.\n *\n * @param counters the counts of runs of observed black/white/black/... values\n * @return The decoded digit\n * @throws NotFoundException if digit cannot be decoded\n *!/*/\n ITFReader.decodeDigit = function (counters) {\n var bestVariance = ITFReader.MAX_AVG_VARIANCE; // worst variance we'll accept\n var bestMatch = -1;\n var max = ITFReader.PATTERNS.length;\n for (var i = 0; i < max; i++) {\n var pattern = ITFReader.PATTERNS[i];\n var variance = OneDReader.patternMatchVariance(counters, pattern, ITFReader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = i;\n }\n else if (variance === bestVariance) {\n // if we find a second 'best match' with the same variance, we can not reliably report to have a suitable match\n bestMatch = -1;\n }\n }\n if (bestMatch >= 0) {\n return bestMatch % 10;\n }\n else {\n throw new NotFoundException();\n }\n };\n ITFReader.PATTERNS = [\n Int32Array.from([1, 1, 2, 2, 1]),\n Int32Array.from([2, 1, 1, 1, 2]),\n Int32Array.from([1, 2, 1, 1, 2]),\n Int32Array.from([2, 2, 1, 1, 1]),\n Int32Array.from([1, 1, 2, 1, 2]),\n Int32Array.from([2, 1, 2, 1, 1]),\n Int32Array.from([1, 2, 2, 1, 1]),\n Int32Array.from([1, 1, 1, 2, 2]),\n Int32Array.from([2, 1, 1, 2, 1]),\n Int32Array.from([1, 2, 1, 2, 1]),\n Int32Array.from([1, 1, 3, 3, 1]),\n Int32Array.from([3, 1, 1, 1, 3]),\n Int32Array.from([1, 3, 1, 1, 3]),\n Int32Array.from([3, 3, 1, 1, 1]),\n Int32Array.from([1, 1, 3, 1, 3]),\n Int32Array.from([3, 1, 3, 1, 1]),\n Int32Array.from([1, 3, 3, 1, 1]),\n Int32Array.from([1, 1, 1, 3, 3]),\n Int32Array.from([3, 1, 1, 3, 1]),\n Int32Array.from([1, 3, 1, 3, 1]) // 9\n ];\n ITFReader.MAX_AVG_VARIANCE = 0.38;\n ITFReader.MAX_INDIVIDUAL_VARIANCE = 0.5;\n /* /!** Valid ITF lengths. Anything longer than the largest value is also allowed. *!/*/\n ITFReader.DEFAULT_ALLOWED_LENGTHS = [6, 8, 10, 12, 14];\n /*/!**\n * Start/end guard pattern.\n *\n * Note: The end pattern is reversed because the row is reversed before\n * searching for the END_PATTERN\n *!/*/\n ITFReader.START_PATTERN = Int32Array.from([1, 1, 1, 1]);\n ITFReader.END_PATTERN_REVERSED = [\n Int32Array.from([1, 1, 2]),\n Int32Array.from([1, 1, 3]) // 3x\n ];\n return ITFReader;\n}(OneDReader));\nexport default ITFReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.oned {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport DecodeHintType from '../DecodeHintType';\nimport NotFoundException from '../NotFoundException';\nimport Code128Reader from './Code128Reader';\nimport Code39Reader from './Code39Reader';\nimport ITFReader from './ITFReader';\nimport MultiFormatUPCEANReader from './MultiFormatUPCEANReader';\nimport OneDReader from './OneDReader';\nimport RSSExpandedReader from './rss/expanded/RSSExpandedReader';\nimport RSS14Reader from './rss/RSS14Reader';\n/**\n * @author Daniel Switkin \n * @author Sean Owen\n */\nvar MultiFormatOneDReader = /** @class */ (function (_super) {\n __extends(MultiFormatOneDReader, _super);\n function MultiFormatOneDReader(hints) {\n var _this = _super.call(this) || this;\n _this.readers = [];\n var possibleFormats = !hints ? null : hints.get(DecodeHintType.POSSIBLE_FORMATS);\n var useCode39CheckDigit = hints && hints.get(DecodeHintType.ASSUME_CODE_39_CHECK_DIGIT) !== undefined;\n if (possibleFormats) {\n if (possibleFormats.includes(BarcodeFormat.EAN_13) ||\n possibleFormats.includes(BarcodeFormat.UPC_A) ||\n possibleFormats.includes(BarcodeFormat.EAN_8) ||\n possibleFormats.includes(BarcodeFormat.UPC_E)) {\n _this.readers.push(new MultiFormatUPCEANReader(hints));\n }\n if (possibleFormats.includes(BarcodeFormat.CODE_39)) {\n _this.readers.push(new Code39Reader(useCode39CheckDigit));\n }\n // if (possibleFormats.includes(BarcodeFormat.CODE_93)) {\n // this.readers.push(new Code93Reader());\n // }\n if (possibleFormats.includes(BarcodeFormat.CODE_128)) {\n _this.readers.push(new Code128Reader());\n }\n if (possibleFormats.includes(BarcodeFormat.ITF)) {\n _this.readers.push(new ITFReader());\n }\n // if (possibleFormats.includes(BarcodeFormat.CODABAR)) {\n // this.readers.push(new CodaBarReader());\n // }\n if (possibleFormats.includes(BarcodeFormat.RSS_14)) {\n _this.readers.push(new RSS14Reader());\n }\n if (possibleFormats.includes(BarcodeFormat.RSS_EXPANDED)) {\n console.warn('RSS Expanded reader IS NOT ready for production yet! use at your own risk.');\n _this.readers.push(new RSSExpandedReader());\n }\n }\n if (_this.readers.length === 0) {\n _this.readers.push(new MultiFormatUPCEANReader(hints));\n _this.readers.push(new Code39Reader());\n // this.readers.push(new CodaBarReader());\n // this.readers.push(new Code93Reader());\n _this.readers.push(new MultiFormatUPCEANReader(hints));\n _this.readers.push(new Code128Reader());\n _this.readers.push(new ITFReader());\n _this.readers.push(new RSS14Reader());\n // this.readers.push(new RSSExpandedReader());\n }\n return _this;\n }\n // @Override\n MultiFormatOneDReader.prototype.decodeRow = function (rowNumber, row, hints) {\n for (var i = 0; i < this.readers.length; i++) {\n try {\n return this.readers[i].decodeRow(rowNumber, row, hints);\n }\n catch (re) {\n // continue\n }\n }\n throw new NotFoundException();\n };\n // @Override\n MultiFormatOneDReader.prototype.reset = function () {\n this.readers.forEach(function (reader) { return reader.reset(); });\n };\n return MultiFormatOneDReader;\n}(OneDReader));\nexport default MultiFormatOneDReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BarcodeFormat from '../BarcodeFormat';\nimport DecodeHintType from '../DecodeHintType';\nimport Result from '../Result';\nimport OneDReader from './OneDReader';\nimport EAN13Reader from './EAN13Reader';\nimport EAN8Reader from './EAN8Reader';\nimport UPCAReader from './UPCAReader';\nimport NotFoundException from '../NotFoundException';\nimport UPCEReader from './UPCEReader';\n/**\n *

    A reader that can read all available UPC/EAN formats. If a caller wants to try to\n * read all such formats, it is most efficient to use this implementation rather than invoke\n * individual readers.

    \n *\n * @author Sean Owen\n */\nvar MultiFormatUPCEANReader = /** @class */ (function (_super) {\n __extends(MultiFormatUPCEANReader, _super);\n function MultiFormatUPCEANReader(hints) {\n var _this = _super.call(this) || this;\n var possibleFormats = hints == null ? null : hints.get(DecodeHintType.POSSIBLE_FORMATS);\n var readers = [];\n if (possibleFormats != null) {\n if (possibleFormats.indexOf(BarcodeFormat.EAN_13) > -1) {\n readers.push(new EAN13Reader());\n }\n if (possibleFormats.indexOf(BarcodeFormat.UPC_A) > -1) {\n readers.push(new UPCAReader());\n }\n if (possibleFormats.indexOf(BarcodeFormat.EAN_8) > -1) {\n readers.push(new EAN8Reader());\n }\n if (possibleFormats.indexOf(BarcodeFormat.UPC_E) > -1) {\n readers.push(new UPCEReader());\n }\n }\n if (readers.length === 0) {\n readers.push(new EAN13Reader());\n readers.push(new UPCAReader());\n readers.push(new EAN8Reader());\n readers.push(new UPCEReader());\n }\n _this.readers = readers;\n return _this;\n }\n MultiFormatUPCEANReader.prototype.decodeRow = function (rowNumber, row, hints) {\n var e_1, _a;\n try {\n for (var _b = __values(this.readers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var reader = _c.value;\n try {\n // const result: Result = reader.decodeRow(rowNumber, row, startGuardPattern, hints);\n var result = reader.decodeRow(rowNumber, row, hints);\n // Special case: a 12-digit code encoded in UPC-A is identical to a \"0\"\n // followed by those 12 digits encoded as EAN-13. Each will recognize such a code,\n // UPC-A as a 12-digit string and EAN-13 as a 13-digit string starting with \"0\".\n // Individually these are correct and their readers will both read such a code\n // and correctly call it EAN-13, or UPC-A, respectively.\n //\n // In this case, if we've been looking for both types, we'd like to call it\n // a UPC-A code. But for efficiency we only run the EAN-13 decoder to also read\n // UPC-A. So we special case it here, and convert an EAN-13 result to a UPC-A\n // result if appropriate.\n //\n // But, don't return UPC-A if UPC-A was not a requested format!\n var ean13MayBeUPCA = result.getBarcodeFormat() === BarcodeFormat.EAN_13 &&\n result.getText().charAt(0) === '0';\n // @SuppressWarnings(\"unchecked\")\n var possibleFormats = hints == null ? null : hints.get(DecodeHintType.POSSIBLE_FORMATS);\n var canReturnUPCA = possibleFormats == null || possibleFormats.includes(BarcodeFormat.UPC_A);\n if (ean13MayBeUPCA && canReturnUPCA) {\n var rawBytes = result.getRawBytes();\n // Transfer the metadata across\n var resultUPCA = new Result(result.getText().substring(1), rawBytes, (rawBytes ? rawBytes.length : null), result.getResultPoints(), BarcodeFormat.UPC_A);\n resultUPCA.putAllMetadata(result.getResultMetadata());\n return resultUPCA;\n }\n return result;\n }\n catch (err) {\n // continue;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n throw new NotFoundException();\n };\n MultiFormatUPCEANReader.prototype.reset = function () {\n var e_2, _a;\n try {\n for (var _b = __values(this.readers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var reader = _c.value;\n reader.reset();\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n };\n return MultiFormatUPCEANReader;\n}(OneDReader));\nexport default MultiFormatUPCEANReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport BitArray from '../common/BitArray';\nimport DecodeHintType from '../DecodeHintType';\nimport ResultMetadataType from '../ResultMetadataType';\nimport ResultPoint from '../ResultPoint';\nimport NotFoundException from '../NotFoundException';\n/**\n * Encapsulates functionality and implementation that is common to all families\n * of one-dimensional barcodes.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n */\nvar OneDReader = /** @class */ (function () {\n function OneDReader() {\n }\n /*\n @Override\n public Result decode(BinaryBitmap image) throws NotFoundException, FormatException {\n return decode(image, null);\n }\n */\n // Note that we don't try rotation without the try harder flag, even if rotation was supported.\n // @Override\n OneDReader.prototype.decode = function (image, hints) {\n try {\n return this.doDecode(image, hints);\n }\n catch (nfe) {\n var tryHarder = hints && (hints.get(DecodeHintType.TRY_HARDER) === true);\n if (tryHarder && image.isRotateSupported()) {\n var rotatedImage = image.rotateCounterClockwise();\n var result = this.doDecode(rotatedImage, hints);\n // Record that we found it rotated 90 degrees CCW / 270 degrees CW\n var metadata = result.getResultMetadata();\n var orientation_1 = 270;\n if (metadata !== null && (metadata.get(ResultMetadataType.ORIENTATION) === true)) {\n // But if we found it reversed in doDecode(), add in that result here:\n orientation_1 = (orientation_1 + metadata.get(ResultMetadataType.ORIENTATION) % 360);\n }\n result.putMetadata(ResultMetadataType.ORIENTATION, orientation_1);\n // Update result points\n var points = result.getResultPoints();\n if (points !== null) {\n var height = rotatedImage.getHeight();\n for (var i = 0; i < points.length; i++) {\n points[i] = new ResultPoint(height - points[i].getY() - 1, points[i].getX());\n }\n }\n return result;\n }\n else {\n throw new NotFoundException();\n }\n }\n };\n // @Override\n OneDReader.prototype.reset = function () {\n // do nothing\n };\n /**\n * We're going to examine rows from the middle outward, searching alternately above and below the\n * middle, and farther out each time. rowStep is the number of rows between each successive\n * attempt above and below the middle. So we'd scan row middle, then middle - rowStep, then\n * middle + rowStep, then middle - (2 * rowStep), etc.\n * rowStep is bigger as the image is taller, but is always at least 1. We've somewhat arbitrarily\n * decided that moving up and down by about 1/16 of the image is pretty good; we try more of the\n * image if \"trying harder\".\n *\n * @param image The image to decode\n * @param hints Any hints that were requested\n * @return The contents of the decoded barcode\n * @throws NotFoundException Any spontaneous errors which occur\n */\n OneDReader.prototype.doDecode = function (image, hints) {\n var width = image.getWidth();\n var height = image.getHeight();\n var row = new BitArray(width);\n var tryHarder = hints && (hints.get(DecodeHintType.TRY_HARDER) === true);\n var rowStep = Math.max(1, height >> (tryHarder ? 8 : 5));\n var maxLines;\n if (tryHarder) {\n maxLines = height; // Look at the whole image, not just the center\n }\n else {\n maxLines = 15; // 15 rows spaced 1/32 apart is roughly the middle half of the image\n }\n var middle = Math.trunc(height / 2);\n for (var x = 0; x < maxLines; x++) {\n // Scanning from the middle out. Determine which row we're looking at next:\n var rowStepsAboveOrBelow = Math.trunc((x + 1) / 2);\n var isAbove = (x & 0x01) === 0; // i.e. is x even?\n var rowNumber = middle + rowStep * (isAbove ? rowStepsAboveOrBelow : -rowStepsAboveOrBelow);\n if (rowNumber < 0 || rowNumber >= height) {\n // Oops, if we run off the top or bottom, stop\n break;\n }\n // Estimate black point for this row and load it:\n try {\n row = image.getBlackRow(rowNumber, row);\n }\n catch (ignored) {\n continue;\n }\n var _loop_1 = function (attempt) {\n if (attempt === 1) { // trying again?\n row.reverse(); // reverse the row and continue\n // This means we will only ever draw result points *once* in the life of this method\n // since we want to avoid drawing the wrong points after flipping the row, and,\n // don't want to clutter with noise from every single row scan -- just the scans\n // that start on the center line.\n if (hints && (hints.get(DecodeHintType.NEED_RESULT_POINT_CALLBACK) === true)) {\n var newHints_1 = new Map();\n hints.forEach(function (hint, key) { return newHints_1.set(key, hint); });\n newHints_1.delete(DecodeHintType.NEED_RESULT_POINT_CALLBACK);\n hints = newHints_1;\n }\n }\n try {\n // Look for a barcode\n var result = this_1.decodeRow(rowNumber, row, hints);\n // We found our barcode\n if (attempt === 1) {\n // But it was upside down, so note that\n result.putMetadata(ResultMetadataType.ORIENTATION, 180);\n // And remember to flip the result points horizontally.\n var points = result.getResultPoints();\n if (points !== null) {\n points[0] = new ResultPoint(width - points[0].getX() - 1, points[0].getY());\n points[1] = new ResultPoint(width - points[1].getX() - 1, points[1].getY());\n }\n }\n return { value: result };\n }\n catch (re) {\n // continue -- just couldn't decode this row\n }\n };\n var this_1 = this;\n // While we have the image data in a BitArray, it's fairly cheap to reverse it in place to\n // handle decoding upside down barcodes.\n for (var attempt = 0; attempt < 2; attempt++) {\n var state_1 = _loop_1(attempt);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n }\n throw new NotFoundException();\n };\n /**\n * Records the size of successive runs of white and black pixels in a row, starting at a given point.\n * The values are recorded in the given array, and the number of runs recorded is equal to the size\n * of the array. If the row starts on a white pixel at the given start point, then the first count\n * recorded is the run of white pixels starting from that point; likewise it is the count of a run\n * of black pixels if the row begin on a black pixels at that point.\n *\n * @param row row to count from\n * @param start offset into row to start at\n * @param counters array into which to record counts\n * @throws NotFoundException if counters cannot be filled entirely from row before running out\n * of pixels\n */\n OneDReader.recordPattern = function (row, start, counters) {\n var numCounters = counters.length;\n for (var index = 0; index < numCounters; index++)\n counters[index] = 0;\n var end = row.getSize();\n if (start >= end) {\n throw new NotFoundException();\n }\n var isWhite = !row.get(start);\n var counterPosition = 0;\n var i = start;\n while (i < end) {\n if (row.get(i) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (++counterPosition === numCounters) {\n break;\n }\n else {\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n i++;\n }\n // If we read fully the last section of pixels and filled up our counters -- or filled\n // the last counter but ran off the side of the image, OK. Otherwise, a problem.\n if (!(counterPosition === numCounters || (counterPosition === numCounters - 1 && i === end))) {\n throw new NotFoundException();\n }\n };\n OneDReader.recordPatternInReverse = function (row, start, counters) {\n // This could be more efficient I guess\n var numTransitionsLeft = counters.length;\n var last = row.get(start);\n while (start > 0 && numTransitionsLeft >= 0) {\n if (row.get(--start) !== last) {\n numTransitionsLeft--;\n last = !last;\n }\n }\n if (numTransitionsLeft >= 0) {\n throw new NotFoundException();\n }\n OneDReader.recordPattern(row, start + 1, counters);\n };\n /**\n * Determines how closely a set of observed counts of runs of black/white values matches a given\n * target pattern. This is reported as the ratio of the total variance from the expected pattern\n * proportions across all pattern elements, to the length of the pattern.\n *\n * @param counters observed counters\n * @param pattern expected pattern\n * @param maxIndividualVariance The most any counter can differ before we give up\n * @return ratio of total variance between counters and pattern compared to total pattern size\n */\n OneDReader.patternMatchVariance = function (counters, pattern, maxIndividualVariance) {\n var numCounters = counters.length;\n var total = 0;\n var patternLength = 0;\n for (var i = 0; i < numCounters; i++) {\n total += counters[i];\n patternLength += pattern[i];\n }\n if (total < patternLength) {\n // If we don't even have one pixel per unit of bar width, assume this is too small\n // to reliably match, so fail:\n return Number.POSITIVE_INFINITY;\n }\n var unitBarWidth = total / patternLength;\n maxIndividualVariance *= unitBarWidth;\n var totalVariance = 0.0;\n for (var x = 0; x < numCounters; x++) {\n var counter = counters[x];\n var scaledPattern = pattern[x] * unitBarWidth;\n var variance = counter > scaledPattern ? counter - scaledPattern : scaledPattern - counter;\n if (variance > maxIndividualVariance) {\n return Number.POSITIVE_INFINITY;\n }\n totalVariance += variance;\n }\n return totalVariance / total;\n };\n return OneDReader;\n}());\nexport default OneDReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.oned {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport Result from '../Result';\nimport NotFoundException from '../NotFoundException';\nimport EAN13Reader from './EAN13Reader';\nimport UPCEANReader from './UPCEANReader';\n/**\n * Encapsulates functionality and implementation that is common to all families\n * of one-dimensional barcodes.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author sam2332 (Sam Rudloff)\n *\n * @source https://github.com/zxing/zxing/blob/3c96923276dd5785d58eb970b6ba3f80d36a9505/core/src/main/java/com/google/zxing/oned/UPCAReader.java\n *\n * @experimental\n */\nvar UPCAReader = /** @class */ (function (_super) {\n __extends(UPCAReader, _super);\n function UPCAReader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.ean13Reader = new EAN13Reader();\n return _this;\n }\n // @Override\n UPCAReader.prototype.getBarcodeFormat = function () {\n return BarcodeFormat.UPC_A;\n };\n // Note that we don't try rotation without the try harder flag, even if rotation was supported.\n // @Override\n UPCAReader.prototype.decode = function (image, hints) {\n return this.maybeReturnResult(this.ean13Reader.decode(image));\n };\n // @Override\n UPCAReader.prototype.decodeRow = function (rowNumber, row, hints) {\n return this.maybeReturnResult(this.ean13Reader.decodeRow(rowNumber, row, hints));\n };\n // @Override\n UPCAReader.prototype.decodeMiddle = function (row, startRange, resultString) {\n return this.ean13Reader.decodeMiddle(row, startRange, resultString);\n };\n UPCAReader.prototype.maybeReturnResult = function (result) {\n var text = result.getText();\n if (text.charAt(0) === '0') {\n var upcaResult = new Result(text.substring(1), null, null, result.getResultPoints(), BarcodeFormat.UPC_A);\n if (result.getResultMetadata() != null) {\n upcaResult.putAllMetadata(result.getResultMetadata());\n }\n return upcaResult;\n }\n else {\n throw new NotFoundException();\n }\n };\n UPCAReader.prototype.reset = function () {\n this.ean13Reader.reset();\n };\n return UPCAReader;\n}(UPCEANReader));\nexport default UPCAReader;\n","/*\n * Copyright (C) 2012 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BarcodeFormat from '../BarcodeFormat';\nimport AbstractUPCEANReader from './AbstractUPCEANReader';\nimport Result from '../Result';\nimport ResultPoint from '../ResultPoint';\nimport ResultMetadataType from '../ResultMetadataType';\nimport NotFoundException from '../NotFoundException';\n/**\n * @see UPCEANExtension5Support\n */\nvar UPCEANExtension2Support = /** @class */ (function () {\n function UPCEANExtension2Support() {\n this.decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);\n this.decodeRowStringBuffer = '';\n }\n UPCEANExtension2Support.prototype.decodeRow = function (rowNumber, row, extensionStartRange) {\n var result = this.decodeRowStringBuffer;\n var end = this.decodeMiddle(row, extensionStartRange, result);\n var resultString = result.toString();\n var extensionData = UPCEANExtension2Support.parseExtensionString(resultString);\n var resultPoints = [\n new ResultPoint((extensionStartRange[0] + extensionStartRange[1]) / 2.0, rowNumber),\n new ResultPoint(end, rowNumber)\n ];\n var extensionResult = new Result(resultString, null, 0, resultPoints, BarcodeFormat.UPC_EAN_EXTENSION, new Date().getTime());\n if (extensionData != null) {\n extensionResult.putAllMetadata(extensionData);\n }\n return extensionResult;\n };\n UPCEANExtension2Support.prototype.decodeMiddle = function (row, startRange, resultString) {\n var e_1, _a;\n var counters = this.decodeMiddleCounters;\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var end = row.getSize();\n var rowOffset = startRange[1];\n var checkParity = 0;\n for (var x = 0; x < 2 && rowOffset < end; x++) {\n var bestMatch = AbstractUPCEANReader.decodeDigit(row, counters, rowOffset, AbstractUPCEANReader.L_AND_G_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch % 10));\n try {\n for (var counters_1 = (e_1 = void 0, __values(counters)), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n rowOffset += counter;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (bestMatch >= 10) {\n checkParity |= 1 << (1 - x);\n }\n if (x !== 1) {\n // Read off separator if not last\n rowOffset = row.getNextSet(rowOffset);\n rowOffset = row.getNextUnset(rowOffset);\n }\n }\n if (resultString.length !== 2) {\n throw new NotFoundException();\n }\n if (parseInt(resultString.toString()) % 4 !== checkParity) {\n throw new NotFoundException();\n }\n return rowOffset;\n };\n UPCEANExtension2Support.parseExtensionString = function (raw) {\n if (raw.length !== 2) {\n return null;\n }\n return new Map([[ResultMetadataType.ISSUE_NUMBER, parseInt(raw)]]);\n };\n return UPCEANExtension2Support;\n}());\nexport default UPCEANExtension2Support;\n","/*\n * Copyright (C) 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BarcodeFormat from '../BarcodeFormat';\n// import UPCEANReader from './UPCEANReader';\nimport AbstractUPCEANReader from './AbstractUPCEANReader';\nimport Result from '../Result';\nimport ResultPoint from '../ResultPoint';\nimport ResultMetadataType from '../ResultMetadataType';\nimport NotFoundException from '../NotFoundException';\n/**\n * @see UPCEANExtension2Support\n */\nvar UPCEANExtension5Support = /** @class */ (function () {\n function UPCEANExtension5Support() {\n this.CHECK_DIGIT_ENCODINGS = [0x18, 0x14, 0x12, 0x11, 0x0C, 0x06, 0x03, 0x0A, 0x09, 0x05];\n this.decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);\n this.decodeRowStringBuffer = '';\n }\n UPCEANExtension5Support.prototype.decodeRow = function (rowNumber, row, extensionStartRange) {\n var result = this.decodeRowStringBuffer;\n var end = this.decodeMiddle(row, extensionStartRange, result);\n var resultString = result.toString();\n var extensionData = UPCEANExtension5Support.parseExtensionString(resultString);\n var resultPoints = [\n new ResultPoint((extensionStartRange[0] + extensionStartRange[1]) / 2.0, rowNumber),\n new ResultPoint(end, rowNumber)\n ];\n var extensionResult = new Result(resultString, null, 0, resultPoints, BarcodeFormat.UPC_EAN_EXTENSION, new Date().getTime());\n if (extensionData != null) {\n extensionResult.putAllMetadata(extensionData);\n }\n return extensionResult;\n };\n UPCEANExtension5Support.prototype.decodeMiddle = function (row, startRange, resultString) {\n var e_1, _a;\n var counters = this.decodeMiddleCounters;\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var end = row.getSize();\n var rowOffset = startRange[1];\n var lgPatternFound = 0;\n for (var x = 0; x < 5 && rowOffset < end; x++) {\n var bestMatch = AbstractUPCEANReader.decodeDigit(row, counters, rowOffset, AbstractUPCEANReader.L_AND_G_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch % 10));\n try {\n for (var counters_1 = (e_1 = void 0, __values(counters)), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n rowOffset += counter;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (bestMatch >= 10) {\n lgPatternFound |= 1 << (4 - x);\n }\n if (x !== 4) {\n // Read off separator if not last\n rowOffset = row.getNextSet(rowOffset);\n rowOffset = row.getNextUnset(rowOffset);\n }\n }\n if (resultString.length !== 5) {\n throw new NotFoundException();\n }\n var checkDigit = this.determineCheckDigit(lgPatternFound);\n if (UPCEANExtension5Support.extensionChecksum(resultString.toString()) !== checkDigit) {\n throw new NotFoundException();\n }\n return rowOffset;\n };\n UPCEANExtension5Support.extensionChecksum = function (s) {\n var length = s.length;\n var sum = 0;\n for (var i = length - 2; i >= 0; i -= 2) {\n sum += s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n }\n sum *= 3;\n for (var i = length - 1; i >= 0; i -= 2) {\n sum += s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n }\n sum *= 3;\n return sum % 10;\n };\n UPCEANExtension5Support.prototype.determineCheckDigit = function (lgPatternFound) {\n for (var d = 0; d < 10; d++) {\n if (lgPatternFound === this.CHECK_DIGIT_ENCODINGS[d]) {\n return d;\n }\n }\n throw new NotFoundException();\n };\n UPCEANExtension5Support.parseExtensionString = function (raw) {\n if (raw.length !== 5) {\n return null;\n }\n var value = UPCEANExtension5Support.parseExtension5String(raw);\n if (value == null) {\n return null;\n }\n return new Map([[ResultMetadataType.SUGGESTED_PRICE, value]]);\n };\n UPCEANExtension5Support.parseExtension5String = function (raw) {\n var currency;\n switch (raw.charAt(0)) {\n case '0':\n currency = '£';\n break;\n case '5':\n currency = '$';\n break;\n case '9':\n // Reference: http://www.jollytech.com\n switch (raw) {\n case '90000':\n // No suggested retail price\n return null;\n case '99991':\n // Complementary\n return '0.00';\n case '99990':\n return 'Used';\n }\n // Otherwise... unknown currency?\n currency = '';\n break;\n default:\n currency = '';\n break;\n }\n var rawAmount = parseInt(raw.substring(1));\n var unitsString = (rawAmount / 100).toString();\n var hundredths = rawAmount % 100;\n var hundredthsString = hundredths < 10 ? '0' + hundredths : hundredths.toString(); // fixme\n return currency + unitsString + '.' + hundredthsString;\n };\n return UPCEANExtension5Support;\n}());\nexport default UPCEANExtension5Support;\n","/*\n * Copyright (C) 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport AbstractUPCEANReader from './AbstractUPCEANReader';\nimport UPCEANExtension5Support from './UPCEANExtension5Support';\nimport UPCEANExtension2Support from './UPCEANExtension2Support';\nvar UPCEANExtensionSupport = /** @class */ (function () {\n function UPCEANExtensionSupport() {\n }\n UPCEANExtensionSupport.decodeRow = function (rowNumber, row, rowOffset) {\n var extensionStartRange = AbstractUPCEANReader.findGuardPattern(row, rowOffset, false, this.EXTENSION_START_PATTERN, new Int32Array(this.EXTENSION_START_PATTERN.length).fill(0));\n try {\n // return null;\n var fiveSupport = new UPCEANExtension5Support();\n return fiveSupport.decodeRow(rowNumber, row, extensionStartRange);\n }\n catch (err) {\n // return null;\n var twoSupport = new UPCEANExtension2Support();\n return twoSupport.decodeRow(rowNumber, row, extensionStartRange);\n }\n };\n UPCEANExtensionSupport.EXTENSION_START_PATTERN = Int32Array.from([1, 1, 2]);\n return UPCEANExtensionSupport;\n}());\nexport default UPCEANExtensionSupport;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport BarcodeFormat from '../BarcodeFormat';\nimport DecodeHintType from '../DecodeHintType';\nimport Result from '../Result';\nimport ResultMetadataType from '../ResultMetadataType';\nimport ResultPoint from '../ResultPoint';\nimport UPCEANExtensionSupport from './UPCEANExtensionSupport';\nimport AbstractUPCEANReader from './AbstractUPCEANReader';\nimport NotFoundException from '../NotFoundException';\nimport FormatException from '../FormatException';\nimport ChecksumException from '../ChecksumException';\n/**\n *

    Encapsulates functionality and implementation that is common to UPC and EAN families\n * of one-dimensional barcodes.

    \n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author alasdair@google.com (Alasdair Mackintosh)\n */\nvar UPCEANReader = /** @class */ (function (_super) {\n __extends(UPCEANReader, _super);\n function UPCEANReader() {\n var _this = _super.call(this) || this;\n _this.decodeRowStringBuffer = '';\n UPCEANReader.L_AND_G_PATTERNS = UPCEANReader.L_PATTERNS.map(function (arr) { return Int32Array.from(arr); });\n for (var i = 10; i < 20; i++) {\n var widths = UPCEANReader.L_PATTERNS[i - 10];\n var reversedWidths = new Int32Array(widths.length);\n for (var j = 0; j < widths.length; j++) {\n reversedWidths[j] = widths[widths.length - j - 1];\n }\n UPCEANReader.L_AND_G_PATTERNS[i] = reversedWidths;\n }\n return _this;\n }\n UPCEANReader.prototype.decodeRow = function (rowNumber, row, hints) {\n var startGuardRange = UPCEANReader.findStartGuardPattern(row);\n var resultPointCallback = hints == null ? null : hints.get(DecodeHintType.NEED_RESULT_POINT_CALLBACK);\n if (resultPointCallback != null) {\n var resultPoint_1 = new ResultPoint((startGuardRange[0] + startGuardRange[1]) / 2.0, rowNumber);\n resultPointCallback.foundPossibleResultPoint(resultPoint_1);\n }\n var budello = this.decodeMiddle(row, startGuardRange, this.decodeRowStringBuffer);\n var endStart = budello.rowOffset;\n var result = budello.resultString;\n if (resultPointCallback != null) {\n var resultPoint_2 = new ResultPoint(endStart, rowNumber);\n resultPointCallback.foundPossibleResultPoint(resultPoint_2);\n }\n var endRange = UPCEANReader.decodeEnd(row, endStart);\n if (resultPointCallback != null) {\n var resultPoint_3 = new ResultPoint((endRange[0] + endRange[1]) / 2.0, rowNumber);\n resultPointCallback.foundPossibleResultPoint(resultPoint_3);\n }\n // Make sure there is a quiet zone at least as big as the end pattern after the barcode. The\n // spec might want more whitespace, but in practice this is the maximum we can count on.\n var end = endRange[1];\n var quietEnd = end + (end - endRange[0]);\n if (quietEnd >= row.getSize() || !row.isRange(end, quietEnd, false)) {\n throw new NotFoundException();\n }\n var resultString = result.toString();\n // UPC/EAN should never be less than 8 chars anyway\n if (resultString.length < 8) {\n throw new FormatException();\n }\n if (!UPCEANReader.checkChecksum(resultString)) {\n throw new ChecksumException();\n }\n var left = (startGuardRange[1] + startGuardRange[0]) / 2.0;\n var right = (endRange[1] + endRange[0]) / 2.0;\n var format = this.getBarcodeFormat();\n var resultPoint = [new ResultPoint(left, rowNumber), new ResultPoint(right, rowNumber)];\n var decodeResult = new Result(resultString, null, 0, resultPoint, format, new Date().getTime());\n var extensionLength = 0;\n try {\n var extensionResult = UPCEANExtensionSupport.decodeRow(rowNumber, row, endRange[1]);\n decodeResult.putMetadata(ResultMetadataType.UPC_EAN_EXTENSION, extensionResult.getText());\n decodeResult.putAllMetadata(extensionResult.getResultMetadata());\n decodeResult.addResultPoints(extensionResult.getResultPoints());\n extensionLength = extensionResult.getText().length;\n }\n catch (err) {\n }\n var allowedExtensions = hints == null ? null : hints.get(DecodeHintType.ALLOWED_EAN_EXTENSIONS);\n if (allowedExtensions != null) {\n var valid = false;\n for (var length_1 in allowedExtensions) {\n if (extensionLength.toString() === length_1) { // check me\n valid = true;\n break;\n }\n }\n if (!valid) {\n throw new NotFoundException();\n }\n }\n if (format === BarcodeFormat.EAN_13 || format === BarcodeFormat.UPC_A) {\n // let countryID = eanManSupport.lookupContryIdentifier(resultString); todo\n // if (countryID != null) {\n // decodeResult.putMetadata(ResultMetadataType.POSSIBLE_COUNTRY, countryID);\n // }\n }\n return decodeResult;\n };\n UPCEANReader.checkChecksum = function (s) {\n return UPCEANReader.checkStandardUPCEANChecksum(s);\n };\n UPCEANReader.checkStandardUPCEANChecksum = function (s) {\n var length = s.length;\n if (length === 0)\n return false;\n var check = parseInt(s.charAt(length - 1), 10);\n return UPCEANReader.getStandardUPCEANChecksum(s.substring(0, length - 1)) === check;\n };\n UPCEANReader.getStandardUPCEANChecksum = function (s) {\n var length = s.length;\n var sum = 0;\n for (var i = length - 1; i >= 0; i -= 2) {\n var digit = s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n if (digit < 0 || digit > 9) {\n throw new FormatException();\n }\n sum += digit;\n }\n sum *= 3;\n for (var i = length - 2; i >= 0; i -= 2) {\n var digit = s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n if (digit < 0 || digit > 9) {\n throw new FormatException();\n }\n sum += digit;\n }\n return (1000 - sum) % 10;\n };\n UPCEANReader.decodeEnd = function (row, endStart) {\n return UPCEANReader.findGuardPattern(row, endStart, false, UPCEANReader.START_END_PATTERN, new Int32Array(UPCEANReader.START_END_PATTERN.length).fill(0));\n };\n return UPCEANReader;\n}(AbstractUPCEANReader));\nexport default UPCEANReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport UPCEANReader from './UPCEANReader';\nimport StringBuilder from '../util/StringBuilder';\nimport NotFoundException from '../NotFoundException';\nimport BarcodeFormat from '../BarcodeFormat';\n// package com.google.zxing.oned;\n// import com.google.zxing.BarcodeFormat;\n// import com.google.zxing.FormatException;\n// import com.google.zxing.NotFoundException;\n// import com.google.zxing.common.BitArray;\n/**\n *

    Implements decoding of the UPC-E format.

    \n *

    This is a great reference for\n * UPC-E information.

    \n *\n * @author Sean Owen\n *\n * @source https://github.com/zxing/zxing/blob/3c96923276dd5785d58eb970b6ba3f80d36a9505/core/src/main/java/com/google/zxing/oned/UPCEReader.java\n *\n * @experimental\n */\nvar UPCEReader = /** @class */ (function (_super) {\n __extends(UPCEReader, _super);\n function UPCEReader() {\n var _this = _super.call(this) || this;\n _this.decodeMiddleCounters = new Int32Array(4);\n return _this;\n }\n /**\n * @throws NotFoundException\n */\n // @Override\n UPCEReader.prototype.decodeMiddle = function (row, startRange, result) {\n var e_1, _a;\n var counters = this.decodeMiddleCounters.map(function (x) { return x; });\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var end = row.getSize();\n var rowOffset = startRange[1];\n var lgPatternFound = 0;\n for (var x = 0; x < 6 && rowOffset < end; x++) {\n var bestMatch = UPCEReader.decodeDigit(row, counters, rowOffset, UPCEReader.L_AND_G_PATTERNS);\n result += String.fromCharCode(('0'.charCodeAt(0) + bestMatch % 10));\n try {\n for (var counters_1 = (e_1 = void 0, __values(counters)), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n rowOffset += counter;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (bestMatch >= 10) {\n lgPatternFound |= 1 << (5 - x);\n }\n }\n UPCEReader.determineNumSysAndCheckDigit(new StringBuilder(result), lgPatternFound);\n return rowOffset;\n };\n /**\n * @throws NotFoundException\n */\n // @Override\n UPCEReader.prototype.decodeEnd = function (row, endStart) {\n return UPCEReader.findGuardPatternWithoutCounters(row, endStart, true, UPCEReader.MIDDLE_END_PATTERN);\n };\n /**\n * @throws FormatException\n */\n // @Override\n UPCEReader.prototype.checkChecksum = function (s) {\n return UPCEANReader.checkChecksum(UPCEReader.convertUPCEtoUPCA(s));\n };\n /**\n * @throws NotFoundException\n */\n UPCEReader.determineNumSysAndCheckDigit = function (resultString, lgPatternFound) {\n for (var numSys = 0; numSys <= 1; numSys++) {\n for (var d = 0; d < 10; d++) {\n if (lgPatternFound === this.NUMSYS_AND_CHECK_DIGIT_PATTERNS[numSys][d]) {\n resultString.insert(0, /*(char)*/ ('0' + numSys));\n resultString.append(/*(char)*/ ('0' + d));\n return;\n }\n }\n }\n throw NotFoundException.getNotFoundInstance();\n };\n // @Override\n UPCEReader.prototype.getBarcodeFormat = function () {\n return BarcodeFormat.UPC_E;\n };\n /**\n * Expands a UPC-E value back into its full, equivalent UPC-A code value.\n *\n * @param upce UPC-E code as string of digits\n * @return equivalent UPC-A code as string of digits\n */\n UPCEReader.convertUPCEtoUPCA = function (upce) {\n // the following line is equivalent to upce.getChars(1, 7, upceChars, 0);\n var upceChars = upce.slice(1, 7).split('').map(function (x) { return x.charCodeAt(0); });\n var result = new StringBuilder( /*12*/);\n result.append(upce.charAt(0));\n var lastChar = upceChars[5];\n switch (lastChar) {\n case 0:\n case 1:\n case 2:\n result.appendChars(upceChars, 0, 2);\n result.append(lastChar);\n result.append('0000');\n result.appendChars(upceChars, 2, 3);\n break;\n case 3:\n result.appendChars(upceChars, 0, 3);\n result.append('00000');\n result.appendChars(upceChars, 3, 2);\n break;\n case 4:\n result.appendChars(upceChars, 0, 4);\n result.append('00000');\n result.append(upceChars[4]);\n break;\n default:\n result.appendChars(upceChars, 0, 5);\n result.append('0000');\n result.append(lastChar);\n break;\n }\n // Only append check digit in conversion if supplied\n if (upce.length >= 8) {\n result.append(upce.charAt(7));\n }\n return result.toString();\n };\n /**\n * The pattern that marks the middle, and end, of a UPC-E pattern.\n * There is no \"second half\" to a UPC-E barcode.\n */\n UPCEReader.MIDDLE_END_PATTERN = Int32Array.from([1, 1, 1, 1, 1, 1]);\n // For an UPC-E barcode, the final digit is represented by the parities used\n // to encode the middle six digits, according to the table below.\n //\n // Parity of next 6 digits\n // Digit 0 1 2 3 4 5\n // 0 Even Even Even Odd Odd Odd\n // 1 Even Even Odd Even Odd Odd\n // 2 Even Even Odd Odd Even Odd\n // 3 Even Even Odd Odd Odd Even\n // 4 Even Odd Even Even Odd Odd\n // 5 Even Odd Odd Even Even Odd\n // 6 Even Odd Odd Odd Even Even\n // 7 Even Odd Even Odd Even Odd\n // 8 Even Odd Even Odd Odd Even\n // 9 Even Odd Odd Even Odd Even\n //\n // The encoding is represented by the following array, which is a bit pattern\n // using Odd = 0 and Even = 1. For example, 5 is represented by:\n //\n // Odd Even Even Odd Odd Even\n // in binary:\n // 0 1 1 0 0 1 == 0x19\n //\n /**\n * See {@link #L_AND_G_PATTERNS}; these values similarly represent patterns of\n * even-odd parity encodings of digits that imply both the number system (0 or 1)\n * used, and the check digit.\n */\n UPCEReader.NUMSYS_AND_CHECK_DIGIT_PATTERNS = [\n Int32Array.from([0x38, 0x34, 0x32, 0x31, 0x2C, 0x26, 0x23, 0x2A, 0x29, 0x25]),\n Int32Array.from([0x07, 0x0B, 0x0D, 0x0E, 0x13, 0x19, 0x1C, 0x15, 0x16, 0x1]),\n ];\n return UPCEReader;\n}(UPCEANReader));\nexport default UPCEReader;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport MathUtils from '../../common/detector/MathUtils';\nimport NotFoundException from '../../NotFoundException';\nimport OneDReader from '../OneDReader';\n// import Integer from '../../util/Integer';\n// import Float from '../../util/Float';\nvar AbstractRSSReader = /** @class */ (function (_super) {\n __extends(AbstractRSSReader, _super);\n function AbstractRSSReader() {\n var _this = _super.call(this) || this;\n _this.decodeFinderCounters = new Int32Array(4);\n _this.dataCharacterCounters = new Int32Array(8);\n _this.oddRoundingErrors = new Array(4);\n _this.evenRoundingErrors = new Array(4);\n _this.oddCounts = new Array(_this.dataCharacterCounters.length / 2);\n _this.evenCounts = new Array(_this.dataCharacterCounters.length / 2);\n return _this;\n }\n AbstractRSSReader.prototype.getDecodeFinderCounters = function () {\n return this.decodeFinderCounters;\n };\n AbstractRSSReader.prototype.getDataCharacterCounters = function () {\n return this.dataCharacterCounters;\n };\n AbstractRSSReader.prototype.getOddRoundingErrors = function () {\n return this.oddRoundingErrors;\n };\n AbstractRSSReader.prototype.getEvenRoundingErrors = function () {\n return this.evenRoundingErrors;\n };\n AbstractRSSReader.prototype.getOddCounts = function () {\n return this.oddCounts;\n };\n AbstractRSSReader.prototype.getEvenCounts = function () {\n return this.evenCounts;\n };\n AbstractRSSReader.prototype.parseFinderValue = function (counters, finderPatterns) {\n for (var value = 0; value < finderPatterns.length; value++) {\n if (OneDReader.patternMatchVariance(counters, finderPatterns[value], AbstractRSSReader.MAX_INDIVIDUAL_VARIANCE) < AbstractRSSReader.MAX_AVG_VARIANCE) {\n return value;\n }\n }\n throw new NotFoundException();\n };\n /**\n * @param array values to sum\n * @return sum of values\n * @deprecated call {@link MathUtils#sum(int[])}\n */\n AbstractRSSReader.count = function (array) {\n return MathUtils.sum(new Int32Array(array));\n };\n AbstractRSSReader.increment = function (array, errors) {\n var index = 0;\n var biggestError = errors[0];\n for (var i = 1; i < array.length; i++) {\n if (errors[i] > biggestError) {\n biggestError = errors[i];\n index = i;\n }\n }\n array[index]++;\n };\n AbstractRSSReader.decrement = function (array, errors) {\n var index = 0;\n var biggestError = errors[0];\n for (var i = 1; i < array.length; i++) {\n if (errors[i] < biggestError) {\n biggestError = errors[i];\n index = i;\n }\n }\n array[index]--;\n };\n AbstractRSSReader.isFinderPattern = function (counters) {\n var e_1, _a;\n var firstTwoSum = counters[0] + counters[1];\n var sum = firstTwoSum + counters[2] + counters[3];\n var ratio = firstTwoSum / sum;\n if (ratio >= AbstractRSSReader.MIN_FINDER_PATTERN_RATIO && ratio <= AbstractRSSReader.MAX_FINDER_PATTERN_RATIO) {\n // passes ratio test in spec, but see if the counts are unreasonable\n var minCounter = Number.MAX_SAFE_INTEGER;\n var maxCounter = Number.MIN_SAFE_INTEGER;\n try {\n for (var counters_1 = __values(counters), counters_1_1 = counters_1.next(); !counters_1_1.done; counters_1_1 = counters_1.next()) {\n var counter = counters_1_1.value;\n if (counter > maxCounter) {\n maxCounter = counter;\n }\n if (counter < minCounter) {\n minCounter = counter;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (counters_1_1 && !counters_1_1.done && (_a = counters_1.return)) _a.call(counters_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return maxCounter < 10 * minCounter;\n }\n return false;\n };\n AbstractRSSReader.MAX_AVG_VARIANCE = 0.2;\n AbstractRSSReader.MAX_INDIVIDUAL_VARIANCE = 0.45;\n AbstractRSSReader.MIN_FINDER_PATTERN_RATIO = 9.5 / 12.0;\n AbstractRSSReader.MAX_FINDER_PATTERN_RATIO = 12.5 / 14.0;\n return AbstractRSSReader;\n}(OneDReader));\nexport default AbstractRSSReader;\n","var DataCharacter = /** @class */ (function () {\n function DataCharacter(value, checksumPortion) {\n this.value = value;\n this.checksumPortion = checksumPortion;\n }\n DataCharacter.prototype.getValue = function () {\n return this.value;\n };\n DataCharacter.prototype.getChecksumPortion = function () {\n return this.checksumPortion;\n };\n DataCharacter.prototype.toString = function () {\n return this.value + '(' + this.checksumPortion + ')';\n };\n DataCharacter.prototype.equals = function (o) {\n if (!(o instanceof DataCharacter)) {\n return false;\n }\n var that = o;\n return this.value === that.value && this.checksumPortion === that.checksumPortion;\n };\n DataCharacter.prototype.hashCode = function () {\n return this.value ^ this.checksumPortion;\n };\n return DataCharacter;\n}());\nexport default DataCharacter;\n","import ResultPoint from '../../ResultPoint';\nvar FinderPattern = /** @class */ (function () {\n function FinderPattern(value, startEnd, start, end, rowNumber) {\n this.value = value;\n this.startEnd = startEnd;\n this.value = value;\n this.startEnd = startEnd;\n this.resultPoints = new Array();\n this.resultPoints.push(new ResultPoint(start, rowNumber));\n this.resultPoints.push(new ResultPoint(end, rowNumber));\n }\n FinderPattern.prototype.getValue = function () {\n return this.value;\n };\n FinderPattern.prototype.getStartEnd = function () {\n return this.startEnd;\n };\n FinderPattern.prototype.getResultPoints = function () {\n return this.resultPoints;\n };\n FinderPattern.prototype.equals = function (o) {\n if (!(o instanceof FinderPattern)) {\n return false;\n }\n var that = o;\n return this.value === that.value;\n };\n FinderPattern.prototype.hashCode = function () {\n return this.value;\n };\n return FinderPattern;\n}());\nexport default FinderPattern;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport DataCharacter from './DataCharacter';\nvar Pair = /** @class */ (function (_super) {\n __extends(Pair, _super);\n function Pair(value, checksumPortion, finderPattern) {\n var _this = _super.call(this, value, checksumPortion) || this;\n _this.count = 0;\n _this.finderPattern = finderPattern;\n return _this;\n }\n Pair.prototype.getFinderPattern = function () {\n return this.finderPattern;\n };\n Pair.prototype.getCount = function () {\n return this.count;\n };\n Pair.prototype.incrementCount = function () {\n this.count++;\n };\n return Pair;\n}(DataCharacter));\nexport default Pair;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport AbstractRSSReader from './AbstractRSSReader';\nimport Pair from './Pair';\nimport Result from '../../Result';\nimport DecodeHintType from '../../DecodeHintType';\nimport NotFoundException from '../../NotFoundException';\nimport StringBuilder from '../../util/StringBuilder';\nimport BarcodeFormat from '../../BarcodeFormat';\nimport ResultPoint from '../../ResultPoint';\nimport FinderPattern from './FinderPattern';\nimport DataCharacter from './DataCharacter';\nimport MathUtils from '../../common/detector/MathUtils';\nimport RSSUtils from './RSSUtils';\nimport System from '../../util/System';\nimport OneDReader from '../OneDReader';\nvar RSS14Reader = /** @class */ (function (_super) {\n __extends(RSS14Reader, _super);\n function RSS14Reader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.possibleLeftPairs = [];\n _this.possibleRightPairs = [];\n return _this;\n }\n RSS14Reader.prototype.decodeRow = function (rowNumber, row, hints) {\n var e_1, _a, e_2, _b;\n var leftPair = this.decodePair(row, false, rowNumber, hints);\n RSS14Reader.addOrTally(this.possibleLeftPairs, leftPair);\n row.reverse();\n var rightPair = this.decodePair(row, true, rowNumber, hints);\n RSS14Reader.addOrTally(this.possibleRightPairs, rightPair);\n row.reverse();\n try {\n for (var _c = __values(this.possibleLeftPairs), _d = _c.next(); !_d.done; _d = _c.next()) {\n var left = _d.value;\n if (left.getCount() > 1) {\n try {\n for (var _e = (e_2 = void 0, __values(this.possibleRightPairs)), _f = _e.next(); !_f.done; _f = _e.next()) {\n var right = _f.value;\n if (right.getCount() > 1 && RSS14Reader.checkChecksum(left, right)) {\n return RSS14Reader.constructResult(left, right);\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n throw new NotFoundException();\n };\n RSS14Reader.addOrTally = function (possiblePairs, pair) {\n var e_3, _a;\n if (pair == null) {\n return;\n }\n var found = false;\n try {\n for (var possiblePairs_1 = __values(possiblePairs), possiblePairs_1_1 = possiblePairs_1.next(); !possiblePairs_1_1.done; possiblePairs_1_1 = possiblePairs_1.next()) {\n var other = possiblePairs_1_1.value;\n if (other.getValue() === pair.getValue()) {\n other.incrementCount();\n found = true;\n break;\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (possiblePairs_1_1 && !possiblePairs_1_1.done && (_a = possiblePairs_1.return)) _a.call(possiblePairs_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n if (!found) {\n possiblePairs.push(pair);\n }\n };\n RSS14Reader.prototype.reset = function () {\n this.possibleLeftPairs.length = 0;\n this.possibleRightPairs.length = 0;\n };\n RSS14Reader.constructResult = function (leftPair, rightPair) {\n var symbolValue = 4537077 * leftPair.getValue() + rightPair.getValue();\n var text = new String(symbolValue).toString();\n var buffer = new StringBuilder();\n for (var i = 13 - text.length; i > 0; i--) {\n buffer.append('0');\n }\n buffer.append(text);\n var checkDigit = 0;\n for (var i = 0; i < 13; i++) {\n var digit = buffer.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n checkDigit += ((i & 0x01) === 0) ? 3 * digit : digit;\n }\n checkDigit = 10 - (checkDigit % 10);\n if (checkDigit === 10) {\n checkDigit = 0;\n }\n buffer.append(checkDigit.toString());\n var leftPoints = leftPair.getFinderPattern().getResultPoints();\n var rightPoints = rightPair.getFinderPattern().getResultPoints();\n return new Result(buffer.toString(), null, 0, [leftPoints[0], leftPoints[1], rightPoints[0], rightPoints[1]], BarcodeFormat.RSS_14, new Date().getTime());\n };\n RSS14Reader.checkChecksum = function (leftPair, rightPair) {\n var checkValue = (leftPair.getChecksumPortion() + 16 * rightPair.getChecksumPortion()) % 79;\n var targetCheckValue = 9 * leftPair.getFinderPattern().getValue() + rightPair.getFinderPattern().getValue();\n if (targetCheckValue > 72) {\n targetCheckValue--;\n }\n if (targetCheckValue > 8) {\n targetCheckValue--;\n }\n return checkValue === targetCheckValue;\n };\n RSS14Reader.prototype.decodePair = function (row, right, rowNumber, hints) {\n try {\n var startEnd = this.findFinderPattern(row, right);\n var pattern = this.parseFoundFinderPattern(row, rowNumber, right, startEnd);\n var resultPointCallback = hints == null ? null : hints.get(DecodeHintType.NEED_RESULT_POINT_CALLBACK);\n if (resultPointCallback != null) {\n var center = (startEnd[0] + startEnd[1]) / 2.0;\n if (right) {\n // row is actually reversed\n center = row.getSize() - 1 - center;\n }\n resultPointCallback.foundPossibleResultPoint(new ResultPoint(center, rowNumber));\n }\n var outside = this.decodeDataCharacter(row, pattern, true);\n var inside = this.decodeDataCharacter(row, pattern, false);\n return new Pair(1597 * outside.getValue() + inside.getValue(), outside.getChecksumPortion() + 4 * inside.getChecksumPortion(), pattern);\n }\n catch (err) {\n return null;\n }\n };\n RSS14Reader.prototype.decodeDataCharacter = function (row, pattern, outsideChar) {\n var counters = this.getDataCharacterCounters();\n for (var x = 0; x < counters.length; x++) {\n counters[x] = 0;\n }\n if (outsideChar) {\n OneDReader.recordPatternInReverse(row, pattern.getStartEnd()[0], counters);\n }\n else {\n OneDReader.recordPattern(row, pattern.getStartEnd()[1] + 1, counters);\n // reverse it\n for (var i = 0, j = counters.length - 1; i < j; i++, j--) {\n var temp = counters[i];\n counters[i] = counters[j];\n counters[j] = temp;\n }\n }\n var numModules = outsideChar ? 16 : 15;\n var elementWidth = MathUtils.sum(new Int32Array(counters)) / numModules;\n var oddCounts = this.getOddCounts();\n var evenCounts = this.getEvenCounts();\n var oddRoundingErrors = this.getOddRoundingErrors();\n var evenRoundingErrors = this.getEvenRoundingErrors();\n for (var i = 0; i < counters.length; i++) {\n var value = counters[i] / elementWidth;\n var count = Math.floor(value + 0.5);\n if (count < 1) {\n count = 1;\n }\n else if (count > 8) {\n count = 8;\n }\n var offset = Math.floor(i / 2);\n if ((i & 0x01) === 0) {\n oddCounts[offset] = count;\n oddRoundingErrors[offset] = value - count;\n }\n else {\n evenCounts[offset] = count;\n evenRoundingErrors[offset] = value - count;\n }\n }\n this.adjustOddEvenCounts(outsideChar, numModules);\n var oddSum = 0;\n var oddChecksumPortion = 0;\n for (var i = oddCounts.length - 1; i >= 0; i--) {\n oddChecksumPortion *= 9;\n oddChecksumPortion += oddCounts[i];\n oddSum += oddCounts[i];\n }\n var evenChecksumPortion = 0;\n var evenSum = 0;\n for (var i = evenCounts.length - 1; i >= 0; i--) {\n evenChecksumPortion *= 9;\n evenChecksumPortion += evenCounts[i];\n evenSum += evenCounts[i];\n }\n var checksumPortion = oddChecksumPortion + 3 * evenChecksumPortion;\n if (outsideChar) {\n if ((oddSum & 0x01) !== 0 || oddSum > 12 || oddSum < 4) {\n throw new NotFoundException();\n }\n var group = (12 - oddSum) / 2;\n var oddWidest = RSS14Reader.OUTSIDE_ODD_WIDEST[group];\n var evenWidest = 9 - oddWidest;\n var vOdd = RSSUtils.getRSSvalue(oddCounts, oddWidest, false);\n var vEven = RSSUtils.getRSSvalue(evenCounts, evenWidest, true);\n var tEven = RSS14Reader.OUTSIDE_EVEN_TOTAL_SUBSET[group];\n var gSum = RSS14Reader.OUTSIDE_GSUM[group];\n return new DataCharacter(vOdd * tEven + vEven + gSum, checksumPortion);\n }\n else {\n if ((evenSum & 0x01) !== 0 || evenSum > 10 || evenSum < 4) {\n throw new NotFoundException();\n }\n var group = (10 - evenSum) / 2;\n var oddWidest = RSS14Reader.INSIDE_ODD_WIDEST[group];\n var evenWidest = 9 - oddWidest;\n var vOdd = RSSUtils.getRSSvalue(oddCounts, oddWidest, true);\n var vEven = RSSUtils.getRSSvalue(evenCounts, evenWidest, false);\n var tOdd = RSS14Reader.INSIDE_ODD_TOTAL_SUBSET[group];\n var gSum = RSS14Reader.INSIDE_GSUM[group];\n return new DataCharacter(vEven * tOdd + vOdd + gSum, checksumPortion);\n }\n };\n RSS14Reader.prototype.findFinderPattern = function (row, rightFinderPattern) {\n var counters = this.getDecodeFinderCounters();\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var width = row.getSize();\n var isWhite = false;\n var rowOffset = 0;\n while (rowOffset < width) {\n isWhite = !row.get(rowOffset);\n if (rightFinderPattern === isWhite) {\n // Will encounter white first when searching for right finder pattern\n break;\n }\n rowOffset++;\n }\n var counterPosition = 0;\n var patternStart = rowOffset;\n for (var x = rowOffset; x < width; x++) {\n if (row.get(x) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === 3) {\n if (AbstractRSSReader.isFinderPattern(counters)) {\n return [patternStart, x];\n }\n patternStart += counters[0] + counters[1];\n counters[0] = counters[2];\n counters[1] = counters[3];\n counters[2] = 0;\n counters[3] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n };\n RSS14Reader.prototype.parseFoundFinderPattern = function (row, rowNumber, right, startEnd) {\n // Actually we found elements 2-5\n var firstIsBlack = row.get(startEnd[0]);\n var firstElementStart = startEnd[0] - 1;\n // Locate element 1\n while (firstElementStart >= 0 && firstIsBlack !== row.get(firstElementStart)) {\n firstElementStart--;\n }\n firstElementStart++;\n var firstCounter = startEnd[0] - firstElementStart;\n // Make 'counters' hold 1-4\n var counters = this.getDecodeFinderCounters();\n var copy = new Int32Array(counters.length);\n System.arraycopy(counters, 0, copy, 1, counters.length - 1);\n copy[0] = firstCounter;\n var value = this.parseFinderValue(copy, RSS14Reader.FINDER_PATTERNS);\n var start = firstElementStart;\n var end = startEnd[1];\n if (right) {\n // row is actually reversed\n start = row.getSize() - 1 - start;\n end = row.getSize() - 1 - end;\n }\n return new FinderPattern(value, [firstElementStart, startEnd[1]], start, end, rowNumber);\n };\n RSS14Reader.prototype.adjustOddEvenCounts = function (outsideChar, numModules) {\n var oddSum = MathUtils.sum(new Int32Array(this.getOddCounts()));\n var evenSum = MathUtils.sum(new Int32Array(this.getEvenCounts()));\n var incrementOdd = false;\n var decrementOdd = false;\n var incrementEven = false;\n var decrementEven = false;\n if (outsideChar) {\n if (oddSum > 12) {\n decrementOdd = true;\n }\n else if (oddSum < 4) {\n incrementOdd = true;\n }\n if (evenSum > 12) {\n decrementEven = true;\n }\n else if (evenSum < 4) {\n incrementEven = true;\n }\n }\n else {\n if (oddSum > 11) {\n decrementOdd = true;\n }\n else if (oddSum < 5) {\n incrementOdd = true;\n }\n if (evenSum > 10) {\n decrementEven = true;\n }\n else if (evenSum < 4) {\n incrementEven = true;\n }\n }\n var mismatch = oddSum + evenSum - numModules;\n var oddParityBad = (oddSum & 0x01) === (outsideChar ? 1 : 0);\n var evenParityBad = (evenSum & 0x01) === 1;\n if (mismatch === 1) {\n if (oddParityBad) {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n decrementOdd = true;\n }\n else {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n decrementEven = true;\n }\n }\n else if (mismatch === -1) {\n if (oddParityBad) {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n incrementOdd = true;\n }\n else {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n incrementEven = true;\n }\n }\n else if (mismatch === 0) {\n if (oddParityBad) {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n // Both bad\n if (oddSum < evenSum) {\n incrementOdd = true;\n decrementEven = true;\n }\n else {\n decrementOdd = true;\n incrementEven = true;\n }\n }\n else {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n // Nothing to do!\n }\n }\n else {\n throw new NotFoundException();\n }\n if (incrementOdd) {\n if (decrementOdd) {\n throw new NotFoundException();\n }\n AbstractRSSReader.increment(this.getOddCounts(), this.getOddRoundingErrors());\n }\n if (decrementOdd) {\n AbstractRSSReader.decrement(this.getOddCounts(), this.getOddRoundingErrors());\n }\n if (incrementEven) {\n if (decrementEven) {\n throw new NotFoundException();\n }\n AbstractRSSReader.increment(this.getEvenCounts(), this.getOddRoundingErrors());\n }\n if (decrementEven) {\n AbstractRSSReader.decrement(this.getEvenCounts(), this.getEvenRoundingErrors());\n }\n };\n RSS14Reader.OUTSIDE_EVEN_TOTAL_SUBSET = [1, 10, 34, 70, 126];\n RSS14Reader.INSIDE_ODD_TOTAL_SUBSET = [4, 20, 48, 81];\n RSS14Reader.OUTSIDE_GSUM = [0, 161, 961, 2015, 2715];\n RSS14Reader.INSIDE_GSUM = [0, 336, 1036, 1516];\n RSS14Reader.OUTSIDE_ODD_WIDEST = [8, 6, 4, 3, 1];\n RSS14Reader.INSIDE_ODD_WIDEST = [2, 4, 6, 8];\n RSS14Reader.FINDER_PATTERNS = [\n Int32Array.from([3, 8, 2, 1]),\n Int32Array.from([3, 5, 5, 1]),\n Int32Array.from([3, 3, 7, 1]),\n Int32Array.from([3, 1, 9, 1]),\n Int32Array.from([2, 7, 4, 1]),\n Int32Array.from([2, 5, 6, 1]),\n Int32Array.from([2, 3, 8, 1]),\n Int32Array.from([1, 5, 7, 1]),\n Int32Array.from([1, 3, 9, 1]),\n ];\n return RSS14Reader;\n}(AbstractRSSReader));\nexport default RSS14Reader;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/**\n * RSS util functions.\n */\nvar RSSUtils = /** @class */ (function () {\n function RSSUtils() {\n }\n RSSUtils.getRSSvalue = function (widths, maxWidth, noNarrow) {\n var e_1, _a;\n var n = 0;\n try {\n for (var widths_1 = __values(widths), widths_1_1 = widths_1.next(); !widths_1_1.done; widths_1_1 = widths_1.next()) {\n var width = widths_1_1.value;\n n += width;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (widths_1_1 && !widths_1_1.done && (_a = widths_1.return)) _a.call(widths_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var val = 0;\n var narrowMask = 0;\n var elements = widths.length;\n for (var bar = 0; bar < elements - 1; bar++) {\n var elmWidth = void 0;\n for (elmWidth = 1, narrowMask |= 1 << bar; elmWidth < widths[bar]; elmWidth++, narrowMask &= ~(1 << bar)) {\n var subVal = RSSUtils.combins(n - elmWidth - 1, elements - bar - 2);\n if (noNarrow && (narrowMask === 0) && (n - elmWidth - (elements - bar - 1) >= elements - bar - 1)) {\n subVal -= RSSUtils.combins(n - elmWidth - (elements - bar), elements - bar - 2);\n }\n if (elements - bar - 1 > 1) {\n var lessVal = 0;\n for (var mxwElement = n - elmWidth - (elements - bar - 2); mxwElement > maxWidth; mxwElement--) {\n lessVal += RSSUtils.combins(n - elmWidth - mxwElement - 1, elements - bar - 3);\n }\n subVal -= lessVal * (elements - 1 - bar);\n }\n else if (n - elmWidth > maxWidth) {\n subVal--;\n }\n val += subVal;\n }\n n -= elmWidth;\n }\n return val;\n };\n RSSUtils.combins = function (n, r) {\n var maxDenom;\n var minDenom;\n if (n - r > r) {\n minDenom = r;\n maxDenom = n - r;\n }\n else {\n minDenom = n - r;\n maxDenom = r;\n }\n var val = 1;\n var j = 1;\n for (var i = n; i > maxDenom; i--) {\n val *= i;\n if (j <= minDenom) {\n val /= j;\n j++;\n }\n }\n while ((j <= minDenom)) {\n val /= j;\n j++;\n }\n return val;\n };\n return RSSUtils;\n}());\nexport default RSSUtils;\n","import BitArray from '../../../common/BitArray';\nvar BitArrayBuilder = /** @class */ (function () {\n function BitArrayBuilder() {\n }\n BitArrayBuilder.buildBitArray = function (pairs) {\n var charNumber = (pairs.length * 2) - 1;\n if (pairs[pairs.length - 1].getRightChar() == null) {\n charNumber -= 1;\n }\n var size = 12 * charNumber;\n var binary = new BitArray(size);\n var accPos = 0;\n var firstPair = pairs[0];\n var firstValue = firstPair.getRightChar().getValue();\n for (var i = 11; i >= 0; --i) {\n if ((firstValue & (1 << i)) != 0) {\n binary.set(accPos);\n }\n accPos++;\n }\n for (var i = 1; i < pairs.length; ++i) {\n var currentPair = pairs[i];\n var leftValue = currentPair.getLeftChar().getValue();\n for (var j = 11; j >= 0; --j) {\n if ((leftValue & (1 << j)) != 0) {\n binary.set(accPos);\n }\n accPos++;\n }\n if (currentPair.getRightChar() != null) {\n var rightValue = currentPair.getRightChar().getValue();\n for (var j = 11; j >= 0; --j) {\n if ((rightValue & (1 << j)) != 0) {\n binary.set(accPos);\n }\n accPos++;\n }\n }\n }\n return binary;\n };\n return BitArrayBuilder;\n}());\nexport default BitArrayBuilder;\n","var ExpandedPair = /** @class */ (function () {\n function ExpandedPair(leftChar, rightChar, finderPatter, mayBeLast) {\n this.leftchar = leftChar;\n this.rightchar = rightChar;\n this.finderpattern = finderPatter;\n this.maybeLast = mayBeLast;\n }\n ExpandedPair.prototype.mayBeLast = function () {\n return this.maybeLast;\n };\n ExpandedPair.prototype.getLeftChar = function () {\n return this.leftchar;\n };\n ExpandedPair.prototype.getRightChar = function () {\n return this.rightchar;\n };\n ExpandedPair.prototype.getFinderPattern = function () {\n return this.finderpattern;\n };\n ExpandedPair.prototype.mustBeLast = function () {\n return this.rightchar == null;\n };\n ExpandedPair.prototype.toString = function () {\n return '[ ' + this.leftchar + ', ' + this.rightchar + ' : ' + (this.finderpattern == null ? 'null' : this.finderpattern.getValue()) + ' ]';\n };\n ExpandedPair.equals = function (o1, o2) {\n if (!(o1 instanceof ExpandedPair)) {\n return false;\n }\n return ExpandedPair.equalsOrNull(o1.leftchar, o2.leftchar) &&\n ExpandedPair.equalsOrNull(o1.rightchar, o2.rightchar) &&\n ExpandedPair.equalsOrNull(o1.finderpattern, o2.finderpattern);\n };\n ExpandedPair.equalsOrNull = function (o1, o2) {\n return o1 === null ? o2 === null : ExpandedPair.equals(o1, o2);\n };\n ExpandedPair.prototype.hashCode = function () {\n // return ExpandedPair.hashNotNull(leftChar) ^ hashNotNull(rightChar) ^ hashNotNull(finderPattern);\n var value = this.leftchar.getValue() ^ this.rightchar.getValue() ^ this.finderpattern.getValue();\n return value;\n };\n return ExpandedPair;\n}());\nexport default ExpandedPair;\n","var ExpandedRow = /** @class */ (function () {\n function ExpandedRow(pairs, rowNumber, wasReversed) {\n this.pairs = pairs;\n this.rowNumber = rowNumber;\n this.wasReversed = wasReversed;\n }\n ExpandedRow.prototype.getPairs = function () {\n return this.pairs;\n };\n ExpandedRow.prototype.getRowNumber = function () {\n return this.rowNumber;\n };\n ExpandedRow.prototype.isReversed = function () {\n return this.wasReversed;\n };\n // check implementation\n ExpandedRow.prototype.isEquivalent = function (otherPairs) {\n return this.checkEqualitity(this, otherPairs);\n };\n // @Override\n ExpandedRow.prototype.toString = function () {\n return '{ ' + this.pairs + ' }';\n };\n /**\n * Two rows are equal if they contain the same pairs in the same order.\n */\n // @Override\n // check implementation\n ExpandedRow.prototype.equals = function (o1, o2) {\n if (!(o1 instanceof ExpandedRow)) {\n return false;\n }\n return this.checkEqualitity(o1, o2) && o1.wasReversed === o2.wasReversed;\n };\n ExpandedRow.prototype.checkEqualitity = function (pair1, pair2) {\n if (!pair1 || !pair2)\n return;\n var result;\n pair1.forEach(function (e1, i) {\n pair2.forEach(function (e2) {\n if (e1.getLeftChar().getValue() === e2.getLeftChar().getValue() && e1.getRightChar().getValue() === e2.getRightChar().getValue() && e1.getFinderPatter().getValue() === e2.getFinderPatter().getValue()) {\n result = true;\n }\n });\n });\n return result;\n };\n return ExpandedRow;\n}());\nexport default ExpandedRow;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport BarcodeFormat from '../../../BarcodeFormat';\nimport MathUtils from '../../../common/detector/MathUtils';\n// import FormatException from '../../../FormatException';\nimport NotFoundException from '../../../NotFoundException';\nimport Result from '../../../Result';\nimport System from '../../../util/System';\nimport AbstractRSSReader from '../../rss/AbstractRSSReader';\nimport DataCharacter from '../../rss/DataCharacter';\nimport FinderPattern from '../../rss/FinderPattern';\nimport RSSUtils from '../../rss/RSSUtils';\nimport BitArrayBuilder from './BitArrayBuilder';\nimport { createDecoder } from './decoders/AbstractExpandedDecoderComplement';\nimport ExpandedPair from './ExpandedPair';\nimport ExpandedRow from './ExpandedRow';\n// import java.util.ArrayList;\n// import java.util.Iterator;\n// import java.util.List;\n// import java.util.Map;\n// import java.util.Collections;\n/** @experimental */\nvar RSSExpandedReader = /** @class */ (function (_super) {\n __extends(RSSExpandedReader, _super);\n function RSSExpandedReader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.pairs = new Array(RSSExpandedReader.MAX_PAIRS);\n _this.rows = new Array();\n _this.startEnd = [2];\n return _this;\n }\n RSSExpandedReader.prototype.decodeRow = function (rowNumber, row, hints) {\n // Rows can start with even pattern in case in prev rows there where odd number of patters.\n // So lets try twice\n // this.pairs.clear();\n this.pairs.length = 0;\n this.startFromEven = false;\n try {\n return RSSExpandedReader.constructResult(this.decodeRow2pairs(rowNumber, row));\n }\n catch (e) {\n // OK\n // console.log(e);\n }\n this.pairs.length = 0;\n this.startFromEven = true;\n return RSSExpandedReader.constructResult(this.decodeRow2pairs(rowNumber, row));\n };\n RSSExpandedReader.prototype.reset = function () {\n this.pairs.length = 0;\n this.rows.length = 0;\n };\n // Not private for testing\n RSSExpandedReader.prototype.decodeRow2pairs = function (rowNumber, row) {\n var done = false;\n while (!done) {\n try {\n this.pairs.push(this.retrieveNextPair(row, this.pairs, rowNumber));\n }\n catch (error) {\n if (error instanceof NotFoundException) {\n if (!this.pairs.length) {\n throw new NotFoundException();\n }\n // exit this loop when retrieveNextPair() fails and throws\n done = true;\n }\n }\n }\n // TODO: verify sequence of finder patterns as in checkPairSequence()\n if (this.checkChecksum()) {\n return this.pairs;\n }\n var tryStackedDecode;\n if (this.rows.length) {\n tryStackedDecode = true;\n }\n else {\n tryStackedDecode = false;\n }\n // let tryStackedDecode = !this.rows.isEmpty();\n this.storeRow(rowNumber, false); // TODO: deal with reversed rows\n if (tryStackedDecode) {\n // When the image is 180-rotated, then rows are sorted in wrong direction.\n // Try twice with both the directions.\n var ps = this.checkRowsBoolean(false);\n if (ps != null) {\n return ps;\n }\n ps = this.checkRowsBoolean(true);\n if (ps != null) {\n return ps;\n }\n }\n throw new NotFoundException();\n };\n // Need to Verify\n RSSExpandedReader.prototype.checkRowsBoolean = function (reverse) {\n // Limit number of rows we are checking\n // We use recursive algorithm with pure complexity and don't want it to take forever\n // Stacked barcode can have up to 11 rows, so 25 seems reasonable enough\n if (this.rows.length > 25) {\n this.rows.length = 0; // We will never have a chance to get result, so clear it\n return null;\n }\n this.pairs.length = 0;\n if (reverse) {\n this.rows = this.rows.reverse();\n // Collections.reverse(this.rows);\n }\n var ps = null;\n try {\n ps = this.checkRows(new Array(), 0);\n }\n catch (e) {\n // OK\n console.log(e);\n }\n if (reverse) {\n this.rows = this.rows.reverse();\n // Collections.reverse(this.rows);\n }\n return ps;\n };\n // Try to construct a valid rows sequence\n // Recursion is used to implement backtracking\n RSSExpandedReader.prototype.checkRows = function (collectedRows, currentRow) {\n var e_1, _a;\n for (var i = currentRow; i < this.rows.length; i++) {\n var row = this.rows[i];\n this.pairs.length = 0;\n try {\n for (var collectedRows_1 = (e_1 = void 0, __values(collectedRows)), collectedRows_1_1 = collectedRows_1.next(); !collectedRows_1_1.done; collectedRows_1_1 = collectedRows_1.next()) {\n var collectedRow = collectedRows_1_1.value;\n this.pairs.push(collectedRow.getPairs());\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (collectedRows_1_1 && !collectedRows_1_1.done && (_a = collectedRows_1.return)) _a.call(collectedRows_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n this.pairs.push(row.getPairs());\n if (!RSSExpandedReader.isValidSequence(this.pairs)) {\n continue;\n }\n if (this.checkChecksum()) {\n return this.pairs;\n }\n var rs = new Array(collectedRows);\n rs.push(row);\n try {\n // Recursion: try to add more rows\n return this.checkRows(rs, i + 1);\n }\n catch (e) {\n // We failed, try the next candidate\n console.log(e);\n }\n }\n throw new NotFoundException();\n };\n // Whether the pairs form a valid find pattern sequence,\n // either complete or a prefix\n RSSExpandedReader.isValidSequence = function (pairs) {\n var e_2, _a;\n try {\n for (var _b = __values(RSSExpandedReader.FINDER_PATTERN_SEQUENCES), _c = _b.next(); !_c.done; _c = _b.next()) {\n var sequence = _c.value;\n if (pairs.length > sequence.length) {\n continue;\n }\n var stop_1 = true;\n for (var j = 0; j < pairs.length; j++) {\n if (pairs[j].getFinderPattern().getValue() != sequence[j]) {\n stop_1 = false;\n break;\n }\n }\n if (stop_1) {\n return true;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return false;\n };\n RSSExpandedReader.prototype.storeRow = function (rowNumber, wasReversed) {\n // Discard if duplicate above or below; otherwise insert in order by row number.\n var insertPos = 0;\n var prevIsSame = false;\n var nextIsSame = false;\n while (insertPos < this.rows.length) {\n var erow = this.rows[insertPos];\n if (erow.getRowNumber() > rowNumber) {\n nextIsSame = erow.isEquivalent(this.pairs);\n break;\n }\n prevIsSame = erow.isEquivalent(this.pairs);\n insertPos++;\n }\n if (nextIsSame || prevIsSame) {\n return;\n }\n // When the row was partially decoded (e.g. 2 pairs found instead of 3),\n // it will prevent us from detecting the barcode.\n // Try to merge partial rows\n // Check whether the row is part of an allready detected row\n if (RSSExpandedReader.isPartialRow(this.pairs, this.rows)) {\n return;\n }\n this.rows.push(insertPos, new ExpandedRow(this.pairs, rowNumber, wasReversed));\n this.removePartialRows(this.pairs, this.rows);\n };\n // Remove all the rows that contains only specified pairs\n RSSExpandedReader.prototype.removePartialRows = function (pairs, rows) {\n var e_3, _a, e_4, _b, e_5, _c;\n try {\n // for (Iterator iterator = rows.iterator(); iterator.hasNext();) {\n // ExpandedRow r = iterator.next();\n // if (r.getPairs().size() == pairs.size()) {\n // continue;\n // }\n // boolean allFound = true;\n // for (ExpandedPair p : r.getPairs()) {\n // boolean found = false;\n // for (ExpandedPair pp : pairs) {\n // if (p.equals(pp)) {\n // found = true;\n // break;\n // }\n // }\n // if (!found) {\n // allFound = false;\n // break;\n // }\n // }\n // if (allFound) {\n // // 'pairs' contains all the pairs from the row 'r'\n // iterator.remove();\n // }\n // }\n for (var rows_1 = __values(rows), rows_1_1 = rows_1.next(); !rows_1_1.done; rows_1_1 = rows_1.next()) {\n var row = rows_1_1.value;\n if (row.getPairs().length === pairs.length) {\n continue;\n }\n var allFound = true;\n try {\n for (var _d = (e_4 = void 0, __values(row.getPairs())), _e = _d.next(); !_e.done; _e = _d.next()) {\n var p = _e.value;\n var found = false;\n try {\n for (var pairs_1 = (e_5 = void 0, __values(pairs)), pairs_1_1 = pairs_1.next(); !pairs_1_1.done; pairs_1_1 = pairs_1.next()) {\n var pp = pairs_1_1.value;\n if (ExpandedPair.equals(p, pp)) {\n found = true;\n break;\n }\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (pairs_1_1 && !pairs_1_1.done && (_c = pairs_1.return)) _c.call(pairs_1);\n }\n finally { if (e_5) throw e_5.error; }\n }\n if (!found) {\n allFound = false;\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_e && !_e.done && (_b = _d.return)) _b.call(_d);\n }\n finally { if (e_4) throw e_4.error; }\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (rows_1_1 && !rows_1_1.done && (_a = rows_1.return)) _a.call(rows_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n };\n // Returns true when one of the rows already contains all the pairs\n RSSExpandedReader.isPartialRow = function (pairs, rows) {\n var e_6, _a, e_7, _b, e_8, _c;\n try {\n for (var rows_2 = __values(rows), rows_2_1 = rows_2.next(); !rows_2_1.done; rows_2_1 = rows_2.next()) {\n var r = rows_2_1.value;\n var allFound = true;\n try {\n for (var pairs_2 = (e_7 = void 0, __values(pairs)), pairs_2_1 = pairs_2.next(); !pairs_2_1.done; pairs_2_1 = pairs_2.next()) {\n var p = pairs_2_1.value;\n var found = false;\n try {\n for (var _d = (e_8 = void 0, __values(r.getPairs())), _e = _d.next(); !_e.done; _e = _d.next()) {\n var pp = _e.value;\n if (p.equals(pp)) {\n found = true;\n break;\n }\n }\n }\n catch (e_8_1) { e_8 = { error: e_8_1 }; }\n finally {\n try {\n if (_e && !_e.done && (_c = _d.return)) _c.call(_d);\n }\n finally { if (e_8) throw e_8.error; }\n }\n if (!found) {\n allFound = false;\n break;\n }\n }\n }\n catch (e_7_1) { e_7 = { error: e_7_1 }; }\n finally {\n try {\n if (pairs_2_1 && !pairs_2_1.done && (_b = pairs_2.return)) _b.call(pairs_2);\n }\n finally { if (e_7) throw e_7.error; }\n }\n if (allFound) {\n // the row 'r' contain all the pairs from 'pairs'\n return true;\n }\n }\n }\n catch (e_6_1) { e_6 = { error: e_6_1 }; }\n finally {\n try {\n if (rows_2_1 && !rows_2_1.done && (_a = rows_2.return)) _a.call(rows_2);\n }\n finally { if (e_6) throw e_6.error; }\n }\n return false;\n };\n // Only used for unit testing\n RSSExpandedReader.prototype.getRows = function () {\n return this.rows;\n };\n // Not private for unit testing\n RSSExpandedReader.constructResult = function (pairs) {\n var binary = BitArrayBuilder.buildBitArray(pairs);\n var decoder = createDecoder(binary);\n var resultingString = decoder.parseInformation();\n var firstPoints = pairs[0].getFinderPattern().getResultPoints();\n var lastPoints = pairs[pairs.length - 1].getFinderPattern().getResultPoints();\n var points = [firstPoints[0], firstPoints[1], lastPoints[0], lastPoints[1]];\n return new Result(resultingString, null, null, points, BarcodeFormat.RSS_EXPANDED, null);\n };\n RSSExpandedReader.prototype.checkChecksum = function () {\n var firstPair = this.pairs.get(0);\n var checkCharacter = firstPair.getLeftChar();\n var firstCharacter = firstPair.getRightChar();\n if (firstCharacter == null) {\n return false;\n }\n var checksum = firstCharacter.getChecksumPortion();\n var s = 2;\n for (var i = 1; i < this.pairs.size(); ++i) {\n var currentPair = this.pairs.get(i);\n checksum += currentPair.getLeftChar().getChecksumPortion();\n s++;\n var currentRightChar = currentPair.getRightChar();\n if (currentRightChar != null) {\n checksum += currentRightChar.getChecksumPortion();\n s++;\n }\n }\n checksum %= 211;\n var checkCharacterValue = 211 * (s - 4) + checksum;\n return checkCharacterValue == checkCharacter.getValue();\n };\n RSSExpandedReader.getNextSecondBar = function (row, initialPos) {\n var currentPos;\n if (row.get(initialPos)) {\n currentPos = row.getNextUnset(initialPos);\n currentPos = row.getNextSet(currentPos);\n }\n else {\n currentPos = row.getNextSet(initialPos);\n currentPos = row.getNextUnset(currentPos);\n }\n return currentPos;\n };\n // not private for testing\n RSSExpandedReader.prototype.retrieveNextPair = function (row, previousPairs, rowNumber) {\n var isOddPattern = previousPairs.length % 2 == 0;\n if (this.startFromEven) {\n isOddPattern = !isOddPattern;\n }\n var pattern;\n var keepFinding = true;\n var forcedOffset = -1;\n do {\n this.findNextPair(row, previousPairs, forcedOffset);\n pattern = this.parseFoundFinderPattern(row, rowNumber, isOddPattern);\n if (pattern == null) {\n forcedOffset = RSSExpandedReader.getNextSecondBar(row, this.startEnd[0]);\n }\n else {\n keepFinding = false;\n }\n } while (keepFinding);\n // When stacked symbol is split over multiple rows, there's no way to guess if this pair can be last or not.\n // boolean mayBeLast = checkPairSequence(previousPairs, pattern);\n var leftChar = this.decodeDataCharacter(row, pattern, isOddPattern, true);\n if (!this.isEmptyPair(previousPairs) && previousPairs[previousPairs.length - 1].mustBeLast()) {\n throw new NotFoundException();\n }\n var rightChar;\n try {\n rightChar = this.decodeDataCharacter(row, pattern, isOddPattern, false);\n }\n catch (e) {\n rightChar = null;\n console.log(e);\n }\n return new ExpandedPair(leftChar, rightChar, pattern, true);\n };\n RSSExpandedReader.prototype.isEmptyPair = function (pairs) {\n if (pairs.length === 0) {\n return true;\n }\n return false;\n };\n RSSExpandedReader.prototype.findNextPair = function (row, previousPairs, forcedOffset) {\n var counters = this.getDecodeFinderCounters();\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n var width = row.getSize();\n var rowOffset;\n if (forcedOffset >= 0) {\n rowOffset = forcedOffset;\n }\n else if (this.isEmptyPair(previousPairs)) {\n rowOffset = 0;\n }\n else {\n var lastPair = previousPairs[previousPairs.length - 1];\n rowOffset = lastPair.getFinderPattern().getStartEnd()[1];\n }\n var searchingEvenPair = previousPairs.length % 2 != 0;\n if (this.startFromEven) {\n searchingEvenPair = !searchingEvenPair;\n }\n var isWhite = false;\n while (rowOffset < width) {\n isWhite = !row.get(rowOffset);\n if (!isWhite) {\n break;\n }\n rowOffset++;\n }\n var counterPosition = 0;\n var patternStart = rowOffset;\n for (var x = rowOffset; x < width; x++) {\n if (row.get(x) != isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition == 3) {\n if (searchingEvenPair) {\n RSSExpandedReader.reverseCounters(counters);\n }\n if (RSSExpandedReader.isFinderPattern(counters)) {\n this.startEnd[0] = patternStart;\n this.startEnd[1] = x;\n return;\n }\n if (searchingEvenPair) {\n RSSExpandedReader.reverseCounters(counters);\n }\n patternStart += counters[0] + counters[1];\n counters[0] = counters[2];\n counters[1] = counters[3];\n counters[2] = 0;\n counters[3] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n };\n RSSExpandedReader.reverseCounters = function (counters) {\n var length = counters.length;\n for (var i = 0; i < length / 2; ++i) {\n var tmp = counters[i];\n counters[i] = counters[length - i - 1];\n counters[length - i - 1] = tmp;\n }\n };\n RSSExpandedReader.prototype.parseFoundFinderPattern = function (row, rowNumber, oddPattern) {\n // Actually we found elements 2-5.\n var firstCounter;\n var start;\n var end;\n if (oddPattern) {\n // If pattern number is odd, we need to locate element 1 *before* the current block.\n var firstElementStart = this.startEnd[0] - 1;\n // Locate element 1\n while (firstElementStart >= 0 && !row.get(firstElementStart)) {\n firstElementStart--;\n }\n firstElementStart++;\n firstCounter = this.startEnd[0] - firstElementStart;\n start = firstElementStart;\n end = this.startEnd[1];\n }\n else {\n // If pattern number is even, the pattern is reversed, so we need to locate element 1 *after* the current block.\n start = this.startEnd[0];\n end = row.getNextUnset(this.startEnd[1] + 1);\n firstCounter = end - this.startEnd[1];\n }\n // Make 'counters' hold 1-4\n var counters = this.getDecodeFinderCounters();\n System.arraycopy(counters, 0, counters, 1, counters.length - 1);\n counters[0] = firstCounter;\n var value;\n try {\n value = this.parseFinderValue(counters, RSSExpandedReader.FINDER_PATTERNS);\n }\n catch (e) {\n return null;\n console.log(e);\n }\n // return new FinderPattern(value, new int[] { start, end }, start, end, rowNumber});\n return new FinderPattern(value, [start, end], start, end, rowNumber);\n };\n RSSExpandedReader.prototype.decodeDataCharacter = function (row, pattern, isOddPattern, leftChar) {\n var counters = this.getDataCharacterCounters();\n for (var x = 0; x < counters.length; x++) {\n counters[x] = 0;\n }\n if (leftChar) {\n RSSExpandedReader.recordPatternInReverse(row, pattern.getStartEnd()[0], counters);\n }\n else {\n RSSExpandedReader.recordPattern(row, pattern.getStartEnd()[1], counters);\n // reverse it\n for (var i = 0, j = counters.length - 1; i < j; i++, j--) {\n var temp = counters[i];\n counters[i] = counters[j];\n counters[j] = temp;\n }\n } // counters[] has the pixels of the module\n var numModules = 17; // left and right data characters have all the same length\n var elementWidth = MathUtils.sum(new Int32Array(counters)) / numModules;\n // Sanity check: element width for pattern and the character should match\n var expectedElementWidth = (pattern.getStartEnd()[1] - pattern.getStartEnd()[0]) / 15.0;\n if (Math.abs(elementWidth - expectedElementWidth) / expectedElementWidth > 0.3) {\n throw new NotFoundException();\n }\n var oddCounts = this.getOddCounts();\n var evenCounts = this.getEvenCounts();\n var oddRoundingErrors = this.getOddRoundingErrors();\n var evenRoundingErrors = this.getEvenRoundingErrors();\n for (var i = 0; i < counters.length; i++) {\n var value_1 = 1.0 * counters[i] / elementWidth;\n var count = value_1 + 0.5; // Round\n if (count < 1) {\n if (value_1 < 0.3) {\n throw new NotFoundException();\n }\n count = 1;\n }\n else if (count > 8) {\n if (value_1 > 8.7) {\n throw new NotFoundException();\n }\n count = 8;\n }\n var offset = i / 2;\n if ((i & 0x01) == 0) {\n oddCounts[offset] = count;\n oddRoundingErrors[offset] = value_1 - count;\n }\n else {\n evenCounts[offset] = count;\n evenRoundingErrors[offset] = value_1 - count;\n }\n }\n this.adjustOddEvenCounts(numModules);\n var weightRowNumber = 4 * pattern.getValue() + (isOddPattern ? 0 : 2) + (leftChar ? 0 : 1) - 1;\n var oddSum = 0;\n var oddChecksumPortion = 0;\n for (var i = oddCounts.length - 1; i >= 0; i--) {\n if (RSSExpandedReader.isNotA1left(pattern, isOddPattern, leftChar)) {\n var weight = RSSExpandedReader.WEIGHTS[weightRowNumber][2 * i];\n oddChecksumPortion += oddCounts[i] * weight;\n }\n oddSum += oddCounts[i];\n }\n var evenChecksumPortion = 0;\n // int evenSum = 0;\n for (var i = evenCounts.length - 1; i >= 0; i--) {\n if (RSSExpandedReader.isNotA1left(pattern, isOddPattern, leftChar)) {\n var weight = RSSExpandedReader.WEIGHTS[weightRowNumber][2 * i + 1];\n evenChecksumPortion += evenCounts[i] * weight;\n }\n // evenSum += evenCounts[i];\n }\n var checksumPortion = oddChecksumPortion + evenChecksumPortion;\n if ((oddSum & 0x01) != 0 || oddSum > 13 || oddSum < 4) {\n throw new NotFoundException();\n }\n var group = (13 - oddSum) / 2;\n var oddWidest = RSSExpandedReader.SYMBOL_WIDEST[group];\n var evenWidest = 9 - oddWidest;\n var vOdd = RSSUtils.getRSSvalue(oddCounts, oddWidest, true);\n var vEven = RSSUtils.getRSSvalue(evenCounts, evenWidest, false);\n var tEven = RSSExpandedReader.EVEN_TOTAL_SUBSET[group];\n var gSum = RSSExpandedReader.GSUM[group];\n var value = vOdd * tEven + vEven + gSum;\n return new DataCharacter(value, checksumPortion);\n };\n RSSExpandedReader.isNotA1left = function (pattern, isOddPattern, leftChar) {\n // A1: pattern.getValue is 0 (A), and it's an oddPattern, and it is a left char\n return !(pattern.getValue() == 0 && isOddPattern && leftChar);\n };\n RSSExpandedReader.prototype.adjustOddEvenCounts = function (numModules) {\n var oddSum = MathUtils.sum(new Int32Array(this.getOddCounts()));\n var evenSum = MathUtils.sum(new Int32Array(this.getEvenCounts()));\n var incrementOdd = false;\n var decrementOdd = false;\n if (oddSum > 13) {\n decrementOdd = true;\n }\n else if (oddSum < 4) {\n incrementOdd = true;\n }\n var incrementEven = false;\n var decrementEven = false;\n if (evenSum > 13) {\n decrementEven = true;\n }\n else if (evenSum < 4) {\n incrementEven = true;\n }\n var mismatch = oddSum + evenSum - numModules;\n var oddParityBad = (oddSum & 0x01) == 1;\n var evenParityBad = (evenSum & 0x01) == 0;\n if (mismatch == 1) {\n if (oddParityBad) {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n decrementOdd = true;\n }\n else {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n decrementEven = true;\n }\n }\n else if (mismatch == -1) {\n if (oddParityBad) {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n incrementOdd = true;\n }\n else {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n incrementEven = true;\n }\n }\n else if (mismatch == 0) {\n if (oddParityBad) {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n // Both bad\n if (oddSum < evenSum) {\n incrementOdd = true;\n decrementEven = true;\n }\n else {\n decrementOdd = true;\n incrementEven = true;\n }\n }\n else {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n // Nothing to do!\n }\n }\n else {\n throw new NotFoundException();\n }\n if (incrementOdd) {\n if (decrementOdd) {\n throw new NotFoundException();\n }\n RSSExpandedReader.increment(this.getOddCounts(), this.getOddRoundingErrors());\n }\n if (decrementOdd) {\n RSSExpandedReader.decrement(this.getOddCounts(), this.getOddRoundingErrors());\n }\n if (incrementEven) {\n if (decrementEven) {\n throw new NotFoundException();\n }\n RSSExpandedReader.increment(this.getEvenCounts(), this.getOddRoundingErrors());\n }\n if (decrementEven) {\n RSSExpandedReader.decrement(this.getEvenCounts(), this.getEvenRoundingErrors());\n }\n };\n RSSExpandedReader.SYMBOL_WIDEST = [7, 5, 4, 3, 1];\n RSSExpandedReader.EVEN_TOTAL_SUBSET = [4, 20, 52, 104, 204];\n RSSExpandedReader.GSUM = [0, 348, 1388, 2948, 3988];\n RSSExpandedReader.FINDER_PATTERNS = [\n Int32Array.from([1, 8, 4, 1]),\n Int32Array.from([3, 6, 4, 1]),\n Int32Array.from([3, 4, 6, 1]),\n Int32Array.from([3, 2, 8, 1]),\n Int32Array.from([2, 6, 5, 1]),\n Int32Array.from([2, 2, 9, 1]) // F\n ];\n RSSExpandedReader.WEIGHTS = [\n [1, 3, 9, 27, 81, 32, 96, 77],\n [20, 60, 180, 118, 143, 7, 21, 63],\n [189, 145, 13, 39, 117, 140, 209, 205],\n [193, 157, 49, 147, 19, 57, 171, 91],\n [62, 186, 136, 197, 169, 85, 44, 132],\n [185, 133, 188, 142, 4, 12, 36, 108],\n [113, 128, 173, 97, 80, 29, 87, 50],\n [150, 28, 84, 41, 123, 158, 52, 156],\n [46, 138, 203, 187, 139, 206, 196, 166],\n [76, 17, 51, 153, 37, 111, 122, 155],\n [43, 129, 176, 106, 107, 110, 119, 146],\n [16, 48, 144, 10, 30, 90, 59, 177],\n [109, 116, 137, 200, 178, 112, 125, 164],\n [70, 210, 208, 202, 184, 130, 179, 115],\n [134, 191, 151, 31, 93, 68, 204, 190],\n [148, 22, 66, 198, 172, 94, 71, 2],\n [6, 18, 54, 162, 64, 192, 154, 40],\n [120, 149, 25, 75, 14, 42, 126, 167],\n [79, 26, 78, 23, 69, 207, 199, 175],\n [103, 98, 83, 38, 114, 131, 182, 124],\n [161, 61, 183, 127, 170, 88, 53, 159],\n [55, 165, 73, 8, 24, 72, 5, 15],\n [45, 135, 194, 160, 58, 174, 100, 89]\n ];\n RSSExpandedReader.FINDER_PAT_A = 0;\n RSSExpandedReader.FINDER_PAT_B = 1;\n RSSExpandedReader.FINDER_PAT_C = 2;\n RSSExpandedReader.FINDER_PAT_D = 3;\n RSSExpandedReader.FINDER_PAT_E = 4;\n RSSExpandedReader.FINDER_PAT_F = 5;\n RSSExpandedReader.FINDER_PATTERN_SEQUENCES = [\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_D],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_C],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_F],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_F, RSSExpandedReader.FINDER_PAT_F],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_D],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_E],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_F, RSSExpandedReader.FINDER_PAT_F],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_F, RSSExpandedReader.FINDER_PAT_F],\n ];\n RSSExpandedReader.MAX_PAIRS = 11;\n return RSSExpandedReader;\n}(AbstractRSSReader));\nexport default RSSExpandedReader;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI013x0xDecoder from './AI013x0xDecoder';\nvar AI013103decoder = /** @class */ (function (_super) {\n __extends(AI013103decoder, _super);\n function AI013103decoder(information) {\n return _super.call(this, information) || this;\n }\n AI013103decoder.prototype.addWeightCode = function (buf, weight) {\n buf.append('(3103)');\n };\n AI013103decoder.prototype.checkWeight = function (weight) {\n return weight;\n };\n return AI013103decoder;\n}(AI013x0xDecoder));\nexport default AI013103decoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI013x0xDecoder from './AI013x0xDecoder';\nvar AI01320xDecoder = /** @class */ (function (_super) {\n __extends(AI01320xDecoder, _super);\n function AI01320xDecoder(information) {\n return _super.call(this, information) || this;\n }\n AI01320xDecoder.prototype.addWeightCode = function (buf, weight) {\n if (weight < 10000) {\n buf.append('(3202)');\n }\n else {\n buf.append('(3203)');\n }\n };\n AI01320xDecoder.prototype.checkWeight = function (weight) {\n if (weight < 10000) {\n return weight;\n }\n return weight - 10000;\n };\n return AI01320xDecoder;\n}(AI013x0xDecoder));\nexport default AI01320xDecoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI01decoder from './AI01decoder';\nimport NotFoundException from '../../../../NotFoundException';\nimport StringBuilder from '../../../../util/StringBuilder';\nvar AI01392xDecoder = /** @class */ (function (_super) {\n __extends(AI01392xDecoder, _super);\n function AI01392xDecoder(information) {\n return _super.call(this, information) || this;\n }\n AI01392xDecoder.prototype.parseInformation = function () {\n if (this.getInformation().getSize() < AI01392xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE) {\n throw new NotFoundException();\n }\n var buf = new StringBuilder();\n this.encodeCompressedGtin(buf, AI01392xDecoder.HEADER_SIZE);\n var lastAIdigit = this.getGeneralDecoder().extractNumericValueFromBitArray(AI01392xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE, AI01392xDecoder.LAST_DIGIT_SIZE);\n buf.append('(392');\n buf.append(lastAIdigit);\n buf.append(')');\n var decodedInformation = this.getGeneralDecoder().decodeGeneralPurposeField(AI01392xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE + AI01392xDecoder.LAST_DIGIT_SIZE, null);\n buf.append(decodedInformation.getNewString());\n return buf.toString();\n };\n AI01392xDecoder.HEADER_SIZE = 5 + 1 + 2;\n AI01392xDecoder.LAST_DIGIT_SIZE = 2;\n return AI01392xDecoder;\n}(AI01decoder));\nexport default AI01392xDecoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI01decoder from './AI01decoder';\nimport NotFoundException from '../../../../NotFoundException';\nimport StringBuilder from '../../../../util/StringBuilder';\nvar AI01393xDecoder = /** @class */ (function (_super) {\n __extends(AI01393xDecoder, _super);\n function AI01393xDecoder(information) {\n return _super.call(this, information) || this;\n }\n AI01393xDecoder.prototype.parseInformation = function () {\n if (this.getInformation().getSize() < AI01393xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE) {\n throw new NotFoundException();\n }\n var buf = new StringBuilder();\n this.encodeCompressedGtin(buf, AI01393xDecoder.HEADER_SIZE);\n var lastAIdigit = this.getGeneralDecoder().extractNumericValueFromBitArray(AI01393xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE, AI01393xDecoder.LAST_DIGIT_SIZE);\n buf.append('(393');\n buf.append(lastAIdigit);\n buf.append(')');\n var firstThreeDigits = this.getGeneralDecoder().extractNumericValueFromBitArray(AI01393xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE + AI01393xDecoder.LAST_DIGIT_SIZE, AI01393xDecoder.FIRST_THREE_DIGITS_SIZE);\n if (firstThreeDigits / 100 == 0) {\n buf.append('0');\n }\n if (firstThreeDigits / 10 == 0) {\n buf.append('0');\n }\n buf.append(firstThreeDigits);\n var generalInformation = this.getGeneralDecoder().decodeGeneralPurposeField(AI01393xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE + AI01393xDecoder.LAST_DIGIT_SIZE + AI01393xDecoder.FIRST_THREE_DIGITS_SIZE, null);\n buf.append(generalInformation.getNewString());\n return buf.toString();\n };\n AI01393xDecoder.HEADER_SIZE = 5 + 1 + 2;\n AI01393xDecoder.LAST_DIGIT_SIZE = 2;\n AI01393xDecoder.FIRST_THREE_DIGITS_SIZE = 10;\n return AI01393xDecoder;\n}(AI01decoder));\nexport default AI01393xDecoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI01weightDecoder from './AI01weightDecoder';\nimport NotFoundException from '../../../../NotFoundException';\nimport StringBuilder from '../../../../util/StringBuilder';\nvar AI013x0x1xDecoder = /** @class */ (function (_super) {\n __extends(AI013x0x1xDecoder, _super);\n function AI013x0x1xDecoder(information, firstAIdigits, dateCode) {\n var _this = _super.call(this, information) || this;\n _this.dateCode = dateCode;\n _this.firstAIdigits = firstAIdigits;\n return _this;\n }\n AI013x0x1xDecoder.prototype.parseInformation = function () {\n if (this.getInformation().getSize() != AI013x0x1xDecoder.HEADER_SIZE + AI013x0x1xDecoder.GTIN_SIZE + AI013x0x1xDecoder.WEIGHT_SIZE + AI013x0x1xDecoder.DATE_SIZE) {\n throw new NotFoundException();\n }\n var buf = new StringBuilder();\n this.encodeCompressedGtin(buf, AI013x0x1xDecoder.HEADER_SIZE);\n this.encodeCompressedWeight(buf, AI013x0x1xDecoder.HEADER_SIZE + AI013x0x1xDecoder.GTIN_SIZE, AI013x0x1xDecoder.WEIGHT_SIZE);\n this.encodeCompressedDate(buf, AI013x0x1xDecoder.HEADER_SIZE + AI013x0x1xDecoder.GTIN_SIZE + AI013x0x1xDecoder.WEIGHT_SIZE);\n return buf.toString();\n };\n AI013x0x1xDecoder.prototype.encodeCompressedDate = function (buf, currentPos) {\n var numericDate = this.getGeneralDecoder().extractNumericValueFromBitArray(currentPos, AI013x0x1xDecoder.DATE_SIZE);\n if (numericDate == 38400) {\n return;\n }\n buf.append('(');\n buf.append(this.dateCode);\n buf.append(')');\n var day = numericDate % 32;\n numericDate /= 32;\n var month = numericDate % 12 + 1;\n numericDate /= 12;\n var year = numericDate;\n if (year / 10 == 0) {\n buf.append('0');\n }\n buf.append(year);\n if (month / 10 == 0) {\n buf.append('0');\n }\n buf.append(month);\n if (day / 10 == 0) {\n buf.append('0');\n }\n buf.append(day);\n };\n AI013x0x1xDecoder.prototype.addWeightCode = function (buf, weight) {\n buf.append('(');\n buf.append(this.firstAIdigits);\n buf.append(weight / 100000);\n buf.append(')');\n };\n AI013x0x1xDecoder.prototype.checkWeight = function (weight) {\n return weight % 100000;\n };\n AI013x0x1xDecoder.HEADER_SIZE = 7 + 1;\n AI013x0x1xDecoder.WEIGHT_SIZE = 20;\n AI013x0x1xDecoder.DATE_SIZE = 16;\n return AI013x0x1xDecoder;\n}(AI01weightDecoder));\nexport default AI013x0x1xDecoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI01weightDecoder from './AI01weightDecoder';\nimport StringBuilder from '../../../../util/StringBuilder';\nimport NotFoundException from '../../../../NotFoundException';\nvar AI013x0xDecoder = /** @class */ (function (_super) {\n __extends(AI013x0xDecoder, _super);\n function AI013x0xDecoder(information) {\n return _super.call(this, information) || this;\n }\n AI013x0xDecoder.prototype.parseInformation = function () {\n if (this.getInformation().getSize() != AI013x0xDecoder.HEADER_SIZE + AI01weightDecoder.GTIN_SIZE + AI013x0xDecoder.WEIGHT_SIZE) {\n throw new NotFoundException();\n }\n var buf = new StringBuilder();\n this.encodeCompressedGtin(buf, AI013x0xDecoder.HEADER_SIZE);\n this.encodeCompressedWeight(buf, AI013x0xDecoder.HEADER_SIZE + AI01weightDecoder.GTIN_SIZE, AI013x0xDecoder.WEIGHT_SIZE);\n return buf.toString();\n };\n AI013x0xDecoder.HEADER_SIZE = 4 + 1;\n AI013x0xDecoder.WEIGHT_SIZE = 15;\n return AI013x0xDecoder;\n}(AI01weightDecoder));\nexport default AI013x0xDecoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI01decoder from './AI01decoder';\nimport StringBuilder from '../../../../util/StringBuilder';\nvar AI01AndOtherAIs = /** @class */ (function (_super) {\n __extends(AI01AndOtherAIs, _super);\n // the second one is the encodation method, and the other two are for the variable length\n function AI01AndOtherAIs(information) {\n return _super.call(this, information) || this;\n }\n AI01AndOtherAIs.prototype.parseInformation = function () {\n var buff = new StringBuilder();\n buff.append('(01)');\n var initialGtinPosition = buff.length();\n var firstGtinDigit = this.getGeneralDecoder().extractNumericValueFromBitArray(AI01AndOtherAIs.HEADER_SIZE, 4);\n buff.append(firstGtinDigit);\n this.encodeCompressedGtinWithoutAI(buff, AI01AndOtherAIs.HEADER_SIZE + 4, initialGtinPosition);\n return this.getGeneralDecoder().decodeAllCodes(buff, AI01AndOtherAIs.HEADER_SIZE + 44);\n };\n AI01AndOtherAIs.HEADER_SIZE = 1 + 1 + 2; // first bit encodes the linkage flag,\n return AI01AndOtherAIs;\n}(AI01decoder));\nexport default AI01AndOtherAIs;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AbstractExpandedDecoder from './AbstractExpandedDecoder';\nvar AI01decoder = /** @class */ (function (_super) {\n __extends(AI01decoder, _super);\n function AI01decoder(information) {\n return _super.call(this, information) || this;\n }\n AI01decoder.prototype.encodeCompressedGtin = function (buf, currentPos) {\n buf.append('(01)');\n var initialPosition = buf.length();\n buf.append('9');\n this.encodeCompressedGtinWithoutAI(buf, currentPos, initialPosition);\n };\n AI01decoder.prototype.encodeCompressedGtinWithoutAI = function (buf, currentPos, initialBufferPosition) {\n for (var i = 0; i < 4; ++i) {\n var currentBlock = this.getGeneralDecoder().extractNumericValueFromBitArray(currentPos + 10 * i, 10);\n if (currentBlock / 100 === 0) {\n buf.append('0');\n }\n if (currentBlock / 10 === 0) {\n buf.append('0');\n }\n buf.append(currentBlock);\n }\n AI01decoder.appendCheckDigit(buf, initialBufferPosition);\n };\n AI01decoder.appendCheckDigit = function (buf, currentPos) {\n var checkDigit = 0;\n for (var i = 0; i < 13; i++) {\n // let digit = buf.charAt(i + currentPos) - '0';\n // To be checked\n var digit = buf.charAt(i + currentPos).charCodeAt(0) - '0'.charCodeAt(0);\n checkDigit += (i & 0x01) === 0 ? 3 * digit : digit;\n }\n checkDigit = 10 - (checkDigit % 10);\n if (checkDigit === 10) {\n checkDigit = 0;\n }\n buf.append(checkDigit);\n };\n AI01decoder.GTIN_SIZE = 40;\n return AI01decoder;\n}(AbstractExpandedDecoder));\nexport default AI01decoder;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport AI01decoder from './AI01decoder';\nvar AI01weightDecoder = /** @class */ (function (_super) {\n __extends(AI01weightDecoder, _super);\n function AI01weightDecoder(information) {\n return _super.call(this, information) || this;\n }\n AI01weightDecoder.prototype.encodeCompressedWeight = function (buf, currentPos, weightSize) {\n var originalWeightNumeric = this.getGeneralDecoder().extractNumericValueFromBitArray(currentPos, weightSize);\n this.addWeightCode(buf, originalWeightNumeric);\n var weightNumeric = this.checkWeight(originalWeightNumeric);\n var currentDivisor = 100000;\n for (var i = 0; i < 5; ++i) {\n if (weightNumeric / currentDivisor === 0) {\n buf.append('0');\n }\n currentDivisor /= 10;\n }\n buf.append(weightNumeric);\n };\n return AI01weightDecoder;\n}(AI01decoder));\nexport default AI01weightDecoder;\n","import GeneralAppIdDecoder from './GeneralAppIdDecoder';\nvar AbstractExpandedDecoder = /** @class */ (function () {\n function AbstractExpandedDecoder(information) {\n this.information = information;\n this.generalDecoder = new GeneralAppIdDecoder(information);\n }\n AbstractExpandedDecoder.prototype.getInformation = function () {\n return this.information;\n };\n AbstractExpandedDecoder.prototype.getGeneralDecoder = function () {\n return this.generalDecoder;\n };\n return AbstractExpandedDecoder;\n}());\nexport default AbstractExpandedDecoder;\n","import IllegalStateException from '../../../../IllegalStateException';\nimport GeneralAppIdDecoder from './GeneralAppIdDecoder';\nimport AI01AndOtherAIs from './AI01AndOtherAIs';\nimport AnyAIDecoder from './AnyAIDecoder';\nimport AI013103decoder from './AI013103decoder';\nimport AI01320xDecoder from './AI01320xDecoder';\nimport AI01392xDecoder from './AI01392xDecoder';\nimport AI01393xDecoder from './AI01393xDecoder';\nimport AI013x0x1xDecoder from './AI013x0x1xDecoder';\nexport function createDecoder(information) {\n try {\n if (information.get(1)) {\n return new AI01AndOtherAIs(information);\n }\n if (!information.get(2)) {\n return new AnyAIDecoder(information);\n }\n var fourBitEncodationMethod = GeneralAppIdDecoder.extractNumericValueFromBitArray(information, 1, 4);\n switch (fourBitEncodationMethod) {\n case 4: return new AI013103decoder(information);\n case 5: return new AI01320xDecoder(information);\n }\n var fiveBitEncodationMethod = GeneralAppIdDecoder.extractNumericValueFromBitArray(information, 1, 5);\n switch (fiveBitEncodationMethod) {\n case 12: return new AI01392xDecoder(information);\n case 13: return new AI01393xDecoder(information);\n }\n var sevenBitEncodationMethod = GeneralAppIdDecoder.extractNumericValueFromBitArray(information, 1, 7);\n switch (sevenBitEncodationMethod) {\n case 56: return new AI013x0x1xDecoder(information, '310', '11');\n case 57: return new AI013x0x1xDecoder(information, '320', '11');\n case 58: return new AI013x0x1xDecoder(information, '310', '13');\n case 59: return new AI013x0x1xDecoder(information, '320', '13');\n case 60: return new AI013x0x1xDecoder(information, '310', '15');\n case 61: return new AI013x0x1xDecoder(information, '320', '15');\n case 62: return new AI013x0x1xDecoder(information, '310', '17');\n case 63: return new AI013x0x1xDecoder(information, '320', '17');\n }\n }\n catch (e) {\n console.log(e);\n throw new IllegalStateException('unknown decoder: ' + information);\n }\n}\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport StringBuilder from '../../../../util/StringBuilder';\nimport AbstractExpandedDecoder from './AbstractExpandedDecoder';\nvar AnyAIDecoder = /** @class */ (function (_super) {\n __extends(AnyAIDecoder, _super);\n function AnyAIDecoder(information) {\n return _super.call(this, information) || this;\n }\n AnyAIDecoder.prototype.parseInformation = function () {\n var buf = new StringBuilder();\n return this.getGeneralDecoder().decodeAllCodes(buf, AnyAIDecoder.HEADER_SIZE);\n };\n AnyAIDecoder.HEADER_SIZE = 2 + 1 + 2;\n return AnyAIDecoder;\n}(AbstractExpandedDecoder));\nexport default AnyAIDecoder;\n","var BlockParsedResult = /** @class */ (function () {\n function BlockParsedResult(finished, decodedInformation) {\n if (decodedInformation) {\n this.decodedInformation = null;\n }\n else {\n this.finished = finished;\n this.decodedInformation = decodedInformation;\n }\n }\n BlockParsedResult.prototype.getDecodedInformation = function () {\n return this.decodedInformation;\n };\n BlockParsedResult.prototype.isFinished = function () {\n return this.finished;\n };\n return BlockParsedResult;\n}());\nexport default BlockParsedResult;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport DecodedObject from './DecodedObject';\nvar DecodedChar = /** @class */ (function (_super) {\n __extends(DecodedChar, _super);\n function DecodedChar(newPosition, value) {\n var _this = _super.call(this, newPosition) || this;\n _this.value = value;\n return _this;\n }\n DecodedChar.prototype.getValue = function () {\n return this.value;\n };\n DecodedChar.prototype.isFNC1 = function () {\n return this.value === DecodedChar.FNC1;\n };\n DecodedChar.FNC1 = '$';\n return DecodedChar;\n}(DecodedObject));\nexport default DecodedChar;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport DecodedObject from './DecodedObject';\nvar DecodedInformation = /** @class */ (function (_super) {\n __extends(DecodedInformation, _super);\n function DecodedInformation(newPosition, newString, remainingValue) {\n var _this = _super.call(this, newPosition) || this;\n if (remainingValue) {\n _this.remaining = true;\n _this.remainingValue = _this.remainingValue;\n }\n else {\n _this.remaining = false;\n _this.remainingValue = 0;\n }\n _this.newString = newString;\n return _this;\n }\n DecodedInformation.prototype.getNewString = function () {\n return this.newString;\n };\n DecodedInformation.prototype.isRemaining = function () {\n return this.remaining;\n };\n DecodedInformation.prototype.getRemainingValue = function () {\n return this.remainingValue;\n };\n return DecodedInformation;\n}(DecodedObject));\nexport default DecodedInformation;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport FormatException from '../../../../FormatException';\nimport DecodedObject from './DecodedObject';\nvar DecodedNumeric = /** @class */ (function (_super) {\n __extends(DecodedNumeric, _super);\n function DecodedNumeric(newPosition, firstDigit, secondDigit) {\n var _this = _super.call(this, newPosition) || this;\n if (firstDigit < 0 || firstDigit > 10 || secondDigit < 0 || secondDigit > 10) {\n throw new FormatException();\n }\n _this.firstDigit = firstDigit;\n _this.secondDigit = secondDigit;\n return _this;\n }\n DecodedNumeric.prototype.getFirstDigit = function () {\n return this.firstDigit;\n };\n DecodedNumeric.prototype.getSecondDigit = function () {\n return this.secondDigit;\n };\n DecodedNumeric.prototype.getValue = function () {\n return this.firstDigit * 10 + this.secondDigit;\n };\n DecodedNumeric.prototype.isFirstDigitFNC1 = function () {\n return this.firstDigit === DecodedNumeric.FNC1;\n };\n DecodedNumeric.prototype.isSecondDigitFNC1 = function () {\n return this.secondDigit === DecodedNumeric.FNC1;\n };\n DecodedNumeric.prototype.isAnyFNC1 = function () {\n return this.firstDigit === DecodedNumeric.FNC1 || this.secondDigit === DecodedNumeric.FNC1;\n };\n DecodedNumeric.FNC1 = 10;\n return DecodedNumeric;\n}(DecodedObject));\nexport default DecodedNumeric;\n","var DecodedObject = /** @class */ (function () {\n function DecodedObject(newPosition) {\n this.newPosition = newPosition;\n }\n DecodedObject.prototype.getNewPosition = function () {\n return this.newPosition;\n };\n return DecodedObject;\n}());\nexport default DecodedObject;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport NotFoundException from '../../../../NotFoundException';\nvar FieldParser = /** @class */ (function () {\n function FieldParser() {\n }\n FieldParser.parseFieldsInGeneralPurpose = function (rawInformation) {\n var e_1, _a, e_2, _b, e_3, _c, e_4, _d;\n if (!rawInformation) {\n return null;\n }\n // Processing 2-digit AIs\n if (rawInformation.length < 2) {\n throw new NotFoundException();\n }\n var firstTwoDigits = rawInformation.substring(0, 2);\n try {\n for (var _e = __values(FieldParser.TWO_DIGIT_DATA_LENGTH), _f = _e.next(); !_f.done; _f = _e.next()) {\n var dataLength = _f.value;\n if (dataLength[0] === firstTwoDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(2, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(2, dataLength[1], rawInformation);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_a = _e.return)) _a.call(_e);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (rawInformation.length < 3) {\n throw new NotFoundException();\n }\n var firstThreeDigits = rawInformation.substring(0, 3);\n try {\n for (var _g = __values(FieldParser.THREE_DIGIT_DATA_LENGTH), _h = _g.next(); !_h.done; _h = _g.next()) {\n var dataLength = _h.value;\n if (dataLength[0] === firstThreeDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(3, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(3, dataLength[1], rawInformation);\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_h && !_h.done && (_b = _g.return)) _b.call(_g);\n }\n finally { if (e_2) throw e_2.error; }\n }\n try {\n for (var _j = __values(FieldParser.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH), _k = _j.next(); !_k.done; _k = _j.next()) {\n var dataLength = _k.value;\n if (dataLength[0] === firstThreeDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(4, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(4, dataLength[1], rawInformation);\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_k && !_k.done && (_c = _j.return)) _c.call(_j);\n }\n finally { if (e_3) throw e_3.error; }\n }\n if (rawInformation.length < 4) {\n throw new NotFoundException();\n }\n var firstFourDigits = rawInformation.substring(0, 4);\n try {\n for (var _l = __values(FieldParser.FOUR_DIGIT_DATA_LENGTH), _m = _l.next(); !_m.done; _m = _l.next()) {\n var dataLength = _m.value;\n if (dataLength[0] === firstFourDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(4, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(4, dataLength[1], rawInformation);\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_m && !_m.done && (_d = _l.return)) _d.call(_l);\n }\n finally { if (e_4) throw e_4.error; }\n }\n throw new NotFoundException();\n };\n FieldParser.processFixedAI = function (aiSize, fieldSize, rawInformation) {\n if (rawInformation.length < aiSize) {\n throw new NotFoundException();\n }\n var ai = rawInformation.substring(0, aiSize);\n if (rawInformation.length < aiSize + fieldSize) {\n throw new NotFoundException();\n }\n var field = rawInformation.substring(aiSize, aiSize + fieldSize);\n var remaining = rawInformation.substring(aiSize + fieldSize);\n var result = '(' + ai + ')' + field;\n var parsedAI = FieldParser.parseFieldsInGeneralPurpose(remaining);\n return parsedAI == null ? result : result + parsedAI;\n };\n FieldParser.processVariableAI = function (aiSize, variableFieldSize, rawInformation) {\n var ai = rawInformation.substring(0, aiSize);\n var maxSize;\n if (rawInformation.length < aiSize + variableFieldSize) {\n maxSize = rawInformation.length;\n }\n else {\n maxSize = aiSize + variableFieldSize;\n }\n var field = rawInformation.substring(aiSize, maxSize);\n var remaining = rawInformation.substring(maxSize);\n var result = '(' + ai + ')' + field;\n var parsedAI = FieldParser.parseFieldsInGeneralPurpose(remaining);\n return parsedAI == null ? result : result + parsedAI;\n };\n FieldParser.VARIABLE_LENGTH = [];\n FieldParser.TWO_DIGIT_DATA_LENGTH = [\n ['00', 18],\n ['01', 14],\n ['02', 14],\n ['10', FieldParser.VARIABLE_LENGTH, 20],\n ['11', 6],\n ['12', 6],\n ['13', 6],\n ['15', 6],\n ['17', 6],\n ['20', 2],\n ['21', FieldParser.VARIABLE_LENGTH, 20],\n ['22', FieldParser.VARIABLE_LENGTH, 29],\n ['30', FieldParser.VARIABLE_LENGTH, 8],\n ['37', FieldParser.VARIABLE_LENGTH, 8],\n // internal company codes\n ['90', FieldParser.VARIABLE_LENGTH, 30],\n ['91', FieldParser.VARIABLE_LENGTH, 30],\n ['92', FieldParser.VARIABLE_LENGTH, 30],\n ['93', FieldParser.VARIABLE_LENGTH, 30],\n ['94', FieldParser.VARIABLE_LENGTH, 30],\n ['95', FieldParser.VARIABLE_LENGTH, 30],\n ['96', FieldParser.VARIABLE_LENGTH, 30],\n ['97', FieldParser.VARIABLE_LENGTH, 3],\n ['98', FieldParser.VARIABLE_LENGTH, 30],\n ['99', FieldParser.VARIABLE_LENGTH, 30],\n ];\n FieldParser.THREE_DIGIT_DATA_LENGTH = [\n // Same format as above\n ['240', FieldParser.VARIABLE_LENGTH, 30],\n ['241', FieldParser.VARIABLE_LENGTH, 30],\n ['242', FieldParser.VARIABLE_LENGTH, 6],\n ['250', FieldParser.VARIABLE_LENGTH, 30],\n ['251', FieldParser.VARIABLE_LENGTH, 30],\n ['253', FieldParser.VARIABLE_LENGTH, 17],\n ['254', FieldParser.VARIABLE_LENGTH, 20],\n ['400', FieldParser.VARIABLE_LENGTH, 30],\n ['401', FieldParser.VARIABLE_LENGTH, 30],\n ['402', 17],\n ['403', FieldParser.VARIABLE_LENGTH, 30],\n ['410', 13],\n ['411', 13],\n ['412', 13],\n ['413', 13],\n ['414', 13],\n ['420', FieldParser.VARIABLE_LENGTH, 20],\n ['421', FieldParser.VARIABLE_LENGTH, 15],\n ['422', 3],\n ['423', FieldParser.VARIABLE_LENGTH, 15],\n ['424', 3],\n ['425', 3],\n ['426', 3],\n ];\n FieldParser.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH = [\n // Same format as above\n ['310', 6],\n ['311', 6],\n ['312', 6],\n ['313', 6],\n ['314', 6],\n ['315', 6],\n ['316', 6],\n ['320', 6],\n ['321', 6],\n ['322', 6],\n ['323', 6],\n ['324', 6],\n ['325', 6],\n ['326', 6],\n ['327', 6],\n ['328', 6],\n ['329', 6],\n ['330', 6],\n ['331', 6],\n ['332', 6],\n ['333', 6],\n ['334', 6],\n ['335', 6],\n ['336', 6],\n ['340', 6],\n ['341', 6],\n ['342', 6],\n ['343', 6],\n ['344', 6],\n ['345', 6],\n ['346', 6],\n ['347', 6],\n ['348', 6],\n ['349', 6],\n ['350', 6],\n ['351', 6],\n ['352', 6],\n ['353', 6],\n ['354', 6],\n ['355', 6],\n ['356', 6],\n ['357', 6],\n ['360', 6],\n ['361', 6],\n ['362', 6],\n ['363', 6],\n ['364', 6],\n ['365', 6],\n ['366', 6],\n ['367', 6],\n ['368', 6],\n ['369', 6],\n ['390', FieldParser.VARIABLE_LENGTH, 15],\n ['391', FieldParser.VARIABLE_LENGTH, 18],\n ['392', FieldParser.VARIABLE_LENGTH, 15],\n ['393', FieldParser.VARIABLE_LENGTH, 18],\n ['703', FieldParser.VARIABLE_LENGTH, 30],\n ];\n FieldParser.FOUR_DIGIT_DATA_LENGTH = [\n // Same format as above\n ['7001', 13],\n ['7002', FieldParser.VARIABLE_LENGTH, 30],\n ['7003', 10],\n ['8001', 14],\n ['8002', FieldParser.VARIABLE_LENGTH, 20],\n ['8003', FieldParser.VARIABLE_LENGTH, 30],\n ['8004', FieldParser.VARIABLE_LENGTH, 30],\n ['8005', 6],\n ['8006', 18],\n ['8007', FieldParser.VARIABLE_LENGTH, 30],\n ['8008', FieldParser.VARIABLE_LENGTH, 12],\n ['8018', 18],\n ['8020', FieldParser.VARIABLE_LENGTH, 25],\n ['8100', 6],\n ['8101', 10],\n ['8102', 2],\n ['8110', FieldParser.VARIABLE_LENGTH, 70],\n ['8200', FieldParser.VARIABLE_LENGTH, 70],\n ];\n return FieldParser;\n}());\nexport default FieldParser;\n","import FormatException from '../../../../FormatException';\nimport IllegalStateException from '../../../../IllegalStateException';\nimport StringBuilder from '../../../../util/StringBuilder';\nimport BlockParsedResult from './BlockParsedResult';\nimport DecodedChar from './DecodedChar';\nimport DecodedInformation from './DecodedInformation';\nimport DecodedNumeric from './DecodedNumeric';\nimport FieldParser from './FieldParser';\nvar GeneralAppIdDecoder = /** @class */ (function () {\n function GeneralAppIdDecoder(information) {\n this.buffer = new StringBuilder();\n this.information = information;\n }\n GeneralAppIdDecoder.prototype.decodeAllCodes = function (buff, initialPosition) {\n var currentPosition = initialPosition;\n var remaining = null;\n do {\n var info = this.decodeGeneralPurposeField(currentPosition, remaining);\n var parsedFields = FieldParser.parseFieldsInGeneralPurpose(info.getNewString());\n if (parsedFields != null) {\n buff.append(parsedFields);\n }\n if (info.isRemaining()) {\n remaining = '' + info.getRemainingValue();\n }\n else {\n remaining = null;\n }\n if (currentPosition === info.getNewPosition()) { // No step forward!\n break;\n }\n currentPosition = info.getNewPosition();\n } while (true);\n return buff.toString();\n };\n GeneralAppIdDecoder.prototype.isStillNumeric = function (pos) {\n // It's numeric if it still has 7 positions\n // and one of the first 4 bits is \"1\".\n if (pos + 7 > this.information.getSize()) {\n return pos + 4 <= this.information.getSize();\n }\n for (var i = pos; i < pos + 3; ++i) {\n if (this.information.get(i)) {\n return true;\n }\n }\n return this.information.get(pos + 3);\n };\n GeneralAppIdDecoder.prototype.decodeNumeric = function (pos) {\n if (pos + 7 > this.information.getSize()) {\n var numeric_1 = this.extractNumericValueFromBitArray(pos, 4);\n if (numeric_1 === 0) {\n return new DecodedNumeric(this.information.getSize(), DecodedNumeric.FNC1, DecodedNumeric.FNC1);\n }\n return new DecodedNumeric(this.information.getSize(), numeric_1 - 1, DecodedNumeric.FNC1);\n }\n var numeric = this.extractNumericValueFromBitArray(pos, 7);\n var digit1 = (numeric - 8) / 11;\n var digit2 = (numeric - 8) % 11;\n return new DecodedNumeric(pos + 7, digit1, digit2);\n };\n GeneralAppIdDecoder.prototype.extractNumericValueFromBitArray = function (pos, bits) {\n return GeneralAppIdDecoder.extractNumericValueFromBitArray(this.information, pos, bits);\n };\n GeneralAppIdDecoder.extractNumericValueFromBitArray = function (information, pos, bits) {\n var value = 0;\n for (var i = 0; i < bits; ++i) {\n if (information.get(pos + i)) {\n value |= 1 << (bits - i - 1);\n }\n }\n return value;\n };\n GeneralAppIdDecoder.prototype.decodeGeneralPurposeField = function (pos, remaining) {\n // this.buffer.setLength(0);\n this.buffer.setLengthToZero();\n if (remaining != null) {\n this.buffer.append(remaining);\n }\n this.current.setPosition(pos);\n var lastDecoded = this.parseBlocks();\n if (lastDecoded != null && lastDecoded.isRemaining()) {\n return new DecodedInformation(this.current.getPosition(), this.buffer.toString(), lastDecoded.getRemainingValue());\n }\n return new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n };\n GeneralAppIdDecoder.prototype.parseBlocks = function () {\n var isFinished;\n var result;\n do {\n var initialPosition = this.current.getPosition();\n if (this.current.isAlpha()) {\n result = this.parseAlphaBlock();\n isFinished = result.isFinished();\n }\n else if (this.current.isIsoIec646()) {\n result = this.parseIsoIec646Block();\n isFinished = result.isFinished();\n }\n else { // it must be numeric\n result = this.parseNumericBlock();\n isFinished = result.isFinished();\n }\n var positionChanged = initialPosition !== this.current.getPosition();\n if (!positionChanged && !isFinished) {\n break;\n }\n } while (!isFinished);\n return result.getDecodedInformation();\n };\n GeneralAppIdDecoder.prototype.parseNumericBlock = function () {\n while (this.isStillNumeric(this.current.getPosition())) {\n var numeric = this.decodeNumeric(this.current.getPosition());\n this.current.setPosition(numeric.getNewPosition());\n if (numeric.isFirstDigitFNC1()) {\n var information = void 0;\n if (numeric.isSecondDigitFNC1()) {\n information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n }\n else {\n information = new DecodedInformation(this.current.getPosition(), this.buffer.toString(), numeric.getSecondDigit());\n }\n return new BlockParsedResult(true, information);\n }\n this.buffer.append(numeric.getFirstDigit());\n if (numeric.isSecondDigitFNC1()) {\n var information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n return new BlockParsedResult(true, information);\n }\n this.buffer.append(numeric.getSecondDigit());\n }\n if (this.isNumericToAlphaNumericLatch(this.current.getPosition())) {\n this.current.setAlpha();\n this.current.incrementPosition(4);\n }\n return new BlockParsedResult(false);\n };\n GeneralAppIdDecoder.prototype.parseIsoIec646Block = function () {\n while (this.isStillIsoIec646(this.current.getPosition())) {\n var iso = this.decodeIsoIec646(this.current.getPosition());\n this.current.setPosition(iso.getNewPosition());\n if (iso.isFNC1()) {\n var information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n return new BlockParsedResult(true, information);\n }\n this.buffer.append(iso.getValue());\n }\n if (this.isAlphaOr646ToNumericLatch(this.current.getPosition())) {\n this.current.incrementPosition(3);\n this.current.setNumeric();\n }\n else if (this.isAlphaTo646ToAlphaLatch(this.current.getPosition())) {\n if (this.current.getPosition() + 5 < this.information.getSize()) {\n this.current.incrementPosition(5);\n }\n else {\n this.current.setPosition(this.information.getSize());\n }\n this.current.setAlpha();\n }\n return new BlockParsedResult(false);\n };\n GeneralAppIdDecoder.prototype.parseAlphaBlock = function () {\n while (this.isStillAlpha(this.current.getPosition())) {\n var alpha = this.decodeAlphanumeric(this.current.getPosition());\n this.current.setPosition(alpha.getNewPosition());\n if (alpha.isFNC1()) {\n var information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n return new BlockParsedResult(true, information); // end of the char block\n }\n this.buffer.append(alpha.getValue());\n }\n if (this.isAlphaOr646ToNumericLatch(this.current.getPosition())) {\n this.current.incrementPosition(3);\n this.current.setNumeric();\n }\n else if (this.isAlphaTo646ToAlphaLatch(this.current.getPosition())) {\n if (this.current.getPosition() + 5 < this.information.getSize()) {\n this.current.incrementPosition(5);\n }\n else {\n this.current.setPosition(this.information.getSize());\n }\n this.current.setIsoIec646();\n }\n return new BlockParsedResult(false);\n };\n GeneralAppIdDecoder.prototype.isStillIsoIec646 = function (pos) {\n if (pos + 5 > this.information.getSize()) {\n return false;\n }\n var fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue >= 5 && fiveBitValue < 16) {\n return true;\n }\n if (pos + 7 > this.information.getSize()) {\n return false;\n }\n var sevenBitValue = this.extractNumericValueFromBitArray(pos, 7);\n if (sevenBitValue >= 64 && sevenBitValue < 116) {\n return true;\n }\n if (pos + 8 > this.information.getSize()) {\n return false;\n }\n var eightBitValue = this.extractNumericValueFromBitArray(pos, 8);\n return eightBitValue >= 232 && eightBitValue < 253;\n };\n GeneralAppIdDecoder.prototype.decodeIsoIec646 = function (pos) {\n var fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue === 15) {\n return new DecodedChar(pos + 5, DecodedChar.FNC1);\n }\n if (fiveBitValue >= 5 && fiveBitValue < 15) {\n return new DecodedChar(pos + 5, ('0' + (fiveBitValue - 5)));\n }\n var sevenBitValue = this.extractNumericValueFromBitArray(pos, 7);\n if (sevenBitValue >= 64 && sevenBitValue < 90) {\n return new DecodedChar(pos + 7, ('' + (sevenBitValue + 1)));\n }\n if (sevenBitValue >= 90 && sevenBitValue < 116) {\n return new DecodedChar(pos + 7, ('' + (sevenBitValue + 7)));\n }\n var eightBitValue = this.extractNumericValueFromBitArray(pos, 8);\n var c;\n switch (eightBitValue) {\n case 232:\n c = '!';\n break;\n case 233:\n c = '\"';\n break;\n case 234:\n c = '%';\n break;\n case 235:\n c = '&';\n break;\n case 236:\n c = '\\'';\n break;\n case 237:\n c = '(';\n break;\n case 238:\n c = ')';\n break;\n case 239:\n c = '*';\n break;\n case 240:\n c = '+';\n break;\n case 241:\n c = ',';\n break;\n case 242:\n c = '-';\n break;\n case 243:\n c = '.';\n break;\n case 244:\n c = '/';\n break;\n case 245:\n c = ':';\n break;\n case 246:\n c = ';';\n break;\n case 247:\n c = '<';\n break;\n case 248:\n c = '=';\n break;\n case 249:\n c = '>';\n break;\n case 250:\n c = '?';\n break;\n case 251:\n c = '_';\n break;\n case 252:\n c = ' ';\n break;\n default:\n throw new FormatException();\n }\n return new DecodedChar(pos + 8, c);\n };\n GeneralAppIdDecoder.prototype.isStillAlpha = function (pos) {\n if (pos + 5 > this.information.getSize()) {\n return false;\n }\n // We now check if it's a valid 5-bit value (0..9 and FNC1)\n var fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue >= 5 && fiveBitValue < 16) {\n return true;\n }\n if (pos + 6 > this.information.getSize()) {\n return false;\n }\n var sixBitValue = this.extractNumericValueFromBitArray(pos, 6);\n return sixBitValue >= 16 && sixBitValue < 63; // 63 not included\n };\n GeneralAppIdDecoder.prototype.decodeAlphanumeric = function (pos) {\n var fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue === 15) {\n return new DecodedChar(pos + 5, DecodedChar.FNC1);\n }\n if (fiveBitValue >= 5 && fiveBitValue < 15) {\n return new DecodedChar(pos + 5, ('0' + (fiveBitValue - 5)));\n }\n var sixBitValue = this.extractNumericValueFromBitArray(pos, 6);\n if (sixBitValue >= 32 && sixBitValue < 58) {\n return new DecodedChar(pos + 6, ('' + (sixBitValue + 33)));\n }\n var c;\n switch (sixBitValue) {\n case 58:\n c = '*';\n break;\n case 59:\n c = ',';\n break;\n case 60:\n c = '-';\n break;\n case 61:\n c = '.';\n break;\n case 62:\n c = '/';\n break;\n default:\n throw new IllegalStateException('Decoding invalid alphanumeric value: ' + sixBitValue);\n }\n return new DecodedChar(pos + 6, c);\n };\n GeneralAppIdDecoder.prototype.isAlphaTo646ToAlphaLatch = function (pos) {\n if (pos + 1 > this.information.getSize()) {\n return false;\n }\n for (var i = 0; i < 5 && i + pos < this.information.getSize(); ++i) {\n if (i === 2) {\n if (!this.information.get(pos + 2)) {\n return false;\n }\n }\n else if (this.information.get(pos + i)) {\n return false;\n }\n }\n return true;\n };\n GeneralAppIdDecoder.prototype.isAlphaOr646ToNumericLatch = function (pos) {\n // Next is alphanumeric if there are 3 positions and they are all zeros\n if (pos + 3 > this.information.getSize()) {\n return false;\n }\n for (var i = pos; i < pos + 3; ++i) {\n if (this.information.get(i)) {\n return false;\n }\n }\n return true;\n };\n GeneralAppIdDecoder.prototype.isNumericToAlphaNumericLatch = function (pos) {\n // Next is alphanumeric if there are 4 positions and they are all zeros, or\n // if there is a subset of this just before the end of the symbol\n if (pos + 1 > this.information.getSize()) {\n return false;\n }\n for (var i = 0; i < 4 && i + pos < this.information.getSize(); ++i) {\n if (this.information.get(pos + i)) {\n return false;\n }\n }\n return true;\n };\n return GeneralAppIdDecoder;\n}());\nexport default GeneralAppIdDecoder;\n","/*\n* Copyright 2009 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n// package com.google.zxing.pdf417;\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// import java.util.Arrays;\nimport Arrays from '../util/Arrays';\n// import java.util.Collection;\n// import com.google.zxing.common.detector.MathUtils;\nimport MathUtils from '../common/detector/MathUtils';\n/**\n * @author SITA Lab (kevin.osullivan@sita.aero)\n * @author Guenther Grau\n */\nvar PDF417Common = /** @class */ (function () {\n function PDF417Common() {\n }\n PDF417Common.prototype.PDF417Common = function () {\n };\n /**\n * @param moduleBitCount values to sum\n * @return sum of values\n * @deprecated call {@link MathUtils#sum(int[])}\n */\n // @Deprecated\n PDF417Common.getBitCountSum = function (moduleBitCount) {\n return MathUtils.sum(moduleBitCount);\n };\n PDF417Common.toIntArray = function (list) {\n var e_1, _a;\n if (list == null || !list.length) {\n return PDF417Common.EMPTY_INT_ARRAY;\n }\n var result = new Int32Array(list.length);\n var i = 0;\n try {\n for (var list_1 = __values(list), list_1_1 = list_1.next(); !list_1_1.done; list_1_1 = list_1.next()) {\n var integer = list_1_1.value;\n result[i++] = integer;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (list_1_1 && !list_1_1.done && (_a = list_1.return)) _a.call(list_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return result;\n };\n /**\n * @param symbol encoded symbol to translate to a codeword\n * @return the codeword corresponding to the symbol.\n */\n PDF417Common.getCodeword = function (symbol /*int*/) {\n var i = Arrays.binarySearch(PDF417Common.SYMBOL_TABLE, symbol & 0x3FFFF);\n if (i < 0) {\n return -1;\n }\n return (PDF417Common.CODEWORD_TABLE[i] - 1) % PDF417Common.NUMBER_OF_CODEWORDS;\n };\n PDF417Common.NUMBER_OF_CODEWORDS = 929;\n // Maximum Codewords (Data + Error).\n PDF417Common.MAX_CODEWORDS_IN_BARCODE = PDF417Common.NUMBER_OF_CODEWORDS - 1;\n PDF417Common.MIN_ROWS_IN_BARCODE = 3;\n PDF417Common.MAX_ROWS_IN_BARCODE = 90;\n // One left row indication column + max 30 data columns + one right row indicator column\n // public static /*final*/ MAX_CODEWORDS_IN_ROW: /*int*/ number = 32;\n PDF417Common.MODULES_IN_CODEWORD = 17;\n PDF417Common.MODULES_IN_STOP_PATTERN = 18;\n PDF417Common.BARS_IN_MODULE = 8;\n PDF417Common.EMPTY_INT_ARRAY = new Int32Array([]);\n /**\n * The sorted table of all possible symbols. Extracted from the PDF417\n * specification. The index of a symbol in this table corresponds to the\n * index into the codeword table.\n */\n PDF417Common.SYMBOL_TABLE = Int32Array.from([\n 0x1025e, 0x1027a, 0x1029e, 0x102bc, 0x102f2, 0x102f4, 0x1032e, 0x1034e, 0x1035c, 0x10396, 0x103a6, 0x103ac,\n 0x10422, 0x10428, 0x10436, 0x10442, 0x10444, 0x10448, 0x10450, 0x1045e, 0x10466, 0x1046c, 0x1047a, 0x10482,\n 0x1049e, 0x104a0, 0x104bc, 0x104c6, 0x104d8, 0x104ee, 0x104f2, 0x104f4, 0x10504, 0x10508, 0x10510, 0x1051e,\n 0x10520, 0x1053c, 0x10540, 0x10578, 0x10586, 0x1058c, 0x10598, 0x105b0, 0x105be, 0x105ce, 0x105dc, 0x105e2,\n 0x105e4, 0x105e8, 0x105f6, 0x1062e, 0x1064e, 0x1065c, 0x1068e, 0x1069c, 0x106b8, 0x106de, 0x106fa, 0x10716,\n 0x10726, 0x1072c, 0x10746, 0x1074c, 0x10758, 0x1076e, 0x10792, 0x10794, 0x107a2, 0x107a4, 0x107a8, 0x107b6,\n 0x10822, 0x10828, 0x10842, 0x10848, 0x10850, 0x1085e, 0x10866, 0x1086c, 0x1087a, 0x10882, 0x10884, 0x10890,\n 0x1089e, 0x108a0, 0x108bc, 0x108c6, 0x108cc, 0x108d8, 0x108ee, 0x108f2, 0x108f4, 0x10902, 0x10908, 0x1091e,\n 0x10920, 0x1093c, 0x10940, 0x10978, 0x10986, 0x10998, 0x109b0, 0x109be, 0x109ce, 0x109dc, 0x109e2, 0x109e4,\n 0x109e8, 0x109f6, 0x10a08, 0x10a10, 0x10a1e, 0x10a20, 0x10a3c, 0x10a40, 0x10a78, 0x10af0, 0x10b06, 0x10b0c,\n 0x10b18, 0x10b30, 0x10b3e, 0x10b60, 0x10b7c, 0x10b8e, 0x10b9c, 0x10bb8, 0x10bc2, 0x10bc4, 0x10bc8, 0x10bd0,\n 0x10bde, 0x10be6, 0x10bec, 0x10c2e, 0x10c4e, 0x10c5c, 0x10c62, 0x10c64, 0x10c68, 0x10c76, 0x10c8e, 0x10c9c,\n 0x10cb8, 0x10cc2, 0x10cc4, 0x10cc8, 0x10cd0, 0x10cde, 0x10ce6, 0x10cec, 0x10cfa, 0x10d0e, 0x10d1c, 0x10d38,\n 0x10d70, 0x10d7e, 0x10d82, 0x10d84, 0x10d88, 0x10d90, 0x10d9e, 0x10da0, 0x10dbc, 0x10dc6, 0x10dcc, 0x10dd8,\n 0x10dee, 0x10df2, 0x10df4, 0x10e16, 0x10e26, 0x10e2c, 0x10e46, 0x10e58, 0x10e6e, 0x10e86, 0x10e8c, 0x10e98,\n 0x10eb0, 0x10ebe, 0x10ece, 0x10edc, 0x10f0a, 0x10f12, 0x10f14, 0x10f22, 0x10f28, 0x10f36, 0x10f42, 0x10f44,\n 0x10f48, 0x10f50, 0x10f5e, 0x10f66, 0x10f6c, 0x10fb2, 0x10fb4, 0x11022, 0x11028, 0x11042, 0x11048, 0x11050,\n 0x1105e, 0x1107a, 0x11082, 0x11084, 0x11090, 0x1109e, 0x110a0, 0x110bc, 0x110c6, 0x110cc, 0x110d8, 0x110ee,\n 0x110f2, 0x110f4, 0x11102, 0x1111e, 0x11120, 0x1113c, 0x11140, 0x11178, 0x11186, 0x11198, 0x111b0, 0x111be,\n 0x111ce, 0x111dc, 0x111e2, 0x111e4, 0x111e8, 0x111f6, 0x11208, 0x1121e, 0x11220, 0x11278, 0x112f0, 0x1130c,\n 0x11330, 0x1133e, 0x11360, 0x1137c, 0x1138e, 0x1139c, 0x113b8, 0x113c2, 0x113c8, 0x113d0, 0x113de, 0x113e6,\n 0x113ec, 0x11408, 0x11410, 0x1141e, 0x11420, 0x1143c, 0x11440, 0x11478, 0x114f0, 0x115e0, 0x1160c, 0x11618,\n 0x11630, 0x1163e, 0x11660, 0x1167c, 0x116c0, 0x116f8, 0x1171c, 0x11738, 0x11770, 0x1177e, 0x11782, 0x11784,\n 0x11788, 0x11790, 0x1179e, 0x117a0, 0x117bc, 0x117c6, 0x117cc, 0x117d8, 0x117ee, 0x1182e, 0x11834, 0x1184e,\n 0x1185c, 0x11862, 0x11864, 0x11868, 0x11876, 0x1188e, 0x1189c, 0x118b8, 0x118c2, 0x118c8, 0x118d0, 0x118de,\n 0x118e6, 0x118ec, 0x118fa, 0x1190e, 0x1191c, 0x11938, 0x11970, 0x1197e, 0x11982, 0x11984, 0x11990, 0x1199e,\n 0x119a0, 0x119bc, 0x119c6, 0x119cc, 0x119d8, 0x119ee, 0x119f2, 0x119f4, 0x11a0e, 0x11a1c, 0x11a38, 0x11a70,\n 0x11a7e, 0x11ae0, 0x11afc, 0x11b08, 0x11b10, 0x11b1e, 0x11b20, 0x11b3c, 0x11b40, 0x11b78, 0x11b8c, 0x11b98,\n 0x11bb0, 0x11bbe, 0x11bce, 0x11bdc, 0x11be2, 0x11be4, 0x11be8, 0x11bf6, 0x11c16, 0x11c26, 0x11c2c, 0x11c46,\n 0x11c4c, 0x11c58, 0x11c6e, 0x11c86, 0x11c98, 0x11cb0, 0x11cbe, 0x11cce, 0x11cdc, 0x11ce2, 0x11ce4, 0x11ce8,\n 0x11cf6, 0x11d06, 0x11d0c, 0x11d18, 0x11d30, 0x11d3e, 0x11d60, 0x11d7c, 0x11d8e, 0x11d9c, 0x11db8, 0x11dc4,\n 0x11dc8, 0x11dd0, 0x11dde, 0x11de6, 0x11dec, 0x11dfa, 0x11e0a, 0x11e12, 0x11e14, 0x11e22, 0x11e24, 0x11e28,\n 0x11e36, 0x11e42, 0x11e44, 0x11e50, 0x11e5e, 0x11e66, 0x11e6c, 0x11e82, 0x11e84, 0x11e88, 0x11e90, 0x11e9e,\n 0x11ea0, 0x11ebc, 0x11ec6, 0x11ecc, 0x11ed8, 0x11eee, 0x11f1a, 0x11f2e, 0x11f32, 0x11f34, 0x11f4e, 0x11f5c,\n 0x11f62, 0x11f64, 0x11f68, 0x11f76, 0x12048, 0x1205e, 0x12082, 0x12084, 0x12090, 0x1209e, 0x120a0, 0x120bc,\n 0x120d8, 0x120f2, 0x120f4, 0x12108, 0x1211e, 0x12120, 0x1213c, 0x12140, 0x12178, 0x12186, 0x12198, 0x121b0,\n 0x121be, 0x121e2, 0x121e4, 0x121e8, 0x121f6, 0x12204, 0x12210, 0x1221e, 0x12220, 0x12278, 0x122f0, 0x12306,\n 0x1230c, 0x12330, 0x1233e, 0x12360, 0x1237c, 0x1238e, 0x1239c, 0x123b8, 0x123c2, 0x123c8, 0x123d0, 0x123e6,\n 0x123ec, 0x1241e, 0x12420, 0x1243c, 0x124f0, 0x125e0, 0x12618, 0x1263e, 0x12660, 0x1267c, 0x126c0, 0x126f8,\n 0x12738, 0x12770, 0x1277e, 0x12782, 0x12784, 0x12790, 0x1279e, 0x127a0, 0x127bc, 0x127c6, 0x127cc, 0x127d8,\n 0x127ee, 0x12820, 0x1283c, 0x12840, 0x12878, 0x128f0, 0x129e0, 0x12bc0, 0x12c18, 0x12c30, 0x12c3e, 0x12c60,\n 0x12c7c, 0x12cc0, 0x12cf8, 0x12df0, 0x12e1c, 0x12e38, 0x12e70, 0x12e7e, 0x12ee0, 0x12efc, 0x12f04, 0x12f08,\n 0x12f10, 0x12f20, 0x12f3c, 0x12f40, 0x12f78, 0x12f86, 0x12f8c, 0x12f98, 0x12fb0, 0x12fbe, 0x12fce, 0x12fdc,\n 0x1302e, 0x1304e, 0x1305c, 0x13062, 0x13068, 0x1308e, 0x1309c, 0x130b8, 0x130c2, 0x130c8, 0x130d0, 0x130de,\n 0x130ec, 0x130fa, 0x1310e, 0x13138, 0x13170, 0x1317e, 0x13182, 0x13184, 0x13190, 0x1319e, 0x131a0, 0x131bc,\n 0x131c6, 0x131cc, 0x131d8, 0x131f2, 0x131f4, 0x1320e, 0x1321c, 0x13270, 0x1327e, 0x132e0, 0x132fc, 0x13308,\n 0x1331e, 0x13320, 0x1333c, 0x13340, 0x13378, 0x13386, 0x13398, 0x133b0, 0x133be, 0x133ce, 0x133dc, 0x133e2,\n 0x133e4, 0x133e8, 0x133f6, 0x1340e, 0x1341c, 0x13438, 0x13470, 0x1347e, 0x134e0, 0x134fc, 0x135c0, 0x135f8,\n 0x13608, 0x13610, 0x1361e, 0x13620, 0x1363c, 0x13640, 0x13678, 0x136f0, 0x1370c, 0x13718, 0x13730, 0x1373e,\n 0x13760, 0x1377c, 0x1379c, 0x137b8, 0x137c2, 0x137c4, 0x137c8, 0x137d0, 0x137de, 0x137e6, 0x137ec, 0x13816,\n 0x13826, 0x1382c, 0x13846, 0x1384c, 0x13858, 0x1386e, 0x13874, 0x13886, 0x13898, 0x138b0, 0x138be, 0x138ce,\n 0x138dc, 0x138e2, 0x138e4, 0x138e8, 0x13906, 0x1390c, 0x13930, 0x1393e, 0x13960, 0x1397c, 0x1398e, 0x1399c,\n 0x139b8, 0x139c8, 0x139d0, 0x139de, 0x139e6, 0x139ec, 0x139fa, 0x13a06, 0x13a0c, 0x13a18, 0x13a30, 0x13a3e,\n 0x13a60, 0x13a7c, 0x13ac0, 0x13af8, 0x13b0e, 0x13b1c, 0x13b38, 0x13b70, 0x13b7e, 0x13b88, 0x13b90, 0x13b9e,\n 0x13ba0, 0x13bbc, 0x13bcc, 0x13bd8, 0x13bee, 0x13bf2, 0x13bf4, 0x13c12, 0x13c14, 0x13c22, 0x13c24, 0x13c28,\n 0x13c36, 0x13c42, 0x13c48, 0x13c50, 0x13c5e, 0x13c66, 0x13c6c, 0x13c82, 0x13c84, 0x13c90, 0x13c9e, 0x13ca0,\n 0x13cbc, 0x13cc6, 0x13ccc, 0x13cd8, 0x13cee, 0x13d02, 0x13d04, 0x13d08, 0x13d10, 0x13d1e, 0x13d20, 0x13d3c,\n 0x13d40, 0x13d78, 0x13d86, 0x13d8c, 0x13d98, 0x13db0, 0x13dbe, 0x13dce, 0x13ddc, 0x13de4, 0x13de8, 0x13df6,\n 0x13e1a, 0x13e2e, 0x13e32, 0x13e34, 0x13e4e, 0x13e5c, 0x13e62, 0x13e64, 0x13e68, 0x13e76, 0x13e8e, 0x13e9c,\n 0x13eb8, 0x13ec2, 0x13ec4, 0x13ec8, 0x13ed0, 0x13ede, 0x13ee6, 0x13eec, 0x13f26, 0x13f2c, 0x13f3a, 0x13f46,\n 0x13f4c, 0x13f58, 0x13f6e, 0x13f72, 0x13f74, 0x14082, 0x1409e, 0x140a0, 0x140bc, 0x14104, 0x14108, 0x14110,\n 0x1411e, 0x14120, 0x1413c, 0x14140, 0x14178, 0x1418c, 0x14198, 0x141b0, 0x141be, 0x141e2, 0x141e4, 0x141e8,\n 0x14208, 0x14210, 0x1421e, 0x14220, 0x1423c, 0x14240, 0x14278, 0x142f0, 0x14306, 0x1430c, 0x14318, 0x14330,\n 0x1433e, 0x14360, 0x1437c, 0x1438e, 0x143c2, 0x143c4, 0x143c8, 0x143d0, 0x143e6, 0x143ec, 0x14408, 0x14410,\n 0x1441e, 0x14420, 0x1443c, 0x14440, 0x14478, 0x144f0, 0x145e0, 0x1460c, 0x14618, 0x14630, 0x1463e, 0x14660,\n 0x1467c, 0x146c0, 0x146f8, 0x1471c, 0x14738, 0x14770, 0x1477e, 0x14782, 0x14784, 0x14788, 0x14790, 0x147a0,\n 0x147bc, 0x147c6, 0x147cc, 0x147d8, 0x147ee, 0x14810, 0x14820, 0x1483c, 0x14840, 0x14878, 0x148f0, 0x149e0,\n 0x14bc0, 0x14c30, 0x14c3e, 0x14c60, 0x14c7c, 0x14cc0, 0x14cf8, 0x14df0, 0x14e38, 0x14e70, 0x14e7e, 0x14ee0,\n 0x14efc, 0x14f04, 0x14f08, 0x14f10, 0x14f1e, 0x14f20, 0x14f3c, 0x14f40, 0x14f78, 0x14f86, 0x14f8c, 0x14f98,\n 0x14fb0, 0x14fce, 0x14fdc, 0x15020, 0x15040, 0x15078, 0x150f0, 0x151e0, 0x153c0, 0x15860, 0x1587c, 0x158c0,\n 0x158f8, 0x159f0, 0x15be0, 0x15c70, 0x15c7e, 0x15ce0, 0x15cfc, 0x15dc0, 0x15df8, 0x15e08, 0x15e10, 0x15e20,\n 0x15e40, 0x15e78, 0x15ef0, 0x15f0c, 0x15f18, 0x15f30, 0x15f60, 0x15f7c, 0x15f8e, 0x15f9c, 0x15fb8, 0x1604e,\n 0x1605c, 0x1608e, 0x1609c, 0x160b8, 0x160c2, 0x160c4, 0x160c8, 0x160de, 0x1610e, 0x1611c, 0x16138, 0x16170,\n 0x1617e, 0x16184, 0x16188, 0x16190, 0x1619e, 0x161a0, 0x161bc, 0x161c6, 0x161cc, 0x161d8, 0x161f2, 0x161f4,\n 0x1620e, 0x1621c, 0x16238, 0x16270, 0x1627e, 0x162e0, 0x162fc, 0x16304, 0x16308, 0x16310, 0x1631e, 0x16320,\n 0x1633c, 0x16340, 0x16378, 0x16386, 0x1638c, 0x16398, 0x163b0, 0x163be, 0x163ce, 0x163dc, 0x163e2, 0x163e4,\n 0x163e8, 0x163f6, 0x1640e, 0x1641c, 0x16438, 0x16470, 0x1647e, 0x164e0, 0x164fc, 0x165c0, 0x165f8, 0x16610,\n 0x1661e, 0x16620, 0x1663c, 0x16640, 0x16678, 0x166f0, 0x16718, 0x16730, 0x1673e, 0x16760, 0x1677c, 0x1678e,\n 0x1679c, 0x167b8, 0x167c2, 0x167c4, 0x167c8, 0x167d0, 0x167de, 0x167e6, 0x167ec, 0x1681c, 0x16838, 0x16870,\n 0x168e0, 0x168fc, 0x169c0, 0x169f8, 0x16bf0, 0x16c10, 0x16c1e, 0x16c20, 0x16c3c, 0x16c40, 0x16c78, 0x16cf0,\n 0x16de0, 0x16e18, 0x16e30, 0x16e3e, 0x16e60, 0x16e7c, 0x16ec0, 0x16ef8, 0x16f1c, 0x16f38, 0x16f70, 0x16f7e,\n 0x16f84, 0x16f88, 0x16f90, 0x16f9e, 0x16fa0, 0x16fbc, 0x16fc6, 0x16fcc, 0x16fd8, 0x17026, 0x1702c, 0x17046,\n 0x1704c, 0x17058, 0x1706e, 0x17086, 0x1708c, 0x17098, 0x170b0, 0x170be, 0x170ce, 0x170dc, 0x170e8, 0x17106,\n 0x1710c, 0x17118, 0x17130, 0x1713e, 0x17160, 0x1717c, 0x1718e, 0x1719c, 0x171b8, 0x171c2, 0x171c4, 0x171c8,\n 0x171d0, 0x171de, 0x171e6, 0x171ec, 0x171fa, 0x17206, 0x1720c, 0x17218, 0x17230, 0x1723e, 0x17260, 0x1727c,\n 0x172c0, 0x172f8, 0x1730e, 0x1731c, 0x17338, 0x17370, 0x1737e, 0x17388, 0x17390, 0x1739e, 0x173a0, 0x173bc,\n 0x173cc, 0x173d8, 0x173ee, 0x173f2, 0x173f4, 0x1740c, 0x17418, 0x17430, 0x1743e, 0x17460, 0x1747c, 0x174c0,\n 0x174f8, 0x175f0, 0x1760e, 0x1761c, 0x17638, 0x17670, 0x1767e, 0x176e0, 0x176fc, 0x17708, 0x17710, 0x1771e,\n 0x17720, 0x1773c, 0x17740, 0x17778, 0x17798, 0x177b0, 0x177be, 0x177dc, 0x177e2, 0x177e4, 0x177e8, 0x17822,\n 0x17824, 0x17828, 0x17836, 0x17842, 0x17844, 0x17848, 0x17850, 0x1785e, 0x17866, 0x1786c, 0x17882, 0x17884,\n 0x17888, 0x17890, 0x1789e, 0x178a0, 0x178bc, 0x178c6, 0x178cc, 0x178d8, 0x178ee, 0x178f2, 0x178f4, 0x17902,\n 0x17904, 0x17908, 0x17910, 0x1791e, 0x17920, 0x1793c, 0x17940, 0x17978, 0x17986, 0x1798c, 0x17998, 0x179b0,\n 0x179be, 0x179ce, 0x179dc, 0x179e2, 0x179e4, 0x179e8, 0x179f6, 0x17a04, 0x17a08, 0x17a10, 0x17a1e, 0x17a20,\n 0x17a3c, 0x17a40, 0x17a78, 0x17af0, 0x17b06, 0x17b0c, 0x17b18, 0x17b30, 0x17b3e, 0x17b60, 0x17b7c, 0x17b8e,\n 0x17b9c, 0x17bb8, 0x17bc4, 0x17bc8, 0x17bd0, 0x17bde, 0x17be6, 0x17bec, 0x17c2e, 0x17c32, 0x17c34, 0x17c4e,\n 0x17c5c, 0x17c62, 0x17c64, 0x17c68, 0x17c76, 0x17c8e, 0x17c9c, 0x17cb8, 0x17cc2, 0x17cc4, 0x17cc8, 0x17cd0,\n 0x17cde, 0x17ce6, 0x17cec, 0x17d0e, 0x17d1c, 0x17d38, 0x17d70, 0x17d82, 0x17d84, 0x17d88, 0x17d90, 0x17d9e,\n 0x17da0, 0x17dbc, 0x17dc6, 0x17dcc, 0x17dd8, 0x17dee, 0x17e26, 0x17e2c, 0x17e3a, 0x17e46, 0x17e4c, 0x17e58,\n 0x17e6e, 0x17e72, 0x17e74, 0x17e86, 0x17e8c, 0x17e98, 0x17eb0, 0x17ece, 0x17edc, 0x17ee2, 0x17ee4, 0x17ee8,\n 0x17ef6, 0x1813a, 0x18172, 0x18174, 0x18216, 0x18226, 0x1823a, 0x1824c, 0x18258, 0x1826e, 0x18272, 0x18274,\n 0x18298, 0x182be, 0x182e2, 0x182e4, 0x182e8, 0x182f6, 0x1835e, 0x1837a, 0x183ae, 0x183d6, 0x18416, 0x18426,\n 0x1842c, 0x1843a, 0x18446, 0x18458, 0x1846e, 0x18472, 0x18474, 0x18486, 0x184b0, 0x184be, 0x184ce, 0x184dc,\n 0x184e2, 0x184e4, 0x184e8, 0x184f6, 0x18506, 0x1850c, 0x18518, 0x18530, 0x1853e, 0x18560, 0x1857c, 0x1858e,\n 0x1859c, 0x185b8, 0x185c2, 0x185c4, 0x185c8, 0x185d0, 0x185de, 0x185e6, 0x185ec, 0x185fa, 0x18612, 0x18614,\n 0x18622, 0x18628, 0x18636, 0x18642, 0x18650, 0x1865e, 0x1867a, 0x18682, 0x18684, 0x18688, 0x18690, 0x1869e,\n 0x186a0, 0x186bc, 0x186c6, 0x186cc, 0x186d8, 0x186ee, 0x186f2, 0x186f4, 0x1872e, 0x1874e, 0x1875c, 0x18796,\n 0x187a6, 0x187ac, 0x187d2, 0x187d4, 0x18826, 0x1882c, 0x1883a, 0x18846, 0x1884c, 0x18858, 0x1886e, 0x18872,\n 0x18874, 0x18886, 0x18898, 0x188b0, 0x188be, 0x188ce, 0x188dc, 0x188e2, 0x188e4, 0x188e8, 0x188f6, 0x1890c,\n 0x18930, 0x1893e, 0x18960, 0x1897c, 0x1898e, 0x189b8, 0x189c2, 0x189c8, 0x189d0, 0x189de, 0x189e6, 0x189ec,\n 0x189fa, 0x18a18, 0x18a30, 0x18a3e, 0x18a60, 0x18a7c, 0x18ac0, 0x18af8, 0x18b1c, 0x18b38, 0x18b70, 0x18b7e,\n 0x18b82, 0x18b84, 0x18b88, 0x18b90, 0x18b9e, 0x18ba0, 0x18bbc, 0x18bc6, 0x18bcc, 0x18bd8, 0x18bee, 0x18bf2,\n 0x18bf4, 0x18c22, 0x18c24, 0x18c28, 0x18c36, 0x18c42, 0x18c48, 0x18c50, 0x18c5e, 0x18c66, 0x18c7a, 0x18c82,\n 0x18c84, 0x18c90, 0x18c9e, 0x18ca0, 0x18cbc, 0x18ccc, 0x18cf2, 0x18cf4, 0x18d04, 0x18d08, 0x18d10, 0x18d1e,\n 0x18d20, 0x18d3c, 0x18d40, 0x18d78, 0x18d86, 0x18d98, 0x18dce, 0x18de2, 0x18de4, 0x18de8, 0x18e2e, 0x18e32,\n 0x18e34, 0x18e4e, 0x18e5c, 0x18e62, 0x18e64, 0x18e68, 0x18e8e, 0x18e9c, 0x18eb8, 0x18ec2, 0x18ec4, 0x18ec8,\n 0x18ed0, 0x18efa, 0x18f16, 0x18f26, 0x18f2c, 0x18f46, 0x18f4c, 0x18f58, 0x18f6e, 0x18f8a, 0x18f92, 0x18f94,\n 0x18fa2, 0x18fa4, 0x18fa8, 0x18fb6, 0x1902c, 0x1903a, 0x19046, 0x1904c, 0x19058, 0x19072, 0x19074, 0x19086,\n 0x19098, 0x190b0, 0x190be, 0x190ce, 0x190dc, 0x190e2, 0x190e8, 0x190f6, 0x19106, 0x1910c, 0x19130, 0x1913e,\n 0x19160, 0x1917c, 0x1918e, 0x1919c, 0x191b8, 0x191c2, 0x191c8, 0x191d0, 0x191de, 0x191e6, 0x191ec, 0x191fa,\n 0x19218, 0x1923e, 0x19260, 0x1927c, 0x192c0, 0x192f8, 0x19338, 0x19370, 0x1937e, 0x19382, 0x19384, 0x19390,\n 0x1939e, 0x193a0, 0x193bc, 0x193c6, 0x193cc, 0x193d8, 0x193ee, 0x193f2, 0x193f4, 0x19430, 0x1943e, 0x19460,\n 0x1947c, 0x194c0, 0x194f8, 0x195f0, 0x19638, 0x19670, 0x1967e, 0x196e0, 0x196fc, 0x19702, 0x19704, 0x19708,\n 0x19710, 0x19720, 0x1973c, 0x19740, 0x19778, 0x19786, 0x1978c, 0x19798, 0x197b0, 0x197be, 0x197ce, 0x197dc,\n 0x197e2, 0x197e4, 0x197e8, 0x19822, 0x19824, 0x19842, 0x19848, 0x19850, 0x1985e, 0x19866, 0x1987a, 0x19882,\n 0x19884, 0x19890, 0x1989e, 0x198a0, 0x198bc, 0x198cc, 0x198f2, 0x198f4, 0x19902, 0x19908, 0x1991e, 0x19920,\n 0x1993c, 0x19940, 0x19978, 0x19986, 0x19998, 0x199ce, 0x199e2, 0x199e4, 0x199e8, 0x19a08, 0x19a10, 0x19a1e,\n 0x19a20, 0x19a3c, 0x19a40, 0x19a78, 0x19af0, 0x19b18, 0x19b3e, 0x19b60, 0x19b9c, 0x19bc2, 0x19bc4, 0x19bc8,\n 0x19bd0, 0x19be6, 0x19c2e, 0x19c34, 0x19c4e, 0x19c5c, 0x19c62, 0x19c64, 0x19c68, 0x19c8e, 0x19c9c, 0x19cb8,\n 0x19cc2, 0x19cc8, 0x19cd0, 0x19ce6, 0x19cfa, 0x19d0e, 0x19d1c, 0x19d38, 0x19d70, 0x19d7e, 0x19d82, 0x19d84,\n 0x19d88, 0x19d90, 0x19da0, 0x19dcc, 0x19df2, 0x19df4, 0x19e16, 0x19e26, 0x19e2c, 0x19e46, 0x19e4c, 0x19e58,\n 0x19e74, 0x19e86, 0x19e8c, 0x19e98, 0x19eb0, 0x19ebe, 0x19ece, 0x19ee2, 0x19ee4, 0x19ee8, 0x19f0a, 0x19f12,\n 0x19f14, 0x19f22, 0x19f24, 0x19f28, 0x19f42, 0x19f44, 0x19f48, 0x19f50, 0x19f5e, 0x19f6c, 0x19f9a, 0x19fae,\n 0x19fb2, 0x19fb4, 0x1a046, 0x1a04c, 0x1a072, 0x1a074, 0x1a086, 0x1a08c, 0x1a098, 0x1a0b0, 0x1a0be, 0x1a0e2,\n 0x1a0e4, 0x1a0e8, 0x1a0f6, 0x1a106, 0x1a10c, 0x1a118, 0x1a130, 0x1a13e, 0x1a160, 0x1a17c, 0x1a18e, 0x1a19c,\n 0x1a1b8, 0x1a1c2, 0x1a1c4, 0x1a1c8, 0x1a1d0, 0x1a1de, 0x1a1e6, 0x1a1ec, 0x1a218, 0x1a230, 0x1a23e, 0x1a260,\n 0x1a27c, 0x1a2c0, 0x1a2f8, 0x1a31c, 0x1a338, 0x1a370, 0x1a37e, 0x1a382, 0x1a384, 0x1a388, 0x1a390, 0x1a39e,\n 0x1a3a0, 0x1a3bc, 0x1a3c6, 0x1a3cc, 0x1a3d8, 0x1a3ee, 0x1a3f2, 0x1a3f4, 0x1a418, 0x1a430, 0x1a43e, 0x1a460,\n 0x1a47c, 0x1a4c0, 0x1a4f8, 0x1a5f0, 0x1a61c, 0x1a638, 0x1a670, 0x1a67e, 0x1a6e0, 0x1a6fc, 0x1a702, 0x1a704,\n 0x1a708, 0x1a710, 0x1a71e, 0x1a720, 0x1a73c, 0x1a740, 0x1a778, 0x1a786, 0x1a78c, 0x1a798, 0x1a7b0, 0x1a7be,\n 0x1a7ce, 0x1a7dc, 0x1a7e2, 0x1a7e4, 0x1a7e8, 0x1a830, 0x1a860, 0x1a87c, 0x1a8c0, 0x1a8f8, 0x1a9f0, 0x1abe0,\n 0x1ac70, 0x1ac7e, 0x1ace0, 0x1acfc, 0x1adc0, 0x1adf8, 0x1ae04, 0x1ae08, 0x1ae10, 0x1ae20, 0x1ae3c, 0x1ae40,\n 0x1ae78, 0x1aef0, 0x1af06, 0x1af0c, 0x1af18, 0x1af30, 0x1af3e, 0x1af60, 0x1af7c, 0x1af8e, 0x1af9c, 0x1afb8,\n 0x1afc4, 0x1afc8, 0x1afd0, 0x1afde, 0x1b042, 0x1b05e, 0x1b07a, 0x1b082, 0x1b084, 0x1b088, 0x1b090, 0x1b09e,\n 0x1b0a0, 0x1b0bc, 0x1b0cc, 0x1b0f2, 0x1b0f4, 0x1b102, 0x1b104, 0x1b108, 0x1b110, 0x1b11e, 0x1b120, 0x1b13c,\n 0x1b140, 0x1b178, 0x1b186, 0x1b198, 0x1b1ce, 0x1b1e2, 0x1b1e4, 0x1b1e8, 0x1b204, 0x1b208, 0x1b210, 0x1b21e,\n 0x1b220, 0x1b23c, 0x1b240, 0x1b278, 0x1b2f0, 0x1b30c, 0x1b33e, 0x1b360, 0x1b39c, 0x1b3c2, 0x1b3c4, 0x1b3c8,\n 0x1b3d0, 0x1b3e6, 0x1b410, 0x1b41e, 0x1b420, 0x1b43c, 0x1b440, 0x1b478, 0x1b4f0, 0x1b5e0, 0x1b618, 0x1b660,\n 0x1b67c, 0x1b6c0, 0x1b738, 0x1b782, 0x1b784, 0x1b788, 0x1b790, 0x1b79e, 0x1b7a0, 0x1b7cc, 0x1b82e, 0x1b84e,\n 0x1b85c, 0x1b88e, 0x1b89c, 0x1b8b8, 0x1b8c2, 0x1b8c4, 0x1b8c8, 0x1b8d0, 0x1b8e6, 0x1b8fa, 0x1b90e, 0x1b91c,\n 0x1b938, 0x1b970, 0x1b97e, 0x1b982, 0x1b984, 0x1b988, 0x1b990, 0x1b99e, 0x1b9a0, 0x1b9cc, 0x1b9f2, 0x1b9f4,\n 0x1ba0e, 0x1ba1c, 0x1ba38, 0x1ba70, 0x1ba7e, 0x1bae0, 0x1bafc, 0x1bb08, 0x1bb10, 0x1bb20, 0x1bb3c, 0x1bb40,\n 0x1bb98, 0x1bbce, 0x1bbe2, 0x1bbe4, 0x1bbe8, 0x1bc16, 0x1bc26, 0x1bc2c, 0x1bc46, 0x1bc4c, 0x1bc58, 0x1bc72,\n 0x1bc74, 0x1bc86, 0x1bc8c, 0x1bc98, 0x1bcb0, 0x1bcbe, 0x1bcce, 0x1bce2, 0x1bce4, 0x1bce8, 0x1bd06, 0x1bd0c,\n 0x1bd18, 0x1bd30, 0x1bd3e, 0x1bd60, 0x1bd7c, 0x1bd9c, 0x1bdc2, 0x1bdc4, 0x1bdc8, 0x1bdd0, 0x1bde6, 0x1bdfa,\n 0x1be12, 0x1be14, 0x1be22, 0x1be24, 0x1be28, 0x1be42, 0x1be44, 0x1be48, 0x1be50, 0x1be5e, 0x1be66, 0x1be82,\n 0x1be84, 0x1be88, 0x1be90, 0x1be9e, 0x1bea0, 0x1bebc, 0x1becc, 0x1bef4, 0x1bf1a, 0x1bf2e, 0x1bf32, 0x1bf34,\n 0x1bf4e, 0x1bf5c, 0x1bf62, 0x1bf64, 0x1bf68, 0x1c09a, 0x1c0b2, 0x1c0b4, 0x1c11a, 0x1c132, 0x1c134, 0x1c162,\n 0x1c164, 0x1c168, 0x1c176, 0x1c1ba, 0x1c21a, 0x1c232, 0x1c234, 0x1c24e, 0x1c25c, 0x1c262, 0x1c264, 0x1c268,\n 0x1c276, 0x1c28e, 0x1c2c2, 0x1c2c4, 0x1c2c8, 0x1c2d0, 0x1c2de, 0x1c2e6, 0x1c2ec, 0x1c2fa, 0x1c316, 0x1c326,\n 0x1c33a, 0x1c346, 0x1c34c, 0x1c372, 0x1c374, 0x1c41a, 0x1c42e, 0x1c432, 0x1c434, 0x1c44e, 0x1c45c, 0x1c462,\n 0x1c464, 0x1c468, 0x1c476, 0x1c48e, 0x1c49c, 0x1c4b8, 0x1c4c2, 0x1c4c8, 0x1c4d0, 0x1c4de, 0x1c4e6, 0x1c4ec,\n 0x1c4fa, 0x1c51c, 0x1c538, 0x1c570, 0x1c57e, 0x1c582, 0x1c584, 0x1c588, 0x1c590, 0x1c59e, 0x1c5a0, 0x1c5bc,\n 0x1c5c6, 0x1c5cc, 0x1c5d8, 0x1c5ee, 0x1c5f2, 0x1c5f4, 0x1c616, 0x1c626, 0x1c62c, 0x1c63a, 0x1c646, 0x1c64c,\n 0x1c658, 0x1c66e, 0x1c672, 0x1c674, 0x1c686, 0x1c68c, 0x1c698, 0x1c6b0, 0x1c6be, 0x1c6ce, 0x1c6dc, 0x1c6e2,\n 0x1c6e4, 0x1c6e8, 0x1c712, 0x1c714, 0x1c722, 0x1c728, 0x1c736, 0x1c742, 0x1c744, 0x1c748, 0x1c750, 0x1c75e,\n 0x1c766, 0x1c76c, 0x1c77a, 0x1c7ae, 0x1c7d6, 0x1c7ea, 0x1c81a, 0x1c82e, 0x1c832, 0x1c834, 0x1c84e, 0x1c85c,\n 0x1c862, 0x1c864, 0x1c868, 0x1c876, 0x1c88e, 0x1c89c, 0x1c8b8, 0x1c8c2, 0x1c8c8, 0x1c8d0, 0x1c8de, 0x1c8e6,\n 0x1c8ec, 0x1c8fa, 0x1c90e, 0x1c938, 0x1c970, 0x1c97e, 0x1c982, 0x1c984, 0x1c990, 0x1c99e, 0x1c9a0, 0x1c9bc,\n 0x1c9c6, 0x1c9cc, 0x1c9d8, 0x1c9ee, 0x1c9f2, 0x1c9f4, 0x1ca38, 0x1ca70, 0x1ca7e, 0x1cae0, 0x1cafc, 0x1cb02,\n 0x1cb04, 0x1cb08, 0x1cb10, 0x1cb20, 0x1cb3c, 0x1cb40, 0x1cb78, 0x1cb86, 0x1cb8c, 0x1cb98, 0x1cbb0, 0x1cbbe,\n 0x1cbce, 0x1cbdc, 0x1cbe2, 0x1cbe4, 0x1cbe8, 0x1cbf6, 0x1cc16, 0x1cc26, 0x1cc2c, 0x1cc3a, 0x1cc46, 0x1cc58,\n 0x1cc72, 0x1cc74, 0x1cc86, 0x1ccb0, 0x1ccbe, 0x1ccce, 0x1cce2, 0x1cce4, 0x1cce8, 0x1cd06, 0x1cd0c, 0x1cd18,\n 0x1cd30, 0x1cd3e, 0x1cd60, 0x1cd7c, 0x1cd9c, 0x1cdc2, 0x1cdc4, 0x1cdc8, 0x1cdd0, 0x1cdde, 0x1cde6, 0x1cdfa,\n 0x1ce22, 0x1ce28, 0x1ce42, 0x1ce50, 0x1ce5e, 0x1ce66, 0x1ce7a, 0x1ce82, 0x1ce84, 0x1ce88, 0x1ce90, 0x1ce9e,\n 0x1cea0, 0x1cebc, 0x1cecc, 0x1cef2, 0x1cef4, 0x1cf2e, 0x1cf32, 0x1cf34, 0x1cf4e, 0x1cf5c, 0x1cf62, 0x1cf64,\n 0x1cf68, 0x1cf96, 0x1cfa6, 0x1cfac, 0x1cfca, 0x1cfd2, 0x1cfd4, 0x1d02e, 0x1d032, 0x1d034, 0x1d04e, 0x1d05c,\n 0x1d062, 0x1d064, 0x1d068, 0x1d076, 0x1d08e, 0x1d09c, 0x1d0b8, 0x1d0c2, 0x1d0c4, 0x1d0c8, 0x1d0d0, 0x1d0de,\n 0x1d0e6, 0x1d0ec, 0x1d0fa, 0x1d11c, 0x1d138, 0x1d170, 0x1d17e, 0x1d182, 0x1d184, 0x1d188, 0x1d190, 0x1d19e,\n 0x1d1a0, 0x1d1bc, 0x1d1c6, 0x1d1cc, 0x1d1d8, 0x1d1ee, 0x1d1f2, 0x1d1f4, 0x1d21c, 0x1d238, 0x1d270, 0x1d27e,\n 0x1d2e0, 0x1d2fc, 0x1d302, 0x1d304, 0x1d308, 0x1d310, 0x1d31e, 0x1d320, 0x1d33c, 0x1d340, 0x1d378, 0x1d386,\n 0x1d38c, 0x1d398, 0x1d3b0, 0x1d3be, 0x1d3ce, 0x1d3dc, 0x1d3e2, 0x1d3e4, 0x1d3e8, 0x1d3f6, 0x1d470, 0x1d47e,\n 0x1d4e0, 0x1d4fc, 0x1d5c0, 0x1d5f8, 0x1d604, 0x1d608, 0x1d610, 0x1d620, 0x1d640, 0x1d678, 0x1d6f0, 0x1d706,\n 0x1d70c, 0x1d718, 0x1d730, 0x1d73e, 0x1d760, 0x1d77c, 0x1d78e, 0x1d79c, 0x1d7b8, 0x1d7c2, 0x1d7c4, 0x1d7c8,\n 0x1d7d0, 0x1d7de, 0x1d7e6, 0x1d7ec, 0x1d826, 0x1d82c, 0x1d83a, 0x1d846, 0x1d84c, 0x1d858, 0x1d872, 0x1d874,\n 0x1d886, 0x1d88c, 0x1d898, 0x1d8b0, 0x1d8be, 0x1d8ce, 0x1d8e2, 0x1d8e4, 0x1d8e8, 0x1d8f6, 0x1d90c, 0x1d918,\n 0x1d930, 0x1d93e, 0x1d960, 0x1d97c, 0x1d99c, 0x1d9c2, 0x1d9c4, 0x1d9c8, 0x1d9d0, 0x1d9e6, 0x1d9fa, 0x1da0c,\n 0x1da18, 0x1da30, 0x1da3e, 0x1da60, 0x1da7c, 0x1dac0, 0x1daf8, 0x1db38, 0x1db82, 0x1db84, 0x1db88, 0x1db90,\n 0x1db9e, 0x1dba0, 0x1dbcc, 0x1dbf2, 0x1dbf4, 0x1dc22, 0x1dc42, 0x1dc44, 0x1dc48, 0x1dc50, 0x1dc5e, 0x1dc66,\n 0x1dc7a, 0x1dc82, 0x1dc84, 0x1dc88, 0x1dc90, 0x1dc9e, 0x1dca0, 0x1dcbc, 0x1dccc, 0x1dcf2, 0x1dcf4, 0x1dd04,\n 0x1dd08, 0x1dd10, 0x1dd1e, 0x1dd20, 0x1dd3c, 0x1dd40, 0x1dd78, 0x1dd86, 0x1dd98, 0x1ddce, 0x1dde2, 0x1dde4,\n 0x1dde8, 0x1de2e, 0x1de32, 0x1de34, 0x1de4e, 0x1de5c, 0x1de62, 0x1de64, 0x1de68, 0x1de8e, 0x1de9c, 0x1deb8,\n 0x1dec2, 0x1dec4, 0x1dec8, 0x1ded0, 0x1dee6, 0x1defa, 0x1df16, 0x1df26, 0x1df2c, 0x1df46, 0x1df4c, 0x1df58,\n 0x1df72, 0x1df74, 0x1df8a, 0x1df92, 0x1df94, 0x1dfa2, 0x1dfa4, 0x1dfa8, 0x1e08a, 0x1e092, 0x1e094, 0x1e0a2,\n 0x1e0a4, 0x1e0a8, 0x1e0b6, 0x1e0da, 0x1e10a, 0x1e112, 0x1e114, 0x1e122, 0x1e124, 0x1e128, 0x1e136, 0x1e142,\n 0x1e144, 0x1e148, 0x1e150, 0x1e166, 0x1e16c, 0x1e17a, 0x1e19a, 0x1e1b2, 0x1e1b4, 0x1e20a, 0x1e212, 0x1e214,\n 0x1e222, 0x1e224, 0x1e228, 0x1e236, 0x1e242, 0x1e248, 0x1e250, 0x1e25e, 0x1e266, 0x1e26c, 0x1e27a, 0x1e282,\n 0x1e284, 0x1e288, 0x1e290, 0x1e2a0, 0x1e2bc, 0x1e2c6, 0x1e2cc, 0x1e2d8, 0x1e2ee, 0x1e2f2, 0x1e2f4, 0x1e31a,\n 0x1e332, 0x1e334, 0x1e35c, 0x1e362, 0x1e364, 0x1e368, 0x1e3ba, 0x1e40a, 0x1e412, 0x1e414, 0x1e422, 0x1e428,\n 0x1e436, 0x1e442, 0x1e448, 0x1e450, 0x1e45e, 0x1e466, 0x1e46c, 0x1e47a, 0x1e482, 0x1e484, 0x1e490, 0x1e49e,\n 0x1e4a0, 0x1e4bc, 0x1e4c6, 0x1e4cc, 0x1e4d8, 0x1e4ee, 0x1e4f2, 0x1e4f4, 0x1e502, 0x1e504, 0x1e508, 0x1e510,\n 0x1e51e, 0x1e520, 0x1e53c, 0x1e540, 0x1e578, 0x1e586, 0x1e58c, 0x1e598, 0x1e5b0, 0x1e5be, 0x1e5ce, 0x1e5dc,\n 0x1e5e2, 0x1e5e4, 0x1e5e8, 0x1e5f6, 0x1e61a, 0x1e62e, 0x1e632, 0x1e634, 0x1e64e, 0x1e65c, 0x1e662, 0x1e668,\n 0x1e68e, 0x1e69c, 0x1e6b8, 0x1e6c2, 0x1e6c4, 0x1e6c8, 0x1e6d0, 0x1e6e6, 0x1e6fa, 0x1e716, 0x1e726, 0x1e72c,\n 0x1e73a, 0x1e746, 0x1e74c, 0x1e758, 0x1e772, 0x1e774, 0x1e792, 0x1e794, 0x1e7a2, 0x1e7a4, 0x1e7a8, 0x1e7b6,\n 0x1e812, 0x1e814, 0x1e822, 0x1e824, 0x1e828, 0x1e836, 0x1e842, 0x1e844, 0x1e848, 0x1e850, 0x1e85e, 0x1e866,\n 0x1e86c, 0x1e87a, 0x1e882, 0x1e884, 0x1e888, 0x1e890, 0x1e89e, 0x1e8a0, 0x1e8bc, 0x1e8c6, 0x1e8cc, 0x1e8d8,\n 0x1e8ee, 0x1e8f2, 0x1e8f4, 0x1e902, 0x1e904, 0x1e908, 0x1e910, 0x1e920, 0x1e93c, 0x1e940, 0x1e978, 0x1e986,\n 0x1e98c, 0x1e998, 0x1e9b0, 0x1e9be, 0x1e9ce, 0x1e9dc, 0x1e9e2, 0x1e9e4, 0x1e9e8, 0x1e9f6, 0x1ea04, 0x1ea08,\n 0x1ea10, 0x1ea20, 0x1ea40, 0x1ea78, 0x1eaf0, 0x1eb06, 0x1eb0c, 0x1eb18, 0x1eb30, 0x1eb3e, 0x1eb60, 0x1eb7c,\n 0x1eb8e, 0x1eb9c, 0x1ebb8, 0x1ebc2, 0x1ebc4, 0x1ebc8, 0x1ebd0, 0x1ebde, 0x1ebe6, 0x1ebec, 0x1ec1a, 0x1ec2e,\n 0x1ec32, 0x1ec34, 0x1ec4e, 0x1ec5c, 0x1ec62, 0x1ec64, 0x1ec68, 0x1ec8e, 0x1ec9c, 0x1ecb8, 0x1ecc2, 0x1ecc4,\n 0x1ecc8, 0x1ecd0, 0x1ece6, 0x1ecfa, 0x1ed0e, 0x1ed1c, 0x1ed38, 0x1ed70, 0x1ed7e, 0x1ed82, 0x1ed84, 0x1ed88,\n 0x1ed90, 0x1ed9e, 0x1eda0, 0x1edcc, 0x1edf2, 0x1edf4, 0x1ee16, 0x1ee26, 0x1ee2c, 0x1ee3a, 0x1ee46, 0x1ee4c,\n 0x1ee58, 0x1ee6e, 0x1ee72, 0x1ee74, 0x1ee86, 0x1ee8c, 0x1ee98, 0x1eeb0, 0x1eebe, 0x1eece, 0x1eedc, 0x1eee2,\n 0x1eee4, 0x1eee8, 0x1ef12, 0x1ef22, 0x1ef24, 0x1ef28, 0x1ef36, 0x1ef42, 0x1ef44, 0x1ef48, 0x1ef50, 0x1ef5e,\n 0x1ef66, 0x1ef6c, 0x1ef7a, 0x1efae, 0x1efb2, 0x1efb4, 0x1efd6, 0x1f096, 0x1f0a6, 0x1f0ac, 0x1f0ba, 0x1f0ca,\n 0x1f0d2, 0x1f0d4, 0x1f116, 0x1f126, 0x1f12c, 0x1f13a, 0x1f146, 0x1f14c, 0x1f158, 0x1f16e, 0x1f172, 0x1f174,\n 0x1f18a, 0x1f192, 0x1f194, 0x1f1a2, 0x1f1a4, 0x1f1a8, 0x1f1da, 0x1f216, 0x1f226, 0x1f22c, 0x1f23a, 0x1f246,\n 0x1f258, 0x1f26e, 0x1f272, 0x1f274, 0x1f286, 0x1f28c, 0x1f298, 0x1f2b0, 0x1f2be, 0x1f2ce, 0x1f2dc, 0x1f2e2,\n 0x1f2e4, 0x1f2e8, 0x1f2f6, 0x1f30a, 0x1f312, 0x1f314, 0x1f322, 0x1f328, 0x1f342, 0x1f344, 0x1f348, 0x1f350,\n 0x1f35e, 0x1f366, 0x1f37a, 0x1f39a, 0x1f3ae, 0x1f3b2, 0x1f3b4, 0x1f416, 0x1f426, 0x1f42c, 0x1f43a, 0x1f446,\n 0x1f44c, 0x1f458, 0x1f46e, 0x1f472, 0x1f474, 0x1f486, 0x1f48c, 0x1f498, 0x1f4b0, 0x1f4be, 0x1f4ce, 0x1f4dc,\n 0x1f4e2, 0x1f4e4, 0x1f4e8, 0x1f4f6, 0x1f506, 0x1f50c, 0x1f518, 0x1f530, 0x1f53e, 0x1f560, 0x1f57c, 0x1f58e,\n 0x1f59c, 0x1f5b8, 0x1f5c2, 0x1f5c4, 0x1f5c8, 0x1f5d0, 0x1f5de, 0x1f5e6, 0x1f5ec, 0x1f5fa, 0x1f60a, 0x1f612,\n 0x1f614, 0x1f622, 0x1f624, 0x1f628, 0x1f636, 0x1f642, 0x1f644, 0x1f648, 0x1f650, 0x1f65e, 0x1f666, 0x1f67a,\n 0x1f682, 0x1f684, 0x1f688, 0x1f690, 0x1f69e, 0x1f6a0, 0x1f6bc, 0x1f6cc, 0x1f6f2, 0x1f6f4, 0x1f71a, 0x1f72e,\n 0x1f732, 0x1f734, 0x1f74e, 0x1f75c, 0x1f762, 0x1f764, 0x1f768, 0x1f776, 0x1f796, 0x1f7a6, 0x1f7ac, 0x1f7ba,\n 0x1f7d2, 0x1f7d4, 0x1f89a, 0x1f8ae, 0x1f8b2, 0x1f8b4, 0x1f8d6, 0x1f8ea, 0x1f91a, 0x1f92e, 0x1f932, 0x1f934,\n 0x1f94e, 0x1f95c, 0x1f962, 0x1f964, 0x1f968, 0x1f976, 0x1f996, 0x1f9a6, 0x1f9ac, 0x1f9ba, 0x1f9ca, 0x1f9d2,\n 0x1f9d4, 0x1fa1a, 0x1fa2e, 0x1fa32, 0x1fa34, 0x1fa4e, 0x1fa5c, 0x1fa62, 0x1fa64, 0x1fa68, 0x1fa76, 0x1fa8e,\n 0x1fa9c, 0x1fab8, 0x1fac2, 0x1fac4, 0x1fac8, 0x1fad0, 0x1fade, 0x1fae6, 0x1faec, 0x1fb16, 0x1fb26, 0x1fb2c,\n 0x1fb3a, 0x1fb46, 0x1fb4c, 0x1fb58, 0x1fb6e, 0x1fb72, 0x1fb74, 0x1fb8a, 0x1fb92, 0x1fb94, 0x1fba2, 0x1fba4,\n 0x1fba8, 0x1fbb6, 0x1fbda\n ]);\n /**\n * This table contains to codewords for all symbols.\n */\n PDF417Common.CODEWORD_TABLE = Int32Array.from([\n 2627, 1819, 2622, 2621, 1813, 1812, 2729, 2724, 2723, 2779, 2774, 2773, 902, 896, 908, 868, 865, 861, 859, 2511,\n 873, 871, 1780, 835, 2493, 825, 2491, 842, 837, 844, 1764, 1762, 811, 810, 809, 2483, 807, 2482, 806, 2480, 815,\n 814, 813, 812, 2484, 817, 816, 1745, 1744, 1742, 1746, 2655, 2637, 2635, 2626, 2625, 2623, 2628, 1820, 2752,\n 2739, 2737, 2728, 2727, 2725, 2730, 2785, 2783, 2778, 2777, 2775, 2780, 787, 781, 747, 739, 736, 2413, 754, 752,\n 1719, 692, 689, 681, 2371, 678, 2369, 700, 697, 694, 703, 1688, 1686, 642, 638, 2343, 631, 2341, 627, 2338, 651,\n 646, 643, 2345, 654, 652, 1652, 1650, 1647, 1654, 601, 599, 2322, 596, 2321, 594, 2319, 2317, 611, 610, 608, 606,\n 2324, 603, 2323, 615, 614, 612, 1617, 1616, 1614, 1612, 616, 1619, 1618, 2575, 2538, 2536, 905, 901, 898, 909,\n 2509, 2507, 2504, 870, 867, 864, 860, 2512, 875, 872, 1781, 2490, 2489, 2487, 2485, 1748, 836, 834, 832, 830,\n 2494, 827, 2492, 843, 841, 839, 845, 1765, 1763, 2701, 2676, 2674, 2653, 2648, 2656, 2634, 2633, 2631, 2629,\n 1821, 2638, 2636, 2770, 2763, 2761, 2750, 2745, 2753, 2736, 2735, 2733, 2731, 1848, 2740, 2738, 2786, 2784, 591,\n 588, 576, 569, 566, 2296, 1590, 537, 534, 526, 2276, 522, 2274, 545, 542, 539, 548, 1572, 1570, 481, 2245, 466,\n 2242, 462, 2239, 492, 485, 482, 2249, 496, 494, 1534, 1531, 1528, 1538, 413, 2196, 406, 2191, 2188, 425, 419,\n 2202, 415, 2199, 432, 430, 427, 1472, 1467, 1464, 433, 1476, 1474, 368, 367, 2160, 365, 2159, 362, 2157, 2155,\n 2152, 378, 377, 375, 2166, 372, 2165, 369, 2162, 383, 381, 379, 2168, 1419, 1418, 1416, 1414, 385, 1411, 384,\n 1423, 1422, 1420, 1424, 2461, 802, 2441, 2439, 790, 786, 783, 794, 2409, 2406, 2403, 750, 742, 738, 2414, 756,\n 753, 1720, 2367, 2365, 2362, 2359, 1663, 693, 691, 684, 2373, 680, 2370, 702, 699, 696, 704, 1690, 1687, 2337,\n 2336, 2334, 2332, 1624, 2329, 1622, 640, 637, 2344, 634, 2342, 630, 2340, 650, 648, 645, 2346, 655, 653, 1653,\n 1651, 1649, 1655, 2612, 2597, 2595, 2571, 2568, 2565, 2576, 2534, 2529, 2526, 1787, 2540, 2537, 907, 904, 900,\n 910, 2503, 2502, 2500, 2498, 1768, 2495, 1767, 2510, 2508, 2506, 869, 866, 863, 2513, 876, 874, 1782, 2720, 2713,\n 2711, 2697, 2694, 2691, 2702, 2672, 2670, 2664, 1828, 2678, 2675, 2647, 2646, 2644, 2642, 1823, 2639, 1822, 2654,\n 2652, 2650, 2657, 2771, 1855, 2765, 2762, 1850, 1849, 2751, 2749, 2747, 2754, 353, 2148, 344, 342, 336, 2142,\n 332, 2140, 345, 1375, 1373, 306, 2130, 299, 2128, 295, 2125, 319, 314, 311, 2132, 1354, 1352, 1349, 1356, 262,\n 257, 2101, 253, 2096, 2093, 274, 273, 267, 2107, 263, 2104, 280, 278, 275, 1316, 1311, 1308, 1320, 1318, 2052,\n 202, 2050, 2044, 2040, 219, 2063, 212, 2060, 208, 2055, 224, 221, 2066, 1260, 1258, 1252, 231, 1248, 229, 1266,\n 1264, 1261, 1268, 155, 1998, 153, 1996, 1994, 1991, 1988, 165, 164, 2007, 162, 2006, 159, 2003, 2000, 172, 171,\n 169, 2012, 166, 2010, 1186, 1184, 1182, 1179, 175, 1176, 173, 1192, 1191, 1189, 1187, 176, 1194, 1193, 2313,\n 2307, 2305, 592, 589, 2294, 2292, 2289, 578, 572, 568, 2297, 580, 1591, 2272, 2267, 2264, 1547, 538, 536, 529,\n 2278, 525, 2275, 547, 544, 541, 1574, 1571, 2237, 2235, 2229, 1493, 2225, 1489, 478, 2247, 470, 2244, 465, 2241,\n 493, 488, 484, 2250, 498, 495, 1536, 1533, 1530, 1539, 2187, 2186, 2184, 2182, 1432, 2179, 1430, 2176, 1427, 414,\n 412, 2197, 409, 2195, 405, 2193, 2190, 426, 424, 421, 2203, 418, 2201, 431, 429, 1473, 1471, 1469, 1466, 434,\n 1477, 1475, 2478, 2472, 2470, 2459, 2457, 2454, 2462, 803, 2437, 2432, 2429, 1726, 2443, 2440, 792, 789, 785,\n 2401, 2399, 2393, 1702, 2389, 1699, 2411, 2408, 2405, 745, 741, 2415, 758, 755, 1721, 2358, 2357, 2355, 2353,\n 1661, 2350, 1660, 2347, 1657, 2368, 2366, 2364, 2361, 1666, 690, 687, 2374, 683, 2372, 701, 698, 705, 1691, 1689,\n 2619, 2617, 2610, 2608, 2605, 2613, 2593, 2588, 2585, 1803, 2599, 2596, 2563, 2561, 2555, 1797, 2551, 1795, 2573,\n 2570, 2567, 2577, 2525, 2524, 2522, 2520, 1786, 2517, 1785, 2514, 1783, 2535, 2533, 2531, 2528, 1788, 2541, 2539,\n 906, 903, 911, 2721, 1844, 2715, 2712, 1838, 1836, 2699, 2696, 2693, 2703, 1827, 1826, 1824, 2673, 2671, 2669,\n 2666, 1829, 2679, 2677, 1858, 1857, 2772, 1854, 1853, 1851, 1856, 2766, 2764, 143, 1987, 139, 1986, 135, 133,\n 131, 1984, 128, 1983, 125, 1981, 138, 137, 136, 1985, 1133, 1132, 1130, 112, 110, 1974, 107, 1973, 104, 1971,\n 1969, 122, 121, 119, 117, 1977, 114, 1976, 124, 1115, 1114, 1112, 1110, 1117, 1116, 84, 83, 1953, 81, 1952, 78,\n 1950, 1948, 1945, 94, 93, 91, 1959, 88, 1958, 85, 1955, 99, 97, 95, 1961, 1086, 1085, 1083, 1081, 1078, 100,\n 1090, 1089, 1087, 1091, 49, 47, 1917, 44, 1915, 1913, 1910, 1907, 59, 1926, 56, 1925, 53, 1922, 1919, 66, 64,\n 1931, 61, 1929, 1042, 1040, 1038, 71, 1035, 70, 1032, 68, 1048, 1047, 1045, 1043, 1050, 1049, 12, 10, 1869, 1867,\n 1864, 1861, 21, 1880, 19, 1877, 1874, 1871, 28, 1888, 25, 1886, 22, 1883, 982, 980, 977, 974, 32, 30, 991, 989,\n 987, 984, 34, 995, 994, 992, 2151, 2150, 2147, 2146, 2144, 356, 355, 354, 2149, 2139, 2138, 2136, 2134, 1359,\n 343, 341, 338, 2143, 335, 2141, 348, 347, 346, 1376, 1374, 2124, 2123, 2121, 2119, 1326, 2116, 1324, 310, 308,\n 305, 2131, 302, 2129, 298, 2127, 320, 318, 316, 313, 2133, 322, 321, 1355, 1353, 1351, 1357, 2092, 2091, 2089,\n 2087, 1276, 2084, 1274, 2081, 1271, 259, 2102, 256, 2100, 252, 2098, 2095, 272, 269, 2108, 266, 2106, 281, 279,\n 277, 1317, 1315, 1313, 1310, 282, 1321, 1319, 2039, 2037, 2035, 2032, 1203, 2029, 1200, 1197, 207, 2053, 205,\n 2051, 201, 2049, 2046, 2043, 220, 218, 2064, 215, 2062, 211, 2059, 228, 226, 223, 2069, 1259, 1257, 1254, 232,\n 1251, 230, 1267, 1265, 1263, 2316, 2315, 2312, 2311, 2309, 2314, 2304, 2303, 2301, 2299, 1593, 2308, 2306, 590,\n 2288, 2287, 2285, 2283, 1578, 2280, 1577, 2295, 2293, 2291, 579, 577, 574, 571, 2298, 582, 581, 1592, 2263, 2262,\n 2260, 2258, 1545, 2255, 1544, 2252, 1541, 2273, 2271, 2269, 2266, 1550, 535, 532, 2279, 528, 2277, 546, 543, 549,\n 1575, 1573, 2224, 2222, 2220, 1486, 2217, 1485, 2214, 1482, 1479, 2238, 2236, 2234, 2231, 1496, 2228, 1492, 480,\n 477, 2248, 473, 2246, 469, 2243, 490, 487, 2251, 497, 1537, 1535, 1532, 2477, 2476, 2474, 2479, 2469, 2468, 2466,\n 2464, 1730, 2473, 2471, 2453, 2452, 2450, 2448, 1729, 2445, 1728, 2460, 2458, 2456, 2463, 805, 804, 2428, 2427,\n 2425, 2423, 1725, 2420, 1724, 2417, 1722, 2438, 2436, 2434, 2431, 1727, 2444, 2442, 793, 791, 788, 795, 2388,\n 2386, 2384, 1697, 2381, 1696, 2378, 1694, 1692, 2402, 2400, 2398, 2395, 1703, 2392, 1701, 2412, 2410, 2407, 751,\n 748, 744, 2416, 759, 757, 1807, 2620, 2618, 1806, 1805, 2611, 2609, 2607, 2614, 1802, 1801, 1799, 2594, 2592,\n 2590, 2587, 1804, 2600, 2598, 1794, 1793, 1791, 1789, 2564, 2562, 2560, 2557, 1798, 2554, 1796, 2574, 2572, 2569,\n 2578, 1847, 1846, 2722, 1843, 1842, 1840, 1845, 2716, 2714, 1835, 1834, 1832, 1830, 1839, 1837, 2700, 2698, 2695,\n 2704, 1817, 1811, 1810, 897, 862, 1777, 829, 826, 838, 1760, 1758, 808, 2481, 1741, 1740, 1738, 1743, 2624, 1818,\n 2726, 2776, 782, 740, 737, 1715, 686, 679, 695, 1682, 1680, 639, 628, 2339, 647, 644, 1645, 1643, 1640, 1648,\n 602, 600, 597, 595, 2320, 593, 2318, 609, 607, 604, 1611, 1610, 1608, 1606, 613, 1615, 1613, 2328, 926, 924, 892,\n 886, 899, 857, 850, 2505, 1778, 824, 823, 821, 819, 2488, 818, 2486, 833, 831, 828, 840, 1761, 1759, 2649, 2632,\n 2630, 2746, 2734, 2732, 2782, 2781, 570, 567, 1587, 531, 527, 523, 540, 1566, 1564, 476, 467, 463, 2240, 486,\n 483, 1524, 1521, 1518, 1529, 411, 403, 2192, 399, 2189, 423, 416, 1462, 1457, 1454, 428, 1468, 1465, 2210, 366,\n 363, 2158, 360, 2156, 357, 2153, 376, 373, 370, 2163, 1410, 1409, 1407, 1405, 382, 1402, 380, 1417, 1415, 1412,\n 1421, 2175, 2174, 777, 774, 771, 784, 732, 725, 722, 2404, 743, 1716, 676, 674, 668, 2363, 665, 2360, 685, 1684,\n 1681, 626, 624, 622, 2335, 620, 2333, 617, 2330, 641, 635, 649, 1646, 1644, 1642, 2566, 928, 925, 2530, 2527,\n 894, 891, 888, 2501, 2499, 2496, 858, 856, 854, 851, 1779, 2692, 2668, 2665, 2645, 2643, 2640, 2651, 2768, 2759,\n 2757, 2744, 2743, 2741, 2748, 352, 1382, 340, 337, 333, 1371, 1369, 307, 300, 296, 2126, 315, 312, 1347, 1342,\n 1350, 261, 258, 250, 2097, 246, 2094, 271, 268, 264, 1306, 1301, 1298, 276, 1312, 1309, 2115, 203, 2048, 195,\n 2045, 191, 2041, 213, 209, 2056, 1246, 1244, 1238, 225, 1234, 222, 1256, 1253, 1249, 1262, 2080, 2079, 154, 1997,\n 150, 1995, 147, 1992, 1989, 163, 160, 2004, 156, 2001, 1175, 1174, 1172, 1170, 1167, 170, 1164, 167, 1185, 1183,\n 1180, 1177, 174, 1190, 1188, 2025, 2024, 2022, 587, 586, 564, 559, 556, 2290, 573, 1588, 520, 518, 512, 2268,\n 508, 2265, 530, 1568, 1565, 461, 457, 2233, 450, 2230, 446, 2226, 479, 471, 489, 1526, 1523, 1520, 397, 395,\n 2185, 392, 2183, 389, 2180, 2177, 410, 2194, 402, 422, 1463, 1461, 1459, 1456, 1470, 2455, 799, 2433, 2430, 779,\n 776, 773, 2397, 2394, 2390, 734, 728, 724, 746, 1717, 2356, 2354, 2351, 2348, 1658, 677, 675, 673, 670, 667, 688,\n 1685, 1683, 2606, 2589, 2586, 2559, 2556, 2552, 927, 2523, 2521, 2518, 2515, 1784, 2532, 895, 893, 890, 2718,\n 2709, 2707, 2689, 2687, 2684, 2663, 2662, 2660, 2658, 1825, 2667, 2769, 1852, 2760, 2758, 142, 141, 1139, 1138,\n 134, 132, 129, 126, 1982, 1129, 1128, 1126, 1131, 113, 111, 108, 105, 1972, 101, 1970, 120, 118, 115, 1109, 1108,\n 1106, 1104, 123, 1113, 1111, 82, 79, 1951, 75, 1949, 72, 1946, 92, 89, 86, 1956, 1077, 1076, 1074, 1072, 98,\n 1069, 96, 1084, 1082, 1079, 1088, 1968, 1967, 48, 45, 1916, 42, 1914, 39, 1911, 1908, 60, 57, 54, 1923, 50, 1920,\n 1031, 1030, 1028, 1026, 67, 1023, 65, 1020, 62, 1041, 1039, 1036, 1033, 69, 1046, 1044, 1944, 1943, 1941, 11, 9,\n 1868, 7, 1865, 1862, 1859, 20, 1878, 16, 1875, 13, 1872, 970, 968, 966, 963, 29, 960, 26, 23, 983, 981, 978, 975,\n 33, 971, 31, 990, 988, 985, 1906, 1904, 1902, 993, 351, 2145, 1383, 331, 330, 328, 326, 2137, 323, 2135, 339,\n 1372, 1370, 294, 293, 291, 289, 2122, 286, 2120, 283, 2117, 309, 303, 317, 1348, 1346, 1344, 245, 244, 242, 2090,\n 239, 2088, 236, 2085, 2082, 260, 2099, 249, 270, 1307, 1305, 1303, 1300, 1314, 189, 2038, 186, 2036, 183, 2033,\n 2030, 2026, 206, 198, 2047, 194, 216, 1247, 1245, 1243, 1240, 227, 1237, 1255, 2310, 2302, 2300, 2286, 2284,\n 2281, 565, 563, 561, 558, 575, 1589, 2261, 2259, 2256, 2253, 1542, 521, 519, 517, 514, 2270, 511, 533, 1569,\n 1567, 2223, 2221, 2218, 2215, 1483, 2211, 1480, 459, 456, 453, 2232, 449, 474, 491, 1527, 1525, 1522, 2475, 2467,\n 2465, 2451, 2449, 2446, 801, 800, 2426, 2424, 2421, 2418, 1723, 2435, 780, 778, 775, 2387, 2385, 2382, 2379,\n 1695, 2375, 1693, 2396, 735, 733, 730, 727, 749, 1718, 2616, 2615, 2604, 2603, 2601, 2584, 2583, 2581, 2579,\n 1800, 2591, 2550, 2549, 2547, 2545, 1792, 2542, 1790, 2558, 929, 2719, 1841, 2710, 2708, 1833, 1831, 2690, 2688,\n 2686, 1815, 1809, 1808, 1774, 1756, 1754, 1737, 1736, 1734, 1739, 1816, 1711, 1676, 1674, 633, 629, 1638, 1636,\n 1633, 1641, 598, 1605, 1604, 1602, 1600, 605, 1609, 1607, 2327, 887, 853, 1775, 822, 820, 1757, 1755, 1584, 524,\n 1560, 1558, 468, 464, 1514, 1511, 1508, 1519, 408, 404, 400, 1452, 1447, 1444, 417, 1458, 1455, 2208, 364, 361,\n 358, 2154, 1401, 1400, 1398, 1396, 374, 1393, 371, 1408, 1406, 1403, 1413, 2173, 2172, 772, 726, 723, 1712, 672,\n 669, 666, 682, 1678, 1675, 625, 623, 621, 618, 2331, 636, 632, 1639, 1637, 1635, 920, 918, 884, 880, 889, 849,\n 848, 847, 846, 2497, 855, 852, 1776, 2641, 2742, 2787, 1380, 334, 1367, 1365, 301, 297, 1340, 1338, 1335, 1343,\n 255, 251, 247, 1296, 1291, 1288, 265, 1302, 1299, 2113, 204, 196, 192, 2042, 1232, 1230, 1224, 214, 1220, 210,\n 1242, 1239, 1235, 1250, 2077, 2075, 151, 148, 1993, 144, 1990, 1163, 1162, 1160, 1158, 1155, 161, 1152, 157,\n 1173, 1171, 1168, 1165, 168, 1181, 1178, 2021, 2020, 2018, 2023, 585, 560, 557, 1585, 516, 509, 1562, 1559, 458,\n 447, 2227, 472, 1516, 1513, 1510, 398, 396, 393, 390, 2181, 386, 2178, 407, 1453, 1451, 1449, 1446, 420, 1460,\n 2209, 769, 764, 720, 712, 2391, 729, 1713, 664, 663, 661, 659, 2352, 656, 2349, 671, 1679, 1677, 2553, 922, 919,\n 2519, 2516, 885, 883, 881, 2685, 2661, 2659, 2767, 2756, 2755, 140, 1137, 1136, 130, 127, 1125, 1124, 1122, 1127,\n 109, 106, 102, 1103, 1102, 1100, 1098, 116, 1107, 1105, 1980, 80, 76, 73, 1947, 1068, 1067, 1065, 1063, 90, 1060,\n 87, 1075, 1073, 1070, 1080, 1966, 1965, 46, 43, 40, 1912, 36, 1909, 1019, 1018, 1016, 1014, 58, 1011, 55, 1008,\n 51, 1029, 1027, 1024, 1021, 63, 1037, 1034, 1940, 1939, 1937, 1942, 8, 1866, 4, 1863, 1, 1860, 956, 954, 952,\n 949, 946, 17, 14, 969, 967, 964, 961, 27, 957, 24, 979, 976, 972, 1901, 1900, 1898, 1896, 986, 1905, 1903, 350,\n 349, 1381, 329, 327, 324, 1368, 1366, 292, 290, 287, 284, 2118, 304, 1341, 1339, 1337, 1345, 243, 240, 237, 2086,\n 233, 2083, 254, 1297, 1295, 1293, 1290, 1304, 2114, 190, 187, 184, 2034, 180, 2031, 177, 2027, 199, 1233, 1231,\n 1229, 1226, 217, 1223, 1241, 2078, 2076, 584, 555, 554, 552, 550, 2282, 562, 1586, 507, 506, 504, 502, 2257, 499,\n 2254, 515, 1563, 1561, 445, 443, 441, 2219, 438, 2216, 435, 2212, 460, 454, 475, 1517, 1515, 1512, 2447, 798,\n 797, 2422, 2419, 770, 768, 766, 2383, 2380, 2376, 721, 719, 717, 714, 731, 1714, 2602, 2582, 2580, 2548, 2546,\n 2543, 923, 921, 2717, 2706, 2705, 2683, 2682, 2680, 1771, 1752, 1750, 1733, 1732, 1731, 1735, 1814, 1707, 1670,\n 1668, 1631, 1629, 1626, 1634, 1599, 1598, 1596, 1594, 1603, 1601, 2326, 1772, 1753, 1751, 1581, 1554, 1552, 1504,\n 1501, 1498, 1509, 1442, 1437, 1434, 401, 1448, 1445, 2206, 1392, 1391, 1389, 1387, 1384, 359, 1399, 1397, 1394,\n 1404, 2171, 2170, 1708, 1672, 1669, 619, 1632, 1630, 1628, 1773, 1378, 1363, 1361, 1333, 1328, 1336, 1286, 1281,\n 1278, 248, 1292, 1289, 2111, 1218, 1216, 1210, 197, 1206, 193, 1228, 1225, 1221, 1236, 2073, 2071, 1151, 1150,\n 1148, 1146, 152, 1143, 149, 1140, 145, 1161, 1159, 1156, 1153, 158, 1169, 1166, 2017, 2016, 2014, 2019, 1582,\n 510, 1556, 1553, 452, 448, 1506, 1500, 394, 391, 387, 1443, 1441, 1439, 1436, 1450, 2207, 765, 716, 713, 1709,\n 662, 660, 657, 1673, 1671, 916, 914, 879, 878, 877, 882, 1135, 1134, 1121, 1120, 1118, 1123, 1097, 1096, 1094,\n 1092, 103, 1101, 1099, 1979, 1059, 1058, 1056, 1054, 77, 1051, 74, 1066, 1064, 1061, 1071, 1964, 1963, 1007,\n 1006, 1004, 1002, 999, 41, 996, 37, 1017, 1015, 1012, 1009, 52, 1025, 1022, 1936, 1935, 1933, 1938, 942, 940,\n 938, 935, 932, 5, 2, 955, 953, 950, 947, 18, 943, 15, 965, 962, 958, 1895, 1894, 1892, 1890, 973, 1899, 1897,\n 1379, 325, 1364, 1362, 288, 285, 1334, 1332, 1330, 241, 238, 234, 1287, 1285, 1283, 1280, 1294, 2112, 188, 185,\n 181, 178, 2028, 1219, 1217, 1215, 1212, 200, 1209, 1227, 2074, 2072, 583, 553, 551, 1583, 505, 503, 500, 513,\n 1557, 1555, 444, 442, 439, 436, 2213, 455, 451, 1507, 1505, 1502, 796, 763, 762, 760, 767, 711, 710, 708, 706,\n 2377, 718, 715, 1710, 2544, 917, 915, 2681, 1627, 1597, 1595, 2325, 1769, 1749, 1747, 1499, 1438, 1435, 2204,\n 1390, 1388, 1385, 1395, 2169, 2167, 1704, 1665, 1662, 1625, 1623, 1620, 1770, 1329, 1282, 1279, 2109, 1214, 1207,\n 1222, 2068, 2065, 1149, 1147, 1144, 1141, 146, 1157, 1154, 2013, 2011, 2008, 2015, 1579, 1549, 1546, 1495, 1487,\n 1433, 1431, 1428, 1425, 388, 1440, 2205, 1705, 658, 1667, 1664, 1119, 1095, 1093, 1978, 1057, 1055, 1052, 1062,\n 1962, 1960, 1005, 1003, 1000, 997, 38, 1013, 1010, 1932, 1930, 1927, 1934, 941, 939, 936, 933, 6, 930, 3, 951,\n 948, 944, 1889, 1887, 1884, 1881, 959, 1893, 1891, 35, 1377, 1360, 1358, 1327, 1325, 1322, 1331, 1277, 1275,\n 1272, 1269, 235, 1284, 2110, 1205, 1204, 1201, 1198, 182, 1195, 179, 1213, 2070, 2067, 1580, 501, 1551, 1548,\n 440, 437, 1497, 1494, 1490, 1503, 761, 709, 707, 1706, 913, 912, 2198, 1386, 2164, 2161, 1621, 1766, 2103, 1208,\n 2058, 2054, 1145, 1142, 2005, 2002, 1999, 2009, 1488, 1429, 1426, 2200, 1698, 1659, 1656, 1975, 1053, 1957, 1954,\n 1001, 998, 1924, 1921, 1918, 1928, 937, 934, 931, 1879, 1876, 1873, 1870, 945, 1885, 1882, 1323, 1273, 1270,\n 2105, 1202, 1199, 1196, 1211, 2061, 2057, 1576, 1543, 1540, 1484, 1481, 1478, 1491, 1700\n ]);\n return PDF417Common;\n}());\nexport default PDF417Common;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.pdf417;\n// import com.google.zxing.BarcodeFormat;\nimport BarcodeFormat from '../BarcodeFormat';\n// import com.google.zxing.ChecksumException;\nimport ChecksumException from '../ChecksumException';\n// import com.google.zxing.FormatException;\nimport FormatException from '../FormatException';\n// import com.google.zxing.NotFoundException;\nimport NotFoundException from '../NotFoundException';\n// import com.google.zxing.Result;\nimport Result from '../Result';\n// import com.google.zxing.common.DecoderResult;\n// import com.google.zxing.multi.MultipleBarcodeReader;\n// import com.google.zxing.pdf417.decoder.PDF417ScanningDecoder;\n// import com.google.zxing.pdf417.detector.Detector;\n// import com.google.zxing.pdf417.detector.PDF417DetectorResult;\nimport PDF417Common from './PDF417Common';\nimport Integer from '../util/Integer';\nimport ResultMetadataType from '../ResultMetadataType';\nimport Detector from './detector/Detector';\nimport PDF417ScanningDecoder from './decoder/PDF417ScanningDecoder';\n// import java.util.ArrayList;\n// import java.util.List;\n// import java.util.Map;\n/**\n * This implementation can detect and decode PDF417 codes in an image.\n *\n * @author Guenther Grau\n */\nvar PDF417Reader = /** @class */ (function () {\n function PDF417Reader() {\n }\n // private static /*final Result[]*/ EMPTY_RESULT_ARRAY: Result[] = new Result([0]);\n /**\n * Locates and decodes a PDF417 code in an image.\n *\n * @return a String representing the content encoded by the PDF417 code\n * @throws NotFoundException if a PDF417 code cannot be found,\n * @throws FormatException if a PDF417 cannot be decoded\n * @throws ChecksumException\n */\n // @Override\n PDF417Reader.prototype.decode = function (image, hints) {\n if (hints === void 0) { hints = null; }\n var result = PDF417Reader.decode(image, hints, false);\n if (result == null || result.length === 0 || result[0] == null) {\n throw NotFoundException.getNotFoundInstance();\n }\n return result[0];\n };\n /**\n *\n * @param BinaryBitmap\n * @param image\n * @throws NotFoundException\n */\n // @Override\n PDF417Reader.prototype.decodeMultiple = function (image, hints) {\n if (hints === void 0) { hints = null; }\n try {\n return PDF417Reader.decode(image, hints, true);\n }\n catch (ignored) {\n if (ignored instanceof FormatException || ignored instanceof ChecksumException) {\n throw NotFoundException.getNotFoundInstance();\n }\n throw ignored;\n }\n };\n /**\n *\n * @param image\n * @param hints\n * @param multiple\n *\n * @throws NotFoundException\n * @throws FormatExceptionß\n * @throws ChecksumException\n */\n PDF417Reader.decode = function (image, hints, multiple) {\n var e_1, _a;\n var results = new Array();\n var detectorResult = Detector.detectMultiple(image, hints, multiple);\n try {\n for (var _b = __values(detectorResult.getPoints()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var points = _c.value;\n var decoderResult = PDF417ScanningDecoder.decode(detectorResult.getBits(), points[4], points[5], points[6], points[7], PDF417Reader.getMinCodewordWidth(points), PDF417Reader.getMaxCodewordWidth(points));\n var result = new Result(decoderResult.getText(), decoderResult.getRawBytes(), undefined, points, BarcodeFormat.PDF_417);\n result.putMetadata(ResultMetadataType.ERROR_CORRECTION_LEVEL, decoderResult.getECLevel());\n var pdf417ResultMetadata = decoderResult.getOther();\n if (pdf417ResultMetadata != null) {\n result.putMetadata(ResultMetadataType.PDF417_EXTRA_METADATA, pdf417ResultMetadata);\n }\n results.push(result);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return results.map(function (x) { return x; });\n };\n PDF417Reader.getMaxWidth = function (p1, p2) {\n if (p1 == null || p2 == null) {\n return 0;\n }\n return Math.trunc(Math.abs(p1.getX() - p2.getX()));\n };\n PDF417Reader.getMinWidth = function (p1, p2) {\n if (p1 == null || p2 == null) {\n return Integer.MAX_VALUE;\n }\n return Math.trunc(Math.abs(p1.getX() - p2.getX()));\n };\n PDF417Reader.getMaxCodewordWidth = function (p) {\n return Math.floor(Math.max(Math.max(PDF417Reader.getMaxWidth(p[0], p[4]), PDF417Reader.getMaxWidth(p[6], p[2]) * PDF417Common.MODULES_IN_CODEWORD /\n PDF417Common.MODULES_IN_STOP_PATTERN), Math.max(PDF417Reader.getMaxWidth(p[1], p[5]), PDF417Reader.getMaxWidth(p[7], p[3]) * PDF417Common.MODULES_IN_CODEWORD /\n PDF417Common.MODULES_IN_STOP_PATTERN)));\n };\n PDF417Reader.getMinCodewordWidth = function (p) {\n return Math.floor(Math.min(Math.min(PDF417Reader.getMinWidth(p[0], p[4]), PDF417Reader.getMinWidth(p[6], p[2]) * PDF417Common.MODULES_IN_CODEWORD /\n PDF417Common.MODULES_IN_STOP_PATTERN), Math.min(PDF417Reader.getMinWidth(p[1], p[5]), PDF417Reader.getMinWidth(p[7], p[3]) * PDF417Common.MODULES_IN_CODEWORD /\n PDF417Common.MODULES_IN_STOP_PATTERN)));\n };\n // @Override\n PDF417Reader.prototype.reset = function () {\n // nothing needs to be reset\n };\n return PDF417Reader;\n}());\nexport default PDF417Reader;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// package com.google.zxing.pdf417;\n/**\n * @author Guenther Grau\n */\nvar PDF417ResultMetadata = /** @class */ (function () {\n function PDF417ResultMetadata() {\n this.segmentCount = -1;\n this.fileSize = -1;\n this.timestamp = -1;\n this.checksum = -1;\n }\n /**\n * The Segment ID represents the segment of the whole file distributed over different symbols.\n *\n * @return File segment index\n */\n PDF417ResultMetadata.prototype.getSegmentIndex = function () {\n return this.segmentIndex;\n };\n PDF417ResultMetadata.prototype.setSegmentIndex = function (segmentIndex) {\n this.segmentIndex = segmentIndex;\n };\n /**\n * Is the same for each related PDF417 symbol\n *\n * @return File ID\n */\n PDF417ResultMetadata.prototype.getFileId = function () {\n return this.fileId;\n };\n PDF417ResultMetadata.prototype.setFileId = function (fileId) {\n this.fileId = fileId;\n };\n /**\n * @return always null\n * @deprecated use dedicated already parsed fields\n */\n // @Deprecated\n PDF417ResultMetadata.prototype.getOptionalData = function () {\n return this.optionalData;\n };\n /**\n * @param optionalData old optional data format as int array\n * @deprecated parse and use new fields\n */\n // @Deprecated\n PDF417ResultMetadata.prototype.setOptionalData = function (optionalData) {\n this.optionalData = optionalData;\n };\n /**\n * @return true if it is the last segment\n */\n PDF417ResultMetadata.prototype.isLastSegment = function () {\n return this.lastSegment;\n };\n PDF417ResultMetadata.prototype.setLastSegment = function (lastSegment) {\n this.lastSegment = lastSegment;\n };\n /**\n * @return count of segments, -1 if not set\n */\n PDF417ResultMetadata.prototype.getSegmentCount = function () {\n return this.segmentCount;\n };\n PDF417ResultMetadata.prototype.setSegmentCount = function (segmentCount /*int*/) {\n this.segmentCount = segmentCount;\n };\n PDF417ResultMetadata.prototype.getSender = function () {\n return this.sender || null;\n };\n PDF417ResultMetadata.prototype.setSender = function (sender) {\n this.sender = sender;\n };\n PDF417ResultMetadata.prototype.getAddressee = function () {\n return this.addressee || null;\n };\n PDF417ResultMetadata.prototype.setAddressee = function (addressee) {\n this.addressee = addressee;\n };\n /**\n * Filename of the encoded file\n *\n * @return filename\n */\n PDF417ResultMetadata.prototype.getFileName = function () {\n return this.fileName;\n };\n PDF417ResultMetadata.prototype.setFileName = function (fileName) {\n this.fileName = fileName;\n };\n /**\n * filesize in bytes of the encoded file\n *\n * @return filesize in bytes, -1 if not set\n */\n PDF417ResultMetadata.prototype.getFileSize = function () {\n return this.fileSize;\n };\n PDF417ResultMetadata.prototype.setFileSize = function (fileSize /*long*/) {\n this.fileSize = fileSize;\n };\n /**\n * 16-bit CRC checksum using CCITT-16\n *\n * @return crc checksum, -1 if not set\n */\n PDF417ResultMetadata.prototype.getChecksum = function () {\n return this.checksum;\n };\n PDF417ResultMetadata.prototype.setChecksum = function (checksum /*int*/) {\n this.checksum = checksum;\n };\n /**\n * unix epock timestamp, elapsed seconds since 1970-01-01\n *\n * @return elapsed seconds, -1 if not set\n */\n PDF417ResultMetadata.prototype.getTimestamp = function () {\n return this.timestamp;\n };\n PDF417ResultMetadata.prototype.setTimestamp = function (timestamp /*long*/) {\n this.timestamp = timestamp;\n };\n return PDF417ResultMetadata;\n}());\nexport default PDF417ResultMetadata;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// package com.google.zxing.pdf417.decoder;\n/**\n * @author Guenther Grau\n */\nvar BarcodeMetadata = /** @class */ (function () {\n function BarcodeMetadata(columnCount, rowCountUpperPart, rowCountLowerPart, errorCorrectionLevel) {\n this.columnCount = columnCount;\n this.errorCorrectionLevel = errorCorrectionLevel;\n this.rowCountUpperPart = rowCountUpperPart;\n this.rowCountLowerPart = rowCountLowerPart;\n this.rowCount = rowCountUpperPart + rowCountLowerPart;\n }\n BarcodeMetadata.prototype.getColumnCount = function () {\n return this.columnCount;\n };\n BarcodeMetadata.prototype.getErrorCorrectionLevel = function () {\n return this.errorCorrectionLevel;\n };\n BarcodeMetadata.prototype.getRowCount = function () {\n return this.rowCount;\n };\n BarcodeMetadata.prototype.getRowCountUpperPart = function () {\n return this.rowCountUpperPart;\n };\n BarcodeMetadata.prototype.getRowCountLowerPart = function () {\n return this.rowCountLowerPart;\n };\n return BarcodeMetadata;\n}());\nexport default BarcodeMetadata;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n// package com.google.zxing.pdf417.decoder;\n// import com.google.zxing.pdf417.PDF417Common;\nimport PDF417Common from '../PDF417Common';\n// import java.util.ArrayList;\n// import java.util.Collection;\n// import java.util.HashMap;\n// import java.util.Map;\n// import java.util.Map.Entry;\n/**\n * @author Guenther Grau\n */\nvar BarcodeValue = /** @class */ (function () {\n function BarcodeValue() {\n this.values = new Map();\n }\n /**\n * Add an occurrence of a value\n */\n BarcodeValue.prototype.setValue = function (value) {\n value = Math.trunc(value);\n var confidence = this.values.get(value);\n if (confidence == null) {\n confidence = 0;\n }\n confidence++;\n this.values.set(value, confidence);\n };\n /**\n * Determines the maximum occurrence of a set value and returns all values which were set with this occurrence.\n * @return an array of int, containing the values with the highest occurrence, or null, if no value was set\n */\n BarcodeValue.prototype.getValue = function () {\n var e_1, _a;\n var maxConfidence = -1;\n var result = new Array();\n var _loop_1 = function (key, value) {\n var entry = {\n getKey: function () { return key; },\n getValue: function () { return value; },\n };\n if (entry.getValue() > maxConfidence) {\n maxConfidence = entry.getValue();\n result = [];\n result.push(entry.getKey());\n }\n else if (entry.getValue() === maxConfidence) {\n result.push(entry.getKey());\n }\n };\n try {\n for (var _b = __values(this.values.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var _d = __read(_c.value, 2), key = _d[0], value = _d[1];\n _loop_1(key, value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return PDF417Common.toIntArray(result);\n };\n BarcodeValue.prototype.getConfidence = function (value) {\n return this.values.get(value);\n };\n return BarcodeValue;\n}());\nexport default BarcodeValue;\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n// package com.google.zxing.pdf417.decoder;\n// import com.google.zxing.NotFoundException;\nimport NotFoundException from '../../NotFoundException';\n// import com.google.zxing.ResultPoint;\nimport ResultPoint from '../../ResultPoint';\n/**\n * @author Guenther Grau\n */\nvar BoundingBox = /** @class */ (function () {\n function BoundingBox(image, topLeft, bottomLeft, topRight, bottomRight) {\n if (image instanceof BoundingBox) {\n this.constructor_2(image);\n }\n else {\n this.constructor_1(image, topLeft, bottomLeft, topRight, bottomRight);\n }\n }\n /**\n *\n * @param image\n * @param topLeft\n * @param bottomLeft\n * @param topRight\n * @param bottomRight\n *\n * @throws NotFoundException\n */\n BoundingBox.prototype.constructor_1 = function (image, topLeft, bottomLeft, topRight, bottomRight) {\n var leftUnspecified = topLeft == null || bottomLeft == null;\n var rightUnspecified = topRight == null || bottomRight == null;\n if (leftUnspecified && rightUnspecified) {\n throw new NotFoundException();\n }\n if (leftUnspecified) {\n topLeft = new ResultPoint(0, topRight.getY());\n bottomLeft = new ResultPoint(0, bottomRight.getY());\n }\n else if (rightUnspecified) {\n topRight = new ResultPoint(image.getWidth() - 1, topLeft.getY());\n bottomRight = new ResultPoint(image.getWidth() - 1, bottomLeft.getY());\n }\n this.image = image;\n this.topLeft = topLeft;\n this.bottomLeft = bottomLeft;\n this.topRight = topRight;\n this.bottomRight = bottomRight;\n this.minX = Math.trunc(Math.min(topLeft.getX(), bottomLeft.getX()));\n this.maxX = Math.trunc(Math.max(topRight.getX(), bottomRight.getX()));\n this.minY = Math.trunc(Math.min(topLeft.getY(), topRight.getY()));\n this.maxY = Math.trunc(Math.max(bottomLeft.getY(), bottomRight.getY()));\n };\n BoundingBox.prototype.constructor_2 = function (boundingBox) {\n this.image = boundingBox.image;\n this.topLeft = boundingBox.getTopLeft();\n this.bottomLeft = boundingBox.getBottomLeft();\n this.topRight = boundingBox.getTopRight();\n this.bottomRight = boundingBox.getBottomRight();\n this.minX = boundingBox.getMinX();\n this.maxX = boundingBox.getMaxX();\n this.minY = boundingBox.getMinY();\n this.maxY = boundingBox.getMaxY();\n };\n /**\n * @throws NotFoundException\n */\n BoundingBox.merge = function (leftBox, rightBox) {\n if (leftBox == null) {\n return rightBox;\n }\n if (rightBox == null) {\n return leftBox;\n }\n return new BoundingBox(leftBox.image, leftBox.topLeft, leftBox.bottomLeft, rightBox.topRight, rightBox.bottomRight);\n };\n /**\n * @throws NotFoundException\n */\n BoundingBox.prototype.addMissingRows = function (missingStartRows, missingEndRows, isLeft) {\n var newTopLeft = this.topLeft;\n var newBottomLeft = this.bottomLeft;\n var newTopRight = this.topRight;\n var newBottomRight = this.bottomRight;\n if (missingStartRows > 0) {\n var top_1 = isLeft ? this.topLeft : this.topRight;\n var newMinY = Math.trunc(top_1.getY() - missingStartRows);\n if (newMinY < 0) {\n newMinY = 0;\n }\n var newTop = new ResultPoint(top_1.getX(), newMinY);\n if (isLeft) {\n newTopLeft = newTop;\n }\n else {\n newTopRight = newTop;\n }\n }\n if (missingEndRows > 0) {\n var bottom = isLeft ? this.bottomLeft : this.bottomRight;\n var newMaxY = Math.trunc(bottom.getY() + missingEndRows);\n if (newMaxY >= this.image.getHeight()) {\n newMaxY = this.image.getHeight() - 1;\n }\n var newBottom = new ResultPoint(bottom.getX(), newMaxY);\n if (isLeft) {\n newBottomLeft = newBottom;\n }\n else {\n newBottomRight = newBottom;\n }\n }\n return new BoundingBox(this.image, newTopLeft, newBottomLeft, newTopRight, newBottomRight);\n };\n BoundingBox.prototype.getMinX = function () {\n return this.minX;\n };\n BoundingBox.prototype.getMaxX = function () {\n return this.maxX;\n };\n BoundingBox.prototype.getMinY = function () {\n return this.minY;\n };\n BoundingBox.prototype.getMaxY = function () {\n return this.maxY;\n };\n BoundingBox.prototype.getTopLeft = function () {\n return this.topLeft;\n };\n BoundingBox.prototype.getTopRight = function () {\n return this.topRight;\n };\n BoundingBox.prototype.getBottomLeft = function () {\n return this.bottomLeft;\n };\n BoundingBox.prototype.getBottomRight = function () {\n return this.bottomRight;\n };\n return BoundingBox;\n}());\nexport default BoundingBox;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// package com.google.zxing.pdf417.decoder;\n/**\n * @author Guenther Grau\n */\nvar Codeword = /** @class */ (function () {\n function Codeword(startX, endX, bucket, value) {\n this.rowNumber = Codeword.BARCODE_ROW_UNKNOWN;\n this.startX = Math.trunc(startX);\n this.endX = Math.trunc(endX);\n this.bucket = Math.trunc(bucket);\n this.value = Math.trunc(value);\n }\n Codeword.prototype.hasValidRowNumber = function () {\n return this.isValidRowNumber(this.rowNumber);\n };\n Codeword.prototype.isValidRowNumber = function (rowNumber) {\n return rowNumber !== Codeword.BARCODE_ROW_UNKNOWN && this.bucket === (rowNumber % 3) * 3;\n };\n Codeword.prototype.setRowNumberAsRowIndicatorColumn = function () {\n this.rowNumber = Math.trunc((Math.trunc(this.value / 30)) * 3 + Math.trunc(this.bucket / 3));\n };\n Codeword.prototype.getWidth = function () {\n return this.endX - this.startX;\n };\n Codeword.prototype.getStartX = function () {\n return this.startX;\n };\n Codeword.prototype.getEndX = function () {\n return this.endX;\n };\n Codeword.prototype.getBucket = function () {\n return this.bucket;\n };\n Codeword.prototype.getValue = function () {\n return this.value;\n };\n Codeword.prototype.getRowNumber = function () {\n return this.rowNumber;\n };\n Codeword.prototype.setRowNumber = function (rowNumber) {\n this.rowNumber = rowNumber;\n };\n // @Override\n Codeword.prototype.toString = function () {\n return this.rowNumber + '|' + this.value;\n };\n Codeword.BARCODE_ROW_UNKNOWN = -1;\n return Codeword;\n}());\nexport default Codeword;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// package com.google.zxing.pdf417.decoder;\n// import com.google.zxing.FormatException;\nimport FormatException from '../../FormatException';\n// import com.google.zxing.common.CharacterSetECI;\nimport CharacterSetECI from '../../common/CharacterSetECI';\n// import com.google.zxing.common.DecoderResult;\nimport DecoderResult from '../../common/DecoderResult';\n// import com.google.zxing.pdf417.PDF417ResultMetadata;\nimport PDF417ResultMetadata from '../PDF417ResultMetadata';\n// import java.io.ByteArrayOutputStream;\n// import java.math.BigInteger;\n// import java.nio.charset.Charset;\n// import java.nio.charset.StandardCharsets;\n// import java.util.Arrays;\nimport Arrays from '../../util/Arrays';\nimport StringBuilder from '../../util/StringBuilder';\nimport Integer from '../../util/Integer';\nimport Long from '../../util/Long';\nimport ByteArrayOutputStream from '../../util/ByteArrayOutputStream';\nimport StringEncoding from '../../util/StringEncoding';\n/*private*/ var Mode;\n(function (Mode) {\n Mode[Mode[\"ALPHA\"] = 0] = \"ALPHA\";\n Mode[Mode[\"LOWER\"] = 1] = \"LOWER\";\n Mode[Mode[\"MIXED\"] = 2] = \"MIXED\";\n Mode[Mode[\"PUNCT\"] = 3] = \"PUNCT\";\n Mode[Mode[\"ALPHA_SHIFT\"] = 4] = \"ALPHA_SHIFT\";\n Mode[Mode[\"PUNCT_SHIFT\"] = 5] = \"PUNCT_SHIFT\";\n})(Mode || (Mode = {}));\n/**\n * Indirectly access the global BigInt constructor, it\n * allows browsers that doesn't support BigInt to run\n * the library without breaking due to \"undefined BigInt\"\n * errors.\n */\nfunction getBigIntConstructor() {\n if (typeof window !== 'undefined') {\n return window['BigInt'] || null;\n }\n if (typeof global !== 'undefined') {\n return global['BigInt'] || null;\n }\n if (typeof self !== 'undefined') {\n return self['BigInt'] || null;\n }\n throw new Error('Can\\'t search globals for BigInt!');\n}\n/**\n * Used to store the BigInt constructor.\n */\nvar BigInteger;\n/**\n * This function creates a bigint value. It allows browsers\n * that doesn't support BigInt to run the rest of the library\n * by not directly accessing the BigInt constructor.\n */\nfunction createBigInt(num) {\n if (typeof BigInteger === 'undefined') {\n BigInteger = getBigIntConstructor();\n }\n if (BigInteger === null) {\n throw new Error('BigInt is not supported!');\n }\n return BigInteger(num);\n}\nfunction getEXP900() {\n // in Java - array with length = 16\n var EXP900 = [];\n EXP900[0] = createBigInt(1);\n var nineHundred = createBigInt(900);\n EXP900[1] = nineHundred;\n // in Java - array with length = 16\n for (var i /*int*/ = 2; i < 16; i++) {\n EXP900[i] = EXP900[i - 1] * nineHundred;\n }\n return EXP900;\n}\n/**\n *

    This class contains the methods for decoding the PDF417 codewords.

    \n *\n * @author SITA Lab (kevin.osullivan@sita.aero)\n * @author Guenther Grau\n */\nvar DecodedBitStreamParser = /** @class */ (function () {\n function DecodedBitStreamParser() {\n }\n // private DecodedBitStreamParser() {\n // }\n /**\n *\n * @param codewords\n * @param ecLevel\n *\n * @throws FormatException\n */\n DecodedBitStreamParser.decode = function (codewords, ecLevel) {\n // pass encoding to result (will be used for decode symbols in byte mode)\n var result = new StringBuilder('');\n // let encoding: Charset = StandardCharsets.ISO_8859_1;\n var encoding = CharacterSetECI.ISO8859_1;\n /**\n * @note the next command is specific from this TypeScript library\n * because TS can't properly cast some values to char and\n * convert it to string later correctly due to encoding\n * differences from Java version. As reported here:\n * https://github.com/zxing-js/library/pull/264/files#r382831593\n */\n result.enableDecoding(encoding);\n // Get compaction mode\n var codeIndex = 1;\n var code = codewords[codeIndex++];\n var resultMetadata = new PDF417ResultMetadata();\n while (codeIndex < codewords[0]) {\n switch (code) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex, result);\n break;\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n codeIndex = DecodedBitStreamParser.byteCompaction(code, codewords, encoding, codeIndex, result);\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ codewords[codeIndex++]);\n break;\n case DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH:\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex, result);\n break;\n case DecodedBitStreamParser.ECI_CHARSET:\n var charsetECI = CharacterSetECI.getCharacterSetECIByValue(codewords[codeIndex++]);\n // encoding = Charset.forName(charsetECI.getName());\n break;\n case DecodedBitStreamParser.ECI_GENERAL_PURPOSE:\n // Can't do anything with generic ECI; skip its 2 characters\n codeIndex += 2;\n break;\n case DecodedBitStreamParser.ECI_USER_DEFINED:\n // Can't do anything with user ECI; skip its 1 character\n codeIndex++;\n break;\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n codeIndex = DecodedBitStreamParser.decodeMacroBlock(codewords, codeIndex, resultMetadata);\n break;\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n // Should not see these outside a macro block\n throw new FormatException();\n default:\n // Default to text compaction. During testing numerous barcodes\n // appeared to be missing the starting mode. In these cases defaulting\n // to text compaction seems to work.\n codeIndex--;\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex, result);\n break;\n }\n if (codeIndex < codewords.length) {\n code = codewords[codeIndex++];\n }\n else {\n throw FormatException.getFormatInstance();\n }\n }\n if (result.length() === 0) {\n throw FormatException.getFormatInstance();\n }\n var decoderResult = new DecoderResult(null, result.toString(), null, ecLevel);\n decoderResult.setOther(resultMetadata);\n return decoderResult;\n };\n /**\n *\n * @param int\n * @param param1\n * @param codewords\n * @param int\n * @param codeIndex\n * @param PDF417ResultMetadata\n * @param resultMetadata\n *\n * @throws FormatException\n */\n // @SuppressWarnings(\"deprecation\")\n DecodedBitStreamParser.decodeMacroBlock = function (codewords, codeIndex, resultMetadata) {\n if (codeIndex + DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS > codewords[0]) {\n // we must have at least two bytes left for the segment index\n throw FormatException.getFormatInstance();\n }\n var segmentIndexArray = new Int32Array(DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS);\n for (var i /*int*/ = 0; i < DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS; i++, codeIndex++) {\n segmentIndexArray[i] = codewords[codeIndex];\n }\n resultMetadata.setSegmentIndex(Integer.parseInt(DecodedBitStreamParser.decodeBase900toBase10(segmentIndexArray, DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS)));\n var fileId = new StringBuilder();\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex, fileId);\n resultMetadata.setFileId(fileId.toString());\n var optionalFieldsStart = -1;\n if (codewords[codeIndex] === DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD) {\n optionalFieldsStart = codeIndex + 1;\n }\n while (codeIndex < codewords[0]) {\n switch (codewords[codeIndex]) {\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n codeIndex++;\n switch (codewords[codeIndex]) {\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME:\n var fileName = new StringBuilder();\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex + 1, fileName);\n resultMetadata.setFileName(fileName.toString());\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_SENDER:\n var sender = new StringBuilder();\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex + 1, sender);\n resultMetadata.setSender(sender.toString());\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE:\n var addressee = new StringBuilder();\n codeIndex = DecodedBitStreamParser.textCompaction(codewords, codeIndex + 1, addressee);\n resultMetadata.setAddressee(addressee.toString());\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT:\n var segmentCount = new StringBuilder();\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex + 1, segmentCount);\n resultMetadata.setSegmentCount(Integer.parseInt(segmentCount.toString()));\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP:\n var timestamp = new StringBuilder();\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex + 1, timestamp);\n resultMetadata.setTimestamp(Long.parseLong(timestamp.toString()));\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM:\n var checksum = new StringBuilder();\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex + 1, checksum);\n resultMetadata.setChecksum(Integer.parseInt(checksum.toString()));\n break;\n case DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE:\n var fileSize = new StringBuilder();\n codeIndex = DecodedBitStreamParser.numericCompaction(codewords, codeIndex + 1, fileSize);\n resultMetadata.setFileSize(Long.parseLong(fileSize.toString()));\n break;\n default:\n throw FormatException.getFormatInstance();\n }\n break;\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex++;\n resultMetadata.setLastSegment(true);\n break;\n default:\n throw FormatException.getFormatInstance();\n }\n }\n // copy optional fields to additional options\n if (optionalFieldsStart !== -1) {\n var optionalFieldsLength = codeIndex - optionalFieldsStart;\n if (resultMetadata.isLastSegment()) {\n // do not include terminator\n optionalFieldsLength--;\n }\n resultMetadata.setOptionalData(Arrays.copyOfRange(codewords, optionalFieldsStart, optionalFieldsStart + optionalFieldsLength));\n }\n return codeIndex;\n };\n /**\n * Text Compaction mode (see 5.4.1.5) permits all printable ASCII characters to be\n * encoded, i.e. values 32 - 126 inclusive in accordance with ISO/IEC 646 (IRV), as\n * well as selected control characters.\n *\n * @param codewords The array of codewords (data + error)\n * @param codeIndex The current index into the codeword array.\n * @param result The decoded data is appended to the result.\n * @return The next index into the codeword array.\n */\n DecodedBitStreamParser.textCompaction = function (codewords, codeIndex, result) {\n // 2 character per codeword\n var textCompactionData = new Int32Array((codewords[0] - codeIndex) * 2);\n // Used to hold the byte compaction value if there is a mode shift\n var byteCompactionData = new Int32Array((codewords[0] - codeIndex) * 2);\n var index = 0;\n var end = false;\n while ((codeIndex < codewords[0]) && !end) {\n var code = codewords[codeIndex++];\n if (code < DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH) {\n textCompactionData[index] = code / 30;\n textCompactionData[index + 1] = code % 30;\n index += 2;\n }\n else {\n switch (code) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n // reinitialize text compaction mode to alpha sub mode\n textCompactionData[index++] = DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH;\n break;\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n // The Mode Shift codeword 913 shall cause a temporary\n // switch from Text Compaction mode to Byte Compaction mode.\n // This switch shall be in effect for only the next codeword,\n // after which the mode shall revert to the prevailing sub-mode\n // of the Text Compaction mode. Codeword 913 is only available\n // in Text Compaction mode; its use is described in 5.4.2.4.\n textCompactionData[index] = DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE;\n code = codewords[codeIndex++];\n byteCompactionData[index] = code;\n index++;\n break;\n }\n }\n }\n DecodedBitStreamParser.decodeTextCompaction(textCompactionData, byteCompactionData, index, result);\n return codeIndex;\n };\n /**\n * The Text Compaction mode includes all the printable ASCII characters\n * (i.e. values from 32 to 126) and three ASCII control characters: HT or tab\n * (9: e), LF or line feed (10: e), and CR or carriage\n * return (13: e). The Text Compaction mode also includes various latch\n * and shift characters which are used exclusively within the mode. The Text\n * Compaction mode encodes up to 2 characters per codeword. The compaction rules\n * for converting data into PDF417 codewords are defined in 5.4.2.2. The sub-mode\n * switches are defined in 5.4.2.3.\n *\n * @param textCompactionData The text compaction data.\n * @param byteCompactionData The byte compaction data if there\n * was a mode shift.\n * @param length The size of the text compaction and byte compaction data.\n * @param result The decoded data is appended to the result.\n */\n DecodedBitStreamParser.decodeTextCompaction = function (textCompactionData, byteCompactionData, length, result) {\n // Beginning from an initial state of the Alpha sub-mode\n // The default compaction mode for PDF417 in effect at the start of each symbol shall always be Text\n // Compaction mode Alpha sub-mode (alphabetic: uppercase). A latch codeword from another mode to the Text\n // Compaction mode shall always switch to the Text Compaction Alpha sub-mode.\n var subMode = Mode.ALPHA;\n var priorToShiftMode = Mode.ALPHA;\n var i = 0;\n while (i < length) {\n var subModeCh = textCompactionData[i];\n var ch = /*char*/ '';\n switch (subMode) {\n case Mode.ALPHA:\n // Alpha (alphabetic: uppercase)\n if (subModeCh < 26) {\n // Upper case Alpha Character\n // Note: 65 = 'A' ASCII -> there is byte code of symbol\n ch = /*(char)('A' + subModeCh) */ String.fromCharCode(65 + subModeCh);\n }\n else {\n switch (subModeCh) {\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser.LL:\n subMode = Mode.LOWER;\n break;\n case DecodedBitStreamParser.ML:\n subMode = Mode.MIXED;\n break;\n case DecodedBitStreamParser.PS:\n // Shift to punctuation\n priorToShiftMode = subMode;\n subMode = Mode.PUNCT_SHIFT;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.LOWER:\n // Lower (alphabetic: lowercase)\n if (subModeCh < 26) {\n ch = /*(char)('a' + subModeCh)*/ String.fromCharCode(97 + subModeCh);\n }\n else {\n switch (subModeCh) {\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser.AS:\n // Shift to alpha\n priorToShiftMode = subMode;\n subMode = Mode.ALPHA_SHIFT;\n break;\n case DecodedBitStreamParser.ML:\n subMode = Mode.MIXED;\n break;\n case DecodedBitStreamParser.PS:\n // Shift to punctuation\n priorToShiftMode = subMode;\n subMode = Mode.PUNCT_SHIFT;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n // TODO Does this need to use the current character encoding? See other occurrences below\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.MIXED:\n // Mixed (punctuation: e)\n if (subModeCh < DecodedBitStreamParser.PL) {\n ch = DecodedBitStreamParser.MIXED_CHARS[subModeCh];\n }\n else {\n switch (subModeCh) {\n case DecodedBitStreamParser.PL:\n subMode = Mode.PUNCT;\n break;\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser.LL:\n subMode = Mode.LOWER;\n break;\n case DecodedBitStreamParser.AL:\n subMode = Mode.ALPHA;\n break;\n case DecodedBitStreamParser.PS:\n // Shift to punctuation\n priorToShiftMode = subMode;\n subMode = Mode.PUNCT_SHIFT;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.PUNCT:\n // Punctuation\n if (subModeCh < DecodedBitStreamParser.PAL) {\n ch = DecodedBitStreamParser.PUNCT_CHARS[subModeCh];\n }\n else {\n switch (subModeCh) {\n case DecodedBitStreamParser.PAL:\n subMode = Mode.ALPHA;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.ALPHA_SHIFT:\n // Restore sub-mode\n subMode = priorToShiftMode;\n if (subModeCh < 26) {\n ch = /*(char)('A' + subModeCh)*/ String.fromCharCode(65 + subModeCh);\n }\n else {\n switch (subModeCh) {\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n case Mode.PUNCT_SHIFT:\n // Restore sub-mode\n subMode = priorToShiftMode;\n if (subModeCh < DecodedBitStreamParser.PAL) {\n ch = DecodedBitStreamParser.PUNCT_CHARS[subModeCh];\n }\n else {\n switch (subModeCh) {\n case DecodedBitStreamParser.PAL:\n subMode = Mode.ALPHA;\n break;\n case DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n // PS before Shift-to-Byte is used as a padding character,\n // see 5.4.2.4 of the specification\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode.ALPHA;\n break;\n }\n }\n break;\n }\n // if (ch !== 0) {\n if (ch !== '') {\n // Append decoded character to result\n result.append(ch);\n }\n i++;\n }\n };\n /**\n * Byte Compaction mode (see 5.4.3) permits all 256 possible 8-bit byte values to be encoded.\n * This includes all ASCII characters value 0 to 127 inclusive and provides for international\n * character set support.\n *\n * @param mode The byte compaction mode i.e. 901 or 924\n * @param codewords The array of codewords (data + error)\n * @param encoding Currently active character encoding\n * @param codeIndex The current index into the codeword array.\n * @param result The decoded data is appended to the result.\n * @return The next index into the codeword array.\n */\n DecodedBitStreamParser.byteCompaction = function (mode, codewords, encoding, codeIndex, result) {\n var decodedBytes = new ByteArrayOutputStream();\n var count = 0;\n var value = /*long*/ 0;\n var end = false;\n switch (mode) {\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n // Total number of Byte Compaction characters to be encoded\n // is not a multiple of 6\n var byteCompactedCodewords = new Int32Array(6);\n var nextCode = codewords[codeIndex++];\n while ((codeIndex < codewords[0]) && !end) {\n byteCompactedCodewords[count++] = nextCode;\n // Base 900\n value = 900 * value + nextCode;\n nextCode = codewords[codeIndex++];\n // perhaps it should be ok to check only nextCode >= TEXT_COMPACTION_MODE_LATCH\n switch (nextCode) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n default:\n if ((count % 5 === 0) && (count > 0)) {\n // Decode every 5 codewords\n // Convert to Base 256\n for (var j /*int*/ = 0; j < 6; ++j) {\n /* @note\n * JavaScript stores numbers as 64 bits floating point numbers, but all bitwise operations are performed on 32 bits binary numbers.\n * So the next bitwise operation could not be done with simple numbers\n */\n decodedBytes.write(/*(byte)*/ Number(createBigInt(value) >> createBigInt(8 * (5 - j))));\n }\n value = 0;\n count = 0;\n }\n break;\n }\n }\n // if the end of all codewords is reached the last codeword needs to be added\n if (codeIndex === codewords[0] && nextCode < DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH) {\n byteCompactedCodewords[count++] = nextCode;\n }\n // If Byte Compaction mode is invoked with codeword 901,\n // the last group of codewords is interpreted directly\n // as one byte per codeword, without compaction.\n for (var i /*int*/ = 0; i < count; i++) {\n decodedBytes.write(/*(byte)*/ byteCompactedCodewords[i]);\n }\n break;\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n // Total number of Byte Compaction characters to be encoded\n // is an integer multiple of 6\n while (codeIndex < codewords[0] && !end) {\n var code = codewords[codeIndex++];\n if (code < DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH) {\n count++;\n // Base 900\n value = 900 * value + code;\n }\n else {\n switch (code) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n }\n }\n if ((count % 5 === 0) && (count > 0)) {\n // Decode every 5 codewords\n // Convert to Base 256\n /* @note\n * JavaScript stores numbers as 64 bits floating point numbers, but all bitwise operations are performed on 32 bits binary numbers.\n * So the next bitwise operation could not be done with simple numbers\n */\n for (var j /*int*/ = 0; j < 6; ++j) {\n decodedBytes.write(/*(byte)*/ Number(createBigInt(value) >> createBigInt(8 * (5 - j))));\n }\n value = 0;\n count = 0;\n }\n }\n break;\n }\n result.append(StringEncoding.decode(decodedBytes.toByteArray(), encoding));\n return codeIndex;\n };\n /**\n * Numeric Compaction mode (see 5.4.4) permits efficient encoding of numeric data strings.\n *\n * @param codewords The array of codewords (data + error)\n * @param codeIndex The current index into the codeword array.\n * @param result The decoded data is appended to the result.\n * @return The next index into the codeword array.\n *\n * @throws FormatException\n */\n DecodedBitStreamParser.numericCompaction = function (codewords, codeIndex /*int*/, result) {\n var count = 0;\n var end = false;\n var numericCodewords = new Int32Array(DecodedBitStreamParser.MAX_NUMERIC_CODEWORDS);\n while (codeIndex < codewords[0] && !end) {\n var code = codewords[codeIndex++];\n if (codeIndex === codewords[0]) {\n end = true;\n }\n if (code < DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH) {\n numericCodewords[count] = code;\n count++;\n }\n else {\n switch (code) {\n case DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n }\n }\n if ((count % DecodedBitStreamParser.MAX_NUMERIC_CODEWORDS === 0 || code === DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH || end) && count > 0) {\n // Re-invoking Numeric Compaction mode (by using codeword 902\n // while in Numeric Compaction mode) serves to terminate the\n // current Numeric Compaction mode grouping as described in 5.4.4.2,\n // and then to start a new one grouping.\n result.append(DecodedBitStreamParser.decodeBase900toBase10(numericCodewords, count));\n count = 0;\n }\n }\n return codeIndex;\n };\n /**\n * Convert a list of Numeric Compacted codewords from Base 900 to Base 10.\n *\n * @param codewords The array of codewords\n * @param count The number of codewords\n * @return The decoded string representing the Numeric data.\n *\n * EXAMPLE\n * Encode the fifteen digit numeric string 000213298174000\n * Prefix the numeric string with a 1 and set the initial value of\n * t = 1 000 213 298 174 000\n * Calculate codeword 0\n * d0 = 1 000 213 298 174 000 mod 900 = 200\n *\n * t = 1 000 213 298 174 000 div 900 = 1 111 348 109 082\n * Calculate codeword 1\n * d1 = 1 111 348 109 082 mod 900 = 282\n *\n * t = 1 111 348 109 082 div 900 = 1 234 831 232\n * Calculate codeword 2\n * d2 = 1 234 831 232 mod 900 = 632\n *\n * t = 1 234 831 232 div 900 = 1 372 034\n * Calculate codeword 3\n * d3 = 1 372 034 mod 900 = 434\n *\n * t = 1 372 034 div 900 = 1 524\n * Calculate codeword 4\n * d4 = 1 524 mod 900 = 624\n *\n * t = 1 524 div 900 = 1\n * Calculate codeword 5\n * d5 = 1 mod 900 = 1\n * t = 1 div 900 = 0\n * Codeword sequence is: 1, 624, 434, 632, 282, 200\n *\n * Decode the above codewords involves\n * 1 x 900 power of 5 + 624 x 900 power of 4 + 434 x 900 power of 3 +\n * 632 x 900 power of 2 + 282 x 900 power of 1 + 200 x 900 power of 0 = 1000213298174000\n *\n * Remove leading 1 => Result is 000213298174000\n *\n * @throws FormatException\n */\n DecodedBitStreamParser.decodeBase900toBase10 = function (codewords, count) {\n var result = createBigInt(0);\n for (var i /*int*/ = 0; i < count; i++) {\n result += DecodedBitStreamParser.EXP900[count - i - 1] * createBigInt(codewords[i]);\n }\n var resultString = result.toString();\n if (resultString.charAt(0) !== '1') {\n throw new FormatException();\n }\n return resultString.substring(1);\n };\n DecodedBitStreamParser.TEXT_COMPACTION_MODE_LATCH = 900;\n DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH = 901;\n DecodedBitStreamParser.NUMERIC_COMPACTION_MODE_LATCH = 902;\n DecodedBitStreamParser.BYTE_COMPACTION_MODE_LATCH_6 = 924;\n DecodedBitStreamParser.ECI_USER_DEFINED = 925;\n DecodedBitStreamParser.ECI_GENERAL_PURPOSE = 926;\n DecodedBitStreamParser.ECI_CHARSET = 927;\n DecodedBitStreamParser.BEGIN_MACRO_PDF417_CONTROL_BLOCK = 928;\n DecodedBitStreamParser.BEGIN_MACRO_PDF417_OPTIONAL_FIELD = 923;\n DecodedBitStreamParser.MACRO_PDF417_TERMINATOR = 922;\n DecodedBitStreamParser.MODE_SHIFT_TO_BYTE_COMPACTION_MODE = 913;\n DecodedBitStreamParser.MAX_NUMERIC_CODEWORDS = 15;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME = 0;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT = 1;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP = 2;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_SENDER = 3;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE = 4;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE = 5;\n DecodedBitStreamParser.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM = 6;\n DecodedBitStreamParser.PL = 25;\n DecodedBitStreamParser.LL = 27;\n DecodedBitStreamParser.AS = 27;\n DecodedBitStreamParser.ML = 28;\n DecodedBitStreamParser.AL = 28;\n DecodedBitStreamParser.PS = 29;\n DecodedBitStreamParser.PAL = 29;\n DecodedBitStreamParser.PUNCT_CHARS = ';<>@[\\\\]_`~!\\r\\t,:\\n-.$/\"|*()?{}\\'';\n DecodedBitStreamParser.MIXED_CHARS = '0123456789&\\r\\t,:#-.$/+%*=^';\n /**\n * Table containing values for the exponent of 900.\n * This is used in the numeric compaction decode algorithm.\n */\n DecodedBitStreamParser.EXP900 = getBigIntConstructor() ? getEXP900() : [];\n DecodedBitStreamParser.NUMBER_OF_SEQUENCE_CODEWORDS = 2;\n return DecodedBitStreamParser;\n}());\nexport default DecodedBitStreamParser;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.pdf417.decoder;\n// import com.google.zxing.pdf417.PDF417Common;\nimport PDF417Common from '../PDF417Common';\nimport Formatter from '../../util/Formatter';\n/**\n * @author Guenther Grau\n */\nvar DetectionResult = /** @class */ (function () {\n function DetectionResult(barcodeMetadata, boundingBox) {\n /*final*/ this.ADJUST_ROW_NUMBER_SKIP = 2;\n this.barcodeMetadata = barcodeMetadata;\n this.barcodeColumnCount = barcodeMetadata.getColumnCount();\n this.boundingBox = boundingBox;\n // this.detectionResultColumns = new DetectionResultColumn[this.barcodeColumnCount + 2];\n this.detectionResultColumns = new Array(this.barcodeColumnCount + 2);\n }\n DetectionResult.prototype.getDetectionResultColumns = function () {\n this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[0]);\n this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[this.barcodeColumnCount + 1]);\n var unadjustedCodewordCount = PDF417Common.MAX_CODEWORDS_IN_BARCODE;\n var previousUnadjustedCount;\n do {\n previousUnadjustedCount = unadjustedCodewordCount;\n unadjustedCodewordCount = this.adjustRowNumbersAndGetCount();\n } while (unadjustedCodewordCount > 0 && unadjustedCodewordCount < previousUnadjustedCount);\n return this.detectionResultColumns;\n };\n DetectionResult.prototype.adjustIndicatorColumnRowNumbers = function (detectionResultColumn) {\n if (detectionResultColumn != null) {\n detectionResultColumn\n .adjustCompleteIndicatorColumnRowNumbers(this.barcodeMetadata);\n }\n };\n // TODO ensure that no detected codewords with unknown row number are left\n // we should be able to estimate the row height and use it as a hint for the row number\n // we should also fill the rows top to bottom and bottom to top\n /**\n * @return number of codewords which don't have a valid row number. Note that the count is not accurate as codewords\n * will be counted several times. It just serves as an indicator to see when we can stop adjusting row numbers\n */\n DetectionResult.prototype.adjustRowNumbersAndGetCount = function () {\n var unadjustedCount = this.adjustRowNumbersByRow();\n if (unadjustedCount === 0) {\n return 0;\n }\n for (var barcodeColumn /*int*/ = 1; barcodeColumn < this.barcodeColumnCount + 1; barcodeColumn++) {\n var codewords = this.detectionResultColumns[barcodeColumn].getCodewords();\n for (var codewordsRow /*int*/ = 0; codewordsRow < codewords.length; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n if (!codewords[codewordsRow].hasValidRowNumber()) {\n this.adjustRowNumbers(barcodeColumn, codewordsRow, codewords);\n }\n }\n }\n return unadjustedCount;\n };\n DetectionResult.prototype.adjustRowNumbersByRow = function () {\n this.adjustRowNumbersFromBothRI();\n // TODO we should only do full row adjustments if row numbers of left and right row indicator column match.\n // Maybe it's even better to calculated the height (rows: d) and divide it by the number of barcode\n // rows. This, together with the LRI and RRI row numbers should allow us to get a good estimate where a row\n // number starts and ends.\n var unadjustedCount = this.adjustRowNumbersFromLRI();\n return unadjustedCount + this.adjustRowNumbersFromRRI();\n };\n DetectionResult.prototype.adjustRowNumbersFromBothRI = function () {\n if (this.detectionResultColumns[0] == null || this.detectionResultColumns[this.barcodeColumnCount + 1] == null) {\n return;\n }\n var LRIcodewords = this.detectionResultColumns[0].getCodewords();\n var RRIcodewords = this.detectionResultColumns[this.barcodeColumnCount + 1].getCodewords();\n for (var codewordsRow /*int*/ = 0; codewordsRow < LRIcodewords.length; codewordsRow++) {\n if (LRIcodewords[codewordsRow] != null &&\n RRIcodewords[codewordsRow] != null &&\n LRIcodewords[codewordsRow].getRowNumber() === RRIcodewords[codewordsRow].getRowNumber()) {\n for (var barcodeColumn /*int*/ = 1; barcodeColumn <= this.barcodeColumnCount; barcodeColumn++) {\n var codeword = this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow];\n if (codeword == null) {\n continue;\n }\n codeword.setRowNumber(LRIcodewords[codewordsRow].getRowNumber());\n if (!codeword.hasValidRowNumber()) {\n this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow] = null;\n }\n }\n }\n }\n };\n DetectionResult.prototype.adjustRowNumbersFromRRI = function () {\n if (this.detectionResultColumns[this.barcodeColumnCount + 1] == null) {\n return 0;\n }\n var unadjustedCount = 0;\n var codewords = this.detectionResultColumns[this.barcodeColumnCount + 1].getCodewords();\n for (var codewordsRow /*int*/ = 0; codewordsRow < codewords.length; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n var rowIndicatorRowNumber = codewords[codewordsRow].getRowNumber();\n var invalidRowCounts = 0;\n for (var barcodeColumn /*int*/ = this.barcodeColumnCount + 1; barcodeColumn > 0 && invalidRowCounts < this.ADJUST_ROW_NUMBER_SKIP; barcodeColumn--) {\n var codeword = this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow];\n if (codeword != null) {\n invalidRowCounts = DetectionResult.adjustRowNumberIfValid(rowIndicatorRowNumber, invalidRowCounts, codeword);\n if (!codeword.hasValidRowNumber()) {\n unadjustedCount++;\n }\n }\n }\n }\n return unadjustedCount;\n };\n DetectionResult.prototype.adjustRowNumbersFromLRI = function () {\n if (this.detectionResultColumns[0] == null) {\n return 0;\n }\n var unadjustedCount = 0;\n var codewords = this.detectionResultColumns[0].getCodewords();\n for (var codewordsRow /*int*/ = 0; codewordsRow < codewords.length; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n var rowIndicatorRowNumber = codewords[codewordsRow].getRowNumber();\n var invalidRowCounts = 0;\n for (var barcodeColumn /*int*/ = 1; barcodeColumn < this.barcodeColumnCount + 1 && invalidRowCounts < this.ADJUST_ROW_NUMBER_SKIP; barcodeColumn++) {\n var codeword = this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow];\n if (codeword != null) {\n invalidRowCounts = DetectionResult.adjustRowNumberIfValid(rowIndicatorRowNumber, invalidRowCounts, codeword);\n if (!codeword.hasValidRowNumber()) {\n unadjustedCount++;\n }\n }\n }\n }\n return unadjustedCount;\n };\n DetectionResult.adjustRowNumberIfValid = function (rowIndicatorRowNumber, invalidRowCounts, codeword) {\n if (codeword == null) {\n return invalidRowCounts;\n }\n if (!codeword.hasValidRowNumber()) {\n if (codeword.isValidRowNumber(rowIndicatorRowNumber)) {\n codeword.setRowNumber(rowIndicatorRowNumber);\n invalidRowCounts = 0;\n }\n else {\n ++invalidRowCounts;\n }\n }\n return invalidRowCounts;\n };\n DetectionResult.prototype.adjustRowNumbers = function (barcodeColumn, codewordsRow, codewords) {\n var e_1, _a;\n if (this.detectionResultColumns[barcodeColumn - 1] == null) {\n return;\n }\n var codeword = codewords[codewordsRow];\n var previousColumnCodewords = this.detectionResultColumns[barcodeColumn - 1].getCodewords();\n var nextColumnCodewords = previousColumnCodewords;\n if (this.detectionResultColumns[barcodeColumn + 1] != null) {\n nextColumnCodewords = this.detectionResultColumns[barcodeColumn + 1].getCodewords();\n }\n // let otherCodewords: Codeword[] = new Codeword[14];\n var otherCodewords = new Array(14);\n otherCodewords[2] = previousColumnCodewords[codewordsRow];\n otherCodewords[3] = nextColumnCodewords[codewordsRow];\n if (codewordsRow > 0) {\n otherCodewords[0] = codewords[codewordsRow - 1];\n otherCodewords[4] = previousColumnCodewords[codewordsRow - 1];\n otherCodewords[5] = nextColumnCodewords[codewordsRow - 1];\n }\n if (codewordsRow > 1) {\n otherCodewords[8] = codewords[codewordsRow - 2];\n otherCodewords[10] = previousColumnCodewords[codewordsRow - 2];\n otherCodewords[11] = nextColumnCodewords[codewordsRow - 2];\n }\n if (codewordsRow < codewords.length - 1) {\n otherCodewords[1] = codewords[codewordsRow + 1];\n otherCodewords[6] = previousColumnCodewords[codewordsRow + 1];\n otherCodewords[7] = nextColumnCodewords[codewordsRow + 1];\n }\n if (codewordsRow < codewords.length - 2) {\n otherCodewords[9] = codewords[codewordsRow + 2];\n otherCodewords[12] = previousColumnCodewords[codewordsRow + 2];\n otherCodewords[13] = nextColumnCodewords[codewordsRow + 2];\n }\n try {\n for (var otherCodewords_1 = __values(otherCodewords), otherCodewords_1_1 = otherCodewords_1.next(); !otherCodewords_1_1.done; otherCodewords_1_1 = otherCodewords_1.next()) {\n var otherCodeword = otherCodewords_1_1.value;\n if (DetectionResult.adjustRowNumber(codeword, otherCodeword)) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (otherCodewords_1_1 && !otherCodewords_1_1.done && (_a = otherCodewords_1.return)) _a.call(otherCodewords_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n /**\n * @return true, if row number was adjusted, false otherwise\n */\n DetectionResult.adjustRowNumber = function (codeword, otherCodeword) {\n if (otherCodeword == null) {\n return false;\n }\n if (otherCodeword.hasValidRowNumber() && otherCodeword.getBucket() === codeword.getBucket()) {\n codeword.setRowNumber(otherCodeword.getRowNumber());\n return true;\n }\n return false;\n };\n DetectionResult.prototype.getBarcodeColumnCount = function () {\n return this.barcodeColumnCount;\n };\n DetectionResult.prototype.getBarcodeRowCount = function () {\n return this.barcodeMetadata.getRowCount();\n };\n DetectionResult.prototype.getBarcodeECLevel = function () {\n return this.barcodeMetadata.getErrorCorrectionLevel();\n };\n DetectionResult.prototype.setBoundingBox = function (boundingBox) {\n this.boundingBox = boundingBox;\n };\n DetectionResult.prototype.getBoundingBox = function () {\n return this.boundingBox;\n };\n DetectionResult.prototype.setDetectionResultColumn = function (barcodeColumn, detectionResultColumn) {\n this.detectionResultColumns[barcodeColumn] = detectionResultColumn;\n };\n DetectionResult.prototype.getDetectionResultColumn = function (barcodeColumn) {\n return this.detectionResultColumns[barcodeColumn];\n };\n // @Override\n DetectionResult.prototype.toString = function () {\n var rowIndicatorColumn = this.detectionResultColumns[0];\n if (rowIndicatorColumn == null) {\n rowIndicatorColumn = this.detectionResultColumns[this.barcodeColumnCount + 1];\n }\n // try (\n var formatter = new Formatter();\n // ) {\n for (var codewordsRow /*int*/ = 0; codewordsRow < rowIndicatorColumn.getCodewords().length; codewordsRow++) {\n formatter.format('CW %3d:', codewordsRow);\n for (var barcodeColumn /*int*/ = 0; barcodeColumn < this.barcodeColumnCount + 2; barcodeColumn++) {\n if (this.detectionResultColumns[barcodeColumn] == null) {\n formatter.format(' | ');\n continue;\n }\n var codeword = this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow];\n if (codeword == null) {\n formatter.format(' | ');\n continue;\n }\n formatter.format(' %3d|%3d', codeword.getRowNumber(), codeword.getValue());\n }\n formatter.format('%n');\n }\n return formatter.toString();\n // }\n };\n return DetectionResult;\n}());\nexport default DetectionResult;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.pdf417.decoder;\n// import java.util.Formatter;\nimport Formatter from '../../util/Formatter';\nimport BoundingBox from './BoundingBox';\n/**\n * @author Guenther Grau\n */\nvar DetectionResultColumn = /** @class */ (function () {\n function DetectionResultColumn(boundingBox) {\n this.boundingBox = new BoundingBox(boundingBox);\n // this.codewords = new Codeword[boundingBox.getMaxY() - boundingBox.getMinY() + 1];\n this.codewords = new Array(boundingBox.getMaxY() - boundingBox.getMinY() + 1);\n }\n /*final*/ DetectionResultColumn.prototype.getCodewordNearby = function (imageRow) {\n var codeword = this.getCodeword(imageRow);\n if (codeword != null) {\n return codeword;\n }\n for (var i = 1; i < DetectionResultColumn.MAX_NEARBY_DISTANCE; i++) {\n var nearImageRow = this.imageRowToCodewordIndex(imageRow) - i;\n if (nearImageRow >= 0) {\n codeword = this.codewords[nearImageRow];\n if (codeword != null) {\n return codeword;\n }\n }\n nearImageRow = this.imageRowToCodewordIndex(imageRow) + i;\n if (nearImageRow < this.codewords.length) {\n codeword = this.codewords[nearImageRow];\n if (codeword != null) {\n return codeword;\n }\n }\n }\n return null;\n };\n /*final int*/ DetectionResultColumn.prototype.imageRowToCodewordIndex = function (imageRow) {\n return imageRow - this.boundingBox.getMinY();\n };\n /*final void*/ DetectionResultColumn.prototype.setCodeword = function (imageRow, codeword) {\n this.codewords[this.imageRowToCodewordIndex(imageRow)] = codeword;\n };\n /*final*/ DetectionResultColumn.prototype.getCodeword = function (imageRow) {\n return this.codewords[this.imageRowToCodewordIndex(imageRow)];\n };\n /*final*/ DetectionResultColumn.prototype.getBoundingBox = function () {\n return this.boundingBox;\n };\n /*final*/ DetectionResultColumn.prototype.getCodewords = function () {\n return this.codewords;\n };\n // @Override\n DetectionResultColumn.prototype.toString = function () {\n var e_1, _a;\n var formatter = new Formatter();\n var row = 0;\n try {\n for (var _b = __values(this.codewords), _c = _b.next(); !_c.done; _c = _b.next()) {\n var codeword = _c.value;\n if (codeword == null) {\n formatter.format('%3d: | %n', row++);\n continue;\n }\n formatter.format('%3d: %3d|%3d%n', row++, codeword.getRowNumber(), codeword.getValue());\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return formatter.toString();\n };\n DetectionResultColumn.MAX_NEARBY_DISTANCE = 5;\n return DetectionResultColumn;\n}());\nexport default DetectionResultColumn;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// import com.google.zxing.pdf417.PDF417Common;\nimport PDF417Common from '../PDF417Common';\nimport BarcodeMetadata from './BarcodeMetadata';\nimport DetectionResultColumn from './DetectionResultColumn';\nimport BarcodeValue from './BarcodeValue';\n/**\n * @author Guenther Grau\n */\nvar DetectionResultRowIndicatorColumn = /** @class */ (function (_super) {\n __extends(DetectionResultRowIndicatorColumn, _super);\n function DetectionResultRowIndicatorColumn(boundingBox, isLeft) {\n var _this = _super.call(this, boundingBox) || this;\n _this._isLeft = isLeft;\n return _this;\n }\n DetectionResultRowIndicatorColumn.prototype.setRowNumbers = function () {\n var e_1, _a;\n try {\n for (var _b = __values(this.getCodewords()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var codeword = _c.value /*Codeword*/;\n if (codeword != null) {\n codeword.setRowNumberAsRowIndicatorColumn();\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n // TODO implement properly\n // TODO maybe we should add missing codewords to store the correct row number to make\n // finding row numbers for other columns easier\n // use row height count to make detection of invalid row numbers more reliable\n DetectionResultRowIndicatorColumn.prototype.adjustCompleteIndicatorColumnRowNumbers = function (barcodeMetadata) {\n var codewords = this.getCodewords();\n this.setRowNumbers();\n this.removeIncorrectCodewords(codewords, barcodeMetadata);\n var boundingBox = this.getBoundingBox();\n var top = this._isLeft ? boundingBox.getTopLeft() : boundingBox.getTopRight();\n var bottom = this._isLeft ? boundingBox.getBottomLeft() : boundingBox.getBottomRight();\n var firstRow = this.imageRowToCodewordIndex(Math.trunc(top.getY()));\n var lastRow = this.imageRowToCodewordIndex(Math.trunc(bottom.getY()));\n // We need to be careful using the average row height. Barcode could be skewed so that we have smaller and\n // taller rows\n // float averageRowHeight = (lastRow - firstRow) / /*(float)*/ barcodeMetadata.getRowCount();\n var barcodeRow = -1;\n var maxRowHeight = 1;\n var currentRowHeight = 0;\n for (var codewordsRow /*int*/ = firstRow; codewordsRow < lastRow; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n var codeword = codewords[codewordsRow];\n // float expectedRowNumber = (codewordsRow - firstRow) / averageRowHeight;\n // if (Math.abs(codeword.getRowNumber() - expectedRowNumber) > 2) {\n // SimpleLog.log(LEVEL.WARNING,\n // \"Removing codeword, rowNumberSkew too high, codeword[\" + codewordsRow + \"]: Expected Row: \" +\n // expectedRowNumber + \", RealRow: \" + codeword.getRowNumber() + \", value: \" + codeword.getValue());\n // codewords[codewordsRow] = null;\n // }\n var rowDifference = codeword.getRowNumber() - barcodeRow;\n // TODO improve handling with case where first row indicator doesn't start with 0\n if (rowDifference === 0) {\n currentRowHeight++;\n }\n else if (rowDifference === 1) {\n maxRowHeight = Math.max(maxRowHeight, currentRowHeight);\n currentRowHeight = 1;\n barcodeRow = codeword.getRowNumber();\n }\n else if (rowDifference < 0 ||\n codeword.getRowNumber() >= barcodeMetadata.getRowCount() ||\n rowDifference > codewordsRow) {\n codewords[codewordsRow] = null;\n }\n else {\n var checkedRows = void 0;\n if (maxRowHeight > 2) {\n checkedRows = (maxRowHeight - 2) * rowDifference;\n }\n else {\n checkedRows = rowDifference;\n }\n var closePreviousCodewordFound = checkedRows >= codewordsRow;\n for (var i /*int*/ = 1; i <= checkedRows && !closePreviousCodewordFound; i++) {\n // there must be (height * rowDifference) number of codewords missing. For now we assume height = 1.\n // This should hopefully get rid of most problems already.\n closePreviousCodewordFound = codewords[codewordsRow - i] != null;\n }\n if (closePreviousCodewordFound) {\n codewords[codewordsRow] = null;\n }\n else {\n barcodeRow = codeword.getRowNumber();\n currentRowHeight = 1;\n }\n }\n }\n // return (int) (averageRowHeight + 0.5);\n };\n DetectionResultRowIndicatorColumn.prototype.getRowHeights = function () {\n var e_2, _a;\n var barcodeMetadata = this.getBarcodeMetadata();\n if (barcodeMetadata == null) {\n return null;\n }\n this.adjustIncompleteIndicatorColumnRowNumbers(barcodeMetadata);\n var result = new Int32Array(barcodeMetadata.getRowCount());\n try {\n for (var _b = __values(this.getCodewords()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var codeword = _c.value /*Codeword*/;\n if (codeword != null) {\n var rowNumber = codeword.getRowNumber();\n if (rowNumber >= result.length) {\n // We have more rows than the barcode metadata allows for, ignore them.\n continue;\n }\n result[rowNumber]++;\n } // else throw exception?\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return result;\n };\n // TODO maybe we should add missing codewords to store the correct row number to make\n // finding row numbers for other columns easier\n // use row height count to make detection of invalid row numbers more reliable\n DetectionResultRowIndicatorColumn.prototype.adjustIncompleteIndicatorColumnRowNumbers = function (barcodeMetadata) {\n var boundingBox = this.getBoundingBox();\n var top = this._isLeft ? boundingBox.getTopLeft() : boundingBox.getTopRight();\n var bottom = this._isLeft ? boundingBox.getBottomLeft() : boundingBox.getBottomRight();\n var firstRow = this.imageRowToCodewordIndex(Math.trunc(top.getY()));\n var lastRow = this.imageRowToCodewordIndex(Math.trunc(bottom.getY()));\n // float averageRowHeight = (lastRow - firstRow) / /*(float)*/ barcodeMetadata.getRowCount();\n var codewords = this.getCodewords();\n var barcodeRow = -1;\n var maxRowHeight = 1;\n var currentRowHeight = 0;\n for (var codewordsRow /*int*/ = firstRow; codewordsRow < lastRow; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n var codeword = codewords[codewordsRow];\n codeword.setRowNumberAsRowIndicatorColumn();\n var rowDifference = codeword.getRowNumber() - barcodeRow;\n // TODO improve handling with case where first row indicator doesn't start with 0\n if (rowDifference === 0) {\n currentRowHeight++;\n }\n else if (rowDifference === 1) {\n maxRowHeight = Math.max(maxRowHeight, currentRowHeight);\n currentRowHeight = 1;\n barcodeRow = codeword.getRowNumber();\n }\n else if (codeword.getRowNumber() >= barcodeMetadata.getRowCount()) {\n codewords[codewordsRow] = null;\n }\n else {\n barcodeRow = codeword.getRowNumber();\n currentRowHeight = 1;\n }\n }\n // return (int) (averageRowHeight + 0.5);\n };\n DetectionResultRowIndicatorColumn.prototype.getBarcodeMetadata = function () {\n var e_3, _a;\n var codewords = this.getCodewords();\n var barcodeColumnCount = new BarcodeValue();\n var barcodeRowCountUpperPart = new BarcodeValue();\n var barcodeRowCountLowerPart = new BarcodeValue();\n var barcodeECLevel = new BarcodeValue();\n try {\n for (var codewords_1 = __values(codewords), codewords_1_1 = codewords_1.next(); !codewords_1_1.done; codewords_1_1 = codewords_1.next()) {\n var codeword = codewords_1_1.value /*Codeword*/;\n if (codeword == null) {\n continue;\n }\n codeword.setRowNumberAsRowIndicatorColumn();\n var rowIndicatorValue = codeword.getValue() % 30;\n var codewordRowNumber = codeword.getRowNumber();\n if (!this._isLeft) {\n codewordRowNumber += 2;\n }\n switch (codewordRowNumber % 3) {\n case 0:\n barcodeRowCountUpperPart.setValue(rowIndicatorValue * 3 + 1);\n break;\n case 1:\n barcodeECLevel.setValue(rowIndicatorValue / 3);\n barcodeRowCountLowerPart.setValue(rowIndicatorValue % 3);\n break;\n case 2:\n barcodeColumnCount.setValue(rowIndicatorValue + 1);\n break;\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (codewords_1_1 && !codewords_1_1.done && (_a = codewords_1.return)) _a.call(codewords_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n // Maybe we should check if we have ambiguous values?\n if ((barcodeColumnCount.getValue().length === 0) ||\n (barcodeRowCountUpperPart.getValue().length === 0) ||\n (barcodeRowCountLowerPart.getValue().length === 0) ||\n (barcodeECLevel.getValue().length === 0) ||\n barcodeColumnCount.getValue()[0] < 1 ||\n barcodeRowCountUpperPart.getValue()[0] + barcodeRowCountLowerPart.getValue()[0] < PDF417Common.MIN_ROWS_IN_BARCODE ||\n barcodeRowCountUpperPart.getValue()[0] + barcodeRowCountLowerPart.getValue()[0] > PDF417Common.MAX_ROWS_IN_BARCODE) {\n return null;\n }\n var barcodeMetadata = new BarcodeMetadata(barcodeColumnCount.getValue()[0], barcodeRowCountUpperPart.getValue()[0], barcodeRowCountLowerPart.getValue()[0], barcodeECLevel.getValue()[0]);\n this.removeIncorrectCodewords(codewords, barcodeMetadata);\n return barcodeMetadata;\n };\n DetectionResultRowIndicatorColumn.prototype.removeIncorrectCodewords = function (codewords, barcodeMetadata) {\n // Remove codewords which do not match the metadata\n // TODO Maybe we should keep the incorrect codewords for the start and end positions?\n for (var codewordRow /*int*/ = 0; codewordRow < codewords.length; codewordRow++) {\n var codeword = codewords[codewordRow];\n if (codewords[codewordRow] == null) {\n continue;\n }\n var rowIndicatorValue = codeword.getValue() % 30;\n var codewordRowNumber = codeword.getRowNumber();\n if (codewordRowNumber > barcodeMetadata.getRowCount()) {\n codewords[codewordRow] = null;\n continue;\n }\n if (!this._isLeft) {\n codewordRowNumber += 2;\n }\n switch (codewordRowNumber % 3) {\n case 0:\n if (rowIndicatorValue * 3 + 1 !== barcodeMetadata.getRowCountUpperPart()) {\n codewords[codewordRow] = null;\n }\n break;\n case 1:\n if (Math.trunc(rowIndicatorValue / 3) !== barcodeMetadata.getErrorCorrectionLevel() ||\n rowIndicatorValue % 3 !== barcodeMetadata.getRowCountLowerPart()) {\n codewords[codewordRow] = null;\n }\n break;\n case 2:\n if (rowIndicatorValue + 1 !== barcodeMetadata.getColumnCount()) {\n codewords[codewordRow] = null;\n }\n break;\n }\n }\n };\n DetectionResultRowIndicatorColumn.prototype.isLeft = function () {\n return this._isLeft;\n };\n // @Override\n DetectionResultRowIndicatorColumn.prototype.toString = function () {\n return 'IsLeft: ' + this._isLeft + '\\n' + _super.prototype.toString.call(this);\n };\n return DetectionResultRowIndicatorColumn;\n}(DetectionResultColumn));\nexport default DetectionResultRowIndicatorColumn;\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n// package com.google.zxing.pdf417.decoder;\n// import com.google.zxing.common.detector.MathUtils;\nimport MathUtils from '../../common/detector/MathUtils';\n// import com.google.zxing.pdf417.PDF417Common;\nimport PDF417Common from '../PDF417Common';\nimport Float from '../../util/Float';\n/**\n * @author Guenther Grau\n * @author creatale GmbH (christoph.schulz@creatale.de)\n */\nvar PDF417CodewordDecoder = /** @class */ (function () {\n function PDF417CodewordDecoder() {\n }\n /* @note\n * this action have to be performed before first use of class\n * - static constructor\n * working with 32bit float (based from Java logic)\n */\n PDF417CodewordDecoder.initialize = function () {\n // Pre-computes the symbol ratio table.\n for ( /*int*/var i = 0; i < PDF417Common.SYMBOL_TABLE.length; i++) {\n var currentSymbol = PDF417Common.SYMBOL_TABLE[i];\n var currentBit = currentSymbol & 0x1;\n for ( /*int*/var j = 0; j < PDF417Common.BARS_IN_MODULE; j++) {\n var size = 0.0;\n while ((currentSymbol & 0x1) === currentBit) {\n size += 1.0;\n currentSymbol >>= 1;\n }\n currentBit = currentSymbol & 0x1;\n if (!PDF417CodewordDecoder.RATIOS_TABLE[i]) {\n PDF417CodewordDecoder.RATIOS_TABLE[i] = new Array(PDF417Common.BARS_IN_MODULE);\n }\n PDF417CodewordDecoder.RATIOS_TABLE[i][PDF417Common.BARS_IN_MODULE - j - 1] = Math.fround(size / PDF417Common.MODULES_IN_CODEWORD);\n }\n }\n this.bSymbolTableReady = true;\n };\n PDF417CodewordDecoder.getDecodedValue = function (moduleBitCount) {\n var decodedValue = PDF417CodewordDecoder.getDecodedCodewordValue(PDF417CodewordDecoder.sampleBitCounts(moduleBitCount));\n if (decodedValue !== -1) {\n return decodedValue;\n }\n return PDF417CodewordDecoder.getClosestDecodedValue(moduleBitCount);\n };\n PDF417CodewordDecoder.sampleBitCounts = function (moduleBitCount) {\n var bitCountSum = MathUtils.sum(moduleBitCount);\n var result = new Int32Array(PDF417Common.BARS_IN_MODULE);\n var bitCountIndex = 0;\n var sumPreviousBits = 0;\n for ( /*int*/var i = 0; i < PDF417Common.MODULES_IN_CODEWORD; i++) {\n var sampleIndex = bitCountSum / (2 * PDF417Common.MODULES_IN_CODEWORD) +\n (i * bitCountSum) / PDF417Common.MODULES_IN_CODEWORD;\n if (sumPreviousBits + moduleBitCount[bitCountIndex] <= sampleIndex) {\n sumPreviousBits += moduleBitCount[bitCountIndex];\n bitCountIndex++;\n }\n result[bitCountIndex]++;\n }\n return result;\n };\n PDF417CodewordDecoder.getDecodedCodewordValue = function (moduleBitCount) {\n var decodedValue = PDF417CodewordDecoder.getBitValue(moduleBitCount);\n return PDF417Common.getCodeword(decodedValue) === -1 ? -1 : decodedValue;\n };\n PDF417CodewordDecoder.getBitValue = function (moduleBitCount) {\n var result = /*long*/ 0;\n for (var /*int*/ i = 0; i < moduleBitCount.length; i++) {\n for ( /*int*/var bit = 0; bit < moduleBitCount[i]; bit++) {\n result = (result << 1) | (i % 2 === 0 ? 1 : 0);\n }\n }\n return Math.trunc(result);\n };\n // working with 32bit float (as in Java)\n PDF417CodewordDecoder.getClosestDecodedValue = function (moduleBitCount) {\n var bitCountSum = MathUtils.sum(moduleBitCount);\n var bitCountRatios = new Array(PDF417Common.BARS_IN_MODULE);\n if (bitCountSum > 1) {\n for (var /*int*/ i = 0; i < bitCountRatios.length; i++) {\n bitCountRatios[i] = Math.fround(moduleBitCount[i] / bitCountSum);\n }\n }\n var bestMatchError = Float.MAX_VALUE;\n var bestMatch = -1;\n if (!this.bSymbolTableReady) {\n PDF417CodewordDecoder.initialize();\n }\n for ( /*int*/var j = 0; j < PDF417CodewordDecoder.RATIOS_TABLE.length; j++) {\n var error = 0.0;\n var ratioTableRow = PDF417CodewordDecoder.RATIOS_TABLE[j];\n for ( /*int*/var k = 0; k < PDF417Common.BARS_IN_MODULE; k++) {\n var diff = Math.fround(ratioTableRow[k] - bitCountRatios[k]);\n error += Math.fround(diff * diff);\n if (error >= bestMatchError) {\n break;\n }\n }\n if (error < bestMatchError) {\n bestMatchError = error;\n bestMatch = PDF417Common.SYMBOL_TABLE[j];\n }\n }\n return bestMatch;\n };\n // flag that the table is ready for use\n PDF417CodewordDecoder.bSymbolTableReady = false;\n PDF417CodewordDecoder.RATIOS_TABLE = new Array(PDF417Common.SYMBOL_TABLE.length).map(function (x) { return x = new Array(PDF417Common.BARS_IN_MODULE); });\n return PDF417CodewordDecoder;\n}());\nexport default PDF417CodewordDecoder;\n","/*\n* Copyright 2013 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.pdf417.decoder;\n// import com.google.zxing.ChecksumException;\nimport ChecksumException from '../../ChecksumException';\n// import com.google.zxing.FormatException;\nimport FormatException from '../../FormatException';\n// import com.google.zxing.NotFoundException;\nimport NotFoundException from '../../NotFoundException';\n// import com.google.zxing.common.detector.MathUtils;\nimport MathUtils from '../../common/detector/MathUtils';\n// import com.google.zxing.pdf417.PDF417Common;\nimport PDF417Common from '../PDF417Common';\n// import com.google.zxing.pdf417.decoder.ec.ErrorCorrection;\nimport ErrorCorrection from './ec/ErrorCorrection';\n// local\nimport BoundingBox from './BoundingBox';\nimport DetectionResultRowIndicatorColumn from './DetectionResultRowIndicatorColumn';\nimport DetectionResult from './DetectionResult';\nimport DetectionResultColumn from './DetectionResultColumn';\nimport Codeword from './Codeword';\nimport BarcodeValue from './BarcodeValue';\nimport PDF417CodewordDecoder from './PDF417CodewordDecoder';\nimport DecodedBitStreamParser from './DecodedBitStreamParser';\n// utils\nimport Formatter from '../../util/Formatter';\n// import java.util.ArrayList;\n// import java.util.Collection;\n// import java.util.Formatter;\n// import java.util.List;\n/**\n * @author Guenther Grau\n */\nvar PDF417ScanningDecoder = /** @class */ (function () {\n function PDF417ScanningDecoder() {\n }\n /**\n * @TODO don't pass in minCodewordWidth and maxCodewordWidth, pass in barcode columns for start and stop pattern\n *\n * columns. That way width can be deducted from the pattern column.\n * This approach also allows to detect more details about the barcode, e.g. if a bar type (white or black) is wider\n * than it should be. This can happen if the scanner used a bad blackpoint.\n *\n * @param BitMatrix\n * @param image\n * @param ResultPoint\n * @param imageTopLeft\n * @param ResultPoint\n * @param imageBottomLeft\n * @param ResultPoint\n * @param imageTopRight\n * @param ResultPoint\n * @param imageBottomRight\n * @param int\n * @param minCodewordWidth\n * @param int\n * @param maxCodewordWidth\n *\n * @throws NotFoundException\n * @throws FormatException\n * @throws ChecksumException\n */\n PDF417ScanningDecoder.decode = function (image, imageTopLeft, imageBottomLeft, imageTopRight, imageBottomRight, minCodewordWidth, maxCodewordWidth) {\n var boundingBox = new BoundingBox(image, imageTopLeft, imageBottomLeft, imageTopRight, imageBottomRight);\n var leftRowIndicatorColumn = null;\n var rightRowIndicatorColumn = null;\n var detectionResult;\n for (var firstPass /*boolean*/ = true;; firstPass = false) {\n if (imageTopLeft != null) {\n leftRowIndicatorColumn = PDF417ScanningDecoder.getRowIndicatorColumn(image, boundingBox, imageTopLeft, true, minCodewordWidth, maxCodewordWidth);\n }\n if (imageTopRight != null) {\n rightRowIndicatorColumn = PDF417ScanningDecoder.getRowIndicatorColumn(image, boundingBox, imageTopRight, false, minCodewordWidth, maxCodewordWidth);\n }\n detectionResult = PDF417ScanningDecoder.merge(leftRowIndicatorColumn, rightRowIndicatorColumn);\n if (detectionResult == null) {\n throw NotFoundException.getNotFoundInstance();\n }\n var resultBox = detectionResult.getBoundingBox();\n if (firstPass && resultBox != null &&\n (resultBox.getMinY() < boundingBox.getMinY() || resultBox.getMaxY() > boundingBox.getMaxY())) {\n boundingBox = resultBox;\n }\n else {\n break;\n }\n }\n detectionResult.setBoundingBox(boundingBox);\n var maxBarcodeColumn = detectionResult.getBarcodeColumnCount() + 1;\n detectionResult.setDetectionResultColumn(0, leftRowIndicatorColumn);\n detectionResult.setDetectionResultColumn(maxBarcodeColumn, rightRowIndicatorColumn);\n var leftToRight = leftRowIndicatorColumn != null;\n for (var barcodeColumnCount /*int*/ = 1; barcodeColumnCount <= maxBarcodeColumn; barcodeColumnCount++) {\n var barcodeColumn = leftToRight ? barcodeColumnCount : maxBarcodeColumn - barcodeColumnCount;\n if (detectionResult.getDetectionResultColumn(barcodeColumn) !== /* null */ undefined) {\n // This will be the case for the opposite row indicator column, which doesn't need to be decoded again.\n continue;\n }\n var detectionResultColumn = void 0;\n if (barcodeColumn === 0 || barcodeColumn === maxBarcodeColumn) {\n detectionResultColumn = new DetectionResultRowIndicatorColumn(boundingBox, barcodeColumn === 0);\n }\n else {\n detectionResultColumn = new DetectionResultColumn(boundingBox);\n }\n detectionResult.setDetectionResultColumn(barcodeColumn, detectionResultColumn);\n var startColumn = -1;\n var previousStartColumn = startColumn;\n // TODO start at a row for which we know the start position, then detect upwards and downwards from there.\n for (var imageRow /*int*/ = boundingBox.getMinY(); imageRow <= boundingBox.getMaxY(); imageRow++) {\n startColumn = PDF417ScanningDecoder.getStartColumn(detectionResult, barcodeColumn, imageRow, leftToRight);\n if (startColumn < 0 || startColumn > boundingBox.getMaxX()) {\n if (previousStartColumn === -1) {\n continue;\n }\n startColumn = previousStartColumn;\n }\n var codeword = PDF417ScanningDecoder.detectCodeword(image, boundingBox.getMinX(), boundingBox.getMaxX(), leftToRight, startColumn, imageRow, minCodewordWidth, maxCodewordWidth);\n if (codeword != null) {\n detectionResultColumn.setCodeword(imageRow, codeword);\n previousStartColumn = startColumn;\n minCodewordWidth = Math.min(minCodewordWidth, codeword.getWidth());\n maxCodewordWidth = Math.max(maxCodewordWidth, codeword.getWidth());\n }\n }\n }\n return PDF417ScanningDecoder.createDecoderResult(detectionResult);\n };\n /**\n *\n * @param leftRowIndicatorColumn\n * @param rightRowIndicatorColumn\n *\n * @throws NotFoundException\n */\n PDF417ScanningDecoder.merge = function (leftRowIndicatorColumn, rightRowIndicatorColumn) {\n if (leftRowIndicatorColumn == null && rightRowIndicatorColumn == null) {\n return null;\n }\n var barcodeMetadata = PDF417ScanningDecoder.getBarcodeMetadata(leftRowIndicatorColumn, rightRowIndicatorColumn);\n if (barcodeMetadata == null) {\n return null;\n }\n var boundingBox = BoundingBox.merge(PDF417ScanningDecoder.adjustBoundingBox(leftRowIndicatorColumn), PDF417ScanningDecoder.adjustBoundingBox(rightRowIndicatorColumn));\n return new DetectionResult(barcodeMetadata, boundingBox);\n };\n /**\n *\n * @param rowIndicatorColumn\n *\n * @throws NotFoundException\n */\n PDF417ScanningDecoder.adjustBoundingBox = function (rowIndicatorColumn) {\n var e_1, _a;\n if (rowIndicatorColumn == null) {\n return null;\n }\n var rowHeights = rowIndicatorColumn.getRowHeights();\n if (rowHeights == null) {\n return null;\n }\n var maxRowHeight = PDF417ScanningDecoder.getMax(rowHeights);\n var missingStartRows = 0;\n try {\n for (var rowHeights_1 = __values(rowHeights), rowHeights_1_1 = rowHeights_1.next(); !rowHeights_1_1.done; rowHeights_1_1 = rowHeights_1.next()) {\n var rowHeight = rowHeights_1_1.value /*int*/;\n missingStartRows += maxRowHeight - rowHeight;\n if (rowHeight > 0) {\n break;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (rowHeights_1_1 && !rowHeights_1_1.done && (_a = rowHeights_1.return)) _a.call(rowHeights_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var codewords = rowIndicatorColumn.getCodewords();\n for (var row /*int*/ = 0; missingStartRows > 0 && codewords[row] == null; row++) {\n missingStartRows--;\n }\n var missingEndRows = 0;\n for (var row /*int*/ = rowHeights.length - 1; row >= 0; row--) {\n missingEndRows += maxRowHeight - rowHeights[row];\n if (rowHeights[row] > 0) {\n break;\n }\n }\n for (var row /*int*/ = codewords.length - 1; missingEndRows > 0 && codewords[row] == null; row--) {\n missingEndRows--;\n }\n return rowIndicatorColumn.getBoundingBox().addMissingRows(missingStartRows, missingEndRows, rowIndicatorColumn.isLeft());\n };\n PDF417ScanningDecoder.getMax = function (values) {\n var e_2, _a;\n var maxValue = -1;\n try {\n for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {\n var value = values_1_1.value /*int*/;\n maxValue = Math.max(maxValue, value);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n return maxValue;\n };\n PDF417ScanningDecoder.getBarcodeMetadata = function (leftRowIndicatorColumn, rightRowIndicatorColumn) {\n var leftBarcodeMetadata;\n if (leftRowIndicatorColumn == null ||\n (leftBarcodeMetadata = leftRowIndicatorColumn.getBarcodeMetadata()) == null) {\n return rightRowIndicatorColumn == null ? null : rightRowIndicatorColumn.getBarcodeMetadata();\n }\n var rightBarcodeMetadata;\n if (rightRowIndicatorColumn == null ||\n (rightBarcodeMetadata = rightRowIndicatorColumn.getBarcodeMetadata()) == null) {\n return leftBarcodeMetadata;\n }\n if (leftBarcodeMetadata.getColumnCount() !== rightBarcodeMetadata.getColumnCount() &&\n leftBarcodeMetadata.getErrorCorrectionLevel() !== rightBarcodeMetadata.getErrorCorrectionLevel() &&\n leftBarcodeMetadata.getRowCount() !== rightBarcodeMetadata.getRowCount()) {\n return null;\n }\n return leftBarcodeMetadata;\n };\n PDF417ScanningDecoder.getRowIndicatorColumn = function (image, boundingBox, startPoint, leftToRight, minCodewordWidth, maxCodewordWidth) {\n var rowIndicatorColumn = new DetectionResultRowIndicatorColumn(boundingBox, leftToRight);\n for (var i /*int*/ = 0; i < 2; i++) {\n var increment = i === 0 ? 1 : -1;\n var startColumn = Math.trunc(Math.trunc(startPoint.getX()));\n for (var imageRow /*int*/ = Math.trunc(Math.trunc(startPoint.getY())); imageRow <= boundingBox.getMaxY() &&\n imageRow >= boundingBox.getMinY(); imageRow += increment) {\n var codeword = PDF417ScanningDecoder.detectCodeword(image, 0, image.getWidth(), leftToRight, startColumn, imageRow, minCodewordWidth, maxCodewordWidth);\n if (codeword != null) {\n rowIndicatorColumn.setCodeword(imageRow, codeword);\n if (leftToRight) {\n startColumn = codeword.getStartX();\n }\n else {\n startColumn = codeword.getEndX();\n }\n }\n }\n }\n return rowIndicatorColumn;\n };\n /**\n *\n * @param detectionResult\n * @param BarcodeValue\n * @param param2\n * @param param3\n * @param barcodeMatrix\n *\n * @throws NotFoundException\n */\n PDF417ScanningDecoder.adjustCodewordCount = function (detectionResult, barcodeMatrix) {\n var barcodeMatrix01 = barcodeMatrix[0][1];\n var numberOfCodewords = barcodeMatrix01.getValue();\n var calculatedNumberOfCodewords = detectionResult.getBarcodeColumnCount() *\n detectionResult.getBarcodeRowCount() -\n PDF417ScanningDecoder.getNumberOfECCodeWords(detectionResult.getBarcodeECLevel());\n if (numberOfCodewords.length === 0) {\n if (calculatedNumberOfCodewords < 1 || calculatedNumberOfCodewords > PDF417Common.MAX_CODEWORDS_IN_BARCODE) {\n throw NotFoundException.getNotFoundInstance();\n }\n barcodeMatrix01.setValue(calculatedNumberOfCodewords);\n }\n else if (numberOfCodewords[0] !== calculatedNumberOfCodewords) {\n // The calculated one is more reliable as it is derived from the row indicator columns\n barcodeMatrix01.setValue(calculatedNumberOfCodewords);\n }\n };\n /**\n *\n * @param detectionResult\n *\n * @throws FormatException\n * @throws ChecksumException\n * @throws NotFoundException\n */\n PDF417ScanningDecoder.createDecoderResult = function (detectionResult) {\n var barcodeMatrix = PDF417ScanningDecoder.createBarcodeMatrix(detectionResult);\n PDF417ScanningDecoder.adjustCodewordCount(detectionResult, barcodeMatrix);\n var erasures /*Collection*/ = new Array();\n var codewords = new Int32Array(detectionResult.getBarcodeRowCount() * detectionResult.getBarcodeColumnCount());\n var ambiguousIndexValuesList = /*List*/ [];\n var ambiguousIndexesList = /*Collection*/ new Array();\n for (var row /*int*/ = 0; row < detectionResult.getBarcodeRowCount(); row++) {\n for (var column /*int*/ = 0; column < detectionResult.getBarcodeColumnCount(); column++) {\n var values = barcodeMatrix[row][column + 1].getValue();\n var codewordIndex = row * detectionResult.getBarcodeColumnCount() + column;\n if (values.length === 0) {\n erasures.push(codewordIndex);\n }\n else if (values.length === 1) {\n codewords[codewordIndex] = values[0];\n }\n else {\n ambiguousIndexesList.push(codewordIndex);\n ambiguousIndexValuesList.push(values);\n }\n }\n }\n var ambiguousIndexValues = new Array(ambiguousIndexValuesList.length);\n for (var i /*int*/ = 0; i < ambiguousIndexValues.length; i++) {\n ambiguousIndexValues[i] = ambiguousIndexValuesList[i];\n }\n return PDF417ScanningDecoder.createDecoderResultFromAmbiguousValues(detectionResult.getBarcodeECLevel(), codewords, PDF417Common.toIntArray(erasures), PDF417Common.toIntArray(ambiguousIndexesList), ambiguousIndexValues);\n };\n /**\n * This method deals with the fact, that the decoding process doesn't always yield a single most likely value. The\n * current error correction implementation doesn't deal with erasures very well, so it's better to provide a value\n * for these ambiguous codewords instead of treating it as an erasure. The problem is that we don't know which of\n * the ambiguous values to choose. We try decode using the first value, and if that fails, we use another of the\n * ambiguous values and try to decode again. This usually only happens on very hard to read and decode barcodes,\n * so decoding the normal barcodes is not affected by this.\n *\n * @param erasureArray contains the indexes of erasures\n * @param ambiguousIndexes array with the indexes that have more than one most likely value\n * @param ambiguousIndexValues two dimensional array that contains the ambiguous values. The first dimension must\n * be the same length as the ambiguousIndexes array\n *\n * @throws FormatException\n * @throws ChecksumException\n */\n PDF417ScanningDecoder.createDecoderResultFromAmbiguousValues = function (ecLevel, codewords, erasureArray, ambiguousIndexes, ambiguousIndexValues) {\n var ambiguousIndexCount = new Int32Array(ambiguousIndexes.length);\n var tries = 100;\n while (tries-- > 0) {\n for (var i /*int*/ = 0; i < ambiguousIndexCount.length; i++) {\n codewords[ambiguousIndexes[i]] = ambiguousIndexValues[i][ambiguousIndexCount[i]];\n }\n try {\n return PDF417ScanningDecoder.decodeCodewords(codewords, ecLevel, erasureArray);\n }\n catch (err) {\n var ignored = err instanceof ChecksumException;\n if (!ignored) {\n throw err;\n }\n }\n if (ambiguousIndexCount.length === 0) {\n throw ChecksumException.getChecksumInstance();\n }\n for (var i /*int*/ = 0; i < ambiguousIndexCount.length; i++) {\n if (ambiguousIndexCount[i] < ambiguousIndexValues[i].length - 1) {\n ambiguousIndexCount[i]++;\n break;\n }\n else {\n ambiguousIndexCount[i] = 0;\n if (i === ambiguousIndexCount.length - 1) {\n throw ChecksumException.getChecksumInstance();\n }\n }\n }\n }\n throw ChecksumException.getChecksumInstance();\n };\n PDF417ScanningDecoder.createBarcodeMatrix = function (detectionResult) {\n var e_3, _a, e_4, _b;\n // let barcodeMatrix: BarcodeValue[][] =\n // new BarcodeValue[detectionResult.getBarcodeRowCount()][detectionResult.getBarcodeColumnCount() + 2];\n var barcodeMatrix = Array.from({ length: detectionResult.getBarcodeRowCount() }, function () { return new Array(detectionResult.getBarcodeColumnCount() + 2); });\n for (var row /*int*/ = 0; row < barcodeMatrix.length; row++) {\n for (var column_1 /*int*/ = 0; column_1 < barcodeMatrix[row].length; column_1++) {\n barcodeMatrix[row][column_1] = new BarcodeValue();\n }\n }\n var column = 0;\n try {\n for (var _c = __values(detectionResult.getDetectionResultColumns()), _d = _c.next(); !_d.done; _d = _c.next()) {\n var detectionResultColumn = _d.value /*DetectionResultColumn*/;\n if (detectionResultColumn != null) {\n try {\n for (var _e = (e_4 = void 0, __values(detectionResultColumn.getCodewords())), _f = _e.next(); !_f.done; _f = _e.next()) {\n var codeword = _f.value /*Codeword*/;\n if (codeword != null) {\n var rowNumber = codeword.getRowNumber();\n if (rowNumber >= 0) {\n if (rowNumber >= barcodeMatrix.length) {\n // We have more rows than the barcode metadata allows for, ignore them.\n continue;\n }\n barcodeMatrix[rowNumber][column].setValue(codeword.getValue());\n }\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n }\n finally { if (e_4) throw e_4.error; }\n }\n }\n column++;\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return barcodeMatrix;\n };\n PDF417ScanningDecoder.isValidBarcodeColumn = function (detectionResult, barcodeColumn) {\n return barcodeColumn >= 0 && barcodeColumn <= detectionResult.getBarcodeColumnCount() + 1;\n };\n PDF417ScanningDecoder.getStartColumn = function (detectionResult, barcodeColumn, imageRow, leftToRight) {\n var e_5, _a;\n var offset = leftToRight ? 1 : -1;\n var codeword = null;\n if (PDF417ScanningDecoder.isValidBarcodeColumn(detectionResult, barcodeColumn - offset)) {\n codeword = detectionResult.getDetectionResultColumn(barcodeColumn - offset).getCodeword(imageRow);\n }\n if (codeword != null) {\n return leftToRight ? codeword.getEndX() : codeword.getStartX();\n }\n codeword = detectionResult.getDetectionResultColumn(barcodeColumn).getCodewordNearby(imageRow);\n if (codeword != null) {\n return leftToRight ? codeword.getStartX() : codeword.getEndX();\n }\n if (PDF417ScanningDecoder.isValidBarcodeColumn(detectionResult, barcodeColumn - offset)) {\n codeword = detectionResult.getDetectionResultColumn(barcodeColumn - offset).getCodewordNearby(imageRow);\n }\n if (codeword != null) {\n return leftToRight ? codeword.getEndX() : codeword.getStartX();\n }\n var skippedColumns = 0;\n while (PDF417ScanningDecoder.isValidBarcodeColumn(detectionResult, barcodeColumn - offset)) {\n barcodeColumn -= offset;\n try {\n for (var _b = (e_5 = void 0, __values(detectionResult.getDetectionResultColumn(barcodeColumn).getCodewords())), _c = _b.next(); !_c.done; _c = _b.next()) {\n var previousRowCodeword = _c.value /*Codeword*/;\n if (previousRowCodeword != null) {\n return (leftToRight ? previousRowCodeword.getEndX() : previousRowCodeword.getStartX()) +\n offset *\n skippedColumns *\n (previousRowCodeword.getEndX() - previousRowCodeword.getStartX());\n }\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_5) throw e_5.error; }\n }\n skippedColumns++;\n }\n return leftToRight ? detectionResult.getBoundingBox().getMinX() : detectionResult.getBoundingBox().getMaxX();\n };\n PDF417ScanningDecoder.detectCodeword = function (image, minColumn, maxColumn, leftToRight, startColumn, imageRow, minCodewordWidth, maxCodewordWidth) {\n startColumn = PDF417ScanningDecoder.adjustCodewordStartColumn(image, minColumn, maxColumn, leftToRight, startColumn, imageRow);\n // we usually know fairly exact now how long a codeword is. We should provide minimum and maximum expected length\n // and try to adjust the read pixels, e.g. remove single pixel errors or try to cut off exceeding pixels.\n // min and maxCodewordWidth should not be used as they are calculated for the whole barcode an can be inaccurate\n // for the current position\n var moduleBitCount = PDF417ScanningDecoder.getModuleBitCount(image, minColumn, maxColumn, leftToRight, startColumn, imageRow);\n if (moduleBitCount == null) {\n return null;\n }\n var endColumn;\n var codewordBitCount = MathUtils.sum(moduleBitCount);\n if (leftToRight) {\n endColumn = startColumn + codewordBitCount;\n }\n else {\n for (var i /*int*/ = 0; i < moduleBitCount.length / 2; i++) {\n var tmpCount = moduleBitCount[i];\n moduleBitCount[i] = moduleBitCount[moduleBitCount.length - 1 - i];\n moduleBitCount[moduleBitCount.length - 1 - i] = tmpCount;\n }\n endColumn = startColumn;\n startColumn = endColumn - codewordBitCount;\n }\n // TODO implement check for width and correction of black and white bars\n // use start (and maybe stop pattern) to determine if black bars are wider than white bars. If so, adjust.\n // should probably done only for codewords with a lot more than 17 bits.\n // The following fixes 10-1.png, which has wide black bars and small white bars\n // for (let i /*int*/ = 0; i < moduleBitCount.length; i++) {\n // if (i % 2 === 0) {\n // moduleBitCount[i]--;\n // } else {\n // moduleBitCount[i]++;\n // }\n // }\n // We could also use the width of surrounding codewords for more accurate results, but this seems\n // sufficient for now\n if (!PDF417ScanningDecoder.checkCodewordSkew(codewordBitCount, minCodewordWidth, maxCodewordWidth)) {\n // We could try to use the startX and endX position of the codeword in the same column in the previous row,\n // create the bit count from it and normalize it to 8. This would help with single pixel errors.\n return null;\n }\n var decodedValue = PDF417CodewordDecoder.getDecodedValue(moduleBitCount);\n var codeword = PDF417Common.getCodeword(decodedValue);\n if (codeword === -1) {\n return null;\n }\n return new Codeword(startColumn, endColumn, PDF417ScanningDecoder.getCodewordBucketNumber(decodedValue), codeword);\n };\n PDF417ScanningDecoder.getModuleBitCount = function (image, minColumn, maxColumn, leftToRight, startColumn, imageRow) {\n var imageColumn = startColumn;\n var moduleBitCount = new Int32Array(8);\n var moduleNumber = 0;\n var increment = leftToRight ? 1 : -1;\n var previousPixelValue = leftToRight;\n while ((leftToRight ? imageColumn < maxColumn : imageColumn >= minColumn) &&\n moduleNumber < moduleBitCount.length) {\n if (image.get(imageColumn, imageRow) === previousPixelValue) {\n moduleBitCount[moduleNumber]++;\n imageColumn += increment;\n }\n else {\n moduleNumber++;\n previousPixelValue = !previousPixelValue;\n }\n }\n if (moduleNumber === moduleBitCount.length ||\n ((imageColumn === (leftToRight ? maxColumn : minColumn)) &&\n moduleNumber === moduleBitCount.length - 1)) {\n return moduleBitCount;\n }\n return null;\n };\n PDF417ScanningDecoder.getNumberOfECCodeWords = function (barcodeECLevel) {\n return 2 << barcodeECLevel;\n };\n PDF417ScanningDecoder.adjustCodewordStartColumn = function (image, minColumn, maxColumn, leftToRight, codewordStartColumn, imageRow) {\n var correctedStartColumn = codewordStartColumn;\n var increment = leftToRight ? -1 : 1;\n // there should be no black pixels before the start column. If there are, then we need to start earlier.\n for (var i /*int*/ = 0; i < 2; i++) {\n while ((leftToRight ? correctedStartColumn >= minColumn : correctedStartColumn < maxColumn) &&\n leftToRight === image.get(correctedStartColumn, imageRow)) {\n if (Math.abs(codewordStartColumn - correctedStartColumn) > PDF417ScanningDecoder.CODEWORD_SKEW_SIZE) {\n return codewordStartColumn;\n }\n correctedStartColumn += increment;\n }\n increment = -increment;\n leftToRight = !leftToRight;\n }\n return correctedStartColumn;\n };\n PDF417ScanningDecoder.checkCodewordSkew = function (codewordSize, minCodewordWidth, maxCodewordWidth) {\n return minCodewordWidth - PDF417ScanningDecoder.CODEWORD_SKEW_SIZE <= codewordSize &&\n codewordSize <= maxCodewordWidth + PDF417ScanningDecoder.CODEWORD_SKEW_SIZE;\n };\n /**\n * @throws FormatException,\n * @throws ChecksumException\n */\n PDF417ScanningDecoder.decodeCodewords = function (codewords, ecLevel, erasures) {\n if (codewords.length === 0) {\n throw FormatException.getFormatInstance();\n }\n var numECCodewords = 1 << (ecLevel + 1);\n var correctedErrorsCount = PDF417ScanningDecoder.correctErrors(codewords, erasures, numECCodewords);\n PDF417ScanningDecoder.verifyCodewordCount(codewords, numECCodewords);\n // Decode the codewords\n var decoderResult = DecodedBitStreamParser.decode(codewords, '' + ecLevel);\n decoderResult.setErrorsCorrected(correctedErrorsCount);\n decoderResult.setErasures(erasures.length);\n return decoderResult;\n };\n /**\n *

    Given data and error-correction codewords received, possibly corrupted by errors, attempts to\n * correct the errors in-place.

    \n *\n * @param codewords data and error correction codewords\n * @param erasures positions of any known erasures\n * @param numECCodewords number of error correction codewords that are available in codewords\n * @throws ChecksumException if error correction fails\n */\n PDF417ScanningDecoder.correctErrors = function (codewords, erasures, numECCodewords) {\n if (erasures != null &&\n erasures.length > numECCodewords / 2 + PDF417ScanningDecoder.MAX_ERRORS ||\n numECCodewords < 0 ||\n numECCodewords > PDF417ScanningDecoder.MAX_EC_CODEWORDS) {\n // Too many errors or EC Codewords is corrupted\n throw ChecksumException.getChecksumInstance();\n }\n return PDF417ScanningDecoder.errorCorrection.decode(codewords, numECCodewords, erasures);\n };\n /**\n * Verify that all is OK with the codeword array.\n * @throws FormatException\n */\n PDF417ScanningDecoder.verifyCodewordCount = function (codewords, numECCodewords) {\n if (codewords.length < 4) {\n // Codeword array size should be at least 4 allowing for\n // Count CW, At least one Data CW, Error Correction CW, Error Correction CW\n throw FormatException.getFormatInstance();\n }\n // The first codeword, the Symbol Length Descriptor, shall always encode the total number of data\n // codewords in the symbol, including the Symbol Length Descriptor itself, data codewords and pad\n // codewords, but excluding the number of error correction codewords.\n var numberOfCodewords = codewords[0];\n if (numberOfCodewords > codewords.length) {\n throw FormatException.getFormatInstance();\n }\n if (numberOfCodewords === 0) {\n // Reset to the length of the array - 8 (Allow for at least level 3 Error Correction (8 Error Codewords)\n if (numECCodewords < codewords.length) {\n codewords[0] = codewords.length - numECCodewords;\n }\n else {\n throw FormatException.getFormatInstance();\n }\n }\n };\n PDF417ScanningDecoder.getBitCountForCodeword = function (codeword) {\n var result = new Int32Array(8);\n var previousValue = 0;\n var i = result.length - 1;\n while (true) {\n if ((codeword & 0x1) !== previousValue) {\n previousValue = codeword & 0x1;\n i--;\n if (i < 0) {\n break;\n }\n }\n result[i]++;\n codeword >>= 1;\n }\n return result;\n };\n PDF417ScanningDecoder.getCodewordBucketNumber = function (codeword) {\n if (codeword instanceof Int32Array) {\n return this.getCodewordBucketNumber_Int32Array(codeword);\n }\n return this.getCodewordBucketNumber_number(codeword);\n };\n PDF417ScanningDecoder.getCodewordBucketNumber_number = function (codeword) {\n return PDF417ScanningDecoder.getCodewordBucketNumber(PDF417ScanningDecoder.getBitCountForCodeword(codeword));\n };\n PDF417ScanningDecoder.getCodewordBucketNumber_Int32Array = function (moduleBitCount) {\n return (moduleBitCount[0] - moduleBitCount[2] + moduleBitCount[4] - moduleBitCount[6] + 9) % 9;\n };\n PDF417ScanningDecoder.toString = function (barcodeMatrix) {\n var formatter = new Formatter();\n // try (let formatter = new Formatter()) {\n for (var row /*int*/ = 0; row < barcodeMatrix.length; row++) {\n formatter.format('Row %2d: ', row);\n for (var column /*int*/ = 0; column < barcodeMatrix[row].length; column++) {\n var barcodeValue = barcodeMatrix[row][column];\n if (barcodeValue.getValue().length === 0) {\n formatter.format(' ', null);\n }\n else {\n formatter.format('%4d(%2d)', barcodeValue.getValue()[0], barcodeValue.getConfidence(barcodeValue.getValue()[0]));\n }\n }\n formatter.format('%n');\n }\n return formatter.toString();\n // }\n };\n /*final*/ PDF417ScanningDecoder.CODEWORD_SKEW_SIZE = 2;\n /*final*/ PDF417ScanningDecoder.MAX_ERRORS = 3;\n /*final*/ PDF417ScanningDecoder.MAX_EC_CODEWORDS = 512;\n /*final*/ PDF417ScanningDecoder.errorCorrection = new ErrorCorrection();\n return PDF417ScanningDecoder;\n}());\nexport default PDF417ScanningDecoder;\n","/*\n* Copyright 2012 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.pdf417.decoder.ec;\n// import com.google.zxing.ChecksumException;\nimport ChecksumException from '../../../ChecksumException';\nimport ModulusPoly from './ModulusPoly';\nimport ModulusGF from './ModulusGF';\n/**\n *

    PDF417 error correction implementation.

    \n *\n *

    This example\n * is quite useful in understanding the algorithm.

    \n *\n * @author Sean Owen\n * @see com.google.zxing.common.reedsolomon.ReedSolomonDecoder\n */\nvar ErrorCorrection = /** @class */ (function () {\n function ErrorCorrection() {\n this.field = ModulusGF.PDF417_GF;\n }\n /**\n * @param received received codewords\n * @param numECCodewords number of those codewords used for EC\n * @param erasures location of erasures\n * @return number of errors\n * @throws ChecksumException if errors cannot be corrected, maybe because of too many errors\n */\n ErrorCorrection.prototype.decode = function (received, numECCodewords, erasures) {\n var e_1, _a;\n var poly = new ModulusPoly(this.field, received);\n var S = new Int32Array(numECCodewords);\n var error = false;\n for (var i /*int*/ = numECCodewords; i > 0; i--) {\n var evaluation = poly.evaluateAt(this.field.exp(i));\n S[numECCodewords - i] = evaluation;\n if (evaluation !== 0) {\n error = true;\n }\n }\n if (!error) {\n return 0;\n }\n var knownErrors = this.field.getOne();\n if (erasures != null) {\n try {\n for (var erasures_1 = __values(erasures), erasures_1_1 = erasures_1.next(); !erasures_1_1.done; erasures_1_1 = erasures_1.next()) {\n var erasure = erasures_1_1.value;\n var b = this.field.exp(received.length - 1 - erasure);\n // Add (1 - bx) term:\n var term = new ModulusPoly(this.field, new Int32Array([this.field.subtract(0, b), 1]));\n knownErrors = knownErrors.multiply(term);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (erasures_1_1 && !erasures_1_1.done && (_a = erasures_1.return)) _a.call(erasures_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n var syndrome = new ModulusPoly(this.field, S);\n // syndrome = syndrome.multiply(knownErrors);\n var sigmaOmega = this.runEuclideanAlgorithm(this.field.buildMonomial(numECCodewords, 1), syndrome, numECCodewords);\n var sigma = sigmaOmega[0];\n var omega = sigmaOmega[1];\n // sigma = sigma.multiply(knownErrors);\n var errorLocations = this.findErrorLocations(sigma);\n var errorMagnitudes = this.findErrorMagnitudes(omega, sigma, errorLocations);\n for (var i /*int*/ = 0; i < errorLocations.length; i++) {\n var position = received.length - 1 - this.field.log(errorLocations[i]);\n if (position < 0) {\n throw ChecksumException.getChecksumInstance();\n }\n received[position] = this.field.subtract(received[position], errorMagnitudes[i]);\n }\n return errorLocations.length;\n };\n /**\n *\n * @param ModulusPoly\n * @param a\n * @param ModulusPoly\n * @param b\n * @param int\n * @param R\n * @throws ChecksumException\n */\n ErrorCorrection.prototype.runEuclideanAlgorithm = function (a, b, R) {\n // Assume a's degree is >= b's\n if (a.getDegree() < b.getDegree()) {\n var temp = a;\n a = b;\n b = temp;\n }\n var rLast = a;\n var r = b;\n var tLast = this.field.getZero();\n var t = this.field.getOne();\n // Run Euclidean algorithm until r's degree is less than R/2\n while (r.getDegree() >= Math.round(R / 2)) {\n var rLastLast = rLast;\n var tLastLast = tLast;\n rLast = r;\n tLast = t;\n // Divide rLastLast by rLast, with quotient in q and remainder in r\n if (rLast.isZero()) {\n // Oops, Euclidean algorithm already terminated?\n throw ChecksumException.getChecksumInstance();\n }\n r = rLastLast;\n var q = this.field.getZero();\n var denominatorLeadingTerm = rLast.getCoefficient(rLast.getDegree());\n var dltInverse = this.field.inverse(denominatorLeadingTerm);\n while (r.getDegree() >= rLast.getDegree() && !r.isZero()) {\n var degreeDiff = r.getDegree() - rLast.getDegree();\n var scale = this.field.multiply(r.getCoefficient(r.getDegree()), dltInverse);\n q = q.add(this.field.buildMonomial(degreeDiff, scale));\n r = r.subtract(rLast.multiplyByMonomial(degreeDiff, scale));\n }\n t = q.multiply(tLast).subtract(tLastLast).negative();\n }\n var sigmaTildeAtZero = t.getCoefficient(0);\n if (sigmaTildeAtZero === 0) {\n throw ChecksumException.getChecksumInstance();\n }\n var inverse = this.field.inverse(sigmaTildeAtZero);\n var sigma = t.multiply(inverse);\n var omega = r.multiply(inverse);\n return [sigma, omega];\n };\n /**\n *\n * @param errorLocator\n * @throws ChecksumException\n */\n ErrorCorrection.prototype.findErrorLocations = function (errorLocator) {\n // This is a direct application of Chien's search\n var numErrors = errorLocator.getDegree();\n var result = new Int32Array(numErrors);\n var e = 0;\n for (var i /*int*/ = 1; i < this.field.getSize() && e < numErrors; i++) {\n if (errorLocator.evaluateAt(i) === 0) {\n result[e] = this.field.inverse(i);\n e++;\n }\n }\n if (e !== numErrors) {\n throw ChecksumException.getChecksumInstance();\n }\n return result;\n };\n ErrorCorrection.prototype.findErrorMagnitudes = function (errorEvaluator, errorLocator, errorLocations) {\n var errorLocatorDegree = errorLocator.getDegree();\n var formalDerivativeCoefficients = new Int32Array(errorLocatorDegree);\n for (var i /*int*/ = 1; i <= errorLocatorDegree; i++) {\n formalDerivativeCoefficients[errorLocatorDegree - i] =\n this.field.multiply(i, errorLocator.getCoefficient(i));\n }\n var formalDerivative = new ModulusPoly(this.field, formalDerivativeCoefficients);\n // This is directly applying Forney's Formula\n var s = errorLocations.length;\n var result = new Int32Array(s);\n for (var i /*int*/ = 0; i < s; i++) {\n var xiInverse = this.field.inverse(errorLocations[i]);\n var numerator = this.field.subtract(0, errorEvaluator.evaluateAt(xiInverse));\n var denominator = this.field.inverse(formalDerivative.evaluateAt(xiInverse));\n result[i] = this.field.multiply(numerator, denominator);\n }\n return result;\n };\n return ErrorCorrection;\n}());\nexport default ErrorCorrection;\n","import IllegalArgumentException from '../../../IllegalArgumentException';\nimport ArithmeticException from '../../../ArithmeticException';\nvar ModulusBase = /** @class */ (function () {\n function ModulusBase() {\n }\n ModulusBase.prototype.add = function (a, b) {\n return (a + b) % this.modulus;\n };\n ModulusBase.prototype.subtract = function (a, b) {\n return (this.modulus + a - b) % this.modulus;\n };\n ModulusBase.prototype.exp = function (a) {\n return this.expTable[a];\n };\n ModulusBase.prototype.log = function (a) {\n if (a === 0) {\n throw new IllegalArgumentException();\n }\n return this.logTable[a];\n };\n ModulusBase.prototype.inverse = function (a) {\n if (a === 0) {\n throw new ArithmeticException();\n }\n return this.expTable[this.modulus - this.logTable[a] - 1];\n };\n ModulusBase.prototype.multiply = function (a, b) {\n if (a === 0 || b === 0) {\n return 0;\n }\n return this.expTable[(this.logTable[a] + this.logTable[b]) % (this.modulus - 1)];\n };\n ModulusBase.prototype.getSize = function () {\n return this.modulus;\n };\n ModulusBase.prototype.equals = function (o) {\n return o === this;\n };\n return ModulusBase;\n}());\nexport default ModulusBase;\n","/*\n * Copyright 2012 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n// package com.google.zxing.pdf417.decoder.ec;\n// import com.google.zxing.pdf417.PDF417Common;\nimport PDF417Common from '../../PDF417Common';\nimport ModulusPoly from './ModulusPoly';\nimport IllegalArgumentException from '../../../IllegalArgumentException';\nimport ModulusBase from './ModulusBase';\n/**\n *

    A field based on powers of a generator integer, modulo some modulus.

    \n *\n * @author Sean Owen\n * @see com.google.zxing.common.reedsolomon.GenericGF\n */\nvar ModulusGF = /** @class */ (function (_super) {\n __extends(ModulusGF, _super);\n // private /*final*/ modulus: /*int*/ number;\n function ModulusGF(modulus, generator) {\n var _this = _super.call(this) || this;\n _this.modulus = modulus;\n _this.expTable = new Int32Array(modulus);\n _this.logTable = new Int32Array(modulus);\n var x = /*int*/ 1;\n for (var i /*int*/ = 0; i < modulus; i++) {\n _this.expTable[i] = x;\n x = (x * generator) % modulus;\n }\n for (var i /*int*/ = 0; i < modulus - 1; i++) {\n _this.logTable[_this.expTable[i]] = i;\n }\n // logTable[0] == 0 but this should never be used\n _this.zero = new ModulusPoly(_this, new Int32Array([0]));\n _this.one = new ModulusPoly(_this, new Int32Array([1]));\n return _this;\n }\n ModulusGF.prototype.getZero = function () {\n return this.zero;\n };\n ModulusGF.prototype.getOne = function () {\n return this.one;\n };\n ModulusGF.prototype.buildMonomial = function (degree, coefficient) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return this.zero;\n }\n var coefficients = new Int32Array(degree + 1);\n coefficients[0] = coefficient;\n return new ModulusPoly(this, coefficients);\n };\n ModulusGF.PDF417_GF = new ModulusGF(PDF417Common.NUMBER_OF_CODEWORDS, 3);\n return ModulusGF;\n}(ModulusBase));\nexport default ModulusGF;\n","/*\n* Copyright 2012 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// package com.google.zxing.pdf417.decoder.ec;\nimport IllegalArgumentException from '../../../IllegalArgumentException';\nimport System from '../../../util/System';\nimport StringBuilder from '../../../util/StringBuilder';\n/**\n * @author Sean Owen\n * @see com.google.zxing.common.reedsolomon.GenericGFPoly\n */\nvar ModulusPoly = /** @class */ (function () {\n function ModulusPoly(field, coefficients) {\n if (coefficients.length === 0) {\n throw new IllegalArgumentException();\n }\n this.field = field;\n var coefficientsLength = /*int*/ coefficients.length;\n if (coefficientsLength > 1 && coefficients[0] === 0) {\n // Leading term must be non-zero for anything except the constant polynomial \"0\"\n var firstNonZero = /*int*/ 1;\n while (firstNonZero < coefficientsLength && coefficients[firstNonZero] === 0) {\n firstNonZero++;\n }\n if (firstNonZero === coefficientsLength) {\n this.coefficients = new Int32Array([0]);\n }\n else {\n this.coefficients = new Int32Array(coefficientsLength - firstNonZero);\n System.arraycopy(coefficients, firstNonZero, this.coefficients, 0, this.coefficients.length);\n }\n }\n else {\n this.coefficients = coefficients;\n }\n }\n ModulusPoly.prototype.getCoefficients = function () {\n return this.coefficients;\n };\n /**\n * @return degree of this polynomial\n */\n ModulusPoly.prototype.getDegree = function () {\n return this.coefficients.length - 1;\n };\n /**\n * @return true iff this polynomial is the monomial \"0\"\n */\n ModulusPoly.prototype.isZero = function () {\n return this.coefficients[0] === 0;\n };\n /**\n * @return coefficient of x^degree term in this polynomial\n */\n ModulusPoly.prototype.getCoefficient = function (degree) {\n return this.coefficients[this.coefficients.length - 1 - degree];\n };\n /**\n * @return evaluation of this polynomial at a given point\n */\n ModulusPoly.prototype.evaluateAt = function (a) {\n var e_1, _a;\n if (a === 0) {\n // Just return the x^0 coefficient\n return this.getCoefficient(0);\n }\n if (a === 1) {\n // Just the sum of the coefficients\n var sum = /*int*/ 0;\n try {\n for (var _b = __values(this.coefficients), _c = _b.next(); !_c.done; _c = _b.next()) {\n var coefficient = _c.value /*int*/;\n sum = this.field.add(sum, coefficient);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return sum;\n }\n var result = /*int*/ this.coefficients[0];\n var size = /*int*/ this.coefficients.length;\n for (var i /*int*/ = 1; i < size; i++) {\n result = this.field.add(this.field.multiply(a, result), this.coefficients[i]);\n }\n return result;\n };\n ModulusPoly.prototype.add = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('ModulusPolys do not have same ModulusGF field');\n }\n if (this.isZero()) {\n return other;\n }\n if (other.isZero()) {\n return this;\n }\n var smallerCoefficients = this.coefficients;\n var largerCoefficients = other.coefficients;\n if (smallerCoefficients.length > largerCoefficients.length) {\n var temp = smallerCoefficients;\n smallerCoefficients = largerCoefficients;\n largerCoefficients = temp;\n }\n var sumDiff = new Int32Array(largerCoefficients.length);\n var lengthDiff = /*int*/ largerCoefficients.length - smallerCoefficients.length;\n // Copy high-order terms only found in higher-degree polynomial's coefficients\n System.arraycopy(largerCoefficients, 0, sumDiff, 0, lengthDiff);\n for (var i /*int*/ = lengthDiff; i < largerCoefficients.length; i++) {\n sumDiff[i] = this.field.add(smallerCoefficients[i - lengthDiff], largerCoefficients[i]);\n }\n return new ModulusPoly(this.field, sumDiff);\n };\n ModulusPoly.prototype.subtract = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('ModulusPolys do not have same ModulusGF field');\n }\n if (other.isZero()) {\n return this;\n }\n return this.add(other.negative());\n };\n ModulusPoly.prototype.multiply = function (other) {\n if (other instanceof ModulusPoly) {\n return this.multiplyOther(other);\n }\n return this.multiplyScalar(other);\n };\n ModulusPoly.prototype.multiplyOther = function (other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('ModulusPolys do not have same ModulusGF field');\n }\n if (this.isZero() || other.isZero()) {\n // return this.field.getZero();\n return new ModulusPoly(this.field, new Int32Array([0]));\n }\n var aCoefficients = this.coefficients;\n var aLength = /*int*/ aCoefficients.length;\n var bCoefficients = other.coefficients;\n var bLength = /*int*/ bCoefficients.length;\n var product = new Int32Array(aLength + bLength - 1);\n for (var i /*int*/ = 0; i < aLength; i++) {\n var aCoeff = /*int*/ aCoefficients[i];\n for (var j /*int*/ = 0; j < bLength; j++) {\n product[i + j] = this.field.add(product[i + j], this.field.multiply(aCoeff, bCoefficients[j]));\n }\n }\n return new ModulusPoly(this.field, product);\n };\n ModulusPoly.prototype.negative = function () {\n var size = /*int*/ this.coefficients.length;\n var negativeCoefficients = new Int32Array(size);\n for (var i /*int*/ = 0; i < size; i++) {\n negativeCoefficients[i] = this.field.subtract(0, this.coefficients[i]);\n }\n return new ModulusPoly(this.field, negativeCoefficients);\n };\n ModulusPoly.prototype.multiplyScalar = function (scalar) {\n if (scalar === 0) {\n return new ModulusPoly(this.field, new Int32Array([0]));\n }\n if (scalar === 1) {\n return this;\n }\n var size = /*int*/ this.coefficients.length;\n var product = new Int32Array(size);\n for (var i /*int*/ = 0; i < size; i++) {\n product[i] = this.field.multiply(this.coefficients[i], scalar);\n }\n return new ModulusPoly(this.field, product);\n };\n ModulusPoly.prototype.multiplyByMonomial = function (degree, coefficient) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return new ModulusPoly(this.field, new Int32Array([0]));\n }\n var size = /*int*/ this.coefficients.length;\n var product = new Int32Array(size + degree);\n for (var i /*int*/ = 0; i < size; i++) {\n product[i] = this.field.multiply(this.coefficients[i], coefficient);\n }\n return new ModulusPoly(this.field, product);\n };\n /*\n ModulusPoly[] divide(other: ModulusPoly) {\n if (!field.equals(other.field)) {\n throw new IllegalArgumentException(\"ModulusPolys do not have same ModulusGF field\");\n }\n if (other.isZero()) {\n throw new IllegalArgumentException(\"Divide by 0\");\n }\n \n let quotient: ModulusPoly = field.getZero();\n let remainder: ModulusPoly = this;\n \n let denominatorLeadingTerm: /*int/ number = other.getCoefficient(other.getDegree());\n let inverseDenominatorLeadingTerm: /*int/ number = field.inverse(denominatorLeadingTerm);\n \n while (remainder.getDegree() >= other.getDegree() && !remainder.isZero()) {\n let degreeDifference: /*int/ number = remainder.getDegree() - other.getDegree();\n let scale: /*int/ number = field.multiply(remainder.getCoefficient(remainder.getDegree()), inverseDenominatorLeadingTerm);\n let term: ModulusPoly = other.multiplyByMonomial(degreeDifference, scale);\n let iterationQuotient: ModulusPoly = field.buildMonomial(degreeDifference, scale);\n quotient = quotient.add(iterationQuotient);\n remainder = remainder.subtract(term);\n }\n \n return new ModulusPoly[] { quotient, remainder };\n }\n */\n // @Override\n ModulusPoly.prototype.toString = function () {\n var result = new StringBuilder( /*8 * this.getDegree()*/); // dynamic string size in JS\n for (var degree /*int*/ = this.getDegree(); degree >= 0; degree--) {\n var coefficient = /*int*/ this.getCoefficient(degree);\n if (coefficient !== 0) {\n if (coefficient < 0) {\n result.append(' - ');\n coefficient = -coefficient;\n }\n else {\n if (result.length() > 0) {\n result.append(' + ');\n }\n }\n if (degree === 0 || coefficient !== 1) {\n result.append(coefficient);\n }\n if (degree !== 0) {\n if (degree === 1) {\n result.append('x');\n }\n else {\n result.append('x^');\n result.append(degree);\n }\n }\n }\n }\n return result.toString();\n };\n return ModulusPoly;\n}());\nexport default ModulusPoly;\n","/*\n* Copyright 2009 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// import com.google.zxing.NotFoundException;\n// import com.google.zxing.ResultPoint;\nimport ResultPoint from '../../ResultPoint';\nimport System from '../../util/System';\nimport Arrays from '../../util/Arrays';\nimport PDF417DetectorResult from './PDF417DetectorResult';\n// import java.util.ArrayList;\n// import java.util.Arrays;\n// import java.util.List;\n// import java.util.Map;\n/**\n *

    Encapsulates logic that can detect a PDF417 Code in an image, even if the\n * PDF417 Code is rotated or skewed, or partially obscured.

    \n *\n * @author SITA Lab (kevin.osullivan@sita.aero)\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Guenther Grau\n */\nvar Detector = /** @class */ (function () {\n function Detector() {\n }\n /**\n *

    Detects a PDF417 Code in an image. Only checks 0 and 180 degree rotations.

    \n *\n * @param image barcode image to decode\n * @param hints optional hints to detector\n * @param multiple if true, then the image is searched for multiple codes. If false, then at most one code will\n * be found and returned\n * @return {@link PDF417DetectorResult} encapsulating results of detecting a PDF417 code\n * @throws NotFoundException if no PDF417 Code can be found\n */\n Detector.detectMultiple = function (image, hints, multiple) {\n // TODO detection improvement, tryHarder could try several different luminance thresholds/blackpoints or even\n // different binarizers\n // boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);\n var bitMatrix = image.getBlackMatrix();\n var barcodeCoordinates = Detector.detect(multiple, bitMatrix);\n if (!barcodeCoordinates.length) {\n bitMatrix = bitMatrix.clone();\n bitMatrix.rotate180();\n barcodeCoordinates = Detector.detect(multiple, bitMatrix);\n }\n return new PDF417DetectorResult(bitMatrix, barcodeCoordinates);\n };\n /**\n * Detects PDF417 codes in an image. Only checks 0 degree rotation\n * @param multiple if true, then the image is searched for multiple codes. If false, then at most one code will\n * be found and returned\n * @param bitMatrix bit matrix to detect barcodes in\n * @return List of ResultPoint arrays containing the coordinates of found barcodes\n */\n Detector.detect = function (multiple, bitMatrix) {\n var e_1, _a;\n var barcodeCoordinates = new Array();\n var row = 0;\n var column = 0;\n var foundBarcodeInRow = false;\n while (row < bitMatrix.getHeight()) {\n var vertices = Detector.findVertices(bitMatrix, row, column);\n if (vertices[0] == null && vertices[3] == null) {\n if (!foundBarcodeInRow) {\n // we didn't find any barcode so that's the end of searching\n break;\n }\n // we didn't find a barcode starting at the given column and row. Try again from the first column and slightly\n // below the lowest barcode we found so far.\n foundBarcodeInRow = false;\n column = 0;\n try {\n for (var barcodeCoordinates_1 = (e_1 = void 0, __values(barcodeCoordinates)), barcodeCoordinates_1_1 = barcodeCoordinates_1.next(); !barcodeCoordinates_1_1.done; barcodeCoordinates_1_1 = barcodeCoordinates_1.next()) {\n var barcodeCoordinate = barcodeCoordinates_1_1.value;\n if (barcodeCoordinate[1] != null) {\n row = Math.trunc(Math.max(row, barcodeCoordinate[1].getY()));\n }\n if (barcodeCoordinate[3] != null) {\n row = Math.max(row, Math.trunc(barcodeCoordinate[3].getY()));\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (barcodeCoordinates_1_1 && !barcodeCoordinates_1_1.done && (_a = barcodeCoordinates_1.return)) _a.call(barcodeCoordinates_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n row += Detector.ROW_STEP;\n continue;\n }\n foundBarcodeInRow = true;\n barcodeCoordinates.push(vertices);\n if (!multiple) {\n break;\n }\n // if we didn't find a right row indicator column, then continue the search for the next barcode after the\n // start pattern of the barcode just found.\n if (vertices[2] != null) {\n column = Math.trunc(vertices[2].getX());\n row = Math.trunc(vertices[2].getY());\n }\n else {\n column = Math.trunc(vertices[4].getX());\n row = Math.trunc(vertices[4].getY());\n }\n }\n return barcodeCoordinates;\n };\n /**\n * Locate the vertices and the codewords area of a black blob using the Start\n * and Stop patterns as locators.\n *\n * @param matrix the scanned barcode image.\n * @return an array containing the vertices:\n * vertices[0] x, y top left barcode\n * vertices[1] x, y bottom left barcode\n * vertices[2] x, y top right barcode\n * vertices[3] x, y bottom right barcode\n * vertices[4] x, y top left codeword area\n * vertices[5] x, y bottom left codeword area\n * vertices[6] x, y top right codeword area\n * vertices[7] x, y bottom right codeword area\n */\n Detector.findVertices = function (matrix, startRow, startColumn) {\n var height = matrix.getHeight();\n var width = matrix.getWidth();\n // const result = new ResultPoint[8];\n var result = new Array(8);\n Detector.copyToResult(result, Detector.findRowsWithPattern(matrix, height, width, startRow, startColumn, Detector.START_PATTERN), Detector.INDEXES_START_PATTERN);\n if (result[4] != null) {\n startColumn = Math.trunc(result[4].getX());\n startRow = Math.trunc(result[4].getY());\n }\n Detector.copyToResult(result, Detector.findRowsWithPattern(matrix, height, width, startRow, startColumn, Detector.STOP_PATTERN), Detector.INDEXES_STOP_PATTERN);\n return result;\n };\n Detector.copyToResult = function (result, tmpResult, destinationIndexes) {\n for (var i = 0; i < destinationIndexes.length; i++) {\n result[destinationIndexes[i]] = tmpResult[i];\n }\n };\n Detector.findRowsWithPattern = function (matrix, height, width, startRow, startColumn, pattern) {\n // const result = new ResultPoint[4];\n var result = new Array(4);\n var found = false;\n var counters = new Int32Array(pattern.length);\n for (; startRow < height; startRow += Detector.ROW_STEP) {\n var loc = Detector.findGuardPattern(matrix, startColumn, startRow, width, false, pattern, counters);\n if (loc != null) {\n while (startRow > 0) {\n var previousRowLoc = Detector.findGuardPattern(matrix, startColumn, --startRow, width, false, pattern, counters);\n if (previousRowLoc != null) {\n loc = previousRowLoc;\n }\n else {\n startRow++;\n break;\n }\n }\n result[0] = new ResultPoint(loc[0], startRow);\n result[1] = new ResultPoint(loc[1], startRow);\n found = true;\n break;\n }\n }\n var stopRow = startRow + 1;\n // Last row of the current symbol that contains pattern\n if (found) {\n var skippedRowCount = 0;\n var previousRowLoc = Int32Array.from([Math.trunc(result[0].getX()), Math.trunc(result[1].getX())]);\n for (; stopRow < height; stopRow++) {\n var loc = Detector.findGuardPattern(matrix, previousRowLoc[0], stopRow, width, false, pattern, counters);\n // a found pattern is only considered to belong to the same barcode if the start and end positions\n // don't differ too much. Pattern drift should be not bigger than two for consecutive rows. With\n // a higher number of skipped rows drift could be larger. To keep it simple for now, we allow a slightly\n // larger drift and don't check for skipped rows.\n if (loc != null &&\n Math.abs(previousRowLoc[0] - loc[0]) < Detector.MAX_PATTERN_DRIFT &&\n Math.abs(previousRowLoc[1] - loc[1]) < Detector.MAX_PATTERN_DRIFT) {\n previousRowLoc = loc;\n skippedRowCount = 0;\n }\n else {\n if (skippedRowCount > Detector.SKIPPED_ROW_COUNT_MAX) {\n break;\n }\n else {\n skippedRowCount++;\n }\n }\n }\n stopRow -= skippedRowCount + 1;\n result[2] = new ResultPoint(previousRowLoc[0], stopRow);\n result[3] = new ResultPoint(previousRowLoc[1], stopRow);\n }\n if (stopRow - startRow < Detector.BARCODE_MIN_HEIGHT) {\n Arrays.fill(result, null);\n }\n return result;\n };\n /**\n * @param matrix row of black/white values to search\n * @param column x position to start search\n * @param row y position to start search\n * @param width the number of pixels to search on this row\n * @param pattern pattern of counts of number of black and white pixels that are\n * being searched for as a pattern\n * @param counters array of counters, as long as pattern, to re-use\n * @return start/end horizontal offset of guard pattern, as an array of two ints.\n */\n Detector.findGuardPattern = function (matrix, column, row, width, whiteFirst, pattern, counters) {\n Arrays.fillWithin(counters, 0, counters.length, 0);\n var patternStart = column;\n var pixelDrift = 0;\n // if there are black pixels left of the current pixel shift to the left, but only for MAX_PIXEL_DRIFT pixels\n while (matrix.get(patternStart, row) && patternStart > 0 && pixelDrift++ < Detector.MAX_PIXEL_DRIFT) {\n patternStart--;\n }\n var x = patternStart;\n var counterPosition = 0;\n var patternLength = pattern.length;\n for (var isWhite = whiteFirst; x < width; x++) {\n var pixel = matrix.get(x, row);\n if (pixel !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === patternLength - 1) {\n if (Detector.patternMatchVariance(counters, pattern, Detector.MAX_INDIVIDUAL_VARIANCE) < Detector.MAX_AVG_VARIANCE) {\n return new Int32Array([patternStart, x]);\n }\n patternStart += counters[0] + counters[1];\n System.arraycopy(counters, 2, counters, 0, counterPosition - 1);\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n if (counterPosition === patternLength - 1 &&\n Detector.patternMatchVariance(counters, pattern, Detector.MAX_INDIVIDUAL_VARIANCE) < Detector.MAX_AVG_VARIANCE) {\n return new Int32Array([patternStart, x - 1]);\n }\n return null;\n };\n /**\n * Determines how closely a set of observed counts of runs of black/white\n * values matches a given target pattern. This is reported as the ratio of\n * the total variance from the expected pattern proportions across all\n * pattern elements, to the length of the pattern.\n *\n * @param counters observed counters\n * @param pattern expected pattern\n * @param maxIndividualVariance The most any counter can differ before we give up\n * @return ratio of total variance between counters and pattern compared to total pattern size\n */\n Detector.patternMatchVariance = function (counters, pattern, maxIndividualVariance) {\n var numCounters = counters.length;\n var total = 0;\n var patternLength = 0;\n for (var i = 0; i < numCounters; i++) {\n total += counters[i];\n patternLength += pattern[i];\n }\n if (total < patternLength) {\n // If we don't even have one pixel per unit of bar width, assume this\n // is too small to reliably match, so fail:\n return /*Float.POSITIVE_INFINITY*/ Infinity;\n }\n // We're going to fake floating-point math in integers. We just need to use more bits.\n // Scale up patternLength so that intermediate values below like scaledCounter will have\n // more \"significant digits\".\n var unitBarWidth = total / patternLength;\n maxIndividualVariance *= unitBarWidth;\n var totalVariance = 0.0;\n for (var x = 0; x < numCounters; x++) {\n var counter = counters[x];\n var scaledPattern = pattern[x] * unitBarWidth;\n var variance = counter > scaledPattern ? counter - scaledPattern : scaledPattern - counter;\n if (variance > maxIndividualVariance) {\n return /*Float.POSITIVE_INFINITY*/ Infinity;\n }\n totalVariance += variance;\n }\n return totalVariance / total;\n };\n Detector.INDEXES_START_PATTERN = Int32Array.from([0, 4, 1, 5]);\n Detector.INDEXES_STOP_PATTERN = Int32Array.from([6, 2, 7, 3]);\n Detector.MAX_AVG_VARIANCE = 0.42;\n Detector.MAX_INDIVIDUAL_VARIANCE = 0.8;\n // B S B S B S B S Bar/Space pattern\n // 11111111 0 1 0 1 0 1 000\n Detector.START_PATTERN = Int32Array.from([8, 1, 1, 1, 1, 1, 1, 3]);\n // 1111111 0 1 000 1 0 1 00 1\n Detector.STOP_PATTERN = Int32Array.from([7, 1, 1, 3, 1, 1, 1, 2, 1]);\n Detector.MAX_PIXEL_DRIFT = 3;\n Detector.MAX_PATTERN_DRIFT = 5;\n // if we set the value too low, then we don't detect the correct height of the bar if the start patterns are damaged.\n // if we set the value too high, then we might detect the start pattern from a neighbor barcode.\n Detector.SKIPPED_ROW_COUNT_MAX = 25;\n // A PDF471 barcode should have at least 3 rows, with each row being >= 3 times the module width. Therefore it should be at least\n // 9 pixels tall. To be conservative, we use about half the size to ensure we don't miss it.\n Detector.ROW_STEP = 5;\n Detector.BARCODE_MIN_HEIGHT = 10;\n return Detector;\n}());\nexport default Detector;\n","/*\n* Copyright 2007 ZXing authors\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n// import java.util.List;\n/**\n * @author Guenther Grau\n */\nvar PDF417DetectorResult = /** @class */ (function () {\n function PDF417DetectorResult(bits, points) {\n this.bits = bits;\n this.points = points;\n }\n PDF417DetectorResult.prototype.getBits = function () {\n return this.bits;\n };\n PDF417DetectorResult.prototype.getPoints = function () {\n return this.points;\n };\n return PDF417DetectorResult;\n}());\nexport default PDF417DetectorResult;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.qrcode {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport BitMatrix from '../common/BitMatrix';\nimport DecodeHintType from '../DecodeHintType';\nimport NotFoundException from '../NotFoundException';\nimport Result from '../Result';\nimport ResultMetadataType from '../ResultMetadataType';\n// import DetectorResult from '../common/DetectorResult';\nimport Decoder from './decoder/Decoder';\nimport QRCodeDecoderMetaData from './decoder/QRCodeDecoderMetaData';\nimport Detector from './detector/Detector';\n/*import java.util.List;*/\n/*import java.util.Map;*/\n/**\n * This implementation can detect and decode QR Codes in an image.\n *\n * @author Sean Owen\n */\nvar QRCodeReader = /** @class */ (function () {\n function QRCodeReader() {\n this.decoder = new Decoder();\n }\n QRCodeReader.prototype.getDecoder = function () {\n return this.decoder;\n };\n /**\n * Locates and decodes a QR code in an image.\n *\n * @return a representing: string the content encoded by the QR code\n * @throws NotFoundException if a QR code cannot be found\n * @throws FormatException if a QR code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n /*@Override*/\n // public decode(image: BinaryBitmap): Result /*throws NotFoundException, ChecksumException, FormatException */ {\n // return this.decode(image, null)\n // }\n /*@Override*/\n QRCodeReader.prototype.decode = function (image, hints) {\n var decoderResult;\n var points;\n if (hints !== undefined && hints !== null && undefined !== hints.get(DecodeHintType.PURE_BARCODE)) {\n var bits = QRCodeReader.extractPureBits(image.getBlackMatrix());\n decoderResult = this.decoder.decodeBitMatrix(bits, hints);\n points = QRCodeReader.NO_POINTS;\n }\n else {\n var detectorResult = new Detector(image.getBlackMatrix()).detect(hints);\n decoderResult = this.decoder.decodeBitMatrix(detectorResult.getBits(), hints);\n points = detectorResult.getPoints();\n }\n // If the code was mirrored: swap the bottom-left and the top-right points.\n if (decoderResult.getOther() instanceof QRCodeDecoderMetaData) {\n decoderResult.getOther().applyMirroredCorrection(points);\n }\n var result = new Result(decoderResult.getText(), decoderResult.getRawBytes(), undefined, points, BarcodeFormat.QR_CODE, undefined);\n var byteSegments = decoderResult.getByteSegments();\n if (byteSegments !== null) {\n result.putMetadata(ResultMetadataType.BYTE_SEGMENTS, byteSegments);\n }\n var ecLevel = decoderResult.getECLevel();\n if (ecLevel !== null) {\n result.putMetadata(ResultMetadataType.ERROR_CORRECTION_LEVEL, ecLevel);\n }\n if (decoderResult.hasStructuredAppend()) {\n result.putMetadata(ResultMetadataType.STRUCTURED_APPEND_SEQUENCE, decoderResult.getStructuredAppendSequenceNumber());\n result.putMetadata(ResultMetadataType.STRUCTURED_APPEND_PARITY, decoderResult.getStructuredAppendParity());\n }\n return result;\n };\n /*@Override*/\n QRCodeReader.prototype.reset = function () {\n // do nothing\n };\n /**\n * This method detects a code in a \"pure\" image -- that is, pure monochrome image\n * which contains only an unrotated, unskewed, image of a code, with some white border\n * around it. This is a specialized method that works exceptionally fast in this special\n * case.\n *\n * @see com.google.zxing.datamatrix.DataMatrixReader#extractPureBits(BitMatrix)\n */\n QRCodeReader.extractPureBits = function (image) {\n var leftTopBlack = image.getTopLeftOnBit();\n var rightBottomBlack = image.getBottomRightOnBit();\n if (leftTopBlack === null || rightBottomBlack === null) {\n throw new NotFoundException();\n }\n var moduleSize = this.moduleSize(leftTopBlack, image);\n var top = leftTopBlack[1];\n var bottom = rightBottomBlack[1];\n var left = leftTopBlack[0];\n var right = rightBottomBlack[0];\n // Sanity check!\n if (left >= right || top >= bottom) {\n throw new NotFoundException();\n }\n if (bottom - top !== right - left) {\n // Special case, where bottom-right module wasn't black so we found something else in the last row\n // Assume it's a square, so use height as the width\n right = left + (bottom - top);\n if (right >= image.getWidth()) {\n // Abort if that would not make sense -- off image\n throw new NotFoundException();\n }\n }\n var matrixWidth = Math.round((right - left + 1) / moduleSize);\n var matrixHeight = Math.round((bottom - top + 1) / moduleSize);\n if (matrixWidth <= 0 || matrixHeight <= 0) {\n throw new NotFoundException();\n }\n if (matrixHeight !== matrixWidth) {\n // Only possibly decode square regions\n throw new NotFoundException();\n }\n // Push in the \"border\" by half the module width so that we start\n // sampling in the middle of the module. Just in case the image is a\n // little off, this will help recover.\n var nudge = /*(int) */ Math.floor(moduleSize / 2.0);\n top += nudge;\n left += nudge;\n // But careful that this does not sample off the edge\n // \"right\" is the farthest-right valid pixel location -- right+1 is not necessarily\n // This is positive by how much the inner x loop below would be too large\n var nudgedTooFarRight = left + /*(int) */ Math.floor((matrixWidth - 1) * moduleSize) - right;\n if (nudgedTooFarRight > 0) {\n if (nudgedTooFarRight > nudge) {\n // Neither way fits; abort\n throw new NotFoundException();\n }\n left -= nudgedTooFarRight;\n }\n // See logic above\n var nudgedTooFarDown = top + /*(int) */ Math.floor((matrixHeight - 1) * moduleSize) - bottom;\n if (nudgedTooFarDown > 0) {\n if (nudgedTooFarDown > nudge) {\n // Neither way fits; abort\n throw new NotFoundException();\n }\n top -= nudgedTooFarDown;\n }\n // Now just read off the bits\n var bits = new BitMatrix(matrixWidth, matrixHeight);\n for (var y = 0; y < matrixHeight; y++) {\n var iOffset = top + /*(int) */ Math.floor(y * moduleSize);\n for (var x = 0; x < matrixWidth; x++) {\n if (image.get(left + /*(int) */ Math.floor(x * moduleSize), iOffset)) {\n bits.set(x, y);\n }\n }\n }\n return bits;\n };\n QRCodeReader.moduleSize = function (leftTopBlack, image) {\n var height = image.getHeight();\n var width = image.getWidth();\n var x = leftTopBlack[0];\n var y = leftTopBlack[1];\n var inBlack = true;\n var transitions = 0;\n while (x < width && y < height) {\n if (inBlack !== image.get(x, y)) {\n if (++transitions === 5) {\n break;\n }\n inBlack = !inBlack;\n }\n x++;\n y++;\n }\n if (x === width || y === height) {\n throw new NotFoundException();\n }\n return (x - leftTopBlack[0]) / 7.0;\n };\n QRCodeReader.NO_POINTS = new Array();\n return QRCodeReader;\n}());\nexport default QRCodeReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.qrcode {*/\nimport BarcodeFormat from '../BarcodeFormat';\nimport EncodeHintType from '../EncodeHintType';\nimport BitMatrix from '../common/BitMatrix';\nimport ErrorCorrectionLevel from './decoder/ErrorCorrectionLevel';\nimport Encoder from './encoder/Encoder';\nimport IllegalArgumentException from '../IllegalArgumentException';\nimport IllegalStateException from '../IllegalStateException';\n/*import java.util.Map;*/\n/**\n * This object renders a QR Code as a BitMatrix 2D array of greyscale values.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar QRCodeWriter = /** @class */ (function () {\n function QRCodeWriter() {\n }\n /*@Override*/\n // public encode(contents: string, format: BarcodeFormat, width: number /*int*/, height: number /*int*/): BitMatrix\n // /*throws WriterException */ {\n // return encode(contents, format, width, height, null)\n // }\n /*@Override*/\n QRCodeWriter.prototype.encode = function (contents, format, width /*int*/, height /*int*/, hints) {\n if (contents.length === 0) {\n throw new IllegalArgumentException('Found empty contents');\n }\n if (format !== BarcodeFormat.QR_CODE) {\n throw new IllegalArgumentException('Can only encode QR_CODE, but got ' + format);\n }\n if (width < 0 || height < 0) {\n throw new IllegalArgumentException(\"Requested dimensions are too small: \" + width + \"x\" + height);\n }\n var errorCorrectionLevel = ErrorCorrectionLevel.L;\n var quietZone = QRCodeWriter.QUIET_ZONE_SIZE;\n if (hints !== null) {\n if (undefined !== hints.get(EncodeHintType.ERROR_CORRECTION)) {\n errorCorrectionLevel = ErrorCorrectionLevel.fromString(hints.get(EncodeHintType.ERROR_CORRECTION).toString());\n }\n if (undefined !== hints.get(EncodeHintType.MARGIN)) {\n quietZone = Number.parseInt(hints.get(EncodeHintType.MARGIN).toString(), 10);\n }\n }\n var code = Encoder.encode(contents, errorCorrectionLevel, hints);\n return QRCodeWriter.renderResult(code, width, height, quietZone);\n };\n // Note that the input matrix uses 0 == white, 1 == black, while the output matrix uses\n // 0 == black, 255 == white (i.e. an 8 bit greyscale bitmap).\n QRCodeWriter.renderResult = function (code, width /*int*/, height /*int*/, quietZone /*int*/) {\n var input = code.getMatrix();\n if (input === null) {\n throw new IllegalStateException();\n }\n var inputWidth = input.getWidth();\n var inputHeight = input.getHeight();\n var qrWidth = inputWidth + (quietZone * 2);\n var qrHeight = inputHeight + (quietZone * 2);\n var outputWidth = Math.max(width, qrWidth);\n var outputHeight = Math.max(height, qrHeight);\n var multiple = Math.min(Math.floor(outputWidth / qrWidth), Math.floor(outputHeight / qrHeight));\n // Padding includes both the quiet zone and the extra white pixels to accommodate the requested\n // dimensions. For example, if input is 25x25 the QR will be 33x33 including the quiet zone.\n // If the requested size is 200x160, the multiple will be 4, for a QR of 132x132. These will\n // handle all the padding from 100x100 (the actual QR) up to 200x160.\n var leftPadding = Math.floor((outputWidth - (inputWidth * multiple)) / 2);\n var topPadding = Math.floor((outputHeight - (inputHeight * multiple)) / 2);\n var output = new BitMatrix(outputWidth, outputHeight);\n for (var inputY = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the barcode\n for (var inputX = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) {\n if (input.get(inputX, inputY) === 1) {\n output.setRegion(outputX, outputY, multiple, multiple);\n }\n }\n }\n return output;\n };\n QRCodeWriter.QUIET_ZONE_SIZE = 4;\n return QRCodeWriter;\n}());\nexport default QRCodeWriter;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport Version from './Version';\nimport FormatInformation from './FormatInformation';\nimport DataMask from './DataMask';\nimport FormatException from '../../FormatException';\n/**\n * @author Sean Owen\n */\nvar BitMatrixParser = /** @class */ (function () {\n /**\n * @param bitMatrix {@link BitMatrix} to parse\n * @throws FormatException if dimension is not >= 21 and 1 mod 4\n */\n function BitMatrixParser(bitMatrix) {\n var dimension = bitMatrix.getHeight();\n if (dimension < 21 || (dimension & 0x03) !== 1) {\n throw new FormatException();\n }\n this.bitMatrix = bitMatrix;\n }\n /**\n *

    Reads format information from one of its two locations within the QR Code.

    \n *\n * @return {@link FormatInformation} encapsulating the QR Code's format info\n * @throws FormatException if both format information locations cannot be parsed as\n * the valid encoding of format information\n */\n BitMatrixParser.prototype.readFormatInformation = function () {\n if (this.parsedFormatInfo !== null && this.parsedFormatInfo !== undefined) {\n return this.parsedFormatInfo;\n }\n // Read top-left format info bits\n var formatInfoBits1 = 0;\n for (var i = 0; i < 6; i++) {\n formatInfoBits1 = this.copyBit(i, 8, formatInfoBits1);\n }\n // .. and skip a bit in the timing pattern ...\n formatInfoBits1 = this.copyBit(7, 8, formatInfoBits1);\n formatInfoBits1 = this.copyBit(8, 8, formatInfoBits1);\n formatInfoBits1 = this.copyBit(8, 7, formatInfoBits1);\n // .. and skip a bit in the timing pattern ...\n for (var j = 5; j >= 0; j--) {\n formatInfoBits1 = this.copyBit(8, j, formatInfoBits1);\n }\n // Read the top-right/bottom-left pattern too\n var dimension = this.bitMatrix.getHeight();\n var formatInfoBits2 = 0;\n var jMin = dimension - 7;\n for (var j = dimension - 1; j >= jMin; j--) {\n formatInfoBits2 = this.copyBit(8, j, formatInfoBits2);\n }\n for (var i = dimension - 8; i < dimension; i++) {\n formatInfoBits2 = this.copyBit(i, 8, formatInfoBits2);\n }\n this.parsedFormatInfo = FormatInformation.decodeFormatInformation(formatInfoBits1, formatInfoBits2);\n if (this.parsedFormatInfo !== null) {\n return this.parsedFormatInfo;\n }\n throw new FormatException();\n };\n /**\n *

    Reads version information from one of its two locations within the QR Code.

    \n *\n * @return {@link Version} encapsulating the QR Code's version\n * @throws FormatException if both version information locations cannot be parsed as\n * the valid encoding of version information\n */\n BitMatrixParser.prototype.readVersion = function () {\n if (this.parsedVersion !== null && this.parsedVersion !== undefined) {\n return this.parsedVersion;\n }\n var dimension = this.bitMatrix.getHeight();\n var provisionalVersion = Math.floor((dimension - 17) / 4);\n if (provisionalVersion <= 6) {\n return Version.getVersionForNumber(provisionalVersion);\n }\n // Read top-right version info: 3 wide by 6 tall\n var versionBits = 0;\n var ijMin = dimension - 11;\n for (var j = 5; j >= 0; j--) {\n for (var i = dimension - 9; i >= ijMin; i--) {\n versionBits = this.copyBit(i, j, versionBits);\n }\n }\n var theParsedVersion = Version.decodeVersionInformation(versionBits);\n if (theParsedVersion !== null && theParsedVersion.getDimensionForVersion() === dimension) {\n this.parsedVersion = theParsedVersion;\n return theParsedVersion;\n }\n // Hmm, failed. Try bottom left: 6 wide by 3 tall\n versionBits = 0;\n for (var i = 5; i >= 0; i--) {\n for (var j = dimension - 9; j >= ijMin; j--) {\n versionBits = this.copyBit(i, j, versionBits);\n }\n }\n theParsedVersion = Version.decodeVersionInformation(versionBits);\n if (theParsedVersion !== null && theParsedVersion.getDimensionForVersion() === dimension) {\n this.parsedVersion = theParsedVersion;\n return theParsedVersion;\n }\n throw new FormatException();\n };\n BitMatrixParser.prototype.copyBit = function (i /*int*/, j /*int*/, versionBits /*int*/) {\n var bit = this.isMirror ? this.bitMatrix.get(j, i) : this.bitMatrix.get(i, j);\n return bit ? (versionBits << 1) | 0x1 : versionBits << 1;\n };\n /**\n *

    Reads the bits in the {@link BitMatrix} representing the finder pattern in the\n * correct order in order to reconstruct the codewords bytes contained within the\n * QR Code.

    \n *\n * @return bytes encoded within the QR Code\n * @throws FormatException if the exact number of bytes expected is not read\n */\n BitMatrixParser.prototype.readCodewords = function () {\n var formatInfo = this.readFormatInformation();\n var version = this.readVersion();\n // Get the data mask for the format used in this QR Code. This will exclude\n // some bits from reading as we wind through the bit matrix.\n var dataMask = DataMask.values.get(formatInfo.getDataMask());\n var dimension = this.bitMatrix.getHeight();\n dataMask.unmaskBitMatrix(this.bitMatrix, dimension);\n var functionPattern = version.buildFunctionPattern();\n var readingUp = true;\n var result = new Uint8Array(version.getTotalCodewords());\n var resultOffset = 0;\n var currentByte = 0;\n var bitsRead = 0;\n // Read columns in pairs, from right to left\n for (var j = dimension - 1; j > 0; j -= 2) {\n if (j === 6) {\n // Skip whole column with vertical alignment pattern\n // saves time and makes the other code proceed more cleanly\n j--;\n }\n // Read alternatingly from bottom to top then top to bottom\n for (var count = 0; count < dimension; count++) {\n var i = readingUp ? dimension - 1 - count : count;\n for (var col = 0; col < 2; col++) {\n // Ignore bits covered by the function pattern\n if (!functionPattern.get(j - col, i)) {\n // Read a bit\n bitsRead++;\n currentByte <<= 1;\n if (this.bitMatrix.get(j - col, i)) {\n currentByte |= 1;\n }\n // If we've made a whole byte, save it off\n if (bitsRead === 8) {\n result[resultOffset++] = /*(byte) */ currentByte;\n bitsRead = 0;\n currentByte = 0;\n }\n }\n }\n }\n readingUp = !readingUp; // readingUp ^= true; // readingUp = !readingUp; // switch directions\n }\n if (resultOffset !== version.getTotalCodewords()) {\n throw new FormatException();\n }\n return result;\n };\n /**\n * Revert the mask removal done while reading the code words. The bit matrix should revert to its original state.\n */\n BitMatrixParser.prototype.remask = function () {\n if (this.parsedFormatInfo === null) {\n return; // We have no format information, and have no data mask\n }\n var dataMask = DataMask.values[this.parsedFormatInfo.getDataMask()];\n var dimension = this.bitMatrix.getHeight();\n dataMask.unmaskBitMatrix(this.bitMatrix, dimension);\n };\n /**\n * Prepare the parser for a mirrored operation.\n * This flag has effect only on the {@link #readFormatInformation()} and the\n * {@link #readVersion()}. Before proceeding with {@link #readCodewords()} the\n * {@link #mirror()} method should be called.\n *\n * @param mirror Whether to read version and format information mirrored.\n */\n BitMatrixParser.prototype.setMirror = function (isMirror) {\n this.parsedVersion = null;\n this.parsedFormatInfo = null;\n this.isMirror = isMirror;\n };\n /** Mirror the bit matrix in order to attempt a second reading. */\n BitMatrixParser.prototype.mirror = function () {\n var bitMatrix = this.bitMatrix;\n for (var x = 0, width = bitMatrix.getWidth(); x < width; x++) {\n for (var y = x + 1, height = bitMatrix.getHeight(); y < height; y++) {\n if (bitMatrix.get(x, y) !== bitMatrix.get(y, x)) {\n bitMatrix.flip(y, x);\n bitMatrix.flip(x, y);\n }\n }\n }\n };\n return BitMatrixParser;\n}());\nexport default BitMatrixParser;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n *

    Encapsulates a block of data within a QR Code. QR Codes may split their data into\n * multiple blocks, each of which is a unit of data and error-correction codewords. Each\n * is represented by an instance of this class.

    \n *\n * @author Sean Owen\n */\nvar DataBlock = /** @class */ (function () {\n function DataBlock(numDataCodewords /*int*/, codewords) {\n this.numDataCodewords = numDataCodewords;\n this.codewords = codewords;\n }\n /**\n *

    When QR Codes use multiple data blocks, they are actually interleaved.\n * That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This\n * method will separate the data into original blocks.

    \n *\n * @param rawCodewords bytes as read directly from the QR Code\n * @param version version of the QR Code\n * @param ecLevel error-correction level of the QR Code\n * @return DataBlocks containing original bytes, \"de-interleaved\" from representation in the\n * QR Code\n */\n DataBlock.getDataBlocks = function (rawCodewords, version, ecLevel) {\n var e_1, _a, e_2, _b;\n if (rawCodewords.length !== version.getTotalCodewords()) {\n throw new IllegalArgumentException();\n }\n // Figure out the number and size of data blocks used by this version and\n // error correction level\n var ecBlocks = version.getECBlocksForLevel(ecLevel);\n // First count the total number of data blocks\n var totalBlocks = 0;\n var ecBlockArray = ecBlocks.getECBlocks();\n try {\n for (var ecBlockArray_1 = __values(ecBlockArray), ecBlockArray_1_1 = ecBlockArray_1.next(); !ecBlockArray_1_1.done; ecBlockArray_1_1 = ecBlockArray_1.next()) {\n var ecBlock = ecBlockArray_1_1.value;\n totalBlocks += ecBlock.getCount();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (ecBlockArray_1_1 && !ecBlockArray_1_1.done && (_a = ecBlockArray_1.return)) _a.call(ecBlockArray_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n // Now establish DataBlocks of the appropriate size and number of data codewords\n var result = new Array(totalBlocks);\n var numResultBlocks = 0;\n try {\n for (var ecBlockArray_2 = __values(ecBlockArray), ecBlockArray_2_1 = ecBlockArray_2.next(); !ecBlockArray_2_1.done; ecBlockArray_2_1 = ecBlockArray_2.next()) {\n var ecBlock = ecBlockArray_2_1.value;\n for (var i = 0; i < ecBlock.getCount(); i++) {\n var numDataCodewords = ecBlock.getDataCodewords();\n var numBlockCodewords = ecBlocks.getECCodewordsPerBlock() + numDataCodewords;\n result[numResultBlocks++] = new DataBlock(numDataCodewords, new Uint8Array(numBlockCodewords));\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (ecBlockArray_2_1 && !ecBlockArray_2_1.done && (_b = ecBlockArray_2.return)) _b.call(ecBlockArray_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // All blocks have the same amount of data, except that the last n\n // (where n may be 0) have 1 more byte. Figure out where these start.\n var shorterBlocksTotalCodewords = result[0].codewords.length;\n var longerBlocksStartAt = result.length - 1;\n // TYPESCRIPTPORT: check length is correct here\n while (longerBlocksStartAt >= 0) {\n var numCodewords = result[longerBlocksStartAt].codewords.length;\n if (numCodewords === shorterBlocksTotalCodewords) {\n break;\n }\n longerBlocksStartAt--;\n }\n longerBlocksStartAt++;\n var shorterBlocksNumDataCodewords = shorterBlocksTotalCodewords - ecBlocks.getECCodewordsPerBlock();\n // The last elements of result may be 1 element longer\n // first fill out as many elements as all of them have\n var rawCodewordsOffset = 0;\n for (var i = 0; i < shorterBlocksNumDataCodewords; i++) {\n for (var j = 0; j < numResultBlocks; j++) {\n result[j].codewords[i] = rawCodewords[rawCodewordsOffset++];\n }\n }\n // Fill out the last data block in the longer ones\n for (var j = longerBlocksStartAt; j < numResultBlocks; j++) {\n result[j].codewords[shorterBlocksNumDataCodewords] = rawCodewords[rawCodewordsOffset++];\n }\n // Now add in error correction blocks\n var max = result[0].codewords.length;\n for (var i = shorterBlocksNumDataCodewords; i < max; i++) {\n for (var j = 0; j < numResultBlocks; j++) {\n var iOffset = j < longerBlocksStartAt ? i : i + 1;\n result[j].codewords[iOffset] = rawCodewords[rawCodewordsOffset++];\n }\n }\n return result;\n };\n DataBlock.prototype.getNumDataCodewords = function () {\n return this.numDataCodewords;\n };\n DataBlock.prototype.getCodewords = function () {\n return this.codewords;\n };\n return DataBlock;\n}());\nexport default DataBlock;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport var DataMaskValues;\n(function (DataMaskValues) {\n DataMaskValues[DataMaskValues[\"DATA_MASK_000\"] = 0] = \"DATA_MASK_000\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_001\"] = 1] = \"DATA_MASK_001\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_010\"] = 2] = \"DATA_MASK_010\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_011\"] = 3] = \"DATA_MASK_011\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_100\"] = 4] = \"DATA_MASK_100\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_101\"] = 5] = \"DATA_MASK_101\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_110\"] = 6] = \"DATA_MASK_110\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_111\"] = 7] = \"DATA_MASK_111\";\n})(DataMaskValues || (DataMaskValues = {}));\n/**\n *

    Encapsulates data masks for the data bits in a QR code, per ISO 18004:2006 6.8. Implementations\n * of this class can un-mask a raw BitMatrix. For simplicity, they will unmask the entire BitMatrix,\n * including areas used for finder patterns, timing patterns, etc. These areas should be unused\n * after the point they are unmasked anyway.

    \n *\n *

    Note that the diagram in section 6.8.1 is misleading since it indicates that i is column position\n * and j is row position. In fact, as the text says, i is row position and j is column position.

    \n *\n * @author Sean Owen\n */\nvar DataMask = /** @class */ (function () {\n // See ISO 18004:2006 6.8.1\n function DataMask(value, isMasked) {\n this.value = value;\n this.isMasked = isMasked;\n }\n // End of enum constants.\n /**\n *

    Implementations of this method reverse the data masking process applied to a QR Code and\n * make its bits ready to read.

    \n *\n * @param bits representation of QR Code bits\n * @param dimension dimension of QR Code, represented by bits, being unmasked\n */\n DataMask.prototype.unmaskBitMatrix = function (bits, dimension /*int*/) {\n for (var i = 0; i < dimension; i++) {\n for (var j = 0; j < dimension; j++) {\n if (this.isMasked(i, j)) {\n bits.flip(j, i);\n }\n }\n }\n };\n DataMask.values = new Map([\n /**\n * 000: mask bits for which (x + y) mod 2 == 0\n */\n [DataMaskValues.DATA_MASK_000, new DataMask(DataMaskValues.DATA_MASK_000, function (i /*int*/, j /*int*/) { return ((i + j) & 0x01) === 0; })],\n /**\n * 001: mask bits for which x mod 2 == 0\n */\n [DataMaskValues.DATA_MASK_001, new DataMask(DataMaskValues.DATA_MASK_001, function (i /*int*/, j /*int*/) { return (i & 0x01) === 0; })],\n /**\n * 010: mask bits for which y mod 3 == 0\n */\n [DataMaskValues.DATA_MASK_010, new DataMask(DataMaskValues.DATA_MASK_010, function (i /*int*/, j /*int*/) { return j % 3 === 0; })],\n /**\n * 011: mask bits for which (x + y) mod 3 == 0\n */\n [DataMaskValues.DATA_MASK_011, new DataMask(DataMaskValues.DATA_MASK_011, function (i /*int*/, j /*int*/) { return (i + j) % 3 === 0; })],\n /**\n * 100: mask bits for which (x/2 + y/3) mod 2 == 0\n */\n [DataMaskValues.DATA_MASK_100, new DataMask(DataMaskValues.DATA_MASK_100, function (i /*int*/, j /*int*/) { return ((Math.floor(i / 2) + Math.floor(j / 3)) & 0x01) === 0; })],\n /**\n * 101: mask bits for which xy mod 2 + xy mod 3 == 0\n * equivalently, such that xy mod 6 == 0\n */\n [DataMaskValues.DATA_MASK_101, new DataMask(DataMaskValues.DATA_MASK_101, function (i /*int*/, j /*int*/) { return (i * j) % 6 === 0; })],\n /**\n * 110: mask bits for which (xy mod 2 + xy mod 3) mod 2 == 0\n * equivalently, such that xy mod 6 < 3\n */\n [DataMaskValues.DATA_MASK_110, new DataMask(DataMaskValues.DATA_MASK_110, function (i /*int*/, j /*int*/) { return ((i * j) % 6) < 3; })],\n /**\n * 111: mask bits for which ((x+y)mod 2 + xy mod 3) mod 2 == 0\n * equivalently, such that (x + y + xy mod 3) mod 2 == 0\n */\n [DataMaskValues.DATA_MASK_111, new DataMask(DataMaskValues.DATA_MASK_111, function (i /*int*/, j /*int*/) { return ((i + j + ((i * j) % 3)) & 0x01) === 0; })],\n ]);\n return DataMask;\n}());\nexport default DataMask;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.qrcode.decoder {*/\nimport BitSource from '../../common/BitSource';\nimport CharacterSetECI from '../../common/CharacterSetECI';\nimport DecoderResult from '../../common/DecoderResult';\nimport StringUtils from '../../common/StringUtils';\nimport FormatException from '../../FormatException';\nimport StringBuilder from '../../util/StringBuilder';\nimport StringEncoding from '../../util/StringEncoding';\nimport Mode from './Mode';\n/*import java.io.UnsupportedEncodingException;*/\n/*import java.util.ArrayList;*/\n/*import java.util.Collection;*/\n/*import java.util.List;*/\n/*import java.util.Map;*/\n/**\n *

    QR Codes can encode text as bits in one of several modes, and can use multiple modes\n * in one QR Code. This class decodes the bits back into text.

    \n *\n *

    See ISO 18004:2006, 6.4.3 - 6.4.7

    \n *\n * @author Sean Owen\n */\nvar DecodedBitStreamParser = /** @class */ (function () {\n function DecodedBitStreamParser() {\n }\n DecodedBitStreamParser.decode = function (bytes, version, ecLevel, hints) {\n var bits = new BitSource(bytes);\n var result = new StringBuilder();\n var byteSegments = new Array(); // 1\n // TYPESCRIPTPORT: I do not use constructor with size 1 as in original Java means capacity and the array length is checked below\n var symbolSequence = -1;\n var parityData = -1;\n try {\n var currentCharacterSetECI = null;\n var fc1InEffect = false;\n var mode = void 0;\n do {\n // While still another segment to read...\n if (bits.available() < 4) {\n // OK, assume we're done. Really, a TERMINATOR mode should have been recorded here\n mode = Mode.TERMINATOR;\n }\n else {\n var modeBits = bits.readBits(4);\n mode = Mode.forBits(modeBits); // mode is encoded by 4 bits\n }\n switch (mode) {\n case Mode.TERMINATOR:\n break;\n case Mode.FNC1_FIRST_POSITION:\n case Mode.FNC1_SECOND_POSITION:\n // We do little with FNC1 except alter the parsed result a bit according to the spec\n fc1InEffect = true;\n break;\n case Mode.STRUCTURED_APPEND:\n if (bits.available() < 16) {\n throw new FormatException();\n }\n // sequence number and parity is added later to the result metadata\n // Read next 8 bits (symbol sequence #) and 8 bits (data: parity), then continue\n symbolSequence = bits.readBits(8);\n parityData = bits.readBits(8);\n break;\n case Mode.ECI:\n // Count doesn't apply to ECI\n var value = DecodedBitStreamParser.parseECIValue(bits);\n currentCharacterSetECI = CharacterSetECI.getCharacterSetECIByValue(value);\n if (currentCharacterSetECI === null) {\n throw new FormatException();\n }\n break;\n case Mode.HANZI:\n // First handle Hanzi mode which does not start with character count\n // Chinese mode contains a sub set indicator right after mode indicator\n var subset = bits.readBits(4);\n var countHanzi = bits.readBits(mode.getCharacterCountBits(version));\n if (subset === DecodedBitStreamParser.GB2312_SUBSET) {\n DecodedBitStreamParser.decodeHanziSegment(bits, result, countHanzi);\n }\n break;\n default:\n // \"Normal\" QR code modes:\n // How many characters will follow, encoded in this mode?\n var count = bits.readBits(mode.getCharacterCountBits(version));\n switch (mode) {\n case Mode.NUMERIC:\n DecodedBitStreamParser.decodeNumericSegment(bits, result, count);\n break;\n case Mode.ALPHANUMERIC:\n DecodedBitStreamParser.decodeAlphanumericSegment(bits, result, count, fc1InEffect);\n break;\n case Mode.BYTE:\n DecodedBitStreamParser.decodeByteSegment(bits, result, count, currentCharacterSetECI, byteSegments, hints);\n break;\n case Mode.KANJI:\n DecodedBitStreamParser.decodeKanjiSegment(bits, result, count);\n break;\n default:\n throw new FormatException();\n }\n break;\n }\n } while (mode !== Mode.TERMINATOR);\n }\n catch (iae /*: IllegalArgumentException*/) {\n // from readBits() calls\n throw new FormatException();\n }\n return new DecoderResult(bytes, result.toString(), byteSegments.length === 0 ? null : byteSegments, ecLevel === null ? null : ecLevel.toString(), symbolSequence, parityData);\n };\n /**\n * See specification GBT 18284-2000\n */\n DecodedBitStreamParser.decodeHanziSegment = function (bits, result, count /*int*/) {\n // Don't crash trying to read more bits than we have available.\n if (count * 13 > bits.available()) {\n throw new FormatException();\n }\n // Each character will require 2 bytes. Read the characters as 2-byte pairs\n // and decode as GB2312 afterwards\n var buffer = new Uint8Array(2 * count);\n var offset = 0;\n while (count > 0) {\n // Each 13 bits encodes a 2-byte character\n var twoBytes = bits.readBits(13);\n var assembledTwoBytes = (((twoBytes / 0x060) << 8) & 0xFFFFFFFF) | (twoBytes % 0x060);\n if (assembledTwoBytes < 0x003BF) {\n // In the 0xA1A1 to 0xAAFE range\n assembledTwoBytes += 0x0A1A1;\n }\n else {\n // In the 0xB0A1 to 0xFAFE range\n assembledTwoBytes += 0x0A6A1;\n }\n buffer[offset] = /*(byte) */ ((assembledTwoBytes >> 8) & 0xFF);\n buffer[offset + 1] = /*(byte) */ (assembledTwoBytes & 0xFF);\n offset += 2;\n count--;\n }\n try {\n result.append(StringEncoding.decode(buffer, StringUtils.GB2312));\n // TYPESCRIPTPORT: TODO: implement GB2312 decode. StringView from MDN could be a starting point\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n throw new FormatException(ignored);\n }\n };\n DecodedBitStreamParser.decodeKanjiSegment = function (bits, result, count /*int*/) {\n // Don't crash trying to read more bits than we have available.\n if (count * 13 > bits.available()) {\n throw new FormatException();\n }\n // Each character will require 2 bytes. Read the characters as 2-byte pairs\n // and decode as Shift_JIS afterwards\n var buffer = new Uint8Array(2 * count);\n var offset = 0;\n while (count > 0) {\n // Each 13 bits encodes a 2-byte character\n var twoBytes = bits.readBits(13);\n var assembledTwoBytes = (((twoBytes / 0x0C0) << 8) & 0xFFFFFFFF) | (twoBytes % 0x0C0);\n if (assembledTwoBytes < 0x01F00) {\n // In the 0x8140 to 0x9FFC range\n assembledTwoBytes += 0x08140;\n }\n else {\n // In the 0xE040 to 0xEBBF range\n assembledTwoBytes += 0x0C140;\n }\n buffer[offset] = /*(byte) */ (assembledTwoBytes >> 8);\n buffer[offset + 1] = /*(byte) */ assembledTwoBytes;\n offset += 2;\n count--;\n }\n // Shift_JIS may not be supported in some environments:\n try {\n result.append(StringEncoding.decode(buffer, StringUtils.SHIFT_JIS));\n // TYPESCRIPTPORT: TODO: implement SHIFT_JIS decode. StringView from MDN could be a starting point\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n throw new FormatException(ignored);\n }\n };\n DecodedBitStreamParser.decodeByteSegment = function (bits, result, count /*int*/, currentCharacterSetECI, byteSegments, hints) {\n // Don't crash trying to read more bits than we have available.\n if (8 * count > bits.available()) {\n throw new FormatException();\n }\n var readBytes = new Uint8Array(count);\n for (var i = 0; i < count; i++) {\n readBytes[i] = /*(byte) */ bits.readBits(8);\n }\n var encoding;\n if (currentCharacterSetECI === null) {\n // The spec isn't clear on this mode; see\n // section 6.4.5: t does not say which encoding to assuming\n // upon decoding. I have seen ISO-8859-1 used as well as\n // Shift_JIS -- without anything like an ECI designator to\n // give a hint.\n encoding = StringUtils.guessEncoding(readBytes, hints);\n }\n else {\n encoding = currentCharacterSetECI.getName();\n }\n try {\n result.append(StringEncoding.decode(readBytes, encoding));\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n throw new FormatException(ignored);\n }\n byteSegments.push(readBytes);\n };\n DecodedBitStreamParser.toAlphaNumericChar = function (value /*int*/) {\n if (value >= DecodedBitStreamParser.ALPHANUMERIC_CHARS.length) {\n throw new FormatException();\n }\n return DecodedBitStreamParser.ALPHANUMERIC_CHARS[value];\n };\n DecodedBitStreamParser.decodeAlphanumericSegment = function (bits, result, count /*int*/, fc1InEffect) {\n // Read two characters at a time\n var start = result.length();\n while (count > 1) {\n if (bits.available() < 11) {\n throw new FormatException();\n }\n var nextTwoCharsBits = bits.readBits(11);\n result.append(DecodedBitStreamParser.toAlphaNumericChar(Math.floor(nextTwoCharsBits / 45)));\n result.append(DecodedBitStreamParser.toAlphaNumericChar(nextTwoCharsBits % 45));\n count -= 2;\n }\n if (count === 1) {\n // special case: one character left\n if (bits.available() < 6) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser.toAlphaNumericChar(bits.readBits(6)));\n }\n // See section 6.4.8.1, 6.4.8.2\n if (fc1InEffect) {\n // We need to massage the result a bit if in an FNC1 mode:\n for (var i = start; i < result.length(); i++) {\n if (result.charAt(i) === '%') {\n if (i < result.length() - 1 && result.charAt(i + 1) === '%') {\n // %% is rendered as %\n result.deleteCharAt(i + 1);\n }\n else {\n // In alpha mode, % should be converted to FNC1 separator 0x1D\n result.setCharAt(i, String.fromCharCode(0x1D));\n }\n }\n }\n }\n };\n DecodedBitStreamParser.decodeNumericSegment = function (bits, result, count /*int*/) {\n // Read three digits at a time\n while (count >= 3) {\n // Each 10 bits encodes three digits\n if (bits.available() < 10) {\n throw new FormatException();\n }\n var threeDigitsBits = bits.readBits(10);\n if (threeDigitsBits >= 1000) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser.toAlphaNumericChar(Math.floor(threeDigitsBits / 100)));\n result.append(DecodedBitStreamParser.toAlphaNumericChar(Math.floor(threeDigitsBits / 10) % 10));\n result.append(DecodedBitStreamParser.toAlphaNumericChar(threeDigitsBits % 10));\n count -= 3;\n }\n if (count === 2) {\n // Two digits left over to read, encoded in 7 bits\n if (bits.available() < 7) {\n throw new FormatException();\n }\n var twoDigitsBits = bits.readBits(7);\n if (twoDigitsBits >= 100) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser.toAlphaNumericChar(Math.floor(twoDigitsBits / 10)));\n result.append(DecodedBitStreamParser.toAlphaNumericChar(twoDigitsBits % 10));\n }\n else if (count === 1) {\n // One digit left over to read\n if (bits.available() < 4) {\n throw new FormatException();\n }\n var digitBits = bits.readBits(4);\n if (digitBits >= 10) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser.toAlphaNumericChar(digitBits));\n }\n };\n DecodedBitStreamParser.parseECIValue = function (bits) {\n var firstByte = bits.readBits(8);\n if ((firstByte & 0x80) === 0) {\n // just one byte\n return firstByte & 0x7F;\n }\n if ((firstByte & 0xC0) === 0x80) {\n // two bytes\n var secondByte = bits.readBits(8);\n return (((firstByte & 0x3F) << 8) & 0xFFFFFFFF) | secondByte;\n }\n if ((firstByte & 0xE0) === 0xC0) {\n // three bytes\n var secondThirdBytes = bits.readBits(16);\n return (((firstByte & 0x1F) << 16) & 0xFFFFFFFF) | secondThirdBytes;\n }\n throw new FormatException();\n };\n /**\n * See ISO 18004:2006, 6.4.4 Table 5\n */\n DecodedBitStreamParser.ALPHANUMERIC_CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:';\n DecodedBitStreamParser.GB2312_SUBSET = 1;\n return DecodedBitStreamParser;\n}());\nexport default DecodedBitStreamParser;\n// function Uint8ArrayToString(a: Uint8Array): string {\n// const CHUNK_SZ = 0x8000;\n// const c = new StringBuilder();\n// for (let i = 0, length = a.length; i < length; i += CHUNK_SZ) {\n// c.append(String.fromCharCode.apply(null, a.subarray(i, i + CHUNK_SZ)));\n// }\n// return c.toString();\n// }\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.decoder {*/\nimport ChecksumException from '../../ChecksumException';\nimport BitMatrix from '../../common/BitMatrix';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport ReedSolomonDecoder from '../../common/reedsolomon/ReedSolomonDecoder';\nimport BitMatrixParser from './BitMatrixParser';\nimport DataBlock from './DataBlock';\nimport DecodedBitStreamParser from './DecodedBitStreamParser';\nimport QRCodeDecoderMetaData from './QRCodeDecoderMetaData';\n/*import java.util.Map;*/\n/**\n *

    The main class which implements QR Code decoding -- as opposed to locating and extracting\n * the QR Code from an image.

    \n *\n * @author Sean Owen\n */\nvar Decoder = /** @class */ (function () {\n function Decoder() {\n this.rsDecoder = new ReedSolomonDecoder(GenericGF.QR_CODE_FIELD_256);\n }\n // public decode(image: boolean[][]): DecoderResult /*throws ChecksumException, FormatException*/ {\n // return decode(image, null)\n // }\n /**\n *

    Convenience method that can decode a QR Code represented as a 2D array of booleans.\n * \"true\" is taken to mean a black module.

    \n *\n * @param image booleans representing white/black QR Code modules\n * @param hints decoding hints that should be used to influence decoding\n * @return text and bytes encoded within the QR Code\n * @throws FormatException if the QR Code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n Decoder.prototype.decodeBooleanArray = function (image, hints) {\n return this.decodeBitMatrix(BitMatrix.parseFromBooleanArray(image), hints);\n };\n // public decodeBitMatrix(bits: BitMatrix): DecoderResult /*throws ChecksumException, FormatException*/ {\n // return decode(bits, null)\n // }\n /**\n *

    Decodes a QR Code represented as a {@link BitMatrix}. A 1 or \"true\" is taken to mean a black module.

    \n *\n * @param bits booleans representing white/black QR Code modules\n * @param hints decoding hints that should be used to influence decoding\n * @return text and bytes encoded within the QR Code\n * @throws FormatException if the QR Code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n Decoder.prototype.decodeBitMatrix = function (bits, hints) {\n // Construct a parser and read version, error-correction level\n var parser = new BitMatrixParser(bits);\n var ex = null;\n try {\n return this.decodeBitMatrixParser(parser, hints);\n }\n catch (e /*: FormatException, ChecksumException*/) {\n ex = e;\n }\n try {\n // Revert the bit matrix\n parser.remask();\n // Will be attempting a mirrored reading of the version and format info.\n parser.setMirror(true);\n // Preemptively read the version.\n parser.readVersion();\n // Preemptively read the format information.\n parser.readFormatInformation();\n /*\n * Since we're here, this means we have successfully detected some kind\n * of version and format information when mirrored. This is a good sign,\n * that the QR code may be mirrored, and we should try once more with a\n * mirrored content.\n */\n // Prepare for a mirrored reading.\n parser.mirror();\n var result = this.decodeBitMatrixParser(parser, hints);\n // Success! Notify the caller that the code was mirrored.\n result.setOther(new QRCodeDecoderMetaData(true));\n return result;\n }\n catch (e /*FormatException | ChecksumException*/) {\n // Throw the exception from the original reading\n if (ex !== null) {\n throw ex;\n }\n throw e;\n }\n };\n Decoder.prototype.decodeBitMatrixParser = function (parser, hints) {\n var e_1, _a, e_2, _b;\n var version = parser.readVersion();\n var ecLevel = parser.readFormatInformation().getErrorCorrectionLevel();\n // Read codewords\n var codewords = parser.readCodewords();\n // Separate into data blocks\n var dataBlocks = DataBlock.getDataBlocks(codewords, version, ecLevel);\n // Count total number of data bytes\n var totalBytes = 0;\n try {\n for (var dataBlocks_1 = __values(dataBlocks), dataBlocks_1_1 = dataBlocks_1.next(); !dataBlocks_1_1.done; dataBlocks_1_1 = dataBlocks_1.next()) {\n var dataBlock = dataBlocks_1_1.value;\n totalBytes += dataBlock.getNumDataCodewords();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (dataBlocks_1_1 && !dataBlocks_1_1.done && (_a = dataBlocks_1.return)) _a.call(dataBlocks_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var resultBytes = new Uint8Array(totalBytes);\n var resultOffset = 0;\n try {\n // Error-correct and copy data blocks together into a stream of bytes\n for (var dataBlocks_2 = __values(dataBlocks), dataBlocks_2_1 = dataBlocks_2.next(); !dataBlocks_2_1.done; dataBlocks_2_1 = dataBlocks_2.next()) {\n var dataBlock = dataBlocks_2_1.value;\n var codewordBytes = dataBlock.getCodewords();\n var numDataCodewords = dataBlock.getNumDataCodewords();\n this.correctErrors(codewordBytes, numDataCodewords);\n for (var i = 0; i < numDataCodewords; i++) {\n resultBytes[resultOffset++] = codewordBytes[i];\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (dataBlocks_2_1 && !dataBlocks_2_1.done && (_b = dataBlocks_2.return)) _b.call(dataBlocks_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // Decode the contents of that stream of bytes\n return DecodedBitStreamParser.decode(resultBytes, version, ecLevel, hints);\n };\n /**\n *

    Given data and error-correction codewords received, possibly corrupted by errors, attempts to\n * correct the errors in-place using Reed-Solomon error correction.

    \n *\n * @param codewordBytes data and error correction codewords\n * @param numDataCodewords number of codewords that are data bytes\n * @throws ChecksumException if error correction fails\n */\n Decoder.prototype.correctErrors = function (codewordBytes, numDataCodewords /*int*/) {\n // const numCodewords = codewordBytes.length;\n // First read into an array of ints\n var codewordsInts = new Int32Array(codewordBytes);\n // TYPESCRIPTPORT: not realy necessary to transform to ints? could redesign everything to work with unsigned bytes?\n // const codewordsInts = new Int32Array(numCodewords)\n // for (let i = 0; i < numCodewords; i++) {\n // codewordsInts[i] = codewordBytes[i] & 0xFF\n // }\n try {\n this.rsDecoder.decode(codewordsInts, codewordBytes.length - numDataCodewords);\n }\n catch (ignored /*: ReedSolomonException*/) {\n throw new ChecksumException();\n }\n // Copy back into array of bytes -- only need to worry about the bytes that were data\n // We don't care about errors in the error-correction codewords\n for (var i = 0; i < numDataCodewords; i++) {\n codewordBytes[i] = /*(byte) */ codewordsInts[i];\n }\n };\n return Decoder;\n}());\nexport default Decoder;\n","/**\n *

    Encapsulates the parameters for one error-correction block in one symbol version.\n * This includes the number of data codewords, and the number of times a block with these\n * parameters is used consecutively in the QR code version's format.

    \n */\nvar ECB = /** @class */ (function () {\n function ECB(count /*int*/, dataCodewords /*int*/) {\n this.count = count;\n this.dataCodewords = dataCodewords;\n }\n ECB.prototype.getCount = function () {\n return this.count;\n };\n ECB.prototype.getDataCodewords = function () {\n return this.dataCodewords;\n };\n return ECB;\n}());\nexport default ECB;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/**\n *

    Encapsulates a set of error-correction blocks in one symbol version. Most versions will\n * use blocks of differing sizes within one version, so, this encapsulates the parameters for\n * each set of blocks. It also holds the number of error-correction codewords per block since it\n * will be the same across all blocks within one version.

    \n */\nvar ECBlocks = /** @class */ (function () {\n function ECBlocks(ecCodewordsPerBlock /*int*/) {\n var ecBlocks = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n ecBlocks[_i - 1] = arguments[_i];\n }\n this.ecCodewordsPerBlock = ecCodewordsPerBlock;\n this.ecBlocks = ecBlocks;\n }\n ECBlocks.prototype.getECCodewordsPerBlock = function () {\n return this.ecCodewordsPerBlock;\n };\n ECBlocks.prototype.getNumBlocks = function () {\n var e_1, _a;\n var total = 0;\n var ecBlocks = this.ecBlocks;\n try {\n for (var ecBlocks_1 = __values(ecBlocks), ecBlocks_1_1 = ecBlocks_1.next(); !ecBlocks_1_1.done; ecBlocks_1_1 = ecBlocks_1.next()) {\n var ecBlock = ecBlocks_1_1.value;\n total += ecBlock.getCount();\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (ecBlocks_1_1 && !ecBlocks_1_1.done && (_a = ecBlocks_1.return)) _a.call(ecBlocks_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return total;\n };\n ECBlocks.prototype.getTotalECCodewords = function () {\n return this.ecCodewordsPerBlock * this.getNumBlocks();\n };\n ECBlocks.prototype.getECBlocks = function () {\n return this.ecBlocks;\n };\n return ECBlocks;\n}());\nexport default ECBlocks;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.qrcode.decoder {*/\nimport ArgumentException from '../../ArgumentException';\nimport IllegalArgumentException from '../../IllegalArgumentException';\nexport var ErrorCorrectionLevelValues;\n(function (ErrorCorrectionLevelValues) {\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"L\"] = 0] = \"L\";\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"M\"] = 1] = \"M\";\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"Q\"] = 2] = \"Q\";\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"H\"] = 3] = \"H\";\n})(ErrorCorrectionLevelValues || (ErrorCorrectionLevelValues = {}));\n/**\n *

    See ISO 18004:2006, 6.5.1. This enum encapsulates the four error correction levels\n * defined by the QR code standard.

    \n *\n * @author Sean Owen\n */\nvar ErrorCorrectionLevel = /** @class */ (function () {\n function ErrorCorrectionLevel(value, stringValue, bits /*int*/) {\n this.value = value;\n this.stringValue = stringValue;\n this.bits = bits;\n ErrorCorrectionLevel.FOR_BITS.set(bits, this);\n ErrorCorrectionLevel.FOR_VALUE.set(value, this);\n }\n ErrorCorrectionLevel.prototype.getValue = function () {\n return this.value;\n };\n ErrorCorrectionLevel.prototype.getBits = function () {\n return this.bits;\n };\n ErrorCorrectionLevel.fromString = function (s) {\n switch (s) {\n case 'L': return ErrorCorrectionLevel.L;\n case 'M': return ErrorCorrectionLevel.M;\n case 'Q': return ErrorCorrectionLevel.Q;\n case 'H': return ErrorCorrectionLevel.H;\n default: throw new ArgumentException(s + 'not available');\n }\n };\n ErrorCorrectionLevel.prototype.toString = function () {\n return this.stringValue;\n };\n ErrorCorrectionLevel.prototype.equals = function (o) {\n if (!(o instanceof ErrorCorrectionLevel)) {\n return false;\n }\n var other = o;\n return this.value === other.value;\n };\n /**\n * @param bits int containing the two bits encoding a QR Code's error correction level\n * @return ErrorCorrectionLevel representing the encoded error correction level\n */\n ErrorCorrectionLevel.forBits = function (bits /*int*/) {\n if (bits < 0 || bits >= ErrorCorrectionLevel.FOR_BITS.size) {\n throw new IllegalArgumentException();\n }\n return ErrorCorrectionLevel.FOR_BITS.get(bits);\n };\n ErrorCorrectionLevel.FOR_BITS = new Map();\n ErrorCorrectionLevel.FOR_VALUE = new Map();\n /** L = ~7% correction */\n ErrorCorrectionLevel.L = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.L, 'L', 0x01);\n /** M = ~15% correction */\n ErrorCorrectionLevel.M = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.M, 'M', 0x00);\n /** Q = ~25% correction */\n ErrorCorrectionLevel.Q = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.Q, 'Q', 0x03);\n /** H = ~30% correction */\n ErrorCorrectionLevel.H = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.H, 'H', 0x02);\n return ErrorCorrectionLevel;\n}());\nexport default ErrorCorrectionLevel;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.decoder {*/\nimport ErrorCorrectionLevel from './ErrorCorrectionLevel';\nimport Integer from '../../util/Integer';\n/**\n *

    Encapsulates a QR Code's format information, including the data mask used and\n * error correction level.

    \n *\n * @author Sean Owen\n * @see DataMask\n * @see ErrorCorrectionLevel\n */\nvar FormatInformation = /** @class */ (function () {\n function FormatInformation(formatInfo /*int*/) {\n // Bits 3,4\n this.errorCorrectionLevel = ErrorCorrectionLevel.forBits((formatInfo >> 3) & 0x03);\n // Bottom 3 bits\n this.dataMask = /*(byte) */ (formatInfo & 0x07);\n }\n FormatInformation.numBitsDiffering = function (a /*int*/, b /*int*/) {\n return Integer.bitCount(a ^ b);\n };\n /**\n * @param maskedFormatInfo1 format info indicator, with mask still applied\n * @param maskedFormatInfo2 second copy of same info; both are checked at the same time\n * to establish best match\n * @return information about the format it specifies, or {@code null}\n * if doesn't seem to match any known pattern\n */\n FormatInformation.decodeFormatInformation = function (maskedFormatInfo1 /*int*/, maskedFormatInfo2 /*int*/) {\n var formatInfo = FormatInformation.doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2);\n if (formatInfo !== null) {\n return formatInfo;\n }\n // Should return null, but, some QR codes apparently\n // do not mask this info. Try again by actually masking the pattern\n // first\n return FormatInformation.doDecodeFormatInformation(maskedFormatInfo1 ^ FormatInformation.FORMAT_INFO_MASK_QR, maskedFormatInfo2 ^ FormatInformation.FORMAT_INFO_MASK_QR);\n };\n FormatInformation.doDecodeFormatInformation = function (maskedFormatInfo1 /*int*/, maskedFormatInfo2 /*int*/) {\n var e_1, _a;\n // Find the int in FORMAT_INFO_DECODE_LOOKUP with fewest bits differing\n var bestDifference = Number.MAX_SAFE_INTEGER;\n var bestFormatInfo = 0;\n try {\n for (var _b = __values(FormatInformation.FORMAT_INFO_DECODE_LOOKUP), _c = _b.next(); !_c.done; _c = _b.next()) {\n var decodeInfo = _c.value;\n var targetInfo = decodeInfo[0];\n if (targetInfo === maskedFormatInfo1 || targetInfo === maskedFormatInfo2) {\n // Found an exact match\n return new FormatInformation(decodeInfo[1]);\n }\n var bitsDifference = FormatInformation.numBitsDiffering(maskedFormatInfo1, targetInfo);\n if (bitsDifference < bestDifference) {\n bestFormatInfo = decodeInfo[1];\n bestDifference = bitsDifference;\n }\n if (maskedFormatInfo1 !== maskedFormatInfo2) {\n // also try the other option\n bitsDifference = FormatInformation.numBitsDiffering(maskedFormatInfo2, targetInfo);\n if (bitsDifference < bestDifference) {\n bestFormatInfo = decodeInfo[1];\n bestDifference = bitsDifference;\n }\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n // Hamming distance of the 32 masked codes is 7, by construction, so <= 3 bits\n // differing means we found a match\n if (bestDifference <= 3) {\n return new FormatInformation(bestFormatInfo);\n }\n return null;\n };\n FormatInformation.prototype.getErrorCorrectionLevel = function () {\n return this.errorCorrectionLevel;\n };\n FormatInformation.prototype.getDataMask = function () {\n return this.dataMask;\n };\n /*@Override*/\n FormatInformation.prototype.hashCode = function () {\n return (this.errorCorrectionLevel.getBits() << 3) | this.dataMask;\n };\n /*@Override*/\n FormatInformation.prototype.equals = function (o) {\n if (!(o instanceof FormatInformation)) {\n return false;\n }\n var other = o;\n return this.errorCorrectionLevel === other.errorCorrectionLevel &&\n this.dataMask === other.dataMask;\n };\n FormatInformation.FORMAT_INFO_MASK_QR = 0x5412;\n /**\n * See ISO 18004:2006, Annex C, Table C.1\n */\n FormatInformation.FORMAT_INFO_DECODE_LOOKUP = [\n Int32Array.from([0x5412, 0x00]),\n Int32Array.from([0x5125, 0x01]),\n Int32Array.from([0x5E7C, 0x02]),\n Int32Array.from([0x5B4B, 0x03]),\n Int32Array.from([0x45F9, 0x04]),\n Int32Array.from([0x40CE, 0x05]),\n Int32Array.from([0x4F97, 0x06]),\n Int32Array.from([0x4AA0, 0x07]),\n Int32Array.from([0x77C4, 0x08]),\n Int32Array.from([0x72F3, 0x09]),\n Int32Array.from([0x7DAA, 0x0A]),\n Int32Array.from([0x789D, 0x0B]),\n Int32Array.from([0x662F, 0x0C]),\n Int32Array.from([0x6318, 0x0D]),\n Int32Array.from([0x6C41, 0x0E]),\n Int32Array.from([0x6976, 0x0F]),\n Int32Array.from([0x1689, 0x10]),\n Int32Array.from([0x13BE, 0x11]),\n Int32Array.from([0x1CE7, 0x12]),\n Int32Array.from([0x19D0, 0x13]),\n Int32Array.from([0x0762, 0x14]),\n Int32Array.from([0x0255, 0x15]),\n Int32Array.from([0x0D0C, 0x16]),\n Int32Array.from([0x083B, 0x17]),\n Int32Array.from([0x355F, 0x18]),\n Int32Array.from([0x3068, 0x19]),\n Int32Array.from([0x3F31, 0x1A]),\n Int32Array.from([0x3A06, 0x1B]),\n Int32Array.from([0x24B4, 0x1C]),\n Int32Array.from([0x2183, 0x1D]),\n Int32Array.from([0x2EDA, 0x1E]),\n Int32Array.from([0x2BED, 0x1F]),\n ];\n return FormatInformation;\n}());\nexport default FormatInformation;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport IllegalArgumentException from '../../IllegalArgumentException';\nexport var ModeValues;\n(function (ModeValues) {\n ModeValues[ModeValues[\"TERMINATOR\"] = 0] = \"TERMINATOR\";\n ModeValues[ModeValues[\"NUMERIC\"] = 1] = \"NUMERIC\";\n ModeValues[ModeValues[\"ALPHANUMERIC\"] = 2] = \"ALPHANUMERIC\";\n ModeValues[ModeValues[\"STRUCTURED_APPEND\"] = 3] = \"STRUCTURED_APPEND\";\n ModeValues[ModeValues[\"BYTE\"] = 4] = \"BYTE\";\n ModeValues[ModeValues[\"ECI\"] = 5] = \"ECI\";\n ModeValues[ModeValues[\"KANJI\"] = 6] = \"KANJI\";\n ModeValues[ModeValues[\"FNC1_FIRST_POSITION\"] = 7] = \"FNC1_FIRST_POSITION\";\n ModeValues[ModeValues[\"FNC1_SECOND_POSITION\"] = 8] = \"FNC1_SECOND_POSITION\";\n /** See GBT 18284-2000; \"Hanzi\" is a transliteration of this mode name. */\n ModeValues[ModeValues[\"HANZI\"] = 9] = \"HANZI\";\n})(ModeValues || (ModeValues = {}));\n/**\n *

    See ISO 18004:2006, 6.4.1, Tables 2 and 3. This enum encapsulates the various modes in which\n * data can be encoded to bits in the QR code standard.

    \n *\n * @author Sean Owen\n */\nvar Mode = /** @class */ (function () {\n function Mode(value, stringValue, characterCountBitsForVersions, bits /*int*/) {\n this.value = value;\n this.stringValue = stringValue;\n this.characterCountBitsForVersions = characterCountBitsForVersions;\n this.bits = bits;\n Mode.FOR_BITS.set(bits, this);\n Mode.FOR_VALUE.set(value, this);\n }\n /**\n * @param bits four bits encoding a QR Code data mode\n * @return Mode encoded by these bits\n * @throws IllegalArgumentException if bits do not correspond to a known mode\n */\n Mode.forBits = function (bits /*int*/) {\n var mode = Mode.FOR_BITS.get(bits);\n if (undefined === mode) {\n throw new IllegalArgumentException();\n }\n return mode;\n };\n /**\n * @param version version in question\n * @return number of bits used, in this QR Code symbol {@link Version}, to encode the\n * count of characters that will follow encoded in this Mode\n */\n Mode.prototype.getCharacterCountBits = function (version) {\n var versionNumber = version.getVersionNumber();\n var offset;\n if (versionNumber <= 9) {\n offset = 0;\n }\n else if (versionNumber <= 26) {\n offset = 1;\n }\n else {\n offset = 2;\n }\n return this.characterCountBitsForVersions[offset];\n };\n Mode.prototype.getValue = function () {\n return this.value;\n };\n Mode.prototype.getBits = function () {\n return this.bits;\n };\n Mode.prototype.equals = function (o) {\n if (!(o instanceof Mode)) {\n return false;\n }\n var other = o;\n return this.value === other.value;\n };\n Mode.prototype.toString = function () {\n return this.stringValue;\n };\n Mode.FOR_BITS = new Map();\n Mode.FOR_VALUE = new Map();\n Mode.TERMINATOR = new Mode(ModeValues.TERMINATOR, 'TERMINATOR', Int32Array.from([0, 0, 0]), 0x00); // Not really a mode...\n Mode.NUMERIC = new Mode(ModeValues.NUMERIC, 'NUMERIC', Int32Array.from([10, 12, 14]), 0x01);\n Mode.ALPHANUMERIC = new Mode(ModeValues.ALPHANUMERIC, 'ALPHANUMERIC', Int32Array.from([9, 11, 13]), 0x02);\n Mode.STRUCTURED_APPEND = new Mode(ModeValues.STRUCTURED_APPEND, 'STRUCTURED_APPEND', Int32Array.from([0, 0, 0]), 0x03); // Not supported\n Mode.BYTE = new Mode(ModeValues.BYTE, 'BYTE', Int32Array.from([8, 16, 16]), 0x04);\n Mode.ECI = new Mode(ModeValues.ECI, 'ECI', Int32Array.from([0, 0, 0]), 0x07); // character counts don't apply\n Mode.KANJI = new Mode(ModeValues.KANJI, 'KANJI', Int32Array.from([8, 10, 12]), 0x08);\n Mode.FNC1_FIRST_POSITION = new Mode(ModeValues.FNC1_FIRST_POSITION, 'FNC1_FIRST_POSITION', Int32Array.from([0, 0, 0]), 0x05);\n Mode.FNC1_SECOND_POSITION = new Mode(ModeValues.FNC1_SECOND_POSITION, 'FNC1_SECOND_POSITION', Int32Array.from([0, 0, 0]), 0x09);\n /** See GBT 18284-2000; \"Hanzi\" is a transliteration of this mode name. */\n Mode.HANZI = new Mode(ModeValues.HANZI, 'HANZI', Int32Array.from([8, 10, 12]), 0x0D);\n return Mode;\n}());\nexport default Mode;\n","/*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Meta-data container for QR Code decoding. Instances of this class may be used to convey information back to the\n * decoding caller. Callers are expected to process this.\n *\n * @see com.google.zxing.common.DecoderResult#getOther()\n */\nvar QRCodeDecoderMetaData = /** @class */ (function () {\n function QRCodeDecoderMetaData(mirrored) {\n this.mirrored = mirrored;\n }\n /**\n * @return true if the QR Code was mirrored.\n */\n QRCodeDecoderMetaData.prototype.isMirrored = function () {\n return this.mirrored;\n };\n /**\n * Apply the result points' order correction due to mirroring.\n *\n * @param points Array of points to apply mirror correction to.\n */\n QRCodeDecoderMetaData.prototype.applyMirroredCorrection = function (points) {\n if (!this.mirrored || points === null || points.length < 3) {\n return;\n }\n var bottomLeft = points[0];\n points[0] = points[2];\n points[2] = bottomLeft;\n // No need to 'fix' top-left and alignment pattern.\n };\n return QRCodeDecoderMetaData;\n}());\nexport default QRCodeDecoderMetaData;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.decoder {*/\nimport BitMatrix from '../../common/BitMatrix';\nimport FormatInformation from './FormatInformation';\nimport ECBlocks from './ECBlocks';\nimport ECB from './ECB';\nimport FormatException from '../../FormatException';\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n * See ISO 18004:2006 Annex D\n *\n * @author Sean Owen\n */\nvar Version = /** @class */ (function () {\n function Version(versionNumber /*int*/, alignmentPatternCenters) {\n var e_1, _a;\n var ecBlocks = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n ecBlocks[_i - 2] = arguments[_i];\n }\n this.versionNumber = versionNumber;\n this.alignmentPatternCenters = alignmentPatternCenters;\n this.ecBlocks = ecBlocks;\n var total = 0;\n var ecCodewords = ecBlocks[0].getECCodewordsPerBlock();\n var ecbArray = ecBlocks[0].getECBlocks();\n try {\n for (var ecbArray_1 = __values(ecbArray), ecbArray_1_1 = ecbArray_1.next(); !ecbArray_1_1.done; ecbArray_1_1 = ecbArray_1.next()) {\n var ecBlock = ecbArray_1_1.value;\n total += ecBlock.getCount() * (ecBlock.getDataCodewords() + ecCodewords);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (ecbArray_1_1 && !ecbArray_1_1.done && (_a = ecbArray_1.return)) _a.call(ecbArray_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n this.totalCodewords = total;\n }\n Version.prototype.getVersionNumber = function () {\n return this.versionNumber;\n };\n Version.prototype.getAlignmentPatternCenters = function () {\n return this.alignmentPatternCenters;\n };\n Version.prototype.getTotalCodewords = function () {\n return this.totalCodewords;\n };\n Version.prototype.getDimensionForVersion = function () {\n return 17 + 4 * this.versionNumber;\n };\n Version.prototype.getECBlocksForLevel = function (ecLevel) {\n return this.ecBlocks[ecLevel.getValue()];\n // TYPESCRIPTPORT: original was using ordinal, and using the order of levels as defined in ErrorCorrectionLevel enum (LMQH)\n // I will use the direct value from ErrorCorrectionLevelValues enum which in typescript goes to a number\n };\n /**\n *

    Deduces version information purely from QR Code dimensions.

    \n *\n * @param dimension dimension in modules\n * @return Version for a QR Code of that dimension\n * @throws FormatException if dimension is not 1 mod 4\n */\n Version.getProvisionalVersionForDimension = function (dimension /*int*/) {\n if (dimension % 4 !== 1) {\n throw new FormatException();\n }\n try {\n return this.getVersionForNumber((dimension - 17) / 4);\n }\n catch (ignored /*: IllegalArgumentException*/) {\n throw new FormatException();\n }\n };\n Version.getVersionForNumber = function (versionNumber /*int*/) {\n if (versionNumber < 1 || versionNumber > 40) {\n throw new IllegalArgumentException();\n }\n return Version.VERSIONS[versionNumber - 1];\n };\n Version.decodeVersionInformation = function (versionBits /*int*/) {\n var bestDifference = Number.MAX_SAFE_INTEGER;\n var bestVersion = 0;\n for (var i = 0; i < Version.VERSION_DECODE_INFO.length; i++) {\n var targetVersion = Version.VERSION_DECODE_INFO[i];\n // Do the version info bits match exactly? done.\n if (targetVersion === versionBits) {\n return Version.getVersionForNumber(i + 7);\n }\n // Otherwise see if this is the closest to a real version info bit string\n // we have seen so far\n var bitsDifference = FormatInformation.numBitsDiffering(versionBits, targetVersion);\n if (bitsDifference < bestDifference) {\n bestVersion = i + 7;\n bestDifference = bitsDifference;\n }\n }\n // We can tolerate up to 3 bits of error since no two version info codewords will\n // differ in less than 8 bits.\n if (bestDifference <= 3) {\n return Version.getVersionForNumber(bestVersion);\n }\n // If we didn't find a close enough match, fail\n return null;\n };\n /**\n * See ISO 18004:2006 Annex E\n */\n Version.prototype.buildFunctionPattern = function () {\n var dimension = this.getDimensionForVersion();\n var bitMatrix = new BitMatrix(dimension);\n // Top left finder pattern + separator + format\n bitMatrix.setRegion(0, 0, 9, 9);\n // Top right finder pattern + separator + format\n bitMatrix.setRegion(dimension - 8, 0, 8, 9);\n // Bottom left finder pattern + separator + format\n bitMatrix.setRegion(0, dimension - 8, 9, 8);\n // Alignment patterns\n var max = this.alignmentPatternCenters.length;\n for (var x = 0; x < max; x++) {\n var i = this.alignmentPatternCenters[x] - 2;\n for (var y = 0; y < max; y++) {\n if ((x === 0 && (y === 0 || y === max - 1)) || (x === max - 1 && y === 0)) {\n // No alignment patterns near the three finder patterns\n continue;\n }\n bitMatrix.setRegion(this.alignmentPatternCenters[y] - 2, i, 5, 5);\n }\n }\n // Vertical timing pattern\n bitMatrix.setRegion(6, 9, 1, dimension - 17);\n // Horizontal timing pattern\n bitMatrix.setRegion(9, 6, dimension - 17, 1);\n if (this.versionNumber > 6) {\n // Version info, top right\n bitMatrix.setRegion(dimension - 11, 0, 3, 6);\n // Version info, bottom left\n bitMatrix.setRegion(0, dimension - 11, 6, 3);\n }\n return bitMatrix;\n };\n /*@Override*/\n Version.prototype.toString = function () {\n return '' + this.versionNumber;\n };\n /**\n * See ISO 18004:2006 Annex D.\n * Element i represents the raw version bits that specify version i + 7\n */\n Version.VERSION_DECODE_INFO = Int32Array.from([\n 0x07C94, 0x085BC, 0x09A99, 0x0A4D3, 0x0BBF6,\n 0x0C762, 0x0D847, 0x0E60D, 0x0F928, 0x10B78,\n 0x1145D, 0x12A17, 0x13532, 0x149A6, 0x15683,\n 0x168C9, 0x177EC, 0x18EC4, 0x191E1, 0x1AFAB,\n 0x1B08E, 0x1CC1A, 0x1D33F, 0x1ED75, 0x1F250,\n 0x209D5, 0x216F0, 0x228BA, 0x2379F, 0x24B0B,\n 0x2542E, 0x26A64, 0x27541, 0x28C69\n ]);\n /**\n * See ISO 18004:2006 6.5.1 Table 9\n */\n Version.VERSIONS = [\n new Version(1, new Int32Array(0), new ECBlocks(7, new ECB(1, 19)), new ECBlocks(10, new ECB(1, 16)), new ECBlocks(13, new ECB(1, 13)), new ECBlocks(17, new ECB(1, 9))),\n new Version(2, Int32Array.from([6, 18]), new ECBlocks(10, new ECB(1, 34)), new ECBlocks(16, new ECB(1, 28)), new ECBlocks(22, new ECB(1, 22)), new ECBlocks(28, new ECB(1, 16))),\n new Version(3, Int32Array.from([6, 22]), new ECBlocks(15, new ECB(1, 55)), new ECBlocks(26, new ECB(1, 44)), new ECBlocks(18, new ECB(2, 17)), new ECBlocks(22, new ECB(2, 13))),\n new Version(4, Int32Array.from([6, 26]), new ECBlocks(20, new ECB(1, 80)), new ECBlocks(18, new ECB(2, 32)), new ECBlocks(26, new ECB(2, 24)), new ECBlocks(16, new ECB(4, 9))),\n new Version(5, Int32Array.from([6, 30]), new ECBlocks(26, new ECB(1, 108)), new ECBlocks(24, new ECB(2, 43)), new ECBlocks(18, new ECB(2, 15), new ECB(2, 16)), new ECBlocks(22, new ECB(2, 11), new ECB(2, 12))),\n new Version(6, Int32Array.from([6, 34]), new ECBlocks(18, new ECB(2, 68)), new ECBlocks(16, new ECB(4, 27)), new ECBlocks(24, new ECB(4, 19)), new ECBlocks(28, new ECB(4, 15))),\n new Version(7, Int32Array.from([6, 22, 38]), new ECBlocks(20, new ECB(2, 78)), new ECBlocks(18, new ECB(4, 31)), new ECBlocks(18, new ECB(2, 14), new ECB(4, 15)), new ECBlocks(26, new ECB(4, 13), new ECB(1, 14))),\n new Version(8, Int32Array.from([6, 24, 42]), new ECBlocks(24, new ECB(2, 97)), new ECBlocks(22, new ECB(2, 38), new ECB(2, 39)), new ECBlocks(22, new ECB(4, 18), new ECB(2, 19)), new ECBlocks(26, new ECB(4, 14), new ECB(2, 15))),\n new Version(9, Int32Array.from([6, 26, 46]), new ECBlocks(30, new ECB(2, 116)), new ECBlocks(22, new ECB(3, 36), new ECB(2, 37)), new ECBlocks(20, new ECB(4, 16), new ECB(4, 17)), new ECBlocks(24, new ECB(4, 12), new ECB(4, 13))),\n new Version(10, Int32Array.from([6, 28, 50]), new ECBlocks(18, new ECB(2, 68), new ECB(2, 69)), new ECBlocks(26, new ECB(4, 43), new ECB(1, 44)), new ECBlocks(24, new ECB(6, 19), new ECB(2, 20)), new ECBlocks(28, new ECB(6, 15), new ECB(2, 16))),\n new Version(11, Int32Array.from([6, 30, 54]), new ECBlocks(20, new ECB(4, 81)), new ECBlocks(30, new ECB(1, 50), new ECB(4, 51)), new ECBlocks(28, new ECB(4, 22), new ECB(4, 23)), new ECBlocks(24, new ECB(3, 12), new ECB(8, 13))),\n new Version(12, Int32Array.from([6, 32, 58]), new ECBlocks(24, new ECB(2, 92), new ECB(2, 93)), new ECBlocks(22, new ECB(6, 36), new ECB(2, 37)), new ECBlocks(26, new ECB(4, 20), new ECB(6, 21)), new ECBlocks(28, new ECB(7, 14), new ECB(4, 15))),\n new Version(13, Int32Array.from([6, 34, 62]), new ECBlocks(26, new ECB(4, 107)), new ECBlocks(22, new ECB(8, 37), new ECB(1, 38)), new ECBlocks(24, new ECB(8, 20), new ECB(4, 21)), new ECBlocks(22, new ECB(12, 11), new ECB(4, 12))),\n new Version(14, Int32Array.from([6, 26, 46, 66]), new ECBlocks(30, new ECB(3, 115), new ECB(1, 116)), new ECBlocks(24, new ECB(4, 40), new ECB(5, 41)), new ECBlocks(20, new ECB(11, 16), new ECB(5, 17)), new ECBlocks(24, new ECB(11, 12), new ECB(5, 13))),\n new Version(15, Int32Array.from([6, 26, 48, 70]), new ECBlocks(22, new ECB(5, 87), new ECB(1, 88)), new ECBlocks(24, new ECB(5, 41), new ECB(5, 42)), new ECBlocks(30, new ECB(5, 24), new ECB(7, 25)), new ECBlocks(24, new ECB(11, 12), new ECB(7, 13))),\n new Version(16, Int32Array.from([6, 26, 50, 74]), new ECBlocks(24, new ECB(5, 98), new ECB(1, 99)), new ECBlocks(28, new ECB(7, 45), new ECB(3, 46)), new ECBlocks(24, new ECB(15, 19), new ECB(2, 20)), new ECBlocks(30, new ECB(3, 15), new ECB(13, 16))),\n new Version(17, Int32Array.from([6, 30, 54, 78]), new ECBlocks(28, new ECB(1, 107), new ECB(5, 108)), new ECBlocks(28, new ECB(10, 46), new ECB(1, 47)), new ECBlocks(28, new ECB(1, 22), new ECB(15, 23)), new ECBlocks(28, new ECB(2, 14), new ECB(17, 15))),\n new Version(18, Int32Array.from([6, 30, 56, 82]), new ECBlocks(30, new ECB(5, 120), new ECB(1, 121)), new ECBlocks(26, new ECB(9, 43), new ECB(4, 44)), new ECBlocks(28, new ECB(17, 22), new ECB(1, 23)), new ECBlocks(28, new ECB(2, 14), new ECB(19, 15))),\n new Version(19, Int32Array.from([6, 30, 58, 86]), new ECBlocks(28, new ECB(3, 113), new ECB(4, 114)), new ECBlocks(26, new ECB(3, 44), new ECB(11, 45)), new ECBlocks(26, new ECB(17, 21), new ECB(4, 22)), new ECBlocks(26, new ECB(9, 13), new ECB(16, 14))),\n new Version(20, Int32Array.from([6, 34, 62, 90]), new ECBlocks(28, new ECB(3, 107), new ECB(5, 108)), new ECBlocks(26, new ECB(3, 41), new ECB(13, 42)), new ECBlocks(30, new ECB(15, 24), new ECB(5, 25)), new ECBlocks(28, new ECB(15, 15), new ECB(10, 16))),\n new Version(21, Int32Array.from([6, 28, 50, 72, 94]), new ECBlocks(28, new ECB(4, 116), new ECB(4, 117)), new ECBlocks(26, new ECB(17, 42)), new ECBlocks(28, new ECB(17, 22), new ECB(6, 23)), new ECBlocks(30, new ECB(19, 16), new ECB(6, 17))),\n new Version(22, Int32Array.from([6, 26, 50, 74, 98]), new ECBlocks(28, new ECB(2, 111), new ECB(7, 112)), new ECBlocks(28, new ECB(17, 46)), new ECBlocks(30, new ECB(7, 24), new ECB(16, 25)), new ECBlocks(24, new ECB(34, 13))),\n new Version(23, Int32Array.from([6, 30, 54, 78, 102]), new ECBlocks(30, new ECB(4, 121), new ECB(5, 122)), new ECBlocks(28, new ECB(4, 47), new ECB(14, 48)), new ECBlocks(30, new ECB(11, 24), new ECB(14, 25)), new ECBlocks(30, new ECB(16, 15), new ECB(14, 16))),\n new Version(24, Int32Array.from([6, 28, 54, 80, 106]), new ECBlocks(30, new ECB(6, 117), new ECB(4, 118)), new ECBlocks(28, new ECB(6, 45), new ECB(14, 46)), new ECBlocks(30, new ECB(11, 24), new ECB(16, 25)), new ECBlocks(30, new ECB(30, 16), new ECB(2, 17))),\n new Version(25, Int32Array.from([6, 32, 58, 84, 110]), new ECBlocks(26, new ECB(8, 106), new ECB(4, 107)), new ECBlocks(28, new ECB(8, 47), new ECB(13, 48)), new ECBlocks(30, new ECB(7, 24), new ECB(22, 25)), new ECBlocks(30, new ECB(22, 15), new ECB(13, 16))),\n new Version(26, Int32Array.from([6, 30, 58, 86, 114]), new ECBlocks(28, new ECB(10, 114), new ECB(2, 115)), new ECBlocks(28, new ECB(19, 46), new ECB(4, 47)), new ECBlocks(28, new ECB(28, 22), new ECB(6, 23)), new ECBlocks(30, new ECB(33, 16), new ECB(4, 17))),\n new Version(27, Int32Array.from([6, 34, 62, 90, 118]), new ECBlocks(30, new ECB(8, 122), new ECB(4, 123)), new ECBlocks(28, new ECB(22, 45), new ECB(3, 46)), new ECBlocks(30, new ECB(8, 23), new ECB(26, 24)), new ECBlocks(30, new ECB(12, 15), new ECB(28, 16))),\n new Version(28, Int32Array.from([6, 26, 50, 74, 98, 122]), new ECBlocks(30, new ECB(3, 117), new ECB(10, 118)), new ECBlocks(28, new ECB(3, 45), new ECB(23, 46)), new ECBlocks(30, new ECB(4, 24), new ECB(31, 25)), new ECBlocks(30, new ECB(11, 15), new ECB(31, 16))),\n new Version(29, Int32Array.from([6, 30, 54, 78, 102, 126]), new ECBlocks(30, new ECB(7, 116), new ECB(7, 117)), new ECBlocks(28, new ECB(21, 45), new ECB(7, 46)), new ECBlocks(30, new ECB(1, 23), new ECB(37, 24)), new ECBlocks(30, new ECB(19, 15), new ECB(26, 16))),\n new Version(30, Int32Array.from([6, 26, 52, 78, 104, 130]), new ECBlocks(30, new ECB(5, 115), new ECB(10, 116)), new ECBlocks(28, new ECB(19, 47), new ECB(10, 48)), new ECBlocks(30, new ECB(15, 24), new ECB(25, 25)), new ECBlocks(30, new ECB(23, 15), new ECB(25, 16))),\n new Version(31, Int32Array.from([6, 30, 56, 82, 108, 134]), new ECBlocks(30, new ECB(13, 115), new ECB(3, 116)), new ECBlocks(28, new ECB(2, 46), new ECB(29, 47)), new ECBlocks(30, new ECB(42, 24), new ECB(1, 25)), new ECBlocks(30, new ECB(23, 15), new ECB(28, 16))),\n new Version(32, Int32Array.from([6, 34, 60, 86, 112, 138]), new ECBlocks(30, new ECB(17, 115)), new ECBlocks(28, new ECB(10, 46), new ECB(23, 47)), new ECBlocks(30, new ECB(10, 24), new ECB(35, 25)), new ECBlocks(30, new ECB(19, 15), new ECB(35, 16))),\n new Version(33, Int32Array.from([6, 30, 58, 86, 114, 142]), new ECBlocks(30, new ECB(17, 115), new ECB(1, 116)), new ECBlocks(28, new ECB(14, 46), new ECB(21, 47)), new ECBlocks(30, new ECB(29, 24), new ECB(19, 25)), new ECBlocks(30, new ECB(11, 15), new ECB(46, 16))),\n new Version(34, Int32Array.from([6, 34, 62, 90, 118, 146]), new ECBlocks(30, new ECB(13, 115), new ECB(6, 116)), new ECBlocks(28, new ECB(14, 46), new ECB(23, 47)), new ECBlocks(30, new ECB(44, 24), new ECB(7, 25)), new ECBlocks(30, new ECB(59, 16), new ECB(1, 17))),\n new Version(35, Int32Array.from([6, 30, 54, 78, 102, 126, 150]), new ECBlocks(30, new ECB(12, 121), new ECB(7, 122)), new ECBlocks(28, new ECB(12, 47), new ECB(26, 48)), new ECBlocks(30, new ECB(39, 24), new ECB(14, 25)), new ECBlocks(30, new ECB(22, 15), new ECB(41, 16))),\n new Version(36, Int32Array.from([6, 24, 50, 76, 102, 128, 154]), new ECBlocks(30, new ECB(6, 121), new ECB(14, 122)), new ECBlocks(28, new ECB(6, 47), new ECB(34, 48)), new ECBlocks(30, new ECB(46, 24), new ECB(10, 25)), new ECBlocks(30, new ECB(2, 15), new ECB(64, 16))),\n new Version(37, Int32Array.from([6, 28, 54, 80, 106, 132, 158]), new ECBlocks(30, new ECB(17, 122), new ECB(4, 123)), new ECBlocks(28, new ECB(29, 46), new ECB(14, 47)), new ECBlocks(30, new ECB(49, 24), new ECB(10, 25)), new ECBlocks(30, new ECB(24, 15), new ECB(46, 16))),\n new Version(38, Int32Array.from([6, 32, 58, 84, 110, 136, 162]), new ECBlocks(30, new ECB(4, 122), new ECB(18, 123)), new ECBlocks(28, new ECB(13, 46), new ECB(32, 47)), new ECBlocks(30, new ECB(48, 24), new ECB(14, 25)), new ECBlocks(30, new ECB(42, 15), new ECB(32, 16))),\n new Version(39, Int32Array.from([6, 26, 54, 82, 110, 138, 166]), new ECBlocks(30, new ECB(20, 117), new ECB(4, 118)), new ECBlocks(28, new ECB(40, 47), new ECB(7, 48)), new ECBlocks(30, new ECB(43, 24), new ECB(22, 25)), new ECBlocks(30, new ECB(10, 15), new ECB(67, 16))),\n new Version(40, Int32Array.from([6, 30, 58, 86, 114, 142, 170]), new ECBlocks(30, new ECB(19, 118), new ECB(6, 119)), new ECBlocks(28, new ECB(18, 47), new ECB(31, 48)), new ECBlocks(30, new ECB(34, 24), new ECB(34, 25)), new ECBlocks(30, new ECB(20, 15), new ECB(61, 16)))\n ];\n return Version;\n}());\nexport default Version;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.qrcode.detector {*/\nimport ResultPoint from '../../ResultPoint';\n/**\n *

    Encapsulates an alignment pattern, which are the smaller square patterns found in\n * all but the simplest QR Codes.

    \n *\n * @author Sean Owen\n */\nvar AlignmentPattern = /** @class */ (function (_super) {\n __extends(AlignmentPattern, _super);\n function AlignmentPattern(posX /*float*/, posY /*float*/, estimatedModuleSize /*float*/) {\n var _this = _super.call(this, posX, posY) || this;\n _this.estimatedModuleSize = estimatedModuleSize;\n return _this;\n }\n /**\n *

    Determines if this alignment pattern \"about equals\" an alignment pattern at the stated\n * position and size -- meaning, it is at nearly the same center with nearly the same size.

    \n */\n AlignmentPattern.prototype.aboutEquals = function (moduleSize /*float*/, i /*float*/, j /*float*/) {\n if (Math.abs(i - this.getY()) <= moduleSize && Math.abs(j - this.getX()) <= moduleSize) {\n var moduleSizeDiff = Math.abs(moduleSize - this.estimatedModuleSize);\n return moduleSizeDiff <= 1.0 || moduleSizeDiff <= this.estimatedModuleSize;\n }\n return false;\n };\n /**\n * Combines this object's current estimate of a finder pattern position and module size\n * with a new estimate. It returns a new {@code FinderPattern} containing an average of the two.\n */\n AlignmentPattern.prototype.combineEstimate = function (i /*float*/, j /*float*/, newModuleSize /*float*/) {\n var combinedX = (this.getX() + j) / 2.0;\n var combinedY = (this.getY() + i) / 2.0;\n var combinedModuleSize = (this.estimatedModuleSize + newModuleSize) / 2.0;\n return new AlignmentPattern(combinedX, combinedY, combinedModuleSize);\n };\n return AlignmentPattern;\n}(ResultPoint));\nexport default AlignmentPattern;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport AlignmentPattern from './AlignmentPattern';\nimport NotFoundException from '../../NotFoundException';\n/*import java.util.ArrayList;*/\n/*import java.util.List;*/\n/**\n *

    This class attempts to find alignment patterns in a QR Code. Alignment patterns look like finder\n * patterns but are smaller and appear at regular intervals throughout the image.

    \n *\n *

    At the moment this only looks for the bottom-right alignment pattern.

    \n *\n *

    This is mostly a simplified copy of {@link FinderPatternFinder}. It is copied,\n * pasted and stripped down here for maximum performance but does unfortunately duplicate\n * some code.

    \n *\n *

    This class is thread-safe but not reentrant. Each thread must allocate its own object.

    \n *\n * @author Sean Owen\n */\nvar AlignmentPatternFinder = /** @class */ (function () {\n /**\n *

    Creates a finder that will look in a portion of the whole image.

    \n *\n * @param image image to search\n * @param startX left column from which to start searching\n * @param startY top row from which to start searching\n * @param width width of region to search\n * @param height height of region to search\n * @param moduleSize estimated module size so far\n */\n function AlignmentPatternFinder(image, startX /*int*/, startY /*int*/, width /*int*/, height /*int*/, moduleSize /*float*/, resultPointCallback) {\n this.image = image;\n this.startX = startX;\n this.startY = startY;\n this.width = width;\n this.height = height;\n this.moduleSize = moduleSize;\n this.resultPointCallback = resultPointCallback;\n this.possibleCenters = []; // new Array(5))\n // TYPESCRIPTPORT: array initialization without size as the length is checked below\n this.crossCheckStateCount = new Int32Array(3);\n }\n /**\n *

    This method attempts to find the bottom-right alignment pattern in the image. It is a bit messy since\n * it's pretty performance-critical and so is written to be fast foremost.

    \n *\n * @return {@link AlignmentPattern} if found\n * @throws NotFoundException if not found\n */\n AlignmentPatternFinder.prototype.find = function () {\n var startX = this.startX;\n var height = this.height;\n var width = this.width;\n var maxJ = startX + width;\n var middleI = this.startY + (height / 2);\n // We are looking for black/white/black modules in 1:1:1 ratio\n // this tracks the number of black/white/black modules seen so far\n var stateCount = new Int32Array(3);\n var image = this.image;\n for (var iGen = 0; iGen < height; iGen++) {\n // Search from middle outwards\n var i = middleI + ((iGen & 0x01) === 0 ? Math.floor((iGen + 1) / 2) : -Math.floor((iGen + 1) / 2));\n stateCount[0] = 0;\n stateCount[1] = 0;\n stateCount[2] = 0;\n var j = startX;\n // Burn off leading white pixels before anything else; if we start in the middle of\n // a white run, it doesn't make sense to count its length, since we don't know if the\n // white run continued to the left of the start point\n while (j < maxJ && !image.get(j, i)) {\n j++;\n }\n var currentState = 0;\n while (j < maxJ) {\n if (image.get(j, i)) {\n // Black pixel\n if (currentState === 1) { // Counting black pixels\n stateCount[1]++;\n }\n else { // Counting white pixels\n if (currentState === 2) { // A winner?\n if (this.foundPatternCross(stateCount)) { // Yes\n var confirmed = this.handlePossibleCenter(stateCount, i, j);\n if (confirmed !== null) {\n return confirmed;\n }\n }\n stateCount[0] = stateCount[2];\n stateCount[1] = 1;\n stateCount[2] = 0;\n currentState = 1;\n }\n else {\n stateCount[++currentState]++;\n }\n }\n }\n else { // White pixel\n if (currentState === 1) { // Counting black pixels\n currentState++;\n }\n stateCount[currentState]++;\n }\n j++;\n }\n if (this.foundPatternCross(stateCount)) {\n var confirmed = this.handlePossibleCenter(stateCount, i, maxJ);\n if (confirmed !== null) {\n return confirmed;\n }\n }\n }\n // Hmm, nothing we saw was observed and confirmed twice. If we had\n // any guess at all, return it.\n if (this.possibleCenters.length !== 0) {\n return this.possibleCenters[0];\n }\n throw new NotFoundException();\n };\n /**\n * Given a count of black/white/black pixels just seen and an end position,\n * figures the location of the center of this black/white/black run.\n */\n AlignmentPatternFinder.centerFromEnd = function (stateCount, end /*int*/) {\n return (end - stateCount[2]) - stateCount[1] / 2.0;\n };\n /**\n * @param stateCount count of black/white/black pixels just read\n * @return true iff the proportions of the counts is close enough to the 1/1/1 ratios\n * used by alignment patterns to be considered a match\n */\n AlignmentPatternFinder.prototype.foundPatternCross = function (stateCount) {\n var moduleSize = this.moduleSize;\n var maxVariance = moduleSize / 2.0;\n for (var i = 0; i < 3; i++) {\n if (Math.abs(moduleSize - stateCount[i]) >= maxVariance) {\n return false;\n }\n }\n return true;\n };\n /**\n *

    After a horizontal scan finds a potential alignment pattern, this method\n * \"cross-checks\" by scanning down vertically through the center of the possible\n * alignment pattern to see if the same proportion is detected.

    \n *\n * @param startI row where an alignment pattern was detected\n * @param centerJ center of the section that appears to cross an alignment pattern\n * @param maxCount maximum reasonable number of modules that should be\n * observed in any reading state, based on the results of the horizontal scan\n * @return vertical center of alignment pattern, or {@link Float#NaN} if not found\n */\n AlignmentPatternFinder.prototype.crossCheckVertical = function (startI /*int*/, centerJ /*int*/, maxCount /*int*/, originalStateCountTotal /*int*/) {\n var image = this.image;\n var maxI = image.getHeight();\n var stateCount = this.crossCheckStateCount;\n stateCount[0] = 0;\n stateCount[1] = 0;\n stateCount[2] = 0;\n // Start counting up from center\n var i = startI;\n while (i >= 0 && image.get(centerJ, i) && stateCount[1] <= maxCount) {\n stateCount[1]++;\n i--;\n }\n // If already too many modules in this state or ran off the edge:\n if (i < 0 || stateCount[1] > maxCount) {\n return NaN;\n }\n while (i >= 0 && !image.get(centerJ, i) && stateCount[0] <= maxCount) {\n stateCount[0]++;\n i--;\n }\n if (stateCount[0] > maxCount) {\n return NaN;\n }\n // Now also count down from center\n i = startI + 1;\n while (i < maxI && image.get(centerJ, i) && stateCount[1] <= maxCount) {\n stateCount[1]++;\n i++;\n }\n if (i === maxI || stateCount[1] > maxCount) {\n return NaN;\n }\n while (i < maxI && !image.get(centerJ, i) && stateCount[2] <= maxCount) {\n stateCount[2]++;\n i++;\n }\n if (stateCount[2] > maxCount) {\n return NaN;\n }\n var stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2];\n if (5 * Math.abs(stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) {\n return NaN;\n }\n return this.foundPatternCross(stateCount) ? AlignmentPatternFinder.centerFromEnd(stateCount, i) : NaN;\n };\n /**\n *

    This is called when a horizontal scan finds a possible alignment pattern. It will\n * cross check with a vertical scan, and if successful, will see if this pattern had been\n * found on a previous horizontal scan. If so, we consider it confirmed and conclude we have\n * found the alignment pattern.

    \n *\n * @param stateCount reading state module counts from horizontal scan\n * @param i row where alignment pattern may be found\n * @param j end of possible alignment pattern in row\n * @return {@link AlignmentPattern} if we have found the same pattern twice, or null if not\n */\n AlignmentPatternFinder.prototype.handlePossibleCenter = function (stateCount, i /*int*/, j /*int*/) {\n var e_1, _a;\n var stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2];\n var centerJ = AlignmentPatternFinder.centerFromEnd(stateCount, j);\n var centerI = this.crossCheckVertical(i, /*(int) */ centerJ, 2 * stateCount[1], stateCountTotal);\n if (!isNaN(centerI)) {\n var estimatedModuleSize = (stateCount[0] + stateCount[1] + stateCount[2]) / 3.0;\n try {\n for (var _b = __values(this.possibleCenters), _c = _b.next(); !_c.done; _c = _b.next()) {\n var center = _c.value;\n // Look for about the same center and module size:\n if (center.aboutEquals(estimatedModuleSize, centerI, centerJ)) {\n return center.combineEstimate(centerI, centerJ, estimatedModuleSize);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n // Hadn't found this before; save it\n var point = new AlignmentPattern(centerJ, centerI, estimatedModuleSize);\n this.possibleCenters.push(point);\n if (this.resultPointCallback !== null && this.resultPointCallback !== undefined) {\n this.resultPointCallback.foundPossibleResultPoint(point);\n }\n }\n return null;\n };\n return AlignmentPatternFinder;\n}());\nexport default AlignmentPatternFinder;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport MathUtils from '../../common/detector/MathUtils';\nimport DetectorResult from '../../common/DetectorResult';\n// import GridSampler from '../../common/GridSampler';\nimport GridSamplerInstance from '../../common/GridSamplerInstance';\nimport PerspectiveTransform from '../../common/PerspectiveTransform';\nimport DecodeHintType from '../../DecodeHintType';\nimport NotFoundException from '../../NotFoundException';\nimport ResultPoint from '../../ResultPoint';\nimport Version from '../decoder/Version';\nimport AlignmentPatternFinder from './AlignmentPatternFinder';\nimport FinderPatternFinder from './FinderPatternFinder';\n/*import java.util.Map;*/\n/**\n *

    Encapsulates logic that can detect a QR Code in an image, even if the QR Code\n * is rotated or skewed, or partially obscured.

    \n *\n * @author Sean Owen\n */\nvar Detector = /** @class */ (function () {\n function Detector(image) {\n this.image = image;\n }\n Detector.prototype.getImage = function () {\n return this.image;\n };\n Detector.prototype.getResultPointCallback = function () {\n return this.resultPointCallback;\n };\n /**\n *

    Detects a QR Code in an image.

    \n *\n * @return {@link DetectorResult} encapsulating results of detecting a QR Code\n * @throws NotFoundException if QR Code cannot be found\n * @throws FormatException if a QR Code cannot be decoded\n */\n // public detect(): DetectorResult /*throws NotFoundException, FormatException*/ {\n // return detect(null)\n // }\n /**\n *

    Detects a QR Code in an image.

    \n *\n * @param hints optional hints to detector\n * @return {@link DetectorResult} encapsulating results of detecting a QR Code\n * @throws NotFoundException if QR Code cannot be found\n * @throws FormatException if a QR Code cannot be decoded\n */\n Detector.prototype.detect = function (hints) {\n this.resultPointCallback = (hints === null || hints === undefined) ? null :\n /*(ResultPointCallback) */ hints.get(DecodeHintType.NEED_RESULT_POINT_CALLBACK);\n var finder = new FinderPatternFinder(this.image, this.resultPointCallback);\n var info = finder.find(hints);\n return this.processFinderPatternInfo(info);\n };\n Detector.prototype.processFinderPatternInfo = function (info) {\n var topLeft = info.getTopLeft();\n var topRight = info.getTopRight();\n var bottomLeft = info.getBottomLeft();\n var moduleSize = this.calculateModuleSize(topLeft, topRight, bottomLeft);\n if (moduleSize < 1.0) {\n throw new NotFoundException('No pattern found in proccess finder.');\n }\n var dimension = Detector.computeDimension(topLeft, topRight, bottomLeft, moduleSize);\n var provisionalVersion = Version.getProvisionalVersionForDimension(dimension);\n var modulesBetweenFPCenters = provisionalVersion.getDimensionForVersion() - 7;\n var alignmentPattern = null;\n // Anything above version 1 has an alignment pattern\n if (provisionalVersion.getAlignmentPatternCenters().length > 0) {\n // Guess where a \"bottom right\" finder pattern would have been\n var bottomRightX = topRight.getX() - topLeft.getX() + bottomLeft.getX();\n var bottomRightY = topRight.getY() - topLeft.getY() + bottomLeft.getY();\n // Estimate that alignment pattern is closer by 3 modules\n // from \"bottom right\" to known top left location\n var correctionToTopLeft = 1.0 - 3.0 / modulesBetweenFPCenters;\n var estAlignmentX = /*(int) */ Math.floor(topLeft.getX() + correctionToTopLeft * (bottomRightX - topLeft.getX()));\n var estAlignmentY = /*(int) */ Math.floor(topLeft.getY() + correctionToTopLeft * (bottomRightY - topLeft.getY()));\n // Kind of arbitrary -- expand search radius before giving up\n for (var i = 4; i <= 16; i <<= 1) {\n try {\n alignmentPattern = this.findAlignmentInRegion(moduleSize, estAlignmentX, estAlignmentY, i);\n break;\n }\n catch (re /*NotFoundException*/) {\n if (!(re instanceof NotFoundException)) {\n throw re;\n }\n // try next round\n }\n }\n // If we didn't find alignment pattern... well try anyway without it\n }\n var transform = Detector.createTransform(topLeft, topRight, bottomLeft, alignmentPattern, dimension);\n var bits = Detector.sampleGrid(this.image, transform, dimension);\n var points;\n if (alignmentPattern === null) {\n points = [bottomLeft, topLeft, topRight];\n }\n else {\n points = [bottomLeft, topLeft, topRight, alignmentPattern];\n }\n return new DetectorResult(bits, points);\n };\n Detector.createTransform = function (topLeft, topRight, bottomLeft, alignmentPattern, dimension /*int*/) {\n var dimMinusThree = dimension - 3.5;\n var bottomRightX; /*float*/\n var bottomRightY; /*float*/\n var sourceBottomRightX; /*float*/\n var sourceBottomRightY; /*float*/\n if (alignmentPattern !== null) {\n bottomRightX = alignmentPattern.getX();\n bottomRightY = alignmentPattern.getY();\n sourceBottomRightX = dimMinusThree - 3.0;\n sourceBottomRightY = sourceBottomRightX;\n }\n else {\n // Don't have an alignment pattern, just make up the bottom-right point\n bottomRightX = (topRight.getX() - topLeft.getX()) + bottomLeft.getX();\n bottomRightY = (topRight.getY() - topLeft.getY()) + bottomLeft.getY();\n sourceBottomRightX = dimMinusThree;\n sourceBottomRightY = dimMinusThree;\n }\n return PerspectiveTransform.quadrilateralToQuadrilateral(3.5, 3.5, dimMinusThree, 3.5, sourceBottomRightX, sourceBottomRightY, 3.5, dimMinusThree, topLeft.getX(), topLeft.getY(), topRight.getX(), topRight.getY(), bottomRightX, bottomRightY, bottomLeft.getX(), bottomLeft.getY());\n };\n Detector.sampleGrid = function (image, transform, dimension /*int*/) {\n var sampler = GridSamplerInstance.getInstance();\n return sampler.sampleGridWithTransform(image, dimension, dimension, transform);\n };\n /**\n *

    Computes the dimension (number of modules on a size) of the QR Code based on the position\n * of the finder patterns and estimated module size.

    \n */\n Detector.computeDimension = function (topLeft, topRight, bottomLeft, moduleSize /*float*/) {\n var tltrCentersDimension = MathUtils.round(ResultPoint.distance(topLeft, topRight) / moduleSize);\n var tlblCentersDimension = MathUtils.round(ResultPoint.distance(topLeft, bottomLeft) / moduleSize);\n var dimension = Math.floor((tltrCentersDimension + tlblCentersDimension) / 2) + 7;\n switch (dimension & 0x03) { // mod 4\n case 0:\n dimension++;\n break;\n // 1? do nothing\n case 2:\n dimension--;\n break;\n case 3:\n throw new NotFoundException('Dimensions could be not found.');\n }\n return dimension;\n };\n /**\n *

    Computes an average estimated module size based on estimated derived from the positions\n * of the three finder patterns.

    \n *\n * @param topLeft detected top-left finder pattern center\n * @param topRight detected top-right finder pattern center\n * @param bottomLeft detected bottom-left finder pattern center\n * @return estimated module size\n */\n Detector.prototype.calculateModuleSize = function (topLeft, topRight, bottomLeft) {\n // Take the average\n return (this.calculateModuleSizeOneWay(topLeft, topRight) +\n this.calculateModuleSizeOneWay(topLeft, bottomLeft)) / 2.0;\n };\n /**\n *

    Estimates module size based on two finder patterns -- it uses\n * {@link #sizeOfBlackWhiteBlackRunBothWays(int, int, int, int)} to figure the\n * width of each, measuring along the axis between their centers.

    \n */\n Detector.prototype.calculateModuleSizeOneWay = function (pattern, otherPattern) {\n var moduleSizeEst1 = this.sizeOfBlackWhiteBlackRunBothWays(/*(int) */ Math.floor(pattern.getX()), \n /*(int) */ Math.floor(pattern.getY()), \n /*(int) */ Math.floor(otherPattern.getX()), \n /*(int) */ Math.floor(otherPattern.getY()));\n var moduleSizeEst2 = this.sizeOfBlackWhiteBlackRunBothWays(/*(int) */ Math.floor(otherPattern.getX()), \n /*(int) */ Math.floor(otherPattern.getY()), \n /*(int) */ Math.floor(pattern.getX()), \n /*(int) */ Math.floor(pattern.getY()));\n if (isNaN(moduleSizeEst1)) {\n return moduleSizeEst2 / 7.0;\n }\n if (isNaN(moduleSizeEst2)) {\n return moduleSizeEst1 / 7.0;\n }\n // Average them, and divide by 7 since we've counted the width of 3 black modules,\n // and 1 white and 1 black module on either side. Ergo, divide sum by 14.\n return (moduleSizeEst1 + moduleSizeEst2) / 14.0;\n };\n /**\n * See {@link #sizeOfBlackWhiteBlackRun(int, int, int, int)}; computes the total width of\n * a finder pattern by looking for a black-white-black run from the center in the direction\n * of another point (another finder pattern center), and in the opposite direction too.\n */\n Detector.prototype.sizeOfBlackWhiteBlackRunBothWays = function (fromX /*int*/, fromY /*int*/, toX /*int*/, toY /*int*/) {\n var result = this.sizeOfBlackWhiteBlackRun(fromX, fromY, toX, toY);\n // Now count other way -- don't run off image though of course\n var scale = 1.0;\n var otherToX = fromX - (toX - fromX);\n if (otherToX < 0) {\n scale = fromX / /*(float) */ (fromX - otherToX);\n otherToX = 0;\n }\n else if (otherToX >= this.image.getWidth()) {\n scale = (this.image.getWidth() - 1 - fromX) / /*(float) */ (otherToX - fromX);\n otherToX = this.image.getWidth() - 1;\n }\n var otherToY = /*(int) */ Math.floor(fromY - (toY - fromY) * scale);\n scale = 1.0;\n if (otherToY < 0) {\n scale = fromY / /*(float) */ (fromY - otherToY);\n otherToY = 0;\n }\n else if (otherToY >= this.image.getHeight()) {\n scale = (this.image.getHeight() - 1 - fromY) / /*(float) */ (otherToY - fromY);\n otherToY = this.image.getHeight() - 1;\n }\n otherToX = /*(int) */ Math.floor(fromX + (otherToX - fromX) * scale);\n result += this.sizeOfBlackWhiteBlackRun(fromX, fromY, otherToX, otherToY);\n // Middle pixel is double-counted this way; subtract 1\n return result - 1.0;\n };\n /**\n *

    This method traces a line from a point in the image, in the direction towards another point.\n * It begins in a black region, and keeps going until it finds white, then black, then white again.\n * It reports the distance from the start to this point.

    \n *\n *

    This is used when figuring out how wide a finder pattern is, when the finder pattern\n * may be skewed or rotated.

    \n */\n Detector.prototype.sizeOfBlackWhiteBlackRun = function (fromX /*int*/, fromY /*int*/, toX /*int*/, toY /*int*/) {\n // Mild variant of Bresenham's algorithm\n // see http://en.wikipedia.org/wiki/Bresenham's_line_algorithm\n var steep = Math.abs(toY - fromY) > Math.abs(toX - fromX);\n if (steep) {\n var temp = fromX;\n fromX = fromY;\n fromY = temp;\n temp = toX;\n toX = toY;\n toY = temp;\n }\n var dx = Math.abs(toX - fromX);\n var dy = Math.abs(toY - fromY);\n var error = -dx / 2;\n var xstep = fromX < toX ? 1 : -1;\n var ystep = fromY < toY ? 1 : -1;\n // In black pixels, looking for white, first or second time.\n var state = 0;\n // Loop up until x == toX, but not beyond\n var xLimit = toX + xstep;\n for (var x = fromX, y = fromY; x !== xLimit; x += xstep) {\n var realX = steep ? y : x;\n var realY = steep ? x : y;\n // Does current pixel mean we have moved white to black or vice versa?\n // Scanning black in state 0,2 and white in state 1, so if we find the wrong\n // color, advance to next state or end if we are in state 2 already\n if ((state === 1) === this.image.get(realX, realY)) {\n if (state === 2) {\n return MathUtils.distance(x, y, fromX, fromY);\n }\n state++;\n }\n error += dy;\n if (error > 0) {\n if (y === toY) {\n break;\n }\n y += ystep;\n error -= dx;\n }\n }\n // Found black-white-black; give the benefit of the doubt that the next pixel outside the image\n // is \"white\" so this last point at (toX+xStep,toY) is the right ending. This is really a\n // small approximation; (toX+xStep,toY+yStep) might be really correct. Ignore this.\n if (state === 2) {\n return MathUtils.distance(toX + xstep, toY, fromX, fromY);\n }\n // else we didn't find even black-white-black; no estimate is really possible\n return NaN;\n };\n /**\n *

    Attempts to locate an alignment pattern in a limited region of the image, which is\n * guessed to contain it. This method uses {@link AlignmentPattern}.

    \n *\n * @param overallEstModuleSize estimated module size so far\n * @param estAlignmentX x coordinate of center of area probably containing alignment pattern\n * @param estAlignmentY y coordinate of above\n * @param allowanceFactor number of pixels in all directions to search from the center\n * @return {@link AlignmentPattern} if found, or null otherwise\n * @throws NotFoundException if an unexpected error occurs during detection\n */\n Detector.prototype.findAlignmentInRegion = function (overallEstModuleSize /*float*/, estAlignmentX /*int*/, estAlignmentY /*int*/, allowanceFactor /*float*/) {\n // Look for an alignment pattern (3 modules in size) around where it\n // should be\n var allowance = /*(int) */ Math.floor(allowanceFactor * overallEstModuleSize);\n var alignmentAreaLeftX = Math.max(0, estAlignmentX - allowance);\n var alignmentAreaRightX = Math.min(this.image.getWidth() - 1, estAlignmentX + allowance);\n if (alignmentAreaRightX - alignmentAreaLeftX < overallEstModuleSize * 3) {\n throw new NotFoundException('Alignment top exceeds estimated module size.');\n }\n var alignmentAreaTopY = Math.max(0, estAlignmentY - allowance);\n var alignmentAreaBottomY = Math.min(this.image.getHeight() - 1, estAlignmentY + allowance);\n if (alignmentAreaBottomY - alignmentAreaTopY < overallEstModuleSize * 3) {\n throw new NotFoundException('Alignment bottom exceeds estimated module size.');\n }\n var alignmentFinder = new AlignmentPatternFinder(this.image, alignmentAreaLeftX, alignmentAreaTopY, alignmentAreaRightX - alignmentAreaLeftX, alignmentAreaBottomY - alignmentAreaTopY, overallEstModuleSize, this.resultPointCallback);\n return alignmentFinder.find();\n };\n return Detector;\n}());\nexport default Detector;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/*namespace com.google.zxing.qrcode.detector {*/\nimport ResultPoint from '../../ResultPoint';\n/**\n *

    Encapsulates a finder pattern, which are the three square patterns found in\n * the corners of QR Codes. It also encapsulates a count of similar finder patterns,\n * as a convenience to the finder's bookkeeping.

    \n *\n * @author Sean Owen\n */\nvar FinderPattern = /** @class */ (function (_super) {\n __extends(FinderPattern, _super);\n // FinderPattern(posX: number/*float*/, posY: number/*float*/, estimatedModuleSize: number/*float*/) {\n // this(posX, posY, estimatedModuleSize, 1)\n // }\n function FinderPattern(posX /*float*/, posY /*float*/, estimatedModuleSize /*float*/, count /*int*/) {\n var _this = _super.call(this, posX, posY) || this;\n _this.estimatedModuleSize = estimatedModuleSize;\n _this.count = count;\n if (undefined === count) {\n _this.count = 1;\n }\n return _this;\n }\n FinderPattern.prototype.getEstimatedModuleSize = function () {\n return this.estimatedModuleSize;\n };\n FinderPattern.prototype.getCount = function () {\n return this.count;\n };\n /*\n void incrementCount() {\n this.count++\n }\n */\n /**\n *

    Determines if this finder pattern \"about equals\" a finder pattern at the stated\n * position and size -- meaning, it is at nearly the same center with nearly the same size.

    \n */\n FinderPattern.prototype.aboutEquals = function (moduleSize /*float*/, i /*float*/, j /*float*/) {\n if (Math.abs(i - this.getY()) <= moduleSize && Math.abs(j - this.getX()) <= moduleSize) {\n var moduleSizeDiff = Math.abs(moduleSize - this.estimatedModuleSize);\n return moduleSizeDiff <= 1.0 || moduleSizeDiff <= this.estimatedModuleSize;\n }\n return false;\n };\n /**\n * Combines this object's current estimate of a finder pattern position and module size\n * with a new estimate. It returns a new {@code FinderPattern} containing a weighted average\n * based on count.\n */\n FinderPattern.prototype.combineEstimate = function (i /*float*/, j /*float*/, newModuleSize /*float*/) {\n var combinedCount = this.count + 1;\n var combinedX = (this.count * this.getX() + j) / combinedCount;\n var combinedY = (this.count * this.getY() + i) / combinedCount;\n var combinedModuleSize = (this.count * this.estimatedModuleSize + newModuleSize) / combinedCount;\n return new FinderPattern(combinedX, combinedY, combinedModuleSize, combinedCount);\n };\n return FinderPattern;\n}(ResultPoint));\nexport default FinderPattern;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.detector {*/\nimport DecodeHintType from '../../DecodeHintType';\nimport ResultPoint from '../../ResultPoint';\nimport FinderPattern from './FinderPattern';\nimport FinderPatternInfo from './FinderPatternInfo';\nimport NotFoundException from '../../NotFoundException';\n/*import java.io.Serializable;*/\n/*import java.util.ArrayList;*/\n/*import java.util.Collections;*/\n/*import java.util.Comparator;*/\n/*import java.util.List;*/\n/*import java.util.Map;*/\n/**\n *

    This class attempts to find finder patterns in a QR Code. Finder patterns are the square\n * markers at three corners of a QR Code.

    \n *\n *

    This class is thread-safe but not reentrant. Each thread must allocate its own object.\n *\n * @author Sean Owen\n */\nvar FinderPatternFinder = /** @class */ (function () {\n /**\n *

    Creates a finder that will search the image for three finder patterns.

    \n *\n * @param image image to search\n */\n // public constructor(image: BitMatrix) {\n // this(image, null)\n // }\n function FinderPatternFinder(image, resultPointCallback) {\n this.image = image;\n this.resultPointCallback = resultPointCallback;\n this.possibleCenters = [];\n this.crossCheckStateCount = new Int32Array(5);\n this.resultPointCallback = resultPointCallback;\n }\n FinderPatternFinder.prototype.getImage = function () {\n return this.image;\n };\n FinderPatternFinder.prototype.getPossibleCenters = function () {\n return this.possibleCenters;\n };\n FinderPatternFinder.prototype.find = function (hints) {\n var tryHarder = (hints !== null && hints !== undefined) && undefined !== hints.get(DecodeHintType.TRY_HARDER);\n var pureBarcode = (hints !== null && hints !== undefined) && undefined !== hints.get(DecodeHintType.PURE_BARCODE);\n var image = this.image;\n var maxI = image.getHeight();\n var maxJ = image.getWidth();\n // We are looking for black/white/black/white/black modules in\n // 1:1:3:1:1 ratio; this tracks the number of such modules seen so far\n // Let's assume that the maximum version QR Code we support takes up 1/4 the height of the\n // image, and then account for the center being 3 modules in size. This gives the smallest\n // number of pixels the center could be, so skip this often. When trying harder, look for all\n // QR versions regardless of how dense they are.\n var iSkip = Math.floor((3 * maxI) / (4 * FinderPatternFinder.MAX_MODULES));\n if (iSkip < FinderPatternFinder.MIN_SKIP || tryHarder) {\n iSkip = FinderPatternFinder.MIN_SKIP;\n }\n var done = false;\n var stateCount = new Int32Array(5);\n for (var i = iSkip - 1; i < maxI && !done; i += iSkip) {\n // Get a row of black/white values\n stateCount[0] = 0;\n stateCount[1] = 0;\n stateCount[2] = 0;\n stateCount[3] = 0;\n stateCount[4] = 0;\n var currentState = 0;\n for (var j = 0; j < maxJ; j++) {\n if (image.get(j, i)) {\n // Black pixel\n if ((currentState & 1) === 1) { // Counting white pixels\n currentState++;\n }\n stateCount[currentState]++;\n }\n else { // White pixel\n if ((currentState & 1) === 0) { // Counting black pixels\n if (currentState === 4) { // A winner?\n if (FinderPatternFinder.foundPatternCross(stateCount)) { // Yes\n var confirmed = this.handlePossibleCenter(stateCount, i, j, pureBarcode);\n if (confirmed === true) {\n // Start examining every other line. Checking each line turned out to be too\n // expensive and didn't improve performance.\n iSkip = 2;\n if (this.hasSkipped === true) {\n done = this.haveMultiplyConfirmedCenters();\n }\n else {\n var rowSkip = this.findRowSkip();\n if (rowSkip > stateCount[2]) {\n // Skip rows between row of lower confirmed center\n // and top of presumed third confirmed center\n // but back up a bit to get a full chance of detecting\n // it, entire width of center of finder pattern\n // Skip by rowSkip, but back off by stateCount[2] (size of last center\n // of pattern we saw) to be conservative, and also back off by iSkip which\n // is about to be re-added\n i += rowSkip - stateCount[2] - iSkip;\n j = maxJ - 1;\n }\n }\n }\n else {\n stateCount[0] = stateCount[2];\n stateCount[1] = stateCount[3];\n stateCount[2] = stateCount[4];\n stateCount[3] = 1;\n stateCount[4] = 0;\n currentState = 3;\n continue;\n }\n // Clear state to start looking again\n currentState = 0;\n stateCount[0] = 0;\n stateCount[1] = 0;\n stateCount[2] = 0;\n stateCount[3] = 0;\n stateCount[4] = 0;\n }\n else { // No, shift counts back by two\n stateCount[0] = stateCount[2];\n stateCount[1] = stateCount[3];\n stateCount[2] = stateCount[4];\n stateCount[3] = 1;\n stateCount[4] = 0;\n currentState = 3;\n }\n }\n else {\n stateCount[++currentState]++;\n }\n }\n else { // Counting white pixels\n stateCount[currentState]++;\n }\n }\n }\n if (FinderPatternFinder.foundPatternCross(stateCount)) {\n var confirmed = this.handlePossibleCenter(stateCount, i, maxJ, pureBarcode);\n if (confirmed === true) {\n iSkip = stateCount[0];\n if (this.hasSkipped) {\n // Found a third one\n done = this.haveMultiplyConfirmedCenters();\n }\n }\n }\n }\n var patternInfo = this.selectBestPatterns();\n ResultPoint.orderBestPatterns(patternInfo);\n return new FinderPatternInfo(patternInfo);\n };\n /**\n * Given a count of black/white/black/white/black pixels just seen and an end position,\n * figures the location of the center of this run.\n */\n FinderPatternFinder.centerFromEnd = function (stateCount, end /*int*/) {\n return (end - stateCount[4] - stateCount[3]) - stateCount[2] / 2.0;\n };\n /**\n * @param stateCount count of black/white/black/white/black pixels just read\n * @return true iff the proportions of the counts is close enough to the 1/1/3/1/1 ratios\n * used by finder patterns to be considered a match\n */\n FinderPatternFinder.foundPatternCross = function (stateCount) {\n var totalModuleSize = 0;\n for (var i = 0; i < 5; i++) {\n var count = stateCount[i];\n if (count === 0) {\n return false;\n }\n totalModuleSize += count;\n }\n if (totalModuleSize < 7) {\n return false;\n }\n var moduleSize = totalModuleSize / 7.0;\n var maxVariance = moduleSize / 2.0;\n // Allow less than 50% variance from 1-1-3-1-1 proportions\n return Math.abs(moduleSize - stateCount[0]) < maxVariance &&\n Math.abs(moduleSize - stateCount[1]) < maxVariance &&\n Math.abs(3.0 * moduleSize - stateCount[2]) < 3 * maxVariance &&\n Math.abs(moduleSize - stateCount[3]) < maxVariance &&\n Math.abs(moduleSize - stateCount[4]) < maxVariance;\n };\n FinderPatternFinder.prototype.getCrossCheckStateCount = function () {\n var crossCheckStateCount = this.crossCheckStateCount;\n crossCheckStateCount[0] = 0;\n crossCheckStateCount[1] = 0;\n crossCheckStateCount[2] = 0;\n crossCheckStateCount[3] = 0;\n crossCheckStateCount[4] = 0;\n return crossCheckStateCount;\n };\n /**\n * After a vertical and horizontal scan finds a potential finder pattern, this method\n * \"cross-cross-cross-checks\" by scanning down diagonally through the center of the possible\n * finder pattern to see if the same proportion is detected.\n *\n * @param startI row where a finder pattern was detected\n * @param centerJ center of the section that appears to cross a finder pattern\n * @param maxCount maximum reasonable number of modules that should be\n * observed in any reading state, based on the results of the horizontal scan\n * @param originalStateCountTotal The original state count total.\n * @return true if proportions are withing expected limits\n */\n FinderPatternFinder.prototype.crossCheckDiagonal = function (startI /*int*/, centerJ /*int*/, maxCount /*int*/, originalStateCountTotal /*int*/) {\n var stateCount = this.getCrossCheckStateCount();\n // Start counting up, left from center finding black center mass\n var i = 0;\n var image = this.image;\n while (startI >= i && centerJ >= i && image.get(centerJ - i, startI - i)) {\n stateCount[2]++;\n i++;\n }\n if (startI < i || centerJ < i) {\n return false;\n }\n // Continue up, left finding white space\n while (startI >= i && centerJ >= i && !image.get(centerJ - i, startI - i) &&\n stateCount[1] <= maxCount) {\n stateCount[1]++;\n i++;\n }\n // If already too many modules in this state or ran off the edge:\n if (startI < i || centerJ < i || stateCount[1] > maxCount) {\n return false;\n }\n // Continue up, left finding black border\n while (startI >= i && centerJ >= i && image.get(centerJ - i, startI - i) &&\n stateCount[0] <= maxCount) {\n stateCount[0]++;\n i++;\n }\n if (stateCount[0] > maxCount) {\n return false;\n }\n var maxI = image.getHeight();\n var maxJ = image.getWidth();\n // Now also count down, right from center\n i = 1;\n while (startI + i < maxI && centerJ + i < maxJ && image.get(centerJ + i, startI + i)) {\n stateCount[2]++;\n i++;\n }\n // Ran off the edge?\n if (startI + i >= maxI || centerJ + i >= maxJ) {\n return false;\n }\n while (startI + i < maxI && centerJ + i < maxJ && !image.get(centerJ + i, startI + i) &&\n stateCount[3] < maxCount) {\n stateCount[3]++;\n i++;\n }\n if (startI + i >= maxI || centerJ + i >= maxJ || stateCount[3] >= maxCount) {\n return false;\n }\n while (startI + i < maxI && centerJ + i < maxJ && image.get(centerJ + i, startI + i) &&\n stateCount[4] < maxCount) {\n stateCount[4]++;\n i++;\n }\n if (stateCount[4] >= maxCount) {\n return false;\n }\n // If we found a finder-pattern-like section, but its size is more than 100% different than\n // the original, assume it's a false positive\n var stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4];\n return Math.abs(stateCountTotal - originalStateCountTotal) < 2 * originalStateCountTotal &&\n FinderPatternFinder.foundPatternCross(stateCount);\n };\n /**\n *

    After a horizontal scan finds a potential finder pattern, this method\n * \"cross-checks\" by scanning down vertically through the center of the possible\n * finder pattern to see if the same proportion is detected.

    \n *\n * @param startI row where a finder pattern was detected\n * @param centerJ center of the section that appears to cross a finder pattern\n * @param maxCount maximum reasonable number of modules that should be\n * observed in any reading state, based on the results of the horizontal scan\n * @return vertical center of finder pattern, or {@link Float#NaN} if not found\n */\n FinderPatternFinder.prototype.crossCheckVertical = function (startI /*int*/, centerJ /*int*/, maxCount /*int*/, originalStateCountTotal /*int*/) {\n var image = this.image;\n var maxI = image.getHeight();\n var stateCount = this.getCrossCheckStateCount();\n // Start counting up from center\n var i = startI;\n while (i >= 0 && image.get(centerJ, i)) {\n stateCount[2]++;\n i--;\n }\n if (i < 0) {\n return NaN;\n }\n while (i >= 0 && !image.get(centerJ, i) && stateCount[1] <= maxCount) {\n stateCount[1]++;\n i--;\n }\n // If already too many modules in this state or ran off the edge:\n if (i < 0 || stateCount[1] > maxCount) {\n return NaN;\n }\n while (i >= 0 && image.get(centerJ, i) && stateCount[0] <= maxCount) {\n stateCount[0]++;\n i--;\n }\n if (stateCount[0] > maxCount) {\n return NaN;\n }\n // Now also count down from center\n i = startI + 1;\n while (i < maxI && image.get(centerJ, i)) {\n stateCount[2]++;\n i++;\n }\n if (i === maxI) {\n return NaN;\n }\n while (i < maxI && !image.get(centerJ, i) && stateCount[3] < maxCount) {\n stateCount[3]++;\n i++;\n }\n if (i === maxI || stateCount[3] >= maxCount) {\n return NaN;\n }\n while (i < maxI && image.get(centerJ, i) && stateCount[4] < maxCount) {\n stateCount[4]++;\n i++;\n }\n if (stateCount[4] >= maxCount) {\n return NaN;\n }\n // If we found a finder-pattern-like section, but its size is more than 40% different than\n // the original, assume it's a false positive\n var stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] +\n stateCount[4];\n if (5 * Math.abs(stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) {\n return NaN;\n }\n return FinderPatternFinder.foundPatternCross(stateCount) ? FinderPatternFinder.centerFromEnd(stateCount, i) : NaN;\n };\n /**\n *

    Like {@link #crossCheckVertical(int, int, int, int)}, and in fact is basically identical,\n * except it reads horizontally instead of vertically. This is used to cross-cross\n * check a vertical cross check and locate the real center of the alignment pattern.

    \n */\n FinderPatternFinder.prototype.crossCheckHorizontal = function (startJ /*int*/, centerI /*int*/, maxCount /*int*/, originalStateCountTotal /*int*/) {\n var image = this.image;\n var maxJ = image.getWidth();\n var stateCount = this.getCrossCheckStateCount();\n var j = startJ;\n while (j >= 0 && image.get(j, centerI)) {\n stateCount[2]++;\n j--;\n }\n if (j < 0) {\n return NaN;\n }\n while (j >= 0 && !image.get(j, centerI) && stateCount[1] <= maxCount) {\n stateCount[1]++;\n j--;\n }\n if (j < 0 || stateCount[1] > maxCount) {\n return NaN;\n }\n while (j >= 0 && image.get(j, centerI) && stateCount[0] <= maxCount) {\n stateCount[0]++;\n j--;\n }\n if (stateCount[0] > maxCount) {\n return NaN;\n }\n j = startJ + 1;\n while (j < maxJ && image.get(j, centerI)) {\n stateCount[2]++;\n j++;\n }\n if (j === maxJ) {\n return NaN;\n }\n while (j < maxJ && !image.get(j, centerI) && stateCount[3] < maxCount) {\n stateCount[3]++;\n j++;\n }\n if (j === maxJ || stateCount[3] >= maxCount) {\n return NaN;\n }\n while (j < maxJ && image.get(j, centerI) && stateCount[4] < maxCount) {\n stateCount[4]++;\n j++;\n }\n if (stateCount[4] >= maxCount) {\n return NaN;\n }\n // If we found a finder-pattern-like section, but its size is significantly different than\n // the original, assume it's a false positive\n var stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] +\n stateCount[4];\n if (5 * Math.abs(stateCountTotal - originalStateCountTotal) >= originalStateCountTotal) {\n return NaN;\n }\n return FinderPatternFinder.foundPatternCross(stateCount) ? FinderPatternFinder.centerFromEnd(stateCount, j) : NaN;\n };\n /**\n *

    This is called when a horizontal scan finds a possible alignment pattern. It will\n * cross check with a vertical scan, and if successful, will, ah, cross-cross-check\n * with another horizontal scan. This is needed primarily to locate the real horizontal\n * center of the pattern in cases of extreme skew.\n * And then we cross-cross-cross check with another diagonal scan.

    \n *\n *

    If that succeeds the finder pattern location is added to a list that tracks\n * the number of times each location has been nearly-matched as a finder pattern.\n * Each additional find is more evidence that the location is in fact a finder\n * pattern center\n *\n * @param stateCount reading state module counts from horizontal scan\n * @param i row where finder pattern may be found\n * @param j end of possible finder pattern in row\n * @param pureBarcode true if in \"pure barcode\" mode\n * @return true if a finder pattern candidate was found this time\n */\n FinderPatternFinder.prototype.handlePossibleCenter = function (stateCount, i /*int*/, j /*int*/, pureBarcode) {\n var stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] +\n stateCount[4];\n var centerJ = FinderPatternFinder.centerFromEnd(stateCount, j);\n var centerI = this.crossCheckVertical(i, /*(int) */ Math.floor(centerJ), stateCount[2], stateCountTotal);\n if (!isNaN(centerI)) {\n // Re-cross check\n centerJ = this.crossCheckHorizontal(/*(int) */ Math.floor(centerJ), /*(int) */ Math.floor(centerI), stateCount[2], stateCountTotal);\n if (!isNaN(centerJ) &&\n (!pureBarcode || this.crossCheckDiagonal(/*(int) */ Math.floor(centerI), /*(int) */ Math.floor(centerJ), stateCount[2], stateCountTotal))) {\n var estimatedModuleSize = stateCountTotal / 7.0;\n var found = false;\n var possibleCenters = this.possibleCenters;\n for (var index = 0, length_1 = possibleCenters.length; index < length_1; index++) {\n var center = possibleCenters[index];\n // Look for about the same center and module size:\n if (center.aboutEquals(estimatedModuleSize, centerI, centerJ)) {\n possibleCenters[index] = center.combineEstimate(centerI, centerJ, estimatedModuleSize);\n found = true;\n break;\n }\n }\n if (!found) {\n var point = new FinderPattern(centerJ, centerI, estimatedModuleSize);\n possibleCenters.push(point);\n if (this.resultPointCallback !== null && this.resultPointCallback !== undefined) {\n this.resultPointCallback.foundPossibleResultPoint(point);\n }\n }\n return true;\n }\n }\n return false;\n };\n /**\n * @return number of rows we could safely skip during scanning, based on the first\n * two finder patterns that have been located. In some cases their position will\n * allow us to infer that the third pattern must lie below a certain point farther\n * down in the image.\n */\n FinderPatternFinder.prototype.findRowSkip = function () {\n var e_1, _a;\n var max = this.possibleCenters.length;\n if (max <= 1) {\n return 0;\n }\n var firstConfirmedCenter = null;\n try {\n for (var _b = __values(this.possibleCenters), _c = _b.next(); !_c.done; _c = _b.next()) {\n var center = _c.value;\n if (center.getCount() >= FinderPatternFinder.CENTER_QUORUM) {\n if (firstConfirmedCenter == null) {\n firstConfirmedCenter = center;\n }\n else {\n // We have two confirmed centers\n // How far down can we skip before resuming looking for the next\n // pattern? In the worst case, only the difference between the\n // difference in the x / y coordinates of the two centers.\n // This is the case where you find top left last.\n this.hasSkipped = true;\n return /*(int) */ Math.floor((Math.abs(firstConfirmedCenter.getX() - center.getX()) -\n Math.abs(firstConfirmedCenter.getY() - center.getY())) / 2);\n }\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return 0;\n };\n /**\n * @return true iff we have found at least 3 finder patterns that have been detected\n * at least {@link #CENTER_QUORUM} times each, and, the estimated module size of the\n * candidates is \"pretty similar\"\n */\n FinderPatternFinder.prototype.haveMultiplyConfirmedCenters = function () {\n var e_2, _a, e_3, _b;\n var confirmedCount = 0;\n var totalModuleSize = 0.0;\n var max = this.possibleCenters.length;\n try {\n for (var _c = __values(this.possibleCenters), _d = _c.next(); !_d.done; _d = _c.next()) {\n var pattern = _d.value;\n if (pattern.getCount() >= FinderPatternFinder.CENTER_QUORUM) {\n confirmedCount++;\n totalModuleSize += pattern.getEstimatedModuleSize();\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_2) throw e_2.error; }\n }\n if (confirmedCount < 3) {\n return false;\n }\n // OK, we have at least 3 confirmed centers, but, it's possible that one is a \"false positive\"\n // and that we need to keep looking. We detect this by asking if the estimated module sizes\n // vary too much. We arbitrarily say that when the total deviation from average exceeds\n // 5% of the total module size estimates, it's too much.\n var average = totalModuleSize / max;\n var totalDeviation = 0.0;\n try {\n for (var _e = __values(this.possibleCenters), _f = _e.next(); !_f.done; _f = _e.next()) {\n var pattern = _f.value;\n totalDeviation += Math.abs(pattern.getEstimatedModuleSize() - average);\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return totalDeviation <= 0.05 * totalModuleSize;\n };\n /**\n * @return the 3 best {@link FinderPattern}s from our list of candidates. The \"best\" are\n * those that have been detected at least {@link #CENTER_QUORUM} times, and whose module\n * size differs from the average among those patterns the least\n * @throws NotFoundException if 3 such finder patterns do not exist\n */\n FinderPatternFinder.prototype.selectBestPatterns = function () {\n var e_4, _a, e_5, _b;\n var startSize = this.possibleCenters.length;\n if (startSize < 3) {\n // Couldn't find enough finder patterns\n throw new NotFoundException();\n }\n var possibleCenters = this.possibleCenters;\n var average;\n // Filter outlier possibilities whose module size is too different\n if (startSize > 3) {\n // But we can only afford to do so if we have at least 4 possibilities to choose from\n var totalModuleSize = 0.0;\n var square = 0.0;\n try {\n for (var _c = __values(this.possibleCenters), _d = _c.next(); !_d.done; _d = _c.next()) {\n var center = _d.value;\n var size = center.getEstimatedModuleSize();\n totalModuleSize += size;\n square += size * size;\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_4) throw e_4.error; }\n }\n average = totalModuleSize / startSize;\n var stdDev = Math.sqrt(square / startSize - average * average);\n possibleCenters.sort(\n /**\n *

    Orders by furthest from average

    \n */\n // FurthestFromAverageComparator implements Comparator\n function (center1, center2) {\n var dA = Math.abs(center2.getEstimatedModuleSize() - average);\n var dB = Math.abs(center1.getEstimatedModuleSize() - average);\n return dA < dB ? -1 : dA > dB ? 1 : 0;\n });\n var limit = Math.max(0.2 * average, stdDev);\n for (var i = 0; i < possibleCenters.length && possibleCenters.length > 3; i++) {\n var pattern = possibleCenters[i];\n if (Math.abs(pattern.getEstimatedModuleSize() - average) > limit) {\n possibleCenters.splice(i, 1);\n i--;\n }\n }\n }\n if (possibleCenters.length > 3) {\n // Throw away all but those first size candidate points we found.\n var totalModuleSize = 0.0;\n try {\n for (var possibleCenters_1 = __values(possibleCenters), possibleCenters_1_1 = possibleCenters_1.next(); !possibleCenters_1_1.done; possibleCenters_1_1 = possibleCenters_1.next()) {\n var possibleCenter = possibleCenters_1_1.value;\n totalModuleSize += possibleCenter.getEstimatedModuleSize();\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (possibleCenters_1_1 && !possibleCenters_1_1.done && (_b = possibleCenters_1.return)) _b.call(possibleCenters_1);\n }\n finally { if (e_5) throw e_5.error; }\n }\n average = totalModuleSize / possibleCenters.length;\n possibleCenters.sort(\n /**\n *

    Orders by {@link FinderPattern#getCount()}, descending.

    \n */\n // CenterComparator implements Comparator\n function (center1, center2) {\n if (center2.getCount() === center1.getCount()) {\n var dA = Math.abs(center2.getEstimatedModuleSize() - average);\n var dB = Math.abs(center1.getEstimatedModuleSize() - average);\n return dA < dB ? 1 : dA > dB ? -1 : 0;\n }\n else {\n return center2.getCount() - center1.getCount();\n }\n });\n possibleCenters.splice(3); // this is not realy necessary as we only return first 3 anyway\n }\n return [\n possibleCenters[0],\n possibleCenters[1],\n possibleCenters[2]\n ];\n };\n FinderPatternFinder.CENTER_QUORUM = 2;\n FinderPatternFinder.MIN_SKIP = 3; // 1 pixel/module times 3 modules/center\n FinderPatternFinder.MAX_MODULES = 57; // support up to version 10 for mobile clients\n return FinderPatternFinder;\n}());\nexport default FinderPatternFinder;\n","/*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n *

    Encapsulates information about finder patterns in an image, including the location of\n * the three finder patterns, and their estimated module size.

    \n *\n * @author Sean Owen\n */\nvar FinderPatternInfo = /** @class */ (function () {\n function FinderPatternInfo(patternCenters) {\n this.bottomLeft = patternCenters[0];\n this.topLeft = patternCenters[1];\n this.topRight = patternCenters[2];\n }\n FinderPatternInfo.prototype.getBottomLeft = function () {\n return this.bottomLeft;\n };\n FinderPatternInfo.prototype.getTopLeft = function () {\n return this.topLeft;\n };\n FinderPatternInfo.prototype.getTopRight = function () {\n return this.topRight;\n };\n return FinderPatternInfo;\n}());\nexport default FinderPatternInfo;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.qrcode.encoder {*/\nvar BlockPair = /** @class */ (function () {\n function BlockPair(dataBytes, errorCorrectionBytes) {\n this.dataBytes = dataBytes;\n this.errorCorrectionBytes = errorCorrectionBytes;\n }\n BlockPair.prototype.getDataBytes = function () {\n return this.dataBytes;\n };\n BlockPair.prototype.getErrorCorrectionBytes = function () {\n return this.errorCorrectionBytes;\n };\n return BlockPair;\n}());\nexport default BlockPair;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.encoder {*/\n/*import java.util.Arrays;*/\nimport Arrays from '../../util/Arrays';\nimport StringBuilder from '../../util/StringBuilder';\n/**\n * JAVAPORT: The original code was a 2D array of ints, but since it only ever gets assigned\n * -1, 0, and 1, I'm going to use less memory and go with bytes.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar ByteMatrix = /** @class */ (function () {\n function ByteMatrix(width /*int*/, height /*int*/) {\n this.width = width;\n this.height = height;\n var bytes = new Array(height); // [height][width]\n for (var i = 0; i !== height; i++) {\n bytes[i] = new Uint8Array(width);\n }\n this.bytes = bytes;\n }\n ByteMatrix.prototype.getHeight = function () {\n return this.height;\n };\n ByteMatrix.prototype.getWidth = function () {\n return this.width;\n };\n ByteMatrix.prototype.get = function (x /*int*/, y /*int*/) {\n return this.bytes[y][x];\n };\n /**\n * @return an internal representation as bytes, in row-major order. array[y][x] represents point (x,y)\n */\n ByteMatrix.prototype.getArray = function () {\n return this.bytes;\n };\n // TYPESCRIPTPORT: preffer to let two methods instead of override to avoid type comparison inside\n ByteMatrix.prototype.setNumber = function (x /*int*/, y /*int*/, value /*byte|int*/) {\n this.bytes[y][x] = value;\n };\n // public set(x: number /*int*/, y: number /*int*/, value: number /*int*/): void {\n // bytes[y][x] = (byte) value\n // }\n ByteMatrix.prototype.setBoolean = function (x /*int*/, y /*int*/, value) {\n this.bytes[y][x] = /*(byte) */ (value ? 1 : 0);\n };\n ByteMatrix.prototype.clear = function (value /*byte*/) {\n var e_1, _a;\n try {\n for (var _b = __values(this.bytes), _c = _b.next(); !_c.done; _c = _b.next()) {\n var aByte = _c.value;\n Arrays.fill(aByte, value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n ByteMatrix.prototype.equals = function (o) {\n if (!(o instanceof ByteMatrix)) {\n return false;\n }\n var other = o;\n if (this.width !== other.width) {\n return false;\n }\n if (this.height !== other.height) {\n return false;\n }\n for (var y = 0, height = this.height; y < height; ++y) {\n var bytesY = this.bytes[y];\n var otherBytesY = other.bytes[y];\n for (var x = 0, width = this.width; x < width; ++x) {\n if (bytesY[x] !== otherBytesY[x]) {\n return false;\n }\n }\n }\n return true;\n };\n /*@Override*/\n ByteMatrix.prototype.toString = function () {\n var result = new StringBuilder(); // (2 * width * height + 2)\n for (var y = 0, height = this.height; y < height; ++y) {\n var bytesY = this.bytes[y];\n for (var x = 0, width = this.width; x < width; ++x) {\n switch (bytesY[x]) {\n case 0:\n result.append(' 0');\n break;\n case 1:\n result.append(' 1');\n break;\n default:\n result.append(' ');\n break;\n }\n }\n result.append('\\n');\n }\n return result.toString();\n };\n return ByteMatrix;\n}());\nexport default ByteMatrix;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/*namespace com.google.zxing.qrcode.encoder {*/\nimport EncodeHintType from '../../EncodeHintType';\nimport BitArray from '../../common/BitArray';\nimport CharacterSetECI from '../../common/CharacterSetECI';\nimport GenericGF from '../../common/reedsolomon/GenericGF';\nimport ReedSolomonEncoder from '../../common/reedsolomon/ReedSolomonEncoder';\nimport Mode from '../decoder/Mode';\nimport Version from '../decoder/Version';\nimport MaskUtil from './MaskUtil';\nimport ByteMatrix from './ByteMatrix';\nimport QRCode from './QRCode';\nimport MatrixUtil from './MatrixUtil';\nimport StringEncoding from '../../util/StringEncoding';\nimport BlockPair from './BlockPair';\nimport WriterException from '../../WriterException';\n/*import java.io.UnsupportedEncodingException;*/\n/*import java.util.ArrayList;*/\n/*import java.util.Collection;*/\n/*import java.util.Map;*/\n/**\n * @author satorux@google.com (Satoru Takabayashi) - creator\n * @author dswitkin@google.com (Daniel Switkin) - ported from C++\n */\nvar Encoder = /** @class */ (function () {\n // TYPESCRIPTPORT: changed to UTF8, the default for js\n function Encoder() {\n }\n // The mask penalty calculation is complicated. See Table 21 of JISX0510:2004 (p.45) for details.\n // Basically it applies four rules and summate all penalties.\n Encoder.calculateMaskPenalty = function (matrix) {\n return MaskUtil.applyMaskPenaltyRule1(matrix)\n + MaskUtil.applyMaskPenaltyRule2(matrix)\n + MaskUtil.applyMaskPenaltyRule3(matrix)\n + MaskUtil.applyMaskPenaltyRule4(matrix);\n };\n /**\n * @param content text to encode\n * @param ecLevel error correction level to use\n * @return {@link QRCode} representing the encoded QR code\n * @throws WriterException if encoding can't succeed, because of for example invalid content\n * or configuration\n */\n // public static encode(content: string, ecLevel: ErrorCorrectionLevel): QRCode /*throws WriterException*/ {\n // return encode(content, ecLevel, null)\n // }\n Encoder.encode = function (content, ecLevel, hints) {\n if (hints === void 0) { hints = null; }\n // Determine what character encoding has been specified by the caller, if any\n var encoding = Encoder.DEFAULT_BYTE_MODE_ENCODING;\n var hasEncodingHint = hints !== null && undefined !== hints.get(EncodeHintType.CHARACTER_SET);\n if (hasEncodingHint) {\n encoding = hints.get(EncodeHintType.CHARACTER_SET).toString();\n }\n // Pick an encoding mode appropriate for the content. Note that this will not attempt to use\n // multiple modes / segments even if that were more efficient. Twould be nice.\n var mode = this.chooseMode(content, encoding);\n // This will store the header information, like mode and\n // length, as well as \"header\" segments like an ECI segment.\n var headerBits = new BitArray();\n // Append ECI segment if applicable\n if (mode === Mode.BYTE && (hasEncodingHint || Encoder.DEFAULT_BYTE_MODE_ENCODING !== encoding)) {\n var eci = CharacterSetECI.getCharacterSetECIByName(encoding);\n if (eci !== undefined) {\n this.appendECI(eci, headerBits);\n }\n }\n // (With ECI in place,) Write the mode marker\n this.appendModeInfo(mode, headerBits);\n // Collect data within the main segment, separately, to count its size if needed. Don't add it to\n // main payload yet.\n var dataBits = new BitArray();\n this.appendBytes(content, mode, dataBits, encoding);\n var version;\n if (hints !== null && undefined !== hints.get(EncodeHintType.QR_VERSION)) {\n var versionNumber = Number.parseInt(hints.get(EncodeHintType.QR_VERSION).toString(), 10);\n version = Version.getVersionForNumber(versionNumber);\n var bitsNeeded = this.calculateBitsNeeded(mode, headerBits, dataBits, version);\n if (!this.willFit(bitsNeeded, version, ecLevel)) {\n throw new WriterException('Data too big for requested version');\n }\n }\n else {\n version = this.recommendVersion(ecLevel, mode, headerBits, dataBits);\n }\n var headerAndDataBits = new BitArray();\n headerAndDataBits.appendBitArray(headerBits);\n // Find \"length\" of main segment and write it\n var numLetters = mode === Mode.BYTE ? dataBits.getSizeInBytes() : content.length;\n this.appendLengthInfo(numLetters, version, mode, headerAndDataBits);\n // Put data together into the overall payload\n headerAndDataBits.appendBitArray(dataBits);\n var ecBlocks = version.getECBlocksForLevel(ecLevel);\n var numDataBytes = version.getTotalCodewords() - ecBlocks.getTotalECCodewords();\n // Terminate the bits properly.\n this.terminateBits(numDataBytes, headerAndDataBits);\n // Interleave data bits with error correction code.\n var finalBits = this.interleaveWithECBytes(headerAndDataBits, version.getTotalCodewords(), numDataBytes, ecBlocks.getNumBlocks());\n var qrCode = new QRCode();\n qrCode.setECLevel(ecLevel);\n qrCode.setMode(mode);\n qrCode.setVersion(version);\n // Choose the mask pattern and set to \"qrCode\".\n var dimension = version.getDimensionForVersion();\n var matrix = new ByteMatrix(dimension, dimension);\n var maskPattern = this.chooseMaskPattern(finalBits, ecLevel, version, matrix);\n qrCode.setMaskPattern(maskPattern);\n // Build the matrix and set it to \"qrCode\".\n MatrixUtil.buildMatrix(finalBits, ecLevel, version, maskPattern, matrix);\n qrCode.setMatrix(matrix);\n return qrCode;\n };\n /**\n * Decides the smallest version of QR code that will contain all of the provided data.\n *\n * @throws WriterException if the data cannot fit in any version\n */\n Encoder.recommendVersion = function (ecLevel, mode, headerBits, dataBits) {\n // Hard part: need to know version to know how many bits length takes. But need to know how many\n // bits it takes to know version. First we take a guess at version by assuming version will be\n // the minimum, 1:\n var provisionalBitsNeeded = this.calculateBitsNeeded(mode, headerBits, dataBits, Version.getVersionForNumber(1));\n var provisionalVersion = this.chooseVersion(provisionalBitsNeeded, ecLevel);\n // Use that guess to calculate the right version. I am still not sure this works in 100% of cases.\n var bitsNeeded = this.calculateBitsNeeded(mode, headerBits, dataBits, provisionalVersion);\n return this.chooseVersion(bitsNeeded, ecLevel);\n };\n Encoder.calculateBitsNeeded = function (mode, headerBits, dataBits, version) {\n return headerBits.getSize() + mode.getCharacterCountBits(version) + dataBits.getSize();\n };\n /**\n * @return the code point of the table used in alphanumeric mode or\n * -1 if there is no corresponding code in the table.\n */\n Encoder.getAlphanumericCode = function (code /*int*/) {\n if (code < Encoder.ALPHANUMERIC_TABLE.length) {\n return Encoder.ALPHANUMERIC_TABLE[code];\n }\n return -1;\n };\n // public static chooseMode(content: string): Mode {\n // return chooseMode(content, null);\n // }\n /**\n * Choose the best mode by examining the content. Note that 'encoding' is used as a hint;\n * if it is Shift_JIS, and the input is only double-byte Kanji, then we return {@link Mode#KANJI}.\n */\n Encoder.chooseMode = function (content, encoding) {\n if (encoding === void 0) { encoding = null; }\n if (CharacterSetECI.SJIS.getName() === encoding && this.isOnlyDoubleByteKanji(content)) {\n // Choose Kanji mode if all input are double-byte characters\n return Mode.KANJI;\n }\n var hasNumeric = false;\n var hasAlphanumeric = false;\n for (var i = 0, length_1 = content.length; i < length_1; ++i) {\n var c = content.charAt(i);\n if (Encoder.isDigit(c)) {\n hasNumeric = true;\n }\n else if (this.getAlphanumericCode(c.charCodeAt(0)) !== -1) {\n hasAlphanumeric = true;\n }\n else {\n return Mode.BYTE;\n }\n }\n if (hasAlphanumeric) {\n return Mode.ALPHANUMERIC;\n }\n if (hasNumeric) {\n return Mode.NUMERIC;\n }\n return Mode.BYTE;\n };\n Encoder.isOnlyDoubleByteKanji = function (content) {\n var bytes;\n try {\n bytes = StringEncoding.encode(content, CharacterSetECI.SJIS); // content.getBytes(\"Shift_JIS\"))\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n return false;\n }\n var length = bytes.length;\n if (length % 2 !== 0) {\n return false;\n }\n for (var i = 0; i < length; i += 2) {\n var byte1 = bytes[i] & 0xFF;\n if ((byte1 < 0x81 || byte1 > 0x9F) && (byte1 < 0xE0 || byte1 > 0xEB)) {\n return false;\n }\n }\n return true;\n };\n Encoder.chooseMaskPattern = function (bits, ecLevel, version, matrix) {\n var minPenalty = Number.MAX_SAFE_INTEGER; // Lower penalty is better.\n var bestMaskPattern = -1;\n // We try all mask patterns to choose the best one.\n for (var maskPattern = 0; maskPattern < QRCode.NUM_MASK_PATTERNS; maskPattern++) {\n MatrixUtil.buildMatrix(bits, ecLevel, version, maskPattern, matrix);\n var penalty = this.calculateMaskPenalty(matrix);\n if (penalty < minPenalty) {\n minPenalty = penalty;\n bestMaskPattern = maskPattern;\n }\n }\n return bestMaskPattern;\n };\n Encoder.chooseVersion = function (numInputBits /*int*/, ecLevel) {\n for (var versionNum = 1; versionNum <= 40; versionNum++) {\n var version = Version.getVersionForNumber(versionNum);\n if (Encoder.willFit(numInputBits, version, ecLevel)) {\n return version;\n }\n }\n throw new WriterException('Data too big');\n };\n /**\n * @return true if the number of input bits will fit in a code with the specified version and\n * error correction level.\n */\n Encoder.willFit = function (numInputBits /*int*/, version, ecLevel) {\n // In the following comments, we use numbers of Version 7-H.\n // numBytes = 196\n var numBytes = version.getTotalCodewords();\n // getNumECBytes = 130\n var ecBlocks = version.getECBlocksForLevel(ecLevel);\n var numEcBytes = ecBlocks.getTotalECCodewords();\n // getNumDataBytes = 196 - 130 = 66\n var numDataBytes = numBytes - numEcBytes;\n var totalInputBytes = (numInputBits + 7) / 8;\n return numDataBytes >= totalInputBytes;\n };\n /**\n * Terminate bits as described in 8.4.8 and 8.4.9 of JISX0510:2004 (p.24).\n */\n Encoder.terminateBits = function (numDataBytes /*int*/, bits) {\n var capacity = numDataBytes * 8;\n if (bits.getSize() > capacity) {\n throw new WriterException('data bits cannot fit in the QR Code' + bits.getSize() + ' > ' +\n capacity);\n }\n for (var i = 0; i < 4 && bits.getSize() < capacity; ++i) {\n bits.appendBit(false);\n }\n // Append termination bits. See 8.4.8 of JISX0510:2004 (p.24) for details.\n // If the last byte isn't 8-bit aligned, we'll add padding bits.\n var numBitsInLastByte = bits.getSize() & 0x07;\n if (numBitsInLastByte > 0) {\n for (var i = numBitsInLastByte; i < 8; i++) {\n bits.appendBit(false);\n }\n }\n // If we have more space, we'll fill the space with padding patterns defined in 8.4.9 (p.24).\n var numPaddingBytes = numDataBytes - bits.getSizeInBytes();\n for (var i = 0; i < numPaddingBytes; ++i) {\n bits.appendBits((i & 0x01) === 0 ? 0xEC : 0x11, 8);\n }\n if (bits.getSize() !== capacity) {\n throw new WriterException('Bits size does not equal capacity');\n }\n };\n /**\n * Get number of data bytes and number of error correction bytes for block id \"blockID\". Store\n * the result in \"numDataBytesInBlock\", and \"numECBytesInBlock\". See table 12 in 8.5.1 of\n * JISX0510:2004 (p.30)\n */\n Encoder.getNumDataBytesAndNumECBytesForBlockID = function (numTotalBytes /*int*/, numDataBytes /*int*/, numRSBlocks /*int*/, blockID /*int*/, numDataBytesInBlock, numECBytesInBlock) {\n if (blockID >= numRSBlocks) {\n throw new WriterException('Block ID too large');\n }\n // numRsBlocksInGroup2 = 196 % 5 = 1\n var numRsBlocksInGroup2 = numTotalBytes % numRSBlocks;\n // numRsBlocksInGroup1 = 5 - 1 = 4\n var numRsBlocksInGroup1 = numRSBlocks - numRsBlocksInGroup2;\n // numTotalBytesInGroup1 = 196 / 5 = 39\n var numTotalBytesInGroup1 = Math.floor(numTotalBytes / numRSBlocks);\n // numTotalBytesInGroup2 = 39 + 1 = 40\n var numTotalBytesInGroup2 = numTotalBytesInGroup1 + 1;\n // numDataBytesInGroup1 = 66 / 5 = 13\n var numDataBytesInGroup1 = Math.floor(numDataBytes / numRSBlocks);\n // numDataBytesInGroup2 = 13 + 1 = 14\n var numDataBytesInGroup2 = numDataBytesInGroup1 + 1;\n // numEcBytesInGroup1 = 39 - 13 = 26\n var numEcBytesInGroup1 = numTotalBytesInGroup1 - numDataBytesInGroup1;\n // numEcBytesInGroup2 = 40 - 14 = 26\n var numEcBytesInGroup2 = numTotalBytesInGroup2 - numDataBytesInGroup2;\n // Sanity checks.\n // 26 = 26\n if (numEcBytesInGroup1 !== numEcBytesInGroup2) {\n throw new WriterException('EC bytes mismatch');\n }\n // 5 = 4 + 1.\n if (numRSBlocks !== numRsBlocksInGroup1 + numRsBlocksInGroup2) {\n throw new WriterException('RS blocks mismatch');\n }\n // 196 = (13 + 26) * 4 + (14 + 26) * 1\n if (numTotalBytes !==\n ((numDataBytesInGroup1 + numEcBytesInGroup1) *\n numRsBlocksInGroup1) +\n ((numDataBytesInGroup2 + numEcBytesInGroup2) *\n numRsBlocksInGroup2)) {\n throw new WriterException('Total bytes mismatch');\n }\n if (blockID < numRsBlocksInGroup1) {\n numDataBytesInBlock[0] = numDataBytesInGroup1;\n numECBytesInBlock[0] = numEcBytesInGroup1;\n }\n else {\n numDataBytesInBlock[0] = numDataBytesInGroup2;\n numECBytesInBlock[0] = numEcBytesInGroup2;\n }\n };\n /**\n * Interleave \"bits\" with corresponding error correction bytes. On success, store the result in\n * \"result\". The interleave rule is complicated. See 8.6 of JISX0510:2004 (p.37) for details.\n */\n Encoder.interleaveWithECBytes = function (bits, numTotalBytes /*int*/, numDataBytes /*int*/, numRSBlocks /*int*/) {\n var e_1, _a, e_2, _b;\n // \"bits\" must have \"getNumDataBytes\" bytes of data.\n if (bits.getSizeInBytes() !== numDataBytes) {\n throw new WriterException('Number of bits and data bytes does not match');\n }\n // Step 1. Divide data bytes into blocks and generate error correction bytes for them. We'll\n // store the divided data bytes blocks and error correction bytes blocks into \"blocks\".\n var dataBytesOffset = 0;\n var maxNumDataBytes = 0;\n var maxNumEcBytes = 0;\n // Since, we know the number of reedsolmon blocks, we can initialize the vector with the number.\n var blocks = new Array(); // new Array(numRSBlocks)\n for (var i = 0; i < numRSBlocks; ++i) {\n var numDataBytesInBlock = new Int32Array(1);\n var numEcBytesInBlock = new Int32Array(1);\n Encoder.getNumDataBytesAndNumECBytesForBlockID(numTotalBytes, numDataBytes, numRSBlocks, i, numDataBytesInBlock, numEcBytesInBlock);\n var size = numDataBytesInBlock[0];\n var dataBytes = new Uint8Array(size);\n bits.toBytes(8 * dataBytesOffset, dataBytes, 0, size);\n var ecBytes = Encoder.generateECBytes(dataBytes, numEcBytesInBlock[0]);\n blocks.push(new BlockPair(dataBytes, ecBytes));\n maxNumDataBytes = Math.max(maxNumDataBytes, size);\n maxNumEcBytes = Math.max(maxNumEcBytes, ecBytes.length);\n dataBytesOffset += numDataBytesInBlock[0];\n }\n if (numDataBytes !== dataBytesOffset) {\n throw new WriterException('Data bytes does not match offset');\n }\n var result = new BitArray();\n // First, place data blocks.\n for (var i = 0; i < maxNumDataBytes; ++i) {\n try {\n for (var blocks_1 = (e_1 = void 0, __values(blocks)), blocks_1_1 = blocks_1.next(); !blocks_1_1.done; blocks_1_1 = blocks_1.next()) {\n var block = blocks_1_1.value;\n var dataBytes = block.getDataBytes();\n if (i < dataBytes.length) {\n result.appendBits(dataBytes[i], 8);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (blocks_1_1 && !blocks_1_1.done && (_a = blocks_1.return)) _a.call(blocks_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n // Then, place error correction blocks.\n for (var i = 0; i < maxNumEcBytes; ++i) {\n try {\n for (var blocks_2 = (e_2 = void 0, __values(blocks)), blocks_2_1 = blocks_2.next(); !blocks_2_1.done; blocks_2_1 = blocks_2.next()) {\n var block = blocks_2_1.value;\n var ecBytes = block.getErrorCorrectionBytes();\n if (i < ecBytes.length) {\n result.appendBits(ecBytes[i], 8);\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (blocks_2_1 && !blocks_2_1.done && (_b = blocks_2.return)) _b.call(blocks_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (numTotalBytes !== result.getSizeInBytes()) { // Should be same.\n throw new WriterException('Interleaving error: ' + numTotalBytes + ' and ' +\n result.getSizeInBytes() + ' differ.');\n }\n return result;\n };\n Encoder.generateECBytes = function (dataBytes, numEcBytesInBlock /*int*/) {\n var numDataBytes = dataBytes.length;\n var toEncode = new Int32Array(numDataBytes + numEcBytesInBlock); // int[numDataBytes + numEcBytesInBlock]\n for (var i = 0; i < numDataBytes; i++) {\n toEncode[i] = dataBytes[i] & 0xFF;\n }\n new ReedSolomonEncoder(GenericGF.QR_CODE_FIELD_256).encode(toEncode, numEcBytesInBlock);\n var ecBytes = new Uint8Array(numEcBytesInBlock);\n for (var i = 0; i < numEcBytesInBlock; i++) {\n ecBytes[i] = /*(byte) */ toEncode[numDataBytes + i];\n }\n return ecBytes;\n };\n /**\n * Append mode info. On success, store the result in \"bits\".\n */\n Encoder.appendModeInfo = function (mode, bits) {\n bits.appendBits(mode.getBits(), 4);\n };\n /**\n * Append length info. On success, store the result in \"bits\".\n */\n Encoder.appendLengthInfo = function (numLetters /*int*/, version, mode, bits) {\n var numBits = mode.getCharacterCountBits(version);\n if (numLetters >= (1 << numBits)) {\n throw new WriterException(numLetters + ' is bigger than ' + ((1 << numBits) - 1));\n }\n bits.appendBits(numLetters, numBits);\n };\n /**\n * Append \"bytes\" in \"mode\" mode (encoding) into \"bits\". On success, store the result in \"bits\".\n */\n Encoder.appendBytes = function (content, mode, bits, encoding) {\n switch (mode) {\n case Mode.NUMERIC:\n Encoder.appendNumericBytes(content, bits);\n break;\n case Mode.ALPHANUMERIC:\n Encoder.appendAlphanumericBytes(content, bits);\n break;\n case Mode.BYTE:\n Encoder.append8BitBytes(content, bits, encoding);\n break;\n case Mode.KANJI:\n Encoder.appendKanjiBytes(content, bits);\n break;\n default:\n throw new WriterException('Invalid mode: ' + mode);\n }\n };\n Encoder.getDigit = function (singleCharacter) {\n return singleCharacter.charCodeAt(0) - 48;\n };\n Encoder.isDigit = function (singleCharacter) {\n var cn = Encoder.getDigit(singleCharacter);\n return cn >= 0 && cn <= 9;\n };\n Encoder.appendNumericBytes = function (content, bits) {\n var length = content.length;\n var i = 0;\n while (i < length) {\n var num1 = Encoder.getDigit(content.charAt(i));\n if (i + 2 < length) {\n // Encode three numeric letters in ten bits.\n var num2 = Encoder.getDigit(content.charAt(i + 1));\n var num3 = Encoder.getDigit(content.charAt(i + 2));\n bits.appendBits(num1 * 100 + num2 * 10 + num3, 10);\n i += 3;\n }\n else if (i + 1 < length) {\n // Encode two numeric letters in seven bits.\n var num2 = Encoder.getDigit(content.charAt(i + 1));\n bits.appendBits(num1 * 10 + num2, 7);\n i += 2;\n }\n else {\n // Encode one numeric letter in four bits.\n bits.appendBits(num1, 4);\n i++;\n }\n }\n };\n Encoder.appendAlphanumericBytes = function (content, bits) {\n var length = content.length;\n var i = 0;\n while (i < length) {\n var code1 = Encoder.getAlphanumericCode(content.charCodeAt(i));\n if (code1 === -1) {\n throw new WriterException();\n }\n if (i + 1 < length) {\n var code2 = Encoder.getAlphanumericCode(content.charCodeAt(i + 1));\n if (code2 === -1) {\n throw new WriterException();\n }\n // Encode two alphanumeric letters in 11 bits.\n bits.appendBits(code1 * 45 + code2, 11);\n i += 2;\n }\n else {\n // Encode one alphanumeric letter in six bits.\n bits.appendBits(code1, 6);\n i++;\n }\n }\n };\n Encoder.append8BitBytes = function (content, bits, encoding) {\n var bytes;\n try {\n bytes = StringEncoding.encode(content, encoding);\n }\n catch (uee /*: UnsupportedEncodingException*/) {\n throw new WriterException(uee);\n }\n for (var i = 0, length_2 = bytes.length; i !== length_2; i++) {\n var b = bytes[i];\n bits.appendBits(b, 8);\n }\n };\n /**\n * @throws WriterException\n */\n Encoder.appendKanjiBytes = function (content, bits) {\n var bytes;\n try {\n bytes = StringEncoding.encode(content, CharacterSetECI.SJIS);\n }\n catch (uee /*: UnsupportedEncodingException*/) {\n throw new WriterException(uee);\n }\n var length = bytes.length;\n for (var i = 0; i < length; i += 2) {\n var byte1 = bytes[i] & 0xFF;\n var byte2 = bytes[i + 1] & 0xFF;\n var code = ((byte1 << 8) & 0xFFFFFFFF) | byte2;\n var subtracted = -1;\n if (code >= 0x8140 && code <= 0x9ffc) {\n subtracted = code - 0x8140;\n }\n else if (code >= 0xe040 && code <= 0xebbf) {\n subtracted = code - 0xc140;\n }\n if (subtracted === -1) {\n throw new WriterException('Invalid byte sequence');\n }\n var encoded = ((subtracted >> 8) * 0xc0) + (subtracted & 0xff);\n bits.appendBits(encoded, 13);\n }\n };\n Encoder.appendECI = function (eci, bits) {\n bits.appendBits(Mode.ECI.getBits(), 4);\n // This is correct for values up to 127, which is all we need now.\n bits.appendBits(eci.getValue(), 8);\n };\n // The original table is defined in the table 5 of JISX0510:2004 (p.19).\n Encoder.ALPHANUMERIC_TABLE = Int32Array.from([\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,\n 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,\n ]);\n Encoder.DEFAULT_BYTE_MODE_ENCODING = CharacterSetECI.UTF8.getName(); // \"ISO-8859-1\"\n return Encoder;\n}());\nexport default Encoder;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n * @author Satoru Takabayashi\n * @author Daniel Switkin\n * @author Sean Owen\n */\nvar MaskUtil = /** @class */ (function () {\n function MaskUtil() {\n // do nothing\n }\n /**\n * Apply mask penalty rule 1 and return the penalty. Find repetitive cells with the same color and\n * give penalty to them. Example: 00000 or 11111.\n */\n MaskUtil.applyMaskPenaltyRule1 = function (matrix) {\n return MaskUtil.applyMaskPenaltyRule1Internal(matrix, true) + MaskUtil.applyMaskPenaltyRule1Internal(matrix, false);\n };\n /**\n * Apply mask penalty rule 2 and return the penalty. Find 2x2 blocks with the same color and give\n * penalty to them. This is actually equivalent to the spec's rule, which is to find MxN blocks and give a\n * penalty proportional to (M-1)x(N-1), because this is the number of 2x2 blocks inside such a block.\n */\n MaskUtil.applyMaskPenaltyRule2 = function (matrix) {\n var penalty = 0;\n var array = matrix.getArray();\n var width = matrix.getWidth();\n var height = matrix.getHeight();\n for (var y = 0; y < height - 1; y++) {\n var arrayY = array[y];\n for (var x = 0; x < width - 1; x++) {\n var value = arrayY[x];\n if (value === arrayY[x + 1] && value === array[y + 1][x] && value === array[y + 1][x + 1]) {\n penalty++;\n }\n }\n }\n return MaskUtil.N2 * penalty;\n };\n /**\n * Apply mask penalty rule 3 and return the penalty. Find consecutive runs of 1:1:3:1:1:4\n * starting with black, or 4:1:1:3:1:1 starting with white, and give penalty to them. If we\n * find patterns like 000010111010000, we give penalty once.\n */\n MaskUtil.applyMaskPenaltyRule3 = function (matrix) {\n var numPenalties = 0;\n var array = matrix.getArray();\n var width = matrix.getWidth();\n var height = matrix.getHeight();\n for (var y = 0; y < height; y++) {\n for (var x = 0; x < width; x++) {\n var arrayY = array[y]; // We can at least optimize this access\n if (x + 6 < width &&\n arrayY[x] === 1 &&\n arrayY[x + 1] === 0 &&\n arrayY[x + 2] === 1 &&\n arrayY[x + 3] === 1 &&\n arrayY[x + 4] === 1 &&\n arrayY[x + 5] === 0 &&\n arrayY[x + 6] === 1 &&\n (MaskUtil.isWhiteHorizontal(arrayY, x - 4, x) || MaskUtil.isWhiteHorizontal(arrayY, x + 7, x + 11))) {\n numPenalties++;\n }\n if (y + 6 < height &&\n array[y][x] === 1 &&\n array[y + 1][x] === 0 &&\n array[y + 2][x] === 1 &&\n array[y + 3][x] === 1 &&\n array[y + 4][x] === 1 &&\n array[y + 5][x] === 0 &&\n array[y + 6][x] === 1 &&\n (MaskUtil.isWhiteVertical(array, x, y - 4, y) || MaskUtil.isWhiteVertical(array, x, y + 7, y + 11))) {\n numPenalties++;\n }\n }\n }\n return numPenalties * MaskUtil.N3;\n };\n MaskUtil.isWhiteHorizontal = function (rowArray, from /*int*/, to /*int*/) {\n from = Math.max(from, 0);\n to = Math.min(to, rowArray.length);\n for (var i = from; i < to; i++) {\n if (rowArray[i] === 1) {\n return false;\n }\n }\n return true;\n };\n MaskUtil.isWhiteVertical = function (array, col /*int*/, from /*int*/, to /*int*/) {\n from = Math.max(from, 0);\n to = Math.min(to, array.length);\n for (var i = from; i < to; i++) {\n if (array[i][col] === 1) {\n return false;\n }\n }\n return true;\n };\n /**\n * Apply mask penalty rule 4 and return the penalty. Calculate the ratio of dark cells and give\n * penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.\n */\n MaskUtil.applyMaskPenaltyRule4 = function (matrix) {\n var numDarkCells = 0;\n var array = matrix.getArray();\n var width = matrix.getWidth();\n var height = matrix.getHeight();\n for (var y = 0; y < height; y++) {\n var arrayY = array[y];\n for (var x = 0; x < width; x++) {\n if (arrayY[x] === 1) {\n numDarkCells++;\n }\n }\n }\n var numTotalCells = matrix.getHeight() * matrix.getWidth();\n var fivePercentVariances = Math.floor(Math.abs(numDarkCells * 2 - numTotalCells) * 10 / numTotalCells);\n return fivePercentVariances * MaskUtil.N4;\n };\n /**\n * Return the mask bit for \"getMaskPattern\" at \"x\" and \"y\". See 8.8 of JISX0510:2004 for mask\n * pattern conditions.\n */\n MaskUtil.getDataMaskBit = function (maskPattern /*int*/, x /*int*/, y /*int*/) {\n var intermediate; /*int*/\n var temp; /*int*/\n switch (maskPattern) {\n case 0:\n intermediate = (y + x) & 0x1;\n break;\n case 1:\n intermediate = y & 0x1;\n break;\n case 2:\n intermediate = x % 3;\n break;\n case 3:\n intermediate = (y + x) % 3;\n break;\n case 4:\n intermediate = (Math.floor(y / 2) + Math.floor(x / 3)) & 0x1;\n break;\n case 5:\n temp = y * x;\n intermediate = (temp & 0x1) + (temp % 3);\n break;\n case 6:\n temp = y * x;\n intermediate = ((temp & 0x1) + (temp % 3)) & 0x1;\n break;\n case 7:\n temp = y * x;\n intermediate = ((temp % 3) + ((y + x) & 0x1)) & 0x1;\n break;\n default:\n throw new IllegalArgumentException('Invalid mask pattern: ' + maskPattern);\n }\n return intermediate === 0;\n };\n /**\n * Helper function for applyMaskPenaltyRule1. We need this for doing this calculation in both\n * vertical and horizontal orders respectively.\n */\n MaskUtil.applyMaskPenaltyRule1Internal = function (matrix, isHorizontal) {\n var penalty = 0;\n var iLimit = isHorizontal ? matrix.getHeight() : matrix.getWidth();\n var jLimit = isHorizontal ? matrix.getWidth() : matrix.getHeight();\n var array = matrix.getArray();\n for (var i = 0; i < iLimit; i++) {\n var numSameBitCells = 0;\n var prevBit = -1;\n for (var j = 0; j < jLimit; j++) {\n var bit = isHorizontal ? array[i][j] : array[j][i];\n if (bit === prevBit) {\n numSameBitCells++;\n }\n else {\n if (numSameBitCells >= 5) {\n penalty += MaskUtil.N1 + (numSameBitCells - 5);\n }\n numSameBitCells = 1; // Include the cell itself.\n prevBit = bit;\n }\n }\n if (numSameBitCells >= 5) {\n penalty += MaskUtil.N1 + (numSameBitCells - 5);\n }\n }\n return penalty;\n };\n // Penalty weights from section 6.8.2.1\n MaskUtil.N1 = 3;\n MaskUtil.N2 = 3;\n MaskUtil.N3 = 40;\n MaskUtil.N4 = 10;\n return MaskUtil;\n}());\nexport default MaskUtil;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing.qrcode.encoder {*/\nimport BitArray from '../../common/BitArray';\nimport Integer from '../../util/Integer';\nimport QRCode from './QRCode';\nimport MaskUtil from './MaskUtil';\nimport WriterException from '../../WriterException';\nimport IllegalArgumentException from '../../IllegalArgumentException';\n/**\n * @author satorux@google.com (Satoru Takabayashi) - creator\n * @author dswitkin@google.com (Daniel Switkin) - ported from C++\n */\nvar MatrixUtil = /** @class */ (function () {\n function MatrixUtil() {\n // do nothing\n }\n // Set all cells to -1 (TYPESCRIPTPORT: 255). -1 (TYPESCRIPTPORT: 255) means that the cell is empty (not set yet).\n //\n // JAVAPORT: We shouldn't need to do this at all. The code should be rewritten to begin encoding\n // with the ByteMatrix initialized all to zero.\n MatrixUtil.clearMatrix = function (matrix) {\n // TYPESCRIPTPORT: we use UintArray se changed here from -1 to 255\n matrix.clear(/*(byte) */ /*-1*/ 255);\n };\n // Build 2D matrix of QR Code from \"dataBits\" with \"ecLevel\", \"version\" and \"getMaskPattern\". On\n // success, store the result in \"matrix\" and return true.\n MatrixUtil.buildMatrix = function (dataBits, ecLevel, version, maskPattern /*int*/, matrix) {\n MatrixUtil.clearMatrix(matrix);\n MatrixUtil.embedBasicPatterns(version, matrix);\n // Type information appear with any version.\n MatrixUtil.embedTypeInfo(ecLevel, maskPattern, matrix);\n // Version info appear if version >= 7.\n MatrixUtil.maybeEmbedVersionInfo(version, matrix);\n // Data should be embedded at end.\n MatrixUtil.embedDataBits(dataBits, maskPattern, matrix);\n };\n // Embed basic patterns. On success, modify the matrix and return true.\n // The basic patterns are:\n // - Position detection patterns\n // - Timing patterns\n // - Dark dot at the left bottom corner\n // - Position adjustment patterns, if need be\n MatrixUtil.embedBasicPatterns = function (version, matrix) {\n // Let's get started with embedding big squares at corners.\n MatrixUtil.embedPositionDetectionPatternsAndSeparators(matrix);\n // Then, embed the dark dot at the left bottom corner.\n MatrixUtil.embedDarkDotAtLeftBottomCorner(matrix);\n // Position adjustment patterns appear if version >= 2.\n MatrixUtil.maybeEmbedPositionAdjustmentPatterns(version, matrix);\n // Timing patterns should be embedded after position adj. patterns.\n MatrixUtil.embedTimingPatterns(matrix);\n };\n // Embed type information. On success, modify the matrix.\n MatrixUtil.embedTypeInfo = function (ecLevel, maskPattern /*int*/, matrix) {\n var typeInfoBits = new BitArray();\n MatrixUtil.makeTypeInfoBits(ecLevel, maskPattern, typeInfoBits);\n for (var i = 0, size = typeInfoBits.getSize(); i < size; ++i) {\n // Place bits in LSB to MSB order. LSB (least significant bit) is the last value in\n // \"typeInfoBits\".\n var bit = typeInfoBits.get(typeInfoBits.getSize() - 1 - i);\n // Type info bits at the left top corner. See 8.9 of JISX0510:2004 (p.46).\n var coordinates = MatrixUtil.TYPE_INFO_COORDINATES[i];\n var x1 = coordinates[0];\n var y1 = coordinates[1];\n matrix.setBoolean(x1, y1, bit);\n if (i < 8) {\n // Right top corner.\n var x2 = matrix.getWidth() - i - 1;\n var y2 = 8;\n matrix.setBoolean(x2, y2, bit);\n }\n else {\n // Left bottom corner.\n var x2 = 8;\n var y2 = matrix.getHeight() - 7 + (i - 8);\n matrix.setBoolean(x2, y2, bit);\n }\n }\n };\n // Embed version information if need be. On success, modify the matrix and return true.\n // See 8.10 of JISX0510:2004 (p.47) for how to embed version information.\n MatrixUtil.maybeEmbedVersionInfo = function (version, matrix) {\n if (version.getVersionNumber() < 7) { // Version info is necessary if version >= 7.\n return; // Don't need version info.\n }\n var versionInfoBits = new BitArray();\n MatrixUtil.makeVersionInfoBits(version, versionInfoBits);\n var bitIndex = 6 * 3 - 1; // It will decrease from 17 to 0.\n for (var i = 0; i < 6; ++i) {\n for (var j = 0; j < 3; ++j) {\n // Place bits in LSB (least significant bit) to MSB order.\n var bit = versionInfoBits.get(bitIndex);\n bitIndex--;\n // Left bottom corner.\n matrix.setBoolean(i, matrix.getHeight() - 11 + j, bit);\n // Right bottom corner.\n matrix.setBoolean(matrix.getHeight() - 11 + j, i, bit);\n }\n }\n };\n // Embed \"dataBits\" using \"getMaskPattern\". On success, modify the matrix and return true.\n // For debugging purposes, it skips masking process if \"getMaskPattern\" is -1(TYPESCRIPTPORT: 255).\n // See 8.7 of JISX0510:2004 (p.38) for how to embed data bits.\n MatrixUtil.embedDataBits = function (dataBits, maskPattern /*int*/, matrix) {\n var bitIndex = 0;\n var direction = -1;\n // Start from the right bottom cell.\n var x = matrix.getWidth() - 1;\n var y = matrix.getHeight() - 1;\n while (x > 0) {\n // Skip the vertical timing pattern.\n if (x === 6) {\n x -= 1;\n }\n while (y >= 0 && y < matrix.getHeight()) {\n for (var i = 0; i < 2; ++i) {\n var xx = x - i;\n // Skip the cell if it's not empty.\n if (!MatrixUtil.isEmpty(matrix.get(xx, y))) {\n continue;\n }\n var bit = void 0;\n if (bitIndex < dataBits.getSize()) {\n bit = dataBits.get(bitIndex);\n ++bitIndex;\n }\n else {\n // Padding bit. If there is no bit left, we'll fill the left cells with 0, as described\n // in 8.4.9 of JISX0510:2004 (p. 24).\n bit = false;\n }\n // Skip masking if mask_pattern is -1 (TYPESCRIPTPORT: 255).\n if (maskPattern !== 255 && MaskUtil.getDataMaskBit(maskPattern, xx, y)) {\n bit = !bit;\n }\n matrix.setBoolean(xx, y, bit);\n }\n y += direction;\n }\n direction = -direction; // Reverse the direction.\n y += direction;\n x -= 2; // Move to the left.\n }\n // All bits should be consumed.\n if (bitIndex !== dataBits.getSize()) {\n throw new WriterException('Not all bits consumed: ' + bitIndex + '/' + dataBits.getSize());\n }\n };\n // Return the position of the most significant bit set (one: to) in the \"value\". The most\n // significant bit is position 32. If there is no bit set, return 0. Examples:\n // - findMSBSet(0) => 0\n // - findMSBSet(1) => 1\n // - findMSBSet(255) => 8\n MatrixUtil.findMSBSet = function (value /*int*/) {\n return 32 - Integer.numberOfLeadingZeros(value);\n };\n // Calculate BCH (Bose-Chaudhuri-Hocquenghem) code for \"value\" using polynomial \"poly\". The BCH\n // code is used for encoding type information and version information.\n // Example: Calculation of version information of 7.\n // f(x) is created from 7.\n // - 7 = 000111 in 6 bits\n // - f(x) = x^2 + x^1 + x^0\n // g(x) is given by the standard (p. 67)\n // - g(x) = x^12 + x^11 + x^10 + x^9 + x^8 + x^5 + x^2 + 1\n // Multiply f(x) by x^(18 - 6)\n // - f'(x) = f(x) * x^(18 - 6)\n // - f'(x) = x^14 + x^13 + x^12\n // Calculate the remainder of f'(x) / g(x)\n // x^2\n // __________________________________________________\n // g(x) )x^14 + x^13 + x^12\n // x^14 + x^13 + x^12 + x^11 + x^10 + x^7 + x^4 + x^2\n // --------------------------------------------------\n // x^11 + x^10 + x^7 + x^4 + x^2\n //\n // The remainder is x^11 + x^10 + x^7 + x^4 + x^2\n // Encode it in binary: 110010010100\n // The return value is 0xc94 (1100 1001 0100)\n //\n // Since all coefficients in the polynomials are 1 or 0, we can do the calculation by bit\n // operations. We don't care if coefficients are positive or negative.\n MatrixUtil.calculateBCHCode = function (value /*int*/, poly /*int*/) {\n if (poly === 0) {\n throw new IllegalArgumentException('0 polynomial');\n }\n // If poly is \"1 1111 0010 0101\" (version info poly), msbSetInPoly is 13. We'll subtract 1\n // from 13 to make it 12.\n var msbSetInPoly = MatrixUtil.findMSBSet(poly);\n value <<= msbSetInPoly - 1;\n // Do the division business using exclusive-or operations.\n while (MatrixUtil.findMSBSet(value) >= msbSetInPoly) {\n value ^= poly << (MatrixUtil.findMSBSet(value) - msbSetInPoly);\n }\n // Now the \"value\" is the remainder (i.e. the BCH code)\n return value;\n };\n // Make bit vector of type information. On success, store the result in \"bits\" and return true.\n // Encode error correction level and mask pattern. See 8.9 of\n // JISX0510:2004 (p.45) for details.\n MatrixUtil.makeTypeInfoBits = function (ecLevel, maskPattern /*int*/, bits) {\n if (!QRCode.isValidMaskPattern(maskPattern)) {\n throw new WriterException('Invalid mask pattern');\n }\n var typeInfo = (ecLevel.getBits() << 3) | maskPattern;\n bits.appendBits(typeInfo, 5);\n var bchCode = MatrixUtil.calculateBCHCode(typeInfo, MatrixUtil.TYPE_INFO_POLY);\n bits.appendBits(bchCode, 10);\n var maskBits = new BitArray();\n maskBits.appendBits(MatrixUtil.TYPE_INFO_MASK_PATTERN, 15);\n bits.xor(maskBits);\n if (bits.getSize() !== 15) { // Just in case.\n throw new WriterException('should not happen but we got: ' + bits.getSize());\n }\n };\n // Make bit vector of version information. On success, store the result in \"bits\" and return true.\n // See 8.10 of JISX0510:2004 (p.45) for details.\n MatrixUtil.makeVersionInfoBits = function (version, bits) {\n bits.appendBits(version.getVersionNumber(), 6);\n var bchCode = MatrixUtil.calculateBCHCode(version.getVersionNumber(), MatrixUtil.VERSION_INFO_POLY);\n bits.appendBits(bchCode, 12);\n if (bits.getSize() !== 18) { // Just in case.\n throw new WriterException('should not happen but we got: ' + bits.getSize());\n }\n };\n // Check if \"value\" is empty.\n MatrixUtil.isEmpty = function (value /*int*/) {\n return value === 255; // -1\n };\n MatrixUtil.embedTimingPatterns = function (matrix) {\n // -8 is for skipping position detection patterns (7: size), and two horizontal/vertical\n // separation patterns (1: size). Thus, 8 = 7 + 1.\n for (var i = 8; i < matrix.getWidth() - 8; ++i) {\n var bit = (i + 1) % 2;\n // Horizontal line.\n if (MatrixUtil.isEmpty(matrix.get(i, 6))) {\n matrix.setNumber(i, 6, bit);\n }\n // Vertical line.\n if (MatrixUtil.isEmpty(matrix.get(6, i))) {\n matrix.setNumber(6, i, bit);\n }\n }\n };\n // Embed the lonely dark dot at left bottom corner. JISX0510:2004 (p.46)\n MatrixUtil.embedDarkDotAtLeftBottomCorner = function (matrix) {\n if (matrix.get(8, matrix.getHeight() - 8) === 0) {\n throw new WriterException();\n }\n matrix.setNumber(8, matrix.getHeight() - 8, 1);\n };\n MatrixUtil.embedHorizontalSeparationPattern = function (xStart /*int*/, yStart /*int*/, matrix) {\n for (var x = 0; x < 8; ++x) {\n if (!MatrixUtil.isEmpty(matrix.get(xStart + x, yStart))) {\n throw new WriterException();\n }\n matrix.setNumber(xStart + x, yStart, 0);\n }\n };\n MatrixUtil.embedVerticalSeparationPattern = function (xStart /*int*/, yStart /*int*/, matrix) {\n for (var y = 0; y < 7; ++y) {\n if (!MatrixUtil.isEmpty(matrix.get(xStart, yStart + y))) {\n throw new WriterException();\n }\n matrix.setNumber(xStart, yStart + y, 0);\n }\n };\n MatrixUtil.embedPositionAdjustmentPattern = function (xStart /*int*/, yStart /*int*/, matrix) {\n for (var y = 0; y < 5; ++y) {\n var patternY = MatrixUtil.POSITION_ADJUSTMENT_PATTERN[y];\n for (var x = 0; x < 5; ++x) {\n matrix.setNumber(xStart + x, yStart + y, patternY[x]);\n }\n }\n };\n MatrixUtil.embedPositionDetectionPattern = function (xStart /*int*/, yStart /*int*/, matrix) {\n for (var y = 0; y < 7; ++y) {\n var patternY = MatrixUtil.POSITION_DETECTION_PATTERN[y];\n for (var x = 0; x < 7; ++x) {\n matrix.setNumber(xStart + x, yStart + y, patternY[x]);\n }\n }\n };\n // Embed position detection patterns and surrounding vertical/horizontal separators.\n MatrixUtil.embedPositionDetectionPatternsAndSeparators = function (matrix) {\n // Embed three big squares at corners.\n var pdpWidth = MatrixUtil.POSITION_DETECTION_PATTERN[0].length;\n // Left top corner.\n MatrixUtil.embedPositionDetectionPattern(0, 0, matrix);\n // Right top corner.\n MatrixUtil.embedPositionDetectionPattern(matrix.getWidth() - pdpWidth, 0, matrix);\n // Left bottom corner.\n MatrixUtil.embedPositionDetectionPattern(0, matrix.getWidth() - pdpWidth, matrix);\n // Embed horizontal separation patterns around the squares.\n var hspWidth = 8;\n // Left top corner.\n MatrixUtil.embedHorizontalSeparationPattern(0, hspWidth - 1, matrix);\n // Right top corner.\n MatrixUtil.embedHorizontalSeparationPattern(matrix.getWidth() - hspWidth, hspWidth - 1, matrix);\n // Left bottom corner.\n MatrixUtil.embedHorizontalSeparationPattern(0, matrix.getWidth() - hspWidth, matrix);\n // Embed vertical separation patterns around the squares.\n var vspSize = 7;\n // Left top corner.\n MatrixUtil.embedVerticalSeparationPattern(vspSize, 0, matrix);\n // Right top corner.\n MatrixUtil.embedVerticalSeparationPattern(matrix.getHeight() - vspSize - 1, 0, matrix);\n // Left bottom corner.\n MatrixUtil.embedVerticalSeparationPattern(vspSize, matrix.getHeight() - vspSize, matrix);\n };\n // Embed position adjustment patterns if need be.\n MatrixUtil.maybeEmbedPositionAdjustmentPatterns = function (version, matrix) {\n if (version.getVersionNumber() < 2) { // The patterns appear if version >= 2\n return;\n }\n var index = version.getVersionNumber() - 1;\n var coordinates = MatrixUtil.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE[index];\n for (var i = 0, length_1 = coordinates.length; i !== length_1; i++) {\n var y = coordinates[i];\n if (y >= 0) {\n for (var j = 0; j !== length_1; j++) {\n var x = coordinates[j];\n if (x >= 0 && MatrixUtil.isEmpty(matrix.get(x, y))) {\n // If the cell is unset, we embed the position adjustment pattern here.\n // -2 is necessary since the x/y coordinates point to the center of the pattern, not the\n // left top corner.\n MatrixUtil.embedPositionAdjustmentPattern(x - 2, y - 2, matrix);\n }\n }\n }\n }\n };\n MatrixUtil.POSITION_DETECTION_PATTERN = Array.from([\n Int32Array.from([1, 1, 1, 1, 1, 1, 1]),\n Int32Array.from([1, 0, 0, 0, 0, 0, 1]),\n Int32Array.from([1, 0, 1, 1, 1, 0, 1]),\n Int32Array.from([1, 0, 1, 1, 1, 0, 1]),\n Int32Array.from([1, 0, 1, 1, 1, 0, 1]),\n Int32Array.from([1, 0, 0, 0, 0, 0, 1]),\n Int32Array.from([1, 1, 1, 1, 1, 1, 1]),\n ]);\n MatrixUtil.POSITION_ADJUSTMENT_PATTERN = Array.from([\n Int32Array.from([1, 1, 1, 1, 1]),\n Int32Array.from([1, 0, 0, 0, 1]),\n Int32Array.from([1, 0, 1, 0, 1]),\n Int32Array.from([1, 0, 0, 0, 1]),\n Int32Array.from([1, 1, 1, 1, 1]),\n ]);\n // From Appendix E. Table 1, JIS0510X:2004 (71: p). The table was double-checked by komatsu.\n MatrixUtil.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE = Array.from([\n Int32Array.from([-1, -1, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 18, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 22, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 26, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 30, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 34, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 22, 38, -1, -1, -1, -1]),\n Int32Array.from([6, 24, 42, -1, -1, -1, -1]),\n Int32Array.from([6, 26, 46, -1, -1, -1, -1]),\n Int32Array.from([6, 28, 50, -1, -1, -1, -1]),\n Int32Array.from([6, 30, 54, -1, -1, -1, -1]),\n Int32Array.from([6, 32, 58, -1, -1, -1, -1]),\n Int32Array.from([6, 34, 62, -1, -1, -1, -1]),\n Int32Array.from([6, 26, 46, 66, -1, -1, -1]),\n Int32Array.from([6, 26, 48, 70, -1, -1, -1]),\n Int32Array.from([6, 26, 50, 74, -1, -1, -1]),\n Int32Array.from([6, 30, 54, 78, -1, -1, -1]),\n Int32Array.from([6, 30, 56, 82, -1, -1, -1]),\n Int32Array.from([6, 30, 58, 86, -1, -1, -1]),\n Int32Array.from([6, 34, 62, 90, -1, -1, -1]),\n Int32Array.from([6, 28, 50, 72, 94, -1, -1]),\n Int32Array.from([6, 26, 50, 74, 98, -1, -1]),\n Int32Array.from([6, 30, 54, 78, 102, -1, -1]),\n Int32Array.from([6, 28, 54, 80, 106, -1, -1]),\n Int32Array.from([6, 32, 58, 84, 110, -1, -1]),\n Int32Array.from([6, 30, 58, 86, 114, -1, -1]),\n Int32Array.from([6, 34, 62, 90, 118, -1, -1]),\n Int32Array.from([6, 26, 50, 74, 98, 122, -1]),\n Int32Array.from([6, 30, 54, 78, 102, 126, -1]),\n Int32Array.from([6, 26, 52, 78, 104, 130, -1]),\n Int32Array.from([6, 30, 56, 82, 108, 134, -1]),\n Int32Array.from([6, 34, 60, 86, 112, 138, -1]),\n Int32Array.from([6, 30, 58, 86, 114, 142, -1]),\n Int32Array.from([6, 34, 62, 90, 118, 146, -1]),\n Int32Array.from([6, 30, 54, 78, 102, 126, 150]),\n Int32Array.from([6, 24, 50, 76, 102, 128, 154]),\n Int32Array.from([6, 28, 54, 80, 106, 132, 158]),\n Int32Array.from([6, 32, 58, 84, 110, 136, 162]),\n Int32Array.from([6, 26, 54, 82, 110, 138, 166]),\n Int32Array.from([6, 30, 58, 86, 114, 142, 170]),\n ]);\n // Type info cells at the left top corner.\n MatrixUtil.TYPE_INFO_COORDINATES = Array.from([\n Int32Array.from([8, 0]),\n Int32Array.from([8, 1]),\n Int32Array.from([8, 2]),\n Int32Array.from([8, 3]),\n Int32Array.from([8, 4]),\n Int32Array.from([8, 5]),\n Int32Array.from([8, 7]),\n Int32Array.from([8, 8]),\n Int32Array.from([7, 8]),\n Int32Array.from([5, 8]),\n Int32Array.from([4, 8]),\n Int32Array.from([3, 8]),\n Int32Array.from([2, 8]),\n Int32Array.from([1, 8]),\n Int32Array.from([0, 8]),\n ]);\n // From Appendix D in JISX0510:2004 (p. 67)\n MatrixUtil.VERSION_INFO_POLY = 0x1f25; // 1 1111 0010 0101\n // From Appendix C in JISX0510:2004 (p.65).\n MatrixUtil.TYPE_INFO_POLY = 0x537;\n MatrixUtil.TYPE_INFO_MASK_PATTERN = 0x5412;\n return MatrixUtil;\n}());\nexport default MatrixUtil;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport StringBuilder from '../../util/StringBuilder';\n/**\n * @author satorux@google.com (Satoru Takabayashi) - creator\n * @author dswitkin@google.com (Daniel Switkin) - ported from C++\n */\nvar QRCode = /** @class */ (function () {\n function QRCode() {\n this.maskPattern = -1;\n }\n QRCode.prototype.getMode = function () {\n return this.mode;\n };\n QRCode.prototype.getECLevel = function () {\n return this.ecLevel;\n };\n QRCode.prototype.getVersion = function () {\n return this.version;\n };\n QRCode.prototype.getMaskPattern = function () {\n return this.maskPattern;\n };\n QRCode.prototype.getMatrix = function () {\n return this.matrix;\n };\n /*@Override*/\n QRCode.prototype.toString = function () {\n var result = new StringBuilder(); // (200)\n result.append('<<\\n');\n result.append(' mode: ');\n result.append(this.mode ? this.mode.toString() : 'null');\n result.append('\\n ecLevel: ');\n result.append(this.ecLevel ? this.ecLevel.toString() : 'null');\n result.append('\\n version: ');\n result.append(this.version ? this.version.toString() : 'null');\n result.append('\\n maskPattern: ');\n result.append(this.maskPattern.toString());\n if (this.matrix) {\n result.append('\\n matrix:\\n');\n result.append(this.matrix.toString());\n }\n else {\n result.append('\\n matrix: null\\n');\n }\n result.append('>>\\n');\n return result.toString();\n };\n QRCode.prototype.setMode = function (value) {\n this.mode = value;\n };\n QRCode.prototype.setECLevel = function (value) {\n this.ecLevel = value;\n };\n QRCode.prototype.setVersion = function (version) {\n this.version = version;\n };\n QRCode.prototype.setMaskPattern = function (value /*int*/) {\n this.maskPattern = value;\n };\n QRCode.prototype.setMatrix = function (value) {\n this.matrix = value;\n };\n // Check if \"mask_pattern\" is valid.\n QRCode.isValidMaskPattern = function (maskPattern /*int*/) {\n return maskPattern >= 0 && maskPattern < QRCode.NUM_MASK_PATTERNS;\n };\n QRCode.NUM_MASK_PATTERNS = 8;\n return QRCode;\n}());\nexport default QRCode;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport System from './System';\nimport IllegalArgumentException from '../IllegalArgumentException';\nimport ArrayIndexOutOfBoundsException from '../ArrayIndexOutOfBoundsException';\nvar Arrays = /** @class */ (function () {\n function Arrays() {\n }\n /**\n * Assigns the specified int value to each element of the specified array\n * of ints.\n *\n * @param a the array to be filled\n * @param val the value to be stored in all elements of the array\n */\n Arrays.fill = function (a, val) {\n for (var i = 0, len = a.length; i < len; i++)\n a[i] = val;\n };\n /**\n * Assigns the specified int value to each element of the specified\n * range of the specified array of ints. The range to be filled\n * extends from index {@code fromIndex}, inclusive, to index\n * {@code toIndex}, exclusive. (If {@code fromIndex==toIndex}, the\n * range to be filled is empty.)\n *\n * @param a the array to be filled\n * @param fromIndex the index of the first element (inclusive) to be\n * filled with the specified value\n * @param toIndex the index of the last element (exclusive) to be\n * filled with the specified value\n * @param val the value to be stored in all elements of the array\n * @throws IllegalArgumentException if {@code fromIndex > toIndex}\n * @throws ArrayIndexOutOfBoundsException if {@code fromIndex < 0} or\n * {@code toIndex > a.length}\n */\n Arrays.fillWithin = function (a, fromIndex, toIndex, val) {\n Arrays.rangeCheck(a.length, fromIndex, toIndex);\n for (var i = fromIndex; i < toIndex; i++)\n a[i] = val;\n };\n /**\n * Checks that {@code fromIndex} and {@code toIndex} are in\n * the range and throws an exception if they aren't.\n */\n Arrays.rangeCheck = function (arrayLength, fromIndex, toIndex) {\n if (fromIndex > toIndex) {\n throw new IllegalArgumentException('fromIndex(' + fromIndex + ') > toIndex(' + toIndex + ')');\n }\n if (fromIndex < 0) {\n throw new ArrayIndexOutOfBoundsException(fromIndex);\n }\n if (toIndex > arrayLength) {\n throw new ArrayIndexOutOfBoundsException(toIndex);\n }\n };\n Arrays.asList = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args;\n };\n Arrays.create = function (rows, cols, value) {\n var arr = Array.from({ length: rows });\n return arr.map(function (x) { return Array.from({ length: cols }).fill(value); });\n };\n Arrays.createInt32Array = function (rows, cols, value) {\n var arr = Array.from({ length: rows });\n return arr.map(function (x) { return Int32Array.from({ length: cols }).fill(value); });\n };\n Arrays.equals = function (first, second) {\n if (!first) {\n return false;\n }\n if (!second) {\n return false;\n }\n if (!first.length) {\n return false;\n }\n if (!second.length) {\n return false;\n }\n if (first.length !== second.length) {\n return false;\n }\n for (var i = 0, length_1 = first.length; i < length_1; i++) {\n if (first[i] !== second[i]) {\n return false;\n }\n }\n return true;\n };\n Arrays.hashCode = function (a) {\n var e_1, _a;\n if (a === null) {\n return 0;\n }\n var result = 1;\n try {\n for (var a_1 = __values(a), a_1_1 = a_1.next(); !a_1_1.done; a_1_1 = a_1.next()) {\n var element = a_1_1.value;\n result = 31 * result + element;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (a_1_1 && !a_1_1.done && (_a = a_1.return)) _a.call(a_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return result;\n };\n Arrays.fillUint8Array = function (a, value) {\n for (var i = 0; i !== a.length; i++) {\n a[i] = value;\n }\n };\n Arrays.copyOf = function (original, newLength) {\n return original.slice(0, newLength);\n };\n Arrays.copyOfUint8Array = function (original, newLength) {\n if (original.length <= newLength) {\n var newArray = new Uint8Array(newLength);\n newArray.set(original);\n return newArray;\n }\n return original.slice(0, newLength);\n };\n Arrays.copyOfRange = function (original, from, to) {\n var newLength = to - from;\n var copy = new Int32Array(newLength);\n System.arraycopy(original, from, copy, 0, newLength);\n return copy;\n };\n /*\n * Returns the index of of the element in a sorted array or (-n-1) where n is the insertion point\n * for the new element.\n * Parameters:\n * ar - A sorted array\n * el - An element to search for\n * comparator - A comparator function. The function takes two arguments: (a, b) and returns:\n * a negative number if a is less than b;\n * 0 if a is equal to b;\n * a positive number of a is greater than b.\n * The array may contain duplicate elements. If there are more than one equal elements in the array,\n * the returned value can be the index of any one of the equal elements.\n *\n * http://jsfiddle.net/aryzhov/pkfst550/\n */\n Arrays.binarySearch = function (ar, el, comparator) {\n if (undefined === comparator) {\n comparator = Arrays.numberComparator;\n }\n var m = 0;\n var n = ar.length - 1;\n while (m <= n) {\n var k = (n + m) >> 1;\n var cmp = comparator(el, ar[k]);\n if (cmp > 0) {\n m = k + 1;\n }\n else if (cmp < 0) {\n n = k - 1;\n }\n else {\n return k;\n }\n }\n return -m - 1;\n };\n Arrays.numberComparator = function (a, b) {\n return a - b;\n };\n return Arrays;\n}());\nexport default Arrays;\n","/*\n * Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved.\n * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.\n *\n * This code is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License version 2 only, as\n * published by the Free Software Foundation. Oracle designates this\n * particular file as subject to the \"Classpath\" exception as provided\n * by Oracle in the LICENSE file that accompanied this code.\n *\n * This code is distributed in the hope that it will be useful, but WITHOUT\n * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\n * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n * version 2 for more details (a copy is included in the LICENSE file that\n * accompanied this code).\n *\n * You should have received a copy of the GNU General Public License version\n * 2 along with this work; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.\n *\n * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA\n * or visit www.oracle.com if you need additional information or have any\n * questions.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n// package java.io;\n// import java.util.Arrays;\nimport Arrays from './Arrays';\nimport OutputStream from './OutputStream';\nimport Integer from './Integer';\nimport IllegalArgumentException from '../IllegalArgumentException';\nimport OutOfMemoryError from '../OutOfMemoryError';\nimport System from './System';\nimport IndexOutOfBoundsException from '../IndexOutOfBoundsException';\n/**\n * This class implements an output stream in which the data is\n * written into a byte array. The buffer automatically grows as data\n * is written to it.\n * The data can be retrieved using toByteArray() and\n * toString().\n *

    \n * Closing a ByteArrayOutputStream has no effect. The methods in\n * this class can be called after the stream has been closed without\n * generating an IOException.\n *\n * @author Arthur van Hoff\n * @since JDK1.0\n */\nvar ByteArrayOutputStream = /** @class */ (function (_super) {\n __extends(ByteArrayOutputStream, _super);\n /**\n * Creates a new byte array output stream. The buffer capacity is\n * initially 32 bytes, though its size increases if necessary.\n */\n // public constructor() {\n // this(32);\n // }\n /**\n * Creates a new byte array output stream, with a buffer capacity of\n * the specified size, in bytes.\n *\n * @param size the initial size.\n * @exception IllegalArgumentException if size is negative.\n */\n function ByteArrayOutputStream(size) {\n if (size === void 0) { size = 32; }\n var _this = _super.call(this) || this;\n /**\n * The number of valid bytes in the buffer.\n */\n _this.count = 0;\n if (size < 0) {\n throw new IllegalArgumentException('Negative initial size: '\n + size);\n }\n _this.buf = new Uint8Array(size);\n return _this;\n }\n /**\n * Increases the capacity if necessary to ensure that it can hold\n * at least the number of elements specified by the minimum\n * capacity argument.\n *\n * @param minCapacity the desired minimum capacity\n * @throws OutOfMemoryError if {@code minCapacity < 0}. This is\n * interpreted as a request for the unsatisfiably large capacity\n * {@code (long) Integer.MAX_VALUE + (minCapacity - Integer.MAX_VALUE)}.\n */\n ByteArrayOutputStream.prototype.ensureCapacity = function (minCapacity) {\n // overflow-conscious code\n if (minCapacity - this.buf.length > 0)\n this.grow(minCapacity);\n };\n /**\n * Increases the capacity to ensure that it can hold at least the\n * number of elements specified by the minimum capacity argument.\n *\n * @param minCapacity the desired minimum capacity\n */\n ByteArrayOutputStream.prototype.grow = function (minCapacity) {\n // overflow-conscious code\n var oldCapacity = this.buf.length;\n var newCapacity = oldCapacity << 1;\n if (newCapacity - minCapacity < 0)\n newCapacity = minCapacity;\n if (newCapacity < 0) {\n if (minCapacity < 0) // overflow\n throw new OutOfMemoryError();\n newCapacity = Integer.MAX_VALUE;\n }\n this.buf = Arrays.copyOfUint8Array(this.buf, newCapacity);\n };\n /**\n * Writes the specified byte to this byte array output stream.\n *\n * @param b the byte to be written.\n */\n ByteArrayOutputStream.prototype.write = function (b) {\n this.ensureCapacity(this.count + 1);\n this.buf[this.count] = /*(byte)*/ b;\n this.count += 1;\n };\n /**\n * Writes len bytes from the specified byte array\n * starting at offset off to this byte array output stream.\n *\n * @param b the data.\n * @param off the start offset in the data.\n * @param len the number of bytes to write.\n */\n ByteArrayOutputStream.prototype.writeBytesOffset = function (b, off, len) {\n if ((off < 0) || (off > b.length) || (len < 0) ||\n ((off + len) - b.length > 0)) {\n throw new IndexOutOfBoundsException();\n }\n this.ensureCapacity(this.count + len);\n System.arraycopy(b, off, this.buf, this.count, len);\n this.count += len;\n };\n /**\n * Writes the complete contents of this byte array output stream to\n * the specified output stream argument, as if by calling the output\n * stream's write method using out.write(buf, 0, count).\n *\n * @param out the output stream to which to write the data.\n * @exception IOException if an I/O error occurs.\n */\n ByteArrayOutputStream.prototype.writeTo = function (out) {\n out.writeBytesOffset(this.buf, 0, this.count);\n };\n /**\n * Resets the count field of this byte array output\n * stream to zero, so that all currently accumulated output in the\n * output stream is discarded. The output stream can be used again,\n * reusing the already allocated buffer space.\n *\n * @see java.io.ByteArrayInputStream#count\n */\n ByteArrayOutputStream.prototype.reset = function () {\n this.count = 0;\n };\n /**\n * Creates a newly allocated byte array. Its size is the current\n * size of this output stream and the valid contents of the buffer\n * have been copied into it.\n *\n * @return the current contents of this output stream, as a byte array.\n * @see java.io.ByteArrayOutputStream#size()\n */\n ByteArrayOutputStream.prototype.toByteArray = function () {\n return Arrays.copyOfUint8Array(this.buf, this.count);\n };\n /**\n * Returns the current size of the buffer.\n *\n * @return the value of the count field, which is the number\n * of valid bytes in this output stream.\n * @see java.io.ByteArrayOutputStream#count\n */\n ByteArrayOutputStream.prototype.size = function () {\n return this.count;\n };\n ByteArrayOutputStream.prototype.toString = function (param) {\n if (!param) {\n return this.toString_void();\n }\n if (typeof param === 'string') {\n return this.toString_string(param);\n }\n return this.toString_number(param);\n };\n /**\n * Converts the buffer's contents into a string decoding bytes using the\n * platform's default character set. The length of the new String\n * is a function of the character set, and hence may not be equal to the\n * size of the buffer.\n *\n *

    This method always replaces malformed-input and unmappable-character\n * sequences with the default replacement string for the platform's\n * default character set. The {@linkplain java.nio.charset.CharsetDecoder}\n * class should be used when more control over the decoding process is\n * required.\n *\n * @return String decoded from the buffer's contents.\n * @since JDK1.1\n */\n ByteArrayOutputStream.prototype.toString_void = function () {\n return new String(this.buf /*, 0, this.count*/).toString();\n };\n /**\n * Converts the buffer's contents into a string by decoding the bytes using\n * the specified {@link java.nio.charset.Charset charsetName}. The length of\n * the new String is a function of the charset, and hence may not be\n * equal to the length of the byte array.\n *\n *

    This method always replaces malformed-input and unmappable-character\n * sequences with this charset's default replacement string. The {@link\n * java.nio.charset.CharsetDecoder} class should be used when more control\n * over the decoding process is required.\n *\n * @param charsetName the name of a supported\n * {@linkplain java.nio.charset.Charset charset}\n * @return String decoded from the buffer's contents.\n * @exception UnsupportedEncodingException\n * If the named charset is not supported\n * @since JDK1.1\n */\n ByteArrayOutputStream.prototype.toString_string = function (charsetName) {\n return new String(this.buf /*, 0, this.count, charsetName*/).toString();\n };\n /**\n * Creates a newly allocated string. Its size is the current size of\n * the output stream and the valid contents of the buffer have been\n * copied into it. Each character c in the resulting string is\n * constructed from the corresponding element b in the byte\n * array such that:\n *

    \n     *     c == (char)(((hibyte & 0xff) << 8) | (b & 0xff))\n     * 
    \n *\n * @deprecated This method does not properly convert bytes into characters.\n * As of JDK 1.1, the preferred way to do this is via the\n * toString(String enc) method, which takes an encoding-name\n * argument, or the toString() method, which uses the\n * platform's default character encoding.\n *\n * @param hibyte the high byte of each resulting Unicode character.\n * @return the current contents of the output stream, as a string.\n * @see java.io.ByteArrayOutputStream#size()\n * @see java.io.ByteArrayOutputStream#toString(String)\n * @see java.io.ByteArrayOutputStream#toString()\n */\n // @Deprecated\n ByteArrayOutputStream.prototype.toString_number = function (hibyte) {\n return new String(this.buf /*, hibyte, 0, this.count*/).toString();\n };\n /**\n * Closing a ByteArrayOutputStream has no effect. The methods in\n * this class can be called after the stream has been closed without\n * generating an IOException.\n *

    \n *\n * @throws IOException\n */\n ByteArrayOutputStream.prototype.close = function () {\n };\n return ByteArrayOutputStream;\n}(OutputStream));\nexport default ByteArrayOutputStream;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport CharacterSetECI from '../common/CharacterSetECI';\n/**\n * Just to make a shortcut between Java code and TS code.\n */\nvar Charset = /** @class */ (function (_super) {\n __extends(Charset, _super);\n function Charset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Charset.forName = function (name) {\n return this.getCharacterSetECIByName(name);\n };\n return Charset;\n}(CharacterSetECI));\nexport default Charset;\n","var Collections = /** @class */ (function () {\n function Collections() {\n }\n /**\n * The singletonList(T) method is used to return an immutable list containing only the specified object.\n */\n Collections.singletonList = function (item) {\n return [item];\n };\n /**\n * The min(Collection, Comparator) method is used to return the minimum element of the given collection, according to the order induced by the specified comparator.\n */\n Collections.min = function (collection, comparator) {\n return collection.sort(comparator)[0];\n };\n return Collections;\n}());\nexport default Collections;\n","/**\n * Ponyfill for Java's Float class.\n */\nvar Float = /** @class */ (function () {\n function Float() {\n }\n /**\n * SincTS has no difference between int and float, there's all numbers,\n * this is used only to polyfill Java code.\n */\n Float.floatToIntBits = function (f) {\n return f;\n };\n /**\n * The float max value in JS is the number max value.\n */\n Float.MAX_VALUE = Number.MAX_SAFE_INTEGER;\n return Float;\n}());\nexport default Float;\n","/**\n * Java Formatter class polyfill that works in the JS way.\n */\nvar Formatter = /** @class */ (function () {\n function Formatter() {\n this.buffer = '';\n }\n /**\n *\n * @see https://stackoverflow.com/a/13439711/4367683\n *\n * @param str\n * @param arr\n */\n Formatter.form = function (str, arr) {\n var i = -1;\n function callback(exp, p0, p1, p2, p3, p4) {\n if (exp === '%%')\n return '%';\n if (arr[++i] === undefined)\n return undefined;\n exp = p2 ? parseInt(p2.substr(1)) : undefined;\n var base = p3 ? parseInt(p3.substr(1)) : undefined;\n var val;\n switch (p4) {\n case 's':\n val = arr[i];\n break;\n case 'c':\n val = arr[i][0];\n break;\n case 'f':\n val = parseFloat(arr[i]).toFixed(exp);\n break;\n case 'p':\n val = parseFloat(arr[i]).toPrecision(exp);\n break;\n case 'e':\n val = parseFloat(arr[i]).toExponential(exp);\n break;\n case 'x':\n val = parseInt(arr[i]).toString(base ? base : 16);\n break;\n case 'd':\n val = parseFloat(parseInt(arr[i], base ? base : 10).toPrecision(exp)).toFixed(0);\n break;\n }\n val = typeof val === 'object' ? JSON.stringify(val) : (+val).toString(base);\n var size = parseInt(p1); /* padding size */\n var ch = p1 && (p1[0] + '') === '0' ? '0' : ' '; /* isnull? */\n while (val.length < size)\n val = p0 !== undefined ? val + ch : ch + val; /* isminus? */\n return val;\n }\n var regex = /%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;\n return str.replace(regex, callback);\n };\n /**\n *\n * @param append The new string to append.\n * @param args Argumets values to be formated.\n */\n Formatter.prototype.format = function (append) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n this.buffer += Formatter.form(append, args);\n };\n /**\n * Returns the Formatter string value.\n */\n Formatter.prototype.toString = function () {\n return this.buffer;\n };\n return Formatter;\n}());\nexport default Formatter;\n","/**\n * Ponyfill for Java's Integer class.\n */\nvar Integer = /** @class */ (function () {\n function Integer() {\n }\n Integer.numberOfTrailingZeros = function (i) {\n var y;\n if (i === 0)\n return 32;\n var n = 31;\n y = i << 16;\n if (y !== 0) {\n n -= 16;\n i = y;\n }\n y = i << 8;\n if (y !== 0) {\n n -= 8;\n i = y;\n }\n y = i << 4;\n if (y !== 0) {\n n -= 4;\n i = y;\n }\n y = i << 2;\n if (y !== 0) {\n n -= 2;\n i = y;\n }\n return n - ((i << 1) >>> 31);\n };\n Integer.numberOfLeadingZeros = function (i) {\n // HD, Figure 5-6\n if (i === 0) {\n return 32;\n }\n var n = 1;\n if (i >>> 16 === 0) {\n n += 16;\n i <<= 16;\n }\n if (i >>> 24 === 0) {\n n += 8;\n i <<= 8;\n }\n if (i >>> 28 === 0) {\n n += 4;\n i <<= 4;\n }\n if (i >>> 30 === 0) {\n n += 2;\n i <<= 2;\n }\n n -= i >>> 31;\n return n;\n };\n Integer.toHexString = function (i) {\n return i.toString(16);\n };\n Integer.toBinaryString = function (intNumber) {\n return String(parseInt(String(intNumber), 2));\n };\n // Returns the number of one-bits in the two's complement binary representation of the specified int value. This function is sometimes referred to as the population count.\n // Returns:\n // the number of one-bits in the two's complement binary representation of the specified int value.\n Integer.bitCount = function (i) {\n // HD, Figure 5-2\n i = i - ((i >>> 1) & 0x55555555);\n i = (i & 0x33333333) + ((i >>> 2) & 0x33333333);\n i = (i + (i >>> 4)) & 0x0f0f0f0f;\n i = i + (i >>> 8);\n i = i + (i >>> 16);\n return i & 0x3f;\n };\n Integer.truncDivision = function (dividend, divisor) {\n return Math.trunc(dividend / divisor);\n };\n /**\n * Converts A string to an integer.\n * @param s A string to convert into a number.\n * @param radix A value between 2 and 36 that specifies the base of the number in numString. If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. All other strings are considered decimal.\n */\n Integer.parseInt = function (num, radix) {\n if (radix === void 0) { radix = undefined; }\n return parseInt(num, radix);\n };\n Integer.MIN_VALUE_32_BITS = -2147483648;\n Integer.MAX_VALUE = Number.MAX_SAFE_INTEGER;\n return Integer;\n}());\nexport default Integer;\n","/**\n * Ponyfill for Java's Long class.\n */\nvar Long = /** @class */ (function () {\n function Long() {\n }\n /**\n * Parses a string to a number, since JS has no really Int64.\n *\n * @param num Numeric string.\n * @param radix Destination radix.\n */\n Long.parseLong = function (num, radix) {\n if (radix === void 0) { radix = undefined; }\n return parseInt(num, radix);\n };\n return Long;\n}());\nexport default Long;\n","import IndexOutOfBoundsException from '../IndexOutOfBoundsException';\nimport NullPointerException from '../NullPointerException';\n/*\n * Copyright (c) 1994, 2004, Oracle and/or its affiliates. All rights reserved.\n * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.\n *\n * This code is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License version 2 only, as\n * published by the Free Software Foundation. Oracle designates this\n * particular file as subject to the \"Classpath\" exception as provided\n * by Oracle in the LICENSE file that accompanied this code.\n *\n * This code is distributed in the hope that it will be useful, but WITHOUT\n * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\n * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n * version 2 for more details (a copy is included in the LICENSE file that\n * accompanied this code).\n *\n * You should have received a copy of the GNU General Public License version\n * 2 along with this work; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.\n *\n * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA\n * or visit www.oracle.com if you need additional information or have any\n * questions.\n */\n// package java.io;\n/**\n * This abstract class is the superclass of all classes representing\n * an output stream of bytes. An output stream accepts output bytes\n * and sends them to some sink.\n *

    \n * Applications that need to define a subclass of\n * OutputStream must always provide at least a method\n * that writes one byte of output.\n *\n * @author Arthur van Hoff\n * @see java.io.BufferedOutputStream\n * @see java.io.ByteArrayOutputStream\n * @see java.io.DataOutputStream\n * @see java.io.FilterOutputStream\n * @see java.io.InputStream\n * @see java.io.OutputStream#write(int)\n * @since JDK1.0\n */\nvar OutputStream /*implements Closeable, Flushable*/ = /** @class */ (function () {\n function OutputStream() {\n }\n /**\n * Writes b.length bytes from the specified byte array\n * to this output stream. The general contract for write(b)\n * is that it should have exactly the same effect as the call\n * write(b, 0, b.length).\n *\n * @param b the data.\n * @exception IOException if an I/O error occurs.\n * @see java.io.OutputStream#write(byte[], int, int)\n */\n OutputStream.prototype.writeBytes = function (b) {\n this.writeBytesOffset(b, 0, b.length);\n };\n /**\n * Writes len bytes from the specified byte array\n * starting at offset off to this output stream.\n * The general contract for write(b, off, len) is that\n * some of the bytes in the array b are written to the\n * output stream in order; element b[off] is the first\n * byte written and b[off+len-1] is the last byte written\n * by this operation.\n *

    \n * The write method of OutputStream calls\n * the write method of one argument on each of the bytes to be\n * written out. Subclasses are encouraged to override this method and\n * provide a more efficient implementation.\n *

    \n * If b is null, a\n * NullPointerException is thrown.\n *

    \n * If off is negative, or len is negative, or\n * off+len is greater than the length of the array\n * b, then an IndexOutOfBoundsException is thrown.\n *\n * @param b the data.\n * @param off the start offset in the data.\n * @param len the number of bytes to write.\n * @exception IOException if an I/O error occurs. In particular,\n * an IOException is thrown if the output\n * stream is closed.\n */\n OutputStream.prototype.writeBytesOffset = function (b, off, len) {\n if (b == null) {\n throw new NullPointerException();\n }\n else if ((off < 0) || (off > b.length) || (len < 0) ||\n ((off + len) > b.length) || ((off + len) < 0)) {\n throw new IndexOutOfBoundsException();\n }\n else if (len === 0) {\n return;\n }\n for (var i = 0; i < len; i++) {\n this.write(b[off + i]);\n }\n };\n /**\n * Flushes this output stream and forces any buffered output bytes\n * to be written out. The general contract of flush is\n * that calling it is an indication that, if any bytes previously\n * written have been buffered by the implementation of the output\n * stream, such bytes should immediately be written to their\n * intended destination.\n *

    \n * If the intended destination of this stream is an abstraction provided by\n * the underlying operating system, for example a file, then flushing the\n * stream guarantees only that bytes previously written to the stream are\n * passed to the operating system for writing; it does not guarantee that\n * they are actually written to a physical device such as a disk drive.\n *

    \n * The flush method of OutputStream does nothing.\n *\n * @exception IOException if an I/O error occurs.\n */\n OutputStream.prototype.flush = function () {\n };\n /**\n * Closes this output stream and releases any system resources\n * associated with this stream. The general contract of close\n * is that it closes the output stream. A closed stream cannot perform\n * output operations and cannot be reopened.\n *

    \n * The close method of OutputStream does nothing.\n *\n * @exception IOException if an I/O error occurs.\n */\n OutputStream.prototype.close = function () {\n };\n return OutputStream;\n}());\nexport default OutputStream;\n","import CharacterSetECI from '../common/CharacterSetECI';\n/**\n * Just to make a shortcut between Java code and TS code.\n */\nvar StandardCharsets = /** @class */ (function () {\n function StandardCharsets() {\n }\n StandardCharsets.ISO_8859_1 = CharacterSetECI.ISO8859_1;\n return StandardCharsets;\n}());\nexport default StandardCharsets;\n","import StringUtils from '../common/StringUtils';\nvar StringBuilder = /** @class */ (function () {\n function StringBuilder(value) {\n if (value === void 0) { value = ''; }\n this.value = value;\n }\n StringBuilder.prototype.enableDecoding = function (encoding) {\n this.encoding = encoding;\n return this;\n };\n StringBuilder.prototype.append = function (s) {\n if (typeof s === 'string') {\n this.value += s.toString();\n }\n else if (this.encoding) {\n // use passed format (fromCharCode will return UTF8 encoding)\n this.value += StringUtils.castAsNonUtf8Char(s, this.encoding);\n }\n else {\n // correctly converts from UTF-8, but not other encodings\n this.value += String.fromCharCode(s);\n }\n return this;\n };\n StringBuilder.prototype.appendChars = function (str, offset, len) {\n for (var i = offset; offset < offset + len; i++) {\n this.append(str[i]);\n }\n return this;\n };\n StringBuilder.prototype.length = function () {\n return this.value.length;\n };\n StringBuilder.prototype.charAt = function (n) {\n return this.value.charAt(n);\n };\n StringBuilder.prototype.deleteCharAt = function (n) {\n this.value = this.value.substr(0, n) + this.value.substring(n + 1);\n };\n StringBuilder.prototype.setCharAt = function (n, c) {\n this.value = this.value.substr(0, n) + c + this.value.substr(n + 1);\n };\n StringBuilder.prototype.substring = function (start, end) {\n return this.value.substring(start, end);\n };\n /**\n * @note helper method for RSS Expanded\n */\n StringBuilder.prototype.setLengthToZero = function () {\n this.value = '';\n };\n StringBuilder.prototype.toString = function () {\n return this.value;\n };\n StringBuilder.prototype.insert = function (n, c) {\n this.value = this.value.substr(0, n) + c + this.value.substr(n + c.length);\n };\n return StringBuilder;\n}());\nexport default StringBuilder;\n","import UnsupportedOperationException from '../UnsupportedOperationException';\nimport CharacterSetECI from '../common/CharacterSetECI';\n/**\n * Responsible for en/decoding strings.\n */\nvar StringEncoding = /** @class */ (function () {\n function StringEncoding() {\n }\n /**\n * Decodes some Uint8Array to a string format.\n */\n StringEncoding.decode = function (bytes, encoding) {\n var encodingName = this.encodingName(encoding);\n if (this.customDecoder) {\n return this.customDecoder(bytes, encodingName);\n }\n // Increases browser support.\n if (typeof TextDecoder === 'undefined' || this.shouldDecodeOnFallback(encodingName)) {\n return this.decodeFallback(bytes, encodingName);\n }\n return new TextDecoder(encodingName).decode(bytes);\n };\n /**\n * Checks if the decoding method should use the fallback for decoding\n * once Node TextDecoder doesn't support all encoding formats.\n *\n * @param encodingName\n */\n StringEncoding.shouldDecodeOnFallback = function (encodingName) {\n return !StringEncoding.isBrowser() && encodingName === 'ISO-8859-1';\n };\n /**\n * Encodes some string into a Uint8Array.\n */\n StringEncoding.encode = function (s, encoding) {\n var encodingName = this.encodingName(encoding);\n if (this.customEncoder) {\n return this.customEncoder(s, encodingName);\n }\n // Increases browser support.\n if (typeof TextEncoder === 'undefined') {\n return this.encodeFallback(s);\n }\n // TextEncoder only encodes to UTF8 by default as specified by encoding.spec.whatwg.org\n return new TextEncoder().encode(s);\n };\n StringEncoding.isBrowser = function () {\n return (typeof window !== 'undefined' && {}.toString.call(window) === '[object Window]');\n };\n /**\n * Returns the string value from some encoding character set.\n */\n StringEncoding.encodingName = function (encoding) {\n return typeof encoding === 'string'\n ? encoding\n : encoding.getName();\n };\n /**\n * Returns character set from some encoding character set.\n */\n StringEncoding.encodingCharacterSet = function (encoding) {\n if (encoding instanceof CharacterSetECI) {\n return encoding;\n }\n return CharacterSetECI.getCharacterSetECIByName(encoding);\n };\n /**\n * Runs a fallback for the native decoding funcion.\n */\n StringEncoding.decodeFallback = function (bytes, encoding) {\n var characterSet = this.encodingCharacterSet(encoding);\n if (StringEncoding.isDecodeFallbackSupported(characterSet)) {\n var s = '';\n for (var i = 0, length_1 = bytes.length; i < length_1; i++) {\n var h = bytes[i].toString(16);\n if (h.length < 2) {\n h = '0' + h;\n }\n s += '%' + h;\n }\n return decodeURIComponent(s);\n }\n if (characterSet.equals(CharacterSetECI.UnicodeBigUnmarked)) {\n return String.fromCharCode.apply(null, new Uint16Array(bytes.buffer));\n }\n throw new UnsupportedOperationException(\"Encoding \" + this.encodingName(encoding) + \" not supported by fallback.\");\n };\n StringEncoding.isDecodeFallbackSupported = function (characterSet) {\n return characterSet.equals(CharacterSetECI.UTF8) ||\n characterSet.equals(CharacterSetECI.ISO8859_1) ||\n characterSet.equals(CharacterSetECI.ASCII);\n };\n /**\n * Runs a fallback for the native encoding funcion.\n *\n * @see https://stackoverflow.com/a/17192845/4367683\n */\n StringEncoding.encodeFallback = function (s) {\n var encodedURIstring = btoa(unescape(encodeURIComponent(s)));\n var charList = encodedURIstring.split('');\n var uintArray = [];\n for (var i = 0; i < charList.length; i++) {\n uintArray.push(charList[i].charCodeAt(0));\n }\n return new Uint8Array(uintArray);\n };\n return StringEncoding;\n}());\nexport default StringEncoding;\n","var System = /** @class */ (function () {\n function System() {\n }\n // public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)\n /**\n * Makes a copy of a array.\n */\n System.arraycopy = function (src, srcPos, dest, destPos, length) {\n // TODO: better use split or set?\n while (length--) {\n dest[destPos++] = src[srcPos++];\n }\n };\n /**\n * Returns the current time in milliseconds.\n */\n System.currentTimeMillis = function () {\n return Date.now();\n };\n return System;\n}());\nexport default System;\n","export * from './browser';\n// Exceptions\nexport { default as ArgumentException } from './core/ArgumentException';\nexport { default as ArithmeticException } from './core/ArithmeticException';\nexport { default as ChecksumException } from './core/ChecksumException';\nexport { default as Exception } from './core/Exception';\nexport { default as FormatException } from './core/FormatException';\nexport { default as IllegalArgumentException } from './core/IllegalArgumentException';\nexport { default as IllegalStateException } from './core/IllegalStateException';\nexport { default as NotFoundException } from './core/NotFoundException';\nexport { default as ReaderException } from './core/ReaderException';\nexport { default as ReedSolomonException } from './core/ReedSolomonException';\nexport { default as UnsupportedOperationException } from './core/UnsupportedOperationException';\nexport { default as WriterException } from './core/WriterException';\n// core\nexport { default as BarcodeFormat } from './core/BarcodeFormat';\nexport { default as Binarizer } from './core/Binarizer';\nexport { default as BinaryBitmap } from './core/BinaryBitmap';\nexport { default as DecodeHintType } from './core/DecodeHintType';\nexport { default as InvertedLuminanceSource } from './core/InvertedLuminanceSource';\nexport { default as LuminanceSource } from './core/LuminanceSource';\nexport { default as MultiFormatReader } from './core/MultiFormatReader';\nexport { default as MultiFormatWriter } from './core/MultiFormatWriter';\nexport { default as PlanarYUVLuminanceSource } from './core/PlanarYUVLuminanceSource';\nexport { default as Result } from './core/Result';\nexport { default as ResultMetadataType } from './core/ResultMetadataType';\nexport { default as RGBLuminanceSource } from './core/RGBLuminanceSource';\nexport { default as ResultPoint } from './core/ResultPoint';\n// core/util\nexport { default as ZXingSystem } from './core/util/System';\nexport { default as ZXingStringBuilder } from './core/util/StringBuilder';\nexport { default as ZXingStringEncoding } from './core/util/StringEncoding';\nexport { default as ZXingCharset } from './core/util/Charset';\nexport { default as ZXingArrays } from './core/util/Arrays';\nexport { default as ZXingStandardCharsets } from './core/util/StandardCharsets';\nexport { default as ZXingInteger } from './core/util/Integer';\n// core/common\nexport { default as BitArray } from './core/common/BitArray';\nexport { default as BitMatrix } from './core/common/BitMatrix';\nexport { default as BitSource } from './core/common/BitSource';\nexport { default as CharacterSetECI } from './core/common/CharacterSetECI';\nexport { default as DecoderResult } from './core/common/DecoderResult';\nexport { default as DefaultGridSampler } from './core/common/DefaultGridSampler';\nexport { default as DetectorResult } from './core/common/DetectorResult';\nexport { default as EncodeHintType } from './core/EncodeHintType';\nexport { default as GlobalHistogramBinarizer } from './core/common/GlobalHistogramBinarizer';\nexport { default as GridSampler } from './core/common/GridSampler';\nexport { default as GridSamplerInstance } from './core/common/GridSamplerInstance';\nexport { default as HybridBinarizer } from './core/common/HybridBinarizer';\nexport { default as PerspectiveTransform } from './core/common/PerspectiveTransform';\nexport { default as StringUtils } from './core/common/StringUtils';\n// core/common/detector\nexport { default as MathUtils } from './core/common/detector/MathUtils';\n// export { default as MonochromeRectangleDetector } from './core/common/detector/MonochromeRectangleDetector';\nexport { default as WhiteRectangleDetector } from './core/common/detector/WhiteRectangleDetector';\n// core/common/reedsolomon\nexport { default as GenericGF } from './core/common/reedsolomon/GenericGF';\nexport { default as GenericGFPoly } from './core/common/reedsolomon/GenericGFPoly';\nexport { default as ReedSolomonDecoder } from './core/common/reedsolomon/ReedSolomonDecoder';\nexport { default as ReedSolomonEncoder } from './core/common/reedsolomon/ReedSolomonEncoder';\n// core/datamatrix\nexport { default as DataMatrixReader } from './core/datamatrix/DataMatrixReader';\nexport { default as DataMatrixDecodedBitStreamParser } from './core/datamatrix/decoder/DecodedBitStreamParser';\n// core/pdf417\nexport { default as PDF417Reader } from './core/pdf417/PDF417Reader';\nexport { default as PDF417ResultMetadata } from './core/pdf417/PDF417ResultMetadata';\nexport { default as PDF417DecodedBitStreamParser } from './core/pdf417/decoder/DecodedBitStreamParser';\nexport { default as PDF417DecoderErrorCorrection } from './core/pdf417/decoder/ec/ErrorCorrection';\n// core/twod/qrcode\nexport { default as QRCodeReader } from './core/qrcode/QRCodeReader';\nexport { default as QRCodeWriter } from './core/qrcode/QRCodeWriter';\nexport { default as QRCodeDecoderErrorCorrectionLevel } from './core/qrcode/decoder/ErrorCorrectionLevel';\nexport { default as QRCodeDecoderFormatInformation } from './core/qrcode/decoder/FormatInformation';\nexport { default as QRCodeVersion } from './core/qrcode/decoder/Version';\nexport { default as QRCodeMode } from './core/qrcode/decoder/Mode';\nexport { default as QRCodeDecodedBitStreamParser } from './core/qrcode/decoder/DecodedBitStreamParser';\nexport { default as QRCodeDataMask } from './core/qrcode/decoder/DataMask';\nexport { default as QRCodeEncoder } from './core/qrcode/encoder/Encoder';\nexport { default as QRCodeEncoderQRCode } from './core/qrcode/encoder/QRCode';\nexport { default as QRCodeMatrixUtil } from './core/qrcode/encoder/MatrixUtil';\nexport { default as QRCodeByteMatrix } from './core/qrcode/encoder/ByteMatrix';\nexport { default as QRCodeMaskUtil } from './core/qrcode/encoder/MaskUtil';\n// core/twod/aztec\nexport { default as AztecCodeReader } from './core/aztec/AztecReader';\nexport { default as AztecCodeWriter } from './core/aztec/AztecWriter';\nexport { default as AztecDetectorResult } from './core/aztec/AztecDetectorResult';\nexport { default as AztecEncoder } from './core/aztec/encoder/Encoder';\nexport { default as AztecHighLevelEncoder } from './core/aztec/encoder/HighLevelEncoder';\nexport { default as AztecCode } from './core/aztec/encoder/AztecCode';\nexport { default as AztecDecoder } from './core/aztec/decoder/Decoder';\nexport { default as AztecDetector } from './core/aztec/detector/Detector';\nexport { Point as AztecPoint } from './core/aztec/detector/Detector';\n// core/oned\nexport { default as OneDReader } from './core/oned/OneDReader';\nexport { default as EAN13Reader } from './core/oned/EAN13Reader';\nexport { default as Code128Reader } from './core/oned/Code128Reader';\nexport { default as ITFReader } from './core/oned/ITFReader';\nexport { default as Code39Reader } from './core/oned/Code39Reader';\nexport { default as RSS14Reader } from './core/oned/rss/RSS14Reader';\nexport { default as RSSExpandedReader } from './core/oned/rss/expanded/RSSExpandedReader';\nexport { default as AbstractExpandedDecoder } from './core/oned/rss/expanded/decoders/AbstractExpandedDecoder';\nexport { createDecoder as createAbstractExpandedDecoder } from './core/oned/rss/expanded/decoders/AbstractExpandedDecoderComplement';\nexport { default as MultiFormatOneDReader } from './core/oned/MultiFormatOneDReader';\n","import { CommonModule } from '@angular/common';\nimport { EventEmitter, Component, ChangeDetectionStrategy, ViewChild, Input, Output, NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { __awaiter } from 'tslib';\nimport { BrowserMultiFormatReader, BrowserCodeReader } from '@zxing/browser';\nimport { NotFoundException, ChecksumException, FormatException, BarcodeFormat, DecodeHintType } from '@zxing/library';\nimport { BehaviorSubject } from 'rxjs';\n\n/**\n * Based on zxing-typescript BrowserCodeReader\n */\nimport * as ɵngcc0 from '@angular/core';\n\nconst _c0 = [\"preview\"];\nclass BrowserMultiFormatContinuousReader extends BrowserMultiFormatReader {\n /**\n * Returns the code reader scanner controls.\n */\n getScannerControls() {\n if (!this.scannerControls) {\n throw new Error('No scanning is running at the time.');\n }\n return this.scannerControls;\n }\n /**\n * Starts the decoding from the current or a new video element.\n *\n * @param deviceId The device's to be used Id\n * @param previewEl A new video element\n */\n scanFromDeviceObservable(deviceId, previewEl) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const scan$ = new BehaviorSubject({});\n let ctrls;\n try {\n ctrls = yield this.decodeFromVideoDevice(deviceId, previewEl, (result, error) => {\n if (!error) {\n scan$.next({ result });\n return;\n }\n const errorName = error.name;\n // stream cannot stop on fails.\n if (\n // scan Failure - found nothing, no error\n errorName === NotFoundException.name ||\n // scan Error - found the QR but got error on decoding\n errorName === ChecksumException.name ||\n errorName === FormatException.name ||\n error.message.includes('No MultiFormat Readers were able to detect the code.')) {\n scan$.next({ error });\n return;\n }\n // probably fatal error\n scan$.error(error);\n this.scannerControls.stop();\n this.scannerControls = undefined;\n return;\n });\n this.scannerControls = Object.assign(Object.assign({}, ctrls), { stop() {\n ctrls.stop();\n scan$.complete();\n } });\n }\n catch (e) {\n scan$.error(e);\n (_a = this.scannerControls) === null || _a === void 0 ? void 0 : _a.stop();\n this.scannerControls = undefined;\n }\n return scan$.asObservable();\n });\n }\n}\n\nclass ZXingScannerComponent {\n /**\n * Constructor to build the object and do some DI.\n */\n constructor() {\n /**\n * Delay between attempts to decode (default is 500ms)\n */\n this.timeBetweenScans = 500;\n /**\n * Delay between successful decode (default is 500ms)\n */\n this.delayBetweenScanSuccess = 500;\n /**\n * How the preview element shoud be fit inside the :host container.\n */\n this.previewFitMode = 'cover';\n this._ready = false;\n // instance based emitters\n this.autostarted = new EventEmitter();\n this.autostarting = new EventEmitter();\n this.torchCompatible = new EventEmitter(false);\n this.scanSuccess = new EventEmitter();\n this.scanFailure = new EventEmitter();\n this.scanError = new EventEmitter();\n this.scanComplete = new EventEmitter();\n this.camerasFound = new EventEmitter();\n this.camerasNotFound = new EventEmitter();\n this.permissionResponse = new EventEmitter(true);\n this.hasDevices = new EventEmitter();\n this.deviceChange = new EventEmitter();\n this._enabled = true;\n this._hints = new Map();\n this.autofocusEnabled = true;\n this.autostart = true;\n this.formats = [BarcodeFormat.QR_CODE];\n // computed data\n this.hasNavigator = typeof navigator !== 'undefined';\n this.isMediaDevicesSupported = this.hasNavigator && !!navigator.mediaDevices;\n }\n /**\n * Exposes the current code reader, so the user can use it's APIs.\n */\n get codeReader() {\n return this._codeReader;\n }\n /**\n * User device input\n */\n set device(device) {\n if (!this._ready) {\n this._devicePreStart = device;\n // let's ignore silently, users don't liek logs\n return;\n }\n if (this.isAutostarting) {\n // do not allow setting devices during auto-start, since it will set one and emit it.\n console.warn('Avoid setting a device during auto-start.');\n return;\n }\n if (this.isCurrentDevice(device)) {\n console.warn('Setting the same device is not allowed.');\n return;\n }\n if (!this.hasPermission) {\n console.warn('Permissions not set yet, waiting for them to be set to apply device change.');\n // this.permissionResponse\n // .pipe(\n // take(1),\n // tap(() => console.log(`Permissions set, applying device change${device ? ` (${device.deviceId})` : ''}.`))\n // )\n // .subscribe(() => this.device = device);\n return;\n }\n this.setDevice(device);\n }\n /**\n * User device acessor.\n */\n get device() {\n return this._device;\n }\n /**\n * Returns all the registered formats.\n */\n get formats() {\n return this.hints.get(DecodeHintType.POSSIBLE_FORMATS);\n }\n /**\n * Registers formats the scanner should support.\n *\n * @param input BarcodeFormat or case-insensitive string array.\n */\n set formats(input) {\n if (typeof input === 'string') {\n throw new Error('Invalid formats, make sure the [formats] input is a binding.');\n }\n // formats may be set from html template as BarcodeFormat or string array\n const formats = input.map(f => this.getBarcodeFormatOrFail(f));\n const hints = this.hints;\n // updates the hints\n hints.set(DecodeHintType.POSSIBLE_FORMATS, formats);\n // handles updating the codeReader\n this.hints = hints;\n }\n /**\n * Returns all the registered hints.\n */\n get hints() {\n return this._hints;\n }\n /**\n * Does what it takes to set the hints.\n */\n set hints(hints) {\n var _a;\n this._hints = hints;\n // new instance with new hints.\n (_a = this.codeReader) === null || _a === void 0 ? void 0 : _a.setHints(this._hints);\n }\n /**\n * Sets the desired constraints in all video tracks.\n * @experimental\n */\n set videoConstraints(constraints) {\n var _a;\n // new instance with new hints.\n const controls = (_a = this.codeReader) === null || _a === void 0 ? void 0 : _a.getScannerControls();\n if (!controls) {\n // fails silently\n return;\n }\n controls === null || controls === void 0 ? void 0 : controls.streamVideoConstraintsApply(constraints);\n }\n /**\n *\n */\n set isAutostarting(state) {\n this._isAutostarting = state;\n this.autostarting.next(state);\n }\n /**\n *\n */\n get isAutostarting() {\n return this._isAutostarting;\n }\n /**\n * Can turn on/off the device flashlight.\n *\n * @experimental Torch/Flash APIs are not stable in all browsers, it may be buggy!\n */\n set torch(onOff) {\n try {\n const controls = this.getCodeReader().getScannerControls();\n controls.switchTorch(onOff);\n }\n catch (error) {\n // ignore error\n }\n }\n /**\n * Starts and Stops the scanning.\n */\n set enable(enabled) {\n this._enabled = Boolean(enabled);\n if (!this._enabled) {\n this.reset();\n BrowserMultiFormatContinuousReader.releaseAllStreams();\n }\n else {\n if (this.device) {\n this.scanFromDevice(this.device.deviceId);\n }\n else {\n this.init();\n }\n }\n }\n /**\n * Tells if the scanner is enabled or not.\n */\n get enabled() {\n return this._enabled;\n }\n /**\n * If is `tryHarder` enabled.\n */\n get tryHarder() {\n return this.hints.get(DecodeHintType.TRY_HARDER);\n }\n /**\n * Enable/disable tryHarder hint.\n */\n set tryHarder(enable) {\n const hints = this.hints;\n if (enable) {\n hints.set(DecodeHintType.TRY_HARDER, true);\n }\n else {\n hints.delete(DecodeHintType.TRY_HARDER);\n }\n this.hints = hints;\n }\n /**\n * Gets and registers all cammeras.\n */\n askForPermission() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.hasNavigator) {\n console.error('@zxing/ngx-scanner', 'Can\\'t ask permission, navigator is not present.');\n this.setPermission(null);\n return this.hasPermission;\n }\n if (!this.isMediaDevicesSupported) {\n console.error('@zxing/ngx-scanner', 'Can\\'t get user media, this is not supported.');\n this.setPermission(null);\n return this.hasPermission;\n }\n let stream;\n let permission;\n try {\n // Will try to ask for permission\n stream = yield this.getAnyVideoDevice();\n permission = !!stream;\n }\n catch (err) {\n return this.handlePermissionException(err);\n }\n finally {\n this.terminateStream(stream);\n }\n this.setPermission(permission);\n // Returns the permission\n return permission;\n });\n }\n /**\n *\n */\n getAnyVideoDevice() {\n return navigator.mediaDevices.getUserMedia({ video: true });\n }\n /**\n * Terminates a stream and it's tracks.\n */\n terminateStream(stream) {\n if (stream) {\n stream.getTracks().forEach(t => t.stop());\n }\n stream = undefined;\n }\n init() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.autostart) {\n console.warn('Feature \\'autostart\\' disabled. Permissions and devices recovery has to be run manually.');\n // does the necessary configuration without autostarting\n this.initAutostartOff();\n this._ready = true;\n return;\n }\n // configurates the component and starts the scanner\n yield this.initAutostartOn();\n this._ready = true;\n });\n }\n /**\n * Initializes the component without starting the scanner.\n */\n initAutostartOff() {\n // do not ask for permission when autostart is off\n this.isAutostarting = false;\n // just update devices information\n this.updateVideoInputDevices();\n if (this._device && this._devicePreStart) {\n this.setDevice(this._devicePreStart);\n }\n }\n /**\n * Initializes the component and starts the scanner.\n * Permissions are asked to accomplish that.\n */\n initAutostartOn() {\n return __awaiter(this, void 0, void 0, function* () {\n this.isAutostarting = true;\n let hasPermission;\n try {\n // Asks for permission before enumerating devices so it can get all the device's info\n hasPermission = yield this.askForPermission();\n }\n catch (e) {\n console.error('Exception occurred while asking for permission:', e);\n return;\n }\n // from this point, things gonna need permissions\n if (hasPermission) {\n const devices = yield this.updateVideoInputDevices();\n yield this.autostartScanner([...devices]);\n }\n this.isAutostarting = false;\n this.autostarted.next();\n });\n }\n /**\n * Checks if the given device is the current defined one.\n */\n isCurrentDevice(device) {\n var _a;\n return (device === null || device === void 0 ? void 0 : device.deviceId) === ((_a = this._device) === null || _a === void 0 ? void 0 : _a.deviceId);\n }\n /**\n * Executes some actions before destroy the component.\n */\n ngOnDestroy() {\n this.reset();\n BrowserMultiFormatContinuousReader.releaseAllStreams();\n }\n /**\n *\n */\n ngOnInit() {\n this.init();\n }\n /**\n * Stops the scanning, if any.\n */\n scanStop() {\n var _a, _b;\n if (this._scanSubscription) {\n (_a = this.codeReader) === null || _a === void 0 ? void 0 : _a.getScannerControls().stop();\n (_b = this._scanSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();\n this._scanSubscription = undefined;\n }\n this.torchCompatible.next(false);\n }\n /**\n * Stops the scanning, if any.\n */\n scanStart() {\n if (this._scanSubscription) {\n throw new Error('There is already a scan proccess running.');\n }\n if (!this._device) {\n throw new Error('No device defined, cannot start scan, please define a device.');\n }\n this.scanFromDevice(this._device.deviceId);\n }\n /**\n * Stops old `codeReader` and starts scanning in a new one.\n */\n restart() {\n // @note apenas necessario por enquanto causa da Torch\n this._codeReader = undefined;\n const prevDevice = this._reset();\n if (!prevDevice) {\n return;\n }\n this.device = prevDevice;\n }\n /**\n * Discovers and updates known video input devices.\n */\n updateVideoInputDevices() {\n return __awaiter(this, void 0, void 0, function* () {\n // permissions aren't needed to get devices, but to access them and their info\n const devices = (yield BrowserCodeReader.listVideoInputDevices()) || [];\n const hasDevices = devices && devices.length > 0;\n // stores discovered devices and updates information\n this.hasDevices.next(hasDevices);\n this.camerasFound.next([...devices]);\n if (!hasDevices) {\n this.camerasNotFound.next();\n }\n return devices;\n });\n }\n /**\n * Starts the scanner with the back camera otherwise take the last\n * available device.\n */\n autostartScanner(devices) {\n return __awaiter(this, void 0, void 0, function* () {\n const matcher = ({ label }) => /back|trás|rear|traseira|environment|ambiente/gi.test(label);\n // select the rear camera by default, otherwise take the last camera.\n const device = devices.find(matcher) || devices.pop();\n if (!device) {\n throw new Error('Impossible to autostart, no input devices available.');\n }\n yield this.setDevice(device);\n this.deviceChange.next(device);\n });\n }\n /**\n * Dispatches the scan success event.\n *\n * @param result the scan result.\n */\n dispatchScanSuccess(result) {\n this.scanSuccess.next(result.getText());\n }\n /**\n * Dispatches the scan failure event.\n */\n dispatchScanFailure(reason) {\n this.scanFailure.next(reason);\n }\n /**\n * Dispatches the scan error event.\n *\n * @param error the error thing.\n */\n dispatchScanError(error) {\n if (!this.scanError.observers.some(x => Boolean(x))) {\n console.error(`zxing scanner component: ${error.name}`, error);\n console.warn('Use the `(scanError)` property to handle errors like this!');\n }\n this.scanError.next(error);\n }\n /**\n * Dispatches the scan event.\n *\n * @param result the scan result.\n */\n dispatchScanComplete(result) {\n this.scanComplete.next(result);\n }\n /**\n * Returns the filtered permission.\n */\n handlePermissionException(err) {\n // failed to grant permission to video input\n console.error('@zxing/ngx-scanner', 'Error when asking for permission.', err);\n let permission;\n switch (err.name) {\n // usually caused by not secure origins\n case 'NotSupportedError':\n console.warn('@zxing/ngx-scanner', err.message);\n // could not claim\n permission = null;\n // can't check devices\n this.hasDevices.next(null);\n break;\n // user denied permission\n case 'NotAllowedError':\n console.warn('@zxing/ngx-scanner', err.message);\n // claimed and denied permission\n permission = false;\n // this means that input devices exists\n this.hasDevices.next(true);\n break;\n // the device has no attached input devices\n case 'NotFoundError':\n console.warn('@zxing/ngx-scanner', err.message);\n // no permissions claimed\n permission = null;\n // because there was no devices\n this.hasDevices.next(false);\n // tells the listener about the error\n this.camerasNotFound.next(err);\n break;\n case 'NotReadableError':\n console.warn('@zxing/ngx-scanner', 'Couldn\\'t read the device(s)\\'s stream, it\\'s probably in use by another app.');\n // no permissions claimed\n permission = null;\n // there are devices, which I couldn't use\n this.hasDevices.next(false);\n // tells the listener about the error\n this.camerasNotFound.next(err);\n break;\n default:\n console.warn('@zxing/ngx-scanner', 'I was not able to define if I have permissions for camera or not.', err);\n // unknown\n permission = null;\n // this.hasDevices.next(undefined;\n break;\n }\n this.setPermission(permission);\n // tells the listener about the error\n this.permissionResponse.error(err);\n return permission;\n }\n /**\n * Returns a valid BarcodeFormat or fails.\n */\n getBarcodeFormatOrFail(format) {\n return typeof format === 'string'\n ? BarcodeFormat[format.trim().toUpperCase()]\n : format;\n }\n /**\n * Retorna um code reader, cria um se nenhume existe.\n */\n getCodeReader() {\n if (!this._codeReader) {\n const options = {\n delayBetweenScanAttempts: this.timeBetweenScans,\n delayBetweenScanSuccess: this.delayBetweenScanSuccess,\n };\n this._codeReader = new BrowserMultiFormatContinuousReader(this.hints, options);\n }\n return this._codeReader;\n }\n /**\n * Starts the continuous scanning for the given device.\n *\n * @param deviceId The deviceId from the device.\n */\n scanFromDevice(deviceId) {\n return __awaiter(this, void 0, void 0, function* () {\n const videoElement = this.previewElemRef.nativeElement;\n const codeReader = this.getCodeReader();\n const scanStream = yield codeReader.scanFromDeviceObservable(deviceId, videoElement);\n if (!scanStream) {\n throw new Error('Undefined decoding stream, aborting.');\n }\n const next = (x) => this._onDecodeResult(x.result, x.error);\n const error = (err) => this._onDecodeError(err);\n const complete = () => { };\n this._scanSubscription = scanStream.subscribe(next, error, complete);\n if (this._scanSubscription.closed) {\n return;\n }\n const controls = codeReader.getScannerControls();\n const hasTorchControl = typeof controls.switchTorch !== 'undefined';\n this.torchCompatible.next(hasTorchControl);\n });\n }\n /**\n * Handles decode errors.\n */\n _onDecodeError(err) {\n this.dispatchScanError(err);\n // this.reset();\n }\n /**\n * Handles decode results.\n */\n _onDecodeResult(result, error) {\n if (result) {\n this.dispatchScanSuccess(result);\n }\n else {\n this.dispatchScanFailure(error);\n }\n this.dispatchScanComplete(result);\n }\n /**\n * Stops the code reader and returns the previous selected device.\n */\n _reset() {\n if (!this._codeReader) {\n return;\n }\n const device = this._device;\n // do not set this.device inside this method, it would create a recursive loop\n this.device = undefined;\n this._codeReader = undefined;\n return device;\n }\n /**\n * Resets the scanner and emits device change.\n */\n reset() {\n this._reset();\n this.deviceChange.emit(null);\n }\n /**\n * Sets the current device.\n */\n setDevice(device) {\n return __awaiter(this, void 0, void 0, function* () {\n // instantly stops the scan before changing devices\n this.scanStop();\n // correctly sets the new (or none) device\n this._device = device || undefined;\n if (!this._device) {\n // cleans the video because user removed the device\n BrowserCodeReader.cleanVideoSource(this.previewElemRef.nativeElement);\n }\n // if enabled, starts scanning\n if (this._enabled && device) {\n yield this.scanFromDevice(device.deviceId);\n }\n });\n }\n /**\n * Sets the permission value and emmits the event.\n */\n setPermission(hasPermission) {\n this.hasPermission = hasPermission;\n this.permissionResponse.next(hasPermission);\n }\n}\nZXingScannerComponent.ɵfac = function ZXingScannerComponent_Factory(t) { return new (t || ZXingScannerComponent)(); };\nZXingScannerComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: ZXingScannerComponent, selectors: [[\"zxing-scanner\"]], viewQuery: function ZXingScannerComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 7);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.previewElemRef = _t.first);\n } }, inputs: { timeBetweenScans: \"timeBetweenScans\", delayBetweenScanSuccess: \"delayBetweenScanSuccess\", previewFitMode: \"previewFitMode\", autofocusEnabled: \"autofocusEnabled\", autostart: \"autostart\", formats: \"formats\", device: \"device\", videoConstraints: \"videoConstraints\", torch: \"torch\", enable: \"enable\", tryHarder: \"tryHarder\" }, outputs: { autostarted: \"autostarted\", autostarting: \"autostarting\", torchCompatible: \"torchCompatible\", scanSuccess: \"scanSuccess\", scanFailure: \"scanFailure\", scanError: \"scanError\", scanComplete: \"scanComplete\", camerasFound: \"camerasFound\", camerasNotFound: \"camerasNotFound\", permissionResponse: \"permissionResponse\", hasDevices: \"hasDevices\", deviceChange: \"deviceChange\" }, decls: 6, vars: 2, consts: [[\"preview\", \"\"]], template: function ZXingScannerComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"video\", null, 0);\n ɵngcc0.ɵɵelementStart(2, \"p\");\n ɵngcc0.ɵɵtext(3, \" Your browser does not support this feature, please try to upgrade it. \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(4, \"p\");\n ɵngcc0.ɵɵtext(5, \" Seu navegador n\\u00E3o suporta este recurso, por favor tente atualiz\\u00E1-lo. \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵstyleProp(\"object-fit\", ctx.previewFitMode);\n } }, styles: [\"[_nghost-%COMP%]{display:block}video[_ngcontent-%COMP%]{width:100%;height:auto;object-fit:contain}\"], changeDetection: 0 });\nZXingScannerComponent.ctorParameters = () => [];\nZXingScannerComponent.propDecorators = {\n previewElemRef: [{ type: ViewChild, args: ['preview', { static: true },] }],\n autofocusEnabled: [{ type: Input }],\n timeBetweenScans: [{ type: Input }],\n delayBetweenScanSuccess: [{ type: Input }],\n autostarted: [{ type: Output }],\n autostarting: [{ type: Output }],\n autostart: [{ type: Input }],\n previewFitMode: [{ type: Input }],\n torchCompatible: [{ type: Output }],\n scanSuccess: [{ type: Output }],\n scanFailure: [{ type: Output }],\n scanError: [{ type: Output }],\n scanComplete: [{ type: Output }],\n camerasFound: [{ type: Output }],\n camerasNotFound: [{ type: Output }],\n permissionResponse: [{ type: Output }],\n hasDevices: [{ type: Output }],\n device: [{ type: Input }],\n deviceChange: [{ type: Output }],\n formats: [{ type: Input }],\n videoConstraints: [{ type: Input }],\n torch: [{ type: Input }],\n enable: [{ type: Input }],\n tryHarder: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ZXingScannerComponent, [{\n type: Component,\n args: [{\n selector: 'zxing-scanner',\n template: \"

    \\n Your browser does not support this feature, please try to upgrade it.\\n

    \\n

    \\n Seu navegador n\\u00E3o suporta este recurso, por favor tente atualiz\\u00E1-lo.\\n

    \\n\\n\",\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\":host{display:block}video{width:100%;height:auto;object-fit:contain}\\n\"]\n }]\n }], function () { return []; }, { timeBetweenScans: [{\n type: Input\n }], delayBetweenScanSuccess: [{\n type: Input\n }], previewFitMode: [{\n type: Input\n }], autostarted: [{\n type: Output\n }], autostarting: [{\n type: Output\n }], torchCompatible: [{\n type: Output\n }], scanSuccess: [{\n type: Output\n }], scanFailure: [{\n type: Output\n }], scanError: [{\n type: Output\n }], scanComplete: [{\n type: Output\n }], camerasFound: [{\n type: Output\n }], camerasNotFound: [{\n type: Output\n }], permissionResponse: [{\n type: Output\n }], hasDevices: [{\n type: Output\n }], deviceChange: [{\n type: Output\n }], autofocusEnabled: [{\n type: Input\n }], autostart: [{\n type: Input\n }], formats: [{\n type: Input\n }], device: [{\n type: Input\n }], videoConstraints: [{\n type: Input\n }], torch: [{\n type: Input\n }], enable: [{\n type: Input\n }], tryHarder: [{\n type: Input\n }], previewElemRef: [{\n type: ViewChild,\n args: ['preview', { static: true }]\n }] }); })();\n\nclass ZXingScannerModule {\n}\nZXingScannerModule.ɵfac = function ZXingScannerModule_Factory(t) { return new (t || ZXingScannerModule)(); };\nZXingScannerModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: ZXingScannerModule });\nZXingScannerModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[\n CommonModule,\n FormsModule\n ]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ZXingScannerModule, [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n FormsModule\n ],\n declarations: [ZXingScannerComponent],\n exports: [ZXingScannerComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ZXingScannerModule, { declarations: function () { return [ZXingScannerComponent]; }, imports: function () { return [CommonModule,\n FormsModule]; }, exports: function () { return [ZXingScannerComponent]; } }); })();\n\n/*\n * Public API Surface of zxing-scanner\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ZXingScannerComponent, ZXingScannerModule };\n\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1)\n var proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n var buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n var valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n var b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(\n value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n )\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n var length = byteLength(string, encoding) | 0\n var buf = createBuffer(length)\n\n var actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n var buf = createBuffer(length)\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n var copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n var buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n var buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n Buffer.from(buf).copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n var len = string.length\n var mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n var strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (var i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n var len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nvar hexSliceLookupTable = (function () {\n var alphabet = '0123456789abcdef'\n var table = new Array(256)\n for (var i = 0; i < 16; ++i) {\n var i16 = i * 16\n for (var j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n","const defaultOptions = [\r\n {\r\n id: 0,\r\n value: \"Too weak\",\r\n minDiversity: 0,\r\n minLength: 0\r\n },\r\n {\r\n id: 1,\r\n value: \"Weak\",\r\n minDiversity: 2,\r\n minLength: 6\r\n },\r\n {\r\n id: 2,\r\n value: \"Medium\",\r\n minDiversity: 4,\r\n minLength: 8\r\n },\r\n {\r\n id: 3,\r\n value: \"Strong\",\r\n minDiversity: 4,\r\n minLength: 10\r\n }\r\n]\r\n\r\nconst escapeRegExp = (string) => string.replace(/[-.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\r\n\r\nconst passwordStrength = (password, options = defaultOptions, allowedSymbols=\"!@#$%^&*\") => {\r\n \r\n let passwordCopy = password || ''\r\n\r\n options[0].minDiversity = 0,\r\n options[0].minLength = 0\r\n\r\n const rules = [\r\n {\r\n regex: \"[a-z]\",\r\n message: 'lowercase'\r\n },\r\n {\r\n regex: '[A-Z]',\r\n message: 'uppercase'\r\n },\r\n {\r\n regex: '[0-9]',\r\n message: 'number'\r\n },\r\n ]\r\n\r\n if (allowedSymbols) {\r\n rules.push({\r\n regex: `[${escapeRegExp(allowedSymbols)}]`,\r\n message: 'symbol'\r\n })\r\n }\r\n\r\n let strength = {}\r\n\r\n strength.contains = rules\r\n .filter(rule => new RegExp(`${rule.regex}`).test(passwordCopy))\r\n .map(rule => rule.message)\r\n\r\n strength.length = passwordCopy.length;\r\n\r\n let fulfilledOptions = options\r\n .filter(option => strength.contains.length >= option.minDiversity)\r\n .filter(option => strength.length >= option.minLength)\r\n .sort((o1, o2) => o2.id - o1.id)\r\n .map(option => ({id: option.id, value: option.value}))\r\n\r\n Object.assign(strength, fulfilledOptions[0])\r\n\r\n return strength;\r\n};\r\n\r\nmodule.exports = { passwordStrength, defaultOptions }","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$EOF = 0;\nexports.$TAB = 9;\nexports.$LF = 10;\nexports.$VTAB = 11;\nexports.$FF = 12;\nexports.$CR = 13;\nexports.$SPACE = 32;\nexports.$BANG = 33;\nexports.$DQ = 34;\nexports.$HASH = 35;\nexports.$$ = 36;\nexports.$PERCENT = 37;\nexports.$AMPERSAND = 38;\nexports.$SQ = 39;\nexports.$LPAREN = 40;\nexports.$RPAREN = 41;\nexports.$STAR = 42;\nexports.$PLUS = 43;\nexports.$COMMA = 44;\nexports.$MINUS = 45;\nexports.$PERIOD = 46;\nexports.$SLASH = 47;\nexports.$COLON = 58;\nexports.$SEMICOLON = 59;\nexports.$LT = 60;\nexports.$EQ = 61;\nexports.$GT = 62;\nexports.$QUESTION = 63;\nexports.$0 = 48;\nexports.$9 = 57;\nexports.$A = 65;\nexports.$E = 69;\nexports.$F = 70;\nexports.$X = 88;\nexports.$Z = 90;\nexports.$LBRACKET = 91;\nexports.$BACKSLASH = 92;\nexports.$RBRACKET = 93;\nexports.$CARET = 94;\nexports.$_ = 95;\nexports.$a = 97;\nexports.$e = 101;\nexports.$f = 102;\nexports.$n = 110;\nexports.$r = 114;\nexports.$t = 116;\nexports.$u = 117;\nexports.$v = 118;\nexports.$x = 120;\nexports.$z = 122;\nexports.$LBRACE = 123;\nexports.$BAR = 124;\nexports.$RBRACE = 125;\nexports.$NBSP = 160;\nexports.$PIPE = 124;\nexports.$TILDA = 126;\nexports.$AT = 64;\nexports.$BT = 96;\nfunction isWhitespace(code) {\n return (code >= exports.$TAB && code <= exports.$SPACE) || code === exports.$NBSP;\n}\nexports.isWhitespace = isWhitespace;\nfunction isDigit(code) {\n return exports.$0 <= code && code <= exports.$9;\n}\nexports.isDigit = isDigit;\nfunction isAsciiLetter(code) {\n return (code >= exports.$a && code <= exports.$z) || (code >= exports.$A && code <= exports.$Z);\n}\nexports.isAsciiLetter = isAsciiLetter;\nfunction isAsciiHexDigit(code) {\n return (code >= exports.$a && code <= exports.$f) || (code >= exports.$A && code <= exports.$F) || isDigit(code);\n}\nexports.isAsciiHexDigit = isAsciiHexDigit;\n",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\t /*\n\t * Local polyfil of Object.create\n\t */\n\t var create = Object.create || (function () {\n\t function F() {};\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }())\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var i = 0; i < thatSigBytes; i += 4) {\n\t thisWords[(thisSigBytes + i) >>> 2] = thatWords[i >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t var r = (function (m_w) {\n\t var m_w = m_w;\n\t var m_z = 0x3ade68b1;\n\t var mask = 0xffffffff;\n\n\t return function () {\n\t m_z = (0x9069 * (m_z & 0xFFFF) + (m_z >> 0x10)) & mask;\n\t m_w = (0x4650 * (m_w & 0xFFFF) + (m_w >> 0x10)) & mask;\n\t var result = ((m_z << 0x10) + m_w) & mask;\n\t result /= 0x100000000;\n\t result += 0.5;\n\t return result * (Math.random() > .5 ? 1 : -1);\n\t }\n\t });\n\n\t for (var i = 0, rcache; i < nBytes; i += 4) {\n\t var _r = r((rcache || Math.random()) * 0x100000000);\n\n\t rcache = _r() * 0x3ade67b7;\n\t words.push((_r() * 0x100000000) | 0);\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t var processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-1 hash algorithm.\n\t */\n\t var SHA1 = C_algo.SHA1 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init([\n\t 0x67452301, 0xefcdab89,\n\t 0x98badcfe, 0x10325476,\n\t 0xc3d2e1f0\n\t ]);\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\n\t // Computation\n\t for (var i = 0; i < 80; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\n\t W[i] = (n << 1) | (n >>> 31);\n\t }\n\n\t var t = ((a << 5) | (a >>> 27)) + e + W[i];\n\t if (i < 20) {\n\t t += ((b & c) | (~b & d)) + 0x5a827999;\n\t } else if (i < 40) {\n\t t += (b ^ c ^ d) + 0x6ed9eba1;\n\t } else if (i < 60) {\n\t t += ((b & c) | (b & d) | (c & d)) - 0x70e44324;\n\t } else /* if (i < 80) */ {\n\t t += (b ^ c ^ d) - 0x359d3e2a;\n\t }\n\n\t e = d;\n\t d = c;\n\t c = (b << 30) | (b >>> 2);\n\t b = a;\n\t a = t;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA1('message');\n\t * var hash = CryptoJS.SHA1(wordArray);\n\t */\n\t C.SHA1 = Hasher._createHelper(SHA1);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA1(message, key);\n\t */\n\t C.HmacSHA1 = Hasher._createHmacHelper(SHA1);\n\t}());\n\n\n\treturn CryptoJS.SHA1;\n\n}));","module.exports = function deepFreeze (o) {\n Object.freeze(o);\n\n var oIsFunction = typeof o === \"function\";\n var hasOwnProp = Object.prototype.hasOwnProperty;\n\n Object.getOwnPropertyNames(o).forEach(function (prop) {\n if (hasOwnProp.call(o, prop)\n && (oIsFunction ? prop !== 'caller' && prop !== 'callee' && prop !== 'arguments' : true )\n && o[prop] !== null\n && (typeof o[prop] === \"object\" || typeof o[prop] === \"function\")\n && !Object.isFrozen(o[prop])) {\n deepFreeze(o[prop]);\n }\n });\n \n return o;\n};\n","'use strict';\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin \n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n","'use strict'\n\nmodule.exports = function encodeUtf8 (input) {\n var result = []\n var size = input.length\n\n for (var index = 0; index < size; index++) {\n var point = input.charCodeAt(index)\n\n if (point >= 0xD800 && point <= 0xDBFF && size > index + 1) {\n var second = input.charCodeAt(index + 1)\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n point = (point - 0xD800) * 0x400 + second - 0xDC00 + 0x10000\n index += 1\n }\n }\n\n // US-ASCII\n if (point < 0x80) {\n result.push(point)\n continue\n }\n\n // 2-byte UTF-8\n if (point < 0x800) {\n result.push((point >> 6) | 192)\n result.push((point & 63) | 128)\n continue\n }\n\n // 3-byte UTF-8\n if (point < 0xD800 || (point >= 0xE000 && point < 0x10000)) {\n result.push((point >> 12) | 224)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // 4-byte UTF-8\n if (point >= 0x10000 && point <= 0x10FFFF) {\n result.push((point >> 18) | 240)\n result.push(((point >> 12) & 63) | 128)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // Invalid character\n result.push(0xEF, 0xBF, 0xBD)\n }\n\n return new Uint8Array(result).buffer\n}\n","(function() {\n\n var debug = false;\n\n var root = this;\n\n var EXIF = function(obj) {\n if (obj instanceof EXIF) return obj;\n if (!(this instanceof EXIF)) return new EXIF(obj);\n this.EXIFwrapped = obj;\n };\n\n if (typeof exports !== 'undefined') {\n if (typeof module !== 'undefined' && module.exports) {\n exports = module.exports = EXIF;\n }\n exports.EXIF = EXIF;\n } else {\n root.EXIF = EXIF;\n }\n\n var ExifTags = EXIF.Tags = {\n\n // version tags\n 0x9000 : \"ExifVersion\", // EXIF version\n 0xA000 : \"FlashpixVersion\", // Flashpix format version\n\n // colorspace tags\n 0xA001 : \"ColorSpace\", // Color space information tag\n\n // image configuration\n 0xA002 : \"PixelXDimension\", // Valid width of meaningful image\n 0xA003 : \"PixelYDimension\", // Valid height of meaningful image\n 0x9101 : \"ComponentsConfiguration\", // Information about channels\n 0x9102 : \"CompressedBitsPerPixel\", // Compressed bits per pixel\n\n // user information\n 0x927C : \"MakerNote\", // Any desired information written by the manufacturer\n 0x9286 : \"UserComment\", // Comments by user\n\n // related file\n 0xA004 : \"RelatedSoundFile\", // Name of related sound file\n\n // date and time\n 0x9003 : \"DateTimeOriginal\", // Date and time when the original image was generated\n 0x9004 : \"DateTimeDigitized\", // Date and time when the image was stored digitally\n 0x9290 : \"SubsecTime\", // Fractions of seconds for DateTime\n 0x9291 : \"SubsecTimeOriginal\", // Fractions of seconds for DateTimeOriginal\n 0x9292 : \"SubsecTimeDigitized\", // Fractions of seconds for DateTimeDigitized\n\n // picture-taking conditions\n 0x829A : \"ExposureTime\", // Exposure time (in seconds)\n 0x829D : \"FNumber\", // F number\n 0x8822 : \"ExposureProgram\", // Exposure program\n 0x8824 : \"SpectralSensitivity\", // Spectral sensitivity\n 0x8827 : \"ISOSpeedRatings\", // ISO speed rating\n 0x8828 : \"OECF\", // Optoelectric conversion factor\n 0x9201 : \"ShutterSpeedValue\", // Shutter speed\n 0x9202 : \"ApertureValue\", // Lens aperture\n 0x9203 : \"BrightnessValue\", // Value of brightness\n 0x9204 : \"ExposureBias\", // Exposure bias\n 0x9205 : \"MaxApertureValue\", // Smallest F number of lens\n 0x9206 : \"SubjectDistance\", // Distance to subject in meters\n 0x9207 : \"MeteringMode\", // Metering mode\n 0x9208 : \"LightSource\", // Kind of light source\n 0x9209 : \"Flash\", // Flash status\n 0x9214 : \"SubjectArea\", // Location and area of main subject\n 0x920A : \"FocalLength\", // Focal length of the lens in mm\n 0xA20B : \"FlashEnergy\", // Strobe energy in BCPS\n 0xA20C : \"SpatialFrequencyResponse\", //\n 0xA20E : \"FocalPlaneXResolution\", // Number of pixels in width direction per FocalPlaneResolutionUnit\n 0xA20F : \"FocalPlaneYResolution\", // Number of pixels in height direction per FocalPlaneResolutionUnit\n 0xA210 : \"FocalPlaneResolutionUnit\", // Unit for measuring FocalPlaneXResolution and FocalPlaneYResolution\n 0xA214 : \"SubjectLocation\", // Location of subject in image\n 0xA215 : \"ExposureIndex\", // Exposure index selected on camera\n 0xA217 : \"SensingMethod\", // Image sensor type\n 0xA300 : \"FileSource\", // Image source (3 == DSC)\n 0xA301 : \"SceneType\", // Scene type (1 == directly photographed)\n 0xA302 : \"CFAPattern\", // Color filter array geometric pattern\n 0xA401 : \"CustomRendered\", // Special processing\n 0xA402 : \"ExposureMode\", // Exposure mode\n 0xA403 : \"WhiteBalance\", // 1 = auto white balance, 2 = manual\n 0xA404 : \"DigitalZoomRation\", // Digital zoom ratio\n 0xA405 : \"FocalLengthIn35mmFilm\", // Equivalent foacl length assuming 35mm film camera (in mm)\n 0xA406 : \"SceneCaptureType\", // Type of scene\n 0xA407 : \"GainControl\", // Degree of overall image gain adjustment\n 0xA408 : \"Contrast\", // Direction of contrast processing applied by camera\n 0xA409 : \"Saturation\", // Direction of saturation processing applied by camera\n 0xA40A : \"Sharpness\", // Direction of sharpness processing applied by camera\n 0xA40B : \"DeviceSettingDescription\", //\n 0xA40C : \"SubjectDistanceRange\", // Distance to subject\n\n // other tags\n 0xA005 : \"InteroperabilityIFDPointer\",\n 0xA420 : \"ImageUniqueID\" // Identifier assigned uniquely to each image\n };\n\n var TiffTags = EXIF.TiffTags = {\n 0x0100 : \"ImageWidth\",\n 0x0101 : \"ImageHeight\",\n 0x8769 : \"ExifIFDPointer\",\n 0x8825 : \"GPSInfoIFDPointer\",\n 0xA005 : \"InteroperabilityIFDPointer\",\n 0x0102 : \"BitsPerSample\",\n 0x0103 : \"Compression\",\n 0x0106 : \"PhotometricInterpretation\",\n 0x0112 : \"Orientation\",\n 0x0115 : \"SamplesPerPixel\",\n 0x011C : \"PlanarConfiguration\",\n 0x0212 : \"YCbCrSubSampling\",\n 0x0213 : \"YCbCrPositioning\",\n 0x011A : \"XResolution\",\n 0x011B : \"YResolution\",\n 0x0128 : \"ResolutionUnit\",\n 0x0111 : \"StripOffsets\",\n 0x0116 : \"RowsPerStrip\",\n 0x0117 : \"StripByteCounts\",\n 0x0201 : \"JPEGInterchangeFormat\",\n 0x0202 : \"JPEGInterchangeFormatLength\",\n 0x012D : \"TransferFunction\",\n 0x013E : \"WhitePoint\",\n 0x013F : \"PrimaryChromaticities\",\n 0x0211 : \"YCbCrCoefficients\",\n 0x0214 : \"ReferenceBlackWhite\",\n 0x0132 : \"DateTime\",\n 0x010E : \"ImageDescription\",\n 0x010F : \"Make\",\n 0x0110 : \"Model\",\n 0x0131 : \"Software\",\n 0x013B : \"Artist\",\n 0x8298 : \"Copyright\"\n };\n\n var GPSTags = EXIF.GPSTags = {\n 0x0000 : \"GPSVersionID\",\n 0x0001 : \"GPSLatitudeRef\",\n 0x0002 : \"GPSLatitude\",\n 0x0003 : \"GPSLongitudeRef\",\n 0x0004 : \"GPSLongitude\",\n 0x0005 : \"GPSAltitudeRef\",\n 0x0006 : \"GPSAltitude\",\n 0x0007 : \"GPSTimeStamp\",\n 0x0008 : \"GPSSatellites\",\n 0x0009 : \"GPSStatus\",\n 0x000A : \"GPSMeasureMode\",\n 0x000B : \"GPSDOP\",\n 0x000C : \"GPSSpeedRef\",\n 0x000D : \"GPSSpeed\",\n 0x000E : \"GPSTrackRef\",\n 0x000F : \"GPSTrack\",\n 0x0010 : \"GPSImgDirectionRef\",\n 0x0011 : \"GPSImgDirection\",\n 0x0012 : \"GPSMapDatum\",\n 0x0013 : \"GPSDestLatitudeRef\",\n 0x0014 : \"GPSDestLatitude\",\n 0x0015 : \"GPSDestLongitudeRef\",\n 0x0016 : \"GPSDestLongitude\",\n 0x0017 : \"GPSDestBearingRef\",\n 0x0018 : \"GPSDestBearing\",\n 0x0019 : \"GPSDestDistanceRef\",\n 0x001A : \"GPSDestDistance\",\n 0x001B : \"GPSProcessingMethod\",\n 0x001C : \"GPSAreaInformation\",\n 0x001D : \"GPSDateStamp\",\n 0x001E : \"GPSDifferential\"\n };\n\n // EXIF 2.3 Spec\n var IFD1Tags = EXIF.IFD1Tags = {\n 0x0100: \"ImageWidth\",\n 0x0101: \"ImageHeight\",\n 0x0102: \"BitsPerSample\",\n 0x0103: \"Compression\",\n 0x0106: \"PhotometricInterpretation\",\n 0x0111: \"StripOffsets\",\n 0x0112: \"Orientation\",\n 0x0115: \"SamplesPerPixel\",\n 0x0116: \"RowsPerStrip\",\n 0x0117: \"StripByteCounts\",\n 0x011A: \"XResolution\",\n 0x011B: \"YResolution\",\n 0x011C: \"PlanarConfiguration\",\n 0x0128: \"ResolutionUnit\",\n 0x0201: \"JpegIFOffset\", // When image format is JPEG, this value show offset to JPEG data stored.(aka \"ThumbnailOffset\" or \"JPEGInterchangeFormat\")\n 0x0202: \"JpegIFByteCount\", // When image format is JPEG, this value shows data size of JPEG image (aka \"ThumbnailLength\" or \"JPEGInterchangeFormatLength\")\n 0x0211: \"YCbCrCoefficients\",\n 0x0212: \"YCbCrSubSampling\",\n 0x0213: \"YCbCrPositioning\",\n 0x0214: \"ReferenceBlackWhite\"\n };\n\n var StringValues = EXIF.StringValues = {\n ExposureProgram : {\n 0 : \"Not defined\",\n 1 : \"Manual\",\n 2 : \"Normal program\",\n 3 : \"Aperture priority\",\n 4 : \"Shutter priority\",\n 5 : \"Creative program\",\n 6 : \"Action program\",\n 7 : \"Portrait mode\",\n 8 : \"Landscape mode\"\n },\n MeteringMode : {\n 0 : \"Unknown\",\n 1 : \"Average\",\n 2 : \"CenterWeightedAverage\",\n 3 : \"Spot\",\n 4 : \"MultiSpot\",\n 5 : \"Pattern\",\n 6 : \"Partial\",\n 255 : \"Other\"\n },\n LightSource : {\n 0 : \"Unknown\",\n 1 : \"Daylight\",\n 2 : \"Fluorescent\",\n 3 : \"Tungsten (incandescent light)\",\n 4 : \"Flash\",\n 9 : \"Fine weather\",\n 10 : \"Cloudy weather\",\n 11 : \"Shade\",\n 12 : \"Daylight fluorescent (D 5700 - 7100K)\",\n 13 : \"Day white fluorescent (N 4600 - 5400K)\",\n 14 : \"Cool white fluorescent (W 3900 - 4500K)\",\n 15 : \"White fluorescent (WW 3200 - 3700K)\",\n 17 : \"Standard light A\",\n 18 : \"Standard light B\",\n 19 : \"Standard light C\",\n 20 : \"D55\",\n 21 : \"D65\",\n 22 : \"D75\",\n 23 : \"D50\",\n 24 : \"ISO studio tungsten\",\n 255 : \"Other\"\n },\n Flash : {\n 0x0000 : \"Flash did not fire\",\n 0x0001 : \"Flash fired\",\n 0x0005 : \"Strobe return light not detected\",\n 0x0007 : \"Strobe return light detected\",\n 0x0009 : \"Flash fired, compulsory flash mode\",\n 0x000D : \"Flash fired, compulsory flash mode, return light not detected\",\n 0x000F : \"Flash fired, compulsory flash mode, return light detected\",\n 0x0010 : \"Flash did not fire, compulsory flash mode\",\n 0x0018 : \"Flash did not fire, auto mode\",\n 0x0019 : \"Flash fired, auto mode\",\n 0x001D : \"Flash fired, auto mode, return light not detected\",\n 0x001F : \"Flash fired, auto mode, return light detected\",\n 0x0020 : \"No flash function\",\n 0x0041 : \"Flash fired, red-eye reduction mode\",\n 0x0045 : \"Flash fired, red-eye reduction mode, return light not detected\",\n 0x0047 : \"Flash fired, red-eye reduction mode, return light detected\",\n 0x0049 : \"Flash fired, compulsory flash mode, red-eye reduction mode\",\n 0x004D : \"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected\",\n 0x004F : \"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected\",\n 0x0059 : \"Flash fired, auto mode, red-eye reduction mode\",\n 0x005D : \"Flash fired, auto mode, return light not detected, red-eye reduction mode\",\n 0x005F : \"Flash fired, auto mode, return light detected, red-eye reduction mode\"\n },\n SensingMethod : {\n 1 : \"Not defined\",\n 2 : \"One-chip color area sensor\",\n 3 : \"Two-chip color area sensor\",\n 4 : \"Three-chip color area sensor\",\n 5 : \"Color sequential area sensor\",\n 7 : \"Trilinear sensor\",\n 8 : \"Color sequential linear sensor\"\n },\n SceneCaptureType : {\n 0 : \"Standard\",\n 1 : \"Landscape\",\n 2 : \"Portrait\",\n 3 : \"Night scene\"\n },\n SceneType : {\n 1 : \"Directly photographed\"\n },\n CustomRendered : {\n 0 : \"Normal process\",\n 1 : \"Custom process\"\n },\n WhiteBalance : {\n 0 : \"Auto white balance\",\n 1 : \"Manual white balance\"\n },\n GainControl : {\n 0 : \"None\",\n 1 : \"Low gain up\",\n 2 : \"High gain up\",\n 3 : \"Low gain down\",\n 4 : \"High gain down\"\n },\n Contrast : {\n 0 : \"Normal\",\n 1 : \"Soft\",\n 2 : \"Hard\"\n },\n Saturation : {\n 0 : \"Normal\",\n 1 : \"Low saturation\",\n 2 : \"High saturation\"\n },\n Sharpness : {\n 0 : \"Normal\",\n 1 : \"Soft\",\n 2 : \"Hard\"\n },\n SubjectDistanceRange : {\n 0 : \"Unknown\",\n 1 : \"Macro\",\n 2 : \"Close view\",\n 3 : \"Distant view\"\n },\n FileSource : {\n 3 : \"DSC\"\n },\n\n Components : {\n 0 : \"\",\n 1 : \"Y\",\n 2 : \"Cb\",\n 3 : \"Cr\",\n 4 : \"R\",\n 5 : \"G\",\n 6 : \"B\"\n }\n };\n\n function addEvent(element, event, handler) {\n if (element.addEventListener) {\n element.addEventListener(event, handler, false);\n } else if (element.attachEvent) {\n element.attachEvent(\"on\" + event, handler);\n }\n }\n\n function imageHasData(img) {\n return !!(img.exifdata);\n }\n\n\n function base64ToArrayBuffer(base64, contentType) {\n contentType = contentType || base64.match(/^data\\:([^\\;]+)\\;base64,/mi)[1] || ''; // e.g. 'data:image/jpeg;base64,...' => 'image/jpeg'\n base64 = base64.replace(/^data\\:([^\\;]+)\\;base64,/gmi, '');\n var binary = atob(base64);\n var len = binary.length;\n var buffer = new ArrayBuffer(len);\n var view = new Uint8Array(buffer);\n for (var i = 0; i < len; i++) {\n view[i] = binary.charCodeAt(i);\n }\n return buffer;\n }\n\n function objectURLToBlob(url, callback) {\n var http = new XMLHttpRequest();\n http.open(\"GET\", url, true);\n http.responseType = \"blob\";\n http.onload = function(e) {\n if (this.status == 200 || this.status === 0) {\n callback(this.response);\n }\n };\n http.send();\n }\n\n function getImageData(img, callback) {\n function handleBinaryFile(binFile) {\n var data = findEXIFinJPEG(binFile);\n img.exifdata = data || {};\n var iptcdata = findIPTCinJPEG(binFile);\n img.iptcdata = iptcdata || {};\n if (EXIF.isXmpEnabled) {\n var xmpdata= findXMPinJPEG(binFile);\n img.xmpdata = xmpdata || {}; \n }\n if (callback) {\n callback.call(img);\n }\n }\n\n if (img.src) {\n if (/^data\\:/i.test(img.src)) { // Data URI\n var arrayBuffer = base64ToArrayBuffer(img.src);\n handleBinaryFile(arrayBuffer);\n\n } else if (/^blob\\:/i.test(img.src)) { // Object URL\n var fileReader = new FileReader();\n fileReader.onload = function(e) {\n handleBinaryFile(e.target.result);\n };\n objectURLToBlob(img.src, function (blob) {\n fileReader.readAsArrayBuffer(blob);\n });\n } else {\n var http = new XMLHttpRequest();\n http.onload = function() {\n if (this.status == 200 || this.status === 0) {\n handleBinaryFile(http.response);\n } else {\n throw \"Could not load image\";\n }\n http = null;\n };\n http.open(\"GET\", img.src, true);\n http.responseType = \"arraybuffer\";\n http.send(null);\n }\n } else if (self.FileReader && (img instanceof self.Blob || img instanceof self.File)) {\n var fileReader = new FileReader();\n fileReader.onload = function(e) {\n if (debug) console.log(\"Got file of length \" + e.target.result.byteLength);\n handleBinaryFile(e.target.result);\n };\n\n fileReader.readAsArrayBuffer(img);\n }\n }\n\n function findEXIFinJPEG(file) {\n var dataView = new DataView(file);\n\n if (debug) console.log(\"Got file of length \" + file.byteLength);\n if ((dataView.getUint8(0) != 0xFF) || (dataView.getUint8(1) != 0xD8)) {\n if (debug) console.log(\"Not a valid JPEG\");\n return false; // not a valid jpeg\n }\n\n var offset = 2,\n length = file.byteLength,\n marker;\n\n while (offset < length) {\n if (dataView.getUint8(offset) != 0xFF) {\n if (debug) console.log(\"Not a valid marker at offset \" + offset + \", found: \" + dataView.getUint8(offset));\n return false; // not a valid marker, something is wrong\n }\n\n marker = dataView.getUint8(offset + 1);\n if (debug) console.log(marker);\n\n // we could implement handling for other markers here,\n // but we're only looking for 0xFFE1 for EXIF data\n\n if (marker == 225) {\n if (debug) console.log(\"Found 0xFFE1 marker\");\n\n return readEXIFData(dataView, offset + 4, dataView.getUint16(offset + 2) - 2);\n\n // offset += 2 + file.getShortAt(offset+2, true);\n\n } else {\n offset += 2 + dataView.getUint16(offset+2);\n }\n\n }\n\n }\n\n function findIPTCinJPEG(file) {\n var dataView = new DataView(file);\n\n if (debug) console.log(\"Got file of length \" + file.byteLength);\n if ((dataView.getUint8(0) != 0xFF) || (dataView.getUint8(1) != 0xD8)) {\n if (debug) console.log(\"Not a valid JPEG\");\n return false; // not a valid jpeg\n }\n\n var offset = 2,\n length = file.byteLength;\n\n\n var isFieldSegmentStart = function(dataView, offset){\n return (\n dataView.getUint8(offset) === 0x38 &&\n dataView.getUint8(offset+1) === 0x42 &&\n dataView.getUint8(offset+2) === 0x49 &&\n dataView.getUint8(offset+3) === 0x4D &&\n dataView.getUint8(offset+4) === 0x04 &&\n dataView.getUint8(offset+5) === 0x04\n );\n };\n\n while (offset < length) {\n\n if ( isFieldSegmentStart(dataView, offset )){\n\n // Get the length of the name header (which is padded to an even number of bytes)\n var nameHeaderLength = dataView.getUint8(offset+7);\n if(nameHeaderLength % 2 !== 0) nameHeaderLength += 1;\n // Check for pre photoshop 6 format\n if(nameHeaderLength === 0) {\n // Always 4\n nameHeaderLength = 4;\n }\n\n var startOffset = offset + 8 + nameHeaderLength;\n var sectionLength = dataView.getUint16(offset + 6 + nameHeaderLength);\n\n return readIPTCData(file, startOffset, sectionLength);\n\n break;\n\n }\n\n\n // Not the marker, continue searching\n offset++;\n\n }\n\n }\n var IptcFieldMap = {\n 0x78 : 'caption',\n 0x6E : 'credit',\n 0x19 : 'keywords',\n 0x37 : 'dateCreated',\n 0x50 : 'byline',\n 0x55 : 'bylineTitle',\n 0x7A : 'captionWriter',\n 0x69 : 'headline',\n 0x74 : 'copyright',\n 0x0F : 'category'\n };\n function readIPTCData(file, startOffset, sectionLength){\n var dataView = new DataView(file);\n var data = {};\n var fieldValue, fieldName, dataSize, segmentType, segmentSize;\n var segmentStartPos = startOffset;\n while(segmentStartPos < startOffset+sectionLength) {\n if(dataView.getUint8(segmentStartPos) === 0x1C && dataView.getUint8(segmentStartPos+1) === 0x02){\n segmentType = dataView.getUint8(segmentStartPos+2);\n if(segmentType in IptcFieldMap) {\n dataSize = dataView.getInt16(segmentStartPos+3);\n segmentSize = dataSize + 5;\n fieldName = IptcFieldMap[segmentType];\n fieldValue = getStringFromDB(dataView, segmentStartPos+5, dataSize);\n // Check if we already stored a value with this name\n if(data.hasOwnProperty(fieldName)) {\n // Value already stored with this name, create multivalue field\n if(data[fieldName] instanceof Array) {\n data[fieldName].push(fieldValue);\n }\n else {\n data[fieldName] = [data[fieldName], fieldValue];\n }\n }\n else {\n data[fieldName] = fieldValue;\n }\n }\n\n }\n segmentStartPos++;\n }\n return data;\n }\n\n\n\n function readTags(file, tiffStart, dirStart, strings, bigEnd) {\n var entries = file.getUint16(dirStart, !bigEnd),\n tags = {},\n entryOffset, tag,\n i;\n\n for (i=0;i 4 ? valueOffset : (entryOffset + 8);\n vals = [];\n for (n=0;n 4 ? valueOffset : (entryOffset + 8);\n return getStringFromDB(file, offset, numValues-1);\n\n case 3: // short, 16 bit int\n if (numValues == 1) {\n return file.getUint16(entryOffset + 8, !bigEnd);\n } else {\n offset = numValues > 2 ? valueOffset : (entryOffset + 8);\n vals = [];\n for (n=0;n dataView.byteLength) { // this should not happen\n // console.log('******** IFD1Offset is outside the bounds of the DataView ********');\n return {};\n }\n // console.log('******* thumbnail IFD offset (IFD1) is: %s', IFD1OffsetPointer);\n\n var thumbTags = readTags(dataView, tiffStart, tiffStart + IFD1OffsetPointer, IFD1Tags, bigEnd)\n\n // EXIF 2.3 specification for JPEG format thumbnail\n\n // If the value of Compression(0x0103) Tag in IFD1 is '6', thumbnail image format is JPEG.\n // Most of Exif image uses JPEG format for thumbnail. In that case, you can get offset of thumbnail\n // by JpegIFOffset(0x0201) Tag in IFD1, size of thumbnail by JpegIFByteCount(0x0202) Tag.\n // Data format is ordinary JPEG format, starts from 0xFFD8 and ends by 0xFFD9. It seems that\n // JPEG format and 160x120pixels of size are recommended thumbnail format for Exif2.1 or later.\n\n if (thumbTags['Compression']) {\n // console.log('Thumbnail image found!');\n\n switch (thumbTags['Compression']) {\n case 6:\n // console.log('Thumbnail image format is JPEG');\n if (thumbTags.JpegIFOffset && thumbTags.JpegIFByteCount) {\n // extract the thumbnail\n var tOffset = tiffStart + thumbTags.JpegIFOffset;\n var tLength = thumbTags.JpegIFByteCount;\n thumbTags['blob'] = new Blob([new Uint8Array(dataView.buffer, tOffset, tLength)], {\n type: 'image/jpeg'\n });\n }\n break;\n\n case 1:\n console.log(\"Thumbnail image format is TIFF, which is not implemented.\");\n break;\n default:\n console.log(\"Unknown thumbnail image format '%s'\", thumbTags['Compression']);\n }\n }\n else if (thumbTags['PhotometricInterpretation'] == 2) {\n console.log(\"Thumbnail image format is RGB, which is not implemented.\");\n }\n return thumbTags;\n }\n\n function getStringFromDB(buffer, start, length) {\n var outstr = \"\";\n for (n = start; n < start+length; n++) {\n outstr += String.fromCharCode(buffer.getUint8(n));\n }\n return outstr;\n }\n\n function readEXIFData(file, start) {\n if (getStringFromDB(file, start, 4) != \"Exif\") {\n if (debug) console.log(\"Not valid EXIF data! \" + getStringFromDB(file, start, 4));\n return false;\n }\n\n var bigEnd,\n tags, tag,\n exifData, gpsData,\n tiffOffset = start + 6;\n\n // test for TIFF validity and endianness\n if (file.getUint16(tiffOffset) == 0x4949) {\n bigEnd = false;\n } else if (file.getUint16(tiffOffset) == 0x4D4D) {\n bigEnd = true;\n } else {\n if (debug) console.log(\"Not valid TIFF data! (no 0x4949 or 0x4D4D)\");\n return false;\n }\n\n if (file.getUint16(tiffOffset+2, !bigEnd) != 0x002A) {\n if (debug) console.log(\"Not valid TIFF data! (no 0x002A)\");\n return false;\n }\n\n var firstIFDOffset = file.getUint32(tiffOffset+4, !bigEnd);\n\n if (firstIFDOffset < 0x00000008) {\n if (debug) console.log(\"Not valid TIFF data! (First offset less than 8)\", file.getUint32(tiffOffset+4, !bigEnd));\n return false;\n }\n\n tags = readTags(file, tiffOffset, tiffOffset + firstIFDOffset, TiffTags, bigEnd);\n\n if (tags.ExifIFDPointer) {\n exifData = readTags(file, tiffOffset, tiffOffset + tags.ExifIFDPointer, ExifTags, bigEnd);\n for (tag in exifData) {\n switch (tag) {\n case \"LightSource\" :\n case \"Flash\" :\n case \"MeteringMode\" :\n case \"ExposureProgram\" :\n case \"SensingMethod\" :\n case \"SceneCaptureType\" :\n case \"SceneType\" :\n case \"CustomRendered\" :\n case \"WhiteBalance\" :\n case \"GainControl\" :\n case \"Contrast\" :\n case \"Saturation\" :\n case \"Sharpness\" :\n case \"SubjectDistanceRange\" :\n case \"FileSource\" :\n exifData[tag] = StringValues[tag][exifData[tag]];\n break;\n\n case \"ExifVersion\" :\n case \"FlashpixVersion\" :\n exifData[tag] = String.fromCharCode(exifData[tag][0], exifData[tag][1], exifData[tag][2], exifData[tag][3]);\n break;\n\n case \"ComponentsConfiguration\" :\n exifData[tag] =\n StringValues.Components[exifData[tag][0]] +\n StringValues.Components[exifData[tag][1]] +\n StringValues.Components[exifData[tag][2]] +\n StringValues.Components[exifData[tag][3]];\n break;\n }\n tags[tag] = exifData[tag];\n }\n }\n\n if (tags.GPSInfoIFDPointer) {\n gpsData = readTags(file, tiffOffset, tiffOffset + tags.GPSInfoIFDPointer, GPSTags, bigEnd);\n for (tag in gpsData) {\n switch (tag) {\n case \"GPSVersionID\" :\n gpsData[tag] = gpsData[tag][0] +\n \".\" + gpsData[tag][1] +\n \".\" + gpsData[tag][2] +\n \".\" + gpsData[tag][3];\n break;\n }\n tags[tag] = gpsData[tag];\n }\n }\n\n // extract thumbnail\n tags['thumbnail'] = readThumbnailImage(file, tiffOffset, firstIFDOffset, bigEnd);\n\n return tags;\n }\n\n function findXMPinJPEG(file) {\n\n if (!('DOMParser' in self)) {\n // console.warn('XML parsing not supported without DOMParser');\n return;\n }\n var dataView = new DataView(file);\n\n if (debug) console.log(\"Got file of length \" + file.byteLength);\n if ((dataView.getUint8(0) != 0xFF) || (dataView.getUint8(1) != 0xD8)) {\n if (debug) console.log(\"Not a valid JPEG\");\n return false; // not a valid jpeg\n }\n\n var offset = 2,\n length = file.byteLength,\n dom = new DOMParser();\n\n while (offset < (length-4)) {\n if (getStringFromDB(dataView, offset, 4) == \"http\") {\n var startOffset = offset - 1;\n var sectionLength = dataView.getUint16(offset - 2) - 1;\n var xmpString = getStringFromDB(dataView, startOffset, sectionLength)\n var xmpEndIndex = xmpString.indexOf('xmpmeta>') + 8;\n xmpString = xmpString.substring( xmpString.indexOf( ' 0) {\n json['@attributes'] = {};\n for (var j = 0; j < xml.attributes.length; j++) {\n var attribute = xml.attributes.item(j);\n json['@attributes'][attribute.nodeName] = attribute.nodeValue;\n }\n }\n } else if (xml.nodeType == 3) { // text node\n return xml.nodeValue;\n }\n \n // deal with children\n if (xml.hasChildNodes()) {\n for(var i = 0; i < xml.childNodes.length; i++) {\n var child = xml.childNodes.item(i);\n var nodeName = child.nodeName;\n if (json[nodeName] == null) {\n json[nodeName] = xml2json(child);\n } else {\n if (json[nodeName].push == null) {\n var old = json[nodeName];\n json[nodeName] = [];\n json[nodeName].push(old);\n }\n json[nodeName].push(xml2json(child));\n }\n }\n }\n \n return json;\n }\n\n function xml2Object(xml) {\n try {\n var obj = {};\n if (xml.children.length > 0) {\n for (var i = 0; i < xml.children.length; i++) {\n var item = xml.children.item(i);\n var attributes = item.attributes;\n for(var idx in attributes) {\n var itemAtt = attributes[idx];\n var dataKey = itemAtt.nodeName;\n var dataValue = itemAtt.nodeValue;\n\n if(dataKey !== undefined) {\n obj[dataKey] = dataValue;\n }\n }\n var nodeName = item.nodeName;\n\n if (typeof (obj[nodeName]) == \"undefined\") {\n obj[nodeName] = xml2json(item);\n } else {\n if (typeof (obj[nodeName].push) == \"undefined\") {\n var old = obj[nodeName];\n\n obj[nodeName] = [];\n obj[nodeName].push(old);\n }\n obj[nodeName].push(xml2json(item));\n }\n }\n } else {\n obj = xml.textContent;\n }\n return obj;\n } catch (e) {\n console.log(e.message);\n }\n }\n\n EXIF.enableXmp = function() {\n EXIF.isXmpEnabled = true;\n }\n\n EXIF.disableXmp = function() {\n EXIF.isXmpEnabled = false;\n }\n\n EXIF.getData = function(img, callback) {\n if (((self.Image && img instanceof self.Image)\n || (self.HTMLImageElement && img instanceof self.HTMLImageElement))\n && !img.complete)\n return false;\n\n if (!imageHasData(img)) {\n getImageData(img, callback);\n } else {\n if (callback) {\n callback.call(img);\n }\n }\n return true;\n }\n\n EXIF.getTag = function(img, tag) {\n if (!imageHasData(img)) return;\n return img.exifdata[tag];\n }\n \n EXIF.getIptcTag = function(img, tag) {\n if (!imageHasData(img)) return;\n return img.iptcdata[tag];\n }\n\n EXIF.getAllTags = function(img) {\n if (!imageHasData(img)) return {};\n var a,\n data = img.exifdata,\n tags = {};\n for (a in data) {\n if (data.hasOwnProperty(a)) {\n tags[a] = data[a];\n }\n }\n return tags;\n }\n \n EXIF.getAllIptcTags = function(img) {\n if (!imageHasData(img)) return {};\n var a,\n data = img.iptcdata,\n tags = {};\n for (a in data) {\n if (data.hasOwnProperty(a)) {\n tags[a] = data[a];\n }\n }\n return tags;\n }\n\n EXIF.pretty = function(img) {\n if (!imageHasData(img)) return \"\";\n var a,\n data = img.exifdata,\n strPretty = \"\";\n for (a in data) {\n if (data.hasOwnProperty(a)) {\n if (typeof data[a] == \"object\") {\n if (data[a] instanceof Number) {\n strPretty += a + \" : \" + data[a] + \" [\" + data[a].numerator + \"/\" + data[a].denominator + \"]\\r\\n\";\n } else {\n strPretty += a + \" : [\" + data[a].length + \" values]\\r\\n\";\n }\n } else {\n strPretty += a + \" : \" + data[a] + \"\\r\\n\";\n }\n }\n }\n return strPretty;\n }\n\n EXIF.readFromBinaryFile = function(file) {\n return findEXIFinJPEG(file);\n }\n\n if (typeof define === 'function' && define.amd) {\n define('exif-js', [], function() {\n return EXIF;\n });\n }\n}.call(this));\n\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/*! Copyright (c) 2011 Piotr Rochala (http://rocha.la)\n * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)\n * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.\n *\n * Version: 1.3.8\n *\n */\n(function($) {\n\n $.fn.extend({\n slimScroll: function(options) {\n\n var defaults = {\n\n // width in pixels of the visible scroll area\n width : 'auto',\n\n // height in pixels of the visible scroll area\n height : '250px',\n\n // width in pixels of the scrollbar and rail\n size : '7px',\n\n // scrollbar color, accepts any hex/color value\n color: '#000',\n\n // scrollbar position - left/right\n position : 'right',\n\n // distance in pixels between the side edge and the scrollbar\n distance : '1px',\n\n // default scroll position on load - top / bottom / $('selector')\n start : 'top',\n\n // sets scrollbar opacity\n opacity : .4,\n\n // enables always-on mode for the scrollbar\n alwaysVisible : false,\n\n // check if we should hide the scrollbar when user is hovering over\n disableFadeOut : false,\n\n // sets visibility of the rail\n railVisible : false,\n\n // sets rail color\n railColor : '#333',\n\n // sets rail opacity\n railOpacity : .2,\n\n // whether we should use jQuery UI Draggable to enable bar dragging\n railDraggable : true,\n\n // defautlt CSS class of the slimscroll rail\n railClass : 'slimScrollRail',\n\n // defautlt CSS class of the slimscroll bar\n barClass : 'slimScrollBar',\n\n // defautlt CSS class of the slimscroll wrapper\n wrapperClass : 'slimScrollDiv',\n\n // check if mousewheel should scroll the window if we reach top/bottom\n allowPageScroll : false,\n\n // scroll amount applied to each mouse wheel step\n wheelStep : 20,\n\n // scroll amount applied when user is using gestures\n touchScrollStep : 200,\n\n // sets border radius\n borderRadius: '7px',\n\n // sets border radius of the rail\n railBorderRadius : '7px'\n };\n\n var o = $.extend(defaults, options);\n\n // do it for every element that matches selector\n this.each(function(){\n\n var isOverPanel, isOverBar, isDragg, queueHide, touchDif,\n barHeight, percentScroll, lastScroll,\n divS = '
    ',\n minBarHeight = 30,\n releaseScroll = false;\n\n // used in event handlers and for better minification\n var me = $(this);\n\n // ensure we are not binding it again\n if (me.parent().hasClass(o.wrapperClass))\n {\n // start from last bar position\n var offset = me.scrollTop();\n\n // find bar and rail\n bar = me.siblings('.' + o.barClass);\n rail = me.siblings('.' + o.railClass);\n\n getBarHeight();\n\n // check if we should scroll existing instance\n if ($.isPlainObject(options))\n {\n // Pass height: auto to an existing slimscroll object to force a resize after contents have changed\n if ( 'height' in options && options.height == 'auto' ) {\n me.parent().css('height', 'auto');\n me.css('height', 'auto');\n var height = me.parent().parent().height();\n me.parent().css('height', height);\n me.css('height', height);\n } else if ('height' in options) {\n var h = options.height;\n me.parent().css('height', h);\n me.css('height', h);\n }\n\n if ('scrollTo' in options)\n {\n // jump to a static point\n offset = parseInt(o.scrollTo);\n }\n else if ('scrollBy' in options)\n {\n // jump by value pixels\n offset += parseInt(o.scrollBy);\n }\n else if ('destroy' in options)\n {\n // remove slimscroll elements\n bar.remove();\n rail.remove();\n me.unwrap();\n return;\n }\n\n // scroll content by the given offset\n scrollContent(offset, false, true);\n }\n\n return;\n }\n else if ($.isPlainObject(options))\n {\n if ('destroy' in options)\n {\n \treturn;\n }\n }\n\n // optionally set height to the parent's height\n o.height = (o.height == 'auto') ? me.parent().height() : o.height;\n\n // wrap content\n var wrapper = $(divS)\n .addClass(o.wrapperClass)\n .css({\n position: 'relative',\n overflow: 'hidden',\n width: o.width,\n height: o.height\n });\n\n // update style for the div\n me.css({\n overflow: 'hidden',\n width: o.width,\n height: o.height\n });\n\n // create scrollbar rail\n var rail = $(divS)\n .addClass(o.railClass)\n .css({\n width: o.size,\n height: '100%',\n position: 'absolute',\n top: 0,\n display: (o.alwaysVisible && o.railVisible) ? 'block' : 'none',\n 'border-radius': o.railBorderRadius,\n background: o.railColor,\n opacity: o.railOpacity,\n zIndex: 90\n });\n\n // create scrollbar\n var bar = $(divS)\n .addClass(o.barClass)\n .css({\n background: o.color,\n width: o.size,\n position: 'absolute',\n top: 0,\n opacity: o.opacity,\n display: o.alwaysVisible ? 'block' : 'none',\n 'border-radius' : o.borderRadius,\n BorderRadius: o.borderRadius,\n MozBorderRadius: o.borderRadius,\n WebkitBorderRadius: o.borderRadius,\n zIndex: 99\n });\n\n // set position\n var posCss = (o.position == 'right') ? { right: o.distance } : { left: o.distance };\n rail.css(posCss);\n bar.css(posCss);\n\n // wrap it\n me.wrap(wrapper);\n\n // append to parent div\n me.parent().append(bar);\n me.parent().append(rail);\n\n // make it draggable and no longer dependent on the jqueryUI\n if (o.railDraggable){\n bar.bind(\"mousedown\", function(e) {\n var $doc = $(document);\n isDragg = true;\n t = parseFloat(bar.css('top'));\n pageY = e.pageY;\n\n $doc.bind(\"mousemove.slimscroll\", function(e){\n currTop = t + e.pageY - pageY;\n bar.css('top', currTop);\n scrollContent(0, bar.position().top, false);// scroll content\n });\n\n $doc.bind(\"mouseup.slimscroll\", function(e) {\n isDragg = false;hideBar();\n $doc.unbind('.slimscroll');\n });\n return false;\n }).bind(\"selectstart.slimscroll\", function(e){\n e.stopPropagation();\n e.preventDefault();\n return false;\n });\n }\n\n // on rail over\n rail.hover(function(){\n showBar();\n }, function(){\n hideBar();\n });\n\n // on bar over\n bar.hover(function(){\n isOverBar = true;\n }, function(){\n isOverBar = false;\n });\n\n // show on parent mouseover\n me.hover(function(){\n isOverPanel = true;\n showBar();\n hideBar();\n }, function(){\n isOverPanel = false;\n hideBar();\n });\n\n // support for mobile\n me.bind('touchstart', function(e,b){\n if (e.originalEvent.touches.length)\n {\n // record where touch started\n touchDif = e.originalEvent.touches[0].pageY;\n }\n });\n\n me.bind('touchmove', function(e){\n // prevent scrolling the page if necessary\n if(!releaseScroll)\n {\n \t\t e.originalEvent.preventDefault();\n\t\t }\n if (e.originalEvent.touches.length)\n {\n // see how far user swiped\n var diff = (touchDif - e.originalEvent.touches[0].pageY) / o.touchScrollStep;\n // scroll content\n scrollContent(diff, true);\n touchDif = e.originalEvent.touches[0].pageY;\n }\n });\n\n // set up initial height\n getBarHeight();\n\n // check start position\n if (o.start === 'bottom')\n {\n // scroll content to bottom\n bar.css({ top: me.outerHeight() - bar.outerHeight() });\n scrollContent(0, true);\n }\n else if (o.start !== 'top')\n {\n // assume jQuery selector\n scrollContent($(o.start).position().top, null, true);\n\n // make sure bar stays hidden\n if (!o.alwaysVisible) { bar.hide(); }\n }\n\n // attach scroll events\n attachWheel(this);\n\n function _onWheel(e)\n {\n // use mouse wheel only when mouse is over\n if (!isOverPanel) { return; }\n\n var e = e || window.event;\n\n var delta = 0;\n if (e.wheelDelta) { delta = -e.wheelDelta/120; }\n if (e.detail) { delta = e.detail / 3; }\n\n var target = e.target || e.srcTarget || e.srcElement;\n if ($(target).closest('.' + o.wrapperClass).is(me.parent())) {\n // scroll content\n scrollContent(delta, true);\n }\n\n // stop window scroll\n if (e.preventDefault && !releaseScroll) { e.preventDefault(); }\n if (!releaseScroll) { e.returnValue = false; }\n }\n\n function scrollContent(y, isWheel, isJump)\n {\n releaseScroll = false;\n var delta = y;\n var maxTop = me.outerHeight() - bar.outerHeight();\n\n if (isWheel)\n {\n // move bar with mouse wheel\n delta = parseInt(bar.css('top')) + y * parseInt(o.wheelStep) / 100 * bar.outerHeight();\n\n // move bar, make sure it doesn't go out\n delta = Math.min(Math.max(delta, 0), maxTop);\n\n // if scrolling down, make sure a fractional change to the\n // scroll position isn't rounded away when the scrollbar's CSS is set\n // this flooring of delta would happened automatically when\n // bar.css is set below, but we floor here for clarity\n delta = (y > 0) ? Math.ceil(delta) : Math.floor(delta);\n\n // scroll the scrollbar\n bar.css({ top: delta + 'px' });\n }\n\n // calculate actual scroll amount\n percentScroll = parseInt(bar.css('top')) / (me.outerHeight() - bar.outerHeight());\n delta = percentScroll * (me[0].scrollHeight - me.outerHeight());\n\n if (isJump)\n {\n delta = y;\n var offsetTop = delta / me[0].scrollHeight * me.outerHeight();\n offsetTop = Math.min(Math.max(offsetTop, 0), maxTop);\n bar.css({ top: offsetTop + 'px' });\n }\n\n // scroll content\n me.scrollTop(delta);\n\n // fire scrolling event\n me.trigger('slimscrolling', ~~delta);\n\n // ensure bar is visible\n showBar();\n\n // trigger hide when scroll is stopped\n hideBar();\n }\n\n function attachWheel(target)\n {\n if (window.addEventListener)\n {\n target.addEventListener('DOMMouseScroll', _onWheel, false );\n target.addEventListener('mousewheel', _onWheel, false );\n }\n else\n {\n document.attachEvent(\"onmousewheel\", _onWheel)\n }\n }\n\n function getBarHeight()\n {\n // calculate scrollbar height and make sure it is not too small\n barHeight = Math.max((me.outerHeight() / me[0].scrollHeight) * me.outerHeight(), minBarHeight);\n bar.css({ height: barHeight + 'px' });\n\n // hide scrollbar if content is not long enough\n var display = barHeight == me.outerHeight() ? 'none' : 'block';\n bar.css({ display: display });\n }\n\n function showBar()\n {\n // recalculate bar height\n getBarHeight();\n clearTimeout(queueHide);\n\n // when bar reached top or bottom\n if (percentScroll == ~~percentScroll)\n {\n //release wheel\n releaseScroll = o.allowPageScroll;\n\n // publish approporiate event\n if (lastScroll != percentScroll)\n {\n var msg = (~~percentScroll == 0) ? 'top' : 'bottom';\n me.trigger('slimscroll', msg);\n }\n }\n else\n {\n releaseScroll = false;\n }\n lastScroll = percentScroll;\n\n // show only when required\n if(barHeight >= me.outerHeight()) {\n //allow window scroll\n releaseScroll = true;\n return;\n }\n bar.stop(true,true).fadeIn('fast');\n if (o.railVisible) { rail.stop(true,true).fadeIn('fast'); }\n }\n\n function hideBar()\n {\n // only hide when options allow it\n if (!o.alwaysVisible)\n {\n queueHide = setTimeout(function(){\n if (!(o.disableFadeOut && isOverPanel) && !isOverBar && !isDragg)\n {\n bar.fadeOut('slow');\n rail.fadeOut('slow');\n }\n }, 1000);\n }\n }\n\n });\n\n // maintain chainability\n return this;\n }\n });\n\n $.fn.extend({\n slimscroll: $.fn.slimScroll\n });\n\n})(jQuery);\n","/*!\n * jQuery JavaScript Library v3.6.0\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-03-02T17:08Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar flat = arr.flat ? function( array ) {\n\treturn arr.flat.call( array );\n} : function( array ) {\n\treturn arr.concat.apply( [], array );\n};\n\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n\t\t// Support: Chrome <=57, Firefox <=52\n\t\t// In some browsers, typeof returns \"function\" for HTML elements\n\t\t// (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n\t\t// We don't want to classify *any* DOM node as a function.\n\t\t// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\n\t\t// Plus for old WebKit, typeof returns \"function\" for HTML collections\n\t\t// (e.g., `typeof document.getElementsByTagName(\"div\") === \"function\"`). (gh-4756)\n\t\treturn typeof obj === \"function\" && typeof obj.nodeType !== \"number\" &&\n\t\t\ttypeof obj.item !== \"function\";\n\t};\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t};\n\n\nvar document = window.document;\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnonce: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, node, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar i, val,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\n\t\t\t\t// Support: Firefox 64+, Edge 18+\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\n\t\t\t\t// becomes browsing-context connected.\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\n\t\t\t\t// via an object.\n\t\t\t\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\n\t\t\t\tif ( val ) {\n\t\t\t\t\tscript.setAttribute( i, val );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n\n\nfunction toType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\t// Support: Android <=2.3 only (functionish RegExp)\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\n\n\n\nvar\n\tversion = \"3.6.0\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\n\t\t// Return all the elements in a clean array\n\t\tif ( num == null ) {\n\t\t\treturn slice.call( this );\n\t\t}\n\n\t\t// Return just the one element from the set\n\t\treturn num < 0 ? this[ num + this.length ] : this[ num ];\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teven: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn ( i + 1 ) % 2;\n\t\t} ) );\n\t},\n\n\todd: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn i % 2;\n\t\t} ) );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent Object.prototype pollution\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\n\t\t\t\t\tsrc = target[ name ];\n\n\t\t\t\t\t// Ensure proper type for the source value\n\t\t\t\t\tif ( copyIsArray && !Array.isArray( src ) ) {\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {\n\t\t\t\t\t\tclone = {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src;\n\t\t\t\t\t}\n\t\t\t\t\tcopyIsArray = false;\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisPlainObject: function( obj ) {\n\t\tvar proto, Ctor;\n\n\t\t// Detect obvious negatives\n\t\t// Use toString instead of jQuery.type to catch host objects\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tproto = getProto( obj );\n\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\tif ( !proto ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Objects with prototype are plain iff they were constructed by a global Object function\n\t\tCtor = hasOwn.call( proto, \"constructor\" ) && proto.constructor;\n\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\t// Evaluates a script in a provided context; falls back to the global one\n\t// if not specified.\n\tglobalEval: function( code, options, doc ) {\n\t\tDOMEval( code, { nonce: options && options.nonce }, doc );\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t// push.apply(_, arraylike) throws on ancient WebKit\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn flat( ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\n\tfunction( _i, name ) {\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n\t} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: real iOS 8.2 only (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = toType( obj );\n\n\tif ( isFunction( obj ) || isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.3.6\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://js.foundation/\n *\n * Date: 2021-02-16\n */\n( function( window ) {\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tnonnativeSelectorCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// Instance methods\n\thasOwn = ( {} ).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpushNative = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\n\t// Use a stripped-down indexOf as it's faster than native\n\t// https://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[ i ] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|\" +\n\t\t\"ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n\tidentifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\n\t\t\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\n\t\t// \"Attribute values must be CSS identifiers [capture 5]\n\t\t// or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" +\n\t\twhitespace + \"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" +\n\t\twhitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace +\n\t\t\"*\" ),\n\trdescend = new RegExp( whitespace + \"|>\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" +\n\t\t\twhitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" +\n\t\t\twhitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace +\n\t\t\t\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace +\n\t\t\t\"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trhtml = /HTML$/i,\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\n\t// CSS escapes\n\t// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace + \"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\" ),\n\tfunescape = function( escape, nonHex ) {\n\t\tvar high = \"0x\" + escape.slice( 1 ) - 0x10000;\n\n\t\treturn nonHex ?\n\n\t\t\t// Strip the backslash prefix from a non-hex escape sequence\n\t\t\tnonHex :\n\n\t\t\t// Replace a hexadecimal escape sequence with the encoded Unicode code point\n\t\t\t// Support: IE <=11+\n\t\t\t// For values outside the Basic Multilingual Plane (BMP), manually construct a\n\t\t\t// surrogate pair\n\t\t\thigh < 0 ?\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// CSS string/identifier serialization\n\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\n\trcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,\n\tfcssescape = function( ch, asCodePoint ) {\n\t\tif ( asCodePoint ) {\n\n\t\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\t\tif ( ch === \"\\0\" ) {\n\t\t\t\treturn \"\\uFFFD\";\n\t\t\t}\n\n\t\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\t\treturn ch.slice( 0, -1 ) + \"\\\\\" +\n\t\t\t\tch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t\t}\n\n\t\t// Other potentially-special ASCII characters get backslash-escaped\n\t\treturn \"\\\\\" + ch;\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t},\n\n\tinDisabledFieldset = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true && elem.nodeName.toLowerCase() === \"fieldset\";\n\t\t},\n\t\t{ dir: \"parentNode\", next: \"legend\" }\n\t);\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t( arr = slice.call( preferredDoc.childNodes ) ),\n\t\tpreferredDoc.childNodes\n\t);\n\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\t// eslint-disable-next-line no-unused-expressions\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpushNative.apply( target, slice.call( els ) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( ( target[ j++ ] = els[ i++ ] ) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\t\tsetDocument( context );\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( ( m = match[ 1 ] ) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( ( elem = context.getElementById( m ) ) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && ( elem = newContext.getElementById( m ) ) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[ 2 ] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!nonnativeSelectorCache[ selector + \" \" ] &&\n\t\t\t\t( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&\n\n\t\t\t\t// Support: IE 8 only\n\t\t\t\t// Exclude object elements\n\t\t\t\t( nodeType !== 1 || context.nodeName.toLowerCase() !== \"object\" ) ) {\n\n\t\t\t\tnewSelector = selector;\n\t\t\t\tnewContext = context;\n\n\t\t\t\t// qSA considers elements outside a scoping root when evaluating child or\n\t\t\t\t// descendant combinators, which is not what we want.\n\t\t\t\t// In such cases, we work around the behavior by prefixing every selector in the\n\t\t\t\t// list with an ID selector referencing the scope context.\n\t\t\t\t// The technique has to be used as well when a leading combinator is used\n\t\t\t\t// as such selectors are not recognized by querySelectorAll.\n\t\t\t\t// Thanks to Andrew Dupont for this technique.\n\t\t\t\tif ( nodeType === 1 &&\n\t\t\t\t\t( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\n\t\t\t\t\t// We can use :scope instead of the ID hack if the browser\n\t\t\t\t\t// supports it & if we're not changing the context.\n\t\t\t\t\tif ( newContext !== context || !support.scope ) {\n\n\t\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\t\tif ( ( nid = context.getAttribute( \"id\" ) ) ) {\n\t\t\t\t\t\t\tnid = nid.replace( rcssescape, fcssescape );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.setAttribute( \"id\", ( nid = expando ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[ i ] = ( nid ? \"#\" + nid : \":scope\" ) + \" \" +\n\t\t\t\t\t\t\ttoSelector( groups[ i ] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\tnonnativeSelectorCache( selector, true );\n\t\t\t\t} finally {\n\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn ( cache[ key + \" \" ] = value );\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\nfunction assert( fn ) {\n\tvar el = document.createElement( \"fieldset\" );\n\n\ttry {\n\t\treturn !!fn( el );\n\t} catch ( e ) {\n\t\treturn false;\n\t} finally {\n\n\t\t// Remove from its parent by default\n\t\tif ( el.parentNode ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\n\n\t\t// release memory in IE\n\t\tel = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split( \"|\" ),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[ i ] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\ta.sourceIndex - b.sourceIndex;\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( ( cur = cur.nextSibling ) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn ( name === \"input\" || name === \"button\" ) && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\nfunction createDisabledPseudo( disabled ) {\n\n\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n\treturn function( elem ) {\n\n\t\t// Only certain elements can match :enabled or :disabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n\t\tif ( \"form\" in elem ) {\n\n\t\t\t// Check for inherited disabledness on relevant non-disabled elements:\n\t\t\t// * listed form-associated elements in a disabled fieldset\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#category-listed\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n\t\t\t// * option elements in a disabled optgroup\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n\t\t\t// All such elements have a \"form\" property.\n\t\t\tif ( elem.parentNode && elem.disabled === false ) {\n\n\t\t\t\t// Option elements defer to a parent optgroup if present\n\t\t\t\tif ( \"label\" in elem ) {\n\t\t\t\t\tif ( \"label\" in elem.parentNode ) {\n\t\t\t\t\t\treturn elem.parentNode.disabled === disabled;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn elem.disabled === disabled;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Support: IE 6 - 11\n\t\t\t\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\t\t\t\treturn elem.isDisabled === disabled ||\n\n\t\t\t\t\t// Where there is no isDisabled, check manually\n\t\t\t\t\t/* jshint -W018 */\n\t\t\t\t\telem.isDisabled !== !disabled &&\n\t\t\t\t\tinDisabledFieldset( elem ) === disabled;\n\t\t\t}\n\n\t\t\treturn elem.disabled === disabled;\n\n\t\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\n\t\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n\t\t// even exist on them, let alone have a boolean value.\n\t\t} else if ( \"label\" in elem ) {\n\t\t\treturn elem.disabled === disabled;\n\t\t}\n\n\t\t// Remaining elements are neither :enabled nor :disabled\n\t\treturn false;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction( function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction( function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ ( j = matchIndexes[ i ] ) ] ) {\n\t\t\t\t\tseed[ j ] = !( matches[ j ] = seed[ j ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t} );\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\tvar namespace = elem && elem.namespaceURI,\n\t\tdocElem = elem && ( elem.ownerDocument || elem ).documentElement;\n\n\t// Support: IE <=8\n\t// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes\n\t// https://bugs.jquery.com/ticket/4833\n\treturn !rhtml.test( namespace || docElem && docElem.nodeName || \"HTML\" );\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, subWindow,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( preferredDoc != document &&\n\t\t( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {\n\n\t\t// Support: IE 11, Edge\n\t\tif ( subWindow.addEventListener ) {\n\t\t\tsubWindow.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( subWindow.attachEvent ) {\n\t\t\tsubWindow.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t// Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,\n\t// Safari 4 - 5 only, Opera <=11.6 - 12.x only\n\t// IE/Edge & older browsers don't support the :scope pseudo-class.\n\t// Support: Safari 6.0 only\n\t// Safari 6.0 supports :scope but it's an alias of :root there.\n\tsupport.scope = assert( function( el ) {\n\t\tdocElem.appendChild( el ).appendChild( document.createElement( \"div\" ) );\n\t\treturn typeof el.querySelectorAll !== \"undefined\" &&\n\t\t\t!el.querySelectorAll( \":scope fieldset div\" ).length;\n\t} );\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert( function( el ) {\n\t\tel.className = \"i\";\n\t\treturn !el.getAttribute( \"className\" );\n\t} );\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert( function( el ) {\n\t\tel.appendChild( document.createComment( \"\" ) );\n\t\treturn !el.getElementsByTagName( \"*\" ).length;\n\t} );\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programmatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert( function( el ) {\n\t\tdocElem.appendChild( el ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t} );\n\n\t// ID filter and find\n\tif ( support.getById ) {\n\t\tExpr.filter[ \"ID\" ] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute( \"id\" ) === attrId;\n\t\t\t};\n\t\t};\n\t\tExpr.find[ \"ID\" ] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar elem = context.getElementById( id );\n\t\t\t\treturn elem ? [ elem ] : [];\n\t\t\t}\n\t\t};\n\t} else {\n\t\tExpr.filter[ \"ID\" ] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode( \"id\" );\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\n\t\t// Support: IE 6 - 7 only\n\t\t// getElementById is not reliable as a find shortcut\n\t\tExpr.find[ \"ID\" ] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar node, i, elems,\n\t\t\t\t\telem = context.getElementById( id );\n\n\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t// Verify the id attribute\n\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t}\n\n\t\t\t\t\t// Fall back on getElementsByName\n\t\t\t\t\telems = context.getElementsByName( id );\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile ( ( elem = elems[ i++ ] ) ) {\n\t\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[ \"TAG\" ] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[ \"CLASS\" ] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See https://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {\n\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert( function( el ) {\n\n\t\t\tvar input;\n\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// https://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( el ).innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( el.querySelectorAll( \"[msallowcapture^='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !el.querySelectorAll( \"[selected]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !el.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"~=\" );\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 15 - 18+\n\t\t\t// IE 11/Edge don't find elements on a `[name='']` query in some cases.\n\t\t\t// Adding a temporary attribute to the document before the selection works\n\t\t\t// around the issue.\n\t\t\t// Interestingly, IE 10 & older don't seem to have the issue.\n\t\t\tinput = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"name\", \"\" );\n\t\t\tel.appendChild( input );\n\t\t\tif ( !el.querySelectorAll( \"[name='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" +\n\t\t\t\t\twhitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !el.querySelectorAll( \":checked\" ).length ) {\n\t\t\t\trbuggyQSA.push( \":checked\" );\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibling-combinator selector` fails\n\t\t\tif ( !el.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push( \".#.+[+~]\" );\n\t\t\t}\n\n\t\t\t// Support: Firefox <=3.6 - 5 only\n\t\t\t// Old Firefox doesn't throw on a badly-escaped identifier.\n\t\t\tel.querySelectorAll( \"\\\\\\f\" );\n\t\t\trbuggyQSA.push( \"[\\\\r\\\\n\\\\f]\" );\n\t\t} );\n\n\t\tassert( function( el ) {\n\t\t\tel.innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tel.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( el.querySelectorAll( \"[name=d]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( el.querySelectorAll( \":enabled\" ).length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: IE9-11+\n\t\t\t// IE's :disabled selector does not pick up the children of disabled fieldsets\n\t\t\tdocElem.appendChild( el ).disabled = true;\n\t\t\tif ( el.querySelectorAll( \":disabled\" ).length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: Opera 10 - 11 only\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tel.querySelectorAll( \"*,:x\" );\n\t\t\trbuggyQSA.push( \",.*:\" );\n\t\t} );\n\t}\n\n\tif ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector ) ) ) ) {\n\n\t\tassert( function( el ) {\n\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( el, \"*\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( el, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t} );\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( \"|\" ) );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( \"|\" ) );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t) );\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( ( b = b.parentNode ) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t// two documents; shallow comparisons work.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tcompare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( a == document || a.ownerDocument == preferredDoc &&\n\t\t\t\tcontains( preferredDoc, a ) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( b == document || b.ownerDocument == preferredDoc &&\n\t\t\t\tcontains( preferredDoc, b ) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\treturn a == document ? -1 :\n\t\t\t\tb == document ? 1 :\n\t\t\t\t/* eslint-enable eqeqeq */\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( ( cur = cur.parentNode ) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( ( cur = cur.parentNode ) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[ i ] === bp[ i ] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[ i ], bp[ i ] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\tap[ i ] == preferredDoc ? -1 :\n\t\t\tbp[ i ] == preferredDoc ? 1 :\n\t\t\t/* eslint-enable eqeqeq */\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\tsetDocument( elem );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!nonnativeSelectorCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\n\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t// fragment in IE 9\n\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\tnonnativeSelectorCache( expr, true );\n\t\t}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( context.ownerDocument || context ) != document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( elem.ownerDocument || elem ) != document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t( val = elem.getAttributeNode( name ) ) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.escape = function( sel ) {\n\treturn ( sel + \"\" ).replace( rcssescape, fcssescape );\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( ( node = elem[ i++ ] ) ) {\n\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[ 1 ] = match[ 1 ].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[ 3 ] = ( match[ 3 ] || match[ 4 ] ||\n\t\t\t\tmatch[ 5 ] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[ 2 ] === \"~=\" ) {\n\t\t\t\tmatch[ 3 ] = \" \" + match[ 3 ] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[ 1 ] = match[ 1 ].toLowerCase();\n\n\t\t\tif ( match[ 1 ].slice( 0, 3 ) === \"nth\" ) {\n\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[ 3 ] ) {\n\t\t\t\t\tSizzle.error( match[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[ 4 ] = +( match[ 4 ] ?\n\t\t\t\t\tmatch[ 5 ] + ( match[ 6 ] || 1 ) :\n\t\t\t\t\t2 * ( match[ 3 ] === \"even\" || match[ 3 ] === \"odd\" ) );\n\t\t\t\tmatch[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === \"odd\" );\n\n\t\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[ 3 ] ) {\n\t\t\t\tSizzle.error( match[ 0 ] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[ 6 ] && match[ 2 ];\n\n\t\t\tif ( matchExpr[ \"CHILD\" ].test( match[ 0 ] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[ 3 ] ) {\n\t\t\t\tmatch[ 2 ] = match[ 4 ] || match[ 5 ] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t( excess = tokenize( unquoted, true ) ) &&\n\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t( excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length ) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[ 0 ] = match[ 0 ].slice( 0, excess );\n\t\t\t\tmatch[ 2 ] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() {\n\t\t\t\t\treturn true;\n\t\t\t\t} :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t( pattern = new RegExp( \"(^|\" + whitespace +\n\t\t\t\t\t\")\" + className + \"(\" + whitespace + \"|$)\" ) ) && classCache(\n\t\t\t\t\t\tclassName, function( elem ) {\n\t\t\t\t\t\t\treturn pattern.test(\n\t\t\t\t\t\t\t\ttypeof elem.className === \"string\" && elem.className ||\n\t\t\t\t\t\t\t\ttypeof elem.getAttribute !== \"undefined\" &&\n\t\t\t\t\t\t\t\t\telem.getAttribute( \"class\" ) ||\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t);\n\t\t\t\t} );\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\t/* eslint-disable max-len */\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t\t/* eslint-enable max-len */\n\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, _argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( ( node = node[ dir ] ) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || ( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || ( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction( function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[ i ] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[ i ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t} ) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction( function( selector ) {\n\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction( function( seed, matches, _context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\t\t\t\t\tseed[ i ] = !( matches[ i ] = elem );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} ) :\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tinput[ 0 ] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[ 0 ] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t} ),\n\n\t\t\"has\": markFunction( function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t} ),\n\n\t\t\"contains\": markFunction( function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t} ),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test( lang || \"\" ) ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( ( elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute( \"xml:lang\" ) || elem.getAttribute( \"lang\" ) ) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t} ),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement &&\n\t\t\t\t( !document.hasFocus || document.hasFocus() ) &&\n\t\t\t\t!!( elem.type || elem.href || ~elem.tabIndex );\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": createDisabledPseudo( false ),\n\t\t\"disabled\": createDisabledPseudo( true ),\n\n\t\t\"checked\": function( elem ) {\n\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn ( nodeName === \"input\" && !!elem.checked ) ||\n\t\t\t\t( nodeName === \"option\" && !!elem.selected );\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[ \"empty\" ]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( ( attr = elem.getAttribute( \"type\" ) ) == null ||\n\t\t\t\t\tattr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo( function() {\n\t\t\treturn [ 0 ];\n\t\t} ),\n\n\t\t\"last\": createPositionalPseudo( function( _matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t} ),\n\n\t\t\"eq\": createPositionalPseudo( function( _matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t} ),\n\n\t\t\"even\": createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"odd\": createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"lt\": createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ?\n\t\t\t\targument + length :\n\t\t\t\targument > length ?\n\t\t\t\t\tlength :\n\t\t\t\t\targument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"gt\": createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} )\n\t}\n};\n\nExpr.pseudos[ \"nth\" ] = Expr.pseudos[ \"eq\" ];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || ( match = rcomma.exec( soFar ) ) ) {\n\t\t\tif ( match ) {\n\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[ 0 ].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( ( tokens = [] ) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( ( match = rcombinators.exec( soFar ) ) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push( {\n\t\t\t\tvalue: matched,\n\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[ 0 ].replace( rtrim, \" \" )\n\t\t\t} );\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||\n\t\t\t\t( match = preFilters[ type ]( match ) ) ) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push( {\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t} );\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[ i ].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tskip = combinator.next,\n\t\tkey = skip || dir,\n\t\tcheckNonElements = base && key === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] ||\n\t\t\t\t\t\t\t( outerCache[ elem.uniqueID ] = {} );\n\n\t\t\t\t\t\tif ( skip && skip === elem.nodeName.toLowerCase() ) {\n\t\t\t\t\t\t\telem = elem[ dir ] || elem;\n\t\t\t\t\t\t} else if ( ( oldCache = uniqueCache[ key ] ) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn ( newCache[ 2 ] = oldCache[ 2 ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ key ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[ i ]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[ 0 ];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[ i ], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction( function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts(\n\t\t\t\tselector || \"*\",\n\t\t\t\tcontext.nodeType ? [ context ] : context,\n\t\t\t\t[]\n\t\t\t),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( ( elem = temp[ i ] ) ) {\n\t\t\t\t\tmatcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) ) {\n\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( ( matcherIn[ i ] = elem ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, ( matcherOut = [] ), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) &&\n\t\t\t\t\t\t( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {\n\n\t\t\t\t\t\tseed[ temp ] = !( results[ temp ] = elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t} );\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[ 0 ].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[ \" \" ],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t( checkContext = context ).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {\n\t\t\tmatchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[ j ].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\n\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\ttokens\n\t\t\t\t\t\t.slice( 0, i - 1 )\n\t\t\t\t\t\t.concat( { value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" } )\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[ \"TAG\" ]( \"*\", outermost ),\n\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\n\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\toutermostContext = context == document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\t\t\tfor ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\t\tif ( !context && elem.ownerDocument != document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( ( matcher = elementMatchers[ j++ ] ) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml ) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( ( elem = !matcher && elem ) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( ( matcher = setMatchers[ j++ ] ) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !( unmatched[ i ] || setMatched[ i ] ) ) {\n\t\t\t\t\t\t\t\tsetMatched[ i ] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[ i ] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache(\n\t\t\tselector,\n\t\t\tmatcherFromGroupMatchers( elementMatchers, setMatchers )\n\t\t);\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( ( selector = compiled.selector || selector ) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[ 0 ] = match[ 0 ].slice( 0 );\n\t\tif ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === \"ID\" &&\n\t\t\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {\n\n\t\t\tcontext = ( Expr.find[ \"ID\" ]( token.matches[ 0 ]\n\t\t\t\t.replace( runescape, funescape ), context ) || [] )[ 0 ];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[ \"needsContext\" ].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[ i ];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ ( type = token.type ) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( ( find = Expr.find[ type ] ) ) {\n\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( ( seed = find(\n\t\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext\n\t\t\t\t) ) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split( \"\" ).sort( sortOrder ).join( \"\" ) === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert( function( el ) {\n\n\t// Should return 1, but returns 4 (following)\n\treturn el.compareDocumentPosition( document.createElement( \"fieldset\" ) ) & 1;\n} );\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert( function( el ) {\n\tel.innerHTML = \"\";\n\treturn el.firstChild.getAttribute( \"href\" ) === \"#\";\n} ) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t} );\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert( function( el ) {\n\tel.innerHTML = \"\";\n\tel.firstChild.setAttribute( \"value\", \"\" );\n\treturn el.firstChild.getAttribute( \"value\" ) === \"\";\n} ) ) {\n\taddHandle( \"value\", function( elem, _name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t} );\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert( function( el ) {\n\treturn el.getAttribute( \"disabled\" ) == null;\n} ) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t( val = elem.getAttributeNode( name ) ) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\t\tnull;\n\t\t}\n\t} );\n}\n\nreturn Sizzle;\n\n} )( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\n\n// Deprecated\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\njQuery.escapeSelector = Sizzle.escape;\n\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\n\n\nfunction nodeName( elem, name ) {\n\n\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\n}\nvar rsingleTag = ( /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i );\n\n\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\t}\n\n\t// Single element\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\t}\n\n\t// Arraylike of elements (jQuery, arguments, Array)\n\tif ( typeof qualifier !== \"string\" ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t\t} );\n\t}\n\n\t// Filtered directly for both simple and complex selectors\n\treturn jQuery.filter( qualifier, elements, not );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\tif ( elems.length === 1 && elem.nodeType === 1 ) {\n\t\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\n\t}\n\n\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\treturn elem.nodeType === 1;\n\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i, ret,\n\t\t\tlen = this.length,\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tret = this.pushStack( [] );\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\t// Shortcut simple #id case for speed\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\ttargets = typeof selectors !== \"string\" && jQuery( selectors );\n\n\t\t// Positional selectors never match, since there's no _selection_ context\n\t\tif ( !rneedsContext.test( selectors ) ) {\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType < 11 && ( targets ?\n\t\t\t\t\t\ttargets.index( cur ) > -1 :\n\n\t\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\tif ( elem.contentDocument != null &&\n\n\t\t\t// Support: IE 11+\n\t\t\t// elements with no `data` attribute has an object\n\t\t\t// `contentDocument` with a `null` prototype.\n\t\t\tgetProto( elem.contentDocument ) ) {\n\n\t\t\treturn elem.contentDocument;\n\t\t}\n\n\t\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n\t\t// Treat the template element as a regular one in browsers that\n\t\t// don't support it.\n\t\tif ( nodeName( elem, \"template\" ) ) {\n\t\t\telem = elem.content || elem;\n\t\t}\n\n\t\treturn jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnothtmlwhite = ( /[^\\x20\\t\\r\\n\\f]+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = locked || options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && toType( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory && !firing ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\nfunction Identity( v ) {\n\treturn v;\n}\nfunction Thrower( ex ) {\n\tthrow ex;\n}\n\nfunction adoptValue( value, resolve, reject, noValue ) {\n\tvar method;\n\n\ttry {\n\n\t\t// Check for promise aspect first to privilege synchronous behavior\n\t\tif ( value && isFunction( ( method = value.promise ) ) ) {\n\t\t\tmethod.call( value ).done( resolve ).fail( reject );\n\n\t\t// Other thenables\n\t\t} else if ( value && isFunction( ( method = value.then ) ) ) {\n\t\t\tmethod.call( value, resolve, reject );\n\n\t\t// Other non-thenables\n\t\t} else {\n\n\t\t\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n\t\t\t// * false: [ value ].slice( 0 ) => resolve( value )\n\t\t\t// * true: [ value ].slice( 1 ) => resolve()\n\t\t\tresolve.apply( undefined, [ value ].slice( noValue ) );\n\t\t}\n\n\t// For Promises/A+, convert exceptions into rejections\n\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n\t// Deferred#then to conditionally suppress rejection.\n\t} catch ( value ) {\n\n\t\t// Support: Android 4.0 only\n\t\t// Strict mode functions invoked without .call/.apply get global-object context\n\t\treject.apply( undefined, [ value ] );\n\t}\n}\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, callbacks,\n\t\t\t\t// ... .then handlers, argument index, [final state]\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"memory\" ), 2 ],\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 0, \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 1, \"rejected\" ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\t\"catch\": function( fn ) {\n\t\t\t\t\treturn promise.then( null, fn );\n\t\t\t\t},\n\n\t\t\t\t// Keep pipe for back-compat\n\t\t\t\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( _i, tuple ) {\n\n\t\t\t\t\t\t\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\n\t\t\t\t\t\t\tvar fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\n\n\t\t\t\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\n\t\t\t\t\t\t\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\n\t\t\t\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\t\t\t\tthen: function( onFulfilled, onRejected, onProgress ) {\n\t\t\t\t\tvar maxDepth = 0;\n\t\t\t\t\tfunction resolve( depth, deferred, handler, special ) {\n\t\t\t\t\t\treturn function() {\n\t\t\t\t\t\t\tvar that = this,\n\t\t\t\t\t\t\t\targs = arguments,\n\t\t\t\t\t\t\t\tmightThrow = function() {\n\t\t\t\t\t\t\t\t\tvar returned, then;\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.3\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-59\n\t\t\t\t\t\t\t\t\t// Ignore double-resolution attempts\n\t\t\t\t\t\t\t\t\tif ( depth < maxDepth ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturned = handler.apply( that, args );\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.1\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-48\n\t\t\t\t\t\t\t\t\tif ( returned === deferred.promise() ) {\n\t\t\t\t\t\t\t\t\t\tthrow new TypeError( \"Thenable self-resolution\" );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ sections 2.3.3.1, 3.5\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-54\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-75\n\t\t\t\t\t\t\t\t\t// Retrieve `then` only once\n\t\t\t\t\t\t\t\t\tthen = returned &&\n\n\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.4\n\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-64\n\t\t\t\t\t\t\t\t\t\t// Only check objects and functions for thenability\n\t\t\t\t\t\t\t\t\t\t( typeof returned === \"object\" ||\n\t\t\t\t\t\t\t\t\t\t\ttypeof returned === \"function\" ) &&\n\t\t\t\t\t\t\t\t\t\treturned.then;\n\n\t\t\t\t\t\t\t\t\t// Handle a returned thenable\n\t\t\t\t\t\t\t\t\tif ( isFunction( then ) ) {\n\n\t\t\t\t\t\t\t\t\t\t// Special processors (notify) just wait for resolution\n\t\t\t\t\t\t\t\t\t\tif ( special ) {\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special )\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t// Normal processors (resolve) also hook into progress\n\t\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t\t// ...and disregard older resolution values\n\t\t\t\t\t\t\t\t\t\t\tmaxDepth++;\n\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdeferred.notifyWith )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Handle all other returned values\n\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\tif ( handler !== Identity ) {\n\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\targs = [ returned ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Process the value(s)\n\t\t\t\t\t\t\t\t\t\t// Default process is resolve\n\t\t\t\t\t\t\t\t\t\t( special || deferred.resolveWith )( that, args );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t// Only normal processors (resolve) catch and reject exceptions\n\t\t\t\t\t\t\t\tprocess = special ?\n\t\t\t\t\t\t\t\t\tmightThrow :\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tmightThrow();\n\t\t\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t\t\tif ( jQuery.Deferred.exceptionHook ) {\n\t\t\t\t\t\t\t\t\t\t\t\tjQuery.Deferred.exceptionHook( e,\n\t\t\t\t\t\t\t\t\t\t\t\t\tprocess.stackTrace );\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.4.1\n\t\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-61\n\t\t\t\t\t\t\t\t\t\t\t// Ignore post-resolution exceptions\n\t\t\t\t\t\t\t\t\t\t\tif ( depth + 1 >= maxDepth ) {\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\t\t\tif ( handler !== Thrower ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\t\t\targs = [ e ];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\tdeferred.rejectWith( that, args );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.1\n\t\t\t\t\t\t\t// https://promisesaplus.com/#point-57\n\t\t\t\t\t\t\t// Re-resolve promises immediately to dodge false rejection from\n\t\t\t\t\t\t\t// subsequent errors\n\t\t\t\t\t\t\tif ( depth ) {\n\t\t\t\t\t\t\t\tprocess();\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// Call an optional hook to record the stack, in case of exception\n\t\t\t\t\t\t\t\t// since it's otherwise lost when execution goes async\n\t\t\t\t\t\t\t\tif ( jQuery.Deferred.getStackHook ) {\n\t\t\t\t\t\t\t\t\tprocess.stackTrace = jQuery.Deferred.getStackHook();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twindow.setTimeout( process );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\n\t\t\t\t\t\t// progress_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 0 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onProgress ) ?\n\t\t\t\t\t\t\t\t\tonProgress :\n\t\t\t\t\t\t\t\t\tIdentity,\n\t\t\t\t\t\t\t\tnewDefer.notifyWith\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// fulfilled_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 1 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onFulfilled ) ?\n\t\t\t\t\t\t\t\t\tonFulfilled :\n\t\t\t\t\t\t\t\t\tIdentity\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// rejected_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 2 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onRejected ) ?\n\t\t\t\t\t\t\t\t\tonRejected :\n\t\t\t\t\t\t\t\t\tThrower\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 5 ];\n\n\t\t\t// promise.progress = list.add\n\t\t\t// promise.done = list.add\n\t\t\t// promise.fail = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(\n\t\t\t\t\tfunction() {\n\n\t\t\t\t\t\t// state = \"resolved\" (i.e., fulfilled)\n\t\t\t\t\t\t// state = \"rejected\"\n\t\t\t\t\t\tstate = stateString;\n\t\t\t\t\t},\n\n\t\t\t\t\t// rejected_callbacks.disable\n\t\t\t\t\t// fulfilled_callbacks.disable\n\t\t\t\t\ttuples[ 3 - i ][ 2 ].disable,\n\n\t\t\t\t\t// rejected_handlers.disable\n\t\t\t\t\t// fulfilled_handlers.disable\n\t\t\t\t\ttuples[ 3 - i ][ 3 ].disable,\n\n\t\t\t\t\t// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock,\n\n\t\t\t\t\t// progress_handlers.lock\n\t\t\t\t\ttuples[ 0 ][ 3 ].lock\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// progress_handlers.fire\n\t\t\t// fulfilled_handlers.fire\n\t\t\t// rejected_handlers.fire\n\t\t\tlist.add( tuple[ 3 ].fire );\n\n\t\t\t// deferred.notify = function() { deferred.notifyWith(...) }\n\t\t\t// deferred.resolve = function() { deferred.resolveWith(...) }\n\t\t\t// deferred.reject = function() { deferred.rejectWith(...) }\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? undefined : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\n\t\t\t// deferred.notifyWith = list.fireWith\n\t\t\t// deferred.resolveWith = list.fireWith\n\t\t\t// deferred.rejectWith = list.fireWith\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( singleValue ) {\n\t\tvar\n\n\t\t\t// count of uncompleted subordinates\n\t\t\tremaining = arguments.length,\n\n\t\t\t// count of unprocessed arguments\n\t\t\ti = remaining,\n\n\t\t\t// subordinate fulfillment data\n\t\t\tresolveContexts = Array( i ),\n\t\t\tresolveValues = slice.call( arguments ),\n\n\t\t\t// the primary Deferred\n\t\t\tprimary = jQuery.Deferred(),\n\n\t\t\t// subordinate callback factory\n\t\t\tupdateFunc = function( i ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tresolveContexts[ i ] = this;\n\t\t\t\t\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( !( --remaining ) ) {\n\t\t\t\t\t\tprimary.resolveWith( resolveContexts, resolveValues );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\n\t\t// Single- and empty arguments are adopted like Promise.resolve\n\t\tif ( remaining <= 1 ) {\n\t\t\tadoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,\n\t\t\t\t!remaining );\n\n\t\t\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\n\t\t\tif ( primary.state() === \"pending\" ||\n\t\t\t\tisFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\n\n\t\t\t\treturn primary.then();\n\t\t\t}\n\t\t}\n\n\t\t// Multiple arguments are aggregated like Promise.all array elements\n\t\twhile ( i-- ) {\n\t\t\tadoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );\n\t\t}\n\n\t\treturn primary.promise();\n\t}\n} );\n\n\n// These usually indicate a programmer mistake during development,\n// warn about them ASAP rather than swallowing them by default.\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\njQuery.Deferred.exceptionHook = function( error, stack ) {\n\n\t// Support: IE 8 - 9 only\n\t// Console exists when dev tools are open, which can happen at any time\n\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\n\t\twindow.console.warn( \"jQuery.Deferred exception: \" + error.message, error.stack, stack );\n\t}\n};\n\n\n\n\njQuery.readyException = function( error ) {\n\twindow.setTimeout( function() {\n\t\tthrow error;\n\t} );\n};\n\n\n\n\n// The deferred used on DOM ready\nvar readyList = jQuery.Deferred();\n\njQuery.fn.ready = function( fn ) {\n\n\treadyList\n\t\t.then( fn )\n\n\t\t// Wrap jQuery.readyException in a function so that the lookup\n\t\t// happens at the time of error handling instead of callback\n\t\t// registration.\n\t\t.catch( function( error ) {\n\t\t\tjQuery.readyException( error );\n\t\t} );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\t}\n} );\n\njQuery.ready.then = readyList.then;\n\n// The ready event handler and self cleanup method\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\n// Catch cases where $(document).ready() is called\n// after the browser event has already occurred.\n// Support: IE <=9 - 10 only\n// Older IE sometimes signals \"interactive\" too soon\nif ( document.readyState === \"complete\" ||\n\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\twindow.setTimeout( jQuery.ready );\n\n} else {\n\n\t// Use the handy event callback\n\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t// A fallback to window.onload, that will always work\n\twindow.addEventListener( \"load\", completed );\n}\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( toType( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, _key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\t\tvalue :\n\t\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( chainable ) {\n\t\treturn elems;\n\t}\n\n\t// Gets\n\tif ( bulk ) {\n\t\treturn fn.call( elems );\n\t}\n\n\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\n};\n\n\n// Matches dashed string for camelizing\nvar rmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g;\n\n// Used by camelCase as callback to replace()\nfunction fcamelCase( _all, letter ) {\n\treturn letter.toUpperCase();\n}\n\n// Convert dashed to camelCase; used by the css and data modules\n// Support: IE <=9 - 11, Edge 12 - 15\n// Microsoft forgot to hump their vendor prefix (#9572)\nfunction camelCase( string ) {\n\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n}\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tcache: function( owner ) {\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see #8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\t// Always use camelCase key (gh-2257)\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ camelCase( data ) ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ camelCase( prop ) ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\n\t\t\t// Always use camelCase key (gh-2257)\n\t\t\towner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];\n\t},\n\taccess: function( owner, key, value ) {\n\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\treturn this.get( owner, key );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key !== undefined ) {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( Array.isArray( key ) ) {\n\n\t\t\t\t// If key is an array of keys...\n\t\t\t\t// We always set camelCase keys, so remove that.\n\t\t\t\tkey = key.map( camelCase );\n\t\t\t} else {\n\t\t\t\tkey = camelCase( key );\n\n\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\tkey = key in cache ?\n\t\t\t\t\t[ key ] :\n\t\t\t\t\t( key.match( rnothtmlwhite ) || [] );\n\t\t\t}\n\n\t\t\ti = key.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ key[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <=35 - 45\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction getData( data ) {\n\tif ( data === \"true\" ) {\n\t\treturn true;\n\t}\n\n\tif ( data === \"false\" ) {\n\t\treturn false;\n\t}\n\n\tif ( data === \"null\" ) {\n\t\treturn null;\n\t}\n\n\t// Only convert to a number if it doesn't change the string\n\tif ( data === +data + \"\" ) {\n\t\treturn +data;\n\t}\n\n\tif ( rbrace.test( data ) ) {\n\t\treturn JSON.parse( data );\n\t}\n\n\treturn data;\n}\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = getData( data );\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE 11 only\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// The key will always be camelCased in Data\n\t\t\t\tdata = dataUser.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each( function() {\n\n\t\t\t\t// We always store the camelCased key\n\t\t\t\tdataUser.set( this, key, value );\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || Array.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar documentElement = document.documentElement;\n\n\n\n\tvar isAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem );\n\t\t},\n\t\tcomposed = { composed: true };\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\n\t// Support: iOS 10.0-10.2 only\n\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n\t// leading to errors. We need to check for `getRootNode`.\n\tif ( documentElement.getRootNode ) {\n\t\tisAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem ) ||\n\t\t\t\telem.getRootNode( composed ) === elem.ownerDocument;\n\t\t};\n\t}\nvar isHiddenWithinTree = function( elem, el ) {\n\n\t\t// isHiddenWithinTree might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\n\t\t// Inline style trumps all\n\t\treturn elem.style.display === \"none\" ||\n\t\t\telem.style.display === \"\" &&\n\n\t\t\t// Otherwise, check computed style\n\t\t\t// Support: Firefox <=43 - 45\n\t\t\t// Disconnected elements can have computed display: none, so first confirm that elem is\n\t\t\t// in the document.\n\t\t\tisAttached( elem ) &&\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted, scale,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() {\n\t\t\t\treturn tween.cur();\n\t\t\t} :\n\t\t\tfunction() {\n\t\t\t\treturn jQuery.css( elem, prop, \"\" );\n\t\t\t},\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = elem.nodeType &&\n\t\t\t( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Support: Firefox <=54\n\t\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n\t\tinitial = initial / 2;\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\twhile ( maxIterations-- ) {\n\n\t\t\t// Evaluate and update our best guess (doubling guesses that zero out).\n\t\t\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\t\t\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {\n\t\t\t\tmaxIterations = 0;\n\t\t\t}\n\t\t\tinitialInUnit = initialInUnit / scale;\n\n\t\t}\n\n\t\tinitialInUnit = initialInUnit * 2;\n\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\nvar defaultDisplayMap = {};\n\nfunction getDefaultDisplay( elem ) {\n\tvar temp,\n\t\tdoc = elem.ownerDocument,\n\t\tnodeName = elem.nodeName,\n\t\tdisplay = defaultDisplayMap[ nodeName ];\n\n\tif ( display ) {\n\t\treturn display;\n\t}\n\n\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\n\tdisplay = jQuery.css( temp, \"display\" );\n\n\ttemp.parentNode.removeChild( temp );\n\n\tif ( display === \"none\" ) {\n\t\tdisplay = \"block\";\n\t}\n\tdefaultDisplayMap[ nodeName ] = display;\n\n\treturn display;\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\t// Determine new display value for elements that need to change\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n\t\t\t// check is required in this first loop unless we have a nonempty display value (either\n\t\t\t// inline or about-to-be-restored)\n\t\t\tif ( display === \"none\" ) {\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || null;\n\t\t\t\tif ( !values[ index ] ) {\n\t\t\t\t\telem.style.display = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( elem.style.display === \"\" && isHiddenWithinTree( elem ) ) {\n\t\t\t\tvalues[ index ] = getDefaultDisplay( elem );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( display !== \"none\" ) {\n\t\t\t\tvalues[ index ] = \"none\";\n\n\t\t\t\t// Remember what we're overwriting\n\t\t\t\tdataPriv.set( elem, \"display\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of the elements in a second loop to avoid constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\tif ( values[ index ] != null ) {\n\t\t\telements[ index ].style.display = values[ index ];\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.fn.extend( {\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHiddenWithinTree( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i );\n\nvar rscriptType = ( /^$|^module$|\\/(?:java|ecma)script/i );\n\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0 - 4.3 only\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Android <=4.1 only\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE <=11 only\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n\n\t// Support: IE <=9 only\n\t// IE <=9 replaces \";\n\tsupport.option = !!div.lastChild;\n} )();\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting
    or other required elements.\n\tthead: [ 1, \"
    / elements with colspans.\n SOLUTION: making individual
    \n _this.frameElRefs = new RefMap(); // the fc-daygrid-day-frame\n _this.fgElRefs = new RefMap(); // the fc-daygrid-day-events\n _this.segHarnessRefs = new RefMap(); // indexed by \"instanceId:firstCol\"\n _this.rootElRef = createRef();\n _this.state = {\n framePositions: null,\n maxContentHeight: null,\n eventInstanceHeights: {},\n };\n return _this;\n }\n TableRow.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, state = _a.state, context = _a.context;\n var options = context.options;\n var colCnt = props.cells.length;\n var businessHoursByCol = splitSegsByFirstCol(props.businessHourSegs, colCnt);\n var bgEventSegsByCol = splitSegsByFirstCol(props.bgEventSegs, colCnt);\n var highlightSegsByCol = splitSegsByFirstCol(this.getHighlightSegs(), colCnt);\n var mirrorSegsByCol = splitSegsByFirstCol(this.getMirrorSegs(), colCnt);\n var _b = computeFgSegPlacement(sortEventSegs(props.fgEventSegs, options.eventOrder), props.dayMaxEvents, props.dayMaxEventRows, options.eventOrderStrict, state.eventInstanceHeights, state.maxContentHeight, props.cells), singleColPlacements = _b.singleColPlacements, multiColPlacements = _b.multiColPlacements, moreCnts = _b.moreCnts, moreMarginTops = _b.moreMarginTops;\n var isForcedInvisible = // TODO: messy way to compute this\n (props.eventDrag && props.eventDrag.affectedInstances) ||\n (props.eventResize && props.eventResize.affectedInstances) ||\n {};\n return (createElement(\"tr\", { ref: this.rootElRef, role: \"row\" },\n props.renderIntro && props.renderIntro(),\n props.cells.map(function (cell, col) {\n var normalFgNodes = _this.renderFgSegs(col, props.forPrint ? singleColPlacements[col] : multiColPlacements[col], props.todayRange, isForcedInvisible);\n var mirrorFgNodes = _this.renderFgSegs(col, buildMirrorPlacements(mirrorSegsByCol[col], multiColPlacements), props.todayRange, {}, Boolean(props.eventDrag), Boolean(props.eventResize), false);\n return (createElement(TableCell, { key: cell.key, elRef: _this.cellElRefs.createRef(cell.key), innerElRef: _this.frameElRefs.createRef(cell.key) /* FF problem, but okay to use for left/right. TODO: rename prop */, dateProfile: props.dateProfile, date: cell.date, showDayNumber: props.showDayNumbers, showWeekNumber: props.showWeekNumbers && col === 0, forceDayTop: props.showWeekNumbers /* even displaying weeknum for row, not necessarily day */, todayRange: props.todayRange, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, extraHookProps: cell.extraHookProps, extraDataAttrs: cell.extraDataAttrs, extraClassNames: cell.extraClassNames, extraDateSpan: cell.extraDateSpan, moreCnt: moreCnts[col], moreMarginTop: moreMarginTops[col], singlePlacements: singleColPlacements[col], fgContentElRef: _this.fgElRefs.createRef(cell.key), fgContent: ( // Fragment scopes the keys\n createElement(Fragment, null,\n createElement(Fragment, null, normalFgNodes),\n createElement(Fragment, null, mirrorFgNodes))), bgContent: ( // Fragment scopes the keys\n createElement(Fragment, null,\n _this.renderFillSegs(highlightSegsByCol[col], 'highlight'),\n _this.renderFillSegs(businessHoursByCol[col], 'non-business'),\n _this.renderFillSegs(bgEventSegsByCol[col], 'bg-event'))) }));\n })));\n };\n TableRow.prototype.componentDidMount = function () {\n this.updateSizing(true);\n };\n TableRow.prototype.componentDidUpdate = function (prevProps, prevState) {\n var currentProps = this.props;\n this.updateSizing(!isPropsEqual(prevProps, currentProps));\n };\n TableRow.prototype.getHighlightSegs = function () {\n var props = this.props;\n if (props.eventDrag && props.eventDrag.segs.length) { // messy check\n return props.eventDrag.segs;\n }\n if (props.eventResize && props.eventResize.segs.length) { // messy check\n return props.eventResize.segs;\n }\n return props.dateSelectionSegs;\n };\n TableRow.prototype.getMirrorSegs = function () {\n var props = this.props;\n if (props.eventResize && props.eventResize.segs.length) { // messy check\n return props.eventResize.segs;\n }\n return [];\n };\n TableRow.prototype.renderFgSegs = function (col, segPlacements, todayRange, isForcedInvisible, isDragging, isResizing, isDateSelecting) {\n var context = this.context;\n var eventSelection = this.props.eventSelection;\n var framePositions = this.state.framePositions;\n var defaultDisplayEventEnd = this.props.cells.length === 1; // colCnt === 1\n var isMirror = isDragging || isResizing || isDateSelecting;\n var nodes = [];\n if (framePositions) {\n for (var _i = 0, segPlacements_1 = segPlacements; _i < segPlacements_1.length; _i++) {\n var placement = segPlacements_1[_i];\n var seg = placement.seg;\n var instanceId = seg.eventRange.instance.instanceId;\n var key = instanceId + ':' + col;\n var isVisible = placement.isVisible && !isForcedInvisible[instanceId];\n var isAbsolute = placement.isAbsolute;\n var left = '';\n var right = '';\n if (isAbsolute) {\n if (context.isRtl) {\n right = 0;\n left = framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol];\n }\n else {\n left = 0;\n right = framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol];\n }\n }\n /*\n known bug: events that are force to be list-item but span multiple days still take up space in later columns\n todo: in print view, for multi-day events, don't display title within non-start/end segs\n */\n nodes.push(createElement(\"div\", { className: 'fc-daygrid-event-harness' + (isAbsolute ? ' fc-daygrid-event-harness-abs' : ''), key: key, ref: isMirror ? null : this.segHarnessRefs.createRef(key), style: {\n visibility: isVisible ? '' : 'hidden',\n marginTop: isAbsolute ? '' : placement.marginTop,\n top: isAbsolute ? placement.absoluteTop : '',\n left: left,\n right: right,\n } }, hasListItemDisplay(seg) ? (createElement(TableListItemEvent, __assign({ seg: seg, isDragging: isDragging, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange)))) : (createElement(TableBlockEvent, __assign({ seg: seg, isDragging: isDragging, isResizing: isResizing, isDateSelecting: isDateSelecting, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange))))));\n }\n }\n return nodes;\n };\n TableRow.prototype.renderFillSegs = function (segs, fillType) {\n var isRtl = this.context.isRtl;\n var todayRange = this.props.todayRange;\n var framePositions = this.state.framePositions;\n var nodes = [];\n if (framePositions) {\n for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n var seg = segs_1[_i];\n var leftRightCss = isRtl ? {\n right: 0,\n left: framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol],\n } : {\n left: 0,\n right: framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol],\n };\n nodes.push(createElement(\"div\", { key: buildEventRangeKey(seg.eventRange), className: \"fc-daygrid-bg-harness\", style: leftRightCss }, fillType === 'bg-event' ?\n createElement(BgEvent, __assign({ seg: seg }, getSegMeta(seg, todayRange))) :\n renderFill(fillType)));\n }\n }\n return createElement.apply(void 0, __spreadArray([Fragment, {}], nodes));\n };\n TableRow.prototype.updateSizing = function (isExternalSizingChange) {\n var _a = this, props = _a.props, frameElRefs = _a.frameElRefs;\n if (!props.forPrint &&\n props.clientWidth !== null // positioning ready?\n ) {\n if (isExternalSizingChange) {\n var frameEls = props.cells.map(function (cell) { return frameElRefs.currentMap[cell.key]; });\n if (frameEls.length) {\n var originEl = this.rootElRef.current;\n this.setState({\n framePositions: new PositionCache(originEl, frameEls, true, // isHorizontal\n false),\n });\n }\n }\n var oldInstanceHeights = this.state.eventInstanceHeights;\n var newInstanceHeights = this.queryEventInstanceHeights();\n var limitByContentHeight = props.dayMaxEvents === true || props.dayMaxEventRows === true;\n this.setState({\n // HACK to prevent oscillations of events being shown/hidden from max-event-rows\n // Essentially, once you compute an element's height, never null-out.\n // TODO: always display all events, as visibility:hidden?\n eventInstanceHeights: __assign(__assign({}, oldInstanceHeights), newInstanceHeights),\n maxContentHeight: limitByContentHeight ? this.computeMaxContentHeight() : null,\n });\n }\n };\n TableRow.prototype.queryEventInstanceHeights = function () {\n var segElMap = this.segHarnessRefs.currentMap;\n var eventInstanceHeights = {};\n // get the max height amongst instance segs\n for (var key in segElMap) {\n var height = Math.round(segElMap[key].getBoundingClientRect().height);\n var instanceId = key.split(':')[0]; // deconstruct how renderFgSegs makes the key\n eventInstanceHeights[instanceId] = Math.max(eventInstanceHeights[instanceId] || 0, height);\n }\n return eventInstanceHeights;\n };\n TableRow.prototype.computeMaxContentHeight = function () {\n var firstKey = this.props.cells[0].key;\n var cellEl = this.cellElRefs.currentMap[firstKey];\n var fcContainerEl = this.fgElRefs.currentMap[firstKey];\n return cellEl.getBoundingClientRect().bottom - fcContainerEl.getBoundingClientRect().top;\n };\n TableRow.prototype.getCellEls = function () {\n var elMap = this.cellElRefs.currentMap;\n return this.props.cells.map(function (cell) { return elMap[cell.key]; });\n };\n return TableRow;\n}(DateComponent));\nTableRow.addStateEquality({\n eventInstanceHeights: isPropsEqual,\n});\nfunction buildMirrorPlacements(mirrorSegs, colPlacements) {\n if (!mirrorSegs.length) {\n return [];\n }\n var topsByInstanceId = buildAbsoluteTopHash(colPlacements); // TODO: cache this at first render?\n return mirrorSegs.map(function (seg) { return ({\n seg: seg,\n isVisible: true,\n isAbsolute: true,\n absoluteTop: topsByInstanceId[seg.eventRange.instance.instanceId],\n marginTop: 0,\n }); });\n}\nfunction buildAbsoluteTopHash(colPlacements) {\n var topsByInstanceId = {};\n for (var _i = 0, colPlacements_1 = colPlacements; _i < colPlacements_1.length; _i++) {\n var placements = colPlacements_1[_i];\n for (var _a = 0, placements_1 = placements; _a < placements_1.length; _a++) {\n var placement = placements_1[_a];\n topsByInstanceId[placement.seg.eventRange.instance.instanceId] = placement.absoluteTop;\n }\n }\n return topsByInstanceId;\n}\n\nvar Table = /** @class */ (function (_super) {\n __extends(Table, _super);\n function Table() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.splitBusinessHourSegs = memoize(splitSegsByRow);\n _this.splitBgEventSegs = memoize(splitSegsByRow);\n _this.splitFgEventSegs = memoize(splitSegsByRow);\n _this.splitDateSelectionSegs = memoize(splitSegsByRow);\n _this.splitEventDrag = memoize(splitInteractionByRow);\n _this.splitEventResize = memoize(splitInteractionByRow);\n _this.rowRefs = new RefMap();\n _this.handleRootEl = function (rootEl) {\n _this.rootEl = rootEl;\n if (rootEl) {\n _this.context.registerInteractiveComponent(_this, {\n el: rootEl,\n isHitComboAllowed: _this.props.isHitComboAllowed,\n });\n }\n else {\n _this.context.unregisterInteractiveComponent(_this);\n }\n };\n return _this;\n }\n Table.prototype.render = function () {\n var _this = this;\n var props = this.props;\n var dateProfile = props.dateProfile, dayMaxEventRows = props.dayMaxEventRows, dayMaxEvents = props.dayMaxEvents, expandRows = props.expandRows;\n var rowCnt = props.cells.length;\n var businessHourSegsByRow = this.splitBusinessHourSegs(props.businessHourSegs, rowCnt);\n var bgEventSegsByRow = this.splitBgEventSegs(props.bgEventSegs, rowCnt);\n var fgEventSegsByRow = this.splitFgEventSegs(props.fgEventSegs, rowCnt);\n var dateSelectionSegsByRow = this.splitDateSelectionSegs(props.dateSelectionSegs, rowCnt);\n var eventDragByRow = this.splitEventDrag(props.eventDrag, rowCnt);\n var eventResizeByRow = this.splitEventResize(props.eventResize, rowCnt);\n var limitViaBalanced = dayMaxEvents === true || dayMaxEventRows === true;\n // if rows can't expand to fill fixed height, can't do balanced-height event limit\n // TODO: best place to normalize these options?\n if (limitViaBalanced && !expandRows) {\n limitViaBalanced = false;\n dayMaxEventRows = null;\n dayMaxEvents = null;\n }\n var classNames = [\n 'fc-daygrid-body',\n limitViaBalanced ? 'fc-daygrid-body-balanced' : 'fc-daygrid-body-unbalanced',\n expandRows ? '' : 'fc-daygrid-body-natural', // will height of one row depend on the others?\n ];\n return (createElement(\"div\", { className: classNames.join(' '), ref: this.handleRootEl, style: {\n // these props are important to give this wrapper correct dimensions for interactions\n // TODO: if we set it here, can we avoid giving to inner tables?\n width: props.clientWidth,\n minWidth: props.tableMinWidth,\n } },\n createElement(NowTimer, { unit: \"day\" }, function (nowDate, todayRange) { return (createElement(Fragment, null,\n createElement(\"table\", { role: \"presentation\", className: \"fc-scrollgrid-sync-table\", style: {\n width: props.clientWidth,\n minWidth: props.tableMinWidth,\n height: expandRows ? props.clientHeight : '',\n } },\n props.colGroupNode,\n createElement(\"tbody\", { role: \"presentation\" }, props.cells.map(function (cells, row) { return (createElement(TableRow, { ref: _this.rowRefs.createRef(row), key: cells.length\n ? cells[0].date.toISOString() /* best? or put key on cell? or use diff formatter? */\n : row // in case there are no cells (like when resource view is loading)\n , showDayNumbers: rowCnt > 1, showWeekNumbers: props.showWeekNumbers, todayRange: todayRange, dateProfile: dateProfile, cells: cells, renderIntro: props.renderRowIntro, businessHourSegs: businessHourSegsByRow[row], eventSelection: props.eventSelection, bgEventSegs: bgEventSegsByRow[row].filter(isSegAllDay) /* hack */, fgEventSegs: fgEventSegsByRow[row], dateSelectionSegs: dateSelectionSegsByRow[row], eventDrag: eventDragByRow[row], eventResize: eventResizeByRow[row], dayMaxEvents: dayMaxEvents, dayMaxEventRows: dayMaxEventRows, clientWidth: props.clientWidth, clientHeight: props.clientHeight, forPrint: props.forPrint })); }))))); })));\n };\n // Hit System\n // ----------------------------------------------------------------------------------------------------\n Table.prototype.prepareHits = function () {\n this.rowPositions = new PositionCache(this.rootEl, this.rowRefs.collect().map(function (rowObj) { return rowObj.getCellEls()[0]; }), // first cell el in each row. TODO: not optimal\n false, true);\n this.colPositions = new PositionCache(this.rootEl, this.rowRefs.currentMap[0].getCellEls(), // cell els in first row\n true, // horizontal\n false);\n };\n Table.prototype.queryHit = function (positionLeft, positionTop) {\n var _a = this, colPositions = _a.colPositions, rowPositions = _a.rowPositions;\n var col = colPositions.leftToIndex(positionLeft);\n var row = rowPositions.topToIndex(positionTop);\n if (row != null && col != null) {\n var cell = this.props.cells[row][col];\n return {\n dateProfile: this.props.dateProfile,\n dateSpan: __assign({ range: this.getCellRange(row, col), allDay: true }, cell.extraDateSpan),\n dayEl: this.getCellEl(row, col),\n rect: {\n left: colPositions.lefts[col],\n right: colPositions.rights[col],\n top: rowPositions.tops[row],\n bottom: rowPositions.bottoms[row],\n },\n layer: 0,\n };\n }\n return null;\n };\n Table.prototype.getCellEl = function (row, col) {\n return this.rowRefs.currentMap[row].getCellEls()[col]; // TODO: not optimal\n };\n Table.prototype.getCellRange = function (row, col) {\n var start = this.props.cells[row][col].date;\n var end = addDays(start, 1);\n return { start: start, end: end };\n };\n return Table;\n}(DateComponent));\nfunction isSegAllDay(seg) {\n return seg.eventRange.def.allDay;\n}\n\nvar DayTableSlicer = /** @class */ (function (_super) {\n __extends(DayTableSlicer, _super);\n function DayTableSlicer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.forceDayIfListItem = true;\n return _this;\n }\n DayTableSlicer.prototype.sliceRange = function (dateRange, dayTableModel) {\n return dayTableModel.sliceRange(dateRange);\n };\n return DayTableSlicer;\n}(Slicer));\n\nvar DayTable = /** @class */ (function (_super) {\n __extends(DayTable, _super);\n function DayTable() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.slicer = new DayTableSlicer();\n _this.tableRef = createRef();\n return _this;\n }\n DayTable.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n return (createElement(Table, __assign({ ref: this.tableRef }, this.slicer.sliceProps(props, props.dateProfile, props.nextDayThreshold, context, props.dayTableModel), { dateProfile: props.dateProfile, cells: props.dayTableModel.cells, colGroupNode: props.colGroupNode, tableMinWidth: props.tableMinWidth, renderRowIntro: props.renderRowIntro, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, showWeekNumbers: props.showWeekNumbers, expandRows: props.expandRows, headerAlignElRef: props.headerAlignElRef, clientWidth: props.clientWidth, clientHeight: props.clientHeight, forPrint: props.forPrint })));\n };\n return DayTable;\n}(DateComponent));\n\nvar DayTableView = /** @class */ (function (_super) {\n __extends(DayTableView, _super);\n function DayTableView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.buildDayTableModel = memoize(buildDayTableModel);\n _this.headerRef = createRef();\n _this.tableRef = createRef();\n return _this;\n }\n DayTableView.prototype.render = function () {\n var _this = this;\n var _a = this.context, options = _a.options, dateProfileGenerator = _a.dateProfileGenerator;\n var props = this.props;\n var dayTableModel = this.buildDayTableModel(props.dateProfile, dateProfileGenerator);\n var headerContent = options.dayHeaders && (createElement(DayHeader, { ref: this.headerRef, dateProfile: props.dateProfile, dates: dayTableModel.headerDates, datesRepDistinctDays: dayTableModel.rowCnt === 1 }));\n var bodyContent = function (contentArg) { return (createElement(DayTable, { ref: _this.tableRef, dateProfile: props.dateProfile, dayTableModel: dayTableModel, businessHours: props.businessHours, dateSelection: props.dateSelection, eventStore: props.eventStore, eventUiBases: props.eventUiBases, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, nextDayThreshold: options.nextDayThreshold, colGroupNode: contentArg.tableColGroupNode, tableMinWidth: contentArg.tableMinWidth, dayMaxEvents: options.dayMaxEvents, dayMaxEventRows: options.dayMaxEventRows, showWeekNumbers: options.weekNumbers, expandRows: !props.isHeightAuto, headerAlignElRef: _this.headerElRef, clientWidth: contentArg.clientWidth, clientHeight: contentArg.clientHeight, forPrint: props.forPrint })); };\n return options.dayMinWidth\n ? this.renderHScrollLayout(headerContent, bodyContent, dayTableModel.colCnt, options.dayMinWidth)\n : this.renderSimpleLayout(headerContent, bodyContent);\n };\n return DayTableView;\n}(TableView));\nfunction buildDayTableModel(dateProfile, dateProfileGenerator) {\n var daySeries = new DaySeriesModel(dateProfile.renderRange, dateProfileGenerator);\n return new DayTableModel(daySeries, /year|month|week/.test(dateProfile.currentRangeUnit));\n}\n\nvar TableDateProfileGenerator = /** @class */ (function (_super) {\n __extends(TableDateProfileGenerator, _super);\n function TableDateProfileGenerator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // Computes the date range that will be rendered.\n TableDateProfileGenerator.prototype.buildRenderRange = function (currentRange, currentRangeUnit, isRangeAllDay) {\n var dateEnv = this.props.dateEnv;\n var renderRange = _super.prototype.buildRenderRange.call(this, currentRange, currentRangeUnit, isRangeAllDay);\n var start = renderRange.start;\n var end = renderRange.end;\n var endOfWeek;\n // year and month views should be aligned with weeks. this is already done for week\n if (/^(year|month)$/.test(currentRangeUnit)) {\n start = dateEnv.startOfWeek(start);\n // make end-of-week if not already\n endOfWeek = dateEnv.startOfWeek(end);\n if (endOfWeek.valueOf() !== end.valueOf()) {\n end = addWeeks(endOfWeek, 1);\n }\n }\n // ensure 6 weeks\n if (this.props.monthMode &&\n this.props.fixedWeekCount) {\n var rowCnt = Math.ceil(// could be partial weeks due to hiddenDays\n diffWeeks(start, end));\n end = addWeeks(end, 6 - rowCnt);\n }\n return { start: start, end: end };\n };\n return TableDateProfileGenerator;\n}(DateProfileGenerator));\n\nvar main = createPlugin({\n initialView: 'dayGridMonth',\n views: {\n dayGrid: {\n component: DayTableView,\n dateProfileGeneratorClass: TableDateProfileGenerator,\n },\n dayGridDay: {\n type: 'dayGrid',\n duration: { days: 1 },\n },\n dayGridWeek: {\n type: 'dayGrid',\n duration: { weeks: 1 },\n },\n dayGridMonth: {\n type: 'dayGrid',\n duration: { months: 1 },\n monthMode: true,\n fixedWeekCount: true,\n },\n },\n});\n\nexport default main;\nexport { DayTableView as DayGridView, DayTable, DayTableSlicer, Table, TableView, buildDayTableModel };\n","/*!\nFullCalendar v5.10.1\nDocs & License: https://fullcalendar.io/\n(c) 2021 Adam Shaw\n*/\nimport { config, elementClosest, Emitter, applyStyle, whenTransitionDone, removeElement, ScrollController, ElementScrollController, computeInnerRect, WindowScrollController, getElRoot, preventSelection, preventContextMenu, allowSelection, allowContextMenu, ElementDragging, computeRect, getClippingParents, pointInsideRect, isDateSpansEqual, constrainPoint, intersectRects, getRectCenter, diffPoints, mapHash, rangeContainsRange, interactionSettingsToStore, Interaction, isDateSelectionValid, enableCursor, disableCursor, triggerDateSelect, compareNumbers, getElSeg, getRelevantEvents, EventApi, createEmptyEventStore, applyMutationToEventStore, isInteractionValid, buildEventApis, interactionSettingsStore, startOfDay, diffDates, createDuration, getEventTargetViaRoot, identity, eventTupleToStore, parseDragMeta, elementMatches, refineEventDef, parseEventDef, getDefaultEventEnd, createEventInstance, BASE_OPTION_DEFAULTS, createPlugin } from '@fullcalendar/common';\nimport { __extends, __assign } from 'tslib';\n\nconfig.touchMouseIgnoreWait = 500;\nvar ignoreMouseDepth = 0;\nvar listenerCnt = 0;\nvar isWindowTouchMoveCancelled = false;\n/*\nUses a \"pointer\" abstraction, which monitors UI events for both mouse and touch.\nTracks when the pointer \"drags\" on a certain element, meaning down+move+up.\n\nAlso, tracks if there was touch-scrolling.\nAlso, can prevent touch-scrolling from happening.\nAlso, can fire pointermove events when scrolling happens underneath, even when no real pointer movement.\n\nemits:\n- pointerdown\n- pointermove\n- pointerup\n*/\nvar PointerDragging = /** @class */ (function () {\n function PointerDragging(containerEl) {\n var _this = this;\n this.subjectEl = null;\n // options that can be directly assigned by caller\n this.selector = ''; // will cause subjectEl in all emitted events to be this element\n this.handleSelector = '';\n this.shouldIgnoreMove = false;\n this.shouldWatchScroll = true; // for simulating pointermove on scroll\n // internal states\n this.isDragging = false;\n this.isTouchDragging = false;\n this.wasTouchScroll = false;\n // Mouse\n // ----------------------------------------------------------------------------------------------------\n this.handleMouseDown = function (ev) {\n if (!_this.shouldIgnoreMouse() &&\n isPrimaryMouseButton(ev) &&\n _this.tryStart(ev)) {\n var pev = _this.createEventFromMouse(ev, true);\n _this.emitter.trigger('pointerdown', pev);\n _this.initScrollWatch(pev);\n if (!_this.shouldIgnoreMove) {\n document.addEventListener('mousemove', _this.handleMouseMove);\n }\n document.addEventListener('mouseup', _this.handleMouseUp);\n }\n };\n this.handleMouseMove = function (ev) {\n var pev = _this.createEventFromMouse(ev);\n _this.recordCoords(pev);\n _this.emitter.trigger('pointermove', pev);\n };\n this.handleMouseUp = function (ev) {\n document.removeEventListener('mousemove', _this.handleMouseMove);\n document.removeEventListener('mouseup', _this.handleMouseUp);\n _this.emitter.trigger('pointerup', _this.createEventFromMouse(ev));\n _this.cleanup(); // call last so that pointerup has access to props\n };\n // Touch\n // ----------------------------------------------------------------------------------------------------\n this.handleTouchStart = function (ev) {\n if (_this.tryStart(ev)) {\n _this.isTouchDragging = true;\n var pev = _this.createEventFromTouch(ev, true);\n _this.emitter.trigger('pointerdown', pev);\n _this.initScrollWatch(pev);\n // unlike mouse, need to attach to target, not document\n // https://stackoverflow.com/a/45760014\n var targetEl = ev.target;\n if (!_this.shouldIgnoreMove) {\n targetEl.addEventListener('touchmove', _this.handleTouchMove);\n }\n targetEl.addEventListener('touchend', _this.handleTouchEnd);\n targetEl.addEventListener('touchcancel', _this.handleTouchEnd); // treat it as a touch end\n // attach a handler to get called when ANY scroll action happens on the page.\n // this was impossible to do with normal on/off because 'scroll' doesn't bubble.\n // http://stackoverflow.com/a/32954565/96342\n window.addEventListener('scroll', _this.handleTouchScroll, true);\n }\n };\n this.handleTouchMove = function (ev) {\n var pev = _this.createEventFromTouch(ev);\n _this.recordCoords(pev);\n _this.emitter.trigger('pointermove', pev);\n };\n this.handleTouchEnd = function (ev) {\n if (_this.isDragging) { // done to guard against touchend followed by touchcancel\n var targetEl = ev.target;\n targetEl.removeEventListener('touchmove', _this.handleTouchMove);\n targetEl.removeEventListener('touchend', _this.handleTouchEnd);\n targetEl.removeEventListener('touchcancel', _this.handleTouchEnd);\n window.removeEventListener('scroll', _this.handleTouchScroll, true); // useCaptured=true\n _this.emitter.trigger('pointerup', _this.createEventFromTouch(ev));\n _this.cleanup(); // call last so that pointerup has access to props\n _this.isTouchDragging = false;\n startIgnoringMouse();\n }\n };\n this.handleTouchScroll = function () {\n _this.wasTouchScroll = true;\n };\n this.handleScroll = function (ev) {\n if (!_this.shouldIgnoreMove) {\n var pageX = (window.pageXOffset - _this.prevScrollX) + _this.prevPageX;\n var pageY = (window.pageYOffset - _this.prevScrollY) + _this.prevPageY;\n _this.emitter.trigger('pointermove', {\n origEvent: ev,\n isTouch: _this.isTouchDragging,\n subjectEl: _this.subjectEl,\n pageX: pageX,\n pageY: pageY,\n deltaX: pageX - _this.origPageX,\n deltaY: pageY - _this.origPageY,\n });\n }\n };\n this.containerEl = containerEl;\n this.emitter = new Emitter();\n containerEl.addEventListener('mousedown', this.handleMouseDown);\n containerEl.addEventListener('touchstart', this.handleTouchStart, { passive: true });\n listenerCreated();\n }\n PointerDragging.prototype.destroy = function () {\n this.containerEl.removeEventListener('mousedown', this.handleMouseDown);\n this.containerEl.removeEventListener('touchstart', this.handleTouchStart, { passive: true });\n listenerDestroyed();\n };\n PointerDragging.prototype.tryStart = function (ev) {\n var subjectEl = this.querySubjectEl(ev);\n var downEl = ev.target;\n if (subjectEl &&\n (!this.handleSelector || elementClosest(downEl, this.handleSelector))) {\n this.subjectEl = subjectEl;\n this.isDragging = true; // do this first so cancelTouchScroll will work\n this.wasTouchScroll = false;\n return true;\n }\n return false;\n };\n PointerDragging.prototype.cleanup = function () {\n isWindowTouchMoveCancelled = false;\n this.isDragging = false;\n this.subjectEl = null;\n // keep wasTouchScroll around for later access\n this.destroyScrollWatch();\n };\n PointerDragging.prototype.querySubjectEl = function (ev) {\n if (this.selector) {\n return elementClosest(ev.target, this.selector);\n }\n return this.containerEl;\n };\n PointerDragging.prototype.shouldIgnoreMouse = function () {\n return ignoreMouseDepth || this.isTouchDragging;\n };\n // can be called by user of this class, to cancel touch-based scrolling for the current drag\n PointerDragging.prototype.cancelTouchScroll = function () {\n if (this.isDragging) {\n isWindowTouchMoveCancelled = true;\n }\n };\n // Scrolling that simulates pointermoves\n // ----------------------------------------------------------------------------------------------------\n PointerDragging.prototype.initScrollWatch = function (ev) {\n if (this.shouldWatchScroll) {\n this.recordCoords(ev);\n window.addEventListener('scroll', this.handleScroll, true); // useCapture=true\n }\n };\n PointerDragging.prototype.recordCoords = function (ev) {\n if (this.shouldWatchScroll) {\n this.prevPageX = ev.pageX;\n this.prevPageY = ev.pageY;\n this.prevScrollX = window.pageXOffset;\n this.prevScrollY = window.pageYOffset;\n }\n };\n PointerDragging.prototype.destroyScrollWatch = function () {\n if (this.shouldWatchScroll) {\n window.removeEventListener('scroll', this.handleScroll, true); // useCaptured=true\n }\n };\n // Event Normalization\n // ----------------------------------------------------------------------------------------------------\n PointerDragging.prototype.createEventFromMouse = function (ev, isFirst) {\n var deltaX = 0;\n var deltaY = 0;\n // TODO: repeat code\n if (isFirst) {\n this.origPageX = ev.pageX;\n this.origPageY = ev.pageY;\n }\n else {\n deltaX = ev.pageX - this.origPageX;\n deltaY = ev.pageY - this.origPageY;\n }\n return {\n origEvent: ev,\n isTouch: false,\n subjectEl: this.subjectEl,\n pageX: ev.pageX,\n pageY: ev.pageY,\n deltaX: deltaX,\n deltaY: deltaY,\n };\n };\n PointerDragging.prototype.createEventFromTouch = function (ev, isFirst) {\n var touches = ev.touches;\n var pageX;\n var pageY;\n var deltaX = 0;\n var deltaY = 0;\n // if touch coords available, prefer,\n // because FF would give bad ev.pageX ev.pageY\n if (touches && touches.length) {\n pageX = touches[0].pageX;\n pageY = touches[0].pageY;\n }\n else {\n pageX = ev.pageX;\n pageY = ev.pageY;\n }\n // TODO: repeat code\n if (isFirst) {\n this.origPageX = pageX;\n this.origPageY = pageY;\n }\n else {\n deltaX = pageX - this.origPageX;\n deltaY = pageY - this.origPageY;\n }\n return {\n origEvent: ev,\n isTouch: true,\n subjectEl: this.subjectEl,\n pageX: pageX,\n pageY: pageY,\n deltaX: deltaX,\n deltaY: deltaY,\n };\n };\n return PointerDragging;\n}());\n// Returns a boolean whether this was a left mouse click and no ctrl key (which means right click on Mac)\nfunction isPrimaryMouseButton(ev) {\n return ev.button === 0 && !ev.ctrlKey;\n}\n// Ignoring fake mouse events generated by touch\n// ----------------------------------------------------------------------------------------------------\nfunction startIgnoringMouse() {\n ignoreMouseDepth += 1;\n setTimeout(function () {\n ignoreMouseDepth -= 1;\n }, config.touchMouseIgnoreWait);\n}\n// We want to attach touchmove as early as possible for Safari\n// ----------------------------------------------------------------------------------------------------\nfunction listenerCreated() {\n listenerCnt += 1;\n if (listenerCnt === 1) {\n window.addEventListener('touchmove', onWindowTouchMove, { passive: false });\n }\n}\nfunction listenerDestroyed() {\n listenerCnt -= 1;\n if (!listenerCnt) {\n window.removeEventListener('touchmove', onWindowTouchMove, { passive: false });\n }\n}\nfunction onWindowTouchMove(ev) {\n if (isWindowTouchMoveCancelled) {\n ev.preventDefault();\n }\n}\n\n/*\nAn effect in which an element follows the movement of a pointer across the screen.\nThe moving element is a clone of some other element.\nMust call start + handleMove + stop.\n*/\nvar ElementMirror = /** @class */ (function () {\n function ElementMirror() {\n this.isVisible = false; // must be explicitly enabled\n this.sourceEl = null;\n this.mirrorEl = null;\n this.sourceElRect = null; // screen coords relative to viewport\n // options that can be set directly by caller\n this.parentNode = document.body; // HIGHLY SUGGESTED to set this to sidestep ShadowDOM issues\n this.zIndex = 9999;\n this.revertDuration = 0;\n }\n ElementMirror.prototype.start = function (sourceEl, pageX, pageY) {\n this.sourceEl = sourceEl;\n this.sourceElRect = this.sourceEl.getBoundingClientRect();\n this.origScreenX = pageX - window.pageXOffset;\n this.origScreenY = pageY - window.pageYOffset;\n this.deltaX = 0;\n this.deltaY = 0;\n this.updateElPosition();\n };\n ElementMirror.prototype.handleMove = function (pageX, pageY) {\n this.deltaX = (pageX - window.pageXOffset) - this.origScreenX;\n this.deltaY = (pageY - window.pageYOffset) - this.origScreenY;\n this.updateElPosition();\n };\n // can be called before start\n ElementMirror.prototype.setIsVisible = function (bool) {\n if (bool) {\n if (!this.isVisible) {\n if (this.mirrorEl) {\n this.mirrorEl.style.display = '';\n }\n this.isVisible = bool; // needs to happen before updateElPosition\n this.updateElPosition(); // because was not updating the position while invisible\n }\n }\n else if (this.isVisible) {\n if (this.mirrorEl) {\n this.mirrorEl.style.display = 'none';\n }\n this.isVisible = bool;\n }\n };\n // always async\n ElementMirror.prototype.stop = function (needsRevertAnimation, callback) {\n var _this = this;\n var done = function () {\n _this.cleanup();\n callback();\n };\n if (needsRevertAnimation &&\n this.mirrorEl &&\n this.isVisible &&\n this.revertDuration && // if 0, transition won't work\n (this.deltaX || this.deltaY) // if same coords, transition won't work\n ) {\n this.doRevertAnimation(done, this.revertDuration);\n }\n else {\n setTimeout(done, 0);\n }\n };\n ElementMirror.prototype.doRevertAnimation = function (callback, revertDuration) {\n var mirrorEl = this.mirrorEl;\n var finalSourceElRect = this.sourceEl.getBoundingClientRect(); // because autoscrolling might have happened\n mirrorEl.style.transition =\n 'top ' + revertDuration + 'ms,' +\n 'left ' + revertDuration + 'ms';\n applyStyle(mirrorEl, {\n left: finalSourceElRect.left,\n top: finalSourceElRect.top,\n });\n whenTransitionDone(mirrorEl, function () {\n mirrorEl.style.transition = '';\n callback();\n });\n };\n ElementMirror.prototype.cleanup = function () {\n if (this.mirrorEl) {\n removeElement(this.mirrorEl);\n this.mirrorEl = null;\n }\n this.sourceEl = null;\n };\n ElementMirror.prototype.updateElPosition = function () {\n if (this.sourceEl && this.isVisible) {\n applyStyle(this.getMirrorEl(), {\n left: this.sourceElRect.left + this.deltaX,\n top: this.sourceElRect.top + this.deltaY,\n });\n }\n };\n ElementMirror.prototype.getMirrorEl = function () {\n var sourceElRect = this.sourceElRect;\n var mirrorEl = this.mirrorEl;\n if (!mirrorEl) {\n mirrorEl = this.mirrorEl = this.sourceEl.cloneNode(true); // cloneChildren=true\n // we don't want long taps or any mouse interaction causing selection/menus.\n // would use preventSelection(), but that prevents selectstart, causing problems.\n mirrorEl.classList.add('fc-unselectable');\n mirrorEl.classList.add('fc-event-dragging');\n applyStyle(mirrorEl, {\n position: 'fixed',\n zIndex: this.zIndex,\n visibility: '',\n boxSizing: 'border-box',\n width: sourceElRect.right - sourceElRect.left,\n height: sourceElRect.bottom - sourceElRect.top,\n right: 'auto',\n bottom: 'auto',\n margin: 0,\n });\n this.parentNode.appendChild(mirrorEl);\n }\n return mirrorEl;\n };\n return ElementMirror;\n}());\n\n/*\nIs a cache for a given element's scroll information (all the info that ScrollController stores)\nin addition the \"client rectangle\" of the element.. the area within the scrollbars.\n\nThe cache can be in one of two modes:\n- doesListening:false - ignores when the container is scrolled by someone else\n- doesListening:true - watch for scrolling and update the cache\n*/\nvar ScrollGeomCache = /** @class */ (function (_super) {\n __extends(ScrollGeomCache, _super);\n function ScrollGeomCache(scrollController, doesListening) {\n var _this = _super.call(this) || this;\n _this.handleScroll = function () {\n _this.scrollTop = _this.scrollController.getScrollTop();\n _this.scrollLeft = _this.scrollController.getScrollLeft();\n _this.handleScrollChange();\n };\n _this.scrollController = scrollController;\n _this.doesListening = doesListening;\n _this.scrollTop = _this.origScrollTop = scrollController.getScrollTop();\n _this.scrollLeft = _this.origScrollLeft = scrollController.getScrollLeft();\n _this.scrollWidth = scrollController.getScrollWidth();\n _this.scrollHeight = scrollController.getScrollHeight();\n _this.clientWidth = scrollController.getClientWidth();\n _this.clientHeight = scrollController.getClientHeight();\n _this.clientRect = _this.computeClientRect(); // do last in case it needs cached values\n if (_this.doesListening) {\n _this.getEventTarget().addEventListener('scroll', _this.handleScroll);\n }\n return _this;\n }\n ScrollGeomCache.prototype.destroy = function () {\n if (this.doesListening) {\n this.getEventTarget().removeEventListener('scroll', this.handleScroll);\n }\n };\n ScrollGeomCache.prototype.getScrollTop = function () {\n return this.scrollTop;\n };\n ScrollGeomCache.prototype.getScrollLeft = function () {\n return this.scrollLeft;\n };\n ScrollGeomCache.prototype.setScrollTop = function (top) {\n this.scrollController.setScrollTop(top);\n if (!this.doesListening) {\n // we are not relying on the element to normalize out-of-bounds scroll values\n // so we need to sanitize ourselves\n this.scrollTop = Math.max(Math.min(top, this.getMaxScrollTop()), 0);\n this.handleScrollChange();\n }\n };\n ScrollGeomCache.prototype.setScrollLeft = function (top) {\n this.scrollController.setScrollLeft(top);\n if (!this.doesListening) {\n // we are not relying on the element to normalize out-of-bounds scroll values\n // so we need to sanitize ourselves\n this.scrollLeft = Math.max(Math.min(top, this.getMaxScrollLeft()), 0);\n this.handleScrollChange();\n }\n };\n ScrollGeomCache.prototype.getClientWidth = function () {\n return this.clientWidth;\n };\n ScrollGeomCache.prototype.getClientHeight = function () {\n return this.clientHeight;\n };\n ScrollGeomCache.prototype.getScrollWidth = function () {\n return this.scrollWidth;\n };\n ScrollGeomCache.prototype.getScrollHeight = function () {\n return this.scrollHeight;\n };\n ScrollGeomCache.prototype.handleScrollChange = function () {\n };\n return ScrollGeomCache;\n}(ScrollController));\n\nvar ElementScrollGeomCache = /** @class */ (function (_super) {\n __extends(ElementScrollGeomCache, _super);\n function ElementScrollGeomCache(el, doesListening) {\n return _super.call(this, new ElementScrollController(el), doesListening) || this;\n }\n ElementScrollGeomCache.prototype.getEventTarget = function () {\n return this.scrollController.el;\n };\n ElementScrollGeomCache.prototype.computeClientRect = function () {\n return computeInnerRect(this.scrollController.el);\n };\n return ElementScrollGeomCache;\n}(ScrollGeomCache));\n\nvar WindowScrollGeomCache = /** @class */ (function (_super) {\n __extends(WindowScrollGeomCache, _super);\n function WindowScrollGeomCache(doesListening) {\n return _super.call(this, new WindowScrollController(), doesListening) || this;\n }\n WindowScrollGeomCache.prototype.getEventTarget = function () {\n return window;\n };\n WindowScrollGeomCache.prototype.computeClientRect = function () {\n return {\n left: this.scrollLeft,\n right: this.scrollLeft + this.clientWidth,\n top: this.scrollTop,\n bottom: this.scrollTop + this.clientHeight,\n };\n };\n // the window is the only scroll object that changes it's rectangle relative\n // to the document's topleft as it scrolls\n WindowScrollGeomCache.prototype.handleScrollChange = function () {\n this.clientRect = this.computeClientRect();\n };\n return WindowScrollGeomCache;\n}(ScrollGeomCache));\n\n// If available we are using native \"performance\" API instead of \"Date\"\n// Read more about it on MDN:\n// https://developer.mozilla.org/en-US/docs/Web/API/Performance\nvar getTime = typeof performance === 'function' ? performance.now : Date.now;\n/*\nFor a pointer interaction, automatically scrolls certain scroll containers when the pointer\napproaches the edge.\n\nThe caller must call start + handleMove + stop.\n*/\nvar AutoScroller = /** @class */ (function () {\n function AutoScroller() {\n var _this = this;\n // options that can be set by caller\n this.isEnabled = true;\n this.scrollQuery = [window, '.fc-scroller'];\n this.edgeThreshold = 50; // pixels\n this.maxVelocity = 300; // pixels per second\n // internal state\n this.pointerScreenX = null;\n this.pointerScreenY = null;\n this.isAnimating = false;\n this.scrollCaches = null;\n // protect against the initial pointerdown being too close to an edge and starting the scroll\n this.everMovedUp = false;\n this.everMovedDown = false;\n this.everMovedLeft = false;\n this.everMovedRight = false;\n this.animate = function () {\n if (_this.isAnimating) { // wasn't cancelled between animation calls\n var edge = _this.computeBestEdge(_this.pointerScreenX + window.pageXOffset, _this.pointerScreenY + window.pageYOffset);\n if (edge) {\n var now = getTime();\n _this.handleSide(edge, (now - _this.msSinceRequest) / 1000);\n _this.requestAnimation(now);\n }\n else {\n _this.isAnimating = false; // will stop animation\n }\n }\n };\n }\n AutoScroller.prototype.start = function (pageX, pageY, scrollStartEl) {\n if (this.isEnabled) {\n this.scrollCaches = this.buildCaches(scrollStartEl);\n this.pointerScreenX = null;\n this.pointerScreenY = null;\n this.everMovedUp = false;\n this.everMovedDown = false;\n this.everMovedLeft = false;\n this.everMovedRight = false;\n this.handleMove(pageX, pageY);\n }\n };\n AutoScroller.prototype.handleMove = function (pageX, pageY) {\n if (this.isEnabled) {\n var pointerScreenX = pageX - window.pageXOffset;\n var pointerScreenY = pageY - window.pageYOffset;\n var yDelta = this.pointerScreenY === null ? 0 : pointerScreenY - this.pointerScreenY;\n var xDelta = this.pointerScreenX === null ? 0 : pointerScreenX - this.pointerScreenX;\n if (yDelta < 0) {\n this.everMovedUp = true;\n }\n else if (yDelta > 0) {\n this.everMovedDown = true;\n }\n if (xDelta < 0) {\n this.everMovedLeft = true;\n }\n else if (xDelta > 0) {\n this.everMovedRight = true;\n }\n this.pointerScreenX = pointerScreenX;\n this.pointerScreenY = pointerScreenY;\n if (!this.isAnimating) {\n this.isAnimating = true;\n this.requestAnimation(getTime());\n }\n }\n };\n AutoScroller.prototype.stop = function () {\n if (this.isEnabled) {\n this.isAnimating = false; // will stop animation\n for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {\n var scrollCache = _a[_i];\n scrollCache.destroy();\n }\n this.scrollCaches = null;\n }\n };\n AutoScroller.prototype.requestAnimation = function (now) {\n this.msSinceRequest = now;\n requestAnimationFrame(this.animate);\n };\n AutoScroller.prototype.handleSide = function (edge, seconds) {\n var scrollCache = edge.scrollCache;\n var edgeThreshold = this.edgeThreshold;\n var invDistance = edgeThreshold - edge.distance;\n var velocity = // the closer to the edge, the faster we scroll\n ((invDistance * invDistance) / (edgeThreshold * edgeThreshold)) * // quadratic\n this.maxVelocity * seconds;\n var sign = 1;\n switch (edge.name) {\n case 'left':\n sign = -1;\n // falls through\n case 'right':\n scrollCache.setScrollLeft(scrollCache.getScrollLeft() + velocity * sign);\n break;\n case 'top':\n sign = -1;\n // falls through\n case 'bottom':\n scrollCache.setScrollTop(scrollCache.getScrollTop() + velocity * sign);\n break;\n }\n };\n // left/top are relative to document topleft\n AutoScroller.prototype.computeBestEdge = function (left, top) {\n var edgeThreshold = this.edgeThreshold;\n var bestSide = null;\n for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {\n var scrollCache = _a[_i];\n var rect = scrollCache.clientRect;\n var leftDist = left - rect.left;\n var rightDist = rect.right - left;\n var topDist = top - rect.top;\n var bottomDist = rect.bottom - top;\n // completely within the rect?\n if (leftDist >= 0 && rightDist >= 0 && topDist >= 0 && bottomDist >= 0) {\n if (topDist <= edgeThreshold && this.everMovedUp && scrollCache.canScrollUp() &&\n (!bestSide || bestSide.distance > topDist)) {\n bestSide = { scrollCache: scrollCache, name: 'top', distance: topDist };\n }\n if (bottomDist <= edgeThreshold && this.everMovedDown && scrollCache.canScrollDown() &&\n (!bestSide || bestSide.distance > bottomDist)) {\n bestSide = { scrollCache: scrollCache, name: 'bottom', distance: bottomDist };\n }\n if (leftDist <= edgeThreshold && this.everMovedLeft && scrollCache.canScrollLeft() &&\n (!bestSide || bestSide.distance > leftDist)) {\n bestSide = { scrollCache: scrollCache, name: 'left', distance: leftDist };\n }\n if (rightDist <= edgeThreshold && this.everMovedRight && scrollCache.canScrollRight() &&\n (!bestSide || bestSide.distance > rightDist)) {\n bestSide = { scrollCache: scrollCache, name: 'right', distance: rightDist };\n }\n }\n }\n return bestSide;\n };\n AutoScroller.prototype.buildCaches = function (scrollStartEl) {\n return this.queryScrollEls(scrollStartEl).map(function (el) {\n if (el === window) {\n return new WindowScrollGeomCache(false); // false = don't listen to user-generated scrolls\n }\n return new ElementScrollGeomCache(el, false); // false = don't listen to user-generated scrolls\n });\n };\n AutoScroller.prototype.queryScrollEls = function (scrollStartEl) {\n var els = [];\n for (var _i = 0, _a = this.scrollQuery; _i < _a.length; _i++) {\n var query = _a[_i];\n if (typeof query === 'object') {\n els.push(query);\n }\n else {\n els.push.apply(els, Array.prototype.slice.call(getElRoot(scrollStartEl).querySelectorAll(query)));\n }\n }\n return els;\n };\n return AutoScroller;\n}());\n\n/*\nMonitors dragging on an element. Has a number of high-level features:\n- minimum distance required before dragging\n- minimum wait time (\"delay\") before dragging\n- a mirror element that follows the pointer\n*/\nvar FeaturefulElementDragging = /** @class */ (function (_super) {\n __extends(FeaturefulElementDragging, _super);\n function FeaturefulElementDragging(containerEl, selector) {\n var _this = _super.call(this, containerEl) || this;\n _this.containerEl = containerEl;\n // options that can be directly set by caller\n // the caller can also set the PointerDragging's options as well\n _this.delay = null;\n _this.minDistance = 0;\n _this.touchScrollAllowed = true; // prevents drag from starting and blocks scrolling during drag\n _this.mirrorNeedsRevert = false;\n _this.isInteracting = false; // is the user validly moving the pointer? lasts until pointerup\n _this.isDragging = false; // is it INTENTFULLY dragging? lasts until after revert animation\n _this.isDelayEnded = false;\n _this.isDistanceSurpassed = false;\n _this.delayTimeoutId = null;\n _this.onPointerDown = function (ev) {\n if (!_this.isDragging) { // so new drag doesn't happen while revert animation is going\n _this.isInteracting = true;\n _this.isDelayEnded = false;\n _this.isDistanceSurpassed = false;\n preventSelection(document.body);\n preventContextMenu(document.body);\n // prevent links from being visited if there's an eventual drag.\n // also prevents selection in older browsers (maybe?).\n // not necessary for touch, besides, browser would complain about passiveness.\n if (!ev.isTouch) {\n ev.origEvent.preventDefault();\n }\n _this.emitter.trigger('pointerdown', ev);\n if (_this.isInteracting && // not destroyed via pointerdown handler\n !_this.pointer.shouldIgnoreMove) {\n // actions related to initiating dragstart+dragmove+dragend...\n _this.mirror.setIsVisible(false); // reset. caller must set-visible\n _this.mirror.start(ev.subjectEl, ev.pageX, ev.pageY); // must happen on first pointer down\n _this.startDelay(ev);\n if (!_this.minDistance) {\n _this.handleDistanceSurpassed(ev);\n }\n }\n }\n };\n _this.onPointerMove = function (ev) {\n if (_this.isInteracting) {\n _this.emitter.trigger('pointermove', ev);\n if (!_this.isDistanceSurpassed) {\n var minDistance = _this.minDistance;\n var distanceSq = void 0; // current distance from the origin, squared\n var deltaX = ev.deltaX, deltaY = ev.deltaY;\n distanceSq = deltaX * deltaX + deltaY * deltaY;\n if (distanceSq >= minDistance * minDistance) { // use pythagorean theorem\n _this.handleDistanceSurpassed(ev);\n }\n }\n if (_this.isDragging) {\n // a real pointer move? (not one simulated by scrolling)\n if (ev.origEvent.type !== 'scroll') {\n _this.mirror.handleMove(ev.pageX, ev.pageY);\n _this.autoScroller.handleMove(ev.pageX, ev.pageY);\n }\n _this.emitter.trigger('dragmove', ev);\n }\n }\n };\n _this.onPointerUp = function (ev) {\n if (_this.isInteracting) {\n _this.isInteracting = false;\n allowSelection(document.body);\n allowContextMenu(document.body);\n _this.emitter.trigger('pointerup', ev); // can potentially set mirrorNeedsRevert\n if (_this.isDragging) {\n _this.autoScroller.stop();\n _this.tryStopDrag(ev); // which will stop the mirror\n }\n if (_this.delayTimeoutId) {\n clearTimeout(_this.delayTimeoutId);\n _this.delayTimeoutId = null;\n }\n }\n };\n var pointer = _this.pointer = new PointerDragging(containerEl);\n pointer.emitter.on('pointerdown', _this.onPointerDown);\n pointer.emitter.on('pointermove', _this.onPointerMove);\n pointer.emitter.on('pointerup', _this.onPointerUp);\n if (selector) {\n pointer.selector = selector;\n }\n _this.mirror = new ElementMirror();\n _this.autoScroller = new AutoScroller();\n return _this;\n }\n FeaturefulElementDragging.prototype.destroy = function () {\n this.pointer.destroy();\n // HACK: simulate a pointer-up to end the current drag\n // TODO: fire 'dragend' directly and stop interaction. discourage use of pointerup event (b/c might not fire)\n this.onPointerUp({});\n };\n FeaturefulElementDragging.prototype.startDelay = function (ev) {\n var _this = this;\n if (typeof this.delay === 'number') {\n this.delayTimeoutId = setTimeout(function () {\n _this.delayTimeoutId = null;\n _this.handleDelayEnd(ev);\n }, this.delay); // not assignable to number!\n }\n else {\n this.handleDelayEnd(ev);\n }\n };\n FeaturefulElementDragging.prototype.handleDelayEnd = function (ev) {\n this.isDelayEnded = true;\n this.tryStartDrag(ev);\n };\n FeaturefulElementDragging.prototype.handleDistanceSurpassed = function (ev) {\n this.isDistanceSurpassed = true;\n this.tryStartDrag(ev);\n };\n FeaturefulElementDragging.prototype.tryStartDrag = function (ev) {\n if (this.isDelayEnded && this.isDistanceSurpassed) {\n if (!this.pointer.wasTouchScroll || this.touchScrollAllowed) {\n this.isDragging = true;\n this.mirrorNeedsRevert = false;\n this.autoScroller.start(ev.pageX, ev.pageY, this.containerEl);\n this.emitter.trigger('dragstart', ev);\n if (this.touchScrollAllowed === false) {\n this.pointer.cancelTouchScroll();\n }\n }\n }\n };\n FeaturefulElementDragging.prototype.tryStopDrag = function (ev) {\n // .stop() is ALWAYS asynchronous, which we NEED because we want all pointerup events\n // that come from the document to fire beforehand. much more convenient this way.\n this.mirror.stop(this.mirrorNeedsRevert, this.stopDrag.bind(this, ev));\n };\n FeaturefulElementDragging.prototype.stopDrag = function (ev) {\n this.isDragging = false;\n this.emitter.trigger('dragend', ev);\n };\n // fill in the implementations...\n FeaturefulElementDragging.prototype.setIgnoreMove = function (bool) {\n this.pointer.shouldIgnoreMove = bool;\n };\n FeaturefulElementDragging.prototype.setMirrorIsVisible = function (bool) {\n this.mirror.setIsVisible(bool);\n };\n FeaturefulElementDragging.prototype.setMirrorNeedsRevert = function (bool) {\n this.mirrorNeedsRevert = bool;\n };\n FeaturefulElementDragging.prototype.setAutoScrollEnabled = function (bool) {\n this.autoScroller.isEnabled = bool;\n };\n return FeaturefulElementDragging;\n}(ElementDragging));\n\n/*\nWhen this class is instantiated, it records the offset of an element (relative to the document topleft),\nand continues to monitor scrolling, updating the cached coordinates if it needs to.\nDoes not access the DOM after instantiation, so highly performant.\n\nAlso keeps track of all scrolling/overflow:hidden containers that are parents of the given element\nand an determine if a given point is inside the combined clipping rectangle.\n*/\nvar OffsetTracker = /** @class */ (function () {\n function OffsetTracker(el) {\n this.origRect = computeRect(el);\n // will work fine for divs that have overflow:hidden\n this.scrollCaches = getClippingParents(el).map(function (scrollEl) { return new ElementScrollGeomCache(scrollEl, true); });\n }\n OffsetTracker.prototype.destroy = function () {\n for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {\n var scrollCache = _a[_i];\n scrollCache.destroy();\n }\n };\n OffsetTracker.prototype.computeLeft = function () {\n var left = this.origRect.left;\n for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {\n var scrollCache = _a[_i];\n left += scrollCache.origScrollLeft - scrollCache.getScrollLeft();\n }\n return left;\n };\n OffsetTracker.prototype.computeTop = function () {\n var top = this.origRect.top;\n for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {\n var scrollCache = _a[_i];\n top += scrollCache.origScrollTop - scrollCache.getScrollTop();\n }\n return top;\n };\n OffsetTracker.prototype.isWithinClipping = function (pageX, pageY) {\n var point = { left: pageX, top: pageY };\n for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {\n var scrollCache = _a[_i];\n if (!isIgnoredClipping(scrollCache.getEventTarget()) &&\n !pointInsideRect(point, scrollCache.clientRect)) {\n return false;\n }\n }\n return true;\n };\n return OffsetTracker;\n}());\n// certain clipping containers should never constrain interactions, like and \n// https://github.com/fullcalendar/fullcalendar/issues/3615\nfunction isIgnoredClipping(node) {\n var tagName = node.tagName;\n return tagName === 'HTML' || tagName === 'BODY';\n}\n\n/*\nTracks movement over multiple droppable areas (aka \"hits\")\nthat exist in one or more DateComponents.\nRelies on an existing draggable.\n\nemits:\n- pointerdown\n- dragstart\n- hitchange - fires initially, even if not over a hit\n- pointerup\n- (hitchange - again, to null, if ended over a hit)\n- dragend\n*/\nvar HitDragging = /** @class */ (function () {\n function HitDragging(dragging, droppableStore) {\n var _this = this;\n // options that can be set by caller\n this.useSubjectCenter = false;\n this.requireInitial = true; // if doesn't start out on a hit, won't emit any events\n this.initialHit = null;\n this.movingHit = null;\n this.finalHit = null; // won't ever be populated if shouldIgnoreMove\n this.handlePointerDown = function (ev) {\n var dragging = _this.dragging;\n _this.initialHit = null;\n _this.movingHit = null;\n _this.finalHit = null;\n _this.prepareHits();\n _this.processFirstCoord(ev);\n if (_this.initialHit || !_this.requireInitial) {\n dragging.setIgnoreMove(false);\n // TODO: fire this before computing processFirstCoord, so listeners can cancel. this gets fired by almost every handler :(\n _this.emitter.trigger('pointerdown', ev);\n }\n else {\n dragging.setIgnoreMove(true);\n }\n };\n this.handleDragStart = function (ev) {\n _this.emitter.trigger('dragstart', ev);\n _this.handleMove(ev, true); // force = fire even if initially null\n };\n this.handleDragMove = function (ev) {\n _this.emitter.trigger('dragmove', ev);\n _this.handleMove(ev);\n };\n this.handlePointerUp = function (ev) {\n _this.releaseHits();\n _this.emitter.trigger('pointerup', ev);\n };\n this.handleDragEnd = function (ev) {\n if (_this.movingHit) {\n _this.emitter.trigger('hitupdate', null, true, ev);\n }\n _this.finalHit = _this.movingHit;\n _this.movingHit = null;\n _this.emitter.trigger('dragend', ev);\n };\n this.droppableStore = droppableStore;\n dragging.emitter.on('pointerdown', this.handlePointerDown);\n dragging.emitter.on('dragstart', this.handleDragStart);\n dragging.emitter.on('dragmove', this.handleDragMove);\n dragging.emitter.on('pointerup', this.handlePointerUp);\n dragging.emitter.on('dragend', this.handleDragEnd);\n this.dragging = dragging;\n this.emitter = new Emitter();\n }\n // sets initialHit\n // sets coordAdjust\n HitDragging.prototype.processFirstCoord = function (ev) {\n var origPoint = { left: ev.pageX, top: ev.pageY };\n var adjustedPoint = origPoint;\n var subjectEl = ev.subjectEl;\n var subjectRect;\n if (subjectEl instanceof HTMLElement) { // i.e. not a Document/ShadowRoot\n subjectRect = computeRect(subjectEl);\n adjustedPoint = constrainPoint(adjustedPoint, subjectRect);\n }\n var initialHit = this.initialHit = this.queryHitForOffset(adjustedPoint.left, adjustedPoint.top);\n if (initialHit) {\n if (this.useSubjectCenter && subjectRect) {\n var slicedSubjectRect = intersectRects(subjectRect, initialHit.rect);\n if (slicedSubjectRect) {\n adjustedPoint = getRectCenter(slicedSubjectRect);\n }\n }\n this.coordAdjust = diffPoints(adjustedPoint, origPoint);\n }\n else {\n this.coordAdjust = { left: 0, top: 0 };\n }\n };\n HitDragging.prototype.handleMove = function (ev, forceHandle) {\n var hit = this.queryHitForOffset(ev.pageX + this.coordAdjust.left, ev.pageY + this.coordAdjust.top);\n if (forceHandle || !isHitsEqual(this.movingHit, hit)) {\n this.movingHit = hit;\n this.emitter.trigger('hitupdate', hit, false, ev);\n }\n };\n HitDragging.prototype.prepareHits = function () {\n this.offsetTrackers = mapHash(this.droppableStore, function (interactionSettings) {\n interactionSettings.component.prepareHits();\n return new OffsetTracker(interactionSettings.el);\n });\n };\n HitDragging.prototype.releaseHits = function () {\n var offsetTrackers = this.offsetTrackers;\n for (var id in offsetTrackers) {\n offsetTrackers[id].destroy();\n }\n this.offsetTrackers = {};\n };\n HitDragging.prototype.queryHitForOffset = function (offsetLeft, offsetTop) {\n var _a = this, droppableStore = _a.droppableStore, offsetTrackers = _a.offsetTrackers;\n var bestHit = null;\n for (var id in droppableStore) {\n var component = droppableStore[id].component;\n var offsetTracker = offsetTrackers[id];\n if (offsetTracker && // wasn't destroyed mid-drag\n offsetTracker.isWithinClipping(offsetLeft, offsetTop)) {\n var originLeft = offsetTracker.computeLeft();\n var originTop = offsetTracker.computeTop();\n var positionLeft = offsetLeft - originLeft;\n var positionTop = offsetTop - originTop;\n var origRect = offsetTracker.origRect;\n var width = origRect.right - origRect.left;\n var height = origRect.bottom - origRect.top;\n if (\n // must be within the element's bounds\n positionLeft >= 0 && positionLeft < width &&\n positionTop >= 0 && positionTop < height) {\n var hit = component.queryHit(positionLeft, positionTop, width, height);\n if (hit && (\n // make sure the hit is within activeRange, meaning it's not a dead cell\n rangeContainsRange(hit.dateProfile.activeRange, hit.dateSpan.range)) &&\n (!bestHit || hit.layer > bestHit.layer)) {\n hit.componentId = id;\n hit.context = component.context;\n // TODO: better way to re-orient rectangle\n hit.rect.left += originLeft;\n hit.rect.right += originLeft;\n hit.rect.top += originTop;\n hit.rect.bottom += originTop;\n bestHit = hit;\n }\n }\n }\n }\n return bestHit;\n };\n return HitDragging;\n}());\nfunction isHitsEqual(hit0, hit1) {\n if (!hit0 && !hit1) {\n return true;\n }\n if (Boolean(hit0) !== Boolean(hit1)) {\n return false;\n }\n return isDateSpansEqual(hit0.dateSpan, hit1.dateSpan);\n}\n\nfunction buildDatePointApiWithContext(dateSpan, context) {\n var props = {};\n for (var _i = 0, _a = context.pluginHooks.datePointTransforms; _i < _a.length; _i++) {\n var transform = _a[_i];\n __assign(props, transform(dateSpan, context));\n }\n __assign(props, buildDatePointApi(dateSpan, context.dateEnv));\n return props;\n}\nfunction buildDatePointApi(span, dateEnv) {\n return {\n date: dateEnv.toDate(span.range.start),\n dateStr: dateEnv.formatIso(span.range.start, { omitTime: span.allDay }),\n allDay: span.allDay,\n };\n}\n\n/*\nMonitors when the user clicks on a specific date/time of a component.\nA pointerdown+pointerup on the same \"hit\" constitutes a click.\n*/\nvar DateClicking = /** @class */ (function (_super) {\n __extends(DateClicking, _super);\n function DateClicking(settings) {\n var _this = _super.call(this, settings) || this;\n _this.handlePointerDown = function (pev) {\n var dragging = _this.dragging;\n var downEl = pev.origEvent.target;\n // do this in pointerdown (not dragend) because DOM might be mutated by the time dragend is fired\n dragging.setIgnoreMove(!_this.component.isValidDateDownEl(downEl));\n };\n // won't even fire if moving was ignored\n _this.handleDragEnd = function (ev) {\n var component = _this.component;\n var pointer = _this.dragging.pointer;\n if (!pointer.wasTouchScroll) {\n var _a = _this.hitDragging, initialHit = _a.initialHit, finalHit = _a.finalHit;\n if (initialHit && finalHit && isHitsEqual(initialHit, finalHit)) {\n var context = component.context;\n var arg = __assign(__assign({}, buildDatePointApiWithContext(initialHit.dateSpan, context)), { dayEl: initialHit.dayEl, jsEvent: ev.origEvent, view: context.viewApi || context.calendarApi.view });\n context.emitter.trigger('dateClick', arg);\n }\n }\n };\n // we DO want to watch pointer moves because otherwise finalHit won't get populated\n _this.dragging = new FeaturefulElementDragging(settings.el);\n _this.dragging.autoScroller.isEnabled = false;\n var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, interactionSettingsToStore(settings));\n hitDragging.emitter.on('pointerdown', _this.handlePointerDown);\n hitDragging.emitter.on('dragend', _this.handleDragEnd);\n return _this;\n }\n DateClicking.prototype.destroy = function () {\n this.dragging.destroy();\n };\n return DateClicking;\n}(Interaction));\n\n/*\nTracks when the user selects a portion of time of a component,\nconstituted by a drag over date cells, with a possible delay at the beginning of the drag.\n*/\nvar DateSelecting = /** @class */ (function (_super) {\n __extends(DateSelecting, _super);\n function DateSelecting(settings) {\n var _this = _super.call(this, settings) || this;\n _this.dragSelection = null;\n _this.handlePointerDown = function (ev) {\n var _a = _this, component = _a.component, dragging = _a.dragging;\n var options = component.context.options;\n var canSelect = options.selectable &&\n component.isValidDateDownEl(ev.origEvent.target);\n // don't bother to watch expensive moves if component won't do selection\n dragging.setIgnoreMove(!canSelect);\n // if touch, require user to hold down\n dragging.delay = ev.isTouch ? getComponentTouchDelay$1(component) : null;\n };\n _this.handleDragStart = function (ev) {\n _this.component.context.calendarApi.unselect(ev); // unselect previous selections\n };\n _this.handleHitUpdate = function (hit, isFinal) {\n var context = _this.component.context;\n var dragSelection = null;\n var isInvalid = false;\n if (hit) {\n var initialHit = _this.hitDragging.initialHit;\n var disallowed = hit.componentId === initialHit.componentId\n && _this.isHitComboAllowed\n && !_this.isHitComboAllowed(initialHit, hit);\n if (!disallowed) {\n dragSelection = joinHitsIntoSelection(initialHit, hit, context.pluginHooks.dateSelectionTransformers);\n }\n if (!dragSelection || !isDateSelectionValid(dragSelection, hit.dateProfile, context)) {\n isInvalid = true;\n dragSelection = null;\n }\n }\n if (dragSelection) {\n context.dispatch({ type: 'SELECT_DATES', selection: dragSelection });\n }\n else if (!isFinal) { // only unselect if moved away while dragging\n context.dispatch({ type: 'UNSELECT_DATES' });\n }\n if (!isInvalid) {\n enableCursor();\n }\n else {\n disableCursor();\n }\n if (!isFinal) {\n _this.dragSelection = dragSelection; // only clear if moved away from all hits while dragging\n }\n };\n _this.handlePointerUp = function (pev) {\n if (_this.dragSelection) {\n // selection is already rendered, so just need to report selection\n triggerDateSelect(_this.dragSelection, pev, _this.component.context);\n _this.dragSelection = null;\n }\n };\n var component = settings.component;\n var options = component.context.options;\n var dragging = _this.dragging = new FeaturefulElementDragging(settings.el);\n dragging.touchScrollAllowed = false;\n dragging.minDistance = options.selectMinDistance || 0;\n dragging.autoScroller.isEnabled = options.dragScroll;\n var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, interactionSettingsToStore(settings));\n hitDragging.emitter.on('pointerdown', _this.handlePointerDown);\n hitDragging.emitter.on('dragstart', _this.handleDragStart);\n hitDragging.emitter.on('hitupdate', _this.handleHitUpdate);\n hitDragging.emitter.on('pointerup', _this.handlePointerUp);\n return _this;\n }\n DateSelecting.prototype.destroy = function () {\n this.dragging.destroy();\n };\n return DateSelecting;\n}(Interaction));\nfunction getComponentTouchDelay$1(component) {\n var options = component.context.options;\n var delay = options.selectLongPressDelay;\n if (delay == null) {\n delay = options.longPressDelay;\n }\n return delay;\n}\nfunction joinHitsIntoSelection(hit0, hit1, dateSelectionTransformers) {\n var dateSpan0 = hit0.dateSpan;\n var dateSpan1 = hit1.dateSpan;\n var ms = [\n dateSpan0.range.start,\n dateSpan0.range.end,\n dateSpan1.range.start,\n dateSpan1.range.end,\n ];\n ms.sort(compareNumbers);\n var props = {};\n for (var _i = 0, dateSelectionTransformers_1 = dateSelectionTransformers; _i < dateSelectionTransformers_1.length; _i++) {\n var transformer = dateSelectionTransformers_1[_i];\n var res = transformer(hit0, hit1);\n if (res === false) {\n return null;\n }\n if (res) {\n __assign(props, res);\n }\n }\n props.range = { start: ms[0], end: ms[3] };\n props.allDay = dateSpan0.allDay;\n return props;\n}\n\nvar EventDragging = /** @class */ (function (_super) {\n __extends(EventDragging, _super);\n function EventDragging(settings) {\n var _this = _super.call(this, settings) || this;\n // internal state\n _this.subjectEl = null;\n _this.subjectSeg = null; // the seg being selected/dragged\n _this.isDragging = false;\n _this.eventRange = null;\n _this.relevantEvents = null; // the events being dragged\n _this.receivingContext = null;\n _this.validMutation = null;\n _this.mutatedRelevantEvents = null;\n _this.handlePointerDown = function (ev) {\n var origTarget = ev.origEvent.target;\n var _a = _this, component = _a.component, dragging = _a.dragging;\n var mirror = dragging.mirror;\n var options = component.context.options;\n var initialContext = component.context;\n _this.subjectEl = ev.subjectEl;\n var subjectSeg = _this.subjectSeg = getElSeg(ev.subjectEl);\n var eventRange = _this.eventRange = subjectSeg.eventRange;\n var eventInstanceId = eventRange.instance.instanceId;\n _this.relevantEvents = getRelevantEvents(initialContext.getCurrentData().eventStore, eventInstanceId);\n dragging.minDistance = ev.isTouch ? 0 : options.eventDragMinDistance;\n dragging.delay =\n // only do a touch delay if touch and this event hasn't been selected yet\n (ev.isTouch && eventInstanceId !== component.props.eventSelection) ?\n getComponentTouchDelay(component) :\n null;\n if (options.fixedMirrorParent) {\n mirror.parentNode = options.fixedMirrorParent;\n }\n else {\n mirror.parentNode = elementClosest(origTarget, '.fc');\n }\n mirror.revertDuration = options.dragRevertDuration;\n var isValid = component.isValidSegDownEl(origTarget) &&\n !elementClosest(origTarget, '.fc-event-resizer'); // NOT on a resizer\n dragging.setIgnoreMove(!isValid);\n // disable dragging for elements that are resizable (ie, selectable)\n // but are not draggable\n _this.isDragging = isValid &&\n ev.subjectEl.classList.contains('fc-event-draggable');\n };\n _this.handleDragStart = function (ev) {\n var initialContext = _this.component.context;\n var eventRange = _this.eventRange;\n var eventInstanceId = eventRange.instance.instanceId;\n if (ev.isTouch) {\n // need to select a different event?\n if (eventInstanceId !== _this.component.props.eventSelection) {\n initialContext.dispatch({ type: 'SELECT_EVENT', eventInstanceId: eventInstanceId });\n }\n }\n else {\n // if now using mouse, but was previous touch interaction, clear selected event\n initialContext.dispatch({ type: 'UNSELECT_EVENT' });\n }\n if (_this.isDragging) {\n initialContext.calendarApi.unselect(ev); // unselect *date* selection\n initialContext.emitter.trigger('eventDragStart', {\n el: _this.subjectEl,\n event: new EventApi(initialContext, eventRange.def, eventRange.instance),\n jsEvent: ev.origEvent,\n view: initialContext.viewApi,\n });\n }\n };\n _this.handleHitUpdate = function (hit, isFinal) {\n if (!_this.isDragging) {\n return;\n }\n var relevantEvents = _this.relevantEvents;\n var initialHit = _this.hitDragging.initialHit;\n var initialContext = _this.component.context;\n // states based on new hit\n var receivingContext = null;\n var mutation = null;\n var mutatedRelevantEvents = null;\n var isInvalid = false;\n var interaction = {\n affectedEvents: relevantEvents,\n mutatedEvents: createEmptyEventStore(),\n isEvent: true,\n };\n if (hit) {\n receivingContext = hit.context;\n var receivingOptions = receivingContext.options;\n if (initialContext === receivingContext ||\n (receivingOptions.editable && receivingOptions.droppable)) {\n mutation = computeEventMutation(initialHit, hit, receivingContext.getCurrentData().pluginHooks.eventDragMutationMassagers);\n if (mutation) {\n mutatedRelevantEvents = applyMutationToEventStore(relevantEvents, receivingContext.getCurrentData().eventUiBases, mutation, receivingContext);\n interaction.mutatedEvents = mutatedRelevantEvents;\n if (!isInteractionValid(interaction, hit.dateProfile, receivingContext)) {\n isInvalid = true;\n mutation = null;\n mutatedRelevantEvents = null;\n interaction.mutatedEvents = createEmptyEventStore();\n }\n }\n }\n else {\n receivingContext = null;\n }\n }\n _this.displayDrag(receivingContext, interaction);\n if (!isInvalid) {\n enableCursor();\n }\n else {\n disableCursor();\n }\n if (!isFinal) {\n if (initialContext === receivingContext && // TODO: write test for this\n isHitsEqual(initialHit, hit)) {\n mutation = null;\n }\n _this.dragging.setMirrorNeedsRevert(!mutation);\n // render the mirror if no already-rendered mirror\n // TODO: wish we could somehow wait for dispatch to guarantee render\n _this.dragging.setMirrorIsVisible(!hit || !getElRoot(_this.subjectEl).querySelector('.fc-event-mirror'));\n // assign states based on new hit\n _this.receivingContext = receivingContext;\n _this.validMutation = mutation;\n _this.mutatedRelevantEvents = mutatedRelevantEvents;\n }\n };\n _this.handlePointerUp = function () {\n if (!_this.isDragging) {\n _this.cleanup(); // because handleDragEnd won't fire\n }\n };\n _this.handleDragEnd = function (ev) {\n if (_this.isDragging) {\n var initialContext_1 = _this.component.context;\n var initialView = initialContext_1.viewApi;\n var _a = _this, receivingContext_1 = _a.receivingContext, validMutation = _a.validMutation;\n var eventDef = _this.eventRange.def;\n var eventInstance = _this.eventRange.instance;\n var eventApi = new EventApi(initialContext_1, eventDef, eventInstance);\n var relevantEvents_1 = _this.relevantEvents;\n var mutatedRelevantEvents_1 = _this.mutatedRelevantEvents;\n var finalHit = _this.hitDragging.finalHit;\n _this.clearDrag(); // must happen after revert animation\n initialContext_1.emitter.trigger('eventDragStop', {\n el: _this.subjectEl,\n event: eventApi,\n jsEvent: ev.origEvent,\n view: initialView,\n });\n if (validMutation) {\n // dropped within same calendar\n if (receivingContext_1 === initialContext_1) {\n var updatedEventApi = new EventApi(initialContext_1, mutatedRelevantEvents_1.defs[eventDef.defId], eventInstance ? mutatedRelevantEvents_1.instances[eventInstance.instanceId] : null);\n initialContext_1.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: mutatedRelevantEvents_1,\n });\n var eventChangeArg = {\n oldEvent: eventApi,\n event: updatedEventApi,\n relatedEvents: buildEventApis(mutatedRelevantEvents_1, initialContext_1, eventInstance),\n revert: function () {\n initialContext_1.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: relevantEvents_1, // the pre-change data\n });\n },\n };\n var transformed = {};\n for (var _i = 0, _b = initialContext_1.getCurrentData().pluginHooks.eventDropTransformers; _i < _b.length; _i++) {\n var transformer = _b[_i];\n __assign(transformed, transformer(validMutation, initialContext_1));\n }\n initialContext_1.emitter.trigger('eventDrop', __assign(__assign(__assign({}, eventChangeArg), transformed), { el: ev.subjectEl, delta: validMutation.datesDelta, jsEvent: ev.origEvent, view: initialView }));\n initialContext_1.emitter.trigger('eventChange', eventChangeArg);\n // dropped in different calendar\n }\n else if (receivingContext_1) {\n var eventRemoveArg = {\n event: eventApi,\n relatedEvents: buildEventApis(relevantEvents_1, initialContext_1, eventInstance),\n revert: function () {\n initialContext_1.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: relevantEvents_1,\n });\n },\n };\n initialContext_1.emitter.trigger('eventLeave', __assign(__assign({}, eventRemoveArg), { draggedEl: ev.subjectEl, view: initialView }));\n initialContext_1.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: relevantEvents_1,\n });\n initialContext_1.emitter.trigger('eventRemove', eventRemoveArg);\n var addedEventDef = mutatedRelevantEvents_1.defs[eventDef.defId];\n var addedEventInstance = mutatedRelevantEvents_1.instances[eventInstance.instanceId];\n var addedEventApi = new EventApi(receivingContext_1, addedEventDef, addedEventInstance);\n receivingContext_1.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: mutatedRelevantEvents_1,\n });\n var eventAddArg = {\n event: addedEventApi,\n relatedEvents: buildEventApis(mutatedRelevantEvents_1, receivingContext_1, addedEventInstance),\n revert: function () {\n receivingContext_1.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: mutatedRelevantEvents_1,\n });\n },\n };\n receivingContext_1.emitter.trigger('eventAdd', eventAddArg);\n if (ev.isTouch) {\n receivingContext_1.dispatch({\n type: 'SELECT_EVENT',\n eventInstanceId: eventInstance.instanceId,\n });\n }\n receivingContext_1.emitter.trigger('drop', __assign(__assign({}, buildDatePointApiWithContext(finalHit.dateSpan, receivingContext_1)), { draggedEl: ev.subjectEl, jsEvent: ev.origEvent, view: finalHit.context.viewApi }));\n receivingContext_1.emitter.trigger('eventReceive', __assign(__assign({}, eventAddArg), { draggedEl: ev.subjectEl, view: finalHit.context.viewApi }));\n }\n }\n else {\n initialContext_1.emitter.trigger('_noEventDrop');\n }\n }\n _this.cleanup();\n };\n var component = _this.component;\n var options = component.context.options;\n var dragging = _this.dragging = new FeaturefulElementDragging(settings.el);\n dragging.pointer.selector = EventDragging.SELECTOR;\n dragging.touchScrollAllowed = false;\n dragging.autoScroller.isEnabled = options.dragScroll;\n var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, interactionSettingsStore);\n hitDragging.useSubjectCenter = settings.useEventCenter;\n hitDragging.emitter.on('pointerdown', _this.handlePointerDown);\n hitDragging.emitter.on('dragstart', _this.handleDragStart);\n hitDragging.emitter.on('hitupdate', _this.handleHitUpdate);\n hitDragging.emitter.on('pointerup', _this.handlePointerUp);\n hitDragging.emitter.on('dragend', _this.handleDragEnd);\n return _this;\n }\n EventDragging.prototype.destroy = function () {\n this.dragging.destroy();\n };\n // render a drag state on the next receivingCalendar\n EventDragging.prototype.displayDrag = function (nextContext, state) {\n var initialContext = this.component.context;\n var prevContext = this.receivingContext;\n // does the previous calendar need to be cleared?\n if (prevContext && prevContext !== nextContext) {\n // does the initial calendar need to be cleared?\n // if so, don't clear all the way. we still need to to hide the affectedEvents\n if (prevContext === initialContext) {\n prevContext.dispatch({\n type: 'SET_EVENT_DRAG',\n state: {\n affectedEvents: state.affectedEvents,\n mutatedEvents: createEmptyEventStore(),\n isEvent: true,\n },\n });\n // completely clear the old calendar if it wasn't the initial\n }\n else {\n prevContext.dispatch({ type: 'UNSET_EVENT_DRAG' });\n }\n }\n if (nextContext) {\n nextContext.dispatch({ type: 'SET_EVENT_DRAG', state: state });\n }\n };\n EventDragging.prototype.clearDrag = function () {\n var initialCalendar = this.component.context;\n var receivingContext = this.receivingContext;\n if (receivingContext) {\n receivingContext.dispatch({ type: 'UNSET_EVENT_DRAG' });\n }\n // the initial calendar might have an dummy drag state from displayDrag\n if (initialCalendar !== receivingContext) {\n initialCalendar.dispatch({ type: 'UNSET_EVENT_DRAG' });\n }\n };\n EventDragging.prototype.cleanup = function () {\n this.subjectSeg = null;\n this.isDragging = false;\n this.eventRange = null;\n this.relevantEvents = null;\n this.receivingContext = null;\n this.validMutation = null;\n this.mutatedRelevantEvents = null;\n };\n // TODO: test this in IE11\n // QUESTION: why do we need it on the resizable???\n EventDragging.SELECTOR = '.fc-event-draggable, .fc-event-resizable';\n return EventDragging;\n}(Interaction));\nfunction computeEventMutation(hit0, hit1, massagers) {\n var dateSpan0 = hit0.dateSpan;\n var dateSpan1 = hit1.dateSpan;\n var date0 = dateSpan0.range.start;\n var date1 = dateSpan1.range.start;\n var standardProps = {};\n if (dateSpan0.allDay !== dateSpan1.allDay) {\n standardProps.allDay = dateSpan1.allDay;\n standardProps.hasEnd = hit1.context.options.allDayMaintainDuration;\n if (dateSpan1.allDay) {\n // means date1 is already start-of-day,\n // but date0 needs to be converted\n date0 = startOfDay(date0);\n }\n }\n var delta = diffDates(date0, date1, hit0.context.dateEnv, hit0.componentId === hit1.componentId ?\n hit0.largeUnit :\n null);\n if (delta.milliseconds) { // has hours/minutes/seconds\n standardProps.allDay = false;\n }\n var mutation = {\n datesDelta: delta,\n standardProps: standardProps,\n };\n for (var _i = 0, massagers_1 = massagers; _i < massagers_1.length; _i++) {\n var massager = massagers_1[_i];\n massager(mutation, hit0, hit1);\n }\n return mutation;\n}\nfunction getComponentTouchDelay(component) {\n var options = component.context.options;\n var delay = options.eventLongPressDelay;\n if (delay == null) {\n delay = options.longPressDelay;\n }\n return delay;\n}\n\nvar EventResizing = /** @class */ (function (_super) {\n __extends(EventResizing, _super);\n function EventResizing(settings) {\n var _this = _super.call(this, settings) || this;\n // internal state\n _this.draggingSegEl = null;\n _this.draggingSeg = null; // TODO: rename to resizingSeg? subjectSeg?\n _this.eventRange = null;\n _this.relevantEvents = null;\n _this.validMutation = null;\n _this.mutatedRelevantEvents = null;\n _this.handlePointerDown = function (ev) {\n var component = _this.component;\n var segEl = _this.querySegEl(ev);\n var seg = getElSeg(segEl);\n var eventRange = _this.eventRange = seg.eventRange;\n _this.dragging.minDistance = component.context.options.eventDragMinDistance;\n // if touch, need to be working with a selected event\n _this.dragging.setIgnoreMove(!_this.component.isValidSegDownEl(ev.origEvent.target) ||\n (ev.isTouch && _this.component.props.eventSelection !== eventRange.instance.instanceId));\n };\n _this.handleDragStart = function (ev) {\n var context = _this.component.context;\n var eventRange = _this.eventRange;\n _this.relevantEvents = getRelevantEvents(context.getCurrentData().eventStore, _this.eventRange.instance.instanceId);\n var segEl = _this.querySegEl(ev);\n _this.draggingSegEl = segEl;\n _this.draggingSeg = getElSeg(segEl);\n context.calendarApi.unselect();\n context.emitter.trigger('eventResizeStart', {\n el: segEl,\n event: new EventApi(context, eventRange.def, eventRange.instance),\n jsEvent: ev.origEvent,\n view: context.viewApi,\n });\n };\n _this.handleHitUpdate = function (hit, isFinal, ev) {\n var context = _this.component.context;\n var relevantEvents = _this.relevantEvents;\n var initialHit = _this.hitDragging.initialHit;\n var eventInstance = _this.eventRange.instance;\n var mutation = null;\n var mutatedRelevantEvents = null;\n var isInvalid = false;\n var interaction = {\n affectedEvents: relevantEvents,\n mutatedEvents: createEmptyEventStore(),\n isEvent: true,\n };\n if (hit) {\n var disallowed = hit.componentId === initialHit.componentId\n && _this.isHitComboAllowed\n && !_this.isHitComboAllowed(initialHit, hit);\n if (!disallowed) {\n mutation = computeMutation(initialHit, hit, ev.subjectEl.classList.contains('fc-event-resizer-start'), eventInstance.range);\n }\n }\n if (mutation) {\n mutatedRelevantEvents = applyMutationToEventStore(relevantEvents, context.getCurrentData().eventUiBases, mutation, context);\n interaction.mutatedEvents = mutatedRelevantEvents;\n if (!isInteractionValid(interaction, hit.dateProfile, context)) {\n isInvalid = true;\n mutation = null;\n mutatedRelevantEvents = null;\n interaction.mutatedEvents = null;\n }\n }\n if (mutatedRelevantEvents) {\n context.dispatch({\n type: 'SET_EVENT_RESIZE',\n state: interaction,\n });\n }\n else {\n context.dispatch({ type: 'UNSET_EVENT_RESIZE' });\n }\n if (!isInvalid) {\n enableCursor();\n }\n else {\n disableCursor();\n }\n if (!isFinal) {\n if (mutation && isHitsEqual(initialHit, hit)) {\n mutation = null;\n }\n _this.validMutation = mutation;\n _this.mutatedRelevantEvents = mutatedRelevantEvents;\n }\n };\n _this.handleDragEnd = function (ev) {\n var context = _this.component.context;\n var eventDef = _this.eventRange.def;\n var eventInstance = _this.eventRange.instance;\n var eventApi = new EventApi(context, eventDef, eventInstance);\n var relevantEvents = _this.relevantEvents;\n var mutatedRelevantEvents = _this.mutatedRelevantEvents;\n context.emitter.trigger('eventResizeStop', {\n el: _this.draggingSegEl,\n event: eventApi,\n jsEvent: ev.origEvent,\n view: context.viewApi,\n });\n if (_this.validMutation) {\n var updatedEventApi = new EventApi(context, mutatedRelevantEvents.defs[eventDef.defId], eventInstance ? mutatedRelevantEvents.instances[eventInstance.instanceId] : null);\n context.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: mutatedRelevantEvents,\n });\n var eventChangeArg = {\n oldEvent: eventApi,\n event: updatedEventApi,\n relatedEvents: buildEventApis(mutatedRelevantEvents, context, eventInstance),\n revert: function () {\n context.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: relevantEvents, // the pre-change events\n });\n },\n };\n context.emitter.trigger('eventResize', __assign(__assign({}, eventChangeArg), { el: _this.draggingSegEl, startDelta: _this.validMutation.startDelta || createDuration(0), endDelta: _this.validMutation.endDelta || createDuration(0), jsEvent: ev.origEvent, view: context.viewApi }));\n context.emitter.trigger('eventChange', eventChangeArg);\n }\n else {\n context.emitter.trigger('_noEventResize');\n }\n // reset all internal state\n _this.draggingSeg = null;\n _this.relevantEvents = null;\n _this.validMutation = null;\n // okay to keep eventInstance around. useful to set it in handlePointerDown\n };\n var component = settings.component;\n var dragging = _this.dragging = new FeaturefulElementDragging(settings.el);\n dragging.pointer.selector = '.fc-event-resizer';\n dragging.touchScrollAllowed = false;\n dragging.autoScroller.isEnabled = component.context.options.dragScroll;\n var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, interactionSettingsToStore(settings));\n hitDragging.emitter.on('pointerdown', _this.handlePointerDown);\n hitDragging.emitter.on('dragstart', _this.handleDragStart);\n hitDragging.emitter.on('hitupdate', _this.handleHitUpdate);\n hitDragging.emitter.on('dragend', _this.handleDragEnd);\n return _this;\n }\n EventResizing.prototype.destroy = function () {\n this.dragging.destroy();\n };\n EventResizing.prototype.querySegEl = function (ev) {\n return elementClosest(ev.subjectEl, '.fc-event');\n };\n return EventResizing;\n}(Interaction));\nfunction computeMutation(hit0, hit1, isFromStart, instanceRange) {\n var dateEnv = hit0.context.dateEnv;\n var date0 = hit0.dateSpan.range.start;\n var date1 = hit1.dateSpan.range.start;\n var delta = diffDates(date0, date1, dateEnv, hit0.largeUnit);\n if (isFromStart) {\n if (dateEnv.add(instanceRange.start, delta) < instanceRange.end) {\n return { startDelta: delta };\n }\n }\n else if (dateEnv.add(instanceRange.end, delta) > instanceRange.start) {\n return { endDelta: delta };\n }\n return null;\n}\n\nvar UnselectAuto = /** @class */ (function () {\n function UnselectAuto(context) {\n var _this = this;\n this.context = context;\n this.isRecentPointerDateSelect = false; // wish we could use a selector to detect date selection, but uses hit system\n this.matchesCancel = false;\n this.matchesEvent = false;\n this.onSelect = function (selectInfo) {\n if (selectInfo.jsEvent) {\n _this.isRecentPointerDateSelect = true;\n }\n };\n this.onDocumentPointerDown = function (pev) {\n var unselectCancel = _this.context.options.unselectCancel;\n var downEl = getEventTargetViaRoot(pev.origEvent);\n _this.matchesCancel = !!elementClosest(downEl, unselectCancel);\n _this.matchesEvent = !!elementClosest(downEl, EventDragging.SELECTOR); // interaction started on an event?\n };\n this.onDocumentPointerUp = function (pev) {\n var context = _this.context;\n var documentPointer = _this.documentPointer;\n var calendarState = context.getCurrentData();\n // touch-scrolling should never unfocus any type of selection\n if (!documentPointer.wasTouchScroll) {\n if (calendarState.dateSelection && // an existing date selection?\n !_this.isRecentPointerDateSelect // a new pointer-initiated date selection since last onDocumentPointerUp?\n ) {\n var unselectAuto = context.options.unselectAuto;\n if (unselectAuto && (!unselectAuto || !_this.matchesCancel)) {\n context.calendarApi.unselect(pev);\n }\n }\n if (calendarState.eventSelection && // an existing event selected?\n !_this.matchesEvent // interaction DIDN'T start on an event\n ) {\n context.dispatch({ type: 'UNSELECT_EVENT' });\n }\n }\n _this.isRecentPointerDateSelect = false;\n };\n var documentPointer = this.documentPointer = new PointerDragging(document);\n documentPointer.shouldIgnoreMove = true;\n documentPointer.shouldWatchScroll = false;\n documentPointer.emitter.on('pointerdown', this.onDocumentPointerDown);\n documentPointer.emitter.on('pointerup', this.onDocumentPointerUp);\n /*\n TODO: better way to know about whether there was a selection with the pointer\n */\n context.emitter.on('select', this.onSelect);\n }\n UnselectAuto.prototype.destroy = function () {\n this.context.emitter.off('select', this.onSelect);\n this.documentPointer.destroy();\n };\n return UnselectAuto;\n}());\n\nvar OPTION_REFINERS = {\n fixedMirrorParent: identity,\n};\nvar LISTENER_REFINERS = {\n dateClick: identity,\n eventDragStart: identity,\n eventDragStop: identity,\n eventDrop: identity,\n eventResizeStart: identity,\n eventResizeStop: identity,\n eventResize: identity,\n drop: identity,\n eventReceive: identity,\n eventLeave: identity,\n};\n\n/*\nGiven an already instantiated draggable object for one-or-more elements,\nInterprets any dragging as an attempt to drag an events that lives outside\nof a calendar onto a calendar.\n*/\nvar ExternalElementDragging = /** @class */ (function () {\n function ExternalElementDragging(dragging, suppliedDragMeta) {\n var _this = this;\n this.receivingContext = null;\n this.droppableEvent = null; // will exist for all drags, even if create:false\n this.suppliedDragMeta = null;\n this.dragMeta = null;\n this.handleDragStart = function (ev) {\n _this.dragMeta = _this.buildDragMeta(ev.subjectEl);\n };\n this.handleHitUpdate = function (hit, isFinal, ev) {\n var dragging = _this.hitDragging.dragging;\n var receivingContext = null;\n var droppableEvent = null;\n var isInvalid = false;\n var interaction = {\n affectedEvents: createEmptyEventStore(),\n mutatedEvents: createEmptyEventStore(),\n isEvent: _this.dragMeta.create,\n };\n if (hit) {\n receivingContext = hit.context;\n if (_this.canDropElOnCalendar(ev.subjectEl, receivingContext)) {\n droppableEvent = computeEventForDateSpan(hit.dateSpan, _this.dragMeta, receivingContext);\n interaction.mutatedEvents = eventTupleToStore(droppableEvent);\n isInvalid = !isInteractionValid(interaction, hit.dateProfile, receivingContext);\n if (isInvalid) {\n interaction.mutatedEvents = createEmptyEventStore();\n droppableEvent = null;\n }\n }\n }\n _this.displayDrag(receivingContext, interaction);\n // show mirror if no already-rendered mirror element OR if we are shutting down the mirror (?)\n // TODO: wish we could somehow wait for dispatch to guarantee render\n dragging.setMirrorIsVisible(isFinal || !droppableEvent || !document.querySelector('.fc-event-mirror'));\n if (!isInvalid) {\n enableCursor();\n }\n else {\n disableCursor();\n }\n if (!isFinal) {\n dragging.setMirrorNeedsRevert(!droppableEvent);\n _this.receivingContext = receivingContext;\n _this.droppableEvent = droppableEvent;\n }\n };\n this.handleDragEnd = function (pev) {\n var _a = _this, receivingContext = _a.receivingContext, droppableEvent = _a.droppableEvent;\n _this.clearDrag();\n if (receivingContext && droppableEvent) {\n var finalHit = _this.hitDragging.finalHit;\n var finalView = finalHit.context.viewApi;\n var dragMeta = _this.dragMeta;\n receivingContext.emitter.trigger('drop', __assign(__assign({}, buildDatePointApiWithContext(finalHit.dateSpan, receivingContext)), { draggedEl: pev.subjectEl, jsEvent: pev.origEvent, view: finalView }));\n if (dragMeta.create) {\n var addingEvents_1 = eventTupleToStore(droppableEvent);\n receivingContext.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: addingEvents_1,\n });\n if (pev.isTouch) {\n receivingContext.dispatch({\n type: 'SELECT_EVENT',\n eventInstanceId: droppableEvent.instance.instanceId,\n });\n }\n // signal that an external event landed\n receivingContext.emitter.trigger('eventReceive', {\n event: new EventApi(receivingContext, droppableEvent.def, droppableEvent.instance),\n relatedEvents: [],\n revert: function () {\n receivingContext.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: addingEvents_1,\n });\n },\n draggedEl: pev.subjectEl,\n view: finalView,\n });\n }\n }\n _this.receivingContext = null;\n _this.droppableEvent = null;\n };\n var hitDragging = this.hitDragging = new HitDragging(dragging, interactionSettingsStore);\n hitDragging.requireInitial = false; // will start outside of a component\n hitDragging.emitter.on('dragstart', this.handleDragStart);\n hitDragging.emitter.on('hitupdate', this.handleHitUpdate);\n hitDragging.emitter.on('dragend', this.handleDragEnd);\n this.suppliedDragMeta = suppliedDragMeta;\n }\n ExternalElementDragging.prototype.buildDragMeta = function (subjectEl) {\n if (typeof this.suppliedDragMeta === 'object') {\n return parseDragMeta(this.suppliedDragMeta);\n }\n if (typeof this.suppliedDragMeta === 'function') {\n return parseDragMeta(this.suppliedDragMeta(subjectEl));\n }\n return getDragMetaFromEl(subjectEl);\n };\n ExternalElementDragging.prototype.displayDrag = function (nextContext, state) {\n var prevContext = this.receivingContext;\n if (prevContext && prevContext !== nextContext) {\n prevContext.dispatch({ type: 'UNSET_EVENT_DRAG' });\n }\n if (nextContext) {\n nextContext.dispatch({ type: 'SET_EVENT_DRAG', state: state });\n }\n };\n ExternalElementDragging.prototype.clearDrag = function () {\n if (this.receivingContext) {\n this.receivingContext.dispatch({ type: 'UNSET_EVENT_DRAG' });\n }\n };\n ExternalElementDragging.prototype.canDropElOnCalendar = function (el, receivingContext) {\n var dropAccept = receivingContext.options.dropAccept;\n if (typeof dropAccept === 'function') {\n return dropAccept.call(receivingContext.calendarApi, el);\n }\n if (typeof dropAccept === 'string' && dropAccept) {\n return Boolean(elementMatches(el, dropAccept));\n }\n return true;\n };\n return ExternalElementDragging;\n}());\n// Utils for computing event store from the DragMeta\n// ----------------------------------------------------------------------------------------------------\nfunction computeEventForDateSpan(dateSpan, dragMeta, context) {\n var defProps = __assign({}, dragMeta.leftoverProps);\n for (var _i = 0, _a = context.pluginHooks.externalDefTransforms; _i < _a.length; _i++) {\n var transform = _a[_i];\n __assign(defProps, transform(dateSpan, dragMeta));\n }\n var _b = refineEventDef(defProps, context), refined = _b.refined, extra = _b.extra;\n var def = parseEventDef(refined, extra, dragMeta.sourceId, dateSpan.allDay, context.options.forceEventDuration || Boolean(dragMeta.duration), // hasEnd\n context);\n var start = dateSpan.range.start;\n // only rely on time info if drop zone is all-day,\n // otherwise, we already know the time\n if (dateSpan.allDay && dragMeta.startTime) {\n start = context.dateEnv.add(start, dragMeta.startTime);\n }\n var end = dragMeta.duration ?\n context.dateEnv.add(start, dragMeta.duration) :\n getDefaultEventEnd(dateSpan.allDay, start, context);\n var instance = createEventInstance(def.defId, { start: start, end: end });\n return { def: def, instance: instance };\n}\n// Utils for extracting data from element\n// ----------------------------------------------------------------------------------------------------\nfunction getDragMetaFromEl(el) {\n var str = getEmbeddedElData(el, 'event');\n var obj = str ?\n JSON.parse(str) :\n { create: false }; // if no embedded data, assume no event creation\n return parseDragMeta(obj);\n}\nconfig.dataAttrPrefix = '';\nfunction getEmbeddedElData(el, name) {\n var prefix = config.dataAttrPrefix;\n var prefixedName = (prefix ? prefix + '-' : '') + name;\n return el.getAttribute('data-' + prefixedName) || '';\n}\n\n/*\nMakes an element (that is *external* to any calendar) draggable.\nCan pass in data that determines how an event will be created when dropped onto a calendar.\nLeverages FullCalendar's internal drag-n-drop functionality WITHOUT a third-party drag system.\n*/\nvar ExternalDraggable = /** @class */ (function () {\n function ExternalDraggable(el, settings) {\n var _this = this;\n if (settings === void 0) { settings = {}; }\n this.handlePointerDown = function (ev) {\n var dragging = _this.dragging;\n var _a = _this.settings, minDistance = _a.minDistance, longPressDelay = _a.longPressDelay;\n dragging.minDistance =\n minDistance != null ?\n minDistance :\n (ev.isTouch ? 0 : BASE_OPTION_DEFAULTS.eventDragMinDistance);\n dragging.delay =\n ev.isTouch ? // TODO: eventually read eventLongPressDelay instead vvv\n (longPressDelay != null ? longPressDelay : BASE_OPTION_DEFAULTS.longPressDelay) :\n 0;\n };\n this.handleDragStart = function (ev) {\n if (ev.isTouch &&\n _this.dragging.delay &&\n ev.subjectEl.classList.contains('fc-event')) {\n _this.dragging.mirror.getMirrorEl().classList.add('fc-event-selected');\n }\n };\n this.settings = settings;\n var dragging = this.dragging = new FeaturefulElementDragging(el);\n dragging.touchScrollAllowed = false;\n if (settings.itemSelector != null) {\n dragging.pointer.selector = settings.itemSelector;\n }\n if (settings.appendTo != null) {\n dragging.mirror.parentNode = settings.appendTo; // TODO: write tests\n }\n dragging.emitter.on('pointerdown', this.handlePointerDown);\n dragging.emitter.on('dragstart', this.handleDragStart);\n new ExternalElementDragging(dragging, settings.eventData); // eslint-disable-line no-new\n }\n ExternalDraggable.prototype.destroy = function () {\n this.dragging.destroy();\n };\n return ExternalDraggable;\n}());\n\n/*\nDetects when a *THIRD-PARTY* drag-n-drop system interacts with elements.\nThe third-party system is responsible for drawing the visuals effects of the drag.\nThis class simply monitors for pointer movements and fires events.\nIt also has the ability to hide the moving element (the \"mirror\") during the drag.\n*/\nvar InferredElementDragging = /** @class */ (function (_super) {\n __extends(InferredElementDragging, _super);\n function InferredElementDragging(containerEl) {\n var _this = _super.call(this, containerEl) || this;\n _this.shouldIgnoreMove = false;\n _this.mirrorSelector = '';\n _this.currentMirrorEl = null;\n _this.handlePointerDown = function (ev) {\n _this.emitter.trigger('pointerdown', ev);\n if (!_this.shouldIgnoreMove) {\n // fire dragstart right away. does not support delay or min-distance\n _this.emitter.trigger('dragstart', ev);\n }\n };\n _this.handlePointerMove = function (ev) {\n if (!_this.shouldIgnoreMove) {\n _this.emitter.trigger('dragmove', ev);\n }\n };\n _this.handlePointerUp = function (ev) {\n _this.emitter.trigger('pointerup', ev);\n if (!_this.shouldIgnoreMove) {\n // fire dragend right away. does not support a revert animation\n _this.emitter.trigger('dragend', ev);\n }\n };\n var pointer = _this.pointer = new PointerDragging(containerEl);\n pointer.emitter.on('pointerdown', _this.handlePointerDown);\n pointer.emitter.on('pointermove', _this.handlePointerMove);\n pointer.emitter.on('pointerup', _this.handlePointerUp);\n return _this;\n }\n InferredElementDragging.prototype.destroy = function () {\n this.pointer.destroy();\n };\n InferredElementDragging.prototype.setIgnoreMove = function (bool) {\n this.shouldIgnoreMove = bool;\n };\n InferredElementDragging.prototype.setMirrorIsVisible = function (bool) {\n if (bool) {\n // restore a previously hidden element.\n // use the reference in case the selector class has already been removed.\n if (this.currentMirrorEl) {\n this.currentMirrorEl.style.visibility = '';\n this.currentMirrorEl = null;\n }\n }\n else {\n var mirrorEl = this.mirrorSelector\n // TODO: somehow query FullCalendars WITHIN shadow-roots\n ? document.querySelector(this.mirrorSelector)\n : null;\n if (mirrorEl) {\n this.currentMirrorEl = mirrorEl;\n mirrorEl.style.visibility = 'hidden';\n }\n }\n };\n return InferredElementDragging;\n}(ElementDragging));\n\n/*\nBridges third-party drag-n-drop systems with FullCalendar.\nMust be instantiated and destroyed by caller.\n*/\nvar ThirdPartyDraggable = /** @class */ (function () {\n function ThirdPartyDraggable(containerOrSettings, settings) {\n var containerEl = document;\n if (\n // wish we could just test instanceof EventTarget, but doesn't work in IE11\n containerOrSettings === document ||\n containerOrSettings instanceof Element) {\n containerEl = containerOrSettings;\n settings = settings || {};\n }\n else {\n settings = (containerOrSettings || {});\n }\n var dragging = this.dragging = new InferredElementDragging(containerEl);\n if (typeof settings.itemSelector === 'string') {\n dragging.pointer.selector = settings.itemSelector;\n }\n else if (containerEl === document) {\n dragging.pointer.selector = '[data-event]';\n }\n if (typeof settings.mirrorSelector === 'string') {\n dragging.mirrorSelector = settings.mirrorSelector;\n }\n new ExternalElementDragging(dragging, settings.eventData); // eslint-disable-line no-new\n }\n ThirdPartyDraggable.prototype.destroy = function () {\n this.dragging.destroy();\n };\n return ThirdPartyDraggable;\n}());\n\nvar main = createPlugin({\n componentInteractions: [DateClicking, DateSelecting, EventDragging, EventResizing],\n calendarInteractions: [UnselectAuto],\n elementDraggingImpl: FeaturefulElementDragging,\n optionRefiners: OPTION_REFINERS,\n listenerRefiners: LISTENER_REFINERS,\n});\n\nexport default main;\nexport { ExternalDraggable as Draggable, FeaturefulElementDragging, PointerDragging, ThirdPartyDraggable };\n","/*!\nFullCalendar v5.10.1\nDocs & License: https://fullcalendar.io/\n(c) 2021 Adam Shaw\n*/\nimport moment from 'moment';\nimport { createPlugin, CalendarApi } from '@fullcalendar/common';\n\nfunction toMoment(date, calendar) {\n if (!(calendar instanceof CalendarApi)) {\n throw new Error('must supply a CalendarApi instance');\n }\n var dateEnv = calendar.getCurrentData().dateEnv;\n return convertToMoment(date, dateEnv.timeZone, null, dateEnv.locale.codes[0]);\n}\nfunction toMomentDuration(fcDuration) {\n return moment.duration(fcDuration); // moment accepts all the props that fc.Duration already has!\n}\nfunction formatWithCmdStr(cmdStr, arg) {\n var cmd = parseCmdStr(cmdStr);\n if (arg.end) {\n var startMom = convertToMoment(arg.start.array, arg.timeZone, arg.start.timeZoneOffset, arg.localeCodes[0]);\n var endMom = convertToMoment(arg.end.array, arg.timeZone, arg.end.timeZoneOffset, arg.localeCodes[0]);\n return formatRange(cmd, createMomentFormatFunc(startMom), createMomentFormatFunc(endMom), arg.defaultSeparator);\n }\n return convertToMoment(arg.date.array, arg.timeZone, arg.date.timeZoneOffset, arg.localeCodes[0]).format(cmd.whole); // TODO: test for this\n}\nvar main = createPlugin({\n cmdFormatter: formatWithCmdStr,\n});\nfunction createMomentFormatFunc(mom) {\n return function (cmdStr) { return (cmdStr ? mom.format(cmdStr) : '' // because calling with blank string results in ISO8601 :(\n ); };\n}\nfunction convertToMoment(input, timeZone, timeZoneOffset, locale) {\n var mom;\n if (timeZone === 'local') {\n mom = moment(input);\n }\n else if (timeZone === 'UTC') {\n mom = moment.utc(input);\n }\n else if (moment.tz) {\n mom = moment.tz(input, timeZone);\n }\n else {\n mom = moment.utc(input);\n if (timeZoneOffset != null) {\n mom.utcOffset(timeZoneOffset);\n }\n }\n mom.locale(locale);\n return mom;\n}\nfunction parseCmdStr(cmdStr) {\n var parts = cmdStr.match(/^(.*?)\\{(.*)\\}(.*)$/); // TODO: lookbehinds for escape characters\n if (parts) {\n var middle = parseCmdStr(parts[2]);\n return {\n head: parts[1],\n middle: middle,\n tail: parts[3],\n whole: parts[1] + middle.whole + parts[3],\n };\n }\n return {\n head: null,\n middle: null,\n tail: null,\n whole: cmdStr,\n };\n}\nfunction formatRange(cmd, formatStart, formatEnd, separator) {\n if (cmd.middle) {\n var startHead = formatStart(cmd.head);\n var startMiddle = formatRange(cmd.middle, formatStart, formatEnd, separator);\n var startTail = formatStart(cmd.tail);\n var endHead = formatEnd(cmd.head);\n var endMiddle = formatRange(cmd.middle, formatStart, formatEnd, separator);\n var endTail = formatEnd(cmd.tail);\n if (startHead === endHead && startTail === endTail) {\n return startHead +\n (startMiddle === endMiddle ? startMiddle : startMiddle + separator + endMiddle) +\n startTail;\n }\n }\n var startWhole = formatStart(cmd.whole);\n var endWhole = formatEnd(cmd.whole);\n if (startWhole === endWhole) {\n return startWhole;\n }\n return startWhole + separator + endWhole;\n}\n\nexport default main;\nexport { toMoment, toMomentDuration };\n","/*!\nFullCalendar Scheduler v5.10.1\nDocs & License: https://fullcalendar.io/scheduler\n(c) 2021 Adam Shaw\n*/\nimport { createElement, Fragment, config, isValidDate, addDays, createPlugin } from '@fullcalendar/common';\n\nvar RELEASE_DATE = '2021-11-03'; // for Scheduler\nvar UPGRADE_WINDOW = 365 + 7; // days. 1 week leeway, for tz shift reasons too\nvar INVALID_LICENSE_URL = 'http://fullcalendar.io/docs/schedulerLicenseKey#invalid';\nvar OUTDATED_LICENSE_URL = 'http://fullcalendar.io/docs/schedulerLicenseKey#outdated';\nvar PRESET_LICENSE_KEYS = [\n 'GPL-My-Project-Is-Open-Source',\n 'CC-Attribution-NonCommercial-NoDerivatives',\n];\nvar CSS = {\n position: 'absolute',\n zIndex: 99999,\n bottom: '1px',\n left: '1px',\n background: '#eee',\n borderColor: '#ddd',\n borderStyle: 'solid',\n borderWidth: '1px 1px 0 0',\n padding: '2px 4px',\n fontSize: '12px',\n borderTopRightRadius: '3px',\n};\nfunction buildLicenseWarning(context) {\n var key = context.options.schedulerLicenseKey;\n var currentUrl = typeof window !== 'undefined' ? window.location.href : '';\n if (!isImmuneUrl(currentUrl)) {\n var status_1 = processLicenseKey(key);\n if (status_1 !== 'valid') {\n return (createElement(\"div\", { className: \"fc-license-message\", style: CSS }, (status_1 === 'outdated') ? (createElement(Fragment, null,\n 'Your license key is too old to work with this version. ',\n createElement(\"a\", { href: OUTDATED_LICENSE_URL }, \"More Info\"))) : (createElement(Fragment, null,\n 'Your license key is invalid. ',\n createElement(\"a\", { href: INVALID_LICENSE_URL }, \"More Info\")))));\n }\n }\n return null;\n}\n/*\nThis decryption is not meant to be bulletproof. Just a way to remind about an upgrade.\n*/\nfunction processLicenseKey(key) {\n if (PRESET_LICENSE_KEYS.indexOf(key) !== -1) {\n return 'valid';\n }\n var parts = (key || '').match(/^(\\d+)-fcs-(\\d+)$/);\n if (parts && (parts[1].length === 10)) {\n var purchaseDate = new Date(parseInt(parts[2], 10) * 1000);\n var releaseDate = new Date(config.mockSchedulerReleaseDate || RELEASE_DATE);\n if (isValidDate(releaseDate)) { // token won't be replaced in dev mode\n var minPurchaseDate = addDays(releaseDate, -UPGRADE_WINDOW);\n if (minPurchaseDate < purchaseDate) {\n return 'valid';\n }\n return 'outdated';\n }\n }\n return 'invalid';\n}\nfunction isImmuneUrl(url) {\n return /\\w+:\\/\\/fullcalendar\\.io\\/|\\/examples\\/[\\w-]+\\.html$/.test(url);\n}\n\nvar OPTION_REFINERS = {\n schedulerLicenseKey: String,\n};\n\nvar main = createPlugin({\n optionRefiners: OPTION_REFINERS,\n viewContainerAppends: [buildLicenseWarning],\n});\n\nexport default main;\n","/*!\nFullCalendar Scheduler v5.10.1\nDocs & License: https://fullcalendar.io/scheduler\n(c) 2021 Adam Shaw\n*/\nimport { memoize, filterHash, rangesIntersect, isPropsEqual, mapHash, combineEventUis, refineProps, guid, identity, rangesEqual, parseBusinessHours, createEventUi, parseClassNames, EventApi, CalendarApi, Splitter, mergeEventStores, isPropsValid, parseFieldSpecs, unpromisify, requestJson, createElement, ViewContextType, formatDayString, RenderHook, BaseComponent, NowTimer, Fragment, TableDateCell, TableDowCell, computeFallbackHeaderFormat, flexibleCompare, compareByFieldSpecs, createPlugin } from '@fullcalendar/common';\nimport premiumCommonPlugin from '@fullcalendar/premium-common';\nimport { __assign, __extends, __spreadArray } from 'tslib';\n\nfunction massageEventDragMutation(eventMutation, hit0, hit1) {\n var resource0 = hit0.dateSpan.resourceId;\n var resource1 = hit1.dateSpan.resourceId;\n if (resource0 && resource1 &&\n resource0 !== resource1) {\n eventMutation.resourceMutation = {\n matchResourceId: resource0,\n setResourceId: resource1,\n };\n }\n}\n/*\nTODO: all this would be much easier if we were using a hash!\n*/\nfunction applyEventDefMutation(eventDef, mutation, context) {\n var resourceMutation = mutation.resourceMutation;\n if (resourceMutation && computeResourceEditable(eventDef, context)) {\n var index = eventDef.resourceIds.indexOf(resourceMutation.matchResourceId);\n if (index !== -1) {\n var resourceIds = eventDef.resourceIds.slice(); // copy\n resourceIds.splice(index, 1); // remove\n if (resourceIds.indexOf(resourceMutation.setResourceId) === -1) { // not already in there\n resourceIds.push(resourceMutation.setResourceId); // add\n }\n eventDef.resourceIds = resourceIds;\n }\n }\n}\n/*\nHACK\nTODO: use EventUi system instead of this\n*/\nfunction computeResourceEditable(eventDef, context) {\n var resourceEditable = eventDef.resourceEditable;\n if (resourceEditable == null) {\n var source = eventDef.sourceId && context.getCurrentData().eventSources[eventDef.sourceId];\n if (source) {\n resourceEditable = source.extendedProps.resourceEditable; // used the Source::extendedProps hack\n }\n if (resourceEditable == null) {\n resourceEditable = context.options.eventResourceEditable;\n if (resourceEditable == null) {\n resourceEditable = context.options.editable; // TODO: use defaults system instead\n }\n }\n }\n return resourceEditable;\n}\nfunction transformEventDrop(mutation, context) {\n var resourceMutation = mutation.resourceMutation;\n if (resourceMutation) {\n var calendarApi = context.calendarApi;\n return {\n oldResource: calendarApi.getResourceById(resourceMutation.matchResourceId),\n newResource: calendarApi.getResourceById(resourceMutation.setResourceId),\n };\n }\n return {\n oldResource: null,\n newResource: null,\n };\n}\n\nvar ResourceDataAdder = /** @class */ (function () {\n function ResourceDataAdder() {\n this.filterResources = memoize(filterResources);\n }\n ResourceDataAdder.prototype.transform = function (viewProps, calendarProps) {\n if (calendarProps.viewSpec.optionDefaults.needsResourceData) {\n return {\n resourceStore: this.filterResources(calendarProps.resourceStore, calendarProps.options.filterResourcesWithEvents, calendarProps.eventStore, calendarProps.dateProfile.activeRange),\n resourceEntityExpansions: calendarProps.resourceEntityExpansions,\n };\n }\n return null;\n };\n return ResourceDataAdder;\n}());\nfunction filterResources(resourceStore, doFilterResourcesWithEvents, eventStore, activeRange) {\n if (doFilterResourcesWithEvents) {\n var instancesInRange = filterEventInstancesInRange(eventStore.instances, activeRange);\n var hasEvents_1 = computeHasEvents(instancesInRange, eventStore.defs);\n __assign(hasEvents_1, computeAncestorHasEvents(hasEvents_1, resourceStore));\n return filterHash(resourceStore, function (resource, resourceId) { return hasEvents_1[resourceId]; });\n }\n return resourceStore;\n}\nfunction filterEventInstancesInRange(eventInstances, activeRange) {\n return filterHash(eventInstances, function (eventInstance) { return rangesIntersect(eventInstance.range, activeRange); });\n}\nfunction computeHasEvents(eventInstances, eventDefs) {\n var hasEvents = {};\n for (var instanceId in eventInstances) {\n var instance = eventInstances[instanceId];\n for (var _i = 0, _a = eventDefs[instance.defId].resourceIds; _i < _a.length; _i++) {\n var resourceId = _a[_i];\n hasEvents[resourceId] = true;\n }\n }\n return hasEvents;\n}\n/*\nmark resources as having events if any of their ancestors have them\nNOTE: resourceStore might not have all the resources that hasEvents{} has keyed\n*/\nfunction computeAncestorHasEvents(hasEvents, resourceStore) {\n var res = {};\n for (var resourceId in hasEvents) {\n var resource = void 0;\n while ((resource = resourceStore[resourceId])) {\n resourceId = resource.parentId; // now functioning as the parentId\n if (resourceId) {\n res[resourceId] = true;\n }\n else {\n break;\n }\n }\n }\n return res;\n}\n/*\nfor making sure events that have editable resources are always draggable in resource views\n*/\nfunction transformIsDraggable(val, eventDef, eventUi, context) {\n if (!val) {\n var state = context.getCurrentData();\n var viewSpec = state.viewSpecs[state.currentViewType];\n if (viewSpec.optionDefaults.needsResourceData) {\n if (computeResourceEditable(eventDef, context)) {\n return true;\n }\n }\n }\n return val;\n}\n\n// for when non-resource view should be given EventUi info (for event coloring/constraints based off of resource data)\nvar ResourceEventConfigAdder = /** @class */ (function () {\n function ResourceEventConfigAdder() {\n this.buildResourceEventUis = memoize(buildResourceEventUis, isPropsEqual);\n this.injectResourceEventUis = memoize(injectResourceEventUis);\n }\n ResourceEventConfigAdder.prototype.transform = function (viewProps, calendarProps) {\n if (!calendarProps.viewSpec.optionDefaults.needsResourceData) {\n return {\n eventUiBases: this.injectResourceEventUis(viewProps.eventUiBases, viewProps.eventStore.defs, this.buildResourceEventUis(calendarProps.resourceStore)),\n };\n }\n return null;\n };\n return ResourceEventConfigAdder;\n}());\nfunction buildResourceEventUis(resourceStore) {\n return mapHash(resourceStore, function (resource) { return resource.ui; });\n}\nfunction injectResourceEventUis(eventUiBases, eventDefs, resourceEventUis) {\n return mapHash(eventUiBases, function (eventUi, defId) {\n if (defId) { // not the '' key\n return injectResourceEventUi(eventUi, eventDefs[defId], resourceEventUis);\n }\n return eventUi;\n });\n}\nfunction injectResourceEventUi(origEventUi, eventDef, resourceEventUis) {\n var parts = [];\n // first resource takes precedence, which fights with the ordering of combineEventUis, thus the unshifts\n for (var _i = 0, _a = eventDef.resourceIds; _i < _a.length; _i++) {\n var resourceId = _a[_i];\n if (resourceEventUis[resourceId]) {\n parts.unshift(resourceEventUis[resourceId]);\n }\n }\n parts.unshift(origEventUi);\n return combineEventUis(parts);\n}\n\nvar defs = []; // TODO: use plugin system\nfunction registerResourceSourceDef(def) {\n defs.push(def);\n}\nfunction getResourceSourceDef(id) {\n return defs[id];\n}\nfunction getResourceSourceDefs() {\n return defs;\n}\n\n// TODO: make this a plugin-able parser\n// TODO: success/failure\nvar RESOURCE_SOURCE_REFINERS = {\n id: String,\n // for array. TODO: move to resource-array\n resources: identity,\n // for json feed. TODO: move to resource-json-feed\n url: String,\n method: String,\n startParam: String,\n endParam: String,\n timeZoneParam: String,\n extraParams: identity,\n};\nfunction parseResourceSource(input) {\n var inputObj;\n if (typeof input === 'string') {\n inputObj = { url: input };\n }\n else if (typeof input === 'function' || Array.isArray(input)) {\n inputObj = { resources: input };\n }\n else if (typeof input === 'object' && input) { // non-null object\n inputObj = input;\n }\n if (inputObj) {\n var _a = refineProps(inputObj, RESOURCE_SOURCE_REFINERS), refined = _a.refined, extra = _a.extra;\n warnUnknownProps(extra);\n var metaRes = buildResourceSourceMeta(refined);\n if (metaRes) {\n return {\n _raw: input,\n sourceId: guid(),\n sourceDefId: metaRes.sourceDefId,\n meta: metaRes.meta,\n publicId: refined.id || '',\n isFetching: false,\n latestFetchId: '',\n fetchRange: null,\n };\n }\n }\n return null;\n}\nfunction buildResourceSourceMeta(refined) {\n var defs = getResourceSourceDefs();\n for (var i = defs.length - 1; i >= 0; i -= 1) { // later-added plugins take precedence\n var def = defs[i];\n var meta = def.parseMeta(refined);\n if (meta) {\n return { meta: meta, sourceDefId: i };\n }\n }\n return null;\n}\nfunction warnUnknownProps(props) {\n for (var propName in props) {\n console.warn(\"Unknown resource prop '\" + propName + \"'\");\n }\n}\n\nfunction reduceResourceSource(source, action, context) {\n var options = context.options, dateProfile = context.dateProfile;\n if (!source || !action) {\n return createSource(options.initialResources || options.resources, dateProfile.activeRange, options.refetchResourcesOnNavigate, context);\n }\n switch (action.type) {\n case 'RESET_RESOURCE_SOURCE':\n return createSource(action.resourceSourceInput, dateProfile.activeRange, options.refetchResourcesOnNavigate, context);\n case 'PREV': // TODO: how do we track all actions that affect dateProfile :(\n case 'NEXT':\n case 'CHANGE_DATE':\n case 'CHANGE_VIEW_TYPE':\n return handleRangeChange(source, dateProfile.activeRange, options.refetchResourcesOnNavigate, context);\n case 'RECEIVE_RESOURCES':\n case 'RECEIVE_RESOURCE_ERROR':\n return receiveResponse(source, action.fetchId, action.fetchRange);\n case 'REFETCH_RESOURCES':\n return fetchSource(source, dateProfile.activeRange, context);\n default:\n return source;\n }\n}\nfunction createSource(input, activeRange, refetchResourcesOnNavigate, context) {\n if (input) {\n var source = parseResourceSource(input);\n source = fetchSource(source, refetchResourcesOnNavigate ? activeRange : null, context);\n return source;\n }\n return null;\n}\nfunction handleRangeChange(source, activeRange, refetchResourcesOnNavigate, context) {\n if (refetchResourcesOnNavigate &&\n !doesSourceIgnoreRange(source) &&\n (!source.fetchRange || !rangesEqual(source.fetchRange, activeRange))) {\n return fetchSource(source, activeRange, context);\n }\n return source;\n}\nfunction doesSourceIgnoreRange(source) {\n return Boolean(getResourceSourceDef(source.sourceDefId).ignoreRange);\n}\nfunction fetchSource(source, fetchRange, context) {\n var sourceDef = getResourceSourceDef(source.sourceDefId);\n var fetchId = guid();\n sourceDef.fetch({\n resourceSource: source,\n range: fetchRange,\n context: context,\n }, function (res) {\n context.dispatch({\n type: 'RECEIVE_RESOURCES',\n fetchId: fetchId,\n fetchRange: fetchRange,\n rawResources: res.rawResources,\n });\n }, function (error) {\n context.dispatch({\n type: 'RECEIVE_RESOURCE_ERROR',\n fetchId: fetchId,\n fetchRange: fetchRange,\n error: error,\n });\n });\n return __assign(__assign({}, source), { isFetching: true, latestFetchId: fetchId });\n}\nfunction receiveResponse(source, fetchId, fetchRange) {\n if (fetchId === source.latestFetchId) {\n return __assign(__assign({}, source), { isFetching: false, fetchRange: fetchRange });\n }\n return source;\n}\n\nvar PRIVATE_ID_PREFIX = '_fc:';\nvar RESOURCE_REFINERS = {\n id: String,\n parentId: String,\n children: identity,\n title: String,\n businessHours: identity,\n extendedProps: identity,\n // event-ui\n eventEditable: Boolean,\n eventStartEditable: Boolean,\n eventDurationEditable: Boolean,\n eventConstraint: identity,\n eventOverlap: Boolean,\n eventAllow: identity,\n eventClassNames: parseClassNames,\n eventBackgroundColor: String,\n eventBorderColor: String,\n eventTextColor: String,\n eventColor: String,\n};\n/*\nneeds a full store so that it can populate children too\n*/\nfunction parseResource(raw, parentId, store, context) {\n if (parentId === void 0) { parentId = ''; }\n var _a = refineProps(raw, RESOURCE_REFINERS), refined = _a.refined, extra = _a.extra;\n var resource = {\n id: refined.id || (PRIVATE_ID_PREFIX + guid()),\n parentId: refined.parentId || parentId,\n title: refined.title || '',\n businessHours: refined.businessHours ? parseBusinessHours(refined.businessHours, context) : null,\n ui: createEventUi({\n editable: refined.eventEditable,\n startEditable: refined.eventStartEditable,\n durationEditable: refined.eventDurationEditable,\n constraint: refined.eventConstraint,\n overlap: refined.eventOverlap,\n allow: refined.eventAllow,\n classNames: refined.eventClassNames,\n backgroundColor: refined.eventBackgroundColor,\n borderColor: refined.eventBorderColor,\n textColor: refined.eventTextColor,\n color: refined.eventColor,\n }, context),\n extendedProps: __assign(__assign({}, extra), refined.extendedProps),\n };\n // help out ResourceApi from having user modify props\n Object.freeze(resource.ui.classNames);\n Object.freeze(resource.extendedProps);\n if (store[resource.id]) ;\n else {\n store[resource.id] = resource;\n if (refined.children) {\n for (var _i = 0, _b = refined.children; _i < _b.length; _i++) {\n var childInput = _b[_i];\n parseResource(childInput, resource.id, store, context);\n }\n }\n }\n return resource;\n}\n/*\nTODO: use this in more places\n*/\nfunction getPublicId(id) {\n if (id.indexOf(PRIVATE_ID_PREFIX) === 0) {\n return '';\n }\n return id;\n}\n\nfunction reduceResourceStore(store, action, source, context) {\n if (!store || !action) {\n return {};\n }\n switch (action.type) {\n case 'RECEIVE_RESOURCES':\n return receiveRawResources(store, action.rawResources, action.fetchId, source, context);\n case 'ADD_RESOURCE':\n return addResource(store, action.resourceHash);\n case 'REMOVE_RESOURCE':\n return removeResource(store, action.resourceId);\n case 'SET_RESOURCE_PROP':\n return setResourceProp(store, action.resourceId, action.propName, action.propValue);\n case 'SET_RESOURCE_EXTENDED_PROP':\n return setResourceExtendedProp(store, action.resourceId, action.propName, action.propValue);\n default:\n return store;\n }\n}\nfunction receiveRawResources(existingStore, inputs, fetchId, source, context) {\n if (source.latestFetchId === fetchId) {\n var nextStore = {};\n for (var _i = 0, inputs_1 = inputs; _i < inputs_1.length; _i++) {\n var input = inputs_1[_i];\n parseResource(input, '', nextStore, context);\n }\n return nextStore;\n }\n return existingStore;\n}\nfunction addResource(existingStore, additions) {\n // TODO: warn about duplicate IDs\n return __assign(__assign({}, existingStore), additions);\n}\nfunction removeResource(existingStore, resourceId) {\n var newStore = __assign({}, existingStore);\n delete newStore[resourceId];\n // promote children\n for (var childResourceId in newStore) { // a child, *maybe* but probably not\n if (newStore[childResourceId].parentId === resourceId) {\n newStore[childResourceId] = __assign(__assign({}, newStore[childResourceId]), { parentId: '' });\n }\n }\n return newStore;\n}\nfunction setResourceProp(existingStore, resourceId, name, value) {\n var _a, _b;\n var existingResource = existingStore[resourceId];\n // TODO: sanitization\n if (existingResource) {\n return __assign(__assign({}, existingStore), (_a = {}, _a[resourceId] = __assign(__assign({}, existingResource), (_b = {}, _b[name] = value, _b)), _a));\n }\n return existingStore;\n}\nfunction setResourceExtendedProp(existingStore, resourceId, name, value) {\n var _a, _b;\n var existingResource = existingStore[resourceId];\n if (existingResource) {\n return __assign(__assign({}, existingStore), (_a = {}, _a[resourceId] = __assign(__assign({}, existingResource), { extendedProps: __assign(__assign({}, existingResource.extendedProps), (_b = {}, _b[name] = value, _b)) }), _a));\n }\n return existingStore;\n}\n\nfunction reduceResourceEntityExpansions(expansions, action) {\n var _a;\n if (!expansions || !action) {\n return {};\n }\n switch (action.type) {\n case 'SET_RESOURCE_ENTITY_EXPANDED':\n return __assign(__assign({}, expansions), (_a = {}, _a[action.id] = action.isExpanded, _a));\n default:\n return expansions;\n }\n}\n\nfunction reduceResources(state, action, context) {\n var resourceSource = reduceResourceSource(state && state.resourceSource, action, context);\n var resourceStore = reduceResourceStore(state && state.resourceStore, action, resourceSource, context);\n var resourceEntityExpansions = reduceResourceEntityExpansions(state && state.resourceEntityExpansions, action);\n return {\n resourceSource: resourceSource,\n resourceStore: resourceStore,\n resourceEntityExpansions: resourceEntityExpansions,\n };\n}\n\nvar EVENT_REFINERS = {\n resourceId: String,\n resourceIds: identity,\n resourceEditable: Boolean,\n};\nfunction generateEventDefResourceMembers(refined) {\n return {\n resourceIds: ensureStringArray(refined.resourceIds)\n .concat(refined.resourceId ? [refined.resourceId] : []),\n resourceEditable: refined.resourceEditable,\n };\n}\nfunction ensureStringArray(items) {\n return (items || []).map(function (item) { return String(item); });\n}\n\nfunction transformDateSelectionJoin(hit0, hit1) {\n var resourceId0 = hit0.dateSpan.resourceId;\n var resourceId1 = hit1.dateSpan.resourceId;\n if (resourceId0 && resourceId1) {\n return { resourceId: resourceId0 };\n }\n return null;\n}\n\nvar ResourceApi = /** @class */ (function () {\n function ResourceApi(_context, _resource) {\n this._context = _context;\n this._resource = _resource;\n }\n ResourceApi.prototype.setProp = function (name, value) {\n var oldResource = this._resource;\n this._context.dispatch({\n type: 'SET_RESOURCE_PROP',\n resourceId: oldResource.id,\n propName: name,\n propValue: value,\n });\n this.sync(oldResource);\n };\n ResourceApi.prototype.setExtendedProp = function (name, value) {\n var oldResource = this._resource;\n this._context.dispatch({\n type: 'SET_RESOURCE_EXTENDED_PROP',\n resourceId: oldResource.id,\n propName: name,\n propValue: value,\n });\n this.sync(oldResource);\n };\n ResourceApi.prototype.sync = function (oldResource) {\n var context = this._context;\n var resourceId = oldResource.id;\n // TODO: what if dispatch didn't complete synchronously?\n this._resource = context.getCurrentData().resourceStore[resourceId];\n context.emitter.trigger('resourceChange', {\n oldResource: new ResourceApi(context, oldResource),\n resource: this,\n revert: function () {\n var _a;\n context.dispatch({\n type: 'ADD_RESOURCE',\n resourceHash: (_a = {},\n _a[resourceId] = oldResource,\n _a),\n });\n },\n });\n };\n ResourceApi.prototype.remove = function () {\n var context = this._context;\n var internalResource = this._resource;\n var resourceId = internalResource.id;\n context.dispatch({\n type: 'REMOVE_RESOURCE',\n resourceId: resourceId,\n });\n context.emitter.trigger('resourceRemove', {\n resource: this,\n revert: function () {\n var _a;\n context.dispatch({\n type: 'ADD_RESOURCE',\n resourceHash: (_a = {},\n _a[resourceId] = internalResource,\n _a),\n });\n },\n });\n };\n ResourceApi.prototype.getParent = function () {\n var context = this._context;\n var parentId = this._resource.parentId;\n if (parentId) {\n return new ResourceApi(context, context.getCurrentData().resourceSource[parentId]);\n }\n return null;\n };\n ResourceApi.prototype.getChildren = function () {\n var thisResourceId = this._resource.id;\n var context = this._context;\n var resourceStore = context.getCurrentData().resourceStore;\n var childApis = [];\n for (var resourceId in resourceStore) {\n if (resourceStore[resourceId].parentId === thisResourceId) {\n childApis.push(new ResourceApi(context, resourceStore[resourceId]));\n }\n }\n return childApis;\n };\n /*\n this is really inefficient!\n TODO: make EventApi::resourceIds a hash or keep an index in the Calendar's state\n */\n ResourceApi.prototype.getEvents = function () {\n var thisResourceId = this._resource.id;\n var context = this._context;\n var _a = context.getCurrentData().eventStore, defs = _a.defs, instances = _a.instances;\n var eventApis = [];\n for (var instanceId in instances) {\n var instance = instances[instanceId];\n var def = defs[instance.defId];\n if (def.resourceIds.indexOf(thisResourceId) !== -1) { // inefficient!!!\n eventApis.push(new EventApi(context, def, instance));\n }\n }\n return eventApis;\n };\n Object.defineProperty(ResourceApi.prototype, \"id\", {\n get: function () { return getPublicId(this._resource.id); },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ResourceApi.prototype, \"title\", {\n get: function () { return this._resource.title; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ResourceApi.prototype, \"eventConstraint\", {\n get: function () { return this._resource.ui.constraints[0] || null; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ResourceApi.prototype, \"eventOverlap\", {\n get: function () { return this._resource.ui.overlap; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ResourceApi.prototype, \"eventAllow\", {\n get: function () { return this._resource.ui.allows[0] || null; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ResourceApi.prototype, \"eventBackgroundColor\", {\n get: function () { return this._resource.ui.backgroundColor; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ResourceApi.prototype, \"eventBorderColor\", {\n get: function () { return this._resource.ui.borderColor; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ResourceApi.prototype, \"eventTextColor\", {\n get: function () { return this._resource.ui.textColor; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ResourceApi.prototype, \"eventClassNames\", {\n // NOTE: user can't modify these because Object.freeze was called in event-def parsing\n get: function () { return this._resource.ui.classNames; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ResourceApi.prototype, \"extendedProps\", {\n get: function () { return this._resource.extendedProps; },\n enumerable: false,\n configurable: true\n });\n ResourceApi.prototype.toPlainObject = function (settings) {\n if (settings === void 0) { settings = {}; }\n var internal = this._resource;\n var ui = internal.ui;\n var publicId = this.id;\n var res = {};\n if (publicId) {\n res.id = publicId;\n }\n if (internal.title) {\n res.title = internal.title;\n }\n if (settings.collapseEventColor && ui.backgroundColor && ui.backgroundColor === ui.borderColor) {\n res.eventColor = ui.backgroundColor;\n }\n else {\n if (ui.backgroundColor) {\n res.eventBackgroundColor = ui.backgroundColor;\n }\n if (ui.borderColor) {\n res.eventBorderColor = ui.borderColor;\n }\n }\n if (ui.textColor) {\n res.eventTextColor = ui.textColor;\n }\n if (ui.classNames.length) {\n res.eventClassNames = ui.classNames;\n }\n if (Object.keys(internal.extendedProps).length) {\n if (settings.collapseExtendedProps) {\n __assign(res, internal.extendedProps);\n }\n else {\n res.extendedProps = internal.extendedProps;\n }\n }\n return res;\n };\n ResourceApi.prototype.toJSON = function () {\n return this.toPlainObject();\n };\n return ResourceApi;\n}());\nfunction buildResourceApis(resourceStore, context) {\n var resourceApis = [];\n for (var resourceId in resourceStore) {\n resourceApis.push(new ResourceApi(context, resourceStore[resourceId]));\n }\n return resourceApis;\n}\n\nCalendarApi.prototype.addResource = function (input, scrollTo) {\n var _a;\n var _this = this;\n if (scrollTo === void 0) { scrollTo = true; }\n var currentState = this.getCurrentData();\n var resourceHash;\n var resource;\n if (input instanceof ResourceApi) {\n resource = input._resource;\n resourceHash = (_a = {}, _a[resource.id] = resource, _a);\n }\n else {\n resourceHash = {};\n resource = parseResource(input, '', resourceHash, currentState);\n }\n this.dispatch({\n type: 'ADD_RESOURCE',\n resourceHash: resourceHash,\n });\n if (scrollTo) {\n // TODO: wait til dispatch completes somehow\n this.trigger('_scrollRequest', { resourceId: resource.id });\n }\n var resourceApi = new ResourceApi(currentState, resource);\n currentState.emitter.trigger('resourceAdd', {\n resource: resourceApi,\n revert: function () {\n _this.dispatch({\n type: 'REMOVE_RESOURCE',\n resourceId: resource.id,\n });\n },\n });\n return resourceApi;\n};\nCalendarApi.prototype.getResourceById = function (id) {\n id = String(id);\n var currentState = this.getCurrentData(); // eslint-disable-line react/no-this-in-sfc\n if (currentState.resourceStore) { // guard against calendar with no resource functionality\n var rawResource = currentState.resourceStore[id];\n if (rawResource) {\n return new ResourceApi(currentState, rawResource);\n }\n }\n return null;\n};\nCalendarApi.prototype.getResources = function () {\n var currentState = this.getCurrentData();\n var resourceStore = currentState.resourceStore;\n var resourceApis = [];\n if (resourceStore) { // guard against calendar with no resource functionality\n for (var resourceId in resourceStore) {\n resourceApis.push(new ResourceApi(currentState, resourceStore[resourceId]));\n }\n }\n return resourceApis;\n};\nCalendarApi.prototype.getTopLevelResources = function () {\n var currentState = this.getCurrentData();\n var resourceStore = currentState.resourceStore;\n var resourceApis = [];\n if (resourceStore) { // guard against calendar with no resource functionality\n for (var resourceId in resourceStore) {\n if (!resourceStore[resourceId].parentId) {\n resourceApis.push(new ResourceApi(currentState, resourceStore[resourceId]));\n }\n }\n }\n return resourceApis;\n};\nCalendarApi.prototype.refetchResources = function () {\n this.dispatch({\n type: 'REFETCH_RESOURCES',\n });\n};\nfunction transformDatePoint(dateSpan, context) {\n return dateSpan.resourceId ?\n { resource: context.calendarApi.getResourceById(dateSpan.resourceId) } :\n {};\n}\nfunction transformDateSpan(dateSpan, context) {\n return dateSpan.resourceId ?\n { resource: context.calendarApi.getResourceById(dateSpan.resourceId) } :\n {};\n}\n\n/*\nsplits things BASED OFF OF which resources they are associated with.\ncreates a '' entry which is when something has NO resource.\n*/\nvar ResourceSplitter = /** @class */ (function (_super) {\n __extends(ResourceSplitter, _super);\n function ResourceSplitter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ResourceSplitter.prototype.getKeyInfo = function (props) {\n return __assign({ '': {} }, props.resourceStore);\n };\n ResourceSplitter.prototype.getKeysForDateSpan = function (dateSpan) {\n return [dateSpan.resourceId || ''];\n };\n ResourceSplitter.prototype.getKeysForEventDef = function (eventDef) {\n var resourceIds = eventDef.resourceIds;\n if (!resourceIds.length) {\n return [''];\n }\n return resourceIds;\n };\n return ResourceSplitter;\n}(Splitter));\n\nfunction isPropsValidWithResources(combinedProps, context) {\n var splitter = new ResourceSplitter();\n var sets = splitter.splitProps(__assign(__assign({}, combinedProps), { resourceStore: context.getCurrentData().resourceStore }));\n for (var resourceId in sets) {\n var props = sets[resourceId];\n // merge in event data from the non-resource segment\n if (resourceId && sets['']) { // current segment is not the non-resource one, and there IS a non-resource one\n props = __assign(__assign({}, props), { eventStore: mergeEventStores(sets[''].eventStore, props.eventStore), eventUiBases: __assign(__assign({}, sets[''].eventUiBases), props.eventUiBases) });\n }\n if (!isPropsValid(props, context, { resourceId: resourceId }, filterConfig.bind(null, resourceId))) {\n return false;\n }\n }\n return true;\n}\nfunction filterConfig(resourceId, config) {\n return __assign(__assign({}, config), { constraints: filterConstraints(resourceId, config.constraints) });\n}\nfunction filterConstraints(resourceId, constraints) {\n return constraints.map(function (constraint) {\n var defs = constraint.defs;\n if (defs) { // we are dealing with an EventStore\n // if any of the events define constraints to resources that are NOT this resource,\n // then this resource is unconditionally prohibited, which is what a `false` value does.\n for (var defId in defs) {\n var resourceIds = defs[defId].resourceIds;\n if (resourceIds.length && resourceIds.indexOf(resourceId) === -1) { // TODO: use a hash?!!! (for other reasons too)\n return false;\n }\n }\n }\n return constraint;\n });\n}\n\nfunction transformExternalDef(dateSpan) {\n return dateSpan.resourceId ?\n { resourceId: dateSpan.resourceId } :\n {};\n}\n\nEventApi.prototype.getResources = function () {\n var calendarApi = this._context.calendarApi;\n return this._def.resourceIds.map(function (resourceId) { return calendarApi.getResourceById(resourceId); });\n};\nEventApi.prototype.setResources = function (resources) {\n var resourceIds = [];\n // massage resources -> resourceIds\n for (var _i = 0, resources_1 = resources; _i < resources_1.length; _i++) {\n var resource = resources_1[_i];\n var resourceId = null;\n if (typeof resource === 'string') {\n resourceId = resource;\n }\n else if (typeof resource === 'number') {\n resourceId = String(resource);\n }\n else if (resource instanceof ResourceApi) {\n resourceId = resource.id; // guaranteed to always have an ID. hmmm\n }\n else {\n console.warn('unknown resource type: ' + resource);\n }\n if (resourceId) {\n resourceIds.push(resourceId);\n }\n }\n this.mutate({\n standardProps: {\n resourceIds: resourceIds,\n },\n });\n};\n\nvar optionChangeHandlers = {\n resources: handleResources,\n};\nfunction handleResources(newSourceInput, context) {\n var oldSourceInput = context.getCurrentData().resourceSource._raw;\n if (oldSourceInput !== newSourceInput) {\n context.dispatch({\n type: 'RESET_RESOURCE_SOURCE',\n resourceSourceInput: newSourceInput,\n });\n }\n}\n\nvar DEFAULT_RESOURCE_ORDER = parseFieldSpecs('id,title');\nfunction handleResourceStore(resourceStore, calendarData) {\n var emitter = calendarData.emitter;\n if (emitter.hasHandlers('resourcesSet')) {\n emitter.trigger('resourcesSet', buildResourceApis(resourceStore, calendarData));\n }\n}\n\nvar OPTION_REFINERS = {\n initialResources: identity,\n resources: identity,\n eventResourceEditable: Boolean,\n refetchResourcesOnNavigate: Boolean,\n resourceOrder: parseFieldSpecs,\n filterResourcesWithEvents: Boolean,\n resourceGroupField: String,\n resourceAreaWidth: identity,\n resourceAreaColumns: identity,\n resourcesInitiallyExpanded: Boolean,\n datesAboveResources: Boolean,\n needsResourceData: Boolean,\n resourceAreaHeaderClassNames: identity,\n resourceAreaHeaderContent: identity,\n resourceAreaHeaderDidMount: identity,\n resourceAreaHeaderWillUnmount: identity,\n resourceGroupLabelClassNames: identity,\n resourceGroupLabelContent: identity,\n resourceGroupLabelDidMount: identity,\n resourceGroupLabelWillUnmount: identity,\n resourceLabelClassNames: identity,\n resourceLabelContent: identity,\n resourceLabelDidMount: identity,\n resourceLabelWillUnmount: identity,\n resourceLaneClassNames: identity,\n resourceLaneContent: identity,\n resourceLaneDidMount: identity,\n resourceLaneWillUnmount: identity,\n resourceGroupLaneClassNames: identity,\n resourceGroupLaneContent: identity,\n resourceGroupLaneDidMount: identity,\n resourceGroupLaneWillUnmount: identity,\n};\nvar LISTENER_REFINERS = {\n resourcesSet: identity,\n resourceAdd: identity,\n resourceChange: identity,\n resourceRemove: identity,\n};\n\nregisterResourceSourceDef({\n ignoreRange: true,\n parseMeta: function (refined) {\n if (Array.isArray(refined.resources)) {\n return refined.resources;\n }\n return null;\n },\n fetch: function (arg, successCallback) {\n successCallback({\n rawResources: arg.resourceSource.meta,\n });\n },\n});\n\nregisterResourceSourceDef({\n parseMeta: function (refined) {\n if (typeof refined.resources === 'function') {\n return refined.resources;\n }\n return null;\n },\n fetch: function (arg, success, failure) {\n var dateEnv = arg.context.dateEnv;\n var func = arg.resourceSource.meta;\n var publicArg = arg.range ? {\n start: dateEnv.toDate(arg.range.start),\n end: dateEnv.toDate(arg.range.end),\n startStr: dateEnv.formatIso(arg.range.start),\n endStr: dateEnv.formatIso(arg.range.end),\n timeZone: dateEnv.timeZone,\n } : {};\n // TODO: make more dry with EventSourceFunc\n // TODO: accept a response?\n unpromisify(func.bind(null, publicArg), function (rawResources) {\n success({ rawResources: rawResources }); // needs an object response\n }, failure);\n },\n});\n\nregisterResourceSourceDef({\n parseMeta: function (refined) {\n if (refined.url) {\n return {\n url: refined.url,\n method: (refined.method || 'GET').toUpperCase(),\n extraParams: refined.extraParams,\n };\n }\n return null;\n },\n fetch: function (arg, successCallback, failureCallback) {\n var meta = arg.resourceSource.meta;\n var requestParams = buildRequestParams(meta, arg.range, arg.context);\n requestJson(meta.method, meta.url, requestParams, function (rawResources, xhr) {\n successCallback({ rawResources: rawResources, xhr: xhr });\n }, function (message, xhr) {\n failureCallback({ message: message, xhr: xhr });\n });\n },\n});\n// TODO: somehow consolidate with event json feed\nfunction buildRequestParams(meta, range, context) {\n var dateEnv = context.dateEnv, options = context.options;\n var startParam;\n var endParam;\n var timeZoneParam;\n var customRequestParams;\n var params = {};\n if (range) {\n startParam = meta.startParam;\n if (startParam == null) {\n startParam = options.startParam;\n }\n endParam = meta.endParam;\n if (endParam == null) {\n endParam = options.endParam;\n }\n timeZoneParam = meta.timeZoneParam;\n if (timeZoneParam == null) {\n timeZoneParam = options.timeZoneParam;\n }\n params[startParam] = dateEnv.formatIso(range.start);\n params[endParam] = dateEnv.formatIso(range.end);\n if (dateEnv.timeZone !== 'local') {\n params[timeZoneParam] = dateEnv.timeZone;\n }\n }\n // retrieve any outbound GET/POST data from the options\n if (typeof meta.extraParams === 'function') {\n // supplied as a function that returns a key/value object\n customRequestParams = meta.extraParams();\n }\n else {\n // probably supplied as a straight key/value object\n customRequestParams = meta.extraParams || {};\n }\n __assign(params, customRequestParams);\n return params;\n}\n\n// TODO: not used for Spreadsheet. START USING. difficult because of col-specific rendering props\nfunction ResourceLabelRoot(props) {\n return (createElement(ViewContextType.Consumer, null, function (context) {\n var options = context.options;\n var hookProps = {\n resource: new ResourceApi(context, props.resource),\n date: props.date ? context.dateEnv.toDate(props.date) : null,\n view: context.viewApi,\n };\n var dataAttrs = {\n 'data-resource-id': props.resource.id,\n 'data-date': props.date ? formatDayString(props.date) : undefined,\n };\n return (createElement(RenderHook, { hookProps: hookProps, classNames: options.resourceLabelClassNames, content: options.resourceLabelContent, defaultContent: renderInnerContent, didMount: options.resourceLabelDidMount, willUnmount: options.resourceLabelWillUnmount }, function (rootElRef, classNames, innerElRef, innerContent) { return props.children(rootElRef, classNames, // TODO: pass in 'fc-resource' ?\n dataAttrs, innerElRef, innerContent); }));\n }));\n}\nfunction renderInnerContent(props) {\n return props.resource.title || props.resource.id;\n}\n\nvar ResourceCell = /** @class */ (function (_super) {\n __extends(ResourceCell, _super);\n function ResourceCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ResourceCell.prototype.render = function () {\n var props = this.props;\n return (createElement(ResourceLabelRoot, { resource: props.resource, date: props.date }, function (elRef, customClassNames, dataAttrs, innerElRef, innerContent) { return (createElement(\"th\", __assign({ ref: elRef, role: \"columnheader\", className: ['fc-col-header-cell', 'fc-resource'].concat(customClassNames).join(' '), colSpan: props.colSpan }, dataAttrs),\n createElement(\"div\", { className: \"fc-scrollgrid-sync-inner\" },\n createElement(\"span\", { className: [\n 'fc-col-header-cell-cushion',\n props.isSticky ? 'fc-sticky' : '',\n ].join(' '), ref: innerElRef }, innerContent)))); }));\n };\n return ResourceCell;\n}(BaseComponent));\n\nvar ResourceDayHeader = /** @class */ (function (_super) {\n __extends(ResourceDayHeader, _super);\n function ResourceDayHeader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.buildDateFormat = memoize(buildDateFormat);\n return _this;\n }\n ResourceDayHeader.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, context = _a.context;\n var dateFormat = this.buildDateFormat(context.options.dayHeaderFormat, props.datesRepDistinctDays, props.dates.length);\n return (createElement(NowTimer, { unit: \"day\" }, function (nowDate, todayRange) {\n if (props.dates.length === 1) {\n return _this.renderResourceRow(props.resources, props.dates[0]);\n }\n if (context.options.datesAboveResources) {\n return _this.renderDayAndResourceRows(props.dates, dateFormat, todayRange, props.resources);\n }\n return _this.renderResourceAndDayRows(props.resources, props.dates, dateFormat, todayRange);\n }));\n };\n ResourceDayHeader.prototype.renderResourceRow = function (resources, date) {\n var resourceCells = resources.map(function (resource) { return (createElement(ResourceCell, { key: resource.id, resource: resource, colSpan: 1, date: date })); });\n return this.buildTr(resourceCells, 'resources');\n };\n ResourceDayHeader.prototype.renderDayAndResourceRows = function (dates, dateFormat, todayRange, resources) {\n var dateCells = [];\n var resourceCells = [];\n for (var _i = 0, dates_1 = dates; _i < dates_1.length; _i++) {\n var date = dates_1[_i];\n dateCells.push(this.renderDateCell(date, dateFormat, todayRange, resources.length, null, true));\n for (var _a = 0, resources_1 = resources; _a < resources_1.length; _a++) {\n var resource = resources_1[_a];\n resourceCells.push(createElement(ResourceCell, { key: resource.id + ':' + date.toISOString(), resource: resource, colSpan: 1, date: date }));\n }\n }\n return (createElement(Fragment, null,\n this.buildTr(dateCells, 'day'),\n this.buildTr(resourceCells, 'resources')));\n };\n ResourceDayHeader.prototype.renderResourceAndDayRows = function (resources, dates, dateFormat, todayRange) {\n var resourceCells = [];\n var dateCells = [];\n for (var _i = 0, resources_2 = resources; _i < resources_2.length; _i++) {\n var resource = resources_2[_i];\n resourceCells.push(createElement(ResourceCell, { key: resource.id, resource: resource, colSpan: dates.length, isSticky: true }));\n for (var _a = 0, dates_2 = dates; _a < dates_2.length; _a++) {\n var date = dates_2[_a];\n dateCells.push(this.renderDateCell(date, dateFormat, todayRange, 1, resource));\n }\n }\n return (createElement(Fragment, null,\n this.buildTr(resourceCells, 'resources'),\n this.buildTr(dateCells, 'day')));\n };\n // a cell with date text. might have a resource associated with it\n ResourceDayHeader.prototype.renderDateCell = function (date, dateFormat, todayRange, colSpan, resource, isSticky) {\n var props = this.props;\n var keyPostfix = resource ? \":\" + resource.id : '';\n var extraHookProps = resource ? { resource: new ResourceApi(this.context, resource) } : {};\n var extraDataAttrs = resource ? { 'data-resource-id': resource.id } : {};\n return props.datesRepDistinctDays ? (createElement(TableDateCell, { key: date.toISOString() + keyPostfix, date: date, dateProfile: props.dateProfile, todayRange: todayRange, colCnt: props.dates.length * props.resources.length, dayHeaderFormat: dateFormat, colSpan: colSpan, isSticky: isSticky, extraHookProps: extraHookProps, extraDataAttrs: extraDataAttrs })) : (createElement(TableDowCell // we can't leverage the pure-componentness becausae the extra* props are new every time :(\n , { key: date.getUTCDay() + keyPostfix, dow: date.getUTCDay(), dayHeaderFormat: dateFormat, colSpan: colSpan, isSticky: isSticky, extraHookProps: extraHookProps, extraDataAttrs: extraDataAttrs }));\n };\n ResourceDayHeader.prototype.buildTr = function (cells, key) {\n var renderIntro = this.props.renderIntro;\n if (!cells.length) {\n cells = [createElement(\"td\", { key: 0 }, \"\\u00A0\")];\n }\n return (createElement(\"tr\", { key: key, role: \"row\" },\n renderIntro && renderIntro(key),\n cells));\n };\n return ResourceDayHeader;\n}(BaseComponent));\nfunction buildDateFormat(dayHeaderFormat, datesRepDistinctDays, dayCnt) {\n return dayHeaderFormat || computeFallbackHeaderFormat(datesRepDistinctDays, dayCnt);\n}\n\nvar ResourceIndex = /** @class */ (function () {\n function ResourceIndex(resources) {\n var indicesById = {};\n var ids = [];\n for (var i = 0; i < resources.length; i += 1) {\n var id = resources[i].id;\n ids.push(id);\n indicesById[id] = i;\n }\n this.ids = ids;\n this.indicesById = indicesById;\n this.length = resources.length;\n }\n return ResourceIndex;\n}());\n\nvar AbstractResourceDayTableModel = /** @class */ (function () {\n function AbstractResourceDayTableModel(dayTableModel, resources, context) {\n this.dayTableModel = dayTableModel;\n this.resources = resources;\n this.context = context;\n this.resourceIndex = new ResourceIndex(resources);\n this.rowCnt = dayTableModel.rowCnt;\n this.colCnt = dayTableModel.colCnt * resources.length;\n this.cells = this.buildCells();\n }\n AbstractResourceDayTableModel.prototype.buildCells = function () {\n var _a = this, rowCnt = _a.rowCnt, dayTableModel = _a.dayTableModel, resources = _a.resources;\n var rows = [];\n for (var row = 0; row < rowCnt; row += 1) {\n var rowCells = [];\n for (var dateCol = 0; dateCol < dayTableModel.colCnt; dateCol += 1) {\n for (var resourceCol = 0; resourceCol < resources.length; resourceCol += 1) {\n var resource = resources[resourceCol];\n var extraHookProps = { resource: new ResourceApi(this.context, resource) };\n var extraDataAttrs = { 'data-resource-id': resource.id };\n var extraClassNames = ['fc-resource'];\n var extraDateSpan = { resourceId: resource.id };\n var date = dayTableModel.cells[row][dateCol].date;\n rowCells[this.computeCol(dateCol, resourceCol)] = {\n key: resource.id + ':' + date.toISOString(),\n date: date,\n extraHookProps: extraHookProps,\n extraDataAttrs: extraDataAttrs,\n extraClassNames: extraClassNames,\n extraDateSpan: extraDateSpan,\n };\n }\n }\n rows.push(rowCells);\n }\n return rows;\n };\n return AbstractResourceDayTableModel;\n}());\n\n/*\nresources over dates\n*/\nvar ResourceDayTableModel = /** @class */ (function (_super) {\n __extends(ResourceDayTableModel, _super);\n function ResourceDayTableModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ResourceDayTableModel.prototype.computeCol = function (dateI, resourceI) {\n return resourceI * this.dayTableModel.colCnt + dateI;\n };\n /*\n all date ranges are intact\n */\n ResourceDayTableModel.prototype.computeColRanges = function (dateStartI, dateEndI, resourceI) {\n return [\n {\n firstCol: this.computeCol(dateStartI, resourceI),\n lastCol: this.computeCol(dateEndI, resourceI),\n isStart: true,\n isEnd: true,\n },\n ];\n };\n return ResourceDayTableModel;\n}(AbstractResourceDayTableModel));\n\n/*\ndates over resources\n*/\nvar DayResourceTableModel = /** @class */ (function (_super) {\n __extends(DayResourceTableModel, _super);\n function DayResourceTableModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DayResourceTableModel.prototype.computeCol = function (dateI, resourceI) {\n return dateI * this.resources.length + resourceI;\n };\n /*\n every single day is broken up\n */\n DayResourceTableModel.prototype.computeColRanges = function (dateStartI, dateEndI, resourceI) {\n var segs = [];\n for (var i = dateStartI; i <= dateEndI; i += 1) {\n var col = this.computeCol(i, resourceI);\n segs.push({\n firstCol: col,\n lastCol: col,\n isStart: i === dateStartI,\n isEnd: i === dateEndI,\n });\n }\n return segs;\n };\n return DayResourceTableModel;\n}(AbstractResourceDayTableModel));\n\nvar NO_SEGS = []; // for memoizing\nvar VResourceJoiner = /** @class */ (function () {\n function VResourceJoiner() {\n this.joinDateSelection = memoize(this.joinSegs);\n this.joinBusinessHours = memoize(this.joinSegs);\n this.joinFgEvents = memoize(this.joinSegs);\n this.joinBgEvents = memoize(this.joinSegs);\n this.joinEventDrags = memoize(this.joinInteractions);\n this.joinEventResizes = memoize(this.joinInteractions);\n }\n /*\n propSets also has a '' key for things with no resource\n */\n VResourceJoiner.prototype.joinProps = function (propSets, resourceDayTable) {\n var dateSelectionSets = [];\n var businessHoursSets = [];\n var fgEventSets = [];\n var bgEventSets = [];\n var eventDrags = [];\n var eventResizes = [];\n var eventSelection = '';\n var keys = resourceDayTable.resourceIndex.ids.concat(['']); // add in the all-resource key\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n var props = propSets[key];\n dateSelectionSets.push(props.dateSelectionSegs);\n businessHoursSets.push(key ? props.businessHourSegs : NO_SEGS); // don't include redundant all-resource businesshours\n fgEventSets.push(key ? props.fgEventSegs : NO_SEGS); // don't include fg all-resource segs\n bgEventSets.push(props.bgEventSegs);\n eventDrags.push(props.eventDrag);\n eventResizes.push(props.eventResize);\n eventSelection = eventSelection || props.eventSelection;\n }\n return {\n dateSelectionSegs: this.joinDateSelection.apply(this, __spreadArray([resourceDayTable], dateSelectionSets)),\n businessHourSegs: this.joinBusinessHours.apply(this, __spreadArray([resourceDayTable], businessHoursSets)),\n fgEventSegs: this.joinFgEvents.apply(this, __spreadArray([resourceDayTable], fgEventSets)),\n bgEventSegs: this.joinBgEvents.apply(this, __spreadArray([resourceDayTable], bgEventSets)),\n eventDrag: this.joinEventDrags.apply(this, __spreadArray([resourceDayTable], eventDrags)),\n eventResize: this.joinEventResizes.apply(this, __spreadArray([resourceDayTable], eventResizes)),\n eventSelection: eventSelection,\n };\n };\n VResourceJoiner.prototype.joinSegs = function (resourceDayTable) {\n var segGroups = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n segGroups[_i - 1] = arguments[_i];\n }\n var resourceCnt = resourceDayTable.resources.length;\n var transformedSegs = [];\n for (var i = 0; i < resourceCnt; i += 1) {\n for (var _a = 0, _b = segGroups[i]; _a < _b.length; _a++) {\n var seg = _b[_a];\n transformedSegs.push.apply(transformedSegs, this.transformSeg(seg, resourceDayTable, i));\n }\n for (var _c = 0, _d = segGroups[resourceCnt]; _c < _d.length; _c++) { // one beyond. the all-resource\n var seg = _d[_c];\n transformedSegs.push.apply(// one beyond. the all-resource\n transformedSegs, this.transformSeg(seg, resourceDayTable, i));\n }\n }\n return transformedSegs;\n };\n /*\n for expanding non-resource segs to all resources.\n only for public use.\n no memoizing.\n */\n VResourceJoiner.prototype.expandSegs = function (resourceDayTable, segs) {\n var resourceCnt = resourceDayTable.resources.length;\n var transformedSegs = [];\n for (var i = 0; i < resourceCnt; i += 1) {\n for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n var seg = segs_1[_i];\n transformedSegs.push.apply(transformedSegs, this.transformSeg(seg, resourceDayTable, i));\n }\n }\n return transformedSegs;\n };\n VResourceJoiner.prototype.joinInteractions = function (resourceDayTable) {\n var interactions = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n interactions[_i - 1] = arguments[_i];\n }\n var resourceCnt = resourceDayTable.resources.length;\n var affectedInstances = {};\n var transformedSegs = [];\n var anyInteractions = false;\n var isEvent = false;\n for (var i = 0; i < resourceCnt; i += 1) {\n var interaction = interactions[i];\n if (interaction) {\n anyInteractions = true;\n for (var _a = 0, _b = interaction.segs; _a < _b.length; _a++) {\n var seg = _b[_a];\n transformedSegs.push.apply(transformedSegs, this.transformSeg(seg, resourceDayTable, i));\n }\n __assign(affectedInstances, interaction.affectedInstances);\n isEvent = isEvent || interaction.isEvent;\n }\n if (interactions[resourceCnt]) { // one beyond. the all-resource\n for (var _c = 0, _d = interactions[resourceCnt].segs; _c < _d.length; _c++) {\n var seg = _d[_c];\n transformedSegs.push.apply(transformedSegs, this.transformSeg(seg, resourceDayTable, i));\n }\n }\n }\n if (anyInteractions) {\n return {\n affectedInstances: affectedInstances,\n segs: transformedSegs,\n isEvent: isEvent,\n };\n }\n return null;\n };\n return VResourceJoiner;\n}());\n\n/*\nTODO: just use ResourceHash somehow? could then use the generic ResourceSplitter\n*/\nvar VResourceSplitter = /** @class */ (function (_super) {\n __extends(VResourceSplitter, _super);\n function VResourceSplitter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n VResourceSplitter.prototype.getKeyInfo = function (props) {\n var resourceDayTableModel = props.resourceDayTableModel;\n var hash = mapHash(resourceDayTableModel.resourceIndex.indicesById, function (i) { return resourceDayTableModel.resources[i]; }); // :(\n hash[''] = {};\n return hash;\n };\n VResourceSplitter.prototype.getKeysForDateSpan = function (dateSpan) {\n return [dateSpan.resourceId || ''];\n };\n VResourceSplitter.prototype.getKeysForEventDef = function (eventDef) {\n var resourceIds = eventDef.resourceIds;\n if (!resourceIds.length) {\n return [''];\n }\n return resourceIds;\n };\n return VResourceSplitter;\n}(Splitter));\n\n/*\ndoesn't accept grouping\n*/\nfunction flattenResources(resourceStore, orderSpecs) {\n return buildRowNodes(resourceStore, [], orderSpecs, false, {}, true)\n .map(function (node) { return node.resource; });\n}\nfunction buildRowNodes(resourceStore, groupSpecs, orderSpecs, isVGrouping, expansions, expansionDefault) {\n var complexNodes = buildHierarchy(resourceStore, isVGrouping ? -1 : 1, groupSpecs, orderSpecs);\n var flatNodes = [];\n flattenNodes(complexNodes, flatNodes, isVGrouping, [], 0, expansions, expansionDefault);\n return flatNodes;\n}\nfunction flattenNodes(complexNodes, res, isVGrouping, rowSpans, depth, expansions, expansionDefault) {\n for (var i = 0; i < complexNodes.length; i += 1) {\n var complexNode = complexNodes[i];\n var group = complexNode.group;\n if (group) {\n if (isVGrouping) {\n var firstRowIndex = res.length;\n var rowSpanIndex = rowSpans.length;\n flattenNodes(complexNode.children, res, isVGrouping, rowSpans.concat(0), depth, expansions, expansionDefault);\n if (firstRowIndex < res.length) {\n var firstRow = res[firstRowIndex];\n var firstRowSpans = firstRow.rowSpans = firstRow.rowSpans.slice();\n firstRowSpans[rowSpanIndex] = res.length - firstRowIndex;\n }\n }\n else {\n var id = group.spec.field + ':' + group.value;\n var isExpanded = expansions[id] != null ? expansions[id] : expansionDefault;\n res.push({ id: id, group: group, isExpanded: isExpanded });\n if (isExpanded) {\n flattenNodes(complexNode.children, res, isVGrouping, rowSpans, depth + 1, expansions, expansionDefault);\n }\n }\n }\n else if (complexNode.resource) {\n var id = complexNode.resource.id;\n var isExpanded = expansions[id] != null ? expansions[id] : expansionDefault;\n res.push({\n id: id,\n rowSpans: rowSpans,\n depth: depth,\n isExpanded: isExpanded,\n hasChildren: Boolean(complexNode.children.length),\n resource: complexNode.resource,\n resourceFields: complexNode.resourceFields,\n });\n if (isExpanded) {\n flattenNodes(complexNode.children, res, isVGrouping, rowSpans, depth + 1, expansions, expansionDefault);\n }\n }\n }\n}\nfunction buildHierarchy(resourceStore, maxDepth, groupSpecs, orderSpecs) {\n var resourceNodes = buildResourceNodes(resourceStore, orderSpecs);\n var builtNodes = [];\n for (var resourceId in resourceNodes) {\n var resourceNode = resourceNodes[resourceId];\n if (!resourceNode.resource.parentId) {\n insertResourceNode(resourceNode, builtNodes, groupSpecs, 0, maxDepth, orderSpecs);\n }\n }\n return builtNodes;\n}\nfunction buildResourceNodes(resourceStore, orderSpecs) {\n var nodeHash = {};\n for (var resourceId in resourceStore) {\n var resource = resourceStore[resourceId];\n nodeHash[resourceId] = {\n resource: resource,\n resourceFields: buildResourceFields(resource),\n children: [],\n };\n }\n for (var resourceId in resourceStore) {\n var resource = resourceStore[resourceId];\n if (resource.parentId) {\n var parentNode = nodeHash[resource.parentId];\n if (parentNode) {\n insertResourceNodeInSiblings(nodeHash[resourceId], parentNode.children, orderSpecs);\n }\n }\n }\n return nodeHash;\n}\nfunction insertResourceNode(resourceNode, nodes, groupSpecs, depth, maxDepth, orderSpecs) {\n if (groupSpecs.length && (maxDepth === -1 || depth <= maxDepth)) {\n var groupNode = ensureGroupNodes(resourceNode, nodes, groupSpecs[0]);\n insertResourceNode(resourceNode, groupNode.children, groupSpecs.slice(1), depth + 1, maxDepth, orderSpecs);\n }\n else {\n insertResourceNodeInSiblings(resourceNode, nodes, orderSpecs);\n }\n}\nfunction ensureGroupNodes(resourceNode, nodes, groupSpec) {\n var groupValue = resourceNode.resourceFields[groupSpec.field];\n var groupNode;\n var newGroupIndex;\n // find an existing group that matches, or determine the position for a new group\n if (groupSpec.order) {\n for (newGroupIndex = 0; newGroupIndex < nodes.length; newGroupIndex += 1) {\n var node = nodes[newGroupIndex];\n if (node.group) {\n var cmp = flexibleCompare(groupValue, node.group.value) * groupSpec.order;\n if (cmp === 0) {\n groupNode = node;\n break;\n }\n else if (cmp < 0) {\n break;\n }\n }\n }\n }\n else { // the groups are unordered\n for (newGroupIndex = 0; newGroupIndex < nodes.length; newGroupIndex += 1) {\n var node = nodes[newGroupIndex];\n if (node.group && groupValue === node.group.value) {\n groupNode = node;\n break;\n }\n }\n }\n if (!groupNode) {\n groupNode = {\n group: {\n value: groupValue,\n spec: groupSpec,\n },\n children: [],\n };\n nodes.splice(newGroupIndex, 0, groupNode);\n }\n return groupNode;\n}\nfunction insertResourceNodeInSiblings(resourceNode, siblings, orderSpecs) {\n var i;\n for (i = 0; i < siblings.length; i += 1) {\n var cmp = compareByFieldSpecs(siblings[i].resourceFields, resourceNode.resourceFields, orderSpecs); // TODO: pass in ResourceApi?\n if (cmp > 0) { // went 1 past. insert at i\n break;\n }\n }\n siblings.splice(i, 0, resourceNode);\n}\nfunction buildResourceFields(resource) {\n var obj = __assign(__assign(__assign({}, resource.extendedProps), resource.ui), resource);\n delete obj.ui;\n delete obj.extendedProps;\n return obj;\n}\nfunction isGroupsEqual(group0, group1) {\n return group0.spec === group1.spec && group0.value === group1.value;\n}\n\nvar main = createPlugin({\n deps: [\n premiumCommonPlugin,\n ],\n reducers: [\n reduceResources,\n ],\n isLoadingFuncs: [\n function (state) { return state.resourceSource && state.resourceSource.isFetching; },\n ],\n eventRefiners: EVENT_REFINERS,\n eventDefMemberAdders: [generateEventDefResourceMembers],\n isDraggableTransformers: [transformIsDraggable],\n eventDragMutationMassagers: [massageEventDragMutation],\n eventDefMutationAppliers: [applyEventDefMutation],\n dateSelectionTransformers: [transformDateSelectionJoin],\n datePointTransforms: [transformDatePoint],\n dateSpanTransforms: [transformDateSpan],\n viewPropsTransformers: [ResourceDataAdder, ResourceEventConfigAdder],\n isPropsValid: isPropsValidWithResources,\n externalDefTransforms: [transformExternalDef],\n eventDropTransformers: [transformEventDrop],\n optionChangeHandlers: optionChangeHandlers,\n optionRefiners: OPTION_REFINERS,\n listenerRefiners: LISTENER_REFINERS,\n propSetHandlers: { resourceStore: handleResourceStore },\n});\n\nexport default main;\nexport { AbstractResourceDayTableModel, DEFAULT_RESOURCE_ORDER, DayResourceTableModel, ResourceApi, ResourceDayHeader, ResourceDayTableModel, ResourceLabelRoot, ResourceSplitter, VResourceJoiner, VResourceSplitter, buildResourceFields, buildRowNodes, flattenResources, getPublicId, isGroupsEqual };\n","/*!\nFullCalendar Scheduler v5.10.1\nDocs & License: https://fullcalendar.io/scheduler\n(c) 2021 Adam Shaw\n*/\nimport './main.css';\n\nimport { createElement, Fragment, ContentHook, BaseComponent, memoizeObjArg, buildClassNameNormalizer, MountHook, RenderHook, isArraysEqual, createRef, RefMap, findElements, elementClosest, PositionCache, memoize, greatestDurationDenominator, NowTimer, NowIndicatorRoot, DateComponent, config, getStickyHeaderDates, getStickyFooterScrollbar, renderScrollShim, ViewRoot, createPlugin } from '@fullcalendar/common';\nimport premiumCommonPlugin from '@fullcalendar/premium-common';\nimport timelinePlugin, { TimelineLane, TimelineLaneSlicer, TimelineSlats, TimelineLaneBg, coordToCss, buildTimelineDateProfile, buildSlatCols, TimelineHeader } from '@fullcalendar/timeline';\nimport resourceCommonPlugin, { ResourceApi, buildResourceFields, getPublicId, isGroupsEqual, ResourceSplitter, buildRowNodes, DEFAULT_RESOURCE_ORDER } from '@fullcalendar/resource-common';\nimport { __spreadArray, __extends, __assign } from 'tslib';\nimport { ScrollGrid } from '@fullcalendar/scrollgrid';\n\n/*\nRenders the DOM responsible for the subrow expander area,\nas well as the space before it (used to align expanders of similar depths)\n*/\nfunction ExpanderIcon(_a) {\n var depth = _a.depth, hasChildren = _a.hasChildren, isExpanded = _a.isExpanded, onExpanderClick = _a.onExpanderClick;\n var nodes = [];\n for (var i = 0; i < depth; i += 1) {\n nodes.push(createElement(\"span\", { className: \"fc-icon\" }));\n }\n var iconClassNames = ['fc-icon'];\n if (hasChildren) {\n if (isExpanded) {\n iconClassNames.push('fc-icon-minus-square');\n }\n else {\n iconClassNames.push('fc-icon-plus-square');\n }\n }\n nodes.push(createElement(\"span\", { className: 'fc-datagrid-expander' + (hasChildren ? '' : ' fc-datagrid-expander-placeholder'), onClick: onExpanderClick },\n createElement(\"span\", { className: iconClassNames.join(' ') })));\n return createElement.apply(void 0, __spreadArray([Fragment, {}], nodes));\n}\n\nfunction refineHookProps$1(raw) {\n return {\n resource: new ResourceApi(raw.context, raw.resource),\n fieldValue: raw.fieldValue,\n view: raw.context.viewApi,\n };\n}\n\nvar SpreadsheetIndividualCellInner = /** @class */ (function (_super) {\n __extends(SpreadsheetIndividualCellInner, _super);\n function SpreadsheetIndividualCellInner() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SpreadsheetIndividualCellInner.prototype.render = function () {\n var props = this.props;\n return (createElement(ContentHook, { hookProps: props.hookProps, content: props.colSpec.cellContent, defaultContent: renderResourceInner }, function (innerElRef, innerContent) { return (createElement(\"span\", { className: \"fc-datagrid-cell-main\", ref: innerElRef }, innerContent)); }));\n };\n return SpreadsheetIndividualCellInner;\n}(BaseComponent));\nfunction renderResourceInner(hookProps) {\n return hookProps.fieldValue || createElement(Fragment, null, \"\\u00A0\");\n}\n\n// worth making a PureComponent? (because of innerHeight)\nvar SpreadsheetIndividualCell = /** @class */ (function (_super) {\n __extends(SpreadsheetIndividualCell, _super);\n function SpreadsheetIndividualCell() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.refineHookProps = memoizeObjArg(refineHookProps$1);\n _this.normalizeClassNames = buildClassNameNormalizer();\n _this.onExpanderClick = function (ev) {\n var props = _this.props;\n if (props.hasChildren) {\n _this.context.dispatch({\n type: 'SET_RESOURCE_ENTITY_EXPANDED',\n id: props.resource.id,\n isExpanded: !props.isExpanded,\n });\n }\n };\n return _this;\n }\n SpreadsheetIndividualCell.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, context = _a.context;\n var colSpec = props.colSpec;\n var hookProps = this.refineHookProps({\n resource: props.resource,\n fieldValue: props.fieldValue,\n context: context,\n });\n var customClassNames = this.normalizeClassNames(colSpec.cellClassNames, hookProps);\n return (createElement(MountHook, { hookProps: hookProps, didMount: colSpec.cellDidMount, willUnmount: colSpec.cellWillUnmount }, function (rootElRef) { return (createElement(\"td\", { ref: rootElRef, role: \"gridcell\", \"data-resource-id\": props.resource.id, className: [\n 'fc-datagrid-cell',\n 'fc-resource',\n ].concat(customClassNames).join(' ') },\n createElement(\"div\", { className: \"fc-datagrid-cell-frame\", style: { height: props.innerHeight } },\n createElement(\"div\", { className: \"fc-datagrid-cell-cushion fc-scrollgrid-sync-inner\" },\n colSpec.isMain && (createElement(ExpanderIcon, { depth: props.depth, hasChildren: props.hasChildren, isExpanded: props.isExpanded, onExpanderClick: _this.onExpanderClick })),\n createElement(SpreadsheetIndividualCellInner, { hookProps: hookProps, colSpec: colSpec }))))); }));\n };\n return SpreadsheetIndividualCell;\n}(BaseComponent));\n\n// for VERTICAL cell grouping, in spreadsheet area\nvar SpreadsheetGroupCell = /** @class */ (function (_super) {\n __extends(SpreadsheetGroupCell, _super);\n function SpreadsheetGroupCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SpreadsheetGroupCell.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n var colSpec = props.colSpec;\n var hookProps = {\n groupValue: props.fieldValue,\n view: context.viewApi,\n };\n // a grouped cell. no data that is specific to this specific resource\n // `colSpec` is for the group. a GroupSpec :(\n return (createElement(RenderHook, { hookProps: hookProps, classNames: colSpec.cellClassNames, content: colSpec.cellContent, defaultContent: renderGroupInner, didMount: colSpec.cellDidMount, willUnmount: colSpec.cellWillUnmount }, function (rootElRef, classNames, innerElRef, innerContent) { return (\n // TODO: make data-attr with group value?\n createElement(\"td\", { ref: rootElRef, role: \"gridcell\", rowSpan: props.rowSpan, className: ['fc-datagrid-cell', 'fc-resource-group'].concat(classNames).join(' ') },\n createElement(\"div\", { className: \"fc-datagrid-cell-frame fc-datagrid-cell-frame-liquid\" },\n createElement(\"div\", { className: \"fc-datagrid-cell-cushion fc-sticky\", ref: innerElRef }, innerContent)))); }));\n };\n return SpreadsheetGroupCell;\n}(BaseComponent));\nfunction renderGroupInner(hookProps) {\n return hookProps.groupValue || createElement(Fragment, null, \"\\u00A0\");\n}\n\nvar SpreadsheetRow = /** @class */ (function (_super) {\n __extends(SpreadsheetRow, _super);\n function SpreadsheetRow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SpreadsheetRow.prototype.render = function () {\n var props = this.props;\n var resource = props.resource, rowSpans = props.rowSpans, depth = props.depth;\n var resourceFields = buildResourceFields(resource); // slightly inefficient. already done up the call stack\n return (createElement(\"tr\", { role: \"row\" }, props.colSpecs.map(function (colSpec, i) {\n var rowSpan = rowSpans[i];\n if (rowSpan === 0) { // not responsible for group-based rows. VRowGroup is\n return null;\n }\n if (rowSpan == null) {\n rowSpan = 1;\n }\n var fieldValue = colSpec.field ? resourceFields[colSpec.field] :\n (resource.title || getPublicId(resource.id));\n if (rowSpan > 1) {\n return (createElement(SpreadsheetGroupCell, { key: i, colSpec: colSpec, fieldValue: fieldValue, rowSpan: rowSpan }));\n }\n return (createElement(SpreadsheetIndividualCell, { key: i, colSpec: colSpec, resource: resource, fieldValue: fieldValue, depth: depth, hasChildren: props.hasChildren, isExpanded: props.isExpanded, innerHeight: props.innerHeight }));\n })));\n };\n return SpreadsheetRow;\n}(BaseComponent));\nSpreadsheetRow.addPropsEquality({\n rowSpans: isArraysEqual,\n});\n\n// for HORIZONTAL cell grouping, in spreadsheet area\nvar SpreadsheetGroupRow = /** @class */ (function (_super) {\n __extends(SpreadsheetGroupRow, _super);\n function SpreadsheetGroupRow() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.innerInnerRef = createRef();\n _this.onExpanderClick = function () {\n var props = _this.props;\n _this.context.dispatch({\n type: 'SET_RESOURCE_ENTITY_EXPANDED',\n id: props.id,\n isExpanded: !props.isExpanded,\n });\n };\n return _this;\n }\n SpreadsheetGroupRow.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, context = _a.context;\n var hookProps = { groupValue: props.group.value, view: context.viewApi };\n var spec = props.group.spec;\n return (createElement(\"tr\", { role: \"row\" },\n createElement(RenderHook, { hookProps: hookProps, classNames: spec.labelClassNames, content: spec.labelContent, defaultContent: renderCellInner, didMount: spec.labelDidMount, willUnmount: spec.labelWillUnmount }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"th\", { ref: rootElRef, \n // ARIA TODO: not really a columnheader\n // extremely tedious to make this aria-compliant,\n // to assign multiple headers to each cell\n // https://www.w3.org/WAI/tutorials/tables/multi-level/\n role: \"columnheader\", scope: \"colgroup\", colSpan: props.spreadsheetColCnt, className: [\n 'fc-datagrid-cell',\n 'fc-resource-group',\n context.theme.getClass('tableCellShaded'),\n ].concat(classNames).join(' ') },\n createElement(\"div\", { className: \"fc-datagrid-cell-frame\", style: { height: props.innerHeight } },\n createElement(\"div\", { className: \"fc-datagrid-cell-cushion fc-scrollgrid-sync-inner\", ref: _this.innerInnerRef },\n createElement(ExpanderIcon, { depth: 0, hasChildren: true, isExpanded: props.isExpanded, onExpanderClick: _this.onExpanderClick }),\n createElement(\"span\", { className: \"fc-datagrid-cell-main\", ref: innerElRef }, innerContent))))); })));\n };\n return SpreadsheetGroupRow;\n}(BaseComponent));\nSpreadsheetGroupRow.addPropsEquality({\n group: isGroupsEqual,\n});\nfunction renderCellInner(hookProps) {\n return hookProps.groupValue || createElement(Fragment, null, \"\\u00A0\");\n}\n\nvar SPREADSHEET_COL_MIN_WIDTH = 20;\nvar SpreadsheetHeader = /** @class */ (function (_super) {\n __extends(SpreadsheetHeader, _super);\n function SpreadsheetHeader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.resizerElRefs = new RefMap(_this._handleColResizerEl.bind(_this));\n _this.colDraggings = {};\n return _this;\n }\n SpreadsheetHeader.prototype.render = function () {\n var _this = this;\n var _a = this.props, colSpecs = _a.colSpecs, superHeaderRendering = _a.superHeaderRendering, rowInnerHeights = _a.rowInnerHeights;\n var hookProps = { view: this.context.viewApi };\n var rowNodes = [];\n rowInnerHeights = rowInnerHeights.slice(); // copy, because we're gonna pop\n if (superHeaderRendering) {\n var rowInnerHeight_1 = rowInnerHeights.shift();\n rowNodes.push(createElement(\"tr\", { key: \"row-super\", role: \"row\" },\n createElement(RenderHook, { hookProps: hookProps, classNames: superHeaderRendering.headerClassNames, content: superHeaderRendering.headerContent, didMount: superHeaderRendering.headerDidMount, willUnmount: superHeaderRendering.headerWillUnmount }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"th\", { ref: rootElRef, role: \"columnheader\", scope: \"colgroup\", colSpan: colSpecs.length, className: [\n 'fc-datagrid-cell',\n 'fc-datagrid-cell-super',\n ].concat(classNames).join(' ') },\n createElement(\"div\", { className: \"fc-datagrid-cell-frame\", style: { height: rowInnerHeight_1 } },\n createElement(\"div\", { className: \"fc-datagrid-cell-cushion fc-scrollgrid-sync-inner\", ref: innerElRef }, innerContent)))); })));\n }\n var rowInnerHeight = rowInnerHeights.shift();\n rowNodes.push(createElement(\"tr\", { key: \"row\", role: \"row\" }, colSpecs.map(function (colSpec, i) {\n var isLastCol = i === (colSpecs.length - 1);\n // need empty inner div for abs positioning for resizer\n return (createElement(RenderHook, { key: i, hookProps: hookProps, classNames: colSpec.headerClassNames, content: colSpec.headerContent, didMount: colSpec.headerDidMount, willUnmount: colSpec.headerWillUnmount }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"th\", { ref: rootElRef, role: \"columnheader\", className: ['fc-datagrid-cell'].concat(classNames).join(' ') },\n createElement(\"div\", { className: \"fc-datagrid-cell-frame\", style: { height: rowInnerHeight } },\n createElement(\"div\", { className: \"fc-datagrid-cell-cushion fc-scrollgrid-sync-inner\" },\n colSpec.isMain && (createElement(\"span\", { className: \"fc-datagrid-expander fc-datagrid-expander-placeholder\" },\n createElement(\"span\", { className: \"fc-icon\" }))),\n createElement(\"span\", { className: \"fc-datagrid-cell-main\", ref: innerElRef }, innerContent)),\n !isLastCol &&\n createElement(\"div\", { className: \"fc-datagrid-cell-resizer\", ref: _this.resizerElRefs.createRef(i) })))); }));\n })));\n return (createElement(Fragment, null, rowNodes));\n };\n SpreadsheetHeader.prototype._handleColResizerEl = function (resizerEl, index) {\n var colDraggings = this.colDraggings;\n if (!resizerEl) {\n var dragging = colDraggings[index];\n if (dragging) {\n dragging.destroy();\n delete colDraggings[index];\n }\n }\n else {\n var dragging = this.initColResizing(resizerEl, parseInt(index, 10));\n if (dragging) {\n colDraggings[index] = dragging;\n }\n }\n };\n SpreadsheetHeader.prototype.initColResizing = function (resizerEl, index) {\n var _a = this.context, pluginHooks = _a.pluginHooks, isRtl = _a.isRtl;\n var onColWidthChange = this.props.onColWidthChange;\n var ElementDraggingImpl = pluginHooks.elementDraggingImpl;\n if (ElementDraggingImpl) {\n var dragging = new ElementDraggingImpl(resizerEl);\n var startWidth_1; // of just the single column\n var currentWidths_1; // of all columns\n dragging.emitter.on('dragstart', function () {\n var allCells = findElements(elementClosest(resizerEl, 'tr'), 'th');\n currentWidths_1 = allCells.map(function (cellEl) { return (cellEl.getBoundingClientRect().width); });\n startWidth_1 = currentWidths_1[index];\n });\n dragging.emitter.on('dragmove', function (pev) {\n currentWidths_1[index] = Math.max(startWidth_1 + pev.deltaX * (isRtl ? -1 : 1), SPREADSHEET_COL_MIN_WIDTH);\n if (onColWidthChange) {\n onColWidthChange(currentWidths_1.slice()); // send a copy since currentWidths continues to be mutated\n }\n });\n dragging.setAutoScrollEnabled(false); // because gets weird with auto-scrolling time area\n return dragging;\n }\n return null;\n };\n return SpreadsheetHeader;\n}(BaseComponent));\n\nvar ResourceTimelineLaneMisc = /** @class */ (function (_super) {\n __extends(ResourceTimelineLaneMisc, _super);\n function ResourceTimelineLaneMisc() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ResourceTimelineLaneMisc.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n var hookProps = { resource: new ResourceApi(context, props.resource) }; // just easier to make directly\n return (createElement(ContentHook, { hookProps: hookProps, content: context.options.resourceLaneContent }, function (innerElRef, innerContent) { return (innerContent && // TODO: test how this would interfere with height\n createElement(\"div\", { className: \"fc-timeline-lane-misc\", ref: innerElRef }, innerContent)); }));\n };\n return ResourceTimelineLaneMisc;\n}(BaseComponent));\n\nvar ResourceTimelineLane = /** @class */ (function (_super) {\n __extends(ResourceTimelineLane, _super);\n function ResourceTimelineLane() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.refineHookProps = memoizeObjArg(refineHookProps);\n _this.normalizeClassNames = buildClassNameNormalizer();\n _this.handleHeightChange = function (innerEl, isStable) {\n if (_this.props.onHeightChange) {\n _this.props.onHeightChange(\n // would want to use own
    \", \"
    \" ],\n\tcol: [ 2, \"\", \"
    \" ],\n\ttr: [ 2, \"\", \"
    \" ],\n\ttd: [ 3, \"\", \"
    \" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: IE <=9 only\nif ( !support.option ) {\n\twrapMap.optgroup = wrapMap.option = [ 1, \"\" ];\n}\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE <=9 - 11 only\n\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\n\tvar ret;\n\n\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\tret = context.getElementsByTagName( tag || \"*\" );\n\n\t} else if ( typeof context.querySelectorAll !== \"undefined\" ) {\n\t\tret = context.querySelectorAll( tag || \"*\" );\n\n\t} else {\n\t\tret = [];\n\t}\n\n\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\n\t\treturn jQuery.merge( [ context ], ret );\n\t}\n\n\treturn ret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, attached, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( toType( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tattached = isAttached( elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( attached ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\nvar rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE <=9 - 11+\n// focus() and blur() are asynchronous, except when they are no-op.\n// So expect focus to be synchronous when the element is already active,\n// and blur to be synchronous when the element is not already active.\n// (focus and blur are always synchronous in other supported browsers,\n// this just defines when we can count on it).\nfunction expectSync( elem, type ) {\n\treturn ( elem === safeActiveElement() ) === ( type === \"focus\" );\n}\n\n// Support: IE <=9 only\n// Accessing document.activeElement can throw unexpectedly\n// https://bugs.jquery.com/ticket/13393\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Only attach events to objects that accept data\n\t\tif ( !acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Ensure that invalid selectors throw exceptions at attach time\n\t\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\t\tif ( selector ) {\n\t\t\tjQuery.find.matchesSelector( documentElement, selector );\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = Object.create( null );\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( nativeEvent ) {\n\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\n\t\t\t// Make a writable jQuery.Event from the native event object\n\t\t\tevent = jQuery.event.fix( nativeEvent ),\n\n\t\t\thandlers = (\n\t\t\t\tdataPriv.get( this, \"events\" ) || Object.create( null )\n\t\t\t)[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\n\t\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// If the event is namespaced, then each handler is only invoked if it is\n\t\t\t\t// specially universal or its namespaces are a superset of the event's.\n\t\t\t\tif ( !event.rnamespace || handleObj.namespace === false ||\n\t\t\t\t\tevent.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\tif ( delegateCount &&\n\n\t\t\t// Support: IE <=9\n\t\t\t// Black-hole SVG instance trees (trac-13180)\n\t\t\tcur.nodeType &&\n\n\t\t\t// Support: Firefox <=42\n\t\t\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n\t\t\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n\t\t\t// Support: IE 11 only\n\t\t\t// ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n\t\t\t!( event.type === \"click\" && event.button >= 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 && !( event.type === \"click\" && cur.disabled === true ) ) {\n\t\t\t\t\tmatchedHandlers = [];\n\t\t\t\t\tmatchedSelectors = {};\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatchedSelectors[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] ) {\n\t\t\t\t\t\t\tmatchedHandlers.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matchedHandlers.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tcur = this;\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\taddProp: function( name, hook ) {\n\t\tObject.defineProperty( jQuery.Event.prototype, name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\n\t\t\tget: isFunction( hook ) ?\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn hook( this.originalEvent );\n\t\t\t\t\t}\n\t\t\t\t} :\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn this.originalEvent[ name ];\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\tset: function( value ) {\n\t\t\t\tObject.defineProperty( this, name, {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tvalue: value\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\tfix: function( originalEvent ) {\n\t\treturn originalEvent[ jQuery.expando ] ?\n\t\t\toriginalEvent :\n\t\t\tnew jQuery.Event( originalEvent );\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tclick: {\n\n\t\t\t// Utilize native event to ensure correct state for checkable inputs\n\t\t\tsetup: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Claim the first handler\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\t// dataPriv.set( el, \"click\", ... )\n\t\t\t\t\tleverageNative( el, \"click\", returnTrue );\n\t\t\t\t}\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\ttrigger: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Force setup before triggering a click\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\tleverageNative( el, \"click\" );\n\t\t\t\t}\n\n\t\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, suppress native .click() on links\n\t\t\t// Also prevent it if we're currently inside a leveraged native-event stack\n\t\t\t_default: function( event ) {\n\t\t\t\tvar target = event.target;\n\t\t\t\treturn rcheckableType.test( target.type ) &&\n\t\t\t\t\ttarget.click && nodeName( target, \"input\" ) &&\n\t\t\t\t\tdataPriv.get( target, \"click\" ) ||\n\t\t\t\t\tnodeName( target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Ensure the presence of an event listener that handles manually-triggered\n// synthetic events by interrupting progress until reinvoked in response to\n// *native* events that it fires directly, ensuring that state changes have\n// already occurred before other listeners are invoked.\nfunction leverageNative( el, type, expectSync ) {\n\n\t// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\n\tif ( !expectSync ) {\n\t\tif ( dataPriv.get( el, type ) === undefined ) {\n\t\t\tjQuery.event.add( el, type, returnTrue );\n\t\t}\n\t\treturn;\n\t}\n\n\t// Register the controller as a special universal handler for all event namespaces\n\tdataPriv.set( el, type, false );\n\tjQuery.event.add( el, type, {\n\t\tnamespace: false,\n\t\thandler: function( event ) {\n\t\t\tvar notAsync, result,\n\t\t\t\tsaved = dataPriv.get( this, type );\n\n\t\t\tif ( ( event.isTrigger & 1 ) && this[ type ] ) {\n\n\t\t\t\t// Interrupt processing of the outer synthetic .trigger()ed event\n\t\t\t\t// Saved data should be false in such cases, but might be a leftover capture object\n\t\t\t\t// from an async native handler (gh-4350)\n\t\t\t\tif ( !saved.length ) {\n\n\t\t\t\t\t// Store arguments for use when handling the inner native event\n\t\t\t\t\t// There will always be at least one argument (an event object), so this array\n\t\t\t\t\t// will not be confused with a leftover capture object.\n\t\t\t\t\tsaved = slice.call( arguments );\n\t\t\t\t\tdataPriv.set( this, type, saved );\n\n\t\t\t\t\t// Trigger the native event and capture its result\n\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t// focus() and blur() are asynchronous\n\t\t\t\t\tnotAsync = expectSync( this, type );\n\t\t\t\t\tthis[ type ]();\n\t\t\t\t\tresult = dataPriv.get( this, type );\n\t\t\t\t\tif ( saved !== result || notAsync ) {\n\t\t\t\t\t\tdataPriv.set( this, type, false );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult = {};\n\t\t\t\t\t}\n\t\t\t\t\tif ( saved !== result ) {\n\n\t\t\t\t\t\t// Cancel the outer synthetic event\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\t// Support: Chrome 86+\n\t\t\t\t\t\t// In Chrome, if an element having a focusout handler is blurred by\n\t\t\t\t\t\t// clicking outside of it, it invokes the handler synchronously. If\n\t\t\t\t\t\t// that handler calls `.remove()` on the element, the data is cleared,\n\t\t\t\t\t\t// leaving `result` undefined. We need to guard against this.\n\t\t\t\t\t\treturn result && result.value;\n\t\t\t\t\t}\n\n\t\t\t\t// If this is an inner synthetic event for an event with a bubbling surrogate\n\t\t\t\t// (focus or blur), assume that the surrogate already propagated from triggering the\n\t\t\t\t// native event and prevent that from happening again here.\n\t\t\t\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n\t\t\t\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\n\t\t\t\t// less bad than duplication.\n\t\t\t\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t// If this is a native event triggered above, everything is now in order\n\t\t\t// Fire an inner synthetic event with the original arguments\n\t\t\t} else if ( saved.length ) {\n\n\t\t\t\t// ...and capture the result\n\t\t\t\tdataPriv.set( this, type, {\n\t\t\t\t\tvalue: jQuery.event.trigger(\n\n\t\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t\t// Extend with the prototype to reset the above stopImmediatePropagation()\n\t\t\t\t\t\tjQuery.extend( saved[ 0 ], jQuery.Event.prototype ),\n\t\t\t\t\t\tsaved.slice( 1 ),\n\t\t\t\t\t\tthis\n\t\t\t\t\t)\n\t\t\t\t} );\n\n\t\t\t\t// Abort handling of the native event\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t}\n\t\t}\n\t} );\n}\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android <=2.3 only\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t\t// Create target properties\n\t\t// Support: Safari <=6 - 7 only\n\t\t// Target should not be a text node (#504, #13143)\n\t\tthis.target = ( src.target && src.target.nodeType === 3 ) ?\n\t\t\tsrc.target.parentNode :\n\t\t\tsrc.target;\n\n\t\tthis.currentTarget = src.currentTarget;\n\t\tthis.relatedTarget = src.relatedTarget;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || Date.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Includes all common event props including KeyEvent and MouseEvent specific props\njQuery.each( {\n\taltKey: true,\n\tbubbles: true,\n\tcancelable: true,\n\tchangedTouches: true,\n\tctrlKey: true,\n\tdetail: true,\n\teventPhase: true,\n\tmetaKey: true,\n\tpageX: true,\n\tpageY: true,\n\tshiftKey: true,\n\tview: true,\n\t\"char\": true,\n\tcode: true,\n\tcharCode: true,\n\tkey: true,\n\tkeyCode: true,\n\tbutton: true,\n\tbuttons: true,\n\tclientX: true,\n\tclientY: true,\n\toffsetX: true,\n\toffsetY: true,\n\tpointerId: true,\n\tpointerType: true,\n\tscreenX: true,\n\tscreenY: true,\n\ttargetTouches: true,\n\ttoElement: true,\n\ttouches: true,\n\twhich: true\n}, jQuery.event.addProp );\n\njQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( type, delegateType ) {\n\tjQuery.event.special[ type ] = {\n\n\t\t// Utilize native event if possible so blur/focus sequence is correct\n\t\tsetup: function() {\n\n\t\t\t// Claim the first handler\n\t\t\t// dataPriv.set( this, \"focus\", ... )\n\t\t\t// dataPriv.set( this, \"blur\", ... )\n\t\t\tleverageNative( this, type, expectSync );\n\n\t\t\t// Return false to allow normal processing in the caller\n\t\t\treturn false;\n\t\t},\n\t\ttrigger: function() {\n\n\t\t\t// Force setup before trigger\n\t\t\tleverageNative( this, type );\n\n\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\treturn true;\n\t\t},\n\n\t\t// Suppress native focus or blur as it's already being fired\n\t\t// in leverageNative.\n\t\t_default: function() {\n\t\t\treturn true;\n\t\t},\n\n\t\tdelegateType: delegateType\n\t};\n} );\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\n\t// Support: IE <=10 - 11, Edge 12 - 13 only\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /\\s*$/g;\n\n// Prefer a tbody over its parent table for containing new rows\nfunction manipulationTarget( elem, content ) {\n\tif ( nodeName( elem, \"table\" ) &&\n\t\tnodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ) {\n\n\t\treturn jQuery( elem ).children( \"tbody\" )[ 0 ] || elem;\n\t}\n\n\treturn elem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tif ( ( elem.type || \"\" ).slice( 0, 5 ) === \"true/\" ) {\n\t\telem.type = elem.type.slice( 5 );\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.get( src );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdataPriv.remove( dest, \"handle events\" );\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = flat( args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tvalueIsFunction = isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( valueIsFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src && ( node.type || \"\" ).toLowerCase() !== \"module\" ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl && !node.noModule ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src, {\n\t\t\t\t\t\t\t\t\tnonce: node.nonce || node.getAttribute( \"nonce\" )\n\t\t\t\t\t\t\t\t}, doc );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tDOMEval( node.textContent.replace( rcleanScript, \"\" ), node, doc );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && isAttached( node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html;\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = isAttached( elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t// .get() because push.apply(_, arraylike) throws on ancient WebKit\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar getStyles = function( elem ) {\n\n\t\t// Support: IE <=11 only, Firefox <=30 (#15098, #14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\nvar swap = function( elem, options, callback ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.call( elem );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar rboxStyle = new RegExp( cssExpand.join( \"|\" ), \"i\" );\n\n\n\n( function() {\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computeStyleTests() {\n\n\t\t// This is a singleton, we need to execute it only once\n\t\tif ( !div ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.style.cssText = \"position:absolute;left:-11111px;width:60px;\" +\n\t\t\t\"margin-top:1px;padding:0;border:0\";\n\t\tdiv.style.cssText =\n\t\t\t\"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"width:60%;top:1%\";\n\t\tdocumentElement.appendChild( container ).appendChild( div );\n\n\t\tvar divStyle = window.getComputedStyle( div );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\n\t\t// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n\t\treliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;\n\n\t\t// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.right = \"60%\";\n\t\tpixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;\n\n\t\t// Support: IE 9 - 11 only\n\t\t// Detect misreporting of content dimensions for box-sizing:border-box elements\n\t\tboxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;\n\n\t\t// Support: IE 9 only\n\t\t// Detect overflow:scroll screwiness (gh-3699)\n\t\t// Support: Chrome <=64\n\t\t// Don't get tricked when zoom affects offsetWidth (gh-4029)\n\t\tdiv.style.position = \"absolute\";\n\t\tscrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;\n\n\t\tdocumentElement.removeChild( container );\n\n\t\t// Nullify the div so it wouldn't be stored in the memory and\n\t\t// it will also be a sign that checks already performed\n\t\tdiv = null;\n\t}\n\n\tfunction roundPixelMeasures( measure ) {\n\t\treturn Math.round( parseFloat( measure ) );\n\t}\n\n\tvar pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,\n\t\treliableTrDimensionsVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE <=9 - 11 only\n\t// Style of cloned element affects source element cloned (#8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tjQuery.extend( support, {\n\t\tboxSizingReliable: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelBoxStyles: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelBoxStylesVal;\n\t\t},\n\t\tpixelPosition: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn reliableMarginLeftVal;\n\t\t},\n\t\tscrollboxSize: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn scrollboxSizeVal;\n\t\t},\n\n\t\t// Support: IE 9 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Behavior in IE 9 is more subtle than in newer versions & it passes\n\t\t// some versions of this test; make sure not to make it pass there!\n\t\t//\n\t\t// Support: Firefox 70+\n\t\t// Only Firefox includes border widths\n\t\t// in computed dimensions. (gh-4529)\n\t\treliableTrDimensions: function() {\n\t\t\tvar table, tr, trChild, trStyle;\n\t\t\tif ( reliableTrDimensionsVal == null ) {\n\t\t\t\ttable = document.createElement( \"table\" );\n\t\t\t\ttr = document.createElement( \"tr\" );\n\t\t\t\ttrChild = document.createElement( \"div\" );\n\n\t\t\t\ttable.style.cssText = \"position:absolute;left:-11111px;border-collapse:separate\";\n\t\t\t\ttr.style.cssText = \"border:1px solid\";\n\n\t\t\t\t// Support: Chrome 86+\n\t\t\t\t// Height set through cssText does not get applied.\n\t\t\t\t// Computed height then comes back as 0.\n\t\t\t\ttr.style.height = \"1px\";\n\t\t\t\ttrChild.style.height = \"9px\";\n\n\t\t\t\t// Support: Android 8 Chrome 86+\n\t\t\t\t// In our bodyBackground.html iframe,\n\t\t\t\t// display for all div elements is set to \"inline\",\n\t\t\t\t// which causes a problem only in Android 8 Chrome 86.\n\t\t\t\t// Ensuring the div is display: block\n\t\t\t\t// gets around this issue.\n\t\t\t\ttrChild.style.display = \"block\";\n\n\t\t\t\tdocumentElement\n\t\t\t\t\t.appendChild( table )\n\t\t\t\t\t.appendChild( tr )\n\t\t\t\t\t.appendChild( trChild );\n\n\t\t\t\ttrStyle = window.getComputedStyle( tr );\n\t\t\t\treliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderTopWidth, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;\n\n\t\t\t\tdocumentElement.removeChild( table );\n\t\t\t}\n\t\t\treturn reliableTrDimensionsVal;\n\t\t}\n\t} );\n} )();\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\n\t\t// Support: Firefox 51+\n\t\t// Retrieving style before computed somehow\n\t\t// fixes an issue with getting wrong values\n\t\t// on detached elements\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\n\t// getPropertyValue is needed for:\n\t// .css('filter') (IE 9 only, #12537)\n\t// .css('--customProperty) (#3144)\n\tif ( computed ) {\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\n\t\tif ( ret === \"\" && !isAttached( elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// Android Browser returns percentage for some values,\n\t\t// but width seems to be reliably pixels.\n\t\t// This is against the CSSOM draft spec:\n\t\t// https://drafts.csswg.org/cssom/#resolved-values\n\t\tif ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\n\t\t// Support: IE <=9 - 11 only\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar cssPrefixes = [ \"Webkit\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style,\n\tvendorProps = {};\n\n// Return a vendor-prefixed property or undefined\nfunction vendorPropName( name ) {\n\n\t// Check for vendor prefixed names\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\n// Return a potentially-mapped jQuery.cssProps or vendor prefixed property\nfunction finalPropName( name ) {\n\tvar final = jQuery.cssProps[ name ] || vendorProps[ name ];\n\n\tif ( final ) {\n\t\treturn final;\n\t}\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\treturn vendorProps[ name ] = vendorPropName( name ) || name;\n}\n\n\nvar\n\n\t// Swappable if display is none or starts with table\n\t// except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\trcustomProp = /^--/,\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t};\n\nfunction setPositiveNumber( _elem, value, subtract ) {\n\n\t// Any relative (+/-) values have already been\n\t// normalized at this point\n\tvar matches = rcssNum.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {\n\tvar i = dimension === \"width\" ? 1 : 0,\n\t\textra = 0,\n\t\tdelta = 0;\n\n\t// Adjustment may not be necessary\n\tif ( box === ( isBorderBox ? \"border\" : \"content\" ) ) {\n\t\treturn 0;\n\t}\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// Both box models exclude margin\n\t\tif ( box === \"margin\" ) {\n\t\t\tdelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\t// If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\t\tif ( !isBorderBox ) {\n\n\t\t\t// Add padding\n\t\t\tdelta += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// For \"border\" or \"margin\", add border\n\t\t\tif ( box !== \"padding\" ) {\n\t\t\t\tdelta += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\n\t\t\t// But still keep track of it otherwise\n\t\t\t} else {\n\t\t\t\textra += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\n\t\t// If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n\t\t// \"padding\" or \"margin\"\n\t\t} else {\n\n\t\t\t// For \"content\", subtract padding\n\t\t\tif ( box === \"content\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// For \"content\" or \"padding\", subtract border\n\t\t\tif ( box !== \"margin\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Account for positive content-box scroll gutter when requested by providing computedVal\n\tif ( !isBorderBox && computedVal >= 0 ) {\n\n\t\t// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n\t\t// Assuming integer scroll gutter, subtract the rest and round down\n\t\tdelta += Math.max( 0, Math.ceil(\n\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\tcomputedVal -\n\t\t\tdelta -\n\t\t\textra -\n\t\t\t0.5\n\n\t\t// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n\t\t// Use an explicit zero to avoid NaN (gh-3964)\n\t\t) ) || 0;\n\t}\n\n\treturn delta;\n}\n\nfunction getWidthOrHeight( elem, dimension, extra ) {\n\n\t// Start with computed style\n\tvar styles = getStyles( elem ),\n\n\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n\t\t// Fake content-box until we know it's needed to know the true value.\n\t\tboxSizingNeeded = !support.boxSizingReliable() || extra,\n\t\tisBorderBox = boxSizingNeeded &&\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\tvalueIsBorderBox = isBorderBox,\n\n\t\tval = curCSS( elem, dimension, styles ),\n\t\toffsetProp = \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );\n\n\t// Support: Firefox <=54\n\t// Return a confounding non-pixel value or feign ignorance, as appropriate.\n\tif ( rnumnonpx.test( val ) ) {\n\t\tif ( !extra ) {\n\t\t\treturn val;\n\t\t}\n\t\tval = \"auto\";\n\t}\n\n\n\t// Support: IE 9 - 11 only\n\t// Use offsetWidth/offsetHeight for when box sizing is unreliable.\n\t// In those cases, the computed value can be trusted to be border-box.\n\tif ( ( !support.boxSizingReliable() && isBorderBox ||\n\n\t\t// Support: IE 10 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Interestingly, in some cases IE 9 doesn't suffer from this issue.\n\t\t!support.reliableTrDimensions() && nodeName( elem, \"tr\" ) ||\n\n\t\t// Fall back to offsetWidth/offsetHeight when value is \"auto\"\n\t\t// This happens for inline elements with no explicit setting (gh-3571)\n\t\tval === \"auto\" ||\n\n\t\t// Support: Android <=4.1 - 4.3 only\n\t\t// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n\t\t!parseFloat( val ) && jQuery.css( elem, \"display\", false, styles ) === \"inline\" ) &&\n\n\t\t// Make sure the element is visible & connected\n\t\telem.getClientRects().length ) {\n\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t\t// Where available, offsetWidth/offsetHeight approximate border box dimensions.\n\t\t// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n\t\t// retrieved value as a content box dimension.\n\t\tvalueIsBorderBox = offsetProp in elem;\n\t\tif ( valueIsBorderBox ) {\n\t\t\tval = elem[ offsetProp ];\n\t\t}\n\t}\n\n\t// Normalize \"\" and auto\n\tval = parseFloat( val ) || 0;\n\n\t// Adjust for the element's box model\n\treturn ( val +\n\t\tboxModelAdjustment(\n\t\t\telem,\n\t\t\tdimension,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles,\n\n\t\t\t// Provide the current computed size to request scroll gutter calculation (gh-3589)\n\t\t\tval\n\t\t)\n\t) + \"px\";\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"animationIterationCount\": true,\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"gridArea\": true,\n\t\t\"gridColumn\": true,\n\t\t\"gridColumnEnd\": true,\n\t\t\"gridColumnStart\": true,\n\t\t\"gridRow\": true,\n\t\t\"gridRowEnd\": true,\n\t\t\"gridRowStart\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name ),\n\t\t\tstyle = elem.style;\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to query the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (#7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\t// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n\t\t\t// \"px\" to a few hardcoded values.\n\t\t\tif ( type === \"number\" && !isCustomProp ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\tif ( isCustomProp ) {\n\t\t\t\t\tstyle.setProperty( name, value );\n\t\t\t\t} else {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name );\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to modify the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( _i, dimension ) {\n\tjQuery.cssHooks[ dimension ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\n\t\t\t\t\t// Support: Safari 8+\n\t\t\t\t\t// Table columns in Safari have non-zero offsetWidth & zero\n\t\t\t\t\t// getBoundingClientRect().width unless display is changed.\n\t\t\t\t\t// Support: IE <=11 only\n\t\t\t\t\t// Running getBoundingClientRect on a disconnected node\n\t\t\t\t\t// in IE throws an error.\n\t\t\t\t\t( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?\n\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\treturn getWidthOrHeight( elem, dimension, extra );\n\t\t\t\t\t} ) :\n\t\t\t\t\tgetWidthOrHeight( elem, dimension, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar matches,\n\t\t\t\tstyles = getStyles( elem ),\n\n\t\t\t\t// Only read styles.position if the test has a chance to fail\n\t\t\t\t// to avoid forcing a reflow.\n\t\t\t\tscrollboxSizeBuggy = !support.scrollboxSize() &&\n\t\t\t\t\tstyles.position === \"absolute\",\n\n\t\t\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n\t\t\t\tboxSizingNeeded = scrollboxSizeBuggy || extra,\n\t\t\t\tisBorderBox = boxSizingNeeded &&\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\tsubtract = extra ?\n\t\t\t\t\tboxModelAdjustment(\n\t\t\t\t\t\telem,\n\t\t\t\t\t\tdimension,\n\t\t\t\t\t\textra,\n\t\t\t\t\t\tisBorderBox,\n\t\t\t\t\t\tstyles\n\t\t\t\t\t) :\n\t\t\t\t\t0;\n\n\t\t\t// Account for unreliable border-box dimensions by comparing offset* to computed and\n\t\t\t// faking a content-box to get border and padding (gh-3699)\n\t\t\tif ( isBorderBox && scrollboxSizeBuggy ) {\n\t\t\t\tsubtract -= Math.ceil(\n\t\t\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\t\t\tparseFloat( styles[ dimension ] ) -\n\t\t\t\t\tboxModelAdjustment( elem, dimension, \"border\", false, styles ) -\n\t\t\t\t\t0.5\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Convert to pixels if value adjustment is needed\n\t\t\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\n\n\t\t\t\telem.style[ dimension ] = value;\n\t\t\t\tvalue = jQuery.css( elem, dimension );\n\t\t\t}\n\n\t\t\treturn setPositiveNumber( elem, value, subtract );\n\t\t}\n\t};\n} );\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t} )\n\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( prefix !== \"margin\" ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( Array.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 && (\n\t\t\t\tjQuery.cssHooks[ tween.prop ] ||\n\t\t\t\t\ttween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE <=9 only\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, inProgress,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\nfunction schedule() {\n\tif ( inProgress ) {\n\t\tif ( document.hidden === false && window.requestAnimationFrame ) {\n\t\t\twindow.requestAnimationFrame( schedule );\n\t\t} else {\n\t\t\twindow.setTimeout( schedule, jQuery.fx.interval );\n\t\t}\n\n\t\tjQuery.fx.tick();\n\t}\n}\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = Date.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\tvar prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,\n\t\tisBox = \"width\" in props || \"height\" in props,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHiddenWithinTree( elem ),\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\n\n\t// Queue-skipping animations hijack the fx hooks\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Detect show/hide animations\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.test( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// Pretend to be hidden if this is a \"show\" and\n\t\t\t\t// there is still data from a stopped show/hide\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\n\t\t\t\t// Ignore all other no-op show/hide data\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\t\t}\n\t}\n\n\t// Bail out if this is a no-op like .hide().hide()\n\tpropTween = !jQuery.isEmptyObject( props );\n\tif ( !propTween && jQuery.isEmptyObject( orig ) ) {\n\t\treturn;\n\t}\n\n\t// Restrict \"overflow\" and \"display\" styles during box animations\n\tif ( isBox && elem.nodeType === 1 ) {\n\n\t\t// Support: IE <=9 - 11, Edge 12 - 15\n\t\t// Record all 3 overflow attributes because IE does not infer the shorthand\n\t\t// from identically-valued overflowX and overflowY and Edge just mirrors\n\t\t// the overflowX value there.\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Identify a display type, preferring old show/hide data over the CSS cascade\n\t\trestoreDisplay = dataShow && dataShow.display;\n\t\tif ( restoreDisplay == null ) {\n\t\t\trestoreDisplay = dataPriv.get( elem, \"display\" );\n\t\t}\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\tif ( display === \"none\" ) {\n\t\t\tif ( restoreDisplay ) {\n\t\t\t\tdisplay = restoreDisplay;\n\t\t\t} else {\n\n\t\t\t\t// Get nonempty value(s) by temporarily forcing visibility\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t\trestoreDisplay = elem.style.display || restoreDisplay;\n\t\t\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\t\t\tshowHide( [ elem ] );\n\t\t\t}\n\t\t}\n\n\t\t// Animate inline elements as inline-block\n\t\tif ( display === \"inline\" || display === \"inline-block\" && restoreDisplay != null ) {\n\t\t\tif ( jQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t\t// Restore the original display value at the end of pure show/hide animations\n\t\t\t\tif ( !propTween ) {\n\t\t\t\t\tanim.done( function() {\n\t\t\t\t\t\tstyle.display = restoreDisplay;\n\t\t\t\t\t} );\n\t\t\t\t\tif ( restoreDisplay == null ) {\n\t\t\t\t\t\tdisplay = style.display;\n\t\t\t\t\t\trestoreDisplay = display === \"none\" ? \"\" : display;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstyle.display = \"inline-block\";\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always( function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t} );\n\t}\n\n\t// Implement show/hide animations\n\tpropTween = false;\n\tfor ( prop in orig ) {\n\n\t\t// General show/hide setup for this element animation\n\t\tif ( !propTween ) {\n\t\t\tif ( dataShow ) {\n\t\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\t\thidden = dataShow.hidden;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", { display: restoreDisplay } );\n\t\t\t}\n\n\t\t\t// Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n\t\t\tif ( toggle ) {\n\t\t\t\tdataShow.hidden = !hidden;\n\t\t\t}\n\n\t\t\t// Show elements before animating them\n\t\t\tif ( hidden ) {\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t}\n\n\t\t\t/* eslint-disable no-loop-func */\n\n\t\t\tanim.done( function() {\n\n\t\t\t\t/* eslint-enable no-loop-func */\n\n\t\t\t\t// The final step of a \"hide\" animation is actually hiding the element\n\t\t\t\tif ( !hidden ) {\n\t\t\t\t\tshowHide( [ elem ] );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( elem, \"fxshow\" );\n\t\t\t\tfor ( prop in orig ) {\n\t\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Per-property setup\n\t\tpropTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\t\tif ( !( prop in dataShow ) ) {\n\t\t\tdataShow[ prop ] = propTween.start;\n\t\t\tif ( hidden ) {\n\t\t\t\tpropTween.end = propTween.start;\n\t\t\t\tpropTween.start = 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( Array.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3 only\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\t// If there's more to do, yield\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t}\n\n\t\t\t// If this was an empty animation, synthesize a final progress notification\n\t\t\tif ( !length ) {\n\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t}\n\n\t\t\t// Resolve the animation and report its conclusion\n\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\treturn false;\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tresult.stop.bind( result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\t// Attach callbacks from options\n\tanimation\n\t\t.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\treturn animation;\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnothtmlwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tisFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !isFunction( easing ) && easing\n\t};\n\n\t// Go to the end state if fx are off\n\tif ( jQuery.fx.off ) {\n\t\topt.duration = 0;\n\n\t} else {\n\t\tif ( typeof opt.duration !== \"number\" ) {\n\t\t\tif ( opt.duration in jQuery.fx.speeds ) {\n\t\t\t\topt.duration = jQuery.fx.speeds[ opt.duration ];\n\n\t\t\t} else {\n\t\t\t\topt.duration = jQuery.fx.speeds._default;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHiddenWithinTree ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\n\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = dataPriv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = dataPriv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( _i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = Date.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Run the timer and safely remove it when done (allowing for external removal)\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tjQuery.fx.start();\n};\n\njQuery.fx.interval = 13;\njQuery.fx.start = function() {\n\tif ( inProgress ) {\n\t\treturn;\n\t}\n\n\tinProgress = true;\n\tschedule();\n};\n\njQuery.fx.stop = function() {\n\tinProgress = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\n// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: Android <=4.3 only\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE <=11 only\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: IE <=11 only\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// Attribute hooks are determined by the lowercase version\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\thooks = jQuery.attrHooks[ name.toLowerCase() ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tnodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name,\n\t\t\ti = 0,\n\n\t\t\t// Attribute names can contain non-HTML whitespace characters\n\t\t\t// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n\t\t\tattrNames = value && value.match( rnothtmlwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\n\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( _i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle,\n\t\t\tlowercaseName = name.toLowerCase();\n\n\t\tif ( !isXML ) {\n\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ lowercaseName ];\n\t\t\tattrHandle[ lowercaseName ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tlowercaseName :\n\t\t\t\tnull;\n\t\t\tattrHandle[ lowercaseName ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n} );\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// Support: IE <=9 - 11 only\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\t// Use proper attribute retrieval(#12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\tif ( tabindex ) {\n\t\t\t\t\treturn parseInt( tabindex, 10 );\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\trclickable.test( elem.nodeName ) &&\n\t\t\t\t\telem.href\n\t\t\t\t) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Support: IE <=11 only\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\n// eslint rule \"no-unused-expressions\" is disabled for this code\n// since it considers such accessions noop\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n\n\n\n\t// Strip and collapse whitespace according to HTML spec\n\t// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n\tfunction stripAndCollapse( value ) {\n\t\tvar tokens = value.match( rnothtmlwhite ) || [];\n\t\treturn tokens.join( \" \" );\n\t}\n\n\nfunction getClass( elem ) {\n\treturn elem.getAttribute && elem.getAttribute( \"class\" ) || \"\";\n}\n\nfunction classesToArray( value ) {\n\tif ( Array.isArray( value ) ) {\n\t\treturn value;\n\t}\n\tif ( typeof value === \"string\" ) {\n\t\treturn value.match( rnothtmlwhite ) || [];\n\t}\n\treturn [];\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\t\t\t\tcur = elem.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + clazz + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += clazz + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = elem.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + clazz + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + clazz + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value,\n\t\t\tisValidValue = type === \"string\" || Array.isArray( value );\n\n\t\tif ( typeof stateVal === \"boolean\" && isValidValue ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar className, i, self, classNames;\n\n\t\t\tif ( isValidValue ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\ti = 0;\n\t\t\t\tself = jQuery( this );\n\t\t\t\tclassNames = classesToArray( value );\n\n\t\t\t\twhile ( ( className = classNames[ i++ ] ) ) {\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// Store className if set\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tif ( this.setAttribute ) {\n\t\t\t\t\tthis.setAttribute( \"class\",\n\t\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + stripAndCollapse( getClass( elem ) ) + \" \" ).indexOf( className ) > -1 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\nvar rreturn = /\\r/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, valueIsFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\t// Handle most common string cases\n\t\t\t\tif ( typeof ret === \"string\" ) {\n\t\t\t\t\treturn ret.replace( rreturn, \"\" );\n\t\t\t\t}\n\n\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\treturn ret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tvalueIsFunction = isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( Array.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE <=10 - 11 only\n\t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tstripAndCollapse( jQuery.text( elem ) );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option, i,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\",\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length;\n\n\t\t\t\tif ( index < 0 ) {\n\t\t\t\t\ti = max;\n\n\t\t\t\t} else {\n\t\t\t\t\ti = one ? index : 0;\n\t\t\t\t}\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t!option.disabled &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t/* eslint-disable no-cond-assign */\n\n\t\t\t\t\tif ( option.selected =\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\n\t\t\t\t\t) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* eslint-enable no-cond-assign */\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( Array.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\n\n\nsupport.focusin = \"onfocusin\" in window;\n\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\tstopPropagationCallback = function( e ) {\n\t\te.stopPropagation();\n\t};\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special, lastElement,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = lastElement = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tlastElement = cur;\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( dataPriv.get( cur, \"events\" ) || Object.create( null ) )[ event.type ] &&\n\t\t\t\tdataPriv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( ( !special._default ||\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\n\t\t\t\tacceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.addEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\telem[ type ]();\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.removeEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\t// Used only for `focus(in | out)` events\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\t}\n\n} );\n\njQuery.fn.extend( {\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\n// Support: Firefox <=44\n// Firefox doesn't have focus(in | out) events\n// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n//\n// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\n// focus(in | out) events fire after focus & blur events,\n// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\nif ( !support.focusin ) {\n\tjQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\n\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\n\t\t\t\t// Handle: regular nodes (via `this.ownerDocument`), window\n\t\t\t\t// (via `this.document`) & document (via `this`).\n\t\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdataPriv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdataPriv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdataPriv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\nvar location = window.location;\n\nvar nonce = { guid: Date.now() };\n\nvar rquery = ( /\\?/ );\n\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml, parserErrorElem;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE 9 - 11 only\n\t// IE throws on parseFromString with invalid input.\n\ttry {\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {}\n\n\tparserErrorElem = xml && xml.getElementsByTagName( \"parsererror\" )[ 0 ];\n\tif ( !xml || parserErrorElem ) {\n\t\tjQuery.error( \"Invalid XML: \" + (\n\t\t\tparserErrorElem ?\n\t\t\t\tjQuery.map( parserErrorElem.childNodes, function( el ) {\n\t\t\t\t\treturn el.textContent;\n\t\t\t\t} ).join( \"\\n\" ) :\n\t\t\t\tdata\n\t\t) );\n\t}\n\treturn xml;\n};\n\n\nvar\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( Array.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && toType( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, valueOrFunction ) {\n\n\t\t\t// If value is a function, invoke it and use its return value\n\t\t\tvar value = isFunction( valueOrFunction ) ?\n\t\t\t\tvalueOrFunction() :\n\t\t\t\tvalueOrFunction;\n\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" +\n\t\t\t\tencodeURIComponent( value == null ? \"\" : value );\n\t\t};\n\n\tif ( a == null ) {\n\t\treturn \"\";\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} ).filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} ).map( function( _i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\tif ( val == null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( Array.isArray( val ) ) {\n\t\t\t\treturn jQuery.map( val, function( val ) {\n\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\nvar\n\tr20 = /%20/g,\n\trhash = /#.*$/,\n\trantiCache = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t * - BEFORE asking for a transport\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Anchor tag for parsing the document origin\n\toriginAnchor = document.createElement( \"a\" );\n\noriginAnchor.href = location.href;\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];\n\n\t\tif ( isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s.throws ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": JSON.parse,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// Url cleanup var\n\t\t\turlAnchor,\n\n\t\t\t// Request state (becomes false upon send and true upon completion)\n\t\t\tcompleted,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// uncached part of the url\n\t\t\tuncached,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( completed ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() + \" \" ] =\n\t\t\t\t\t\t\t\t\t( responseHeaders[ match[ 1 ].toLowerCase() + \" \" ] || [] )\n\t\t\t\t\t\t\t\t\t\t.concat( match[ 2 ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() + \" \" ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match.join( \", \" );\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn completed ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\tname = requestHeadersNames[ name.toLowerCase() ] =\n\t\t\t\t\t\t\trequestHeadersNames[ name.toLowerCase() ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( completed ) {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Lazy-add the new callbacks in a way that preserves old ones\n\t\t\t\t\t\t\tfor ( code in map ) {\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR );\n\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (#10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" )\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\n\n\t\t// Alias method option to type as per ticket #12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = ( s.dataType || \"*\" ).toLowerCase().match( rnothtmlwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\n\t\tif ( s.crossDomain == null ) {\n\t\t\turlAnchor = document.createElement( \"a\" );\n\n\t\t\t// Support: IE <=8 - 11, Edge 12 - 15\n\t\t\t// IE throws exception on accessing the href property if url is malformed,\n\t\t\t// e.g. http://example.com:80x/\n\t\t\ttry {\n\t\t\t\turlAnchor.href = s.url;\n\n\t\t\t\t// Support: IE <=8 - 11 only\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\n\t\t\t\turlAnchor.href = urlAnchor.href;\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\n\t\t\t\t// it can be rejected by the transport if it is invalid\n\t\t\t\ts.crossDomain = true;\n\t\t\t}\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( completed ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\t// Remove hash to simplify url manipulation\n\t\tcacheURL = s.url.replace( rhash, \"\" );\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// Remember the hash so we can put it back\n\t\t\tuncached = s.url.slice( cacheURL.length );\n\n\t\t\t// If data is available and should be processed, append data to url\n\t\t\tif ( s.data && ( s.processData || typeof s.data === \"string\" ) ) {\n\t\t\t\tcacheURL += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data;\n\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add or update anti-cache param if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\tcacheURL = cacheURL.replace( rantiCache, \"$1\" );\n\t\t\t\tuncached = ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + ( nonce.guid++ ) +\n\t\t\t\t\tuncached;\n\t\t\t}\n\n\t\t\t// Put hash and anti-cache on the URL that will be requested (gh-1732)\n\t\t\ts.url = cacheURL + uncached;\n\n\t\t// Change '%20' to '+' if this is encoded form body content (gh-2658)\n\t\t} else if ( s.data && s.processData &&\n\t\t\t( s.contentType || \"\" ).indexOf( \"application/x-www-form-urlencoded\" ) === 0 ) {\n\t\t\ts.data = s.data.replace( r20, \"+\" );\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tcompleteDeferred.add( s.complete );\n\t\tjqXHR.done( s.success );\n\t\tjqXHR.fail( s.error );\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( completed ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tcompleted = false;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Rethrow post-completion exceptions\n\t\t\t\tif ( completed ) {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\n\t\t\t\t// Propagate others as results\n\t\t\t\tdone( -1, e );\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Ignore repeat invocations\n\t\t\tif ( completed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcompleted = true;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Use a noop converter for missing script but not if jsonp\n\t\t\tif ( !isSuccess &&\n\t\t\t\tjQuery.inArray( \"script\", s.dataTypes ) > -1 &&\n\t\t\t\tjQuery.inArray( \"json\", s.dataTypes ) < 0 ) {\n\t\t\t\ts.converters[ \"text script\" ] = function() {};\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( _i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\njQuery.ajaxPrefilter( function( s ) {\n\tvar i;\n\tfor ( i in s.headers ) {\n\t\tif ( i.toLowerCase() === \"content-type\" ) {\n\t\t\ts.contentType = s.headers[ i ] || \"\";\n\t\t}\n\t}\n} );\n\n\njQuery._evalUrl = function( url, options, doc ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (#11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tcache: true,\n\t\tasync: false,\n\t\tglobal: false,\n\n\t\t// Only evaluate the response if it is successful (gh-4126)\n\t\t// dataFilter is not invoked for failure responses, so using it instead\n\t\t// of the default converter is kludgy but it works.\n\t\tconverters: {\n\t\t\t\"text script\": function() {}\n\t\t},\n\t\tdataFilter: function( response ) {\n\t\t\tjQuery.globalEval( response, options, doc );\n\t\t}\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( this[ 0 ] ) {\n\t\t\tif ( isFunction( html ) ) {\n\t\t\t\thtml = html.call( this[ 0 ] );\n\t\t\t}\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar htmlIsFunction = isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function( selector ) {\n\t\tthis.parent( selector ).not( \"body\" ).each( function() {\n\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t} );\n\t\treturn this;\n\t}\n} );\n\n\njQuery.expr.pseudos.hidden = function( elem ) {\n\treturn !jQuery.expr.pseudos.visible( elem );\n};\njQuery.expr.pseudos.visible = function( elem ) {\n\treturn !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );\n};\n\n\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n};\n\nvar xhrSuccessStatus = {\n\n\t\t// File protocol always yields status code 0, assume 200\n\t\t0: 200,\n\n\t\t// Support: IE <=9 only\n\t\t// #1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport( function( options ) {\n\tvar callback, errorCallback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr();\n\n\t\t\t\txhr.open(\n\t\t\t\t\toptions.type,\n\t\t\t\t\toptions.url,\n\t\t\t\t\toptions.async,\n\t\t\t\t\toptions.username,\n\t\t\t\t\toptions.password\n\t\t\t\t);\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.ontimeout =\n\t\t\t\t\t\t\t\t\txhr.onreadystatechange = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\n\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcomplete(\n\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see #8605, #14207\n\t\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\n\t\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\" ||\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\terrorCallback = xhr.onerror = xhr.ontimeout = callback( \"error\" );\n\n\t\t\t\t// Support: IE 9 only\n\t\t\t\t// Use onreadystatechange to replace onabort\n\t\t\t\t// to handle uncaught aborts\n\t\t\t\tif ( xhr.onabort !== undefined ) {\n\t\t\t\t\txhr.onabort = errorCallback;\n\t\t\t\t} else {\n\t\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\t\t// Check readyState before timeout as it changes\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t\t// Allow onerror to be called first,\n\t\t\t\t\t\t\t// but that will not handle a native abort\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\n\t\t\t\t\t\t\twindow.setTimeout( function() {\n\t\t\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\t\t\terrorCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = callback( \"abort\" );\n\n\t\t\t\ttry {\n\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// #14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\njQuery.ajaxPrefilter( function( s ) {\n\tif ( s.crossDomain ) {\n\t\ts.contents.script = false;\n\t}\n} );\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain or forced-by-attrs requests\n\tif ( s.crossDomain || s.scriptAttrs ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"